*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#192a3e 0,transparent 45%),#080d17;color:#edf3f7;font-family:system-ui,-apple-system,sans-serif;font-size:16px}main{max-width:720px;margin:auto;padding:max(24px,env(safe-area-inset-top)) 20px max(30px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#9baec0}a{color:#b9dfdc;text-decoration:none}h1{font-size:clamp(26px,6vw,38px);margin:10px 0}h2{font-size:22px}.intro{text-align:center;padding:28px 0 20px}.intro>p{color:#9baec0}.eyebrow{font-size:11px;letter-spacing:4px}.orb{margin:0 auto 22px;display:flex;justify-content:center;align-items:center;gap:15px;width:110px;height:110px;border:1px solid #658e94;border-radius:50%;box-shadow:0 0 65px #7ae3ca18;font-size:25px}.orb span{font-size:17px;color:#9eccc4}.card{margin:16px 0;padding:22px;border:1px solid #293544;border-radius:22px;background:#111b28cc;box-shadow:0 10px 30px #0002}label{display:block;margin-bottom:10px;font-size:14px}button,select,input,textarea{font:inherit}button{border:1px solid #405460;border-radius:13px;background:#1b2b3b;color:#e7eff6;padding:14px 18px;cursor:pointer;min-height:48px}button:disabled{opacity:.4;cursor:default}button.primary{background:#bce5d8;color:#102c2b;border-color:#bce5d8;font-weight:700;flex:1}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #bce5d8;outline-offset:3px}select,textarea,input[type=password]{background:#09121e;color:#f0f4fa;border:1px solid #405460;border-radius:12px;width:100%;padding:13px;margin-bottom:12px}textarea{resize:vertical}.mic-row{display:flex;gap:10px;margin:12px 0}.mic-row button{flex:1}.check{display:flex;gap:10px;align-items:flex-start;margin:16px 0;line-height:1.6}.check input{width:20px;height:20px;flex-shrink:0;accent-color:#a7dfcb}.hint,footer{font-size:12px;color:#91a3b5;line-height:1.8}#status{color:#a8dfcf;line-height:1.7}.caption{color:#91a3b5;font-size:12px;margin-top:10px}.output p{font-size:21px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}#translation{color:#c7f3e3}summary{cursor:pointer;font-weight:600;padding:4px 0}details p{font-size:14px;line-height:1.8}details form{padding-top:20px}footer{text-align:center;margin-top:28px}[hidden]{display:none!important}#loginError{color:#ffb7b7}.recording{animation:pulse 1.5s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px #bce5d811}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}