:root{--ink:#070812;--panel:#0d0f1d;--panel-2:#111425;--line:#252941;--muted:#83879d;--text:#f4f1e8;--acid:#ffce00;--gold:#f4e076;--violet:#a98aff;--cyan:#70e7ff;--danger:#ff6b7a;--serif:"Cinzel",serif;--sans:"Manrope",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{min-height:100%;background:var(--ink)}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--sans);background:radial-gradient(circle at 76% 18%,rgba(114,75,181,.17),transparent 32rem),radial-gradient(circle at 12% 76%,rgba(146,187,66,.08),transparent 25rem),var(--ink)}button,textarea{font:inherit}button{color:inherit;cursor:pointer}.hidden{display:none!important}.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.intro-screen{width:min(1380px,100%);min-height:100vh;margin:0 auto;padding:70px max(44px,5vw);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);align-items:center;gap:8vw;overflow:hidden}.intro-copy{position:relative;z-index:2;max-width:650px}.intro-copy h1{margin:18px 0 24px;font:600 clamp(46px, 5.5vw, 82px)/.98 var(--serif);letter-spacing:-.045em}.intro-copy p:not(.eyebrow){max-width:590px;margin:0;color:#afb1bf;font-size:15px;line-height:1.8}.enter-button{width:min(100%,470px);min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:38px;padding:0 22px;color:var(--ink);text-align:left;border:1px solid var(--acid);background:var(--acid);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}.enter-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.enter-glyph{font:28px var(--serif)}.enter-button span:nth-child(2){font:700 12px var(--serif);letter-spacing:.07em}.enter-button small{display:block;margin-bottom:6px;font:500 8px var(--mono);letter-spacing:.17em;opacity:.65}.sigil-wrap{width:min(44vw,570px);aspect-ratio:1;position:relative;display:grid;place-items:center}.sigil-wrap::after,.sigil-wrap::before{content:"";position:absolute;border:1px solid #292743;border-radius:50%;inset:8%}.sigil-wrap::after{inset:23%;border-color:#3a3260;box-shadow:0 0 90px rgba(147,111,255,.18)}.intro-sigil{width:23%;aspect-ratio:304/466;position:relative;z-index:1;overflow:hidden;border:1px solid var(--violet);background:rgba(13,15,29,.9);box-shadow:0 18px 60px rgba(0,0,0,.38),0 0 80px rgba(169,138,255,.16)}.intro-sigil img{display:block;width:100%;height:100%;object-fit:cover}.orbit{position:absolute;inset:0;border:1px dashed #302d49;border-radius:50%;animation:rotate 38s linear infinite}.orbit-two{inset:15%;animation-direction:reverse;animation-duration:26s}.orbit i{position:absolute;width:38px;height:38px;display:grid;place-items:center;color:var(--violet);border-radius:50%;background:var(--ink);font:normal 22px var(--serif)}.orbit i:first-child{left:18%;top:3%}.orbit i:nth-child(2){right:-2%;top:48%}.orbit i:nth-child(3){left:8%;bottom:9%}@keyframes rotate{to{transform:rotate(360deg)}}.app-shell{width:min(1380px,100%);min-height:100vh;margin:0 auto;padding:0 44px 56px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font:600 16px var(--serif);letter-spacing:.12em}.brand small{color:var(--muted);font:500 9px var(--mono);letter-spacing:.2em}.topbar-actions{display:flex;gap:10px}.spell-header-actions{display:flex;align-items:center;gap:10px}.multiplier-status{min-width:96px;height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px}.multiplier-status small{color:var(--muted);font:500 8px var(--mono);letter-spacing:.16em}.multiplier-status b{color:var(--gold);font:600 18px/1 var(--serif);text-shadow:0 0 18px rgba(244,224,118,.25)}.status-tooltip-trigger{cursor:pointer}.status-tooltip-trigger:focus-visible{outline:1px solid var(--acid);outline-offset:2px}.status-tooltip{position:absolute;z-index:10;top:calc(100% + 10px);right:0;width:min(280px,calc(100vw - 32px));padding:10px 12px;color:var(--text);background:#111425;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.4);font:400 11px/1.5 var(--sans);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease}.status-tooltip.visible{opacity:1;visibility:visible}#multiplierDisplay::before,#testMultiplier::before{content:"×";margin-right:2px}#fireweightDisplay::before,#resultFireweight::before,#testFireweight::before{content:"⚖️";margin-right:4px;color:var(--gold);font-family:var(--sans);font-size:14px;vertical-align:1px}.multiplier-status.inactive b,.multiplier-status.inactive small{color:#5e6274;text-shadow:none}.icon-button,.mini-button,.text-button{border:1px solid var(--line);background:rgba(17,20,37,.75);font:500 9px var(--mono);letter-spacing:.13em}.icon-button{width:36px;height:36px;border-radius:50%}.text-button{display:inline-flex;align-items:center;padding:11px 15px;color:inherit;text-decoration:none}.mini-button{padding:6px 9px;background:0 0;font-size:7px}.icon-button:hover,.mini-button:hover,.text-button:hover{color:var(--gold);border-color:var(--acid)}.hero{display:flex;align-items:center;gap:36px;padding:42px 0 28px}.hero-book-cover{flex:0 0 108px;display:block;aspect-ratio:304/466;background:rgba(13,15,29,.9);box-shadow:0 12px 35px rgba(0,0,0,.38),0 0 40px rgba(169,138,255,.1);transition:transform 250ms cubic-bezier(.23, 1, .32, 1);overflow:hidden}.hero-book-cover:hover{transform:translateY(-5px) scale(1.03)}.hero-book-cover img{display:block;width:100%;height:100%;object-fit:cover}.eyebrow{margin:0;color:var(--gold);font:500 10px var(--mono);letter-spacing:.23em}.hero h1{margin:14px 0 0;font:600 clamp(38px, 4vw, 57px)/.98 var(--serif);letter-spacing:-.045em}h1 em{color:var(--violet);font-weight:500}.preorder-link{display:inline-block;margin-top:18px;color:var(--gold);font:600 11px var(--mono);letter-spacing:.1em;text-underline-offset:4px}.preorder-link:hover{color:var(--text)}.hero-copy{margin:0 0 4px;color:#a7aab8;font-size:13px;line-height:1.75}.level-rail{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:18px;border:1px solid var(--line);background:var(--line);gap:1px}.level-button{min-height:54px;display:flex;align-items:center;gap:11px;padding:0 13px;text-align:left;border:0;background:var(--panel)}.level-button b{width:27px;height:27px;display:grid;place-items:center;color:var(--muted);border:1px solid #34384e;font:600 10px var(--serif)}.level-button span{display:grid;gap:3px}.level-button strong{color:#c5c6c2;font:600 8px var(--serif);letter-spacing:.07em}.level-button small{color:#626678;font:500 7px var(--mono);letter-spacing:.08em}.level-button.current{background:linear-gradient(120deg,rgba(244,224,118,.11),var(--panel))}.level-button.current b{color:var(--ink);border-color:var(--gold);background:var(--gold)}.level-button.complete b{color:var(--gold);border-color:#64713d}.level-button.locked{opacity:.36;cursor:not-allowed}.game-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);border:1px solid var(--line);background:var(--panel)}.maze-panel{min-width:0;border-right:1px solid var(--line)}.panel-header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-header small{color:var(--muted);font:500 8px var(--mono);letter-spacing:.16em}.maze-header-status{position:relative;display:flex;align-items:center;gap:10px}.maze-stats{display:flex;gap:22px}.maze-stats span{display:flex;align-items:baseline;gap:8px}.maze-stats b{color:#d9dbd5;font:500 10px var(--mono)}@media (min-width:621px){.maze-header .maze-stats{flex:1;margin-right:22px}.maze-stats .maze-lock-name{margin-right:auto}}.maze-wrap{position:relative;min-height:533px;display:grid;place-items:center;padding:16px;overflow:hidden;background:#090b15}.maze-wrap::before{content:"";position:absolute;inset:0;opacity:.24;background-image:linear-gradient(#1e2234 1px,transparent 1px),linear-gradient(90deg,#1e2234 1px,transparent 1px);background-size:28px 28px}#mazeCanvas{position:relative;z-index:2;display:block;width:min(100%,540px);height:auto;filter:drop-shadow(0 18px 45px rgba(0,0,0,.48))}.maze-small-hint{position:absolute;z-index:4;right:24px;bottom:20px;left:24px;margin:0 auto;max-width:540px;color:var(--gold);font:500 12px/1.5 var(--mono);letter-spacing:.08em;text-align:center;pointer-events:none}.maze-tooltip{position:absolute;z-index:5;max-width:180px;padding:7px 9px;border:1px solid currentColor;background:rgba(9,11,21,.96);color:#d9dbd5;font:500 10px/1.35 var(--mono);text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 8px));transition:opacity .1s ease}.maze-tooltip[data-kind=ember]{color:var(--gold)}.maze-tooltip[data-kind=heart]{color:var(--violet)}.maze-tooltip[data-kind=fireweight]{color:#ffb067}.maze-tooltip[data-kind=multiplier-increment]{color:#47cfff}.maze-tooltip[data-kind=multiplier-decrement]{color:#f69}.maze-tooltip.visible{opacity:1}.maze-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 80px rgba(3,4,9,.75)}.maze-stats .maze-lock-name{color:var(--gold);font:500 10px var(--mono);letter-spacing:.15em;text-transform:uppercase}.spell-panel{min-width:0}.editor-wrap{position:relative;height:66px;display:grid;background:#090b15;animation:step-mode-pulse 3s ease-in-out infinite;transition:height 160ms ease}.editor-wrap.expanded{height:min(240px,42vh)}.editor-code{position:relative;min-width:0;margin-right:64px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.editor-code::-webkit-scrollbar{display:none}.editor-wrap.expanded .editor-code{overflow-x:hidden;overflow-y:auto}.runes-remaining{position:absolute;z-index:5;top:5px;left:6px;min-width:15px;height:13px;display:grid;place-items:center;padding:0 3px;color:var(--gold);font:500 8px/1 var(--mono);pointer-events:none}.runes-remaining.depleted{color:var(--danger)}.spell-scrollbar{position:absolute;z-index:6;right:64px;bottom:0;left:24px;height:8px;background:#090b15;cursor:pointer;touch-action:none}.spell-editor-expand{position:absolute;z-index:7;bottom:0;left:0;width:24px;height:24px;display:grid;place-items:center;padding:0;color:var(--muted);border:0;background:0 0}.spell-editor-expand:focus-visible,.spell-editor-expand:hover{color:var(--gold)}.spell-editor-expand:focus-visible{outline:1px solid var(--acid);outline-offset:-2px}.spell-editor-expand svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25}.editor-wrap.expanded .spell-editor-expand .expand-icon,.spell-editor-expand .collapse-icon{display:none}.editor-wrap.expanded .spell-editor-expand .collapse-icon{display:block}.spell-scrollbar-thumb{height:8px;border:2px solid #090b15;background:#4b5066;cursor:grab;touch-action:none}.spell-scrollbar-thumb:active{cursor:grabbing}.spell-scrollbar:focus-visible{outline:1px solid var(--acid);outline-offset:-1px}.spell-editor-actions{position:absolute;z-index:5;top:0;right:0;bottom:0;width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.spell-editor-action{padding:2px 4px;color:var(--muted);border:0;background:0 0;font:500 7px var(--mono);letter-spacing:.1em}.spell-editor-action:focus-visible,.spell-editor-action:hover{color:var(--gold)}.spell-editor-action:focus-visible{outline:1px solid var(--acid);outline-offset:1px}.spell-editor-action:disabled{color:var(--muted);opacity:.4;cursor:default}#hintButton{width:52px;min-height:21px;margin-bottom:2px;color:var(--gold);border:0;background:rgba(244,224,118,.1);font-size:8px;font-weight:700;letter-spacing:.14em}#hintButton:focus-visible,#hintButton:hover{background:rgba(244,224,118,.18)}.drop-line{position:absolute;z-index:3;right:10px;left:0;height:2px;pointer-events:none;opacity:0;background:var(--cyan);box-shadow:0 0 10px rgba(112,231,255,.8)}.editor-wrap.drag-over .drop-line{opacity:1}.editor-wrap.drag-over{box-shadow:inset 0 0 0 1px rgba(112,231,255,.45)}.editor-caret{position:absolute;z-index:4;width:2px;height:32px;pointer-events:none;opacity:0;background:var(--acid);animation:caret-blink 1s step-end infinite}.editor-caret.visible{opacity:1}@keyframes caret-blink{50%{opacity:0}}.rune-meanings{position:absolute;z-index:2;top:17px;left:17px;min-width:calc(100% - 34px);width:max-content;padding-right:17px;pointer-events:none;color:#daddd1;font:26px/32px var(--mono);white-space:nowrap}.editor-wrap.expanded .rune-meanings{right:17px;min-width:0;width:auto;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:8px;padding-right:0;white-space:normal}.rune-meanings span{position:relative;display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;overflow:visible;color:#daddd1;font:26px/32px var(--mono);pointer-events:auto;user-select:none}.rune-meanings .rune-position{position:absolute;top:1px;right:2px;color:rgba(218,221,209,.38);font:8px/1 var(--mono);pointer-events:none}.rune-meanings .rune-meaning{position:absolute;right:2px;bottom:-6px;color:rgba(218,221,209,.38);font:6px/1 var(--mono);letter-spacing:-.04em;text-transform:uppercase;pointer-events:none}.rune-meanings span[data-line]{cursor:grab;touch-action:none}.rune-meanings span[data-line]:active{cursor:grabbing}.rune-meanings span.dragging{color:var(--cyan)}.rune-meanings .active{color:var(--gold);background:rgba(244,224,118,.14);box-shadow:inset 0 0 0 1px rgba(244,224,118,.45),0 0 12px rgba(244,224,118,.18);text-shadow:0 0 9px rgba(244,224,118,.45)}.rune-discard{position:fixed;z-index:30;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--danger);border:1px solid rgba(255,107,122,.55);background:rgba(28,10,18,.94);box-shadow:0 12px 35px rgba(0,0,0,.4);font:500 8px var(--mono);letter-spacing:.13em;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 120ms ease,transform 120ms ease}.rune-discard b{font:20px/1 var(--sans)}body.discarding-rune .rune-discard{opacity:1;transform:translateY(0)}.rune-limit-message{position:absolute;z-index:20;top:calc(100% + 8px);right:8px;max-width:min(420px,calc(100% - 16px));padding:14px 16px;color:#dedfd7;border:1px solid rgba(255,107,122,.55);background:rgba(28,10,18,.96);box-shadow:0 12px 35px rgba(0,0,0,.4);font:500 10px/1.5 var(--mono);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity 120ms ease,transform 120ms ease}.rune-limit-message.visible{opacity:1;transform:translateY(0)}.rune-drag-preview{position:fixed;top:0;left:0;z-index:-1;width:44px;height:44px;display:grid;place-items:center;color:var(--gold);border:1px solid var(--cyan);background:#0c0e1a;box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 12px rgba(112,231,255,.25);font:24px var(--serif);pointer-events:none}.pointer-rune-drag-preview{z-index:40}textarea{position:relative;z-index:1;resize:none;width:100%;min-height:100%;padding:17px;color:transparent;caret-color:transparent;border:0;outline:0;background:0 0;font:26px/32px var(--mono);white-space:nowrap;overflow:hidden}textarea::selection{color:var(--ink);background:var(--acid)}textarea::placeholder{color:#6d7182;opacity:1;text-align:center}#spellEditor::placeholder{font-size:14px}textarea:read-only{cursor:default}textarea[draggable=true]:read-only{cursor:grab}.editor-wrap.dragging-line textarea{cursor:grabbing}.rune-heading{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 15px}.rune-heading>small{color:#5e6274;font:500 7px var(--mono);letter-spacing:.12em}.rune-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 14px;border:1px solid var(--line);background:var(--line);gap:1px}.rune{min-height:52px;display:flex;align-items:center;gap:12px;padding:2px 12px;text-align:left;border:0;background:#0c0e1a}.rune:hover{background:rgba(244,224,118,.055)}.rune[draggable=true]{cursor:grab}.rune[draggable=true]{touch-action:none}.rune.dragging{opacity:.45;cursor:grabbing}.rune:disabled{color:#555968;cursor:not-allowed;background:#0a0c16;filter:grayscale(1);opacity:.42}.rune:disabled:hover{background:#0a0c16}.rune:disabled small,.rune:disabled strong,.rune:disabled>b{color:#555968}.rune>b{width:34px;color:var(--gold);font:23px var(--serif)}.rune>span{flex:1;min-width:0;display:grid;gap:3px}.rune .rune-title{display:flex;align-items:center;gap:8px}.rune .rune-cost{display:inline-flex;align-items:center;gap:2px;margin-left:auto;color:var(--gold);font:500 9px var(--mono)}.rune .rune-cost-icon{font:15px/1 var(--sans)}.rune strong{display:inline-flex;align-items:center;gap:5px;color:#dedfd7;font:500 9px var(--mono);letter-spacing:.04em}.rune .rune-label-symbol{font-size:16px;line-height:.75}.rune small{color:#686c7f;font-size:8px}code{color:var(--gold);font-family:var(--mono)}.step-option{min-height:42px;display:flex;align-items:center;gap:10px;margin:10px 14px -4px;padding:7px 10px;color:#daddd1;border:1px solid var(--line);background:rgba(9,11,21,.65);cursor:pointer}.step-option input{position:absolute;opacity:0;pointer-events:none}.step-option>span:first-of-type{width:28px;height:16px;position:relative;flex:0 0 auto;border:1px solid #4b5066;background:#090b15;transition:border-color 120ms ease,background 120ms ease}.step-option>span:first-of-type::after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;background:#656a7d;transition:transform 120ms ease,background 120ms ease}.step-option input:checked+span{border-color:var(--gold);background:rgba(244,224,118,.1)}.step-option input:checked+span::after{background:var(--gold);transform:translateX(12px)}.step-option:has(input:checked){border-color:rgba(244,224,118,.55);animation:step-mode-pulse 2.8s ease-in-out infinite}@keyframes step-mode-pulse{0%,100%{background:rgba(9,11,21,.65);box-shadow:0 0 0 rgba(244,224,118,0)}50%{background:rgba(244,224,118,.09);box-shadow:0 0 18px rgba(244,224,118,.22)}}.step-option input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}.step-option:has(input:disabled){opacity:.45;cursor:default}.step-option>span:last-child{display:grid;gap:2px}.step-option strong{font:500 8px var(--mono);letter-spacing:.1em}.step-option small{color:var(--muted);font-size:8px}.spell-footer-actions{display:flex;align-items:center;gap:10px;margin:10px 14px -4px}.spell-footer-actions .step-option{flex:1;margin:0}.spell-help-button{flex:0 0 auto}.cast-button{width:calc(100% - 28px);height:63px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:14px;padding:0 18px;color:var(--ink);border:0;background:var(--acid);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.cast-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.cast-button:disabled{opacity:.45;cursor:wait;filter:grayscale(1)}.cast-glyph{font:23px var(--serif)}.cast-button>span:nth-child(2){text-align:left;font:700 11px var(--serif);letter-spacing:.07em}.cast-button small{display:block;margin-bottom:4px;font:500 7px var(--mono);opacity:.65}dialog{width:min(630px,calc(100% - 28px));padding:38px;color:var(--text);border:1px solid #3c4058;background:#0e1020;box-shadow:0 25px 100px #000}dialog::backdrop{background:rgba(4,5,11,.82);backdrop-filter:blur(7px)}dialog h2{margin:10px 0 16px;font:600 29px var(--serif)}dialog h3{margin:20px 0 6px;font:600 18px var(--serif)}dialog p{color:#a6a9b7;font-size:12px;line-height:1.7}#helpDialog p{font-size:14px}#helpDialog .codex-list strong{font-size:11px}#helpDialog .codex-list span{font-size:11px}#helpDialog pre{font-size:13px}.dialog-close{position:absolute;top:12px;right:14px;color:var(--muted);border:0;background:0 0;font-size:22px}.codex-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);background:var(--line)}.codex-list div{min-height:65px;display:grid;grid-template-columns:37px 1fr;align-content:center;padding:10px;background:var(--panel)}.codex-list b{grid-row:span 2;align-self:center;color:var(--gold);font:22px var(--serif)}.codex-list strong{font:500 9px var(--mono)}.codex-list span{color:var(--muted);font-size:9px}dialog pre{margin:15px 0 0;padding:15px;border-left:2px solid var(--violet);background:#090b14;font:11px/1.6 var(--mono)}#levelIntroDialog{width:min(500px,calc(100% - 28px));text-align:center}.briefing-book-cover{display:block;width:62px;aspect-ratio:304/466;margin:0 auto 24px;background:rgba(13,15,29,.9);box-shadow:0 8px 25px rgba(0,0,0,.38),0 0 30px rgba(169,138,255,.18);transition:transform 250ms cubic-bezier(.23, 1, .32, 1);overflow:hidden}.briefing-book-cover:hover{transform:translateY(-5px) scale(1.03)}.briefing-book-cover img{display:block;width:100%;height:100%;object-fit:cover}.level-hint{margin:0 0 26px;padding:16px 18px;color:#d6d7d1;border-left:2px solid var(--gold);background:rgba(244,224,118,.055);text-align:left}#levelIntroDialog .cast-button{width:100%;margin:0}#resultDialog{width:min(470px,calc(100% - 28px));text-align:center}.result-book-cover{display:block;width:95px;aspect-ratio:304/466;margin:0 auto 24px;background:rgba(13,15,29,.9);box-shadow:0 12px 35px rgba(0,0,0,.38),0 0 40px rgba(169,138,255,.1);transition:transform 250ms cubic-bezier(.23, 1, .32, 1);overflow:hidden}.result-book-cover:hover{transform:translateY(-5px) scale(1.03)}.result-book-cover img{display:block;width:100%;height:100%;object-fit:cover}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;border:1px solid var(--line)}.result-failure-detail{margin:12px 0 0;text-align:center;font:500 9px var(--mono);letter-spacing:.04em}.result-stats span{display:grid;gap:7px;padding:14px}.result-stats span+span{border-left:1px solid var(--line)}.result-stats small{color:var(--muted);font:500 7px var(--mono);letter-spacing:.12em}.result-stats b{color:var(--gold);font:600 18px var(--serif)}#resultDialog .cast-button{margin:0;width:100%}.result-share{margin-top:18px}.result-share-title{margin:0 0 9px;color:var(--muted);font:500 8px var(--mono);letter-spacing:.12em;text-transform:uppercase}.result-share-links{display:flex;justify-content:center;gap:9px}.result-share-button{width:36px;height:36px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.07);text-decoration:none;transition:border-color 160ms ease,background 160ms ease,transform 160ms ease}.result-share-button:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12);transform:translateY(-1px)}.result-share-button svg{width:17px;height:17px;fill:currentColor}.result-share-bluesky{color:#58a6ff}.result-share-button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.result-share[hidden]{display:none}.completion-screen{width:min(760px,calc(100% - 48px));min-height:100vh;margin:0 auto;display:grid;place-items:center;padding:48px 0}.completion-card{width:100%;padding:clamp(36px,7vw,76px);text-align:center;border:1px solid var(--line);background:rgba(13,15,29,.88);box-shadow:0 24px 90px rgba(0,0,0,.35)}.completion-cover-link{width:min(180px,50vw);display:block;margin:0 auto 34px}.completion-cover-link:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.completion-cover{width:100%;height:auto;display:block;box-shadow:0 18px 52px rgba(0,0,0,.45),0 0 52px rgba(169,138,255,.2)}.completion-card h1{margin:18px 0 24px;font:600 clamp(38px, 6vw, 66px)/1 var(--serif);letter-spacing:-.045em}.completion-card h1 em{color:var(--violet);font-weight:500}.completion-card p:not(.eyebrow){max-width:520px;margin:0 auto;color:#afb1bf;font-size:16px;line-height:1.8}.completion-card p+p{margin-top:14px}.completion-card strong{color:var(--text)}.completion-order-button{width:min(100%,470px);min-height:72px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:32px auto 0;padding:0 20px;color:var(--ink);background:var(--acid);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));text-align:left;text-decoration:none}.completion-order-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.completion-order-button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.completion-order-button>span:first-child{font:26px var(--serif)}.completion-order-button>span:nth-child(2){font:700 12px var(--serif);letter-spacing:.07em}.completion-order-button small{display:block;margin-bottom:5px;font:500 8px var(--mono);letter-spacing:.16em;opacity:.65}.completion-share{margin-top:26px}.completion-date{display:inline-block;margin-top:30px;padding:12px 16px;color:var(--gold);border:1px solid rgba(244,224,118,.35);background:rgba(244,224,118,.06);font:500 11px var(--mono);letter-spacing:.1em}@media (max-width:1000px){.intro-screen{grid-template-columns:1fr 390px;gap:4vw;padding-inline:24px}.app-shell{padding:0 24px 40px}.hero{flex-direction:column;align-items:flex-start;gap:18px}.hero-copy{max-width:650px}.app-shell>main{display:flex;flex-direction:column}.level-rail{order:3;grid-template-columns:repeat(3,1fr);margin-top:18px}.game-layout{order:2;grid-template-columns:1fr}.maze-panel{border-right:0;border-bottom:1px solid var(--line)}.maze-wrap{min-height:508px}}@media (max-width:620px){.intro-screen{display:flex;flex-direction:column-reverse;justify-content:center;gap:18px;padding:36px 22px}.sigil-wrap{width:min(76vw,310px)}.intro-copy h1{margin:12px 0 18px;font-size:38px}.intro-copy p:not(.eyebrow){font-size:13px;line-height:1.65}.enter-button{min-height:72px;margin-top:26px}}@media (max-width:620px),(orientation:landscape) and (max-width:950px) and (max-height:500px){.app-shell{display:flex;flex-direction:column;padding:0 14px 28px}.topbar{order:1;height:72px;border-top:1px solid var(--line);border-bottom:0}.brand{font-size:12px}.brand small{display:none}.multiplier-status{min-width:82px;height:36px;display:grid;gap:1px;padding:3px 9px;text-align:center;border:0;background:0 0}.multiplier-status small{font-size:6px}.multiplier-status b{font-size:16px}.text-button{display:none}.hero{display:none}#levelEyebrow,.hero h1,.hero-copy,.preorder-link{display:none}.level-rail{grid-template-columns:1fr 1fr}.level-button{min-height:48px}.game-layout{display:block}.maze-wrap{min-height:296px;padding:12px}#mazeCanvas{width:min(100%,260px)!important;height:auto!important}.maze-small-hint{right:14px;bottom:12px;left:14px}.editor-wrap{height:66px}.editor-wrap.expanded{height:min(210px,42vh)}.maze-header{height:auto;min-height:52px;flex-wrap:nowrap;gap:8px;padding-block:8px}.maze-header-status{flex:0 0 auto}.maze-stats{flex:1 1 auto;min-width:0}.maze-stats .maze-lock-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rune-grid{grid-template-columns:1fr 1fr}.rune-discard{right:14px;bottom:14px}dialog{padding:30px 22px}.codex-list{grid-template-columns:1fr}}@media (orientation:landscape) and (max-width:950px) and (max-height:500px){.game-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)}.maze-panel{border-right:1px solid var(--line);border-bottom:0}}@media (prefers-reduced-motion:reduce){*,::after,::before{scroll-behavior:auto!important;animation-duration:NaNs!important}.editor-wrap{animation:none}.step-option:has(input:checked){animation:none;background:rgba(244,224,118,.09);box-shadow:0 0 12px rgba(244,224,118,.16)}}