:root{color-scheme:light;--bg: #fafafa;--bg-subtle: #f4f5f7;--surface: #ffffff;--surface-2: #f7f8f9;--surface-3: #f0f1f4;--surface-inset: #fbfbfc;--border: #e8eaed;--border-strong: #d7dae0;--border-accent: #c7c9f7;--text: #0f1115;--text-2: #3d4450;--text-muted: #626b79;--text-subtle: #8b94a3;--text-inverse: #ffffff;--accent: #4f46e5;--accent-hover: #4338ca;--accent-active: #3730a3;--accent-soft: #eef0fe;--accent-soft-2: #e2e5fd;--accent-text: #4338ca;--ring: rgba(79, 70, 229, .32);--wave-a: #4f46e5;--wave-b: #818cf8;--wave-c: #a5b4fc;--wave-glow: rgba(99, 102, 241, .4);--success: #15803d;--success-soft: #e8f6ed;--warning: #b45309;--warning-soft: #fdf3e3;--danger: #dc2626;--danger-hover: #b91c1c;--danger-soft: #fdecec;--info: #0369a1;--info-soft: #e7f2fb;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 14px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 26px;--shadow-xs: 0 1px 2px rgba(15, 17, 21, .05);--shadow-sm: 0 1px 3px rgba(15, 17, 21, .07), 0 1px 2px rgba(15, 17, 21, .04);--shadow-md: 0 10px 24px rgba(15, 17, 21, .1), 0 2px 6px rgba(15, 17, 21, .05);--shadow-lg: 0 24px 60px rgba(15, 17, 21, .18);--sidebar-w: 236px;--rail-w: 372px;--topbar-h: 60px;--dock-h: 96px;--dur: .14s;--ease: cubic-bezier(.2, 0, .2, 1);background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;font-size:var(--fs-base);line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0c0e;--bg-subtle: #0f1114;--surface: #141619;--surface-2: #1a1d22;--surface-3: #21252b;--surface-inset: #101216;--border: #262a31;--border-strong: #343a44;--border-accent: #3b3a7a;--text: #e9ecf2;--text-2: #c3c9d4;--text-muted: #99a2b2;--text-subtle: #6f7887;--text-inverse: #0b0c0e;--accent: #6366f1;--accent-hover: #7c7ff5;--accent-active: #8b8df7;--accent-soft: #1c1e3a;--accent-soft-2: #232653;--accent-text: #a5a7fb;--ring: rgba(99, 102, 241, .45);--wave-a: #818cf8;--wave-b: #a5b4fc;--wave-c: #c7d2fe;--wave-glow: rgba(129, 140, 248, .5);--success: #4ade80;--success-soft: #10261a;--warning: #fbbf24;--warning-soft: #2a1f0c;--danger: #f87171;--danger-hover: #ef4444;--danger-soft: #2c1516;--info: #60a5fa;--info-soft: #0e1e2e;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 12px 28px rgba(0, 0, 0, .55);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .7)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4{margin:0;letter-spacing:-.011em}p{margin:0}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--r-sm)}.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}.primary,.secondary,.danger,.ghost{align-items:center;border-radius:var(--r-md);display:inline-flex;font-size:var(--fs-md);font-weight:550;gap:var(--s-2);justify-content:center;line-height:1;min-height:34px;padding:0 var(--s-3);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);white-space:nowrap}.primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-xs)}.primary:not(:disabled):hover{background:var(--accent-hover)}.primary:not(:disabled):active{background:var(--accent-active)}.secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-2)}.secondary:not(:disabled):hover{background:var(--surface-2);border-color:var(--text-subtle);color:var(--text)}.ghost{background:transparent;color:var(--text-muted)}.ghost:not(:disabled):hover{background:var(--surface-3);color:var(--text)}.danger{background:var(--surface);border:1px solid var(--border-strong);color:var(--danger)}.danger:not(:disabled):hover{background:var(--danger-soft);border-color:var(--danger)}.primary:disabled,.secondary:disabled,.danger:disabled,.ghost:disabled{opacity:.45}.compact{font-size:var(--fs-sm);min-height:28px;padding:0 var(--s-2)}.icon-button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);display:inline-flex;height:32px;justify-content:center;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease);width:32px}.icon-button:not(:disabled):hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.icon-button:disabled{opacity:.45}label{color:var(--text-muted);display:flex;flex-direction:column;font-size:var(--fs-sm);font-weight:550;gap:var(--s-2)}label>span{color:var(--text-muted);font-size:var(--fs-sm);font-weight:550;letter-spacing:.01em}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-md);font-weight:450;min-height:34px;padding:0 var(--s-3);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);width:100%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-subtle) 50%),linear-gradient(135deg,var(--text-subtle) 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 10px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;cursor:pointer;padding-right:var(--s-6);text-overflow:ellipsis}textarea{line-height:1.55;min-height:88px;padding:var(--s-2) var(--s-3);resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--surface-3);color:var(--text-subtle);cursor:not-allowed}.segmented-control{background:var(--surface-3);border-radius:var(--r-md);display:inline-flex;gap:2px;padding:2px}.segmented-control button{border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-md);font-weight:550;min-height:28px;padding:0 var(--s-3);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented-control button:hover{color:var(--text)}.segmented-control button.selected{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text)}.segmented-control.small button{font-size:var(--fs-sm);min-height:24px;padding:0 var(--s-2)}.inline-error,.error-banner{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 26%,transparent);border-radius:var(--r-md);color:var(--danger);font-size:var(--fs-md);font-weight:500;padding:var(--s-2) var(--s-3)}.error-banner{margin-bottom:var(--s-4)}.success-banner{background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 26%,transparent);border-radius:var(--r-md);color:var(--success);font-size:var(--fs-md);font-weight:500;padding:var(--s-2) var(--s-3)}.busy-line{align-items:center;color:var(--text-muted);display:flex;font-size:var(--fs-md);gap:var(--s-2)}.busy-line:before{animation:spin .9s linear infinite;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent);content:"";height:12px;width:12px}@keyframes spin{to{transform:rotate(360deg)}}.empty{color:var(--text-subtle);font-size:var(--fs-md)}.hint-line,.compact-note,.panel-note{color:var(--text-muted);font-size:var(--fs-md)}.app-shell{min-height:100vh}.app-dashboard{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100vh;overflow:hidden}.app-sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-5);overflow-y:auto;padding:var(--s-4) var(--s-3)}.brand-lockup{align-items:center;display:flex;gap:var(--s-2);padding:0 var(--s-2)}.brand-lockup img{border-radius:var(--r-md);height:26px;width:26px}.brand-lockup h1{font-size:var(--fs-lg);font-weight:650;letter-spacing:-.015em}.brand-badge{background:var(--accent-soft);border-radius:var(--r-xs);color:var(--accent-text);font-size:9px;font-weight:700;letter-spacing:.06em;margin-left:auto;padding:3px 6px;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:var(--s-5)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group__label{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.07em;padding:0 var(--s-2) var(--s-2);text-transform:uppercase}.nav-item{align-items:center;border-radius:var(--r-md);color:var(--text-muted);display:flex;font-size:var(--fs-md);font-weight:500;gap:var(--s-3);min-height:34px;padding:0 var(--s-2);text-align:left;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);width:100%}.nav-item svg{color:var(--text-subtle);flex:0 0 auto;transition:color var(--dur) var(--ease)}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item:hover svg{color:var(--text-muted)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.nav-item.is-active svg{color:var(--accent)}.sidebar-foot{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-2);margin-top:auto;padding-top:var(--s-3)}.sidebar-settings{align-items:center;border-radius:var(--r-md);color:var(--text-muted);display:flex;font-size:var(--fs-md);font-weight:500;gap:var(--s-3);min-height:34px;padding:0 var(--s-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease);width:100%}.sidebar-settings:hover{background:var(--surface-2);color:var(--text)}.sidebar-settings svg{color:var(--text-subtle)}.sidebar-account{align-items:center;border-radius:var(--r-md);display:flex;gap:var(--s-2);padding:var(--s-2)}.sidebar-account__avatar{align-items:center;background:var(--accent-soft);border-radius:var(--r-pill);color:var(--accent-text);display:flex;flex:0 0 auto;font-size:var(--fs-sm);font-weight:650;height:26px;justify-content:center;text-transform:uppercase;width:26px}.sidebar-account__text{display:grid;min-width:0}.sidebar-account__text strong{color:var(--text-2);font-size:var(--fs-sm);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account__text span{align-items:center;color:var(--success);display:inline-flex;font-size:var(--fs-xs);font-weight:550;gap:4px}.sidebar-account__text span:before{background:var(--success);border-radius:50%;content:"";height:5px;width:5px}.app-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.app-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex:0 0 auto;gap:var(--s-3);min-height:var(--topbar-h);padding:0 var(--s-5)}.app-title-block{flex:1 1 auto;min-width:0}.dock__session{display:none}.app-title-block p{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;margin-bottom:1px;text-transform:uppercase}.app-title-block h1{font-size:var(--fs-lg);font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-mini-status{align-items:center;background:var(--surface-3);border-radius:var(--r-pill);color:var(--text-muted);display:inline-flex;font-size:var(--fs-sm);font-weight:550;gap:var(--s-2);margin-left:var(--s-3);padding:4px var(--s-3) 4px var(--s-2);white-space:nowrap}.assistant-mini-status:before{background:var(--text-subtle);border-radius:50%;content:"";height:6px;width:6px}.assistant-mini-status.is-live{background:var(--accent-soft);color:var(--accent-text)}.assistant-mini-status.is-live:before{animation:pulse-dot 1.6s var(--ease) infinite;background:var(--accent)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.session-header-actions{align-items:center;display:flex;gap:var(--s-2);margin-left:auto}.header-controls{align-items:center;border-left:1px solid var(--border);display:flex;gap:var(--s-2);margin-left:var(--s-1);padding-left:var(--s-3)}.ui-language-control{align-items:center;display:flex;flex-direction:row;gap:var(--s-1)}.ui-language-control svg{color:var(--text-subtle)}.ui-language-control select{border-color:transparent;background-color:transparent;color:var(--text-muted);font-size:var(--fs-md);font-weight:550;min-height:30px;padding-left:var(--s-1);width:auto}.ui-language-control select:hover{background-color:var(--surface-2)}.theme-toggle{align-items:center;border-radius:var(--r-md);color:var(--text-muted);display:inline-flex;height:30px;justify-content:center;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);width:30px}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);min-height:0;flex:1 1 auto}.workspace.rail-hidden{grid-template-columns:minmax(0,1fr)}.work{display:flex;flex-direction:column;min-height:0;min-width:0}.work__scroll{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s-4);min-height:0;overflow-y:auto;padding:var(--s-5)}.work__head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between}.tabbar{display:flex;gap:2px;overflow-x:auto}.tab{align-items:center;border-bottom:2px solid transparent;color:var(--text-muted);display:inline-flex;font-size:var(--fs-md);font-weight:550;gap:var(--s-2);min-height:34px;padding:0 var(--s-3);transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);white-space:nowrap}.tab:hover{color:var(--text)}.tab.is-active{border-bottom-color:var(--accent);color:var(--text)}.tab svg{color:currentColor;opacity:.7}.top-utility-row{align-items:center;color:var(--text-subtle);display:flex;font-size:var(--fs-sm);gap:var(--s-2)}.top-utility-row:before{background:var(--success);border-radius:50%;content:"";height:5px;width:5px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5)}.panel h2{font-size:var(--fs-lg);font-weight:600}.panel h3{color:var(--text-2);font-size:var(--fs-md);font-weight:600}.panel-header{align-items:flex-start;display:flex;gap:var(--s-3);justify-content:space-between}.panel-header>div{display:grid;gap:2px;min-width:0}.panel-header p{color:var(--text-muted);font-size:var(--fs-md)}.dock{align-items:center;background:var(--surface);border-top:1px solid var(--border);display:flex;flex:0 0 auto;gap:var(--s-4);min-height:var(--dock-h);padding:var(--s-3) var(--s-5)}.dock__status{display:grid;gap:2px;flex:0 0 auto;min-width:128px}.status-row{align-items:center;color:var(--text-2);display:flex;font-size:var(--fs-md);font-weight:600;gap:var(--s-2)}.dock__status small{color:var(--text-subtle);font-size:var(--fs-sm)}.status-dot{background:var(--text-subtle);border-radius:50%;flex:0 0 auto;height:7px;width:7px}.status-dot.connected{background:var(--success)}.status-dot.listening{animation:pulse-dot 1.2s var(--ease) infinite;background:var(--accent)}.status-dot.thinking{animation:pulse-dot 1s var(--ease) infinite;background:var(--warning)}.status-dot.speaking{animation:pulse-dot .9s var(--ease) infinite;background:var(--accent)}.status-dot.connecting{animation:pulse-dot 1.4s var(--ease) infinite;background:var(--warning)}.status-dot.error{background:var(--danger)}.voice-stage{align-items:center;display:flex;flex:1 1 0;justify-content:center;min-width:0;overflow:hidden}.wave-svg{display:block;height:88px;width:100%}.stop-a{stop-color:var(--wave-a)}.stop-b{stop-color:var(--wave-b)}.stop-c{stop-color:var(--wave-c)}.wave-layer{animation:wave-drift var(--drift, 18s) linear infinite;will-change:transform}.wave-layer--deep,.wave-layer--near{animation-direction:reverse}.wave-layer path{fill:none;stroke:var(--wave-a);stroke-linecap:round;vector-effect:non-scaling-stroke}.wave-layer--far path{filter:blur(5px);opacity:calc(.16 + var(--wave-energy, 0) * .2);stroke:var(--wave-c)}.wave-layer--deep path{filter:blur(3.2px);opacity:calc(.2 + var(--wave-energy, 0) * .24);stroke:var(--wave-c)}.wave-layer--mid path{filter:blur(1.8px);opacity:calc(.24 + var(--wave-energy, 0) * .28);stroke:var(--wave-b)}.wave-layer--near path{filter:blur(.8px);opacity:calc(.28 + var(--wave-energy, 0) * .32);stroke:var(--wave-b)}.wave-body{filter:blur(3.5px);opacity:calc(.3 + var(--wave-energy, 0) * .45);stroke:none}.wave-core{filter:drop-shadow(0 0 calc(2px + var(--wave-energy, 0) * 10px) var(--wave-glow));opacity:calc(.7 + var(--wave-energy, 0) * .3)}.wave-sheen{filter:blur(.6px);opacity:calc(.28 + var(--wave-energy, 0) * .4);stroke:var(--wave-c)}.wave-shadow{filter:blur(5px);opacity:calc(.08 + var(--wave-energy, 0) * .16);stroke:var(--wave-a)}.wave-energy{transform:translateY(var(--wave-lift, 0)) scaleY(var(--wave-scale, .42));transform-box:fill-box;transform-origin:center;transition:transform .13s linear}.wave-breathe{animation:wave-breathe 7.5s var(--ease) infinite;transform-box:fill-box;transform-origin:center}.voice-stage.voice-live .wave-breathe{animation-duration:3.6s}.wave-haze{opacity:calc(.1 + var(--wave-energy, 0) * .45);transition:opacity .22s var(--ease)}.wave-haze--wide{filter:blur(6px);opacity:calc(.05 + var(--wave-energy, 0) * .22)}.wave-motes circle{animation:wave-mote var(--duration, 10s) ease-in-out var(--delay, 0s) infinite;fill:var(--wave-b);opacity:0;transform-box:fill-box;transform-origin:center}@keyframes wave-drift{0%{transform:translate(0)}to{transform:translate(-640px)}}@keyframes wave-breathe{0%,to{transform:scaleY(.94)}50%{transform:scaleY(1.07)}}@keyframes wave-mote{0%{opacity:0;transform:translateY(7px) scale(.5)}30%{opacity:calc(.14 + var(--wave-energy, 0) * .45)}70%{opacity:calc(.08 + var(--wave-energy, 0) * .3)}to{opacity:0;transform:translateY(-16px) scale(1)}}.controls-panel{align-items:center;display:flex;flex:0 0 auto;gap:var(--s-3)}.talk-button{align-items:center;background:var(--accent);border-radius:var(--r-pill);color:#fff;display:inline-flex;gap:var(--s-3);min-height:46px;padding:0 var(--s-5) 0 var(--s-2);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm)}.talk-button-orb{align-items:center;background:#ffffff2e;border-radius:var(--r-pill);display:inline-flex;height:34px;justify-content:center;width:34px}.talk-button-orb svg{height:18px;width:18px}.talk-button-label{font-size:var(--fs-md);font-weight:600;white-space:nowrap}.talk-button:not(:disabled):hover{background:var(--accent-hover)}.talk-button:not(:disabled):active{background:var(--accent-active);box-shadow:0 0 0 6px var(--ring);transform:scale(.985)}.talk-button:disabled{background:var(--surface-3);box-shadow:none;color:var(--text-subtle)}.talk-button:disabled .talk-button-orb{background:var(--surface)}.rail{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;min-width:0}.rail__head{align-items:center;border-bottom:1px solid var(--border);display:flex;flex:0 0 auto;gap:var(--s-2);min-height:46px;padding:0 var(--s-4)}.rail__head h2{font-size:var(--fs-md);font-weight:600}.rail__actions{display:flex;gap:var(--s-1);margin-left:auto}.rail__count{background:var(--surface-3);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-xs);font-weight:650;padding:2px 7px}.rail__body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s-3);min-height:0;overflow-y:auto;padding:var(--s-4)}.transcript-panel{background:none;border:0;border-radius:0;gap:var(--s-3);padding:0}.transcript-list{display:flex;flex-direction:column;gap:var(--s-3)}.transcript-empty{border:1px dashed var(--border-strong);border-radius:var(--r-lg);display:grid;gap:var(--s-2);padding:var(--s-4)}.message{border-radius:var(--r-lg);display:grid;gap:var(--s-1);padding:var(--s-3)}.message span{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.05em;text-transform:uppercase}.message p{color:var(--text-2);font-size:var(--fs-md);line-height:1.6;white-space:pre-wrap;word-break:break-word}.message small{color:var(--text-subtle);font-size:var(--fs-xs)}.message.assistant{background:var(--surface-2);border:1px solid var(--border)}.message.user{background:var(--accent-soft);border:1px solid var(--border-accent)}.message.user span{color:var(--accent-text)}.message.user p{color:var(--text)}.message.tool,.message.system{background:var(--surface-inset);border:1px dashed var(--border-strong)}.event-toggle{align-self:flex-start}.event-log{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-lg);gap:var(--s-2);padding:var(--s-3)}.event-log h2{font-size:var(--fs-sm);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle)}.event-list{display:flex;flex-direction:column;gap:var(--s-1);max-height:320px;overflow-y:auto}.event-list details{border-bottom:1px solid var(--border);padding-bottom:var(--s-1)}.event-list summary{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);gap:var(--s-2);justify-content:space-between;padding:var(--s-1) 0}.event-list time{color:var(--text-subtle);flex:0 0 auto}.event-list pre{background:var(--surface-3);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-xs);margin:var(--s-1) 0;max-height:180px;overflow:auto;padding:var(--s-2)}.drawer-scrim{animation:fade-in var(--dur) var(--ease);background:#0f111552;top:0;right:0;bottom:0;left:0;position:fixed;z-index:40}@keyframes fade-in{0%{opacity:0}}.drawer{animation:slide-in .18s var(--ease);background:var(--surface);border-left:1px solid var(--border);bottom:0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:92vw;position:fixed;right:0;top:0;width:380px;z-index:41}@keyframes slide-in{0%{transform:translate(16px);opacity:0}}.drawer__head{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--s-2);min-height:var(--topbar-h);padding:0 var(--s-4)}.drawer__head h2{font-size:var(--fs-lg);font-weight:600}.drawer__head .icon-button{margin-left:auto}.drawer__body{display:flex;flex-direction:column;gap:var(--s-5);overflow-y:auto;padding:var(--s-4)}.drawer__note{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.55;padding:var(--s-3)}.settings-panel{background:none;border:0;gap:var(--s-4);padding:0}.settings-panel h2{display:none}.settings-grid{display:grid;gap:var(--s-4);grid-template-columns:1fr}.home{display:flex;flex-direction:column;gap:var(--s-5)}.hero{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);display:flex;flex-wrap:wrap;gap:var(--s-5);justify-content:space-between;padding:var(--s-6);position:relative;overflow:hidden}.hero:after{background:radial-gradient(circle at 100% 0%,var(--accent-soft),transparent 62%);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.hero__text{display:grid;gap:var(--s-2);max-width:560px;position:relative;z-index:1}.hero__text h2{font-size:var(--fs-2xl);font-weight:650;letter-spacing:-.02em}.hero__text p{color:var(--text-muted);font-size:var(--fs-base);line-height:1.6}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s-2);position:relative;z-index:1}.hero__actions .primary,.hero__actions .secondary{min-height:38px;padding:0 var(--s-4)}.summary-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-1)}.chip{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-muted);display:inline-flex;font-size:var(--fs-sm);font-weight:500;gap:var(--s-1);padding:4px var(--s-3)}.chip strong{color:var(--text-2);font-weight:600}.section-label{align-items:center;color:var(--text-subtle);display:flex;font-size:var(--fs-xs);font-weight:650;gap:var(--s-3);letter-spacing:.07em;text-transform:uppercase}.section-label:after{background:var(--border);content:"";flex:1 1 auto;height:1px}.quick-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(228px,1fr))}.quick-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);text-align:left;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.quick-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.quick-card__icon{align-items:center;background:var(--accent-soft);border-radius:var(--r-md);color:var(--accent);display:inline-flex;height:32px;justify-content:center;width:32px}.quick-card strong{color:var(--text);font-size:var(--fs-base);font-weight:600}.quick-card span{color:var(--text-muted);font-size:var(--fs-md);line-height:1.5}.conversation-card{align-items:flex-start;gap:var(--s-3)}.conversation-card svg{color:var(--accent)}.conversation-card h2{font-size:var(--fs-xl)}.conversation-card p{color:var(--text-muted);max-width:620px}.homework-card{border-color:var(--border-accent);gap:var(--s-3)}.homework-card__head{align-items:center;display:flex;gap:var(--s-2)}.homework-card__head svg{color:var(--accent)}.homework-card__head strong{font-size:var(--fs-lg);font-weight:600}.homework-card__head .icon-button{margin-left:auto}.homework-card__summary{background:var(--accent-soft);border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-base);line-height:1.6;padding:var(--s-3)}.homework-card__section{display:grid;gap:var(--s-1)}.label-line{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}.homework-card__section ul{color:var(--text-2);display:grid;font-size:var(--fs-md);gap:var(--s-1);margin:0;padding-left:var(--s-5)}.homework-card__section em{color:var(--success);font-style:normal}.homework-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-3)}.homework-card__sent{align-items:center;color:var(--text-muted);display:inline-flex;font-size:var(--fs-md);gap:var(--s-1)}.homework-card__sent svg{color:var(--success)}.plans-page{display:flex;flex-direction:column;gap:var(--s-5);max-width:900px}.license-card{align-items:center;flex-direction:row;gap:var(--s-4);justify-content:space-between}.license-card__state{align-items:center;display:flex;gap:var(--s-3)}.license-card__state svg{color:var(--accent);flex:0 0 auto}.license-card__state div{display:grid;gap:2px}.license-card__state strong{font-size:var(--fs-lg);font-weight:600}.license-card__state span{color:var(--text-muted);font-size:var(--fs-md)}.owner-badge{background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:var(--r-pill);color:var(--warning);font-size:var(--fs-sm);font-weight:600;padding:4px var(--s-3);white-space:nowrap}.plan-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.plan-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-sm)}.plan-card header{display:grid;gap:2px}.plan-card header strong{font-size:var(--fs-xl);font-weight:650}.plan-card__meta{color:var(--text-subtle);font-size:var(--fs-sm)}.plan-card__price{align-items:baseline;display:flex;gap:var(--s-2)}.plan-card__price b{color:var(--text);font-size:var(--fs-2xl);font-weight:650;letter-spacing:-.02em}.plan-card__price s{color:var(--text-subtle);font-size:var(--fs-md)}.plan-card p{color:var(--text-muted);flex:1 1 auto;font-size:var(--fs-md);line-height:1.5}.plan-card .primary{min-height:38px}.plans-page .hint-line{align-items:center;display:flex;gap:var(--s-2)}.plans-page .hint-line svg{color:var(--success);flex:0 0 auto}.course-textbook-title{color:var(--text-subtle)!important;font-size:var(--fs-sm)!important}.activity-grid{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(176px,1fr))}.activity-grid button{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text-2);display:flex;font-size:var(--fs-md);font-weight:550;gap:var(--s-2);min-height:38px;padding:0 var(--s-3);text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.activity-grid button svg{color:var(--text-subtle);flex:0 0 auto}.activity-grid button:not(:disabled):hover{background:var(--surface-2);border-color:var(--text-subtle);color:var(--text)}.activity-grid button.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.activity-grid button.selected svg{color:var(--accent)}.activity-grid button:disabled{opacity:.5}.course-tools{border-top:1px solid var(--border);display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding-top:var(--s-4)}.course-tools button{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);display:flex;gap:var(--s-3);padding:var(--s-3);text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.course-tools button:hover{background:var(--surface);border-color:var(--border-accent)}.course-tools button svg{color:var(--accent);flex:0 0 auto}.course-tools button span{display:grid;gap:1px;min-width:0}.course-tools strong{color:var(--text);font-size:var(--fs-md);font-weight:600}.course-tools small{color:var(--text-subtle);font-size:var(--fs-sm)}.alphabet-grid{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.alphabet-grid button{align-items:center;aspect-ratio:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-2);display:flex;font-size:var(--fs-xl);font-weight:550;justify-content:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.alphabet-grid button:not(:disabled):hover{background:var(--surface);border-color:var(--accent);color:var(--accent-text)}.alphabet-grid button.active{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.04)}.alphabet-grid button:disabled{opacity:.45}.reading-create{display:flex;gap:var(--s-2)}.reading-material-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.reading-material-actions button{min-height:34px}.lesson-layout{display:grid;gap:var(--s-4);grid-template-columns:264px minmax(0,1fr);min-height:0}.lesson-list{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--s-1);max-height:520px;overflow-y:auto;padding-right:var(--s-3)}.lesson-list h3{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;margin-bottom:var(--s-1);text-transform:uppercase}.lesson-item{border:1px solid transparent;border-radius:var(--r-md);display:flex;gap:var(--s-1);padding:2px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.lesson-item:hover{background:var(--surface-2)}.lesson-item.selected{background:var(--accent-soft);border-color:var(--border-accent)}.reading-saved-main{display:grid;flex:1 1 auto;gap:2px;min-width:0;padding:var(--s-2);text-align:left}.reading-saved-main strong{color:var(--text);font-size:var(--fs-md);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reading-saved-main span{color:var(--text-subtle);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reading-saved-main .reading-source{color:var(--text-subtle);font-style:italic}.reading-delete{align-self:center;border-color:transparent;background:transparent;flex:0 0 auto;height:28px;opacity:0;width:28px}.lesson-item:hover .reading-delete,.lesson-item.selected .reading-delete{opacity:1}.reading-delete:not(:disabled):hover{background:var(--danger-soft);color:var(--danger)}.lesson-reader{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.lesson-reader h3{align-items:center;color:var(--text);display:flex;font-size:var(--fs-xl);font-weight:600;gap:var(--s-2)}.lesson-reader h3 svg{color:var(--accent)}.reading-controls{display:flex;flex-wrap:wrap;gap:var(--s-2)}.reading-controls button{min-height:30px;font-size:var(--fs-sm)}.lesson-content,.reading-content-rich,.lesson-content-rich{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text-2);display:flex;flex-direction:column;gap:var(--s-2);font-size:var(--fs-base);line-height:1.7;padding:var(--s-4)}.reading-section-title,.lesson-rich-heading{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;margin-top:var(--s-3);text-transform:uppercase}.reading-section-title:first-child,.lesson-rich-heading:first-child{margin-top:0}.reading-paragraph,.lesson-rich-paragraph{color:var(--text-2)}.lesson-rich-list{display:grid;gap:var(--s-1);margin:0;padding-left:var(--s-5)}.reading-dialogue-lines{display:flex;flex-direction:column;gap:var(--s-1)}.reading-dialogue-line{background:transparent;border:1px solid transparent;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-base);line-height:1.6;padding:var(--s-2) var(--s-3);text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);width:100%}.reading-dialogue-line:hover{background:var(--surface-3)}.reading-dialogue-line.selected{background:var(--surface-3);border-color:var(--border-strong)}.reading-dialogue-line.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:500}.reader-tabs{border-bottom:1px solid var(--border);display:flex;gap:var(--s-1)}.reader-tabs button{border-bottom:2px solid transparent;color:var(--text-muted);font-size:var(--fs-md);font-weight:550;min-height:32px;padding:0 var(--s-3)}.reader-tabs button.selected{border-bottom-color:var(--accent);color:var(--text)}.lesson-create,.lesson-title-row{display:flex;gap:var(--s-2);align-items:flex-end}.lesson-create label{flex:1 1 auto}.writing-toolbar{align-items:flex-end;display:grid;gap:var(--s-3);grid-template-columns:auto minmax(160px,1fr) auto}.writing-mode-field{display:grid;gap:var(--s-2)}.writing-mode-field>span{color:var(--text-muted);font-size:var(--fs-sm);font-weight:550}.writing-actions,.writing-review-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.writing-answer textarea{min-height:130px}.activity-page{display:flex;min-height:0}.activity-registry-panel{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s-4);min-width:0}.activity-registry-header{align-items:flex-start;display:flex;gap:var(--s-3);justify-content:space-between}.activity-registry-header h3{font-size:var(--fs-xl);font-weight:600}.activity-registry-header p{color:var(--text-muted);font-size:var(--fs-md)}.activity-registry-tabs{border-bottom:1px solid var(--border);display:flex;gap:var(--s-1);overflow-x:auto}.activity-registry-tabs button{align-items:center;border-bottom:2px solid transparent;color:var(--text-muted);display:inline-flex;font-size:var(--fs-md);font-weight:550;gap:var(--s-2);min-height:34px;padding:0 var(--s-3);white-space:nowrap}.activity-registry-tabs button span{background:var(--surface-3);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-xs);font-weight:650;padding:1px 6px}.activity-registry-tabs button.selected{border-bottom-color:var(--accent);color:var(--text)}.activity-registry-tabs button.selected span{background:var(--accent-soft);color:var(--accent-text)}.activity-registry-list{display:flex;flex-direction:column;gap:var(--s-3)}.activity-session-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5)}.activity-session-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between}.activity-session-title{display:grid;gap:1px}.activity-session-title strong{font-size:var(--fs-lg);font-weight:600}.activity-session-title span{color:var(--text-subtle);font-size:var(--fs-sm)}.activity-meta-pills{display:flex;flex-wrap:wrap;gap:var(--s-1)}.activity-meta-pills span{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-sm);padding:2px var(--s-2)}.activity-card-actions{display:flex;gap:var(--s-2);margin-left:auto}.activity-section{border-top:1px solid var(--border);display:grid;gap:var(--s-2);padding-top:var(--s-3)}.activity-section h4{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase}.studied-summary{display:grid;gap:var(--s-3)}.activity-score-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.activity-score-row span{align-items:baseline;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);display:inline-flex;gap:var(--s-2);padding:var(--s-2) var(--s-3)}.activity-score-row strong{color:var(--text-muted);font-size:var(--fs-sm);font-weight:550}.activity-score-row b{color:var(--accent-text);font-size:var(--fs-lg);font-weight:650}.studied-summary-list{color:var(--text-2);display:grid;font-size:var(--fs-md);gap:var(--s-1);margin:0;padding-left:var(--s-5)}.activity-recommendation-section{display:grid;gap:var(--s-1)}.activity-recommendation{color:var(--text-2);font-size:var(--fs-md);line-height:1.6}.registry-analysis,.registry-activity-list,.registry-activity,.registry-item,.registry-main,.registry-detail-actions,.registry-language-tabs{min-width:0}.auth-shell{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:var(--s-6)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--s-4);max-width:400px;padding:var(--s-7);width:100%}.auth-brand{padding:0}.auth-card h2{font-size:var(--fs-2xl);font-weight:650;letter-spacing:-.02em;margin-top:var(--s-2)}.auth-card p{color:var(--text-muted);font-size:var(--fs-md);line-height:1.6;margin-top:calc(var(--s-3) * -1)}.auth-input-row{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);display:flex;gap:var(--s-2);padding-left:var(--s-3);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.auth-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.auth-input-row svg{color:var(--text-subtle);flex:0 0 auto}.auth-input-row input{border:0;background:none;padding-left:0}.auth-input-row input:focus{box-shadow:none}.auth-wide-button{min-height:38px;width:100%}@media(max-width:1280px){:root{--rail-w: 320px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr)}.rail{border-left:0;border-top:1px solid var(--border);max-height:360px}.lesson-layout{grid-template-columns:1fr}.lesson-list{border-bottom:1px solid var(--border);border-right:0;flex-direction:row;max-height:none;overflow-x:auto;padding-bottom:var(--s-3);padding-right:0}.lesson-list h3{display:none}.lesson-item{flex:0 0 220px}.writing-toolbar{grid-template-columns:1fr}}@media(max-width:900px){:root{--sidebar-w: 64px}.app-sidebar{padding:var(--s-3) var(--s-2)}.brand-lockup h1,.brand-badge,.nav-group__label,.nav-item span,.sidebar-settings span,.sidebar-account__text{display:none}.nav-item,.sidebar-settings,.brand-lockup{justify-content:center;padding:0}.sidebar-account{justify-content:center}}@media(max-width:760px){.app-dashboard{height:auto;min-height:100vh;overflow:visible}.app-header{flex-wrap:wrap;gap:var(--s-2);padding:var(--s-3) var(--s-4)}.app-header .session-header-actions{display:none}.dock__session{display:block;flex:1 1 100%;min-width:0;order:4}.dock__session .session-header-actions{margin-left:0;width:100%}.dock__session .primary,.dock__session .danger{flex:1 1 0;font-size:var(--fs-sm);min-width:0;overflow:hidden;padding:0 var(--s-2)}.dock__session svg{display:none}.assistant-mini-status{margin-left:auto}.header-controls{border-left:0;padding-left:0}.work__scroll{padding:var(--s-4)}.dock{flex-wrap:wrap;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.voice-stage{order:3;width:100%}.controls-panel{margin-left:auto}.panel{padding:var(--s-4)}.hero{padding:var(--s-5)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
