:root{--bg0:#070a12;--bg1:#0b1020;--panel:#ffffff0f;--panel-strong:#ffffff1a;--border:#ffffff1f;--text:#ffffffeb;--muted:#ffffffb3;--shadow:0 18px 60px #00000073;--radius:18px;--btn-bg:#ffffff0f;--btn-bg-hover:#ffffff1a;--btn-border:#ffffff24;--btn-text:#ffffffe6;--btn-disabled:#ffffff59}*,:before,:after{box-sizing:border-box}html,body{height:100%}body.appBody{color:var(--text);background:radial-gradient(1200px 600px at 20% 0%,#7862ff2e,transparent 55%),radial-gradient(900px 500px at 80% 10%,#00d4ff1a,transparent 50%),linear-gradient(180deg,var(--bg0),var(--bg1));margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.appBg{pointer-events:none;opacity:.8;position:fixed;inset:0}.appShell{place-items:center;min-height:100vh;padding:18px;display:grid}.appShell>*{width:min(1100px,100%)}.authShell{place-items:center;min-height:100vh;padding:18px;display:grid}.authShell>*{width:min(520px,100%)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}::selection{background:#7862ff59}input,select,textarea{font:inherit;color:var(--text);border:1px solid var(--btn-border);background:#ffffff0f;border-radius:12px;outline:none;padding:12px}input::placeholder,textarea::placeholder{color:#ffffff8c}:focus-visible{outline-offset:2px;border-radius:12px;outline:2px solid #7862ff8c}input:focus,textarea:focus,select:focus{border-color:#7862ff8c;box-shadow:0 0 0 4px #7862ff2e}button{font:inherit;color:inherit}.btn{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--btn-text);cursor:pointer;border-radius:12px;padding:12px;font-weight:800;transition:transform .12s,background .12s,border-color .12s}.btn:hover{background:var(--btn-bg-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.glass{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}@keyframes navDrawerIn{0%{opacity:.6;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.authInput{width:100%}
