.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}@font-face{font-family:Cinzel;src:url(/assets/Cinzel-Dzu6Mfm8.ttf)format("truetype");font-weight:400 900;font-display:swap}html{font-size:calc(16px * var(--ui-scale,1))}:root{--ui-display:"Cinzel", "Trajan Pro", "Palatino Linotype", Georgia, serif;--ui-body:"Palatino Linotype", "Book Antiqua", Palatino, Georgia, "Times New Roman", serif;--ui-gold:var(--color-gold);--ui-gold-dim:var(--color-goldDim);--ui-text:var(--color-parchment);--ui-muted:color-mix(in srgb, var(--color-parchment) 58%, transparent);--ui-label:color-mix(in srgb, var(--color-parchment) 80%, transparent);--ui-panel:linear-gradient(180deg, #0e1015f0, #080a0ef5);--ui-line:color-mix(in srgb, var(--color-gold) 38%, transparent);--ui-glow:color-mix(in srgb, var(--color-gold) 28%, transparent);--ui-gap:12px;font-family:var(--ui-body)}#ui{pointer-events:none;color:var(--ui-text);font-family:var(--ui-body);position:fixed;inset:0}.panel{pointer-events:auto;background:var(--ui-panel);color:var(--ui-text);border:1px solid var(--ui-gold-dim);box-shadow:0 0 0 1px #000000d9, inset 0 0 0 4px #0000008c, inset 0 0 0 5px var(--ui-line), 0 10px 36px #000000b3;border-radius:1px}.panel-title{font:600 .95rem var(--ui-display);letter-spacing:.28em;text-transform:uppercase;color:var(--ui-gold);text-shadow:0 0 12px var(--ui-glow);align-items:center;gap:12px;margin:0;display:flex}.panel-title:before,.panel-title:after{content:"";background:linear-gradient(90deg, transparent, var(--ui-gold-dim));flex:1;height:1px}.panel-title:after{transform:scaleX(-1)}h1,h2{font-family:var(--ui-display);letter-spacing:.12em;text-transform:uppercase;margin:0;font-weight:600}.rule{background:linear-gradient(90deg, transparent, var(--ui-gold-dim) 30%, var(--ui-gold-dim) 70%, transparent) center / 100% 1px no-repeat;height:9px;margin:2px 0;position:relative}.rule:after{content:"";background:var(--ui-gold);width:7px;height:7px;box-shadow:0 0 8px var(--ui-glow);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}button{font:600 .8rem var(--ui-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ui-text);border:0;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);cursor:pointer;background:0 0;border-radius:0;flex:1;padding:9px 22px;transition:background .15s,color .15s,text-shadow .15s;position:relative}button:before,button:after{content:"";background:var(--ui-gold);opacity:0;width:6px;height:6px;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}button:before{left:8px}button:after{right:8px}button:hover:not(:disabled),button:focus-visible{color:#fff6dc;text-shadow:0 0 10px var(--ui-glow);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-gold) 22%, transparent) 20%, color-mix(in srgb, var(--color-gold) 22%, transparent) 80%, transparent);outline:none}button:hover:not(:disabled):before,button:hover:not(:disabled):after,button:focus-visible:before,button:focus-visible:after{opacity:1}button:active:not(:disabled){background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-gold) 38%, transparent) 20%, color-mix(in srgb, var(--color-gold) 38%, transparent) 80%, transparent)}button:disabled{opacity:.4;cursor:not-allowed}button.quiet{color:var(--ui-muted);border-color:#0000}button.quiet:hover:not(:disabled),button.quiet:focus-visible{color:#fff6dc}input{font:400 1rem var(--ui-body);color:var(--ui-text);border:0;border-bottom:1px solid var(--ui-gold-dim);background:#00000059;border-radius:0;padding:9px 4px}input:focus-visible{border-bottom-color:var(--ui-gold);box-shadow:0 1px 0 var(--ui-gold), 0 8px 14px -10px var(--ui-glow);background:#00000080;outline:none}input::placeholder{color:var(--ui-muted);font-style:italic}.row{gap:8px;display:flex}.error{min-height:1.2em;color:color-mix(in srgb, var(--color-death) 55%, #ffb3a8);margin:0;font-size:.9rem;font-style:italic}.login-backdrop{z-index:0;pointer-events:none;background:var(--color-night);position:fixed;inset:0}.login-backdrop svg{filter:saturate(.55)brightness(.45)sepia(.25);width:100%;height:100%;display:block}.login-backdrop img{object-fit:cover;filter:brightness(.6)saturate(.9);width:100%;height:100%;display:block}.login-backdrop:after{content:"";background:radial-gradient(#0000 30%,#000000d9 100%);position:absolute;inset:0}.login{box-sizing:border-box;gap:var(--ui-gap);flex-direction:column;width:min(380px,100vw - 32px);padding:30px 32px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-logo{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:6px;display:flex}.login-logo h1{letter-spacing:.16em;color:var(--ui-gold);text-shadow:0 0 22px var(--ui-glow), 0 2px 0 #000;font-size:1.7rem;line-height:1.15}.login-logo p{color:var(--ui-muted);margin:0;font-size:.9rem;font-style:italic}.login .row button{padding-inline:8px}.login-footer{z-index:1;text-align:center;color:var(--ui-muted);padding-inline:16px;font-size:.8rem;position:fixed;bottom:12px;left:0;right:0}.login-footer a{color:var(--ui-gold);text-decoration:none}.login-footer a:hover{text-decoration:underline}.login-early-access{text-align:center;color:var(--ui-label);border:1px dashed var(--ui-gold-dim);background:color-mix(in srgb, var(--color-gold) 7%, transparent);flex-direction:column;gap:4px;margin:0;padding:8px 12px;font-size:.8rem;line-height:1.35;display:flex}.login-early-access strong{font:600 .72rem var(--ui-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ui-gold)}.hud{pointer-events:none;position:absolute;inset:0}.hud button{pointer-events:auto}.hud-meters{flex-direction:column;gap:5px;display:flex;position:absolute;top:18px;left:20px}.meter{align-items:center;gap:8px;font-size:.85rem;display:flex}.meter .label{width:4.6rem;font:600 .75rem var(--ui-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ui-label);text-shadow:0 1px 2px #000}.meter .bar{border:1px solid var(--ui-gold-dim);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);background:#000000b3;width:16.25rem;height:.875rem;position:relative;box-shadow:0 0 0 1px #000,0 2px 8px #0009}.meter .fill{background-blend-mode:overlay;background-image:linear-gradient(#ffffff47,#0000 55%);height:100%;transition:width .25s;display:block}.meter .value{font-variant-numeric:tabular-nums;min-width:4.2rem;color:var(--ui-text);text-shadow:0 1px 2px #000}[data-testid=hud-health] .fill{background-color:color-mix(in srgb, var(--color-death) 80%, var(--color-chase))}[data-testid=hud-battery] .fill{background-color:var(--color-screen)}.alert-eye{color:var(--color-goldDim);filter:drop-shadow(0 1px 3px #000);flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.alert-eye .eye{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:2.25rem;height:2.25rem}.alert-eye .eye-track{stroke:#0000008c;stroke-width:3px}.alert-eye .eye-arc{stroke-width:3px;transition:stroke-dasharray .25s}.alert-eye .eye-shape{display:none}.alert-eye[data-shape=closed] .eye-shape.closed,.alert-eye[data-shape=half] .eye-shape.half,.alert-eye[data-shape=open] .eye-shape.open{display:inline}.alert-eye .eye-label{font:600 .66rem var(--ui-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ui-label);text-shadow:0 1px 2px #000}.alert-eye[data-stage=suspicious]{color:var(--color-suspicion)}.alert-eye[data-stage=alert]{color:var(--color-paper);animation:.7s ease-in-out infinite alternate eye-pulse}@keyframes eye-pulse{0%{filter:drop-shadow(0 1px 3px #000)}to{filter:drop-shadow(0 0 7px var(--color-paper))}}.hud-objective{white-space:nowrap;max-width:min(24rem,38vw);font:.85rem var(--ui-body);color:var(--color-parchment);text-shadow:0 1px 2px #000;align-items:baseline;gap:.4em;display:flex}.hud-objective[hidden]{display:none}.objective-rune,.objective-label,.objective-dash,.objective-counter{flex:none}.objective-text{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.objective-rune{color:var(--ui-gold)}.objective-label{font:600 .68rem var(--ui-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ui-gold)}.objective-counter{color:var(--ui-muted)}.hud-objective.done .objective-text{text-decoration:line-through;-webkit-text-decoration-color:var(--ui-gold);text-decoration-color:var(--ui-gold);animation:objective-strike var(--strike-ms,.4s) ease-out}@keyframes objective-strike{0%{text-decoration-color:#0000}to{-webkit-text-decoration-color:var(--ui-gold);text-decoration-color:var(--ui-gold)}}@media (prefers-reduced-motion:reduce){.hud-objective.done .objective-text{animation:none}}:root[data-motion=reduce] .hud-objective.done .objective-text{animation:none}.hud-id{color:var(--ui-muted);text-shadow:0 1px 2px #000;align-items:baseline;gap:10px;font-size:.78rem;display:flex}.hud-id .user{font-style:italic}.hud-id .stat{font:600 .68rem var(--ui-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ui-gold)}.light-eye{font:600 .68rem var(--ui-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-goldDim);align-items:center;gap:5px;display:inline-flex}.light-eye[hidden]{display:none}.light-eye:before{content:"";width:1.3em;height:1.3em;-webkit-mask:var(--eye-closed) center / contain no-repeat;-webkit-mask:var(--eye-closed) center / contain no-repeat;mask:var(--eye-closed) center / contain no-repeat;background-color:currentColor}.light-eye[data-lit=true]{color:var(--color-parchment)}.light-eye[data-lit=true]:before{-webkit-mask-image:var(--eye-open);-webkit-mask-image:var(--eye-open);mask-image:var(--eye-open)}:root{--eye-closed:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 17q14 12 28 0M12 25l-3 4M20 28v5M28 25l3 4'/%3E%3C/svg%3E");--eye-open:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20q16-16 32 0q-16 16-32 0zM20 16.5a3.5 3.5 0 1 0 0.01 0z'/%3E%3C/svg%3E")}.hud-side{align-items:center;gap:4px;display:flex;position:absolute;top:14px;right:18px}.hud-side button{background:#00000059;flex:none;padding:6px 14px;font-size:.68rem}.chip{font:600 1.5rem var(--ui-display);color:var(--ui-gold);text-shadow:0 0 14px var(--ui-glow), 0 2px 3px #000;letter-spacing:.06em;align-items:center;gap:10px;display:inline-flex;position:absolute;bottom:22px;right:26px}.chip:before{content:"";background:linear-gradient(135deg, #d7b6ff, var(--color-mana));clip-path:polygon(50% 0,100% 30%,80% 100%,20% 100%,0 30%);width:13px;height:18px;filter:drop-shadow(0 0 5px var(--color-mana))}.boss-bar{z-index:6;border:1px solid var(--ui-line);box-shadow:0 0 14px var(--ui-glow);pointer-events:none;background:linear-gradient(#000000b8,#00000080);flex-direction:column;align-items:center;gap:6px;padding:8px 22px 10px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.boss-bar[hidden]{display:none}.boss-name{font:600 1rem var(--ui-display);letter-spacing:.22em;text-transform:uppercase;color:var(--ui-text);text-shadow:0 1px 2px #000}.boss-pips{gap:10px;display:flex}.boss-pip{border:2px solid var(--ui-gold-dim);background:0 0;width:14px;height:14px;transform:rotate(45deg)}.boss-pip[data-state=done]{border-color:var(--ui-gold);background:var(--ui-gold);box-shadow:0 0 8px var(--ui-glow)}.boss-pip[data-state=current]{border-color:var(--ui-gold);animation:1.4s ease-in-out infinite boss-pip-pulse}.boss-bar[data-defeated=true] .boss-name{color:var(--ui-muted);text-decoration:line-through}@keyframes boss-pip-pulse{50%{background:color-mix(in srgb, var(--ui-gold) 45%, transparent)}}:root[data-motion=reduce] .boss-pip[data-state=current]{animation:none}.threats{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.threat{width:0;height:0;position:absolute;top:0;left:0}.threat-shape{width:28px;height:28px;filter:drop-shadow(1px 0 0 var(--color-ink)) drop-shadow(-1px 0 0 var(--color-ink)) drop-shadow(0 1px 0 var(--color-ink)) drop-shadow(0 -1px 0 var(--color-ink));position:absolute;top:-14px;left:-14px}.threat-shape:before{content:"";clip-path:polygon(100% 50%,5% 0%,32% 50%,5% 100%);background:linear-gradient(to right, var(--color-suspicion) var(--fill,0%), #fdf6e34d var(--fill,0%));position:absolute;inset:0}.threat[data-full=true] .threat-shape:before{background:var(--color-chase)}.chip.gain{animation:.5s ease-out chip-gain}@keyframes chip-gain{0%{text-shadow:0 0 22px var(--color-mana), 0 0 8px var(--color-mana), 0 2px 3px #000}to{text-shadow:0 0 14px var(--ui-glow), 0 2px 3px #000}}.mana-gains{pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:62px;right:26px}.mana-gain{font:600 .9rem var(--ui-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-mana);text-shadow:0 0 10px color-mix(in srgb, var(--color-mana) 60%, transparent), 0 1px 2px #000;animation:.4s ease-out both gain-in}@keyframes gain-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chip.gain,.mana-gain{animation:none}}:root[data-motion=reduce] .chip.gain,:root[data-motion=reduce] .mana-gain{animation:none}.banner{text-align:center;pointer-events:none;background:linear-gradient(#0000,#000000d1 28% 72%,#0000);flex-direction:column;align-items:center;gap:6px;padding:30px 16px 26px;display:flex;position:absolute;top:38%;left:0;right:0}.banner[hidden]{display:none}.banner.show{animation:.9s ease-out both banner-in}.banner-title{font:600 2.2rem var(--ui-display);letter-spacing:.3em;text-transform:uppercase;color:var(--ui-text);text-shadow:0 0 24px #000000e6}.banner-sub{color:var(--ui-muted);font-size:.95rem;font-style:italic}.banner[data-kind=death] .banner-title{letter-spacing:.4em;color:var(--color-death);text-shadow:0 0 30px #9b1c1c8c,0 3px #000;font-size:3.4rem}@keyframes banner-in{0%{opacity:0;letter-spacing:.1em}to{opacity:1}}.zone-title{left:var(--dock-left,0px);text-align:center;font:600 2.4rem var(--ui-display);letter-spacing:.34em;text-transform:uppercase;color:var(--ui-text);text-shadow:0 0 22px #000000f2,0 2px #000;pointer-events:none;position:absolute;bottom:24%;right:0}.zone-title[hidden]{display:none}.zone-title.show{animation:4.2s ease-in-out both zone-in}.zone-title:before,.zone-title:after{content:"";background:linear-gradient(90deg, transparent, var(--ui-gold), transparent);width:min(420px,60%);height:1px;margin:8px auto;display:block}@keyframes zone-in{0%{opacity:0;letter-spacing:.2em}22%,72%{opacity:1}to{opacity:0;letter-spacing:.42em}}.toasts{pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:24px;left:22px}.toast{font:600 .82rem var(--ui-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ui-gold);border-left:2px solid var(--ui-gold);background:linear-gradient(90deg,#000000c7,#0000);padding:5px 16px 5px 12px;animation:.4s ease-out both toast-in}.toast[data-rarity]{color:var(--rarity);border-left-color:var(--rarity)}.banner[data-kind=loot]{top:18%}.banner[data-kind=loot] .banner-title{color:var(--rarity,var(--ui-gold));text-shadow:0 0 18px color-mix(in srgb, var(--rarity,var(--ui-gold)) 55%, transparent)}.toast[data-kind=save]:before{content:"";vertical-align:-.18em;background-color:currentColor;width:1.05em;height:1.05em;margin-right:.55em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a13 13 0 1 0 0.01 0z'/%3E%3Cpath d='M16 8v16M10 13l6-5 6 5M10 21l6-5 6 5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a13 13 0 1 0 0.01 0z'/%3E%3Cpath d='M16 8v16M10 13l6-5 6 5M10 21l6-5 6 5'/%3E%3C/svg%3E") 50%/contain no-repeat}.hit-vignette{pointer-events:none;opacity:0;background:radial-gradient(ellipse at center, transparent 52%, color-mix(in srgb, var(--color-chase) 70%, transparent) 100%);position:absolute;inset:0}.hit-vignette.show{animation:.25s ease-out both hit-flash}@keyframes hit-flash{0%{opacity:1}to{opacity:0}}.meter.shake{animation:.25s linear both meter-shake}@keyframes meter-shake{0%,to{transform:none}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.loot-notices{pointer-events:none;flex-direction:column;gap:10px;width:min(430px,100vw - 44px);display:flex;position:absolute;bottom:72px;left:22px}.loot-notice{border-left:2px solid var(--rarity,var(--ui-gold));border-bottom:1px solid color-mix(in srgb, var(--rarity,var(--ui-gold)) 40%, transparent);background:linear-gradient(90deg,#06080ceb,#06080cb3 80%,#0000);gap:14px;padding:12px 18px 12px 12px;animation:.5s cubic-bezier(.2,.8,.2,1) both loot-in;display:flex}.loot-notice.leaving{animation:.45s ease-in both loot-out}@keyframes loot-in{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:none}}@keyframes loot-out{0%{opacity:1}to{opacity:0;transform:translate(-14px)}}.loot-icon{width:54px;height:54px;color:var(--rarity,var(--ui-gold));background:radial-gradient(circle, color-mix(in srgb, var(--rarity,var(--ui-gold)) 22%, #0b0d12), #0b0d12 75%);border:1px solid color-mix(in srgb, var(--rarity,var(--ui-gold)) 70%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--rarity,var(--ui-gold)) 35%, transparent);flex:none;place-items:center;display:grid}.loot-icon .tool-icon{width:34px;height:34px}.loot-notice[data-outcome=duplicate]{opacity:.85}.loot-notice[data-outcome=duplicate] .loot-icon{box-shadow:none}.loot-body{min-width:0}.loot-heading{font:600 .62rem var(--ui-display);letter-spacing:.22em;text-transform:uppercase;color:var(--ui-muted)}.loot-title{flex-wrap:wrap;align-items:baseline;gap:10px;margin:2px 0 1px;display:flex}.loot-name{font:600 1.15rem var(--ui-display);letter-spacing:.08em;color:var(--ui-text)}.loot-rarity{font:600 .72rem var(--ui-display);letter-spacing:.16em;text-transform:uppercase;color:var(--rarity,var(--ui-gold))}.loot-category{color:var(--ui-muted);font-size:.74rem;font-style:italic}.loot-description{color:var(--ui-text);margin:6px 0 0;font-size:.86rem;line-height:1.35}.loot-stats{color:var(--ui-gold);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:.78rem;display:flex}.loot-perks{color:var(--rarity,var(--ui-gold));margin:6px 0 0;padding:0;font-size:.8rem;list-style:none}.loot-perks li:before{content:"◆ ";vertical-align:.15em;font-size:.6em}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes zone-fade{0%{opacity:0}22%,72%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.loot-notice,.loot-notice.leaving{animation:none}.banner.show{animation-name:fade-in}.zone-title.show{animation-name:zone-fade}.toast{animation-name:fade-in}.meter.shake,.alert-eye[data-stage=alert]{animation:none}}:root[data-motion=reduce] .loot-notice,:root[data-motion=reduce] .loot-notice.leaving{animation:none}:root[data-motion=reduce] .banner.show{animation-name:fade-in}:root[data-motion=reduce] .zone-title.show{animation-name:zone-fade}:root[data-motion=reduce] .toast{animation-name:fade-in}:root[data-motion=reduce] .meter.shake,:root[data-motion=reduce] .alert-eye[data-stage=alert]{animation:none}.hack-hint{bottom:calc(56px + var(--dock-bottom,0px));left:calc(var(--dock-left,0px) + (100% - var(--dock-left,0px)) / 2);font:600 .82rem var(--ui-display);letter-spacing:.18em;text-transform:uppercase;border:0;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);box-shadow:none;color:var(--ui-text);background:linear-gradient(90deg,#0000,#000000bf 20% 80%,#0000);outline:none;padding:7px 26px;position:absolute;transform:translate(-50%)}.hack-hint[hidden]{display:none}.tutorial-card{bottom:calc(104px + var(--dock-bottom,0px));left:calc(var(--dock-left,0px) + (100% - var(--dock-left,0px)) / 2);max-width:min(30rem, calc(100% - var(--dock-left,0px) - 32px));box-sizing:border-box;pointer-events:none;opacity:0;transition:opacity var(--card-fade,.25s) ease-out;padding:.6rem 1rem .7rem 2.6rem;position:absolute;transform:translate(-50%)}.tutorial-card.show{opacity:1}.tutorial-card[hidden]{display:none}.tutorial-arrow{color:var(--ui-gold);text-shadow:0 1px 2px #000;margin-top:-.7rem;font-size:1.4rem;line-height:1.4rem;position:absolute;top:50%;left:.8rem}.tutorial-arrow[hidden]{display:none}.tutorial-counter:before{content:"◆ "}.tutorial-counter{font:600 .68rem var(--ui-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ui-gold)}.tutorial-title{font:600 .95rem var(--ui-display);color:var(--color-parchment);margin-top:.15rem}.tutorial-text{color:var(--color-parchment);margin:.25rem 0 0;font-size:.9rem;line-height:1.35}@media (prefers-reduced-motion:reduce){.tutorial-card{transition:none}}:root[data-motion=reduce] .tutorial-card{transition:none}.terminal-panel{flex-direction:column;width:min(780px,100vw - 32px);height:min(430px,100vh - 120px);margin:0 auto;display:flex;position:absolute;bottom:24px;left:0;right:0;overflow:hidden}.terminal-header{border-bottom:1px solid var(--ui-gold-dim);font:600 .78rem var(--ui-display);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-gold);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#c8a96a24,#0000);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 8px 16px;display:flex}.terminal-panel.docked{margin:0;bottom:auto;right:auto}.terminal-panel.docked .hints{flex:none;max-height:38%;overflow-y:auto}.terminal-panel.dragged{margin:0;bottom:auto;right:auto}.terminal-header button{cursor:pointer;flex:none;padding:4px 12px;font-size:.66rem}.terminal-body{background:var(--color-night);border:1px solid #c8a96a33;flex:1;min-height:0;margin:6px 8px 8px;padding:6px}.terminal-shortcuts{letter-spacing:.04em;color:var(--ui-muted);cursor:pointer;flex:none;margin:0 8px 6px;font-size:.7rem}.terminal-shortcuts[hidden]{display:none}.terminal-panel.drop-target{outline:2px dashed var(--ui-gold);outline-offset:-6px}.ai-status{border-bottom:1px solid var(--ui-line);font:600 .72rem var(--ui-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-termMagenta);padding:6px 14px}.ai-status[hidden]{display:none}.hack-timer{border-bottom:1px solid var(--ui-line);font:600 .72rem var(--ui-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ui-muted);align-items:center;gap:10px;padding:6px 14px;display:flex}.hack-timer[hidden]{display:none}.hack-timer .bar{border:1px solid var(--ui-gold-dim);background:#0009;flex:1;height:6px}.hack-timer .fill{background:var(--ui-gold);height:100%;transition:width .25s linear;display:block}.hack-timer .value{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2em;color:var(--ui-text)}.hack-timer .penalty{font-variant-numeric:tabular-nums;color:var(--color-termRed)}.hack-timer .penalty[hidden]{display:none}.hack-timer.shake{animation:.4s linear hack-shake}@keyframes hack-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.hack-timer[data-stage=warn] .fill{background:var(--color-suspicion)}.hack-timer[data-stage=critical] .fill{background:var(--color-chase);animation:.6s ease-in-out infinite alternate hack-pulse}.hack-timer[data-stage=critical] .value{color:var(--color-chase)}@keyframes hack-pulse{0%{opacity:1}to{opacity:.45}}@media (prefers-reduced-motion:reduce){.hack-timer.shake,.hack-timer .fill,.hack-timer[data-stage=critical] .fill{transition:none;animation:none}}:root[data-motion=reduce] .hack-timer.shake,:root[data-motion=reduce] .hack-timer .fill,:root[data-motion=reduce] .hack-timer[data-stage=critical] .fill{transition:none;animation:none}.hints{border-bottom:1px solid var(--ui-line);padding:7px 14px;font-size:.85rem}.hints[hidden]{display:none}.hint-slots{align-items:center;gap:8px;display:flex}.hint-slots .panel-title{flex:none;font-size:.7rem}.hint-slots .panel-title:before{display:none}.hint-slot{border:1px solid var(--ui-gold-dim);flex:none;padding:3px 14px;font-size:.66rem}.hint-slot.bought{color:var(--color-screen);border-color:color-mix(in srgb, var(--color-screen) 55%, transparent)}.hint-texts{max-height:5.5em;margin:6px 0 0;padding-left:1.4em;font-style:italic;line-height:1.4;overflow-y:auto}.hint-texts li::marker{color:var(--ui-gold);font-family:var(--ui-display);font-weight:600}.backpack-button{border:1px solid var(--ui-gold-dim);flex:none;width:54px;height:54px;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.backpack-icon{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.backpack-button{background:#0b0d12;overflow:hidden}.backpack-button:hover:not(:disabled) .backpack-icon,.backpack-button.active .backpack-icon{filter:brightness(1.18)}.backpack-button:before,.backpack-button:after{display:none}.backpack-button:hover:not(:disabled){transform:translateY(-50%)}.backpack-button.active{border-color:var(--ui-gold);box-shadow:0 0 14px var(--ui-glow)}.backpack-panel{width:min(310px,100vw - 116px);max-height:70vh;padding:18px 20px;position:absolute;top:50%;right:84px;overflow-y:auto;transform:translateY(-50%)}.backpack-panel[hidden]{display:none}body:has(.terminal-panel[data-dock=bottom]) .backpack-panel{box-sizing:border-box;max-height:calc(50vh - 24px);top:auto;bottom:calc(50% + 8px);transform:none}.backpack-title{font:600 .9rem var(--ui-display);letter-spacing:.28em;text-transform:uppercase;color:var(--ui-gold);align-items:center;gap:12px;margin-bottom:12px;display:flex}.backpack-title:after{content:"";background:linear-gradient(90deg, var(--ui-gold-dim), transparent);flex:1;height:1px}.backpack-empty{color:var(--ui-muted);margin:0;font-style:italic}.backpack-subtitle{font:600 .74rem var(--ui-display);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-gold-dim);margin:12px 0 6px}.backpack-consumable{text-align:left;width:100%;font:600 .78rem var(--ui-display);color:var(--color-parchment);border:1px solid var(--ui-gold-dim);cursor:pointer;background:#080a0e99;margin-bottom:4px;padding:6px 10px;display:block}.backpack-consumable[data-ready=false]{opacity:.6}.consumable-bar{left:calc(var(--dock-left,0px) + 16px);bottom:calc(22px + var(--dock-bottom,0px));pointer-events:auto;gap:6px;display:flex;position:absolute}.consumable-bar .consumable-slot{min-width:64px;font:600 .74rem var(--ui-display);color:var(--color-parchment);border:1px solid var(--ui-gold-dim);cursor:pointer;background:#080a0ed1;grid-template-columns:auto auto;align-items:center;column-gap:6px;padding:4px 8px;display:grid;box-shadow:0 0 0 1px #000000d9}.consumable-bar .consumable-slot[data-ready=true]{border-color:var(--ui-gold)}.consumable-bar .consumable-slot[data-ready=false]{opacity:.55}.consumable-bar .consumable-key{color:var(--ui-gold);border:1px solid var(--ui-gold-dim);padding:1px 5px;font-size:.68rem}.consumable-bar .consumable-glyph{text-shadow:0 0 8px;font-size:1.5rem;line-height:1}.consumable-bar .consumable-count{grid-column:1/3;justify-self:end;font-size:.7rem}[data-rarity=common]{--rarity:var(--color-rarityCommon)}[data-rarity=uncommon]{--rarity:var(--color-rarityUncommon)}[data-rarity=rare]{--rarity:var(--color-rarityRare)}[data-rarity=epic]{--rarity:var(--color-rarityEpic)}[data-rarity=legendary]{--rarity:var(--color-rarityLegendary)}.tool-item{border-left:2px solid var(--ui-gold-dim);background:linear-gradient(90deg,#c8a96a17,#0000);align-items:flex-start;gap:10px;margin-bottom:8px;padding:8px 10px;display:flex}.tool-item[draggable=true]{cursor:grab}.tool-item[data-rarity]{border-left-color:var(--rarity);background:linear-gradient(90deg, color-mix(in srgb, var(--rarity) 14%, transparent), transparent)}.tool-item[data-rarity] .tool-name,.tool-item .tag.rarity{color:var(--rarity)}.tool-item .tag.rarity{border-color:color-mix(in srgb, var(--rarity) 60%, transparent)}.tool-item[draggable=true]:hover{border-left-color:var(--ui-gold);background:linear-gradient(90deg,#c8a96a2e,#0000)}.tool-item[data-installed=true]{opacity:.55}.tool-item.dragging{opacity:.4}.tool-install{letter-spacing:.1em;align-self:flex-start;margin-top:4px;padding:2px 10px;font-size:.62rem}.tool-item:focus-visible{outline:1px solid var(--ui-gold);outline-offset:1px}.tool-icon-box{color:var(--rarity,var(--ui-gold));background:radial-gradient(circle, color-mix(in srgb, var(--rarity,var(--ui-gold)) 22%, #0b0d12), #0b0d12 75%);border:1px solid color-mix(in srgb, var(--rarity,var(--ui-gold)) 70%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--rarity,var(--ui-gold)) 30%, transparent);flex:none;place-items:center;display:grid}.tool-icon-box.sm{width:40px;height:40px}.tool-icon-box.sm .tool-icon{width:26px;height:26px}.tool-icon-box.lg{width:54px;height:54px}.tool-icon-box.lg .tool-icon{width:34px;height:34px}.tool-body{flex:1;min-width:0}.tool-desc{color:var(--ui-muted);margin-top:2px;font-size:.78rem}.tool-head{align-items:center;gap:8px;display:flex}.tool-name{color:var(--ui-text);font:600 .88rem ui-monospace,Cascadia Code,monospace}.tool-item .tag{font:600 .58rem var(--ui-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ui-gold);border:1px solid var(--ui-gold-dim);padding:1px 7px}.tool-item .tag.ok{color:var(--color-screen);border-color:color-mix(in srgb, var(--color-screen) 55%, transparent)}.tool-meta{color:var(--ui-muted);margin-top:3px;font-size:.82rem}.tool-hint{color:var(--ui-muted);margin-top:2px;font-size:.76rem;font-style:italic}.shop-hint{bottom:96px}.shop-panel{width:min(760px,94vw);max-height:84vh;padding:20px 26px;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.shop-panel[hidden]{display:none}.shop-head{align-items:center;gap:14px;margin-bottom:8px;display:flex}.shop-title{font:600 .95rem var(--ui-display);letter-spacing:.28em;text-transform:uppercase;color:var(--ui-gold);text-shadow:0 0 12px var(--ui-glow);flex:1}.shop-head button{flex:none;padding:4px 14px;font-size:.68rem}.shop-mana{font:600 .9rem var(--ui-display);letter-spacing:.08em;color:color-mix(in srgb, var(--color-mana) 55%, #fff)}.shop-body{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.shop-text{flex:1;min-width:0}.shop-item{border-top:1px solid var(--ui-line);justify-content:space-between;align-items:center;gap:12px;padding:9px 6px;display:flex}.shop-item:hover,.shop-item.selected{background:linear-gradient(90deg,#0000,#c8a96a1a,#0000)}.shop-item.selected{box-shadow:inset 2px 0 0 var(--ui-gold)}.shop-detail{border:1px solid var(--ui-line);background:#00000059;padding:12px 14px;position:sticky;top:0}.shop-detail-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.shop-detail-category{font:600 .62rem var(--ui-display);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-muted);margin-top:2px}.shop-detail-text{margin:0 0 10px;font-size:.86rem}.shop-detail-stats{color:var(--ui-gold);flex-wrap:wrap;gap:4px 14px;font-size:.8rem;display:flex}@media (width<=640px){.shop-body{grid-template-columns:1fr}.shop-detail{position:static}}.shop-name{font:600 .92rem ui-monospace,Cascadia Code,monospace}.shop-meta{color:var(--ui-muted);font-size:.82rem;font-style:italic}.shop-item button{border:1px solid var(--ui-gold-dim);background:#0006;flex:none;min-width:96px;padding:5px 12px;font-size:.7rem}.shop-notice{min-height:1.2em;color:color-mix(in srgb, var(--color-death) 55%, #ffb3a8);margin-top:8px;font-style:italic}.pause{z-index:30;pointer-events:auto;background:radial-gradient(#0000008c,#000000db);place-items:center;display:grid;position:absolute;inset:0}.pause[hidden]{display:none}.pause-panel,.final{box-sizing:border-box;gap:var(--ui-gap);flex-direction:column;width:min(380px,100vw - 32px);padding:26px 30px;display:flex}.pause-panel button{flex:none}.pause-controls{color:var(--ui-muted);margin:0;padding:10px 4px;font-size:.88rem;list-style:none}.pause-controls kbd{text-align:center;min-width:1.5em;font:600 .7rem var(--ui-display);letter-spacing:.06em;color:var(--ui-text);border:1px solid var(--ui-gold-dim);background:#00000080;border-radius:50%;margin-right:8px;padding:1px 6px;display:inline-block}.volume,.settings{gap:4px;padding:6px 4px;display:grid}.volume-title{font:600 .72rem var(--ui-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ui-gold);margin:0 0 2px}.volume-row{color:var(--ui-muted);grid-template-columns:5.5rem 1fr;align-items:center;gap:10px;font-size:.88rem;display:grid}.volume-row.scale-row{grid-template-columns:5.5rem minmax(0,1fr) auto}.setting-value{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.setting-row{color:var(--ui-muted);cursor:pointer;align-items:center;gap:10px;font-size:.88rem;display:flex}.setting-row input{accent-color:var(--ui-gold)}.pause-panel{max-height:94vh;overflow-y:auto}.volume-row input[type=range]{appearance:none;height:22px;box-shadow:none;background:0 0;border:0;padding:0}.volume-row input[type=range]::-webkit-slider-runnable-track{background:var(--ui-gold-dim);height:2px}.volume-row input[type=range]::-moz-range-track{background:var(--ui-gold-dim);height:2px}.volume-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ui-gold);border:0;width:10px;height:10px;margin-top:-4px;transform:rotate(45deg)}.volume-row input[type=range]::-moz-range-thumb{background:var(--ui-gold);border:0;border-radius:0;width:10px;height:10px;transform:rotate(45deg)}.volume-row input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 10px var(--ui-glow)}.final{text-align:center;width:auto;box-shadow:none;background:linear-gradient(#0000,#000000e0 24% 76%,#0000);border:0;align-items:center;padding:36px 16px 30px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.final h2{letter-spacing:.3em;color:var(--ui-gold);text-shadow:0 0 30px var(--ui-glow), 0 3px 0 #000;font-size:2.8rem}.final p{max-width:34em;color:var(--ui-text);margin:0;font-style:italic;line-height:1.5}.final button{flex:none;min-width:260px;margin-top:6px}.replaced{text-align:center;gap:var(--ui-gap);flex-direction:column;padding:24px 32px;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.grimoire-book{flex-direction:column;gap:6px;display:flex}.grimoire-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.grimoire-head>.panel-title{font-size:.7rem}.fold-toggle{letter-spacing:.1em;padding:1px 10px;font-size:.62rem}.hints.folded{padding-top:3px;padding-bottom:3px}.hints.folded .grimoire-book>:not(.grimoire-head){display:none}.grimoire .spell-name{font:italic .8rem var(--ui-display);letter-spacing:.06em;color:var(--color-parchment);flex:none}.grimoire .hint-slot{border-color:var(--ui-gold)}.grimoire .hint-slot:disabled:not(.bought){border-color:var(--ui-gold-dim)}.grimoire .spell-slot{text-align:left}.spell-text{border-left:2px solid var(--ui-gold-dim);white-space:pre-line;color:var(--color-parchment);margin:0 0 2px 6px;padding-left:10px;font-style:italic;line-height:1.4}.spell-bar{left:calc(var(--dock-left,0px) + (100% - var(--dock-left,0px)) / 2);bottom:calc(22px + var(--dock-bottom,0px));pointer-events:auto;gap:8px;display:flex;position:absolute;transform:translate(-50%)}:root:has(.spell-bar){--spell-bar-gap:120px}body:has(.terminal-panel[data-dock=side]) .spell-bar{left:calc(var(--dock-left,0px) + 12px);max-width:calc(100% - var(--dock-left,0px) - var(--spell-bar-gap));transform:none}body:has(.terminal-panel[data-dock=side]) .spell-bar .spell-slot{flex:1 1 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;padding-inline:6px;overflow:hidden}:is(body:has(.terminal-panel[data-dock=side]) .spell-bar .spell-label,body:has(.terminal-panel[data-dock=side]) .spell-bar .spell-uses){text-overflow:ellipsis;max-width:100%;overflow:hidden}.spell-bar[hidden]{display:none}.spell-bar .spell-slot{min-width:84px;font:600 .74rem var(--ui-display);letter-spacing:.05em;color:var(--color-parchment);border:1px solid color-mix(in srgb, var(--color-mana) 55%, #000);background:#080a0ed1;grid-template-rows:auto auto auto;grid-template-columns:auto auto;place-items:center;gap:2px 6px;padding:6px 10px 6px 8px;display:grid;box-shadow:0 0 0 1px #000000d9}.spell-bar .spell-slot[data-ready=true]{border-color:var(--color-mana);box-shadow:0 0 0 1px #000000d9, 0 0 12px color-mix(in srgb, var(--color-mana) 55%, transparent)}.spell-bar .spell-slot[data-ready=false]{opacity:.6}.spell-bar .spell-key{color:var(--color-mana);border:1px solid color-mix(in srgb, var(--color-mana) 55%, #000);grid-area:1/1;justify-self:start;padding:1px 6px;font-size:.7rem}.spell-bar .spell-glyph{text-shadow:0 0 10px;grid-area:1/2;font-size:2rem;line-height:1}.spell-bar .spell-label{white-space:nowrap;grid-area:2/1/auto/3;font-size:.72rem}.spell-bar .spell-cost{color:var(--color-mana);grid-area:3/1;justify-self:start;font-size:.72rem;font-weight:700}.spell-bar .spell-uses{opacity:.85;white-space:nowrap;grid-area:3/2;justify-self:end;font-size:.66rem}.world-map{z-index:20;top:140px;left:calc(var(--dock-left,0px) + 16px);right:88px;bottom:calc(var(--dock-bottom,0px) + 84px);box-sizing:border-box;border:1px solid var(--color-mapGoldDark);background:radial-gradient(at 50% 30%,#4a33188c,#0000 75%),linear-gradient(#1d150c,#120d07);flex-direction:column;gap:8px;padding:10px 14px 9px;display:flex;position:absolute;box-shadow:0 0 0 1px #0009,0 10px 38px #000000a6}.world-map[hidden]{display:none}.world-map-title{font:600 1rem var(--ui-display);letter-spacing:.4em;text-transform:uppercase;color:var(--color-mapGold);text-shadow:0 1px #000,0 0 12px #d9b25a40;align-items:baseline;gap:14px;display:flex}.world-map-name{flex:none}.world-map-percent{text-align:left;letter-spacing:.16em;color:color-mix(in srgb, var(--color-mapGold) 78%, transparent);text-shadow:none;flex:1;font-size:.74rem}.world-map-percent:before{content:"Completado ";letter-spacing:.08em;text-transform:none;color:color-mix(in srgb, var(--color-mapGold) 62%, transparent);font-size:.68rem;font-style:italic;font-weight:400}.world-map-title button,.world-map-shapes button{border-color:color-mix(in srgb, var(--color-mapGold) 38%, transparent);color:color-mix(in srgb, var(--color-mapGold) 88%, transparent);background:0 0}.world-map-title button:hover,.world-map-shapes button:hover{border-color:var(--color-mapGold);box-shadow:0 0 10px #d9b25a47}.world-map-title button{flex:none;padding:5px 12px;font-size:.66rem}.world-map-stage{background:var(--color-mapPaper);flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #000,inset 0 0 28px #00000080}.world-map-layer{pointer-events:none;position:absolute;top:0;left:0}.world-map-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.world-map-canvas{cursor:crosshair;touch-action:none;display:block;position:absolute;top:0;left:0}.world-map-overlay{pointer-events:none;position:absolute;inset:0}.world-map-hook{pointer-events:none;position:absolute}.world-map-hook.clickable{pointer-events:auto;cursor:pointer}.world-map-travel{color:var(--color-mapGold);letter-spacing:.3em;text-shadow:0 0 10px #d9b25a73;flex:none}.world-map-tip{z-index:3;font:600 .72rem var(--ui-display);letter-spacing:.14em;white-space:nowrap;color:var(--color-mapInk);background:color-mix(in srgb, var(--color-mapPaper) 94%, #fff);border:1px solid var(--color-mapInkSoft);pointer-events:none;padding:3px 10px;position:absolute;box-shadow:inset 0 0 0 1px #fff0c880,0 3px 10px #00000073}.world-map-tip[hidden]{display:none}.world-map-foot{color:color-mix(in srgb, var(--color-mapGold) 70%, transparent);flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:.78rem;display:flex}.world-map-shapes{gap:4px;display:flex}.world-map-shapes button{padding:4px 10px;font-size:.64rem}.world-map-shapes button.active{border-color:var(--color-mapGold);color:#f1d98e;box-shadow:0 0 10px #d9b25a59}.world-map-keys{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.world-map-keys-label{font:600 .66rem var(--ui-display);letter-spacing:.22em;text-transform:uppercase;color:var(--color-mapGold)}.world-map-key{color:#e9d8a8;border:1px solid color-mix(in srgb, var(--color-mapGold) 45%, transparent);background:#d9b25a14;padding:1px 10px;font-style:italic}.world-map-key.none{color:color-mix(in srgb, var(--color-mapGold) 62%, transparent);background:0 0;border-color:#0000}.world-map-hint{color:color-mix(in srgb, var(--color-mapGold) 62%, transparent);margin-left:auto;font-style:italic}.book-button{top:calc(50% + 37px);transform:none}.book-button.backpack-button:hover:not(:disabled){transform:none}.book-button.fresh{border-color:var(--color-mana);animation:1.6s ease-in-out infinite alternate book-glow}@keyframes book-glow{0%{box-shadow:0 0 4px var(--color-mana)}to{box-shadow:0 0 16px 2px var(--color-mana)}}:root[data-motion=reduce] .book-button.fresh{box-shadow:0 0 12px var(--color-mana);animation:none}.wizard-book{z-index:25;pointer-events:none;display:flex;position:absolute;inset:clamp(8px,1.2vmin,16px)}.wizard-book[hidden]{display:none}.book-frame{flex:1;justify-content:center;align-items:center;display:flex;position:relative;container-type:size}.book-spread{pointer-events:auto;aspect-ratio:2000/1116;filter:drop-shadow(0 12px 30px #000000b3);--book-ink:color-mix(in srgb, var(--color-ink) 78%, var(--color-goldDim));width:min(100cqw,179.211cqh);color:var(--book-ink);font-family:var(--ui-body);background-size:100% 100%;font-size:max(12px,.8cqw);line-height:1.42;position:relative;container-type:inline-size}.book-page{height:71%;padding-bottom:1.8em;padding-right:.5em;position:absolute;top:12.5%;overflow:hidden}.book-page.measure{visibility:hidden;pointer-events:none;width:27%;height:auto;left:52.5%}.book-page.left{width:28.5%;left:19.5%}.book-page.right{width:27%;left:52.5%}.book-side{height:100%;position:relative}.book-page.measure .book-side{height:auto}.book-title.small{margin-bottom:.4em;font-size:1em}.book-title small{font:italic 400 .8em var(--ui-body);letter-spacing:.04em;opacity:.8;display:block}.book-more{font:italic .9em var(--ui-body);letter-spacing:.06em;opacity:.85;position:absolute;bottom:-1.1em;right:.2em}.book-title{font:700 1.25em var(--ui-display);letter-spacing:.08em;text-align:center;color:var(--book-ink);text-shadow:0 1px #fff0c866;margin:0 0 .5em}.book-title:after{content:"";background:linear-gradient(90deg, transparent, var(--color-goldDim), transparent);width:55%;height:1px;margin:.35em auto 0;display:block}.book-heading{font:700 .95em var(--ui-display);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--color-ink) 55%, var(--color-goldDim));margin:.8em 0 .25em}.book-paragraph{text-align:left;-webkit-hyphens:auto;hyphens:auto;margin:0 0 .45em}.book-code{background:#3c28141f;border-radius:2px;padding:0 .25em;font:600 .92em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.book-example{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-parchment);background:color-mix(in srgb, var(--color-ink) 88%, transparent);border-left:3px solid var(--color-gold);margin:.3em 0 .6em;padding:.4em .6em;font:600 .9em/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.book-note{color:color-mix(in srgb, var(--color-mana) 82%, var(--color-ink));border-left:2px solid var(--color-mana);margin:.7em 0 0;padding-left:.7em;font-style:italic}.book-note:before{content:"Nota del mago · ";font-variant:small-caps;letter-spacing:.06em;font-style:normal}.bk-c{position:relative}.bk-c.rain{color:#0000}.bk-c.rain:before{content:attr(data-g);text-align:center;text-shadow:0 0 3px #140a00bf,0 0 8px;font-family:ui-monospace,monospace;font-weight:700;position:absolute;inset:0}.bk-c.rain[data-c=gold]:before{color:var(--color-gold)}.bk-c.rain[data-c=mana]:before{color:var(--color-mana)}.book-index{gap:.5em;margin:.6em 0 0;padding:0;list-style:none;display:grid}.book-index-entry,.book-toc-entry{width:100%;font:600 1em var(--ui-display);letter-spacing:.04em;text-align:left;color:var(--book-ink);border:1px solid color-mix(in srgb, var(--color-goldDim) 70%, transparent);cursor:pointer;background:#78501e14;border-radius:2px;justify-content:space-between;align-items:baseline;gap:.8em;padding:.45em .7em;display:flex}.book-index-entry:hover,.book-toc-entry:hover{background:#78501e33}.book-index-count{font:600 .9em var(--ui-body);white-space:nowrap;opacity:.8}.book-index-entry.fresh,.book-toc-entry.fresh{border-color:var(--color-mana);box-shadow:0 0 8px color-mix(in srgb, var(--color-mana) 70%, transparent);animation:1.6s ease-in-out infinite alternate book-fresh}@keyframes book-fresh{to{box-shadow:0 0 14px 1px color-mix(in srgb, var(--color-mana) 90%, transparent)}}:root[data-motion=reduce] .book-index-entry.fresh,:root[data-motion=reduce] .book-toc-entry.fresh{animation:none}.book-cover-title{font:700 1.9em/1.15 var(--ui-display);letter-spacing:.1em;text-align:center;text-transform:uppercase;color:color-mix(in srgb, var(--color-ink) 50%, var(--color-mana));margin:18% 0 .4em}.book-cover-count{text-align:center;font:600 1.1em var(--ui-display);letter-spacing:.1em;color:var(--book-ink);margin:0 0 1em}.book-cover-hint{text-align:center;opacity:.8;font-style:italic}.book-vignette{mix-blend-mode:multiply;pointer-events:none;width:62%;margin:0 auto .4em;display:block}.book-toc{gap:.3em;margin:.4em 0 0;padding:0;list-style:none;display:grid}.book-toc-entry{padding:.3em .6em;font-size:.92em}.book-toc-entry.missing{opacity:.62;border-style:dashed}.book-toc-entry{flex-wrap:wrap;min-width:0}.book-toc-entry small{font:italic .85em var(--ui-body);margin-left:auto}.book-side.torn .book-title{opacity:.7}.book-torn-label{text-align:center;font:600 1.1em var(--ui-display);color:color-mix(in srgb, var(--color-ink) 50%, var(--color-mana));margin:1.4em 0 .4em}.book-torn-note{text-align:center;opacity:.7;font-style:italic}.book-loading{text-align:center;margin-top:30%;font-style:italic}.book-arrow,.book-home,.book-close{color:var(--color-parchment);background:color-mix(in srgb, var(--color-ink) 82%, transparent);border:1px solid var(--color-gold);cursor:pointer;place-items:center;display:grid;position:absolute}.book-arrow{width:2.1em;height:2.1em;font:700 1.6em/1 var(--ui-display);border-radius:50%;padding:0;bottom:6.5%}.book-arrow.prev{left:15.5%}.book-arrow.next{right:15.5%}.book-arrow[hidden],.book-home[hidden]{display:none}.book-home{font:600 .85em var(--ui-display);letter-spacing:.12em;text-transform:uppercase;padding:.2em .9em;bottom:7.2%;left:22%}.book-folio{font:600 .8em var(--ui-display);letter-spacing:.12em;color:var(--color-parchment);text-shadow:0 1px 2px #000;position:absolute;bottom:7.4%;left:50%;transform:translate(-50%)}.book-close{width:2.2em;height:2.2em;font:700 1.1em/1 var(--ui-body);border-radius:50%;padding:0;top:3.8%;right:3.2%}.book-arrow:hover,.book-home:hover,.book-close:hover{background:color-mix(in srgb, var(--color-mana) 55%, var(--color-ink))}.page-notice{left:var(--dock-left,0px);text-align:center;border-top:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line);pointer-events:none;background:linear-gradient(#0000,#000000d6 22% 78%,#0000);flex-direction:column;align-items:center;gap:6px;width:min(460px,86%);margin:0 auto;padding:20px 28px 18px;display:flex;position:absolute;top:17%;right:0;overflow:hidden}.page-notice[hidden]{display:none}.page-notice.show{animation:3.5s ease-in-out both page-notice-life}.page-notice-icon{fill:none;width:52px;height:52px;stroke:var(--ui-gold);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px var(--ui-glow))}.page-notice-icon .scroll-sheet{fill:color-mix(in srgb, var(--ui-gold) 14%, transparent)}.page-notice-icon .scroll-roll{fill:var(--ui-gold-dim)}.page-notice.show .page-notice-icon{animation:.9s cubic-bezier(.2,.8,.3,1) both page-icon-in}.page-notice-kicker{font:600 .78rem var(--ui-display);letter-spacing:.32em;text-transform:uppercase;color:var(--ui-label)}.page-notice-title{font:600 1.7rem var(--ui-display);letter-spacing:.12em;color:var(--ui-gold);text-shadow:0 0 20px var(--ui-glow), 0 2px 0 #000}.page-notice-rule{background:linear-gradient(90deg, transparent, var(--ui-gold), transparent);width:70%;height:1px;margin:2px 0;display:block}.page-notice-hint{color:var(--ui-muted);font-size:.85rem;font-style:italic}.page-notice-sweep{background:linear-gradient(100deg, transparent, color-mix(in srgb, var(--ui-gold) 38%, transparent), transparent);pointer-events:none;width:40%;position:absolute;top:0;bottom:0;left:0;transform:translate(-120%)}.page-notice.show .page-notice-sweep{animation:1.1s ease-out .25s both page-sweep}@keyframes page-notice-life{0%{opacity:0;transform:translateY(-8px)}12%,82%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes page-notice-fade{0%{opacity:0}12%,82%{opacity:1}to{opacity:0}}@keyframes page-icon-in{0%{opacity:0;transform:rotate(-120deg)scale(.4)}to{opacity:1;transform:none}}@keyframes page-sweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media (prefers-reduced-motion:reduce){.page-notice.show{animation-name:page-notice-fade}.page-notice.show .page-notice-icon{animation:none}.page-notice-sweep{display:none}}:root[data-motion=reduce] .page-notice.show{animation-name:page-notice-fade}:root[data-motion=reduce] .page-notice.show .page-notice-icon{animation:none}:root[data-motion=reduce] .page-notice-sweep{display:none}.tooltip{z-index:1000;background:var(--ui-panel);border:1px solid var(--ui-gold-dim);pointer-events:none;max-width:min(320px,100vw - 16px);padding:9px 13px 10px;position:fixed;box-shadow:0 0 0 1px #000000d9,inset 0 0 0 3px #00000080,0 8px 26px #000000b3}.tooltip[hidden]{display:none}.tooltip-title{font:600 .82rem var(--ui-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ui-gold)}.tooltip-text{border-top:1px solid var(--ui-line);color:var(--ui-text);white-space:pre-line;margin-top:5px;padding-top:5px;font-size:.85rem;line-height:1.35}.tooltip-text[hidden]{display:none}.hud [data-tip-title]{pointer-events:auto}.lang-select{font:600 .68rem var(--ui-display);letter-spacing:.2em;color:var(--ui-muted);justify-content:center;align-items:center;gap:2px;display:flex}.lang-select .lang-button{letter-spacing:.2em;color:var(--ui-muted);background:0 0;border:0;border-bottom:1px solid #0000;flex:none;padding:3px 7px;font-size:.68rem}.lang-select .lang-button:before,.lang-select .lang-button:after{display:none}.lang-select .lang-button:hover:not(:disabled),.lang-select .lang-button:focus-visible{color:#fff6dc;background:0 0}.lang-select .lang-button[aria-pressed=true]{color:var(--ui-gold);text-shadow:0 0 10px var(--ui-glow);border-bottom-color:var(--ui-gold-dim)}.lang-sep{opacity:.5}.login .lang-select{position:absolute;top:8px;right:10px}.cinematic{z-index:100;background:var(--color-night);cursor:pointer;pointer-events:auto;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.cinematic-frame{border:1px solid var(--color-goldDim);outline-offset:.7vmin;background:var(--color-background);outline:1px solid #c8a96a59;position:absolute;inset:4vmin 4vmin 22vmin;overflow:hidden;box-shadow:0 0 0 1px #000,0 0 6vmin #000000e6}.cinematic-frame:after{content:"";pointer-events:none;background:radial-gradient(#0000 45%,#000000b8 100%);position:absolute;inset:0}.cinematic-art{filter:saturate(.72)contrast(1.06)sepia(.2);width:100%;height:100%;animation:cinematic-zoom var(--shot-seconds,7s) ease-out both;display:block}.cinematic[data-shot=splash] .cinematic-frame{box-shadow:none;border:0;outline:0;inset:0}.cinematic[data-shot=splash] .cinematic-frame:after,.cinematic[data-shot=splash] .cinematic-captions{display:none}img.cinematic-art{object-fit:cover;filter:none}.cinematic-frame[data-pan=right] .cinematic-art{animation-name:cinematic-zoom-right}.cinematic.still .cinematic-art{animation:none}@keyframes cinematic-zoom{0%{transform:scale(1)translate(0)}to{transform:scale(1.12)translate(-2%)}}@keyframes cinematic-zoom-right{0%{transform:scale(1.12)translate(-2%)}to{transform:scale(1)translate(0)}}.cinematic-captions{min-height:14vmin;color:var(--color-parchment);border:1px solid var(--color-goldDim);font-family:var(--ui-body);text-align:center;background:linear-gradient(#0e1015f0,#080a0ef5);padding:2vmin 3vmin;font-size:clamp(1.05rem,2.7vmin,1.9rem);font-style:italic;line-height:1.45;position:absolute;bottom:4vmin;left:8vmin;right:8vmin;box-shadow:0 0 0 1px #000,inset 0 0 0 4px #0000008c,inset 0 0 0 5px #c8a96a59}.cinematic-line{margin:.2em 0;animation:.6s ease-out both cinematic-line}.cinematic-title{font:600 clamp(1.8rem, 6vmin, 4rem) var(--ui-display);letter-spacing:.22em;color:var(--color-gold);text-shadow:0 0 3vmin #c8a96a66,0 .3vmin #000;margin:0 0 .3em}.cinematic.still .cinematic-line{animation:none}@keyframes cinematic-line{0%{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}.cinematic-skip{z-index:2;background:#0009;flex:none;padding:6px 16px;position:absolute;top:1.2vmin;right:1.6vmin}.cinematic-progress{gap:1vmin;display:flex;position:absolute;top:1.6vmin;left:50%;transform:translate(-50%)}.cinematic-progress span{background:#c8a96a38;width:2.4vmin;height:.8vmin}.cinematic-progress span.on{background:var(--color-gold)}
