@charset "UTF-8";
:root{color-scheme:dark;--bg:#10131c;--panel:#191d27;--panel-light:#202632;--line:#353945;--muted:#a6a4a4;--text:#eee6d6;--gold:#d9b77d;--gold-light:#efcca0;--teal:#92bab1;--fire:#e5a18b;--violet:#b3a8d7;--serif:"Iowan Old Style","Palatino Linotype","AppleMyungjo",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5}button,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.42}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}button{touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}strong,b{font-weight:600}button{border:0}svg{display:block;flex-shrink:0}.icon{width:22px;height:22px}main{min-height:calc(100svh - 125px);outline:none}::selection{background:#88734f;color:#fff6e4}
.topbar{height:72px;border-bottom:1px solid #292d38;display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;gap:18px}.brand{display:flex;align-items:center;font-size:15px;letter-spacing:1px;font-weight:800;white-space:nowrap}.brand>span:first-child{color:var(--gold)}.brand-divider{color:#575b68;padding:0 22px;font-weight:400}.brand-game{font-size:11px;letter-spacing:2px;color:#aca9a0;font-weight:400}.topbar nav{display:flex;align-items:center;gap:22px}.quiet{background:none;padding:10px 0;color:#c1bdb4;font-size:12px}.quiet:hover{color:var(--gold-light)}select{background:transparent;border:1px solid #41444e;color:var(--text);font-size:12px;padding:9px 12px;border-radius:3px;min-height:38px}option{background:var(--panel)}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:auto;padding:23px 4.5vw;border-top:1px solid #292d38;font-size:10px;letter-spacing:1.5px;color:#aaa69c}footer>span:nth-child(2){letter-spacing:.3px;font-size:12px;color:#8e929b}
.home-screen{max-width:1440px;margin:auto;min-height:740px;position:relative;display:grid;grid-template-columns:1fr 1.03fr}.home-copy{grid-column:1;grid-row:1;padding:65px 15px 46px 6.5vw;position:relative;z-index:2}.home-art{grid-column:2;grid-row:1;position:relative;overflow:hidden;margin:28px 3vw 28px 0;border:1px solid #32343b;background:#151925;min-height:670px}.home-art:after{content:"";position:absolute;inset:12px;border:1px solid #77613f44;pointer-events:none}.home-art .vault-scene{height:100%;width:100%;object-fit:cover;position:absolute}.home-art .vault-scene.home{width:150%;left:-25%}.home-adventurer{position:absolute;bottom:12%;left:30%;width:38%;filter:drop-shadow(0 0 24px #d2a45d22)}.home-adventurer .character{width:100%;height:auto}.art-caption{position:absolute;bottom:30px;left:30px;right:30px;display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.7px;color:#c6bda9}.edition{display:flex;align-items:center;gap:14px;color:var(--gold);font-size:9px;letter-spacing:2px;margin-bottom:55px}.edition-line{display:block;width:42px;height:1px;background:var(--gold)}.edition-number{border:1px solid #756444;padding:3px 6px;font-family:var(--serif);font-size:10px}.eyebrow{display:block;font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:500}.home-copy h1{font-family:var(--serif);font-weight:400;letter-spacing:-2px;font-size:72px;line-height:1.08;margin:18px 0 22px}.home-copy h2{font-size:25px;font-weight:300;line-height:1.6;letter-spacing:-.5px}.home-description{color:var(--muted);font-size:13px;line-height:1.9;margin-top:19px}.features{display:flex;gap:23px;margin:24px 0 27px;color:#beb9ae;font-size:11px}.features>span{display:flex;align-items:center;gap:6px}.features .icon{width:15px;height:15px;color:var(--gold)}.home-actions{display:flex;flex-direction:column;max-width:360px;gap:12px}.primary,.secondary,.end-turn{min-height:50px;padding:13px 23px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:600;font-size:13px;transition:background .15s,transform .15s;border:1px solid transparent}.primary{background:var(--gold);color:#27221d}.primary:hover:enabled{background:#e9c994;transform:translateY(-1px)}.secondary{background:#202530;border-color:#5a5449;color:var(--text)}.secondary:hover:enabled{background:#2c313b;border-color:var(--gold)}.home-actions .primary,.home-actions .secondary{justify-content:space-between;padding:17px 20px}.primary .icon,.secondary .icon{width:19px;height:19px}.daily-button{display:flex;align-items:center;gap:15px;padding:15px 17px;background:#19202b;border:1px solid #3f444f;border-radius:3px;text-align:left}.daily-button:hover{border-color:var(--gold);background:#212936}.daily-icon{color:var(--gold)}.daily-button strong{font-size:13px}.daily-button small{display:block;color:#a3a5ac;font-size:10px;letter-spacing:.2px;margin-top:4px}.daily-date{margin-left:auto;font-family:var(--serif);color:var(--gold);font-size:16px}.resume-note{font-size:11px;color:var(--muted);margin-top:-6px}.home-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.text-button{background:none;color:#c1bcb0;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:8px 0;min-height:35px}.text-button:hover:enabled{color:var(--gold-light)}.text-button .icon{width:16px;height:16px}.home-links span{color:var(--gold);font-size:10px}.start-note{display:block;color:#838994;font-size:11px;margin-top:15px}
.run-status{max-width:1240px;margin:auto;height:74px;border-bottom:1px solid #333743;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px}.status-left,.status-values,.stat{display:flex;align-items:center}.status-left{gap:16px}.run-title{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2px}.run-title .icon{color:var(--gold);width:23px;height:23px}.mode-pill{padding:4px 9px;border:1px solid #47433c;border-radius:2px;font-size:10px;color:#c5b695}.status-values{gap:30px}.stat{gap:8px;font-size:14px}.stat .icon{width:18px;height:18px}.hp{color:var(--fire)}.gold{color:var(--gold)}.floor{color:var(--muted)}.stat small{font-size:11px;color:var(--muted)}.deck-button{display:flex;align-items:center;gap:9px;font-size:12px}.deck-button .icon{width:19px;height:19px}.deck-button b{color:var(--gold);margin-left:5px}
.screen-heading{text-align:center;margin:0 auto 34px;max-width:750px}.screen-heading h1{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:-.7px;margin:14px 0}.screen-heading p{color:var(--muted);font-size:13px;line-height:1.8}.map-screen,.choice-screen,.result-screen{max-width:1050px;margin:auto;padding:45px 24px 60px}.route-progress{display:flex;align-items:start;justify-content:space-between;position:relative;max-width:730px;margin:34px auto 46px}.route-progress:before{content:"";position:absolute;left:3%;right:3%;height:1px;top:20px;background:#47433c}.route-step{position:relative;min-width:42px;display:flex;align-items:center;flex-direction:column;gap:10px}.route-node{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;border:1px solid #47474f;background:var(--bg);color:#777c87;font-family:var(--serif);font-size:15px}.route-step small{font-size:9px;color:#7d808b}.route-step.done .route-node{border-color:#73958b;color:var(--teal);background:#182425}.route-step.current .route-node{border-color:var(--gold);background:var(--gold);color:#2b261e;box-shadow:0 0 0 6px #d9b77d12}.route-step.current small{color:var(--gold)}.route-choices{display:flex;justify-content:center;gap:22px}.route-card{width:300px;min-height:275px;padding:28px 24px 22px;background:#1b202a;border:1px solid #484a52;position:relative;border-radius:4px;text-align:center;transition:transform .2s,border-color .2s}.route-card:before{content:"";position:absolute;inset:8px;border:1px solid #4d494133;pointer-events:none}.route-card:hover{transform:translateY(-5px);border-color:var(--gold)}.room-symbol{display:flex;align-items:center;justify-content:center;width:67px;height:67px;margin:0 auto 14px;border:1px solid #615341;border-radius:50%;color:var(--gold)}.room-symbol .icon{width:34px;height:34px}.route-number{display:block;font-size:9px;letter-spacing:2px;color:#9e998e}.route-card h2{font-family:var(--serif);font-size:23px;font-weight:400;margin:11px 0}.route-card p{font-size:12px;color:var(--muted)}.route-cta{display:flex;align-items:center;justify-content:center;gap:20px;color:var(--gold);border-top:1px solid #49483f;margin-top:25px;padding-top:15px;font-size:12px}.route-cta .icon{width:18px;height:18px}.route-card.elite .room-symbol,.route-card.boss .room-symbol{color:#d89c90;border-color:#846356}.relic-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:34px}.relic{display:flex;align-items:center;gap:12px}.relic-symbol{width:42px;height:42px;background:#24272b;border:1px solid #514937;border-radius:5px;color:var(--gold);display:flex;align-items:center;justify-content:center}.relic-symbol .icon{width:23px;height:23px}.relic strong{font-size:12px;font-weight:500;display:block}.relic small{display:block;font-size:10px;color:#aaa79d;margin-top:2px}
.combat-screen{max-width:1200px;margin:auto;padding:0 24px 30px}.combat-caption{display:flex;align-items:center;justify-content:space-between;height:42px;padding:0 8px}.combat-caption .eyebrow{font-size:9px}.battle-stage{height:303px;position:relative;overflow:hidden;border:1px solid #353742;border-radius:4px;background:#121722}.battle-stage>.vault-scene{position:absolute;inset:0;width:100%;height:100%;opacity:.75}.player-unit,.enemy-unit{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;top:8px;height:282px;width:250px}.player-unit{left:12%;}.enemy-unit{right:12%;}.character{height:200px;width:160px;display:block}.battle-stage .hero-character{animation:breathe 5s ease-in-out infinite;transform-origin:50% 90%}.enemy-character{animation:breathe 4.3s ease-in-out infinite;transform-origin:50% 90%}.boss-character{height:210px;width:180px}.player-unit .unit-label{position:absolute;top:4px;left:-7px;width:132px;text-align:center;z-index:2}.player-unit>.character{margin-top:21px}.enemy-unit .unit-label{position:absolute;bottom:23px;width:138px;z-index:2}.enemy-unit .character{margin-top:-19px}.unit-title{display:block;color:#dfd5c3;font-size:12px;margin-bottom:5px}.unit-health{display:flex;align-items:center;justify-content:center;font-size:10px;color:#c7bbb0;margin-top:3px;gap:5px}.unit-health .icon{width:10px;height:10px;color:var(--fire)}.hp-meter{width:100%;height:7px;display:block;border:0;background:#32353e;appearance:none;border-radius:2px;overflow:hidden}.hp-meter::-webkit-meter-bar{background:#343742;border:0;border-radius:2px;height:7px}.hp-meter::-webkit-meter-optimum-value{background:#be9780}.player-meter::-webkit-meter-optimum-value{background:#81a59d}.hp-meter::-moz-meter-bar{background:#be9780}.player-meter::-moz-meter-bar{background:#81a59d}.intent{position:absolute;z-index:2;top:4px;display:flex;gap:10px;align-items:center;padding:7px 14px;border:1px solid #88655099;background:#2b2427e8;border-radius:3px}.intent .icon{width:24px;height:24px;color:var(--fire)}.intent small{display:block;color:#b4a79b;font-size:9px}.intent strong{display:block;color:#f3c9ac;font-size:12px}.intent.guard{background:#202e31e8;border-color:#648a7a99}.intent.guard .icon,.intent.guard strong{color:var(--teal)}.intent.charge{background:#2b2739e8;border-color:#8c7cab99}.intent.charge .icon,.intent.charge strong{color:var(--violet)}.unit-status{position:absolute;bottom:0;display:flex;align-items:center;justify-content:center;gap:8px;width:270px}.status-tag{padding:3px 7px;background:#302e34;border:1px solid #655a48;border-radius:3px;display:flex;align-items:center;gap:4px;font-size:9px;color:var(--gold)}.status-tag .icon{width:12px;height:12px}.block-tag{background:#1f3132;border-color:#537671;color:var(--teal)}.burn-tag{background:#3c2726;border-color:#805549;color:var(--fire)}.battle-divider{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#b7a28066;font-size:27px}.stage-floor-caption{position:absolute;bottom:10px;left:17px;right:17px;display:flex;justify-content:space-between;font-size:7px;color:#8e8c83;letter-spacing:1.7px;pointer-events:none}.turn-toolbar{display:flex;align-items:center;gap:17px;padding:15px 4px 12px;border-bottom:1px solid #343943}.energy-orb{width:51px;height:51px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #ba995b;border-radius:50%;background:#323027;box-shadow:0 0 0 5px #b6955811;color:var(--gold-light)}.energy-orb b{font-family:var(--serif);font-size:25px;line-height:1}.energy-orb span{font-size:8px;margin-top:2px}.turn-advice{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.turn-advice strong{color:#ddd3bd;font-size:12px}.turn-advice small{font-size:10px;color:#959ba6}.end-turn{min-height:43px;background:#2d3034;border:1px solid #756447;color:var(--gold-light);padding:10px 18px;font-size:12px;white-space:nowrap}.end-turn:hover{background:#3a3731}.end-turn .icon{width:16px;height:16px}.hand-heading{display:flex;align-items:center;justify-content:space-between;color:#aaa69c;font-size:10px;height:39px;letter-spacing:.5px}.hand-heading b{color:var(--gold);margin-left:3px}.pile-controls{display:flex;gap:21px}.pile-controls .text-button{font-size:10px}.hand-cards{display:flex;justify-content:center;align-items:stretch;gap:12px;padding:5px 6px 11px;overflow:auto;scrollbar-width:thin;scrollbar-color:#756348 #1a1d26;min-height:219px}.card{flex:0 0 169px;display:flex;flex-direction:column;align-items:stretch;width:169px;min-height:207px;border-radius:6px;border:1px solid #95695a;background:#292225;color:var(--fire);text-align:left;padding:10px 11px 8px;position:relative;box-shadow:0 4px 10px #0003;transition:transform .16s,box-shadow .16s,border-color .16s}.card:before{content:"";position:absolute;inset:4px;border:1px solid currentColor;opacity:.15;border-radius:3px;pointer-events:none}.card.guard{background:#1f2b2e;color:var(--teal);border-color:#5c8882}.card.focus{background:#272637;color:var(--violet);border-color:#7e759b}.card:hover:enabled{transform:translateY(-3px);border-color:#e7d1a6}.card.selected{border-color:var(--gold-light);box-shadow:0 0 0 2px var(--gold),0 4px 15px #0003;transform:translateY(-3px)}.card.unaffordable:not(.selected){filter:saturate(.6);opacity:.7}.card-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;min-height:24px}.card-cost{width:25px;height:25px;border:1px solid currentColor;background:#11141bcc;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#f5e7cf;font-family:var(--serif);font-size:17px}.card-type{font-size:9px;letter-spacing:1px;opacity:.9}.rarity-mark{font-size:12px;color:var(--gold);margin-left:4px}.card-art{width:100%;height:80px;margin:2px 0 5px;flex-shrink:0}.card-name{color:#f2e8d7;font-family:var(--serif);font-size:15px;font-weight:500;letter-spacing:-.1px;line-height:1.4;min-height:22px}.card-effects{display:block;font-size:10px;line-height:1.6;margin-top:7px;min-height:33px;color:#bdb7b1}.card-effects strong{color:#eee4d3}.effect-dot{color:#837c7a;display:inline}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff13;padding-top:5px;margin-top:auto;font-size:8px;opacity:.8;letter-spacing:.5px}.enhanced .card-bottom,.plus{color:var(--gold-light)}.card-control{display:flex;align-items:center;gap:18px;justify-content:space-between;margin-top:12px;padding:14px 18px;border:1px solid #3d3e45;background:#1a202b;border-radius:4px;min-height:78px}.selected-description{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px;color:#aaa8a5}.selected-description strong{color:#eadfcb}.selected-description span{font-size:11px}.play-selected{min-width:180px;min-height:43px;white-space:nowrap}.keyboard-hint{margin-top:12px;text-align:center;color:#858a96;font-size:10px}.touch-hint{display:none}.empty-hand{color:var(--muted);padding:70px 0}
.choice-screen{min-height:610px}.offers{display:flex;justify-content:center;gap:30px;margin:26px 0}.offers .card{width:205px;min-height:282px;flex-basis:205px;padding:14px 16px}.offers .card-art{height:123px}.offers .card-name{font-size:19px}.offers .card-effects{font-size:12px;min-height:46px}.offers .card-cost{width:31px;height:31px;font-size:20px}.card-offer{display:flex;flex-direction:column;align-items:stretch;gap:15px}.purchase-button{justify-content:space-between;min-height:44px;gap:8px}.purchase-button .icon{width:18px;height:18px;margin-left:auto;color:var(--gold)}.reward-relic{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}.reward-relic>small{font-size:11px;color:#9b978d}.skip-button{display:flex;margin:25px auto 0;gap:20px}.choice-illustration{width:100px;height:110px;color:var(--gold);margin:10px auto 25px;display:flex;align-items:center;justify-content:center}.choice-illustration .icon{height:92px;width:92px;filter:drop-shadow(0 0 18px #b99a5b33)}.two-choices{display:flex;justify-content:center;gap:22px}.choice-panel{min-height:200px;width:330px;max-width:100%;padding:25px;border:1px solid #4a4b4c;border-radius:4px;background:#1c232c;display:flex;flex-direction:column;align-items:center;text-align:center}.choice-panel:hover:enabled{border-color:var(--gold);background:#242a33}.choice-panel>.icon{width:29px;height:29px;color:var(--gold);margin-bottom:13px}.choice-panel h2{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 10px}.choice-panel p{color:#a9aaa9;font-size:12px}.choice-panel strong{font-size:12px;font-weight:400;margin-top:15px;color:var(--gold)}.risk-choice{border-color:#6c5554}.risk-choice>.icon{color:var(--fire)}.shop-actions{display:flex;justify-content:center;gap:20px;margin-top:29px}.sold-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:205px;min-height:282px;border:1px dashed #4a4540;color:#a89a84;gap:20px;border-radius:4px}.sold-card .icon{width:44px;height:44px;opacity:.45}
.result-screen{max-width:890px;text-align:center}.result-emblem{width:86px;height:86px;margin:0 auto 26px;padding:17px;color:var(--gold);border:1px solid #67563d;border-radius:50%;box-shadow:0 0 0 9px #63513614}.result-emblem .icon{width:100%;height:100%}.result-screen .screen-heading{margin-bottom:20px}.result-score{display:flex;flex-direction:column;align-items:center;margin:22px 0 28px}.result-score small{font-size:10px;letter-spacing:2px;color:#b7ae9a}.result-score strong{font-family:var(--serif);font-size:64px;font-weight:400;line-height:1.2;color:var(--gold-light);font-variant-numeric:tabular-nums}.result-score>span{color:var(--gold)}.result-stats{display:flex;justify-content:center;gap:50px;padding:18px 20px;border-top:1px solid #3a3a40;border-bottom:1px solid #3a3a40}.result-stats small{display:block;color:var(--muted);font-size:11px}.result-stats strong{display:block;font-family:var(--serif);font-size:25px;margin-top:7px;font-weight:400}.result-relics{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:27px 0;text-align:left}.result-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px}.result-note{color:var(--muted);font-size:11px;margin-top:18px}.lost .result-emblem{color:#b49a85}
dialog{max-width:960px;width:calc(100% - 40px);max-height:85svh;background:#1a202b;color:var(--text);border:1px solid #76664a;border-radius:5px;padding:27px;box-shadow:0 25px 100px #000a}dialog::backdrop{background:#080c14cf;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.dialog-heading h2{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.4px}.icon-button{background:#242b37;border:1px solid #4e4e4f;width:38px;height:38px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button .icon{width:17px;height:17px}.dialog-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:25px}.help-intro{color:#d7cab4;font-size:14px;line-height:1.8;max-width:700px}.help-list{margin:25px 0;padding-left:22px;max-width:760px;line-height:1.85;color:#bcb8b0;font-size:13px}.help-list li{padding:5px 0 10px 12px}.help-list li::marker{color:var(--gold)}.dialog-note{color:var(--muted);font-size:11px;margin:15px 0}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:17px;padding:5px}.deck-grid .card{width:100%;flex-basis:auto;min-height:235px}.deck-grid .card-art{height:91px}.collection-legend{display:flex;gap:20px;font-size:12px;margin:0 0 20px}.collection-legend .attack{color:var(--fire)}.collection-legend .guard{color:var(--teal)}.collection-legend .focus{color:var(--violet)}.collection-legend>span:last-child{margin-left:auto;color:var(--muted)}.upgrade-preview,.inspection{display:flex;justify-content:center;align-items:center;gap:28px;margin:20px 0 28px}.upgrade-preview>.icon{color:var(--gold);width:30px;height:30px}.upgrade-preview .card,.remove-preview .card,.inspection .card{width:205px;min-height:270px;flex-basis:205px}.upgrade-preview .card-art,.inspection .card-art,.remove-preview .card-art{height:113px}.upgrade-preview+.primary{display:flex;margin:auto}.remove-preview{display:flex;justify-content:center;margin:20px 0}.remove-preview+.primary{display:flex;margin:auto}.inspection>div{max-width:300px;color:var(--muted);font-size:14px;line-height:2}.inspection .secondary{margin-top:20px}.relic-list{display:flex;flex-direction:column;gap:25px;padding:6px 0 18px}.empty-board{text-align:center;padding:40px 0;color:var(--muted)}.empty-board .icon{width:60px;height:60px;margin:0 auto 20px;color:var(--gold)}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px;border-bottom:1px solid #3a414c}th{color:var(--gold);font-size:11px;font-weight:500}td{font-size:13px}td:last-child{text-align:right}.share-text{width:100%;min-height:110px;border:1px solid #6d614e;background:#121922;border-radius:3px;color:var(--text);padding:15px;margin-top:17px;resize:vertical}.dialog-heading+ p{line-height:1.8}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,14px);opacity:0;background:#e4d1ae;color:#27241f;padding:12px 20px;max-width:calc(100% - 32px);width:max-content;border-radius:4px;box-shadow:0 6px 28px #0007;font-size:12px;pointer-events:none;z-index:10;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes breathe{50%{transform:translateY(-3px)}}
@media(min-width:1100px){.hand-cards:has(.card:nth-child(7)){justify-content:flex-start}.home-copy:lang(en) h1{font-size:79px;letter-spacing:-3px}.home-copy:lang(en) h2{font-size:30px}.home-copy:lang(ko) h1{font-size:65px}}
@media(max-width:1050px){.topbar{padding:0 25px}.home-copy{padding:45px 28px}.home-copy h1{font-size:55px}.home-copy h2{font-size:22px}.home-art{margin-right:22px}.features{gap:12px;flex-wrap:wrap}.home-description{font-size:12px}.home-screen{min-height:710px}.home-art{min-height:640px}.art-caption{left:20px;right:20px;flex-direction:column}.hand-cards{justify-content:flex-start}.player-unit{left:8%}.enemy-unit{right:8%}.status-values{gap:20px}.card-control{padding:12px 14px}.home-copy:lang(en) h1{font-size:59px}}
@media(max-width:720px){.topbar{height:59px;padding:0 17px}.brand{font-size:13px}.brand-game,.brand-divider{display:none}.topbar nav{gap:10px}.quiet{font-size:11px}.sound{display:block}select{font-size:11px;min-height:35px;padding:6px 8px}.home-screen{display:flex;flex-direction:column;min-height:0;padding:0 22px 28px}.home-copy{padding:29px 0 15px;order:0}.home-art{order:1;margin:12px 0 0;height:330px;min-height:0;width:100%}.edition{margin-bottom:30px;font-size:8px}.home-copy h1{font-size:53px;margin:14px 0 17px}.home-copy:lang(en) h1{font-size:62px}.home-copy h2{font-size:22px}.home-description{font-size:12px;margin-top:16px}.features{font-size:10px;margin:21px 0 24px;gap:17px}.home-actions{max-width:none}.home-links{margin-top:18px}.start-note{font-size:10px;margin-top:8px}.home-adventurer{width:25%;left:38%;bottom:10%}.home-art .vault-scene.home{width:100%;left:0}.art-caption{flex-direction:row;bottom:23px;font-size:6px}.home-art:after{inset:9px}footer{padding:20px 22px;font-size:8px;gap:14px}footer>span:nth-child(2){display:none}main{min-height:calc(100svh - 117px)}.run-status{height:auto;min-height:70px;flex-wrap:wrap;gap:10px;padding:12px 17px}.status-left{width:100%;justify-content:space-between}.run-title{font-size:9px;padding:0;gap:8px}.run-title .icon{width:18px;height:18px}.mode-pill{font-size:9px;padding:2px 6px}.status-values{justify-content:space-between;width:100%;gap:14px}.stat{font-size:12px;gap:6px}.stat .icon{width:14px;height:14px}.stat small{font-size:10px}.deck-button{font-size:10px;padding:0}.deck-button .icon{width:15px;height:15px}.combat-screen{padding:0 12px 22px}.combat-caption{height:35px;padding:0 3px}.combat-caption .eyebrow{font-size:8px;letter-spacing:1.5px}.combat-caption .text-button{font-size:10px;min-height:30px}.battle-stage{height:240px}.player-unit,.enemy-unit{width:155px;height:220px;top:10px}.player-unit{left:3%}.enemy-unit{right:3%}.character{height:156px;width:116px}.boss-character{height:169px;width:130px}.player-unit .unit-label{width:106px;left:0;top:0}.enemy-unit .unit-label{width:113px;bottom:18px}.unit-title{font-size:10px;line-height:1.3}.unit-health{font-size:9px}.intent{top:0;padding:6px 9px;gap:6px;min-width:103px}.intent .icon{width:19px;height:19px}.intent small{font-size:8px}.intent strong{font-size:10px}.unit-status{bottom:-1px;gap:5px;width:170px}.status-tag{font-size:8px;padding:2px 5px}.status-tag .icon{width:10px;height:10px}.stage-floor-caption{display:none}.battle-divider{font-size:20px}.turn-toolbar{gap:11px;padding:14px 1px 13px}.energy-orb{width:41px;height:41px}.energy-orb b{font-size:22px}.energy-orb span{font-size:7px}.turn-advice strong{font-size:10px}.turn-advice small{font-size:9px;line-height:1.5;max-width:170px}.end-turn{font-size:11px;min-height:41px;padding:8px 12px;gap:8px}.end-turn .icon{width:13px;height:13px}.hand-heading{font-size:10px}.pile-controls{gap:12px}.hand-cards{gap:11px;padding:6px 5px 12px;min-height:215px;scroll-padding:5px}.hand-cards .card{width:148px;flex-basis:148px;min-height:200px}.card-name{font-size:14px}.card-art{height:76px}.card-effects{font-size:10px}.card-control{position:sticky;bottom:0;z-index:3;padding:11px 12px;gap:10px;margin-top:6px;background:#1a202bf5;min-height:77px}.selected-description{font-size:11px}.selected-description span{font-size:10px;line-height:1.5}.play-selected{min-width:100px;font-size:11px;gap:7px;padding:11px 12px;min-height:42px}.play-selected .icon{width:14px;height:14px}.keyboard-hint{font-size:9px;margin-top:10px}.desktop-hint{display:none}.touch-hint{display:inline}.map-screen,.choice-screen,.result-screen{padding:29px 18px 40px}.screen-heading{margin-bottom:26px}.screen-heading h1{font-size:28px;line-height:1.4;margin:12px 0}.screen-heading p{font-size:12px}.screen-heading .eyebrow{font-size:9px;letter-spacing:2px}.route-progress{margin:25px auto 31px}.route-step{min-width:28px;gap:8px}.route-node{width:28px;height:28px;font-size:12px}.route-step small{font-size:8px}.route-step:last-child small{max-width:35px;text-align:center;line-height:1.4}.route-progress:before{top:14px}.route-step.current .route-node{box-shadow:0 0 0 4px #d9b77d12}.route-choices{gap:13px}.route-card{width:100%;max-width:280px;min-height:237px;padding:22px 12px 17px}.route-card h2{font-size:20px;line-height:1.3}.route-card p{font-size:10px;min-height:31px;line-height:1.6}.room-symbol{width:53px;height:53px;margin-bottom:10px}.room-symbol .icon{width:29px;height:29px}.route-number{font-size:8px;letter-spacing:1px}.route-cta{font-size:10px;gap:9px;margin-top:14px;padding-top:13px}.relic-bar{margin-top:30px}.relic strong{font-size:11px}.relic small{font-size:10px}.offers{gap:12px;flex-wrap:wrap;margin:25px 0}.offers .card{width:154px;flex-basis:154px;min-height:229px;padding:11px 13px}.offers .card-art{height:94px}.offers .card-name{font-size:15px;min-height:23px}.offers .card-effects{font-size:11px;min-height:35px}.offers .card-cost{width:27px;height:27px;font-size:18px}.card-offer{gap:9px}.reward-relic{flex-direction:column;gap:10px}.reward-screen .offers{flex-wrap:nowrap;overflow:auto;justify-content:flex-start;gap:12px;margin-left:-6px;margin-right:-6px;padding:8px 7px 12px}.reward-screen .card-offer{flex:0 0 154px}.choice-illustration{height:77px;width:77px;margin:5px auto 23px}.choice-illustration .icon{width:72px;height:72px}.two-choices{gap:12px}.choice-panel{padding:20px 12px;min-height:190px}.choice-panel h2{font-size:19px;line-height:1.4}.choice-panel p{font-size:11px;line-height:1.7}.choice-panel strong{font-size:11px}.choice-panel>.icon{width:25px;height:25px}.shop-actions{flex-direction:column;gap:12px;margin-top:20px}.sold-card{width:154px;min-height:229px}.purchase-button{font-size:11px;padding:10px 12px;min-height:40px}.purchase-button .icon{width:15px;height:15px}.result-emblem{width:69px;height:69px;padding:14px;margin-bottom:21px}.result-screen .screen-heading h1{font-size:27px}.result-score strong{font-size:57px}.result-stats{gap:0;justify-content:space-between;padding:15px 3px}.result-stats small{font-size:10px}.result-stats strong{font-size:22px}.result-relics{gap:14px}.result-relics .relic small{max-width:190px}.result-actions{flex-direction:column;align-items:stretch;gap:12px}.result-actions .text-button{justify-content:center}.result-note{font-size:10px;line-height:1.7}.result-score{margin:20px 0}.choice-screen{min-height:calc(100svh - 200px)}dialog{width:calc(100% - 24px);padding:19px;max-height:88svh}.dialog-heading h2{font-size:23px}.dialog-heading{margin-bottom:18px}.icon-button{width:34px;height:34px}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:3px}.deck-grid .card{min-height:216px;min-width:0;padding:10px}.deck-grid .card-art{height:81px}.deck-grid .card-name{font-size:14px}.deck-grid .card-effects{font-size:10px}.collection-legend{font-size:10px;gap:15px}.dialog-note{font-size:10px}.help-intro{font-size:12px}.help-list{font-size:12px;line-height:1.8;padding-left:18px}.help-list li{padding-left:7px}.upgrade-preview{gap:9px}.upgrade-preview .card{flex-basis:calc(50% - 15px);width:calc(50% - 15px);min-width:0;min-height:211px;padding:10px}.upgrade-preview .card-art{height:81px}.upgrade-preview>.icon{width:20px;height:20px;flex-shrink:0}.inspection{flex-direction:column;gap:20px}.inspection .card{flex-basis:auto}.dialog-actions{flex-direction:column;gap:12px}th,td{padding:12px 5px;font-size:11px}}
@media(max-width:360px){.topbar nav{gap:12px}.home-screen{padding-left:18px;padding-right:18px}.home-copy h1{font-size:47px}.home-copy:lang(en) h1{font-size:53px}.features{gap:10px;font-size:9px}.features .icon{width:13px;height:13px}.player-unit{left:0}.enemy-unit{right:0}.player-unit,.enemy-unit{width:142px}.battle-stage{height:230px}.turn-advice small{display:none}.turn-advice strong{line-height:1.6}.selected-description span{font-size:9px}.play-selected{min-width:92px;font-size:10px}.play-selected .icon{display:none}.offers .card{width:135px;flex-basis:135px}.sold-card{width:135px}.offers .card-name{font-size:14px}.choice-panel h2{font-size:17px}.route-card h2{font-size:18px}.result-screen .screen-heading h1{font-size:24px}.art-caption{font-size:5px}.mode-pill{max-width:140px}.topbar .brand{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* v2: heat, records, challenge, route preview, combat feedback, compact mobile hand */
.heat-pill{display:inline-flex;align-items:center;gap:4px;color:#f0a060;border-color:#7a4c33}.heat-pill .icon{width:11px;height:11px}
.heat-picker{padding:12px 14px;border:1px solid #3f444f;border-radius:3px;background:#161b25}.heat-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#d9ccb3}.heat-head span{display:flex;gap:6px;align-items:center}.heat-head .icon{width:14px;height:14px;color:#f0a060}.heat-head small{color:#a3a5ac;font-size:10px}.heat-levels{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:10px 0 8px}.heat-level{min-height:36px;border:1px solid #454955;background:#1d222c;border-radius:3px;font-family:var(--serif);font-size:15px;color:#d9ccb3}.heat-level:hover:enabled{border-color:#f0a060}.heat-level.active{background:#5a3524;border-color:#f0a060;color:#ffe2c6;box-shadow:0 0 12px #f0a06033}.heat-level:disabled{opacity:.35}.heat-note{display:block;color:#b3b0a6;font-size:10px;line-height:1.5}.heat-note span{color:#80858f}
.record-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:360px;border:1px solid #33373f;border-radius:3px;margin:0 0 16px}.record-strip div{padding:9px 10px;border-right:1px solid #33373f;min-width:0}.record-strip div:last-child{border:0}.record-strip small{display:block;font-size:9px;color:#9a9ca3;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-strip strong{font-family:var(--serif);font-size:17px;color:var(--gold-light);font-weight:400}
.challenge-card{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;padding:14px;border:1px solid var(--gold);background:linear-gradient(135deg,#2c2519,#1a1d26);border-radius:4px}.challenge-card .primary{grid-column:1/-1}.challenge-icon .icon{width:30px;height:30px;color:var(--gold)}.challenge-copy strong{display:block;font-size:14px;color:var(--gold-light)}.challenge-copy small{display:block;font-size:11px;color:#c8bfae;margin-top:3px;line-height:1.5}.challenge-copy em{display:block;font-style:normal;font-size:10px;letter-spacing:1px;color:#a9a18f;margin-top:6px}
.route-peek{display:flex;flex-direction:column;gap:3px;align-items:center}.peek{display:flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;background:#1c212b;border:1px solid #3a3e48}.peek .icon{width:11px;height:11px;color:#a4a7b0}.peek.elite .icon,.peek.boss .icon{color:var(--fire)}.peek.rest .icon{color:#f0a060}.peek.shop .icon{color:var(--gold)}.peek.event .icon{color:var(--violet)}.route-peek.past .peek{opacity:.5}
.intent.scorch{background:#2f2420e8;border-color:#a0643f99}.intent.scorch .icon,.intent.scorch strong{color:#f0a060}
.action-caption{min-height:20px;margin:9px 0 0;text-align:center;font-size:11px;color:#dccfb6;opacity:0;transition:opacity .25s}.action-caption.visible{opacity:1}
.inline-icon{display:inline-block;width:12px;height:12px;vertical-align:-1px;color:#f0a060}
.float{position:absolute;left:50%;top:calc(36% + var(--i,0) * 26px);z-index:4;pointer-events:none;white-space:nowrap;font-family:var(--serif);font-size:22px;font-weight:600;text-shadow:0 2px 6px #000c,0 0 2px #000;transform:translate(-50%,0);animation:float-up 1.35s ease-out both;animation-delay:calc(var(--i,0) * .12s)}
.float.damage{color:#ff9d86}.float.block{color:#9fd6cb;font-size:16px}.float.heal{color:#a8e0a0}.float.burn{color:#f6aa66;font-size:17px}.float.buff{color:var(--gold-light);font-size:16px}
@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}15%{opacity:1;transform:translate(-50%,0) scale(1.12)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-48px) scale(1)}}
.enemy-unit.hit{animation:shake .38s}.player-unit.hurt .character{animation:hurt .5s}
@keyframes shake{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}
@keyframes hurt{0%,100%{filter:none}30%{filter:drop-shadow(0 0 12px #e2533d) brightness(1.4) sepia(.6) hue-rotate(-30deg)}}
.battle-stage.low-hp:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 70px 12px #b33a2a55;animation:heartbeat 1.8s ease-in-out infinite}
@keyframes heartbeat{50%{box-shadow:inset 0 0 90px 18px #b33a2a77}}
.battle-stage.enraged .enemy-character{filter:drop-shadow(0 0 14px #d0553c99) saturate(1.25)}.battle-stage.rage{animation:rage .8s}
@keyframes rage{30%{box-shadow:inset 0 0 0 3px #e2533d,0 0 30px #e2533d66}}
.end-turn.pulse{border-color:var(--gold);background:#3a3428;animation:ready 1.6s ease-in-out infinite}
@keyframes ready{50%{box-shadow:0 0 0 4px #d9b77d33,0 0 18px #d9b77d44}}
.coach{display:flex;gap:12px;align-items:center;margin:12px 0 0;padding:12px 14px;border:1px dashed #8a7650;background:#221f1c;border-radius:4px;font-size:12px;color:#e9dcc3;line-height:1.55}.coach strong{display:block;color:var(--gold);font-size:11px;margin-bottom:2px}.coach-icon .icon{width:26px;height:26px;color:var(--gold)}.coach .text-button{margin-left:auto;white-space:nowrap;color:var(--gold-light)}
.result-best{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:11px;color:#b7ae9a;margin:-14px 0 14px}.result-best span{display:inline-flex;align-items:center;gap:5px}.result-best .icon{width:12px;height:12px;color:#f0a060}.new-best{color:var(--gold-light);font-weight:600;animation:glow-text 1.6s ease-in-out infinite}
@keyframes glow-text{50%{text-shadow:0 0 12px #efcca0aa}}
.unlock-note{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border:1px solid #a0643f;color:#ffd9b8;border-radius:3px;font-size:12px;margin-bottom:16px}.unlock-note .icon{width:14px;height:14px;color:#f0a060}
.share-route{font-size:20px;letter-spacing:3px;margin:0 0 18px;line-height:1.6;word-break:break-all}
@media(max-width:720px){
.hand-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible;min-height:0;padding:6px 0 10px}
.hand-cards .card{width:auto;flex-basis:auto;min-width:0;min-height:0;padding:6px 5px 7px;border-radius:5px}
.hand-cards .card:before{inset:2px}
.hand-cards .card-type,.hand-cards .card-bottom{display:none}
.hand-cards .card-art{height:38px;margin:0 0 3px}
.hand-cards .card-cost{width:20px;height:20px;font-size:13px}
.hand-cards .card-name{font-size:11px;line-height:1.25;min-height:28px;word-break:keep-all;overflow-wrap:anywhere}
.hand-cards .card-effects{font-size:9px;line-height:1.35;margin-top:3px;min-height:0}
.hand-cards .effect-dot{display:block;height:0;overflow:hidden}
.hand-cards .card.selected,.hand-cards .card:hover:enabled{transform:translateY(-4px)}
.peek{width:15px;height:15px}.peek .icon{width:9px;height:9px}
.record-strip strong{font-size:15px}.float{font-size:18px}.float.block,.float.buff,.float.burn{font-size:13px}
.coach{font-size:11px;padding:10px 12px;gap:9px}.coach-icon{display:none}
.share-route{font-size:17px;letter-spacing:2px}
}
@media(max-width:360px){.hand-cards{gap:4px}.hand-cards .card{padding:5px 3px 6px}.hand-cards .card-name{font-size:10px}.hand-cards .card-effects{font-size:8.5px}.heat-level{min-height:34px}}
