:root{--brand-grad: linear-gradient(135deg, #00c875 0%, #00b4d8 100%);--brand-green: #00c875;--brand-aqua: #00b4d8;--brand-green-deep: #008f53;--brand-aqua-deep: #0086a3;--aurora-mint: #b8f3d7;--aurora-sky: #c5e9ff;--aurora-lavender: #dcd2ff;--aurora-peach: #ffe2ee;--bg-base: #fafbff;--bg-tint-a: #f4f1ff;--bg-tint-b: #ecf7ff;--bg-tint-c: #effdf6;--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .86);--surface-elevated: rgba(255, 255, 255, .94);--surface-quiet: rgba(255, 255, 255, .55);--border-soft: rgba(15, 23, 42, .06);--border-strong: rgba(15, 23, 42, .12);--border-glass: rgba(255, 255, 255, .85);--text: #0b1f15;--text-strong: #061a10;--text-soft: #3f5568;--text-muted: #4a5b6e;--text-faint: #6b7c8d;--shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -8px rgba(0, 107, 63, .08), 0 24px 60px -22px rgba(0, 180, 216, .12), inset 0 1px 0 rgba(255, 255, 255, .95);--shadow-lg: 0 1px 2px rgba(15, 23, 42, .05), 0 12px 32px -10px rgba(0, 107, 63, .12), 0 30px 80px -24px rgba(0, 180, 216, .18), inset 0 1px 0 rgba(255, 255, 255, 1);--shadow-orb: 0 24px 60px -16px rgba(0, 200, 117, .28), 0 12px 32px -10px rgba(122, 92, 255, .18), 0 4px 16px -4px rgba(15, 23, 42, .08);--radius-card: 24px;--radius-pill: 999px;--radius-md: 14px;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;height:100%;color:var(--text);background:var(--bg-base);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{background:linear-gradient(160deg,var(--bg-base) 0%,var(--bg-tint-a) 35%,var(--bg-tint-b) 70%,var(--bg-tint-c) 100%)}#app{min-height:100dvh;height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}.aurora-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.aurora{position:absolute;border-radius:50%;filter:blur(90px) saturate(140%);opacity:.55;will-change:transform,opacity}.aurora-a{width:70vmax;height:70vmax;left:-20vmax;top:-25vmax;background:radial-gradient(closest-side,var(--aurora-lavender) 0%,transparent 70%);opacity:.65;animation:aurora-drift-a 22s ease-in-out infinite alternate}.aurora-b{width:60vmax;height:60vmax;right:-15vmax;top:10vmax;background:radial-gradient(closest-side,var(--aurora-sky) 0%,transparent 70%);opacity:.7;animation:aurora-drift-b 26s ease-in-out infinite alternate}.aurora-c{width:50vmax;height:50vmax;left:20vmax;bottom:-20vmax;background:radial-gradient(closest-side,var(--aurora-peach) 0%,transparent 70%);opacity:.55;animation:aurora-drift-c 30s ease-in-out infinite alternate}.aurora-d{width:55vmax;height:55vmax;right:-10vmax;bottom:-20vmax;background:radial-gradient(closest-side,var(--aurora-mint) 0%,transparent 70%);opacity:.55;animation:aurora-drift-d 28s ease-in-out infinite alternate}.grain{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,107,63,.08) 1px,transparent 1px);background-size:24px 24px;opacity:.45;-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 80%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 80%);pointer-events:none}@keyframes aurora-drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(8vmax,4vmax) scale(1.08)}}@keyframes aurora-drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-6vmax,6vmax) scale(1.1)}}@keyframes aurora-drift-c{0%{transform:translate(0) scale(1)}to{transform:translate(6vmax,-8vmax) scale(1.06)}}@keyframes aurora-drift-d{0%{transform:translate(0) scale(1)}to{transform:translate(-8vmax,-4vmax) scale(1.12)}}.glass{background:var(--surface);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.login-stage{position:relative;flex:1;display:grid;place-items:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.login-card{position:relative;z-index:1;width:min(420px,100%);padding:36px 30px 28px;display:flex;flex-direction:column;gap:18px;background:var(--surface-elevated);box-shadow:var(--shadow-lg);animation:card-in .7s var(--ease) both}.card-glow{position:absolute;inset:-2px;border-radius:calc(var(--radius-card) + 2px);background:var(--brand-grad);opacity:.22;filter:blur(22px);z-index:-1;animation:card-glow-pulse 6s ease-in-out infinite;pointer-events:none}@keyframes card-glow-pulse{0%,to{opacity:.16}50%{opacity:.32}}@keyframes card-in{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px}.brand-mark{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}.brand-title{margin:0;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.1;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-sub{margin:0;font-size:13px;color:var(--text-soft)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}.field input,.field .select{height:46px;padding:0 14px;border-radius:12px;background:#f8fafccc;border:1.5px solid rgba(226,232,240,.9);color:var(--text-strong);font-size:15px;outline:none;transition:border-color .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease)}.field input::placeholder{color:var(--text-faint)}.field input:focus,.field .select:focus{border-color:var(--brand-green);background:#fff;box-shadow:0 0 0 4px #00c87524}.select-wrap{position:relative}.select{width:100%;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-soft) 50%),linear-gradient(135deg,var(--text-soft) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.submit{position:relative;margin-top:6px;height:50px;border-radius:14px;border:0;background:var(--brand-grad);color:#fff;font-weight:700;font-size:15px;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;overflow:hidden;box-shadow:0 12px 36px -10px #00c8758c,0 6px 16px -6px #00b4d873,inset 0 1px #fff6;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 40px -10px #00c87599,0 8px 20px -6px #00b4d880,inset 0 1px #ffffff73}.submit:active:not(:disabled){transform:translateY(0) scale(.98)}.submit:focus-visible{outline:none;box-shadow:0 0 0 4px #00c87547,0 12px 36px -10px #00c8758c,inset 0 1px #fff6}.submit:disabled{cursor:progress;opacity:.7}.submit.is-busy .submit-label{opacity:.6}.submit-arrow{transition:transform .3s var(--ease)}.submit:hover:not(:disabled) .submit-arrow{transform:translate(4px)}.submit-shimmer{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skew(-20deg);transition:left .7s var(--ease);pointer-events:none}.submit:hover:not(:disabled) .submit-shimmer{left:130%}.err-toast{padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;color:#b91c1c;font-size:13px;font-weight:500;animation:card-in .35s var(--ease) both}.login-footer{margin:4px 0 0;font-size:11px;letter-spacing:.05em;color:var(--text-faint);text-align:center}.stage{position:relative;z-index:0;flex:1;display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.top{position:relative;z-index:2;padding:14px 22px 6px;display:flex;align-items:center;justify-content:space-between}.top-brand{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft)}.brand-sep{color:var(--text-faint)}.brand-title-sm{font-weight:700;color:var(--text-strong);letter-spacing:.22em}.top-actions{display:flex;gap:8px;align-items:center}.icon-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:var(--radius-pill);background:#ffffffb3;border:1px solid var(--border-soft);color:var(--text-strong);font-size:13px;font-weight:500;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 1px 2px #0f172a0a,0 4px 12px -4px #0f172a0f;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.icon-btn:hover{background:#ffffffeb;border-color:var(--border-strong);box-shadow:0 1px 2px #0f172a0d,0 8px 20px -6px #006b3f1f}.icon-btn:focus-visible{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 4px #00c8752e,0 4px 12px -4px #0f172a14}.icon-btn:active{transform:scale(.96)}.icon-btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.icon-btn.ghost:hover{background:#0f172a0d;border-color:transparent;box-shadow:none}.icon-btn-square{width:44px;padding:0;justify-content:center}.stop-square{display:inline-block;width:10px;height:10px;border-radius:2px;background:#ef4444;box-shadow:0 0 12px #ef444480}#muteBtn.is-muted{background:#ef44441f;border-color:#ef44444d;color:#b91c1c}#muteBtn.is-muted svg{stroke:#b91c1c}.hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:8px 20px 12px;min-height:320px}.orb-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px}.orb{--orb-level: 0;--orb-size: clamp(200px, 38vmin, 280px);position:relative;width:var(--orb-size);height:var(--orb-size);border-radius:50%;background:transparent;border:0;padding:0;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;transform:scale(calc(1 + var(--orb-level) * .12));transition:transform 90ms linear,filter .4s var(--ease);will-change:transform;filter:drop-shadow(0 18px 28px rgba(0,107,63,.18)) drop-shadow(0 8px 16px rgba(122,92,255,.12))}.orb:focus-visible{filter:drop-shadow(0 18px 28px rgba(0,107,63,.22)) drop-shadow(0 0 0 3px rgba(0,200,117,.35))}.orb.is-pressing{filter:drop-shadow(0 20px 32px rgba(0,200,117,.32)) drop-shadow(0 0 60px rgba(0,180,216,.45))}.orb[data-mode=ptt]{touch-action:none;-webkit-user-select:none;user-select:none}.orb>span{position:absolute;inset:0;border-radius:50%;pointer-events:none}.orb-glow{filter:blur(32px);opacity:.6;background:conic-gradient(from 0deg,var(--aurora-lavender),var(--aurora-sky),var(--aurora-mint),var(--aurora-peach),var(--aurora-lavender));animation:orb-glow-rotate 18s linear infinite;transform:scale(calc(1.22 + var(--orb-level) * .2));transition:transform .12s linear}.orb-ring{border:1.5px solid rgba(255,255,255,.85);box-shadow:inset 0 0 40px #ffffff73,inset 0 0 90px #00b4d814,0 1px 2px #0f172a0f;transform:scale(calc(1 + var(--orb-level) * .05));transition:transform .12s linear}.orb-core{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0%,transparent 38%),radial-gradient(circle at 70% 78%,rgba(0,180,216,.55) 0%,transparent 55%),radial-gradient(circle at 30% 75%,rgba(122,92,255,.35) 0%,transparent 60%),radial-gradient(circle at 65% 25%,rgba(255,220,240,.45) 0%,transparent 55%),radial-gradient(circle at 50% 50%,#fff,#e8f8f0 55%,#d0eaff);box-shadow:inset 0 0 50px #ffffff8c,inset 0 -22px 70px #006b3f2e,inset 0 18px 40px #ffffffb3;animation:orb-breath 4.2s ease-in-out infinite}.orb-shimmer{background:conic-gradient(from 220deg,transparent 0deg,rgba(255,255,255,.75) 50deg,transparent 110deg,rgba(0,180,216,.22) 220deg,transparent 330deg);opacity:.4;animation:orb-shimmer-rotate 9s linear infinite}.orb-highlight{background:radial-gradient(ellipse at 30% 22%,#ffffffd9,#fff0 38%)}@keyframes orb-breath{0%,to{transform:scale(.97);filter:brightness(.98)}50%{transform:scale(1.03);filter:brightness(1.06)}}@keyframes orb-glow-rotate{0%{transform:scale(1.22) rotate(0)}to{transform:scale(1.22) rotate(360deg)}}@keyframes orb-shimmer-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb[data-state=listening]{filter:drop-shadow(0 18px 30px rgba(0,180,216,.32)) drop-shadow(0 0 40px rgba(0,200,117,.28))}.orb[data-state=listening] .orb-glow{animation-duration:6s;opacity:.9;background:conic-gradient(from 0deg,var(--aurora-sky),var(--aurora-mint),var(--aurora-sky),var(--aurora-mint),var(--aurora-sky))}.orb[data-state=listening] .orb-core{animation:orb-breath 1.6s ease-in-out infinite;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.98) 0%,transparent 40%),radial-gradient(circle at 60% 70%,rgba(0,200,117,.45) 0%,transparent 60%),radial-gradient(circle at 50% 50%,#fff,#e8f8f0 60%,#c5e9ff)}.orb[data-state=thinking]{filter:drop-shadow(0 18px 30px rgba(122,92,255,.35)) drop-shadow(0 0 40px rgba(122,92,255,.22))}.orb[data-state=thinking] .orb-glow{animation-duration:3s;background:conic-gradient(from 0deg,var(--aurora-lavender),var(--aurora-sky),var(--aurora-lavender),var(--aurora-mint),var(--aurora-lavender))}.orb[data-state=thinking] .orb-core{animation:orb-think-spin 2.4s linear infinite}.orb[data-state=thinking] .orb-shimmer{animation-duration:1.6s;opacity:.65}@keyframes orb-think-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.04)}to{transform:rotate(360deg) scale(1)}}.orb[data-state=speaking]{filter:drop-shadow(0 20px 32px rgba(245,158,11,.22)) drop-shadow(0 0 44px rgba(0,200,117,.28))}.orb[data-state=speaking] .orb-glow{animation-duration:8s;opacity:.85;background:conic-gradient(from 0deg,var(--aurora-peach),var(--aurora-mint),var(--aurora-sky),var(--aurora-peach),var(--aurora-mint))}.orb[data-state=speaking] .orb-core{animation:orb-breath 2s ease-in-out infinite;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0%,transparent 40%),radial-gradient(circle at 70% 65%,rgba(245,158,11,.35) 0%,transparent 55%),radial-gradient(circle at 30% 70%,rgba(0,200,117,.4) 0%,transparent 60%),radial-gradient(circle at 50% 50%,#fff,#fff5e8 55%,#e8f8f0)}.orb[data-state=error]{filter:drop-shadow(0 18px 30px rgba(239,68,68,.32));animation:orb-shake .5s ease-in-out}.orb[data-state=error] .orb-core{background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.9) 0%,transparent 40%),radial-gradient(circle at 50% 50%,#fee2e2,#fca5a5 80%)}@keyframes orb-shake{0%,to{transform:scale(1) translate(0)}25%{transform:scale(1.02) translate(-4px)}75%{transform:scale(1.02) translate(4px)}}.orb-status{margin:0;font-size:13px;letter-spacing:.02em;color:var(--text-soft);min-height:18px;text-align:center;transition:color .2s var(--ease);animation:status-fade .24s var(--ease) both}@keyframes status-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.transcript-shell{position:relative;z-index:1;margin:0 16px 8px;padding:14px;max-height:min(46vh,460px);display:flex;overflow:hidden}.transcript{flex:1;display:flex;flex-direction:column;min-height:0}.transcript-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:6px 6px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent;mask-image:linear-gradient(to bottom,transparent 0,black 14px,black calc(100% - 4px),transparent 100%)}.transcript-list::-webkit-scrollbar{width:6px}.transcript-list::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:3px}.bubble{max-width:88%;padding:10px 14px;border-radius:18px;line-height:1.45;font-size:14.5px;display:flex;flex-direction:column;gap:3px;word-wrap:break-word;white-space:pre-wrap;animation:bubble-in .36s var(--ease) both}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.bubble-role{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.bubble-body{color:var(--text-strong)}.bubble-body.is-streaming:after{content:"▍";margin-left:2px;color:var(--brand-green);animation:cursor-blink .9s ease-in-out infinite}@keyframes cursor-blink{0%,to{opacity:.2}50%{opacity:1}}.bubble-you{align-self:flex-end;background:#f1f5f9d9;border:1px solid rgba(15,23,42,.06);border-bottom-right-radius:6px;box-shadow:0 1px 2px #0f172a0a}.bubble-you .bubble-role{color:var(--text-soft);text-align:right}.bubble-jarvis{align-self:flex-start;background:linear-gradient(135deg,#dcd2ff8c,#b8f3d78c);border:1px solid rgba(0,180,216,.22);border-bottom-left-radius:6px;box-shadow:0 1px 2px #0f172a0a,0 8px 24px -10px #00b4d838}.bubble-jarvis .bubble-role{color:var(--brand-aqua-deep)}.bubble-jarvis .bubble-body{color:var(--text-strong)}.bubble-system{align-self:center;background:#ffffff8c;border:1px solid var(--border-soft);color:var(--text-muted);font-size:12px}.bubble-system .bubble-body{color:var(--text-muted)}.bubble-error,.bubble-error.bubble-jarvis{align-self:flex-start;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;box-shadow:0 6px 20px -10px #ef44444d}.bubble-error .bubble-role{color:#b91c1c}.bubble-error .bubble-body{color:#991b1b}.settings-panel{position:fixed;inset:0;z-index:100;background:#0f172a2e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:flex-end;justify-content:center;padding:18px;padding-bottom:max(18px,env(safe-area-inset-bottom));opacity:0;transition:opacity .22s var(--ease)}@media (min-width: 600px){.settings-panel{align-items:center}}.settings-panel.is-open{opacity:1}.settings-card{width:min(420px,100%);padding:22px;display:flex;flex-direction:column;gap:16px;background:var(--surface-elevated);box-shadow:var(--shadow-lg);transform:translateY(20px);transition:transform .24s var(--ease-spring)}.settings-panel.is-open .settings-card{transform:translateY(0)}.settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.settings-head h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text-strong)}.settings-divider{height:1px;background:var(--border-soft);margin:4px 0}.settings-section{display:flex;flex-direction:column;gap:12px}.settings-section.settings-actions{gap:8px}.settings-section-title{margin:0;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.toggle-row-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.toggle-row-body .field-label{color:var(--text-strong);text-transform:none;letter-spacing:0;font-size:14px;font-weight:500}.field-hint{font-size:12px;color:var(--text-muted);letter-spacing:0;text-transform:none;font-weight:400;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.toggle{position:relative;display:inline-block;flex-shrink:0}.toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.toggle-track{display:block;width:44px;height:26px;border-radius:999px;background:#0f172a1f;border:1px solid transparent;position:relative;transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a1a,0 2px 4px #0f172a14;transition:transform .22s var(--ease-spring),background .2s var(--ease)}.toggle input:checked+.toggle-track{background:var(--brand-grad);border-color:transparent;box-shadow:0 4px 12px -4px #00c87566,inset 0 1px #ffffff4d}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:none;box-shadow:0 0 0 4px #00c8752e,0 4px 12px -4px #00c8754d}.ghost-btn{height:42px;border-radius:12px;background:#f8fafcd9;border:1px solid var(--border-soft);color:var(--text-strong);cursor:pointer;font-size:14px;font-weight:500;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.ghost-btn:hover{background:#fff;border-color:var(--border-strong);box-shadow:0 4px 12px -4px #0f172a1a}.ghost-btn:focus-visible{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 4px #00c8752e}.ghost-btn:active{transform:scale(.98)}.ghost-btn.danger{color:#b91c1c;background:#fef2f2b3;border-color:#f8717166}.ghost-btn.danger:hover{background:#fee2e2e6;border-color:#f87171b3;box-shadow:0 4px 12px -4px #ef444433}.ghost-btn.danger:focus-visible{border-color:#ef4444;box-shadow:0 0 0 4px #ef44442e}.password-form{display:flex;flex-direction:column;gap:12px}.password-form .field input{font-size:16px}.password-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.password-row .ghost-btn{flex:0 0 auto;padding:0 18px}.password-status{font-size:12px;line-height:1.4;color:var(--text-muted);min-height:16px;flex:1 1 auto}.password-status.is-ok{color:var(--brand-green)}.password-status.is-err{color:#b91c1c}@media (prefers-reduced-motion: reduce){.aurora,.orb-glow,.orb-shimmer,.orb-core,.card-glow{animation:none!important}.orb{transition:transform .12s linear}}.toast{position:fixed;left:50%;bottom:max(70px,calc(env(safe-area-inset-bottom) + 56px));transform:translate(-50%,16px);z-index:90;max-width:min(420px,calc(100vw - 32px));padding:12px 18px;border-radius:14px;background:#ffffffeb;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-glass);color:var(--text-strong);font-size:13px;line-height:1.4;text-align:center;box-shadow:0 1px 2px #0f172a0a,0 14px 40px -16px #006b3f2e;opacity:0;transition:opacity .22s var(--ease),transform .24s var(--ease-spring);pointer-events:none}.toast.is-visible{opacity:1;transform:translate(-50%)}.build-tag{position:fixed;bottom:max(6px,env(safe-area-inset-bottom));right:10px;font-size:10px;letter-spacing:.06em;color:var(--text-faint);pointer-events:none;z-index:1;font-variant-numeric:tabular-nums}@media (max-width: 480px){.top{padding:12px 16px 4px}.hero{min-height:280px;padding:4px 16px 8px}.transcript-shell{margin:0 12px 6px;padding:10px;max-height:42vh}.bubble{max-width:94%;font-size:14px}.login-card{padding:28px 22px 22px}}
