.login{position:fixed;inset:0;display:grid;place-items:center;padding:calc(24px + var(--safe-t)) 24px calc(24px + var(--safe-b));background:radial-gradient(110% 70% at 50% 36%,#1a1a1d,#000 60%);overflow-y:auto}.login.overlay{z-index:9}.login-form{display:grid;gap:16px;width:min(22rem,100%)}.login-form h1{margin-bottom:8px;font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.01em;text-align:center}.login-field{display:grid;gap:6px;color:var(--mute);font-size:14px}.login-field input{width:100%;min-height:52px;padding:0 16px;border:1px solid var(--faint);border-radius:14px;background:#0b0b0c;color:var(--ink);font:inherit;font-size:17px;user-select:text}.login-field input:focus{outline:none;border-color:var(--ink)}.login-field input:disabled{opacity:.6}.login-error{color:var(--alert);font-size:15px;text-align:center}.login-submit{width:100%;margin-top:8px}.login-note{margin-top:-8px;color:var(--mute);font-size:15px;text-align:center}.toasts{position:fixed;top:calc(72px + var(--safe-t));left:0;right:0;z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;pointer-events:none}.toast{max-width:24rem;padding:10px 16px;border-radius:14px;background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-size:15px;text-align:center;animation:pop .18s ease-out}:root{--black: #000;--ink: #f4f4f1;--mute: rgba(244, 244, 241, .62);--faint: rgba(244, 244, 241, .14);--glass: rgba(26, 26, 28, .5);--glass-strong: rgba(24, 24, 26, .88);--amber: #ffb020;--alert: #ff6a5c;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0}html,body{height:100%;background:var(--black);color:var(--ink);font:400 16px/1.45 var(--font);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none}#root{height:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.btn-primary{min-height:52px;padding:0 28px;border-radius:999px;background:var(--ink);color:#000;font-size:17px;font-weight:600;transition:transform .12s ease-out,opacity .2s}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-secondary{min-height:44px;padding:0 18px;border-radius:999px;background:var(--faint);font-size:15px;font-weight:600}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(-6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn-ghost{min-height:52px;padding:0 20px;border-radius:999px;background:var(--faint);font-size:17px;font-weight:600}.btn-danger{min-height:52px;padding:0 20px;border-radius:999px;background:var(--alert);color:#000;font-size:17px;font-weight:600}.btn-ghost:disabled,.btn-danger:disabled{opacity:.55;cursor:default}.app-shell{display:contents}.load-failed{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.load-failed h1{font-size:24px;font-weight:600}.load-failed p{margin-bottom:16px;color:var(--mute)}
