@charset "UTF-8";@font-face{font-family:Crimson Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/woff2/crimson-pro-vietnamese-wght-normal-Djpar-EE.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/woff2/crimson-pro-latin-ext-wght-normal-4mBZvMWv.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/woff2/crimson-pro-latin-wght-normal-C4R2PX-h.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/woff2/crimson-pro-vietnamese-wght-italic-Dpzp2Zc3.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/woff2/crimson-pro-latin-ext-wght-italic-BwehhlXF.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/woff2/crimson-pro-latin-wght-italic-CkPs-Rv6.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/woff2/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2) format("woff2"),url(/assets/woff/space-mono-vietnamese-400-normal-B0PMp_xB.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/woff2/space-mono-latin-ext-400-normal-DTLbW2xa.woff2) format("woff2"),url(/assets/woff/space-mono-latin-ext-400-normal-D4cJI_B-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/woff2/space-mono-latin-400-normal-Rg4St2Dn.woff2) format("woff2"),url(/assets/woff/space-mono-latin-400-normal-_3DlpgIW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.auth-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:280px;margin:0 auto}.type-structure-auth{font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:#1a1a1a;font-weight:400}.type-editorial-italic-auth{font-family:Crimson Pro Variable,serif;font-size:1.05rem;color:#1a1a1a;font-weight:100;letter-spacing:.02em;text-align:center;margin:0;line-height:1.5;font-style:normal;font-synthesis:style;transform:skew(-12deg);display:inline-block}.feedback-container{position:absolute;display:flex;flex-direction:column;top:100%;margin-top:.2rem;gap:1.2rem;left:0;width:100%;justify-content:center;align-items:center;text-align:center;opacity:1;transition:opacity .3s ease}.feedback-container.is-fading-out{opacity:0}.feedback-text{margin:0;opacity:0;transition:opacity .4s ease-in-out,color .4s ease}.feedback-text.visible{opacity:.85}.feedback-error{font-size:.95rem;color:#c94f4f}.input-group{position:relative;display:block;width:100%;margin:1.5rem 0 2.5rem}.input-diegetic{display:block;box-sizing:border-box;width:100%;background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.08);border-radius:0;padding:.5rem 2rem;text-align:center;font-family:Space Mono,monospace;font-size:1.25rem;letter-spacing:.4em;color:#333;outline:none;transition:border-color .6s ease,color .6s ease}.input-diegetic::placeholder{color:#0000001f;letter-spacing:.4em}.input-diegetic:focus{border-bottom-color:#b8b8b8;color:#1a1a1a}.toggle-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#b8b8b8;opacity:.3;cursor:pointer;padding:.5rem;transition:opacity .5s ease,color .5s ease;display:flex;align-items:center}.toggle-btn:hover{opacity:.8;color:#1a1a1a}.action-btn{background:transparent;border:none;cursor:pointer;padding:.25rem 0;position:relative;outline:none;text-decoration:none}.action-btn:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:1px;background:#b8b8b8;transition:width .6s ease-in-out,left .6s ease-in-out}.action-btn:hover:after,.action-btn:focus-visible:after{width:100%;left:0}.sr-only-btn{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.error-shake{animation:ink-tremor .8s ease-in-out both}@keyframes ink-tremor{0%,to{transform:translate(0)}20%,60%{transform:translate(-2px)}40%,80%{transform:translate(2px)}}.reveal-ink{opacity:0;animation:reveal-sequence .8s ease-in-out forwards}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.45s}@keyframes reveal-sequence{0%{opacity:0;transform:translateY(6px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.breathe-text{animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{opacity:0}50%{opacity:.9}}
