:root{--text:#6b6375;--text-h:#08060d;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Protobesh", sans-serif;--heading:system-ui, "Protobesh", sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);--shift-timing:.5s;--letter-transform-x:120px;--ring-spacing:30px;--letter-size:22px;--letter-font-size:12px;--letter-size-lrg:36px;--letter-font-size-lrg:16px;--stone-base:#3d352a;--stone-highlight:#4a4235;--moss:#2d3d2666;--torch-glow:radial-gradient(circle at center, #ff8c0026 0%, transparent 70%);background:radial-gradient(circle at 10% 10%, var(--moss), transparent 40%), radial-gradient(circle at 90% 85%, var(--moss), transparent 40%), radial-gradient(ellipse at center, transparent 20%, #000c 100%)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@font-face{font-family:Protobesh;src:url(/assets/ProtobeshAF-CJdMMZCq.otf)format("opentype")}#root{text-align:center;border-inline:1px solid var(--border);flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}html,body,#root,#root *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}::selection{color:inherit;background:0 0}body{background-color:var(--stone-base);background-image:var(--torch-glow), linear-gradient(90deg, #0003 2px, transparent 2px);background-attachment:fixed}.ring-group{justify-content:center;column-gap:10px;width:100%;padding:0;display:flex}.ring-group.settling{visibility:hidden}.ring-group.settling .ring,.ring-group.settling .letter{transition:none}.cryptex-container{perspective:1000px;background:#0006;border:4px solid #5c4033;border-radius:10px;justify-content:center;align-items:center;height:250px;padding:5px;display:flex;box-shadow:0 0 30px #000000e6,0 0 60px #ff8c000d}.ring{height:var(--letter-size);width:var(--letter-size);transform-style:preserve-3d;justify-content:center;align-items:center;transition:transform .25s steps(4,end) .6s;display:flex;position:relative}.letter{height:var(--letter-size);width:var(--letter-size);font-family:Protobesh,sans-serif;font-size:var(--letter-font-size);-webkit-user-select:none;user-select:none;cursor:pointer;backface-visibility:hidden;transform:rotateX(calc(var(--i) * 13.84deg)) translateZ(var(--letter-transform-x));opacity:.08;filter:blur(1px);transition:opacity .25s ease, transform var(--shift-timing) steps(3), font-size var(--shift-timing) steps(3), filter .25s ease, background .25s ease var(--shift-timing), border 0s steps(1) var(--shift-timing);background-color:#222222b3;border:1px solid #ffffff26;justify-content:center;align-items:center;display:flex;position:absolute}.letter.selected{opacity:1;filter:blur();color:#fff;font-size:var(--letter-font-size-lrg);transform:rotateX(calc(var(--i) * 13.84deg)) translateZ(calc(var(--letter-transform-x) + 10px));background:#af7357;border:2px solid #5c4033;border-width:2px 4px}.letter.near{opacity:.5;filter:blur(.2px)}.letter.far{opacity:.22;filter:blur(.6px)}.cryptex:not(.solved) .letter:hover:not(.selected){opacity:.9;color:#fff;border:1px solid #ffffff59}.cryptex.solved .letter{cursor:default}.cryptex.solved .letter.selected{color:#000;animation:.6s forwards glow}.cryptex.solved .cryptex-container{border-color:#b8860b;transition:border-color .6s,box-shadow .6s;box-shadow:0 0 30px #000000e6,0 0 40px #ffd7002e}.split{justify-content:center;align-items:center;display:flex}.submit{color:#ffffff80;background:#0006;border:4px solid #5c4033;border-radius:10px;width:50px;height:50px;margin:5px;padding:5px;transition:transform .25s steps(2,end);box-shadow:0 0 30px #000000e6,0 0 60px #ff8c000d}.submit:hover{cursor:pointer;color:#000;background:#af7357;transform:scale(1.05)}.glyph{color:#fff0;transition:color .2s}.submit:hover .glyph{color:#ffffffda;animation:float var(--time) steps(4) infinite;transition:color .3s steps(4,end) .2s}.submit:hover{cursor:pointer}.submit.disabled,.submit.disabled:hover{cursor:default;color:#ffd70099;background:#0006;transform:none}.cryptex{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:40px 16px;display:flex}:root{--holo:#5ed6ff;--holo-dim:#5ed6ff59;--holo-glow:#5ed6ffbf}.hologram{perspective:600px;isolation:isolate;padding:18px 36px 26px;position:relative}.hologram-text{font-family:"Protobesh", var(--mono);letter-spacing:.35em;text-indent:.35em;text-transform:uppercase;color:var(--holo);transform-origin:bottom;text-shadow:0 0 2px #fff, 0 0 8px var(--holo), 0 0 18px var(--holo-glow), 0 0 42px #1e90ff8c, 0 2px 0 #003c5ae6;font-size:clamp(34px,6vw,64px);animation:4.5s step-end infinite holo-flicker;display:inline-block;position:relative;transform:rotateX(14deg)}.hologram-text:before{content:attr(data-text)}.hologram:after{content:"";mix-blend-mode:screen;pointer-events:none;background:repeating-linear-gradient(#5ed6ff12 0 1px,#0000 1px 3px);animation:6s linear infinite holo-scan;position:absolute;inset:10px 16px 18px}.hologram-base{background:linear-gradient(to top, var(--holo-dim), transparent 70%), radial-gradient(ellipse at 50% 100%, var(--holo-glow), transparent 60%);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%);opacity:.35;filter:blur(6px);z-index:-1;pointer-events:none;width:70%;height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hologram-base:after{content:"";background:var(--holo);width:60%;height:6px;box-shadow:0 0 14px 4px var(--holo-glow);filter:none;border-radius:50%;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.hologram.glitch .hologram-text{animation:.7s steps(2,end) holo-glitch}.hologram.glitch .hologram-text:after{content:attr(data-text);text-indent:inherit;color:#ff5ea8;opacity:.6;clip-path:inset(30% 0 40%);mix-blend-mode:screen;animation:.7s steps(3,end) holo-slice;position:absolute;inset:0;transform:translate(3px)}.gate{flex:1;justify-content:center;align-items:center;padding:40px 16px;display:flex}.gate-form{background:#00000073;border:4px solid #5c4033;border-radius:10px;flex-direction:column;align-items:center;gap:14px;width:min(420px,100%);padding:32px 28px 20px;display:flex;box-shadow:0 0 30px #000000e6,0 0 60px #ff8c000d}.gate-form.denied{animation:.35s steps(4,end) gate-shake}.gate-label{letter-spacing:.12em;color:var(--holo);text-shadow:0 0 8px var(--holo), 0 0 18px var(--holo-glow);font-size:22px}.gate-input{width:100%;font:18px/1.4 var(--mono);letter-spacing:.08em;color:#fff;-webkit-user-select:text;user-select:text;background:#222222d9;border:1px solid #fff3;border-radius:6px;outline:none;padding:10px 14px}.gate-input:focus{border-color:var(--holo);box-shadow:0 0 12px var(--holo-dim)}.gate-submit{font:16px/1 var(--sans);letter-spacing:.1em;color:#ffffffd9;cursor:pointer;background:#0006;border:3px solid #5c4033;border-radius:8px;padding:8px 26px;transition:background .2s,color .2s}.gate-submit:hover:not(:disabled){color:#000;background:#af7357}.gate-submit:disabled{opacity:.5;cursor:default}.gate-error{color:#ff8a80;min-height:1.4em;margin:0;font-size:14px}@keyframes gate-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.victory-message{color:#ffe9a8;background:#0000008c;border:2px solid #ffd7008c;border-radius:10px;max-width:640px;padding:24px 32px;animation:.9s both victory-in;box-shadow:0 0 24px #ffd7002e,inset 0 0 40px #ffd7000f}.victory-title{font-family:"Protobesh", var(--sans);letter-spacing:.08em;color:gold;text-shadow:0 0 12px #ffd70099;margin:0 0 10px;font-size:32px}.victory-body{font-family:"Protobesh", var(--mono);text-transform:uppercase;letter-spacing:.3em;color:#fff}.victory-word{font-family:"Protobesh", var(--mono);text-transform:uppercase;letter-spacing:.5em;color:#fff}.victory-meta{opacity:.6;margin:0;font-size:13px}.status{opacity:.55;pointer-events:none;align-items:center;gap:8px;font-size:13px;display:flex;position:fixed;bottom:12px;left:16px}.status .dot{background:#777;border-radius:50%;justify-self:start;width:8px;height:8px}.status .dot.on{background:var(--holo);box-shadow:0 0 8px var(--holo-glow)}.status .dot.off{background:#c0392b}.status .err{color:#ff8a80}@keyframes holo-flicker{0%,to{opacity:1}7%{opacity:.85}8%{opacity:1}41%{opacity:.92}42%{opacity:1}63%{opacity:.7}64%{opacity:1}65%{opacity:.88}66%{opacity:1}}@keyframes holo-scan{0%{background-position:0 0}to{background-position:0 60px}}@keyframes holo-glitch{0%{filter:none;transform:rotateX(14deg)translate(0)}20%{filter:hue-rotate(40deg);transform:rotateX(14deg)translate(-4px)}40%{filter:none;transform:rotateX(14deg)translate(3px)}60%{filter:hue-rotate(-30deg);transform:rotateX(14deg)skew(-6deg)}80%{filter:none;transform:rotateX(14deg)translate(-2px)}to{transform:rotateX(14deg)translate(0)}}@keyframes holo-slice{0%{clip-path:inset(10% 0 70%);transform:translate(4px)}33%{clip-path:inset(55% 0 20%);transform:translate(-4px)}66%{clip-path:inset(30% 0 45%);transform:translate(3px)}to{clip-path:inset(80% 0 5%);transform:translate(0)}}@keyframes victory-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)translate(0)}50%{transform:var(--t)}}@keyframes glow{0%{background-color:#b8860b;box-shadow:0 0 5px gold,0 0 10px #b8860b}to{background-color:gold;box-shadow:0 0 10px #fffacd,0 0 20px gold,0 0 40px #8b4513}}
