@font-face{font-family:"JetBrains Mono";src:url("/assets/jetbrains-mono-cyrillic.woff2") format("woff2");font-style:normal;font-weight:100 800;font-display:swap;unicode-range:U+0400-04FF,U+0500-052F,U+20B4}
@font-face{font-family:"JetBrains Mono";src:url("/assets/jetbrains-mono-latin.woff2") format("woff2");font-style:normal;font-weight:100 800;font-display:swap;unicode-range:U+0000-03FF,U+2000-20B3,U+20B5-2FFF}
:root{color-scheme:dark;--ink:#050810;--panel:#0c1220;--raised:#141c2c;--line:#283246;--text:#ecebe5;--muted:#939daf;--amber:#ffb800;--red:#ff6b67;--mint:#59deb0;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100dvh;overflow-x:hidden;font:16px/1.6 var(--font-mono);color:var(--text);background:radial-gradient(circle at 15% 10%,rgba(255,184,0,.07),transparent 32rem),var(--ink);-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}[hidden]{display:none!important}
.scanlines{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.035;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,var(--text) 3px)}
.login-layout{position:relative;z-index:1;display:grid;min-height:100dvh}
.login-story,.login-access{padding:28px max(20px,env(safe-area-inset-right)) 28px max(20px,env(safe-area-inset-left))}
.login-story{display:flex;min-height:42dvh;flex-direction:column;justify-content:space-between;gap:48px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(255,184,0,.035),transparent 60%)}
.brand{display:flex;align-items:center;gap:12px}.brand-name{font-size:14px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.brand-name span{color:var(--amber);font-weight:500}
.grid-mark{display:grid;grid-template-columns:repeat(3,4px);grid-template-rows:repeat(3,4px);gap:3px}.grid-mark i{width:4px;height:4px;background:var(--amber)}
.story-copy{max-width:650px}.section-label{margin-bottom:12px;color:var(--amber);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
h1{font-size:clamp(32px,8vw,60px);font-weight:500;line-height:1.12;letter-spacing:-.055em;text-wrap:balance}h1 span{color:var(--muted);font-weight:350}.story-copy>p:last-child{max-width:60ch;margin-top:24px;color:var(--muted);font-size:13px;line-height:1.8}
.story-status{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.08em}.story-status span{display:flex;align-items:center;gap:8px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px rgba(89,222,176,.5)}
.login-access{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;background:rgba(12,18,32,.42)}
.login-box{width:100%;max-width:440px}.access-mark{display:flex;width:48px;height:48px;align-items:center;justify-content:center;margin-bottom:28px;border:1px solid rgba(255,184,0,.35);color:var(--amber);background:rgba(255,184,0,.05)}.access-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
h2{font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.035em}.login-intro{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.75}
form{margin-top:32px}form>label{display:block;margin-bottom:9px;color:var(--text);font-size:12px;font-weight:550}.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:3px;background:var(--ink);transition:border-color .15s ease-out,box-shadow .15s ease-out}.password-field:focus-within{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,184,0,.08)}
input{width:100%;min-width:0;min-height:54px;padding:12px 14px;border:0;outline:0;background:transparent;color:var(--text);font-size:16px;caret-color:var(--amber)}input:focus-visible{outline:0}input::placeholder{color:var(--muted)}
.password-field button{min-height:44px;margin-right:4px;padding:8px 10px;border:0;background:transparent;color:var(--muted);font-size:11px}.password-field button:hover{color:var(--amber)}.password-field button[aria-pressed=true]{color:var(--amber)}
.field-hint,.caps-lock{display:block;margin-top:8px;color:var(--muted);font-size:10px}.caps-lock{color:var(--amber)}
.login-error{margin-top:16px;padding:12px 14px;border-left:2px solid var(--red);background:rgba(255,107,103,.07);color:#ff9a97;font-size:12px;line-height:1.6}
.submit-button{display:flex;width:100%;min-height:52px;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding:12px 16px;border:1px solid var(--amber);border-radius:3px;background:var(--amber);color:var(--ink);font-size:13px;font-weight:700;transition:background-color .15s ease-out,transform .15s ease-out}.submit-button:hover{background:#ffc533}.submit-button:active{transform:scale(.985)}.submit-button:disabled{cursor:wait;opacity:.65}.submit-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.submit-button.is-loading svg{animation:slide 1s ease-in-out infinite}@keyframes slide{50%{transform:translateX(4px);opacity:.45}}
.security-note{display:flex;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.75}.tiny-cross{flex:0 0 auto;color:var(--amber);font-size:20px;line-height:1.2}.access-footer{color:var(--muted);font-size:10px;letter-spacing:.08em;text-align:center}
@media(min-width:900px){.login-layout{grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr)}.login-story{min-height:100dvh;padding:44px 48px 36px;border-right:1px solid var(--line);border-bottom:0}.login-access{padding:48px}.story-copy{margin:auto 0}.access-footer{margin-top:auto}.login-box{margin-top:auto}}
@media(min-width:1400px){.login-story{padding:56px 72px 44px}.login-access{padding:72px}.story-copy>p:last-child{font-size:14px}}
@media(max-width:430px){.login-story{min-height:37dvh;gap:36px;padding-top:22px;padding-bottom:24px}.story-copy>p:last-child{margin-top:18px;font-size:12px}.story-status{display:none}.login-access{justify-content:flex-start;gap:28px;padding-top:32px;padding-bottom:24px}.access-mark{margin-bottom:22px}form{margin-top:26px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
