:root { color-scheme:dark; font-family:Inter,ui-sans-serif,system-ui,sans-serif; color:#eaf5fa; background:#060a12; }
* { box-sizing:border-box; }
body.account-page { margin:0; min-height:100vh; overflow:auto; background:radial-gradient(ellipse at 25% 0%,#173047 0%,#090f1a 52%); }
.account-card,.settings-card { width:min(100% - 40px,480px); margin:10vh auto; padding:32px; border:1px solid #304359; border-radius:22px; background:#0b1320; box-shadow:0 24px 80px #0005; }
.settings-card { width:min(100% - 32px,760px); margin:32px auto; }
h1 { font-size:clamp(28px,4vw,38px); letter-spacing:-.04em; line-height:1.15; }
h2 { font-size:20px; }
p { line-height:1.65; color:#becdda; }
a { color:#a6e9df; text-underline-offset:4px; }
.eyebrow { font-size:11px; font-weight:700; letter-spacing:.18em; color:#8edace; }
.quiet { color:#91a6b8; font-size:13px; }
label { display:block; margin:20px 0 8px; font-size:14px; }
input,select,textarea { width:100%; padding:13px; border:1px solid #40546b; border-radius:9px; color:#f1f7fa; background:#101e2e; font:inherit; }
textarea { resize:vertical; line-height:1.5; }
button { cursor:pointer; font:inherit; font-weight:600; padding:12px 18px; min-height:44px; border:1px solid #9de3d8; border-radius:10px; color:#071a21; background:#a4e5d9; }
button:disabled { opacity:.45; cursor:default; }
form>button { margin-top:24px; }
.secondary { color:#cbdde9; background:transparent; border-color:#4b6278; }
.error { color:#ffb7af; }
section { margin:30px 0; }
.form-actions { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.platform-nav { position:absolute; z-index:5; top:24px; left:28px; right:28px; display:flex; align-items:center; justify-content:space-between; color:#bed5df; font-size:14px; }
.platform-nav a { padding:10px 14px; border:1px solid #3d5769; border-radius:20px; text-decoration:none; background:#07111ccc; }
.voice-controls { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; pointer-events:auto; }
.voice-controls button { padding:9px 14px; font-size:13px; border-radius:20px; }
.voice-controls button:not(:first-child) { background:#0c1c2bd9; color:#bde7ea; border-color:#34596b; }
body:not(.account-page) #companion-state { pointer-events:auto; gap:14px; }
#voice-notice { max-width:620px; margin:0; color:#ffb7af; font-size:13px; }
:focus-visible { outline:3px solid #94caff; outline-offset:4px; }
@media(max-width:520px) { .account-card { margin:6vh auto; padding:24px; } .settings-card { padding:20px; } .platform-nav { top:12px; left:16px; right:16px; } }
