@font-face{font-family:display;src:url(../media/cormorant_garamond_latin-s.p.3huc2loe0ie8a.woff2)format("woff2");font-display:swap;font-weight:300 700;font-style:normal}@font-face{font-family:display;src:url(../media/cormorant_garamond_latin_italic-s.p.1pvupmngxrt5z.woff2)format("woff2");font-display:swap;font-weight:300 700;font-style:italic}@font-face{font-family:display Fallback;src:local(Times New Roman);ascent-override:96.43%;descent-override:29.95%;line-gap-override:0.0%;size-adjust:95.82%}.L6N20G_className{font-family:display,display Fallback,Times New Roman,serif}.L6N20G_variable{--font-display:"display", "display Fallback", Times New Roman, serif}
@font-face{font-family:sans;src:url(../media/geist_latin-s.p.0wgildi0cnwt9.woff2)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.E3WGYG_className{font-family:sans,sans Fallback,Arial,sans-serif}.E3WGYG_variable{--font-sans:"sans", "sans Fallback", Arial, sans-serif}
@font-face{font-family:mono;src:url(../media/jetbrains_mono_latin.1bkzbscqrt8rl.woff2)format("woff2");font-display:swap;font-weight:400 500;font-style:normal}.E78tia_className{font-family:mono,ui-monospace,Menlo,monospace}.E78tia_variable{--font-mono:"mono", ui-monospace, Menlo, monospace}
.lock-overlay{z-index:var(--z-lock);background:var(--bg);color:var(--cream);padding:max(40px, calc(20px + var(--safe-area-top))) 22px max(36px, calc(20px + var(--safe-area-bottom)));place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.lock-overlay-atmosphere{pointer-events:none;position:absolute;inset:0}.lock-overlay-bloom{background:radial-gradient(60% 50% at 50% 30%, var(--accent-a16), transparent 70%);filter:blur(40px);height:60%;position:absolute;inset:-20% -10% auto}.lock-overlay-grain{opacity:.06;background-image:repeating-radial-gradient(circle at 25% 25%, rgb(var(--cream-rgb) / .4) 0, rgb(var(--cream-rgb) / .4) .5px, transparent .5px, transparent 2px), repeating-radial-gradient(circle at 75% 65%, rgb(var(--cream-rgb) / .3) 0, rgb(var(--cream-rgb) / .3) .5px, transparent .5px, transparent 2.5px);mix-blend-mode:overlay;pointer-events:none;position:absolute;inset:0}.lock-overlay-card{z-index:var(--z-lock);text-align:center;flex-direction:column;align-items:center;width:min(100%,360px);display:flex;position:relative}.lock-overlay-title{font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--fs-38);margin:0 0 8px;line-height:1.05}.lock-overlay-sub{font-family:var(--body);font-size:var(--fs-15);color:var(--cream-muted);margin:0 0 18px}.lock-overlay-error{border-radius:var(--r-xs);color:var(--no);font-family:var(--body);font-size:var(--fs-13);text-align:center;background:#c98a821f;border:1px solid #c98a8266;width:100%;margin:12px 0 0;padding:8px 12px}.lock-overlay-cta{border-radius:var(--r-pill);background:var(--accent);min-width:200px;color:var(--ink);font-family:var(--body);font-weight:600;font-size:var(--fs-15);cursor:pointer;box-shadow:0 8px 24px var(--accent-fog), inset 0 1px 0 #ffffff2e;border:1px solid #0000;padding:13px 22px}.lock-overlay-cta:disabled{opacity:.6;cursor:not-allowed}.lock-overlay-passphrase{text-align:center;width:100%;margin:12px 0 14px}.lock-overlay-room{background:radial-gradient(120% 80% at 50% 18%, var(--accent-a12), transparent 60%), radial-gradient(ellipse 70% 50% at 50% 50%, #1f0d16 0%, transparent 70%), var(--bg);perspective:1000px}.lock-overlay-room .lock-overlay-bloom{background:radial-gradient(58% 52% at 50% 28%, var(--accent-a28), transparent 72%);filter:blur(46px);height:66%;animation:7.2s ease-in-out infinite alternate lock-bg-breath;inset:-28% -10% auto}@keyframes lock-bg-breath{0%{opacity:.7}to{opacity:1}}.lock-overlay-room .lock-overlay-card{gap:0}.lock-hero{--tx:0;--ty:0;width:184px;height:184px;transform-style:preserve-3d;margin:0 0 10px;position:relative}.lock-hero-tilt{transform:rotateY(calc(var(--tx,0) * 7deg)) rotateX(calc(var(--ty,0) * -5deg));place-items:center;transition:transform 80ms linear;display:grid;position:absolute;inset:0}.lock-hero-aura{background:radial-gradient(ellipse 58% 52% at calc(50% + var(--tx,0) * 16%) calc(50% + var(--ty,0) * 12%), var(--accent-fog), transparent 66%);pointer-events:none;position:absolute;inset:-34px}.lock-hero-bloom{background:radial-gradient(circle, rgb(var(--accent-rgb) / .5) 0%, var(--accent-a16) 42%, transparent 70%);filter:blur(2px);opacity:0;pointer-events:none;width:230px;height:230px;animation:lock-bloom 2.6s var(--ease-bloom,cubic-bezier(.16, 1, .3, 1)) .2s forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2)}@keyframes lock-bloom{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}45%{opacity:.95;transform:translate(-50%,-50%)scale(1.05)}to{opacity:.7;transform:translate(-50%,-50%)scale(1)}}.lock-hero-pulse{background:radial-gradient(circle, var(--accent-a16), transparent 62%);opacity:0;pointer-events:none;border-radius:50%;width:150px;height:150px;animation:4.8s ease-in-out 1.8s infinite lock-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes lock-pulse{0%,to{opacity:.28;transform:translate(-50%,-50%)scale(.92)}50%{opacity:.6;transform:translate(-50%,-50%)scale(1.08)}}.lock-hero-svg{width:100%;height:100%;display:block;position:relative;overflow:visible}.lock-hero-ring-ghost{fill:none;stroke:var(--hairline-strong);stroke-width:1px}.lock-hero-ring{--L:600;fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:var(--L);stroke-dashoffset:var(--L);opacity:.82;transform-origin:100px 100px;filter:drop-shadow(0 0 8px var(--accent-fog));animation:lock-draw 1.4s var(--ease-settle,cubic-bezier(.22, 1, .36, 1)) .15s forwards, lock-ring-glow 5.2s ease-in-out 2s infinite;transform:rotate(-90deg)}@keyframes lock-ring-glow{0%,to{opacity:.62}50%{opacity:1}}.lock-hero-wave-back,.lock-hero-wave{--L:600;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--L);stroke-dashoffset:var(--L);transform-origin:100px 106px}.lock-hero-wave{stroke:var(--accent);stroke-width:3px;filter:drop-shadow(0 0 12px var(--accent-a55));animation:lock-draw 1.2s var(--ease-settle,cubic-bezier(.22, 1, .36, 1)) .5s forwards, lock-wave-breath 5s ease-in-out 2.2s infinite}.lock-hero-wave-back{stroke:rgb(var(--accent-rgb) / .34);stroke-width:2.6px;opacity:.7;animation:lock-draw 1.4s var(--ease-settle,cubic-bezier(.22, 1, .36, 1)) .35s forwards, lock-wave-breath 5s ease-in-out 2.2s infinite}@keyframes lock-draw{to{stroke-dashoffset:0}}@keyframes lock-wave-breath{0%,to{transform:scaleY(.94)}50%{transform:scaleY(1.1)}}.lock-hero-sweep{fill:none;stroke:var(--cream);stroke-width:3.4px;stroke-linecap:round;stroke-dasharray:26 240;stroke-dashoffset:266px;opacity:0;filter:drop-shadow(0 0 8px rgb(var(--cream-rgb) / .9));animation:3.6s cubic-bezier(.4,0,.6,1) 2.6s infinite lock-sweep}@keyframes lock-sweep{0%{stroke-dashoffset:266px;opacity:0}16%{opacity:.95}82%{opacity:.95}to{stroke-dashoffset:-26px;opacity:0}}.lock-hero-spark{fill:var(--cream);opacity:0}.lock-hero-spark.a{animation:3.6s ease-in-out 3s infinite lock-spark}.lock-hero-spark.b{animation:4.1s ease-in-out 3.4s infinite lock-spark}.lock-hero-spark.c{animation:3.2s ease-in-out 3.8s infinite lock-spark}@keyframes lock-spark{0%{opacity:0;transform:scale(.4)}20%{opacity:.85;transform:scale(1)}60%{opacity:0;transform:scale(.4)translateY(-8px)}to{opacity:0}}.lock-overlay-room .lock-overlay-title{font-size:var(--fs-38);letter-spacing:-.012em;margin:0 0 10px}.lock-overlay-room .lock-overlay-title .word{opacity:0;filter:blur(4px);animation:lock-word-land .9s var(--ease-bloom,cubic-bezier(.16, 1, .3, 1)) forwards;display:inline-block;transform:translateY(16px)scale(.94)}.lock-overlay-room .lock-overlay-title .word:first-child{animation-delay:.5s}.lock-overlay-room .lock-overlay-title .word:nth-child(2){animation-delay:.62s}@keyframes lock-word-land{0%{opacity:0;filter:blur(4px);transform:translateY(16px)scale(.94)}55%{opacity:1;filter:blur();transform:translateY(-3px)scale(1.02)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.lock-overlay-room .lock-overlay-sub{opacity:0;max-width:30ch;margin:0 0 20px;line-height:1.5;animation:.7s ease-out 1s forwards lock-fade-up}@keyframes lock-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lock-overlay-room .lock-overlay-passphrase{border-radius:var(--r-md);letter-spacing:.02em;opacity:0;min-height:52px;margin:0 0 12px;transition:box-shadow .2s,border-color .2s,background .2s;animation:.7s ease-out 1.2s forwards lock-fade-up}.lock-overlay-room .lock-overlay-passphrase:focus,.lock-overlay-room .lock-overlay-passphrase:focus-visible{border-color:var(--accent-fog);box-shadow:0 0 0 3px var(--accent-mist), 0 10px 30px #00000047;outline:none}.lock-overlay-room .lock-overlay-cta{opacity:0;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;transition:transform 90ms,box-shadow .22s,opacity .7s;animation:.7s ease-out 1.35s forwards lock-fade-up;display:inline-flex;position:relative;overflow:hidden}.lock-overlay-room .lock-overlay-cta:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff57,#0000 60%);transition:opacity .24s ease-out;position:absolute;inset:0}.lock-overlay-room .lock-overlay-cta:hover:not(:disabled):before{opacity:1}.lock-overlay-room .lock-overlay-cta:hover:not(:disabled){box-shadow:0 12px 32px var(--accent-fog), inset 0 1px 0 #ffffff3d}.lock-overlay-room .lock-overlay-cta:active:not(:disabled){transform:scale(.985)}.lock-overlay-room .lock-overlay-cta-glyph{opacity:.9;flex:none}.lock-overlay-room .lock-overlay-cta span{position:relative}.lock-overlay-room .lock-overlay-error{margin-top:14px;animation:.4s ease-out forwards lock-fade-up}.lock-room-meter{font:500 var(--fs-12)/1 var(--body);color:var(--cream-faint);opacity:0;align-items:center;gap:8px;margin:22px 0 0;animation:.7s ease-out 1.6s forwards lock-fade-up;display:inline-flex}.lock-room-meter .dot{border-radius:var(--r-pill);background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px rgb(var(--accent-rgb) / .85);animation:2.6s ease-in-out infinite lock-meter-dot}@keyframes lock-meter-dot{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.lock-hero-tilt{transform:none!important}.lock-hero-ring,.lock-hero-wave,.lock-hero-wave-back{stroke-dashoffset:0!important;transform:none!important}.lock-hero-ring{opacity:.6;animation:none!important}.lock-hero-wave,.lock-hero-wave-back{animation:none!important}.lock-hero-bloom{opacity:.55;animation:none!important}.lock-hero-pulse{opacity:.35;animation:none!important}.lock-hero-sweep,.lock-hero-spark{display:none!important}.lock-overlay-room .lock-overlay-bloom{animation:none!important}.lock-overlay-room .lock-overlay-title .word,.lock-overlay-room .lock-overlay-sub,.lock-overlay-room .lock-overlay-passphrase,.lock-overlay-room .lock-overlay-cta,.lock-room-meter{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.lock-room-meter .dot{animation:none!important}}
