.login-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--sp-xl);background:var(--bg-deep)}.login-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:280px;padding:var(--sp-2xl);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-3xl);box-shadow:var(--shadow-xl);position:relative}.login-logo{width:72px;height:auto;margin-bottom:var(--sp-lg)}html[data-theme=light] .login-logo{filter:invert(1)}.login-title{font-size:var(--fs-md);font-weight:600;color:var(--text-primary);margin:0 0 var(--sp-sm) 0;text-align:center}.login-subtitle{font-size:var(--fs-sm);color:var(--text-secondary);margin:0 0 var(--sp-xl) 0;text-align:center}.google-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-md);width:100%;padding:10px var(--sp-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-xl);font-size:var(--fs-base);font-weight:500;color:var(--text-primary);cursor:pointer;transition:all var(--ease-fast)}.google-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--bg-tertiary)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:18px;height:18px;flex-shrink:0}.login-divider{display:flex;align-items:center;width:100%;margin:var(--sp-xl) 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.login-divider span{padding:0 var(--sp-md);font-size:var(--fs-sm);color:var(--text-muted)}.email-link{background:none;border:none;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;transition:color var(--ease-fast);text-align:center;line-height:1.4}.email-link:hover:not(:disabled){color:var(--text-primary)}.email-link:disabled{opacity:.6;cursor:not-allowed}.login-container>.back-btn{position:absolute;top:var(--sp-lg);left:var(--sp-lg)}.login-form{width:100%;display:flex;flex-direction:column;gap:var(--sp-lg);margin-top:var(--sp-lg)}.form-group{display:flex;flex-direction:column;gap:var(--sp-sm)}.form-group label{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);color:var(--text-primary);font-weight:500}.forgot-link{font-size:var(--fs-xs);color:var(--text-secondary);text-decoration:none;font-weight:400}.forgot-link:hover{color:var(--text-primary)}.form-group input{width:100%;padding:10px var(--sp-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-xl);font-size:var(--fs-base);color:var(--text-primary);transition:border-color var(--ease-fast)}.form-group input:focus{outline:none;border-color:var(--text-muted)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.submit-btn{width:100%;padding:10px var(--sp-lg);background:var(--g-accent);border:none;border-radius:var(--r-xl);font-size:var(--fs-base);font-weight:600;color:var(--g-on-accent);cursor:pointer;transition:background var(--ease-fast);margin-top:var(--sp-md)}.submit-btn:hover:not(:disabled){background:#f7f8f8d9}html[data-theme=light] .submit-btn:hover:not(:disabled){background:#333}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.back-link{background:none;border:none;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;margin-top:var(--sp-xl);transition:color var(--ease-fast)}.back-link:hover:not(:disabled){color:var(--text-primary)}.login-error{color:var(--color-error);font-size:var(--fs-sm);text-align:center;margin:var(--sp-lg) 0 0 0;padding:var(--sp-md);background:#dc26261a;border:1px solid rgba(220,38,38,.2);border-radius:var(--r-xl);width:100%}.error-view{display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--sp-2xl) var(--sp-xl)}.error-card{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-2xl);display:flex;flex-direction:column;gap:var(--sp-lg)}.error-icon-wrap{width:40px;height:40px;border-radius:var(--r-xl);display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-icon-wrap--neutral{background:var(--bg-secondary);color:var(--text-secondary)}.error-icon-wrap--warning{background:#dc26261a;color:var(--color-error)}html[data-theme=light] .error-icon-wrap--warning{background:#dc262614}.error-icon{width:20px;height:20px}.error-heading{font-size:var(--fs-md);font-weight:600;color:var(--text-primary);line-height:1.3}.error-body{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.error-section-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.error-steps{display:flex;flex-direction:column;gap:var(--sp-md);padding-left:var(--sp-xl);margin:0}.error-steps--plain{list-style:none;padding-left:0}.error-steps--plain li{padding-left:var(--sp-lg);position:relative}.error-steps--plain li:before{content:"→";position:absolute;left:0;color:var(--text-muted);font-size:var(--fs-xs);top:2px}.error-steps li{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.error-steps strong{color:var(--text-primary);font-weight:500}.error-inline-btn{background:none;border:none;padding:0;margin:0;font:inherit;font-size:var(--fs-sm);color:var(--text-primary);text-decoration:underline;text-underline-offset:2px;cursor:pointer;display:inline}.error-inline-btn:hover{color:var(--text-primary);opacity:.75}.error-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--text-primary);text-decoration:none;padding:8px 14px;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--bg-secondary);transition:background var(--ease-fast),border-color var(--ease-fast);align-self:flex-start}.error-link:hover{background:var(--bg-tertiary)}.error-link svg{width:14px;height:14px;flex-shrink:0;opacity:.6}:root{--g-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--g-font-mono: "SF Mono", Monaco, "Cascadia Code", "Fira Code", monospace;--g-radius-sm: 4px;--g-radius-md: 8px;--g-radius-lg: 12px;--g-radius-xl: 16px;--g-bg: #08090A;--g-surface: #0F1011;--g-surface-2: #1B1C1D;--g-text-primary: #F7F8F8;--g-text-secondary: #888D96;--g-text-muted: rgba(136, 141, 150, .65);--g-border: 1px solid #161718;--g-border-strong: 1px solid #1B1C1D;--g-hover: rgba(255, 255, 255, .04);--g-hover-strong: rgba(255, 255, 255, .07);--g-tint-1: rgba(255, 255, 255, .03);--g-tint-2: rgba(255, 255, 255, .05);--g-tint-3: rgba(255, 255, 255, .08);--g-accent: #F7F8F8;--g-on-accent: #08090A;--g-success: #16a34a;--g-error: #dc2626;--g-shadow-menu: 0 10px 36px rgba(0, 0, 0, .48), 0 2px 10px rgba(0, 0, 0, .22);--g-shimmer-1: #1B1C1D;--g-shimmer-2: #2a2b2d;--bg-deep: var(--g-bg);--bg-primary: var(--g-surface);--bg-secondary: var(--g-surface-2);--bg-tertiary: #252628;--accent-blue: #5b8cff;--accent-cyan: #5b8cff;--text-primary: var(--g-text-primary);--text-secondary: var(--g-text-secondary);--text-muted: var(--g-text-muted);--border: #1B1C1D;--color-error: var(--g-error);--color-success: var(--g-success);--sp-xs: 2px;--sp-sm: 4px;--sp-md: 8px;--sp-lg: 12px;--sp-xl: 16px;--sp-2xl: 20px;--r-sm: 3px;--r-md: 4px;--r-lg: 6px;--r-xl: 8px;--r-2xl: 12px;--r-3xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .35);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .5);--font-primary: var(--g-font);--font-mono: var(--g-font-mono);--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--ease-fast: .15s ease;--ease-normal: .25s ease}html[data-theme=light]{color-scheme:light;--g-bg: #ffffff;--g-surface: #f7f7f7;--g-surface-2: #f7f7f7;--g-text-primary: #111111;--g-text-secondary: #737373;--g-text-muted: #a3a3a3;--g-border: 1px solid rgba(0, 0, 0, .08);--g-border-strong: 1px solid rgba(0, 0, 0, .12);--g-hover: rgba(0, 0, 0, .04);--g-hover-strong: rgba(0, 0, 0, .07);--g-tint-1: rgba(0, 0, 0, .02);--g-tint-2: rgba(0, 0, 0, .04);--g-tint-3: rgba(0, 0, 0, .06);--g-accent: #111111;--g-on-accent: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 1px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 0 0 1px rgba(0, 0, 0, .08);--shadow-xl: 0 2px 8px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .06);--g-shadow-menu: 0 8px 24px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .06);--g-shimmer-1: #e5e5e5;--g-shimmer-2: #d0d0d0;--bg-tertiary: #e8e8e8;--border: #e8e8e8;--accent-blue: #5b8cff;--accent-cyan: #5b8cff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-primary);font-size:var(--fs-base);color:var(--text-primary);background:var(--bg-deep);-webkit-font-smoothing:antialiased}.sidebar{display:flex;flex-direction:column;height:100vh;width:100%;max-width:300px;background:var(--bg-deep);overflow:hidden;border-radius:0 0 12px 12px}.sidebar-header{display:flex;align-items:center;padding:var(--sp-md) var(--sp-md);flex-shrink:0}.sidebar-header__left{display:flex;align-items:center;gap:var(--sp-md)}.header-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;padding:6px;margin:0;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background var(--ease-fast),color var(--ease-fast);font-family:var(--font-primary)}.header-btn:hover{background:var(--bg-tertiary)}.header-btn:hover svg{color:var(--text-primary)}.header-btn svg{width:14px;height:14px;color:var(--text-secondary);stroke-width:2;transition:color var(--ease-fast)}.sidebar-messages{flex:1;overflow-y:auto;padding:var(--sp-xl) var(--sp-md) var(--sp-md);display:flex;flex-direction:column;gap:var(--sp-xl);scrollbar-width:thin;scrollbar-color:var(--bg-tertiary) transparent;mask-image:linear-gradient(to bottom,transparent 0px,black 24px);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,black 24px)}.sidebar-messages::-webkit-scrollbar{width:4px}.sidebar-messages::-webkit-scrollbar-track{background:transparent}.sidebar-messages::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:10px}.empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:var(--sp-2xl)}.empty-state__tagline{font-size:15px;font-weight:500;color:var(--text-primary);text-align:center;padding:0 var(--sp-md) var(--sp-xl);margin:0}.msg--user{display:flex;justify-content:flex-end}.msg--user .msg__bubble{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:var(--r-2xl) var(--r-2xl) 0 var(--r-2xl);padding:var(--sp-md) var(--sp-lg);max-width:90%;color:var(--text-primary);font-size:var(--fs-base);line-height:1.5;word-break:break-word}.msg__attachments{display:flex;flex-wrap:nowrap;gap:6px;overflow:hidden;margin-bottom:6px}.msg__file-chip{display:inline-flex;align-items:center;padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--r-xl);font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.msg--assistant{display:flex;flex-direction:column}.msg--assistant .msg__bubble{color:var(--text-primary);font-size:var(--fs-base);line-height:1.5;word-break:break-word;max-width:100%}.msg--assistant .msg__bubble p{margin:0 0 var(--sp-md)}.msg--assistant .msg__bubble p:last-child{margin:0}.msg--streaming{display:flex;align-items:flex-start;gap:var(--sp-md)}.streaming-dot{width:6px;height:6px;min-width:6px;border-radius:50%;margin-top:5px;flex-shrink:0;animation:dot-pulse 2s ease-in-out infinite}.msg__assistant-content{display:flex;flex-direction:column;width:100%}.thinking-inline{margin-bottom:1em}.thinking-inline:last-child{margin-bottom:0}.thinking-inline>summary{list-style:none}.thinking-inline>summary::-webkit-details-marker{display:none}.thinking-inline-summary{display:flex;align-items:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-base);font-style:italic;color:var(--text-secondary);line-height:1.5;outline:none}.thinking-inline-body{margin-top:6px;font-size:12px;font-style:italic;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;line-height:1.55}.msg--status{display:flex;align-items:center;gap:var(--sp-md)}.msg--status .msg__text{color:var(--text-secondary);font-size:var(--fs-sm);font-style:italic}.msg--error .msg__bubble{color:#ffffffb3;font-size:var(--fs-base)}.inline-restore{display:flex;justify-content:flex-end;padding:4px 0 2px}.inline-restore-btn{background:none;border:none;cursor:pointer;padding:3px 8px;margin:0;font-family:var(--font-primary);font-size:var(--fs-sm);color:var(--text-muted);display:inline-flex;align-items:center;gap:5px;border-radius:var(--r-xl);transition:all var(--ease-fast);line-height:1}.inline-restore-btn:hover{color:var(--text-secondary);background:var(--bg-secondary)}.inline-restore-btn:active{color:var(--text-primary)}.inline-restore-btn svg{flex-shrink:0}.inline-restore-spinner{width:11px;height:11px;border-width:2px;margin-right:4px}.inline-restore-btn:disabled{opacity:.4;cursor:not-allowed}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-xl);max-width:280px;width:90%;box-shadow:var(--shadow-xl);animation:slideUp .15s ease-out}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog__header{padding:var(--sp-xl);border-bottom:1px solid var(--border)}.confirm-dialog__header h3{margin:0;font-size:var(--fs-md);color:var(--text-primary);font-weight:600}.confirm-dialog__body{padding:var(--sp-xl);color:var(--text-secondary);line-height:1.6}.confirm-dialog__body p{margin:0}.confirm-dialog__footer{padding:var(--sp-xl);display:flex;gap:var(--sp-md);justify-content:flex-end;border-top:1px solid var(--border)}.confirm-dialog__cancel,.confirm-dialog__confirm{padding:var(--sp-md) var(--sp-2xl);border-radius:var(--r-xl);font-size:var(--fs-base);cursor:pointer;transition:all var(--ease-fast);font-family:var(--font-primary);border:none;font-weight:500}.confirm-dialog__cancel{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.confirm-dialog__cancel:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}.confirm-dialog__confirm{background:var(--g-accent);color:var(--g-on-accent);font-weight:600}.confirm-dialog__confirm:hover{background:#f7f8f8d9}.confirm-dialog__confirm--danger{background:#dc2626;color:#fff}.confirm-dialog__confirm--danger:hover{background:#b91c1c}.suggestions{display:flex;flex-direction:column;gap:var(--sp-md);margin-top:var(--sp-md);padding:0 var(--sp-md)}.suggestions__label{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);padding:0 var(--sp-sm)}.suggestion-chip{display:flex;align-items:center;gap:var(--sp-md);padding:7px var(--sp-lg);background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:var(--fs-base);cursor:pointer;transition:all var(--ease-fast);text-align:left}.suggestion-chip:hover{background:var(--g-hover);color:var(--text-primary)}.suggestion-chip__dot{color:var(--text-secondary);font-weight:700}.suggestion-chip:disabled{opacity:.6;cursor:not-allowed}.suggestion-chip--loading{position:relative}.suggestion-chip__spinner{width:14px;height:14px;border:2px solid var(--bg-tertiary);border-top-color:var(--text-secondary);border-radius:50%;animation:spin .8s linear infinite;margin-left:auto}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-input{padding:0 var(--sp-md) var(--sp-md);flex-shrink:0}.hidden-file-input{display:none}.input-glass{position:relative;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:8px var(--sp-lg);padding-right:72px;min-height:36px;transition:border-color var(--ease-fast)}.input-glass:focus-within{border-color:var(--bg-tertiary)}.prompt-input{width:100%;min-height:24px;max-height:120px;border:none;outline:none;resize:none;font-size:var(--fs-base);line-height:1.5;font-family:var(--font-primary);background:transparent;color:var(--text-primary);overflow-y:auto}.prompt-input::placeholder{color:var(--text-muted)}.input-actions{position:absolute;bottom:5px;right:7px;display:flex;align-items:center;gap:6px}.send-btn{width:26px;height:26px;background:var(--g-accent);border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ease-fast)}.send-btn:hover:not(:disabled){background:#f7f8f8d9}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn svg{width:14px;height:14px;color:var(--g-on-accent);stroke-width:2}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn--stop{opacity:1!important;cursor:pointer!important}.attach-btn{width:26px;height:26px;border:none;border-radius:6px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--text-secondary);transition:background var(--ease-fast)}.attach-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.attach-btn:disabled{opacity:.3;cursor:not-allowed}.file-preview{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 80px);display:flex;flex-wrap:nowrap;gap:6px;overflow:hidden}.file-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-xl);font-size:11px;color:var(--text-secondary);min-width:0;flex-shrink:1}.file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.file-chip-remove{border:none;background:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.6}.file-chip-remove:hover{opacity:1}.prompt-counter{text-align:center;padding:0 var(--sp-lg);margin-bottom:var(--sp-sm)}.prompt-counter__text{margin:0;font-size:11px;color:var(--text-secondary);font-weight:500;letter-spacing:.5px}.prompt-counter__text--out{color:#c62828;cursor:pointer;text-decoration:underline}.approval-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-xl);padding:14px 16px;box-shadow:var(--shadow-md);animation:approvalSlideUp .15s ease-out}@keyframes approvalSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.approval-content{display:flex;flex-direction:column;gap:10px}.approval-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.approval-label{font-size:var(--fs-sm);color:var(--text-secondary);flex-shrink:0}.approval-qualifier{display:inline-flex;align-items:center;padding:3px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);flex-shrink:0}.approval-target{color:var(--text-primary);font-size:var(--fs-sm);font-weight:500}.approval-actions{display:flex;align-items:center;gap:6px}.approval-btn{flex:1;background:transparent;border:1px solid;padding:7px 0;border-radius:var(--r-xl);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1;text-align:center}.approval-btn:disabled{opacity:.7;cursor:not-allowed}.approval-btn-spinner{width:12px;height:12px;border-width:2px;margin-right:6px}.approval-btn-accept{color:#4ade80;border-color:#4ade8059}.approval-btn-accept:hover{background:#4ade801f;border-color:#4ade8099}.approval-btn-accept-all{color:var(--text-secondary);border-color:var(--border);position:relative}.approval-btn-accept-all:hover{background:var(--bg-secondary);border-color:var(--bg-tertiary);color:var(--text-primary)}.approval-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:400;padding:5px 10px;border-radius:var(--r-md);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:100;border:1px solid var(--border)}.approval-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}.approval-btn-reject{color:#f87171;border-color:#f8717159}.approval-btn-reject:hover{background:#f871711f;border-color:#f8717199}.plan-card{border-radius:var(--r-lg);overflow:hidden}.plan-card>summary{list-style:none}.plan-card>summary::-webkit-details-marker{display:none}.plan-header{display:flex;align-items:center;gap:var(--sp-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.plan-header:hover{opacity:.85}.plan-chevron{font-size:14px;color:var(--text-muted);transition:transform .2s;margin-left:auto;line-height:1}.plan-card[open] .plan-chevron{transform:rotate(90deg)}.plan-progress{color:var(--text-secondary);font-size:var(--fs-base);white-space:nowrap}.plan-checklist{display:flex;flex-direction:column;gap:1px;padding:var(--sp-md) 0 0 var(--sp-xl)}.plan-item{display:flex;align-items:flex-start;gap:var(--sp-md);padding:3px 0}.plan-checkbox{flex-shrink:0;width:14px;height:14px;display:flex;align-items:center;justify-content:center;margin-top:1px}.plan-label{font-size:var(--fs-sm);line-height:1.4;color:var(--text-secondary);min-width:0}.plan-item--completed .plan-label{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--text-muted)}.plan-item--in_progress .plan-label{color:var(--text-primary)}.plan-item--in_progress .plan-checkbox svg{animation:plan-pulse 1.8s ease-in-out infinite}@keyframes plan-pulse{0%,to{opacity:1}50%{opacity:.45}}.plan-item--completed .plan-check-path{stroke-dasharray:12;stroke-dashoffset:12;animation:plan-check-draw .35s ease forwards}@keyframes plan-check-draw{to{stroke-dashoffset:0}}.generating-indicator{display:flex;align-items:center;gap:var(--sp-md)}.generating-dot{width:6px;height:6px;min-width:6px;border-radius:50%;flex-shrink:0;animation:dot-pulse 2s ease-in-out infinite}@keyframes dot-pulse{0%,to{background:var(--g-accent);opacity:1}50%{background:var(--g-accent);opacity:.3}}.generating-text{flex:1;color:var(--text-primary);font-size:var(--fs-base);line-height:1.5;min-width:0}.shimmer-text{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--text-secondary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sidebar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--sp-xl);color:var(--text-secondary)}.loading-spinner{width:28px;height:28px;border:2px solid var(--bg-tertiary);border-top:2px solid var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}.sidebar-error{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--sp-2xl);text-align:center;color:var(--color-error);line-height:1.5}.msg__bubble--streaming{white-space:pre-wrap;word-wrap:break-word}.msg--assistant .msg__bubble>*:first-child{margin-top:0!important}.msg--assistant .msg__bubble>*:last-child{margin-bottom:0!important}.msg--assistant .msg__bubble *:last-child>p:last-child{margin-bottom:0!important}.msg--assistant p{margin:0 0 var(--sp-md) 0;line-height:1.6}.msg--assistant strong{font-weight:700;color:var(--text-primary)}.msg--assistant em{font-style:italic;color:var(--text-primary)}.msg--assistant code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--bg-deep);padding:var(--sp-xs) var(--sp-lg);border-radius:var(--r-sm);color:var(--accent-blue)}.msg--assistant pre{background:var(--bg-deep);border:1px solid var(--bg-secondary);border-radius:var(--r-lg);padding:var(--sp-lg);overflow-x:auto;margin:var(--sp-md) 0;display:block}.msg--assistant pre code{background:none;padding:0;color:var(--text-primary);font-size:var(--fs-sm);line-height:1.5}.msg--assistant ul,.msg--assistant ol{margin:var(--sp-md) 0;padding-left:var(--sp-xl)}.msg--assistant li{margin:0 0 var(--sp-sm) 0;color:var(--text-primary);line-height:1.6}.msg--assistant li p{margin:0!important;padding:0}.msg--assistant h1,.msg--assistant h2,.msg--assistant h3,.msg--assistant h4,.msg--assistant h5,.msg--assistant h6{margin:var(--sp-md) 0 var(--sp-sm) 0;color:var(--text-primary);font-weight:600}.msg--assistant h1:first-child,.msg--assistant h2:first-child,.msg--assistant h3:first-child{margin-top:0}.msg--assistant h1{font-size:17px;margin:var(--sp-lg) 0 var(--sp-md) 0}.msg--assistant h2{font-size:15px;margin:var(--sp-lg) 0 var(--sp-sm) 0}.msg--assistant h3,.msg--assistant h4,.msg--assistant h5,.msg--assistant h6{font-size:14px}.msg--assistant blockquote{border-left:3px solid var(--accent-blue);padding-left:var(--sp-lg);margin:var(--sp-md) 0;color:var(--text-secondary)}.msg--assistant a{color:#5eaaff;text-decoration:underline;text-decoration-color:#5eaaff59;text-underline-offset:2px}.msg--assistant a:hover{color:#8ac4ff;text-decoration-color:#8ac4ff99}.msg--assistant table{border-collapse:collapse;margin:var(--sp-md) 0;font-size:var(--fs-sm);width:auto;max-width:100%}.msg--assistant th,.msg--assistant td{border:1px solid var(--border);padding:var(--sp-sm) var(--sp-md);text-align:left}.msg--assistant th{background:var(--bg-deep);font-weight:600;color:var(--text-primary)}.msg--assistant tr:nth-child(2n){background:#1b1c1d80}.msg--assistant hr{border:none;border-top:1px solid var(--border);margin:var(--sp-lg) 0}.tool-card{display:flex;align-items:center;gap:var(--sp-md)}.tool-qualifier{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);flex-shrink:0}.tool-target{color:var(--text-secondary);font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-target--clickable{cursor:pointer;padding:1px 5px;border-radius:var(--r-sm);border:1px solid var(--border);transition:all .15s ease}.tool-target--clickable:hover{background:var(--bg-secondary);border-color:var(--bg-tertiary);color:var(--text-primary)}.tool-target--loading{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--text-secondary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.5s ease-in-out infinite}.favicon-stack{display:inline-flex;align-items:center;margin-left:var(--sp-md)}.favicon-item{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--bg-primary);background:var(--bg-secondary);overflow:hidden;margin-left:-6px;transition:transform .15s ease,z-index 0s;position:relative;z-index:1;cursor:pointer;text-decoration:none}.favicon-item:first-child{margin-left:0}.favicon-item:hover{transform:scale(1.2);z-index:2}.favicon-item img{display:block;border-radius:50%}.favicon-fallback{font-size:10px;font-weight:600;color:var(--text-secondary);line-height:1}.favicon-overflow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--bg-primary);background:var(--bg-tertiary);margin-left:-6px;font-size:9px;font-weight:600;color:var(--text-muted);position:relative;z-index:1}.view-container{display:flex;flex-direction:column;height:100%;padding:var(--sp-xl);overflow-y:auto}.view-content{display:flex;flex-direction:column;gap:var(--sp-xl);padding-top:var(--sp-xl)}.view-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0;text-align:center}.view-subtitle{font-size:var(--fs-base);color:var(--text-secondary);text-align:center;margin:0}.view-error{color:var(--color-error);font-size:var(--fs-sm);text-align:center}.view-action-msg{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;padding:var(--sp-md);background:var(--bg-secondary);border-radius:var(--r-lg)}.view-info-msg{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:var(--sp-sm);font-style:italic}.back-btn{background:transparent;border:1px solid transparent;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background var(--ease-fast);align-self:flex-start;flex-shrink:0}.back-btn:hover{background:var(--g-hover)}.back-btn svg{width:14px;height:14px;color:var(--text-secondary);stroke-width:2}.pricing-toggle{display:flex;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-xl);padding:3px;align-self:center}.toggle-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;border-radius:var(--r-xl);cursor:pointer;transition:all var(--ease-fast)}.toggle-btn__savings{color:var(--g-success);font-size:11px;font-weight:600}.toggle-btn.active{background:var(--bg-tertiary);color:var(--text-primary)}.toggle-btn.active .toggle-btn__savings{color:var(--g-success)}.pricing-plans{display:flex;flex-direction:column;gap:var(--sp-md);width:100%}.pricing-plan{display:flex;flex-direction:column;gap:var(--sp-sm);width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-xl);text-align:left;cursor:pointer;transition:border-color var(--ease-fast),background var(--ease-fast),transform var(--ease-fast)}.pricing-plan:hover:not(:disabled){border-color:var(--text-secondary)}.pricing-plan--selected{border-color:var(--text-primary);background:var(--bg-secondary)}.pricing-plan--current{border-color:#ffffff3d}.pricing-plan:disabled{cursor:default}.pricing-plan__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.pricing-plan__badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}.pricing-plan h3{font-size:15px;color:var(--text-primary);margin:0}.price-display{margin:0}.price{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.price-note{font-size:var(--fs-sm);color:var(--text-secondary);margin:var(--sp-sm) 0 0 0}.subscribe-btn{background:var(--g-accent);border:none;border-radius:var(--r-xl);padding:12px;color:var(--g-on-accent);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:background var(--ease-fast);text-align:center}.subscribe-btn:hover{background:#f7f8f8d9}.subscribe-btn:disabled{opacity:.5;cursor:not-allowed}.account-section{margin-bottom:var(--sp-lg)}.account-email{font-size:var(--fs-base);color:var(--text-primary);text-align:center;margin:0}.account-plan-card,.account-team-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-lg)}.account-plan-card p,.account-team-card p{margin:0 0 var(--sp-sm) 0;font-size:var(--fs-sm);color:var(--text-primary);line-height:1.5}.account-plan-card p:last-child,.account-team-card p:last-child{margin-bottom:0}.account-plan-card strong,.account-team-card strong{color:var(--text-secondary)}.account-actions{display:flex;flex-direction:column;gap:var(--sp-md)}.account-action-btn{background:transparent;border:1px solid var(--border);border-radius:var(--r-xl);padding:10px;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all var(--ease-fast);text-align:center}.account-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--bg-tertiary)}.account-action-btn--danger{color:var(--color-error);border-color:#dc262633}.account-action-btn--danger:hover{background:#dc26261a;border-color:#dc262666;color:#f87171}.cell-ref-link{display:inline;color:var(--text-secondary);font-size:var(--fs-base);background:transparent;padding:1px 5px;border-radius:var(--r-sm);cursor:pointer;transition:all .15s ease;border:1px solid var(--border)}.cell-ref-link:hover{background:var(--bg-secondary);border-color:var(--bg-tertiary);color:var(--text-primary)}.theme-toggle-btn{position:relative;width:26px;height:26px}.theme-icon{position:absolute;color:var(--text-secondary);transition:opacity .2s ease,transform .25s ease}.theme-icon--sun{opacity:1;transform:scale(1) rotate(0)}.theme-icon--moon{opacity:0;transform:scale(.7) rotate(-30deg)}html[data-theme=light] .theme-icon--sun{opacity:0;transform:scale(.7) rotate(30deg)}html[data-theme=light] .theme-icon--moon{opacity:1;transform:scale(1) rotate(0)}html[data-theme=light] .confirm-dialog__confirm:hover{background:#333}html[data-theme=light] .send-btn:hover:not(:disabled){background:#333}html[data-theme=light] .subscribe-btn:hover{background:#333}html[data-theme=light] .msg--assistant tr:nth-child(2n){background:#00000008}html[data-theme=light] .msg--error .msg__bubble{color:var(--text-secondary)}
