:root,[data-theme=light]{--bg-base:#f5f0e8;--bg-surface:#fdfaf4;--bg-subtle:#ede8df;--text-primary:#1a1612;--text-secondary:#6b6259;--text-muted:#9e9288;--accent:#c96442;--accent-hover:#b5593a;--accent-soft:#f5e8e3;--success:#4a8c6f;--success-soft:#e3f0ea;--warning:#c47b2b;--warning-soft:#fbf0e0;--error:#b5443a;--error-soft:#faeae9;--border:#ddd7ce;--border-strong:#c8c2b8;--code-bg:#1c1815;--code-text:#f0ebe3;--shadow-sm:0 1px 2px #1a16120a;--shadow-md:0 4px 16px #1a16120f;--shadow-lg:0 16px 48px #1a161214}[data-theme=dark]{--bg-base:#1c1815;--bg-surface:#252018;--bg-subtle:#2e2820;--text-primary:#f0ebe3;--text-secondary:#a09688;--text-muted:#6b6259;--accent:#d4714f;--accent-hover:#c96442;--accent-soft:#3a2218;--success:#6fa88b;--success-soft:#1f2e27;--warning:#d89b5a;--warning-soft:#2e2418;--error:#c96560;--error-soft:#2e1e1c;--border:#3a342c;--border-strong:#4a4238;--code-bg:#15110e;--code-text:#e0d8cc;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 16px #00000040;--shadow-lg:0 16px 48px #0006}[data-density=compact]{--row-h:28px;--pad-1:6px;--pad-2:10px;--pad-3:14px;--pad-4:18px;--gap:6px}[data-density=comfortable],:root{--row-h:36px;--pad-1:8px;--pad-2:12px;--pad-3:16px;--pad-4:24px;--gap:12px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;overflow:hidden}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.t-display{letter-spacing:-.01em;font-family:Lora,serif;font-size:32px;font-weight:600;line-height:1.2}.t-h1{letter-spacing:-.005em;font-family:Lora,serif;font-size:24px;font-weight:600;line-height:1.3}.t-h2{letter-spacing:-.003em;font-size:18px;font-weight:600;line-height:1.4}.t-h3{font-size:15px;font-weight:600;line-height:1.4}.t-body{font-size:14px;font-weight:400;line-height:1.6}.t-body-sm{font-size:13px;font-weight:400;line-height:1.5}.t-label{letter-spacing:.01em;font-size:12px;font-weight:500;line-height:1.4}.t-mono{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:400;line-height:1.5}.t-mono-sm{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:400;line-height:1.5}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.accent-text{color:var(--accent)}.grain:before{content:"";opacity:.06;pointer-events:none;mix-blend-mode:multiply;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}[data-theme=dark] .grain:before{mix-blend-mode:screen;opacity:.04}[data-grain=off] .grain:before{display:none}.btn{white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13px;font-weight:500;transition:background .1s,color .1s,border .1s,transform .1s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-subtle);color:var(--text-primary)}.btn-secondary:hover{background:var(--border)}.btn-ghost{color:var(--text-primary);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-subtle)}.btn-danger{background:var(--error);color:#fff}.btn-icon{width:36px;padding:0}.btn-sm{height:30px;padding:0 10px;font-size:12px}.btn-full{width:100%}.btn[disabled]{opacity:.5;cursor:not-allowed}.input,.textarea{background:var(--bg-surface);width:100%;height:36px;color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:0 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:1.5}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.field-label{color:var(--text-secondary);letter-spacing:.01em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:20px}.badge{letter-spacing:.02em;border-radius:100px;align-items:center;gap:4px;padding:2px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;display:inline-flex}.badge-done{background:var(--success-soft);color:var(--success)}.badge-progress{background:var(--warning-soft);color:var(--warning)}.badge-pending{background:var(--bg-subtle);color:var(--text-secondary)}.badge-error{background:var(--error-soft);color:var(--error)}.badge-active{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.settings-scroll{flex:1;overflow-y:auto}.settings-page{max-width:880px;margin:0 auto;padding:56px 56px 96px}.settings-header{margin-bottom:32px}.settings-nav{border-bottom:1px solid var(--border);gap:4px;margin-bottom:40px;display:flex;overflow-x:auto}.settings-nav-item{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px;transition:color .1s,border-color .1s}.settings-nav-item:hover{color:var(--text-primary)}.settings-nav-item.active{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:500}.settings-nav-item:disabled{opacity:.35;cursor:not-allowed}.settings-nav-item:disabled:hover{color:var(--text-secondary)}.settings-body{flex-direction:column;gap:48px;display:flex}.set-group{flex-direction:column;gap:16px;display:flex}.set-group-head,.set-group-body{flex-direction:column;display:flex}.set-row{border-top:1px solid var(--border-subtle);grid-template-columns:280px 1fr;align-items:start;gap:32px;padding:18px 0;display:grid}.set-group-body>.set-row:first-child{border-top:1px solid var(--border)}.set-row-label{flex-direction:column;display:flex}.set-row-control{align-items:center;min-height:32px;display:flex}.set-list{border:1px solid var(--border);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.set-list-row{border-top:1px solid var(--border-subtle);align-items:center;gap:12px;padding:12px 14px;display:flex}.set-list-row:first-child{border-top:none}.theme-grid{grid-template-columns:1fr 1fr;gap:12px;max-width:480px;display:grid}.theme-card{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:0;transition:border-color .1s;overflow:hidden}.theme-card:hover{border-color:var(--border-strong)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.theme-preview{height:88px;padding:14px}.notif-table{border:1px solid var(--border);border-radius:10px;overflow:hidden}.notif-row{border-top:1px solid var(--border-subtle);grid-template-columns:1fr 70px 70px 70px;align-items:center;gap:16px;padding:12px 16px;display:grid}.notif-row>span:not(:first-child){justify-content:center;display:flex}.notif-head{background:var(--bg-subtle);color:var(--text-muted);border-top:none;padding:10px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.notif-head>span:not(:first-child){color:var(--text-muted)}.notif-section{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-top:1px solid var(--border-subtle);padding:14px 16px 6px;font-size:11px}.set-plan{border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;margin-bottom:16px;padding:16px 18px;display:flex}.usage-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.usage-card{border:1px solid var(--border);border-radius:10px;padding:14px 16px}.usage-bar{background:var(--border-subtle);border-radius:2px;height:4px;margin-top:12px;overflow:hidden}.usage-bar>div{background:var(--accent);height:100%}.dot{border-radius:100px;flex-shrink:0;width:8px;height:8px}.dot-active{background:var(--success);box-shadow:0 0 0 0 var(--success);animation:2s ease-in-out infinite pulse-dot}.dot-pending{background:var(--text-muted)}.dot-warning{background:var(--warning)}.dot-accent{background:var(--accent)}@keyframes pulse-dot{0%,to{box-shadow:0 0 #4a8c6f66}50%{box-shadow:0 0 0 4px #4a8c6f00}}.code-block{background:var(--code-bg);color:var(--code-text);border-radius:8px;padding:12px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.6;position:relative;overflow-x:auto}.code-block .copy-btn{height:26px;color:var(--code-text);opacity:0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:11px;transition:opacity .12s;display:inline-flex;position:absolute;top:8px;right:8px}.code-block:hover .copy-btn{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1.4s linear infinite spin}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.pulse{animation:1.8s ease-in-out infinite pulse}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.cursor-blink{animation:1s steps(2,end) infinite blink}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.16s ease-out both fadeUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.2s ease-out both fadeIn}@keyframes slideRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.slide-right{animation:.22s cubic-bezier(.22,1,.36,1) both slideRight}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scale-in{animation:.16s ease-out both scaleIn}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-track{background:0 0}.scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.scroll::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.flex-1{flex:1 1 0;min-width:0}.full{width:100%;height:100%}.divider{background:var(--border);width:100%;height:1px}.divider-text{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.divider-text:before,.divider-text:after{content:"";background:var(--border);flex:1;height:1px}.tabs{background:var(--bg-subtle);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .12s}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.kbd{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-surface);border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:10px}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#1a161252;position:absolute;inset:0}[data-theme=dark] .overlay{background:#00000080}.link{color:var(--accent);cursor:pointer;text-decoration:none}.link:hover{text-underline-offset:2px;text-decoration:underline}.avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border:1px solid var(--border);border-radius:100px;flex-shrink:0;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:inline-flex}.avatar-lg{width:36px;height:36px;font-size:13px}.avatar-sm{width:22px;height:22px;font-size:9px}.logomark{color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:8px;font-family:Lora,serif;font-size:17px;font-weight:600;display:inline-flex}.logomark-icon{flex-shrink:0;width:22px;height:22px}.app-shell{background:var(--bg-base);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:var(--bg-base);z-index:5;flex-shrink:0;align-items:center;height:56px;padding:0 20px;display:flex;position:relative}.sidebar{border-right:1px solid var(--border);background:var(--bg-base);flex-direction:column;flex-shrink:0;width:232px;min-height:0;display:flex}.side-nav{flex-direction:column;flex:1;gap:1px;min-height:0;padding:14px 10px 8px;display:flex;overflow-y:auto}.side-foot{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:1px;padding:8px 10px 10px;display:flex}.side-section-row{justify-content:space-between;align-items:center;margin-top:4px;padding:14px 10px 6px;display:flex}.side-section{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:10px;font-weight:600}.side-add{border:1px solid var(--border);background:var(--bg-surface);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.side-add:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.side-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13px;font-weight:500;transition:background .1s,color .1s;display:flex}.side-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.side-item.active{background:var(--bg-subtle);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--accent)}.side-item.active .side-glyph{color:var(--accent)}.side-glyph{color:var(--text-muted);flex-shrink:0;display:inline-flex}.side-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.side-account{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin-top:4px;padding:8px}.side-account:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.chip{background:var(--bg-subtle);color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-flex}.project-grid{flex:1;grid-template-columns:1fr 360px;min-height:0;display:grid}.chat-stream{flex-direction:column;flex:1;gap:20px;min-height:0;padding:24px 32px 16px;display:flex;overflow-y:auto}.msg-user{background:var(--bg-subtle);border-radius:14px 14px 4px;align-self:flex-end;max-width:78%;padding:10px 14px;font-size:14px}.msg-director-row{gap:12px;max-width:100%;display:flex}.msg-director{min-width:0;color:var(--text-primary);flex:1;font-size:14px;line-height:1.6}.msg-director-md p{margin:0 0 8px}.msg-director-md p:last-child{margin-bottom:0}.msg-director-md strong{color:var(--text-primary);font-weight:600}.msg-director-md em{font-style:italic}.msg-director-md ol,.msg-director-md ul{flex-direction:column;gap:4px;margin:6px 0 8px 16px;padding:0;display:flex}.msg-director-md li{line-height:1.5}.msg-director-md code{background:var(--bg-subtle);border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:12px}.msg-director-md pre{background:var(--bg-subtle);border-radius:8px;margin:8px 0;padding:12px 14px;overflow-x:auto}.msg-director-md pre code{background:0 0;padding:0;font-size:12px}.msg-director-md h1,.msg-director-md h2,.msg-director-md h3{margin:10px 0 4px;font-weight:600}.msg-director-md h1{font-size:16px}.msg-director-md h2{font-size:15px}.msg-director-md h3{font-size:14px}.msg-director-md table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.msg-director-md th{background:var(--bg-subtle);text-align:left;border:1px solid var(--border);padding:6px 10px;font-weight:600}.msg-director-md td{border:1px solid var(--border);vertical-align:top;padding:5px 10px}.msg-director-md tr:nth-child(2n) td{background:var(--bg-surface)}.director-icon{background:var(--bg-surface);border:1px solid var(--border);width:28px;height:28px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-input-wrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;transition:border-color .15s;display:flex}.chat-input-wrap:focus-within{border-color:var(--accent)}.chat-input{resize:none;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;max-height:160px;padding:0;font-family:inherit;font-size:14px;line-height:1.5;overflow-y:auto}.chat-input::placeholder{color:var(--text-muted)}.tool-call{background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:11px;display:inline-flex}.agent-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;max-width:480px;padding:18px;position:relative;overflow:hidden}.agent-card:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.phase-block{border-bottom:1px solid var(--border);padding:14px 16px}.phase-block:last-child{border-bottom:none}.task-row{color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 8px 6px 24px;font-size:13px;transition:background .1s;display:flex;position:relative}.task-row:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:50%;left:12px}.task-row:last-child:before{bottom:50%}.task-row:after{content:"";background:var(--border);width:8px;height:1px;position:absolute;top:50%;left:12px}.task-row:hover{background:var(--bg-subtle)}.task-row.active{background:var(--accent-soft)}.activity-row{color:var(--text-secondary);border-bottom:1px dashed var(--border);grid-template-columns:64px 100px 1fr;gap:8px;padding:6px 16px;font-family:JetBrains Mono,monospace;font-size:11px;display:grid}.activity-row:hover{background:var(--bg-subtle)}.activity-row .ts{color:var(--text-muted)}.activity-row .agent{color:var(--accent)}.activity-row.done{color:var(--success)}.stream-cursor{background:var(--accent);vertical-align:text-bottom;width:7px;height:14px;margin-left:1px;animation:1s steps(2,end) infinite blink;display:inline-block}.empty-illu{background:var(--bg-subtle);width:88px;height:88px;color:var(--accent);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.auth-shell{background:var(--bg-base);justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0;overflow:auto}.auth-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-bg:before{content:"";background:radial-gradient(closest-side, var(--accent) 0%, transparent 70%);opacity:.08;border-radius:100%;width:540px;height:540px;position:absolute;bottom:-180px;right:-180px}.auth-bg:after{content:"";background:radial-gradient(closest-side, var(--success) 0%, transparent 70%);opacity:.05;border-radius:100%;width:480px;height:480px;position:absolute;top:-200px;left:-200px}.auth-card{background:var(--bg-surface);border:1px solid var(--border);z-index:1;width:480px;max-width:100%;box-shadow:var(--shadow-md);border-radius:16px;padding:36px 36px 32px;position:relative}.drawer{background:var(--bg-surface);border-left:1px solid var(--border);z-index:50;width:480px;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.sec-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:600}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;flex:1;min-width:180px;padding:16px 20px}
