@charset "UTF-8";
.update-required{flex:none;margin:0;padding:10px 24px;background:#f8f0de;color:#806535;border-bottom:1px solid #e8dcc2;font-size:12px;line-height:1.7}
.todo-date-edit{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.todo-date-edit label{font-size:11px;margin:0;color:var(--muted);font-weight:400}.todo-date-edit input{width:auto;min-width:0;font-size:12px;padding:7px 10px}.todo-date-edit .text-button{margin-left:auto}.plan-snapshot .memory-reference{cursor:default}.plan-snapshot .field-note{overflow-wrap:anywhere}@media(max-width:700px){.todo-date-edit input{flex:1;max-width:190px}.section-heading>[data-prompt]{margin-top:15px}}
.usage-breakdown{display:grid;gap:8px;margin:18px 0}.usage-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}.usage-row strong{margin-left:auto;font-weight:550}.usage-row small{flex-basis:100%;color:var(--muted);font-size:10px}.todo-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:24px 0}.todo-form>div:first-child{flex:1;min-width:200px}.todo-form label{margin:0 0 7px;font-size:12px}.todo-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0;color:var(--muted);font-size:12px}.todo-filters label{margin:0}.todo-filters select{font:inherit;background:#fff;color:var(--ink);border:1px solid var(--line);padding:9px 12px;border-radius:7px}.todo-filters select:focus{outline:2px solid #91b5a9}.todo-list{display:grid;gap:12px}.todo-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff;min-width:0}.todo-card h2{font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}.todo-done h2{text-decoration:line-through;color:var(--muted)}.todo-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.todo-actions .secondary{font-size:12px;padding:7px 12px;min-height:35px}@media(max-width:700px){.todo-form>div:first-child{flex-basis:100%}.todo-form>div:nth-child(2){flex:1}.todo-form input[type=date]{min-width:0}.todo-filters>span{flex-basis:100%}}
.memory-processing{max-width:770px;margin:4px auto 18px;padding:0 27px;font-size:11px;color:#6e8878}.memory-processing-error{color:#987344}
.memory-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}.memory-tools>div:first-child{flex:1;min-width:180px}.memory-tools label{font-size:11px;margin:0 0 6px}.memory-tools select{font:inherit;color:var(--ink);border:1px solid #cfdbd5;border-radius:8px;background:#fff;padding:11px 12px;max-width:100%}.memory-tools select:focus{outline:2px solid #91b5a9;outline-offset:1px}.memory-tools .text-button{min-height:42px}.memory-references{margin:10px 0 0 29px;font-size:11px;color:var(--muted)}.memory-references summary{cursor:pointer;min-height:28px;padding:4px 0}.memory-references summary:focus-visible{outline:2px solid #91b5a9}.memory-references .field-note{font-size:10px;margin:5px 0 8px}.memory-reference{display:block;width:100%;text-align:left;background:#eef3f1;border-radius:7px;padding:10px 12px;color:var(--ink);margin-top:6px}.memory-reference strong{display:block;font-size:11px;font-weight:550}.memory-reference span{display:block;color:var(--muted);font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:3px}.source-highlight{outline:2px solid #729e87;outline-offset:5px;scroll-margin:30px}@media(prefers-reduced-motion:no-preference){.source-highlight{animation:source-flash 2s ease-out}@keyframes source-flash{from{background:#dcecdf}to{background:transparent}}}@media(max-width:700px){.memory-tools>div:first-child{flex-basis:100%}.memory-tools>div:nth-child(2){flex:1}.memory-tools select{width:100%}}
.auto-memory-notice{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;color:#5c7b64;font-size:11px;margin-top:7px}.auto-memory-notice>span{max-width:85%;overflow-wrap:anywhere}.auto-memory-notice .text-button{font-size:10px;max-width:100%;overflow-wrap:anywhere;text-align:left}.memory-capture-error{font-size:11px;color:#9c7d52;margin:7px 0 0;text-align:right}
.memory-proposal{max-width:580px;margin:12px 0 12px auto;padding:16px 18px;border:1px solid #b8cdbf;border-radius:10px;background:#f0f6f1;text-align:left}.proposal-label{font-size:11px;font-weight:600;color:#3f6a50}.memory-proposal p{font-size:13px;line-height:1.85;margin:7px 0 12px;white-space:pre-wrap}.memory-proposal .proposal-previous{font-size:11px;color:#8b7658}.proposal-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.proposal-actions .primary,.proposal-actions .secondary{font-size:11px;padding:7px 11px;min-height:35px}.memory-proposal small{display:block;font-size:10px;color:#7b8c7f;margin-top:10px}
.message-body pre{overflow:auto;white-space:pre;padding:16px;background:#edf2ef;border-radius:8px;font:12px/1.8 Consolas,monospace;max-width:100%}.message-body strong{font-weight:650}
:root{--paper:#f8faf9;--white:#fff;--rail:#eef3f1;--ink:#203732;--muted:#697c76;--green:#315f55;--hover:#e3eeea;--line:#dfe7e3;--red:#a54343;--serif:"Iowan Old Style","Palatino Linotype","Songti SC","Noto Serif CJK SC",SimSun,serif;--sans:"Segoe UI Variable","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box} [hidden]{display:none!important} body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.65 var(--sans)}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #89b5a8;outline-offset:3px}input:focus,textarea:focus{outline:2px solid #91b5a9;outline-offset:1px}input,textarea{width:100%;border:1px solid #cfdbd5;border-radius:8px;background:#fff;color:var(--ink);padding:11px 13px}textarea{resize:vertical}label{display:block;font-weight:600;margin:18px 0 7px}h1,h2,p{margin-top:0}h1,h2{font-weight:550;line-height:1.45}h1{font-size:32px;letter-spacing:-.8px}h2{font-size:19px}p{color:var(--muted)}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 18px;min-height:42px;font-weight:600;white-space:nowrap}.primary{color:#fff;background:var(--green)}.primary:hover{background:#244d43}.secondary{background:#fff;border:1px solid #cedbd4;color:var(--ink)}.secondary:hover{background:var(--rail)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:7px;color:var(--muted);background:transparent;font-size:21px}.icon-button:hover{background:var(--hover)}.text-button{background:transparent;color:var(--green);padding:5px 7px;font-size:12px}.text-button:hover{text-decoration:underline}.danger{color:var(--red)}.small-label{display:block;color:var(--green);font-size:12px;margin-bottom:10px}.error{color:var(--red);font-size:13px;margin-top:12px;white-space:pre-wrap}.field-note{font-size:12px;max-width:680px;margin:9px 0 15px}.short-input{max-width:150px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400}.checkbox-label input{width:16px;height:16px;margin:4px 0 0;accent-color:var(--green);flex:none}.badge,.version{color:var(--green);background:#e9f1ed;font-size:11px;border-radius:5px;padding:3px 8px}.mobile-only{display:none}.app{display:flex;height:100dvh;overflow:hidden}
.sidebar{width:260px;flex:none;background:var(--rail);padding:30px 19px 16px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 32px;font-size:20px;font-weight:650;line-height:1.25;letter-spacing:-.5px}.brand img{width:35px;height:35px}.brand-sub{font-size:12px;display:block;color:var(--muted);font-weight:500;letter-spacing:2.5px;margin-top:3px}.new-chat{display:flex;align-items:center;gap:9px;border:1px solid #c8d8d0;background:#fff;padding:11px 12px;color:var(--green);border-radius:8px;text-align:left;font-size:13px;margin-bottom:25px}.new-chat>span{font-size:20px;line-height:1}.new-chat:hover{border-color:var(--green)}kbd{margin-left:auto;font:10px var(--sans);color:#8b9c94}.main-nav{display:grid;gap:6px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:7px;background:transparent;color:#5c7168;font-weight:550;text-align:left}.nav-item>span:first-child{font-size:18px;width:20px;line-height:1.1}.nav-item:hover,.nav-item.active{background:#dce9e2;color:#254d40}.count{margin-left:auto;font-size:10px;color:var(--muted);background:#d3e1d8;border-radius:4px;padding:0 5px}.history-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 10px 9px;color:#81928a;font-size:11px}.history-heading .icon-button{height:26px;width:26px}.conversation-list{overflow:auto;flex:1;min-height:0}.conversation-row{display:flex;align-items:center;width:100%;gap:6px}.conversation-row>button{flex:1;min-width:0;text-align:left;background:transparent;color:#63776d;font-size:12px;padding:11px 12px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-row>button:hover,.conversation-row.selected>button{background:#dfeae4;color:#2c5141}.conversation-time{font-size:10px;color:#8c9c94;padding-right:6px;white-space:nowrap}.sidebar-empty{font-size:12px;color:#93a097;padding:12px}.sidebar-bottom{border-top:1px solid var(--line);padding-top:17px;margin-top:12px}.budget-mini{padding:0 12px 17px;font-size:10px;color:#7d9086}.budget-mini strong{font-weight:500;float:right;color:#526d60}.budget-track{height:3px;background:#d7e2db;margin-top:10px;border-radius:5px;overflow:hidden}.budget-track span{height:100%;display:block;background:#628c74;min-width:2px}.local-status{font-size:10px;color:#8c9b93;padding:18px 11px 0;display:flex;gap:7px;align-items:center}.local-status i{height:5px;width:5px;background:#6a9678;border-radius:50%}.local-status>span{margin-left:auto}.search-results{max-height:260px;overflow:auto}.search-hit{display:block;width:100%;text-align:left;background:#fff;border-radius:5px;padding:8px;margin-top:6px;font-size:11px;color:var(--muted)}.search-hit strong{display:block;font-weight:500;color:var(--green)}#history-search{padding:8px;font-size:12px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid #e8eeea}.breadcrumbs{display:flex;align-items:center;gap:14px;font-size:12px;color:#94a197}.breadcrumbs strong{font-weight:500;color:#496457}.topbar-right{display:flex;gap:17px;align-items:center}.connection-status{font-size:11px;color:#7c8f84}.connection-status::before{content:"";display:inline-block;width:5px;height:5px;background:#5f8f74;border-radius:50%;margin-right:7px}.connection-status.unconfigured::before{background:#b7a06a}.view{min-height:0}.chat-view{display:flex;flex-direction:column;flex:1}.chat-toolbar{max-width:850px;width:100%;margin:auto;padding:14px 24px 0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);gap:15px}.chat-toolbar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-toolbar>div{flex:none}.message-scroll{flex:1;overflow:auto;scroll-behavior:smooth}.welcome{max-width:790px;margin:0 auto;padding:clamp(28px,9vh,110px) 28px 35px}.welcome-date{font-size:11px;color:#8a9b90;margin-bottom:28px}.greeting-mark{display:flex;align-items:flex-end;gap:5px;height:36px;margin-bottom:22px}.greeting-mark span{display:block;width:7px;background:#48755f;border-radius:5px;transform:rotate(25deg)}.greeting-mark span:nth-child(1){height:16px;opacity:.45}.greeting-mark span:nth-child(2){height:31px}.greeting-mark span:nth-child(3){height:23px;opacity:.65}.welcome h1{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.2vw,40px);letter-spacing:.5px;margin-bottom:17px}.welcome>p{font-size:13px;line-height:1.95;color:#849189;margin-bottom:35px}.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.suggestions button{border:1px solid var(--line);background:transparent;border-radius:10px;padding:19px 17px 17px;text-align:left;color:var(--ink)}.suggestions button:hover{background:#eff5f0;border-color:#b5c8bb}.suggestion-icon{display:block;color:#688773;font-size:22px;margin-bottom:16px;line-height:1}.suggestions strong{display:block;font-size:12px;font-weight:550;margin-bottom:7px}.suggestions button>span:last-child{font-size:10px;color:#8b9b90;white-space:nowrap}.welcome-note{display:flex;align-items:center;gap:8px;font-size:10px;color:#8f9e94;margin-top:25px}.welcome-note>span:first-child{font-size:15px;color:#74917f}.composer-area{max-width:850px;width:100%;margin:0 auto;padding:14px 28px 17px}.composer{background:white;border:1px solid #d4dfd7;border-radius:13px;padding:12px 15px 10px;box-shadow:0 5px 18px #315f5505}.composer:focus-within{border-color:#93b39e}.composer textarea{border:0;outline:none;background:transparent;resize:none;min-height:48px;max-height:170px;padding:3px;line-height:1.8;font-size:13px}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:#a2aca5}.composer-bottom{display:flex;align-items:center;justify-content:space-between;padding-left:4px}.composer-bottom>span{font-size:10px;color:#9aa79e}.send-button{height:31px;width:33px;background:var(--green);color:white;border-radius:8px;font-size:22px;line-height:1}.send-button:hover{background:#244d43}.composer-note{font-size:9px;text-align:center;color:#a3afa6;margin:10px 0 0}.key-banner{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:8px 3px;color:#8b7650;gap:8px}.key-banner .text-button{font-size:11px}.messages{max-width:820px;margin:auto;padding:26px 25px 12px}.message{margin-bottom:28px}.message-label{font-size:10px;color:#8c9a91;margin-bottom:8px;display:flex;gap:9px;align-items:center}.message-label .assistant-mark{width:20px;height:20px}.message-label .you-mark{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#6c8375;background:#e8eeea;border-radius:6px}.message-body{font-size:14px;line-height:1.9;color:#344d40;overflow-wrap:anywhere;white-space:pre-wrap}.message.user .message-body{background:#ecf2ee;border-radius:10px 10px 2px 10px;padding:12px 17px;display:table;margin-left:auto;max-width:90%}.message.user .message-label{justify-content:flex-end}.message.assistant .message-body{padding-left:29px}.message-actions{display:flex;gap:7px;align-items:center;margin:8px 0 0 25px}.message-actions button{font-size:10px}.message.user .message-actions{justify-content:flex-end}.message-meta{font-size:10px;color:#91a095}.message-error{background:#fff4ee;color:#9d674e;border-radius:7px;padding:11px 14px;font-size:12px;margin-left:28px}.generating{max-width:770px;margin:5px auto 25px;font-size:12px;color:#7c9183;display:flex;gap:10px;align-items:center;padding:0 27px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#6c9379;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.3}}.message-context-note{color:#a38a64;font-size:10px;margin:5px 0 0 28px}
.content-view{overflow:auto;flex:1;padding:45px clamp(24px,5vw,76px) 70px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.section-heading h1{font-family:var(--serif);font-weight:500;font-size:31px;margin-bottom:9px}.section-heading p{font-size:12px;margin:0}.info-line{display:flex;align-items:flex-start;gap:10px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:25px;color:#6c8a76}.info-line p{margin:0;font-size:12px}.memory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.memory-card{border:1px solid var(--line);border-radius:10px;padding:22px;background:#fff;min-width:0}.memory-card h2{font-size:16px;margin-bottom:9px}.memory-card .memory-text{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}.memory-card .memory-footer{border-top:1px solid #eef2ee;margin-top:19px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.memory-date{font-size:10px;color:#9aa79e}.sensitive-badge{display:inline-block;font-size:10px;color:#946e49;background:#f7f0e7;padding:2px 6px;border-radius:4px;margin-bottom:10px}.empty-state{grid-column:1/-1;padding:65px 30px;text-align:center;color:#9aa99e}.empty-state h2{font-family:var(--serif);font-size:24px;font-weight:400}.empty-state p{font-size:12px;max-width:430px;margin:12px auto;line-height:1.8}.settings-section{max-width:780px;padding:28px 0;border-top:1px solid var(--line)}.settings-section h2{margin-bottom:10px;font-size:17px}.settings-section p{font-size:12px;line-height:1.85}.settings-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-title h2{margin:0}.settings-title+p{margin-top:13px}.settings-section label{font-size:12px}.input-with-action{display:flex;gap:10px}.input-with-action input{flex:1;min-width:0}.input-with-action .text-button{flex:none}.settings-section .primary{margin-top:8px}.usage-overview{display:flex;align-items:baseline;gap:15px;margin:15px 0}.usage-overview strong{font-size:28px;font-weight:500;color:var(--green);letter-spacing:-1px}.usage-overview>span{font-size:12px;color:#8a9a8e}.uncertain-note{background:#fbf3e5;padding:16px;border-radius:7px}.data-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}#key-status{font-weight:400;color:#82978a;font-size:11px}
.auth-screen{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1400px;margin:auto}.auth-intro{background:#e8f0ea;padding:clamp(45px,8vw,100px);display:flex;flex-direction:column;align-items:flex-start;min-height:100dvh}.auth-mark{width:48px;height:48px;margin-bottom:23px}.auth-intro>span{color:#678370;font-size:14px}.auth-intro h1{font-family:var(--serif);font-size:clamp(30px,3.8vw,49px);font-weight:400;line-height:1.6;margin:75px 0 20px;letter-spacing:1px;white-space:nowrap}.auth-intro p{font-size:13px;color:#7f9687}.auth-foot{margin-top:auto;padding-top:60px;font-size:12px;color:#93a698}.auth-form{align-self:center;padding:55px clamp(30px,6vw,85px);width:100%;max-width:530px;margin:auto}.auth-form h2{font-family:var(--serif);font-size:30px;font-weight:400;margin-bottom:12px}.auth-form>p{font-size:12px}.auth-form .primary{width:100%;margin:10px 0 25px}.privacy-note{line-height:1.9;color:#94a098!important;font-size:11px!important}.modal{border:1px solid var(--line);border-radius:13px;padding:28px;width:min(500px,calc(100% - 32px));background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #17392a25;max-height:85dvh;overflow:auto}.modal::backdrop{background:#1c352d50;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-heading h2{font-size:21px;margin:0}.modal>p,.modal form>p{font-size:12px;line-height:1.85;margin:12px 0}.modal label{font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.version-entry{border-top:1px solid var(--line);padding-top:16px;margin-top:16px;white-space:pre-wrap;font-size:13px}.version-entry small{color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#294d3c;color:white;border-radius:9px;padding:12px 22px;font-size:12px;box-shadow:0 7px 30px #203d2e20;z-index:100;max-width:90vw}.sidebar-backdrop{display:none}
@media(min-width:1500px){.welcome{padding-top:13vh}.composer-area{padding-bottom:25px}.sidebar{width:285px}.topbar{padding:0 55px}}
@media(max-width:1000px){.sidebar{width:225px;padding-left:12px;padding-right:12px}.topbar{padding:0 25px}.suggestions{gap:9px}.suggestions button{padding:17px 11px}.suggestions button>span:last-child{font-size:9px}.welcome{padding-top:55px}.memory-list{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading .primary{font-size:12px}}
@media(max-width:700px){.app{height:100dvh}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:40;width:275px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#17312750;z-index:39}.mobile-only{display:inline-flex}.topbar{height:61px;padding:0 14px;gap:10px}.breadcrumbs{flex:1;gap:10px;font-size:11px}.topbar-right{gap:8px}.connection-status{font-size:9px}.connection-status::before{margin-right:4px}.desktop-only{display:none}.welcome{padding:40px 23px 25px}.welcome-date{margin-bottom:22px}.greeting-mark{height:28px;margin-bottom:18px}.welcome h1{font-size:27px;letter-spacing:0}.welcome>p{font-size:12px;margin-bottom:26px}.suggestions{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.suggestions button{border:0;border-radius:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:26px 1fr;column-gap:10px;padding:13px 3px}.suggestion-icon{grid-row:1/3;align-self:center;font-size:20px;margin:0}.suggestions strong{font-size:12px;margin:0}.suggestions button>span:last-child{font-size:10px}.welcome-note{margin-top:20px;font-size:10px;align-items:flex-start}.composer-area{padding:8px 14px calc(12px + env(safe-area-inset-bottom))}.composer-note{font-size:8px}.composer{padding:11px 12px 8px}.composer textarea{font-size:16px}.composer-bottom>span{font-size:9px}.key-banner{font-size:10px}.key-banner .text-button{font-size:10px}.message-scroll{scroll-behavior:auto}.messages{padding:25px 16px 12px}.message-body{font-size:14px}.chat-toolbar{padding:12px 15px 0}.chat-toolbar .text-button{font-size:10px}.content-view{padding:28px 20px 50px}.section-heading{display:block;margin-bottom:25px}.section-heading .primary{margin-top:18px}.section-heading h1{font-size:28px}.section-heading .version{display:inline-block;margin-top:10px}.usage-overview{flex-wrap:wrap;gap:5px 15px}.usage-overview strong{font-size:25px}.input-with-action{flex-wrap:wrap}.auth-screen{display:block}.auth-intro{min-height:0;padding:30px 28px}.auth-mark{width:33px;height:33px;margin:0 0 10px}.auth-intro>span{font-size:12px}.auth-intro h1{font-size:30px;margin:27px 0 8px;line-height:1.5}.auth-intro p{font-size:11px;margin:0}.auth-foot{display:none}.auth-form{padding:32px 28px}.auth-form h2{font-size:26px}.modal{padding:23px}.settings-title{align-items:flex-start;flex-direction:column}.data-actions .secondary{font-size:12px}.toast{bottom:15px;width:max-content;max-width:90vw}.memory-card{padding:19px}.memory-footer .text-button{padding:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.weight-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto;align-items:end;gap:12px;max-width:850px}.weight-form label,.weight-goal-form label,.weight-edit label{font-size:12px}.weight-form>.primary{margin-bottom:0;height:44px}.weight-share{grid-column:1/-1;margin:2px 0 12px}.weight-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;font-size:12px}.weight-toolbar label{margin:0}.weight-toolbar select{width:auto;min-width:145px}.weight-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.weight-metric{padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff;min-width:0}.weight-metric>span,.weight-metric>small{display:block;font-size:11px;color:var(--muted)}.weight-metric>strong{display:block;font-size:23px;font-weight:500;margin:8px 0;overflow-wrap:anywhere}.weight-chart{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fff}.weight-chart svg{display:block;width:100%;height:auto}.weight-chart>.field-note{padding:0 10px;margin:6px 0}.weight-goal-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:25px}.weight-goal-form>div{max-width:300px}.weight-goal-form>.field-note{width:100%;margin:0}.weight-section-title{font-size:18px;font-weight:500;margin:32px 0 10px}.weight-weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px}.weight-week{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.weight-week .field-note{margin:0}.weight-week strong{font-weight:500}.weight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.weight-record{min-width:0;padding:19px;border:1px solid var(--line);border-radius:10px;background:#fff}.weight-record h3{font-size:15px;font-weight:500;margin:0 0 8px}.weight-edit{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.weight-edit label{width:100%;margin:0}.weight-edit input{width:125px;max-width:100%}.weight-edit .secondary{font-size:12px}.weight-goal-form .secondary{min-height:44px}
@media(max-width:1000px){.weight-list{grid-template-columns:1fr}.weight-metric>strong{font-size:20px}}
@media(max-width:700px){.weight-form{grid-template-columns:1fr 1fr}.weight-form>.primary{grid-column:1/-1}.weight-metrics{grid-template-columns:1fr;gap:8px}.weight-metric{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:14px}.weight-metric>strong{grid-column:2;grid-row:1/3;margin:0;align-self:center;font-size:21px}.weight-metric>small{grid-column:1}.weight-goal-form>div{max-width:none;width:100%}.weight-chart{padding:8px}.weight-chart>.field-note{font-size:10px}.weight-toolbar .text-button{padding-left:0}.weight-form input,.weight-edit input,.weight-goal-form input{font-size:16px}}
.review-weight-card{border:1px solid var(--line);padding:22px;border-radius:10px;background:#fff;overflow-wrap:anywhere}.review-weight-card h3{font-size:18px;font-weight:500;margin:0 0 12px}.review-weight-card p{font-size:13px;line-height:1.85;margin:8px 0}.review-weight-card .field-note{font-size:11px}.review-task-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.review-tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-task-group{border:1px solid var(--line);border-radius:10px;padding:19px;background:#fff;min-width:0}.review-task-group h3{font-size:15px;font-weight:500;margin:0 0 12px}.review-task{border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:12px 0;overflow-wrap:anywhere;font-size:13px}.review-task>span{flex:1;min-width:110px}.review-task small{margin:0}.review-links{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.weight-toolbar select{padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;max-width:100%}
@media(max-width:1000px){.review-task-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.review-tasks{grid-template-columns:1fr}.review-task-counts{grid-template-columns:1fr}.review-weight-card{padding:17px}.review-weight-card h3{font-size:17px}.review-task small{font-size:11px}.review-links .secondary{width:100%}}
.finance-import-section,.finance-summary-section,.finance-history-section{min-width:0;padding:24px 0;border-top:1px solid var(--line);margin-top:20px}.finance-import-section h2,.finance-summary-section h2,.finance-history-section h2{font-size:20px;font-weight:500;margin:0 0 18px}.finance-import-section h3,.finance-summary-section h3{font-size:15px;font-weight:500;margin:22px 0 14px}.finance-import-form{display:grid;grid-template-columns:minmax(210px,2fr) minmax(140px,1fr) 120px auto;align-items:end;gap:12px}.finance-import-form label,.finance-mapping label,.finance-confirm-options label{font-size:12px}.finance-import-form button{min-height:44px}.finance-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0}.finance-mapping select,.finance-confirm-options select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.finance-table-wrap,.finance-categories{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff;margin:15px 0;min-width:0}.finance-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;line-height:1.8}.finance-table th{font-weight:500;background:#edf3ef;white-space:nowrap}.finance-table td,.finance-table th{padding:12px 15px;vertical-align:top;border-bottom:1px solid var(--line);min-width:75px;max-width:280px;overflow-wrap:anywhere}.finance-table td{white-space:pre-wrap}.finance-table th:first-child,.finance-table td:first-child{white-space:nowrap}.finance-table-wrap>.field-note{padding:0 14px}.finance-table-wrap>.empty-state{padding:35px 20px}.finance-confirm-options{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:20px 0}.finance-confirm-options>select{max-width:300px}.finance-confirm-options .checkbox-label{margin:0}.finance-confirm-options .primary{margin-top:8px}.finance-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.finance-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-batch{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:18px;overflow-wrap:anywhere}.finance-batch h3{font-size:15px;font-weight:500;margin:0 0 8px}.finance-batch p{margin:0 0 9px}#finance-preview-summary{font-size:13px;line-height:1.9;overflow-wrap:anywhere}#finance-metrics .weight-metric>strong{font-size:20px;word-break:break-word}
@media(max-width:1150px){.finance-import-form{grid-template-columns:1fr 1fr}.finance-mapping{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-history{grid-template-columns:1fr}}
@media(max-width:700px){.finance-import-form,.finance-mapping{grid-template-columns:1fr}.finance-import-form input,.finance-mapping select,.finance-confirm-options select{font-size:16px}.finance-import-form input[type=file]{font-size:12px;max-width:100%}.finance-table{font-size:11px}.finance-table td,.finance-table th{padding:10px 12px}.finance-confirm-options .primary{width:100%}.finance-import-section{padding-top:19px}}
.finance-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-comparison-change{grid-column:1/-1;margin:0 0 12px;overflow-wrap:anywhere}
@media(max-width:700px){.finance-comparison{grid-template-columns:1fr}}

.goal-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:#e5efe8;border-bottom:1px solid var(--line);font-size:13px;flex-wrap:wrap}.goals-section{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:30px;scroll-margin-top:20px}.goals-section h1{font-size:28px;font-weight:500}.goal-form{display:grid;grid-template-columns:minmax(180px,2fr) 100px 160px auto;align-items:end;gap:12px;margin:20px 0}.goal-form label{font-size:12px}.goal-form button{min-height:44px}.goal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goal-card{min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:white;overflow-wrap:anywhere}.goal-card h3{font-size:17px;font-weight:500;margin:0 0 10px}.goal-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.goal-history{border-top:1px solid var(--line);padding-top:12px;font-size:13px}.goal-history summary{cursor:pointer;padding:7px 0}.goal-history-day{border-top:1px solid var(--line);padding:8px 0}.goal-history-day p{margin:4px 0}.goal-actions button{min-height:40px}
@media(max-width:1100px){.goal-form{grid-template-columns:1fr 1fr}.goal-list{grid-template-columns:1fr}}
@media(max-width:700px){.goal-form{grid-template-columns:1fr}.goal-form input{font-size:16px}.goal-banner{padding:10px 16px}.goal-card{padding:16px}}

.local-status b{font-weight:inherit}

/* Mobile reading, keyboard viewport and drawer controls. */
html{height:100%}.workspace-open{overflow:hidden}.app{height:var(--app-height,100dvh);min-height:0}.main,.sidebar{min-height:0}.main{overflow:hidden}.chat-view{position:relative;overflow:hidden}.message-scroll{min-height:64px;overscroll-behavior:contain;overflow-anchor:none}.composer-area{flex-shrink:0}.latest-messages{position:absolute;right:22px;bottom:180px;z-index:2;border:1px solid #b9cec0;border-radius:20px;padding:10px 15px;background:#fff;color:var(--green);box-shadow:0 3px 12px #203d2e15}.delivery-notice{border:1px solid #d4c6a7;border-radius:8px;background:#fbf6eb;padding:9px 12px;margin-bottom:8px}.delivery-notice p{font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere}.delivery-notice>div{display:flex;gap:7px;flex-wrap:wrap}.message-body pre{max-width:100%;overflow-x:auto;white-space:pre;overscroll-behavior-x:contain}.sidebar .brand,.sidebar .new-chat,.sidebar .main-nav,.sidebar .sidebar-bottom,.sidebar .history-heading{flex-shrink:0}
@media(max-width:700px){
 .app{height:var(--app-height,100dvh)}.sidebar{height:var(--app-height,100dvh);bottom:auto;width:min(86vw,310px);overflow-y:auto;overscroll-behavior:contain;padding-top:max(16px,env(safe-area-inset-top))}.sidebar .brand{padding-bottom:20px}.sidebar .conversation-list{flex:1 0 90px}#close-sidebar{align-self:flex-end;margin-bottom:4px;flex-shrink:0}.sidebar .history-heading{margin-top:16px}.sidebar-backdrop{touch-action:manipulation}
 .topbar{padding-top:env(safe-area-inset-top);min-height:61px;height:auto;flex-basis:61px}.breadcrumbs{min-width:0}.breadcrumbs>span:first-child{max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-status{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{width:44px;height:44px;flex-shrink:0}
 input,textarea,select{font-size:16px}.send-button{height:44px;width:44px;flex:none}.text-button,.message-actions button,.conversation-row>button,.nav-item{min-height:44px}.composer-area{max-height:65%;overflow:auto;overscroll-behavior:contain;flex-shrink:1;padding-bottom:max(8px,env(safe-area-inset-bottom))}.composer textarea{font-size:16px;min-height:48px}.composer-note{font-size:10px}.composer-bottom>span>.mobile-only{display:inline}.delivery-notice p{font-size:11px;max-height:3.2em;overflow:auto}.latest-messages{bottom:auto;top:50px;right:14px;min-height:44px;font-size:12px}.toast{max-height:30%;overflow:auto;bottom:max(12px,env(safe-area-inset-bottom))}.modal{max-height:calc(var(--app-height,100dvh) - 24px)}
}
@media(max-width:700px) and (max-height:500px){.composer-note{display:none}.composer-area{padding-top:5px}.composer{padding-top:5px;padding-bottom:5px}.chat-toolbar{padding-top:4px}.key-banner{padding:3px}.topbar{min-height:50px;flex-basis:50px}.delivery-notice{padding:5px 8px}}

.companion-bar{margin:10px 24px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}.companion-bar summary{cursor:pointer;min-height:28px;display:list-item}.companion-bar p{margin:8px 0}.companion-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.companion-actions .secondary{font-size:12px;min-height:40px;padding:8px 12px}.recall-form{display:grid;gap:8px;margin-top:12px}.recall-form input{min-width:0;width:100%}.recall-form .secondary{justify-self:start}.companion-dialog{width:min(680px,94vw);max-height:calc(var(--app-height,100dvh) - 32px);overflow:auto}.companion-section{margin:22px 0;border-top:1px solid var(--line);padding-top:14px}.companion-section h3{font-size:15px;font-weight:550;margin:0 0 10px}.companion-entry{margin:12px 0;padding-left:12px;border-left:2px solid #cfdbd5}.companion-entry p,.companion-section>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}#daily-report{margin-bottom:20px}@media(max-width:700px){.companion-bar{margin:8px 14px}.companion-actions button{min-height:44px}.companion-bar[open]{max-height:35%;overflow:auto}.recall-form button{width:100%}.companion-dialog{padding:20px 16px}}

.companion-bar{flex-shrink:1;min-height:40px}#companion-bar[open] ~ .composer-area{flex-shrink:0}
