:root{--bg:#f3ebe8;--surface:#fbf6f4;--surface-2:#eadfd9;--border:#d4c4bc;--text:#1c1412;--text-muted:#6e5c56;--accent:#b44a6a;--accent-contrast:#fff8f9;--danger:#b42318;--overlay:#1c141280;--shadow:0 18px 48px #1c14121f;--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--font-ui:"Source Sans 3", "Segoe UI", sans-serif;--font-display:"Source Serif 4", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:10px;--control-min:44px;--now-line:#c2410c;color:var(--text);background:var(--bg);font-family:var(--font-ui)}:root[data-theme=dark]{--bg:#161012;--surface:#1f1719;--surface-2:#2a1f22;--border:#4a3a3e;--text:#f5ebe9;--text-muted:#b5a29e;--accent:#e8a0b4;--accent-contrast:#1c1412;--danger:#f97066;--overlay:#000000a6;--shadow:0 18px 48px #00000073;--now-line:#fb923c}*{box-sizing:border-box}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:var(--focus-ring);outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calendar-app{grid-template-columns:auto minmax(0,1fr);max-width:none;min-height:100vh;margin:0;padding:0;display:grid}.calendar-header{grid-template-columns:minmax(16rem,1fr) auto;align-items:start;gap:20px;width:100%;margin-bottom:8px;display:grid}.eyebrow{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem}.calendar-header h1,.calendar-title{font-family:var(--font-display);flex-direction:column;gap:2px;min-width:0;margin:6px 0 0;font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:600;line-height:1.2;display:flex}.calendar-title-weekday{text-transform:capitalize;white-space:nowrap}.calendar-title-rest{color:var(--text-muted);white-space:nowrap;font-size:.78em;font-weight:550}.toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;justify-self:end;align-items:center;gap:12px;display:flex}.toolbar-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:6px;padding:4px;display:flex}.btn{min-height:var(--control-min);min-width:var(--control-min);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px;transition:background .16s,border-color .16s,color .16s}.btn:hover{background:var(--surface-2)}.btn-ghost{background:0 0;border-color:#0000;font-weight:500}.btn-ghost:hover{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 40%, transparent);font-weight:650}.btn-primary:hover{filter:brightness(1.06);background:var(--accent)}.btn[aria-pressed=true],.btn[aria-current=page]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--text);font-weight:600}.day-timeline{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-height:min(72vh,920px);position:relative;overflow:auto}.day-timeline.is-empty .hour-row{opacity:.42}.hour-row{border-bottom:1px solid var(--border);grid-template-columns:68px 1fr;height:64px;display:grid}.hour-row.is-past{opacity:.48;background:color-mix(in srgb, var(--surface-2) 35%, transparent)}.hour-row.is-now{background:color-mix(in srgb, var(--accent) 6%, transparent)}.hour-row span{color:var(--text-muted);font-family:var(--font-mono);padding:8px;font-size:.78rem}.hour-slot{background:0 0;border:0;min-height:64px}.hour-slot:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.now-line{z-index:3;background:var(--now-line);pointer-events:none;height:2px;box-shadow:0 0 0 1px color-mix(in srgb, var(--now-line) 35%, transparent);position:absolute;left:68px;right:0}.now-line:before{content:"";background:var(--now-line);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.events-layer{pointer-events:none;height:1536px;position:absolute;top:0;left:68px;right:0}.event-block{min-height:56px;color:var(--text);pointer-events:auto;background:color-mix(in srgb, var(--event-bg,var(--accent)) 22%, var(--surface));border:1px solid color-mix(in srgb, var(--event-bg,var(--accent)) 45%, var(--border));border-left:3px solid var(--event-bg,var(--accent));border-radius:8px;padding:8px 10px;position:absolute;left:8px;right:8px}.event-block strong{padding-right:8px;display:block}.event-block-actions{align-items:center;gap:6px;margin-top:6px;display:none}.event-block:hover .event-block-actions,.event-block:focus-within .event-block-actions{flex-wrap:wrap;display:flex}.event-block-actions button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);border-radius:6px;padding:6px 10px}.resize-handle{width:28px;min-width:28px;position:relative;padding:0!important}.resize-handle:after{content:"";background:var(--text-muted);height:2px;box-shadow:0 -4px 0 var(--text-muted), 0 4px 0 var(--text-muted);position:absolute;top:50%;left:6px;right:6px}.day-empty{z-index:2;pointer-events:none;justify-items:start;gap:12px;display:grid;position:absolute;inset:24px 24px auto 92px}.day-empty .btn{pointer-events:auto}.event-form-backdrop{z-index:100;background:var(--overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.event-form-card{background:var(--surface);width:min(460px,100%);max-height:min(90vh,920px);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;gap:12px;margin:auto;padding:20px;display:grid;overflow:auto}.event-form-card h2{font-family:var(--font-display);margin:0}.event-form-card label{color:var(--text);gap:5px;display:grid}.event-form-card fieldset{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:6px;margin:0;padding:10px 12px;display:grid}.event-form-card fieldset label{align-items:center;gap:8px;display:flex}.event-form-card input,.event-form-card textarea,.event-form-card select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px}.form-disclosure{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:8px 12px}.form-disclosure summary{cursor:pointer;align-items:center;min-height:36px;font-weight:600;display:flex}.form-disclosure[open] summary{margin-bottom:8px}.form-disclosure fieldset,.form-disclosure label{margin-top:8px}.form-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.form-actions-sticky{background:color-mix(in srgb, var(--surface) 92%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin:8px -20px -20px;padding:12px 20px;position:sticky;bottom:0}.fab-new-event{display:none}.status-banner{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;margin-top:12px;padding:10px 14px}.search-results{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.search-hit{width:100%;min-height:var(--control-min);text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.search-hit:hover{background:var(--surface-2)}.search-hit-type{color:var(--text-muted);min-width:4.5rem;font-size:.85rem}@media (prefers-reduced-motion:reduce){.btn,.event-block,.app-nav button{transition:none}}@media (width<=600px){.calendar-app{grid-template-columns:1fr;min-height:100vh;padding:0}.app-sidebar{display:contents}.app-sidebar-brand,.app-sidebar-toggle{display:none}.app-sidebar.is-collapsed .app-nav{display:flex}.app-main{padding:12px 10px calc(72px + env(safe-area-inset-bottom,0px));max-width:none}.app-nav{z-index:60;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-flow:row;justify-content:space-around;gap:0;margin:0;position:fixed;bottom:0;left:0;right:0}.app-nav button{text-align:center;background:0 0;border:0;border-radius:10px;flex:1 1 0;min-width:0;padding:8px 4px;font-size:.72rem;line-height:1.2}.app-nav button[aria-current=page]{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text)}.calendar-header{grid-template-columns:1fr;gap:12px}.calendar-header .toolbar{justify-self:stretch}.toolbar-scroll{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding-bottom:4px;overflow-x:auto}.toolbar-group{flex:none}.desktop-new-event{display:none!important}.fab-new-event{z-index:55;right:16px;bottom:calc(72px + env(safe-area-inset-bottom,0px));background:var(--accent);width:56px;height:56px;color:var(--accent-contrast);box-shadow:var(--shadow);border:0;border-radius:50%;place-items:center;font-size:1.75rem;font-weight:500;display:grid;position:fixed}.day-timeline{touch-action:pan-y;max-height:min(62vh,720px)}.day-empty{max-width:calc(100% - 100px);inset:16px 12px auto 76px}.event-block-actions{display:flex}.event-block.no-drag .resize-handle{display:none}.event-form-backdrop{align-items:end;padding:0}.event-form-card{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:min(92dvh,920px);padding-bottom:0}.form-actions-sticky{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.side-panel{margin-top:8px}.side-panel li,.side-panel form button,.side-panel input{min-height:var(--control-min)}}.week-calendar{margin-top:8px}.month-controls{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}.month-controls strong{font-family:var(--font-display);font-weight:600}.week-grid{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:68px repeat(7,minmax(110px,1fr));display:grid;overflow-x:auto}.week-day-head,.week-time-head{border-bottom:1px solid var(--border);text-align:center;min-height:48px;color:var(--text);background:var(--surface-2);font-family:var(--font-ui);padding:8px}.week-day-head.is-selected{color:var(--accent-contrast);background:var(--accent)}.week-row{display:contents}.week-row>span{height:64px;color:var(--text-muted);border-bottom:1px solid var(--border);font-family:var(--font-mono);background:var(--surface);padding:8px;font-size:.78rem}.week-cell{border-left:1px solid var(--border);border-bottom:1px solid var(--border);height:64px;position:relative}.week-event{z-index:1;color:var(--text);cursor:pointer;background:color-mix(in srgb, var(--event-bg,var(--accent)) 24%, var(--surface));border:1px solid color-mix(in srgb, var(--event-bg,var(--accent)) 50%, var(--border));border-left:3px solid var(--event-bg,var(--accent));border-radius:6px;padding:4px 6px;font-size:.75rem;position:absolute;overflow:hidden}.week-event:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=600px){.week-grid{-webkit-overflow-scrolling:touch;grid-template-columns:52px repeat(7,minmax(72px,1fr))}.week-time-head,.week-row>span{z-index:2;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.week-time-head{background:var(--surface-2)}.week-row>span{background:var(--surface);height:56px}.week-day-head{min-height:48px}.week-cell{height:56px;min-height:56px}}.month-calendar{margin-top:8px}.month-grid{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.month-grid>b{text-align:center;background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-muted);padding:10px 8px;font-size:.85rem}.month-grid>button{text-align:left;vertical-align:top;border:1px solid var(--border);background:var(--surface);min-height:92px;color:var(--text);cursor:pointer;padding:8px}.month-grid>button:hover{background:var(--surface-2)}.month-grid>button.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.month-grid>button.is-selected{background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.month-grid small{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);margin-top:4px;font-size:.75rem;display:block;overflow:hidden}.other-month{color:var(--text-muted);opacity:.7}@media (width<=600px){.month-controls{gap:8px}.month-grid>button{min-height:76px;padding:6px;font-size:.8rem}.month-grid>button.is-today{box-shadow:inset 0 0 0 2px var(--accent);font-weight:600}.month-grid>button.is-selected{background:color-mix(in srgb, var(--accent) 18%, var(--surface))}}.app-sidebar{border-right:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--bg));flex-direction:column;align-self:start;gap:20px;width:200px;min-height:100vh;padding:24px 14px;transition:width .18s,padding .18s;display:flex;position:sticky;top:0}.app-sidebar.is-collapsed{align-items:center;gap:0;width:52px;padding:16px 6px}.app-sidebar.is-collapsed .app-sidebar-brand,.app-sidebar.is-collapsed .app-nav{display:none}.app-sidebar-brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 8px 4px;font-size:1.15rem;font-weight:600}.app-nav{flex-flow:column;flex:auto;gap:4px;margin:0;display:flex}.app-nav button{min-height:var(--control-min);color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;padding:10px 12px;font-weight:500}.app-nav button:hover{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.app-nav button[aria-current=page]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.app-sidebar-toggle{width:100%;min-height:var(--control-min);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;justify-content:center;align-items:center;margin-top:auto;font-size:1.35rem;line-height:1;display:inline-flex}.app-sidebar-toggle:hover{background:var(--surface-2)}.app-sidebar.is-collapsed .app-sidebar-toggle{width:40px;padding:0}.app-main{width:100%;min-width:0;max-width:1100px;margin:0 auto;padding:24px 28px 48px}.filters{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 16px;display:flex}.filters label{color:var(--text-muted);gap:6px;font-size:.9rem;display:grid}.filters input,.filters select{min-height:var(--control-min);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 10px}.side-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:16px}.side-panel.is-flat{background:0 0;border:0;border-radius:0;padding:8px 0 24px}.side-panel ul{margin:0;padding:0;list-style:none}.side-panel li{min-height:var(--control-min);align-items:center;gap:8px;margin:8px 0;display:flex}.side-panel form{gap:12px;margin-bottom:20px;display:grid}.side-panel h1,.side-panel h2{font-family:var(--font-display);margin:0 0 8px}.side-panel h2{margin-top:16px;font-size:1.05rem}.side-panel.is-flat>h1{letter-spacing:-.02em;margin:0 0 16px;font-size:1.65rem;font-weight:600}.tasks-panel.is-dock{background:0 0;border:0;border-radius:0;margin-top:0;padding:0}.tasks-panel.is-dock h2{margin-top:0;font-size:1rem}.task-composer{gap:12px;margin-bottom:20px;display:grid}.side-panel form.task-composer.is-line{background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;padding:0;display:flex}.task-composer.is-line .task-composer-title{min-width:0;min-height:var(--control-min);border:0;border-bottom:1px solid var(--border);color:var(--text);font:inherit;background:0 0;border-radius:0;flex:220px;padding:8px 2px}.task-composer.is-line .task-composer-title:focus{border-bottom-color:var(--accent);box-shadow:none;outline:none}.task-composer.is-line .task-composer-date{min-height:var(--control-min);border:0;border-bottom:1px solid var(--border);color:var(--text);font:inherit;background:0 0;border-radius:0;padding:8px 2px}.task-composer.is-line .date-shortcuts{flex:auto}.task-composer.is-line .date-shortcuts button{background:0 0;border-color:#0000;border-bottom-style:solid;border-bottom-width:1px;border-radius:0;padding:6px 8px}.task-composer.is-line .date-shortcuts button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);background:0 0;font-weight:600}.list-item-composer input{width:100%;min-height:var(--control-min);border:0;border-bottom:1px solid var(--border);color:var(--text);font:inherit;background:0 0;border-radius:0;padding:8px 2px}.task-buckets,.list-stack{gap:28px;display:grid}.task-bucket,.list-card{gap:0;display:grid}.list-card.is-flat{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;padding:16px 0 0}.task-bucket-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:0;padding-bottom:8px;display:flex}.task-bucket-header h2{margin:0;font-size:1.05rem}.task-bucket-count{font-family:var(--font-mono);color:var(--text-muted);text-align:right;min-width:1.5em;font-size:.8rem}.task-list{display:block}.side-panel .task-row,.side-panel .trash-row{min-height:var(--control-min);border:0;border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 10px;margin:0;padding:10px 2px;display:grid}.task-row-main{cursor:pointer;align-items:center;gap:12px;min-width:0;display:flex}.task-row-main input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none}.task-row-title{overflow-wrap:anywhere;min-width:0;color:var(--text);font-weight:500}.task-row.is-completed .task-row-title{color:var(--text-muted);font-weight:400;text-decoration:line-through}.task-row-due{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;font-size:.75rem}.task-row-delete{justify-self:end}.list-item-composer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:8px 0 0;display:grid}.trash-list{border-top:1px solid var(--border);display:block}.trash-row{grid-template-columns:minmax(0,1fr) auto}.trash-row-main{gap:2px;min-width:0;display:grid}.trash-row-type{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.trash-row-title{overflow-wrap:anywhere;font-weight:500}@media (width<=600px){.task-composer.is-line{flex-direction:column;align-items:stretch}.task-composer.is-line .btn-primary{bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:5;position:sticky}.task-row,.trash-row{grid-template-columns:minmax(0,1fr);gap:6px}.task-row-due,.task-row-delete,.trash-row .btn{justify-self:start}.list-item-composer{grid-template-columns:1fr}}.empty-state{color:var(--text-muted);margin:10px 0 4px}.empty-hint{color:var(--text-muted);font-size:.9rem}.plan-block{background:var(--surface-2);border-left:2px solid;border-radius:0 8px 8px 0;margin:8px 0;padding:8px 12px}.search-results{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:12px}.hint{color:var(--text-muted);font-size:.9rem}.date-field{gap:8px;display:grid}.date-field>span{font-weight:600}.date-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.date-shortcuts button{min-height:var(--control-min);border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:8px 12px}.date-shortcuts button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.calendar-dock{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:16px;overflow:hidden}.calendar-dock summary{cursor:pointer;min-height:var(--control-min);background:var(--surface-2);align-items:center;gap:8px;padding:14px 16px;font-weight:600;list-style:none;display:flex}.calendar-dock summary::-webkit-details-marker{display:none}.calendar-dock[open] summary{border-bottom:1px solid var(--border)}.calendar-dock .dock-body{padding:12px 16px 16px}.shortcut-list{color:var(--text-muted);margin:8px 0 0;padding-left:18px}.settings-panel{gap:20px;display:grid}.settings-block{gap:10px;display:grid}.settings-label{color:var(--text);margin:0;font-weight:600}.theme-toggle{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;max-width:360px;padding:6px;display:grid}.theme-option{min-height:var(--control-min);color:var(--text-muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-weight:500;transition:background .16s,color .16s,box-shadow .16s;display:inline-flex}.theme-option:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 70%, transparent)}.theme-option[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.theme-icon{color:inherit;display:inline-flex}.settings-check{min-height:var(--control-min);align-items:center;gap:10px;font-weight:500;display:flex}.file-import{color:var(--text-muted);gap:8px;font-size:.95rem;display:grid}.file-import input[type=file]{max-width:100%}@media (prefers-reduced-motion:reduce){.theme-option{transition:none}}.smart-day{gap:16px;display:grid}.smart-day-clock{font-variant-numeric:tabular-nums;color:var(--text-muted);margin:0;font-size:1.4rem}.smart-day-card,.smart-day-next{border:1px solid var(--border);background:var(--surface);gap:6px;padding:16px 18px;display:grid}.smart-day-overlap{color:var(--text-muted);font-size:.92rem}.chat-shell{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-rows:auto minmax(360px,62vh) auto;gap:0;max-width:820px;min-height:min(72vh,720px);margin:0 auto;display:grid;overflow:hidden}.assistant-section{margin:0}.assistant-section[hidden]{display:none!important}.assistant-section .chat-shell{max-width:none;height:calc(100vh - 96px);min-height:min(78vh,820px)}.chat-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=600px){.toolbar button{min-height:var(--control-min)}.theme-toggle{max-width:none}.assistant-section .chat-shell{height:calc(100vh - 88px - env(safe-area-inset-bottom,0px));border:0;border-radius:0;grid-template-rows:auto 1fr auto;min-height:0}.chat-row{max-width:100%}}.chat-topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--bg));justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.chat-topbar h1{font-family:var(--font-display);margin:0;font-size:1.35rem;font-weight:600}.chat-topbar p{color:var(--text-muted);margin:4px 0 0;font-size:.88rem}.chat-phase{border:1px solid var(--border);background:var(--surface-2);min-height:36px;color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.85rem;display:inline-flex}.chat-phase.is-recording{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));color:var(--danger)}.chat-phase-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.1s ease-out infinite chat-pulse}.chat-thread{scroll-behavior:smooth;flex-direction:column;gap:14px;padding:18px 16px 12px;display:flex;overflow:auto}.chat-row{gap:10px;max-width:min(92%,640px);animation:.22s cubic-bezier(.16,1,.3,1) both chat-in;display:flex}.chat-row-user{flex-direction:row-reverse;align-self:flex-end}.chat-row-assistant,.chat-row-system{align-self:flex-start}.chat-avatar{background:color-mix(in srgb, var(--accent) 18%, var(--surface-2));width:28px;height:28px;color:var(--accent);border-radius:9px;flex:none;place-items:center;margin-top:2px;font-size:.75rem;font-weight:700;display:grid}.chat-bubble{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:14px;padding:12px 14px}.chat-row-user .chat-bubble{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.chat-row.is-error .chat-bubble{border-color:color-mix(in srgb, var(--danger) 50%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.chat-row.is-pending .chat-bubble{color:var(--text-muted)}.chat-bubble>p{white-space:pre-wrap;margin:0;line-height:1.45}.chat-draft{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:12px;display:grid}.chat-draft-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:.8rem;display:flex}.chat-draft-meta span{background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.chat-draft-hint{color:var(--text-muted);margin:0;font-size:.9rem}.chat-draft-recurrence{color:var(--text);font-weight:500}.chat-draft-weekdays{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:8px 12px;margin:0;padding:8px 10px;display:flex}.chat-draft-weekdays legend{color:var(--text-muted);padding:0 4px;font-size:.88rem}.chat-draft-weekday{color:var(--text);align-items:center;gap:6px;font-size:.88rem;grid:none!important;display:inline-flex!important}.chat-draft-weekday input{width:auto;min-height:0;margin:0}.chat-draft-actions{flex-wrap:wrap;gap:8px;display:flex}.chat-draft-form{gap:10px;margin-top:4px;display:grid}.chat-draft-form label{color:var(--text-muted);gap:5px;font-size:.88rem;display:grid}.chat-draft-form input,.chat-draft-form select,.chat-draft-form textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:40px;color:var(--text);border-radius:10px;padding:8px 10px}.chat-draft-form textarea{resize:vertical;min-height:64px}.chat-composer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--bg));gap:10px;padding:14px 16px 16px;display:grid}.chat-composer textarea{resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:52px;max-height:160px;color:var(--text);border-radius:14px;padding:12px 14px;line-height:1.4}.chat-composer textarea:disabled{opacity:.7}.chat-composer-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.chat-mic{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:12px;place-items:center;display:inline-grid}.chat-mic.is-on{background:color-mix(in srgb, var(--danger) 16%, var(--surface));border-color:color-mix(in srgb, var(--danger) 45%, var(--border));color:var(--danger);animation:1.1s ease-out infinite chat-pulse}.chat-send{min-width:120px}@keyframes chat-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes chat-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.chat-row,.chat-phase-dot,.chat-mic.is-on{animation:none}.chat-thread{scroll-behavior:auto}}.login-shell{background:radial-gradient(ellipse 80% 50% at 20% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:12px;width:min(100%,360px);padding:28px 24px;display:grid}.login-brand{font-family:var(--font-display);color:var(--accent);margin:0;font-size:1.35rem}.login-card h1{margin:0;font-size:1.5rem}.login-hint{color:var(--text-muted);margin:0;font-size:.92rem}.login-card label{color:var(--text-muted);gap:6px;font-size:.88rem;display:grid}.login-card input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:42px;color:var(--text);border-radius:10px;padding:8px 12px}.login-error{color:#b42318;margin:0;font-size:.9rem}.login-card .btn{width:100%;margin-top:4px}
