/* Option B / V07 tokens copied from the preserved approved reference. */
:root {
  --bg-canvas: #f6f7f9;
  --bg-surface: #ffffff;
  --bg-surface-subtle: #f9fafb;
  --bg-surface-hover: #f1f5f9;
  --bg-surface-selected: #eef7f2;
  --overlay: rgba(15, 23, 42, 0.35);

  --text-primary: #111827;
  --text-secondary: #4b5563;
  --text-muted: #6b7280;
  --text-on-accent: #ffffff;

  --border-subtle: #e5e7eb;
  --border-strong: #d1d5db;

  --accent-primary: #15803d;
  --accent-primary-hover: #166534;
  --accent-primary-soft: #dcfce7;
  --accent-primary-border: #86efac;

  --danger-fg: #b91c1c;
  --danger-bg: #fef2f2;
  --danger-border: #fecaca;

  --warning-fg: #b45309;
  --warning-dot: #d97706;
  --warning-bg: #fffbeb;
  --warning-border: #fde68a;

  --info-fg: #1d4ed8;
  --info-dot: #2563eb;
  --info-bg: #eff6ff;
  --info-border: #bfdbfe;

  --neutral-fg: #374151;
  --neutral-dot: #6b7280;
  --neutral-bg: #f3f4f6;
  --neutral-border: #e5e7eb;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;

  --radius-panel: 10px;
  --radius-input: 6px;
  --radius-pill: 9999px;

  --control-height: 36px;
  --shadow-panel: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-modal: 0 12px 32px rgba(15, 23, 42, 0.16);

  --sidebar-width: 244px;
  --font-sans: system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  font-family: var(--font-sans);
  color: var(--text-primary);
  background: var(--bg-canvas);
  font-synthesis: none;
  --green: var(--accent-primary);
  --soft: var(--bg-surface-selected);
  --line: var(--border-subtle);
  --muted: var(--text-muted);
}
*{box-sizing:border-box}body{margin:0;font-size:14px;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:wait;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}svg{width:19px;height:19px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:42px;letter-spacing:-1.5px;line-height:1.12;font-weight:600}h2{font-size:28px;letter-spacing:-.7px;font-weight:600}h3{font-size:16px;font-weight:600}p{line-height:1.65}a{color:var(--green)}.muted{color:var(--muted)}.small{font-size:12px!important;line-height:1.5}.caps{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}.layout{height:100dvh;display:grid;grid-template-columns:220px minmax(0,1fr)}.main{min-width:0;min-height:0;display:grid;grid-template-rows:64px minmax(0,1fr)}#page{min-height:0;overflow:auto}.sidebar{background:var(--bg-surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 15px 18px;min-height:0}.brand{display:flex;align-items:center;gap:9px;padding:0 11px 30px;font-size:18px;letter-spacing:-.4px;font-weight:650}.brand span:last-child{font-weight:400;color:var(--text-secondary)}.mark{display:grid;place-items:center;width:30px;height:32px;border-radius:var(--radius-input);background:var(--accent-primary);color:white;font-size:23px}.nav{display:grid;gap:6px}.nav button,.project-link{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:12px;border-radius:var(--radius-input);color:var(--text-secondary)}.nav button:hover,.project-link:hover{background:var(--border-subtle)}.nav button.active{background:var(--soft);color:var(--green);font-weight:600}.nav .count{margin-left:auto;font-size:12px;border-radius:5px;background:var(--bg-surface-selected);padding:2px 6px}.new{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--accent-primary);color:white;border-radius:var(--radius-input);margin:25px 0 30px}.recent{overflow:auto}.recent .caps{padding:0 12px 10px}.project-link{font-size:13px;line-height:1.4}.project-link svg{width:16px}.side-foot{margin-top:auto;padding:20px 11px 0}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:19px;margin-top:20px}.avatar{width:32px;height:32px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--text-secondary)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:white;gap:15px}.breadcrumb{display:flex;align-items:center;gap:13px;color:var(--text-secondary);font-size:13px;min-width:0}.breadcrumb strong{font-size:14px;color:var(--text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb svg{width:15px}.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-input);font-size:12px;color:var(--text-secondary);background:var(--bg-surface);white-space:nowrap}.dot{width:5px;height:5px;border-radius:50%;background:var(--accent-primary)}.menu-toggle{display:none}.home{max-width:1100px;margin:auto;padding:60px 54px}.hero{max-width:740px;margin:auto;padding:28px 0 52px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;margin-bottom:23px;font-weight:500}.hero>p{margin-top:19px;color:var(--text-secondary);font-size:15px}.composer{background:white;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);margin-top:28px;overflow:hidden}.composer:focus-within{border-color:var(--border-subtle);box-shadow:var(--shadow-panel)}.composer textarea{display:block;width:100%;min-height:115px;max-height:210px;resize:vertical;border:0;padding:20px 20px 10px;outline:0;font-size:14px;line-height:1.65;color:var(--text-primary);background:transparent}.composer textarea::placeholder{color:var(--border-subtle)}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px}.row{display:flex;gap:10px;align-items:center}.space-between{justify-content:space-between}.mode{border:1px solid var(--line);border-radius:var(--radius-input);padding:8px 10px;color:var(--text-secondary);background:white;font-size:12px}.send{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-input);background:var(--accent-primary);color:white;width:36px;height:36px}.send:hover{background:var(--border-subtle)}.send svg{width:18px}.suggestions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.suggestions button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-input);background:white;padding:10px 13px;color:var(--text-secondary);font-size:12px}.suggestions button:hover{border-color:var(--border-subtle)}.suggestions svg{width:15px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:14px 0 20px}.section-heading h3{font-size:16px}.empty-projects{display:flex;align-items:center;gap:18px;border:1px dashed var(--border-subtle);border-radius:var(--radius-panel);padding:27px;background:var(--bg-surface-subtle)}.empty-projects p{font-size:13px;color:var(--text-secondary);margin-top:4px}.empty-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--text-secondary);background:white}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.project-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-panel);text-align:left;background:white}.project-card:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-panel)}.project-card .tile{height:110px;display:grid;place-items:center;border-radius:6px;background:var(--bg-surface-subtle);color:var(--text-secondary);margin-bottom:18px}.project-card p{font-size:12px;color:var(--text-secondary);margin-top:7px}.footer-note{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--text-secondary);font-size:12px;margin-top:40px}
/* The editor gives the conversation useful space and keeps its composer in view. */
.layout.editor{grid-template-columns:68px minmax(0,1fr)}.editor .sidebar{padding:20px 10px}.editor .brand{padding:0 7px 25px}.editor .brand>span:not(.mark),.editor .nav-label,.editor .nav .count,.editor .new span,.editor .recent,.editor .side-foot>.small,.editor .profile>div:not(.avatar){display:none}.editor .nav button{justify-content:center;padding:12px}.editor .new{margin:24px 0;padding:13px}.editor .side-foot{padding:0}.editor .profile{justify-content:center}.workspace{height:100%;display:grid;grid-template-columns:420px minmax(0,1fr);min-height:0}.chat{display:grid;grid-template-rows:58px minmax(0,1fr) auto;background:var(--bg-surface);border-right:1px solid var(--line);min-height:0}.chat-heading{padding:0 23px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border-subtle);font-size:14px;font-weight:600}.chat-heading button{font-size:12px;font-weight:400;color:var(--text-secondary)}.messages{min-height:0;overflow:auto;overscroll-behavior:contain;padding:25px 23px 20px;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.message{margin-bottom:26px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.who{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:11px}.who svg{width:16px;color:var(--accent-primary)}.message.user .body{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);padding:13px 15px;white-space:pre-wrap}.message.assistant .body{color:var(--text-secondary)}.message.assistant .body p{margin:10px 0}.chat .composer{margin:12px 16px 16px;border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.chat .composer textarea{min-height:90px;max-height:150px;padding:15px 16px 7px;font-size:14px}.chat .composer-bottom{padding:8px 12px}.chat .attachment-hint{font-size:12px}.workspace-right{display:grid;grid-template-rows:55px minmax(0,1fr) 31px;min-width:0;min-height:0;background:var(--bg-canvas)}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg-surface);border-bottom:1px solid var(--line);padding:0 20px}.tabs{display:flex;align-items:center;gap:23px}.tabs button{height:55px;border-bottom:2px solid transparent;padding:0 2px;color:var(--text-secondary);font-size:13px}.tabs button.selected{color:var(--accent-primary);border-bottom-color:var(--border-subtle);font-weight:600}.icon-buttons{display:flex;gap:4px}.icon-button{display:grid;place-items:center;width:30px;height:30px;border-radius:5px;color:var(--text-secondary)}.icon-button.selected{background:var(--bg-surface-selected);color:var(--accent-primary)}.icon-button:hover{background:var(--border-subtle)}.preview-area{display:flex;flex:1;min-height:0;overflow:auto;justify-content:center;padding:20px;background:var(--bg-canvas)}.preview-area iframe{width:100%;height:100%;min-height:0;border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--bg-surface);box-shadow:var(--shadow-panel)}.preview-area.mobile iframe{max-width:390px}.preview-footer{display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:12px;color:var(--text-secondary);background:var(--bg-surface);border-top:1px solid var(--line);gap:8px}.preview-footer select{font-size:12px;border:0;background:white;color:var(--text-secondary)}.preview-empty{display:flex;flex:1;justify-content:center;align-items:center;padding:35px;background:var(--bg-canvas)}.build-state{width:min(520px,100%);padding:35px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:white;box-shadow:var(--shadow-panel)}.state-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:var(--radius-panel);color:var(--accent-primary);background:var(--bg-surface-selected);margin-bottom:22px}.build-state.failed .state-icon{color:var(--warning-fg);background:var(--warning-bg)}.build-state h2{font-size:23px;letter-spacing:-.5px;margin-bottom:13px}.build-state>p{font-size:14px;line-height:1.7;color:var(--text-secondary)}.build-state .row{margin-top:24px}.state-caption{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:12px;line-height:1.6}.status-badge{display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:12px;font-weight:500;margin-bottom:11px}.step-list{list-style:none;padding:0;margin:17px 0 3px;display:grid;gap:12px}.step-list li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}.step-list li.complete{color:var(--accent-primary)}.step-list li.running{color:var(--accent-primary);font-weight:500}.step-list li.failed{color:var(--warning-fg)}.step-dot{width:7px;height:7px;border:1px solid var(--border-subtle);border-radius:50%;flex-shrink:0}.complete .step-dot{background:var(--accent-primary);border:0}.running .step-dot{background:var(--accent-primary);border:0;box-shadow:var(--shadow-panel)}.failed .step-dot{background:var(--warning-dot);border:0}.build-card{border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);border-radius:var(--radius-panel);padding:17px;margin:20px 0;font-size:13px;line-height:1.65}.build-card .build-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;color:var(--accent-primary);margin-bottom:11px}.build-card p{color:var(--text-secondary);font-size:13px}.build-card details{margin-top:12px;font-size:12px;color:var(--text-secondary)}.build-card summary{cursor:pointer}.build-card ol{padding-left:20px;max-height:250px;overflow:auto;line-height:1.8}.build-card .btn{margin-top:14px}.error{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:var(--radius-input);padding:15px;margin:16px 0;font-size:13px;line-height:1.65;color:var(--warning-fg)}.error strong{display:block;margin-bottom:6px;font-weight:600}.error .btn{margin-top:12px}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--bg-surface);font-size:12px;font-weight:500}.btn:hover{background:var(--border-subtle)}.btn.primary{background:var(--accent-primary);border-color:var(--border-subtle);color:var(--bg-surface)}.btn svg{width:15px}.source-view,.history-view,.binding-view{padding:27px;overflow:auto;flex:1;min-height:0;background:var(--bg-canvas)}.source-view pre{background:var(--bg-surface);border:1px solid var(--line);padding:20px;border-radius:var(--radius-input);font-family:ui-monospace,monospace;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:18px}.source-files{display:flex;gap:6px;flex-wrap:wrap}.source-files .selected{background:var(--bg-surface-selected);border-color:var(--border-subtle);color:var(--accent-primary)}.history-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius-input);background:var(--bg-surface);margin:15px 0}.history-card p{font-size:13px;color:var(--text-secondary);margin:12px 0}.notice{padding:17px 19px;border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);border-radius:var(--radius-input);color:var(--text-secondary);font-size:13px;line-height:1.7;margin:20px 0}.content{max-width:1100px;margin:auto;padding:44px}.content>p{margin:15px 0 28px;color:var(--text-secondary);font-size:14px;max-width:720px}.connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.connector-card{background:white;border:1px solid var(--line);border-radius:var(--radius-panel);padding:22px}.connector-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}.provider-logo{width:38px;height:38px;border-radius:var(--radius-input);background:var(--bg-surface-selected);color:var(--accent-primary);display:grid;place-items:center;font-weight:600}.connector-card p{font-size:13px;color:var(--text-secondary);min-height:43px}.connector-card label{display:block;color:var(--text-secondary);font-size:12px;margin:20px 0 8px}.connector-card select{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:white;font-size:13px}.connector-card .btn{margin-top:14px;width:100%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.stat{padding:25px;background:white;border:1px solid var(--line);border-radius:var(--radius-panel)}.stat .number{font-size:32px;letter-spacing:-1px;margin-top:12px}.budget-form{display:flex;align-items:center;gap:12px;margin-top:20px}.budget-form input{width:120px;border:1px solid var(--line);padding:11px;border-radius:var(--radius-input)}.usage-table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);font-size:13px}.usage-table th,.usage-table td{padding:15px;text-align:left;border-bottom:1px solid var(--line)}.usage-table th{color:var(--text-secondary);font-weight:500}dialog{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);padding:30px;max-width:520px;box-shadow:var(--shadow-panel)}dialog::backdrop{background:var(--border-subtle);backdrop-filter:blur(3px)}dialog p{font-size:14px;color:var(--text-secondary);margin:16px 0;line-height:1.7}dialog button{float:right}#toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:600px;background:var(--accent-primary);color:white;border-radius:var(--radius-input);padding:13px 20px;font-size:13px;line-height:1.5;z-index:100;box-shadow:var(--shadow-panel)}.attach-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--radius-input);color:var(--text-secondary)}.attach-button:hover{background:var(--border-subtle)}.attachment-hint{padding:0 16px 12px;font-size:12px;color:var(--text-secondary)}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 15px;max-height:150px;overflow:auto}.attachment-list:empty{display:none}.file-chip{display:flex;align-items:center;gap:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--bg-surface-subtle);max-width:100%;padding:8px;color:var(--text-secondary)}.file-label{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;font-size:12px;overflow-wrap:anywhere}.file-label>span{min-width:0}.file-label svg{width:16px}.file-label small{display:block;color:var(--text-secondary);font-size:12px;margin-top:4px}.remove-file{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;color:var(--text-secondary)}.remove-file svg{width:13px}.remove-file:hover{background:var(--border-subtle);border-radius:4px}.attachment-error{color:var(--warning-fg);font-size:12px;padding:9px 15px 0;line-height:1.6}.attachment-error:empty{display:none}.message-files{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.message-files:empty{display:none}.composer.drag-over{outline:2px dashed var(--accent-primary);background:var(--bg-surface-subtle)}.file-context{color:var(--text-secondary);font-size:12px;margin:18px 0;overflow-wrap:anywhere}.file-context summary{cursor:pointer;line-height:1.6}.file-context>div{margin-top:12px}.file-context ul{padding-left:18px;line-height:1.8;max-height:180px;overflow:auto}.file-dialog{width:min(650px,90vw);max-width:650px}.file-dialog h2{font-size:22px;overflow-wrap:anywhere}.file-manifest{max-height:45vh;overflow:auto;margin:20px 0}.file-manifest>div{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.file-manifest small{display:block;color:var(--text-secondary);font-size:12px;margin-top:4px}
@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(min-width:1800px){.workspace{grid-template-columns:460px minmax(0,1fr)}.chat-heading{padding:0 28px}.messages{padding:28px}.chat .composer{margin:12px 22px 22px}}@media(max-width:1150px){.workspace{grid-template-columns:365px minmax(0,1fr)}.preview-bar{padding:0 13px}.tabs{gap:14px}.home{padding:35px}.preview-area{padding:12px}.build-state{padding:25px}}@media(max-width:850px){.layout:not(.editor){grid-template-columns:68px minmax(0,1fr)}.sidebar{padding:20px 10px}.brand{padding:0 7px 25px}.brand>span:not(.mark),.nav-label,.nav .count,.new span,.recent,.side-foot>.small,.profile>div:not(.avatar){display:none}.side-foot{padding:0}.profile,.nav button{justify-content:center}.workspace{grid-template-columns:330px minmax(0,1fr)}.preview-bar .icon-buttons{gap:0}.preview-bar .tabs{gap:10px}.tabs button{font-size:12px}.topbar{padding:0 20px}}@media(max-width:700px){body{overflow:auto}.layout,.layout.editor{display:block;height:auto;min-height:100dvh}.sidebar{display:none}.main{display:block}.topbar{height:60px;padding:0 17px}.menu-toggle{display:inline-flex}.topbar .pill{font-size:12px}.breadcrumb{gap:8px;font-size:12px}.breadcrumb strong{font-size:13px}.home{padding:30px 22px}.hero{padding:20px 0 36px}h1{font-size:34px}.hero>p{font-size:14px}.workspace{display:flex;height:auto;flex-direction:column}.chat{height:620px;border-right:0}.workspace-right{height:650px}.preview-area{padding:12px}.build-state{padding:25px}.content{padding:32px 22px}.stats{gap:9px}.stat{padding:17px 11px}.stat .number{font-size:25px}.hide-phone{display:none}.footer-note{line-height:1.6}.preview-footer{font-size:12px}.source-view,.history-view,.binding-view{padding:20px}}

