:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/145% system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{margin:0}#root{min-height:100svh}@font-face{font-family:Noto Sans;src:url(/fonts/noto-sans-latin.woff2)format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}@font-face{font-family:Noto Sans;src:url(/fonts/noto-sans-latin-ext.woff2)format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB}@font-face{font-family:Noto Sans Mono;src:url(/fonts/noto-sans-mono-latin.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Material Symbols Rounded;src:url(/fonts/material-symbols-rounded.woff2)format("woff2");font-style:normal;font-weight:300;font-display:block}:root{--gray-90:oklch(19% .005 160);--gray-80:oklch(32% .005 160);--gray-70:oklch(44% .005 160);--gray-60:oklch(58% .005 160);--gray-50:oklch(70% .005 160);--gray-40:oklch(80% .005 160);--gray-30:oklch(88% .005 160);--gray-20:oklch(94% .005 160);--gray-10:oklch(97% .005 160);--gray-0:oklch(99% .005 160);--green-80:oklch(33.3% .04 172);--green-70:oklch(58.2% .13 165);--green-50:oklch(66.1% .145 163);--green-30:oklch(86% .03 167);--green-20:oklch(93.3% .035 164);--green-10:oklch(95.5% .022 165);--red-70:oklch(49.8% .196 25);--red-50:oklch(66% .124 22);--red-30:oklch(89.8% .024 17);--red-20:oklch(93.3% .022 17);--red-10:oklch(96.2% .012 17);--yellow-70:oklch(58.9% .138 73);--yellow-50:oklch(74% .157 72);--yellow-30:oklch(90.2% .049 88);--yellow-20:oklch(94.4% .038 82);--yellow-10:oklch(96% .02 87);--blue-70:oklch(55.6% .12 255);--blue-50:oklch(67.6% .09 255);--blue-30:oklch(87.6% .029 250);--blue-20:oklch(93.7% .018 250);--blue-10:oklch(95.5% .012 250);--purple-70:oklch(53% .1 320);--purple-50:oklch(44.5% .1 315);--purple-30:oklch(83.8% .027 315);--purple-20:oklch(91% .014 315);--purple-10:oklch(95.7% .008 315);--turquoise-70:oklch(51% .1 195);--turquoise-50:oklch(64% .085 195);--turquoise-30:oklch(87.8% .019 200);--turquoise-20:oklch(93% .012 200);--turquoise-10:oklch(95.5% .008 200);--background:var(--gray-10);--foreground:var(--gray-90);--card:var(--gray-0);--card-foreground:var(--gray-90);--popover:var(--gray-0);--popover-foreground:var(--gray-90);--primary:var(--green-50);--primary-foreground:var(--gray-0);--secondary:var(--gray-20);--secondary-foreground:var(--gray-90);--accent:var(--green-10);--accent-foreground:var(--green-50);--muted:var(--gray-30);--muted-foreground:var(--gray-60);--destructive:var(--red-50);--destructive-bg:var(--red-10);--destructive-border:var(--red-30);--destructive-text:var(--red-70);--warning-bg:var(--yellow-10);--warning-border:var(--yellow-30);--warning-text:var(--yellow-70);--info-bg:var(--blue-10);--info-border:var(--blue-30);--info-text:var(--blue-70);--border:var(--gray-20);--card-border:var(--gray-20);--border-tonal:var(--green-30);--input:var(--green-30);--ring:var(--green-30);--hover:var(--green-20);--hover-border:var(--green-50);--hover-foreground:var(--green-70);--active:var(--green-50);--active-foreground:var(--gray-0);--chat-divider:var(--gray-20);--sidebar-background:var(--gray-10);--sidebar-foreground:var(--gray-80);--sidebar-accent:var(--green-20);--sidebar-accent-foreground:var(--gray-80);--sidebar-border:transparent;--overlay-backdrop:#e3f5ec80;--overlay-scrim:#00000026;--gradient-primary:linear-gradient(135deg, var(--green-50), var(--green-70));--font-sans:"Noto Sans", system-ui, -apple-system, sans-serif;--font-display:var(--font-sans);--font-mono:"Noto Sans Mono", ui-monospace, monospace;--radius-xl:2rem;--radius-lg:1rem;--radius-md:.5rem;--radius-sm:.25rem;--radius-xs:.125rem;--radius:var(--radius-lg);--shadow-card:0 1px 3px #00000014;--shadow-card-hover:0 10px 15px -3px #0000001a;--shadow-tooltip:0 0 2px 0 #2b2b3d52, 0 4px 7px 0 #b6c1d15c, 0 2px 4px 0 #b6c1d15c;--shadow-glow:0 0 12px #0fb57c4d;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--duration-instant:75ms;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--layout-appshell-sidebar:16rem;--layout-appshell-gap:4px;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-color:var(--ring);--opacity-disabled:.5;--opacity-muted:.6;--opacity-hover:.85;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--gray-90:oklch(93% .005 160);--gray-80:oklch(86% .005 160);--gray-70:oklch(74% .005 160);--gray-60:oklch(61% .005 160);--gray-50:oklch(51% .005 160);--gray-40:oklch(48% .005 160);--gray-30:oklch(42% .005 160);--gray-20:oklch(38% .005 160);--gray-10:oklch(23% .005 160);--gray-0:oklch(19% .005 160);--green-80:oklch(83% .1 163);--green-70:oklch(73% .14 163);--green-50:oklch(61% .12 165);--green-30:oklch(40% .045 170);--green-20:oklch(34.5% .04 170);--green-10:oklch(29% .035 168);--red-70:oklch(77% .065 20);--red-50:oklch(51% .17 25);--red-30:oklch(34% .045 22);--red-20:oklch(30% .04 22);--red-10:oklch(24.8% .032 22);--yellow-70:oklch(82% .12 80);--yellow-50:oklch(67% .13 75);--yellow-30:oklch(41% .055 82);--yellow-20:oklch(33% .04 80);--yellow-10:oklch(28% .03 75);--blue-70:oklch(77% .05 250);--blue-50:oklch(58% .1 255);--blue-30:oklch(36.3% .045 250);--blue-20:oklch(30% .035 250);--blue-10:oklch(25.5% .028 250);--purple-70:oklch(70% .06 315);--purple-50:oklch(51% .1 315);--purple-30:oklch(35.8% .04 318);--purple-20:oklch(30.5% .035 320);--purple-10:oklch(26% .02 325);--turquoise-70:oklch(70% .065 195);--turquoise-50:oklch(55.5% .075 195);--turquoise-30:oklch(36.3% .028 195);--turquoise-20:oklch(31.5% .025 195);--turquoise-10:oklch(26% .02 195);--overlay-backdrop:oklch(19% .005 160/.6);--shadow-card:0 1px 3px #00000040;--shadow-card-hover:0 10px 15px -3px #0003;--shadow-tooltip:0 0 2px 0 #00000073, 0 4px 7px 0 #00000059, 0 2px 4px 0 #00000040;--shadow-glow:0 0 12px #20a07040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.25}button{font-family:inherit;font-size:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover,:focus-within{scrollbar-color:var(--muted) transparent}::-webkit-scrollbar{background:0 0;width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{transition:background-color var(--duration-fast) var(--ease-out);background:padding-box padding-box;border:3px solid #0000;border-radius:999px}:hover::-webkit-scrollbar-thumb{background:var(--muted);background-clip:padding-box}:focus-within::-webkit-scrollbar-thumb{background:var(--muted);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}.material-symbols-rounded{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:#0000;direction:ltr;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;line-height:1;display:inline-block}.fonts-ready .material-symbols-rounded{color:inherit}.btn{justify-content:center;align-items:center;gap:var(--sp-1);border-radius:var(--radius-md);white-space:nowrap;height:32px;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:1px solid #0000;padding:0 10px;font-weight:400;display:inline-flex}.btn-sm{border-radius:var(--radius-sm);height:24px;padding:0 8px;font-size:14px}.btn-primary{background:var(--accent);border-color:var(--border-tonal);color:var(--hover-foreground)}.btn-secondary{border-color:var(--border-tonal);color:var(--hover-foreground);background:0 0}.btn-ghost{border-color:var(--border);color:var(--foreground);background:0 0}.btn-simple{color:var(--hover-foreground);background:0 0;border-color:#0000}.btn-subtle{color:var(--muted-foreground);background:0 0;border-color:#0000}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.btn-simple:hover:not(:disabled),.btn-subtle:hover:not(:disabled){background:var(--hover);border-color:var(--hover-border);color:var(--hover-foreground)}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-simple:active:not(:disabled),.btn-subtle:active:not(:disabled){background:var(--primary);border-color:var(--primary);color:var(--gray-0)}.btn-primary:disabled{background:var(--gray-20);border-color:var(--gray-20);color:var(--gray-40)}.btn:disabled{color:var(--gray-40)}.btn-destructive{background:var(--destructive-bg);border-color:var(--destructive-border);color:var(--destructive-text)}.btn-destructive:hover:not(:disabled){background:var(--red-20);border-color:var(--red-50);color:var(--destructive-text)}.btn-destructive:active:not(:disabled){background:var(--red-50);border-color:var(--red-50);color:var(--gray-0)}.icon-btn{width:32px;height:32px;padding:0}.icon-btn.btn-sm{width:24px;height:24px}.icon-btn-round{border-radius:999px}.badge{align-items:center;gap:var(--sp-1);white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:999px;max-width:100%;height:32px;padding:0 12px;font-weight:400;display:inline-flex;overflow:hidden}.badge-sm{height:24px;padding:0 8px;font-size:14px}.badge-default{background:var(--gray-0);color:var(--gray-90)}.badge-secondary{color:var(--gray-90);border-color:var(--gray-20);background:0 0}.badge-outline{background:var(--gray-10);color:var(--gray-90);border-color:var(--gray-30)}.badge-green{background:var(--green-10);color:var(--green-70)}.badge-red{background:var(--red-10);color:var(--red-70)}.badge-yellow{background:var(--yellow-10);color:var(--yellow-70)}.badge-blue{background:var(--blue-10);color:var(--blue-70)}.badge-purple{background:var(--purple-10);color:var(--purple-70)}.badge-turquoise{background:var(--turquoise-10);color:var(--turquoise-70)}.badge-gray{background:var(--gray-10);color:var(--gray-60)}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.muted{color:var(--muted-foreground)}.subtle{color:var(--muted-foreground);opacity:var(--opacity-hover)}.mono{font-family:var(--font-mono);font-size:12px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.animate-fade-in{animation:.24s both fade-in}@keyframes chat-typing-bounce{0%,70%,to{opacity:.55;transform:translateY(0)}35%{opacity:1;transform:translateY(-65%)}}@keyframes chat-text-cycle{0%{opacity:0;transform:translateY(50%)}55%{opacity:1;transform:translateY(-12%)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.animate-fade-in{animation:none}.chat-dot{opacity:.7;animation:none!important}.chat-working-text{animation:none!important}*{transition-duration:.01ms!important}}.auth-page{justify-content:center;align-items:center;gap:var(--sp-5);min-height:100vh;padding:var(--sp-5);background:var(--background);flex-direction:column;display:flex}.auth-brand{align-items:center;gap:var(--sp-2);display:flex}.auth-brand img{display:block}.auth-card{width:100%;max-width:448px;min-height:480px;padding:var(--sp-6);text-align:center;box-shadow:var(--shadow-tooltip);flex-direction:column;align-items:center;display:flex}.state-illustration{width:180px;height:180px;margin-bottom:var(--sp-4);-webkit-user-select:none;user-select:none}.auth-card h1{margin:0 0 var(--sp-2);font-size:24px;font-weight:700}.auth-card>p{margin:0 0 var(--sp-5)}.auth-provider-btn{justify-content:center;align-items:center;gap:var(--sp-3);width:100%;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);background:0 0;padding:12px 18px;font-weight:600;transition:background .14s,border-color .14s;display:flex}.auth-provider-btn:hover{background:var(--info-bg);border-color:var(--blue-50)}.auth-alert{width:100%;margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--destructive-bg);color:var(--destructive-text);border:1px solid var(--destructive-border);border-radius:var(--radius-md);text-align:left;font-size:14px}.auth-progress{background:var(--secondary);border-radius:999px;width:100%;height:8px;overflow:hidden}.auth-progress-bar{background:var(--primary);border-radius:999px;height:100%;transition:width .22s}.auth-retry{margin-top:var(--sp-2)}.auth-foot{padding-top:var(--sp-5);margin:auto 0 0;font-size:12px;line-height:1.5}.shell{background:var(--background);height:100vh}.brand-name{letter-spacing:-.01em;font-size:16px;font-weight:600}.sidebar-brand{align-items:center;gap:var(--sp-2);height:32px;padding:0 var(--sp-2);margin-bottom:var(--sp-2);flex:none;display:flex}.sidebar-brand img{flex:none;display:block}.user-menu{margin-top:var(--sp-1);position:relative}.user-button{align-items:center;gap:var(--sp-2);width:100%;color:var(--sidebar-foreground);text-align:left;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:999px;padding:4px 8px 4px 4px;display:flex}.user-button:hover{background:var(--sidebar-accent)}.avatar{background:var(--accent);width:32px;height:32px;color:var(--hover-foreground);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.user-text{flex-direction:column;flex:auto;align-items:flex-start;min-width:0;line-height:1.25;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:500;overflow:hidden}.menu-pop{min-width:240px;padding:var(--sp-2);box-shadow:var(--shadow-tooltip);z-index:40;position:absolute;bottom:calc(100% + 8px);left:0}.menu-head{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border);margin-bottom:var(--sp-2)}.menu-item{align-items:center;gap:var(--sp-2);width:100%;padding:8px var(--sp-3);text-align:left;border-radius:var(--radius-md);color:var(--foreground);transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.menu-item:hover{background:var(--hover);color:var(--hover-foreground)}.menu-item-danger{color:var(--destructive-text)}.menu-item-danger:hover{background:var(--destructive-bg);color:var(--destructive-text)}.menu-head-meta{gap:var(--sp-1);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.user-caret{color:var(--muted-foreground)}.shell-body{gap:var(--layout-appshell-gap);height:100%;padding:var(--layout-appshell-gap);display:flex}.sidebar{width:var(--layout-appshell-sidebar);background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-3);gap:var(--sp-2);flex-direction:column;flex:none;min-height:0;display:flex}.sidebar-label{padding:0 var(--sp-2);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:var(--sp-1);font-size:12px;font-weight:600;display:block}.sidebar-nav-pill{align-items:center;gap:var(--sp-2);width:100%;height:32px;padding:0 var(--sp-2);border-radius:var(--radius-lg);color:var(--sidebar-foreground);text-align:left;transition:background-color var(--duration-slow) var(--ease-in-out,ease-in-out), color var(--duration-slow) var(--ease-in-out,ease-in-out);background:0 0;border:none;display:flex}.sidebar-nav-pill:hover{background:var(--sidebar-accent)}.sidebar-nav-pill-active{background:var(--gray-30);color:var(--gray-80);font-weight:500}.sidebar-nav-pill-active:hover{background:var(--gray-30)}.sidebar-nav-icon{flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.sidebar-nav-icon .material-symbols-rounded{width:16px;height:16px;transition:font-size var(--duration-slow) ease-in-out, width var(--duration-slow) ease-in-out, height var(--duration-slow) ease-in-out;font-size:16px!important}.sidebar-nav-pill:hover .sidebar-nav-icon .material-symbols-rounded{width:24px;height:24px;font-size:24px!important}.sidebar-foot{gap:var(--sp-1);margin-top:auto;display:grid}.sidebar-note{padding:0 var(--sp-2);font-size:12px}.new-session{justify-content:center;gap:var(--sp-2);width:100%;margin-bottom:var(--sp-1)}.session-list{min-height:0;margin:0 calc(var(--sp-1) * -1);padding:0 var(--sp-1);flex-direction:column;flex:auto;gap:2px;display:flex;overflow-y:auto}.session-row{border-radius:var(--radius-lg);color:var(--sidebar-foreground);align-items:center;display:flex}.session-row:hover{background:var(--sidebar-accent)}.session-row-active{background:var(--gray-30);color:var(--gray-80)}.session-row-active:hover{background:var(--gray-30)}.session-open{align-items:baseline;gap:var(--sp-2);min-width:0;padding:7px var(--sp-2);color:inherit;text-align:left;background:0 0;border:none;flex:auto;display:flex}.session-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:14px;overflow:hidden}.session-row-active .session-title{font-weight:500}.session-when{color:var(--muted-foreground);flex:none;font-size:12px}.session-delete{border-radius:var(--radius-md);width:24px;height:24px;color:var(--muted-foreground);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:none;place-items:center;margin-right:4px;display:grid}.session-row:hover .session-delete,.session-delete:focus-visible{opacity:1}.session-delete:hover{background:var(--destructive-bg);color:var(--destructive-text)}.shell-main{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.panel{min-height:0;padding:var(--sp-6) var(--sp-5);flex:1;overflow-y:auto}.panel-inner{gap:var(--sp-5);width:100%;max-width:820px;margin:0 auto;display:grid}.panel-head h2{margin:0 0 var(--sp-2);font-size:20px}.panel-head .subtle{max-width:62ch;margin:0;font-size:14px;line-height:1.6}.skill-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.skill-card{padding:var(--sp-4);gap:var(--sp-2);align-content:start;display:grid}.skill-head{align-items:center;gap:var(--sp-2);display:flex}.skill-head h3{flex:auto;margin:0;font-size:16px}.skill-icon{border-radius:var(--radius-md);background:var(--accent);width:28px;height:28px;color:var(--hover-foreground);flex:none;place-items:center;display:grid}.skill-summary{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.6}.skill-card-foot{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border);font-size:12px;display:flex}.skill-editor{margin-top:var(--sp-5);padding:var(--sp-4);background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);gap:var(--sp-3);display:grid}.skill-editor-head{align-items:center;gap:var(--sp-3);display:flex}.skill-editor-head h3{align-items:center;gap:var(--sp-2);margin:0;font-size:16px;display:flex}.skill-editor-head .subtle{margin-left:auto}.skill-editor-warning{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border);border-radius:var(--radius-md);margin:0;font-size:14px;line-height:1.5;display:flex}.skill-editor-body{gap:var(--sp-4);grid-template-columns:minmax(0,1fr) 300px;display:grid}@media (width<=900px){.skill-editor-body{grid-template-columns:minmax(0,1fr)}}.skill-form{gap:var(--sp-3);grid-template-columns:1fr 160px;align-content:start;display:grid}.skill-form-wide{grid-column:1/-1}.skill-form label{gap:6px;font-size:14px;display:grid}.skill-form label>span{font-weight:600}.skill-form input,.skill-form textarea{background:var(--background);width:100%;color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);font:inherit;padding:8px 10px;font-size:14px}.skill-form textarea{resize:vertical}.skill-form small{font-size:12px;line-height:1.45}.skill-body{font-family:var(--font-mono,ui-monospace, monospace);font-size:12px;line-height:1.55}.skill-form-actions{gap:var(--sp-2);grid-column:1/-1;display:flex}.skill-history h4{margin:0 0 var(--sp-2);font-size:14px}.skill-history-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.skill-history-item{padding:var(--sp-3);background:var(--secondary);border-radius:var(--radius-md);gap:6px;font-size:12px;display:grid}.skill-history-meta{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.skill-history-note{margin:0;line-height:1.5}.skill-history-actions{align-items:center;gap:var(--sp-2);display:flex}.skill-history-body{max-height:260px;padding:var(--sp-2);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.5;overflow:auto}.skill-examples{padding:0 0 0 var(--sp-4);color:var(--muted-foreground);gap:4px;margin:0;font-size:12px;line-height:1.5;display:grid}.skill-start{justify-self:start;gap:var(--sp-2)}.banner{margin:var(--sp-4) var(--sp-5) 0;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);font-size:14px}.banner-danger,.banner-error{background:var(--destructive-bg);color:var(--destructive-text)}.modal-backdrop{background:var(--overlay-backdrop);padding:var(--sp-5);z-index:50;place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:680px;max-height:86vh;box-shadow:var(--shadow-tooltip);flex-direction:column;display:flex}.modal-head{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:var(--sp-5);gap:var(--sp-6);display:grid;overflow-y:auto}.setting-group h3{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:14px;display:flex}.setting-intro{margin:-4px 0 var(--sp-3);font-size:12px;line-height:1.5}.setting-row{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--border);display:flex}.setting-title{font-size:14px;font-weight:600}.setting-row .subtle{max-width:46ch;font-size:12px;line-height:1.5}.segmented{border:1px solid var(--border);border-radius:var(--radius-md);flex:none;display:inline-flex;overflow:hidden}.segmented button{background:var(--card);height:32px;color:var(--muted-foreground);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border:none;padding:0 14px;font-size:14px}.segmented button:hover:not(:disabled):not(.seg-active){background:var(--hover);color:var(--hover-foreground)}.segmented .seg-active{background:var(--accent);color:var(--hover-foreground);font-weight:500}.model-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.model-list li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--secondary);border-radius:var(--radius);display:flex}.model-meta{flex-wrap:wrap;gap:6px;display:flex}.usage-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.usage-stat{padding:var(--sp-3);background:var(--secondary);border-radius:var(--radius);flex-direction:column;gap:2px;display:flex}.usage-value{font-size:20px;font-weight:700}.usage-stat .subtle{font-size:12px}.usage-note{margin:var(--sp-3) 0 0;font-size:12px}.usage-models{margin:var(--sp-3) 0 0;gap:4px;padding:0;list-style:none;display:grid}.usage-models li{justify-content:space-between;font-size:12px;display:flex}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.transcript{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.thread{gap:var(--sp-4);flex-direction:column;width:100%;max-width:820px;margin:0 auto;display:flex}.turn{gap:var(--sp-2);flex-direction:column;max-width:85%;display:flex}.turn-user{align-self:flex-end;align-items:flex-end}.turn-agent{align-self:flex-start;align-items:flex-start}.bubble{width:fit-content;max-width:100%;padding:var(--sp-3) var(--sp-4);white-space:pre-wrap;word-break:break-word;border:1px solid #0000}.bubble-agent{background:var(--gray-0);color:var(--gray-90);border-color:var(--border);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm)}.bubble-agent-error{border-color:var(--red-20)}.bubble-user{background:var(--gray-20);color:var(--gray-80);border-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-sm)}.stream-caret{vertical-align:text-bottom;border-radius:var(--radius-xs);background:var(--gray-50);width:6px;height:1em;margin-left:2px;animation:1.2s ease-in-out infinite chat-typing-bounce;display:inline-block}.chat-working{align-items:center;gap:var(--sp-2);color:var(--muted-foreground);display:flex}.chat-working-text{animation:chat-text-cycle .42s var(--ease-out)}.chat-dots{align-items:center;gap:var(--sp-1);display:inline-flex}.chat-dot{background:var(--primary);border-radius:999px;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-typing-bounce}.turn-meta{align-items:center;gap:var(--sp-2);padding:0 var(--sp-1);color:var(--muted-foreground);opacity:0;transition:opacity var(--duration-base) var(--ease-out);font-size:12px;display:flex}.turn:hover .turn-meta,.turn:focus-within .turn-meta{opacity:1}.tool-row{gap:var(--sp-1);flex-wrap:wrap;display:flex}.thread-note{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);background:var(--secondary);color:var(--muted-foreground);font-size:12px;line-height:1.5;display:flex}.thread-note .material-symbols-rounded{flex:none;margin-top:1px}.session-files{gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border);display:grid}.session-files .subtle{font-size:12px}.chat-empty-stack{gap:var(--sp-4);justify-items:center;width:100%;max-width:640px;margin:auto;display:grid}.chat-empty-stack .chat-empty{margin:0}.chat-empty-stack .session-files{width:100%}.file-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.file-chip{gap:var(--sp-1);max-width:100%;display:inline-flex}.file-download{max-width:100%}.file-download .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.artifact-backdrop{z-index:50;padding:var(--sp-5);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.artifact-panel{background:var(--card);width:min(1100px,100%);height:min(760px,100%);color:var(--card-foreground);border:1px solid var(--card-border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.artifact-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:flex}.artifact-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.artifact-note{white-space:nowrap;margin-left:auto;font-size:12px}.artifact-error{margin:auto;font-size:14px}.artifact-frame{background:#fff;border:0;flex:1;width:100%}@media (width<=640px){.artifact-note{display:none}}.approval-card{width:100%;max-width:820px;padding:var(--sp-4);background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:var(--radius-lg);align-self:flex-start;gap:var(--sp-3);margin:0 auto;display:grid}.approval-head{align-items:center;gap:var(--sp-2);font-weight:600;display:flex}.approval-detail{margin:0;font-size:14px}.approval-actions{gap:var(--sp-2);display:flex}.chat-empty{text-align:center;padding:var(--sp-7) var(--sp-5);flex-direction:column;align-items:center;max-width:520px;margin:auto;display:flex}.chat-empty h3{color:var(--muted-foreground);margin:0;font-size:16px;font-weight:600}.chat-empty p{margin:var(--sp-1) 0 0;color:var(--muted-foreground);max-width:42ch;font-size:14px}.chat-empty .state-illustration{width:240px;height:240px}.composer{padding:0 var(--sp-5) var(--sp-5);background:var(--background)}.composer-inner{gap:var(--sp-2);width:100%;max-width:820px;margin:0 auto;display:grid}.composer-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-3) var(--sp-2);transition:border-color var(--duration-fast) var(--ease-out)}.composer-card:focus-within{border-color:var(--primary)}.composer-card textarea{width:100%;min-height:50px;max-height:160px;padding:var(--sp-1) var(--sp-2);resize:none;color:var(--foreground);background:0 0;border:none;outline:none;font-family:inherit;font-size:16px;line-height:1.5;display:block;overflow-y:auto}.composer-card textarea::placeholder,.composer-card textarea:disabled{color:var(--muted-foreground)}.composer-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.composer-toolbar-group{align-items:center;gap:var(--sp-1);display:flex}.pending-files{padding:0 var(--sp-1) var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.chip-remove{color:inherit;opacity:.7;background:0 0;border:none;border-radius:999px;align-items:center;margin:0 -4px 0 2px;padding:0;display:inline-flex}.chip-remove:hover:not(:disabled){opacity:1}.chip-remove:disabled{opacity:.35}.web-toggle{align-items:center;gap:var(--sp-2);border:1px solid var(--border);height:32px;color:var(--muted-foreground);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-radius:999px;padding:0 12px 0 10px;font-size:14px;display:inline-flex}.web-toggle:hover{background:var(--secondary)}.web-toggle input{margin:0}.web-toggle-on{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.web-toggle:has(input:disabled){opacity:.6;cursor:default}.composer-status{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);background:var(--secondary);color:var(--muted-foreground);font-size:12px;display:flex}.composer-status-error{background:var(--destructive-bg);color:var(--destructive-text);border:1px solid var(--destructive-border)}.composer-hint{padding:0 var(--sp-1);color:var(--muted-foreground);font-size:12px}.kbd{font-family:var(--font-mono);background:var(--secondary);color:var(--muted-foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 5px;font-size:12px;display:inline-block}@media (width<=860px){:root{--layout-appshell-sidebar:13rem}.brand-name,.user-text{display:none}.user-button{justify-content:center}.transcript{padding:var(--sp-4)}.composer{padding:0 var(--sp-4) var(--sp-4)}.turn{max-width:100%}}
