:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body{min-height:100vh;margin:0}body{color:#e8edf7;background:radial-gradient(circle at 30% 20%,#16203a 0%,#0a0f1d 55%,#070a14 100%)}#app{min-height:100vh}button{font-family:inherit}.ki.svelte-wihmgi{width:100%;height:auto;display:block}.ki.glow.svelte-wihmgi{filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 60%, transparent))}.screen.svelte-clv6ji{color:#e8edf7;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#14171d;position:absolute;inset:0;overflow:hidden;container-type:inline-size}.screen.svelte-clv6ji *{-webkit-tap-highlight-color:transparent}@keyframes svelte-clv6ji-itemShake{0%,to{transform:translate(0)}20%{transform:translate(-3.5px)}40%{transform:translate(3.5px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.pin-jitter.shaking.svelte-clv6ji{animation:.3s svelte-clv6ji-itemShake}.tri-shake.svelte-clv6ji{fill:#ff5c5c29;stroke:#ff5c5c;stroke-width:1.6px;stroke-linejoin:round;pointer-events:none;animation:.3s svelte-clv6ji-itemShake,.32s forwards svelte-clv6ji-triFade}@keyframes svelte-clv6ji-triFade{to{opacity:0}}svg.svelte-clv6ji{width:100%;height:100%;transition:filter .6s;display:block;position:absolute;inset:0}svg.open.svelte-clv6ji{filter:drop-shadow(0 0 24px #ffd27880)}.chain-layer.svelte-clv6ji{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.chain-layer.svelte-clv6ji .grab:where(.svelte-clv6ji){pointer-events:auto}.hud-top.svelte-clv6ji{pointer-events:none;background:linear-gradient(#080c1499,#080c1400);justify-content:space-between;align-items:flex-start;gap:1.5cqw;padding:2.4cqw 2.6cqw 5cqw;display:flex;position:absolute;top:0;left:0;right:0}.titles.svelte-clv6ji{flex-direction:column;gap:.4cqw;display:flex}.room-line.svelte-clv6ji{letter-spacing:.02em;font-size:2.5cqw}.intro.svelte-clv6ji{opacity:.72;max-width:34ch;font-size:2.1cqw}.rooms-btn.svelte-clv6ji{pointer-events:auto;color:#dce4f5;cursor:pointer;background:#141c2cb3;border:1px solid #3a4a73;border-radius:1.2cqw;flex:none;padding:1cqw 1.6cqw;font-size:2.7cqw;line-height:1}.rooms-btn.svelte-clv6ji:hover{border-color:#ffe07a}.hud-bottom.svelte-clv6ji{pointer-events:none;flex-direction:column;align-items:center;gap:1.4cqw;padding:1cqw 2cqw;display:flex;position:absolute;top:64.5%;left:0;right:0}.hud-bottom.svelte-clv6ji .tray:where(.svelte-clv6ji){pointer-events:auto}.key-caption.svelte-clv6ji{text-align:center;text-wrap:balance;max-width:82%;min-height:7.5cqw;text-shadow:0 .2cqw .5cqw #000000bf, 0 0 1.6cqw color-mix(in srgb, currentColor 40%, transparent);opacity:0;pointer-events:none;font-size:3cqw;font-weight:600;line-height:1.25;transition:opacity .18s}.key-caption.show.svelte-clv6ji{opacity:1}.backplate.svelte-clv6ji{fill:#0a0c10}.door-void.svelte-clv6ji{fill:#06070a}.door-steel.svelte-clv6ji{fill:url(#steel)}.door-grain.svelte-clv6ji{fill:#d2d8df;opacity:.12}.door.svelte-clv6ji{transform-box:fill-box;transition:transform .8s cubic-bezier(.16,1,.3,1)}.screen.doors.svelte-clv6ji .door-L:where(.svelte-clv6ji),.screen.flash.svelte-clv6ji .door-L:where(.svelte-clv6ji){transform:translate(-118%)}.screen.doors.svelte-clv6ji .door-R:where(.svelte-clv6ji),.screen.flash.svelte-clv6ji .door-R:where(.svelte-clv6ji){transform:translate(118%)}.plate-piece.svelte-clv6ji{fill:url(#plate)}@keyframes svelte-clv6ji-pieceJiggle{0%{transform:translate(0)rotate(0)}25%{transform:translate(var(--jx), var(--jy)) rotate(var(--jr))}50%{transform:translate(0)rotate(0)}75%{transform:translate(calc(var(--jx) * -1), calc(var(--jy) * -1)) rotate(calc(var(--jr) * -1))}to{transform:translate(0)rotate(0)}}.screen.jiggle.svelte-clv6ji .plate-piece:where(.svelte-clv6ji){transform-box:fill-box;transform-origin:50%;animation:svelte-clv6ji-pieceJiggle var(--jt,.16s) ease-in-out var(--jd,0s) infinite}.jiggle-tap.svelte-clv6ji{fill:#0000;cursor:pointer}.debug-tint.svelte-clv6ji{opacity:.45;pointer-events:none}.rim-edge.svelte-clv6ji{stroke:#14171d;stroke-width:1.2px}.faint-edge.svelte-clv6ji{stroke:#434a56;stroke-width:1.5px;stroke-linecap:round;opacity:.92}.corner-dot.svelte-clv6ji{fill:#ffe07a;stroke:#8a6320;stroke-width:.7px;pointer-events:none}.pin-piece.svelte-clv6ji,.pin-backing.svelte-clv6ji{fill:url(#plate)}.pin-piece.brass.svelte-clv6ji{fill:url(#brass)}.pin-piece.lit.svelte-clv6ji{fill:url(#brassLit)}.pin-arc.svelte-clv6ji{fill:none;stroke:url(#brass);stroke-width:2.8px;stroke-linecap:butt}.pin-arc.pending.svelte-clv6ji{stroke:url(#brassLit);stroke-width:3.4px}.pin-slice.svelte-clv6ji{fill:url(#brassLit);filter:drop-shadow(0 0 4px #e1965080)}.pin-slice.flash.svelte-clv6ji{fill:#ffdcb0;filter:drop-shadow(0 0 9px #e6a05af2)}.brass-edge.svelte-clv6ji{fill:none;stroke:#fff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.tri-preview.svelte-clv6ji{fill:#e6b9502e;stroke:#e8b94e;stroke-width:1.5px;stroke-linejoin:round;pointer-events:none}.hit.svelte-clv6ji{fill:#0000;cursor:default;outline:none}.hit.svelte-clv6ji:focus,.hit.svelte-clv6ji:focus-visible{outline:none}.aura-layer.svelte-clv6ji{pointer-events:none;mix-blend-mode:screen;animation:1.8s ease-in-out infinite svelte-clv6ji-auraBreath}@keyframes svelte-clv6ji-auraBreath{0%,to{opacity:.5}50%{opacity:.95}}.aura-node.svelte-clv6ji{transform-origin:0 0;animation:6s linear infinite svelte-clv6ji-auraSpin}@keyframes svelte-clv6ji-auraSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.aura-layer.svelte-clv6ji,.aura-node.svelte-clv6ji{animation:none}}.rope.svelte-clv6ji{fill:none;stroke:#b9b29a;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.bead.svelte-clv6ji{fill:#d8d2bd}.bead.handle.svelte-clv6ji{fill:currentColor;stroke:#00000073;stroke-width:1.4px;filter:drop-shadow(0 0 5px color-mix(in srgb, currentColor 70%, transparent))}.grab.svelte-clv6ji{fill:#0000;cursor:grab}.grab.svelte-clv6ji:active{cursor:grabbing}.tray.svelte-clv6ji{flex-wrap:wrap;justify-content:center;gap:1.4cqw;display:flex}.key.svelte-clv6ji{cursor:grab;touch-action:none;background:linear-gradient(160deg,#2c333f,#1b212b);border:1px solid #474e5c;border-radius:1.6cqw;place-items:center;width:9.5cqw;height:9.5cqw;transition:opacity .15s,box-shadow .15s,border-color .15s,transform .1s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0f,0 2px 4px #00000059}.key.svelte-clv6ji:hover:not(.locked):not(.dimmed){border-color:#e7be5e;transform:translateY(-1px)}.key.svelte-clv6ji:active{cursor:grabbing}.key.svelte-clv6ji .ki{width:7cqw}.key.locked.svelte-clv6ji{cursor:not-allowed;opacity:.6;filter:grayscale(.7)brightness(.8);border-style:dashed}.key.dimmed.svelte-clv6ji{opacity:.3;cursor:not-allowed}.key.active.svelte-clv6ji{color:#ffe07a;border-color:#ffe07a;box-shadow:0 0 0 2px #ffe07a59}.lock-badge.svelte-clv6ji{filter:grayscale(.4);font-size:2cqw;position:absolute;bottom:.2cqw;right:.4cqw}.ghost.svelte-clv6ji{pointer-events:none;filter:drop-shadow(0 2px 6px #0009);z-index:50;position:fixed;transform:translate(-50%,-50%)}.ghost.svelte-clv6ji .ki{width:8.5cqw}.pin-piece.svelte-clv6ji,.pin-spin.svelte-clv6ji,.lock.svelte-clv6ji{--bounce:linear(0, .012, .069, .169, .302, .474, .681 35%, 1 36.4%, .892, .819, .772, .75 54.5%, .764, .812, .892, 1 72.7%, .966, .939, .939 81.8%, .966, 1 90.9%, .989, .984, .997, 1)}.pin-piece.svelte-clv6ji{transition:transform .66s var(--bounce), opacity .45s ease}.pin-piece.down.svelte-clv6ji{opacity:.9}.pin-spin.svelte-clv6ji,.pin-back.svelte-clv6ji,.lock.svelte-clv6ji{transition:transform .66s var(--bounce)}.godlight.svelte-clv6ji{mix-blend-mode:screen;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .4s;display:block;position:absolute;inset:0}.godlight.lit.svelte-clv6ji{opacity:1}.apdbg.svelte-clv6ji{pointer-events:none;opacity:0;width:100%;height:100%;display:block;position:absolute;inset:0}.apdbg.on.svelte-clv6ji{opacity:.92}.line-glow.svelte-clv6ji{mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .6s}.screen.rotate.svelte-clv6ji .line-glow:where(.svelte-clv6ji),.screen.flash.svelte-clv6ji .line-glow:where(.svelte-clv6ji){opacity:.5}.glow-line.svelte-clv6ji{stroke:#fff3d8;stroke-width:2px;fill:none}.hud-frame.svelte-clv6ji{z-index:60;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#d6ff7a;white-space:nowrap;background:#000000b8;border:1px solid #d6ff7a59;border-radius:7px;padding:.2rem .55rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95rem;position:absolute;top:63%;left:50%;transform:translate(-50%)}.whiteout.svelte-clv6ji{opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 32%,#fff,#fbf7ee);transition:opacity .5s;position:absolute;inset:0}.whiteout.on.svelte-clv6ji{opacity:1}.screen.intro.svelte-clv6ji .whiteout:where(.svelte-clv6ji){opacity:1;background:#fff;transition:none}.screen.flash.svelte-clv6ji .whiteout:where(.svelte-clv6ji){transition:opacity .45s ease-in}.dock.svelte-78pbc8{z-index:5;pointer-events:auto;position:absolute;bottom:3.5%;left:7%;right:7%}.surface.svelte-78pbc8{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#ffffff0b;border:1px solid #ffffff1c;border-radius:2cqw;align-items:center;gap:1.6cqw;height:13cqw;padding:0 2.4cqw;display:flex;box-shadow:inset 0 1px #ffffff0d,0 1.5cqw 4cqw -2cqw #000}.ctl.svelte-78pbc8{color:#ccd3df;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:1.5cqw;flex:none;place-items:center;width:7.5cqw;height:7.5cqw;font-size:3cqw;line-height:1;transition:border-color .15s,color .15s,background .15s;display:grid}.ctl.svelte-78pbc8:hover{color:#fff;border-color:#fff6}.ctl.play.svelte-78pbc8{font-size:2.6cqw}.ctl.play.playing.svelte-78pbc8{color:#fff;background:#ffffff29}.now.svelte-78pbc8{flex-direction:column;flex:1;gap:.3cqw;min-width:0;display:flex}.st-name.svelte-78pbc8{color:#e8edf7;font-size:2.6cqw;font-weight:700}.st-desc.svelte-78pbc8{color:#8b94a3;white-space:nowrap;text-overflow:ellipsis;font-size:1.9cqw;overflow:hidden}main.svelte-1n46o8q{place-items:center;min-height:100dvh;padding:0;display:grid}.panel.svelte-1n46o8q{aspect-ratio:372/496;width:min(100%,75dvh);position:relative;overflow:hidden;container-type:inline-size}.modal-bg.svelte-1n46o8q{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#04070eb3;place-items:center;padding:4cqw;animation:.2s svelte-1n46o8q-fade;display:grid;position:absolute;inset:0}.modal.svelte-1n46o8q{background:#111a2e;border:1px solid #2c3a5e;border-radius:2.4cqw;flex-direction:column;gap:2cqw;width:100%;max-height:100%;padding:3cqw 3.2cqw;display:flex;overflow:hidden;box-shadow:0 2cqw 6cqw #0000008c}.modal-head.svelte-1n46o8q{justify-content:space-between;align-items:center;display:flex}.modal-head.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin:0;font-size:4cqw}.x.svelte-1n46o8q{color:#8aa0cc;cursor:pointer;background:0 0;border:none;font-size:3.4cqw;line-height:1}.rooms.svelte-1n46o8q{flex:auto;grid-template-columns:repeat(4,1fr);gap:1.6cqw;min-height:0;padding-right:1cqw;display:grid;overflow-y:auto}.room.svelte-1n46o8q{color:#e8edf7;cursor:pointer;text-align:left;background:#141d33;border:1px solid #2c3a5e;border-radius:1.6cqw;flex-direction:column;align-items:flex-start;gap:.4cqw;padding:1.4cqw;display:flex}.room.svelte-1n46o8q:hover:not(:disabled){border-color:#ffe07a}.room.locked.svelte-1n46o8q{opacity:.4;cursor:not-allowed}.room.done.svelte-1n46o8q{border-color:#6ee1a5}.room.current.svelte-1n46o8q{box-shadow:0 0 0 .3cqw #ffe07a66}.rnum.svelte-1n46o8q{opacity:.5;font-size:1.9cqw}.rtitle.svelte-1n46o8q{font-size:2.2cqw;font-weight:600;line-height:1.15}.rstate.svelte-1n46o8q{opacity:.7;font-size:1.9cqw}.rkeys.svelte-1n46o8q{flex-wrap:wrap;gap:.9cqw;min-height:1.8cqw;margin-top:.6cqw;display:flex}.rkey-dot.svelte-1n46o8q{border-radius:50%;width:1.8cqw;height:1.8cqw;box-shadow:inset 0 0 0 .18cqw #ffffff73,0 0 0 .12cqw #00000059}.reset-row.svelte-1n46o8q{flex-wrap:wrap;align-items:center;gap:1.2cqw;margin-top:.5cqw;display:flex}.reset-step.svelte-1n46o8q{color:#8aa0cc;cursor:pointer;background:0 0;border:none;padding:.4cqw .2cqw;font-size:1.9cqw;transition:opacity .15s,border-color .15s,background .15s}.reset-step.danger.svelte-1n46o8q{color:#ff8a8a;border:1px solid #ff5c5c8c;border-radius:1.2cqw;padding:.7cqw 1.3cqw}.reset-step.danger.svelte-1n46o8q:hover:not(:disabled){background:#ff505024;border-color:#ff6a6a}.reset-step.danger.svelte-1n46o8q:not(:disabled){animation:1.2s ease-in-out infinite svelte-1n46o8q-resetPulse}.reset-step.svelte-1n46o8q:disabled{opacity:.32;cursor:default;border-style:dashed}@keyframes svelte-1n46o8q-resetPulse{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.reset-step.danger.svelte-1n46o8q:not(:disabled){animation:none}}.reward-screen.svelte-1n46o8q{z-index:100;color:#1a1d24;text-align:center;cursor:pointer;background:radial-gradient(120% 90% at 50% 32%,#fff,#f4f0e6);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:2rem 1.8rem;animation:.35s svelte-1n46o8q-fade;display:flex;position:fixed;inset:0}.reward-screen.svelte-1n46o8q:focus-visible{outline:none}.eyebrow.svelte-1n46o8q{text-transform:uppercase;letter-spacing:.28em;color:color-mix(in srgb, var(--c) 62%, #6a5320);font-family:ui-monospace,Consolas,monospace;font-size:.66rem}.rname.svelte-1n46o8q{letter-spacing:-.02em;max-width:14ch;margin:.2rem 0 .5rem;font-size:clamp(1.6rem,7vw,2.3rem);font-weight:800;line-height:1.05}.reward-screen.svelte-1n46o8q .ki{width:min(62vw,240px);filter:drop-shadow(0 12px 26px color-mix(in srgb, var(--c) 45%, transparent));margin:.3rem 0 1rem;animation:.55s svelte-1n46o8q-rise}.rblurb.svelte-1n46o8q{color:#4a5160;max-width:28ch;margin:0;font-size:1rem;line-height:1.45}.tap.svelte-1n46o8q{text-transform:uppercase;letter-spacing:.2em;color:#8a90a0;margin-top:1.8rem;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;animation:1.8s ease-in-out infinite svelte-1n46o8q-pulse}@keyframes svelte-1n46o8q-fade{0%{opacity:0}}@keyframes svelte-1n46o8q-rise{0%{opacity:0;transform:translateY(12px)scale(.8)}}@keyframes svelte-1n46o8q-pulse{0%,to{opacity:.4}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.reward-screen.svelte-1n46o8q,.reward-screen.svelte-1n46o8q .ki,.tap.svelte-1n46o8q{animation:none}}