/* Builder composition, using the approved V07 type and component scale. */
body{line-height:1.45;-webkit-font-smoothing:antialiased}
.layout:not(.editor){grid-template-columns:244px minmax(0,1fr)}
.sidebar{padding:24px 16px 16px}.brand{font-size:16px;letter-spacing:0}.mark{border-radius:var(--radius-input);font-size:20px}
.nav button,.new,.btn,.mode,.suggestions button{min-height:36px;font-size:14px}
.nav button.active{box-shadow:inset 0 0 0 1px var(--accent-primary-border)}
.btn.primary:hover,.new:hover,.send:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}
h1{font-size:32px;letter-spacing:-.6px;font-weight:700}h2{font-size:24px;letter-spacing:-.4px;font-weight:700}
.breadcrumb strong{color:var(--text-primary)}.chat-heading{font-weight:600}.chat-heading button{color:var(--text-secondary)}
.message.assistant .body,.build-card p,.build-state>p{color:var(--text-secondary)}
.build-card .build-title{color:var(--text-primary)}.build-card{background:var(--bg-surface-subtle)}.build-card p,.build-card .step-list li{font-size:14px}
.build-state{box-shadow:var(--shadow-panel)}.build-state h2{font-size:24px;font-weight:700}.build-state .state-caption{color:var(--text-muted)}
.composer:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-soft)}
.preview-footer{min-height:34px}.workspace-right{grid-template-rows:55px minmax(0,1fr) 34px}
.file-label{font-size:13px}.file-label small,.attachment-hint,.file-context{color:var(--text-muted);font-size:12px}
.notice{color:var(--text-secondary);background:var(--bg-surface-subtle)}
dialog{box-shadow:var(--shadow-modal)}dialog::backdrop{background:var(--overlay);backdrop-filter:none}
@media(max-width:850px){.layout:not(.editor){grid-template-columns:68px minmax(0,1fr)}}
@media(max-width:700px){.layout:not(.editor){display:block}.preview-footer{font-size:12px}.brand{padding:0 7px 25px}.chat .attachment-hint{font-size:12px}}
.composer textarea::placeholder{color:var(--text-muted)}
.tabs button.selected{border-bottom-color:var(--accent-primary)}
:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}
.connector-page{max-width:1240px;width:100%;margin:0 auto}.connector-page>p{max-width:760px;line-height:1.6;margin:12px 0 24px;color:var(--text-secondary)}
.connector-summary{display:flex;gap:28px;flex-wrap:wrap;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-default,#e5e7eb);margin-bottom:24px;color:var(--text-secondary);font-size:13px}.connector-summary span{display:flex;align-items:center;gap:8px}.connector-summary strong{color:var(--text-primary);font-size:20px}.connector-summary svg{width:16px;height:16px}
.connector-page .connector-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.connector-page .connector-card{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.connector-card p{font-size:13px;line-height:1.6;margin:0;min-height:42px}.connector-card h3{font-size:15px}.connector-card label{font-size:12px;color:var(--text-secondary);margin:0}.connector-card select{margin:0}.connector-card .provider-logo{width:40px;height:40px;font-size:13px;background:#f6f7f9;border:1px solid #e5e7eb;border-radius:9px;color:#374151}.connection-status{display:block;font-size:12px;color:#6b7280;margin-top:4px}.connection-status.healthy{color:#15803d}
.connector-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.connector-actions .btn{font-size:12px;min-height:36px}.connector-card .text-button{align-self:flex-start;background:none;border:0;padding:4px 0;font:inherit;color:#15803d;font-size:12px;cursor:pointer;text-align:left}.account-details{display:flex;flex-direction:column;gap:7px;background:#f6f7f9;border-radius:8px;padding:14px;overflow-wrap:anywhere;font-size:13px}.account-details small{color:#6b7280;font-size:11px}.empty-connection{padding:16px;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:13px}
.check-row{display:flex!important;align-items:flex-start;gap:10px;font-size:13px!important;line-height:1.5!important;color:#374151!important;font-weight:400!important;margin:10px 0!important}.check-row input{width:16px!important;height:16px!important;min-height:16px!important;flex:0 0 16px!important;margin:3px 0 0!important;padding:0!important;accent-color:#15803d}.check-row small{display:block;font-size:11px;color:#6b7280;margin-top:3px}.permission-list{border:1px solid #e5e7eb;border-radius:8px;padding:6px 14px;margin:12px 0 20px}.authority{padding:12px;background:#f6f7f9;border-radius:8px}
.connector-dialog{width:min(600px,calc(100vw - 32px));max-width:600px;max-height:90dvh;padding:26px;overflow:auto}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.dialog-heading h2{font-size:21px}.dialog-heading button{padding:7px;min-width:32px;flex:0 0 auto}.dialog-heading svg{height:16px;width:16px}.connector-dialog p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.connector-dialog form{display:block}.connector-dialog h3{font-size:14px;margin:20px 0 10px}.connector-dialog label:not(.check-row){display:block;font-size:12px;margin:16px 0;color:#374151}.connector-dialog input:not([type=checkbox]),.connector-dialog select,.connector-dialog textarea{width:100%;display:block;min-height:40px;padding:10px 12px;border:1px solid #d1d5db;border-radius:7px;background:#fff;color:#111827;font:inherit;margin-top:7px;box-sizing:border-box}.connector-dialog input[readonly]{font-size:11px;color:#6b7280;background:#f9fafb}.connector-dialog [hidden]{display:none!important}.form-error{color:#b91c1c!important;min-height:20px}.connector-footnote{margin-top:24px!important;font-size:12px!important}.app-connector-page{overflow:auto;max-height:100%;padding:28px}.app-connector-page .connector-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.approval-details{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:13px}.approval-details dt{color:#6b7280}.approval-details dd{margin:0;overflow-wrap:anywhere}.approval-payload{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f7f9;border-radius:8px;padding:16px;max-height:280px;overflow:auto;font-size:12px;line-height:1.6}
@media(max-width:700px){.connector-page{padding:20px}.connector-page .connector-grid{grid-template-columns:minmax(0,1fr)}.connector-summary{gap:16px}.connector-card{min-width:0}.connector-dialog{padding:20px}.dialog-heading h2{font-size:19px}}
.connector-card .provider-logo{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;background:#fff;border:1px solid var(--line)}
.provider-logo img{display:block;width:30px;height:30px;object-fit:contain}
.connector-start{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:8px}.connector-start>.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;font-size:14px}.connector-start>.btn svg{width:16px;height:16px}.connector-start>.small{font-size:12px;line-height:1.5;text-align:center}
.connector-settings{border-top:1px solid var(--line);margin-top:5px;padding-top:14px;font-size:12px;color:var(--text-secondary)}.connector-settings>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:5px 0;min-height:28px}.connector-settings>summary::-webkit-details-marker{display:none}.connector-settings>summary:after{content:'+';font-size:17px}.connector-settings[open]>summary:after{content:'−'}.connector-settings>div{display:flex;flex-direction:column;gap:12px;padding-top:12px}.connector-settings .btn{font-size:12px;width:100%}
.provider-accounts{display:flex;flex-direction:column;gap:10px}.provider-accounts>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:var(--bg-surface-subtle);border-radius:7px}.provider-accounts span{min-width:0;flex:1;overflow-wrap:anywhere}.provider-accounts strong,.provider-accounts small{display:block;font-size:12px}.provider-accounts small{color:var(--text-secondary);margin-top:5px}.provider-accounts .btn{flex:0 0 auto;width:auto;margin:0;padding:6px 10px;font-size:12px}
.connector-start>.btn{margin-top:0}
.connector-page .btn:disabled{opacity:.5;cursor:not-allowed}.connector-settings summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px;border-radius:3px}

/* Account grants, owner controls and live build commentary. */
.account-buttons{display:flex;flex-direction:column;align-items:stretch;gap:7px}.provider-accounts>div{flex-wrap:wrap}.provider-accounts>div>span{flex-basis:140px}.project-access-list>div,.project-budget-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.project-access-list span,.project-budget-list span{min-width:0;overflow-wrap:anywhere}.project-access-list strong,.project-budget-list strong{display:block;font-size:14px}.project-access-list small,.project-budget-list small{display:block;color:var(--text-secondary);margin-top:5px;font-size:12px}.project-access-list .btn,.project-budget-list .btn{flex-shrink:0}
.usage-page{max-width:1050px;margin:auto}.usage-page>p{margin:14px 0 24px;color:var(--text-secondary);line-height:1.6}.usage-page .history-card{margin-bottom:20px}.usage-page h3{margin-bottom:16px}.usage-page fieldset{border:0;padding:0;min-width:0}.limit-field{margin:20px 0}.limit-field>label:first-child{display:block;font-size:13px;margin-bottom:8px}.limit-field input[type=number]{display:block;width:min(280px,100%);padding:10px 12px;border:1px solid var(--line);border-radius:7px;font:inherit}.limit-field input:disabled{background:var(--bg-surface-subtle);color:var(--text-muted)}.limit-field p{margin:8px 0 16px}.usage-page .section-heading{align-items:flex-start;margin:0}.usage-page .section-heading h3{margin-bottom:8px}
.activity-feed{padding:8px 0 24px;margin:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}.activity-feed .who{display:flex;align-items:center;gap:9px;font-weight:600}.activity-feed svg{width:17px;height:17px;color:var(--accent-primary)}.activity-elapsed{margin-left:auto;font-size:12px;color:var(--text-muted);font-weight:400;font-variant-numeric:tabular-nums}.activity-feed ol{list-style:none;margin:18px 0;padding:0}.activity-feed li{display:grid;grid-template-columns:10px 1fr;gap:13px;padding:0 0 17px}.activity-feed li:last-child{padding-bottom:0}.activity-feed p{margin:0;color:var(--text-secondary)}.activity-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);margin-top:9px}.activity-current{display:flex;gap:10px;align-items:flex-start;padding:13px;background:var(--bg-surface-subtle);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--text-secondary);line-height:1.6;margin:14px 0}.activity-current .spinner{flex:0 0 14px;margin-top:3px}.activity-feed>.btn{font-size:12px;margin:0}.sending-status{padding:10px 14px;margin:0;color:var(--accent-primary);font-size:13px;border-bottom:1px solid var(--line)}
@media(max-width:700px){.usage-page .stats{grid-template-columns:1fr}.activity-feed{font-size:13px}.usage-page .section-heading{gap:12px}.project-budget-list>div{flex-wrap:wrap}}

