:root{color-scheme:dark;--bg:#0a0f17;--panel:#111827;--muted:#a8b0c4;--text:#eaf1ff;--border:hsla(0,0%,100%,.12);--primary:#7c8cff;--danger:#ef476f;--success:#22c55e;--warning:#f59e0b;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--shadow-sm:0 4px 16px rgba(0,0,0,.25);--shadow-md:0 10px 28px rgba(0,0,0,.35)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at 20% -10%,#1d2a52,var(--bg) 40%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-root{height:100vh;display:grid;grid-template-rows:72px 1fr;grid-gap:12px;gap:12px;padding:12px}.topbar{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(90deg,rgba(124,140,255,.25),rgba(16,24,40,.85));display:grid;grid-template-columns:1fr auto auto;align-items:center;padding:12px 16px;box-shadow:var(--shadow-sm)}.topbar-left h1{margin:0;font-size:1.08rem}.topbar-left p{margin:2px 0 0;color:var(--muted);font-size:.78rem}.topbar-center{justify-self:center}.topbar-right{display:flex;gap:8px;align-items:center}.app-shell{display:grid;grid-template-columns:320px minmax(640px,1fr) 400px;grid-gap:12px;gap:12px;min-height:0}.center-col,.left-col,.right-col{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:rgba(17,24,39,.82);box-shadow:var(--shadow-md)}.chat-wrap,.left-wrap,.main-wrap{height:100%;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:12px}.ui-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;box-shadow:var(--shadow-sm);background:linear-gradient(180deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.015))}.ui-card.subtle{background:linear-gradient(180deg,rgba(124,140,255,.1),hsla(0,0%,100%,.015))}.ui-card.danger{background:linear-gradient(180deg,rgba(239,71,111,.16),hsla(0,0%,100%,.015))}.ui-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.ui-card-header h3{margin:0;font-size:.84rem;letter-spacing:.02em;color:#dce4ff}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:hsla(0,0%,100%,.06);color:var(--text);font-size:.78rem;padding:8px 11px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(180deg,#8fa0ff,#6879ec);color:#0d1330}.btn-danger,.btn-primary{border-color:transparent;font-weight:600}.btn-danger{background:linear-gradient(180deg,#ff7b9a,#ef476f);color:#320915}.badge{border-radius:999px;padding:4px 10px;font-size:.7rem;border:1px solid var(--border);background:hsla(0,0%,100%,.06);color:#dce4ff}.badge.success{border-color:color-mix(in oklab,var(--success) 55%,#fff 20%);color:#b8f5cd;background:color-mix(in oklab,var(--success) 16%,transparent)}.badge.warning{border-color:color-mix(in oklab,var(--warning) 55%,#fff 20%);color:#ffe4a8;background:color-mix(in oklab,var(--warning) 16%,transparent)}.badge.error{border-color:color-mix(in oklab,var(--danger) 55%,#fff 20%);color:#ffc3d1;background:color-mix(in oklab,var(--danger) 16%,transparent)}.chip{border-radius:999px;border:1px solid;padding:4px 9px;font-size:.7rem}.chip-ok{background:color-mix(in oklab,var(--success) 18%,transparent);color:#c7f9d6;border-color:color-mix(in oklab,var(--success) 55%,#fff 20%)}.chip-warn{background:color-mix(in oklab,var(--warning) 18%,transparent);color:#fde7b6;border-color:color-mix(in oklab,var(--warning) 55%,#fff 20%)}.chip-error{background:color-mix(in oklab,var(--danger) 18%,transparent);color:#ffd1dc;border-color:color-mix(in oklab,var(--danger) 55%,#fff 20%)}.chip-running{background:color-mix(in oklab,var(--primary) 20%,transparent);color:#d6ddff;border-color:color-mix(in oklab,var(--primary) 55%,#fff 20%)}.avatar{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem}.avatar.architect{background:rgba(124,140,255,.24);border:1px solid rgba(124,140,255,.55)}.avatar.user{background:rgba(148,163,184,.24);border:1px solid rgba(148,163,184,.45)}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{border-radius:999px;border:1px solid var(--border);background:hsla(0,0%,100%,.05);color:#dce4ff;padding:6px 12px;font-size:.78rem;cursor:pointer}.tab.active{background:rgba(124,140,255,.35);border-color:rgba(124,140,255,.7)}.section-title-wrap h2{margin:0;font-size:1rem}.section-title-wrap p{margin:4px 0 0;color:var(--muted);font-size:.76rem}.section-title{margin:0 0 6px;font-size:.76rem;color:#b8c2dc}.muted{margin:0;color:var(--muted);font-size:.75rem}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.stats-row.five{grid-template-columns:repeat(5,1fr)}.stat-card{border:1px solid var(--border);border-radius:12px;background:hsla(0,0%,100%,.03);padding:10px}.stat-card.alert{border-color:rgba(239,71,111,.5)}.stat-value{margin:0;font-size:1.1rem;font-weight:700}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.project-list{display:flex;flex-direction:column;gap:8px}.project-card{border:1px solid var(--border);background:hsla(0,0%,100%,.03);border-radius:12px;padding:10px;text-align:left;cursor:pointer}.project-card.active{border-color:rgba(124,140,255,.7);box-shadow:inset 0 0 0 1px rgba(124,140,255,.33)}.project-top{display:flex;justify-content:space-between}.project-name{margin:0;font-size:.88rem;font-weight:600}.mini-statusbar{display:flex;gap:4px;margin-top:6px}.mini{width:22px;height:6px;border-radius:99px;background:#334155}.mini.ok{background:#22c55e}.mini.warn{background:#f59e0b}.mini.error{background:#ef476f}.mini.running{background:#7c8cff}.repo-link{color:#c8d2ff;font-size:.76rem}.hero-top{display:flex;flex-direction:column;gap:12px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.mini-chart{height:52px;display:flex;align-items:flex-end;gap:4px}.mini-chart span{width:10px;background:linear-gradient(180deg,#9ba9ff,#6474ea);border-radius:4px 4px 0 0}.risk-progress{height:10px;border-radius:999px;background:hsla(0,0%,100%,.08);overflow:hidden;margin-bottom:8px}.risk-progress span{display:block;height:100%;background:linear-gradient(90deg,#6979eb,#8fa0ff)}.runs-table{width:100%;border-collapse:collapse;font-size:.76rem}.runs-table td,.runs-table th{border-bottom:1px solid hsla(0,0%,100%,.08);text-align:left;padding:8px;vertical-align:top}.code-grid,.tests-grid{display:grid;grid-template-columns:250px 1fr;grid-gap:10px;gap:10px;margin-top:10px}.empty-state,.error-state,.file-tree,.test-list{border:1px solid var(--border);border-radius:12px;background:hsla(0,0%,100%,.03);padding:10px}.error-state{border-color:rgba(239,71,111,.45)}.code-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.code-pre{background:#0d1320;border:1px solid var(--border);border-radius:12px;padding:10px;font-size:.76rem;max-height:52vh;overflow:auto}.test-row{width:100%;display:grid;grid-template-columns:1fr auto 90px;grid-gap:8px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:10px;background:hsla(0,0%,100%,.03);margin-bottom:8px;padding:8px}.test-row.warn{border-color:rgba(245,158,11,.45)}.test-row.error{border-color:rgba(239,71,111,.45)}.chat-input input,.ui-input,.ui-select{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#0d1320;color:var(--text);min-height:34px}.logs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:8px}.log-card{border:1px solid var(--border);border-radius:12px;padding:10px;background:hsla(0,0%,100%,.03)}.log-card.warn{border-color:rgba(245,158,11,.45)}.log-card.error{border-color:rgba(239,71,111,.45)}.chat-feed{height:56vh;overflow:auto;display:flex;flex-direction:column;gap:8px}.chat-message{border:1px solid var(--border);border-radius:14px;padding:10px;background:hsla(0,0%,100%,.03)}.chat-message.architect{background:rgba(124,140,255,.16)}.chat-header{display:flex;align-items:center;gap:8px;margin-bottom:5px}.plan-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}.plan-list li{display:grid;grid-template-columns:18px 1fr auto;grid-gap:8px;gap:8px;align-items:center}.action-chip{border:1px solid rgba(124,140,255,.55);background:rgba(124,140,255,.18);color:var(--text);border-radius:999px;padding:5px 10px;font-size:.74rem;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.chat-input{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;margin-top:8px}.toggle-wrap{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted)}.toggle{width:42px;height:24px;border-radius:999px;border:1px solid var(--border);background:#0d1320;padding:2px;cursor:pointer}.toggle span{display:block;width:18px;height:18px;border-radius:999px;background:#9fb0ff;transition:transform .2s}.toggle.on span{transform:translateX(18px)}.skeleton{border-radius:10px;background:linear-gradient(90deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.12),hsla(0,0%,100%,.05));background-size:200% 100%;animation:shimmer 1.25s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.62);display:flex;align-items:center;justify-content:center;z-index:40}.modal-card{width:min(920px,92vw);max-height:80vh;overflow:auto;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(17,24,39,.98),rgba(12,18,30,.98));padding:12px}.command-card{width:min(700px,92vw)}.command-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.command-item{border:1px solid var(--border);background:hsla(0,0%,100%,.03);border-radius:10px;padding:8px 10px;color:var(--text);display:flex;justify-content:space-between;gap:10px}.toast-viewport{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:50}.toast{border:1px solid var(--border);border-radius:12px;background:#131d33;color:var(--text);padding:9px 10px;min-width:260px;display:flex;justify-content:space-between;gap:8px}.toast.success{border-color:color-mix(in oklab,var(--success) 55%,#fff 20%)}.toast.warning{border-color:color-mix(in oklab,var(--warning) 55%,#fff 20%)}.toast.error{border-color:color-mix(in oklab,var(--danger) 55%,#fff 20%)}.toast button{border:0;background:transparent;color:var(--text);cursor:pointer}@media (max-width:1280px){.app-root{grid-template-rows:auto 1fr}.app-shell{grid-template-columns:90px 1fr}.left-wrap .muted,.left-wrap .project-name,.left-wrap .repo-link,.left-wrap .section-title-wrap,.left-wrap .stat-value{display:none}.right-col{position:fixed;right:12px;top:84px;bottom:12px;width:min(440px,95vw);z-index:20}.analytics-grid,.code-grid,.logs-grid,.stats-row,.stats-row.five,.tests-grid{grid-template-columns:1fr}}