.account-form{display:grid;gap:12px}.account-mode{display:inline-flex;gap:6px;margin-bottom:18px}.auth-modal button,.auth-modal input{border:1px solid #2b313b;border-radius:7px;padding:7px 9px;background:#0c1017;color:#d7dde5;font:inherit}.auth-modal input{width:100%}.auth-modal button.active{border-color:#d7dde5}.auth-modal button:disabled{color:#7d8590}.auth-modal-overlay{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#010409b8}.auth-modal{width:min(420px,100%);border:1px solid #2b313b;border-radius:8px;padding:22px;background:#0c1017;box-shadow:0 22px 60px #00000070}.auth-modal-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.auth-modal-head p,.auth-modal-head h1,.auth-context,.auth-message,.auth-error{margin:0}.auth-modal-head p,.auth-context,.auth-message{color:#7d8590}.auth-modal-head h1{margin-top:4px;color:#f0f6fc;font-size:22px}.auth-context{margin:12px 0;line-height:1.4}.auth-message,.auth-error{margin:12px 0;border:1px solid #2b313b;border-radius:7px;padding:9px 10px;line-height:1.4}.auth-message{background:#58a6ff14;color:#9ecbff}.auth-error{background:#f0883e14;color:#ffab70}.password-requirement{margin:0;color:#ffab70;font-size:12px;line-height:1.4}.terminal-shell{--terminal-inline-padding: 28px;--terminal-glow-duration: .5s;display:grid;gap:10px;width:100%}.terminal-output-window,.terminal-input-window{position:relative;border:1px solid #30363d;border-radius:2px;background:linear-gradient(rgba(88,166,255,.04),transparent),#020409;overflow:hidden;transition:border-color .18s ease,box-shadow .22s ease}.terminal-output-window{display:grid;grid-template-rows:repeat(12,18px);align-content:end;width:100%;min-height:248px;padding:16px var(--terminal-inline-padding);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:18px;letter-spacing:0;color:#d7dde5}.terminal-input-window{display:block;width:100%;min-height:52px;padding:16px var(--terminal-inline-padding);cursor:text;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:18px;color:#d7dde5}.terminal-shell:focus-within .terminal-input-window{border-color:#8b949e}.terminal-shell.success-flash .terminal-input-window{animation:success-border-flash var(--terminal-glow-duration) ease-out}.terminal-shell.fail-flash .terminal-input-window{animation:failure-border-flash var(--terminal-glow-duration) ease-out}@keyframes success-border-flash{0%,84%{border-color:#3fb950;box-shadow:0 0 0 3px #3fb9503d,0 0 22px #3fb9502e}to{border-color:#2b313b;box-shadow:none}}@keyframes failure-border-flash{0%,84%{border-color:#f85149;box-shadow:0 0 0 3px #f8514938,0 0 22px #f8514929}to{border-color:#2b313b;box-shadow:none}}@media(prefers-reduced-motion:reduce){.terminal-shell{--terminal-glow-duration: 1ms}}.terminal-grid-line{min-width:0;height:18px;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.terminal-grid-line.blank{color:transparent}.terminal-grid-line.placeholder{color:#59636f}.terminal-grid-line.command{display:flex;align-items:center;gap:0}.terminal-prompt{flex:0 0 auto;margin-right:8px;color:#3fb950}.terminal-typed-text{flex:0 0 auto}.terminal-placeholder-text{margin-left:1ch;color:#59636f}.terminal-cursor{flex:0 0 auto;width:8px;height:16px;background:#d7dde5;animation:terminal-cursor-blink 1s steps(2,start) infinite}.terminal-cursor.solid{animation:none;opacity:1}@keyframes terminal-cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}.study-form .terminal-input-window input,.landing-terminal .terminal-input-window input{position:absolute;width:1px;height:1px;border:0;padding:0;background:transparent;color:transparent;font-size:1px;outline:0;opacity:0}.study-form input{width:100%;border:0;padding:0;background:transparent;color:#f0f6fc;font-size:22px;outline:0}.study-form input::placeholder{color:#59636f}:root{color:#d7dde5;background:#07090d;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),#07090d;background-size:28px 28px}button,input{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
