:root{--bg-app: #212121;--bg-sidebar: #1f1f1f;--bg-surface: #2f2f2f;--bg-surface-2: #3e3e3e;--bg-overlay: rgba(0, 0, 0, .6);--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-tertiary: #6f6f6f;--text-on-accent: #ffffff;--accent: #d97757;--accent-hover: #c96442;--accent-active: #b8543a;--accent-soft: rgba(217, 119, 87, .12);--border: #3e3e3e;--border-strong: #4d4d4d;--border-faint: #2a2a2a;--danger: #ff6b6b;--success: #4caf50;--warning: #ffb74d;--info: #4fc3f7;--bubble-user: #2f2f2f;--bubble-ai: transparent;--input-bg: #2f2f2f;--input-border: #3e3e3e;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 15px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--transition: .15s ease}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;flex:0 0 280px;background:var(--bg-sidebar);border-right:1px solid var(--border-faint);display:flex;flex-direction:column;overflow:hidden;transition:width .18s ease,flex-basis .18s ease}.sidebar.collapsed{width:56px;flex-basis:56px}.sidebar.collapsed .brand-name,.sidebar.collapsed .nav-label,.sidebar.collapsed .section-title,.sidebar.collapsed .chat-item,.sidebar.collapsed .chat-empty,.sidebar.collapsed .archive-head,.sidebar.collapsed .user-meta,.sidebar.collapsed .signin,.sidebar.collapsed .signout{display:none}.sidebar.collapsed .sidebar-nav .nav-row{justify-content:center;padding:10px 0}.sidebar.collapsed .sidebar-top{flex-direction:column;align-items:center;gap:8px;padding:10px 0}.sidebar.collapsed .brand{display:none}.sidebar-top{padding:var(--space-4) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-toggle{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);color:var(--text-tertiary);background:transparent;border:1px solid transparent;cursor:pointer;transition:background var(--transition),color var(--transition)}.sidebar-toggle:hover{background:var(--bg-surface);color:var(--text-primary)}.brand{display:flex;align-items:center;gap:9px;padding:0 var(--space-1)}.brand-logo{display:none;width:100%;height:100%;object-fit:contain}.auth-logo-img{display:block;width:104px;height:auto;margin:0 auto 12px}.brand-mark{width:26px;height:26px;flex:0 0 26px;border-radius:7px;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center}.brand-name{font-size:var(--font-size-md);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:var(--space-1) var(--space-3) 10px;border-bottom:1px solid var(--border-faint)}.nav-row{display:flex;align-items:center;gap:10px;width:100%;padding:var(--space-2) 9px;border-radius:var(--radius-md);text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-row:hover{background:var(--bg-surface);color:var(--text-primary)}.nav-row.active{background:var(--bg-surface);color:var(--text-primary);font-weight:500}.nav-icon{display:flex;flex:0 0 16px;color:var(--text-tertiary);transition:color var(--transition)}.nav-row:hover .nav-icon,.nav-row.active .nav-icon{color:var(--text-secondary)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item{position:relative}.chat-row{display:flex;align-items:baseline;gap:var(--space-2);width:100%;padding:var(--space-2) 9px;border-radius:var(--radius-md);text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.chat-item:hover .chat-row,.chat-item.menu-open .chat-row,.chat-row.active{background:var(--bg-surface);color:var(--text-primary)}.chat-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-when{flex:0 0 auto;font-size:11px;color:var(--text-tertiary);transition:opacity var(--transition)}.chat-item:hover .chat-when,.chat-item.menu-open .chat-when{opacity:0}.chat-menu-btn{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);opacity:0;transition:opacity var(--transition),background var(--transition),color var(--transition)}.chat-item:hover .chat-menu-btn,.chat-item.menu-open .chat-menu-btn,.chat-menu-btn:focus-visible{opacity:1}.chat-menu-btn:hover,.chat-item.menu-open .chat-menu-btn{background:var(--bg-surface-2);color:var(--text-primary)}.chat-rename{margin:1px 0}.chat-empty{padding:var(--space-2) 9px;font-size:12px;color:var(--text-tertiary)}.chat-menu{position:fixed;z-index:70;display:flex;flex-direction:column;gap:1px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:0 8px 30px #00000080}.chat-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:transparent;text-align:left;font-size:var(--font-size-sm);color:var(--text-primary);transition:background var(--transition),color var(--transition)}.chat-menu-item svg{flex:0 0 auto;color:var(--text-tertiary)}.chat-menu-item:hover{background:var(--bg-surface-2)}.chat-menu-item.danger:hover,.chat-menu-item.danger:hover svg{color:var(--danger)}.archive-head{display:flex;align-items:center;gap:6px;width:100%;margin-top:var(--space-3);padding:var(--space-2) 9px;border-radius:var(--radius-md);background:transparent;text-align:left;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);transition:background var(--transition),color var(--transition)}.archive-head:hover{background:var(--bg-surface);color:var(--text-secondary)}.archive-chevron{transition:transform var(--transition)}.archive-chevron.open{transform:rotate(90deg)}.archive-count{margin-left:auto;letter-spacing:0}.role-switch{display:flex;flex-direction:column;gap:5px;margin-bottom:var(--space-4)}.role-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding-left:var(--space-1)}.select-wrap{position:relative;display:flex;align-items:center}.role-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;padding:var(--space-2) 30px var(--space-2) 11px;border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.role-select:hover{border-color:var(--border-strong)}.role-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.select-chevron{position:absolute;right:10px;pointer-events:none;color:var(--text-tertiary)}.sidebar-scroll{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-4)}.section-title{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);padding:10px var(--space-1) 6px}.skill-group{margin-bottom:var(--space-3)}.badge{margin-left:6px;padding:1px 6px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);font-size:10px;letter-spacing:.04em}.group-head{display:flex;align-items:center;gap:2px}.group-title{flex:1;min-width:0;font-size:12px;font-weight:600;color:var(--text-secondary);padding:6px var(--space-1) var(--space-1);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-title.as-edit{border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition)}.group-title.as-edit:hover{background:var(--bg-surface);color:var(--text-primary)}.group-empty{padding:var(--space-1) 9px 6px;font-size:12px;color:var(--text-tertiary);font-style:italic}.skill-row{display:flex;align-items:center;gap:2px}.skill-row .skill{flex:1;min-width:0}.row-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition)}.skill-row:hover .row-actions,.row-actions:focus-within{opacity:1}.editing .skill-arrow{display:none}.mini{width:22px;height:22px;flex:0 0 22px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.mini:hover{background:var(--bg-surface-2);color:var(--text-primary)}.inline-input{width:100%;padding:6px 9px;margin:1px 0;border-radius:var(--radius-md);border:1px solid var(--accent);background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);outline:none;box-shadow:0 0 0 2px var(--accent-soft)}.inline-input.group-input{font-size:12px;font-weight:600}.inline-input::placeholder{color:var(--text-tertiary)}.library-tools{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1);padding-top:10px;border-top:1px dashed var(--border)}.tool-btn{width:100%;padding:7px 9px;border-radius:var(--radius-md);text-align:left;font-size:var(--font-size-sm);color:var(--accent);transition:background var(--transition),color var(--transition)}.tool-btn:hover{background:var(--bg-surface)}.tool-btn.subtle{color:var(--text-tertiary)}.tool-btn.subtle:hover{color:var(--text-secondary)}.skill{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:7px 9px;border-radius:var(--radius-md);text-align:left;font-size:var(--font-size-sm);color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.skill:hover{background:var(--bg-surface);color:var(--text-primary)}.skill-dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--border-strong);transition:background var(--transition)}.skill:hover .skill-dot{background:var(--accent)}.skill-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-arrow{opacity:0;color:var(--accent);transition:opacity var(--transition)}.skill:hover .skill-arrow{opacity:1}.sidebar-bottom{border-top:1px solid var(--border-faint);padding:10px var(--space-3)}.signin{display:flex;flex-direction:column;gap:6px;padding:2px 2px var(--space-1)}.signin-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.signin-row{display:flex;gap:6px}.signin-input{flex:1;min-width:0;padding:7px 10px;border-radius:var(--radius-md);border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.signin-input::placeholder{color:var(--text-tertiary)}.signin-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.signin-btn{flex:0 0 auto;padding:7px var(--space-3);border-radius:var(--radius-md);background:var(--accent);color:var(--text-on-accent);font-size:var(--font-size-sm);font-weight:600;transition:background var(--transition)}.signin-btn:hover{background:var(--accent-hover)}.signin-btn:active{background:var(--accent-active)}.signin-error{font-size:11px;color:var(--danger)}.edit-toggle{display:flex;align-items:center;gap:7px;margin-left:auto;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border);font-size:var(--font-size-sm);color:var(--text-secondary);transition:background var(--transition),color var(--transition),border-color var(--transition)}.edit-toggle:hover{background:var(--bg-surface);color:var(--text-primary)}.edit-toggle.on{border-color:var(--accent);color:var(--accent)}.toggle-state{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.edit-toggle.on .toggle-state{color:var(--accent)}.user{display:flex;align-items:center;gap:10px;padding:6px var(--space-1);border-radius:var(--radius-md)}.signout{width:26px;height:26px;flex:0 0 26px;margin-left:auto;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:background var(--transition),color var(--transition)}.signout:hover{background:var(--bg-surface);color:var(--text-primary)}.avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--accent);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600}.user-meta{flex:1;min-width:0}.user-name{font-size:var(--font-size-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;min-width:0;background:var(--bg-app);display:flex;flex-direction:column;overflow:hidden}.preview-code{flex:1;min-height:0;display:flex;background:#0d1117;color:#e6edf3}.code-file-list{width:180px;flex:0 0 180px;border-right:1px solid rgba(255,255,255,.08);overflow-y:auto;padding:8px 0}.code-file{display:block;width:100%;text-align:left;padding:6px 12px;font-size:12px;font-family:var(--font-mono, ui-monospace, monospace);color:var(--text-tertiary);background:transparent;border:none;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-file:hover{background:#ffffff0f;color:#e6edf3}.code-file.on{background:#ff985726;color:#ff9857}.code-view{flex:1;min-width:0;overflow:auto;padding:14px 16px;margin:0;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12.5px;line-height:1.6;-moz-tab-size:2;tab-size:2}.chat-pane{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.messages{flex:1;overflow-y:auto;padding:var(--space-8) var(--space-6) var(--space-2)}.thread{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{white-space:pre-wrap;word-break:break-word}.msg.user .bubble{max-width:78%;background:var(--bubble-user);padding:11px var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-lg)}.msg.assistant .bubble{width:100%;background:var(--bubble-ai);font-size:var(--font-size-lg);line-height:1.6;color:var(--text-primary)}.bubble b{font-weight:600}.bubble.failed{color:var(--text-tertiary);font-size:var(--font-size-md)}.empty-thread-hint{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--text-tertiary);font-size:14px;text-align:center;padding:24px}.welcome{flex:1;min-height:0;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6)}.welcome-inner{width:100%;max-width:640px;text-align:center}.welcome-greeting{margin:0;font-size:28px;font-weight:600;line-height:1.25;color:var(--text-primary)}.welcome-sub{margin:var(--space-2) 0 0;font-size:16px;color:var(--text-secondary)}.suggestions{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.suggestion{padding:var(--space-4);text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-md);line-height:1.45;transition:background var(--transition),border-color var(--transition)}.suggestion:hover{background:var(--bg-surface-2);border-color:var(--accent)}@media(max-width:640px){.suggestions{grid-template-columns:1fr}.welcome-greeting{font-size:24px}}.typing{display:flex;align-items:center;gap:var(--space-1);height:24px}.typing span{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);animation:blink 1.2s infinite ease-in-out}.typing-label{margin-left:var(--space-2);font-size:var(--font-size-sm);font-style:normal;color:var(--text-tertiary)}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}@keyframes blink{0%,70%,to{opacity:.25}35%{opacity:1}}.composer{padding:var(--space-3) var(--space-6) 18px}.composer-inner{max-width:720px;margin:0 auto;display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-full);transition:border-color var(--transition),box-shadow var(--transition)}.composer-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.composer-model{flex:0 0 auto;align-self:center}.composer-model select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--input-border);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary);font-size:11.5px;font-family:inherit;padding:4px 22px 4px 10px;cursor:pointer;max-width:150px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath d='M1 1l3 3 3-3' stroke='%23888' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.composer-model select:hover{border-color:var(--accent);color:var(--text-primary)}.composer-model select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.composer-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-lg);line-height:1.5;padding:6px 0;max-height:140px}.composer-input::placeholder{color:var(--text-tertiary)}.icon-btn{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.icon-btn:hover:not(:disabled){background:var(--bg-surface-2);color:var(--text-primary)}.icon-btn:disabled{color:var(--text-tertiary);cursor:default}.plus-wrap{position:relative;flex:0 0 32px}.plus-btn{width:32px;height:32px}.plus-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:230px;padding:6px;border-radius:12px;background:var(--bg-surface-2);border:1px solid var(--border);box-shadow:0 10px 30px #00000059;z-index:60}.plus-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;color:var(--text-primary);font-size:13px;text-align:left;transition:background var(--transition)}.plus-item:hover{background:var(--bg-hover, rgb(255 255 255 / .06))}.plus-ico{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--text-secondary)}.plus-item-sub{cursor:pointer;-webkit-user-select:none;user-select:none}.plus-label{flex:1}.plus-chev{color:var(--text-tertiary);font-size:10px}.plus-submenu{margin:4px 0 2px 32px;padding:6px 8px;border-left:1px solid var(--border)}.connector-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12.5px}.connector-dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.connector-dot.on{background:#34d399;box-shadow:0 0 6px #34d39999}.connector-name{color:var(--text-primary);font-weight:600}.connector-state{margin-left:auto;color:var(--text-tertiary);font-size:11.5px}.connector-state.ok{color:#34d399}.connector-state.bad{color:#f87171}.connector-error{margin-top:4px;font-size:11px;color:var(--text-tertiary);word-break:break-word}.file-input{display:none}.attachments{max-width:720px;margin:0 auto var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-3)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);max-width:260px;padding:4px var(--space-2) 4px var(--space-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--text-secondary)}.chip.image{border-color:var(--border-strong)}.chip.pending{color:var(--text-tertiary);padding-right:var(--space-3)}.chip.error{color:var(--danger);border-color:var(--danger);padding-right:var(--space-3);max-width:none}.figma-chip{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--text-primary)}.figma-chip .chip-ico{display:inline-flex;color:var(--accent)}.chip-tag{font-size:10px;line-height:1;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);white-space:nowrap}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-x{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;color:var(--text-tertiary);transition:background var(--transition),color var(--transition)}.chip-x:hover{background:var(--bg-surface-2);color:var(--text-primary)}.send-btn{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-on-accent);transition:background var(--transition)}.send-btn:hover{background:var(--accent-hover)}.send-btn:disabled{background:var(--bg-surface-2);color:var(--text-tertiary);cursor:default}.composer-hint{max-width:720px;margin:var(--space-2) auto 0;text-align:center;font-size:11px;color:var(--text-tertiary)}.view{flex:1;overflow-y:auto;padding:var(--space-8) var(--space-6)}.view-inner{max-width:720px;margin:0 auto}.view-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:18px}.view-head>div:first-child{flex:1;min-width:0}.view-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.view-sub{margin-top:3px;font-size:var(--font-size-sm);color:var(--text-tertiary)}.view-head .edit-toggle{align-self:center}.rows{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.row{display:flex;align-items:center;gap:10px;padding:10px var(--space-3);border:1px solid var(--border-faint);border-radius:var(--radius-md);background:var(--bg-surface);transition:border-color var(--transition),background var(--transition)}.row:hover{border-color:var(--border)}.row-clickable{cursor:pointer;text-align:left;background:none;border:none;color:inherit;font:inherit;padding:0;flex:1;min-width:0}.build-thread{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0}.build-thread-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.build-thread-head .row-name{font-weight:600;font-size:var(--font-size-lg);overflow-wrap:anywhere}.build-thread .thread{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}.build-thread-actions{display:flex;gap:10px;margin-top:var(--space-2)}.progress-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.progress-dot.running{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.progress-dot.done{background:#4ade80}.progress-dot.error{background:#f87171}.progress-live{color:var(--text-tertiary);animation:pulse 1.2s ease-in-out infinite}.sla-inline{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;margin-left:2px;white-space:nowrap}.build-status{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font-size:var(--font-size-lg)}.progress-ok{color:#4ade80}.progress-x{color:#f87171}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.row.active{border-color:var(--accent);background:var(--bg-surface-2)}.row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0;text-align:left;color:inherit}div.row-main{cursor:default}.row-icon{display:flex;flex:0 0 16px;color:var(--text-tertiary)}.row.active .row-icon{color:var(--accent)}.row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-md)}.row-note,.row-meta{flex:0 0 auto;font-size:12px;color:var(--text-tertiary);white-space:nowrap}.row-meta.sla{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.build-composer{width:100%;max-width:none;margin:0}.view-inner.view-wide{max-width:none}.schedule{flex:0 0 auto;padding:2px 7px;border-radius:var(--radius-sm);background:var(--bg-app);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px}.pill{flex:0 0 auto;padding:2px 9px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-app);color:var(--text-secondary);font-size:11px;white-space:nowrap}.pill.status.building{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.pill.status.ready{border-color:color-mix(in srgb,var(--success) 45%,transparent);color:var(--success)}.pill.status.error{border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}.row .row-actions{flex:0 0 auto}.row:hover .row-actions,.row-actions.open{opacity:1}.row-btn{flex:0 0 auto;padding:5px 11px;border-radius:var(--radius-md);border:1px solid var(--border);font-size:12px;color:var(--text-secondary);transition:background var(--transition),color var(--transition),border-color var(--transition)}.row-btn:hover{background:var(--bg-surface-2);color:var(--text-primary);border-color:var(--border-strong)}.row-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);font-weight:600}.row-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.row-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.row-btn:disabled{opacity:.5;cursor:default}.row-btn:disabled:hover{background:none;color:var(--text-secondary);border-color:var(--border)}.switch{flex:0 0 34px;width:34px;height:19px;padding:2px;border-radius:var(--radius-full);background:var(--border);display:flex;align-items:center;transition:background var(--transition)}.switch.on{background:var(--accent)}.knob{width:15px;height:15px;border-radius:50%;background:var(--text-secondary);transition:transform var(--transition),background var(--transition)}.switch.on .knob{background:var(--text-on-accent);transform:translate(15px)}.add-form{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.add-actions{display:flex;gap:6px;margin-top:2px}.inline-input.mono{font-family:var(--font-mono);font-size:var(--font-size-sm)}.view .tool-btn{width:auto;padding:var(--space-2) var(--space-3);border:1px dashed var(--border);border-radius:var(--radius-md)}.cron-prompt .cron-prompt-input{width:100%;min-height:76px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input, var(--bg-surface));color:var(--text-primary);font-family:inherit;font-size:var(--font-size-md);line-height:1.5;resize:vertical}.cron-prompt .cron-prompt-input:focus{outline:none;border-color:var(--accent)}.cron-prompt .cron-confirm{display:flex;flex-direction:column;gap:8px}.cron-prompt .cron-confirm-title{font-weight:600;font-size:var(--font-size-md);margin-bottom:2px}.cron-prompt .cron-confirm-row{display:flex;align-items:baseline;gap:10px}.cron-prompt .cron-confirm-label{min-width:56px;color:var(--text-secondary);font-size:var(--font-size-sm)}.cron-prompt .cron-confirm-value{font-weight:500}.panel{margin-top:22px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-sidebar)}.panel-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-1)}.panel-empty{font-size:var(--font-size-sm);color:var(--text-tertiary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:var(--space-2)}.stat-card{padding:14px var(--space-4);border:1px solid var(--border-faint);border-radius:var(--radius-lg);background:var(--bg-surface)}.stat-value{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.stat-label{margin-top:5px;font-size:var(--font-size-sm);color:var(--text-secondary)}.stat-note{margin-top:2px;font-size:12px;color:var(--text-tertiary)}.bars{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.bar-row{display:flex;align-items:center;gap:10px}.bar-name{flex:0 0 34%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--text-secondary)}.bar-track{flex:1;height:8px;border-radius:var(--radius-full);background:var(--bg-surface);overflow:hidden}.bar-fill{display:block;height:100%;min-width:3px;border-radius:var(--radius-full);background:var(--accent);transition:width var(--transition)}.bar-count{flex:0 0 auto;min-width:22px;text-align:right;font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.library{padding:var(--space-1) 0}.library .role-switch{max-width:280px}.saved-flag{color:var(--text-secondary)}.vault-status,.vault-error{padding:var(--space-2) 0;font-size:var(--font-size-sm);color:var(--text-tertiary)}.vault-error{color:var(--danger)}.mono{font-family:var(--font-mono)}.vault-path{margin-bottom:var(--space-3);font-size:12px;color:var(--text-tertiary)}.vault-doc{max-height:420px;overflow:auto;margin:0;padding:var(--space-3);border:1px solid var(--border-faint);border-radius:var(--radius-md);background:var(--bg-app);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.adr-projects{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.adr-tab{display:flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border-faint);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;transition:border-color var(--transition),color var(--transition),background var(--transition)}.adr-tab:hover{border-color:var(--border-strong);color:var(--text-primary)}.adr-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text-primary)}.adr-count{padding:0 5px;border-radius:var(--radius-full);background:var(--bg-app);color:var(--text-tertiary);font-size:10px}.adr-no{flex:0 0 auto;font-size:11px;color:var(--text-tertiary);letter-spacing:.02em}.pill.adr.accepted{border-color:color-mix(in srgb,var(--success) 45%,transparent);color:var(--success)}.pill.adr.proposed{border-color:color-mix(in srgb,var(--warning) 45%,transparent);color:var(--warning)}.pill.adr.deprecated{border-color:var(--border);color:var(--text-tertiary)}.adr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.adr-section{margin-top:var(--space-4)}.adr-section h4{margin:0 0 5px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.adr-section p,.adr-section li{margin:0;font-size:var(--font-size-sm);line-height:1.65;color:var(--text-secondary);white-space:pre-wrap}.adr-section ol,.adr-section ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.adr-section b{color:var(--text-primary);font-weight:600}.adr-form{gap:var(--space-3);margin-bottom:var(--space-4)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-row{display:flex;gap:var(--space-3)}.field-row .field{flex:1}.field-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.adr-text{min-height:66px;line-height:1.6;resize:vertical}.list-row{display:flex;align-items:center;gap:6px}.adr-form .tool-btn{align-self:flex-start;margin-top:2px;padding:4px 0;border:0;font-size:12px}.adr-form .tool-btn:hover{background:none;color:var(--accent-hover)}.toast{position:fixed;left:50%;bottom:var(--space-8);transform:translate(-50%);z-index:60;padding:10px var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);box-shadow:0 12px 30px #00000073;font-size:var(--font-size-sm)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);cursor:default}.modal{position:relative;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;overflow:hidden}.modal-head{display:flex;align-items:center;gap:10px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--border-faint)}.modal-title{font-size:var(--font-size-lg);font-weight:600}.modal-close{width:30px;height:30px;flex:0 0 30px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.modal-title+.modal-close{margin-left:auto}.modal-close:hover{background:var(--bg-surface);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-5)}.sidebar-scroll::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.view::-webkit-scrollbar,.messages::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.view::-webkit-scrollbar-thumb,.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.sidebar-scroll::-webkit-scrollbar-track,.modal-body::-webkit-scrollbar-track,.view::-webkit-scrollbar-track,.messages::-webkit-scrollbar-track{background:transparent}@media(max-width:720px){.sidebar{width:220px;flex-basis:220px}.messages,.composer{padding-left:var(--space-3);padding-right:var(--space-3)}}.member-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-3)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip:hover{border-color:var(--accent);color:var(--text)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip-count{font-size:10px;font-weight:600;background:var(--bg-surface);border-radius:var(--radius-full);padding:0 6px;line-height:16px}.chip.active .chip-count{background:var(--accent);color:var(--bg)}.member-add-panel{margin-bottom:var(--space-3)}.member-add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.member-email-input{flex:1;min-width:200px;padding:7px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;outline:none}.member-email-input:focus{border-color:var(--accent)}.member-select{padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;outline:none;cursor:pointer}.member-select.mini{padding:3px 6px;font-size:11px}.member-hint{margin-top:8px;font-size:11px;color:var(--text-tertiary)}.member-row{display:flex;align-items:center;gap:8px}.member-row .row-main{flex:1;min-width:0}.member-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.badge.admin{background:#ffb34729;color:#ffb347}.badge.team{background:var(--accent-soft);color:var(--accent)}.badge.owner{background:#5eead424;color:#5eead4}.notice{padding:10px 14px;border-radius:var(--radius-md);font-size:13px;margin-bottom:var(--space-3)}.notice.error{background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.25)}.mini.danger:hover{background:#f871712e;color:#f87171}.member-select:disabled,.member-actions .mini:disabled,.row-btn:disabled{opacity:.45;cursor:not-allowed}.auth-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--bg-app)}.auth-card{width:min(420px,calc(100vw - 48px));padding:32px 28px;border-radius:16px;background:var(--bg-surface);border:1px solid var(--border);box-shadow:0 24px 60px #00000059;text-align:center}.auth-logo{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.auth-sub{margin-top:4px;font-size:13px;color:var(--text-tertiary)}.auth-form{margin-top:24px;text-align:left}.auth-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.auth-row{display:flex;gap:8px}.auth-input{flex:1;min-width:0;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text-primary);font-size:14px;outline:none}.auth-input:focus{border-color:var(--accent)}.auth-btn{padding:10px 16px;border-radius:var(--radius-md);background:var(--accent);color:var(--bg);font-size:13px;font-weight:600;white-space:nowrap;transition:filter .15s ease}.auth-btn:hover{filter:brightness(1.1)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{margin-top:10px;font-size:12px;color:#f87171;text-align:left}.auth-notice{margin-top:16px;font-size:12px;color:#fbbf24;text-align:center;line-height:1.5}.auth-sent{margin-top:20px;text-align:left}.auth-sent-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.auth-sent-body{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:14px}.auth-linkbtn{font-size:12px;color:var(--accent);text-decoration:underline}.auth-spinner{width:22px;height:22px;margin:18px auto 0;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.nav-group-toggle{cursor:pointer;background:transparent;border:0;font:inherit}.nav-chev{margin-left:auto;display:flex;align-items:center;color:var(--text-tertiary);transition:transform .16s ease,color var(--transition)}.nav-chev.open{transform:rotate(90deg)}.nav-row:hover .nav-chev{color:var(--text-primary)}.nav-sub{display:flex;flex-direction:column;gap:1px;padding-left:12px;margin-left:8px}.sidebar.collapsed .nav-group-toggle{justify-content:center;padding:10px 0}.sidebar.collapsed .nav-chev,.sidebar.collapsed .nav-sub{display:none}.sidebar-top-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.sidebar-top-row .brand{min-width:0}.sidebar.collapsed .sidebar-top-row{justify-content:center}.sidebar.collapsed .sidebar-toggle{align-self:center}.decision-search{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-full);background:var(--input-bg);color:var(--text-tertiary);transition:border-color var(--transition),box-shadow var(--transition)}.decision-search:focus-within{border-color:var(--accent)}.decision-search-input{flex:1;min-width:0;padding:10px 0;background:transparent;border:0;outline:none;color:var(--text-primary);font-size:var(--font-size-sm)}.decision-search-input::placeholder{color:var(--text-tertiary)}.decision-search-hint{flex:0 0 auto;font-size:12px;color:var(--text-tertiary)}.decision-hits{display:flex;flex-direction:column;gap:1px;margin-bottom:var(--space-3);padding:var(--space-2)}.decision-hit{display:flex;flex-direction:column;gap:3px;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:transparent;border:0;text-align:left;cursor:pointer;transition:background var(--transition)}.decision-hit:hover{background:var(--bg-surface)}.decision-hit-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.decision-hit-meta{font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent)}.decision-hit-snippet{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pb-tabs{display:flex;gap:6px;margin-bottom:var(--space-3)}.pb-tab{padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.pb-tab:hover{color:var(--text-primary)}.pb-tab.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}:is(.pb-doc,.note-body){padding:var(--space-6) var(--space-7, 28px);line-height:1.65;color:var(--text-secondary)}:is(.pb-doc,.note-body) h1,:is(.pb-doc,.note-body) h2,:is(.pb-doc,.note-body) h3{color:var(--text-primary);line-height:1.3}:is(.pb-doc,.note-body) h1{font-size:1.35rem;margin:0 0 var(--space-4)}:is(.pb-doc,.note-body) h2{font-size:1.05rem;margin:var(--space-6) 0 var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-faint)}:is(.pb-doc,.note-body) h3{font-size:.95rem;margin:var(--space-4) 0 var(--space-2)}:is(.pb-doc,.note-body) p,:is(.pb-doc,.note-body) li{font-size:var(--font-size-sm)}:is(.pb-doc,.note-body) p{margin:0 0 var(--space-3)}:is(.pb-doc,.note-body) ul,:is(.pb-doc,.note-body) ol{margin:0 0 var(--space-3);padding-left:1.35em}:is(.pb-doc,.note-body) li{margin-bottom:4px}:is(.pb-doc,.note-body) blockquote{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);border-left:2px solid var(--accent);background:var(--bg-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-tertiary)}:is(.pb-doc,.note-body) blockquote p{margin:0}:is(.pb-doc,.note-body) code{padding:1px 5px;border-radius:5px;background:var(--bg-surface);font-size:12px;color:var(--text-primary)}:is(.pb-doc,.note-body) pre{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-faint);overflow-x:auto}:is(.pb-doc,.note-body) pre code{padding:0;background:transparent;font-size:12px;line-height:1.5}:is(.pb-doc,.note-body) table{width:100%;border-collapse:collapse;margin:0 0 var(--space-4);font-size:var(--font-size-sm)}:is(.pb-doc,.note-body) th,:is(.pb-doc,.note-body) td{padding:7px 10px;border-bottom:1px solid var(--border-faint);text-align:left;vertical-align:top}:is(.pb-doc,.note-body) th{color:var(--text-primary);font-weight:500;background:var(--bg-surface)}:is(.pb-doc,.note-body) hr{margin:var(--space-5) 0;border:0;border-top:1px solid var(--border-faint)}:is(.pb-doc,.note-body) a{color:var(--accent)}.folder-layout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--space-4);align-items:start}.folder-side{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.folder-panel{padding:var(--space-2)}.folder-panel .panel-title{padding:4px 8px 10px}.folder-item{position:relative;border-radius:var(--radius-md)}.folder-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;text-decoration:none;transition:background var(--transition),color var(--transition)}.folder-head:hover{background:var(--bg-surface);color:var(--text-primary);text-decoration:none}.folder-item.on>.folder-head{background:var(--bg-surface);color:var(--text-primary)}.folder-chevron{flex:0 0 auto;color:var(--text-tertiary);transition:transform var(--transition)}.folder-chevron.open{transform:rotate(90deg)}.folder-icon{display:flex;flex:0 0 auto;color:var(--text-tertiary)}.folder-item.on .folder-icon{color:var(--accent)}.folder-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-count{flex:0 0 auto;padding:1px 7px;border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-tertiary);font-size:11px}.folder-del{position:absolute;top:7px;right:7px;padding:2px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;opacity:0;transition:opacity var(--transition),background var(--transition),color var(--transition)}.folder-item:hover .folder-del,.folder-del:focus-visible{opacity:1}.folder-del:hover{background:var(--bg-surface);color:var(--text-primary)}.folder-notes{display:flex;flex-direction:column;gap:1px;padding:2px 0 6px 22px}.folder-note{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:12px;text-align:left;cursor:pointer;text-decoration:none;transition:background var(--transition),color var(--transition)}.folder-note:hover,.folder-note.on{background:var(--bg-surface);color:var(--text-primary)}.folder-note.empty{color:var(--text-tertiary);font-style:italic;cursor:default}.folder-note.empty:hover{background:transparent}.note-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-date{flex:0 0 auto;color:var(--text-tertiary);font-size:11px}.folder-main{min-width:0}.note-panel{padding:0;overflow:hidden}.note-panel:not(.empty-state){position:sticky;top:var(--space-4)}.note-panel.empty-state{display:flex;align-items:center;justify-content:center;min-height:220px}.note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-faint)}.note-head-text{min-width:0}.note-title{color:var(--text-primary);font-size:1rem;font-weight:500}.note-meta{display:flex;gap:6px;margin-top:4px;color:var(--accent);font-size:11px;letter-spacing:.02em;text-transform:uppercase}.note-meta .dot{color:var(--text-tertiary)}.note-body{padding:var(--space-5);overflow-x:auto}@media(max-width:900px){.folder-layout{grid-template-columns:minmax(0,1fr)}.note-panel:not(.empty-state){position:static}}.toast{display:flex;align-items:center;gap:14px}.toast-text{flex:1;min-width:0}.toast-action{flex:0 0 auto;padding:4px 10px;border:1px solid var(--accent);border-radius:var(--radius-full);background:transparent;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition)}.toast-action:hover{background:var(--accent);color:#fff}.note-search{width:100%;margin:2px 0 6px;padding:6px 10px;border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text-primary);font-size:12px;outline:none;transition:border-color var(--transition)}.note-search:focus{border-color:var(--accent)}.note-search::placeholder{color:var(--text-tertiary)}.note-row{position:relative;display:flex;align-items:center;gap:2px;border-radius:var(--radius-md);transition:background var(--transition)}.note-row:hover,.note-row.on{background:var(--bg-surface)}.note-row .folder-note{flex:1;min-width:0}.note-row .folder-note:hover{background:transparent}.note-del{flex:0 0 auto;padding:3px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:11px;cursor:pointer;opacity:0;transition:opacity var(--transition),color var(--transition)}.note-row:hover .note-del,.note-del:focus-visible{opacity:1}.note-del:hover{color:var(--text-primary)}.badge.danger{background:color-mix(in srgb,var(--danger, #dc2626) 12%,transparent);color:var(--danger, #dc2626);border-color:color-mix(in srgb,var(--danger, #dc2626) 25%,transparent)}.msg-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 2px 0}.msg-sources-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.msg-source{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:help}.msg-cost{margin:6px 2px 0;font-size:11px;letter-spacing:.02em;color:var(--text-muted);font-variant-numeric:tabular-nums;cursor:help}
