@font-face{font-family:Roboto;src:url(/assets/Roboto-VariableFont_wdth_wght-CTnIOZTo.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-VariableFont_opsz_wght-c8O0ljhh.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-white:#fff;--color-blue-50:#edf3fc;--color-blue-300:#a8c9f5;--color-blue-700:#315f98;--color-blue-950:#1a2c43;--color-amber-50:#fff4df;--color-amber-300:#f0c67e;--color-amber-700:#835c20;--color-amber-950:#382b19;--color-red-50:#fff0ed;--color-red-300:#f4b2a6;--color-red-700:#a33f30;--color-red-950:#40241f;--color-success-light:#205642;--color-success-light-bg:#edf6f3;--color-success-dark:#b4d8ca;--color-success-dark-bg:#18392e;--color-overlay-light:#121c176b;--color-overlay-dark:#000000a3;--font-family-body:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;--font-family-alternative:Inter,system-ui,sans-serif;--font-family-mono:ui-monospace,Consolas,monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.125rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-ui:1.45;--line-height-body:1.65;--letter-spacing-tight:-.025em;--letter-spacing-normal:0;--letter-spacing-wide:.04em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-xs:.25rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:999rem;--border-width:1px;--border-width-strong:2px;--focus-width:3px;--focus-offset:3px;--opacity-disabled:.45;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2,0,0,1);--elevation-flat:none;--elevation-low:0 2px 6px #121c170a;--elevation-medium:0 8px 28px #121c1714;--elevation-high:0 24px 80px #121c1733;--z-base:0;--z-sticky:10;--z-navigation:20;--z-toast:40;--layout-sidebar:16rem;--layout-reading:48rem;--layout-content:75rem;--layout-dialog:29rem;--layout-dialog-wide:43rem;--layout-header:4.5rem;--layout-preview-bar:2.75rem;--breakpoint-mobile:48rem;--breakpoint-wide:70rem;--size-icon:1.125rem;--size-avatar:2.25rem;--size-brand:7.5rem;--size-touch-target:2.75rem;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-canvas:var(--color-neutral-25);--surface-panel:var(--color-white);--surface-chat:var(--color-white);--surface-sidebar:var(--color-neutral-50);--surface-subtle:var(--color-neutral-100);--surface-hover:var(--color-neutral-100);--surface-selected:var(--color-brand-100);--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-600);--text-muted:var(--color-neutral-550);--text-on-accent:var(--color-white);--border-subtle:var(--color-neutral-200);--border-control:var(--color-neutral-400);--action-primary:var(--color-brand-600);--action-hover:var(--color-brand-700);--action-active:var(--color-brand-800);--action-soft:var(--color-brand-50);--action-text:var(--color-brand-700);--focus-ring:var(--color-brand-600);--status-success:var(--color-success-light);--status-success-bg:var(--color-success-light-bg);--status-warning:var(--color-amber-700);--status-warning-bg:var(--color-amber-50);--status-error:var(--color-red-700);--status-error-bg:var(--color-red-50);--status-info:var(--color-blue-700);--status-info-bg:var(--color-blue-50);--overlay:var(--color-overlay-light);--chart-primary:var(--action-primary);--chart-secondary:var(--color-neutral-400);--chart-grid:var(--border-subtle);--button-height:var(--size-touch-target);--new-conversation-bg:var(--action-primary);--new-conversation-border:var(--new-conversation-bg);--new-conversation-hover:var(--action-hover);--new-conversation-active:var(--action-active);--new-conversation-text:var(--text-on-accent);--button-radius:var(--radius-sm);--button-padding-x:var(--space-4);--input-height:var(--size-touch-target);--input-radius:var(--radius-sm);--input-background:var(--surface-panel);--card-radius:var(--radius-lg);--card-padding:var(--space-6);--dialog-radius:var(--radius-xl);--dialog-padding:var(--space-8);--message-user-bg:var(--color-brand-50);--message-user-text:var(--text-primary);--message-radius:var(--radius-lg);--message-gap:var(--space-6);--message-font-size:var(--font-size-md);--message-line-height:1.55;--composer-radius:.625rem;--nav-radius:var(--radius-sm);--table-cell-y:var(--space-4);--table-cell-x:var(--space-5)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-canvas:#111;--surface-sidebar:#111;--surface-chat:#161616;--surface-panel:#232323;--surface-subtle:#232323;--surface-hover:#333;--surface-selected:#333;--text-primary:#eee;--text-secondary:#ccc;--text-muted:#aaa;--text-on-accent:#111;--border-subtle:#3b3b3b;--border-control:#858585;--action-primary:#ddd;--action-hover:#eee;--action-active:#fff;--action-soft:#333;--action-text:#ddd;--focus-ring:#ccc;--status-success:var(--color-success-dark);--status-success-bg:var(--color-success-dark-bg);--status-warning:var(--color-amber-300);--status-warning-bg:var(--color-amber-950);--status-error:var(--color-red-300);--status-error-bg:var(--color-red-950);--status-info:var(--color-blue-300);--status-info-bg:var(--color-blue-950);--overlay:var(--color-overlay-dark);--message-user-bg:var(--surface-panel);--new-conversation-bg:var(--color-brand-900);--new-conversation-border:var(--color-brand-700);--new-conversation-hover:var(--color-brand-800);--new-conversation-active:var(--color-brand-700);--new-conversation-text:var(--color-brand-100);--elevation-low:0 2px 6px #0000001a;--elevation-medium:0 8px 28px #0000002e;--elevation-high:0 24px 80px #0006}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s}}:root{--palette-forest-primary:#286b56;--palette-forest-paper:#fcfdfc;--palette-forest-night:#161616;--palette-forest-accent-dark:#a4bdac}:root:not([data-palette]),:root[data-palette=forest]{--color-neutral-25:#fcfdfc;--color-neutral-50:#f5f7f6;--color-neutral-100:#edf1ef;--color-neutral-200:#dce3df;--color-neutral-300:#bdc9c2;--color-neutral-350:#a5b3aa;--color-neutral-400:#78877e;--color-neutral-500:#64746b;--color-neutral-550:#5b6b62;--color-neutral-600:#506057;--color-neutral-700:#434b46;--color-neutral-800:#2c322e;--color-neutral-900:#212623;--color-neutral-950:#171b18;--color-brand-50:#edf6f3;--color-brand-100:#d7e9df;--color-brand-200:#bdcfc1;--color-brand-300:#a4bdac;--color-brand-400:#7d9c88;--color-brand-500:#547e64;--color-brand-600:#286b56;--color-brand-700:#205642;--color-brand-800:#1c4436;--color-brand-900:#303f35;--color-control-dark:#89958d}:root:not([data-palette])[data-theme=dark],:root[data-palette=forest][data-theme=dark]{--surface-canvas:#111;--surface-sidebar:#111;--surface-chat:#161616;--surface-panel:#232323;--surface-subtle:#232323;--surface-hover:#333;--surface-selected:#333;--text-primary:#eee;--text-secondary:#ccc;--text-muted:#aaa;--text-on-accent:#111;--border-subtle:#3b3b3b;--border-control:#858585;--action-primary:#ddd;--action-hover:#eee;--action-active:#fff;--action-soft:#333;--action-text:#ddd;--focus-ring:#ccc;--message-user-bg:var(--surface-panel);--new-conversation-bg:#1a2e23;--new-conversation-border:#49584f;--new-conversation-hover:#34433a;--new-conversation-active:#405347;--new-conversation-text:#e7f7ec}:root{--palette-harbor-primary:#45647a;--palette-harbor-paper:#fafbfc;--palette-harbor-night:#22282d;--palette-harbor-accent-dark:#a6becd}:root[data-palette=harbor]{--color-neutral-25:#fafbfc;--color-neutral-50:#f2f4f5;--color-neutral-100:#e9edef;--color-neutral-200:#d9dfe3;--color-neutral-300:#bcc6cd;--color-neutral-350:#a5b0b8;--color-neutral-400:#7a8791;--color-neutral-500:#64737e;--color-neutral-550:#596570;--color-neutral-600:#4d5964;--color-neutral-700:#444d55;--color-neutral-800:#2d343a;--color-neutral-900:#22282d;--color-neutral-950:#181d21;--color-brand-50:#eff3f6;--color-brand-100:#dfe8ee;--color-brand-200:#c3d4df;--color-brand-300:#a6becd;--color-brand-400:#859faf;--color-brand-500:#657f92;--color-brand-600:#45647a;--color-brand-700:#375267;--color-brand-800:#2b4254;--color-brand-900:#303d48;--color-control-dark:#8c98a1}:root{--palette-violet-primary:#765469;--palette-violet-paper:#fcfafb;--palette-violet-night:#282328;--palette-violet-accent-dark:#c5aabb}:root[data-palette=violet]{--color-neutral-25:#fcfafb;--color-neutral-50:#f5f2f4;--color-neutral-100:#ede8eb;--color-neutral-200:#dfd8dd;--color-neutral-300:#c9bfc6;--color-neutral-350:#b2a6af;--color-neutral-400:#8c7f89;--color-neutral-500:#776b74;--color-neutral-550:#685b65;--color-neutral-600:#584d56;--color-neutral-700:#4d454b;--color-neutral-800:#342e33;--color-neutral-900:#282328;--color-neutral-950:#1d191d;--color-brand-50:#f6eff3;--color-brand-100:#ebdfe7;--color-brand-200:#d7c2d1;--color-brand-300:#c5aabb;--color-brand-400:#ad8a9f;--color-brand-500:#906c82;--color-brand-600:#765469;--color-brand-700:#634457;--color-brand-800:#503746;--color-brand-900:#45333f;--color-control-dark:#a0939c}:root{--palette-clay-primary:#86583f;--palette-clay-paper:#fcfaf8;--palette-clay-night:#2a2521;--palette-clay-accent-dark:#d0ae94}:root[data-palette=clay]{--color-neutral-25:#fcfaf8;--color-neutral-50:#f5f1ed;--color-neutral-100:#ece7e2;--color-neutral-200:#ded7d0;--color-neutral-300:#c9beb4;--color-neutral-350:#b3a69b;--color-neutral-400:#8b7d72;--color-neutral-500:#786a60;--color-neutral-550:#695c53;--color-neutral-600:#594e46;--color-neutral-700:#51473f;--color-neutral-800:#37302b;--color-neutral-900:#2a2521;--color-neutral-950:#1f1b18;--color-brand-50:#f8f0eb;--color-brand-100:#eedfd4;--color-brand-200:#dec2ae;--color-brand-300:#d0ae94;--color-brand-400:#b88f70;--color-brand-500:#9c6f51;--color-brand-600:#86583f;--color-brand-700:#704832;--color-brand-800:#593b2b;--color-brand-900:#49372c;--color-control-dark:#a3958a}:root{--palette-olive-primary:#5f7045;--palette-olive-paper:#fbfcf9;--palette-olive-night:#252a22;--palette-olive-accent-dark:#b9c79d}:root[data-palette=olive]{--color-neutral-25:#fbfcf9;--color-neutral-50:#f2f4ee;--color-neutral-100:#e8ebe3;--color-neutral-200:#d8ddd1;--color-neutral-300:#bec5b4;--color-neutral-350:#a8b19c;--color-neutral-400:#7f8973;--color-neutral-500:#6b765e;--color-neutral-550:#5e6851;--color-neutral-600:#505845;--color-neutral-700:#484f40;--color-neutral-800:#31362c;--color-neutral-900:#252a22;--color-neutral-950:#1b1f18;--color-brand-50:#f1f4e9;--color-brand-100:#e3e9d4;--color-brand-200:#cdd7b6;--color-brand-300:#b9c79d;--color-brand-400:#9cac7d;--color-brand-500:#7b8d5c;--color-brand-600:#5f7045;--color-brand-700:#4d5b37;--color-brand-800:#3e492d;--color-brand-900:#38422c;--color-control-dark:#949e87}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-family-body);font-size:var(--font-size-md);line-height:var(--line-height-ui);margin:0;overflow:hidden}button,input,select,textarea{color:inherit;font:inherit}button,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}img,svg{display:block}p,h1,h2{margin:0}p{line-height:var(--line-height-body)}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}::selection{background:var(--surface-selected)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-toast);top:var(--space-2);left:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-panel);color:var(--text-primary);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.icon{width:var(--size-icon);height:var(--size-icon);flex:none}.button,.icon-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--button-height);border-radius:var(--button-radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;display:inline-flex}.button{padding:var(--space-2) var(--button-padding-x);border:var(--border-width) solid var(--border-subtle);background:var(--surface-panel)}.button:hover,.icon-button:hover{background:var(--surface-hover)}.button.primary{border-color:var(--action-primary);background:var(--action-primary);color:var(--text-on-accent)}.button.primary:hover{background:var(--action-hover)}.button.new-conversation{background:var(--new-conversation-bg);border-color:var(--new-conversation-border);color:var(--new-conversation-text)}.button.new-conversation:hover{background:var(--new-conversation-hover)}.button.new-conversation:active{background:var(--new-conversation-active)}.button.ghost{background:0 0;border-color:#0000}.button.full{width:100%}.icon-button{width:var(--size-touch-target);min-width:var(--size-touch-target);color:var(--text-secondary)}.app-shell{grid-template-columns:var(--layout-sidebar) minmax(0, 1fr);height:100dvh;min-height:32rem;display:grid}.sidebar{gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);border-right:var(--border-width) solid var(--border-subtle);background:var(--surface-sidebar);flex-direction:column;display:flex;overflow-y:auto}.sidebar-brand{min-height:var(--layout-header);justify-content:space-between;align-items:center;display:flex}.brand{min-width:0;padding-inline:var(--space-3);align-items:center;display:inline-flex}.brand img{width:calc(var(--size-brand) * 1.25);max-width:100%;height:auto}.brand-dark,:root[data-theme=dark] .brand-light{display:none}:root[data-theme=dark] .brand-dark{display:block}.session-navigation{min-height:var(--space-12);align-content:start;gap:var(--space-1);display:grid;overflow-y:auto}.nav-heading{padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.nav-item{width:100%;min-height:var(--size-touch-target);align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--nav-radius);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:left;background:0 0;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item[aria-disabled=true]{cursor:not-allowed;opacity:.55}.nav-item.active{background:var(--surface-selected);color:var(--action-text);font-weight:var(--font-weight-medium)}.nav-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-empty{padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--font-size-sm)}.private-sidebar-note{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-3);color:var(--text-secondary);display:flex}.private-sidebar-note svg{color:var(--action-text);flex:none;margin-top:.15rem}.private-sidebar-note div{gap:var(--space-1);display:grid}.private-sidebar-note p{font-size:var(--font-size-sm);line-height:var(--line-height-body);margin:0}.history-list{gap:var(--space-1);display:grid}.history-item{min-width:0}.history-item-main{grid-template-columns:minmax(0, 1fr) var(--size-touch-target);border-radius:var(--nav-radius);align-items:center;min-width:0;display:grid}.history-item-main .nav-item{min-width:0}.history-item-main:hover{background:var(--surface-hover)}.history-item-main:hover .nav-item{background:0 0}.history-item.is-active .history-item-main{background:var(--surface-selected)}.history-item.is-active .nav-item.active{background:0 0}.history-item.is-active .history-actions-button{color:var(--action-text)}.history-actions-button{border-radius:var(--nav-radius);opacity:0}.history-item:hover .history-actions-button,.history-item:focus-within .history-actions-button,.history-item.is-active .history-actions-button,.history-actions-button[aria-expanded=true]{opacity:1}.history-actions-menu[popover]{width:min(7rem,100vw - 1rem);max-height:calc(100dvh - 1rem);padding:var(--space-1);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-panel);box-shadow:var(--elevation-medium);color:var(--text-primary);margin:0;position:fixed;inset:auto;overflow-y:auto}.history-menu-action{width:100%;min-height:var(--size-touch-target);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--nav-radius);color:var(--text-primary);font-size:var(--font-size-sm);text-align:left;background:0 0;display:flex}.history-menu-action:hover,.history-menu-action:focus-visible{background:var(--surface-hover)}.history-menu-action.is-destructive{color:var(--status-error)}@media (hover:none){.history-actions-button{opacity:1}}.button.danger{color:var(--status-error)}.history-state{gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--font-size-sm);display:grid}.history-state.compact{margin-top:var(--space-2);border-top:var(--border-width) solid var(--border-subtle)}.history-state .button,.history-more{justify-self:start}.history-more{margin:var(--space-2)}.sidebar-bottom{gap:var(--space-3);margin-top:auto;display:grid}.appearance-control{align-items:center;gap:var(--space-3);padding:var(--space-3);border-top:var(--border-width) solid var(--border-subtle);color:var(--text-secondary);font-size:var(--font-size-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.appearance-control select{min-height:var(--space-8);max-width:7rem;padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--border-control);border-radius:var(--input-radius);background:var(--input-background)}.chat-main{background:var(--surface-chat);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.chat-header{min-height:var(--layout-header);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-8);border-bottom:var(--border-width) solid var(--border-subtle);flex:none;display:flex}.header-copy{min-width:0}.header-controls{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.private-mode-toggle.is-active{background:var(--action-soft);color:var(--action-text);box-shadow:inset 0 0 0 var(--border-width) var(--action-primary)}.private-mode-notice{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle);display:flex}.private-mode-notice svg{color:var(--action-text);flex:none;margin-top:.15rem}.private-mode-notice div{gap:var(--space-1);display:grid}.private-mode-notice small{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.header-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-subtitle{color:var(--text-muted);font-size:var(--font-size-xs)}.conversation-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.conversation{width:100%;max-width:var(--layout-reading);min-height:100%;padding:var(--space-8) var(--space-4);margin:0 auto}.connection-status{color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.conversation-loading{padding-block:var(--space-12);color:var(--text-muted);text-align:center}.older-messages{margin:0 auto var(--space-8);display:flex}.welcome{min-height:28rem;padding-block:var(--space-10);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.assistant-mark{width:var(--space-6);height:var(--space-6)}.welcome>.assistant-mark{width:var(--space-12);height:var(--space-12);margin-bottom:var(--space-6)}:root[data-theme=dark] .assistant-mark{filter:invert()}.welcome h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.welcome>p{max-width:30rem;margin-top:var(--space-4);color:var(--text-secondary)}.suggestions{gap:var(--space-3);width:100%;margin-top:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.suggestion{align-items:flex-start;gap:var(--space-4);min-height:7rem;padding:var(--space-4);border:var(--border-width) solid var(--border-subtle);border-radius:var(--card-radius);background:var(--surface-panel);color:var(--text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-ui);text-align:left;flex-direction:column;display:flex}.suggestion:hover{border-color:var(--border-control);background:var(--surface-hover)}.suggestion .icon{color:var(--action-text)}.message{margin-bottom:var(--message-gap);overflow-wrap:anywhere;font-size:var(--message-font-size);line-height:var(--message-line-height)}.message.user{justify-content:flex-end;display:flex}.user-body{max-width:85%;display:flex}.user-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--message-radius) var(--message-radius) var(--radius-xs);background:var(--message-user-bg);color:var(--message-user-text)}.user-bubble p{white-space:pre-wrap}.message-meta{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--font-size-xs);text-align:right;display:block}.message.assistant{grid-template-columns:var(--space-6) minmax(0, 1fr);align-items:start;column-gap:var(--space-3);display:grid}.assistant-avatar{align-items:center;display:flex}.assistant-body,.assistant-markdown{min-width:0}.assistant-markdown p{white-space:pre-wrap}.assistant-markdown>*+*{margin-top:var(--space-3)}.assistant-markdown h2,.assistant-markdown h3,.assistant-markdown h4,.assistant-markdown h5,.assistant-markdown h6{color:var(--text-primary);line-height:var(--line-height-tight);margin-bottom:0}.assistant-markdown h2{font-size:var(--font-size-xl)}.assistant-markdown h3{font-size:var(--font-size-lg)}.assistant-markdown h4,.assistant-markdown h5,.assistant-markdown h6{font-size:var(--font-size-md)}.assistant-markdown ul,.assistant-markdown ol{padding-inline-start:var(--space-6)}.assistant-markdown li+li{margin-top:var(--space-1)}.assistant-markdown blockquote{border-inline-start:var(--border-width) solid var(--border-control);color:var(--text-secondary);padding-inline-start:var(--space-4)}.assistant-markdown code{font-family:var(--font-family-mono);font-size:.9em}.assistant-markdown :not(pre)>code{border-radius:var(--radius-xs);background:var(--surface-selected);padding:.1em .35em}.assistant-markdown pre{max-width:100%;padding:var(--space-4);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sidebar);white-space:pre;overflow-x:auto}.assistant-markdown a{color:var(--action-text);text-underline-offset:.15em;text-decoration:underline}.assistant-markdown .markdown-image-alt{color:var(--text-secondary);font-style:italic}.assistant-markdown hr{border:0;border-top:var(--border-width) solid var(--border-subtle)}.thinking{color:var(--text-secondary)}.message-actions{gap:var(--space-1);margin-top:var(--space-2);display:flex}.message-actions .icon-button{color:var(--text-muted)}.response-status{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}.response-status .icon{margin-top:var(--space-1);color:var(--status-warning)}.text-button{color:var(--action-text);font-size:inherit;background:0 0;padding:0;text-decoration:underline}.notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--status-info-bg);color:var(--status-info);font-size:var(--font-size-sm);display:flex}.notice.error{background:var(--status-error-bg);color:var(--status-error)}.notice.warning{background:var(--status-warning-bg);color:var(--status-warning)}.notice .icon,.notice p{margin-top:var(--space-1)}.notice code{margin-top:var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-xs);display:block}.conversation-notice{margin-block:var(--space-5)}.new-content{z-index:var(--z-sticky);min-height:var(--button-height);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-full);box-shadow:var(--elevation-low);background:var(--surface-panel);color:var(--action-text);font-size:var(--font-size-sm);display:inline-flex;position:absolute;bottom:9rem;left:50%;transform:translate(-50%)}.composer-area{width:100%;max-width:calc(var(--layout-reading) + var(--space-8));padding:var(--space-3) var(--space-8) var(--space-5);flex:none;margin:0 auto}.composer{padding:var(--space-4) var(--space-4) var(--space-3);border:var(--border-width) solid var(--border-control);border-radius:var(--composer-radius);background:var(--surface-panel)}.composer:focus-within{border-color:var(--focus-ring)}.composer textarea{width:100%;min-height:var(--space-12);resize:none;max-height:10rem;color:var(--text-primary);font-size:var(--font-size-md);line-height:var(--line-height-body);background:0 0;border:0;outline:0;padding:0}.composer textarea::placeholder{color:var(--text-muted);opacity:1}.composer-footer{min-height:var(--size-touch-target);align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.composer-hint{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--font-size-xs);display:inline-flex}.composer-hint .icon{width:var(--space-3);height:var(--space-3)}.character-count{color:var(--text-muted);font-size:var(--font-size-xs);margin-left:auto}.character-count.is-error{color:var(--status-error)}.send-button{border-radius:var(--radius-full);background:var(--action-primary);color:var(--text-on-accent)}.send-button:hover{background:var(--action-hover);color:var(--text-on-accent)}.stop-button{margin-left:auto}.composer-disclaimer{margin:var(--space-3) auto 0;max-width:var(--layout-reading);color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-ui);text-align:center}.mobile-only,.sidebar-scrim{display:none}.toast{right:max(var(--space-6), env(safe-area-inset-right));bottom:max(var(--space-6), env(safe-area-inset-bottom));z-index:var(--z-toast);max-width:min(28rem, calc(100% - var(--space-12)));padding:var(--space-4) var(--space-6);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--elevation-medium);background:var(--surface-panel);font-size:var(--font-size-sm);position:fixed}.startup-screen{place-content:center;justify-items:center;gap:var(--space-4);min-height:100dvh;color:var(--text-secondary);display:grid}.startup-screen img{width:var(--space-12);height:var(--space-12)}:root[data-theme=dark] .startup-screen img{filter:invert()}.eyebrow{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.04em}.auth-page{background:var(--surface-canvas);grid-template-columns:minmax(18rem,.85fr) minmax(28rem,1.15fr);min-height:100dvh;display:grid;overflow-y:auto}.auth-introduction{justify-content:space-between;gap:var(--space-12);min-height:100dvh;padding:clamp(var(--space-8), 6vw, var(--space-20));border-right:var(--border-width) solid var(--border-subtle);background:var(--surface-sidebar);flex-direction:column;display:flex}.auth-brand{padding:0}.auth-introduction h1{max-width:12ch;margin-top:var(--space-4);font-size:clamp(var(--font-size-3xl), 4vw, 3.5rem);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-tight);line-height:1.08}.auth-introduction h1+p{max-width:32rem;margin-top:var(--space-6);color:var(--text-secondary);font-size:var(--font-size-lg)}.auth-safety{max-width:32rem;padding-top:var(--space-5);border-top:var(--border-width) solid var(--border-subtle);color:var(--text-muted);font-size:var(--font-size-sm)}.auth-form-region{padding:var(--space-8);background:var(--surface-chat);place-items:center;display:grid}.auth-form{gap:var(--space-5);width:min(100%,30rem);display:grid}.auth-heading{margin-bottom:var(--space-2)}.auth-heading h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.auth-heading p{margin-top:var(--space-2);color:var(--text-secondary)}.field{gap:var(--space-2);min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:grid}.field span{justify-content:space-between;gap:var(--space-3);display:flex}.field em{color:var(--text-muted);font-size:var(--font-size-xs);font-style:normal;font-weight:var(--font-weight-regular)}.field input,.field select,.setting-row select{width:100%;min-height:var(--input-height);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--border-control);border-radius:var(--input-radius);background:var(--input-background)}.password-input{position:relative;display:block!important}.password-input input{padding-right:6.5rem}.password-visibility{top:50%;right:var(--space-2);align-items:center;gap:var(--space-1);min-height:2rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--action-text);font-size:var(--font-size-xs);background:0 0;display:inline-flex;position:absolute;transform:translateY(-50%)}.password-visibility:hover{background:var(--surface-hover)}.password-visibility .icon{width:var(--space-4);height:var(--space-4)}.field small,.field-help{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.field .field-error{color:var(--status-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.check-field{align-items:flex-start;gap:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}.check-field input{width:1.1rem;height:1.1rem;accent-color:var(--action-primary);flex:none;margin-top:.1rem}.auth-submit{width:100%}.auth-links{justify-content:space-between;gap:var(--space-4);display:flex}.auth-links button{color:var(--action-text);font-size:var(--font-size-sm);text-underline-offset:.15em;background:0 0;padding:0;text-decoration:underline}.agreement-list{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.agreement-list legend{margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.agreement-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--border-subtle);display:flex}.agreement-row div{gap:var(--space-1);display:grid}.agreement-row strong{font-size:var(--font-size-sm)}.agreement-row small{color:var(--text-muted)}.development-code{background:var(--status-info-bg);color:var(--status-info)}.development-code code{font-family:var(--font-family-mono);font-weight:var(--font-weight-semibold)}.modal-layer{z-index:var(--z-dialog);padding:var(--space-5);background:var(--overlay);place-items:center;display:grid;position:fixed;inset:0}.modal-panel{width:min(100%, var(--layout-dialog-wide));border:var(--border-width) solid var(--border-subtle);border-radius:var(--dialog-radius);max-height:min(90dvh,48rem);box-shadow:var(--elevation-high);background:var(--surface-panel);overflow:hidden}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-bottom:var(--border-width) solid var(--border-subtle);display:flex}.modal-header h2{margin-top:var(--space-1);font-size:var(--font-size-xl)}.agreement-dialog{flex-direction:column;display:flex}.agreement-content{min-height:12rem;padding:var(--space-6);color:var(--text-secondary);overflow-y:auto}.agreement-markdown{line-height:1.7}.agreement-markdown>*+*{margin-top:var(--space-5)}.agreement-markdown h2,.agreement-markdown h3,.agreement-markdown h4{color:var(--text-primary);line-height:var(--line-height-heading)}.agreement-markdown ul,.agreement-markdown ol{padding-left:var(--space-6)}.agreement-markdown li+li{margin-top:var(--space-2)}.agreement-dialog>.field-help{padding:0 var(--space-6)}.agreement-dialog>.agreement-reminder{margin-top:var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-top:var(--border-width) solid var(--border-subtle);display:flex}.deletion-dialog{width:min(100%,34rem)}.deletion-conversation-title{max-width:28rem;margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deletion-description{padding:var(--space-6);color:var(--text-secondary)}.button.danger-action{border-color:var(--status-error);background:var(--status-error);color:var(--text-on-accent)}.button.danger-action:hover{filter:brightness(.92)}.onboarding-dialog{width:min(100%,38rem)}.onboarding-progress{gap:var(--space-2);padding:var(--space-5) var(--space-6) 0;grid-template-columns:repeat(4,1fr);display:grid}.onboarding-progress span{border-radius:var(--radius-full);background:var(--border-subtle);height:.2rem}.onboarding-progress span.is-complete{background:var(--action-primary)}.onboarding-content{align-content:center;justify-items:start;gap:var(--space-4);min-height:19rem;padding:var(--space-8);display:grid}.onboarding-content>.icon{width:var(--space-8);height:var(--space-8);color:var(--action-text)}.onboarding-content h2{font-size:var(--font-size-2xl)}.onboarding-content>p{max-width:34rem;color:var(--text-secondary);font-size:var(--font-size-lg)}.onboarding-actions{justify-content:space-between}.step-label{color:var(--text-muted);font-size:var(--font-size-sm)}.profile-button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-top:var(--border-width) solid var(--border-subtle);border-radius:var(--nav-radius);color:var(--text-primary);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.profile-button:hover{background:var(--surface-hover)}.profile-button>span:nth-child(2){min-width:0;display:grid}.profile-button strong,.profile-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-button small{color:var(--text-muted);font-size:var(--font-size-xs)}.avatar{width:var(--size-touch-target);height:var(--size-touch-target);border-radius:var(--radius-sm);background:var(--action-soft);color:var(--action-text);font-weight:var(--font-weight-semibold);flex:none;place-items:center;display:inline-grid}.avatar-small{width:var(--space-8);height:var(--space-8)}.avatar-large{width:var(--space-16);height:var(--space-16);font-size:var(--font-size-xl)}.header-account-button{margin-left:auto}.settings-shell{grid-template-columns:var(--layout-sidebar) minmax(0, 1fr);background:var(--surface-canvas);height:100dvh;display:grid}.settings-sidebar{gap:var(--space-4);min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);border-right:var(--border-width) solid var(--border-subtle);background:var(--surface-sidebar);flex-direction:column;display:flex;overflow-y:auto}.settings-navigation{gap:var(--space-1);display:grid}.profile-summary{align-items:center;gap:var(--space-3);padding:var(--space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.profile-summary>span:last-child{min-width:0;display:grid}.profile-summary strong,.profile-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-summary small{color:var(--text-muted)}.settings-main{min-width:0;padding:0 max(var(--space-6), calc((100vw - var(--layout-sidebar) - 60rem) / 2));background:var(--surface-chat);overflow-y:auto}.settings-header{padding:var(--space-10) 0 var(--space-8);border-bottom:var(--border-width) solid var(--border-subtle)}.settings-header h1{margin-top:var(--space-2);font-size:var(--font-size-3xl);font-weight:var(--font-weight-regular)}.settings-header h1+p{margin-top:var(--space-2);color:var(--text-secondary)}.settings-main>.notice,.settings-main>.page-alert{margin-top:var(--space-6)}.notice.success{background:var(--status-success-bg);color:var(--status-success)}.page-alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--status-error-bg);color:var(--status-error);display:flex}.settings-section{padding:var(--space-8) 0 var(--space-16)}.section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-8);margin-bottom:var(--space-8);display:flex}.section-heading h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium)}.section-heading h2+p,.section-heading .eyebrow+h2+p{max-width:40rem;margin-top:var(--space-2);color:var(--text-secondary)}.settings-form{gap:var(--space-6);display:grid}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-wide{grid-column:1/-1}.profile-choice-grid{align-items:start;gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form-actions{padding-top:var(--space-2);justify-content:flex-end;display:flex}.setting-block,.settings-subsection{margin-top:var(--space-10);padding-top:var(--space-6);border-top:var(--border-width) solid var(--border-subtle)}.setting-block{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.setting-block h3,.settings-subsection h3{font-size:var(--font-size-lg)}.setting-block h3+p,.settings-subsection h3+p,.subsection-heading p{margin-top:var(--space-2);color:var(--text-secondary)}.inline-action-form{gap:var(--space-4);width:min(100%,32rem);margin-top:var(--space-5);display:grid}.password-form{grid-template-columns:1fr 1fr;align-items:start;width:100%}.setting-row{align-items:center;gap:var(--space-6);padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(11rem,auto);display:grid}.setting-row p{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm)}.setting-row select{max-width:20rem}.subsection-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.session-list{margin-top:var(--space-4)}.session-row{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--border-width) solid var(--border-subtle);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.session-row>.icon{color:var(--text-muted)}.session-row p{color:var(--text-secondary);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-row small{color:var(--text-muted)}.settings-subsection>.button,.settings-subsection>a.button{margin-top:var(--space-4)}.platform-version{margin-top:var(--space-10);color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.plan-mark{padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--action-soft);color:var(--action-text);font-weight:var(--font-weight-medium);white-space:nowrap}.allowance-meter{margin-bottom:var(--space-8)}.allowance-track{height:var(--space-3);border-radius:var(--radius-full);background:var(--surface-subtle);overflow:hidden}.allowance-track span{border-radius:inherit;background:var(--action-primary);height:100%;display:block}.allowance-meta{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm);display:flex}@media (width<=56rem){.auth-page{grid-template-columns:1fr}.auth-introduction{min-height:auto;padding:var(--space-8)}.auth-introduction>div,.auth-safety{display:none}.auth-form-region{padding:var(--space-8) var(--space-5)}.settings-shell{display:block;overflow-y:auto}.settings-sidebar{border-right:0;border-bottom:var(--border-width) solid var(--border-subtle);min-height:auto;overflow:visible}.settings-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-sidebar .sidebar-bottom .profile-summary{display:none}.settings-main{padding-inline:var(--space-5);overflow:visible}.settings-header{padding-top:var(--space-8)}.password-form{grid-template-columns:1fr;align-items:stretch}.profile-choice-grid{grid-template-columns:1fr}}@media (width<=36rem){.header-account-button{width:var(--size-touch-target);min-width:var(--size-touch-target);padding:0;font-size:0}.header-account-button .avatar{font-size:var(--font-size-sm)}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.section-heading,.setting-block,.subsection-heading,.allowance-meta{flex-direction:column}.setting-row{gap:var(--space-3);grid-template-columns:1fr}.settings-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-content{min-height:22rem;padding:var(--space-6)}.step-label{display:none}}@media (width<=48rem){.app-shell{display:block}.mobile-only{display:inline-flex}.sidebar{z-index:var(--z-navigation);visibility:hidden;width:min(85vw,20rem);box-shadow:var(--elevation-high);transition:transform var(--duration-normal) var(--ease-standard), visibility var(--duration-normal) step-end;position:fixed;inset:0 auto 0 0;transform:translate(-110%)}.sidebar.is-open{visibility:visible;transition:transform var(--duration-normal) var(--ease-standard);transform:none}.sidebar-scrim{z-index:calc(var(--z-navigation) - 1);background:var(--overlay);position:fixed;inset:0}.sidebar-scrim.is-visible{display:block}.chat-main{height:100dvh}.chat-header{padding-inline:var(--space-4)}.conversation{padding:var(--space-6) var(--space-4)}.welcome{min-height:20rem;padding-block:var(--space-8)}.welcome h1{font-size:var(--font-size-2xl)}.suggestions{margin-top:var(--space-6);grid-template-columns:1fr}.suggestion{min-height:var(--size-touch-target);align-items:center;gap:var(--space-3);flex-direction:row}.user-body{max-width:92%}.composer-area{padding:var(--space-2) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom))}.composer-hint{display:none}.character-count{margin-left:0}.send-button,.stop-button{margin-left:auto}.toast{right:max(var(--space-3), env(safe-area-inset-right));bottom:max(var(--space-3), env(safe-area-inset-bottom));max-width:calc(100% - var(--space-6))}}@media (prefers-reduced-motion:reduce){.sidebar{transition-duration:0s}}
