:root{font-family:'Segoe UI',Arial,sans-serif;font-size:15px;color-scheme:light;--page:#f5f6f8;--card:#fffdfa;--side:#eeeff2;--ink:#252c36;--muted:#677383;--line:#e2e1df;--field:#fff;--soft:#f4f1f8;--orange:#ff963f;--violet:#8162b0;--teal:#269e95;--shadow:0 8px 28px #242b3507;background:var(--page);color:var(--ink)}
:root[data-theme="dark"]{color-scheme:dark;--page:#252a33;--card:#333a45;--side:#2c323d;--ink:#f4f3f0;--muted:#bec6cf;--line:#525966;--field:#2b313b;--soft:#3a3546;--violet:#bca1e0;--teal:#76d5c3;--shadow:0 8px 28px #10141b12}
*{box-sizing:border-box}body{margin:0;background:var(--page)}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:11px 16px;background:var(--field);color:var(--ink);transition:background .16s,border-color .16s,transform .16s}button:hover:not(:disabled){border-color:var(--orange);transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.6}.primary{background:var(--orange);border-color:#ffaf6a;color:#34200d;font-weight:650;box-shadow:0 4px 15px #ff963f15}.primary:hover:not(:disabled){background:#ffad60}button:focus-visible,input:focus,textarea:focus,select:focus{outline:2px solid var(--violet);outline-offset:2px}[hidden]{display:none!important}
header{position:sticky;top:0;z-index:100;height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:var(--card);border-bottom:1px solid var(--line);color:var(--ink)}header strong{font-size:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:44px;border-radius:13px;background:#fff;flex-shrink:0}.brand-ai{color:#ed7b2b}.tag{font-size:11px;margin-left:18px;padding:6px 10px;border-radius:20px;background:#fff0e5;color:#9d5420;border:1px solid #f1d5bd}.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}header button{border-radius:20px;background:transparent}[data-theme="dark"] .tag{background:#533e30;border-color:#94633f;color:#ffca9c}
main{max-width:1500px;margin:auto;display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 84px)}aside{background:var(--side);padding:35px 24px;border-right:1px solid var(--line)}h1{font-size:30px;margin:8px 0 25px;letter-spacing:-.8px}h2{font-size:19px;margin:12px 0 20px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:650}nav{display:grid;gap:8px;margin-top:35px}nav button{position:relative;text-align:left;background:transparent;border-color:transparent;padding-left:30px;border-radius:14px}nav button::before{content:'';position:absolute;left:12px;top:50%;width:6px;height:6px;border-radius:50%;transform:translateY(-50%);background:var(--violet)}nav button[data-view="calendar"]::before,nav button[data-view="done"]::before{background:var(--teal)}nav button[data-view="reminders"]::before{background:var(--orange)}nav button.active{background:var(--card);border-left:3px solid var(--orange);font-weight:650;box-shadow:var(--shadow)}nav span{float:right;color:#b96323}.local-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:65px}.content{padding:36px 42px;min-width:0}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:5px 0 28px}.stats>div,.panel,.auth{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.stats>div{border-top:3px solid var(--violet)}.stats>div:nth-child(2){border-top-color:var(--orange)}.stats>div:nth-child(3){border-top-color:var(--teal)}.stats span{color:var(--muted);display:block;font-size:13px}.stats strong{font-size:28px;display:block;margin-top:12px}.panel{margin:20px 0}label{display:grid;gap:8px;font-size:13px;margin:16px 0}input,textarea{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--field);color:var(--ink);min-width:0;width:100%}input::placeholder,textarea::placeholder{color:var(--muted)}input[type="checkbox"]{width:auto;justify-self:start}select{padding:12px;border:1px solid var(--line);border-radius:10px;max-width:100%;background:var(--field);color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.muted{color:var(--muted);font-size:12px;line-height:1.6}.search input{max-width:480px}.ai-box{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:20px}.ai-box summary{cursor:pointer;font-weight:650}
.task{display:flex;align-items:flex-start;gap:18px;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--violet);border-radius:16px;padding:23px;margin:12px 0;box-shadow:var(--shadow)}.task:nth-child(even){border-left-color:var(--teal)}.task h3{margin:0 0 8px;font-size:17px;overflow-wrap:anywhere}.task p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);line-height:1.6;font-size:13px}.task time{font-size:12px;color:var(--muted)}.task.overdue{border-left-color:var(--orange)}.task.overdue time{color:#b96629}.task button{flex-shrink:0}.empty{padding:44px 20px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.auth{max-width:500px;margin:60px auto;padding:32px}.auth h1{font-size:28px}#message{position:sticky;bottom:14px;max-width:650px;margin:0 auto;padding:0 20px;background:#fff0db;color:#743b0c;border-radius:9px;line-height:2.5}#message:empty{display:none}
.calendar-toolbar{margin-bottom:20px}.calendar-toolbar [aria-pressed="true"]{border:2px solid var(--orange)}.calendar-scroll{overflow-x:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px;gap:6px}.calendar-weekday{text-align:center;font-weight:650;padding:8px}.calendar-day{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:7px;min-height:125px;min-width:0}.calendar-date{padding:5px 9px;border-color:transparent;background:transparent;font-weight:650}.calendar-current{outline:2px solid var(--orange);outline-offset:-2px}.calendar-outside .calendar-date{opacity:.55}.calendar-task{display:block;width:100%;padding:7px;text-align:left;margin-top:5px;font-size:12px;overflow-wrap:anywhere;background:var(--soft)}.calendar-overdue{border-left:4px solid var(--orange)}.calendar-done{text-decoration:line-through;opacity:.75}
#assistant-page{max-width:820px;margin:0 auto;min-height:calc(100dvh - 150px);display:flex;flex-direction:column}.assistant-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:17px;font-weight:600}.assistant-top button{background:transparent;border-color:transparent;font-size:13px;padding:8px 12px}.assistant-signature{display:flex;align-items:center;gap:10px}.assistant-signature .brand-mark{width:33px;height:30px}.assistant-welcome{text-align:center;margin:auto 0;padding:28px 8px 20px}.assistant-welcome>.brand-mark{width:98px;height:84px;border-radius:25px;box-shadow:var(--shadow);margin-bottom:16px}.assistant-welcome h1{font-weight:600;font-size:31px;letter-spacing:-.7px;margin:0 0 14px}.assistant-welcome p{color:var(--muted);font-size:15px}.assistant-suggestions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:24px}.assistant-suggestions button{font-size:12px;border-radius:16px;background:var(--card);padding:11px 14px}.assistant-suggestions button span{color:var(--violet);margin-right:5px;font-size:16px}.assistant-suggestions button:nth-child(2) span{color:var(--teal)}.assistant-suggestions button:nth-child(3) span{color:#bc6b30}
.my-day{margin:10px 0 6px;padding:15px 17px;border:1px solid var(--line);border-top:2px solid var(--violet);border-radius:16px;background:var(--card)}.my-day-title{font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}.my-day-title span{font-size:11px;font-weight:400;color:var(--muted)}.my-day-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.my-day-item{flex:1;min-width:150px;max-width:100%;text-align:left;background:var(--soft);border:0;border-radius:10px;padding:10px 12px;overflow-wrap:anywhere}.my-day-item span{font-size:10px;color:var(--muted);display:block;margin-bottom:4px}.my-day-item strong{font-size:12px;font-weight:500}.my-day-empty{font-size:12px;color:var(--muted)}
.assistant-messages{display:flex;flex-direction:column;gap:28px;flex:1;margin:20px 0;padding:0 4px}.assistant-messages:empty{display:none}.assistant-message{max-width:100%;padding:0;font-size:15px;line-height:1.75;overflow-wrap:anywhere}.assistant-message>strong{font-size:12px;color:var(--muted)}.assistant-message p{white-space:pre-wrap;margin:7px 0 0;line-height:1.75}.assistant-user{max-width:85%;border-radius:22px 22px 6px 22px;background:var(--soft);padding:12px 20px;align-self:flex-end}.assistant-user strong{display:none}.assistant-user p{margin:0}.assistant-answer{align-self:flex-start;width:100%;padding:0 4px}.assistant-answer>strong{color:var(--violet)}.assistant-answer button{margin-top:14px;margin-right:7px;font-size:12px;padding:8px 12px}
.assistant-bottom{margin-top:auto;position:sticky;bottom:0;padding:14px 0 8px;background:var(--page)}.assistant-composer{border:1px solid var(--line);border-radius:28px;padding:16px 16px 12px;background:var(--card);box-shadow:0 6px 25px #242b3507}.assistant-composer:focus-within{border-color:var(--violet)}.assistant-composer label{margin:0 0 12px}#assistant-page textarea{border:0;outline:none;resize:none;background:transparent;box-shadow:none;padding:5px 8px;font-size:16px;line-height:1.5;min-height:65px;max-height:180px}.assistant-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.assistant-local{font-size:12px;color:var(--muted);padding-left:8px}.assistant-input-tools{display:flex;align-items:center;gap:10px}#assistant-send,#assistant-mic{width:40px;height:40px;border-radius:50%;padding:0;display:grid;place-items:center}#assistant-send{font-size:26px;font-weight:400;line-height:1}#assistant-mic{background:transparent;color:var(--violet);border-color:transparent}#assistant-mic[aria-pressed="true"]{background:#a3443b;color:#fff;animation:mic-breathe 1.5s ease-in-out infinite}.assistant-caption,.assistant-help{font-size:11px;text-align:center;line-height:1.5;color:var(--muted);margin:10px 0 0}.assistant-help{margin-top:4px}.assistant-help summary{cursor:pointer}.assistant-help p{max-width:650px;margin:8px auto}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}audio{max-width:100%}
@keyframes mic-breathe{50%{box-shadow:0 0 0 7px #ff963f25}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:760px){header{padding:12px 16px;height:auto;gap:10px}header strong{font-size:16px}.brand{gap:8px;flex-wrap:wrap}.brand-mark{width:36px;height:32px}.tag{margin-left:0}main{display:block}aside{padding:20px;border-right:0;border-bottom:1px solid var(--line)}aside h2,.local-note{display:none}nav{margin:14px 0 0;grid-template-columns:1fr 1fr;gap:6px}nav button{font-size:13px;padding-top:10px;padding-bottom:10px}.content{padding:24px 16px}.page-title{align-items:flex-start;flex-direction:column;gap:0}.page-title button{margin-bottom:20px}h1{font-size:27px}.stats{gap:8px}.stats>div{padding:13px}.stats span{font-size:11px}.stats strong{font-size:24px}.form-row{grid-template-columns:1fr;gap:0}.task{flex-direction:column;gap:12px}.auth{margin:25px 15px;padding:24px}#assistant-page{min-height:calc(100dvh - 180px)}.assistant-welcome h1{font-size:25px}.assistant-suggestions button{padding:10px;font-size:11px}.my-day-title span{display:none}.my-day-item{min-width:130px}.assistant-user{max-width:92%}}

.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.settings-grid .panel{margin:0;padding:22px;min-width:0}.settings-card h2{display:flex;gap:9px;align-items:center;font-size:18px;margin-top:0}.settings-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;color:var(--violet);background:var(--soft);border-radius:9px;font-size:20px}.settings-card p{font-size:13px;line-height:1.65}.settings-card button{max-width:100%}.settings-card select{width:100%}.settings-card details{margin-top:16px;font-size:12px;color:var(--muted)}.settings-card summary{cursor:pointer}.settings-license{margin-top:20px}.theme-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-choices button{padding:10px;font-size:12px;text-align:left}.theme-choices [aria-pressed="true"]{border:2px solid var(--orange);padding:9px}.theme-preview{display:block;height:58px;border:1px solid #ccc;border-radius:7px;margin-bottom:8px;position:relative;overflow:hidden}.theme-preview::before{content:'';position:absolute;inset:12px 9px 8px 25%;border-radius:4px;border-left:3px solid var(--orange)}.theme-preview-light{background:#f3f4f7}.theme-preview-light::before{background:#fff}.theme-preview-dark{background:#252a33}.theme-preview-dark::before{background:#414956}.connection-badge{display:inline-flex;align-items:center;gap:7px;border-radius:30px;padding:5px 11px;font-size:12px!important;font-weight:600;background:#eef0f4;color:#596575;margin:0 0 6px}.connection-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.connection-badge[data-state="connected"]{background:#e1f4ea;color:#21694b}.connection-badge[data-state="setup"]{background:#fff0d6;color:#855b13}.connection-badge[data-state="offline"]{background:#fce9e7;color:#a33e36}[data-theme="dark"] .connection-badge[data-state="connected"]{background:#294e40;color:#b2e7cb}[data-theme="dark"] .connection-badge[data-state="setup"]{background:#55452d;color:#f5d599}[data-theme="dark"] .connection-badge[data-state="offline"]{background:#583735;color:#ffc2bc}@media(max-width:1150px){.settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}

/* Four settings cards form two balanced rows. */
.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}.settings-grid .settings-card{display:flex;flex-direction:column;padding:24px}.settings-card .theme-choices{max-width:330px}.settings-card .service-details{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.settings-card .service-details summary{font-size:12px;color:var(--muted)}.settings-card>button{align-self:flex-start}@media(max-width:760px){.settings-grid{grid-template-columns:1fr;gap:14px}.settings-grid .settings-card{padding:20px}}

.web-search-toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin:0!important;cursor:pointer}.web-search-toggle input{width:16px;height:16px;accent-color:var(--orange)}.answer-sources{margin-top:16px;padding:12px 14px;background:var(--soft);border-radius:12px}.answer-sources strong{display:block;margin-bottom:7px}.answer-sources a{display:block;color:var(--violet);font-size:12px;line-height:1.6;margin:5px 0;overflow-wrap:anywhere}

.assistant-user p{color:#ad4b07;font-weight:500}[data-theme="dark"] .assistant-user p{color:#ffb36d}.answer-typing::after{content:'▍';color:var(--orange);margin-left:2px;animation:typing-caret .8s steps(2,start) infinite}.typing-skip{font-size:11px!important;color:var(--muted);background:transparent!important;border-style:dashed!important}@keyframes typing-caret{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.answer-typing::after{animation:none}}
/* Compact system typography for chat; native font on Apple devices. */
:root{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Arial,sans-serif}
#assistant-page textarea{font-family:inherit;font-size:14px;font-weight:400;line-height:1.55;letter-spacing:normal}
.assistant-message{font-family:inherit;font-size:14px;font-weight:400;letter-spacing:normal}
.assistant-user p{font-weight:400}
#assistant-page textarea::placeholder{font-size:14px;font-weight:400}
@media(max-width:760px){#assistant-page textarea,#assistant-page textarea::placeholder{font-size:16px}}

.assistant-waiting p{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:500}.assistant-waiting p::after{content:"";width:6px;height:6px;border-radius:50%;background:#ff8a32;box-shadow:10px 0 #ff8a32,20px 0 #ff8a32;margin-right:22px;animation:secretary-wait 1.1s ease-in-out infinite}.assistant-waiting{border-left:3px solid #ff8a32;padding-left:14px}@keyframes secretary-wait{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.assistant-waiting p::after{animation:none}}

.chat-history{margin:14px 0;color:var(--muted);font-size:13px}.chat-history summary{cursor:pointer}#chat-history-list{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}#chat-history-list button{max-width:100%;text-align:left;overflow-wrap:anywhere;font-size:13px}

@media(max-width:760px){header{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}header .tag{display:none}header strong{font-size:15px}.header-actions{gap:6px}header button{font-size:12px;padding:9px 11px}.assistant-bottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}.assistant-composer textarea{font-size:16px}.chat-history input{font-size:16px}#chat-history-list button{overflow-wrap:anywhere}.assistant-suggestions button{min-height:44px}input,textarea,select{font-size:16px}.content{overflow-wrap:anywhere}}
