*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font:var(--text-sm)/var(--line-body) var(--font-body)}[hidden]{display:none!important}button,input,select{font:inherit}button,select{cursor:pointer}button,input,select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-raised);color:var(--color-text);padding:var(--space-2) var(--space-3);min-height:38px}button:hover{background:var(--color-surface)}button:disabled{opacity:.55;cursor:wait}input{width:100%}button.primary{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary);font-weight:var(--weight-medium)}button.quiet{background:transparent;border-color:transparent}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-2xl);line-height:1.25;letter-spacing:-.035em;font-weight:var(--weight-bold)}h2{font-size:var(--text-xl);letter-spacing:-.02em}h3{font-size:var(--text-base);font-weight:var(--weight-bold)}small,.muted{color:var(--color-text-muted)}.eyebrow{font-size:var(--text-xs);letter-spacing:.13em;font-weight:var(--weight-bold);color:var(--color-text-muted);margin-bottom:var(--space-3)}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:10;padding:var(--space-3);background:var(--color-bg)}.skip-link:focus{top:var(--space-4)}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6);background:var(--color-surface)}.login-card{width:min(100%,420px);padding:var(--space-8);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-card .brandmark{margin-bottom:var(--space-6)}.login-card #google-sign-in{display:block;width:100%;margin:var(--space-6) 0 var(--space-3)}.login-card #login-error{margin:0 0 var(--space-3);color:var(--color-danger)}.brandmark{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);font-weight:var(--weight-bold);letter-spacing:-.05em;font-size:var(--text-lg)}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.sidebar{padding:var(--space-5) var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3);position:sticky;top:0;height:100dvh}.brand{display:flex;gap:var(--space-3);align-items:center;color:var(--color-text);text-decoration:none;font-weight:var(--weight-bold);padding:var(--space-2) var(--space-2);margin-bottom:var(--space-3)}.brand small{display:block;font-size:var(--text-xs);font-weight:var(--weight-normal)}.new-project{text-align:left;background:var(--color-bg)}.search-label{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);padding-left:var(--space-2);margin-top:var(--space-3)}.sidebar input{background:transparent}.sidebar nav{overflow-y:auto;flex:1;margin:0 calc(-1 * var(--space-1))}.project-link{display:flex;gap:var(--space-2);align-items:flex-start;width:100%;border:0;text-align:left;background:transparent;padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-1)}.project-link[aria-current='page']{background:var(--color-accent);color:var(--color-primary)}.project-link .project-name{font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap;max-width:180px}.project-link small{display:block;margin-top:2px;font-size:var(--text-xs)}.folder{font-size:var(--text-lg);color:var(--color-text-muted);line-height:1.3}.sidebar-footer{border-top:1px solid var(--color-border);padding-top:var(--space-4);display:grid;gap:var(--space-2)}.sidebar-footer label{font-size:var(--text-xs);color:var(--color-text-muted)}.host-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.status-dot{width:6px;height:6px;background:var(--color-success);border-radius:50%}main{min-width:0}.topbar{height:64px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-8);color:var(--color-text-muted)}#breadcrumb{flex:1;font-size:var(--text-xs)}.content{max-width:1080px;margin:0 auto;padding:var(--space-8)}.project-heading{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6)}.project-heading h1{margin:var(--space-2) 0 var(--space-3)}.subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:3px var(--space-2);border-radius:var(--radius-full);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);white-space:nowrap}.badge.success{color:var(--color-success);background:var(--color-success-bg);border-color:transparent}.badge.warning{color:var(--color-warning);background:var(--color-warning-bg);border-color:transparent}.badge.danger{color:var(--color-danger);background:var(--color-danger-bg);border-color:transparent}.badge.active{color:var(--color-primary);background:var(--color-accent);border-color:transparent}.actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);overflow:auto}.tab{border:0;border-bottom:2px solid transparent;border-radius:0;padding:var(--space-3) 0;white-space:nowrap;min-height:44px;background:transparent;color:var(--color-text-muted)}.tab[aria-selected='true']{border-bottom-color:var(--color-primary);color:var(--color-text);font-weight:var(--weight-medium)}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);padding:var(--space-4) 0 var(--space-6);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6)}.metric-label{font-size:var(--text-xs);color:var(--color-text-muted);display:block;margin-bottom:var(--space-1)}.metric-value{font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:-.025em}.handoff{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.handoff p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.handoff strong{font-weight:var(--weight-bold)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:var(--space-6) 0 var(--space-3)}.section-title small{font-size:var(--text-xs)}.milestone{border-top:1px solid var(--color-border);padding:var(--space-5) 0}.milestone-top{display:flex;gap:var(--space-3);align-items:center}.step-number{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid var(--color-border);border-radius:50%;font-size:var(--text-xs);color:var(--color-text-muted)}.milestone h3{flex:1;margin:0}.milestone-body{margin-left:38px;margin-top:var(--space-3)}.milestone-body p{margin-bottom:var(--space-3);color:var(--color-text-muted)}.criteria{list-style:none;padding:0;margin:var(--space-3) 0}.criteria li{display:flex;gap:var(--space-2);align-items:baseline;margin:var(--space-2) 0}.checkmark{color:var(--color-success);font-weight:var(--weight-bold)}.budget-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-4) 0 var(--space-2)}.budget-text{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}progress{width:100%;height:4px;appearance:none;border:0;display:block;border-radius:var(--radius-full);overflow:hidden;background:var(--color-border)}progress::-webkit-progress-bar{background:var(--color-border)}progress::-webkit-progress-value{background:var(--color-primary)}.corrections{font-size:var(--text-xs);color:var(--color-text-muted)}details{border-top:1px solid var(--color-border);margin-top:var(--space-6);padding-top:var(--space-4)}summary{cursor:pointer;font-weight:var(--weight-medium)}details .document{margin-top:var(--space-4)}.document{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:var(--text-sm)}.document h2{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-3)}.document h3{margin:var(--space-5) 0 var(--space-2)}.document p{margin-bottom:var(--space-3)}.document pre{font:var(--text-xs)/1.6 var(--font-mono);white-space:pre-wrap;background:var(--color-surface);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-wrap:anywhere}.conversation{border-left:1px solid var(--color-border);margin-left:var(--space-2);padding-left:var(--space-6)}.message{position:relative;margin:0 0 var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.message::before{content:'';position:absolute;left:-29px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-bg)}.message-header{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}.message-header strong{font-weight:var(--weight-bold)}.message-header time{color:var(--color-text-muted);font-size:var(--text-xs);margin-left:auto}.message ul{padding-left:var(--space-5)}.files-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--space-6);align-items:start}.file-list{display:grid;gap:var(--space-1)}.file-list button{text-align:left;border:0;background:transparent;font-size:var(--text-xs);font-family:var(--font-mono)}.file-list button[aria-current='page']{background:var(--color-accent);color:var(--color-primary)}.file-view{border-left:1px solid var(--color-border);padding-left:var(--space-6);min-height:320px}.file-heading{font-family:var(--font-mono);font-size:var(--text-sm);margin-bottom:var(--space-5)}.proof-row{padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.proof-row strong{display:block;margin-bottom:var(--space-2)}.proof-row p{margin:0;color:var(--color-text-muted)}.commit{font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.result-banner{padding:var(--space-5);background:var(--color-success-bg);color:var(--color-success);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.result-banner h2{margin-bottom:var(--space-2);font-size:var(--text-lg)}.result-banner p{margin:0}.empty{padding:var(--space-16) var(--space-6);max-width:520px;margin:auto;text-align:center}.empty h1{font-size:var(--text-xl)}#banner{padding:var(--space-3) var(--space-8);background:var(--color-warning-bg);color:var(--color-warning);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}dialog{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);width:min(520px,calc(100% - 32px));box-shadow:var(--shadow-lg)}dialog::backdrop{background:#0007}dialog p{color:var(--color-text-muted)}dialog blockquote{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-sm)}.dialog-close{float:right;margin-top:-12px;margin-right:-12px;font-size:var(--text-xl)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.mobile-toggle,.drawer-shade{display:none}.danger-button{color:var(--color-danger)}
@media(max-width:760px){button,input,select{min-height:44px}.workspace{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:268px;z-index:4;transform:translateX(-100%);transition:transform var(--duration-fast) var(--ease-standard)}.workspace.drawer-open .sidebar{transform:translateX(0)}.mobile-toggle{display:block}.drawer-shade{position:fixed;inset:0;background:#0007;border:0;border-radius:0;z-index:3}.workspace.drawer-open .drawer-shade{display:block}.topbar{height:58px;padding:0 var(--space-4)}.content{padding:var(--space-5)}.project-heading{display:block}.actions{justify-content:flex-start;margin-top:var(--space-4)}.tabs{gap:var(--space-5)}.summary-strip{gap:var(--space-3)}.metric-value{font-size:var(--text-lg)}.budget-grid{grid-template-columns:1fr}.files-layout{grid-template-columns:1fr;gap:var(--space-4)}.file-list{display:flex;overflow:auto}.file-list button{flex-shrink:0;min-height:44px}.file-view{border-left:0;padding-left:0}.message-header{flex-wrap:wrap;gap:var(--space-2)}.message-header time{margin-left:0;width:100%}.milestone-body{margin-left:0}.dialog-actions button{min-height:44px}#banner{padding:var(--space-3) var(--space-4)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
