:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf3ef;font-synthesis:none;text-rendering:optimizelegibility;--ink:#06080d;--panel:#0f141deb;--line:#e9daad38;--gold:#e1b86b;--muted:#a9b0b7;--danger:#ef6e62;--good:#71d6b3;background:#06080d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#06080d;min-width:320px;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #ffe3a4}h1,h2,h3,p{margin-top:0}h1,h2,h3,.eyebrow,.brand-mini,.card-name,.card-type{font-family:Arial Narrow,Impact,sans-serif}.title-screen,.game-shell,.codex-screen{background:radial-gradient(circle at 20% 10%,#5ecac914,#0000 32rem),radial-gradient(circle at 80% 18%,#dd784b17,#0000 36rem),linear-gradient(160deg,#090d14,#05070b 58%,#0d0b12);min-height:100vh}.eyebrow{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:inline-block}.primary-button,.ghost-button,.text-button{cursor:pointer;border:0;border-radius:999px;padding:.88rem 1.35rem;font-weight:700;transition:transform .18s,background .18s,border-color .18s}.primary-button{color:#15100b;background:linear-gradient(135deg,#e7c176,#b77546);box-shadow:0 10px 40px #c7834733}.ghost-button{background:#0f131bb3;border:1px solid #e8d8ac59}.text-button{color:#c9c5b6;text-underline-offset:4px;background:0 0;text-decoration:underline}.primary-button:hover,.ghost-button:hover,.text-button:hover{transform:translateY(-2px)}.title-screen{padding:4.5rem clamp(1rem,4vw,4.5rem) 5rem;position:relative;overflow:hidden}.title-atmosphere{pointer-events:none;position:absolute;inset:0}.orb{aspect-ratio:1;filter:blur(50px);opacity:.16;border-radius:50%;width:28rem;animation:13s ease-in-out infinite alternate drift;position:absolute}.orb.one{background:#52cdc8;top:-12rem;left:-9rem}.orb.two{background:#c86e49;animation-delay:-4s;top:20rem;right:-8rem}.scanline{opacity:.08;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,#0000 0 4px,#ffffff2b 5px);position:absolute;inset:0}.hero-title{text-align:center;max-width:850px;margin:0 auto 3rem;position:relative}.hero-title h1{letter-spacing:-.04em;text-transform:uppercase;text-shadow:0 0 80px #49cfc821;margin:.15rem 0 0;font-size:clamp(5rem,13vw,11rem);font-weight:900;line-height:.8}.hero-title h1 span,.brand-mini span{color:var(--gold)}.hero-title p{color:#b9c0c4;max-width:620px;margin:1.5rem auto;font-size:clamp(1rem,2vw,1.28rem)}.title-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.class-select{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:1440px;margin:0 auto;display:grid;position:relative}.class-tile{cursor:pointer;text-align:left;background:#11151e;border:1px solid #ffffff1f;border-radius:1.35rem;min-height:430px;padding:0;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.class-tile:hover{border-color:#ffffff52;transform:translateY(-6px)}.class-tile.selected{border-color:var(--gold);transform:translateY(-8px);box-shadow:0 20px 60px #00000073,0 0 0 1px #e1b86b4d}.character-art{width:100%;height:auto;display:block}.character-art.compact{object-fit:cover;height:100%}.class-tile>.character-art{width:100%;height:100%;position:absolute;inset:0}.class-tile-copy{background:linear-gradient(#0000,#05070bf2 48%);padding:6rem 1.2rem 1.2rem;position:absolute;inset:auto 0 0}.class-tile-copy>span{color:var(--gold);letter-spacing:.16em;font-size:.7rem}.class-tile h2{margin:.15rem 0 0;font-size:2rem;line-height:.9}.class-tile h3{color:#b9c4ca;letter-spacing:.08em;margin:.25rem 0 .55rem;font-size:1.05rem}.class-tile p{color:#b8bdc2;margin:0;font-size:.82rem;line-height:1.45}.selected-class-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f141dc7;border-radius:1.2rem;grid-template-columns:1fr auto;align-items:end;gap:2rem;max-width:1100px;margin:2rem auto 0;padding:1.7rem;display:grid;position:relative}.selected-class-panel h2{margin:.25rem 0 .4rem;font-size:2.4rem}.selected-class-panel p{color:#bac0c5;max-width:700px;margin-bottom:.5rem}.warning-copy{font-size:.86rem}.seed-control{grid-template-columns:1fr auto;gap:.6rem;min-width:380px;display:grid}.seed-control label{color:#bfc5c9;text-transform:uppercase;letter-spacing:.12em;grid-column:1/-1;font-size:.75rem;font-weight:700}.seed-control input{color:#fff;background:#04060aa6;border:1px solid #ffffff2b;border-radius:.8rem;min-width:0;padding:.85rem;font-family:ui-monospace,monospace}.history-strip{max-width:1100px;margin:2rem auto 0}.history-strip>div{grid-template-columns:repeat(5,1fr);gap:.65rem;margin-top:.6rem;display:grid}.history-strip article{background:#0c101799;border:1px solid #ffffff14;border-radius:.8rem;gap:.2rem;padding:.85rem;display:grid}.history-strip article span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.history-strip article .victory{color:var(--good)}.history-strip article .defeat{color:var(--danger)}.history-strip article small{color:#838b92}@keyframes drift{0%{transform:translate(-2rem,-1rem)scale(.95)}to{transform:translate(3rem,4rem)scale(1.08)}}.game-shell{--class-primary:#e37a50;--class-accent:#65d7d0;--class-dark:#16222c;padding-top:66px}.top-bar{z-index:50;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#06080de0;border-bottom:1px solid #ffffff1a;align-items:center;gap:1.4rem;height:66px;padding:0 clamp(.8rem,2vw,2rem);display:flex;position:fixed;inset:0 0 auto}.brand-mini{letter-spacing:-.02em;font-size:1.35rem;font-weight:900}.run-identity{min-width:130px;display:grid}.run-identity b{font-size:.82rem}.run-identity span{color:#88939b;font-size:.68rem}.run-vitals{align-items:center;gap:.85rem;margin-left:auto;font-size:.82rem;display:flex}.hp-chip{color:#ff8f86}.gold-chip{color:var(--gold)}.top-bar nav{gap:.25rem;display:flex}.top-bar nav button{color:#b5bdc2;cursor:pointer;background:0 0;border:0;border-radius:.55rem;padding:.48rem .7rem}.top-bar nav button:hover{color:#fff;background:#ffffff14}.toast-message{z-index:45;color:#cbd2d4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#070a0fe0;border:1px solid #ffffff24;border-radius:999px;max-width:min(90vw,700px);padding:.7rem 1rem;font-size:.78rem;position:fixed;bottom:.8rem;left:50%;transform:translate(-50%)}.map-screen{background:radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--class-primary) 20%,transparent),transparent 45%),linear-gradient(180deg,#0e131ce0,#06080cfa);grid-template-columns:minmax(190px,.75fr) minmax(420px,1.65fr) minmax(180px,.65fr);align-items:center;gap:1.5rem;min-height:calc(100vh - 66px);padding:2.3rem clamp(1rem,3vw,3rem) 4rem;display:grid}.act-heading h1{margin:.25rem 0 .7rem;font-size:clamp(2.8rem,5vw,5.6rem);line-height:.86}.act-heading p{color:#aeb5ba;line-height:1.65}.route-map{background:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px),radial-gradient(circle at 50% 65%,color-mix(in srgb,var(--class-primary) 18%,transparent),transparent 42%),#0a0e15;background-size:32px 32px,32px 32px,auto,auto;border:1px solid #ffffff1a;border-radius:1.5rem;min-height:720px;max-height:82vh;position:relative;overflow:hidden}.route-map:after{content:"";pointer-events:none;background:linear-gradient(#e1b86b0f,#0000 17% 83%,#59d6cf0f);position:absolute;inset:0}.route-lines{z-index:0;width:90%;height:94%;position:absolute;inset:3% 5%;overflow:visible}.route-lines line{vector-effect:non-scaling-stroke;stroke-width:2px;stroke-dasharray:5 5}.route-lines .locked{stroke:#ffffff1a}.route-lines .available{stroke:#e1b86bb3}.route-lines .traveled{stroke:var(--class-accent);stroke-width:3px;stroke-dasharray:none}.map-rows{z-index:1;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:2.2rem 1.5rem}.map-row{grid-template-columns:repeat(3,1fr);justify-items:center;min-height:70px;display:grid}.map-node{color:#9ca5ab;letter-spacing:.08em;text-transform:uppercase;cursor:not-allowed;background:#0a0e15f2;border:1px solid #ffffff24;border-radius:1rem;place-items:center;gap:.1rem;width:86px;min-height:62px;font-size:.62rem;transition:transform .16s,border .16s,box-shadow .16s;display:grid}.map-node .node-icon{color:#66717a;font-size:1.35rem}.map-node.accessible{color:#e9dfc9;cursor:pointer;border-color:#e1b86bcc;animation:2.4s ease-in-out infinite nodePulse;box-shadow:0 0 25px #e1b86b1f}.map-node.accessible .node-icon{color:var(--gold)}.map-node.accessible:hover{border-color:#fff;transform:scale(1.08)}.map-node.visited{border-color:color-mix(in srgb,var(--class-accent) 65%,transparent);background:color-mix(in srgb,var(--class-dark) 78%,#000);color:#8bcfc5;opacity:.8}.map-node.boss{border-radius:50%;width:120px;min-height:72px}@keyframes nodePulse{0%,to{box-shadow:0 0 18px #e1b86b1a}50%{box-shadow:0 0 32px #e1b86b38}}.map-legend{gap:.65rem;display:grid}.map-legend>div{background:#0c10179e;border:1px solid #ffffff12;border-radius:.75rem;align-items:center;gap:.75rem;padding:.65rem;display:flex}.legend-icon{width:34px;height:34px;color:var(--gold);background:#e1b86b1f;border-radius:50%;flex:none;place-items:center;display:grid}.map-legend p{margin:0;font-size:.77rem;display:grid}.map-legend small{color:#7e8991;line-height:1.35}.game-card{--card-primary:#d07d4f;--card-accent:#e2c37b;--card-dark:#1b2228;text-align:left;cursor:pointer;transform-origin:bottom;background:0 0;border:0;border-radius:14px;flex:0 0 210px;width:210px;height:320px;padding:0;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s;position:relative}.game-card:not(:disabled):hover{z-index:6;transform:translateY(-28px)scale(1.06)}.game-card:disabled{cursor:default}.game-card.disabled{filter:saturate(.35)brightness(.62)}.game-card.selected .card-chrome{box-shadow:0 0 0 3px #fff,0 16px 50px #0009}.card-chrome{border:2px solid color-mix(in srgb,var(--card-accent) 70%,#fff);background:linear-gradient(145deg,color-mix(in srgb,var(--card-dark) 80%,#000),#0b0d12);box-shadow:0 12px 30px #00000073,inset 0 0 32px color-mix(in srgb,var(--card-primary) 14%,transparent);border-radius:14px;grid-template-rows:42px 118px 24px minmax(65px,1fr) 39px;padding:7px;display:grid;position:absolute;inset:0;overflow:hidden}.game-card.rare .card-chrome{border-color:#f3d47d;box-shadow:0 12px 35px #00000080,0 0 22px #e3be5d26}.game-card.uncommon .card-chrome{border-color:color-mix(in srgb,var(--card-primary) 68%,#fff)}.game-card.power .card-chrome{background:linear-gradient(145deg,color-mix(in srgb,var(--card-dark) 70%,#382648),#0b0d12)}.game-card.status .card-chrome,.game-card.curse .card-chrome{filter:grayscale(.5)}.card-cost{z-index:3;border:3px solid color-mix(in srgb,var(--card-accent) 70%,#fff);background:radial-gradient(circle at 35% 30%,var(--card-primary),var(--card-dark));border-radius:50%;place-items:center;width:48px;height:48px;font:800 1.45rem Arial Narrow,Impact,sans-serif;display:grid;position:absolute;top:-5px;left:-5px;box-shadow:0 4px 10px #00000080}.card-name{color:#fff;text-align:center;justify-content:center;align-items:center;padding-left:26px;font-size:1.15rem;font-weight:700;line-height:1;display:flex}.upgrade-mark{color:#71e2b5;margin-left:.2rem}.card-art{background:#0d1118;border:1px solid #ffffff38;border-radius:7px;overflow:hidden}.card-art-svg{width:100%;height:100%;display:block}.card-type{color:color-mix(in srgb,var(--card-accent) 75%,#fff);letter-spacing:.09em;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff17;justify-content:center;align-items:center;margin-top:4px;font-size:.66rem;display:flex}.card-rules{color:#e4e6e5;text-align:center;place-items:center;padding:8px 8px 4px;font-size:.75rem;line-height:1.38;display:grid}.card-flavor{color:#8c9397;text-align:center;align-self:end;padding:4px 9px 6px;font-family:Georgia,serif;font-size:.58rem;font-style:italic;line-height:1.25}.game-card.compact{flex-basis:150px;width:150px;height:230px}.game-card.compact .card-chrome{grid-template-rows:31px 82px 19px 1fr}.game-card.compact .card-cost{width:35px;height:35px;font-size:1rem}.game-card.compact .card-name{padding-left:18px;font-size:.85rem}.game-card.compact .card-type{font-size:.5rem}.game-card.compact .card-rules{padding:4px;font-size:.6rem}.game-card.compact .card-flavor{display:none}.combat-screen{background:radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--class-primary) 15%,transparent),transparent 45%),linear-gradient(180deg,#111722,#070a10 74%);grid-template-rows:minmax(450px,1fr) auto;min-height:calc(100vh - 66px);display:grid}.combat-stage{grid-template-rows:1fr auto;min-height:500px;padding:1.2rem clamp(.8rem,2.5vw,2.5rem) 0;display:grid;position:relative;overflow:hidden}.combat-stage:before{content:"";transform-origin:bottom;background:radial-gradient(#ffffff0f,#0000 65%),repeating-linear-gradient(95deg,#ffffff06 0 1px,#0000 1px 70px);height:36%;position:absolute;bottom:0;left:-10%;right:-10%;transform:perspective(500px)rotateX(55deg)}.enemy-rank{z-index:2;justify-content:center;align-items:start;gap:clamp(.7rem,2vw,2rem);display:flex;position:relative}.enemy-panel{cursor:pointer;background:#080b11e6;border:1px solid #ffffff1f;border-radius:1.1rem;width:min(360px,31vw);padding:0;transition:border .18s,transform .18s,opacity .18s;overflow:hidden}.enemy-panel:hover,.enemy-panel.selected{border-color:var(--class-accent);box-shadow:0 0 35px color-mix(in srgb,var(--class-accent) 13%,transparent);transform:translateY(5px)scale(1.015)}.enemy-panel.dead{opacity:.22;filter:grayscale()}.enemy-intent{text-align:left;background:#00000061;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex}.enemy-intent>span{color:#f1c875;border:1px solid #ecc7748c;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.enemy-intent div{display:grid}.enemy-intent b{font-size:.75rem}.enemy-intent small{color:#9fa7ad;font-size:.64rem}.enemy-art{aspect-ratio:300/180;object-fit:cover;width:100%;display:block}.enemy-art.elite{filter:saturate(1.18)}.enemy-art.boss{filter:saturate(1.28)contrast(1.03)}.enemy-copy{text-align:left;padding:.6rem .8rem .8rem}.enemy-copy>span{color:var(--gold);letter-spacing:.12em;font:600 .58rem Arial Narrow,Impact,sans-serif}.enemy-copy h2{margin:.05rem 0 .4rem;font-size:1.35rem}.enemy-block,.block-chip{color:#9edbff;background:#3d8bba24;border:1px solid #64beec59;border-radius:999px;margin-top:.35rem;padding:.2rem .48rem;font-size:.67rem;display:inline-block}.player-rank{z-index:2;justify-content:space-between;align-items:end;gap:1rem;display:flex;position:relative}.player-portrait{align-items:end;width:min(520px,52vw);display:flex}.player-portrait .character-art{object-fit:cover;object-position:top;border-radius:1rem 1rem 0 0;width:170px;height:210px}.player-stats{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b11c2;border:1px solid #ffffff1a;border-radius:.8rem;min-width:220px;padding:.8rem}.player-stats h2{margin:0 0 .4rem}.meter{background:#00000073;border:1px solid #ffffff24;border-radius:999px;height:19px;position:relative;overflow:hidden}.meter-fill{background:linear-gradient(90deg,#9d2f3a,#ed6b62);height:100%;transition:width .25s}.meter span{text-shadow:0 1px 2px #000;place-items:center;font-size:.62rem;font-weight:700;display:grid;position:absolute;inset:0}.combat-log{background:#06090ea8;border:1px solid #ffffff14;border-radius:.8rem;width:min(390px,36vw);max-height:145px;padding:.75rem;overflow:hidden}.combat-log p{color:#8f999f;margin:.23rem 0;font-size:.64rem}.status-row{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.status-badge{color:#bdc5c8;background:#ffffff0f;border:1px solid #ffffff21;border-radius:.35rem;padding:.16rem .34rem;font-size:.55rem}.status-badge b{color:var(--class-accent,#aee)}.hand-zone{z-index:5;background:linear-gradient(#06090ecc,#06080d 28%);border-top:1px solid #ffffff17;min-height:355px;padding:0 1rem 1.3rem;position:relative}.card-hand{justify-content:center;align-items:end;gap:0;min-height:325px;padding:2.1rem 5.8rem 0;display:flex;overflow:auto visible}.card-hand .game-card{margin:0 -.35rem}.turn-controls{z-index:9;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:1rem 1.3rem auto}.turn-controls>*{pointer-events:auto}.energy-orb{border:3px solid var(--class-accent);background:radial-gradient(circle,color-mix(in srgb,var(--class-primary) 40%,#101722),#090c12 70%);text-align:center;width:76px;height:76px;box-shadow:0 0 30px color-mix(in srgb,var(--class-accent) 16%,transparent);border-radius:50%;place-content:center;display:grid}.energy-orb b{font:800 2rem/.8 Arial Narrow,Impact,sans-serif}.energy-orb span{color:#b6c1c5;letter-spacing:.12em;font-size:.48rem}.pile-counts{gap:.35rem;margin-left:5rem;display:flex}.pile-counts span{color:#8d979d;background:#ffffff0d;border-radius:.4rem;padding:.35rem .55rem;font-size:.6rem}.end-turn{border:1px solid var(--gold);color:#f0d99e;cursor:pointer;background:linear-gradient(135deg,#33281b,#17120e);border-radius:.75rem;width:110px;padding:.7rem;font-weight:700}.end-turn small{color:#8f8267;font-size:.55rem;display:block}.choice-screen{text-align:center;background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--class-primary) 14%,transparent),transparent 42%),#080b11;min-height:calc(100vh - 66px);padding:3.4rem clamp(1rem,4vw,4rem) 5rem}.choice-heading{max-width:750px;margin:0 auto 2rem}.choice-heading h1{margin:.3rem 0 .6rem;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.88}.choice-heading p{color:#aeb6bb}.reward-relic{text-align:left;background:#e1b86b0f;border:1px solid #e1b86b40;border-radius:.8rem;align-items:center;gap:.8rem;margin-top:.6rem;padding:.6rem 1rem;display:inline-flex}.reward-relic div{display:grid}.reward-relic span{color:#aeb4b7;max-width:360px;font-size:.72rem}.reward-cards{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2rem;min-height:370px;display:flex}.skip-reward{margin-top:1.2rem}.shop-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:1rem;max-width:1180px;margin:0 auto 2rem;display:grid}.shop-item{background:#0f141cc7;border:1px solid #ffffff1a;border-radius:1rem;justify-items:center;gap:.6rem;padding:.85rem;display:grid}.shop-item.sold{opacity:.32;filter:grayscale(.8)}.shop-item button{color:#efd695;cursor:pointer;background:#e1b86b1a;border:1px solid #e1b86b80;border-radius:.6rem;width:100%;padding:.6rem}.shop-item button:disabled{cursor:default;opacity:.4}.shop-item.service{align-content:center;min-height:300px}.shop-item.service h3{margin:0;font-size:1.5rem}.shop-item.service p{color:#9ba4a9;font-size:.75rem}.service-icon{color:var(--gold);font:700 4rem Arial Narrow,Impact,sans-serif}.event-screen{text-align:left;grid-template-columns:minmax(260px,.8fr) minmax(400px,1.2fr);align-items:center;gap:3rem;display:grid}.event-illustration{background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--class-accent) 25%,transparent),transparent 22%),repeating-radial-gradient(circle at 50% 50%,transparent 0 34px,#ffffff09 35px 36px),linear-gradient(145deg,color-mix(in srgb,var(--class-dark) 65%,#0b0e15),#06080d);border:1px solid #ffffff1a;border-radius:1.5rem;place-items:center;min-height:560px;display:grid;overflow:hidden}.event-sigil{border:1px solid var(--gold);width:180px;height:180px;color:var(--gold);box-shadow:0 0 80px color-mix(in srgb,var(--class-primary) 25%,transparent),inset 0 0 50px #e1b86b14;border-radius:50%;place-items:center;font:700 3.2rem Arial Narrow,Impact,sans-serif;display:grid;transform:rotate(-8deg)}.event-copy{max-width:690px}.event-copy h1{margin:.3rem 0 1rem;font-size:clamp(3rem,7vw,6.5rem);line-height:.82}.event-copy>p{color:#b5bdc1;font-size:1.05rem;line-height:1.7}.event-choices{gap:.65rem;margin-top:1.5rem;display:grid}.event-choices button{text-align:left;cursor:pointer;background:#131821cc;border:1px solid #ffffff21;border-radius:.8rem;gap:.2rem;padding:1rem 1.15rem;display:grid}.event-choices button:hover{border-color:var(--gold);background:#e1b86b14}.event-choices span{color:#909aa0;font-size:.75rem}.rest-options{grid-template-columns:repeat(2,minmax(220px,360px));justify-content:center;gap:1.2rem;margin:3rem 0;display:grid}.rest-options button{cursor:pointer;background:#12171fcc;border:1px solid #ffffff1f;border-radius:1.2rem;min-height:250px}.rest-options button:hover{border-color:var(--gold);transform:translateY(-4px)}.rest-options span{color:var(--gold);font-size:4rem}.rest-options h2{margin:.3rem 0;font-size:2rem}.rest-options p{color:#929ca1}.upgrade-grid>div{flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:1100px;margin:1.5rem auto;display:flex}.treasure-screen{align-content:center;place-items:center;display:grid}.treasure-halo{background:radial-gradient(circle,#e1b86b38,#0000 68%);border-radius:50%;place-items:center;width:260px;height:260px;margin-bottom:1rem;animation:2.4s ease-in-out infinite treasureGlow;display:grid}.treasure-screen h1{margin:.3rem 0;font-size:4rem}.treasure-screen>p{color:#bac0c3;font-size:1.05rem}.treasure-screen blockquote{color:#8f969a;font-family:Georgia,serif;font-style:italic}@keyframes treasureGlow{0%,to{filter:brightness(.92);transform:scale(.96)}50%{filter:brightness(1.15);transform:scale(1.03)}}.end-screen{text-align:center;background:radial-gradient(circle at 50% 35%,#58d2c726,#0000 35%),#06080d;align-content:center;place-items:center;min-height:100vh;padding:3rem 1.2rem;display:grid}.end-screen.defeat{background:radial-gradient(circle at 50% 35%,#e1594c24,#0000 35%),#06080d}.end-symbol{border:1px solid var(--gold);width:160px;height:160px;color:var(--gold);border-radius:50%;place-items:center;font-size:6rem;display:grid;box-shadow:0 0 70px #e1b86b26}.defeat .end-symbol{border-color:var(--danger);color:var(--danger)}.end-screen h1{max-width:900px;margin:.5rem 0 1rem;font-size:clamp(3rem,8vw,7rem);line-height:.84}.end-screen>p{color:#aeb7bb;max-width:700px;line-height:1.6}.run-summary{grid-template-columns:repeat(6,1fr);gap:.6rem;width:min(100%,1000px);margin:1.5rem 0;display:grid}.run-summary article{background:#ffffff08;border:1px solid #ffffff14;border-radius:.7rem;padding:.8rem;display:grid}.run-summary b{font:700 1.8rem Arial Narrow,Impact,sans-serif}.run-summary span{color:#879198;font-size:.62rem}.end-screen code{color:#8c969c;margin-bottom:1.4rem}.overlay-backdrop{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020408c7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.overlay-panel{background:#10151e;border:1px solid #ffffff26;border-radius:1rem;width:min(620px,96vw);max-height:90vh;overflow:auto;box-shadow:0 25px 90px #000000b3}.overlay-panel.wide{width:min(1180px,96vw)}.overlay-panel>header{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10151ef0;border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex;position:sticky;top:0}.overlay-panel header h2{margin:0}.overlay-panel header button{cursor:pointer;background:#ffffff14;border:0;border-radius:50%;width:36px;height:36px;font-size:1.3rem}.overlay-card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));justify-items:center;gap:.9rem;padding:1.2rem;display:grid}.relic-list{gap:.6rem;padding:1rem;display:grid}.relic-list article{border:1px solid #ffffff14;border-radius:.7rem;gap:.8rem;padding:.75rem;display:flex}.relic-list h3{margin:0 0 .2rem}.relic-list p{color:#a7afb3;margin:0;font-size:.78rem}.relic-list small{color:#737c82;font-family:Georgia,serif;font-style:italic}.settings-list{gap:.7rem;padding:1rem;display:grid}.settings-list label{border:1px solid #ffffff14;border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;display:flex}.settings-list label span{display:grid}.settings-list small{color:#899399}.settings-list input{width:20px;height:20px}.settings-list code{color:var(--gold);background:#00000059;border-radius:.5rem;padding:.7rem}.codex-screen{padding-top:68px}.codex-screen>header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07090ee6;border-bottom:1px solid #ffffff1a;align-items:center;gap:1rem;height:68px;padding:0 1.5rem;display:flex;position:fixed;inset:0 0 auto}.codex-screen header nav{gap:.3rem;margin:auto;display:flex}.codex-screen header button,.codex-filter button{text-transform:capitalize;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.55rem;padding:.5rem .8rem}.codex-screen header button.active,.codex-filter button.active{color:#f0d495;background:#e1b86b1a;border-color:#e1b86b73}.codex-classes{gap:1rem;max-width:1200px;margin:auto;padding:2rem;display:grid}.codex-classes article{background:#11161fc7;border:1px solid #ffffff1a;border-radius:1.1rem;grid-template-columns:280px 1fr;display:grid;overflow:hidden}.codex-classes .character-art{object-fit:cover;height:340px}.codex-classes article>div{padding:2rem}.codex-classes h2{margin:.25rem 0 0;font-size:3rem}.codex-classes h3{color:var(--gold)}.codex-classes p{color:#aeb7bb;line-height:1.55}.codex-filter{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080b11e6;justify-content:center;gap:.4rem;padding:.75rem;display:flex;position:sticky;top:68px}.codex-card-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));justify-items:center;gap:1.5rem;padding:2rem;display:grid}.bestiary-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;padding:2rem;display:grid}.bestiary-grid article{background:#10151dd1;border:1px solid #ffffff1a;border-radius:1rem;overflow:hidden}.bestiary-grid article>span,.bestiary-grid h2,.bestiary-grid h3,.bestiary-grid p,.bestiary-grid article>div{margin-left:1rem;margin-right:1rem}.bestiary-grid article>span{color:var(--gold);letter-spacing:.12em;margin-top:.8rem;font-size:.62rem;display:block}.bestiary-grid h2{margin-top:.2rem;margin-bottom:0}.bestiary-grid h3{color:#89949a;font-size:.8rem}.bestiary-grid p{color:#a5aeb2;font-size:.76rem;line-height:1.5}.bestiary-grid article>div{gap:.35rem;padding-bottom:1rem;display:flex}.bestiary-grid small{color:#8e989e;background:#ffffff0f;border-radius:999px;padding:.2rem .4rem}.codex-relics{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.8rem;padding:2rem;display:grid}.codex-relics article{background:#10151dc2;border:1px solid #ffffff17;border-radius:.9rem;gap:1rem;padding:1rem;display:flex}.codex-relics span{color:var(--gold);text-transform:uppercase;font-size:.62rem}.codex-relics h2{margin:.1rem 0 .25rem}.codex-relics p{color:#a9b1b5;margin:0;font-size:.76rem}.codex-relics small{color:#747d82;font-family:Georgia,serif;font-style:italic}.large-text .card-rules{font-size:.85rem}.large-text .game-card.compact .card-rules{font-size:.68rem}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (max-width:1100px){.class-select{grid-template-columns:repeat(2,1fr)}.class-tile{min-height:390px}.map-screen{grid-template-columns:1fr 2fr}.map-legend{display:none}.shop-grid{grid-template-columns:repeat(3,1fr)}.game-card{flex-basis:180px;width:180px;height:285px}.card-chrome{grid-template-rows:38px 102px 22px minmax(58px,1fr) 34px}.card-rules{font-size:.69rem}}@media (max-width:780px){.title-screen{padding-top:2.5rem}.hero-title h1{font-size:5.2rem}.class-select{grid-template-columns:1fr}.class-tile{min-height:350px}.selected-class-panel{grid-template-columns:1fr}.seed-control{grid-template-columns:1fr;min-width:0}.history-strip>div{grid-template-columns:1fr 1fr}.top-bar{flex-wrap:wrap;gap:.4rem .8rem;height:auto;min-height:64px;padding-top:.45rem;padding-bottom:.45rem}.run-vitals{order:3;justify-content:center;width:100%;margin:0}.top-bar nav button:nth-child(-n+2){display:none}.game-shell{padding-top:97px}.map-screen{min-height:calc(100vh - 97px);padding:1.2rem .8rem 3rem;display:block}.act-heading{text-align:center}.route-map{min-height:680px}.map-node{width:72px;min-height:56px;font-size:.52rem}.combat-screen{grid-template-rows:minmax(540px,1fr) auto}.combat-stage{min-height:540px}.enemy-rank{justify-content:start;align-items:start;padding-bottom:.5rem;overflow-x:auto}.enemy-panel{width:260px;min-width:260px}.player-rank{align-items:end}.player-portrait{width:100%}.player-portrait .character-art{width:120px;height:150px}.player-stats{min-width:180px}.combat-log{display:none}.hand-zone{min-height:330px;padding-left:0;padding-right:0}.card-hand{justify-content:start;min-height:315px;padding:3rem 1rem 0}.card-hand .game-card{margin:0 -.15rem}.turn-controls{inset:.5rem .7rem auto}.pile-counts{display:none}.energy-orb{width:62px;height:62px}.end-turn{width:96px}.event-screen{grid-template-columns:1fr;gap:1rem}.event-illustration{min-height:260px}.event-sigil{width:120px;height:120px;font-size:2.2rem}.event-copy h1{font-size:3.8rem}.shop-grid{grid-template-columns:repeat(2,1fr)}.rest-options{grid-template-columns:1fr 1fr}.run-summary{grid-template-columns:repeat(3,1fr)}.codex-classes article{grid-template-columns:1fr}.codex-classes .character-art{height:300px}.codex-screen>header{flex-wrap:wrap;height:auto;min-height:68px;padding:.5rem}.codex-screen header nav{order:3;justify-content:center;width:100%;overflow-x:auto}.codex-screen{padding-top:108px}.codex-filter{justify-content:start;top:108px;overflow-x:auto}}@media (max-width:500px){.hero-title h1{font-size:4.1rem}.hero-title p{font-size:.9rem}.class-tile{min-height:330px}.history-strip>div{grid-template-columns:1fr}.brand-mini{font-size:1rem}.run-identity{min-width:100px}.top-bar nav{margin-left:auto}.top-bar nav button{padding:.35rem;font-size:.65rem}.run-vitals{gap:.55rem;font-size:.68rem}.map-node{width:62px;min-height:52px}.map-row{min-height:63px}.route-map{min-height:620px}.enemy-panel{width:235px;min-width:235px}.player-portrait .character-art{display:none}.player-stats{width:100%}.combat-stage{padding-left:.5rem;padding-right:.5rem}.game-card{flex-basis:166px;width:166px;height:266px}.card-chrome{grid-template-rows:34px 92px 21px minmax(55px,1fr) 31px}.card-name{font-size:.95rem}.card-rules{font-size:.64rem}.card-flavor{font-size:.52rem}.shop-grid,.rest-options{grid-template-columns:1fr}.choice-heading h1{font-size:3.1rem}.reward-cards{gap:.6rem}.run-summary{grid-template-columns:1fr 1fr}.end-screen h1{font-size:3.2rem}.codex-card-grid{grid-template-columns:1fr}.codex-relics{grid-template-columns:1fr;padding:1rem}}
