.gate-root{color:#f8f9f6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#16302b;font-family:Geist,Pretendard,-apple-system,sans-serif;font-weight:400;position:fixed;inset:0;overflow:hidden}.ambient{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.ambient .grid{opacity:0;background-image:linear-gradient(90deg,#f8f9f606 1px,#0000 1px),linear-gradient(#f8f9f606 1px,#0000 1px);background-size:80px 80px;animation:2s ease-out .6s forwards ambient-fade;position:absolute;inset:0}.ambient .glow{opacity:0;background:radial-gradient(circle,#ff72000f 0%,#ff720005 30%,#0000 60%);width:720px;height:720px;animation:2s ease-out 1.4s forwards glow-rise,6s ease-in-out 3.4s infinite glow-breath;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.ambient .far-range{opacity:0;width:1600px;height:1600px;animation:2.4s ease-out .4s forwards ambient-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ambient .far-range svg{opacity:.04;width:100%;height:100%}.ambient .noise{opacity:0;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.97 0 0 0 0 0.97 0 0 0 0 0.96 0 0 0 0.18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:1.5s ease-out .2s forwards ambient-fade;position:absolute;inset:0}@keyframes ambient-fade{to{opacity:1}}@keyframes glow-rise{to{opacity:1}}@keyframes glow-breath{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.7;transform:translate(-50%,-50%)scale(1.04)}}.corner{z-index:10;letter-spacing:.14em;text-transform:uppercase;color:#f8f9f666;opacity:0;font-family:Geist Mono,monospace;font-size:10px;animation:.8s ease-out 2.8s forwards rise;position:fixed}.corner.tl{align-items:center;gap:10px;display:flex;top:28px;left:32px}.corner.tl svg{width:14px;height:14px}.corner.tr{align-items:center;gap:10px;display:flex;top:28px;right:32px}.corner.tr .live-dot{background:#ff7200;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite dot-pulse;box-shadow:0 0 #ff720099}.corner.bl{bottom:28px;left:32px}.corner.br{bottom:28px;right:32px}@keyframes dot-pulse{0%,to{box-shadow:0 0 #ff720099}50%{box-shadow:0 0 0 8px #ff720000}}.gate{z-index:5;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex;position:relative}.gate-root.granted .gate{opacity:0;filter:blur(8px);pointer-events:none;transition:opacity 1s ease-out,filter 1s ease-out}.mark-stage{width:140px;height:140px;margin-bottom:36px;position:relative}.mark-stage svg{width:100%;height:100%;overflow:visible}.mark-path{fill:none;stroke:#f8f9f6;stroke-width:1.2px;stroke-linejoin:round;stroke-dasharray:280;stroke-dashoffset:280px;animation:1.4s cubic-bezier(.65,0,.35,1) .3s forwards draw-mark}.mark-fill{fill:#f8f9f6;opacity:0;animation:.6s ease-out 1.5s forwards fill-in}.ember-glow{fill:#ff7200;opacity:0;transform-origin:46px 8px;animation:.6s cubic-bezier(.25,.46,.45,.94) 1.9s forwards ignite-glow,2.6s ease-in-out 3s infinite ember-breathe}.ember-core{fill:#ff7200;opacity:0;transform-origin:46px 8px;animation:.4s cubic-bezier(.34,1.56,.64,1) 1.95s forwards ignite-core}.gate-root.typing .ember-glow{animation:.6s cubic-bezier(.25,.46,.45,.94) 1.9s forwards ignite-glow,1.2s ease-in-out 3s infinite ember-breathe}@keyframes draw-mark{to{stroke-dashoffset:0}}@keyframes fill-in{to{opacity:1}}@keyframes ignite-glow{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(2)}to{opacity:.5;transform:scale(1)}}@keyframes ignite-core{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes ember-breathe{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.25)}}.wordmark{letter-spacing:-.04em;color:#f8f9f6;opacity:0;font-size:44px;font-weight:500;animation:.8s cubic-bezier(.22,1,.36,1) 2.2s forwards rise;transform:translateY(12px)}.subtitle{letter-spacing:.4em;text-transform:uppercase;color:#f8f9f68c;opacity:0;margin-top:14px;font-family:Geist Mono,monospace;font-size:11px;animation:.8s cubic-bezier(.22,1,.36,1) 2.5s forwards rise;transform:translateY(8px)}.divider{background:#f8f9f626;width:0;height:1px;margin:44px 0 36px;animation:.6s ease-out 2.7s forwards divider-grow}@keyframes divider-grow{to{width:220px}}.gate-card{-webkit-backdrop-filter:blur(12px);opacity:0;background:#f8f9f60a;border:1px solid #f8f9f61a;border-radius:8px;width:100%;max-width:420px;padding:24px 24px 22px;animation:.8s cubic-bezier(.22,1,.36,1) 2.9s forwards rise;transform:translateY(20px)}.gate-card.shake{animation:.45s cubic-bezier(.36,.07,.19,.97) shake}.gate-card-label{letter-spacing:.14em;text-transform:uppercase;color:#f8f9f680;justify-content:space-between;align-items:center;margin-bottom:14px;font-family:Geist Mono,monospace;font-size:10px;display:flex}.gate-card-label .state{align-items:center;gap:6px;display:flex}.gate-card-label .state-dot{background:#ff7200;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #ff7200}.input-row{background:#0003;border:1px solid #f8f9f61a;border-radius:6px;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.input-row:focus-within{border-color:#ff7200;box-shadow:0 0 0 3px #ff72001f}.input-row.error{border-color:#ff7200;box-shadow:0 0 0 3px #ff720040}.input-prefix{color:#f8f9f666;-webkit-user-select:none;user-select:none;padding:0 0 0 16px;font-family:Geist Mono,monospace;font-size:13px}.password-input{color:#f8f9f6;letter-spacing:.08em;background:0 0;border:none;outline:none;flex:1;padding:14px 12px;font-family:Geist Mono,monospace;font-size:14px}.password-input::placeholder{color:#f8f9f64d;letter-spacing:.04em}.password-input:disabled{opacity:.6;cursor:not-allowed}.submit-btn{color:#16302b;letter-spacing:-.01em;cursor:pointer;background:#ff7200;border:none;align-items:center;gap:6px;padding:14px 18px;font-family:Geist,sans-serif;font-size:13px;font-weight:500;transition:filter .2s;display:flex}.submit-btn:hover:not(:disabled){filter:brightness(1.1)}.submit-btn:active{filter:brightness(.95)}.submit-btn:disabled{cursor:wait;opacity:.7}.submit-btn .arrow{font-family:Geist Mono,monospace;transition:transform .2s}.submit-btn:hover:not(:disabled) .arrow{transform:translate(2px)}.gate-footer{letter-spacing:.12em;text-transform:uppercase;color:#f8f9f659;justify-content:space-between;align-items:center;margin-top:14px;font-family:Geist Mono,monospace;font-size:9px;display:flex}.gate-footer .error-msg{color:#ff7200;opacity:0;transition:opacity .2s}.gate-footer .error-msg.show{opacity:1}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.granted-flash{z-index:100;opacity:0;pointer-events:none;background:#16302b;flex-direction:column;justify-content:center;align-items:center;gap:24px;transition:opacity .4s ease-out;display:flex;position:fixed;inset:0}.granted-flash.active{opacity:1;pointer-events:auto}.granted-mark{width:64px;height:64px;position:relative}.granted-mark svg{width:100%;height:100%}.granted-mark .glow-ring{opacity:0;border:1px solid #ff7200;border-radius:50%;animation:1.2s ease-out forwards ring-expand;position:absolute;inset:-20px}.granted-mark .glow-ring:nth-child(2){animation-delay:.2s}@keyframes ring-expand{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2)}}.granted-text{letter-spacing:.5em;text-transform:uppercase;color:#ff7200;opacity:0;font-family:Geist Mono,monospace;font-size:12px;animation:.4s ease-out .2s forwards fade-in}.granted-sub{letter-spacing:.3em;text-transform:uppercase;color:#f8f9f673;opacity:0;font-family:Geist Mono,monospace;font-size:10px;animation:.4s ease-out .5s forwards fade-in}@keyframes fade-in{to{opacity:1}}@media (max-width:720px){.corner{font-size:9px}.corner.tl,.corner.tr{top:18px}.corner.tl{left:20px}.corner.tr{right:20px}.corner.bl,.corner.br{bottom:18px}.corner.bl{left:20px}.corner.br{right:20px}.wordmark{font-size:36px}.mark-stage{width:100px;height:100px;margin-bottom:28px}.gate-card{max-width:360px}}