/* Provider identity stays visible in every connector dialog. */
.connector-dialog-title{display:flex;align-items:center;gap:12px;min-width:0}.connector-dialog-title h2{min-width:0;overflow-wrap:anywhere}.connector-dialog-title .provider-logo{width:42px;height:42px;flex:0 0 42px;background:#fff;border:1px solid var(--line);border-radius:9px}.connector-dialog .connector-method-note{margin:14px 0;font-size:12px}.connector-dialog .form-error:empty{display:none}

.connector-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.connector-dialog fieldset:disabled{opacity:.6}

/* Workspace overview: real isolated previews and factual build progress. */
.home{max-width:1440px;padding:36px 40px 42px}.home-start{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.3fr);gap:44px;align-items:center;padding:0 0 34px;border-bottom:1px solid var(--line);margin-bottom:30px}.home-intro h1{font-size:32px;line-height:1.17;letter-spacing:-1px;max-width:320px}.home-intro .eyebrow{margin-bottom:16px}.home-intro p{color:var(--text-secondary);font-size:14px;margin-top:14px;max-width:310px}.home-compose .composer{margin-top:0}.home-compose .composer textarea{min-height:90px;max-height:180px}.home-compose .suggestions{margin-top:12px;gap:7px}.home-compose .suggestions button{padding:8px 10px}.home .section-heading{align-items:center;gap:20px;margin:0 0 20px}.home .section-heading h2{font-size:22px;letter-spacing:-.45px;margin-bottom:5px}.workspace-sync{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:7px}.workspace-sync:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-primary)}.workspace-sync.disconnected{color:#92400e}.workspace-sync.disconnected:before{background:#d97706}.home .cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.home .project-card{padding:0;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--bg-surface);box-shadow:0 2px 5px #10182805}.home .project-card:hover{border-color:#c5d5cb;box-shadow:0 5px 16px #1018280b}.project-thumbnail{position:relative;aspect-ratio:11/7;overflow:hidden;background:var(--bg-canvas);border-bottom:1px solid var(--line);isolation:isolate}.project-thumbnail iframe{position:absolute;top:0;left:0;width:1100px;height:700px;border:0;transform-origin:top left;pointer-events:none;background:white}.thumbnail-caption{position:absolute;bottom:9px;left:10px;z-index:1;font-size:10px;background:#fffffff2;border:1px solid var(--line);border-radius:5px;padding:4px 7px;color:var(--text-secondary)}.preview-open{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;align-items:center;width:100%;height:100%}.preview-open>span{display:flex;align-items:center;gap:5px;background:var(--text-primary);color:white;padding:9px 13px;border-radius:7px;font-size:12px;opacity:0;transition:opacity .15s}.preview-open:hover>span,.preview-open:focus-visible>span{opacity:1}.preview-open:hover{background:#1018280a}.preview-open:focus-visible{outline-offset:-4px}.thumbnail-pending{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;padding:22px;gap:10px;text-align:center;color:var(--text-secondary)}.thumbnail-pending strong{font-weight:600;font-size:16px;color:var(--text-primary)}.thumbnail-pending>span:last-child{font-size:12px;line-height:1.5;max-width:240px}.pending-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:white;border:1px solid var(--line);margin-bottom:2px;color:var(--accent-primary)}.pending-symbol .spinner{width:20px;height:20px;border-width:2px;border-top-color:var(--accent-primary)}.project-card-body{padding:17px 18px 15px}.project-card-title{font-size:15px;font-weight:600;line-height:1.4;display:block;text-align:left;width:100%;padding:0;margin-bottom:13px;overflow-wrap:anywhere;color:var(--text-primary)}.project-card-title:hover{color:var(--accent-primary)}.project-state-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-status{display:inline-flex;gap:6px;align-items:center;font-size:11px;line-height:1.4;font-weight:550;color:var(--text-secondary)}.project-status .spinner{width:10px;height:10px;border-top-color:currentColor}.state-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.state-running,.state-planning,.state-verifying{color:var(--accent-primary)}.state-queued{color:#946700}.state-failed,.state-interrupted{color:#b42318}.state-complete{color:var(--accent-primary)}.project-elapsed{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.project-card .project-stage{font-size:12px;color:var(--text-secondary);line-height:1.5;margin:7px 0 0}.project-card .project-progress{font-size:11px;color:var(--accent-primary);margin:5px 0 0}.project-card .project-updated{font-size:10px;color:var(--text-muted);border-top:1px solid var(--line);padding-top:10px;margin-top:12px;line-height:1.5}.project-card .project-failure{font-size:11px;color:#b42318;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}.project-link-copy{display:block;min-width:0}.project-link-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-link-copy small{display:block;margin-top:4px}.project-link-copy .project-status{font-size:10px}.recent .project-link{padding:9px 12px;align-items:flex-start}.home .footer-note{margin-top:28px}.home [hidden]{display:none!important}.home .composer textarea::placeholder{color:#8b95a4}.home .send:hover{background:#116333}
@media(max-width:1050px){.home{padding:28px}.home-start{grid-template-columns:1fr;gap:20px}.home-intro h1{max-width:none;font-size:30px}.home-intro p{max-width:none;margin-top:8px}.home-intro .eyebrow{margin-bottom:10px}.home-compose .composer textarea{min-height:78px}}
@media(max-width:600px){.home{padding:22px 16px}.home-start{padding-bottom:24px;margin-bottom:24px}.home-intro h1{font-size:27px}.home .cards{grid-template-columns:minmax(0,1fr);gap:18px}.home .section-heading{align-items:flex-start;flex-direction:column;gap:8px}.home .suggestions button{font-size:11px}.home .composer textarea{font-size:14px}.workspace-sync{font-size:11px}}
@media(prefers-reduced-motion:reduce){.project-thumbnail .spinner,.project-status .spinner{animation:none}.preview-open>span{transition:none}}

/* Project discovery stays separate from the in-progress composer. */
.workspace-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 18px;margin-bottom:22px}.project-search{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1;max-width:380px;font-size:12px;color:var(--text-secondary)}.project-search input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--bg-surface);color:var(--text-primary);font-size:13px}.project-filter-options{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.project-filter-options button{min-height:40px;padding:8px 11px;border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:12px;white-space:nowrap}.project-filter-options button:hover{background:var(--bg-surface-subtle)}.project-filter-options button[aria-pressed=true]{background:var(--accent-primary-soft);border-color:var(--accent-primary-border);color:var(--accent-primary);font-weight:600}.project-filter-options span{margin-left:5px;font-variant-numeric:tabular-nums;opacity:.75}.clear-project-filters{font-size:12px;color:var(--accent-primary);min-height:40px;padding:6px 3px}.state-awaiting-input{color:#946700}.state-cancelled{color:#92400e}
@media(max-width:600px){.project-search{max-width:none;width:100%;flex-basis:100%}.workspace-filters{gap:9px}.project-filter-options{gap:3px}.project-filter-options button{padding:8px;font-size:11px}.clear-project-filters{font-size:11px}}

/* Keep workspace settings reachable when the desktop sidebar is hidden. */
.mobile-navigation{display:none}
@media(max-width:700px){.mobile-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--bg-surface)}.mobile-navigation button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 6px;border-radius:7px;font-size:12px;line-height:1.3;color:var(--text-secondary)}.mobile-navigation button[aria-current=page]{color:var(--accent-primary);background:var(--accent-primary-soft);font-weight:600}.mobile-navigation button:hover{background:var(--bg-surface-subtle)}.mobile-navigation svg{width:16px;height:16px;flex-shrink:0}.mobile-navigation button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}}

