:root{color-scheme:light dark;--bg: #101014;--fg: #ececf1;--dim: #8b8b96;--accent: #ffb648;--user: #6ea8fe;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--fg)}.oauth-consent{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.oauth-consent-card{width:min(28rem,100%);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#16161c;border:1px solid #34343f;border-radius:14px}.oauth-consent-card h1{font-size:1.45rem}.oauth-consent-card p{color:var(--dim);line-height:1.5}.oauth-consent-card strong{color:var(--fg)}.oauth-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.oauth-permissions{padding:.9rem;background:#1c1c22;border-radius:8px}.oauth-permissions>span{color:var(--dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.oauth-permissions ul{margin-top:.5rem;padding-left:1.2rem}.oauth-permissions li{margin-top:.25rem}.oauth-note{font-size:.82rem}.oauth-actions{display:flex;justify-content:flex-end;gap:.75rem}.app{max-width:760px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;min-height:100vh}.app--companion{justify-content:center;gap:0;padding-block:1rem}.app--companion>header,.app--companion>.controls,.app--companion>.presence-note,.app--companion>.task-panel,.app--companion>.voice-evaluation,.app--companion>.transcript,.app--companion>.camera-preview,.app--companion>.wake-cue-note{display:none}.app--companion>.camera-preview{display:none!important}.app--companion .stage{width:min(680px,100%)}.app--companion .character-panel,.app--companion .status{display:none}header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;width:100%}header h1{font-size:1.4rem}.subtitle{color:var(--dim);flex:1}select{background:#1c1c22;color:var(--fg);border:1px solid #333;border-radius:6px;padding:.35rem .5rem}.account-control{display:flex;align-items:center;gap:.35rem;color:var(--dim);font-size:.75rem}.account-control img{width:1.5rem;height:1.5rem;border-radius:50%}.account-sign-in{white-space:nowrap;padding:.4rem .65rem;font-size:.75rem}.account-status{color:var(--dim);white-space:nowrap;font-size:.72rem}.stage{position:relative;width:min(580px,100%);aspect-ratio:5 / 4;overflow:hidden;border:1px solid rgba(255,210,146,.1);border-radius:28px;background:radial-gradient(circle at 52% 42%,rgba(104,78,49,.23),transparent 46%),radial-gradient(circle at 50% 115%,rgba(58,72,88,.2),transparent 52%),linear-gradient(180deg,#111117,#0d0e13);box-shadow:inset 0 1px #ffffff06,0 24px 80px #0003}.character{width:100%;height:100%;display:block}.companion-toggle{position:absolute;z-index:3;top:.75rem;left:.75rem;min-width:2.2rem;padding:.25rem .55rem .42rem;border:1px solid rgba(255,255,255,.07);border-radius:999px;color:#ececf161;background:#0c0d1252;font-size:.75rem;line-height:1;letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .16s ease,background .16s ease,opacity .16s ease}.companion-toggle:hover,.companion-toggle:focus-visible{color:var(--fg);background:#16171ed1}.status{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);color:var(--dim);text-transform:uppercase;font-size:.64rem;letter-spacing:.12em;white-space:nowrap;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.06);border-radius:999px;background:#0a0b0f9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.character-panel{position:absolute;top:.75rem;right:.75rem;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;max-width:65%;background:#1010149e;border:1px solid rgba(255,255,255,.055);border-radius:10px;padding:.4rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.16;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease}.character-panel:hover,.character-panel:focus-within{opacity:1;transform:translateY(0)}.preset-row{display:flex;gap:.3rem}.preset-row button{padding:.3rem .7rem;font-size:.78rem;font-weight:600;border-radius:6px;background:#1c1c22;color:var(--dim)}.preset-row button.active{background:#2a2a33;color:var(--fg);outline:1px solid var(--accent)}.disclosure-toggle{padding:.15rem .3rem;font-size:.65rem;background:none;color:var(--dim)}.disclosure-toggle:hover{color:var(--fg)}.avatar-picker{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;padding-top:.15rem}.avatar-group{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end}.avatar-group-label{color:var(--dim);text-transform:uppercase;font-size:.6rem;letter-spacing:.1em;margin-right:.15rem}.avatar-picker button{padding:.25rem .6rem;font-size:.75rem;border-radius:6px;background:#1c1c22;color:var(--dim)}.avatar-picker button.active{background:#2a2a33;color:var(--fg);outline:1px solid var(--accent)}.status--listening{color:#9ae6b4}.status--thinking{color:#d6bcfa}.status--speaking{color:var(--accent)}.status--settling{color:#f6e05e}.status--waking{color:#9ae6b4}.status--asleep{color:#4a4a55}.stage--asleep{background:radial-gradient(circle at 50% 45%,rgba(76,83,119,.2),transparent 42%),linear-gradient(180deg,#0b0d17,#080a10)}.stage--asleep .character{filter:brightness(.9) saturate(.84);transition:filter .8s ease}.stage .character{transition:filter .8s ease}@media(max-width:540px){.app{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.stage{border-radius:20px}.character-panel{top:.5rem;right:.5rem;max-width:78%}}.presence-note{color:var(--dim);font-size:.85rem}.controls{display:flex;gap:.75rem;align-items:center;justify-content:center;flex-wrap:wrap}button{border:0;border-radius:8px;padding:.6rem 1.4rem;font-size:1rem;cursor:pointer;background:#2a2a33;color:var(--fg)}button.primary{background:var(--accent);color:#1a1206;font-weight:600}button.danger{background:#5f2120}button.wake-cue-on{box-shadow:inset 0 0 0 1px #68d391;color:#9ae6b4}button:disabled{opacity:.5;cursor:default}.metric{color:var(--dim);font-size:.85rem}.error{color:#feb2b2;background:#2d1a1a;border-radius:8px;padding:.6rem 1rem;font-size:.85rem;max-width:100%;overflow-wrap:anywhere}.wake-setup{width:100%;background:#16161c;border:1px solid #34343f;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.9rem}.wake-setup-heading{display:flex;align-items:flex-start;gap:1rem}.wake-setup-heading>div{flex:1}.wake-setup h2{font-size:1rem;margin-bottom:.25rem}.wake-setup p,.wake-training-step span{color:var(--dim);font-size:.8rem;line-height:1.4}.wake-training-step{display:flex;align-items:center;gap:1rem;border-top:1px solid #2a2a33;padding-top:.8rem}.wake-training-step>div{flex:1;display:flex;flex-direction:column;gap:.15rem}.wake-training-step button{min-width:8.5rem;font-size:.82rem;padding:.5rem .7rem}.wake-setup-actions{display:flex;align-items:center;gap:.75rem}.wake-setup-prerequisite{display:flex;align-items:center;gap:1rem;padding:.85rem;border-radius:8px;background:#242027}.wake-setup-prerequisite>div{flex:1}.wake-setup-prerequisite p{margin-top:.2rem}.wake-setup-prerequisite button{white-space:nowrap}.wake-setup-loading{display:flex;flex-direction:column;gap:.2rem;padding:1rem 0;color:var(--dim)}.wake-setup-loading b{color:var(--fg)}.wake-training-transfer{display:flex;align-items:center;gap:1rem;padding:.85rem;border-radius:8px;background:#202027}.wake-training-transfer>div:first-child{flex:1}.wake-training-transfer p{margin-top:.2rem}.wake-collecting{color:#9ae6b4!important}.wake-setup-error{color:#feb2b2!important}.icon-button,.text-button,.danger-text{padding:.2rem .35rem;background:none;color:var(--dim);font-size:.78rem;text-decoration:none}.icon-button{font-size:1.2rem}.text-button:hover{color:var(--fg)}.danger-text{color:#feb2b2}.wake-cue-note{display:flex;align-items:center;gap:.5rem;color:var(--dim);font-size:.78rem}.camera-preview{position:fixed;right:1rem;bottom:1rem;width:120px;border-radius:10px;border:1px solid #333;display:none}.camera-preview[data-on=true]{display:block}.camera-preview--setup[data-on=true]{display:none}.task-panel{width:100%;background:#16161c;border:1px solid #2a2a33;border-radius:8px;padding:.6rem .75rem;margin-bottom:.75rem;font-size:.9rem;max-height:30vh;overflow-y:auto}.task-panel-title{color:var(--dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.task{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0;line-height:1.4}.task-star{color:var(--dim)}.task-star[data-on=true]{color:var(--accent)}.task-title{flex:1}.task-notes{display:block;color:var(--dim);font-size:.8rem;line-height:1.4;margin-top:.1rem}.task--done .task-title{color:var(--dim);text-decoration:line-through}.task-due{color:var(--user);font-size:.8rem}.task-list{color:var(--dim);font-size:.75rem;border:1px solid #2a2a33;border-radius:4px;padding:0 .35rem}.task-empty{color:var(--dim)}.task-page{color:var(--dim);font-size:.75rem;margin-top:.4rem;text-align:right}.voice-evaluation{width:100%;background:#16161c;border:1px solid #34343f;border-radius:10px}.voice-evaluation>summary{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;cursor:pointer;list-style:none}.voice-evaluation>summary::-webkit-details-marker{display:none}.voice-evaluation>summary:before{content:"▸";color:var(--dim);font-size:.75rem}.voice-evaluation[open]>summary:before{content:"▾"}.voice-evaluation>summary span{flex:1;font-size:.9rem}.voice-evaluation>summary small{color:var(--dim);font-size:.72rem}.voice-evaluation-empty,.voice-evaluation-body{border-top:1px solid #2a2a33;padding:.85rem}.voice-evaluation-empty{display:flex;align-items:center;gap:1rem}.voice-evaluation-empty p{flex:1;color:var(--dim);font-size:.8rem;line-height:1.4}.voice-evaluation-empty button,.voice-scenario-actions button{padding:.45rem .7rem;font-size:.78rem}.voice-evaluation-body{display:flex;flex-direction:column;gap:.8rem}.voice-evaluation-meta{display:flex;align-items:center;gap:.55rem;color:var(--dim);font-size:.72rem}.voice-evaluation-meta span:first-child{color:var(--fg)}.voice-evaluation-meta a{margin-left:auto}.voice-scenario-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem}.voice-scenario-tabs button{position:relative;padding:.35rem;border-radius:6px;background:#202027;color:var(--dim);font-size:.78rem}.voice-scenario-tabs button:after{position:absolute;top:.25rem;right:.25rem;width:.35rem;height:.35rem;border-radius:50%;background:#4a4a55;content:""}.voice-scenario-tabs button.active{color:var(--fg);outline:1px solid var(--accent)}.voice-scenario-tabs button[data-rating=running]:after{background:var(--accent)}.voice-scenario-tabs button[data-rating=pass]:after{background:#68d391}.voice-scenario-tabs button[data-rating=mixed]:after{background:#f6e05e}.voice-scenario-tabs button[data-rating=fail]:after{background:#fc8181}.voice-scenario{display:flex;flex-direction:column;gap:.7rem;padding:.8rem;background:#1c1c22;border-radius:8px}.voice-scenario-number{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.voice-scenario h2{margin-top:.15rem;font-size:1rem}.voice-scenario p{color:var(--dim);font-size:.8rem;line-height:1.45}.voice-scenario textarea{width:100%;min-height:4.5rem;resize:vertical;padding:.6rem;border:1px solid #34343f;border-radius:6px;background:#101014;color:var(--fg);font:inherit;font-size:.8rem}.voice-scenario-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.voice-scenario-actions span{margin-right:auto;color:var(--dim);font-size:.75rem}.transcript{width:100%;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;line-height:1.45}.row b{margin-right:.4rem;font-weight:600}.row--user b{color:var(--user)}.row--assistant b{color:var(--accent)}.row--tool{color:var(--dim);font-size:.85rem}.row--tool b{color:var(--dim)}@media(max-width:520px){.app{padding:max(1rem,env(safe-area-inset-top)) max(.8rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left))}.wake-training-step{align-items:stretch;flex-direction:column;gap:.55rem}.wake-training-step button{width:100%}.wake-setup-prerequisite{align-items:stretch;flex-direction:column}.wake-setup-prerequisite button{width:100%}.wake-training-transfer,.wake-setup-actions{align-items:stretch;flex-direction:column}.wake-setup-actions button{width:100%}.wake-cue-note{flex-wrap:wrap;justify-content:center}.voice-evaluation-empty{align-items:stretch;flex-direction:column}.voice-evaluation-empty button{width:100%}.voice-evaluation-meta{flex-wrap:wrap}.voice-evaluation-meta a{margin-left:0}}
