@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/be4f912c06e1e110-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6961d055d00ff7ec-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1dd116e7162c5f47-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-209f,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/25408a68d73c6c69-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ae,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f700-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f8d0-1f8d8,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fac6,u+1fac8,u+1facc-1fadd,u+1fadf-1faeb,u+1faef-1fafa,u+1fb??}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/a2a4a14ada96f862-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c1b02c1a57568c67-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/cd87a8f174d93ac6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Onest Fallback;src:local("Arial");ascent-override:92.20%;descent-override:28.99%;line-gap-override:0.00%;size-adjust:105.20%}.__className_ac3859{font-family:Onest,Onest Fallback;font-style:normal}.__variable_ac3859{--font-sans:"Onest","Onest Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_d39526{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_d39526{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{color-scheme:light;--page-bg:#e6ece9;--bg:#f7f9f8;--surface:#ffffff;--code-bg:#eff3f1;--text:#18211d;--text-muted:#5b6862;--accent:#2d6a4f;--accent-hover:#245a42;--accent-text:#ffffff;--accent-soft:#dfede5;--attention:#9a620f;--attention-soft:#fbefd9;--highlight:#f7e08a;--border:#dce3df;--border-strong:#c3cdc8;--danger:#b93a32;--online:#2d6a4f;--recording:#d1453b;--diff-add:#1f6b45;--diff-add-bg:#e1f1e7;--diff-remove:#a8322b;--diff-remove-bg:#f9e3e1;--backdrop:rgba(24,33,29,0.42);--habit-blue:#2a78d6;--habit-orange:#eb6834;--habit-aqua:#1baf7a;--habit-yellow:#eda100;--habit-magenta:#e87ba4;--habit-green:#008300;--habit-violet:#6250d6;--habit-red:#e34948;--habit-ink-blue:#ffffff;--habit-ink-orange:#18211d;--habit-ink-aqua:#18211d;--habit-ink-yellow:#18211d;--habit-ink-magenta:#18211d;--habit-ink-green:#ffffff;--habit-ink-violet:#ffffff;--habit-ink-red:#18211d;--shadow:0 1px 2px rgba(24,33,29,0.05),0 16px 40px -20px rgba(24,33,29,0.28)}:root[data-theme=dark]{color-scheme:dark;--page-bg:#0c100e;--bg:#121815;--surface:#19211d;--code-bg:#151c19;--text:#e2e9e5;--text-muted:#93a39b;--accent:#73c29c;--accent-hover:#8ad0ad;--accent-text:#0c100e;--accent-soft:#1e3329;--attention:#e3ac52;--attention-soft:#33291a;--highlight:#5c4a12;--border:#26302b;--border-strong:#36423c;--danger:#ef7a72;--online:#73c29c;--recording:#f0716a;--diff-add:#7fd3a6;--diff-add-bg:#17301f;--diff-remove:#f2918a;--diff-remove-bg:#3a1d1b;--backdrop:rgba(0,0,0,0.55);--habit-blue:#3987e5;--habit-orange:#d95926;--habit-aqua:#199e70;--habit-yellow:#c98500;--habit-magenta:#d55181;--habit-green:#008300;--habit-violet:#9085e9;--habit-red:#e66767;--habit-ink-blue:#0c100e;--habit-ink-orange:#0c100e;--habit-ink-aqua:#0c100e;--habit-ink-yellow:#0c100e;--habit-ink-magenta:#0c100e;--habit-ink-green:#ffffff;--habit-ink-violet:#0c100e;--habit-ink-red:#0c100e;--shadow:0 1px 2px rgba(0,0,0,0.3),0 16px 40px -20px rgba(0,0,0,0.7)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%}.confirmation-preview,.habit-detail-body,.messages,.page-content,.sidebar,.stats-content,.tool-popup-list,.trace-content,body,html,textarea.text-input{overscroll-behavior:none}body{margin:0;font-family:var(--font-sans),system-ui,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;transition:background .15s ease,color .15s ease}button,input{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.text-input:focus-visible{outline:none}.app,.page-shell{position:relative;max-width:720px;margin:0 auto;height:100dvh;background:var(--bg);display:flex;flex-direction:column}@media (min-width:860px){body{background:var(--page-bg)}.app,.page-shell{max-width:none;width:min(80vw,1080px);height:calc(100dvh - 40px);margin:20px auto;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;font-size:16px}.chat-header{padding:22px 30px}.agent-name{font-size:17px}.agent-status{font-size:13px}.header-actions{gap:10px}.icon-btn{width:38px;height:38px}.icon-btn svg,.plus-btn svg,.send-btn svg,.tool-option svg{width:20px;height:20px}.messages{padding:32px 40px;gap:22px}.empty-hint{font-size:15px}.bubble{max-width:min(65%,620px);padding:12px 16px;font-size:16px}.bubble.assistant{max-width:min(100%,68ch)}.input-bar,.recording-bar{margin:0 40px 24px;padding:8px;gap:6px}.plus-btn,.send-btn{width:42px;height:42px}.input-bar .text-input{padding:11px 6px;font-size:16px}.tool-popup{left:40px;width:min(300px,calc(100% - 80px))}.attached-image-chip,.selected-tool-chip{margin-left:40px}.tool-option{padding:12px;font-size:14px}}.chat-header{flex-shrink:0;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--border)}.chat-header,.header-identity{display:flex;align-items:center}.header-identity{gap:12px;min-width:0}.avatar{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:600;font-size:14px}.agent-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.agent-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--online);flex-shrink:0}.agent-status.working .status-dot{background:var(--attention);animation:soft-pulse 1.4s ease-in-out infinite}.header-actions{flex-shrink:0;display:flex;align-items:center;gap:8px}.icon-btn{width:34px;height:34px;border-radius:10px;border:none;background:transparent;color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:background .12s ease,color .12s ease}.icon-btn:hover{background:var(--code-bg);color:var(--text)}.overflow-wrap{position:relative}.overflow-menu{position:absolute;top:40px;right:0;min-width:180px;padding:6px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);z-index:20}.overflow-menu button{display:block;width:100%;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.overflow-menu button:hover{background:var(--code-bg)}.messages{flex:1 1;min-height:0;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:18px;-webkit-overflow-scrolling:touch}.empty-hint{margin:auto 0;color:var(--text-muted);font-size:14px;text-align:center}.bubble{max-width:min(82%,560px);padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.assistant{align-self:flex-start;max-width:min(100%,68ch);padding:2px 2px 0;color:var(--text)}.bubble.user{align-self:flex-end;background:var(--accent-soft);color:var(--text);border-bottom-right-radius:6px}.bubble.pending{display:flex;align-items:center;gap:10px;color:var(--text-muted)}.working-dots{display:inline-flex;gap:4px}.working-dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:soft-pulse 1.2s ease-in-out infinite}.working-dots i:nth-child(2){animation-delay:.15s}.working-dots i:nth-child(3){animation-delay:.3s}.markdown{white-space:normal}.markdown>:first-child{margin-top:0}.markdown blockquote>:last-child,.markdown li>:last-child,.markdown>:last-child{margin-bottom:0}.markdown .markdown-table,.markdown blockquote,.markdown ol,.markdown p,.markdown pre,.markdown ul{margin:0 0 .75em}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:1.2em 0 .4em;font-weight:600;line-height:1.3;letter-spacing:-.01em}.markdown h1{font-size:1.45em}.markdown h2{font-size:1.25em}.markdown h3{font-size:1.1em}.markdown h4,.markdown h5,.markdown h6{font-size:1em}.markdown ol,.markdown ul{padding-left:1.4em}.markdown li{margin:.2em 0}.markdown li>ol,.markdown li>ul{margin:.2em 0 0}.markdown li::marker{color:var(--text-muted)}.markdown ul:has(>li>input[type=checkbox]){padding-left:.2em}.markdown li:has(>input[type=checkbox]){list-style:none}.markdown li:has(>input[type=checkbox])>ol,.markdown li:has(>input[type=checkbox])>ul{padding-left:2.6em}.markdown input[type=checkbox]{margin:0 .5em 0 0;accent-color:var(--accent);vertical-align:-.1em}.markdown strong{font-weight:650}.markdown .wikilink,.markdown a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:.18em}.markdown .wikilink{cursor:default}.markdown .wikilink-embed:before{content:"↳ ";color:var(--text-muted)}.markdown .highlight{padding:0 .15em;border-radius:3px;background:var(--highlight);color:inherit}.markdown .tag{padding:.05em .45em;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.88em;white-space:nowrap}.markdown code{padding:.1em .35em;border-radius:5px;background:var(--code-bg);font-family:var(--font-mono),ui-monospace,monospace;font-size:.88em}.markdown pre{padding:10px 12px;border-radius:12px;background:var(--code-bg);overflow-x:auto;line-height:1.5}.markdown pre code{padding:0;background:none;font-size:12.5px}.markdown blockquote{padding:2px 0 2px 14px;border-left:3px solid var(--border-strong);color:var(--text-muted)}.markdown blockquote.callout{padding:10px 14px;border-left:none;border-radius:12px;background:var(--accent-soft);color:var(--text)}.markdown blockquote.callout-attention,.markdown blockquote.callout-caution,.markdown blockquote.callout-important,.markdown blockquote.callout-warning{background:var(--attention-soft)}.markdown blockquote.callout-bug,.markdown blockquote.callout-danger,.markdown blockquote.callout-error,.markdown blockquote.callout-failure{background:var(--diff-remove-bg)}.markdown .callout-title{margin-bottom:.3em;font-weight:600;color:var(--accent)}.markdown .callout-attention .callout-title,.markdown .callout-caution .callout-title,.markdown .callout-important .callout-title,.markdown .callout-warning .callout-title{color:var(--attention)}.markdown .callout-bug .callout-title,.markdown .callout-danger .callout-title,.markdown .callout-error .callout-title,.markdown .callout-failure .callout-title{color:var(--danger)}.markdown hr{margin:1.2em 0;border:none;border-top:1px solid var(--border)}.markdown-table{overflow-x:auto}.markdown table{border-collapse:collapse;font-size:.93em}.markdown td,.markdown th{padding:6px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.markdown th{font-weight:600;border-bottom-color:var(--border-strong)}.markdown img{max-width:100%;border-radius:10px}.bubble-time{margin-top:6px;font-size:11px;color:var(--text-muted)}.bubble.user .bubble-time{text-align:right}.trace-details{margin-top:10px}.trace-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 4px;margin-left:-4px;border:none;border-radius:8px;background:none;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer}.trace-toggle:hover{background:var(--code-bg);color:var(--text)}.trace-chevron{transition:transform .15s ease}.trace-chevron.open{transform:rotate(90deg)}.trace-content{margin:8px 0 0;padding:10px 12px 10px 0;border-radius:12px;background:var(--code-bg);color:var(--text-muted);font-family:var(--font-mono),ui-monospace,monospace;font-size:12px;line-height:1.55;max-height:320px;overflow-y:auto;list-style:none;counter-reset:step;white-space:normal}.trace-content li{counter-increment:step;display:grid;grid-template-columns:34px 1fr;padding:2px 0;overflow-wrap:anywhere;white-space:pre-wrap}.trace-content li:before{content:counter(step);text-align:right;padding-right:10px;color:var(--border-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input-bar,.recording-bar{flex-shrink:0;display:flex;align-items:flex-end;gap:4px;margin:0 12px calc(12px + env(safe-area-inset-bottom));padding:6px;border:1px solid var(--border);border-radius:24px;background:var(--surface);transition:border-color .12s ease}.input-bar:focus-within{border-color:var(--accent)}.recording-bar{align-items:center;padding-left:16px}.plus-btn,.send-btn{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.plus-btn{border:none;background:transparent;color:var(--text-muted);transition:background .12s ease,color .12s ease}.plus-btn:hover:not(:disabled){background:var(--code-bg);color:var(--text)}.plus-btn:disabled{opacity:.4;cursor:default}.text-input{flex:1 1;min-width:0;padding:10px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px;outline:none;transition:border-color .12s ease}.input-bar .text-input{padding:9px 4px;border:none;border-radius:0;background:transparent}textarea.text-input{resize:none;line-height:20px;max-height:140px;overflow-y:auto;font-family:inherit}.text-input::placeholder{color:var(--text-muted)}.text-input:focus{border-color:var(--accent)}.send-btn{border:none;background:var(--accent);color:var(--accent-text);transition:background .12s ease}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{background:var(--code-bg);color:var(--border-strong);cursor:default}.composer{position:relative;flex-shrink:0}.tool-popup{position:absolute;bottom:calc(100% + 8px);left:12px;width:min(280px,calc(100% - 24px));max-height:min(60vh,420px);display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);z-index:30;overflow:hidden}.tool-popup-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text-muted)}.tool-popup-list{overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.tool-option{display:flex;align-items:center;gap:12px;padding:10px;border:none;border-radius:10px;background:transparent;color:var(--text);font-size:14px;font-weight:500;text-align:left;cursor:pointer}.tool-option svg{color:var(--accent)}.tool-option:hover{background:var(--code-bg)}.selected-tool-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin:0 12px 8px;padding:6px 8px 6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:13px;font-weight:500}.selected-tool-chip svg:first-child{color:var(--accent)}.selected-tool-chip button{display:grid;place-items:center;padding:2px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.hidden-file-input{display:none}.attached-image-chip{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin:0 12px 8px;padding:4px 8px 4px 4px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.attached-image-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover}.attached-image-chip button{display:grid;place-items:center;padding:2px;border:none;background:transparent;color:var(--text-muted);cursor:pointer}.bubble-image{max-height:260px;border-radius:12px;object-fit:cover}.bubble-audio,.bubble-image{display:block;width:100%;margin-bottom:8px}.bubble-audio{max-width:280px;height:36px}.pending-badge{flex-shrink:0;padding:5px 12px;border-radius:999px;border:none;background:var(--attention-soft);color:var(--attention);font-size:12px;font-weight:600;cursor:pointer}.confirmation-modal-backdrop{position:fixed;inset:0;background:var(--backdrop);display:grid;place-items:center;padding:20px;z-index:100}.confirmation-modal{width:100%;max-width:640px;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;padding:20px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.confirmation-modal-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.confirmation-size{margin-top:4px}.confirmation-action,.confirmation-size{font-size:13px;color:var(--text-muted)}.confirmation-modal-count{margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--attention-soft);color:var(--attention);font-size:12px;font-weight:600}.confirmation-tool{margin-top:2px;font-size:17px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.confirmation-preview{margin:0 0 16px;padding:10px 0;border-radius:12px;background:var(--code-bg);color:var(--text);font-family:var(--font-mono),ui-monospace,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;flex:1 1 auto;min-height:0;overflow:auto}.confirmation-preview>div{padding:0 12px}.confirmation-preview:not(:has(>div)){padding:10px 12px}.confirmation-preview .diff-add{color:var(--diff-add);background:var(--diff-add-bg)}.confirmation-preview .diff-remove{color:var(--diff-remove);background:var(--diff-remove-bg)}.confirmation-preview .diff-file-header{display:none}.confirmation-preview .diff-hunk{color:var(--text-muted)}.confirmation-actions{flex-shrink:0;display:flex;gap:8px}@media (max-width:600px){.confirmation-modal-backdrop{padding:0}.confirmation-modal{max-width:none;height:100dvh;max-height:none;border:none;border-radius:0;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.confirmation-actions button{flex:1 1;padding-top:12px;padding-bottom:12px}}.confirmation-approve,.confirmation-cancel,.confirmation-reject{padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent}.confirmation-approve{background:var(--accent);color:var(--accent-text)}.confirmation-approve:hover{background:var(--accent-hover)}.confirmation-cancel,.confirmation-reject{background:transparent;color:var(--text);border-color:var(--border-strong)}.confirmation-cancel:hover,.confirmation-reject:hover{background:var(--code-bg)}.confirmation-reject-form{flex-shrink:0;display:flex;flex-direction:column;gap:10px}.confirmation-feedback-input{border-radius:12px}.recording-dot{width:10px;height:10px;border-radius:50%;background:var(--recording);flex-shrink:0;animation:soft-pulse 1.4s ease-in-out infinite}@keyframes soft-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.agent-status.working .status-dot,.recording-dot,.working-dots i{animation:none}}.recording-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;color:var(--text)}.recording-label{flex:1 1;min-width:0;color:var(--text-muted);font-size:13px}.login-shell{min-height:100dvh;justify-content:center;padding:20px;background:var(--page-bg)}.login-card,.login-shell{display:flex;align-items:center}.login-card{width:100%;max-width:340px;flex-direction:column;gap:12px;padding:32px 26px;border-radius:20px;border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);text-align:center}.login-logo{display:block;margin:0 auto 6px;border-radius:14px}.login-avatar{width:48px;height:48px;font-size:18px;margin-bottom:4px}.login-card h1{margin:0;font-size:20px;font-weight:700}.login-card .subtitle{margin:0 0 8px}.login-input{width:100%;border-radius:12px}.login-error{margin:0;color:var(--danger);font-size:13px}.login-submit{width:100%;margin-top:6px;padding:12px;border:none;border-radius:12px;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer}.login-submit:disabled{opacity:.5;cursor:default}.chat-header,.page-header{min-height:63px}.page-header{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--border)}.page-header h1{margin:0;font-size:15px;font-weight:600;letter-spacing:-.01em}.page-content{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:28px}.admin-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-section h2{margin:0;font-size:15px;font-weight:700}.admin-section-hint{margin:4px 0 12px;color:var(--text-muted);font-size:12px}.admin-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.admin-inline-form-compact{margin-top:0;padding:0;border:none;background:transparent;flex:1 1;justify-content:flex-end}.admin-inline-form .text-input{flex:1 1;min-width:140px}.admin-checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.admin-table{margin-top:12px;display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.admin-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-row-title{font-size:14px;font-weight:600}.admin-row-meta{font-size:12px;color:var(--text-muted);font-weight:400}.admin-badge{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.admin-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-action-btn{padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.admin-action-btn:hover{background:var(--border)}.admin-action-btn:disabled{opacity:.4;cursor:default}.admin-action-btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.admin-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.admin-select{padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:16px}.stats-range-toggle{flex-shrink:0;display:flex;gap:6px;padding:14px 18px 0}.stats-range-btn{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.stats-range-btn.active{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.stats-content{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:22px}.stats-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats-tile{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.stats-tile-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.stats-tile-value{font-size:20px;font-weight:700}.stats-chart-block h3{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text-muted)}.stats-tooltip{padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);font-size:12px;color:var(--text)}.stats-tooltip-date{font-weight:700;margin-bottom:3px}.sidebar-backdrop{position:absolute;inset:0;background:var(--backdrop);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.sidebar{position:absolute;top:0;left:0;bottom:0;width:min(280px,100%);display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--border);box-shadow:var(--shadow);z-index:41;transform:translateX(-100%);transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.sidebar-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(14px,env(safe-area-inset-top)) 14px 14px 18px;border-bottom:1px solid var(--border)}.sidebar-identity{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-username{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:10px}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border:none;border-radius:10px;background:transparent;color:var(--text);font-size:14px;text-align:left;cursor:pointer}.sidebar-nav-item:hover{background:var(--border)}.sidebar-nav-item-danger{color:var(--danger)}.habits{gap:32px}.habits,.habits-section{display:flex;flex-direction:column}.habits-section{gap:12px}.habits-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.habits-section-header h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.habits-date{color:var(--text-muted);font-size:13px}.habits-range{padding:0}.habits-empty{margin:0;color:var(--text-muted)}.habits-error{margin:0;padding:8px 12px;border-radius:10px;background:var(--diff-remove-bg);color:var(--danger);font-size:13px}.habit-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--border)}.habit-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.habit-check{width:40px;height:40px;border-radius:50%;border:2px solid var(--border-strong);background:transparent;color:transparent;display:grid;place-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.habit-check.done,.habit-check:hover{border-color:var(--habit)}.habit-check.done{background:var(--habit);color:#ffffff}.habit-main{min-width:0}.habit-name{font-weight:600;overflow-wrap:anywhere}.habit-meta{margin-top:2px;font-size:12px;color:var(--text-muted)}.habit-rename .text-input{width:100%;padding:6px 10px}.habit-week{display:flex;gap:4px}.habit-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px;border:none;border-radius:6px;background:none;cursor:pointer}.habit-day-mark{width:18px;height:18px;border-radius:5px;background:var(--code-bg);box-shadow:inset 0 0 0 1px var(--border)}.habit-day.done .habit-day-mark{background:var(--habit);box-shadow:none}.habit-day-label{font-size:10px;color:var(--text-muted)}.habit-day.today .habit-day-mark{box-shadow:inset 0 0 0 2px var(--text)}.habit-day.done.today .habit-day-mark{box-shadow:inset 0 0 0 2px var(--habit),inset 0 0 0 4px var(--surface)}.habit-day.today .habit-day-label{color:var(--text);font-weight:700}.habit-day.upcoming{cursor:default;opacity:.45}.habit-day.upcoming .habit-day-mark{background:none;box-shadow:inset 0 0 0 1px var(--border)}.habit-menu-wrap{position:relative}.habit-menu{top:36px;min-width:140px}.overflow-menu button.danger{color:var(--danger)}.habit-add{display:flex;gap:8px}.habit-add .text-input{flex:1 1}.habit-add-btn{padding:0 18px;border:none;border-radius:12px;background:var(--accent);color:var(--accent-text);font-weight:500;cursor:pointer}.habit-add-btn:disabled{background:var(--code-bg);color:var(--text-muted);cursor:default}.habit-open{width:100%;padding:2px 0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.habit-open,.habit-open .habit-name{display:block}.habit-open .habit-meta{display:inline-flex;align-items:center;gap:2px}.habit-open:hover .habit-name{text-decoration:underline;text-decoration-color:var(--habit);text-underline-offset:.2em}.habit-detail-backdrop{position:fixed;inset:0;z-index:100;display:grid;justify-items:center;align-items:start;padding:max(24px,6vh) 24px 24px;background:var(--backdrop)}.habit-detail{width:min(760px,100%);max-height:min(860px,calc(100dvh - max(24px, 6vh) - 24px));display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.habit-detail-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:16px 16px 12px 20px;border-bottom:1px solid var(--border)}.habit-detail-header h2{flex:1 1;margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.habit-detail-body{overflow-y:auto;padding:16px 20px 24px}@media (max-width:600px){.habit-detail-backdrop{padding:0}.habit-detail{width:100%;max-height:none;height:100dvh;border:none;border-radius:0}.habit-detail-header{padding-top:max(16px,env(safe-area-inset-top))}}.habit-swatch{width:10px;height:10px;border-radius:3px;background:var(--habit)}.habit-numbers{display:flex;flex-wrap:wrap;gap:8px 24px;margin:12px 0 16px}.habit-numbers dt{font-size:12px;color:var(--text-muted)}.habit-numbers dd{margin:2px 0 0;font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.habit-month{max-width:420px;margin:0 auto}.habit-month-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.habit-month-header .icon-btn:disabled{opacity:.3;cursor:default}.habit-month-header .flip{transform:rotate(180deg)}.habit-month-title{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:15px;font-weight:600}.habit-month-count{font-size:12px;font-weight:400;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.habit-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.habit-month-weekday{padding-bottom:2px;text-align:center;font-size:10px;color:var(--text-muted)}.habit-month-day{aspect-ratio:1;display:grid;place-items:center;padding:0;border:none;border-radius:7px;background:var(--code-bg);color:var(--text);font:inherit;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}button.habit-month-day:hover{box-shadow:inset 0 0 0 2px var(--habit)}.habit-month-day.done{background:var(--habit);color:var(--habit-ink);font-weight:600}.habit-month-day.today{box-shadow:inset 0 0 0 2px var(--text)}.habit-month-day.done.today{box-shadow:inset 0 0 0 2px var(--habit),inset 0 0 0 4px var(--surface)}.habit-month-filler{aspect-ratio:1}.habit-month-day.outside{background:none;color:var(--text-muted);opacity:.45;cursor:default}.habit-progress{margin-top:24px;padding:14px 16px 12px;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.habit-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.habit-progress-header h3{margin:0;font-size:15px;font-weight:600}.habit-progress-summary{margin:10px 0 4px;color:var(--text-muted);font-size:13px}.habit-progress-summary strong{color:var(--text);font-weight:600}.habit-weekly{margin-top:16px}.habit-weekly-title{margin-bottom:6px;font-size:12px;color:var(--text-muted)}@media (max-width:520px){.habit-row{grid-template-columns:auto 1fr auto}.habit-menu-wrap{grid-row:1;grid-column:3}.habit-week{grid-column:1/-1;justify-content:space-between}}.skeleton-block,.skeleton-circle,.skeleton-line{display:block;background:var(--code-bg);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-circle{width:40px;height:40px;border-radius:50%}.skeleton-line{width:40%;height:14px;border-radius:7px}.skeleton-block{height:220px;border-radius:16px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton-block,.skeleton-circle,.skeleton-line{animation:none}}.usage{display:flex;flex-direction:column;gap:24px}.usage-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.usage-tile{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.usage-tile-label{font-size:12px;color:var(--text-muted)}.usage-tile-cost{margin-top:2px;font-size:22px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-tile-meta{margin-top:2px;font-size:12px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-tile-warn{margin-top:6px;font-size:12px;color:var(--attention)}.usage-box{padding:14px 16px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.usage-box-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.usage-box-header h2{margin:0;font-size:15px;font-weight:600}.usage-subtitle{margin:20px 0 8px;font-size:13px;font-weight:600}.usage-empty{margin:0;font-size:13px;color:var(--text-muted)}.usage-breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 24px}.usage table{width:100%;border-collapse:collapse;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage th{padding:4px 6px;border-bottom:1px solid var(--border-strong);color:var(--text-muted);font-size:11px;font-weight:500;text-align:left}.usage td{padding:6px;border-bottom:1px solid var(--border);vertical-align:top}.usage .num{text-align:right;white-space:nowrap}.usage-row-name{overflow-wrap:anywhere}.usage-share{margin-top:4px;height:4px;border-radius:2px;background:var(--code-bg)}.usage-share span{display:block;height:100%;border-radius:2px;background:var(--accent)}.usage-sessions{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.usage-session{border-bottom:1px solid var(--border)}.usage-session-head{width:100%;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:10px 4px;border:none;background:none;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.usage-session-head:hover{background:var(--code-bg)}.usage-session-calls,.usage-session-user{color:var(--text-muted)}.usage-session-cost{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-calls{padding:4px 4px 12px 26px;overflow-x:auto}.usage-calls tr.error td{color:var(--danger)}.usage-tools{color:var(--text-muted);overflow-wrap:anywhere}@media (max-width:600px){.usage-session-head{grid-template-columns:auto 1fr auto}.usage-session-calls,.usage-session-user{display:none}}.spending{display:flex;flex-direction:column;gap:20px}.spending-form h2{margin:0 0 12px;font-size:15px;font-weight:600}.spending-fields{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.2fr) minmax(200px,2fr);gap:12px}.spending-field{display:flex;flex-direction:column;gap:4px;min-width:0}.spending-field>span{font-size:12px;color:var(--text-muted)}.spending-field .text-input{width:100%;height:42px;padding:0 12px}.spending-amount{display:flex;gap:6px}.spending-amount input{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spending-field .spending-currency{flex:0 0 auto;width:auto;padding:9px 8px}.spending-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.spending-actions .habit-add-btn{height:40px}.spending-cancel{height:40px;padding:0 16px;border:1px solid var(--border);border-radius:12px;background:none;color:var(--text);cursor:pointer}.spending-form .habits-error{margin-top:10px}.spending-total{display:flex;flex-direction:column;align-items:center;gap:2px;margin:4px 0 16px}.spending-total-amount{font-size:26px;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spending-total-label{font-size:13px;color:var(--text-muted);text-align:center}.spending-days{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.spending-day.past{opacity:.6}.spending-day-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.spending-today{padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:11px;text-transform:none;letter-spacing:0}.spending-items{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.spending-item{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border)}.spending-item.editing{background:var(--code-bg)}.spending-item-main{flex:1 1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 4px;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.spending-reason{min-width:0;overflow-wrap:anywhere}.spending-amount-value{flex:0 0 auto;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spending-delete{flex:0 0 auto;width:30px;height:30px}@media (max-width:600px){.spending-fields{grid-template-columns:1fr 1fr}.spending-field-reason{grid-column:1/-1}}@media (max-width:380px){.spending-fields{grid-template-columns:1fr}}