/* Recoverable project lifecycle. */
.workspace-heading-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.project-trash{font-size:11px;color:var(--text-secondary);text-decoration:underline;padding:8px 0;margin-top:4px}.project-trash:hover{color:#b42318}.trash-dialog{width:min(560px,calc(100vw - 32px))}.trash-identify{padding:14px;border:1px solid var(--line);border-radius:8px;margin:20px 0;display:grid;gap:8px;overflow-wrap:anywhere}.trash-identify code,.trash-list code{font-size:12px;overflow-wrap:anywhere}.trash-dialog label{display:block;margin:16px 0 7px}.trash-dialog input{width:100%;padding:12px;border:1px solid var(--line);border-radius:7px}.trash-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.btn.danger{background:#b42318;color:white}.trash-list .history-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.trash-list h3{margin-bottom:8px}.trash-list p{margin-top:8px}@media(max-width:600px){.trash-list .history-card{align-items:flex-start;flex-direction:column}.project-trash{min-height:44px}.workspace-heading-actions{width:100%;justify-content:space-between}}

/* Review evidence and transparent verification states. */
.review-view{padding:28px;overflow:auto;min-height:0;color:var(--text-primary)}.review-heading h2{font-size:26px;margin:12px 0}.review-heading p,.review-record p{font-size:14px;line-height:1.6;color:var(--text-secondary)}.review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.review-metrics>div{border:1px solid var(--line);border-radius:10px;padding:18px;background:white}.review-metrics strong,.review-metrics span{display:block}.review-metrics strong{font-size:18px;margin-bottom:7px}.review-metrics span{font-size:12px;color:var(--text-secondary)}.review-record{border-top:1px solid var(--line);padding:24px 0}.review-record h3{font-size:16px}.review-view ul{font-size:13px;line-height:1.7;margin:16px 0;padding-left:22px}.review-screenshots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}.review-screenshots figure{margin:0;min-width:0}.review-screenshots figcaption{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.review-screenshots img{display:block;max-height:500px;width:100%;object-fit:contain;object-position:top;background:white;border:1px solid var(--line);border-radius:8px}.review-screenshots details{margin-top:14px;font-size:12px}.review-steps{padding-left:20px;line-height:1.6}.review-steps li{padding:8px 0}.review-steps span{margin-left:8px;color:var(--text-secondary)}.review-steps small{display:block;overflow-wrap:anywhere}.review-steps .step-failed{color:#b42318}.review-history summary{cursor:pointer;padding:16px 0;font-size:14px}.state-needs-review{color:#946700}.review-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.review-settings-grid .limit-field input{width:100%}.review-view .notice{line-height:1.6}.preview-bar .tabs{overflow-x:auto;flex-shrink:1}
@media(max-width:700px){.review-view{padding:20px 14px}.review-metrics,.review-settings-grid{grid-template-columns:1fr}.review-screenshots{grid-template-columns:1fr}.review-heading h2{font-size:23px}.preview-bar{flex-wrap:wrap}.preview-footer{gap:8px;flex-wrap:wrap}.review-view .row{flex-wrap:wrap}}

.design-findings{display:grid;gap:16px}.design-findings>div{padding-bottom:14px;border-bottom:1px solid var(--line)}.design-findings dt{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}.design-findings dd{margin:6px 0 0;font-size:13px;line-height:1.65;color:var(--text-secondary);overflow-wrap:anywhere}

.limit-field select{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--bg-surface);color:var(--text-primary);font:inherit}.model-effort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.model-effort-grid{grid-template-columns:1fr}}

