:root{--bg0:#0e1114;--bg1:#171c21;--bg2:#222a32;--ink:#e8ecef;--muted:#8b969f;--accent:#c4a35a;--danger:#c45c5c;--line:#2c3640;--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body:"IBM Plex Sans JP", "Hiragino Sans", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 50% -10%, #2a323c 0%, transparent 55%), linear-gradient(180deg, #12161a 0%, var(--bg0) 40%, #0a0c0e 100%)}.app-shell{place-items:start center;min-height:100vh;padding:2rem 1rem 4rem;display:grid}.app-frame{width:min(720px,100%)}.screen{flex-direction:column;gap:1.25rem;display:flex}.status-bar{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-bottom:.75rem;font-size:.85rem;display:flex}.eyebrow{letter-spacing:.12em;text-transform:none;color:var(--accent);margin:0;font-size:.75rem}h1{font-family:var(--font-display);margin:.25rem 0 .5rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:500}h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.1rem;font-weight:500}h3{font-family:var(--font-display);margin:0 0 .35rem;font-weight:500}.lede{color:var(--muted);margin:.25rem 0;line-height:1.6}.muted{color:var(--muted)}.panel{background:var(--bg1);border:1px solid var(--line);padding:1rem 1.1rem}.party-list{margin:0;padding-left:1.1rem;line-height:1.7}.party-list .gone{color:var(--muted);text-decoration:line-through}.actions{flex-wrap:wrap;gap:.5rem;display:flex}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--bg2);color:var(--ink);padding:.55rem .9rem}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.35;cursor:not-allowed}button.ghost{background:0 0}.card-grid{gap:.75rem;display:grid}@media (width>=560px){.card-grid{grid-template-columns:1fr 1fr}}.profile-card{background:var(--bg1);border:1px solid var(--line);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.profile-card p{margin:0;font-size:.9rem;line-height:1.5}.tag{color:var(--accent);font-size:.7rem;font-family:var(--font-body);margin-left:.4rem}.toast{border:1px solid var(--accent);color:var(--accent);background:#2a2218;margin:0;padding:.75rem 1rem}.battle-log{background:var(--bg1);border:1px solid var(--line);flex-direction:column;justify-content:flex-end;min-height:0;max-height:14.5rem;margin:0;padding:.75rem 1rem;font-size:.92rem;line-height:1.55;list-style:none;display:flex;overflow:hidden}.battle-log li+li{margin-top:.3rem}.battle-log-more,.recent-log-more{opacity:.75;font-size:.78rem}.recent-log{flex-direction:column;justify-content:flex-end;margin:0;padding:.65rem .85rem;list-style:none;display:flex;overflow:hidden}.recent-log li+li{margin-top:.3rem}.recent-log-pane{flex-direction:column;justify-content:flex-end;display:flex;overflow:hidden}.recent-log-pane p{margin:0}.recent-log-pane p+p,.recent-log-pane .recent-log-more+p{margin-top:.55rem}.ally-hp{color:var(--muted);font-size:.85rem}.ending .lede{line-height:1.7}.tip{background:var(--bg1);border-left:3px solid var(--accent);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;font-size:.9rem;line-height:1.55;display:flex}.tip p{margin:0}.actions.stacked{flex-direction:column}.actions.stacked button{text-align:left}button.inline{margin-top:.35rem;margin-left:0;padding:.15rem .45rem;font-size:.75rem}button.danger:not(:disabled){color:#e8b4b4;border-color:#6a3a3a}.avatar.placeholder,.avatar.photo{object-fit:cover;border:1px solid var(--line);background:var(--bg2);width:3.5rem;height:3.5rem}.avatar.placeholder{font-family:var(--font-display);color:var(--accent);place-items:center;font-size:1.25rem;display:grid}.profile-card .avatar.photo{width:100%;height:10rem}.dialogue-box{background:var(--bg1);border:1px solid var(--line);min-height:8rem;padding:1.25rem 1.1rem}.dialogue-box.with-face{grid-template-columns:5.5rem 1fr;align-items:start;gap:.85rem;display:grid}.dialogue-face{object-fit:cover;border:1px solid var(--line);background:var(--bg2);width:5.5rem;height:5.5rem}.dialogue-body{min-width:0}.dialogue-box .speaker{color:var(--accent);margin:0 0 .5rem;font-size:.85rem}.dialogue-box .line{margin:0;font-size:1.05rem;line-height:1.7}.stage-art,.battle-stage{border:1px solid var(--line);background-color:var(--bg1);height:10rem;position:relative;overflow:hidden}.stage-art.has-image,.battle-stage.has-image,.hub-hero{background-position:50%;background-size:cover}.stage-art.has-image:after,.battle-stage.has-image:after{content:"";background:linear-gradient(#0000 40%,#080a0cd9 100%);position:absolute;inset:0}.battle-stage.has-image:after{background:linear-gradient(#14181e14 0%,#0000 40%,#080a0c38 100%)}.stage-art .stage-caption{z-index:1;color:#d7dde2;letter-spacing:.04em;font-size:.8rem;position:absolute;bottom:.65rem;left:.85rem}.battle-actors{z-index:1;justify-content:space-between;align-items:flex-end;padding:.75rem 1.25rem;display:flex;position:absolute;inset:0}.battle-enemy,.battle-hero{object-fit:cover;border:1px solid var(--line);background:#00000059;width:4.5rem;height:4.5rem}.battle-enemy{width:5.2rem;height:5.2rem}.ally-hp{color:var(--muted);flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.ally-chip{align-items:center;gap:.35rem;display:inline-flex}.ally-chip.tap,.battle-actor.tap{appearance:none;color:inherit;font:inherit;cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;padding:.15rem .25rem}.ally-chip.tap:hover,.battle-actor.tap:hover{border-color:var(--line);background:color-mix(in srgb, var(--bg2) 70%, transparent)}.ally-chip.dead{opacity:.45;text-decoration:line-through}.ally-chip img{object-fit:cover;border:1px solid var(--line);width:1.4rem;height:1.4rem}.battle-frozen{pointer-events:none}.battle-frozen .death-beat,.battle-frozen .battle-status-modal{pointer-events:auto}.battle-status-panel{max-height:min(88vh,36rem);overflow:auto}.battle-status-roster{border-top:1px solid var(--line);padding-top:.55rem}.battle-status-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.battle-status-tabs button{padding:.3rem .5rem;font-size:.75rem}.battle-status-tabs button.active{border-color:var(--accent);color:var(--accent)}.battle-status-tabs button.dead{opacity:.55;text-decoration:line-through}.death-beat{z-index:40;background:#080000b8;place-items:center;padding:1.5rem;animation:.35s ease-out death-beat-in;display:grid;position:fixed;inset:0}.death-beat-panel{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:22rem;display:flex}.death-beat-face{object-fit:cover;filter:brightness(.42)contrast(1.15)sepia(.85)hue-rotate(-35deg)saturate(2.4);border:2px solid #5a1010;width:min(52vw,11rem);height:min(52vw,11rem);animation:2.6s ease-in-out death-beat-face;box-shadow:0 0 2rem #7800008c}.death-beat-face.placeholder{color:#f2c4c4;background:#2a0808;place-items:center;font-size:3rem;font-weight:700;display:grid}.death-beat-name{letter-spacing:.08em;color:#c9a0a0;margin:0;font-size:.95rem}.death-beat-line{color:#f3d6d6;text-shadow:0 0 12px #b4141473;margin:0;font-size:1.15rem;line-height:1.55;animation:.5s ease-out .15s both death-beat-line}.death-beat-memory{color:#d4b8b8;margin:.35rem 0 0;font-size:.95rem;line-height:1.6;animation:.55s ease-out .85s both death-beat-line}.death-beat-numb{color:#9a9a9a;font-style:italic}.death-beat-skill{letter-spacing:.04em;color:#ffd4a8;text-shadow:0 0 14px #b43c1480;margin:.15rem 0 0;font-size:1.05rem;font-weight:700;animation:.55s ease-out 1.6s both death-beat-line}.skill-menu{gap:.4rem;max-height:12rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.skill-menu button{text-align:left;width:100%}.battle-actions{flex-wrap:wrap}@keyframes death-beat-in{0%{opacity:0}to{opacity:1}}@keyframes death-beat-face{0%{filter:brightness(.55)contrast(1.1)sepia(.7)hue-rotate(-30deg)saturate(2);transform:scale(1.06)}70%{filter:brightness(.38)contrast(1.2)sepia(.9)hue-rotate(-40deg)saturate(2.6);transform:scale(1)}to{filter:brightness(.28)contrast(1.25)sepia()hue-rotate(-45deg)saturate(2.8);opacity:.85;transform:scale(.98)}}@keyframes death-beat-line{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.hub-hero{border:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;min-height:11rem;display:grid;position:relative;overflow:hidden}.hub-hero.compact{grid-template-columns:1fr;min-height:9rem}.hub-hero:before{content:"";background:linear-gradient(105deg,#080a0ceb 0%,#080a0c8c 55%,#080a0c40 100%);position:absolute;inset:0}.hub-hero-veil{z-index:1;padding:1.1rem 1.15rem;position:relative}.hub-hero h1{margin:.2rem 0;font-size:clamp(1.35rem,3.6vw,1.85rem)}.hub-hero-sub{color:var(--muted);margin:0;font-size:.9rem}.hub-hero-portrait{z-index:1;object-fit:cover;border:1px solid var(--line);width:6.5rem;height:6.5rem;margin:0 .85rem .85rem 0;position:relative;box-shadow:0 8px 24px #00000073}.hub-status{align-items:center}.phase-pill{border:1px solid var(--line);color:var(--accent);margin-left:.5rem;padding:.15rem .45rem;font-size:.75rem;display:inline-block}.stat-chips{flex-wrap:wrap;gap:.5rem;display:flex}.stat-chips span{border:1px solid var(--line);background:var(--bg1);padding:.15rem .45rem}.stats-row{grid-template-columns:repeat(3,1fr);gap:.4rem;font-size:.88rem;display:grid}@media (width>=560px){.stats-row{grid-template-columns:repeat(6,1fr)}}.stats-row>div{background:var(--bg1);border:1px solid var(--line);padding:.45rem .55rem}.party-cards{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.party-rows{flex-direction:column;gap:.45rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.party-rows>li{flex-direction:row;align-items:center;gap:.45rem;width:100%;min-width:0;display:flex}.party-rows>li.gone{opacity:.72}.party-row{border:1px solid var(--line);background:var(--bg2);min-width:0;color:inherit;text-align:left;cursor:pointer;flex-direction:row;flex:auto;align-items:center;gap:.65rem;padding:.4rem .55rem;display:flex}.party-row img,.party-row .avatar{object-fit:cover;border:1px solid var(--line);flex:none;width:2.75rem;height:2.75rem}.party-row .avatar.placeholder{background:var(--bg1);color:var(--muted);place-items:center;font-size:1rem;font-weight:700;display:grid}.party-row-name{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:3.5rem;max-width:8rem;font-size:.95rem;overflow:hidden}.party-row-status{min-width:0;color:var(--muted);white-space:normal;overflow-wrap:anywhere;word-break:normal;flex:auto;font-size:.82rem;line-height:1.35}.party-rows>li.gone .party-row-status{color:#c9a0a0}.party-recall{white-space:nowrap;flex:none;padding:.35rem .5rem;font-size:.75rem}.line-party{color:var(--ink);padding-top:.55rem}.line-party-head{border:1px solid var(--line);background-color:var(--bg2);min-height:3.2rem;color:var(--ink);background-position:50%;background-size:cover;justify-content:space-between;align-items:baseline;gap:.5rem;margin:.35rem 0 .55rem;padding:.7rem .85rem;display:flex}.line-party-head h3{letter-spacing:.04em;color:var(--ink);margin:0;font-size:1.05rem}.line-party-head p{color:var(--muted);margin:0;font-size:.8rem}.line-party-empty{color:var(--muted);padding:.5rem 0}.line-friend-list{border:1px solid var(--line);background:var(--bg1);color:var(--ink);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.line-friend-list>li+li{border-top:1px solid var(--line)}.line-friend-list>li.away{background:color-mix(in srgb, var(--bg1) 88%, #5a3030)}.line-friend-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:row;align-items:center;gap:.7rem;padding:.55rem .65rem;display:flex}.line-friend-avatar{flex:none;width:2.7rem;height:2.7rem;position:relative}.line-friend-avatar img:not(.line-unread),.line-friend-avatar .avatar{object-fit:cover;border:1px solid var(--line);width:2.7rem;height:2.7rem;display:block}.line-friend-avatar .avatar.placeholder{background:var(--bg2);color:var(--ink);place-items:center;font-weight:700;display:grid}.line-unread{filter:drop-shadow(0 1px 2px #0000008c);position:absolute;bottom:-.2rem;right:-.25rem;border:none!important;width:1.05rem!important;height:1.05rem!important}.line-friend-body{flex-direction:column;flex:auto;gap:.12rem;min-width:0;display:flex}.line-friend-body strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;overflow:hidden}.line-friend-body .preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.line-friend-body .preview.unread{color:var(--ink);font-weight:600}.line-chat-panel{width:min(24rem,100%);max-height:min(90vh,40rem);color:var(--ink);gap:.75rem;overflow:auto}.line-chat-top{color:var(--ink);align-items:center;gap:.45rem;display:flex}.line-chat-top strong{color:var(--ink);flex:1}.line-chat-thread{background:var(--bg2);border:1px solid var(--line);flex-direction:column;gap:.45rem;padding:.65rem;display:flex}.line-chat-face{object-fit:cover;border:1px solid var(--line);align-self:flex-start;width:3.2rem;height:3.2rem}.line-bubble{color:#1a2228;background:#eef1f3;border:1px solid #c5ced6;border-radius:.15rem .75rem .75rem;align-self:flex-start;max-width:90%;padding:.55rem .7rem;font-size:.88rem;line-height:1.45}.line-bubble.muted-bubble{opacity:.9;color:#3a454e;font-size:.78rem}.line-chat-status h4{color:var(--muted);margin:0 0 .35rem;font-size:.85rem}.party-cards li{background:var(--bg2);border:1px solid var(--line);grid-template-columns:3.2rem 1fr;align-items:center;gap:.65rem;padding:.45rem;display:grid}.party-cards li.gone{opacity:.55}.party-cards img,.party-cards .avatar{object-fit:cover;width:3.2rem;height:3.2rem}.party-cards strong{display:block}.party-cards .muted{font-size:.8rem;display:block}.menu-grid{gap:.85rem;display:grid}@media (width>=640px){.menu-grid{grid-template-columns:1fr 1fr}.menu-system{grid-column:1/-1}}.menu-group{background:var(--bg1);border:1px solid var(--line);padding:.9rem 1rem 1rem}.menu-group h2{margin-bottom:.15rem}.menu-note{color:var(--muted);margin:0 0 .75rem;font-size:.8rem}.hub-phase{margin-top:.5rem}.hub-phase-head h2{margin:0 0 .1rem;font-size:1.05rem}.hub-phase-head .menu-note{margin-bottom:.85rem}.hub-main-menu{gap:.55rem;display:grid}.hub-main-menu button{text-align:left;background:var(--bg1);border:1px solid var(--line);color:var(--fg);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.85rem 1rem;display:flex}.hub-main-menu button strong{font-size:1.05rem}.hub-main-menu button span{color:var(--muted);font-size:.78rem}.hub-main-menu button:hover{border-color:var(--accent)}.hub-panel{background:var(--bg1);border:1px solid var(--line);padding:.85rem 1rem 1rem}.hub-panel h3{margin:.35rem 0 .5rem}.hub-panel .back{margin-bottom:.15rem;padding:.2rem .45rem;font-size:.8rem}.hub-footer{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem;display:flex}.hub-footer .ghost{padding:.35rem .75rem;font-size:.8rem}.debug-menu-entry{opacity:.85;border-style:dashed!important}.debug-subhead{letter-spacing:.06em;color:var(--muted);margin:1rem 0 .4rem;font-size:.85rem}.debug-battle-list{max-height:18rem;overflow:auto}.debug-footer{border-style:dashed!important}.dungeon-menu{max-width:28rem}.facedex-note{margin:.5rem 0 .75rem}.facedex-filters{flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem;display:flex}.facedex-filters button{padding:.35rem .65rem;font-size:.8rem}.facedex-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.65rem;padding-bottom:1.5rem;display:grid}.facedex-card{border:1px solid var(--line);background:var(--bg1);color:var(--ink);flex-direction:column;gap:.35rem;padding:.45rem;display:flex}.facedex-card.quality{border-color:var(--accent)}.facedex-card img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:var(--bg2);width:100%;display:block}.facedex-missing{aspect-ratio:1;background:var(--bg2);border:1px dashed var(--line);width:100%;color:var(--muted);place-items:center;font-size:1.4rem;display:grid}.facedex-meta{flex-direction:column;gap:.1rem;min-width:0;display:flex}.facedex-meta strong{word-break:break-all;font-size:.72rem;line-height:1.25}.facedex-meta span{color:var(--muted);font-size:.7rem}.facedex-meta .tag{align-self:flex-start;margin-left:0}.job-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.job-list li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.6rem;padding-bottom:.65rem;display:grid}.job-list li:last-child{border-bottom:none;padding-bottom:0}.job-list strong{font-size:.95rem;display:block}.job-list .muted{margin-top:.1rem;font-size:.75rem;display:block}.job-blurb{color:var(--muted);margin:.25rem 0 0;font-size:.8rem;line-height:1.4}.dialogue.opening .dialogue-box .line{font-family:var(--font-display);font-size:1.1rem}.field-viewport{border:1px solid var(--line);background:#0c0f12;place-items:center;max-height:min(52vh,420px);padding:.5rem;display:grid;overflow:auto}.field-map{image-rendering:pixelated;background-position:50%;background-size:cover;position:relative;box-shadow:inset 0 0 0 1px #ffffff0a}.field-wall{pointer-events:none;background:#0a0c0e8c;border:1px solid #3c465059;position:absolute}.field-spot{border:1px solid var(--accent);color:#f0e6c8;z-index:1;background:#c4a35a47;place-items:center;font-size:.65rem;display:grid;position:absolute}.field-spot.day{background:#5a8ca04d;border-color:#6a8fa0}.field-spot.night{border-color:var(--danger);background:#a0464659}.field-player{z-index:2;place-items:center;transition:left 60ms linear,top 60ms linear;display:grid;position:absolute}.field-player img{object-fit:cover;border:1px solid var(--accent);background:#111;width:86%;height:86%}.field-prompt{padding:.55rem .15rem;font-size:.9rem}.field-prompt .warn{color:var(--danger);margin-left:.35rem}.field-controls{gap:.75rem;display:grid}.dpad{grid-template-rows:repeat(3,2.6rem);grid-template-columns:repeat(3,3.2rem);justify-content:center;gap:.3rem;display:grid}.dpad .up{grid-area:1/2}.dpad .left{grid-area:2/1}.dpad .ok{grid-area:2/2;padding:0;font-size:.72rem}.dpad .right{grid-area:2/3}.dpad .down{grid-area:3/2}.dpad .pad{min-width:0}.bgm-toggle{z-index:40;opacity:.9;border-radius:999px;padding:.35rem .65rem;font-size:.75rem;position:fixed;top:.75rem;right:.75rem}.atmosphere-veil{pointer-events:none;z-index:0;transition:background .8s,opacity .8s;position:fixed;inset:0}.app-shell>.app-frame{z-index:1;position:relative}.scene-host{position:relative}.scene-veil{pointer-events:none;z-index:40;opacity:0;background:#050608;transition:opacity .3s;position:fixed;inset:0}.scene-host.fade-out .scene-veil,.scene-host.fade-in .scene-veil{opacity:1}.scene-host.fade-in .scene-veil{transition-delay:0s;animation:.34s forwards scene-veil-lift}@keyframes scene-veil-lift{0%{opacity:1}to{opacity:0}}.scene-host.fade-out .screen>:not(.status-dock-block){opacity:0;filter:brightness(.15);transition:opacity .28s,filter .28s}.scene-host.fade-out .scene-veil,.scene-host.fade-in .scene-veil{pointer-events:auto}.atmosphere-day{--bg0:#fff6fa;--bg1:#fff;--bg2:#ffe8f1;--ink:#2a2430;--muted:#6a5a68;--accent:#c44e7a;--danger:#d45b7a;--line:#f0c8d8;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--font-body:"Zen Maru Gothic", "Hiragino Sans", sans-serif;color:var(--ink)}.atmosphere-day .atmosphere-veil{opacity:1;background:radial-gradient(90% 60% at 50% -10%,#ffd6e8 0%,#0000 55%),radial-gradient(50% 40% at 100% 20%,#c8e8ff 0%,#0000 45%),linear-gradient(#fff8fc 0%,#ffeef5 45%,#e8f4ff 100%)}.atmosphere-day body{background:#fff6fa}body:has(.atmosphere-day){background:#fff6fa}html:has(.atmosphere-day){background:#fff6fa}html:has(.atmosphere-day) body{background:#fff6fa}.atmosphere-night{--bg0:#0e1114;--bg1:#171c21;--bg2:#222a32;--ink:#e8ecef;--muted:#8b969f;--accent:#c4a35a;--danger:#c45c5c;--line:#2c3640;--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body:"IBM Plex Sans JP", "Hiragino Sans", sans-serif;color:var(--ink)}.atmosphere-night .atmosphere-veil{opacity:1;background:radial-gradient(70% 50% at 50% 0,#1a1520 0%,#0000 55%),linear-gradient(#06080c33,#0405088c)}html:has(.atmosphere-night){background:#0a0c0e}html:has(.atmosphere-night) body{background:#0a0c0e}.atmosphere-day .hub-hero,.atmosphere-day .stage-art.has-image,.atmosphere-day .field-map,.atmosphere-day .profile-card .avatar.photo{filter:brightness(1.12)saturate(1.15)contrast(.98)}.atmosphere-night .hub-hero,.atmosphere-night .stage-art.has-image,.atmosphere-night .field-map,.atmosphere-night .profile-card .avatar.photo{filter:brightness(.52)saturate(.65)contrast(1.12)}.atmosphere-night .battle-stage.has-image{filter:brightness(1.35)saturate(1.05)contrast(.98)}.atmosphere-night .battle-actor img,.atmosphere-night .battle-actor .avatar{filter:brightness(1.15)contrast(1.02)}.atmosphere-night .battle-log{color:#eef2f5;background:#1c222af0;border-color:#4a5664}.atmosphere-night .field-viewport{background:#05070a;box-shadow:inset 0 0 40px #000000a6}.atmosphere-day .field-viewport{background:linear-gradient(#dff0ff,#ffe8f2);box-shadow:inset 0 0 0 2px #ffffffb3}.atmosphere-day .panel,.atmosphere-day .menu-group,.atmosphere-day .profile-card,.atmosphere-day .dialogue-box,.atmosphere-day .toast,.atmosphere-day .tip,.atmosphere-day .detail-panel,.atmosphere-day .line-friend-list,.atmosphere-day .line-chat-thread,.atmosphere-day .line-party-head,.atmosphere-day .stats-row>div,.atmosphere-day .stat-chips span{border-color:var(--line);color:var(--ink);background:#ffffffeb;box-shadow:0 4px 14px #e87aa41f}.atmosphere-day .toast{color:var(--ink);background:#fff0f6;border-color:#f0a8c0}.atmosphere-day .text-window{color:var(--ink);background:#fff8fcf5;border-color:#f0a8c0}.atmosphere-day .text-window .log-more{color:var(--muted)}.atmosphere-day .tip{border-left-color:var(--accent);color:var(--muted)}.atmosphere-day .line-bubble{color:#2a2430;background:#fff;border-color:#e0c8d4}.atmosphere-day .line-bubble.muted-bubble{color:#5a4a56}.atmosphere-day .phase-pill{color:#c44e7a;background:#ffe0ec;border-color:#f0a8c0;border-radius:999px}.atmosphere-day button{color:#3a2430;background:#fff8fb;border-color:#f0b8cc;border-radius:2px}.atmosphere-day button:hover:not(:disabled){color:#c44e7a;border-color:#c44e7a}.atmosphere-day .eyebrow{color:#e87aa4;letter-spacing:.18em}.atmosphere-day h1,.atmosphere-day h2,.atmosphere-day h3{font-family:var(--font-display)}.atmosphere-day .field-spot{color:#6a3048;background:#ffaac88c;border-color:#e87aa4;border-radius:6px}.atmosphere-day .field-player img{border-color:#e87aa4;border-radius:50%}.atmosphere-night .field-player img{filter:brightness(.85);border-radius:2px}.atmosphere-day .bgm-toggle{color:#c44e7a;background:#fff;border-color:#f0b8cc}.atmosphere-day .bgm-toggle.on{background:#ffe0ec}.atmosphere-night .bgm-toggle{background:var(--bg2);color:var(--muted)}.atmosphere-night .bgm-toggle.on{color:var(--accent);border-color:var(--accent)}.atmosphere-day .hub-hero-veil h1{text-shadow:0 1px #fff}.atmosphere-night .hub-hero-veil{text-shadow:0 2px 12px #000c}.status-dock-block{z-index:50;margin-bottom:.25rem;position:sticky;top:0;overflow:visible}.status-dock{z-index:auto;background:color-mix(in srgb, var(--bg1) 92%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:3.4rem 1fr;align-items:center;gap:.65rem;margin-bottom:0;padding:.55rem .65rem;display:grid;position:relative;top:auto;overflow:visible}.text-window{border:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;cursor:default;width:100%;min-height:2.8rem;max-height:5.5rem;font:inherit;background:#1a1e24f5;border-top:none;padding:.65rem .85rem;overflow:auto}.atmosphere-night .text-window{color:#e8ecef;border-color:#3a4a3a}.text-window.has-more{cursor:pointer}.text-window:disabled{opacity:1;cursor:default}.text-window p{white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.55}.log-more{letter-spacing:.06em;color:var(--text,#e8e4dc);margin-top:.35rem;font-size:.75rem;animation:1.2s ease-in-out infinite log-more-blink;display:block}.log-more.done{opacity:.55;animation:none}@keyframes log-more-blink{0%,to{opacity:.45}50%{opacity:1}}.status-dock-portrait{object-fit:cover;border:1px solid var(--line);width:3.4rem;height:3.4rem}.status-dock-top{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.gacha-panel{flex-direction:column;gap:.85rem;margin-top:.75rem;display:flex}.gacha-grade{border:1px solid var(--line);background:var(--bg1);flex-direction:column;gap:.5rem;padding:.75rem .85rem;display:flex}.gacha-grade-head{flex-direction:column;gap:.15rem;display:flex}.gacha-grade-head strong{font-size:.95rem}.venue-list button{align-items:flex-start}.venue-list button strong{margin-bottom:.15rem;display:block}.gacha-card{border:1px solid var(--line);background:var(--bg1);grid-template-columns:5.5rem 1fr;align-items:start;gap:.75rem;padding:.85rem;display:grid}.gacha-card img{object-fit:cover;border:1px solid var(--line);width:5.5rem;height:5.5rem}.battle-stage.versus{justify-content:space-between;align-items:flex-end;gap:.5rem;min-height:12.5rem;padding:.75rem;display:flex}.battle-side{z-index:1;flex-wrap:wrap;align-items:flex-end;gap:.45rem;max-width:48%;display:flex;position:relative}.battle-side.foes{justify-content:flex-end}.battle-actor{flex-direction:column;align-items:center;gap:.2rem;font-size:.7rem;display:flex}.battle-actor img,.battle-actor .avatar{object-fit:cover;border:1px solid var(--line);background:var(--bg2);width:3.6rem;height:3.6rem}.battle-actor .battle-hero,.battle-actor .battle-enemy{width:4.4rem;height:4.4rem}.remodel-name{border:1px solid var(--line);background:var(--bg1);width:100%;color:inherit;font:inherit;padding:.55rem .65rem}.remodel-stock-btn{text-align:left;align-items:center;gap:.65rem;display:flex}.remodel-stock-face,.remodel-preview-face{object-fit:cover;border:1px solid var(--line);background:var(--bg2);flex-shrink:0;width:3.6rem;height:3.6rem}.remodel-preview-face{align-self:center;width:6rem;height:6rem;margin:.25rem auto;display:block}.dungeon-log{max-height:12rem;overflow:hidden}.negotiate-hero img{object-fit:cover;border:1px solid var(--line);width:5rem;height:5rem}.negotiate-combat{--neg-panel:color-mix(in srgb, var(--bg1) 88%, #1a1218 12%);--neg-anger:#c45c5c;--neg-progress:#6a9e7a}.negotiate-topbar{margin-bottom:.5rem}.negotiate-grid{grid-template-columns:minmax(9rem,.9fr) minmax(0,1.5fr) minmax(10rem,1fr);align-items:stretch;gap:.75rem;min-height:min(70vh,36rem);display:grid}.negotiate-panel{background:var(--neg-panel);border:1px solid var(--line);flex-direction:column;gap:.4rem;padding:.75rem;display:flex;position:relative}.negotiate-face{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);width:100%;max-height:11rem}.negotiate-panel h3{align-items:center;gap:.35rem;margin:.2rem 0 0;font-size:1rem;display:flex}.negotiate-stats{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.negotiate-stats .stat-chip{position:relative;overflow:visible}.negotiate-center{flex-direction:column;gap:.65rem;min-width:0;display:flex}.negotiate-log-pane{border:1px solid var(--line);background:color-mix(in srgb, var(--bg1) 70%, #0e0c10 30%);flex-direction:column;flex:1;justify-content:flex-end;min-height:8rem;max-height:16rem;padding:.85rem 1rem;font-size:.92rem;line-height:1.55;display:flex;overflow:hidden}.negotiate-log-pane p{margin:0}.negotiate-log-pane p+p{margin-top:.65rem}.negotiate-choices{margin:0}.negotiate-choice{text-align:left;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;display:flex}.negotiate-choice .choice-hint{font-size:.75rem;font-weight:400}.negotiate-choice.tone-instantFail{border-color:color-mix(in srgb, var(--neg-anger) 55%, var(--line))}.negotiate-choice.tone-unreasonable,.negotiate-choice.tone-impossible{border-style:dashed}.negotiate-fail{color:var(--neg-anger);margin:0 0 .5rem;font-size:.9rem}.negotiate-foe-gauges{flex-direction:column;gap:.55rem;margin-top:.4rem;display:flex}.neg-gauge .gauge-label{justify-content:space-between;gap:.35rem;font-size:.78rem;display:flex}.neg-gauge .gauge-track{position:relative;overflow:visible}.neg-gauge-progress .gauge-fill{background:var(--neg-progress)}.neg-gauge-anger .gauge-fill{background:var(--neg-anger)}.neg-gauge-pops{pointer-events:none;position:absolute;inset:0}.route-hints{flex-direction:column;gap:.35rem;margin-top:.15rem;display:flex}.route-line{grid-template-columns:3.2rem 1fr 2.4rem;align-items:center;gap:.35rem;font-size:.72rem;display:grid;position:relative}.route-line em{text-align:right;opacity:.85;font-style:normal}.gauge-track.thin{height:.4rem}.gauge-fill.route-honest{background:#7a8fb0}.gauge-fill.route-money{background:#b89a4a}.gauge-fill.route-lie{background:#8a6a9a}.stat-pop-label{opacity:.85;margin-left:.2rem;font-size:.7em}.tiny{font-size:.72rem;line-height:1.35}@media (width<=820px){.negotiate-grid{grid-template-columns:1fr;min-height:0}.negotiate-panel.player{flex-flow:wrap;order:2;align-items:center}.negotiate-panel.player .negotiate-face{width:4.5rem;height:4.5rem;max-height:none}.negotiate-panel.player .negotiate-stats{flex-flow:wrap;width:100%}.negotiate-panel.foe{order:1}.negotiate-center{order:3}.negotiate-face{max-height:9rem}}.gauge-block{margin:.5rem 0 .85rem}.gauge-label{margin-bottom:.35rem;font-size:.85rem}.gauge-track{border:1px solid var(--line);background:var(--bg2);height:.7rem;overflow:hidden}.gauge-fill{background:var(--accent);height:100%;transition:width .25s}.negotiate-log{border:1px solid var(--line);background:var(--bg1);flex-direction:column;justify-content:flex-end;max-height:10rem;margin:0 0 1rem;padding:.65rem;font-size:.85rem;list-style:none;display:flex;overflow:hidden}.negotiate-log li+li{margin-top:.35rem}.party-select{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;grid-template-columns:3rem 1fr;align-items:center;gap:.55rem;padding:0;display:grid}.party-select img,.party-select .avatar{object-fit:cover;width:3rem;height:3rem}.status-dock-portrait-btn{cursor:pointer;background:0 0;border:none;padding:0;position:relative;overflow:visible}.status-dock-portrait-btn .status-dock-portrait{z-index:1;display:block;position:relative}.portrait-fx{pointer-events:none;z-index:2;position:absolute;inset:-.35rem}.portrait-fx.sparkle{animation:2.2s ease-out both portrait-sparkle-glow}.portrait-fx.sparkle i{background:#fff8c8;border-radius:50%;width:.35rem;height:.35rem;animation:2.1s ease-out both portrait-sparkle-dot;position:absolute;box-shadow:0 0 6px 2px #fff096f2,0 0 12px 4px #ffd2508c}.portrait-fx.sparkle i:first-child{animation-delay:50ms;top:8%;left:18%}.portrait-fx.sparkle i:nth-child(2){width:.28rem;height:.28rem;animation-delay:.25s;top:22%;right:10%}.portrait-fx.sparkle i:nth-child(3){animation-delay:.4s;bottom:28%;left:6%}.portrait-fx.sparkle i:nth-child(4){width:.42rem;height:.42rem;animation-delay:.15s;bottom:12%;right:22%}.portrait-fx.sparkle i:nth-child(5){width:.22rem;height:.22rem;animation-delay:.55s;top:48%;left:42%}.portrait-fx.sparkle i:nth-child(6){animation-delay:.7s;top:5%;right:38%}.status-dock-portrait-btn.fx-sparkle .status-dock-portrait{animation:2.2s ease-out both portrait-sparkle-face;box-shadow:0 0 0 1px #ffdc78a6}.portrait-fx.dark{background:radial-gradient(circle at 50% 40%,#0000 35%,#1400288c 70%,#000000bf 100%);border-radius:2px;animation:2.2s ease-in-out both portrait-dark-pulse;box-shadow:0 0 14px 4px #280046bf,0 0 28px 8px #0a00198c,inset 0 0 18px #000000a6}.status-dock-portrait-btn.fx-dark .status-dock-portrait{filter:brightness(.55)saturate(.65)contrast(1.15);animation:2.2s ease-in-out both portrait-dark-face}@keyframes portrait-sparkle-glow{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes portrait-sparkle-dot{0%{opacity:0;transform:scale(.4)translateY(.2rem)}20%{opacity:1;transform:scale(1.2)translateY(0)}to{opacity:0;transform:scale(.6)translateY(-.85rem)}}@keyframes portrait-sparkle-face{0%,to{filter:brightness()}30%{filter:brightness(1.25)saturate(1.15)}}@keyframes portrait-dark-pulse{0%{opacity:0;transform:scale(.92)}20%{opacity:1;transform:scale(1.05)}55%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes portrait-dark-face{0%,to{filter:brightness()saturate()}25%,60%{filter:brightness(.5)saturate(.55)contrast(1.2)}}.detail-modal{z-index:50;background:#0000008c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.detail-panel{background:var(--bg1);border:1px solid var(--line);flex-direction:column;gap:.65rem;width:min(22rem,100%);padding:1rem;display:flex}.detail-face{object-fit:cover;border:1px solid var(--line);align-self:center;width:6rem;height:6rem}.detail-panel-wide{width:min(26rem,100%)}.detail-face-wide{aspect-ratio:16/10;object-fit:cover;align-self:stretch;width:min(100%,18rem);height:auto}.detail-stats{grid-template-columns:1fr 1fr;gap:.35rem .75rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.recall-row{flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;display:flex}.recall-method{color:var(--muted);flex:8rem;min-width:0;font-size:.72rem;line-height:1.4}.tod-icon{border:1px solid var(--line);background:var(--bg2);place-items:center;width:1.5rem;height:1.5rem;font-size:1rem;line-height:1;display:inline-grid}.tod-icon.sun{color:#c47a1a}.tod-icon.moon{color:#7a8fb5}.btn-sub{color:var(--muted);margin-top:.15rem;font-size:.72rem;font-weight:400;display:block}.status-dock-actions{flex-wrap:wrap;gap:.3rem;margin-left:auto;display:flex}.dock-btn{border:1px solid var(--line);background:var(--bg2);min-height:0;color:var(--fg);cursor:pointer;padding:.18rem .45rem;font-size:.68rem;line-height:1.2}.dock-btn:disabled{opacity:.45;cursor:not-allowed}.dock-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.status-dock-meta{margin-top:.1rem;font-size:.75rem}.status-dock-stats{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;font-size:.78rem;display:flex}.status-dock-stats .stat-chip{border:1px solid var(--line);background:var(--bg2);padding:.1rem .35rem;position:relative;overflow:visible}.status-dock-stats .stat-chip.money{color:var(--accent);border-color:var(--accent)}.stat-pop{z-index:5;letter-spacing:.02em;white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px #0000008c;font-size:.85rem;font-weight:800;position:absolute;top:0;left:50%;transform:translate(-50%)}.stat-pop.up{color:#ff3b3b;animation:1.25s ease-out forwards stat-pop-up}.stat-pop.down{color:#7ec8ff;animation:1.25s ease-out forwards stat-pop-down}@keyframes stat-pop-up{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-1.6rem)}}@keyframes stat-pop-down{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(1.6rem)}}.venue-list{gap:.75rem;display:grid}.venue-card{background:var(--bg1);border:1px solid var(--line);flex-direction:column;gap:.45rem;padding:.9rem 1rem;display:flex}.venue-card p{margin:0;font-size:.9rem;line-height:1.45}.venue-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.venue-head h3{margin:0}.power-tag{color:var(--accent);border:1px solid var(--line);white-space:nowrap;padding:.1rem .4rem;font-size:.75rem}.venue-faces{flex-wrap:wrap;gap:.35rem;display:flex}.venue-faces img{object-fit:cover;border:1px solid var(--line);width:2.4rem;height:2.4rem}.venue-faces img.gone{opacity:.35;filter:grayscale()}.play-invite-row{align-items:center;gap:.55rem;min-width:0;display:flex}.play-invite-face{object-fit:cover;border:1px solid var(--line);flex:none;width:2.4rem;height:2.4rem}.play-invite-face.avatar{background:var(--bg2);place-items:center;font-weight:700;display:grid}.trait-line{margin:.35rem 0 .15rem;font-size:.78rem;line-height:1.45}.atmosphere-day .status-dock{background:#ffffffeb;box-shadow:0 4px 16px #e87aa41f}.atmosphere-day .status-dock-block .text-window{box-shadow:0 4px 14px #e87aa41f}:root{--ui-btn:url(/art/ui-btn.webp);--ui-btn-hover:url(/art/ui-btn-hover.webp);--ui-btn-pressed:url(/art/ui-btn-pressed.webp);--ui-panel:url(/art/ui-panel.webp);--ui-window:url(/art/ui-window.webp);--ui-dock:url(/art/ui-dock.webp);--ui-tint:url(/art/ui-tint-night.webp)}.atmosphere-day{--ui-btn:url(/art/ui-btn-day.webp);--ui-btn-hover:url(/art/ui-btn-day-hover.webp);--ui-btn-pressed:url(/art/ui-btn-day.webp);--ui-panel:url(/art/ui-panel-day.webp);--ui-window:url(/art/ui-window-day.webp);--ui-dock:url(/art/ui-dock-day.webp);--ui-tint:url(/art/ui-tint-day.webp)}.app-shell:after{content:"";pointer-events:none;z-index:0;background-image:var(--ui-tint);opacity:.55;background-size:96px 96px;position:fixed;inset:0}.app-frame{z-index:1;position:relative}.ui-icon{object-fit:contain;image-rendering:auto;pointer-events:none;flex-shrink:0;width:1.35rem;height:1.35rem}.ui-icon.lg{width:1.75rem;height:1.75rem}button:not(.ghost):not(.inline):not(.dock-btn):not(.status-dock-portrait-btn):not(.bgm-toggle):not(.tod-icon){border:3px solid #0000;border-image-source:var(--ui-btn);background-color:#1a222a;border-image-slice:12;border-image-width:3px;border-image-repeat:stretch;border-radius:2px;transition:transform 80ms,filter .12s}button:not(.ghost):not(.inline):not(.dock-btn):not(.status-dock-portrait-btn):not(.bgm-toggle):hover:not(:disabled){border-image-source:var(--ui-btn-hover);filter:brightness(1.06)}button:not(.ghost):not(.inline):not(.dock-btn):not(.status-dock-portrait-btn):not(.bgm-toggle):active:not(:disabled){border-image-source:var(--ui-btn-pressed);transform:translateY(1px)}.atmosphere-day button:not(.ghost):not(.inline):not(.dock-btn):not(.status-dock-portrait-btn):not(.bgm-toggle){background-color:#fff8fb}.hub-main-menu button{background-color:#1a222a;background-image:var(--ui-panel);border:3px solid #0000;border-image-source:var(--ui-btn);background-repeat:no-repeat;background-size:100% 100%;border-image-slice:12;border-image-width:3px;border-image-repeat:stretch;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem .9rem}.atmosphere-day .hub-main-menu button{background-color:#fff8fb}.hub-main-menu .menu-btn-copy{flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.hub-main-menu button:hover{border-image-source:var(--ui-btn-hover)}.actions.stacked button,.dungeon-menu button,.battle-actions button:not(.ghost),.skill-menu button{align-items:center;gap:.45rem;display:inline-flex}.negotiate-choices button,.venue-list button{text-align:left;flex-direction:column;align-items:stretch;gap:.2rem;display:flex}.dialogue-box{border:4px solid #0000;border-image-source:var(--ui-window);background-color:#1a1e24;background-image:var(--ui-window);background-blend-mode:soft-light;background-size:100% 100%;border-image-slice:14 10 10;border-image-width:10px 4px 4px;border-image-repeat:stretch}.atmosphere-day .dialogue-box{background-color:#fff8fcf5}.hub-panel{border:3px solid #0000;border-image-source:var(--ui-panel);background-image:var(--ui-panel);background-blend-mode:soft-light;background-size:100% 100%;border-image-slice:12;border-image-width:3px}.status-dock{border:3px solid #0000;border-image-source:var(--ui-dock);background-image:var(--ui-dock);background-blend-mode:soft-light;background-size:100% 100%;border-image-slice:8 6 6;border-image-width:4px 3px 3px}.text-window{border:3px solid #0000;border-image-source:var(--ui-window);background-image:var(--ui-window);background-blend-mode:soft-light;background-size:100% 100%;border-image-slice:12 8 8;border-image-width:3px}.dock-btn{border:2px solid #0000;border-image-source:var(--ui-btn);background:color-mix(in srgb, var(--bg2) 80%, transparent);border-image-slice:12;border-image-width:2px;border-radius:2px;align-items:center;gap:.25rem;padding:.28rem .45rem;font-size:.72rem;display:inline-flex}.dock-btn .ui-icon{width:.95rem;height:.95rem}.atmosphere-day .dock-btn{color:#3a2430;background:#ffffffd9}.btn-with-icon{align-items:center;gap:.4rem;display:inline-flex}.scene-band{border:3px solid #0000;border-image-source:var(--ui-btn);background-position:50%;background-repeat:no-repeat;background-size:cover;border-image-slice:12;border-image-width:3px;width:100%;min-height:5.5rem;margin:0 0 .75rem;position:relative;overflow:hidden}.scene-band-veil{background:linear-gradient(180deg, transparent 15%, color-mix(in srgb, var(--bg0) 72%, transparent) 100%);flex-direction:column;justify-content:flex-end;padding:.65rem .85rem;display:flex;position:absolute;inset:0}.scene-band-veil h2{font-family:var(--font-display);color:var(--ink);text-shadow:0 1px 4px #000000a6;margin:0;font-size:1.15rem}.scene-band-veil p{color:color-mix(in srgb, var(--ink) 85%, transparent);margin:.15rem 0 0;font-size:.78rem}.atmosphere-day .scene-band-veil{background:linear-gradient(#0000 20%,#fff8fcd1 100%)}.atmosphere-day .scene-band-veil h2{color:#3a2430;text-shadow:0 1px #fff}.atmosphere-day .scene-band-veil p{color:#6a4050}.venue-list button{flex-direction:row;align-items:center;gap:.65rem}.venue-thumb{object-fit:cover;border:1px solid var(--line);background:var(--bg2);flex-shrink:0;width:3.4rem;height:2.15rem}.venue-list .menu-btn-copy{text-align:left;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;display:flex}.dispatch-list button{text-align:left;flex-direction:row;align-items:center;gap:.65rem;display:flex}.dispatch-list .menu-btn-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.rank-pill{letter-spacing:.06em;border:1px solid var(--accent);color:var(--accent);vertical-align:middle;margin-right:.4rem;padding:.05rem .35rem;font-size:.72rem;display:inline-block}.rank-pill.rank-c{color:#8b969f;border-color:#8b969f}.rank-pill.rank-b{color:#c4a35a;border-color:#c4a35a}.rank-pill.rank-a{color:#e87aa4;border-color:#e87aa4}.scene-band.floor-3,.scene-band.floor-4{filter:saturate(.85)brightness(.92)}.scene-band.floor-5{filter:saturate(.7)brightness(.82)hue-rotate(-8deg)}.negotiate-choices button.btn-with-icon{flex-direction:row;align-items:center;gap:.4rem}.negotiate-choices button:has(.ui-icon){flex-direction:row;align-items:center;gap:.4rem}.hub-panel .actions.stacked button:has(.menu-btn-copy){text-align:left;flex-direction:row;align-items:center;gap:.55rem;display:flex}.hub-panel .actions.stacked .menu-btn-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}:root{--ui-stamp:url(/art/ui-stamp.webp)}.atmosphere-day{--ui-stamp:url(/art/ui-stamp-day.webp)}button:not(.ghost):not(.inline):not(.status-dock-portrait-btn):not(.bgm-toggle):not(.tod-icon){position:relative;overflow:visible}button:not(.ghost):not(.inline):not(.dock-btn):not(.status-dock-portrait-btn):not(.bgm-toggle):active:not(:disabled):after{content:"";background:var(--ui-stamp) center / contain no-repeat;pointer-events:none;z-index:2;width:1.55rem;height:1.55rem;animation:.28s ease-out stamp-pop;position:absolute;top:-.35rem;right:-.15rem}@keyframes stamp-pop{0%{opacity:0;transform:scale(1.6)rotate(-12deg)}55%{opacity:1;transform:scale(1)rotate(-8deg)}to{opacity:.85;transform:scale(1)rotate(-8deg)}}.battle-stage.framed{position:relative}.battle-frame{object-fit:fill;pointer-events:none;z-index:2;opacity:.75;width:.85rem;height:100%;position:absolute;top:0;bottom:0}.battle-frame.left{left:0}.battle-frame.right{right:0;transform:scaleX(-1)}.battle-fx-layer{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.battle-fx{flex-direction:column;align-items:center;gap:.15rem;display:flex;position:absolute}.battle-fx img{object-fit:contain;filter:drop-shadow(0 0 6px #ffdc8c73);width:4.2rem;height:4.2rem}.battle-fx.side-enemy{top:28%;right:12%}.battle-fx.side-allies{top:30%;left:14%}.battle-fx.side-stage{top:40%;left:50%;transform:translate(-50%)}.battle-fx-slash{animation:.45s ease-out forwards fx-slash}.battle-fx-impact,.battle-fx-hurt{animation:.5s ease-out forwards fx-pop}.battle-fx-skill{animation:.55s ease-out forwards fx-spin-pop}.battle-fx-item{animation:.5s ease-out forwards fx-pop}.battle-fx-heal{animation:.65s ease-out forwards fx-float-up}.battle-fx-win,.battle-fx-lose{animation:.7s ease-out forwards fx-banner}.fx-dmg{font-family:var(--font-display);color:#ffe08a;text-shadow:0 1px #000,0 0 8px #c45c5c8c;font-size:1.35rem;font-weight:700;animation:.65s ease-out forwards fx-float-up}.fx-dmg.heal{color:#7ecf9a;text-shadow:0 1px #000,0 0 8px #3c8c5a80}.fx-banner{font-family:var(--font-display);letter-spacing:.2em;color:#e8c878;text-shadow:0 2px 10px #000c;background:#0a0c0eb8;border:2px solid #c4a35a;padding:.25rem .85rem;font-size:1.6rem}.fx-banner.lose{color:#e8a0a0;border-color:#c45c5c}@keyframes fx-slash{0%{opacity:0;transform:translate(-12px,10px)rotate(-25deg)scale(.6)}35%{opacity:1;transform:translate(0)rotate(0)scale(1.15)}to{opacity:0;transform:translate(10px,-8px)rotate(8deg)scale(1)}}@keyframes fx-pop{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(1)}}@keyframes fx-spin-pop{0%{opacity:0;transform:scale(.3)rotate(-40deg)}45%{opacity:1;transform:scale(1.25)rotate(10deg)}to{opacity:0;transform:scale(1)rotate(25deg)}}@keyframes fx-float-up{0%{opacity:0;transform:translateY(8px)}25%{opacity:1}to{opacity:0;transform:translateY(-28px)}}@keyframes fx-banner{0%{opacity:0;transform:scale(.7)}40%{opacity:1;transform:scale(1.08)}to{opacity:.9;transform:scale(1)}}.battle-stage.fx-shake{animation:.35s ease-out battle-shake}.battle-stage.fx-shake-hard{animation:.4s ease-out battle-shake-hard}.battle-stage.fx-flash-hit:before,.battle-stage.fx-flash-hurt:before,.battle-stage.fx-flash-heal:before,.battle-stage.fx-flash-win:before{content:"";z-index:2;pointer-events:none;animation:.35s ease-out battle-flash;position:absolute;inset:0}.battle-stage.fx-flash-hit:before{background:#ffe6a059}.battle-stage.fx-flash-hurt:before{background:#b4282866}.battle-stage.fx-flash-heal:before{background:#50b47847}.battle-stage.fx-flash-win:before{background:#dcbe6459}@keyframes battle-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes battle-shake-hard{0%,to{transform:translate(0)}15%{transform:translate(-6px,2px)}30%{transform:translate(6px,-2px)}45%{transform:translate(-5px,-1px)}60%{transform:translate(4px,2px)}75%{transform:translate(-2px)}}@keyframes battle-flash{0%{opacity:1}to{opacity:0}}.battle-stage.fx-shake .battle-side.foes .battle-actor,.battle-stage.fx-flash-hit .battle-side.foes .battle-actor{animation:.35s ease-out foe-hit}.battle-stage.fx-shake-hard .battle-side.allies .battle-actor,.battle-stage.fx-flash-hurt .battle-side.allies .battle-actor{animation:.4s ease-out ally-hit}@keyframes foe-hit{0%,to{filter:none;transform:translate(0)}30%{filter:brightness(1.8)saturate(.5);transform:translate(6px)}}@keyframes ally-hit{0%,to{filter:none;transform:translate(0)}30%{filter:brightness(.7)sepia(.4)hue-rotate(-20deg);transform:translate(-5px)}}.mood-tag{letter-spacing:.04em;font-size:.72rem}.mood-tag.mood-2,.mood-tag.mood-1{color:#7ecf9a;border-color:#7ecf9a}.mood-tag.mood--1,.mood-tag.mood--2{color:#e8a0a0;border-color:#c45c5c}.negotiate-face.mood-2,.negotiate-face.mood-1{filter:brightness(1.08)saturate(1.1)}.negotiate-face.mood--1,.negotiate-face.mood--2{filter:brightness(.85)saturate(.75)}.negotiate-choice.promise-trap{border-image-source:var(--ui-btn-hover);outline:1px solid var(--accent)}.contract-blurb{margin:0 0 .35rem}.neg-fx-ok .negotiate-panel.foe{animation:.45s ease-out neg-ok-flash}.neg-fx-anger .negotiate-panel.foe{animation:.4s ease-out neg-anger-shake}.neg-fx-fail .negotiate-panel.foe{animation:.5s ease-out neg-anger-shake}.neg-fx-ready .negotiate-center{animation:.6s ease-out neg-ready-glow}@keyframes neg-ok-flash{0%{box-shadow:inset 0 0 #0000}40%{box-shadow:inset 0 0 24px #c4a35a59}to{box-shadow:inset 0 0 #0000}}@keyframes neg-anger-shake{0%,to{filter:none;transform:translate(0)}25%{filter:brightness(.85)sepia(.3);transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}@keyframes neg-ready-glow{0%{outline:0 solid #0000}40%{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent)}to{outline:0 solid #0000}}.fx-actor{color:#e8ecef;text-shadow:0 1px 3px #000;letter-spacing:.04em;font-size:.68rem}.battle-auto-hint{opacity:.85;margin:.15rem 0 .45rem}.screen.battle-cinema{flex-direction:column;gap:.45rem;min-height:0;display:flex}.battle-cinema .battle-top{flex-shrink:0}.battle-field{border:1px solid var(--line);isolation:isolate;background-position:50%;background-size:cover;flex:auto;grid-template-rows:minmax(9rem,1.15fr) minmax(7.5rem,.95fr) auto;grid-template-columns:1fr;min-height:min(62vh,28rem);padding:.55rem .45rem .3rem;display:grid;position:relative;overflow:hidden}.battle-field.has-image:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(#080a0e1f 0%,#080a0e05 35%,#080a0e94 100%),radial-gradient(80% 45% at 50% 28%,#0000 25%,#00000052 100%);position:absolute;inset:0}.battle-foe-lane{z-index:2;grid-area:1/1;justify-content:center;align-items:flex-end;padding:.35rem .2rem .15rem;display:flex;position:relative}.battle-party-lane{z-index:2;flex-flow:wrap;grid-area:2/1;justify-content:center;align-items:flex-end;gap:.55rem .75rem;padding:.15rem .25rem .35rem;display:flex;position:relative}.battle-msg-window{z-index:4;border:2px solid color-mix(in srgb, var(--accent) 55%, #6a5a3a);background:linear-gradient(#0c0e12eb,#080a0ef5);grid-area:3/1;align-items:flex-start;gap:.35rem;min-height:3.1rem;margin:.15rem .1rem .1rem;padding:.55rem .75rem .5rem;display:flex;position:relative;box-shadow:inset 0 0 0 1px #fff0c81f}.battle-msg-window p{letter-spacing:.03em;text-shadow:0 1px 2px #000;flex:1;margin:0;font-size:.95rem;line-height:1.45}.battle-msg-cursor{opacity:.7;align-self:flex-end;animation:.9s step-end infinite msg-blink}@keyframes msg-blink{50%{opacity:0}}.battle-action-banner{z-index:5;pointer-events:none;background:linear-gradient(90deg,#0000,#000000b8,#0000);flex-direction:column;align-items:center;gap:.15rem;padding:.45rem 1.1rem;animation:.35s ease-out banner-in;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.battle-action-banner strong{letter-spacing:.08em;text-shadow:0 2px 6px #000,0 0 12px #c8a05059;font-size:1.05rem}.battle-action-banner span{font-variant-numeric:tabular-nums;color:#ffd78a;text-shadow:0 2px 4px #000;font-size:1.25rem}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-40%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.battle-cmd{flex-shrink:0}.battle-cmd.dim{opacity:.55}.battle-cinema.playing .battle-field{animation:2.4s ease-in-out infinite cinema-breathe}@keyframes cinema-breathe{0%,to{filter:brightness()}50%{filter:brightness(1.04)}}.battle-standee{color:inherit;font:inherit;cursor:default;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2rem;padding:0;transition:transform .28s,filter .28s;display:flex;position:relative}.battle-standee.tap{cursor:pointer}.battle-standee.tap:hover .standee-figure{filter:brightness(1.08)}.standee-figure{flex-direction:column;align-items:center;display:flex;position:relative}.battle-standee.human .standee-bust{z-index:2;background:#1a1c20;border:2px solid #e6dcbe73;border-radius:50% 50% 42% 42%;width:4.6rem;height:4.6rem;overflow:hidden;box-shadow:0 4px 14px #00000073}.battle-standee.size-hero.human .standee-bust{width:5.6rem;height:5.6rem}.standee-bust img{object-fit:cover;object-position:center 18%;width:100%;height:120%;display:block}.standee-body{z-index:1;width:3.2rem;height:3.6rem;margin-top:-.55rem;position:relative}.battle-standee.size-hero .standee-body{width:3.7rem;height:4.2rem}.standee-torso{background:linear-gradient(#3a3f48 0%,#22262c 55%,#1a1d22 100%);border-radius:1.1rem 1.1rem .55rem .55rem;width:2.35rem;height:2.1rem;position:absolute;top:.15rem;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff1f,0 3px 8px #0006}.battle-standee.gender-female .standee-torso{background:linear-gradient(#4a3a48 0%,#2c222a 55%,#1c161a 100%);border-radius:1.2rem 1.2rem .85rem .85rem;width:2.15rem}.battle-standee.size-hero .standee-torso{background:linear-gradient(#2c3038 0%,#16181c 60%,#0e1014 100%);width:2.7rem;height:2.4rem}.standee-arm{background:linear-gradient(#3a3f48,#1a1d22);border-radius:.4rem;width:.55rem;height:1.7rem;position:absolute;top:.35rem}.standee-arm.left{left:.05rem;transform:rotate(12deg)}.standee-arm.right{right:.05rem;transform:rotate(-12deg)}.battle-standee.gender-female .standee-arm{background:linear-gradient(#4a3a48,#1c161a)}.standee-legs{gap:.35rem;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.standee-legs i{background:linear-gradient(#2a2e36,#121418 70%,#0a0b0d);border-radius:.35rem .35rem .2rem .2rem;width:.7rem;height:1.45rem;display:block}.battle-standee.gender-female .standee-legs i{background:linear-gradient(#3a2a38,#1a1218 65%,#0c080c);border-radius:.2rem .2rem .55rem .55rem;width:.85rem;height:1.55rem}.standee-full{object-fit:contain;object-position:bottom center;filter:drop-shadow(0 8px 16px #0000008c);image-rendering:auto;width:7.5rem;height:9.2rem}.battle-standee.size-enemy .standee-full{width:min(11rem,42vw);height:min(13.5rem,48vw)}.battle-standee.size-ally.fullbody .standee-full{width:5.8rem;height:7.2rem}.standee-fallback{background:var(--bg2);border:1px solid var(--line);border-radius:50%;place-items:center;width:4.6rem;height:4.6rem;font-size:1.4rem;display:grid}.standee-hp{background:#0000008c;border:1px solid #ffffff26;border-radius:2px;width:4.4rem;height:.35rem;overflow:hidden}.battle-standee.size-enemy .standee-hp{width:6.5rem;height:.42rem}.standee-hp i{background:linear-gradient(90deg,#3a8a5a,#7ecf9a);height:100%;transition:width .45s ease-out;display:block}.standee-label{letter-spacing:.04em;text-shadow:0 1px 3px #000;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:6.5rem;font-size:.68rem;overflow:hidden}.battle-standee.acting{z-index:3;transform:translateY(-12px)scale(1.05)}.battle-standee.size-enemy.acting{transform:translateY(10px)scale(1.06)}.battle-standee.hurt .standee-figure{animation:.45s ease-out standee-hit}.battle-standee.dead{opacity:.35;filter:grayscale(.8)}.standee-lunge{pointer-events:none;border-radius:50%;animation:.6s ease-out lunge-glow;position:absolute;inset:-8%;box-shadow:0 0 18px #e8c87859}@keyframes standee-hit{0%,to{transform:translateY(0)}30%{filter:brightness(1.3);transform:translateY(-6px)}55%{transform:translateY(3px)}}@keyframes lunge-glow{0%{opacity:0;transform:scale(.85)}40%{opacity:1}to{opacity:0;transform:scale(1.1)}}.battle-field.hit-foe .battle-foe-lane .battle-standee,.battle-field.hit-party .battle-party-lane .battle-standee.size-hero{animation:.45s ease-out standee-hit}.battle-field.fx-shake{animation:.35s ease-out battle-shake}.battle-field.fx-shake-hard{animation:.4s ease-out battle-shake-hard}.battle-field.fx-flash-hit:before,.battle-field.fx-flash-hurt:before,.battle-field.fx-flash-heal:before,.battle-field.fx-flash-win:before{content:"";z-index:1;pointer-events:none;animation:.35s ease-out battle-flash;position:absolute;inset:0}.battle-field.fx-flash-hit:before{background:#ffdc8c38}.battle-field.fx-flash-hurt:before{background:#b4282847}.battle-field.fx-flash-heal:before{background:#50b47838}.battle-field.fx-flash-win:before{background:#ffe69647}.battle-fx.side-enemy{top:22%;left:50%;transform:translate(-50%)}.battle-fx.side-allies{top:58%;left:50%;transform:translate(-50%)}@media (width<=520px){.battle-field{grid-template-rows:minmax(8rem,1.1fr) minmax(6.8rem,.95fr) auto;min-height:56vh}.battle-standee.size-enemy .standee-full{width:min(9rem,46vw);height:min(10.5rem,50vw)}.battle-standee.size-hero.human .standee-bust{width:4.8rem;height:4.8rem}.battle-standee.human .standee-bust{width:3.9rem;height:3.9rem}.battle-party-lane{gap:.35rem .5rem}}.remodel-stock-btn.selected{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);background:color-mix(in srgb, var(--accent) 12%, var(--bg1))}.battle-foe-lane{flex-wrap:wrap;gap:.45rem .75rem}.battle-standee.targeted{outline:2px solid color-mix(in srgb, var(--accent) 85%, #fff);outline-offset:3px;filter:brightness(1.08)}.battle-standee.targeted .standee-label:before{content:"▶ ";color:var(--accent)}
