:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2328;background:#f7f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;--surface: #f7f7f4;--panel: #ffffff;--panel-2: #f0f1ee;--text: #1f2328;--muted: #6f747a;--line: #dedfdc;--accent: #2563eb;--accent-soft: #e7efff;--green: #15a46b;--danger: #c2413a;--shadow: 0 18px 48px rgba(20, 24, 31, .16)}[data-theme=dark]{color:#f4f4f5;background:#171717;--surface: #171717;--panel: #1f1f1f;--panel-2: #262626;--text: #f4f4f5;--muted: #a1a1aa;--line: #303030;--accent: #9fb7ff;--accent-soft: rgba(159, 183, 255, .16);--green: #37c58a;--danger: #ff6b62;--shadow: 0 18px 48px rgba(0, 0, 0, .36)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;width:100%;overflow:hidden;touch-action:pan-y}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;width:100vw;max-width:100vw;height:var(--app-height, 100dvh);min-height:0;background:linear-gradient(180deg,#ffffffb8,#f7f7f400),var(--surface);color:var(--text);overflow:hidden;overscroll-behavior:none;touch-action:pan-y}[data-theme=dark] .app-shell{background:var(--surface)}.app-main{display:grid;grid-template-rows:auto 1fr;width:100%;height:100%;min-width:0;min-height:0}.workspace-layout{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.chat-stage{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.top-bar{display:flex;align-items:center;gap:12px;min-width:0;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 10px;background:#f7f7f4e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(222,223,220,.8);z-index:20}[data-theme=dark] .top-bar{background:#171717f0;border-bottom-color:#303030e6}.icon-button,.ghost-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:999px;color:#353a40;background:transparent}[data-theme=dark] .icon-button,[data-theme=dark] .ghost-icon{color:#f4f4f5}[data-theme=dark] .icon-button:active,[data-theme=dark] .ghost-icon:active{background:#262626}.icon-button:active,.ghost-icon:active{background:#ecedea}.top-title{display:flex;flex-direction:column;min-width:0}.top-title strong{font-size:17px;line-height:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:16px}.connection-status.is-connected{color:var(--green)}.connection-status.is-connecting{color:#64748b}.connection-status.is-disconnected{color:var(--danger)}.drawer-backdrop{position:fixed;inset:0;background:#13171e00;pointer-events:none;transition:background .18s ease;z-index:40}.drawer-backdrop.is-open{background:#13171e3d;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;width:min(82vw,360px);padding:calc(env(safe-area-inset-top,0px) + 10px) 14px calc(env(safe-area-inset-bottom,0px) + 18px);background:#fffffff5;box-shadow:var(--shadow);overflow:hidden;transform:translate(-105%);transition:transform .22s cubic-bezier(.22,1,.36,1);z-index:50}[data-theme=dark] .drawer{background:#1f1f1ffa}.drawer.is-open{transform:translate(0)}.drawer-grip{display:flex;justify-content:flex-end}.drawer-subheader{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:6px;padding-bottom:12px}.drawer-subheader strong{justify-self:center;color:var(--text);font-size:17px;line-height:22px}.settings-view{flex:1 1 auto;min-height:0;overflow:auto;padding-top:8px}.settings-group{display:grid;gap:8px}.theme-setting{display:grid;gap:10px;padding:12px;border-radius:8px;background:#f5f7f4}[data-theme=dark] .theme-setting{background:#262626}.theme-setting-title{display:grid;gap:2px}.theme-setting-title span{color:var(--text);font-size:14px;font-weight:650}.theme-setting-title small{color:var(--muted);font-size:12px;line-height:16px}.theme-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:8px;background:#e8ece7}[data-theme=dark] .theme-segment{background:#171717}.theme-segment button{height:34px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:13px;font-weight:700}.theme-segment button.is-selected{color:var(--text);background:var(--panel);box-shadow:0 1px 4px #14181f1f}.drawer-action,.project-row,.setting-row,.control-row{width:100%;display:flex;align-items:center;gap:12px;border:0;text-align:left;color:var(--text)}.drawer-actions{display:grid;gap:10px;margin:8px 0 18px}.drawer-action{min-height:62px;margin:0;padding:10px 12px;border-radius:8px;background:var(--panel-2)}[data-theme=dark] .drawer-action{background:#262626}.drawer-action span,.project-row span{min-width:0;display:flex;flex-direction:column;gap:2px}.drawer-action strong,.project-row strong{font-size:15px;line-height:20px}.drawer-action small,.project-row small{color:var(--muted);font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-section{min-height:0;margin-bottom:18px}.project-section{flex:1 1 auto;display:flex;min-height:0;flex-direction:column;margin-bottom:10px}.drawer-heading{padding:0 8px 8px;color:#7c8288;font-size:12px;font-weight:650}.project-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:3px;max-height:none;overflow:auto;padding-right:3px}.project-group{display:flex;flex-direction:column}.project-row{min-height:54px;padding:9px 10px;border-radius:8px;background:transparent}.project-row.is-selected{background:var(--accent-soft);color:#174eb8}[data-theme=dark] .project-row.is-selected{color:var(--text);background:#2b2b2b}.project-row span{flex:1}.project-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;color:#727982;background:#edf0ed;font-size:11px}[data-theme=dark] .project-count{color:#d4d4d8;background:#303030}.project-row.is-selected .project-count{color:#174eb8;background:#ffffffb8}[data-theme=dark] .project-row.is-selected .project-count{color:var(--text);background:#3a3a3a}.project-chevron{flex:0 0 auto;color:#8a9097;transition:transform .16s ease}.project-row.is-expanded .project-chevron{transform:rotate(180deg)}.thread-list{margin:2px 0 8px 36px;padding-left:10px;border-left:1px solid #e1e3df}[data-theme=dark] .thread-list{border-left-color:#303030}.thread-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;align-items:center;gap:4px;width:100%;min-height:44px;padding:4px;border-radius:8px;color:#4f5661;background:transparent}.thread-row.is-selected{color:#174eb8;background:#e7efffb8}[data-theme=dark] .thread-row.is-selected{color:var(--text);background:#2b2b2b}.thread-row.is-draft{color:#5c6470;background:#f6f7f5;border:1px dashed #cfd5d0}[data-theme=dark] .thread-row.is-draft{color:#d4d4d8;background:#222;border-color:#3a3a3a}.thread-row.is-draft.is-selected{color:#174eb8;background:#e7efffb8;border-color:#2563eb61}[data-theme=dark] .thread-row.is-draft.is-selected{color:var(--text);background:#2b2b2b;border-color:#4a4a4a}.thread-main{min-width:0;min-height:36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:4px 6px;border:0;color:inherit;background:transparent;text-align:left}.thread-rename,.thread-delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(194,65,58,.16);border-radius:8px;color:var(--danger);background:#fff1f1eb}.thread-rename{border-color:#636a7424;color:#5f6874;background:#f4f6f4f0}.thread-rename:active{background:#e7eae7f5}.thread-delete:active{background:#ffe1e1f5}[data-theme=dark] .thread-rename{color:#d4d4d8;background:#262626;border-color:#343434}[data-theme=dark] .thread-delete{color:var(--danger);background:#ff6b621f;border-color:#ff6b623d}[data-theme=dark] .thread-rename:active{background:#303030}[data-theme=dark] .thread-delete:active{background:#ff6b622e}.thread-row span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:18px}.thread-row small,.thread-empty{color:var(--muted);font-size:11px;line-height:16px}.thread-empty{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 9px}.settings-section{margin-top:auto}.drawer-controls{flex:0 0 auto;display:grid;gap:8px;margin-top:0;margin-bottom:0;padding-top:10px;border-top:1px solid rgba(222,223,220,.82)}[data-theme=dark] .drawer-controls{border-top-color:#303030e6}.control-row,.settings-entry{min-height:42px;padding:4px 8px;border-radius:8px;background:#f5f7f4}[data-theme=dark] .control-row,[data-theme=dark] .settings-entry{background:#262626}.control-row{justify-content:space-between}.sync-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 32px;align-items:center;gap:0;padding:4px}.sync-row>span:first-child{padding:0 8px}.control-row span,.settings-entry span{display:inline-flex;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:650}.sync-row .sync-spacer{display:block;width:30px;min-width:30px;height:30px}.settings-entry{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;color:var(--text);text-align:left}.setting-row{justify-content:space-between;padding:10px}.setting-row span{display:inline-flex;align-items:center;gap:10px}.setting-row input{width:44px;height:26px;appearance:none;border-radius:999px;background:#c9cdc8;position:relative;transition:background .16s ease}.setting-row input:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000002e;transition:transform .16s ease}.setting-row input:checked{background:var(--green)}.setting-row input:checked:before{transform:translate(18px)}.sync-button{width:70px;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;justify-content:center;min-width:56px;height:30px;margin-top:0;padding:0 10px;border:0;border-radius:8px;color:var(--text);background:#e8ece7;font-size:12px;font-weight:650}.sync-button:disabled{opacity:.64}[data-theme=dark] .sync-button{background:#303030}.session-strip{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;border-bottom:1px solid rgba(222,223,220,.74);background:#f7f7f4c7}.session-strip button{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:148px;min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:#39404a;background:#ffffffd6}.session-strip button.is-selected{border-color:#2563eb61;background:var(--accent-soft)}.session-strip span{max-width:124px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.session-strip small{color:var(--muted);font-size:10px}.chat-pane{min-height:0;min-width:0;width:100%;max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:18px 14px 10px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--muted)}.empty-orbit{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;color:var(--accent);background:var(--accent-soft)}.empty-chat h2{margin:8px 0 0;color:var(--text);font-size:20px}.empty-chat p{margin:0;font-size:14px}.message-row{display:flex;justify-content:flex-start;min-width:0;width:100%;max-width:100%;margin-bottom:12px;overflow:visible}.message-row.is-user{justify-content:flex-end}.message-stack{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:min(78%,680px)}.message-row.is-user .message-stack{align-items:flex-end}.message-bubble{min-width:0;max-width:100%;padding:10px 12px;border-radius:16px 16px 16px 6px;background:#fff;border:1px solid rgba(222,223,220,.8);box-shadow:0 1px 2px #1018280a}.message-row.is-user .message-bubble{color:#fff;background:#1f2937;border-color:#1f2937;border-bottom-left-radius:16px;border-bottom-right-radius:6px}.message-row.is-activity .message-bubble{display:inline-flex;align-items:center;gap:8px;max-width:92%;color:#58606b;background:#eeefeb}.message-row.is-activity .activity-bubble{display:block;min-width:172px;padding:8px 10px;color:#4f5661;background:#f0f1ee}.activity-bubble.is-failed{color:var(--danger);background:#fff1ef;border-color:#c2413a38}.message-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px;max-width:100%;margin-top:4px;padding:0 3px;color:#7b838f;font-size:12px;line-height:16px}.message-action{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0;border:0;color:inherit;background:transparent}.message-action:hover,.message-action:focus-visible,.message-action:active{color:#4b5563}.message-action.is-delete:hover,.message-action.is-delete:focus-visible,.message-action.is-delete:active{color:var(--danger)}@media(hover:hover){.message-actions{opacity:.66;transition:opacity .14s ease,color .14s ease}.message-row:hover .message-actions,.message-actions:focus-within{opacity:1}}.activity-summary{display:flex;align-items:center;gap:7px;width:100%;padding:0;border:0;color:inherit;background:transparent;text-align:left}.activity-summary:disabled{opacity:1}.activity-summary span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:18px}.activity-summary svg:last-child{flex:0 0 auto;transition:transform .16s ease}.activity-summary svg.is-expanded{transform:rotate(180deg)}.activity-detail{margin-top:8px;padding-top:8px;border-top:1px solid rgba(210,213,208,.86);color:#626974}.activity-detail pre,.activity-detail code{display:block;max-width:100%;margin:5px 0 0;padding:7px 8px;overflow-x:auto;border-radius:7px;color:#333941;background:#ffffffb8;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.45}.activity-item{margin-top:8px}.activity-item strong{display:block;font-size:12px;line-height:16px}.activity-item ul{margin:5px 0 0;padding-left:18px;font-size:11px}.activity-item em{display:block;margin-top:5px;color:var(--danger);font-style:normal;font-size:11px}.message-content{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:14px;line-height:1.55}.message-content pre,.message-content code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.message-image-link{display:block;width:min(100%,calc(100vw - 56px),360px);max-width:100%;margin:8px 0;padding:0;border:0;border-radius:8px;color:inherit;background:#eef0ed;text-align:left;overflow:hidden;cursor:zoom-in;-webkit-touch-callout:none}.message-image{display:block;width:100%;height:auto;max-height:min(54vh,520px);object-fit:contain}.message-image-link.is-failed{display:grid;min-height:132px;place-items:center;border:1px dashed rgba(194,65,58,.28);color:var(--danger);background:#fff4f2}.message-image-link.is-failed img{display:none}.image-error{display:inline-flex;align-items:center;gap:8px;font-size:13px}.image-error span{color:#174eb8}.image-lightbox{position:fixed;inset:0;z-index:90;display:grid;grid-template-rows:auto 1fr auto;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px calc(env(safe-area-inset-bottom,0px) + 12px);background:#080a0df0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-top{display:flex;justify-content:flex-end}.lightbox-close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:50%;color:#fff;background:#ffffff24}.lightbox-stage{min-height:0;display:grid;place-items:center;padding:8px 0}.lightbox-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#ffffff0f}.lightbox-actions{display:flex;justify-content:center;padding-top:8px}.lightbox-actions button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:999px;color:var(--danger);background:#ffffffeb}.message-bubble time{display:block;margin-top:6px;color:#6f747ac7;font-size:10px}.message-row.is-user .message-bubble time{color:#ffffffa3}[data-theme=dark] .empty-orbit{color:var(--accent);background:#262626}[data-theme=dark] .message-bubble{color:var(--text);background:#1f1f1f;border-color:#303030;box-shadow:none}[data-theme=dark] .message-row.is-user .message-bubble{color:var(--text);background:#303030;border-color:#3a3a3a}[data-theme=dark] .message-row.is-activity .message-bubble,[data-theme=dark] .message-row.is-activity .activity-bubble{color:#d4d4d8;background:#242424;border-color:#303030}[data-theme=dark] .activity-bubble.is-failed{color:#ffb4ae;background:#ff6b621f;border-color:#ff6b6242}[data-theme=dark] .message-actions{color:#a1a1aa}[data-theme=dark] .message-action:hover,[data-theme=dark] .message-action:focus-visible,[data-theme=dark] .message-action:active{color:var(--text)}[data-theme=dark] .activity-detail{color:#c4c4cc;border-top-color:#303030}[data-theme=dark] .activity-detail pre,[data-theme=dark] .activity-detail code{color:#e4e4e7;background:#171717}[data-theme=dark] .message-image-link{background:#242424}[data-theme=dark] .message-image-link.is-failed{color:#ffb4ae;background:#ff6b621a;border-color:#ff6b6247}[data-theme=dark] .image-error span{color:var(--accent)}[data-theme=dark] .lightbox-actions button{color:#ffb4ae;background:#242424}[data-theme=dark] .message-bubble time{color:#8b8b94}[data-theme=dark] .message-row.is-user .message-bubble time{color:#b5b5bd}.composer-wrap{position:relative;z-index:30;min-width:0;width:100%;max-width:100vw;padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 10px);background:#f7f7f4eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid rgba(222,223,220,.84);overflow:visible}[data-keyboard=open] .composer-wrap{padding-bottom:2px}[data-keyboard=open] .chat-pane{padding-bottom:4px}.file-input{display:none}.composer-menu{position:absolute;bottom:calc(100% + 6px);z-index:60;display:flex;flex-direction:column;gap:2px;min-width:150px;max-width:min(84vw,300px);max-height:42svh;padding:7px;overflow:auto;border:1px solid rgba(222,223,220,.9);border-radius:12px;background:#fffffffa;box-shadow:0 16px 44px #14181f24}.attach-menu{left:14px}.permission-menu{left:56px}.model-menu{right:12px;min-width:176px}.menu-section-label{padding:4px 9px 2px;color:#8a9097;font-size:12px;line-height:16px}.menu-divider{height:1px;margin:5px 2px;background:#eceeeb}.composer-menu button{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:8px 9px;border:0;border-radius:8px;color:#363c45;background:transparent;text-align:left}.composer-menu button.is-selected{color:#174eb8;background:var(--accent-soft)}.composer-menu button.is-danger{color:var(--danger)}.composer-menu button span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-spacer{width:16px;height:16px;flex:0 0 auto}.composer{width:100%;max-width:100%;min-width:0;border:1px solid #d9dad6;border-radius:20px;background:#fffffff5;box-shadow:0 8px 28px #14181f14;overflow:hidden}.attachment-tray{display:flex;gap:6px;padding:8px 10px 0;overflow-x:auto}.attachment-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;max-width:260px;height:30px;padding:0 5px 0 8px;border-radius:999px;color:#4f5661;background:#f0f1ee}.attachment-chip>span{min-width:0;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attachment-chip small{color:var(--muted);font-size:10px}.attachment-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:50%;color:#737a83;background:transparent}.composer textarea{display:block;width:100%;min-height:45px;max-height:132px;padding:14px 14px 6px;resize:none;border:0;outline:0;color:var(--text);background:transparent;line-height:1.45;font-size:16px}.composer textarea::placeholder{color:#b1b5ba}.composer-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:5px 8px 8px}.control-left,.control-right{display:flex;align-items:center;gap:6px;min-width:0}.control-left{flex:1 1 auto}.control-right{flex:0 1 auto;justify-content:flex-end}.permission-pill,.model-select{display:inline-flex;align-items:center;gap:3px;height:32px;border:0;color:#60666e;background:transparent;white-space:nowrap;flex:0 1 auto}.permission-pill{max-width:118px;overflow:hidden}.model-select{max-width:128px;overflow:hidden;text-overflow:ellipsis}.voice-button,.send-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%}.voice-button{color:#60666e;background:#f0f1ee}.voice-button.is-listening,.voice-button.is-recording{color:#fff;background:var(--green);box-shadow:0 0 0 4px #15a46b24}.voice-button.is-transcribing,.voice-button.is-sending{color:#fff;background:#4b5563}.voice-button:disabled{opacity:.74}.send-button{color:#fff;background:#1f2328}.send-button:disabled{opacity:.38}.send-button.is-running{background:var(--danger)}.voice-popover{position:absolute;right:58px;bottom:calc(100% + 8px);z-index:36;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid rgba(21,164,107,.16);border-radius:10px;color:#0f7a50;background:#fffffff7;box-shadow:0 8px 28px #14181f1f;font-size:12px}.voice-popover.is-error{border-color:#c2413a2e;color:var(--danger)}[data-theme=dark] .composer-wrap{background:#171717f0;border-top-color:#303030e6}[data-theme=dark] .composer-menu{border-color:#303030;background:#1f1f1ffa;box-shadow:0 16px 44px #00000057}[data-theme=dark] .menu-section-label{color:var(--muted)}[data-theme=dark] .menu-divider{background:#303030}[data-theme=dark] .composer-menu button{color:#e4e4e7}[data-theme=dark] .composer-menu button.is-selected{color:var(--text);background:#303030}[data-theme=dark] .composer{border-color:#303030;background:#202020;box-shadow:none}[data-theme=dark] .attachment-chip{color:#e4e4e7;background:#303030}[data-theme=dark] .attachment-chip button{color:#d4d4d8}[data-theme=dark] .composer textarea::placeholder{color:#85858e}[data-theme=dark] .permission-pill,[data-theme=dark] .model-select{color:#d4d4d8}[data-theme=dark] .voice-button{color:#e4e4e7;background:#303030}[data-theme=dark] .voice-button.is-listening,[data-theme=dark] .voice-button.is-recording{color:#171717;background:var(--green)}[data-theme=dark] .voice-button.is-transcribing,[data-theme=dark] .voice-button.is-sending{color:#171717;background:#d4d4d8}[data-theme=dark] .send-button{color:#171717;background:#f4f4f5}[data-theme=dark] .send-button.is-running{color:#fff;background:var(--danger)}[data-theme=dark] .voice-popover{color:#b6f2d4;background:#242424;border-color:#37c58a3d;box-shadow:0 12px 34px #00000057}[data-theme=dark] .voice-popover.is-error{color:#ffb4ae;border-color:#ff6b6247}.pairing-screen{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:28px;background:var(--surface);color:var(--text)}.pairing-mark{display:grid;place-items:center;width:68px;height:68px;border-radius:22px;color:#fff;background:#1f2937;margin-bottom:20px}.pairing-screen h1{margin:0;font-size:30px;line-height:1.08}.pairing-screen p{margin:9px 0 22px;color:var(--muted)}.pairing-form{display:flex;gap:10px}.pairing-form input{min-width:0;flex:1;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;outline:0;background:#fff;letter-spacing:0}[data-theme=dark] .pairing-form input{color:var(--text);background:#202020;border-color:#303030}.pairing-form button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:92px;height:48px;border:0;border-radius:10px;color:#fff;background:#1f2937}[data-theme=dark] .pairing-form button{color:#171717;background:#f4f4f5}.pairing-form button:disabled{opacity:.45}.pairing-error{margin-top:12px;color:var(--danger);font-size:14px}.project-files-pane{display:none}.secondary-button,.primary-button,.workspace-entry-action,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid rgba(222,223,220,.88);border-radius:10px;color:var(--text);background:var(--panel)}.primary-button{border-color:#1f2937;color:#fff;background:#1f2937}.secondary-button:disabled,.primary-button:disabled{opacity:.5}.modal-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#0f121852;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{width:min(100%,520px);padding:18px;border:1px solid rgba(222,223,220,.88);border-radius:22px;background:#fffffffa;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head strong{display:block;font-size:18px;line-height:24px}.modal-head small{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:18px}.modal-close{width:36px;min-width:36px;padding:0;font-size:20px}.modal-form{display:grid;gap:14px;margin-top:18px}.modal-form label{display:grid;gap:7px}.modal-form label span{color:var(--text);font-size:13px;font-weight:650}.modal-form input{width:100%;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--panel)}.modal-tip{padding:10px 12px;border-radius:12px;color:var(--muted);background:#f5f7f4;font-size:13px;line-height:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.workspace-pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.workspace-pane-head strong{display:block;font-size:16px;line-height:22px}.workspace-pane-head small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:17px;overflow-wrap:anywhere}.workspace-toolbar,.workspace-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px}.workspace-breadcrumbs button{min-height:32px;padding:0 10px;border:1px solid rgba(222,223,220,.88);border-radius:999px;color:var(--muted);background:var(--panel)}.workspace-breadcrumbs button.is-current{color:var(--text);background:var(--accent-soft);border-color:#2563eb33}.workspace-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;line-height:17px}.workspace-list{min-height:0;overflow:auto;display:grid;gap:8px}.workspace-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid rgba(222,223,220,.88);border-radius:14px;background:#ffffffdb}.workspace-entry-main{min-width:0;display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;color:var(--text);background:transparent;text-align:left}.workspace-entry-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#52606d;background:#edf0ed}.workspace-entry-icon.is-directory{color:#174eb8;background:var(--accent-soft)}.workspace-entry-text{min-width:0;display:grid;gap:3px}.workspace-entry-text strong,.workspace-entry-text small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace-entry-text strong{font-size:14px;line-height:19px}.workspace-entry-text small{color:var(--muted);font-size:12px;line-height:16px}.workspace-entry-action{white-space:nowrap}.workspace-placeholder,.workspace-empty,.workspace-error{min-height:120px;display:grid;place-items:center;gap:8px;padding:16px;border:1px dashed rgba(222,223,220,.88);border-radius:16px;color:var(--muted);background:#ffffffb8;text-align:center}.workspace-empty{min-height:86px}.workspace-error{color:var(--danger);border-color:#c2413a38;background:#fff1ef}[data-theme=dark] .secondary-button,[data-theme=dark] .workspace-entry-action,[data-theme=dark] .modal-close{border-color:#303030;color:var(--text);background:#242424}[data-theme=dark] .primary-button{border-color:#f4f4f5;color:#171717;background:#f4f4f5}[data-theme=dark] .modal-card{border-color:#303030;background:#1f1f1ffa}[data-theme=dark] .modal-form input{border-color:#303030;background:#202020}[data-theme=dark] .modal-tip{background:#262626}[data-theme=dark] .workspace-breadcrumbs button{border-color:#303030;color:var(--muted);background:#242424}[data-theme=dark] .workspace-breadcrumbs button.is-current{color:var(--text);background:#303030;border-color:#3a3a3a}[data-theme=dark] .workspace-entry{border-color:#303030;background:#222}[data-theme=dark] .workspace-entry-icon{color:#d4d4d8;background:#303030}[data-theme=dark] .workspace-entry-icon.is-directory{color:var(--text);background:#2f3b55}[data-theme=dark] .workspace-placeholder,[data-theme=dark] .workspace-empty{border-color:#303030;background:#222}[data-theme=dark] .workspace-error{color:#ffb4ae;border-color:#ff6b6247;background:#ff6b621a}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1024px){body{position:static;overflow:hidden}#root{width:100vw;height:100vh}.app-shell{display:grid;grid-template-rows:1fr;grid-template-columns:320px minmax(0,1fr);background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 28%),linear-gradient(180deg,#ffffffb8,#f7f7f400),var(--surface)}.drawer-backdrop{display:none}.drawer{position:relative;grid-row:1;top:auto;bottom:auto;left:auto;width:auto;padding:20px 16px;border-right:1px solid rgba(222,223,220,.84);box-shadow:none;transform:none;z-index:1}.drawer-grip,.top-bar .icon-button{display:none}.app-main{grid-row:1;grid-column:2;overflow:hidden}.top-bar{padding:18px 24px 14px;background:transparent}.workspace-layout{min-height:0;height:100%;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:18px;padding:0 18px 18px}.chat-stage{min-height:0;border:1px solid rgba(222,223,220,.84);border-radius:24px;background:#ffffffc7;box-shadow:0 20px 60px #14181f14;overflow:hidden}.chat-pane{padding:22px 24px 14px}.composer-wrap{padding:12px 18px 18px;background:#f7f7f4d1}.project-files-pane{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);gap:12px;min-height:0;padding:18px;border:1px solid rgba(222,223,220,.84);border-radius:24px;background:#ffffffe0;box-shadow:0 20px 60px #14181f14}[data-theme=dark] .drawer{border-right-color:#303030;background:#171717fa}[data-theme=dark] .chat-stage,[data-theme=dark] .project-files-pane{border-color:#303030;background:#1f1f1fe6;box-shadow:none}[data-theme=dark] .composer-wrap{background:#171717eb}}@media(max-width:380px){.permission-pill{max-width:92px;overflow:hidden}.model-select{max-width:104px}}