/* Portal review: calm hierarchy, explicit actions and compact mobile work views. */
[hidden]{display:none!important}
button:disabled{cursor:default}
#toast{width:max-content;max-width:min(600px,calc(100vw - 32px));border:1px solid transparent}
#toast[data-tone=error]{background:#fff1f0;color:#9f2018;border-color:#f4b9b4;box-shadow:0 8px 30px #1018281a}
#toast[data-tone=info]{background:#1f2937;color:white}
.project-card-body{position:relative;padding:18px 20px 16px}
.project-card-title{padding-right:32px;margin-bottom:12px}
.project-menu{position:absolute;right:10px;top:9px;z-index:3}
.project-menu summary,.account-menu summary{list-style:none;display:grid;place-items:center;width:36px;height:36px;border-radius:7px;cursor:pointer;letter-spacing:2px;color:var(--text-secondary)}
.project-menu summary::-webkit-details-marker,.account-menu summary::-webkit-details-marker{display:none}
.project-menu summary:hover,.account-menu summary:hover{background:var(--bg-surface-subtle)}
.project-menu>div,.account-menu>div{position:absolute;right:0;top:38px;min-width:190px;padding:6px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 6px 22px #10182820;z-index:4}
.project-menu .project-trash{display:block;padding:10px 12px;min-height:40px;margin:0;font-size:13px;text-decoration:none;color:#b42318;width:100%;text-align:left;border-radius:5px}
.project-menu .project-trash:hover{background:#fff1f0}
.project-status{font-size:12px}.project-elapsed{font-size:11px}
.project-card .project-updated{font-size:11px;border:0;padding-top:0;margin-top:12px}
.project-card .project-stage{min-height:36px}.state-queued{color:var(--text-secondary)}
.project-status.state-queued .spinner{animation:none;border-radius:50%;border:1.5px solid currentColor;position:relative}
.project-status.state-queued .spinner:after{content:'';position:absolute;left:3px;top:1px;width:2px;height:3px;border-left:1px solid currentColor;border-bottom:1px solid currentColor}
.thumbnail-caption{opacity:0}.project-card:hover .thumbnail-caption{opacity:1}
.activity-feed details,.completed-build{font-size:13px;color:var(--text-secondary);margin-top:16px}
.activity-feed summary,.completed-build>summary{cursor:pointer;min-height:32px;line-height:1.7}
.activity-feed details ol{padding:12px 0 0;margin:0}.activity-feed details li{font-size:12px}
.activity-feed>ol{margin:12px 0}.completed-build .build-card{margin-top:8px}
.mobile-work-nav{display:none}
.review-heading{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.review-heading .eyebrow{margin-bottom:10px}.review-result-line{display:flex;gap:16px;align-items:center;justify-content:space-between}
.review-heading .review-next{font-size:15px;line-height:1.7;color:var(--text-secondary);margin:12px 0}
.review-result-line .btn{flex-shrink:0}.review-metrics small{display:block;font-size:11px;color:var(--text-secondary);margin-top:8px;line-height:1.6}
.review-metrics>div{padding:20px}.review-metrics strong{font-size:23px;letter-spacing:-.5px}.review-metrics span{margin-top:6px}
.review-record>summary{cursor:pointer;font-weight:600;font-size:14px;line-height:1.5;padding:2px 0}
.review-record[open]>summary{margin-bottom:18px}.review-record>summary .muted{font-weight:400}
.review-record .review-record{padding:0;border:0;margin:18px 0 0;box-shadow:none}
.evidence-record>summary{display:list-item}.evidence-record>summary>span:last-child{float:right;margin-left:12px}
.review-evidence-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 12px}
.review-view .settings-note{margin:26px 0 10px}.review-issues{border-color:#e9c891;background:#fffcf6}
.review-screenshots figure{min-width:0}.review-screenshots figcaption{font-size:12px;margin-bottom:12px}
.settings-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:28px 0 22px;overflow-x:auto}
.settings-tabs button{padding:12px 16px;min-height:44px;white-space:nowrap;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px}
.settings-tabs button[aria-selected=true]{color:var(--accent-primary);border-color:var(--accent-primary);font-weight:600}
.settings-tabs button:hover{background:var(--bg-surface-subtle)}
.usage-page .history-card{padding:26px;margin:0 0 20px;border-radius:12px}.usage-page .history-card .section-heading{margin-top:0}
.usage-page .history-card h3{font-size:17px}.usage-page .history-card form{margin-top:22px}.usage-page .stats{gap:16px;margin-bottom:0}
.usage-page .stat{padding:22px 24px}.usage-page .stat .number{font-size:30px}
.usage-page .limit-field{margin:22px 0}.usage-page .limit-field>label:first-child{font-weight:500;color:var(--text-primary)}
.settings-save{display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.settings-save [data-save-status]{font-size:12px;color:var(--text-secondary)}
[data-dirty=true] .settings-save [data-save-status]{color:#875b16}
.settings-note{font-size:12px;color:var(--text-secondary);line-height:1.7;margin-top:24px}
.connector-page .connector-summary{align-items:center}.connector-summary>[data-organisation-settings]{margin-left:auto;font-size:13px}
.connector-page .connector-card{padding:24px;gap:0}.connector-card .connector-title{margin-bottom:12px}
.connector-card .provider-accounts{margin:16px 0 0;padding:0;border:0}
.provider-accounts>div{display:block;padding:14px 0;border-top:1px solid var(--line)}
.provider-accounts>div>span{display:block;margin-bottom:14px}.provider-accounts strong{font-size:14px;overflow-wrap:anywhere}
.provider-accounts small{line-height:1.6;margin-top:5px}.account-buttons{display:flex;flex-direction:row;align-items:center;gap:8px}
.account-buttons>.btn{width:auto;flex:1;margin:0;font-size:13px;min-height:38px}
.account-menu{position:relative;flex:0 0 36px}.account-menu .btn{display:block;width:100%;margin:0;padding:10px 12px;border:0;text-align:left;background:white;font-size:13px}
.account-menu .btn:hover{background:var(--bg-surface-subtle)}
.connector-card .connector-start{padding-top:18px;gap:8px}.connector-start .btn:not(.primary){border-style:dashed;font-size:13px;color:var(--text-secondary);margin-top:0}
.connector-start>span:empty{display:none}.connector-card .connection-status{font-size:12px}
.organisation-providers>div{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.organisation-providers>div>span:not(.provider-logo){flex:1;min-width:0}.organisation-providers strong,.organisation-providers small{display:block}
.organisation-providers small{color:var(--text-secondary);font-size:12px;margin-top:4px}
.provider-admin{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.provider-admin p{font-size:13px}
@media(min-width:701px) and (max-width:1050px){.workspace{grid-template-columns:310px minmax(0,1fr)}.preview-bar{padding:0 10px}.preview-bar .tabs{gap:9px}.preview-bar .icon-buttons{display:none}.review-result-line{align-items:flex-start;flex-direction:column}.review-metrics{grid-template-columns:1fr}.review-screenshots{grid-template-columns:1fr}}
@media(max-width:700px){
 .topbar{gap:10px;padding:0 14px}.topbar .breadcrumb{flex:1}.breadcrumb>span,.breadcrumb>svg{display:none}.topbar .pill{font-size:10px;padding:5px 6px;gap:5px}.topbar>.btn{font-size:12px;padding:8px;white-space:nowrap;flex-shrink:0}.breadcrumb strong{font-size:13px}.menu-toggle{min-width:32px;min-height:40px;align-items:center;justify-content:center}
 .layout.editor{height:100dvh;min-height:0;overflow:hidden}.editor .main{height:100%;display:grid;grid-template-rows:60px 57px minmax(0,1fr)}
 .editor #page{display:grid;grid-template-rows:50px minmax(0,1fr);overflow:hidden;min-height:0}
 .mobile-work-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 12px;border-bottom:1px solid var(--line);gap:4px;background:white}
 .mobile-work-nav button{min-height:40px;border-radius:6px;color:var(--text-secondary);font-size:13px}.mobile-work-nav [aria-pressed=true]{background:var(--accent-primary-soft);color:var(--accent-primary);font-weight:600}
 .workspace{height:100%;display:block;min-height:0}.workspace .chat,.workspace .workspace-right{height:100%;min-height:0}
 .workspace[data-mobile-view=chat]>.workspace-right,.workspace:not([data-mobile-view=chat])>.chat{display:none}
 .chat{grid-template-rows:46px minmax(0,1fr) auto}.chat-heading{padding:0 16px;font-size:13px}.chat-heading button{font-size:11px}.messages{padding:20px 16px}.chat .composer{margin:8px 12px 12px}.chat .composer textarea{min-height:68px;max-height:110px;font-size:16px}.chat .attachment-hint{font-size:10px}.chat .composer-bottom{padding:6px 10px}.send,.attach-button{min-width:40px;min-height:40px}
 .workspace-right{grid-template-rows:46px minmax(0,1fr) auto}.preview-bar{padding:0 12px;flex-wrap:nowrap;overflow-x:auto}.preview-bar .tabs{gap:17px}.tabs button{height:46px;min-height:44px}.preview-bar .icon-buttons{display:none}.preview-footer{padding:8px 12px;font-size:10px;gap:6px}.preview-footer>span{flex:1;min-width:0;line-height:1.45}.preview-footer label{white-space:nowrap;font-size:10px}.preview-footer select{font-size:11px}
 .preview-area{padding:8px}.preview-area iframe{border-radius:5px}.review-view{padding:22px 16px}.review-result-line{align-items:flex-start;flex-direction:column;gap:14px}.review-heading h2{font-size:24px}.review-heading .review-next{font-size:14px}.review-metrics{grid-template-columns:1fr 1fr;gap:10px}.review-metrics>div:last-child{grid-column:1/-1}.review-metrics>div{padding:16px}.review-metrics strong{font-size:21px}.review-evidence-heading{align-items:flex-start;flex-direction:column;gap:5px}.review-record{padding:16px}.evidence-record>summary>span:last-child{float:none;display:block;margin:4px 0 0}
 .usage-page{padding:24px 16px}.usage-page .stats{grid-template-columns:1fr;gap:8px}.usage-page .stat{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.usage-page .stat .number{font-size:23px;margin:0}.settings-tabs{margin:24px 0 18px;gap:0}.settings-tabs button{padding:12px 10px;font-size:12px}.usage-page .history-card{padding:20px}.usage-page .section-heading{align-items:flex-start;flex-direction:column}.settings-save{align-items:flex-start;flex-direction:column;gap:10px}
 .connector-summary>[data-organisation-settings]{margin-left:0}.connector-card .connector-start .btn{min-height:44px}.account-menu summary,.project-menu summary{width:40px;height:40px}.account-menu>div,.project-menu>div{top:42px}.connector-page .connector-card{padding:22px}.organisation-providers>div{gap:10px}.organisation-providers .btn{font-size:12px;padding:8px}.organisation-providers small{font-size:11px}
}

@media(max-width:700px){.preview-bar [data-tab=preview],.preview-bar [data-tab=checks]{display:none}.preview-bar{overflow-y:hidden}.preview-bar .tabs{gap:24px}}
