:root{
 --ink:#ecf8f2;--muted:#b9ccc4;--deep:#102e28;--deep2:#173f36;--panel:#173a33e8;--panel2:#f8f2dfed;
 --paper:#fbf7e8;--paperInk:#274039;--line:#ffffff20;--mint:#8fd2b3;--mint2:#ccebd9;--gold:#e7c56d;--gold2:#fff0aa;
 --rose:#d89bb2;--danger:#e58391;--blue:#8ec6df;--shadow:#0716128f;--radius:22px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0c241f;color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
body{overflow-x:hidden}button,input,select{font:inherit}.hidden{display:none!important}button{cursor:pointer;touch-action:manipulation}img{max-width:100%;display:block}.app{min-height:100vh}
.boot{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;text-align:center;gap:12px;background:radial-gradient(circle at 50% 28%,#285c4d,#0c241f 62%);transition:.6s opacity}.boot.hide{opacity:0;pointer-events:none}.boot-mark{width:86px;height:86px;object-fit:contain;margin:auto;filter:drop-shadow(0 0 22px #d8f5d766)}.boot-title{font-size:clamp(27px,5vw,46px);font-weight:1000;letter-spacing:.1em}.boot-sub{color:#c8dcd2}.boot-line{width:min(360px,70vw);height:4px;border-radius:9px;background:#ffffff1e;overflow:hidden}.boot-line i{display:block;height:100%;width:48%;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:load 1.3s infinite}@keyframes load{from{transform:translateX(-110%)}to{transform:translateX(250%)}}
.topbar{position:sticky;top:0;z-index:50;min-height:66px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px clamp(10px,2vw,24px);background:linear-gradient(180deg,#102e28f6,#102e28e8);border-bottom:1px solid #ffffff18;backdrop-filter:blur(12px);box-shadow:0 8px 28px #0005}.brand{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:8px;font-weight:1000;letter-spacing:.05em}.brand img{width:34px;height:34px;object-fit:contain}.hud{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.hud-chip{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #ffffff18;border-radius:999px;background:#ffffff0c;font-size:12px;white-space:nowrap}.hud-chip img{width:20px;height:20px;object-fit:contain}.hud-chip b{color:var(--gold2)}.top-actions{display:flex;gap:6px}.icon-button{width:42px;height:42px;border:1px solid #ffffff1f;border-radius:12px;color:#fff;background:#ffffff0c;font-size:20px}.icon-button:hover{background:#ffffff19}
.screen{min-height:calc(100vh - 66px)}.scene{position:relative;min-height:calc(100vh - 66px);background-position:center;background-size:cover;background-attachment:fixed;overflow:hidden}.scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a211dd9 0%,#102c2675 42%,#102c2670 63%,#081d19d7 100%);pointer-events:none}.scene.light:before{background:linear-gradient(90deg,#102a2499,#102a2438 45%,#102a2450 70%,#0c201cbb)}.scene-content{position:relative;z-index:2;max-width:1460px;margin:auto;padding:clamp(12px,2vw,28px)}
.panel{background:linear-gradient(180deg,#173b35ec,#102e29ec);border:1px solid #ffffff1f;border-radius:var(--radius);box-shadow:0 18px 50px var(--shadow);backdrop-filter:blur(10px)}.paper{background:linear-gradient(180deg,#fffaf0f3,#f4ecd8f2);color:var(--paperInk);border:1px solid #fff9;border-radius:var(--radius);box-shadow:0 18px 50px #07161255}.pad{padding:clamp(13px,2vw,24px)}
.kicker{font-size:12px;letter-spacing:.16em;color:var(--gold2);font-weight:900;text-transform:uppercase}.headline{font-size:clamp(27px,4vw,52px);line-height:1.1;margin:7px 0 10px;font-weight:1000;letter-spacing:.03em}.subhead{font-size:clamp(20px,2.5vw,30px);margin:0 0 10px}.muted{color:var(--muted)}.paper .muted{color:#697c75}.small{font-size:12px;line-height:1.55}.tiny{font-size:11px}.gold{color:var(--gold2)}.danger{color:#ffb0ba}.success{color:#b9f0c8}.center{text-align:center}
.btn{border:1px solid #ffffff24;color:#fff;background:linear-gradient(180deg,#35695a,#244e43);padding:10px 15px;border-radius:13px;font-weight:900;box-shadow:0 5px 14px #0003;transition:.16s transform,.16s filter,.16s background;min-height:42px}.btn:hover{transform:translateY(-1px);filter:brightness(1.09)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;filter:grayscale(.4);cursor:not-allowed;transform:none}.btn.gold-btn{background:linear-gradient(#d7b150,#9b762b);color:#fff8de}.btn.paper-btn{background:linear-gradient(#fffaf0,#eadfc3);color:#304b43;border-color:#c9b88e}.btn.rose-btn{background:linear-gradient(#b76c8d,#874d68)}.btn.dark-btn{background:linear-gradient(#213d38,#122723)}.btn.ghost{background:#ffffff0a}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn.wide{min-width:190px}.btn.big{font-size:16px;padding:13px 20px}.btn.iconic{display:flex;gap:8px;align-items:center}.btn.iconic img{width:28px;height:28px;object-fit:contain}
.title-scene{min-height:100vh;background-size:cover;background-position:center;display:grid;place-items:center;position:relative}.title-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071b18d9,#0c241f45 46%,#071b18b0),linear-gradient(0deg,#071b18b8,transparent 45%)}.title-card{position:relative;z-index:2;width:min(720px,92vw);padding:clamp(20px,4vw,44px);text-align:center}.title-logo{width:min(600px,88%);margin:0 auto 4px;filter:drop-shadow(0 8px 16px #0008)}.title-flower{width:70px;height:70px;object-fit:contain;margin:0 auto 12px}.title-sub{font-size:clamp(14px,2vw,19px);letter-spacing:.16em;color:#fff1b7;font-weight:900;margin:4px 0 22px;text-shadow:0 2px 7px #000}.title-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px auto;max-width:620px}.title-note{font-size:11px;color:#d0e1d9;opacity:.9;line-height:1.7}.version{position:absolute;right:13px;bottom:10px;color:#ffffff88;font-size:11px}
.shop-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px}.shop-hero{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);min-height:520px;overflow:hidden}.claris-figure{position:relative;min-height:470px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.claris-figure:after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:22%;background:radial-gradient(ellipse,#90d1ae55,transparent 68%)}.claris-figure img{height:min(70vh,690px);width:auto;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 18px #0006);position:relative;z-index:2}.shop-copy{padding:clamp(15px,2.3vw,28px);display:flex;flex-direction:column;justify-content:center}.day-title{font-size:clamp(26px,4vw,46px);font-weight:1000}.route-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffffff22;border-radius:999px;width:max-content;margin:7px 0;background:#ffffff0c}.route-dot{width:9px;height:9px;border-radius:50%;background:var(--gold)}.route-pill.good .route-dot{background:#91e3a8}.route-pill.dark .route-dot{background:#d57eae}.route-bars{display:grid;gap:7px;margin:12px 0}.metric{display:grid;grid-template-columns:54px 1fr 34px;gap:7px;align-items:center;font-size:12px}.meter{height:8px;border-radius:20px;background:#ffffff17;overflow:hidden}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--gold))}.metric.greed .meter i{background:linear-gradient(90deg,#9b5a82,#df8dac)}.metric.harm .meter i{background:linear-gradient(90deg,#a95363,#f2929f)}
.patient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.patient-card{position:relative;display:grid;grid-template-columns:94px 1fr;gap:10px;min-height:128px;border:1px solid #ffffff1c;border-radius:17px;background:#ffffff0b;padding:9px;transition:.15s}.patient-card:hover{background:#ffffff13;transform:translateY(-1px)}.patient-card.done{opacity:.46;filter:saturate(.5)}.patient-card img{width:94px;height:110px;object-fit:cover;object-position:top center;border-radius:12px;background:#d8e8df}.patient-card .name{font-size:16px;font-weight:1000}.patient-card .role{font-size:11px;color:#c7d9d1}.patient-card .sym{font-size:12px;margin-top:5px;line-height:1.5}.patient-card .badge{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:#ffffff12;font-size:10px}.patient-card button{position:absolute;inset:0;border:0;background:transparent}.daily-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.status-stack{display:grid;gap:12px}.status-card h3{margin:0 0 8px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.quick{display:flex;align-items:center;gap:8px;padding:9px;border-radius:13px;background:#ffffff0b;border:1px solid #ffffff17}.quick img{width:34px;height:34px;object-fit:contain}.quick b{font-size:13px}.quick span{display:block;font-size:10px;color:var(--muted)}
.consult-layout{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:14px;align-items:stretch}.portrait-stage{min-height:620px;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.portrait-stage .patient-portrait{height:min(77vh,760px);width:auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 20px #0008)}.consult-box{align-self:center}.speech{padding:15px;border-left:4px solid var(--gold);background:#ffffff0b;border-radius:0 15px 15px 0;line-height:1.8;margin:10px 0}.question-grid{display:grid;gap:8px;margin:12px 0}.question{display:grid;grid-template-columns:auto 1fr;gap:9px;text-align:left}.question.done{opacity:.62}.question .qnum{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ffffff16}.diagnosis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.diag-card{padding:10px;border-radius:13px;background:#ffffff0c;border:1px solid #ffffff17}.diag-card .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.tag{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;background:#ffffff12}.tag.good{background:#3c7954}.tag.warn{background:#8b5667}.tag.gold{background:#7f6830}
.dungeon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dungeon-card{position:relative;min-height:310px;border-radius:20px;overflow:hidden;border:1px solid #ffffff20;box-shadow:0 14px 32px #0004;background:#132c27}.dungeon-card .art{position:absolute;inset:0}.dungeon-card .art img{width:100%;height:100%;object-fit:cover}.dungeon-card .shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b211ff5 0%,#0b211fbd 38%,#0b211f2e 75%)}.dungeon-card .info{position:absolute;inset:auto 0 0;padding:15px;z-index:2}.dungeon-card h3{margin:0 0 5px}.dungeon-card.locked{filter:grayscale(.7) brightness(.65)}.dungeon-card .lock{position:absolute;inset:0;display:grid;place-items:center;font-size:42px;z-index:3}.boss-chip{display:inline-flex;gap:5px;padding:4px 7px;border-radius:999px;background:#0007;font-size:10px}
.explore-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:12px}.explore-view{position:relative;min-height:620px;overflow:hidden}.explore-bg{position:absolute;inset:0}.explore-bg img{width:100%;height:100%;object-fit:cover}.explore-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#091d19d4,#0b201a38 60%,#07181477)}.explore-char{position:absolute;left:4%;bottom:2%;height:50%;filter:drop-shadow(0 14px 18px #0008);z-index:2}.explore-caption{position:absolute;left:18px;right:18px;bottom:18px;z-index:3;padding:12px 15px;border-radius:15px;background:#0a211dd9;border:1px solid #ffffff1e;backdrop-filter:blur(8px)}.run-side{display:grid;gap:10px;align-content:start}.loot-list{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.loot-icon{position:relative;border:1px solid #ffffff17;border-radius:10px;background:#ffffff0a;aspect-ratio:1;display:grid;place-items:center}.loot-icon img{width:80%;height:80%;object-fit:contain}.loot-icon b{position:absolute;right:3px;bottom:2px;font-size:10px;background:#000b;border-radius:8px;padding:1px 4px}.branch-map{display:grid;grid-template-rows:repeat(5,52px);gap:5px;position:relative}.map-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.map-node{position:relative;border:1px solid #ffffff17;border-radius:11px;background:#ffffff08;display:grid;place-items:center;transition:.15s}.map-node img{width:31px;height:31px;object-fit:contain}.map-node.allowed{box-shadow:0 0 0 2px #e6ce73 inset,0 0 20px #e6ce7333;background:#ffffff13}.map-node.current{background:#49856c;border-color:#b3e0c4}.map-node.past{opacity:.4}.map-node button{position:absolute;inset:0;background:transparent;border:0}.map-node .node-label{position:absolute;right:3px;bottom:2px;font-size:8px;color:#fff9}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.run-stat{padding:7px;border-radius:10px;background:#ffffff0b;border:1px solid #ffffff16;text-align:center;font-size:10px}.run-stat b{font-size:14px;display:block}
.battle-scene{min-height:calc(100vh - 66px);position:relative;background-size:cover;background-position:center;overflow:hidden}.battle-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#071b18c7,#071b1830 45%,#071b1830 58%,#071b18ce)}.battle-grid{position:relative;z-index:2;max-width:1380px;margin:auto;padding:18px;display:grid;grid-template-columns:.8fr 1.35fr .8fr;gap:14px;align-items:center;min-height:calc(100vh - 66px)}.fighter{min-height:500px;display:flex;flex-direction:column;justify-content:end;align-items:center}.fighter img.art{max-height:62vh;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 24px #000b)}.fighter.enemy img.art{max-height:54vh}.fighter-card{width:100%;padding:9px 11px;border-radius:14px;background:#0a211ddd;border:1px solid #ffffff1d}.hpbar{height:12px;border-radius:30px;background:#2d3b38;overflow:hidden;margin-top:5px}.hpbar i{display:block;height:100%;background:linear-gradient(90deg,#70c997,#b6edb5);transition:.25s width}.enemy .hpbar i{background:linear-gradient(90deg,#c35e6d,#f3a065)}.tuning-panel{padding:14px}.tuning-title{text-align:center;font-size:18px;font-weight:1000;margin-bottom:6px}.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.reel{position:relative;aspect-ratio:1;border-radius:20px;border:2px solid #dac067;background:radial-gradient(circle,#2a5147,#102b26);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 28px #0008,0 0 20px #d7bd6630}.reel img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}.reel.spinning img{animation:pulseSpin .16s infinite alternate}@keyframes pulseSpin{from{transform:scale(.88) rotate(-5deg)}to{transform:scale(1.04) rotate(5deg)}}.stop-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.battle-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.battle-log{height:118px;overflow:auto;margin-top:8px;padding:9px;border-radius:12px;background:#071b18c9;border:1px solid #ffffff13;font-size:11px;line-height:1.55}.special-badge{text-align:center;min-height:28px;color:var(--gold2);font-weight:1000}
.brew-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px}.material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:68vh;overflow:auto;padding-right:4px}.material-card{position:relative;padding:8px;border:1px solid #ffffff18;border-radius:14px;background:#ffffff09;min-height:158px}.material-card.selected{box-shadow:0 0 0 2px var(--gold) inset;background:#ffffff13}.material-card.disabled{opacity:.34}.material-card img{width:70px;height:70px;object-fit:contain;margin:auto}.material-card .mat-name{text-align:center;font-size:12px;font-weight:900}.material-card .count{position:absolute;right:5px;top:5px;font-size:9px;background:#0009;padding:2px 5px;border-radius:8px}.material-card button{position:absolute;inset:0;background:transparent;border:0}.effect-lines{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:5px}.effect-pill{font-size:9px;padding:2px 5px;border-radius:9px;background:#376d59}.risk-pill{background:#785064}.prescription-side{display:grid;gap:9px;align-content:start}.need-grid{display:grid;gap:5px}.need-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:6px 8px;border-radius:10px;background:#ffffff0a}.need-line.ok{background:#315f48}.need-line.bad{background:#6d444c}.price-box{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.price-box input{width:100%;accent-color:#d7bd66}.candidate-list{display:grid;gap:7px}.candidate{display:grid;grid-template-columns:68px 1fr auto;gap:8px;align-items:center;padding:7px;border-radius:13px;border:1px solid #ffffff18;background:#ffffff0a}.candidate img{width:68px;height:68px;object-fit:contain}.candidate.good{box-shadow:0 0 0 1px #87d4a2 inset}.candidate.bad{box-shadow:0 0 0 1px #c76c78 inset}
.town-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.town-place{position:relative;min-height:260px;border-radius:18px;overflow:hidden;border:1px solid #ffffff1e}.town-place img{width:100%;height:100%;object-fit:cover}.town-place:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#081c18e8,transparent 65%)}.town-place .place-info{position:absolute;left:0;right:0;bottom:0;padding:12px;z-index:2}.shop-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.item-card{padding:8px;border-radius:14px;background:#ffffff0a;border:1px solid #ffffff17;text-align:center}.item-card img{width:92px;height:92px;object-fit:contain;margin:auto}.item-card h4{margin:5px 0 3px;font-size:12px}.item-card .statline{font-size:9px;color:var(--muted);min-height:28px}.item-card .btn{width:100%;padding:7px 5px;font-size:11px}
.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.facility{padding:11px;border-radius:16px;background:#ffffff0b;border:1px solid #ffffff17}.facility img{height:100px;width:100%;object-fit:cover;border-radius:11px;margin-bottom:7px}.facility h3{font-size:14px;margin:0 0 5px}.levels{display:flex;gap:3px}.levels i{width:22px;height:5px;border-radius:5px;background:#ffffff1d}.levels i.on{background:var(--gold)}
.tabs{display:flex;gap:6px;overflow:auto;padding-bottom:6px;margin-bottom:10px}.tab{white-space:nowrap}.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.collection-card{padding:6px;border-radius:12px;background:#ffffff09;border:1px solid #ffffff14;min-height:120px;text-align:center}.collection-card img{width:82px;height:82px;object-fit:contain;margin:auto}.collection-card.bg img,.collection-card.cg img{width:100%;height:95px;object-fit:cover;border-radius:8px}.collection-card .nm{font-size:10px;line-height:1.35;margin-top:4px}.collection-card.locked img{filter:brightness(.12) grayscale(1)}
.gallery-scene{min-height:100vh;background:#0d2822}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.gallery-card{background:#15352f;border:1px solid #ffffff17;border-radius:13px;overflow:hidden}.gallery-card .gimg{aspect-ratio:16/11;background:#0a211d;display:grid;place-items:center;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:contain}.gallery-card .gtext{padding:7px}.gallery-card .gtitle{font-size:10px;font-weight:900;line-height:1.35}.gallery-card .gid{font-size:9px;color:#9fb8ae}.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:12px}
.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.setting{padding:12px;border-radius:14px;background:#ffffff0a;border:1px solid #ffffff17}.setting label{display:flex;justify-content:space-between;gap:8px}.setting input[type=range]{width:100%;accent-color:var(--gold)}.toggle{display:flex;align-items:center;gap:8px}.toggle input{width:18px;height:18px;accent-color:#74b990}
.result-hero{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:14px;align-items:center}.result-hero img.main{max-height:70vh;object-fit:contain;margin:auto}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.result-stat{padding:8px;border-radius:12px;background:#ffffff0b;text-align:center}.result-stat b{font-size:20px;display:block}.ending-wrap{min-height:100vh;background-size:cover;background-position:center;position:relative;display:grid;place-items:end center}.ending-wrap:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071b18ec 0 24%,transparent 68%)}.ending-card{position:relative;z-index:2;width:min(1050px,94vw);margin:20px;padding:20px;text-align:center}.ending-card h1{font-size:clamp(28px,5vw,58px);margin:4px}.ending-card p{line-height:1.8;max-width:830px;margin:10px auto}.credit-roll{max-height:38vh;overflow:auto;line-height:1.9;font-size:12px}
.modal-root{position:fixed;inset:0;z-index:200;pointer-events:none}.modal-backdrop{position:absolute;inset:0;background:#061713d9;display:grid;place-items:center;padding:14px;pointer-events:auto;backdrop-filter:blur(5px)}.modal{position:relative;width:min(860px,96vw);max-height:92vh;overflow:auto;border-radius:22px;background:linear-gradient(180deg,#1a4138,#0e2b25);border:1px solid #ffffff24;box-shadow:0 26px 80px #000c}.modal-media{height:min(52vh,450px);background:#071b18;position:relative;overflow:hidden}.modal-media img{width:100%;height:100%;object-fit:cover}.modal-media.contain img{object-fit:contain}.modal-media:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0e2b25)}.modal-body{padding:16px}.modal-close{position:absolute;right:10px;top:10px;z-index:4;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff2b;background:#0b211dbd;color:#fff;font-size:18px}.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.modal h2{margin:0 0 7px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reward{padding:9px;border-radius:12px;background:#ffffff0a;border:1px solid #ffffff14;text-align:center}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);z-index:500;max-width:min(680px,90vw);background:#071b18e8;border:1px solid #ffffff29;border-radius:13px;padding:10px 14px;box-shadow:0 10px 35px #000a;opacity:0;pointer-events:none;transition:.22s;line-height:1.5;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.fx-layer{position:fixed;inset:0;z-index:180;pointer-events:none;overflow:hidden}.fx-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:fx .72s ease-out forwards;mix-blend-mode:screen}@keyframes fx{0%{opacity:0;transform:scale(.92)}35%{opacity:.88}100%{opacity:0;transform:scale(1.08)}}.floating-damage{position:fixed;z-index:190;font-size:34px;font-weight:1000;color:#fff1a4;text-shadow:0 3px 12px #000;animation:floatDmg 1s forwards}@keyframes floatDmg{from{opacity:0;transform:translateY(15px) scale(.7)}20%{opacity:1}to{opacity:0;transform:translateY(-65px) scale(1.12)}}
@media(max-width:1100px){.shop-layout,.explore-layout,.brew-layout{grid-template-columns:1fr}.status-stack{grid-template-columns:repeat(2,1fr)}.dungeon-grid{grid-template-columns:repeat(2,1fr)}.battle-grid{grid-template-columns:.68fr 1.25fr .68fr}.material-grid{grid-template-columns:repeat(5,1fr)}.town-grid,.facility-grid{grid-template-columns:repeat(2,1fr)}.collection-grid{grid-template-columns:repeat(5,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.topbar{grid-template-columns:auto 1fr auto}.brand span{display:none}.hud{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.hud-chip:nth-child(n+6){display:none}.scene-content{padding:10px}.shop-hero{grid-template-columns:1fr;min-height:0}.claris-figure{min-height:330px}.claris-figure img{height:360px}.patient-list{grid-template-columns:1fr}.shop-layout,.consult-layout,.result-hero{grid-template-columns:1fr}.portrait-stage{min-height:430px}.portrait-stage .patient-portrait{height:430px}.dungeon-grid{grid-template-columns:1fr}.battle-grid{grid-template-columns:1fr 1.25fr 1fr;gap:5px;padding:7px}.fighter{min-height:330px}.fighter-card{font-size:9px}.fighter img.art{max-height:35vh}.tuning-panel{padding:8px}.battle-actions{grid-template-columns:1fr}.material-grid{grid-template-columns:repeat(3,1fr);max-height:none}.prescription-side{order:-1}.town-grid,.facility-grid{grid-template-columns:1fr 1fr}.shop-items{grid-template-columns:repeat(2,1fr)}.collection-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.status-stack{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.title-buttons{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}}
@media(max-width:480px){.patient-card{grid-template-columns:78px 1fr}.patient-card img{width:78px;height:98px}.daily-actions{grid-template-columns:1fr}.material-grid{grid-template-columns:repeat(2,1fr)}.town-grid,.facility-grid{grid-template-columns:1fr}.collection-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.battle-grid{grid-template-columns:.7fr 1.4fr .7fr}.fighter img.art{max-height:29vh}.reels{gap:3px}.reel{border-radius:12px}.stop-row{gap:3px}.btn{padding:8px 10px}}

/* ===== COMPLETE v1.1 SYSTEM REBUILD ===== */
/* Equipment tabs */
.equipped-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.equipped-slot{min-height:92px;border:1px solid #ffffff20;background:#ffffff0b;color:#fff;border-radius:15px;padding:8px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto 1fr;gap:2px 8px;text-align:left;align-items:center}.equipped-slot:hover,.equipped-slot.active{box-shadow:0 0 0 2px var(--gold) inset;background:#ffffff14}.equipped-slot span{grid-column:1/-1;font-size:10px;color:var(--gold2);font-weight:900}.equipped-slot img{grid-row:2;width:54px;height:54px;object-fit:contain}.equipped-slot b{font-size:11px;line-height:1.35}.equip-tabs{margin-top:10px}.equip-card{position:relative;display:flex;flex-direction:column;min-height:245px}.equip-card .tier{position:absolute;left:7px;top:7px;padding:2px 6px;border-radius:8px;background:#0b211dcc;color:var(--gold2);font-size:9px;font-weight:900}.equip-card .equip-special{font-size:10px;line-height:1.45;padding:7px;margin:6px 0;background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px;color:#d9eee4;min-height:44px}.equip-card .btn{margin-top:auto}

/* Alchemy conversation */
.brew-v11{display:grid;gap:10px}.brew-dialogue{min-height:250px;display:grid;grid-template-columns:minmax(170px,.72fr) minmax(300px,1.6fr) minmax(170px,.72fr);align-items:end;overflow:hidden;padding:10px 16px;background:linear-gradient(180deg,#173b35f4,#102e29f4)}.brew-actor{height:230px;display:flex;flex-direction:column;align-items:center;justify-content:end;transition:.25s;filter:drop-shadow(0 10px 14px #0007)}.brew-actor img{max-height:205px;width:100%;object-fit:contain;object-position:center bottom}.brew-actor span{font-size:11px;font-weight:1000;background:#071b18bb;padding:3px 9px;border-radius:999px;margin-top:-3px;z-index:2}.brew-talk-stack{align-self:center;display:grid;min-height:150px;align-content:center;position:relative}.talk-turn{grid-area:1/1;padding:18px 20px;border-radius:20px;line-height:1.8;font-weight:800;border:1px solid #ffffff20;box-shadow:0 12px 28px #0004;animation:talkSwap 8s infinite}.patient-turn{background:#f7f0dd;color:#31463f;transform-origin:left bottom}.claris-turn{background:#214c41;color:#f3fff9;animation-delay:-4s;transform-origin:right bottom}.patient-actor{animation:actorPatient 8s infinite}.claris-actor{animation:actorClaris 8s infinite}.patient-actor img{object-position:center top}.claris-actor img{object-position:center bottom}@keyframes talkSwap{0%,42%{opacity:1;transform:translateY(-4px) scale(1.01)}50%,92%{opacity:.08;transform:translateY(0) scale(.98)}100%{opacity:1}}@keyframes actorPatient{0%,42%{opacity:1;transform:translateY(-4px) scale(1.02)}50%,92%{opacity:.35;transform:none}100%{opacity:1}}@keyframes actorClaris{0%,42%{opacity:.35;transform:none}50%,92%{opacity:1;transform:translateY(-4px) scale(1.02)}100%{opacity:.35}}
.magic-panel{border-color:#d8c06b66}.magic-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.magic-title h3{margin:0}.magic-title b{font-size:11px;color:var(--gold2)}.magic-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(140px,1.5fr) 48px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #ffffff10}.magic-row b{display:block;font-size:12px}.magic-row small{display:block;font-size:9px;color:var(--muted);line-height:1.35}.magic-row input{width:100%;accent-color:var(--gold)}.magic-row strong{text-align:right;color:var(--gold2);font-size:12px}.magic-presets{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.magic-presets .btn{padding:6px 9px;font-size:10px;min-height:32px}

/* Exploration: hidden-path 5-floor crawl */
.explore-v11{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);grid-template-areas:"main side" "command side";gap:12px}.explore-main{grid-area:main;position:relative;min-height:480px;overflow:hidden}.explore-command{grid-area:command}.explore-side-v11{grid-area:side;display:grid;gap:10px;align-content:start}.depth-badge{position:absolute;z-index:4;left:14px;top:14px;background:#071b18d9;border:1px solid #ffffff28;border-radius:999px;padding:7px 12px;font-size:11px}.depth-badge b{color:var(--gold2);font-size:15px}.route-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.route-choice{min-height:150px;border:1px solid #ffffff24;border-radius:18px;background:linear-gradient(180deg,#285749,#173a32);color:#fff;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 0 26px #0004,0 8px 20px #0003;transition:.18s}.route-choice:hover{transform:translateY(-3px);box-shadow:inset 0 0 34px #d9c26c18,0 12px 25px #0005;border-color:#d9c26c88}.route-arrow{font-size:32px;color:var(--gold2);font-weight:1000}.route-choice b{font-size:15px}.route-choice small{font-size:10px;line-height:1.45;color:#d8e9e1;text-align:center}.route-choice em{font-size:8px;color:#ffffff70;font-style:normal}.floor-gate{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;background:#ffffff08;border:1px solid #ffffff18;border-radius:17px;padding:12px}.floor-gate img{width:140px;height:140px;object-fit:contain}.floor-gate h2{margin:2px 0}.floor-gate p{font-size:12px;line-height:1.7;color:var(--muted)}.floor-progress{height:8px;background:#ffffff15;border-radius:999px;overflow:hidden;margin:6px 0 10px}.floor-progress-fill{height:100%;background:linear-gradient(90deg,var(--mint),var(--gold));border-radius:inherit;transition:.3s}.trail-map{display:grid;gap:6px}.trail-floor{display:grid;grid-template-columns:35px 1fr;align-items:center;padding:6px 7px;border-radius:10px;background:#ffffff07;border:1px solid transparent}.trail-floor.active{border-color:#d8c06b66;background:#ffffff0e}.trail-floor.done{opacity:.7}.trail-floor b{font-size:11px}.trail-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.trail-dot{height:26px;display:grid;place-items:center;border-radius:8px;background:#071b1866;color:#ffffff30;font-weight:1000}.trail-dot.passed{background:#376c58;color:var(--gold2)}

/* Battle: enemy center, Claris right, reels at bottom */
.battle-v11:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#061713e8 0 34%,transparent 67%),linear-gradient(90deg,#071b1880,transparent 32%,transparent 70%,#071b18a6)}.battle-stage{position:relative;z-index:2;min-height:calc(100vh - 66px);max-width:1450px;margin:auto;padding:12px 16px 330px}.enemy-center{position:absolute;left:50%;top:5%;transform:translateX(-50%);width:min(52vw,650px);height:58vh;display:flex;flex-direction:column;align-items:center;justify-content:end}.enemy-art{max-height:47vh;max-width:95%;object-fit:contain;filter:drop-shadow(0 18px 20px #000b)}.enemy-card{width:min(520px,90%);position:absolute;top:0;z-index:3}.claris-right{position:absolute;right:2%;top:14%;width:min(27vw,360px);height:51vh;display:flex;flex-direction:column;justify-content:end;align-items:center}.claris-battle-art{max-height:42vh;max-width:100%;object-fit:contain;filter:drop-shadow(0 16px 18px #0009)}.claris-right .fighter-card{width:100%}.tuning-console{position:absolute;left:16px;right:16px;bottom:12px;min-height:300px;padding:12px 14px;display:grid;grid-template-columns:260px minmax(330px,1fr) minmax(330px,1fr);grid-template-rows:auto auto auto;gap:8px 14px;align-items:center}.tuning-head{grid-column:1;grid-row:1/4;align-self:stretch;padding-right:12px;border-right:1px solid #ffffff18;display:flex;flex-direction:column;justify-content:center}.tuning-head>b{font-size:24px}.slot-row{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-window{height:112px;border-radius:16px;border:2px solid #d6b958;background:radial-gradient(circle,#305e50,#102b26);overflow:hidden;position:relative;box-shadow:inset 0 0 26px #0009,0 0 18px #d7bd6622}.slot-symbol{height:108px;position:relative;display:grid;place-items:center}.slot-symbol img{height:86px;width:86px;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}.slot-symbol span{position:absolute;right:8px;bottom:7px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f7e8a9;color:#1d342d;border:2px solid #fff7d0;font-size:17px;font-weight:1000;box-shadow:0 3px 8px #0008}.slot-strip{position:absolute;left:0;right:0;top:-648px;animation:slotScroll var(--spinDur,.55s) linear infinite}.slot-window.spinning:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#071b18bb,transparent 22%,transparent 78%,#071b18bb)}@keyframes slotScroll{from{transform:translateY(0)}to{transform:translateY(648px)}}.stop-row{grid-column:2;grid-row:2}.stop-btn{font-size:12px}.battle-actions-v11{grid-column:3;grid-row:1/3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.battle-actions-v11 .btn{font-size:11px;padding:7px 8px}.battle-log{grid-column:2/4;grid-row:3;max-height:76px;min-height:62px}.special-badge{min-height:28px;color:#fff0a8;font-weight:900;margin-top:8px}

@media(max-width:1050px){.equipped-strip{grid-template-columns:repeat(2,1fr)}.brew-dialogue{grid-template-columns:150px 1fr 150px}.explore-v11{grid-template-columns:1fr;grid-template-areas:"main" "command" "side"}.explore-side-v11{grid-template-columns:repeat(3,1fr)}.battle-stage{padding-bottom:380px}.tuning-console{grid-template-columns:210px 1fr;grid-template-rows:auto auto auto auto}.tuning-head{grid-column:1;grid-row:1/4}.slot-row{grid-column:2;grid-row:1}.stop-row{grid-column:2;grid-row:2}.battle-actions-v11{grid-column:2;grid-row:3;grid-template-columns:repeat(3,1fr)}.battle-log{grid-column:1/3;grid-row:4}.enemy-center{width:58vw}.claris-right{width:30vw}}
@media(max-width:760px){.equipped-strip{grid-template-columns:1fr 1fr}.brew-dialogue{grid-template-columns:95px 1fr 95px;min-height:190px;padding:8px}.brew-actor{height:175px}.brew-actor img{max-height:155px}.talk-turn{padding:11px;font-size:11px;line-height:1.55}.magic-row{grid-template-columns:1fr 1.2fr 38px}.route-choices{grid-template-columns:1fr}.route-choice{min-height:95px}.explore-side-v11{grid-template-columns:1fr}.battle-stage{padding:6px 6px 430px}.enemy-center{top:3%;height:48vh;width:70vw}.enemy-art{max-height:38vh}.claris-right{right:0;top:18%;width:32vw;height:37vh}.claris-battle-art{max-height:30vh}.tuning-console{left:6px;right:6px;bottom:6px;min-height:414px;display:block;padding:8px}.tuning-head{border:0;border-bottom:1px solid #ffffff18;padding:0 0 6px;margin-bottom:6px}.tuning-head>b{font-size:17px}.tuning-head .small{display:none}.slot-window{height:88px}.slot-symbol{height:84px}.slot-symbol img{height:66px;width:66px}.slot-strip{top:-504px}@keyframes slotScroll{from{transform:translateY(0)}to{transform:translateY(504px)}}.slot-row{margin:6px 0}.stop-row{margin-bottom:5px}.battle-actions-v11{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.battle-log{margin-top:5px;max-height:68px}.enemy-card{font-size:9px}.claris-right .fighter-card{font-size:9px}}
@media(max-width:480px){.equipped-strip{grid-template-columns:1fr}.brew-dialogue{grid-template-columns:75px 1fr 75px}.brew-actor{height:150px}.brew-actor img{max-height:130px}.magic-title{display:block}.floor-gate{grid-template-columns:90px 1fr}.floor-gate img{width:90px;height:90px}.battle-actions-v11{grid-template-columns:repeat(2,1fr)}.slot-symbol span{width:23px;height:23px;font-size:14px}}


/* ===== COMPLETE v1.2 ADVENTURE + DIALOGUE REBUILD ===== */
/* Consultation: actual conversation instead of click-to-reveal */
.consult-scene-v12 .scene-content{min-height:calc(100dvh - 66px);display:grid;align-items:center}.consult-v12{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(430px,1.7fr) minmax(180px,.65fr);gap:12px;align-items:stretch;max-height:calc(100dvh - 94px)}.consult-actor-card{min-height:560px;padding:10px;display:flex;flex-direction:column;justify-content:end;align-items:center;overflow:hidden;transition:.25s;position:relative}.consult-actor-card img{max-height:490px;width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 18px #0008);transition:.25s}.consult-actor-card b{font-size:15px;z-index:2}.consult-actor-card span{font-size:10px;color:var(--muted);z-index:2}.consult-actor-card.speaking{box-shadow:0 0 0 2px #e8cf78 inset,0 18px 50px var(--shadow)}.consult-actor-card.speaking img{opacity:1;animation:consultSpeakerBounce 1.9s ease-in-out infinite}.consult-actor-card.listening img{opacity:.42;filter:grayscale(.25) drop-shadow(0 14px 18px #0007)}@keyframes consultSpeakerBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}.consult-center-v12{display:flex;flex-direction:column;justify-content:center;overflow:auto}.consult-center-v12 .headline{font-size:clamp(28px,3.2vw,44px)}.consult-intro-bubble{padding:15px 17px;border-radius:18px;background:#ffffff0b;border:1px solid #ffffff19;margin:8px 0}.consult-intro-bubble p{font-size:14px;line-height:1.75;margin:6px 0}.consult-intro-bubble span{font-size:11px;color:var(--muted)}.consult-topics{margin:8px 0}.consult-live{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.speaker-name{width:max-content;padding:4px 10px;border-radius:999px;background:#e3c66f;color:#1b342c;font-size:11px;font-weight:1000;margin-bottom:6px}.consult-live.patient .speaker-name{background:#f4e7c8}.consult-live-bubble{position:relative;padding:22px;border-radius:22px;background:#f8f1de;color:#274039;font-size:15px;line-height:1.9;font-weight:800;box-shadow:0 12px 30px #0005}.consult-live.claris .consult-live-bubble{background:#245247;color:#f7fffb}.consult-live-bubble:after{content:"";position:absolute;bottom:-13px;left:32px;border:14px solid transparent;border-top-color:#f8f1de;border-bottom:0}.consult-live.claris .consult-live-bubble:after{left:auto;right:32px;border-top-color:#245247}.consult-live-tip{font-size:10px;color:var(--muted);margin:9px 0 10px}.kw{padding:1px 5px;border-radius:7px;font-style:normal;font-weight:1000}.kw.effect{background:#d7efb8;color:#234b2e}.kw.risk{background:#ffd0d9;color:#692d3d}.kw.budget{background:#ffe9a9;color:#644c11}.kw.safe{background:#ccebe0;color:#255044}.key-tag{box-shadow:0 0 0 1px #fff5 inset}.diagnosis.compact{margin-top:9px}.consult-footer{margin-top:11px}

/* Exploration: one-screen layout, no right-side traversal-result panel */
.explore-scene-v12{height:calc(100dvh - 66px);min-height:0}.explore-scene-v12 .scene-content{height:100%;max-height:100%;padding:10px 14px}.explore-v12{height:100%;display:grid;grid-template-columns:minmax(0,1.36fr) minmax(380px,.64fr);gap:10px;overflow:hidden}.explore-main-v12{position:relative;min-height:0;height:100%;overflow:hidden}.explore-main-v12 .explore-bg{position:absolute;inset:0}.explore-main-v12 .explore-bg img{width:100%;height:100%;object-fit:cover}.explore-char.v12{left:2%;bottom:0;height:min(55vh,520px)}.explore-caption.v12{left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 12px}.explore-caption.v12 span{font-size:10px;color:#cfddd7}.explore-command-v12{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:7px;padding:12px}.explore-head-v12{display:flex;justify-content:space-between;gap:8px;align-items:start}.explore-head-v12 h2{margin:2px 0;font-size:clamp(18px,2vw,26px)}.floor-mini{min-width:65px;text-align:center;padding:5px;border-radius:11px;background:#ffffff0d;border:1px solid #ffffff16}.floor-mini b{display:block;color:var(--gold2);font-size:17px}.floor-mini span{font-size:9px}.run-stats.v12{grid-template-columns:repeat(3,1fr)}.run-stats.v12 .run-stat{padding:5px}.run-stats.v12 .run-stat span{display:block;font-size:8px;color:var(--muted)}.run-stats.v12 .run-stat b{font-size:13px}.run-stat.fatigue.dangerous{background:#6c3946}.level-warning{padding:5px 8px;border-radius:9px;background:#ffffff08;font-size:9px;color:var(--muted)}.level-warning.warn{background:#704a33;color:#ffe3b0;font-weight:900}.route-choices.compact{grid-template-columns:repeat(3,1fr);gap:6px;margin:0}.route-choices.compact .route-choice{min-height:112px;padding:8px;gap:3px}.route-choices.compact .route-arrow{font-size:26px}.route-choices.compact .route-choice b{font-size:12px}.route-choices.compact .route-choice small{font-size:9px;line-height:1.35}.path-memory{display:flex;gap:7px;align-items:center;padding:6px 8px;border-radius:10px;background:#ffffff08;font-size:9px}.path-memory b{color:var(--gold2);white-space:nowrap}.path-memory span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#d7e6df}.loot-compact{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;min-height:58px}.loot-compact>b{font-size:9px;color:var(--gold2)}.loot-compact .loot-list{grid-template-columns:repeat(6,42px);gap:3px;overflow:hidden}.loot-compact .loot-icon{width:42px;height:42px}.return-compact{min-height:34px;padding:6px 10px;font-size:10px;margin-top:auto}.floor-gate.compact{grid-template-columns:90px 1fr;gap:9px;padding:8px}.floor-gate.compact img{width:90px;height:90px}.floor-gate.compact h2{font-size:19px}.floor-gate.compact p{font-size:10px;line-height:1.5;margin:5px 0}.exhausted-card{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;padding:10px;border-radius:15px;background:#6b3e47;border:1px solid #ffbdc766}.exhausted-card img{width:90px;height:110px;object-fit:contain}.exhausted-card h2{margin:2px 0}.exhausted-card p{font-size:10px;line-height:1.55;color:#f8dce1}

/* Battle: unmistakable player HP + animated Claris + technique-name cut-in */
.battle-stage.v12{padding-top:8px}.player-hud-v12{position:absolute;left:16px;top:14px;z-index:8;width:min(360px,30vw);padding:10px 12px;border-radius:16px;background:#071b18ed;border:2px solid #d8c06b88;box-shadow:0 10px 28px #0008}.player-hud-head{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:6px}.player-hud-head img{width:28px;height:28px;object-fit:contain}.player-hud-head span{font-size:11px;font-weight:1000}.player-hud-head strong{font-size:16px;color:#dffbe7}.player-hpbar{height:15px;margin-top:6px;box-shadow:0 0 0 1px #ffffff25 inset}.player-hud-sub{display:flex;justify-content:space-between;font-size:9px;margin-top:4px;color:#bfd3ca}.enemy-center.v12{top:4%}.claris-right.v12{top:12%}.claris-right.v12 .claris-battle-art{animation:clarisIdleV12 2.7s ease-in-out infinite;transition:.2s}.claris-right.v12.tune .claris-battle-art{animation:clarisTuneV12 .7s ease-in-out infinite}.claris-right.v12.cast .claris-battle-art,.claris-right.v12.special .claris-battle-art{animation:clarisCastV12 .55s ease-out infinite alternate}.claris-right.v12.hurt .claris-battle-art{animation:clarisHurtV12 .16s ease-in-out 3}.claris-right.v12.guard .claris-battle-art{animation:clarisGuardV12 .7s ease-in-out infinite alternate}.claris-right.v12.heal .claris-battle-art{animation:clarisHealV12 .9s ease-in-out infinite}.claris-right.v12.victory .claris-battle-art{animation:clarisVictoryV12 .8s ease-in-out infinite alternate}.claris-mini-card{max-width:250px}@keyframes clarisIdleV12{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes clarisTuneV12{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes clarisCastV12{from{transform:translateX(0) scale(1)}to{transform:translateX(-12px) scale(1.035)}}@keyframes clarisHurtV12{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}@keyframes clarisGuardV12{from{filter:drop-shadow(0 16px 18px #0009)}to{filter:drop-shadow(0 0 24px #dfffb4)}}@keyframes clarisHealV12{0%,100%{transform:translateY(0);filter:drop-shadow(0 16px 18px #0009)}50%{transform:translateY(-8px);filter:drop-shadow(0 0 26px #b8ffd4)}}@keyframes clarisVictoryV12{from{transform:translateY(0) scale(1)}to{transform:translateY(-8px) scale(1.04)}}.technique-banner{position:fixed;left:0;right:0;top:33%;z-index:195;display:grid;place-items:center;pointer-events:none;animation:techBannerV12 1.85s ease-out forwards;text-align:center}.technique-banner:before{content:"";position:absolute;left:0;right:0;height:110px;background:linear-gradient(90deg,transparent,#071b18e8 18%,#183d34f4 50%,#071b18e8 82%,transparent);transform:skewY(-2deg);border-top:1px solid #fff1a450;border-bottom:1px solid #fff1a450}.technique-banner span,.technique-banner b{position:relative;z-index:2;text-shadow:0 3px 15px #000}.technique-banner span{font-size:10px;letter-spacing:.25em;color:#d9c773}.technique-banner b{font-size:clamp(30px,5vw,64px);letter-spacing:.08em;color:#fff3b6}@keyframes techBannerV12{0%{opacity:0;transform:translateX(-8%) scale(.92)}15%{opacity:1;transform:translateX(0) scale(1.02)}72%{opacity:1}100%{opacity:0;transform:translateX(5%) scale(1.04)}}

@media(max-width:1100px){.consult-v12{grid-template-columns:150px 1fr 150px}.consult-actor-card{min-height:500px}.explore-v12{grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr)}.player-hud-v12{width:34vw}.loot-compact .loot-list{grid-template-columns:repeat(4,42px)}}
@media(max-width:760px){.consult-scene-v12 .scene-content{display:block}.consult-v12{max-height:none;grid-template-columns:90px 1fr 90px}.consult-actor-card{min-height:360px;padding:5px}.consult-actor-card img{max-height:330px}.consult-center-v12{min-height:520px}.explore-scene-v12{height:auto;min-height:calc(100dvh - 66px)}.explore-scene-v12 .scene-content{height:auto}.explore-v12{height:auto;display:grid;grid-template-columns:1fr;overflow:visible}.explore-main-v12{height:43vh;min-height:330px}.explore-command-v12{height:auto;overflow:visible}.route-choices.compact .route-choice{min-height:92px}.player-hud-v12{left:6px;top:6px;width:48vw;padding:7px}.player-hud-head{grid-template-columns:22px 1fr}.player-hud-head img{width:22px;height:22px}.player-hud-head strong{grid-column:1/-1;font-size:13px}.player-hud-sub{display:none}}


/* v1.3 navigation / saves / fate reel / staff */
.back-nav{font-size:18px;font-weight:1000}.run-stat em{display:block;font-size:7px;font-style:normal;color:#d9c773;margin-top:2px}
.save-slots{display:grid;gap:8px;margin-top:8px}.save-slot-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #ffffff20;background:#071b1875;border-radius:12px}.save-slot-card.active{border-color:#d9c773;background:#25463e}.save-slot-card>div:first-child{display:grid;gap:3px}.save-slot-card span{font-size:10px;color:var(--muted)}.save-slot-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.small-btn{padding:6px 9px;min-height:30px;font-size:9px}.settings-section-title{font-size:18px;margin:18px 0 3px;color:var(--gold2)}
.fate-modal{max-width:760px}.fate-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px auto;max-width:520px}.fate-window{height:132px;display:grid;place-items:center;overflow:hidden;border:3px solid #d9c773;border-radius:18px;background:#061713;box-shadow:inset 0 0 30px #000,0 8px 28px #0008}.fate-window.spinning .fate-symbol{animation:fatePulse .14s linear infinite}.fate-window.stopped{box-shadow:inset 0 0 30px #000,0 0 28px #d9c77377}.fate-symbol{position:relative;display:grid;place-items:center;width:100%;height:100%}.fate-symbol img{max-width:92px;max-height:92px;object-fit:contain;filter:drop-shadow(0 6px 12px #000a)}.fate-symbol b{position:absolute;right:10px;bottom:8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f7e7a4;color:#14261f;font-size:18px;border:2px solid #fff}.fate-status{text-align:center;font-weight:900;color:#fff0a8;letter-spacing:.08em}@keyframes fatePulse{0%{transform:translateY(-8px) scale(.98);filter:blur(.4px)}50%{transform:translateY(8px) scale(1.03);filter:blur(1px)}100%{transform:translateY(-8px) scale(.98);filter:blur(.4px)}}
@media(max-width:760px){.save-slot-card{grid-template-columns:1fr}.save-slot-actions{justify-content:flex-start}.fate-window{height:100px}.fate-symbol img{max-width:70px;max-height:70px}}

/* ===== COMPLETE v1.4 BATTLE / ALCHEMY / FIELD UTILITIES ===== */
.explore-utility-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.explore-utility-row .btn{min-height:34px;padding:6px 8px;font-size:9px}
.herb-use-modal{max-width:860px}.herb-use-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:55vh;overflow:auto;margin:12px 0}.herb-use-card{position:relative;border:1px solid #ffffff22;background:#102f29;color:#fff;border-radius:14px;padding:8px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto auto;gap:3px 8px;text-align:left}.herb-use-card:hover{border-color:var(--gold);transform:translateY(-2px)}.herb-use-card img{width:54px;height:54px;object-fit:contain;grid-row:1/4}.herb-use-card b{font-size:10px}.herb-use-card span{font-size:9px;color:var(--gold2)}.herb-use-card small{font-size:8px;color:#cfe4db}

/* 20-second alchemy mini-games */
.alchemy-game-back{background:radial-gradient(circle at 50% 35%,#2b6456cc,#061713f2)}.alchemy-game-modal{width:min(920px,94vw);min-height:590px;padding:18px;border:2px solid #d9c77388;border-radius:24px;background:linear-gradient(180deg,#173f36fa,#09241efa);box-shadow:0 30px 80px #000c;display:flex;flex-direction:column;gap:12px}.alchemy-game-head{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center}.alchemy-game-head h2{margin:2px 0;font-size:clamp(24px,4vw,42px)}.alchemy-timer,.alchemy-score{padding:8px 12px;border-radius:14px;background:#071b18;border:1px solid #ffffff20;text-align:center}.alchemy-timer b{display:block;font-size:30px;color:#fff1a8}.alchemy-timer span{font-size:9px;letter-spacing:.2em}.alchemy-score b{display:block;font-size:28px;color:#bdf9d0}.mini-help{text-align:center;font-weight:800;color:#e8fff5;margin:4px 0 0}
.alchemy-circle-wrap{margin:auto;width:min(430px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;touch-action:none;user-select:none;background:radial-gradient(circle,#204c40 0 42%,#102e28 43% 59%,#d9c77355 60% 63%,#102e28 64%);box-shadow:0 0 70px #d9c77333 inset,0 0 36px #d9c77333}.trace-ring{width:72%;height:72%;border-radius:50%;border:8px dashed #fff1a8;display:grid;place-items:center;box-shadow:0 0 26px #fff1a866}.trace-core{width:58%;height:58%;border-radius:50%;display:grid;place-items:center;text-align:center;padding:15px;background:#071b18;color:#fff1a8;font-weight:1000;pointer-events:none}
.alchemy-catch-area{position:relative;height:420px;border-radius:20px;border:1px solid #ffffff20;background:radial-gradient(circle at 50% 45%,#315f4d,#0a241e 70%);overflow:hidden}.catch-item{position:absolute;width:88px;height:88px;border:none;background:#ffffff10;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 22px #0007;animation:catchFloat 1.6s ease-in-out forwards;touch-action:manipulation}.catch-item.herb{outline:2px solid #b7f2b9}.catch-item.dummy{outline:2px solid #e7a4ad}.catch-item img{width:58px;height:58px;object-fit:contain}.catch-item span{font-size:8px;font-weight:1000}.dummy-glyph{font-size:38px!important}@keyframes catchFloat{0%{transform:translateY(20px) scale(.78);opacity:.25}20%{opacity:1}70%{transform:translateY(-18px) scale(1.08)}100%{transform:translateY(-32px) scale(.7);opacity:0}}
.timing-game{margin:auto;width:min(760px,90vw);display:grid;gap:28px;align-content:center;min-height:410px}.timing-track{position:relative;height:74px;border-radius:999px;background:#061713;border:3px solid #d9c77388;box-shadow:inset 0 0 28px #000}.timing-target{position:absolute;top:7px;bottom:7px;width:13%;transform:translateX(-50%);border-radius:999px;background:linear-gradient(90deg,#d9c77322,#ffeaa5aa,#d9c77322);box-shadow:0 0 28px #ffe99e}.timing-marker{position:absolute;top:-10px;bottom:-10px;width:8px;transform:translateX(-50%);border-radius:99px;background:#fff;box-shadow:0 0 18px #c5fff1}.timing-game .btn{justify-self:center;min-width:220px;font-size:22px}

/* v1.4 battle layout: reference-inspired but native to Claris */
.battle-v14{position:relative;min-height:100dvh;overflow:hidden;background-size:cover;background-position:center}.battle-v14-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b201aca 0 25%,transparent 45% 60%,#0b201abb 100%),linear-gradient(0deg,#071b18f3 0 28%,transparent 64%)}.battle-v14-title{position:absolute;left:18px;top:16px;z-index:5;padding:8px 14px;border-radius:11px;background:#1f2a20e8;border:1px solid #d7bd6c88;box-shadow:0 6px 20px #0008}.battle-v14-title b{display:block;color:#fff3bf;font-size:18px}.battle-v14-title span{font-size:9px;color:#d7e6df}.battle-v14-stage{position:relative;z-index:2;min-height:100dvh;max-width:1600px;margin:auto;padding:70px 18px 146px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(420px,1.25fr) minmax(270px,.82fr);grid-template-rows:minmax(310px,1fr) 265px;gap:10px 12px}.battle-v14-claris{grid-column:1/2;grid-row:1;position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:0}.battle-v14-claris .claris-battle-art{max-height:58vh;max-width:115%;object-fit:contain;filter:drop-shadow(0 16px 24px #000a);animation:clarisIdleV12 2.7s ease-in-out infinite}.battle-v14-claris.tune .claris-battle-art{animation:clarisTuneV12 .7s ease-in-out infinite}.battle-v14-claris.cast .claris-battle-art,.battle-v14-claris.special .claris-battle-art{animation:clarisCastV12 .55s ease-out infinite alternate}.battle-v14-claris.hurt .claris-battle-art{animation:clarisHurtV12 .16s ease-in-out 3}.battle-v14-claris.guard .claris-battle-art{animation:clarisGuardV12 .7s ease-in-out infinite alternate}.battle-v14-claris.heal .claris-battle-art{animation:clarisHealV12 .9s ease-in-out infinite}.battle-v14-claris.victory .claris-battle-art{animation:clarisVictoryV12 .8s ease-in-out infinite alternate}.speech-ribbon{position:absolute;right:-8%;top:3%;z-index:3;padding:10px 15px;border-radius:20px 20px 20px 4px;background:#fff7e7;color:#39483f;font-weight:1000;font-size:12px;box-shadow:0 8px 18px #0005}.player-card-v14{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:58px 1fr;gap:8px;padding:8px 10px;border-radius:12px;background:#081c18e8;border:1px solid #d7bd6c88}.player-card-v14 .portrait img{width:52px;height:52px;border-radius:8px;object-fit:cover}.player-card-v14 b{font-size:11px}.player-card-v14 strong{font-size:12px;color:#d6f5df}.player-card-v14 small{display:block;font-size:8px;color:#bcd0c7}.battle-v14-enemy{grid-column:2/4;grid-row:1;position:relative;display:flex;align-items:end;justify-content:flex-end;min-height:0;padding-right:3%}.battle-v14-enemy .enemy-art{max-height:60vh;max-width:75%;object-fit:contain;filter:drop-shadow(0 18px 22px #000c)}.enemy-card-v14{position:absolute;right:0;top:0;z-index:3;width:min(460px,55%);padding:9px 12px;border-radius:11px;background:#1e241ee8;border:1px solid #d7bd6c88}.enemy-card-v14 b{font-size:17px;color:#fff3bf}.enemy-card-v14 strong{display:block;text-align:right;font-size:11px}.enemy-hpbar{height:15px;margin:5px 0}.battle-v14-skills{grid-column:1;grid-row:2;padding:10px;overflow:hidden}.battle-v14-skills h3{margin:2px 0 6px}.skill-rule{display:grid;grid-template-columns:42px 1fr;gap:7px;align-items:center;padding:5px 0;border-bottom:1px solid #ffffff12}.skill-rule img{width:42px;height:42px;object-fit:contain}.skill-rule b{display:block;font-size:10px}.skill-rule span{display:block;font-size:8px;color:#c7dbd2}.buff-note{margin-top:5px;padding:4px 6px;border-radius:7px;background:#d9c77322;color:#fff1a8;font-size:8px}.battle-v14-reels{grid-column:2;grid-row:2;padding:9px 11px;display:grid;grid-template-rows:auto 1fr auto auto;align-items:center;overflow:hidden}.reel-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.reel-panel-head h2{font-size:18px;margin:0;color:#fff3bf}.tiny-btn{min-height:28px;padding:4px 8px;font-size:8px}.slot-row.v14{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-row.v14 .slot-window{height:112px}.slot-symbol img{max-width:94px;max-height:94px;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}.slot-symbol span{display:none}.stop-row.v14{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.stop-row.v14 .stop-btn{min-height:28px;padding:4px;font-size:8px}.battle-v14-reels .special-badge{text-align:center;min-height:22px;color:#ffeeb2;font-size:9px}.battle-v14-log{grid-column:3;grid-row:2;padding:10px;overflow:hidden}.log-head{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff17;padding-bottom:5px}.log-head b{color:#fff3bf}.log-head span{font-size:8px;color:#b8cbc3}.battle-v14-log .battle-log{height:190px;overflow:auto;font-size:9px;line-height:1.7;padding-top:6px}.battle-v14-actions{position:absolute;left:18px;right:18px;bottom:16px;z-index:6;display:grid;grid-template-columns:1fr 1.25fr 1fr 1fr;gap:8px}.battle-command{min-height:78px;border-radius:15px;border:2px solid #ffffff22;color:#fff;padding:9px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px #0007;transition:.15s}.battle-command:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.08)}.battle-command span{font-size:20px;font-weight:1000}.battle-command small{font-size:8px;opacity:.85}.battle-command.staff{background:linear-gradient(#51422e,#332a1e);border-color:#bf9a62}.battle-command.tune{background:linear-gradient(#ad3a2b,#77231d);border-color:#f0a96a}.battle-command.medicine{background:linear-gradient(#387c4d,#225735);border-color:#78c68d}.battle-command.escape{background:linear-gradient(#40566f,#29394d);border-color:#8ea7c3}.battle-command:disabled{filter:grayscale(.7);opacity:.45}.training-exit{position:absolute;right:0;top:-34px}

@media(max-width:1100px){.battle-v14-stage{grid-template-columns:minmax(210px,.72fr) minmax(390px,1.15fr) minmax(240px,.8fr);padding-left:8px;padding-right:8px}.speech-ribbon{font-size:10px}.battle-v14-enemy .enemy-art{max-width:82%}.battle-command span{font-size:16px}}
@media(max-width:820px){.battle-v14{overflow:auto}.battle-v14-stage{min-height:1050px;grid-template-columns:1fr 1fr;grid-template-rows:400px 260px 240px;padding-bottom:120px}.battle-v14-claris{grid-column:1;grid-row:1}.battle-v14-enemy{grid-column:2;grid-row:1;padding:0}.battle-v14-enemy .enemy-art{max-width:100%;max-height:52vh}.battle-v14-skills{grid-column:1;grid-row:2}.battle-v14-log{grid-column:2;grid-row:2}.battle-v14-reels{grid-column:1/3;grid-row:3}.battle-v14-actions{position:fixed;left:5px;right:5px;bottom:5px;grid-template-columns:repeat(4,1fr)}.battle-command{min-height:62px;padding:5px}.battle-command span{font-size:12px}.battle-command small{font-size:6px}.herb-use-grid{grid-template-columns:repeat(2,1fr)}.alchemy-game-modal{min-height:520px}.alchemy-catch-area{height:330px}}


/* ===== v1.5 readability / battle / crafting ===== */
.visit-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-weight:1000;font-size:11px;margin-bottom:4px;border:1px solid #ffffff2a}.visit-badge.first{background:#3c7157;color:#e8fff1}.visit-badge.revisit{background:#755f2f;color:#fff3bc}.visit-badge.big{font-size:14px;padding:6px 12px;margin:6px auto}.previous-mini{display:block;margin-top:5px;font-size:10px;color:#f3dda0}.previous-rx-box{margin-top:8px;padding:8px;border-radius:10px;background:#112d27;border:1px solid #d7bd6c66;text-align:left}.previous-rx-box div{display:flex;justify-content:space-between;gap:6px}.previous-rx-box strong{color:#ffe9a6}.previous-rx-box span{display:block;font-size:10px;line-height:1.5;color:#d5e8df}
.item-card .statline{font-size:12px;line-height:1.55;min-height:38px;color:#d7e8e0}.equip-card .equip-special{font-size:12px;line-height:1.6;min-height:52px}.material-card .mat-name{font-size:14px}.effect-pill{font-size:11px;padding:3px 7px}.herb-use-card b{font-size:13px}.herb-use-card span{font-size:11px}.herb-use-card small{font-size:11px;line-height:1.4}.facility p{font-size:12px;line-height:1.55}.facility-effect{margin:7px 0;padding:6px 8px;border-radius:9px;background:#ffffff0b;color:#ffe9a6;font-size:11px;font-weight:800}.brew-qty,.qty-ctrl{display:grid;grid-template-columns:34px 1fr 34px;gap:5px;align-items:center;margin-top:7px;position:relative;z-index:3}.brew-qty .btn,.qty-ctrl .btn{min-height:28px;padding:2px}.brew-qty b,.qty-ctrl strong{text-align:center;font-size:14px}.recommend-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.recommend-row .btn{padding:7px 10px}.potion-targets{display:flex;gap:8px;margin:10px 0}.potion-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}.potion-summary>div{padding:10px;border:1px solid #ffffff1b;border-radius:12px;background:#ffffff0a}.potion-summary span{display:block;font-size:10px;color:#bdd1c8}.potion-summary b{display:block;font-size:15px;color:#fff0b2}.potion-material-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:49vh;overflow:auto}.potion-material-card{padding:8px;border-radius:13px;background:#ffffff09;border:1px solid #ffffff18;text-align:center}.potion-material-card.selected{box-shadow:0 0 0 2px #d7bd66 inset}.potion-material-card img{width:68px;height:68px;object-fit:contain;margin:auto}.potion-material-card b{display:block;font-size:12px}.potion-material-card span{display:block;font-size:10px;color:#cfe2da}.potion-mp-panel{margin:10px 0}.potion-mp-panel input{width:100%;accent-color:#d7bd66}.fate-stop-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.explore-utility-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.run-stats.v12{grid-template-columns:repeat(5,minmax(0,1fr))}

@media(min-width:821px){
 .battle-v14{height:100dvh;min-height:0;overflow:hidden}
 .battle-v14-stage{height:100dvh;min-height:0;max-width:1680px;padding:58px 12px 10px;grid-template-columns:minmax(235px,.78fr) minmax(420px,1.28fr) minmax(230px,.72fr);grid-template-rows:minmax(300px,55vh) minmax(205px,1fr);gap:9px}
 .battle-v14-claris{grid-column:1;grid-row:1}.battle-v14-claris .claris-battle-art{max-height:48vh;max-width:108%}.speech-ribbon{right:-5%;font-size:10px}
 .battle-v14-enemy{grid-column:2;grid-row:1;justify-content:center;padding-right:0}.battle-v14-enemy .enemy-art{max-height:50vh;max-width:92%}.enemy-card-v14{right:1%;width:min(430px,72%)}
 .battle-v14-skills{grid-column:1;grid-row:2}.battle-v14-reels{grid-column:2;grid-row:2}.battle-v14-log{grid-column:3;grid-row:2}
 .battle-v14-actions{position:relative;left:auto;right:auto;bottom:auto;grid-column:3;grid-row:1;display:grid;grid-template-columns:1fr;align-content:center;gap:7px;padding:10px 0}
 .battle-command{min-height:64px;padding:7px 9px}.battle-command span{font-size:16px}.battle-command small{font-size:8px}.training-exit{position:static}
 .battle-v14-log .battle-log{height:160px}.slot-row.v14 .slot-window{height:96px}.slot-symbol img{max-width:82px;max-height:82px}.skill-rule{padding:3px 0}.skill-rule img{width:36px;height:36px}.skill-rule b{font-size:10px}.skill-rule span{font-size:8px}
}
@media(max-width:1000px){.potion-material-grid{grid-template-columns:repeat(3,1fr)}.potion-summary{grid-template-columns:repeat(2,1fr)}.run-stats.v12{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.potion-material-grid{grid-template-columns:repeat(2,1fr)}.explore-utility-row{grid-template-columns:1fr}.run-stats.v12{grid-template-columns:repeat(2,1fr)}}

.brew-qty button{position:relative!important;inset:auto!important;background:inherit!important;border:1px solid #ffffff22!important}.brew-qty button.btn{color:#fff!important}


/* ===== v1.6 readability / battle / key / potion refinements ===== */
.hud-chip{font-size:13px;padding:7px 10px}.hud-chip b{font-size:14px}.hud-chip span{font-size:10px}.hud-chip.vital{padding:8px 12px;border-color:#d7bd6666;background:#d7bd6614}.hud-chip.vital b{font-size:17px;color:#fff0ad}.hud-chip.vital span{font-size:11px;font-weight:900}
.brew-vitals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 12px}.brew-vitals>div{padding:8px 10px;border-radius:11px;background:#123a32;border:1px solid #d7bd6645}.brew-vitals span{display:block;font-size:11px;color:#c9ddd5}.brew-vitals b{font-size:17px;color:#fff0ad}
.brew-dialogue{align-items:center;min-height:250px}.brew-actor{height:215px;justify-content:center;transform:translateY(-12px)}.brew-actor img{max-height:198px}.brew-talk-stack{align-self:center;transform:translateY(-8px)}
.fx-image{animation-duration:1.35s}.floating-damage{animation-duration:1.55s;font-size:40px}
@keyframes enemyAttackV16{0%{transform:translateX(0) scale(1)}35%{transform:translateX(-42px) scale(1.08)}58%{transform:translateX(-55px) scale(1.11)}100%{transform:translateX(0) scale(1)}}
.battle-v14-enemy.enemy-attack .enemy-art{animation:enemyAttackV16 .72s ease-in-out both;filter:drop-shadow(0 18px 26px #000d) brightness(1.08)}
/* PC battle: enemy center, commands on the right, all inside one viewport */
@media(min-width:821px){
 .battle-v14-stage{padding:62px 16px 12px;grid-template-columns:minmax(245px,.72fr) minmax(430px,1.35fr) 220px;grid-template-rows:minmax(300px,1fr) 245px;gap:9px 12px;min-height:100dvh;height:100dvh;overflow:hidden}
 .battle-v14-claris{grid-column:1;grid-row:1}
 .battle-v14-enemy{grid-column:2;grid-row:1;justify-content:center;align-items:end;padding:34px 0 0}
 .battle-v14-enemy .enemy-art{max-height:54vh;max-width:92%}
 .enemy-card-v14{top:-40px;right:4%;left:4%;width:auto;max-width:620px;margin:auto;padding:9px 14px}
 .enemy-card-v14 b{font-size:18px}.enemy-card-v14 strong{font-size:13px}.enemy-hpbar{height:17px}
 .battle-v14-actions{position:relative;left:auto;right:auto;bottom:auto;grid-column:3;grid-row:1;align-self:center;display:grid;grid-template-columns:1fr;gap:8px;z-index:7}
 .battle-command{min-height:70px;padding:8px}.battle-command span{font-size:18px}.battle-command small{font-size:9px}
 .battle-v14-skills{grid-column:1;grid-row:2}.battle-v14-reels{grid-column:2;grid-row:2}.battle-v14-log{grid-column:3;grid-row:2}
 .battle-v14-log .battle-log{height:168px}
}
.exp-reward{margin-top:14px;padding:12px;border-radius:13px;background:#102f29;border:1px solid #d7bd6655}.exp-reward-head{display:flex;justify-content:space-between;gap:10px;font-size:14px}.exp-reward-bar{height:18px;border-radius:999px;background:#071a17;overflow:hidden;margin:8px 0;border:1px solid #ffffff22}.exp-reward-bar i{display:block;height:100%;background:linear-gradient(90deg,#6fc18c,#f1d878);box-shadow:0 0 14px #d8c96888}.exp-reward small{color:#c7dbd2}
.key-shop{max-width:860px;margin:auto}.key-shop-card{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;padding:18px;border:1px solid #ffffff20;border-radius:18px;background:#ffffff0b}.key-shop-card img{width:130px;height:130px;object-fit:contain}.key-shop-card h2{font-size:26px;margin:0 0 8px}.key-shop-card p{font-size:15px}.key-shop-card b{font-size:20px;color:#ffe9a6}
.potion-next-tier{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;background:#203e35;border:1px solid #d7bd6655;margin:10px 0}.potion-next-tier b{font-size:18px;color:#fff0ad}.potion-next-tier span{font-size:13px}.potion-material-card span{font-size:12px;line-height:1.45}.potion-material-card b{font-size:14px}.potion-summary span{font-size:11px}.potion-summary b{font-size:17px}
.material-card .mat-name{font-size:15px}.effect-pill{font-size:12px}.need-line{font-size:13px}.need-line b{font-size:14px}.magic-row b{font-size:14px}.magic-row small{font-size:11px;line-height:1.5}.candidate .small{font-size:11px;line-height:1.5}
@media(max-width:1100px) and (min-width:821px){.battle-v14-stage{grid-template-columns:220px minmax(380px,1fr) 190px}.battle-command span{font-size:15px}.battle-command small{font-size:8px}.enemy-card-v14{top:-34px}}


/* ===== v1.7 revisit / dungeon depth / unlock clarity ===== */
.unlock-title{margin-top:8px;font-size:11px;font-weight:1000;color:#f4dfa1}.unlock-conditions{display:grid;gap:4px;margin:5px 0 10px}.unlock-conditions span{display:block;padding:5px 7px;border-radius:8px;background:#071b187d;border:1px solid #ffffff16;color:#b9cbc4;font-size:10px;font-weight:800}.unlock-conditions span.met{background:#2b654b66;border-color:#8ad2a277;color:#ddffe8}.unlock-conditions small{opacity:.8}.dungeon-volume{display:inline-block;margin-top:7px;padding:5px 8px;border-radius:9px;background:#d7bd6617;color:#ffe8a1;font-size:11px;font-weight:1000}
.cure-progress{margin-top:10px;padding:10px 12px;border-radius:12px;background:#17362f;border:1px solid #d7bd6655}.cure-progress b{display:block;color:#ffe9a6;font-size:15px}.cure-progress span{display:block;margin-top:3px;color:#c9ddd5;font-size:11px}.cure-progress.cured{background:#245941;border-color:#91d3a4}.chart-line{margin-top:5px;line-height:1.45;color:#eedcaa!important}.collection-card .chart-line{font-size:9px!important}
@media(max-width:720px){.unlock-conditions span{font-size:9px}.dungeon-volume{font-size:10px}}


/* ===== v1.8 dungeon/reel/dark-route polish ===== */
.talkable{cursor:pointer;position:relative}.talkable:hover img{filter:brightness(1.08) drop-shadow(0 0 12px #fff5b966)}.talk-hint{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);white-space:nowrap;padding:4px 9px;border-radius:999px;background:#0c2924d9;border:1px solid #e0ca7b55;color:#fff0b2;font-size:10px;font-weight:900;pointer-events:none}
.town-panel{position:relative}.town-claris-talk{position:absolute;right:18px;top:58px;width:112px;border:0;background:transparent;color:#fff;cursor:pointer;z-index:3}.town-claris-talk img{width:100%;max-height:150px;object-fit:contain;filter:drop-shadow(0 9px 18px #0008);transition:.16s}.town-claris-talk:hover img{transform:translateY(-3px) scale(1.03)}.town-claris-talk span{display:block;background:#0a2a24df;border:1px solid #d8bf6c66;border-radius:999px;padding:5px;font-size:9px;font-weight:900}
.dark-route-help{margin:8px 0;padding:8px 10px;border-radius:10px;background:#2d1525cc;border:1px solid #ce7eac66;color:#ffd8ec;font-size:10px;line-height:1.5;font-weight:800}
.fate-guide{margin:7px 0 8px;padding:7px 9px;border-radius:10px;background:#d7bd6614;border:1px solid #d7bd6648;display:grid;gap:2px;font-size:10px;line-height:1.45}.fate-guide b{color:#ffe9a0}.fate-guide strong{color:#fff2b5}.fate-modal{max-width:700px;max-height:90vh;overflow:hidden}.fate-modal .modal-media{height:min(18vh,125px)}.fate-modal .modal-body{padding:10px 12px}.fate-modal h2{font-size:20px;margin-bottom:4px}.fate-modal .speech{font-size:11px;line-height:1.45}.fate-modal .fate-reels{margin:7px auto;gap:9px;max-width:430px}.fate-modal .fate-window{height:86px;border-width:2px;border-radius:13px}.fate-modal .fate-symbol img{max-width:62px;max-height:62px}.fate-modal .fate-symbol b{width:24px;height:24px;font-size:14px;right:6px;bottom:5px}.fate-modal .fate-stop-row{margin-top:5px}.fate-modal .fate-stop-row .btn{min-height:34px;padding:5px}.fate-modal .fate-status{font-size:11px;margin-top:5px}
.herb-use-card.blocked{opacity:.42;filter:grayscale(.7)}
.greed-price-info{margin-top:8px;padding:8px 9px;border-radius:10px;background:#2d1525aa;border:1px solid #b9759d55;display:grid;gap:3px;font-size:10px;line-height:1.45}.greed-price-info b{color:#ffd1e8}.greed-price-info span{color:#e9dce3}.greed-price-info strong{color:#ffe89d}
.reward-grid{grid-template-columns:repeat(4,1fr)}.reward.danger{border-color:#c86c6c66;background:#4a1b1b44}.inspection-warning{margin-top:9px;padding:8px;border-radius:9px;background:#69272a66;border:1px solid #e5858599;color:#ffd8d8;font-size:11px;font-weight:900}
.previous-mini{line-height:1.45}.chart-line{line-height:1.5}
@media(max-width:760px){.fate-modal{width:min(96vw,620px);max-height:88vh}.fate-modal .modal-media{height:90px}.fate-modal .modal-body{padding:8px}.fate-modal .fate-window{height:72px}.fate-modal .fate-symbol img{max-width:50px;max-height:50px}.fate-guide{font-size:9px}.town-claris-talk{position:relative;right:auto;top:auto;float:right;margin:-50px 0 6px 8px;width:86px}.reward-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== v1.9 price controls / reel stability / modal QoL ===== */
.price-preset-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:6px;margin-top:9px}.price-preset-row .btn{min-height:34px;padding:6px 8px;font-size:10px}.price-step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}.price-step-row .btn{min-height:30px;padding:5px 7px;font-size:9px}
.slot-row.v14{width:100%;min-width:0;align-items:stretch}.slot-row.v14 .slot-window{width:100%;min-width:0;height:112px;min-height:112px;box-sizing:border-box;display:block}.slot-row.v14 .slot-strip{width:100%;min-width:100%}.slot-row.v14 .slot-symbol{width:100%;height:108px;min-height:108px;box-sizing:border-box}
@media(max-width:1100px) and (min-width:821px){.slot-row.v14 .slot-window{height:96px;min-height:96px}.slot-row.v14 .slot-symbol{height:92px;min-height:92px}.price-preset-row{grid-template-columns:repeat(3,1fr)}.price-preset-row .price-preset:first-child{grid-column:span 2}}
@media(max-width:760px){.price-preset-row{grid-template-columns:repeat(2,1fr)}.price-preset-row .price-preset:first-child{grid-column:1/-1}.price-step-row{grid-template-columns:repeat(2,1fr)}}
