:root{color-scheme:dark;--bg:#0c151b;--panel:#14232b;--line:#33434a;--gold:#d1ba82;--muted:#a3b2b8;--text:#e7ece8;--green:#9bbba7;font-family:'Yu Gothic UI','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#26383b,var(--bg) 60%);color:var(--text);line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{min-height:46px;border:1px solid #58605a;background:#1c2d33;color:var(--text);border-radius:5px;padding:10px 16px;cursor:pointer}button:hover{border-color:var(--gold);background:#2a393a}button:disabled{opacity:.4;cursor:default}.primary{background:#c3ae7e;color:#111d24;border-color:#c3ae7e;font-weight:700}.danger{color:#edb4a7;border-color:#96655b}.subtle{background:transparent;border-color:var(--line)}input,textarea,select{background:#0e1c24;border:1px solid #506168;color:var(--text);border-radius:4px;padding:11px;width:100%;min-height:46px}textarea{resize:vertical;min-height:88px}label{display:block;margin:14px 0;color:var(--muted)}h1,h2,h3,p{margin:0 0 12px}h1,h2,h3,.serif{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-weight:500}h1{font-size:29px;letter-spacing:.1em}h2{font-size:24px}h3{font-size:18px}.eyebrow{font-size:11px;letter-spacing:.23em;color:var(--gold);text-transform:uppercase}.muted,small{color:var(--muted)}small{font-size:12px}.gold{color:var(--gold)}.shell{max-width:1120px;margin:auto;padding:0 28px 120px}.topbar{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.12em;font-family:Georgia,serif;font-size:19px}.brand img{width:38px;height:42px}.brand small{display:block;letter-spacing:.15em;font-family:inherit;font-size:10px}.status{text-align:right;font-size:11px;max-width:50%;color:var(--green)}.notice{padding:8px 0;color:#a7b7be;font-size:11px;display:flex;justify-content:space-between;gap:10px}.pagehead{display:flex;align-items:end;justify-content:space-between;margin:28px 0 18px;gap:14px}.pagehead p{margin:0}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px}.scene{position:relative;border:1px solid #3c5156;min-height:340px;overflow:hidden;background:#1a3037;border-radius:7px}.scene svg{width:100%;height:100%;position:absolute;inset:0}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b171de8,transparent 65%);pointer-events:none}.scene-caption{position:absolute;bottom:25px;left:25px;right:25px;z-index:1}.scene-caption h2{font-size:28px;margin:7px 0}.scene-tag{position:absolute;top:15px;left:16px;font-size:10px;padding:3px 8px;background:#111e26a8;z-index:1;color:#bfc7bc;border:1px solid #697573}.panel{background:linear-gradient(140deg,#1a2a31,#122029);border:1px solid var(--line);border-radius:6px;padding:20px}.panel h3{margin-bottom:16px}.stack{display:grid;gap:14px}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.actions .wide{grid-column:1/-1}.card{padding:16px;background:#14252d;border:1px solid var(--line);border-radius:5px}.card h3{margin-bottom:5px}.card button{margin-top:10px}.badge{font-size:10px;letter-spacing:.04em;border:1px solid #56615c;color:var(--gold);padding:2px 7px;border-radius:3px}.questline{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portrait{width:55px;height:65px;border-radius:50% 50% 35% 35%;background:radial-gradient(ellipse at 50% 38%,#b5a383 0 20%,transparent 21%),radial-gradient(ellipse at 50% 90%,#526467 0 45%,#22363c 46%);border:1px solid #61706d;flex-shrink:0;display:grid;place-items:end center;color:#ddd0a8;font-size:11px}.portrait img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.bar{height:4px;background:#09171d;margin:6px 0;overflow:hidden;border-radius:4px}.bar span{display:block;height:100%;background:#95b29d}.bar.mp span{background:#8aafc3}.member{border-bottom:1px solid var(--line);padding:10px 0}.member:last-child{border:0}.nav{position:fixed;bottom:0;left:0;right:0;background:#101c23f5;backdrop-filter:blur(16px);border-top:1px solid #455356;z-index:5;padding:9px 12px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:5px}.nav button{border:0;background:transparent;color:#99aeb5;min-width:88px;font-size:12px;padding:6px 12px}.nav button.active{color:#e5c888;background:#28373b}.nav .symbol{display:block;font-size:21px;line-height:1.3;margin-bottom:3px}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.statgrid div{background:#102029;padding:9px;border-radius:4px}.statgrid strong{display:block;font-size:19px;color:var(--gold);font-weight:400}.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px}.tabs button{white-space:nowrap}.hero-create{max-width:720px;margin:28px auto}.hero-create .scene{min-height:270px}.create-fields{padding:24px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{font-size:12px;padding:7px 10px}.chips .selected{border-color:var(--gold);color:var(--gold)}.memory{padding:12px 0;border-bottom:1px solid var(--line)}.memory p{margin:0}.chat{display:flex;flex-direction:column;gap:12px;max-height:40dvh;overflow-y:auto;padding:14px;background:#0f1c24;min-height:150px}.bubble{padding:12px;background:#22353c;border-radius:6px;max-width:92%;white-space:pre-wrap}.bubble.player{align-self:flex-end;background:#35413b}.chat-form{display:flex;gap:8px;position:sticky;bottom:0;padding:12px 0;background:#14232b}.chat-form input{min-width:0}.chat-form button{flex-shrink:0}dialog{border:1px solid #66726a;border-radius:8px;background:#14232b;color:var(--text);width:min(620px,calc(100% - 24px));max-height:90dvh;padding:24px}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog .close{float:right;margin:-10px -10px 10px 10px}.battle-wrap{position:relative;aspect-ratio:1.4;background:#1b2e30;border:1px solid #536762;border-radius:6px;overflow:hidden}canvas{width:100%;height:100%;display:block}.battle-commands{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.battle-commands button{padding:8px;font-size:12px}.battlelog{font-size:12px;color:#b0bdbe;min-height:80px}.log{white-space:pre-wrap}#toast{position:fixed;z-index:20;bottom:110px;left:50%;transform:translateX(-50%);background:#d6c496;color:#12232a;max-width:90%;padding:12px 20px;border-radius:6px;box-shadow:0 4px 25px #0008;display:none}hr{border:0;border-top:1px solid var(--line);margin:18px 0}a{color:var(--gold)}.empty{text-align:center;padding:35px;color:var(--muted)}.sectionlabel{font-size:12px;color:var(--gold);margin:20px 0 12px;letter-spacing:.15em}.inventory{display:grid;grid-template-columns:1fr 1fr;gap:14px}.item-affix{font-size:12px;color:#aec8c0}.info-list{padding-left:20px;color:var(--muted)}.footer{font-size:10px;letter-spacing:.12em;color:#80979f;margin-top:30px;text-align:center}.warning{color:#e5bb92}.location-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.location-list button{text-align:left}.location-list small{display:block}.switch{display:flex;align-items:center;gap:10px}.switch input{width:20px}.screen-reader{position:absolute;left:-9999px}
@media(min-width:780px){.scene.tall{min-height:420px}.nav{left:50%;transform:translateX(-50%);max-width:650px;border:1px solid #455356;border-radius:15px 15px 0 0}.conversation-layout{display:grid;grid-template-columns:1fr 2fr;gap:20px}}
@media(max-width:700px){.shell{padding:0 16px 115px}.topbar{height:72px}.brand{font-size:15px;gap:8px}.brand img{width:30px}.status{font-size:10px}.grid{grid-template-columns:1fr;gap:16px}.pagehead{margin-top:20px}.pagehead h1{font-size:25px}.pagehead small{font-size:10px}.scene{min-height:310px}.scene-caption{bottom:20px;left:20px}.cards{grid-template-columns:1fr 1fr}.nav{justify-content:space-around;gap:0;padding-left:4px;padding-right:4px}.nav button{min-width:0;flex:1;padding:5px 2px;font-size:10px}.panel{padding:16px}.inventory{grid-template-columns:1fr}.create-fields{padding:18px}.notice{font-size:10px}.location-list{grid-template-columns:1fr 1fr}.scene-caption h2{font-size:25px}.card{padding:12px}.card .row{gap:8px}.portrait{width:43px;height:54px}.battle-commands{grid-template-columns:1fr 1fr}.battle-wrap{aspect-ratio:1.1}}
@media(max-width:350px){.cards{grid-template-columns:1fr}.brand{font-size:13px}.statgrid{grid-template-columns:1fr 1fr}}
.shell{max-width:1180px}.panel,.card{box-shadow:0 12px 30px #00000017}.topbar{border-color:#6d736044}.nav{box-shadow:0 -12px 40px #07121977}.nav button{min-width:118px;transition:color .16s,background .16s}.nav button.active{background:linear-gradient(0deg,#3a463c88,#29373b22);box-shadow:inset 0 2px #c6b07d}.grow{flex:1;min-width:0}.home-toolbar{display:flex;gap:10px;margin:0 0 18px;flex-wrap:wrap}.home-toolbar button{font-size:12px;letter-spacing:.05em}.party-ribbon{display:flex;gap:10px;margin-top:18px;padding:12px;background:linear-gradient(120deg,#23343b9c,#12212b);border:1px solid #5d695c77;border-radius:7px}.ribbon-member{display:flex;flex:1;min-width:0;text-align:left;align-items:center;gap:10px;padding:8px;border-color:transparent;background:transparent}.ribbon-member .portrait{width:42px;height:49px}.ribbon-info{display:block;flex:1;min-width:0}.ribbon-info strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-family:'Yu Mincho',serif;font-size:14px}.ribbon-info small{display:block;font-size:10px;line-height:1.45}.ribbon-info .bar{margin:4px 0}.play-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#3a3d2a;border:1px solid #b8a46e88;border-radius:6px;margin:12px 0;font-size:13px}.town-scene{min-height:310px}.town-scene.church:before{content:'';position:absolute;inset:0;z-index:1;box-shadow:inset 100px 0 70px #091820c9,inset -100px 0 70px #091820c9;border-top:35px solid #18282c99;border-radius:45% 45% 0 0}.town-scene.tavern:before,.town-scene.inn:before,.town-scene.smith:before,.town-scene.barber:before,.town-scene.weapons:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#241e1a66,#55432b22,#111b2199);box-shadow:inset 0 0 120px #111b21}.scene-caption{z-index:2}.scene-tag{z-index:2}.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.facility{display:grid;text-align:left;grid-template-columns:35px 1fr;align-items:center;gap:0 8px;padding:15px;background:linear-gradient(135deg,#24353a,#15262d);border-color:#45564e}.facility>span{font-size:27px;grid-row:1/3;color:#bba77b}.facility strong{font-family:'Yu Mincho',serif;font-size:16px;font-weight:500}.facility small{font-size:10px}.facility.selected{border-color:#c0aa77;background:linear-gradient(120deg,#3c443c,#24383d);box-shadow:inset 0 0 0 1px #c2ae7544}.venue-content{padding:25px}.residents{grid-template-columns:repeat(3,minmax(0,1fr))}.residents .actions{margin-top:12px}.residents .actions button{margin:0;font-size:12px;padding:8px 4px}.atlas-panel{padding:22px}.atlas-map{position:relative;height:500px;overflow:hidden;border:1px solid #9e9c7180;border-radius:5px;background:#2e4845;box-shadow:inset 0 0 70px #0b1a25}.atlas-map>svg{position:absolute;width:100%;height:100%;inset:0}.atlas-caption{position:absolute;top:20px;left:22px;font:24px 'Yu Mincho',serif;color:#e6dbb5;text-shadow:0 2px 8px #0008;letter-spacing:.12em}.atlas-caption small{display:block;font:9px sans-serif;letter-spacing:.15em;margin-top:7px;color:#b5bca0}.map-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#11252ce6;border:1px solid #c1bb8c88;border-radius:5px;min-width:66px;min-height:52px;padding:5px 8px;box-shadow:0 4px 18px #0b1b2588;z-index:1}.map-node>span{font-size:21px;line-height:1.1;color:#d4c28b}.map-node small{font-size:10px;color:#d6ddcb;white-space:nowrap}.map-node.current{background:#c9b582;color:#172c2d;border-color:#f5e4ac;box-shadow:0 0 0 5px #ddc99026,0 0 30px #e6d3a044}.map-node.current>span,.map-node.current small{color:#172b2c}.map-node em{font-style:normal;font-size:9px;background:#20383c;color:#e9dfb5;padding:0 4px;position:absolute;bottom:-17px}.map-legend{position:absolute;bottom:12px;left:15px;font-size:10px;padding:5px 8px;background:#122b30bb;color:#c9c5a5;border-radius:3px}.quest-card h3{margin-top:12px;min-height:2em}.quest-giver{display:grid;grid-template-columns:50px 1fr;gap:2px 8px;border-left:2px solid #af9e6c;padding:7px 12px;margin:12px 0;background:#0d1e2566}.quest-giver span{font-size:11px;color:#a7b8b8}.quest-giver strong{font-weight:500;color:#e1cb99}.quest-giver small{grid-column:2;font-size:11px}.quest-card>.row:last-child{gap:8px;align-items:center}.quest-card>.row:last-child>.gold{font-size:12px}.quest-card button{margin-top:0}.quest-detail{display:grid;grid-template-columns:90px 1fr;gap:9px 15px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quest-detail dt{color:#99b0b7;font-size:12px}.quest-detail dd{margin:0;color:#e6d8b6;overflow-wrap:anywhere}.shop-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 24px}.stock-item{display:flex;align-items:center;gap:12px;padding:14px;background:#102129;border:1px solid #46524b;border-radius:5px}.stock-item>div{flex:1}.stock-item small{display:block;font-size:10px}.stock-item strong{font-family:'Yu Mincho',serif;font-weight:500}.stock-icon{font-size:26px;color:#b5a06b}.stock-item button{white-space:nowrap;font-size:12px}.sanctuary{text-align:center;max-width:600px;margin:20px auto 30px}.sanctuary p{color:#b1bebc;margin:18px 0 24px}.gate-mark{font-size:60px;color:#c8b582;line-height:1.5;text-shadow:0 0 45px #dbc38a66}.quest-summary{display:flex;align-items:center;text-align:left;width:100%;border:0;border-bottom:1px solid #45544d;border-radius:0;gap:14px;background:transparent;padding:18px 4px}.quest-summary>span:nth-child(2){flex:1}.quest-summary strong{font-weight:500;display:block}.quest-summary small{display:block;font-size:11px;margin-top:4px}.quest-icon{font-size:24px;color:var(--gold)}.party-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.companion-card .portrait{width:68px;height:80px}.character-name{display:flex;justify-content:space-between;width:100%;font-family:'Yu Mincho',serif;font-size:23px;border:0;background:transparent;padding:0;min-height:44px;text-align:left}.character-name span{color:#b9ad86}.compact-health{font-size:11px;margin:4px 0;color:#b9c7c4}.equipment-summary{font-size:11px;color:#b2bfb8;padding:14px 0 0;border-top:1px solid var(--line);margin-top:18px;min-height:35px}.character-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.timeline{border-left:1px solid #6e795d;margin:20px 0 10px 5px;padding-left:20px}.timeline-event{position:relative;padding:0 0 18px}.timeline-event:before{content:'';position:absolute;width:7px;height:7px;background:#c2b17e;border-radius:50%;top:8px;left:-24px}.timeline-event p{margin:6px 0 0}.conversation-choices{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.conversation-choice,.group-choice{display:flex;align-items:center;text-align:left;gap:16px}.conversation-choice>span:nth-child(2),.group-choice>span:nth-child(2){flex:1}.conversation-choice strong,.group-choice strong{display:block;font:21px 'Yu Mincho',serif}.conversation-choice small,.group-choice small{display:block;margin-top:7px}.group-choice{grid-column:1/-1;background:linear-gradient(120deg,#394238,#21363c);border-color:#9b976d}.group-symbol{font-size:40px;color:#d0bb81;padding:0 15px}.subpage-back{margin:15px 0}.subpage-back button{background:transparent;border:0;color:#c2b386;padding-left:0}.comparison-items{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.comparison-items>div{padding:15px;background:#0f2028;border:1px solid var(--line);border-radius:5px;min-width:0}.comparison-items h3{font-size:17px;margin:8px 0;overflow-wrap:anywhere}.compare-table{width:100%;border-collapse:collapse;font-size:12px;margin:18px 0}.compare-table th{font-weight:400;text-align:left;color:#b2c2c2}.compare-table td,.compare-table th{padding:8px 4px;border-bottom:1px solid #3b4e4c}.compare-table td{text-align:right}.increase{color:#a9cfab}.decrease{color:#e1a79a}.catalog-menu{display:grid;gap:8px;margin:15px 0}.catalog-menu button{display:grid;grid-template-columns:1fr 15px;gap:2px 8px;text-align:left;background:#12242d}.catalog-menu strong{font-weight:500}.catalog-menu small{font-size:11px}.catalog-menu span{grid-column:2;grid-row:1/3;align-self:center}.npc-reports{margin:15px 0}.stock-item:hover,.card:hover{border-color:#69705c}
@media(max-width:700px){.nav button{min-width:0;font-size:11px}.party-ribbon{gap:4px;padding:5px;margin-top:12px}.ribbon-member{padding:4px;gap:5px;align-items:start}.ribbon-member .portrait{width:29px;height:36px;flex-shrink:0;font-size:7px}.ribbon-info strong{font-size:11px}.ribbon-info small{font-size:8px}.ribbon-info .bar{height:3px}.party-ribbon:has(.ribbon-member:nth-child(4)) .ribbon-member{flex-direction:column;align-items:center;text-align:center}.party-ribbon:has(.ribbon-member:nth-child(4)) .ribbon-info{width:100%}.facility-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.facility{padding:12px;grid-template-columns:30px 1fr;min-height:73px}.facility>span{font-size:23px}.facility strong{font-size:15px}.facility small{font-size:9px}.town-scene{min-height:275px}.venue-content{padding:16px}.residents{grid-template-columns:1fr 1fr}.atlas-map{height:430px}.atlas-panel{padding:13px}.atlas-caption{left:12px;top:12px;font-size:20px}.atlas-caption small{font-size:8px}.map-node{padding:5px 4px;min-width:52px;max-width:90px;min-height:46px}.map-node small{font-size:9px;white-space:normal;line-height:1.4}.map-node>span{font-size:18px}.map-legend{font-size:8px;left:7px;bottom:7px}.party-cards{grid-template-columns:1fr}.conversation-choices{grid-template-columns:1fr}.stock-grid{grid-template-columns:1fr}.home-toolbar{gap:6px}.home-toolbar button{font-size:11px;padding:8px 10px}.home-toolbar button{flex:1}.comparison-items>div{padding:10px}.compare-table{font-size:11px}.character-menu button{font-size:12px;padding:8px}.play-banner{font-size:11px;padding:10px}.play-banner button{font-size:12px;padding:8px;white-space:nowrap}.quest-card>.row:last-child{flex-wrap:wrap}.residents .card .row{flex-wrap:wrap}.group-symbol{padding:0 5px}.home-toolbar{margin-bottom:12px}}
@media(max-width:700px){.brand{font-size:13px;gap:7px;letter-spacing:.08em}.brand>div{white-space:nowrap}.brand img{width:24px}.status{font-size:9px;max-width:40%;overflow-wrap:anywhere}}

/* 0.3: restrained parchment, slate and olive; original code-native artwork. */
:root{--bg:#242722;--panel:#343a30;--line:#6a705b;--gold:#ddc78e;--muted:#bfc3aa;--text:#eee9d8;--green:#b4c499}
body{background:radial-gradient(ellipse at 50% 0,#4d5140,#242722 68%);color:var(--text)}
button{background:#414b3e;border-color:#7d8166;color:#ece9d9;box-shadow:inset 0 1px #ece5c210}button:hover{background:#52604a;border-color:#e0d09e}.primary{background:#c8b782;color:#23291f;border-color:#e0d3a3}.subtle{background:#333e3288;border-color:#6a735c}
input,select,textarea{background:#252f28;border-color:#7b8167}.panel,.card{background:linear-gradient(135deg,#3d4637,#2d382e);border-color:#69705a}.nav{background:#252e27f7;border-color:#858469}.nav button.active{background:linear-gradient(0deg,#65704b55,#313e2d44)}.nav button{color:#c1c6ac}.notice{color:#b9c1a4}.status{color:#bec8a2}.party-ribbon{background:linear-gradient(120deg,#414a37,#2e3a2d);border-color:#83846899}.chat{background:#263126}.bubble{background:#414c38}.bubble.player{background:#5b6046}.compare-table td,.compare-table th{border-color:#667053}.timeline{border-color:#93966c}.statgrid div{background:#2a352a}.stock-item,.catalog-menu button{background:#2c382c;border-color:#697459}.ribbon-info .bar{display:none}.scene>svg{filter:sepia(.35) saturate(.66)}
.line-icon{width:30px;height:30px;display:inline-block;vertical-align:middle}.facility-scene{min-height:440px;overflow:hidden}.facility-scene .scene-caption{pointer-events:none;right:80px;bottom:16px}.facility-scene .scene-caption h2{font-size:25px}.facility-scene .scene-caption p{font-size:12px;margin-bottom:0}.facility-overlay{position:absolute;inset:0;z-index:3}.facility-pin{position:absolute;transform:translate(-50%,-50%);width:54px;height:54px;min-height:54px;padding:10px;display:grid;place-items:center;border-radius:50%;border:1px solid #e0cb98aa;background:radial-gradient(circle,#526346ef,#263827ed);box-shadow:0 3px 12px #0b1a19bb,inset 0 0 0 3px #e7d9ad15;color:#e4d19c}.facility-pin .line-icon{width:32px;height:32px}.facility-pin.selected{outline:2px solid #ecdfa6;outline-offset:3px;background:#746f43;color:#fff0c0}.facility-pin[data-act="leave-town"]{border-radius:8px;background:#9a885b;color:#fff4ce}.venue-content{margin-top:16px}.map-facility-icons{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 28px}.map-facility-icons>span{display:grid;place-items:center;width:46px;height:46px;background:#3d4b36;border:1px solid #92956f;border-radius:6px;color:#e0d2a3}.map-facility-icons .line-icon{width:27px;height:27px}.gate-mark .line-icon{width:65px;height:65px}.npc-commands{display:grid;gap:8px;margin-top:14px}.npc-commands button{margin:0;font-size:12px}.shop-sales{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.shop-sales .stock-grid{margin-bottom:28px}.stock-icon .line-icon{width:30px;height:30px}
.base-stat-chart{display:grid;gap:11px;margin:16px 0}.base-stat-row{display:grid;grid-template-columns:74px 1fr 40px 40px;align-items:center;gap:8px;font-size:12px}.base-stat-row>strong{text-align:right;font-weight:500;color:#ebd79e}.base-stat-row>small{text-align:right;font-size:10px}.stat-track{height:12px;background:#18251c;border:1px solid #6c7859;overflow:hidden;border-radius:2px}.stat-track>span{display:block;height:100%;background:linear-gradient(90deg,#75885a,#c8c88c);border-right:1px solid #f7efb6}.backstory{display:grid;grid-template-columns:85px 1fr;gap:16px 12px;margin-top:20px}.backstory dt{color:#d9ca96;font-size:12px}.backstory dd{margin:0;font-size:13px;line-height:1.8}.npc-monologue{border-left:2px solid #bdba7c;padding:15px;color:#e8e0c3;background:#273626}
.battle-screen{max-width:800px;margin:14px auto 0}.battle-party-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.battle-hud-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;background:linear-gradient(150deg,#46533c,#2c3b2c);border:1px solid #949779;border-radius:4px;min-height:140px;min-width:0}.battle-hud-slot.acting{border-color:#f6e1a6;box-shadow:0 0 0 1px #e0ce9c,inset 0 0 30px #c2c48525}.battle-hud-slot .portrait{width:40px;height:48px;font-size:8px}.battle-hud-slot strong{font-family:'Yu Mincho',serif;font-size:14px;font-weight:500;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.battle-hud-slot small{font-size:10px;color:#e0e3cb;line-height:1.25}.hud-hp,.hud-mp,.hud-atb{height:3px;width:100%;background:#19281b}.hud-hp span,.hud-mp span,.hud-atb span{display:block;height:100%;background:#afbd7d}.hud-mp span{background:#a5b6ad}.hud-atb{position:absolute;bottom:0;left:0;height:3px}.hud-atb span{background:#e7cc87}.empty-slot{justify-content:center;color:#838e70;border-style:dashed;opacity:.5}.battlefield{position:relative;aspect-ratio:1.42;background:#414b38;border:2px solid #a7aa89;box-shadow:0 8px 30px #121c16aa;overflow:hidden}.battlefield canvas{width:100%;height:100%}.battle-speed{position:absolute;top:9px;right:10px;min-height:44px;min-width:58px;padding:6px 10px;font-family:Georgia,serif;font-size:17px;background:#303d29e6;border-color:#a3aa83;z-index:1}.battle-command{position:absolute;right:12px;bottom:12px;min-height:47px;padding:8px 18px;border-radius:7px;border:2px solid #b5bb95;background:linear-gradient(#5c6b4b,#34472e);font:17px Georgia,serif;letter-spacing:.08em;box-shadow:0 2px 10px #15241299}.active-name{position:absolute;top:12px;left:12px;max-width:70%;font-size:10px;letter-spacing:.1em;color:#dfdfb7;text-shadow:0 1px 3px #172c18}.battle-log-panel{margin-top:12px;background:#2d3828;border:1px solid #8b9474;padding:13px 16px;min-height:130px}.battle-log-panel h3{font-size:15px;margin:0}.battle-log-panel small{font-size:10px}.battle-log-panel .battlelog{height:125px;min-height:0;overflow-y:auto;margin-top:10px;font-size:11px;line-height:1.8;color:#d2d6bd}.battlelog time{color:#a9b790;font-size:10px;padding-right:7px}.battle-note{display:block;font-size:10px;margin-top:10px}.command-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.speed-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.full-battle-history{max-height:60dvh;overflow:auto;padding:10px;background:#263323;font-size:12px;line-height:1.9}.full-battle-history time{font-size:10px;color:#b9c38e;margin-right:8px}.shell:has(.battle-screen) .topbar{height:56px}.shell:has(.battle-screen) .notice{display:none}.shell:has(.battle-screen) .footer{display:none}
@media(max-width:700px){.facility-scene{min-height:430px}.facility-pin{width:46px;height:46px;min-height:46px;padding:8px}.facility-pin .line-icon{width:28px;height:28px}.facility-scene .scene-caption{right:75px;left:18px}.facility-scene .scene-caption p{font-size:11px}.facility-scene .scene-caption h2{font-size:22px}.base-stat-row{grid-template-columns:65px 1fr 33px 36px;gap:6px;font-size:11px}.backstory{grid-template-columns:65px 1fr;gap:14px 10px}.backstory dd{font-size:12px}.battle-party-hud{gap:5px}.battle-hud-slot{padding:5px 3px;min-height:115px}.battle-hud-slot .portrait{width:34px;height:40px}.battle-hud-slot strong{font-size:11px}.battle-hud-slot small{font-size:8px}.battlefield{aspect-ratio:1.12}.battle-command{font-size:14px;padding:7px 12px;right:8px;bottom:8px}.battle-speed{font-size:16px;right:7px;top:7px}.battle-log-panel{padding:10px 12px}.battle-log-panel .battlelog{height:120px;font-size:10px}.battle-screen{margin-top:10px}.shell:has(.battle-screen){padding-left:12px;padding-right:12px}.scene-tag{font-size:9px}.shop-sales .stock-item strong{font-size:13px}.shop-sales .stock-item small{font-size:9px}.shop-sales .stock-item button{font-size:10px;padding:7px}.stock-item{gap:8px}.nav button.active{color:#f3d9a6}}
.base-stat-row[data-grade="高い"] .stat-track>span{background:linear-gradient(90deg,#9b9a5d,#e2cf93)}.base-stat-row[data-grade="控えめ"] .stat-track>span{background:linear-gradient(90deg,#6d7051,#9b9873)}

dialog{background:linear-gradient(135deg,#424a36,#2d392d);border-color:#b2ae83;box-shadow:0 15px 70px #111c13aa}.full-battle-history,.chat{border-color:#778363}

/* 0.4: brighter parchment and stone, with peach base values and blue gear bonuses. */
:root{color-scheme:light;--bg:#e9e1ce;--panel:#fff9ec;--line:#c6b99d;--gold:#795d30;--muted:#77705e;--text:#453f33;--green:#59724e}
body{background:radial-gradient(ellipse at 50% 0,#fff9e9,#e8dec5 72%);color:var(--text)}.panel,.card{background:linear-gradient(145deg,#fffaf0,#eee6d4);border-color:#c3b596;box-shadow:0 7px 22px #7b67491a}button{color:#4b4435;background:linear-gradient(#fffaf0,#e9dfc9);border-color:#bbae91;box-shadow:inset 0 1px #fff9}button:hover{color:#3f392e;background:#e6d8b8;border-color:#9d8558}.primary{color:#fff9e8;background:linear-gradient(#9a8150,#7a6239);border-color:#796239}.subtle{background:#f7f0e0;border-color:#c4b697}.gold{color:var(--gold)}.notice,.status{color:#776e57}.nav{background:#faf4e6f5;border-color:#bcac88;box-shadow:0 -8px 28px #8f7a5322}.nav button{color:#786e56}.nav button.active{color:#634721;background:linear-gradient(#f1e6cb,#e5d4aa);box-shadow:inset 0 2px #a3864a}.topbar{border-color:#c5b89b}.brand{color:#5e4c2e}.footer{color:#96886d}input,textarea,select{background:#fffdf5;color:#484033;border-color:#c6b797}dialog{background:linear-gradient(140deg,#fffaf0,#eee3ce);color:#484032;border-color:#b4a079;box-shadow:0 18px 70px #55462c55}.statgrid div,.comparison-items>div,.skill-card,.stock-item,.catalog-menu button{background:#f7efdd;border-color:#c6b89a}.statgrid strong,.comparison-items h3{color:#72542b}.chat{background:#f0e8d7;border-color:#cbbd9f}.bubble{background:#e7ddc5;color:#4d4635}.bubble.player{background:#dbe4d0}.chat-form{background:transparent}.badge{color:#75613a;border-color:#c0b18d}.bar{background:#ddd5c2}.bar span{background:#9aa774}.muted,small{color:var(--muted)}.quest-detail dt,.compare-table th{color:#7b7059}.quest-detail dd{color:#584832}.compare-table td,.compare-table th{border-color:#c9bda1}.increase,.equipment-plus{color:#2474a0}.decrease{color:#a05743}.quest-giver{background:#f2e5c7;border-color:#a68a53}.quest-giver strong{color:#755529}.equipment-summary,.compact-health{color:#766c56}.party-ribbon{background:linear-gradient(#fff9e9,#efe4c9);border-color:#bcae8d;position:sticky;top:0;z-index:7;box-shadow:0 6px 16px #79633f20}.ribbon-member{background:transparent;box-shadow:none}.ribbon-member strong{color:#5e4c30}.ribbon-member .portrait{position:relative}.companion-bubble{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);min-width:130px;max-width:180px;width:max-content;background:#fffcef;color:#51432c;border:1px solid #ab9667;border-radius:9px;padding:10px 12px;box-shadow:0 4px 18px #6e5c3d33;font:12px/1.6 'Yu Gothic UI',sans-serif;white-space:normal;z-index:40;text-align:left;pointer-events:none}.companion-bubble:before{content:'';position:absolute;left:calc(50% - 5px);top:-6px;width:9px;height:9px;transform:rotate(45deg);background:#fffcef;border-left:1px solid #ab9667;border-top:1px solid #ab9667}.ribbon-member:first-child .companion-bubble{left:0;transform:none}.ribbon-member:last-child .companion-bubble{left:auto;right:0;transform:none}.ribbon-member:first-child .companion-bubble:before{left:14px}.ribbon-member:last-child .companion-bubble:before{left:auto;right:14px}.scene>svg{filter:brightness(1.22) sepia(.28) saturate(.65)}.scene-caption{color:#fff8df}.scene-caption p{color:#efe8cf}.scene-tag{color:#f1e9d1}.facility-pin{background:radial-gradient(circle,#e4dfbbf5,#b8c49aed);color:#5f5b32;border-color:#8d8c5e;box-shadow:0 4px 14px #25372666,inset 0 0 0 3px #fff3}.facility-pin.selected{background:#cbb779;color:#55431e;outline-color:#fff2be}.facility-pin[data-act="leave-town"]{background:#e2c68a;color:#665124}.map-facility-icons>span{background:#f1e7ca;color:#746135;border-color:#bdaa7c}.play-banner{background:#e9dbaa;color:#614e2f;border-color:#bba36f}.npc-monologue{background:#f3ead1;color:#5d4d30}.backstory dt{color:#8a6834}.stock-icon{color:#8d733f}.shop-sales{border-color:#ccbfa1}.timeline{border-color:#b5a274}.timeline-event:before{background:#b69a60}.full-battle-history{background:#f7efdc;color:#554a35}.full-battle-history time{color:#8e794e}.sanctuary p{color:#7c7057}
.character-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.character-heading h2{flex:1;min-width:0;margin:0;font-size:23px}.character-heading small{font-size:11px;white-space:nowrap;margin-left:auto}.character-heading .portrait{width:48px;height:56px}.character-tabs{display:flex;gap:5px;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;margin:14px 0 20px;padding:5px 0;background:#fbf4e4;position:sticky;top:0;z-index:3}.character-tabs button{flex:1;min-width:66px;min-height:44px;font-size:12px;padding:8px 10px}.shell>.character-tabs{top:88px}.combined-parameters{display:grid;gap:13px;margin:15px 0 22px}.parameter-legend{display:flex;justify-content:flex-end;gap:14px;font-size:10px;margin:12px 0}.parameter-legend span:first-child{color:#b17852}.parameter-legend span:last-child{color:#2474a0}.parameter-row{display:grid;grid-template-columns:88px minmax(40px,1fr) 70px 80px;gap:8px;align-items:center;font-size:12px}.parameter-row>strong{text-align:right;font-weight:500;color:#494337;overflow-wrap:anywhere}.parameter-row>small{text-align:right;font-size:11px;overflow-wrap:anywhere}.combined-track{display:flex;position:relative;height:9px;background:#e8dfca;overflow:hidden;border-radius:2px}.base-segment{display:block;background:#edb08c;height:100%}.bonus-segment{display:block;background:#3c88b6;height:100%}.negative-segment{position:absolute;height:100%;background:repeating-linear-gradient(45deg,#ad6c52 0 3px,#ebbe9d 3px 6px)}.equipment-slots{display:grid;gap:12px;margin:20px 0}.equipment-slot{display:flex;align-items:center;gap:16px;padding:18px 20px;min-height:86px;background:linear-gradient(#fffaf0,#eee3ce);border:1px solid #c3b08b;border-radius:8px;box-shadow:0 3px 12px #8f76501a}.equipment-slot>div{min-width:0;flex:1}.equipment-slot h3{margin:3px 0;font-size:18px}.equipment-slot small{font-size:11px}.equipment-slot .item-affix{font-size:11px;color:#7c745f}.equipment-slot>button{min-width:76px;flex-shrink:0}.equipment-parameters{margin-top:25px}.gear-candidates{display:grid;gap:9px;margin:20px 0}.gear-candidates button{text-align:left;padding:14px;display:grid;gap:5px}.gear-candidates small{font-size:11px}.skill-card{border:1px solid #ccbd9f;border-radius:6px;padding:16px;margin:12px 0 20px}.skill-card h3{margin:0}.skill-card p{font-size:13px;margin:10px 0}.skill-card button{display:block;margin-top:13px}.party-cards>.companion-card{display:block;text-align:left}.character-name{display:flex;font-size:22px;min-height:34px}.portrait-candidates{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:20px 0}.portrait-candidate{padding:5px;border:2px solid #d3c4a2}.portrait-candidate img{display:block;width:100%;height:auto;border-radius:4px}.portrait-candidate.selected{border-color:#886c37;box-shadow:0 0 0 3px #ddc789}.figure-settings{margin:20px 0}.figure-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.figure-presets button{display:flex;flex-direction:column;align-items:center;gap:7px}.figure-presets button.selected{border-color:#8e733b;background:#e7d8b5}.figure-preview{width:65px;height:76px}.medicine-party{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 22px;position:sticky;top:0;background:#f8f0de;padding:7px 0;z-index:2}.medicine-party>div,.medicine-party>button{display:flex;text-align:left;gap:10px;align-items:center;padding:9px;background:#f3e9d1;border:1px solid #c7b994;border-radius:5px}.medicine-party .portrait{width:36px;height:45px;font-size:8px}.medicine-party span{min-width:0}.medicine-party strong,.medicine-party small{display:block;font-size:12px}.medicine-items{display:grid;gap:10px}.medicine-items button{display:grid;text-align:left;gap:5px;padding:14px}.medicine-items .selected{border-color:#8e733b;background:#e7d8b5}.quest-request-message{background:#f5ead1;border-left:3px solid #bb9f65;padding:15px;margin:20px 0}.quest-request-message h3{font-size:15px}.quest-request-message p{font-size:13px;line-height:1.9;margin:0}.enemy-preview{padding:0;list-style:none;display:grid;gap:9px;margin:24px 0}.enemy-preview li{padding:14px;background:#eee1c3;border:1px solid #c3b18a;border-radius:5px}.map-node.current .player-position{position:absolute;bottom:auto;top:-44px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0;padding:0;background:transparent;color:#fff7da;font-size:9px;text-shadow:0 1px 4px #183429;white-space:nowrap;pointer-events:none}.player-position svg{width:28px;height:32px;fill:#fff4d8;stroke:#886c37;stroke-width:1.5;filter:drop-shadow(0 1px 3px #1c3028)}
.battle-hud-slot{background:linear-gradient(#f3e9cf,#d8d8b7);border-color:#a6a17b}.battle-hud-slot strong,.battle-hud-slot small{color:#4e513c}.battle-hud-slot.acting{border-color:#8c783e;box-shadow:0 0 0 1px #a58b4a,inset 0 0 25px #fff6c8}.battle-log-panel{background:#f6efd8;border-color:#ada87d}.battle-log-panel .battlelog{color:#5d6045}.battlelog time{color:#8d885e}.battle-command{background:linear-gradient(#eee4bf,#c6cfa9);color:#4e5639;border-color:#a1a477}.battle-speed{background:#ede5c8f2;color:#5e6145;border-color:#b0ad82}.hud-hp,.hud-mp,.hud-atb{background:#b7bda1}.battle-note{color:#837957}
@media(max-width:700px){.parameter-row{grid-template-columns:70px minmax(40px,1fr) 49px 57px;gap:6px;font-size:10px}.parameter-row>small{font-size:10px}.parameter-legend{font-size:9px;gap:10px}.character-heading h2{font-size:20px}.character-heading{gap:9px}.character-heading small{font-size:10px}.character-tabs{gap:3px}.character-tabs button{min-width:58px;font-size:11px;padding:7px 5px}.equipment-slot{padding:14px 13px;gap:10px;min-height:82px}.equipment-slot h3{font-size:16px}.equipment-slot>button{min-width:62px;padding:7px 10px}.equipment-slot .item-affix{font-size:10px}.figure-presets{grid-template-columns:repeat(3,1fr);gap:9px}.figure-preview{width:54px;height:65px}.figure-presets button{font-size:11px;padding:8px}.medicine-party{gap:7px}.medicine-party>div,.medicine-party>button{padding:7px;gap:7px}.medicine-party strong,.medicine-party small{font-size:10px}.medicine-party .portrait{width:29px;height:37px}.companion-bubble{font-size:11px;min-width:115px;max-width:150px;padding:8px 10px}.party-ribbon{top:0}.shell>.character-tabs{top:91px}.skill-card .row{flex-wrap:wrap}.ribbon-info small{color:#6c7158}}
/* 0.5: quiet gray dossier panels, charcoal navigation and restrained amber accents. */
:root{--bg:#c5c8ca;--panel:#e8e9e9;--text:#292d30;--muted:#62696d;--line:#a6adb1;--gold:#986b32;--accent:#d5a36b}
body{color:#292d30;background:linear-gradient(125deg,#d9dcde99 25%,transparent 25%,transparent 75%,#a8adb133 75%),repeating-linear-gradient(0deg,#cbd0d2 0,#cbd0d2 3px,#c8cdcf 3px,#c8cdcf 6px);font-family:'Yu Gothic','Meiryo',sans-serif}
h1,h2,h3,.character-name,.ribbon-info strong{font-family:inherit;letter-spacing:.035em;color:#252a2e}.shell{max-width:1100px}.topbar{border-bottom:2px solid #777e83}.brand{color:#353b3f}.brand small,.notice,.status,.footer{color:#5b6369}.panel,.card,.venue-content,.stock-item,.skill-card,.equipment-slot,.character-content{background:linear-gradient(110deg,#f1f2f2,#dfe2e4);border:1px solid #aeb5ba;border-radius:2px;box-shadow:0 4px 12px #20272d13;color:#30363a}.pagehead{border-left:5px solid #4a535b;padding-left:15px}.eyebrow,.sectionlabel{color:#5d6870}.gold{color:#805e30}.muted,small,.item-affix{color:#606a71}.badge{background:#d2d8dc;color:#3c4850;border-color:#9ba7af;border-radius:1px}button,.subtle{background:linear-gradient(#f0f2f3,#d4dadd);color:#35414a;border:1px solid #9da9b2;border-radius:2px;box-shadow:0 2px 4px #20273015}button:hover{border-color:#7d6548;background:#e3e7e9}button.primary,.character-tabs button.primary{background:linear-gradient(#505a63,#343d45);color:#f5f6f6;border-color:#29333c;box-shadow:inset 0 -2px #c69b65}.nav{background:#292f35f5;border-top:2px solid #9da6ae;box-shadow:0 -3px 15px #18232b22}.nav button{background:transparent;color:#d2d7da;border-color:transparent;border-radius:0}.nav button.active{background:#47515b;color:white;box-shadow:inset 0 3px #d7a364;border-color:#5b6771}.party-ribbon{background:linear-gradient(#e6eaec,#c8d0d5);border:1px solid #a3afb8;border-radius:1px;box-shadow:0 3px 8px #26333d20}.ribbon-member{background:transparent!important;box-shadow:none;border-color:transparent}.ribbon-info strong,.ribbon-info small{color:#35444e}.portrait{background:#75838b;border-color:#a8b4bc;color:#e5e9ec}.character-heading{margin:20px 0;padding:18px;border-left:4px solid #53626e;background:#e4e8eb;flex-wrap:wrap}.character-demographics{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto;font-size:14px}.character-demographics span{padding:7px 12px;background:#cbd3d9;border:1px solid #a6b2bc;color:#303e48}.character-demographics b{font-size:11px;margin-right:7px;color:#5d6a74}.character-tabs{background:#c3ccd2;border-bottom:2px solid #727f89;padding:4px;gap:4px}.character-content{padding:25px;margin-top:18px}.character-content>h3,.character-content .timeline-event>small{background:#5e6b75;color:#f4f5f6;padding:7px 12px}.backstory dt{background:#66737e;color:#fff;padding:8px 12px;border:0}.backstory dd{padding:12px 14px;margin:0 0 14px;background:#eef0f1;color:#313d46}.equipment-slots{gap:12px}.equipment-slot>div>small{color:#697985;text-transform:uppercase}.combined-track{background:#b8c3cb}.base-segment{background:#9aaab5}.bonus-segment{background:#c78f52}.equipment-plus{color:#916129}.parameter-legend span:first-child{color:#6f8392}.parameter-legend span:last-child{color:#a8743c}.barber-actions{margin:20px 0 30px;padding:16px 0;border-top:1px solid #b4bcc2;border-bottom:1px solid #b4bcc2}.barber-actions+.residents{margin-top:24px}dialog{background:#e7ebed;color:#303b43;border:1px solid #778995;border-radius:2px;box-shadow:0 15px 60px #15212b66}input,textarea,select{background:#f4f5f5;color:#263641;border-color:#9aaab6;border-radius:1px}.shop-sales{background:#d6dee3;border-color:#a5b3bd}.stock-grid,.residents{gap:14px}.shop-sales .muted,.quest-giver small{color:#5e6d78}.quest-giver,.quest-request-message{background:#d8e0e5;border-color:#96a9b7;color:#3c4a55}.quest-giver strong{color:#354d60}.enemy-preview li,.medicine-party>div,.medicine-party>button{background:#dce3e8;color:#344652;border-color:#a2b3c0}.battle-hud-slot{background:linear-gradient(#dfe7ec,#b6c7d2);border-color:#849eaf}.battle-log-panel{background:#dce4e9;border-color:#93a8b8}.battle-log-panel .battlelog{color:#3d5262}.battle-command,.battle-speed{background:#394e5c;color:#fff;border-color:#9eafba}.companion-bubble{background:#f1f4f5;color:#314550;border-color:#7f98a8}.travel-marker{position:absolute;z-index:5;pointer-events:none;transform:translate(-50%,-100%);filter:drop-shadow(0 3px 4px #0009)}.travel-marker svg{width:32px;height:40px;fill:#fff0d8;stroke:#825f34;stroke-width:1.5}.traveling .player-position{visibility:hidden}.traveling .map-node{pointer-events:none}.traveling{cursor:progress}.map-node{border-radius:2px}.town-scene{filter:saturate(.65)}.facility-pin{filter:saturate(.45)}
@media(max-width:700px){.character-heading{padding:12px;gap:10px}.character-demographics{font-size:12px;gap:6px;margin-left:0;width:100%}.character-demographics span{padding:6px 10px}.character-content{padding:16px}.character-tabs button{min-width:0;flex:1;font-size:10px}.ribbon-info small{color:#475d6c}.backstory{display:block}.backstory dd{margin:0 0 12px}.barber-actions{margin-bottom:24px}}
/* 0.6: readable conversations, local storefronts and combat health colors. */
:root{color-scheme:light}.chat{background:#ccd5dc;border:1px solid #9dabb7;color:#273d4c;border-radius:2px}.chat:empty:after{content:'ここに会話の記録が表示されます';color:#526b7d;font-size:12px;margin:auto}.chat .bubble{background:#f1f4f6;color:#2b414f;border:1px solid #a5b6c2;border-radius:3px;box-shadow:0 2px 4px #263e5010}.chat .bubble.player{background:#b5c9d9;color:#17394f;border-color:#7d9db4}.chat-form{background:#e7ebed;border-top:1px solid #a3b3bf;margin-top:14px}.chat-form input{background:#f7f9fa;color:#253d4e;border-color:#92a8b8}.chat-form button{background:#3c5364;color:#fff;border-color:#2f485a}.npc-reports{color:#354d5e}.business-heading{border-left:4px solid #8396a4;border-bottom:1px solid #aebcc6;padding:4px 0 18px 16px;margin:0 0 24px}.business-heading>small{font-size:9px;letter-spacing:.2em;color:#637d90}.business-heading h2{font-size:21px;margin:4px 0 10px}.business-heading h2 span{font-size:18px;color:#455f73;margin-left:8px}.business-heading p{font-size:14px;color:#425b6e;background:#d1dce4;padding:12px 16px;margin:0;border-left:2px solid #99acba}.npc-commands [data-act="test-invite"]{grid-column:1/-1;font-size:12px}.character-content+[data-act="test-invite"],.character-tabs+[data-act="test-invite"]{margin:16px 0}.battle-hud-slot .hud-hp,.bar{background:#b8c6c9;box-shadow:inset 0 0 0 1px #7c9296}.battle-hud-slot .hud-hp>span,.bar>span{background:#13815d}.battle-hud-slot .hud-mp{background:#b7c9d5;box-shadow:inset 0 0 0 1px #809aaa}.battle-hud-slot .hud-mp>span,.bar.mp>span{background:#176db9}.battle-hud-slot .hud-atb{background:#d3c7ae}.battle-hud-slot .hud-atb>span{background:#b3721d}.escape-label{color:#07563e;background:#c5e3d6;font-size:10px;padding:1px 5px}.down-label{color:#812e36;background:#ecd0d1;font-size:10px;padding:1px 5px}#toast{background:#e2ebf0;color:#244257;border:1px solid #849caa;border-radius:2px}.danger{color:#932e3c;border-color:#b46e79}
@media(max-width:700px){.business-heading{padding-left:12px}.business-heading h2{font-size:18px}.business-heading h2 span{display:block;margin:4px 0 0;font-size:17px}.business-heading p{font-size:12px;padding:10px}}
.scene-caption h2{color:#eff3f5}.scene-caption p{color:#dbe2e5}
/* 0.7: shared purse, inventory and adventure prompts below the visible party. */
.home-party-ribbon{align-items:center}.ribbon-wallet{flex:0 0 auto;min-width:104px;padding:10px 10px 10px 17px;border-left:1px solid #9aa9b4;text-align:right;color:#314b60}.ribbon-wallet small{display:block;font-size:10px;letter-spacing:.08em;color:#596f80}.ribbon-wallet strong{display:block;font-size:19px;white-space:nowrap;font-weight:600}.ribbon-wallet strong span{font-size:11px}.inventory-categories{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.inventory-categories button{display:flex;gap:10px;align-items:center;min-height:40px;padding:8px 12px;font-size:12px}.inventory-categories small{color:inherit;background:#5c748120;min-width:21px;border-radius:2px;padding:0 4px}.bag-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bag-item{display:flex;flex-direction:column;gap:14px}.bag-item>.questline{border:0;padding:0;margin:0;flex:1}.bag-item>button{align-self:flex-end;min-width:100px}.bag-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.bag-targets button{padding:9px 4px;display:flex;align-items:center;flex-direction:column;gap:6px;font-size:11px}.bag-targets .portrait{width:40px;height:48px}.bag-targets .primary span{color:inherit}.bag-slot-choices{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.bag-slot-choices button{font-size:12px;padding:7px 12px}.adventure-overlay{position:fixed;inset:0;z-index:12;background:#46556570;display:flex;align-items:center;justify-content:center;padding:35px 16px 95px;overflow:auto;backdrop-filter:blur(2px)}.adventure-popup{width:min(560px,100%);max-height:100%;overflow:auto;background:linear-gradient(130deg,#f0f3f5,#dce4e9);border:1px solid #829aaa;box-shadow:0 12px 48px #1c2f4960;padding:26px;color:#304b5e;border-radius:2px}.adventure-popup h2{font-size:24px}.adventure-popup h3{font-size:19px}.adventure-popup p{line-height:1.9}.adventure-popup>.questline{margin-bottom:16px}.notice-open>.party-ribbon,.notice-open .home-party-ribbon{z-index:14}.notice-open .ribbon-member{pointer-events:none}.notice-open .companion-bubble{z-index:16}.notice-open{overflow:visible}.nav button{min-width:105px}
@media(max-width:700px){.home-party-ribbon{gap:3px;padding:8px 5px}.home-party-ribbon .ribbon-member{padding:5px 2px;gap:3px}.home-party-ribbon .ribbon-info strong{font-size:10px}.home-party-ribbon .ribbon-info small{font-size:8px}.ribbon-wallet{min-width:63px;padding:8px 3px 8px 7px}.ribbon-wallet strong{font-size:14px}.ribbon-wallet small{font-size:9px}.ribbon-wallet strong span{font-size:9px}.home-party-ribbon .portrait{width:29px;height:36px}.bag-items{grid-template-columns:1fr}.adventure-overlay{padding:36px 12px 80px}.adventure-popup{padding:20px 16px}.adventure-popup h2{font-size:21px}.adventure-popup h3{font-size:17px}.adventure-popup .actions button{font-size:12px;padding:10px 6px}.nav button{min-width:0}.bag-targets{gap:5px}.bag-targets button{font-size:10px}.bag-targets .portrait{width:34px;height:43px}}
body.has-adventure-notice{overflow:hidden}
.adventure-overlay{padding:28px 16px 20px}.adventure-popup{padding:22px}.adventure-popup .actions{margin-top:16px}
@media(max-width:700px){.adventure-overlay{padding:26px 12px 16px}.adventure-popup{padding:18px 16px}}
.companion-bubble:before{background:#f1f4f5;border-color:#7f98a8}
/* 0.8: interior scenes and ownership labels. */
.equipped-status,.unequipped-status{align-self:flex-start;font-size:11px;padding:3px 8px;border-left:3px solid #6f8c9f;background:#cad8e1;color:#36556b}.unequipped-status{border-color:#a7b5bd;background:#e4eaee;color:#697c88}.inside-facility{min-height:360px}.scene.inside-facility .facility-art{filter:brightness(1.08) saturate(.76)}.inside-facility .scene-caption h2{font-size:29px;text-shadow:0 2px 5px #223947aa}.inside-facility .facility-pin{background:#d2dbe1e8;color:#3b5363;border-color:#91a2ad}.inside-facility .scene-tag{background:#374e62b8}.inside-facility .facility-overlay{z-index:3}.report-client{display:flex;gap:16px;margin:22px 0;padding:18px;background:#d4e0e8;border-left:3px solid #7a96a9}.report-client .portrait{flex-shrink:0;width:54px;height:65px}.report-client p{margin:10px 0 0;line-height:1.9;font-size:14px}.report-rewards{padding:20px;border:1px solid #adbdc9;background:#eff3f6;margin-bottom:20px}.receipt-gold{display:flex;align-items:center;justify-content:space-between;padding:10px 0 18px;margin-bottom:16px;border-bottom:1px solid #b5c3cc}.receipt-gold strong{font-size:23px;color:#7e6138}
@media(max-width:700px){.inside-facility{min-height:330px}.inside-facility .scene-caption h2{font-size:25px}.report-client{padding:12px;gap:12px}.report-client p{font-size:12px}.report-rewards{padding:14px}}
/* Shop greeting: shared NPC portrait on the left, speech on the right. */
.business-heading.shopkeeper-greeting{display:flex;align-items:center;gap:22px;padding:14px 0 14px 18px;border-bottom:0;margin-bottom:24px}.shopkeeper-face{flex:0 0 auto}.business-heading .shopkeeper-speech{position:relative;flex:1;min-width:0;margin:0;padding:14px 18px;background:#f7f9fa;color:#344c5d;border:2px solid #a7b4bd;border-radius:14px;line-height:1.8}.shopkeeper-speech:before{content:'';position:absolute;left:-9px;top:50%;width:14px;height:14px;transform:translateY(-50%) rotate(45deg);background:#f7f9fa;border-left:2px solid #a7b4bd;border-bottom:2px solid #a7b4bd}
@media(max-width:700px){.business-heading.shopkeeper-greeting{gap:16px;padding:12px 0 12px 12px}.business-heading .shopkeeper-speech{font-size:12px;padding:12px 13px;border-radius:12px}}
.stat-unchanged{color:#6f7c86}
@media(max-width:700px){.party-ribbon .ribbon-info small,.home-party-ribbon .ribbon-info small{font-size:10px;line-height:1.5;white-space:nowrap}.home-party-ribbon .ribbon-member{flex-direction:column;align-items:center}.home-party-ribbon .ribbon-info{width:100%;text-align:center}.shell>.character-tabs{top:calc(var(--party-ribbon-height,100px) + 6px)}}
/* Landscape-only fades keep the party strip and navigation stable. */
.scene,.atlas-map,.battlefield{isolation:isolate}.scene-fade-cover{position:absolute;inset:0;background:#14232d;z-index:25;pointer-events:none;border-radius:inherit;will-change:opacity}dialog[data-transition="encounter-turn-in"]{transform-origin:50% 50%;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){.scene-fade-cover{will-change:auto}}
/* 0.11: compact facility landscape and readable base/equipment bars. */
.scene.inside-facility{height:240px;min-height:240px}.inside-facility .scene-caption{bottom:15px}.combined-track{height:11px;background:#263c4c;border:1px solid #667d8c;border-radius:2px}.base-segment{background:#38a9e6}.bonus-segment{background:#ffab39}.negative-segment{background:repeating-linear-gradient(135deg,#e66b6b 0,#e66b6b 3px,#a92e4540 3px,#a92e4540 6px)}.parameter-legend span:first-child{color:#1678af}.parameter-legend span:last-child{color:#ae5c0b}.history-entry{display:block;margin:24px 0 0 auto}.bag-item-actions{display:flex;gap:8px;justify-content:flex-end}.bag-item-actions button{min-width:78px}.rarity-common{color:#168dc1!important}.rarity-rare{color:#b52baa!important}.rarity-epic{color:#d46a0c!important}.rarity-unique{color:#258548!important}.rarity-badge{display:inline-block;width:max-content;font-size:10px;border:1px solid currentColor;padding:1px 6px;border-radius:3px;margin:4px 6px 4px 0;background:#f4f7f9}.world-situation{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px 18px}.world-situation dt{font-weight:600;color:#486578}.world-situation dd{margin:0;color:#344b5b;line-height:1.85}.dungeon-event-art{display:block;width:100%;height:150px;margin:12px 0 18px;border-radius:3px}.dungeon-stock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dungeon-stock article{padding:12px;background:#edf3f6;border:1px solid #a7bbc8}.dungeon-stock .questline{margin:0;padding:0;border:0}.dungeon-stock button{width:100%;margin-top:12px;font-size:12px}.dungeon-event-popup .medicine-party{grid-template-columns:repeat(2,minmax(0,1fr))}.dungeon-event-popup .actions button{font-size:12px;padding:10px 7px}
@media(max-width:700px){.scene.inside-facility{height:220px;min-height:220px}.inside-facility .scene-caption h2{font-size:23px}.world-situation{display:block}.world-situation dt{border-bottom:1px solid #b0c1cd;padding:5px 0}.world-situation dd{padding:7px 0 14px;font-size:13px}.dungeon-event-art{height:120px}.dungeon-stock{grid-template-columns:1fr}.bag-item-actions{justify-content:stretch}.bag-item-actions button{flex:1}.combined-track{height:10px}}
@media(max-width:360px){.dungeon-event-popup .actions{grid-template-columns:1fr}}

/* 0.12: inline equipment classification and dungeon exit. */
.rarity-badge{border:0;background:none;padding:0;margin:0 0 0 8px;border-radius:0;font-size:12px;white-space:nowrap;vertical-align:baseline}.dungeon-exit{position:absolute;right:16px;bottom:16px;left:auto;top:auto;transform:none;z-index:4}.scene .dungeon-exit{width:48px;height:48px}.scene .dungeon-exit svg{width:30px;height:30px}

.equipment-slot h3,.comparison-items h3{display:inline;margin-right:4px}.equipment-slot .item-affix{margin-top:8px}.questline .item-name{margin-right:2px}

.screen-blackout{position:fixed;inset:0;background:#000;z-index:100000;opacity:0;pointer-events:all}.event-result-message{white-space:pre-line}.owned-count{display:block;margin-top:6px;color:#506a7c;font-size:12px;font-weight:600}

/* 0.14: compact location layouts and selection. */
.content-blackout{position:fixed;left:0;right:0;background:#000;z-index:100000;pointer-events:all;opacity:0}.ribbon-member.selected-character{border:2px solid #477a9b;box-shadow:0 0 0 2px #ffffffa0 inset;background:#cbdce6}.map-region-info{position:absolute;right:12px;top:12px;z-index:3;font-size:11px;padding:7px 10px;background:#edf2f5eb;color:#36566c}.scene-time{font-size:10px;margin-left:8px;color:inherit}.town-overview-art{display:block;width:100%;height:200px;object-fit:cover;margin:12px 0}.quest-board-list{display:flex;flex-direction:column;gap:12px}.quest-board-list .quest-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:18px}.quest-board-list .quest-card h3{grid-column:1;margin:0;min-height:0}.quest-board-list .quest-card>.row:first-child{grid-column:1/-1}.quest-board-list .quest-giver{grid-column:1;margin:0}.quest-board-list .quest-card>p{grid-column:1;margin:0;font-size:12px}.quest-board-list .quest-card>.row:last-child{grid-column:2;grid-row:2/5;flex-direction:column;justify-content:center}.party-outcome{display:flex;gap:18px;align-items:center;padding:18px 0}.party-outcome .portrait{width:72px;height:86px;flex-shrink:0}.party-outcome p{font-size:16px;line-height:1.9}@media(max-width:420px){.quest-board-list .quest-card{padding:12px;gap:5px 9px}.quest-board-list .quest-card h3{font-size:15px}.quest-board-list .quest-card .gold{font-size:11px}.quest-board-list .quest-giver{padding:5px 7px}.town-overview-art{height:160px}}

.scene-info{position:absolute;right:14px;top:14px;z-index:4;padding:7px 13px;font-size:12px;background:#edf2f4e8;color:#36576c}.destination-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.destination-heading h2{margin:10px 0;min-width:0}.destination-heading button{flex-shrink:0}.destination-heading+.site-art,.destination-heading+.town-overview-art{display:block;width:100%;height:190px;object-fit:cover;margin:12px 0 20px}.popup-back{display:block;margin:18px 0 0 auto;min-width:100px}.town-overview>.town-overview-art{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover}.scene>.site-art{position:absolute;inset:0;width:100%;height:100%}.scene-tag{max-width:calc(100% - 110px)}@media(max-width:420px){.destination-heading+.site-art,.destination-heading+.town-overview-art{height:160px}.destination-heading h2{font-size:21px}}

.scene>.plaza-art{position:absolute;inset:0;width:100%;height:100%}.arrival-info{float:right;margin:0 0 8px 12px}.adventure-popup:has(.arrival-info) h2{padding-right:75px}.adventure-popup .town-overview-art{height:170px;margin:12px 0;clear:both}.quest-board-list h2 small{font-size:12px}

.defeat-backdrop{position:fixed;inset:0;background:#020509;z-index:110;opacity:1;animation:defeat-darken .4s ease-out}.defeat-active .party-ribbon,.defeat-transition-active .party-ribbon{position:relative;z-index:120;background:#dce5e9}.defeat-active .nav,.defeat-transition-active .nav{z-index:120}.defeat-popup{position:fixed;z-index:130;left:16px;right:16px;bottom:94px;max-width:520px;max-height:580px;margin:auto;padding:24px;background:#273943;color:#e3e6de;border:1px solid #87979b;overflow:auto;box-shadow:0 20px 60px #0008}.defeat-popup h2{color:#e5e5d7;font-size:23px}.defeat-popup p{color:#cbd6d7;line-height:1.8}.defeat-popup button{width:100%;margin-top:12px}.defeat-art{display:block;width:100%;max-height:230px;margin:18px 0}.gear-owner{display:block;width:fit-content;margin-top:6px;font-size:11px;color:#5d7180}.gear-owner.worn{padding:4px 8px;background:#d6e3ec;color:#275c7d;border-left:3px solid #5480a2;font-weight:600}@keyframes defeat-darken{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.defeat-backdrop{animation:none}}

.defeat-popup{bottom:auto;margin:0 auto}body.defeat-active .nav button:disabled,body.defeat-transition-active .nav button:disabled{opacity:1}

.battle-status-tags{font-size:10px;line-height:1.3;color:#783d68;background:#f0e1ef;padding:2px 4px;overflow-wrap:anywhere}

#area-target-canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:manipulation;border:1px solid #82949c;margin:12px 0}.area-skill-choice{display:block;width:100%;margin:8px 0}.area-skill-choice small{margin-left:10px}

.bag-slot-choices button small{display:block;margin-top:5px;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.comparison-current{background:#d5e3e9;padding:10px;border-left:3px solid #628798}

.bag-slot-choices button.primary small{color:#f3f8fa}.comparison-current span{display:block;font-size:12px;margin-bottom:4px}.comparison-current strong{display:block;overflow-wrap:anywhere}

.enemy-preview li{margin:10px 0}.enemy-preview li small{display:block;margin-top:4px;font-size:12px;line-height:1.6;color:#4a6470}

.journey-controls{margin-bottom:10px;position:relative;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#e5edefee;color:#2d4857;padding:12px}.journey-controls strong{flex:1;min-width:50%}.journey-controls span{font-size:12px}.journey-controls button{flex:1;white-space:nowrap}.map-node:disabled{opacity:.85;cursor:default}

/* Travel conversations remain above event shading and outside portrait crops. */
.notice-open .party-ribbon{position:relative;overflow:visible;z-index:20}.party-ribbon .portrait{overflow:visible}.party-ribbon .portrait img{border-radius:inherit}.notice-open .companion-bubble{z-index:25}.quest-status{font-weight:700;border-left:4px solid currentColor;white-space:nowrap}.quest-status.available{color:#176f45;background:#e0f2e6}.quest-status.active{color:#135b9a;background:#deecfa}.quest-status.ready{color:#955700;background:#fff0ce}.quest-status.done{color:#606873;background:#e3e6e9}.stack-count{color:#365770;font-size:13px}

.quest-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.quest-difficulty{display:inline-block;font-size:11px;line-height:1.5;font-weight:600;border:1px solid currentColor;padding:2px 7px;border-radius:2px;white-space:nowrap}.quest-difficulty.easy{color:#216846;background:#e3f2e8}.quest-difficulty.medium{color:#7c5a0e;background:#fff2d0}.quest-difficulty.hard{color:#943d56;background:#f9e5eb}.quest-summary .quest-difficulty{margin-top:5px}.quest-card>.row:first-child{flex-wrap:wrap;gap:8px}.speed-options{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:400px){.quest-meta{gap:5px}.quest-difficulty{font-size:10px}.speed-options button{padding:10px 6px}}

.rarity-common{color:#66717b!important}.rarity-uncommon{color:#168fbd!important}.rarity-rare{color:#8246bd!important}.rarity-epic{color:#cd3d91!important}.rarity-legend{color:#c96914!important}.rarity-unique{color:#258548!important}.rarity-badge{white-space:normal}.item-specs{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:3px 10px;margin:10px 0;font-size:12px}.item-specs dt{color:#586d7b}.item-specs dd{margin:0;text-align:right;color:#263f50;font-variant-numeric:tabular-nums}.unique-effect{font-size:12px;color:#217b48;border-left:3px solid #258548;padding-left:8px}.stock-item{flex-wrap:wrap}.stock-item>div{flex:1;min-width:160px}.quest-difficulty.very-easy{color:#216846;background:#e3f2e8}.quest-difficulty.normal{color:#7c5a0e;background:#fff2d0}.quest-difficulty.very-hard{color:#8e2d6b;background:#f5d9ec}

.story-task,.story-consult{margin-top:16px;border-left:4px solid #8b794e}.story-consult{padding:14px;background:#dbe5e8}.story-task small,.story-consult small{color:#667957}.story-art{width:100%;height:150px;margin:14px 0}.story-complete{padding:14px;background:#d7eadb;color:#28573a}.story-task h3,.story-consult h3{overflow-wrap:anywhere}
