@import "https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ded7c7;--ink:#0c0d0c;--coal:#121412;--panel:#171916;--line:#34362f;--line-soft:#252720;--bone:#ded7c7;--muted:#85877e;--gold:#bda36f;--copper:#a85335;--blood:#8e3f32;--plum:#9d78ad;--green:#778c69;font-synthesis:none;background:#0c0d0c;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}body{background:radial-gradient(circle at 50% -20%, #895d3a21, transparent 36rem), linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px), var(--ink);background-size:auto,28px 28px,28px 28px,auto;min-width:320px}.game-shell{flex-direction:column;min-height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0b0ae0;grid-template-columns:1fr auto 1fr;align-items:center;min-height:86px;padding:13px 26px;display:grid}.wordmark h1{letter-spacing:.015em;margin:-2px 0 0;font:600 31px/1 Cormorant Garamond,serif}.eyebrow{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font:500 9px/1.4 Azeret Mono,monospace;display:block}.run-mark{text-transform:uppercase;justify-items:center;gap:2px;font-family:Azeret Mono,monospace;display:grid}.run-mark span{color:var(--muted);letter-spacing:.16em;font-size:8px}.run-mark strong{color:var(--bone);letter-spacing:.08em;font-size:11px}.run-mark i{color:#5f625b;font-size:8px;font-style:normal}.top-actions{justify-self:end;align-items:center;gap:4px;display:flex}.text-button,.sound-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px;font-size:11px}.text-button:hover,.sound-button:hover{color:var(--bone)}.sound-button{text-transform:uppercase;letter-spacing:.06em;font:500 9px Azeret Mono,monospace}.sound-button span{color:var(--gold);margin-right:4px}.enemy-stage{border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,#a853350a,#0000 35% 65%,#a853350a);grid-template-columns:1fr 240px 1fr;align-items:center;gap:30px;min-height:170px;padding:18px max(30px,5vw);display:grid}.enemy-copy h2{margin:5px 0 0;font:600 clamp(27px,3vw,42px)/.95 Cormorant Garamond,serif}.enemy-copy>p{color:var(--copper);margin:5px 0 14px;font:italic 500 15px Cormorant Garamond,serif}.enemy-rule{color:#a7a396;border-left:1px solid var(--copper);max-width:330px;padding-left:10px;font-size:11px;line-height:1.45}.enemy-rule span{color:#716b5f;letter-spacing:.13em;text-transform:uppercase;margin-right:9px;font:500 8px Azeret Mono}.enemy-effigy{place-items:center;width:150px;height:150px;margin:auto;display:grid;position:relative}.effigy-ring{border:1px solid #493a2f;border-radius:50%;position:absolute;inset:6px;box-shadow:0 0 45px #a853351f,inset 0 0 30px #a853350f}.effigy-ring:before,.effigy-ring:after{content:"";border:1px dashed #292821;border-radius:50%;position:absolute;inset:14px;transform:rotate(23deg)}.effigy-ring:after{border-style:solid;border-color:#3b342c;inset:29px;transform:rotate(-17deg)}.effigy-mask{clip-path:polygon(50% 0,93% 19%,79% 83%,50% 100%,21% 83%,7% 19%);z-index:1;background:linear-gradient(155deg,#29251f,#11120f);border:1px solid #7e6349;width:54px;height:72px;position:relative}.effigy-mask i{background:var(--copper);width:5px;height:5px;box-shadow:0 0 12px var(--copper);border-radius:50%;position:absolute;top:27px}.effigy-mask i:nth-child(3){width:3px;height:14px;box-shadow:none;background:#4e3d30;border-radius:0;top:44px;left:25px}.enemy-status{justify-self:end;width:min(100%,340px)}@keyframes effigy-hit{0%{filter:brightness();transform:translate(0)scale(1)}22%{filter:brightness(1.8);transform:translate(8px)scale(.95)}48%{transform:translate(-5px)scale(1.04)}to{filter:brightness();transform:translate(0)scale(1)}}@keyframes retaliation-shock{0%,to{transform:translate(0)}15%{transform:translate(-7px)}32%{transform:translate(6px)}50%{transform:translate(-3px)}68%{transform:translate(2px)}}@keyframes binding-flare{0%{box-shadow:inset 0 0 #a8533500}35%{box-shadow:inset 0 0 90px #a853352e}to{box-shadow:inset 0 0 #a8533500}}.enemy-stats{color:var(--muted);text-transform:uppercase;justify-content:flex-end;gap:18px;margin-top:10px;font:9px Azeret Mono;display:flex}.enemy-stats b{color:var(--bone);margin-right:4px;font-size:14px}.meter-copy{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:baseline;margin-bottom:6px;font:500 9px Azeret Mono;display:flex}.meter-copy strong{color:var(--bone);font-size:10px}.meter-track{background:#25251f;height:4px;overflow:hidden}.meter-track i{background:var(--green);height:100%;transition:width .35s;display:block}.combat-table{flex:1;grid-template-columns:225px minmax(600px,1fr) 245px;min-height:590px;display:grid}.left-rail,.right-rail{background:#111310cc}.left-rail{border-right:1px solid var(--line-soft);padding:18px 15px}.right-rail{border-left:1px solid var(--line-soft);flex-direction:column;min-height:0;display:flex}.sigil-stack{flex-direction:column;gap:5px;padding-top:16px;display:flex}.sigil-stack>.eyebrow{margin:0 3px 6px}.sigil{text-align:left;cursor:pointer;opacity:.48;background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;padding:7px 6px;display:flex}.sigil:hover{opacity:.78;background:#1b1d19}.sigil.active{opacity:1;background:linear-gradient(90deg,#bda36f1a,#0000);border-color:#3e3c32}.sigil>i{color:var(--gold);font:13px serif}.sigil span{gap:1px;min-width:0;display:grid}.sigil strong{white-space:nowrap;font:600 13px Cormorant Garamond,serif}.sigil small{color:var(--muted);white-space:nowrap;font:8px Azeret Mono}.table-center{grid-template-rows:120px 1fr auto auto;place-items:center;min-width:0;padding:10px 26px 18px;display:grid;position:relative;overflow:visible}.table-center:before{content:"";pointer-events:none;border:1px solid #bda36f14;border-radius:50%;width:530px;height:530px;position:absolute;top:-180px;box-shadow:0 0 0 35px #bda36f04,0 0 0 110px #bda36f03}.coin-wrap{z-index:2;align-self:start;justify-items:center;display:grid;position:relative}.attack-coin{background:radial-gradient(circle at 35% 30%,#342a21,#151411 58%,#0c0d0b);border:1px solid #6c553d;border-radius:50%;place-content:center;justify-items:center;width:75px;height:75px;transition:transform .4s;display:grid;box-shadow:0 0 0 7px #11120f,0 0 0 8px #3a3128,0 16px 30px #00000059}.attack-coin.coin-1{border-color:var(--copper);transform:rotate(-8deg);box-shadow:0 0 0 7px #11120f,0 0 0 8px #5f382a,0 0 30px #a853352e}@keyframes coin-spend{0%{filter:brightness()}35%{filter:brightness(1.7);transform:rotate(20deg)scale(1.1)}to{filter:brightness()}}.coin-number{color:var(--bone);font:600 35px/.75 Cormorant Garamond,serif}.coin-word{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:7px;font:7px Azeret Mono}.coin-pips{gap:4px;margin-top:13px;display:flex}.coin-pips i{background:#393a34;width:13px;height:2px}.coin-pips i.lit{background:var(--copper);box-shadow:0 0 6px #a8533580}.coin-caption{color:#62645d;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font:7px Azeret Mono}.damage-oracle{text-align:center;z-index:1;align-content:center;align-self:center;justify-items:center;min-height:150px;display:grid;position:relative}.damage-oracle>strong{margin-top:6px;font:600 28px Cormorant Garamond,serif}.damage-oracle p{max-width:430px;color:var(--muted);margin:5px 0;font-size:10px}.damage-oracle small{color:#a18c69;font:8px/1.5 Azeret Mono}.damage-number{color:var(--gold);text-shadow:0 0 30px #bda36f24;margin:6px 0 2px;font:600 64px/.8 Cormorant Garamond,serif}.damage-burst{z-index:8;color:#dfb16e;text-shadow:0 0 25px #a85335b3;pointer-events:none;font:600 52px Cormorant Garamond,serif;animation:.7s cubic-bezier(.15,.75,.25,1) both damage-rise;position:absolute;top:118px;left:50%}@keyframes damage-rise{0%{opacity:0;transform:translate(-50%,24px)scale(.7)}24%{opacity:1;transform:translate(-50%)scale(1.12)}to{opacity:0;transform:translate(-50%,-48px)scale(.94)}}@keyframes deal-in{0%{opacity:0;transform:translateY(24px)rotate(2deg)scale(.92)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes discard-scatter{0%{transform:translateY(0)rotate(0)}38%{opacity:.45;transform:translateY(14px)rotate(-2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}.hand{perspective:800px;justify-content:center;align-items:flex-end;gap:clamp(4px,.65vw,10px);width:min(100%,870px);padding:30px 0 17px;display:flex}.card{aspect-ratio:.69;color:#171713;cursor:pointer;background:linear-gradient(145deg,#e0d8c7,#aaa38f);border:1px solid #4a493f;border-radius:4px;flex:0 98px;width:98px;min-width:62px;padding:8px;transition:transform .16s,border-color .16s,filter .16s,box-shadow .16s;animation:.26s cubic-bezier(.2,.8,.2,1) deal-in;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 9px 18px #00000038}.card:after{content:"";pointer-events:none;border:1px solid #1414102e;position:absolute;inset:5px}.hand .card:nth-child(2){animation-delay:25ms}.hand .card:nth-child(3){animation-delay:50ms}.hand .card:nth-child(4){animation-delay:75ms}.hand .card:nth-child(5){animation-delay:.1s}.hand .card:nth-child(6){animation-delay:.125s}.hand .card:nth-child(7){animation-delay:.15s}.hand .card:nth-child(8){animation-delay:.175s}.card:hover{filter:brightness(1.04);transform:translateY(-6px)}.card.is-selected{border-color:#e3c989;transform:translateY(-18px);box-shadow:0 0 0 2px #bda36f38,0 18px 30px #0000006b}.card.is-selected:not(.is-scoring){filter:saturate(.55)brightness(.72)}.card.is-critical{box-shadow:inset 0 0 0 2px var(--plum), 0 0 22px #9d78ad33}.card.is-critical:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff40,#0000 54%);animation:2.8s ease-in-out infinite critical-shimmer;position:absolute;inset:-30%;transform:translate(-55%)rotate(15deg)}@keyframes critical-shimmer{0%,58%{opacity:0;transform:translate(-55%)rotate(15deg)}68%{opacity:.8}86%,to{opacity:0;transform:translate(58%)rotate(15deg)}}.card-rank{font:600 25px/1 Cormorant Garamond,serif;display:block}.card-suit{opacity:.76;place-items:center;font-size:clamp(26px,3vw,42px);display:grid;position:absolute;inset:0}.card-name{writing-mode:vertical-rl;color:#14141085;letter-spacing:.12em;text-transform:uppercase;font:600 7px Azeret Mono;position:absolute;bottom:9px;right:8px}.card-key{z-index:2;color:#d7d0c1;background:#10100ec2;border-radius:50%;place-items:center;width:16px;height:16px;font:8px Azeret Mono;display:grid;position:absolute;top:6px;right:6px}.critical-mark{color:#5d3768;text-transform:uppercase;letter-spacing:.08em;font:600 6px Azeret Mono;position:absolute;bottom:8px;left:8px}.suit-ember{color:#742f22;background:linear-gradient(145deg,#e1d3bf,#b79d83)}.suit-veil{color:#293851;background:linear-gradient(145deg,#d9d7d0,#9da4a8)}.suit-ivory{color:#5e5632;background:linear-gradient(145deg,#e8e0c9,#b7ac8e)}.suit-thorn{color:#294230;background:linear-gradient(145deg,#d7d7c7,#9ba38e)}.card.is-compact{border-radius:2px;width:53px;min-width:0;padding:5px}.card.is-compact .card-name,.card.is-compact .card-key,.card.is-compact .critical-mark{display:none}.action-bar{grid-template-columns:1fr auto auto;align-items:end;gap:10px;width:min(100%,870px);display:grid}.player-vitals{align-self:center;padding-right:20px}.primary-action,.secondary-action{cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#25231d;border:1px solid #574c3a;grid-template-columns:1fr auto;gap:2px 10px;min-width:152px;padding:11px 13px;font:600 11px Azeret Mono;display:grid}.primary-action{background:linear-gradient(135deg,#69402e,#3a2920);border-color:#80543e}.primary-action:hover:not(:disabled){background:linear-gradient(135deg,#80503a,#463026)}.secondary-action:hover:not(:disabled){background:#302d25}.primary-action span,.secondary-action span{color:#938a77;grid-column:1;font:7px Azeret Mono}kbd{color:#aaa18f;border:1px solid #ffffff2b;grid-area:1/2/3;align-self:center;padding:2px 5px;font:8px Azeret Mono}button:disabled{opacity:.32;cursor:not-allowed}.error-line{color:#c67663;margin-top:8px;font:9px Azeret Mono}.outcome{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090a09e3;place-content:center;justify-items:center;gap:16px;animation:.7s ease-out both outcome-in;display:grid;position:absolute;inset:0}.outcome span{font:600 45px Cormorant Garamond,serif;animation:.8s cubic-bezier(.2,.8,.2,1) .12s both outcome-title}@keyframes outcome-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes outcome-title{0%{opacity:0;letter-spacing:.14em;transform:translateY(12px)}to{opacity:1;letter-spacing:0;transform:none}}.outcome button{border:1px solid var(--gold);cursor:pointer;background:0 0;padding:11px 18px}.log-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:18px 15px 12px;display:flex}.log-heading>span:last-child{color:#66685f;font:8px Azeret Mono}.combat-log{flex:1;min-height:0;padding:8px 15px;overflow-y:auto}.log-entry{border-bottom:1px solid #22241f;grid-template-columns:22px 1fr;gap:7px;padding:8px 0;display:grid}.log-entry i{color:#51534d;padding-top:2px;font:7px Azeret Mono}.log-entry p{color:#97988f;margin:0;font-size:9px;line-height:1.5}.log-entry.good p{color:#b4a378}.log-entry.danger p{color:#bb7160}.log-entry.system p{color:#b9b6ad;font-style:italic}.zones{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);display:grid}.zones span{color:#63655f;text-transform:uppercase;border-right:1px solid var(--line-soft);place-items:center;gap:2px;padding:10px;font:7px Azeret Mono;display:grid}.zones span:last-child{border:0}.zones b{color:var(--bone);font-size:12px}.inspector{background:#11120f;border-top:1px solid #544735;grid-template-columns:1fr 1.5fr 2fr 1fr;gap:24px;padding:17px 24px;display:grid}.inspector form{margin-top:7px;display:flex}.inspector input{width:130px;min-width:0;color:var(--bone);background:#0c0d0b;border:1px solid #3b3c35;padding:7px;font:9px Azeret Mono}.inspector button{cursor:pointer;background:#1b1d19;border:1px solid #3b3c35;padding:6px 8px;font:8px Azeret Mono}.inspector button.active{border-color:var(--gold);color:var(--gold)}.choice-row{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.inspector pre{color:#73776c;max-height:90px;margin:0;font:7px/1.4 Azeret Mono;overflow:auto}@media (width<=1100px){.combat-table{grid-template-columns:190px minmax(540px,1fr)}.right-rail{display:none}.enemy-stage{grid-template-columns:1fr 150px 1fr}.inspector{grid-template-columns:1fr 1fr}}@media (width<=760px){.topbar{grid-template-columns:1fr auto}.run-mark{display:none}.enemy-stage{grid-template-columns:1fr 110px;min-height:150px;padding:18px}.enemy-status{grid-column:1/-1;width:100%}.enemy-effigy{width:100px;height:100px}.combat-table{min-height:0;display:block}.left-rail{border:0;border-bottom:1px solid var(--line-soft)}.sigil-stack{display:none}.table-center{grid-template-rows:110px 1fr auto auto;min-height:620px;padding-inline:10px}.hand{justify-content:flex-start;padding-inline:12px;overflow-x:auto}.card{flex:0 0 72px}.action-bar{grid-template-columns:1fr 1fr}.player-vitals{grid-column:1/-1}.primary-action,.secondary-action{min-width:0}.inspector{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:radial-gradient(at 50% -15%,#6f2d1d33,#0000 42rem),radial-gradient(circle at 18% 28%,#53422a14,#0000 28rem),linear-gradient(#ffffff04 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#ffffff04 1px,#0000 1px) 0 0/28px 28px,#090a09}.text-button,.sound-button{font-size:11px}.enemy-stage{background:radial-gradient(circle,#8a3a241f,#0000 15rem),linear-gradient(90deg,#a853350e,#0000 35% 65%,#a853350e);grid-template-columns:minmax(300px,1fr) 300px minmax(300px,1fr);min-height:218px;padding-block:22px}.enemy-copy{max-width:460px}.enemy-copy h2{font-size:clamp(34px,3.4vw,52px)}.enemy-copy>p{font-size:18px}.enemy-rule{max-width:410px;font-size:13px}.effigy-mask{width:72px;height:96px;box-shadow:0 18px 45px #00000073}.effigy-mask i{top:36px}.effigy-mask i:first-child{left:19px}.effigy-mask i:nth-child(2){right:19px}.effigy-mask i:nth-child(3){height:19px;top:58px;left:33px}.enemy-stats b{font-size:16px}.meter-copy{font-size:10px}.meter-track{background:#24231f;height:8px;position:relative;overflow:visible;box-shadow:inset 0 1px 2px #0000008c}.meter-track i{z-index:2;transition:width .45s cubic-bezier(.2,.8,.2,1);position:relative}.meter.danger .meter-track i{background:linear-gradient(90deg,#8f1717,#d14435)}.meter-damage{z-index:1;background:#4a0809;animation:.9s ease-out both damage-memory;display:block;position:absolute;top:0;bottom:0}.meter.is-hit{animation:.55s cubic-bezier(.2,.8,.2,1) meter-impact}.meter.is-hit .meter-copy strong{color:#ffb0a0}@keyframes meter-impact{0%,to{filter:brightness();transform:translate(0)}12%{filter:brightness(1.8);transform:translate(-8px)}25%{transform:translate(7px)}40%{transform:translate(-5px)}56%{transform:translate(3px)}74%{transform:translate(-1px)}}@keyframes damage-memory{0%,48%{opacity:1;filter:brightness(1.45)}to{opacity:0;filter:brightness(.5)}}.hand-zone{align-self:end;width:min(100%,930px)}.hand-sort{justify-content:flex-end;align-items:center;gap:4px;min-height:30px;padding-right:2px;display:flex}.hand-sort span{color:#77786f;text-transform:uppercase;letter-spacing:.08em;margin-right:5px;font:500 9px Azeret Mono,monospace}.hand-sort button{color:#85877e;text-transform:uppercase;cursor:pointer;background:#151613;border:1px solid #3b3a33;padding:5px 9px;font:500 9px Azeret Mono,monospace}.hand-sort button:hover{color:var(--bone);border-color:#5b5446}.hand-sort button.active{color:#efe7d6;background:linear-gradient(135deg,#30291e,#1c1a16);border-color:#8a7047;box-shadow:inset 0 0 12px #bda36f14}.hand{width:100%;padding-top:12px}.card{color:#050505;background:linear-gradient(145deg,#eee7d8,#bdb5a1);border-color:#5b594e;flex-basis:104px;width:104px;box-shadow:0 10px 22px #0000004d,inset 0 0 22px #ffffff21}.card-rank{z-index:2;color:#030303;text-align:left;font-size:30px;font-weight:600;position:relative}.card-suit{color:#050505;opacity:.88;filter:drop-shadow(0 1px #ffffff29)}.card-name{color:#080808;opacity:.8;font-size:8px}.suit-ember,.suit-veil,.suit-ivory,.suit-thorn{color:#050505}.card-key{display:none}.card.is-compact .card-rank{font-size:18px}.card.is-compact .card-suit{font-size:22px}.primary-action,.secondary-action{padding-block:13px;font-size:12px}.primary-action span,.secondary-action span{font-size:8px}@keyframes covenant-strike{0%{opacity:1;filter:brightness();transform:translateY(-18px)scale(1)}16%{opacity:1;filter:brightness(1.28)drop-shadow(0 0 14px #bda36f80);transform:translateY(-42px)scale(1.06)}51%{transform:translate(var(--flight-x,0px), calc(-100vh + 350px)) scale(.79) rotate(var(--flight-tilt,0deg));opacity:1;filter:brightness(1.42)drop-shadow(0 0 22px #a85335c7)}58%{transform:translate(var(--flight-x,0px), calc(-100vh + 362px)) scale(.98) rotate(0);opacity:1;filter:brightness(2.45)drop-shadow(0 0 38px #ef844bfa)}68%{transform:translate(var(--flight-x,0px), calc(-100vh + 348px)) scale(.75) rotate(var(--flight-tilt,0deg));opacity:.94;filter:brightness(1.5)drop-shadow(0 0 18px #a85335a8)}to{transform:translate(var(--flight-x,0px), calc(-100vh + 326px)) scale(.42) rotate(calc(var(--flight-tilt,0deg) * 1.5));opacity:0;filter:brightness(1.35)blur(7px)}}@keyframes card-strike-flare{0%,48%{box-shadow:none;border-color:#1414102e}60%{border-color:#f2d18d;box-shadow:inset 0 0 24px #c44626b8,0 0 18px #efb160b3}to{border-color:#c4462600;box-shadow:inset 0 0 30px #46140c1f}}.game-shell.fx-attack .hand .card.is-selected{z-index:20;pointer-events:none;transform-origin:50% 18%;animation:.88s cubic-bezier(.22,.72,.18,1) both covenant-strike}.game-shell.fx-attack .hand .card.is-selected:after{animation:.88s ease-out both card-strike-flare}.game-shell.fx-attack .hand .card:first-child{--flight-x:350px;--flight-tilt:-8deg}.game-shell.fx-attack .hand .card:nth-child(2){--flight-x:250px;--flight-tilt:5deg}.game-shell.fx-attack .hand .card:nth-child(3){--flight-x:150px;--flight-tilt:-5deg}.game-shell.fx-attack .hand .card:nth-child(4){--flight-x:50px;--flight-tilt:4deg}.game-shell.fx-attack .hand .card:nth-child(5){--flight-x:-50px;--flight-tilt:-4deg}.game-shell.fx-attack .hand .card:nth-child(6){--flight-x:-150px;--flight-tilt:5deg}.game-shell.fx-attack .hand .card:nth-child(7){--flight-x:-250px;--flight-tilt:-7deg}.game-shell.fx-attack .hand .card:nth-child(8){--flight-x:-350px;--flight-tilt:7deg}.game-shell.fx-attack .enemy-effigy{animation-delay:.48s}.game-shell.fx-attack .enemy-stage{animation-delay:.46s}@media (width<=1100px){.enemy-stage{grid-template-columns:1fr 190px 1fr}.enemy-effigy{width:170px;height:170px}}@media (width<=760px){.enemy-stage{grid-template-columns:1fr 125px;min-height:190px}.enemy-copy h2{font-size:34px}.enemy-rule{font-size:11px}.enemy-effigy{width:115px;height:115px}.hand-zone{overflow:hidden}.hand-sort{padding-inline:12px}.hand{padding-top:10px}.card{flex-basis:76px;width:76px}}.game-shell{position:relative}.game-shell:after{content:"";z-index:100;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 62%,#ff3f2d94,#0000 46%),linear-gradient(#8f000047,#5c000094);position:fixed;inset:0}.deck-well{z-index:3;width:74px;color:var(--muted);pointer-events:none;justify-items:center;gap:6px;display:grid;position:absolute;top:176px;right:24px}.deck-well .eyebrow{white-space:nowrap;font-size:7px}.deck-well>strong{color:#aca38f;font:500 9px Azeret Mono,monospace}.deck-stack{color:#9f8860;background:linear-gradient(135deg,#0000 46%,#bda36f21 47% 53%,#0000 54%),linear-gradient(45deg,#0000 46%,#bda36f17 47% 53%,#0000 54%),#171713;border:1px solid #67563f;border-radius:3px;place-items:center;width:49px;height:68px;display:grid;position:relative;transform:rotate(2deg);box-shadow:-3px 3px #0b0c0a,-4px 4px #453a2d,-7px 7px #0b0c0a,-8px 8px #302a22,0 13px 24px #00000061}.deck-stack:after{content:"";border:1px solid #bda36f33;position:absolute;inset:5px}.deck-stack i{border:1px solid #564b3a;position:absolute;inset:11px;transform:rotate(45deg)}.deck-stack i:nth-child(2){border-color:#756346;inset:17px;transform:rotate(0)}.deck-stack b{z-index:1;letter-spacing:.08em;font:600 11px Cormorant Garamond,serif;position:relative}@keyframes deck-breathe{0%,to{filter:brightness();transform:translate(0)rotate(2deg)}28%{filter:brightness(1.55);transform:translate(-5px,-4px)rotate(-2deg)}58%{transform:translate(2px,1px)rotate(3deg)}}@keyframes deck-draw-in{0%{opacity:0;transform:translate(var(--draw-x,255px), -262px) rotate(14deg) scale(.72);filter:brightness(.58)}18%{opacity:1;transform:translate(calc(var(--draw-x,255px) * .84), -282px) rotate(10deg) scale(.76);filter:brightness(1.45)drop-shadow(0 0 14px #bda36f6b)}72%{opacity:1;filter:brightness(1.08);transform:translate(-5px,-8px)rotate(-1deg)scale(1.035)}to{opacity:1;filter:none;transform:translateY(0)rotate(0)scale(1)}}.game-shell.fx-draw .deck-stack{animation:.82s cubic-bezier(.2,.8,.2,1) deck-breathe}.card.is-newly-drawn{animation:.86s cubic-bezier(.16,.72,.18,1) both deck-draw-in}.hand .card:first-child{--draw-x:850px}.hand .card:nth-child(2){--draw-x:735px}.hand .card:nth-child(3){--draw-x:620px}.hand .card:nth-child(4){--draw-x:505px}.hand .card:nth-child(5){--draw-x:390px}.hand .card:nth-child(6){--draw-x:275px}.hand .card:nth-child(7){--draw-x:165px}.hand .card:nth-child(8){--draw-x:60px}.hand .card.is-newly-drawn:nth-child(2n){animation-delay:70ms}.hand .card.is-newly-drawn:nth-child(3n){animation-delay:.13s}@keyframes burn-card-away{0%{opacity:1;filter:brightness();clip-path:inset(0);transform:translateY(-18px)scale(1)}24%{filter:brightness(1.55)saturate(1.45);box-shadow:0 0 0 1px #ffbc67,0 0 26px #da481bad}58%{opacity:.92;clip-path:inset(0 0 34%);filter:brightness(1.15)sepia(.45);transform:translateY(-15px)rotate(-2deg)scale(.98)}to{opacity:0;clip-path:inset(0 0 100%);filter:brightness(.35)blur(2px);transform:translateY(-3px)rotate(4deg)scale(.82)}}@keyframes burn-front{0%{opacity:0;transform:translateY(115%)}18%{opacity:.9}to{opacity:0;transform:translateY(-115%)}}.game-shell.fx-attack-prep .hand .card.is-selected:not(.is-scoring),.game-shell.fx-discard .hand .card.is-selected{z-index:22;pointer-events:none;animation:.72s cubic-bezier(.5,.08,.6,.92) both burn-card-away}.game-shell.fx-attack-prep .hand .card.is-selected:not(.is-scoring):before,.game-shell.fx-discard .hand .card.is-selected:before{content:"";z-index:5;background:linear-gradient(0deg,#0000 0 38%,#4a0a03e0 46%,#e8491e 51%,#ffc060 54%,#0000 61%);animation:.72s linear both burn-front;position:absolute;inset:-30%}.game-shell.fx-attack-prep .hand .card.is-selected.is-scoring{animation:.72s cubic-bezier(.2,.8,.2,1) both scoring-brace}.game-shell.fx-attack .hand .card.is-selected:not(.is-scoring){opacity:0;visibility:hidden}.game-shell.fx-discard .hand{animation:none}@keyframes scoring-brace{0%,to{transform:translateY(-18px)scale(1)}55%{filter:brightness(1.18);transform:translateY(-25px)scale(1.035)}}@keyframes target-impact{0%,48%,to{filter:brightness();transform:translate(0)scale(1)}54%{filter:brightness(2.25);transform:translate(10px)scale(.94)}59%{transform:translate(-8px)scale(1.045)}65%{transform:translate(4px)scale(.985)}73%{transform:translate(-2px)}}@keyframes table-impact{0%,52%,72%,to{transform:translate(0)}55%{transform:translate(-8px,3px)}58%{transform:translate(7px,-3px)}61%{transform:translate(-5px,2px)}65%{transform:translate(3px,-1px)}69%{transform:translate(-1px,1px)}}.game-shell.fx-attack .hand .card.is-selected.is-scoring{z-index:24;pointer-events:none;transform-origin:50% 18%;animation:1.58s cubic-bezier(.2,.68,.16,1) both covenant-strike}.game-shell.fx-attack .hand .card.is-selected.is-scoring:after{animation:1.58s ease-out both card-strike-flare}.game-shell.fx-attack .enemy-effigy{animation:1.58s cubic-bezier(.2,.8,.2,1) target-impact}.game-shell.fx-attack .enemy-stage{animation:1.58s ease-out binding-flare}.game-shell.fx-attack .combat-table{animation:1.58s linear table-impact}.game-shell.fx-attack .attack-coin{animation:.7s cubic-bezier(.2,.8,.2,1) .2s coin-spend}@keyframes enemy-lunge{0%,to{transform:translateY(0)scale(1)}24%{filter:brightness(1.32);transform:translateY(-13px)scale(1.08)}51%{filter:brightness(1.8)drop-shadow(0 18px 30px #911412b8);transform:translateY(23px)scale(1.14)}68%{transform:translateY(-4px)scale(.98)}}@keyframes enemy-hit-shake{0%,43%,to{transform:translate(0)}47%{transform:translate(-13px,4px)}51%{transform:translate(11px,-5px)}56%{transform:translate(-8px,3px)}62%{transform:translate(5px,-2px)}69%{transform:translate(-2px,1px)}}@keyframes red-hit-flash{0%,30%,to{opacity:0}42%{opacity:.82}56%{opacity:.48}74%{opacity:.14}}.game-shell.fx-retaliate{animation:.86s linear enemy-hit-shake}.game-shell.fx-retaliate:after{animation:.86s ease-out red-hit-flash}.game-shell.fx-retaliate .enemy-effigy{animation:.86s cubic-bezier(.2,.8,.2,1) enemy-lunge}.game-shell.fx-retaliate .combat-table{animation:none}.game-shell.fx-retaliate .player-vitals{filter:drop-shadow(0 0 18px #dc291feb)}@media (width<=760px){.deck-well{transform-origin:100% 0;top:205px;right:13px;transform:scale(.82)}@keyframes deck-draw-in{0%{opacity:0;filter:brightness(.58);transform:translate(155px,-104px)rotate(14deg)scale(.72)}18%{opacity:1;filter:brightness(1.45)drop-shadow(0 0 14px #bda36f6b);transform:translate(132px,-118px)rotate(10deg)scale(.76)}72%{opacity:1;filter:brightness(1.08);transform:translate(-3px,-7px)rotate(-1deg)scale(1.03)}to{opacity:1;filter:none;transform:translateY(0)rotate(0)scale(1)}}@keyframes covenant-strike{0%{opacity:1;transform:translateY(-18px)scale(1)}18%{opacity:1;transform:translateY(-38px)scale(1.05)}54%{transform:translate(calc(var(--flight-x,0px) * .32), calc(-100vh + 330px)) scale(.78) rotate(var(--flight-tilt,0deg));opacity:1;filter:brightness(1.5)}61%{transform:translate(calc(var(--flight-x,0px) * .32), calc(-100vh + 342px)) scale(.94);opacity:1;filter:brightness(2.3)}72%{opacity:.86}to{transform:translate(calc(var(--flight-x,0px) * .32), calc(-100vh + 315px)) scale(.4);opacity:0;filter:blur(6px)}}}.card{flex-basis:108px;width:108px;padding:9px}.card-rank{z-index:4;color:#080806;font-size:32px;line-height:.8;position:absolute;top:9px;left:10px}.card-suit{z-index:4;color:currentColor;opacity:1;font-size:28px;line-height:1;display:block;inset:auto 10px 9px auto}.card-avatar{z-index:2;background:#f2ecdc29;border:1px solid #14141033;place-items:center;display:grid;position:absolute;inset:25px 10px 22px;overflow:hidden}.card-avatar:after{content:"";pointer-events:none;border:1px solid #1414101a;position:absolute;inset:5px}.card-avatar svg{width:94%;height:94%;overflow:visible}.card-avatar path{vector-effect:non-scaling-stroke}.avatar-halo{fill:none;stroke:currentColor;stroke-width:.8px;opacity:.22}.avatar-shoulders{fill:currentColor;opacity:.86}.avatar-hood{fill:#18181429;stroke:currentColor;stroke-width:1.2px}.avatar-face{fill:#efe6cf75;stroke:currentColor;stroke-width:1px}.avatar-mask{fill:currentColor;opacity:.72}.avatar-eyes,.avatar-mouth,.avatar-crown,.avatar-regalia{fill:none;stroke:#0b0b09;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.avatar-regalia{stroke:currentColor;opacity:.82}.avatar-veil{color:#293851}.avatar-ember{color:#742f22}.avatar-ivory{color:#665b30}.avatar-thorn{color:#294230}.card-avatar.face-1 .avatar-mask{opacity:.58}.card-avatar.face-2 .avatar-hood{fill:currentColor;opacity:.28}.card-avatar.face-3 .avatar-face{fill:#14141017}.critical-mark{z-index:5;writing-mode:vertical-rl;color:#5d3768;letter-spacing:.12em;font-size:7px;inset:8px 8px auto auto}.card.is-compact .card-avatar{inset:18px 6px 15px}.card.is-compact .card-rank{font-size:18px;top:6px;left:6px}.card.is-compact .card-suit{font-size:17px;bottom:5px;right:6px}.card.is-compact .critical-mark{display:none}.enemy-portrait{--portrait-accent:var(--copper);--portrait-shadow:#321c18;aspect-ratio:.9;width:100%;color:var(--portrait-accent);filter:drop-shadow(0 16px 24px #0000007a);display:block;position:relative}.enemy-portrait svg{width:100%;height:100%;overflow:visible}.enemy-portrait path,.enemy-portrait circle,.enemy-portrait ellipse{vector-effect:non-scaling-stroke}.portrait-orbit{fill:none;stroke:var(--portrait-accent);opacity:.2}.orbit-one{stroke-width:1px;stroke-dasharray:2 8}.orbit-two{stroke-width:.8px;stroke-dasharray:16 6;transform-origin:90px 98px;transform:rotate(18deg)}.portrait-cloak{fill:var(--portrait-shadow);stroke:var(--portrait-accent);stroke-width:1.2px}.portrait-hood{fill:#141411;stroke:var(--portrait-accent);stroke-width:1.4px}.portrait-face{fill:#26231d;stroke:var(--portrait-accent);stroke-width:1px}.portrait-mask{fill:var(--portrait-shadow);stroke:var(--portrait-accent);stroke-width:1px}.portrait-eyes,.portrait-mouth{fill:none;stroke:var(--portrait-accent);stroke-width:2.2px;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--portrait-accent))}.portrait-crest{fill:none;stroke:var(--portrait-accent);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.portrait-crest.halo{fill:var(--portrait-shadow);fill-opacity:.65}.portrait-crest.crown{fill:var(--portrait-shadow);fill-opacity:.45}.portrait-sigil{fill:none;stroke:var(--portrait-accent);stroke-width:1.2px;opacity:.72}.enemy-portrait.face-1 .portrait-orbit{transform-origin:90px 98px;transform:rotate(-12deg)}.enemy-portrait.face-2 .portrait-mask{fill:#0d0e0c}.enemy-portrait.face-3 .portrait-eyes{stroke-width:3px}.enemy-portrait.is-compact{filter:none;width:42px}.enemy-portrait.is-compact .portrait-orbit,.enemy-portrait.is-compact .portrait-sigil{display:none}.enemy-effigy{width:210px;height:210px}.eyebrow{font-size:11px}.run-mark span,.run-mark i{font-size:10px}.run-mark strong{font-size:12px}.enemy-rule{font-size:14px;line-height:1.55}.enemy-rule span{font-size:10px}.enemy-stats,.meter-copy{font-size:11px}.meter-copy strong{font-size:13px}.sigil strong{font-size:16px}.sigil small{font-size:11px}.damage-oracle p{font-size:14px}.damage-oracle small,.hand-sort span,.hand-sort button{font-size:11px}.primary-action,.secondary-action{font-size:13px}.primary-action span,.secondary-action span,kbd,.log-heading>span:last-child{font-size:10px}.log-entry i{font-size:9px}.log-entry p{font-size:12px}.zones span{font-size:9px}.sound-status{font-size:11px}.deck-well .eyebrow{font-size:9px}.deck-well>strong{font-size:11px}@media (width<=760px){.enemy-stage{grid-template-columns:1fr 112px;gap:12px;padding:16px}.enemy-effigy{width:112px;height:124px}.enemy-copy h2{font-size:31px}.enemy-copy>p{font-size:17px}.enemy-rule{max-width:none;font-size:13px}.card{flex:0 0 80px;width:80px}.card-rank{font-size:25px;top:8px;left:8px}.card-suit{font-size:22px;bottom:7px;right:8px}.card-avatar{inset:22px 8px 19px}.hand{scrollbar-width:thin;scroll-snap-type:x proximity}.hand .card{scroll-snap-align:center}.action-bar{z-index:30;border-top:1px solid var(--line-soft);background:#0c0d0cf0;padding:10px;position:sticky;bottom:0}.primary-action,.secondary-action{min-height:52px;font-size:12px}.table-center{padding-bottom:0}}.card{aspect-ratio:10/19;background:#090a09;border-color:#5b4a34;flex-basis:108px;width:108px;padding:0;box-shadow:0 12px 26px #0000006b}.card-art{z-index:1;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.card:after{z-index:6;border-color:#dcc38b26;inset:4px}.card.is-critical:before{z-index:5}.critical-mark{z-index:7;color:#e7c8f2;text-shadow:0 1px 2px #000;background:#26112bd1;padding:3px 2px;top:7px;right:6px}.card.is-compact{flex-basis:53px}@media (width<=760px){.card{flex-basis:80px;width:80px}.card.is-compact{flex-basis:53px;width:53px}}.loading-shell{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:22px;display:grid}.loading-shell button{border:1px solid var(--line);background:var(--panel);cursor:pointer;padding:10px 18px}.auth-shell{background:radial-gradient(circle at 27% 48%, #a853351a, transparent 31rem), linear-gradient(90deg, transparent 0 64%, #0000004d 64%), var(--ink);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.auth-shell:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 119px,#ffffff05 120px);position:absolute;inset:0}.auth-intro{z-index:1;align-self:center;max-width:720px;padding:9vw 8vw;position:relative}.auth-intro h1{letter-spacing:-.035em;margin:12px 0 18px;font:600 clamp(64px,8vw,126px)/.78 Cormorant Garamond,serif}.auth-intro>p{color:#aaa79d;max-width:520px;margin:0;font:500 clamp(18px,2vw,27px)/1.25 Cormorant Garamond,serif}.auth-rule{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:28px;margin-top:52px;padding-top:17px;font:500 9px/1.5 Azeret Mono,monospace;display:flex}.auth-form-wrap{z-index:2;border-left:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d0e0dd6;align-content:center;padding:clamp(32px,6vw,90px);display:grid;position:relative}.auth-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:34px;display:grid}.auth-tabs button{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 4px;font:500 9px Azeret Mono,monospace}.auth-tabs button.active{color:var(--bone);border-color:var(--gold)}.auth-form{gap:24px;display:grid}.auth-form>div{gap:8px;display:grid}.auth-form label{letter-spacing:.1em;text-transform:uppercase;font:500 10px Azeret Mono,monospace}.auth-form input{border:1px solid var(--line);width:100%;color:var(--bone);background:#11120f;border-radius:0;padding:14px 13px}.auth-form input:hover{border-color:#55554b}.auth-form small{color:#65685f;font-size:10px}.auth-submit{color:#e8dcc3;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:#211c13;border:1px solid #755f3b;margin-top:8px;padding:14px 16px;font:600 10px Azeret Mono,monospace}.auth-submit:hover:not(:disabled){border-color:var(--gold);background:#2b2418}.auth-submit:disabled{opacity:.5}.auth-error,.fatal-error{color:#d98574;font-size:11px}.fatal-error{position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.auth-sigil{aspect-ratio:1;color:#bda36f17;border:1px solid #bda36f14;border-radius:50%;place-items:center;width:min(38vw,530px);font:600 48px Cormorant Garamond,serif;display:grid;position:absolute;top:50%;left:30%;transform:translate(-50%,-50%)}.auth-sigil:before,.auth-sigil:after,.auth-sigil i{content:"";border:1px solid;position:absolute;transform:rotate(45deg)}.auth-sigil:before{inset:13%}.auth-sigil:after{border-radius:50%;inset:29%;transform:none}.auth-sigil i:first-child{inset:23%}.auth-sigil i:nth-child(2){inset:37%;transform:rotate(0)}.auth-sigil b{font-weight:600}.hub-shell,.map-shell,.loadout-shell,.settings-shell,.shop-shell{min-height:100vh}.hub-header,.section-header{border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0b0ae0;grid-template-columns:1fr auto 1fr;align-items:center;min-height:92px;padding:16px clamp(20px,4vw,62px);display:grid}.hub-header .wordmark h1,.section-header h1{margin:0;font:600 32px/1 Cormorant Garamond,serif}.player-mark,.section-resource{text-transform:uppercase;justify-self:end;align-items:baseline;gap:15px;font-family:Azeret Mono,monospace;display:flex}.player-mark span,.section-resource span{color:var(--muted);letter-spacing:.1em;font-size:9px}.player-mark strong,.section-resource strong{color:var(--bone);font-size:10px}.player-mark i{color:var(--gold);font-size:9px;font-style:normal}.hub-stage{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:center;gap:8vw;min-height:360px;padding:55px max(34px,8vw);display:grid}.hub-copy h2{letter-spacing:-.025em;max-width:800px;margin:11px 0 8px;font:600 clamp(45px,6vw,86px)/.92 Cormorant Garamond,serif}.hub-copy p{max-width:560px;color:var(--muted);margin:0;line-height:1.55}.level-thread{grid-template-columns:auto 1fr;align-items:center;gap:24px;display:grid}.level-disc{aspect-ratio:1;border:1px solid #5a4b36;border-radius:50%;place-content:center;justify-items:center;width:130px;display:grid;box-shadow:inset 0 0 0 7px #0d0e0c,inset 0 0 0 8px #332c21}.level-disc span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font:500 8px Azeret Mono,monospace}.level-disc strong{color:var(--gold);font:600 48px Cormorant Garamond,serif}.xp-line{background:var(--line);height:2px;position:relative}.xp-line i{background:var(--gold);position:absolute;inset:0 auto 0 0}.xp-line span{color:var(--muted);text-transform:uppercase;white-space:nowrap;font:500 8px Azeret Mono,monospace;position:absolute;top:12px;left:0}.hub-choices{max-width:1180px;margin:0 auto;padding:36px 34px;display:grid}.hub-choice{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:45px 1fr auto;align-items:center;gap:20px;min-height:108px;display:grid}.hub-choice:first-child{border-top:1px solid var(--line)}.hub-choice:hover{background:#bda36f09}.hub-choice .choice-mark{color:#6d665a;font-size:18px}.hub-choice.primary .choice-mark{color:var(--gold)}.hub-choice span:nth-child(2){grid-template-columns:105px minmax(180px,280px) 1fr;align-items:baseline;gap:12px;display:grid}.hub-choice small,.hub-choice em,.hub-choice>b{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:500 9px Azeret Mono,monospace}.hub-choice strong{font:600 28px Cormorant Garamond,serif}.hub-choice>b{color:var(--gold)}.hub-footer{color:var(--muted);text-transform:uppercase;align-items:center;gap:24px;padding:18px max(34px,8vw);font:500 8px Azeret Mono,monospace;display:flex}.hub-footer button{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto}.hub-footer button:hover{color:var(--bone)}.section-header>div:nth-child(2){text-align:center;justify-self:center}.back-button{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:start;padding:10px 0;font-size:11px}.back-button:hover{color:var(--bone)}.campaign-map{gap:12px;max-width:1030px;margin:0 auto;padding:55px 34px 90px;display:grid;position:relative}.map-thread{background:linear-gradient(var(--gold), var(--line) 62%, #1d1f1a);opacity:.42;width:1px;position:absolute;top:80px;bottom:120px;left:50%}.campaign-node{z-index:1;border:1px solid var(--line-soft);text-align:left;background:#111310;grid-template-columns:50px 1fr auto;align-items:center;gap:18px;width:74%;min-height:98px;padding:16px 20px;display:grid;position:relative}.campaign-node:nth-of-type(2n){justify-self:end}.campaign-node i{aspect-ratio:1;border:1px solid var(--line);width:42px;color:var(--muted);background:var(--ink);border-radius:50%;place-items:center;font-style:normal;display:grid}.campaign-node span{gap:3px;display:grid}.campaign-node small,.campaign-node em,.campaign-node>b{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:500 8px Azeret Mono,monospace}.campaign-node strong{font:600 22px Cormorant Garamond,serif}.campaign-node>b{color:#76786f}.campaign-node.current{cursor:pointer;background:#17150f;border-color:#6b5636;box-shadow:0 12px 40px #0000003d}.campaign-node.current i,.campaign-node.current>b{color:var(--gold);border-color:#75613f}.campaign-node.current:hover{border-color:var(--gold);transform:translateY(-2px)}.campaign-node.cleared{opacity:.68}.campaign-node.locked{opacity:.46}.campaign-node.boss strong{color:#c88673}.map-complete{z-index:2;text-align:center;background:var(--ink);justify-self:center;max-width:460px;padding:50px 20px;position:relative}.map-complete span{color:var(--gold)}.map-complete strong{margin:8px 0;font:600 34px Cormorant Garamond,serif;display:block}.map-complete p{color:var(--muted);line-height:1.5}.sigil-catalog,.settings-list,.shop-ledger{max-width:1080px;margin:0 auto;padding:45px 34px 130px}.loadout-sigil{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:44px 1fr auto;align-items:center;gap:18px;width:100%;min-height:126px;display:grid}.loadout-sigil:first-child{border-top:1px solid var(--line)}.loadout-sigil i{color:var(--muted);font-style:normal}.loadout-sigil span{grid-template-columns:130px 240px 1fr;align-items:baseline;gap:12px;display:grid}.loadout-sigil small,.loadout-sigil>b{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:500 8px Azeret Mono,monospace}.loadout-sigil strong{font:600 24px Cormorant Garamond,serif}.loadout-sigil p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.loadout-sigil.active{background:#bda36f09}.loadout-sigil.active i,.loadout-sigil.active>b{color:var(--gold)}.loadout-sigil.locked{opacity:.3;cursor:not-allowed}.loadout-footer,.settings-footer,.shop-footer{z-index:20;border-top:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0b0af0;align-items:center;gap:24px;min-height:84px;padding:14px max(34px,8vw);display:flex;position:fixed;bottom:0;left:0;right:0}.loadout-footer p,.settings-footer p,.shop-footer p{color:var(--muted);font-size:11px}.loadout-footer .primary-action,.settings-footer .primary-action,.shop-footer .primary-action{min-width:210px;min-height:48px;margin-left:auto}.settings-list{gap:0;display:grid}.setting-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:1fr 50px;align-items:center;min-height:145px;display:grid;position:relative}.setting-row:first-child{border-top:1px solid var(--line)}.setting-row span{grid-template-columns:120px 260px 1fr;align-items:baseline;gap:16px;display:grid}.setting-row small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:500 8px Azeret Mono,monospace}.setting-row strong{font:600 24px Cormorant Garamond,serif}.setting-row p{color:var(--muted);margin:0;font-size:11px}.setting-row input{opacity:0;position:absolute}.setting-row>i{border:1px solid #505248;width:38px;height:20px;position:relative}.setting-row>i:after{content:"";background:#65675e;width:12px;height:12px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.setting-row input:checked~i{border-color:#7a6644}.setting-row input:checked~i:after{background:var(--gold);transform:translate(18px)}.setting-row:focus-within{outline:2px solid var(--gold);outline-offset:3px}.shop-ledger{gap:0;display:grid}.shop-offer{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr 80px 165px;align-items:center;gap:18px;min-height:160px;display:grid}.shop-offer:first-child{border-top:1px solid var(--line)}.shop-offer>i{color:var(--muted);font-style:normal}.shop-offer h2{margin:3px 0 4px;font:600 25px Cormorant Garamond,serif}.shop-offer small{color:var(--muted);text-transform:uppercase;font:500 8px Azeret Mono,monospace}.shop-offer p{color:var(--muted);margin:0;font-size:11px}.offer-price{text-align:center}.offer-price strong{color:var(--gold);font:600 24px Cormorant Garamond,serif;display:block}.offer-price span{color:var(--muted);text-transform:uppercase;font:500 8px Azeret Mono,monospace}.shop-offer>button{border:1px solid var(--line);min-height:40px;color:var(--bone);cursor:pointer;background:#141510;font-size:10px}.shop-offer>button:hover:not(:disabled){border-color:var(--gold)}.shop-offer>button:disabled{color:#595b54;cursor:not-allowed}.shop-offer.owned{opacity:.55}.shop-offer.locked{opacity:.3}.reward-toast{z-index:80;background:#17150f;border:1px solid #715d3d;grid-template-columns:1fr auto;gap:5px 22px;min-width:330px;padding:17px 18px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 55px #00000075}.reward-toast span{color:var(--muted);text-transform:uppercase;font:500 8px Azeret Mono,monospace}.reward-toast strong{color:var(--gold);font:600 19px Cormorant Garamond,serif}.reward-toast button{color:var(--muted);cursor:pointer;background:0 0;border:0;grid-area:1/2/3}.sound-status{color:var(--muted);text-transform:uppercase;padding:10px;font:500 9px Azeret Mono,monospace}.sound-status i{color:var(--gold);margin-right:4px;font-style:normal}.loadout-summary{border-bottom:1px solid var(--line-soft);padding:8px 3px 22px}.loadout-summary h3{margin:7px 0 3px;font:600 20px Cormorant Garamond,serif}.loadout-summary p,.empty-loadout{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.combat-loadout .sigil{cursor:default}.motion-reduced *,.reduce-motion *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (width<=900px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:48vh;padding:70px 28px 38px}.auth-intro h1{font-size:clamp(64px,17vw,98px)}.auth-form-wrap{border-left:0;border-top:1px solid var(--line-soft);padding:38px 28px 70px}.auth-sigil{width:58vw;top:25%;left:67%}.hub-stage{grid-template-columns:1fr;min-height:auto}.level-thread{max-width:480px}.hub-choice span:nth-child(2){grid-template-columns:90px 220px 1fr}.loadout-sigil span,.setting-row span{grid-template-columns:100px 220px 1fr}.shop-offer{grid-template-columns:35px 1fr 70px;padding:18px 0}.shop-offer>button{grid-column:2/4}}@media (width<=620px){.hub-header,.section-header{grid-template-columns:1fr auto;min-height:78px;padding:13px 18px}.hub-header .wordmark h1,.section-header h1{font-size:25px}.section-header>div:nth-child(2){text-align:left;justify-self:start}.section-header .back-button{grid-row:1}.section-header .section-resource{grid-area:1/2}.hub-header .player-mark{gap:8px}.player-mark span{display:none}.hub-stage{gap:38px;padding:44px 22px}.hub-copy h2{font-size:48px}.level-thread{grid-template-columns:95px 1fr}.level-disc{width:95px}.level-disc strong{font-size:36px}.hub-choices{padding:24px 18px}.hub-choice{grid-template-columns:26px 1fr auto;gap:11px}.hub-choice span:nth-child(2){grid-template-columns:1fr;gap:3px}.hub-choice small{display:none}.hub-choice strong{font-size:23px}.hub-choice em{white-space:normal;line-height:1.4}.hub-footer{flex-wrap:wrap;padding:15px 20px}.campaign-map{padding:34px 15px 80px}.map-thread{left:29px}.campaign-node,.campaign-node:nth-of-type(2n){grid-template-columns:38px 1fr;justify-self:end;gap:11px;width:calc(100% - 16px);padding:14px 12px}.campaign-node i{width:34px}.campaign-node>b{grid-column:2}.sigil-catalog,.settings-list,.shop-ledger{padding:28px 18px 125px}.loadout-sigil{grid-template-columns:25px 1fr;padding:16px 0}.loadout-sigil span{grid-template-columns:1fr;gap:4px}.loadout-sigil p{margin-top:4px}.loadout-sigil>b{grid-column:2}.setting-row{grid-template-columns:1fr 46px;padding:18px 0}.setting-row span{grid-template-columns:1fr;gap:4px}.setting-row p{margin-top:4px}.shop-offer{grid-template-columns:25px 1fr 58px}.loadout-footer,.settings-footer,.shop-footer{padding:12px 18px}.loadout-footer p,.settings-footer p,.shop-footer p{display:none}.loadout-footer .primary-action,.settings-footer .primary-action,.shop-footer .primary-action{width:100%;margin:0}.reward-toast{min-width:0;bottom:12px;left:12px;right:12px}.campaign-combat .topbar{grid-template-columns:1fr auto}.campaign-combat .run-mark,.campaign-combat .sound-status{display:none}}.auth-rule,.auth-tabs button{font-size:11px}.auth-form label,.auth-submit{font-size:12px}.auth-form input{min-height:50px;font-size:15px}.auth-form small{font-size:12px;line-height:1.45}.auth-error,.fatal-error{font-size:13px}.player-mark span,.section-resource span{font-size:11px}.player-mark strong,.section-resource strong,.player-mark i{font-size:12px}.hub-copy p{font-size:16px}.level-disc span,.xp-line span{font-size:10px}.hub-choice small,.hub-choice em,.hub-choice>b{font-size:11px}.hub-footer{font-size:10px}.back-button{font-size:13px}.campaign-node{min-height:112px}.campaign-node small,.campaign-node em,.campaign-node>b{font-size:10px}.campaign-node strong{font-size:26px}.campaign-node i{width:52px}.campaign-node i:has(.enemy-portrait){background:0 0;border:0}.loadout-sigil small,.loadout-sigil>b,.setting-row small,.shop-offer small,.offer-price span{font-size:10px}.loadout-sigil strong,.setting-row strong{font-size:27px}.loadout-sigil p,.setting-row p,.shop-offer p,.loadout-footer p,.settings-footer p,.shop-footer p{font-size:13px}.shop-offer h2{font-size:28px}.shop-offer>button{font-size:12px}.reward-toast span{font-size:10px}.loadout-summary p,.empty-loadout{font-size:12px}@media (width<=620px){.auth-intro{min-height:42vh;padding-top:54px}.auth-intro h1{font-size:clamp(57px,16vw,80px)}.auth-intro>p{font-size:20px}.auth-rule{gap:14px;margin-top:32px;font-size:10px}.auth-form-wrap{padding-top:30px}.hub-copy p{font-size:15px}.hub-choice em{font-size:10px}.campaign-node,.campaign-node:nth-of-type(2n){grid-template-columns:48px 1fr;min-height:106px}.campaign-node i{width:46px}.campaign-node strong{font-size:24px}.campaign-node small,.campaign-node em,.campaign-node>b{font-size:9px}.loadout-sigil p,.setting-row p,.shop-offer p{font-size:12px}.shop-offer h2{font-size:25px}.section-resource{gap:7px}}
