@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#17211d;--muted:#778079;--paper:#f2f0e9;--card:#fbfaf6;--line:#d8d6cd;--green:#16a36a;--lime:#c8f05c;--orange:#ff7548;--navy:#192b49}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E")}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;background:rgba(242,240,233,.84);backdrop-filter:blur(16px);position:sticky;top:0;z-index:4}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.16em}.brand>span{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:var(--lime);font-size:20px;font-family:DM Mono}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:.08em;font-weight:500;margin-top:3px}.system{display:flex;gap:9px;align-items:center;font:10px DM Mono;color:var(--muted)}.system i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #16a36a20}.system b{background:#dce5db;padding:5px 7px;color:#47614f;letter-spacing:.08em}main{padding:54px 4.5vw 80px;max-width:1500px;margin:auto}.eyebrow{font:11px DM Mono;letter-spacing:.14em;color:#647069;text-transform:uppercase}.hero{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}.hero h1{font-size:clamp(40px,5vw,76px);letter-spacing:-.055em;line-height:.96;margin:12px 0 0;max-width:760px;font-weight:600}.hero h1 em{font-style:normal;color:var(--green)}button{font:600 12px Manrope;border:0;cursor:pointer}.primary{background:var(--ink);color:white;padding:15px 20px;box-shadow:5px 5px 0 var(--lime)}.primary:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--lime)}.task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.task{background:var(--card);border:1px solid var(--line);min-height:345px;padding:24px;display:flex;flex-direction:column;text-decoration:none;color:inherit;position:relative;transition:.2s}.task:hover{border-color:#9b9d95;transform:translateY(-3px)}.task .top{display:flex;justify-content:space-between}.state{font:10px DM Mono;text-transform:uppercase;letter-spacing:.08em}.state.running{color:var(--green)}.state.done{color:#3f5369}.state.not_started{color:#999}.pulse{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:7px}.running .pulse{animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.2}}.task h2{font-size:22px;line-height:1.2;margin:16px 0 4px;letter-spacing:-.025em}.task .meta{font:10px DM Mono;color:var(--muted)}.v-map{height:175px;margin:15px 0 10px;position:relative}.v-map svg{width:100%;height:100%;overflow:visible}.v-map .rail{fill:none;stroke:#d4d4cb;stroke-width:2}.v-map .passed{fill:none;stroke:var(--green);stroke-width:3}.v-map circle{stroke:var(--card);stroke-width:5;fill:#c8cac2}.v-map circle.done,.v-map circle.approved{fill:var(--green)}.v-map circle.running{fill:#4e9cf7;animation:phase-pulse 1.8s ease-in-out infinite}.v-map circle.awaiting_approval{fill:#e5b63d}.v-map circle.failed,.v-map circle.rejected{fill:#ef684f}.v-map text{font:8px DM Mono;fill:#71776f}.foot{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;font:10px DM Mono;color:var(--muted)}.empty-card{border:1px dashed #c3c2b9;display:grid;place-items:center;text-align:center;min-height:345px;color:var(--muted)}.empty-card strong{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}.detail-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:34px}.back{font:11px DM Mono;color:var(--muted);text-decoration:none}.detail-head h1{font-size:48px;letter-spacing:-.045em;margin:11px 0 5px}.detail-layout{display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);gap:20px}.panel{background:var(--card);border:1px solid var(--line);padding:25px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.panel h3{margin:0;font-size:15px}.phase-list{display:flex;flex-direction:column}.phase{display:grid;grid-template-columns:31px 1fr auto;gap:12px;position:relative;padding:0 0 22px}.phase:not(:last-child):before{content:"";position:absolute;left:10px;top:19px;bottom:0;width:1px;background:var(--line)}.phase .dot{width:21px;height:21px;border:1px solid #c9cbc4;background:var(--paper);border-radius:50%;z-index:1}.phase.done .dot,.phase.approved .dot{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 6px var(--card)}.phase.running .dot{background:#4e9cf7;border-color:#4e9cf7;box-shadow:0 0 0 4px #4e9cf722;animation:phase-pulse 1.8s ease-in-out infinite}.phase.awaiting_approval .dot{background:#e5b63d;border-color:#e5b63d;box-shadow:0 0 0 4px #e5b63d22}.phase.failed .dot,.phase.rejected .dot{background:#ef684f;border-color:#ef684f}.phase b{font-size:13px}.phase small{display:block;color:var(--muted);font:10px DM Mono;margin-top:5px;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase time{font:9px DM Mono;color:var(--muted)}.bar{height:3px;background:#e3e2db;margin-top:9px}.bar i{display:block;height:100%;background:var(--green)}.console{background:#15201c;color:#b8c2bb;min-height:355px;font:11px/1.65 DM Mono;padding:18px;overflow:auto}.console .line{border-bottom:1px solid #ffffff0a;padding:5px 0}.console time{color:#68766e;margin-right:12px}.console .complete{color:var(--lime)}.console .error{color:#ff9070}.model{font:10px DM Mono;padding:7px 9px;background:#e8eadf}.artifacts{display:grid;gap:9px}.artifact{border:1px solid var(--line);padding:14px;display:flex;justify-content:space-between;align-items:center}.artifact b{font-size:12px}.artifact small{font:9px DM Mono;color:var(--muted);display:block;margin-top:4px}.artifact.stale{opacity:.48}.not-started{min-height:360px;display:grid;place-items:center;text-align:center}.not-started .big-v{font:180px/.8 Manrope;color:#e1e0d8;font-weight:700;letter-spacing:-.2em;margin-left:-.2em}.not-started p{color:var(--muted);max-width:380px}.start-controls{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:28px}.start-route{display:flex;flex-direction:column;gap:8px;font:10px DM Mono;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left}.start-route select{min-width:240px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.65);backdrop-filter:blur(12px);font:13px Manrope;color:var(--ink);box-shadow:0 8px 24px rgba(26,42,34,.07);transition:border-color .2s,box-shadow .2s}.start-route select:hover{border-color:#9b9d95}.start-route select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px #16a36a22,0 8px 24px rgba(26,42,34,.09)}.modal{position:fixed;inset:0;background:#14201bc9;z-index:9;display:grid;place-items:center}.hidden{display:none!important}.modal.hidden{display:none}.dialog{width:min(510px,90vw);background:var(--card);padding:28px;box-shadow:12px 12px 0 var(--lime)}.dialog h2{margin-top:0}.dialog input,.dialog textarea,.dialog select{width:100%;border:1px solid var(--line);background:white;padding:13px;margin:5px 0 15px;font:13px Manrope}.dialog textarea{height:110px;resize:vertical}.actions{display:flex;justify-content:flex-end;gap:9px}.secondary{padding:14px;background:#e3e3db}.notice{font:11px/1.5 DM Mono;background:#fff2d9;border-left:3px solid #e7a12e;padding:13px;margin:15px 0}.loading{font:12px DM Mono;color:var(--muted)}@media(max-width:850px){header{padding:0 20px}.system span{display:none}main{padding:35px 20px}.hero{align-items:start;gap:28px;flex-direction:column}.detail-layout{grid-template-columns:1fr}.detail-head h1{font-size:36px}.task-grid{grid-template-columns:1fr}}
.v-map .gate{cursor:pointer}.v-map .gate rect{stroke:var(--card);stroke-width:3;fill:#17221d}.v-map .gate.open rect{fill:var(--card);stroke:var(--green);stroke-width:2}.v-map .gate.waiting rect{fill:var(--orange);animation:gatehalo 1.25s ease-out infinite}.v-map .gate:focus{outline:none}.v-map .gate:hover rect{stroke:var(--lime)}@keyframes gatehalo{0%{filter:drop-shadow(0 0 0 #ff7548)}70%{filter:drop-shadow(0 0 9px #ff7548)}100%{filter:drop-shadow(0 0 0 #ff754800)}}.gate-legend{display:flex;gap:14px;justify-content:center;margin:-10px 0 22px;font:9px DM Mono;color:var(--muted)}.dialog.translucent{background:rgba(246,245,238,.94);border:1px solid #ffffffa0;border-radius:20px;backdrop-filter:blur(22px);box-shadow:0 25px 80px #08140e80,8px 8px 0 var(--lime)}.gate-status{font:11px DM Mono;padding:11px 13px;border-radius:12px;background:#ebece4;margin:0 0 16px}.gate-status.waiting{background:#ffeadf;color:#a43d1e;box-shadow:0 0 0 5px #ff754819}.switch{display:flex;align-items:center;gap:8px;font:11px DM Mono;margin:10px 0 16px}.switch input{width:auto!important;margin:0!important}
.task-tools{display:flex;gap:14px;justify-content:flex-end;align-items:end;margin:-22px 0 18px}.task-tools label{font:10px DM Mono;color:var(--muted)}.task-tools input,.task-tools select{display:block;border:1px solid var(--line);background:var(--card);padding:9px 11px;margin-top:5px;min-width:190px}.card-action{font:10px DM Mono;background:transparent;color:var(--muted);padding:3px 5px}.card-action:hover{color:var(--ink);text-decoration:underline}.task{cursor:pointer}
nav{margin-left:auto;margin-right:22px}.nav-link,.button-link{color:var(--ink);text-decoration:none;font:11px DM Mono;letter-spacing:.08em}.session-grid{display:grid;gap:14px}.session-card{position:relative;overflow:hidden;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:20px;text-decoration:none;color:var(--ink);padding:24px;border:1px solid #cfd4cc;border-radius:22px;background:rgba(255,255,255,.58);backdrop-filter:blur(18px);box-shadow:0 12px 40px #253d3110}.session-card:hover{transform:translateY(-2px);border-color:#87a994}.session-card h2{margin:6px 0;font-size:20px}.session-card p{margin:0;color:var(--muted);font:11px DM Mono}.oracle-halo{width:22px;height:22px;border-radius:50%;background:var(--green);box-shadow:0 0 0 8px #16a36a18,0 0 30px #16a36a90}.oracle-halo.fail{background:var(--orange)}.glass-head{padding:20px;border-radius:22px;background:#ffffff8a;backdrop-filter:blur(20px);border:1px solid #ffffff}.tabs{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.tabs button{border-radius:999px;padding:10px 13px;background:#e7e9e4}.tabs button.active{background:var(--ink);color:var(--lime);box-shadow:0 0 22px #bbf24645}.bundle-panel{display:grid;gap:20px}.bundle-panel.hidden{display:none}.bundle-section{background:#ffffff9c;border:1px solid #d8dbd4;border-radius:22px;padding:24px;backdrop-filter:blur(16px)}.bundle-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}.bundle-cards article{border-radius:16px;border:1px solid #dcdfd8;background:#f9faf6;padding:17px;box-shadow:0 7px 18px #2030270a}.bundle-cards article p{line-height:1.55}.bundle-cards small,.rationale{font:10px/1.5 DM Mono;color:#547064}.rationale{background:#eaf3e9;padding:10px;border-radius:10px}.json-view{white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto;font:10px/1.5 DM Mono;background:#17231e;color:#c9d6ce;padding:13px;border-radius:12px}.trace-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;background:#14201b;border-radius:24px;padding:16px;min-height:500px}.trace-map{width:100%;height:650px;overflow:auto}.trace-edge{fill:none;stroke:#718078;stroke-width:1.5;opacity:.62}.trace-node{cursor:pointer}.trace-node rect{fill:#1d2b25;stroke:var(--node);stroke-width:2;filter:drop-shadow(0 0 9px var(--node))}.trace-node text{fill:white;font:10px DM Mono}.trace-node .node-kind{fill:#a9b8b0;font-size:8px}.trace-node:hover rect{stroke-width:4}#node-detail{background:#f5f7f1;border-radius:17px;padding:20px;overflow:auto;max-height:650px}.oracle-card{position:relative;overflow:hidden;border-radius:24px;padding:35px;background:#173027;color:white}.oracle-card .oracle-halo{position:absolute;right:35px;top:35px}.oracle-card h2{font-size:32px;margin:0 0 10px}@media(max-width:900px){.trace-shell{grid-template-columns:1fr}.tabs{justify-content:flex-start}.glass-head{align-items:start;flex-direction:column}.trace-map{height:500px}}
.root-chip{display:inline-block;margin:-22px 0 26px;padding:8px 12px;border-radius:999px;background:#e7ede7;color:#52645a;font:9px DM Mono;max-width:100%;overflow:hidden;text-overflow:ellipsis}.success-note{margin:10px 0;padding:12px;border-radius:12px;background:#dff3e5;color:#235c3d;font:11px DM Mono}
/* UI convention: every view-level page header stays visible below the global nav. */
.page-head{position:sticky;top:96px;z-index:3;background:rgba(242,240,233,.91);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.75);box-shadow:0 12px 34px rgba(26,42,34,.08);padding:18px;border-radius:20px}.session-controls{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:16px;align-items:end;margin-bottom:24px}.session-controls label{font:10px DM Mono;color:var(--muted)}.session-controls input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.session-controls .root-chip{margin:0;max-width:380px}@media(max-width:850px){.page-head{top:92px}.session-controls{grid-template-columns:1fr}.session-controls .root-chip{max-width:100%}}
.phase-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.phase-actions button{border-radius:999px;padding:10px 13px;background:#e7e9e4}.phase-actions button:hover{background:var(--ink);color:var(--lime);box-shadow:0 0 22px #bbf24645}.phase-actions span{margin-left:5px}.phase-dialog{position:relative;width:min(920px,92vw);max-height:82vh;border-radius:24px;background:rgba(248,250,245,.96);backdrop-filter:blur(25px);box-shadow:0 25px 90px #08150f99,0 0 0 1px #ffffff99;overflow:hidden}.phase-dialog-content{max-height:65vh;overflow:auto}.phase-dialog .json-view{max-height:none}.dialog-x{position:absolute;right:18px;top:14px;width:36px;height:36px;border-radius:50%;font-size:25px;background:#e7ebe5;color:#24342c}.dialog-x:hover{background:var(--ink);color:var(--lime)}
.inspect-json{cursor:pointer;transition:.18s}.inspect-json:hover,.inspect-json:focus{outline:none;border-color:#78a187;transform:translateY(-2px);box-shadow:0 10px 30px #3b6b5220,0 0 22px #bbf24622}.inspect-json small{display:block;margin-top:10px;color:#3b6b52}
.trace-canvas{position:relative;min-width:0}.trace-tooltip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 18px));width:max-content;max-width:260px;padding:13px 15px;border:1px solid #d8e4da;border-radius:15px;background:rgba(249,252,247,.92);color:var(--ink);backdrop-filter:blur(18px);box-shadow:0 16px 40px #06130d70,0 0 24px #bbf24635;pointer-events:none}.trace-tooltip:after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:rgba(249,252,247,.92);border-right:1px solid #d8e4da;border-bottom:1px solid #d8e4da;transform:translateX(-50%) rotate(45deg)}.trace-tooltip.hidden{display:none}.trace-tooltip .tooltip-kind{display:block;font:9px DM Mono;letter-spacing:.14em;text-transform:uppercase;color:#4b7a63;margin-bottom:5px}.trace-tooltip b{font:11px DM Mono;margin-right:8px}.trace-tooltip strong{display:block;font-size:13px;line-height:1.35;margin:5px 0}.trace-tooltip small{font:9px DM Mono;color:#65766d;text-transform:uppercase}
.phase-actions button.active{background:var(--ink);color:var(--lime);box-shadow:0 0 22px #bbf24655}
.inspect-item{cursor:pointer;transition:.18s}.inspect-item:hover,.inspect-item:focus{outline:none;border-color:#78a187;box-shadow:0 10px 30px #3b6b5220,0 0 22px #bbf24622}.inspect-item small{display:block;margin-top:11px;color:#3b6b52}.item-result>p{font-size:16px;line-height:1.6}.alternative-list{display:grid;gap:12px}.alternative-list article{padding:16px;border:1px solid #d8ded7;border-radius:15px;background:#fff}.alternative-list h4{margin:12px 0 4px;font-size:12px}.alternative-list ul{margin:5px 0;padding-left:20px}.rejected{padding:10px;border-radius:10px;background:#fff0e8;color:#744833}
.phase-actions .phase-pill{border-radius:999px;padding:8px 11px;background:#e7e9e4;color:var(--ink);text-decoration:none;font:600 11px Manrope}.phase-actions .phase-pill:hover,.phase-actions .phase-pill.active{background:var(--ink);color:var(--lime);box-shadow:0 0 22px #bbf24655}.bundle-panel:not(.hidden){scroll-margin-top:180px}.detail-head.glass-head{padding:12px 16px;margin-bottom:22px;align-items:center}.detail-head.glass-head h1{font-size:30px;margin:5px 0 2px}.detail-head.glass-head .eyebrow{font-size:9px}.detail-head.glass-head+.bundle-panel{padding-top:4px}
.detail-head.page-head{background:rgb(242,240,233);isolation:isolate}.bundle-cards article[role="button"]{cursor:pointer;transition:.18s}.bundle-cards article[role="button"]:hover,.bundle-cards article[role="button"]:focus{outline:none;border-color:#78a187;box-shadow:0 10px 30px #3b6b5220,0 0 22px #bbf24622}
.phase-v{position:relative;display:grid;grid-template-columns:repeat(9,minmax(58px,1fr));grid-template-rows:repeat(5,28px);gap:2px 5px;min-width:min(650px,52vw);align-items:center}.phase-v:before,.phase-v:after{content:"";position:absolute;z-index:-1;top:11px;height:2px;width:50%;background:linear-gradient(90deg,transparent,#91a69a 20%,#91a69a);transform-origin:left center}.phase-v:before{left:5%;transform:rotate(24deg)}.phase-v:after{right:-5%;transform:rotate(156deg)}.phase-v .phase-pill{padding:6px 8px;text-align:center;white-space:nowrap}.phase-v .phase-pill[data-phase="interview"]{grid-area:1/1}.phase-v .phase-pill[data-phase="needs"]{grid-area:2/2}.phase-v .phase-pill[data-phase="srs"]{grid-area:3/3}.phase-v .phase-pill[data-phase="architecture"]{grid-area:4/4}.phase-v .phase-pill[data-phase="specs"]{grid-area:5/5}.phase-v .phase-pill[data-phase="tests"]{grid-area:4/6}.phase-v .phase-pill[data-phase="validation"]{grid-area:3/7}.phase-v .phase-pill[data-phase="reviews"]{grid-area:2/8}.phase-v .phase-pill[data-phase="oracle"]{grid-area:1/9}@media(max-width:900px){.phase-v{display:flex;min-width:0;width:100%;overflow-x:auto;padding:5px 2px}.phase-v:before,.phase-v:after{display:none}.detail-head.glass-head{position:sticky;align-items:stretch}.detail-head.glass-head h1{font-size:25px}}
.phase-v{grid-template-rows:repeat(5,20px)}.phase-v .phase-pill{padding:3px 7px;font-size:9px}.detail-head.glass-head{padding:9px 14px}.detail-head.glass-head h1{font-size:26px}
.phase-pill{--phase-status:#929a95;border:1px solid color-mix(in srgb,var(--phase-status) 72%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--phase-status) 28%,transparent)}.phase-pill.status-done{--phase-status:#32c483}.phase-pill.status-error{--phase-status:#ef684f}.phase-pill.status-warning{--phase-status:#e5b63d}.phase-pill.status-not_started{--phase-status:#929a95}.phase-pill.status-in_progress{--phase-status:#4e9cf7;animation:phase-pulse 1.8s ease-in-out infinite}@keyframes phase-pulse{50%{box-shadow:0 0 5px #4e9cf730,0 0 25px #4e9cf799;border-color:#7eb8fb}}@media(prefers-reduced-motion:reduce){.phase-pill.status-in_progress{animation:none;box-shadow:0 0 18px #4e9cf766}}
.phase-v:before{left:4%;top:12px;width:50%;transform:rotate(13deg);transform-origin:left center}.phase-v:after{left:53%;right:auto;top:92px;width:44%;transform:rotate(-13deg);transform-origin:left center;background:linear-gradient(90deg,#91a69a,#91a69a 80%,transparent)}
.bundle-workspace{position:relative;border-radius:24px;background:rgba(255,255,255,.24);padding:0 0 24px;overflow:clip}.bundle-workspace>.page-head{top:84px;margin:0 0 22px;border-radius:24px 24px 18px 18px}.bundle-workspace>.bundle-panel{padding:0 2px}.bundle-panel{transition:opacity .22s ease,transform .22s ease}.bundle-panel.phase-enter{opacity:0;transform:translateX(18px)}.bundle-panel.phase-leave{position:absolute;left:0;right:0;opacity:0;transform:translateX(-18px);pointer-events:none}.copy-json{position:absolute;right:62px;top:14px;width:36px;height:36px;border-radius:50%;background:#e7ebe5;font-size:17px}.copy-json:hover{background:var(--ink);box-shadow:0 0 18px #bbf24666}.copy-json:focus{outline:2px solid var(--green)}@media(prefers-reduced-motion:reduce){.bundle-panel{transition:none}.bundle-panel.phase-enter,.bundle-panel.phase-leave{transform:none}}
.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);font:11px DM Mono;box-shadow:0 0 0 4px #16a36a18,0 0 20px #16a36a55}.auth-shell{min-height:calc(100vh - 220px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,460px);gap:7vw;align-items:center;position:relative}.auth-glow{position:absolute;inset:0;pointer-events:none}.auth-copy{grid-column:1;grid-row:1}.auth-card{grid-column:2;grid-row:1;min-width:0}.auth-copy h1{font-size:clamp(48px,6vw,82px);line-height:.95;letter-spacing:-.06em;margin:14px 0}.auth-copy p{max-width:600px;color:var(--muted);font-size:17px;line-height:1.7}.auth-card{position:relative;padding:30px;border:1px solid #fff;border-radius:26px;background:rgba(255,255,255,.62);backdrop-filter:blur(22px);box-shadow:0 25px 80px #17322520}.auth-card label{display:block;font:11px DM Mono;margin-top:15px}.auth-card input{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;margin-top:6px;font:14px Manrope}.auth-card .primary{width:100%;margin-top:18px}.auth-tabs{display:flex;gap:5px;background:#e8e9e3;padding:4px;border-radius:999px}.auth-tabs button{flex:1;padding:10px;border-radius:999px;background:transparent}.auth-tabs button.active{background:var(--ink);color:var(--lime)}.password-help{font:10px/1.5 DM Mono;color:#5d6c64;margin-top:8px}.password-help.hidden{display:none}.auth-info{font:11px DM Mono;color:#52645a;padding:12px 0}@media(max-width:800px){.auth-shell{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0}.auth-card{grid-column:1;grid-row:1;padding:24px}.auth-copy{grid-column:1;grid-row:2}.auth-copy h1{font-size:40px}.auth-copy p{font-size:15px}}
.session-card h2 a{color:inherit;text-decoration:none}.session-v{width:245px;height:106px}.session-v path{fill:none;stroke:#bdc8c0;stroke-width:1.5}.session-v circle{stroke:#fff;stroke-width:3;transition:.15s}.session-v circle:hover{r:9}.session-v .status-done{fill:#32c483}.session-v .status-error{fill:#ef684f}.session-v .status-warning{fill:#e5b63d}.session-v .status-not_started{fill:#929a95}.session-v .status-in_progress{fill:#4e9cf7;animation:phase-pulse 1.8s ease-in-out infinite}@media(max-width:800px){.session-card{grid-template-columns:28px 1fr}.session-v{grid-column:1/-1;width:100%}}
nav{display:flex;gap:18px}.about-page{min-height:calc(100vh - 220px);display:grid;grid-template-columns:220px minmax(0,760px);gap:60px;align-items:center;justify-content:center}.about-mark{font:700 180px/.8 Manrope;color:var(--ink);text-shadow:0 0 55px #bbf24680}.about-page h1{font-size:clamp(42px,5vw,70px);line-height:1;letter-spacing:-.055em;margin:14px 0 25px}.about-page p{font-size:17px;line-height:1.7;color:#56635c}.about-page .primary{display:inline-block;margin-top:18px;color:white}@media(max-width:750px){.about-page{grid-template-columns:1fr}.about-mark{font-size:90px}nav{gap:9px}.nav-link{font-size:9px}}
.field-status{min-height:18px;margin-top:5px;font:10px DM Mono}.field-status.valid{color:#147b4e}.field-status.invalid{color:#b3442e}.field-status.checking{color:#68766e}.auth-card input.field-valid{border-color:#32a870;box-shadow:0 0 0 3px #32a87015}.auth-card input.field-invalid{border-color:#d65d45;box-shadow:0 0 0 3px #d65d4515}
.home-sessions{margin:0 0 35px;padding:22px;border:1px solid #d9ddd7;border-radius:24px;background:rgba(255,255,255,.38)}.home-sessions>.panel-title{margin-bottom:15px}.home-sessions h2{margin:5px 0 0}
.interview-answer{margin-top:12px;padding:15px;border:1px solid var(--line);background:rgba(255,255,255,.65)}.interview-answer label{font:10px DM Mono}.interview-answer textarea{display:block;width:100%;min-height:90px;margin:7px 0 10px;padding:12px;border:1px solid var(--line);font:13px Manrope;resize:vertical}
.brand-name>span,.brand-name>strong{font:700 15px Manrope;letter-spacing:-.02em}.brand-name>strong{color:var(--green)}.brand-name small{letter-spacing:.08em}
.live-indicator{display:flex;align-items:center;gap:9px;font:10px DM Mono;letter-spacing:.04em;color:var(--green)}.live-indicator i{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 #16a36a55;animation:live-halo 1.6s ease-out infinite}.live-indicator.waiting{color:var(--orange)}.live-indicator.waiting i{animation:none;box-shadow:0 0 0 5px #ff754825}@keyframes live-halo{70%{box-shadow:0 0 0 9px #16a36a00}100%{box-shadow:0 0 0 0 #16a36a00}}@media(prefers-reduced-motion:reduce){.live-indicator i{animation:none;box-shadow:0 0 0 5px #16a36a22}}
.current-question{padding:14px 16px;border-left:3px solid var(--orange);background:#ff75480d}.current-question span{display:block;font:10px DM Mono;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}.current-question p{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.interview-answer textarea{min-height:72px;height:72px}.interview-answer{gap:10px;padding:14px}
.dialog-layer{position:absolute;inset:0;display:grid;place-items:center;z-index:1;background:#14201b99}.dialog-layer+.dialog-layer{z-index:2}.dialog-layer .dialog{position:relative}.rerun-confirm{box-shadow:12px 12px 0 var(--orange)}
.live-status-row{display:flex;justify-content:flex-start;padding:12px 14px;margin-bottom:10px;border:1px solid var(--line);background:#f7f8f3}.current-question{margin-bottom:10px}.console-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 8px}.console-heading h3{font-size:13px}.interview-answer{margin-top:0}
.detail-layout>.panel,.detail-layout>div>.panel{padding:20px}.detail-layout .panel-title{margin-bottom:12px}.live-status-row{padding:9px 12px;margin-bottom:8px}.interview-answer{padding:10px}.interview-answer textarea{height:58px;min-height:58px;margin:5px 0 7px}.console-heading{margin:10px 0 6px}
/* Question and answer share one conversational surface language. */
.current-question{padding:10px;border:1px solid var(--line);border-left:1px solid var(--line);background:rgba(255,255,255,.65)}.current-question span{font:10px DM Mono;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:7px}.current-question p{min-height:58px;margin:0;padding:12px;border:1px solid var(--line);background:#fff;font:13px/1.45 Manrope;color:var(--ink)}
.composer-hint{font:9px DM Mono;color:var(--muted);margin:-2px 0 9px}

.live-status-row{align-items:center;gap:16px}.live-progress{min-width:0;flex:1}.live-progress>.eyebrow{display:block;margin-bottom:3px}.progress-item{display:grid;gap:9px;align-items:baseline}.progress-item time,.progress-item small{font:10px DM Mono;color:var(--muted)}.progress-item span{font-size:12px;color:var(--ink)}.progress-item.heartbeat span{color:var(--muted)}.progress-empty{font-size:12px;color:var(--muted)}@media(max-width:700px){.live-status-row{align-items:flex-start;flex-direction:column}.live-progress{border-left:0;padding-left:0}.progress-item{grid-template-columns:1fr}.progress-item small{display:none}}
.decision-dialog{position:relative;width:min(1120px,94vw);max-height:92vh;overflow:auto;padding:38px;border:1px solid #ffffffb8;border-radius:28px;background:rgba(244,247,240,.94);backdrop-filter:blur(28px);box-shadow:0 35px 120px #071810bb,0 0 0 1px #baf44c55,0 0 70px #baf44c25}.decision-glow{position:absolute;inset:-40% 35% auto -10%;height:360px;background:radial-gradient(circle,#baf44c44,transparent 68%);pointer-events:none}.decision-dialog>*:not(.decision-glow){position:relative}.decision-dialog h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.045em;margin:9px 0}.decision-prompt{color:var(--muted);font-size:16px;margin:0 0 24px}.decision-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.decision-option{display:grid;grid-template-columns:42px 1fr;gap:12px;min-height:190px;padding:20px;border:1px solid #cfd4ca;border-radius:20px;background:#ffffffb8;cursor:pointer;transition:.18s ease;box-shadow:0 10px 30px #10251a0a}.decision-option:hover{transform:translateY(-3px);border-color:#8ea675;box-shadow:0 18px 44px #10251a1c,0 0 30px #baf44c24}.decision-option.selected{border-color:#78a934;background:#f9fff0;box-shadow:0 0 0 3px #baf44c77,0 18px 44px #10251a22}.decision-option input{position:absolute;opacity:0}.option-index{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--lime);font:15px DM Mono}.option-copy{display:flex;flex-direction:column;gap:9px}.option-copy b{font-size:18px}.option-copy small{color:var(--muted);font-size:12px;line-height:1.45}.option-pro,.option-con{font-size:11px;line-height:1.4}.option-pro{color:#26704a}.option-con{color:#9c4e35}.option-pro i,.option-con i{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;margin-right:6px;background:currentColor;color:#fff;font-style:normal}.decision-why{display:block;margin-top:22px;font:11px DM Mono}.decision-why textarea{display:block;width:100%;min-height:90px;margin:8px 0;padding:15px;border:1px solid #cfd4ca;border-radius:15px;background:#fff;font:14px Manrope;resize:vertical}.decision-launch{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:17px 20px;margin-bottom:10px;border-radius:16px;background:linear-gradient(120deg,#17221d,#273b31);color:white;box-shadow:0 0 0 1px #baf44c55,0 14px 35px #0b211733}.decision-launch span{color:var(--lime);font:10px DM Mono;text-transform:uppercase;letter-spacing:.12em}.decision-launch b{font-size:14px}.decision-launch small{margin-left:auto;color:#b9c7bf}.decision-dialog .actions{margin-top:17px}@media(max-width:700px){.decision-dialog{padding:26px 20px}.decision-options{grid-template-columns:1fr}.decision-launch{align-items:flex-start;flex-direction:column}.decision-launch small{margin-left:0}}
/* Detail columns stretch through CSS Grid. Do not flex/shrink the panel's
   contents to force equal heights: that crushes the status and question. */
.detail-layout>div{display:block}.detail-layout>div>.panel{display:block;width:100%;height:100%}.live-indicator{flex:0 0 auto;white-space:nowrap}.progress-item span,.current-question p,.console .line{min-width:0;overflow-wrap:anywhere;word-break:normal}.phase small{max-width:min(480px,45vw)}
@media(max-width:1100px){.live-status-row{align-items:flex-start;flex-direction:column}.live-progress{width:100%;border-left:0;border-top:1px solid var(--line);padding:9px 0 0}}
/* Founder decisions: fixed controls, scrollable vertical choices. */
.decision-dialog{overflow:hidden;display:flex;flex-direction:column;padding:0;max-height:92vh}.decision-head{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:32px 36px 16px;background:rgba(244,247,240,.96);backdrop-filter:blur(28px);border-bottom:1px solid #dce3d7}.decision-head>div{min-width:0}.decision-head .dialog-x{position:static;flex:0 0 36px}.decision-compose{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:14px 36px 8px;background:rgba(244,247,240,.96)}.decision-compose .decision-why{margin:0}.decision-compose textarea{min-height:66px;height:66px;margin-bottom:0}.decision-submit{height:66px;white-space:nowrap}.decision-hint{position:relative;z-index:2;margin:0;padding:0 36px 12px;background:rgba(244,247,240,.96)}#decisionstatus{position:relative;z-index:2;padding:0 36px;background:rgba(244,247,240,.96)}.decision-scroll{min-height:0;overflow-y:auto;padding:18px 36px 34px;overscroll-behavior:contain}.decision-options{grid-template-columns:1fr}.decision-option{min-height:0}.decision-option.selected{background:linear-gradient(120deg,#fbfff3,#f2ffdc);border-color:#6b9d28;box-shadow:0 0 0 4px #baf44c88,0 18px 44px #10251a22}.decision-option.selected .option-copy b{font-weight:800;color:#335d12;background:#dfff9d;border-radius:7px;padding:3px 7px;width:max-content;max-width:100%}.decision-option.selected .option-index{box-shadow:0 0 0 5px #baf44c70}@media(max-width:700px){.decision-head{padding:24px 20px 12px}.decision-compose{grid-template-columns:1fr;padding:12px 20px 8px}.decision-submit{height:auto}.decision-hint,#decisionstatus{padding-left:20px;padding-right:20px}.decision-scroll{padding:14px 20px 24px}}
.decision-submit{border-radius:14px}.decision-dialog .dialog-x{border-radius:50%}.decision-dialog .secondary{border-radius:12px}
.decision-launch-sticky{position:sticky;top:96px;z-index:3;margin:-1px 0 12px;border:1px solid #baf44c88;box-shadow:0 12px 35px #0b211755,0 0 28px #baf44c35;backdrop-filter:blur(16px)}.decision-launch-sticky em{margin-left:auto;padding:5px 8px;border-radius:999px;background:#ff754822;color:#ffc4af;font:9px DM Mono;text-transform:uppercase;letter-spacing:.08em}.decision-launch-sticky small{margin-left:0}@media(max-width:700px){.decision-launch-sticky{top:88px}.decision-launch-sticky em{margin-left:0}}
.decision-compose.no-reason{display:flex;justify-content:flex-end}.decision-compose.no-reason .decision-submit{height:auto;padding:15px 24px}
.decision-context{display:grid;gap:5px;max-width:760px;margin:4px 0 24px;padding:15px 17px;border-left:3px solid var(--lime);border-radius:0 14px 14px 0;background:#e9eee4}.decision-context span{font:10px DM Mono;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.decision-context b{font-size:17px}.decision-context p{margin:1px 0 0;color:#415047;font-size:13px;line-height:1.5}
/* The detailed task view uses one authoritative phase display. */
.detail-layout>.panel>.panel-title{padding-bottom:17px;border-bottom:1px solid var(--line)}
.phase-list-primary{gap:0;padding:8px 4px 2px}.phase-list-primary .phase{grid-template-columns:44px 1fr auto;gap:18px;padding:0 0 34px;min-height:82px}.phase-list-primary .phase:not(:last-child):before{left:15px;top:27px;bottom:-1px;width:2px}.phase-list-primary .phase .dot{width:31px;height:31px;border-width:2px}.phase-list-primary .phase.done .dot,.phase-list-primary .phase.approved .dot{box-shadow:inset 0 0 0 8px var(--card)}.phase-list-primary .phase b{font-size:18px;line-height:1.25}.phase-list-primary .phase small{font-size:12px;line-height:1.45;margin-top:7px;max-width:none;white-space:normal;overflow:visible}.phase-list-primary .phase time{font-size:10px;padding-top:4px}.phase-list-primary .bar{height:5px;margin-top:12px}

.runtime-id{font:700 9px/1.2 var(--mono);letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.dialog-intro{margin:-4px 0 20px;color:var(--muted);font-size:13px;line-height:1.6;max-width:68ch}.help-tip{position:relative;display:inline-flex;vertical-align:middle;margin-left:5px}.help-icon{display:grid;place-items:center;width:20px;height:20px;padding:0;border-radius:50%;background:#dfe6dc;color:#31533f;font:700 11px DM Mono;box-shadow:0 0 0 1px #bfcbbf,0 0 18px #baf44c26}.help-icon:hover,.help-icon:focus{background:var(--ink);color:var(--lime);outline:2px solid #baf44c88;outline-offset:2px}.help-pop{position:absolute;z-index:20;left:50%;bottom:calc(100% + 10px);width:min(300px,75vw);padding:12px 14px;border:1px solid #cdd8cc;border-radius:14px;background:rgba(249,252,247,.97);color:var(--ink);font:11px/1.55 DM Mono;box-shadow:0 20px 55px #0718104d,0 0 28px #baf44c24;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:.16s;pointer-events:none}.help-pop:after{content:"";position:absolute;left:50%;bottom:-6px;width:11px;height:11px;background:inherit;border-right:1px solid #cdd8cc;border-bottom:1px solid #cdd8cc;transform:translateX(-50%) rotate(45deg)}.help-tip:hover .help-pop,.help-tip:focus-within .help-pop,.help-tip.is-open .help-pop{opacity:1;visibility:visible;transform:translate(-50%,0)}.dialog-explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.dialog-explain-grid>div{padding:13px;border:1px solid #d8dfd4;border-radius:14px;background:#ffffff9c}.dialog-explain-grid b{display:block;font-size:11px;margin-bottom:5px}.dialog-explain-grid span{display:block;color:var(--muted);font:10px/1.45 DM Mono}@media(max-width:700px){.dialog-explain-grid{grid-template-columns:1fr}.help-pop{position:fixed;left:20px;right:20px;bottom:24px;width:auto;transform:translateY(6px)}.help-tip:hover .help-pop,.help-tip:focus-within .help-pop,.help-tip.is-open .help-pop{transform:none}.help-pop:after{display:none}}


/* The live log is the primary process surface; event messages already carry timestamps. */
.live-status-row{border-radius:14px;background:rgba(247,248,243,.8);backdrop-filter:blur(12px)}
.live-progress{border-left:0;padding-left:0}.progress-item{grid-template-columns:minmax(0,1fr) auto}.progress-item time,.live-console .line>time{display:none}
.console-heading{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.console-heading h3{font-size:16px}.console-heading .eyebrow{color:var(--green)}
.detail-layout>div>.panel .live-console{--console-min:260px;--console-fluid:36vh;--console-max:420px;height:clamp(var(--console-min),var(--console-fluid),var(--console-max));min-height:var(--console-min);max-height:var(--console-max);overflow-y:auto;overscroll-behavior:contain;border-radius:18px;border:1px solid #baf44c45;background:linear-gradient(145deg,#101b17,#17251f);box-shadow:inset 0 1px 0 #ffffff0d,0 18px 48px #0718102b,0 0 32px #baf44c12;padding:24px;font-size:12px;line-height:1.75}
.live-console .line{padding:7px 2px;border-bottom-color:#ffffff10}
@media(max-width:700px){.detail-layout>div>.panel .live-console{--console-min:280px;--console-fluid:40vh;--console-max:380px;padding:18px;border-radius:16px}.progress-item{grid-template-columns:minmax(0,1fr) auto}}
.progress-scope{display:flex;align-items:center;gap:7px;margin-top:7px;color:#647069;font:10px/1.4 DM Mono}.progress-scope b{color:var(--ink);font-size:12px}.progress-scope i{font-style:normal;color:#a0aaa3}
#identity{position:relative}.avatar{border:0;cursor:pointer}.avatar:hover,.avatar:focus-visible{outline:none;box-shadow:0 0 0 5px #16a36a25,0 0 26px #16a36a88}.account-menu{position:absolute;right:0;top:calc(100% + 13px);width:min(290px,calc(100vw - 28px));padding:10px;border:1px solid #ffffffb8;border-radius:20px;background:rgba(249,250,245,.9);backdrop-filter:blur(24px);box-shadow:0 22px 65px #13251c35,0 0 28px #a6ec7b2b;z-index:10}.account-menu:before{content:"";position:absolute;right:12px;top:-6px;width:12px;height:12px;transform:rotate(45deg);background:rgba(249,250,245,.9);border-left:1px solid #ffffffb8;border-top:1px solid #ffffffb8}.account-menu{list-style:none;margin:0}.account-row{display:block;width:100%;min-height:54px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.account-row span{display:block;margin-bottom:5px;color:var(--muted);font:9px DM Mono;text-transform:uppercase;letter-spacing:.1em}.account-row b{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font:600 13px Manrope;letter-spacing:0;white-space:nowrap}.account-menu .runtime-id{font:inherit}.account-action{padding:5px;border-bottom:0}.account-signout{display:block;width:100%;padding:11px 8px;border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.account-signout:hover,.account-signout:focus-visible{outline:none;background:#e7ece6;color:#176c49}
@media(max-width:700px){.progress-scope{flex-wrap:wrap}.account-menu{position:fixed;right:14px;top:74px}.account-menu:before{right:18px}}
.input-requirement{margin-bottom:12px;padding:17px 18px;border:1px solid #e1b64d;border-radius:16px;background:#fff8e8}.input-requirement h3{margin:7px 0}.input-requirement p,.input-requirement small{color:#667169;font-size:11px;line-height:1.5}.input-requirement code{display:block;margin:12px 0;padding:10px;border-radius:9px;background:#17211d;color:#c8f05c;font:10px/1.5 DM Mono;overflow-wrap:anywhere}.input-requirement ul{margin:8px 0 12px;padding-left:18px;font:10px/1.6 DM Mono}
.requirement-dialog{position:relative;width:min(760px,92vw);max-height:88vh;overflow:auto;padding:30px;border:1px solid #ffffffb8;border-radius:24px;background:rgba(249,250,245,.96);backdrop-filter:blur(26px);box-shadow:0 28px 90px #08150f99,0 0 45px #e2b33d30}.requirement-dialog h2{font-size:30px;margin:8px 0}.requirement-dialog>p{color:var(--muted);line-height:1.6}.requirement-path,.requirement-fields{margin:14px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.requirement-path span{display:block;margin-bottom:7px;font:9px DM Mono;color:var(--muted);text-transform:uppercase}.requirement-path code{font:10px/1.5 DM Mono;overflow-wrap:anywhere}.requirement-fields ul{margin-bottom:0;font:10px/1.7 DM Mono}.requirement-dialog summary{cursor:pointer;font:10px DM Mono;color:#52645a}.requirement-recovery{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.requirement-recovery .primary{margin-left:auto}@media(max-width:700px){.requirement-dialog{padding:24px 18px}.requirement-recovery{flex-direction:column}.requirement-recovery .primary{margin-left:0}}
/* Compact live status and evidence-grounded phase summaries. */
.progress-item{display:block;min-width:0}.progress-item span{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase-list-primary .phase{outline:none}.phase-list-primary .phase:focus-visible{border-radius:14px;box-shadow:0 0 0 2px #9ed532}.phase-tooltip{position:absolute;z-index:7;left:49px;top:-10px;width:min(360px,calc(100vw - 90px));padding:14px 16px;border:1px solid #cdd8cc;border-radius:16px;background:rgba(249,252,247,.97);backdrop-filter:blur(18px);box-shadow:0 20px 55px #0718104d,0 0 28px #baf44c24;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;pointer-events:none}.phase-tooltip:before{content:"";position:absolute;left:-6px;top:21px;width:11px;height:11px;background:inherit;border-left:1px solid #cdd8cc;border-bottom:1px solid #cdd8cc;transform:rotate(45deg)}.phase:hover .phase-tooltip,.phase:focus .phase-tooltip{opacity:1;visibility:visible;transform:none}.phase-tooltip>span{display:block;color:#4b7a63;font:9px DM Mono;letter-spacing:.14em;text-transform:uppercase}.phase-tooltip>b{display:block;margin:5px 0;font-size:14px}.phase-tooltip p{margin:7px 0 10px;font-size:12px;line-height:1.45}.phase-tooltip small{display:block!important;margin:4px 0 0!important;white-space:normal!important;overflow:visible!important;color:#65766d!important;font:10px/1.45 DM Mono!important}.phase-tooltip small.has-issues{color:#b7452f!important}
@media(max-width:700px){.phase-tooltip{position:fixed;left:16px;right:16px;top:auto;bottom:20px;width:auto}.phase-tooltip:before{display:none}}
.phase-list-primary .phase:hover:not(.tip-open) .phase-tooltip,.phase-list-primary .phase:focus:not(.tip-open) .phase-tooltip{opacity:0;visibility:hidden}.phase-list-primary .phase.tip-open .phase-tooltip{opacity:1;visibility:visible;transform:none}.phase-downloads{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.phase-downloads a{pointer-events:auto;color:#31533f;font:600 10px DM Mono;text-decoration:none;border:1px solid #b9c9bc;border-radius:10px;padding:7px}.phase-tooltip{pointer-events:none}.phase.tip-open .phase-tooltip{pointer-events:auto}.download-all{display:block;text-align:center;margin-bottom:10px}.artifact{width:100%;background:white;text-align:left;cursor:pointer}.artifact-viewer{width:min(920px,94vw);max-height:90vh;overflow:auto;border-radius:24px}.artifact-content{white-space:pre-wrap;overflow-wrap:anywhere;background:#15201c;color:#d6e0d8;padding:20px;border-radius:14px;font:11px/1.65 DM Mono;max-height:62vh;overflow:auto}
.phase-list-primary .phase:not(.tip-open) .phase-tooltip{opacity:0!important;visibility:hidden!important}.phase-list-primary .phase.tip-open .phase-tooltip{opacity:1!important;visibility:visible!important}
/* Shared modal shell owns overlay geometry and dialog-local controls. */
.dialog-shell{position:absolute;inset:0;display:grid;place-items:center;padding:18px}.dialog-shell>.dialog,.dialog-shell>.decision-dialog,.dialog-shell>.requirement-dialog,.dialog-shell>.phase-dialog{position:relative}.artifact-viewer>.dialog-x{position:absolute;right:18px;top:14px}.artifact-viewer{padding-top:54px}
.artifact-readable{padding:8px 6px 20px;max-height:62vh;overflow:auto;color:#26382f}.artifact-readable h1{font-size:32px;letter-spacing:-.035em}.artifact-readable h2{font-size:23px;margin:24px 0 8px}.artifact-readable h3{font-size:17px;margin:20px 0 6px}.artifact-readable p,.artifact-readable li{font-size:14px;line-height:1.7}.artifact-readable ul{padding-left:22px}.artifact-raw{margin:12px 0}.artifact-raw summary{cursor:pointer;font:11px DM Mono;color:#52645a;margin-bottom:10px}
.audit-dialog{width:min(1040px,94vw);max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;padding-top:54px;border-radius:24px}.audit-filter{display:block;font:11px DM Mono;color:var(--muted);margin-bottom:12px}.audit-filter input{margin:7px 0 0}.audit-table-wrap{max-height:min(60vh,500px);overflow:auto;border:1px solid #d9ded5;border-radius:14px;background:#fff}.audit-table{width:100%;border-collapse:collapse;text-align:left}.audit-table thead{position:sticky;top:0;z-index:2;background:#e9eee6;box-shadow:0 1px 0 #cdd5ca}.audit-table th,.audit-table td{padding:11px 13px;border-bottom:1px solid #e5e8e1;vertical-align:top;font:10px/1.5 DM Mono}.audit-table th button{padding:0;background:transparent;text-transform:uppercase;letter-spacing:.08em}.audit-table th button[data-direction="ascending"]:after{content:" ↑"}.audit-table th button[data-direction="descending"]:after{content:" ↓"}.audit-table td code{white-space:pre-wrap;overflow-wrap:anywhere}

.audit-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 14px}.audit-totals>div{background:#e9eee6;border:1px solid #d3dbd0;border-radius:14px;padding:13px 15px}.audit-totals span{display:block;font:9px DM Mono;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.audit-totals b{display:block;margin-top:5px;font-size:20px}

.qa-history{margin-top:22px}
.qa-history .panel-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.qa-history .panel-title h3{margin:0}
.qa-item{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:12px;box-shadow:0 14px 34px #13251c14}
.qa-row{display:flex;gap:12px;align-items:flex-start}
.qa-row p{margin:0;line-height:1.55;white-space:pre-wrap}
.qa-row+.qa-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.qa-tag{flex:0 0 auto;font:10px DM Mono;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;margin-top:1px}
.qa-question .qa-tag{background:#dce5db;color:#47614f}
.qa-answer .qa-tag{background:var(--ink);color:var(--lime)}
.qa-answer p{color:#33413a}
.qa-row p{flex:1;min-width:0}
.qa-question .qa-main{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:var(--question-parts) 1 0}
.qa-question .qa-notes{flex:var(--note-parts) 1 0;min-width:0;margin:0}
.qa-question .qa-note{width:100%;max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.qa-question{display:grid;grid-template-columns:auto minmax(0,1fr)}.qa-question .qa-main{min-width:0}.qa-question .qa-notes{grid-column:2;min-width:0}}
.qa-actions{flex:0 0 auto;display:inline-flex;gap:4px;margin-left:auto}
.qa-thumb,.qa-comment-btn{background:none;border:1px solid transparent;border-radius:999px;padding:2px 7px;font-size:13px;cursor:pointer;opacity:.45;transition:opacity .15s,border-color .15s,background .15s}
.qa-thumb:hover,.qa-comment-btn:hover{opacity:1;border-color:var(--line)}
.qa-thumb.active{opacity:1;background:#dce5db;border-color:#47614f}
.qa-comment-btn.has-comment{opacity:1}
.qa-notes{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0 44px}
.qa-note{background:#f2f5ee;border:1px solid var(--line);border-radius:12px;padding:5px 10px;font:12px/1.4 DM Mono;color:#47614f;cursor:pointer;text-align:left;max-width:100%}
.qa-note:hover{border-color:#47614f}
.feedback-dialog{max-width:560px}
.feedback-dialog h3{margin:.2em 0 .5em}
.feedback-context{background:#f2f5ee;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;max-height:120px;overflow:auto}
.feedback-dialog textarea{width:100%;box-sizing:border-box;margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px;font:inherit;resize:vertical}
.dialog-actions{display:flex;gap:10px;margin-top:12px}
button.danger{color:#a33}
#feedbackstatus{margin-top:8px;font-size:12px;color:#a33;min-height:1em}
.qa-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0 44px}
.qa-chip{font:10px DM Mono;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#e8efe4;color:#47614f;border:1px solid var(--line)}
.qa-chip.differed{background:#fdf3e3;color:#8a5a19;border-color:#e3c98f;cursor:help}

.session-card h2 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}

/* Ready-to-start state: the choice and action sit in one legible card. */
.not-started{position:relative;isolation:isolate;overflow:hidden;min-height:430px;padding:52px 32px;border:1px solid #ffffffc9;border-radius:28px;background:linear-gradient(142deg,rgba(255,255,255,.85),rgba(248,251,245,.73) 62%,rgba(232,246,229,.64));backdrop-filter:blur(24px);box-shadow:0 22px 65px #1732251c,0 0 0 1px #baf44c26}
.not-started:before{content:"";position:absolute;z-index:-1;width:360px;height:360px;left:50%;top:-195px;transform:translateX(-50%);background:radial-gradient(circle,#baf44c52,transparent 70%);pointer-events:none}
.not-started>div{width:min(100%,670px);display:flex;flex-direction:column;align-items:center}
.not-started .big-v{display:grid;place-items:center;width:92px;height:92px;margin:0 0 26px;border-radius:24px;background:#18251e;color:var(--lime);font:700 72px/.8 Manrope;letter-spacing:-.12em;text-indent:-.12em;box-shadow:0 0 0 8px #16a36a14,0 0 40px #16a36a36}
.not-started h2{font-size:clamp(27px,3vw,37px);letter-spacing:-.045em;line-height:1.12;margin:0}
.not-started p{max-width:510px;margin:18px 0 0;font-size:15px;line-height:1.65;color:#56655b}
.not-started .start-controls{width:min(100%,520px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-top:35px;padding:20px;border:1px solid #dbe8d9;border-radius:20px;background:#ffffffb8;box-shadow:0 14px 34px #1732250e;text-align:left}
.not-started .start-route{min-width:0;display:flex;flex-direction:column;gap:9px;font:500 10px DM Mono;letter-spacing:.08em;text-transform:uppercase;color:#52665b}
.not-started .start-route select{width:100%;min-width:0;height:48px;margin:0;padding:0 40px 0 14px;border:1px solid #cbdacf;border-radius:12px;background:#fff;color:var(--ink);font:600 14px Manrope;box-shadow:none}
.not-started .start-route select:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.not-started #startengine{min-height:48px;border-radius:11px;white-space:nowrap}
.not-started #startstatus{width:min(100%,520px);text-align:left}
.not-started #startstatus:empty{display:none}
@media(max-width:650px){.not-started{min-height:0;padding:38px 20px}.not-started .big-v{width:76px;height:76px;font-size:60px;margin-bottom:22px}.not-started p{font-size:14px}.not-started .start-controls{grid-template-columns:1fr;gap:16px;padding:16px}.not-started #startengine{width:100%}}

.model-route-trace,.execution-data{margin:0 0 16px;border-radius:14px;min-width:0}.model-route-trace .panel-title,.execution-data .panel-title{margin-bottom:8px}.model-route-trace p,.execution-data p{margin:6px 0;font:12px/1.5 "DM Mono",monospace;overflow-wrap:anywhere}.model-route-trace .model_preflight{color:#a33}.execution-data details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.execution-data summary{cursor:pointer;font-size:12px;font-weight:600}.execution-data .json-view{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;background:#15201c;color:#cbd6cf;border-radius:10px;padding:14px;font:11px/1.5 "DM Mono",monospace}
.not-started #startengine:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
.not-started #startstatus{max-width:520px;overflow-wrap:anywhere;font:12px/1.5 Manrope,system-ui,sans-serif;color:#805229}

/* Keep the answer intact and make a slow send visible without hiding Cancel. */
.answer-spinner{display:inline-flex;align-items:center;gap:8px;margin:0 10px;color:var(--green);font:11px DM Mono}
.answer-spinner i{display:inline-block;width:16px;height:16px;border:2px solid #c9d8c6;border-top-color:var(--green);border-radius:50%;animation:answer-spin .8s linear infinite}
@keyframes answer-spin{to{transform:rotate(360deg)}}
.interview-answer textarea:disabled{opacity:.72;background:#f1f4ed;cursor:progress}
@media(prefers-reduced-motion:reduce){.answer-spinner i{animation:none;border-top-color:var(--ink)}}

.route-switch-dialog{width:min(540px,94vw);max-height:88vh;overflow:auto;padding:32px 34px}.route-switch-dialog h2{margin-top:8px}.route-switch-dialog .dialog-x{right:14px;top:12px}.route-switch-dialog label{display:block;margin:18px 0}.route-switch-dialog select{width:100%;margin-top:8px}.route-switch-price{padding:12px 14px;border-radius:12px;background:#e5f2d7;color:#234b30;font:11px/1.6 "DM Mono",monospace}.switch-route-trigger{margin-top:8px;border-radius:999px;box-shadow:0 0 0 2px #baf44c54,0 0 24px #baf44c31}.qa-route-marker{margin:12px 0;padding:10px 14px;border-left:3px solid var(--lime);background:#e9f4d8;border-radius:0 10px 10px 0;font:11px/1.5 "DM Mono",monospace}

.execution-data > summary.panel-title{display:flex;align-items:center;justify-content:space-between;list-style:none;margin:0}.execution-data > summary.panel-title::-webkit-details-marker{display:none}.execution-data > summary.panel-title h3{margin:0}.execution-data > summary.panel-title span{font:12px/1.5 "DM Mono",monospace}.execution-data[open] > summary.panel-title{margin-bottom:12px}.execution-data[open] > summary.panel-title span::after{content:" ▴"}.execution-data:not([open]) > summary.panel-title span::after{content:" ▾"}
/* A gate is a review page: evidence and decision share the available width. */
.gate-page{max-width:1440px;margin:0 auto;padding:0 10px 50px}
.gate-page-head{top:84px;margin-bottom:22px}.gate-page-head h1{font-size:clamp(32px,4vw,54px);letter-spacing:-.04em;margin:10px 0}.gate-page-head p{color:var(--muted);margin:0}
.gate-page-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);align-items:start;gap:22px}
.gate-evidence,.gate-controls{min-width:0;border:1px solid var(--line);border-radius:24px;padding:clamp(18px,2.5vw,32px);background:rgba(251,250,246,.94);box-shadow:0 12px 35px #10251a0b}
.gate-evidence h2,.gate-controls h2{margin:8px 0 20px}.gate-artifact{border-top:1px solid var(--line);padding:20px 0}.gate-artifact h3{margin:0 0 10px}.gate-artifact-summary{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.gate-artifact details{border:1px solid var(--line);border-radius:14px;background:#fff;margin:16px 0;padding:16px}.gate-artifact summary{font-weight:700;cursor:pointer}.gate-artifact .artifact-readable{max-height:none;overflow:visible;padding:12px 0}.gate-artifact .artifact-content{max-height:none}
.gate-structured{padding:12px 0;overflow-wrap:anywhere}.gate-structured-field{margin:12px 0 12px 16px;padding-left:12px;border-left:2px solid #dbe7dc}.gate-structured-field>b{display:block;text-transform:capitalize;font-size:13px}.gate-structured p{margin:5px 0 10px;line-height:1.65}.gate-structured ol{padding-left:25px}.gate-structured li{margin:8px 0}
.gate-controls label:not(.switch){display:block;margin:20px 0}.gate-controls select,.gate-controls textarea{display:block;width:100%;margin-top:9px}.gate-controls textarea{min-height:110px}.gate-page-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.gate-page-actions button{flex:1 1 auto;min-height:44px}
.gate-controls .help-pop{left:50%;right:auto;translate:-50% 0;transform:translate(0,6px);max-width:min(300px,calc(100vw - 40px))}.gate-controls .help-tip:hover .help-pop,.gate-controls .help-tip:focus-within .help-pop,.gate-controls .help-tip.is-open .help-pop{transform:none}.gate-controls .help-pop:after{left:50%;right:auto}
@media(max-width:850px){.gate-page-grid{grid-template-columns:1fr}.gate-page{padding:0 8px 50px}.gate-page-head{position:relative;top:auto}}

.gate-model-resolved{display:block;margin-top:6px;font:11px/1.5 "DM Mono",monospace;color:#31533f;overflow-wrap:anywhere}

/* Shared delayed status for user-triggered writes. Reads and health remain quiet. */
.server-wait{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 40px);padding:12px 16px;background:var(--ink);color:white;box-shadow:0 10px 30px #15201c40;font:12px DM Mono}
.server-wait i{flex:none;width:16px;height:16px;border:2px solid #94bca2;border-top-color:white;border-radius:50%;animation:answer-spin .8s linear infinite}
@media(prefers-reduced-motion:reduce){.server-wait i{animation:none;border-top-color:#94bca2}}


.gate-page-actions button:disabled{opacity:.45;box-shadow:none;transform:none;cursor:not-allowed;filter:grayscale(.5)}
.gate-evidence-error{white-space:pre-wrap;overflow-wrap:anywhere}
/* Current-phase output, with prior-phase evidence named rather than implied. */
.phase-output{margin:1rem 0;padding:1rem;border:1px solid var(--line, #d3d9df);border-radius:10px}
.phase-output h3{margin:0 0 .4rem}.phase-output-note{font-size:.9rem;opacity:.8}
.phase-output-item{border-top:1px solid var(--line, #d3d9df);padding:.7rem 0;overflow-wrap:anywhere}
.phase-output-item p{white-space:pre-wrap;margin:.25rem 0 0}
.qa-history summary{cursor:pointer;padding:.5rem 0}
.decision-provenance{padding:.9rem;margin:.7rem 0;border:1px solid var(--line,#d3d9df);border-radius:8px}
.decision-provenance h4{margin:0 0 .5rem}.decision-source{border-top:1px solid var(--line,#d3d9df);padding:.6rem 0;display:grid;gap:.2rem}
.decision-source span{font-weight:700}.decision-source small{opacity:.82}

/* Full-page phase review. Never a modal artifact browser. */
.decision-page .decision-options{display:grid;gap:14px}.decision-page .decision-option{cursor:pointer;padding:18px}.decision-page .gate-controls{position:sticky;top:24px;align-self:start}.review-tabs{display:flex;gap:20px;margin:20px 0}.decision-page textarea{min-height:110px}.decision-page .actions{flex-wrap:wrap}.decision-page .option-copy small,.decision-page .option-pro,.decision-page .option-con{display:block;margin-top:8px;white-space:normal}.decision-page .decision-option.selected{outline:2px solid var(--accent,#6fc8a8)}
@media(max-width:760px){.decision-page .gate-page-grid{display:block}.decision-page .gate-controls{position:static;margin-top:24px}.decision-page .decision-option{padding:14px}.review-tabs{gap:16px}}
@media(max-width:760px){.decision-page .page-head{position:static;top:auto;z-index:auto}.decision-page .gate-evidence,.decision-page .gate-controls{min-width:0}}
#semanticform label,#semantic-panel label{display:block;margin:16px 0;font-size:14px}#semanticform select,#semanticform textarea,#semantic-panel select,#semantic-panel textarea{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:12px;min-height:44px}#semanticform textarea,#semantic-panel textarea{min-height:100px}#semanticform pre,#semantic-panel pre{white-space:pre-wrap;overflow-wrap:anywhere}#semanticform .gate-artifact{padding:24px;margin:20px 0}#semanticform h2,#semantic-panel h3{margin:12px 0}
.founder-register{font-family:inherit;font-size:14px;line-height:1.6;padding:24px;background:#f4efec;border-left:3px solid #73a89a}.founder-register h2{font-family:inherit;font-size:21px}.founder-register article{margin:20px 0;padding-top:16px;border-top:1px solid #ddd}.founder-register label{display:block;margin:12px 0}.founder-register textarea,.founder-register select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:10px;font:inherit}.founder-register textarea{min-height:88px}
a.primary.button-link{color:#fff!important;display:inline-block;padding:14px 20px;line-height:1.4;text-decoration:none;box-sizing:border-box}#final-package{margin-top:24px;padding:24px}#package-status details{margin-top:20px}#package-status li{overflow-wrap:anywhere}@media(max-width:700px){.detail-head.page-head{position:static}.detail-head{display:block}.detail-head>div+div{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.detail-head h1{font-size:30px}}

.shadow-copy{margin:10px 0;padding:14px 16px;border:1px dashed var(--line);background:rgba(255,255,255,.65);opacity:.9}.shadow-copy.hidden{display:none}.shadow-status{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:11px DM Mono;letter-spacing:.08em;text-transform:uppercase}.shadow-block+.shadow-block{margin-top:10px}.shadow-block span{display:block;font:10px DM Mono;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#777)}.shadow-block p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.interview-answer.shadowed>label,.interview-answer.shadowed>.composer-hint,.interview-answer.shadowed>button,.interview-answer.shadowed>#answerspinner{display:none}
#phase-output-slot[data-hide-start="1"] .phase-output[data-display-phase="intent"]{display:none}
section.qa-history{max-height:min(44vh,440px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:1101px){.detail-layout>div:last-child>.panel>.panel-title:first-child{position:sticky;top:216px;z-index:2;background:rgb(242,240,233);margin-top:-8px;padding:8px 0}}
@media(min-width:1101px){main:has(.detail-layout){padding-top:20px}.detail-head.page-head{padding:12px 18px;margin-bottom:14px}.detail-head.page-head h1{font-size:26px;margin:4px 0 2px}}
.qq-host{display:grid;gap:10px;margin-top:8px}.qq-note{margin:0;font:11px/1.5 DM Mono;color:#547064}.qq-section{border:1px solid #d8dbd4;border-radius:14px;padding:10px 14px;background:#f9faf6}.qq-section legend{font:11px DM Mono;letter-spacing:.06em;padding:0 6px}.qq-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr;align-items:center;gap:10px;margin:6px 0;font:12px DM Mono}.qq-row input[type=text],.qq-row input[type=number]{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid #cfd4cc;border-radius:9px;background:#fff;font:12px DM Mono}.qq-row input[type=checkbox]{justify-self:start;width:18px;height:18px}.qq-actions{display:flex;gap:8px;flex-wrap:wrap}#qqstatus{font:11px/1.5 DM Mono;min-height:16px}
.debug-dialog{width:min(680px,92vw);max-height:86vh;overflow-y:auto;box-sizing:border-box}
.dialog .qq-row input{margin:0}.qq-row{margin:4px 0}

/* Answer submission is the moment the founder waits on: make it unmistakable. */
@keyframes answer-pulse{0%,100%{box-shadow:0 0 0 0 #16a36a66,0 10px 30px #15201c40;border-color:#16a36a}50%{box-shadow:0 0 0 7px #16a36a00,0 10px 30px #15201c40;border-color:#7ad9a8}}
.server-wait.answering{padding:18px 26px;gap:14px;font-size:17px;font-weight:600;border:3px solid #16a36a;border-radius:14px;animation:answer-pulse 1.4s ease-in-out infinite}
.server-wait.answering i{width:24px;height:24px;border-width:3px}
.shadow-copy:not(.hidden){padding:20px 22px;border:3px solid #16a36a;border-radius:14px;opacity:1;animation:answer-pulse 1.4s ease-in-out infinite}
.shadow-copy:not(.hidden) .shadow-status{font-size:15px;font-weight:600;color:#147b4e;margin-bottom:14px}
.waiting-spinner{flex:none;display:inline-block;width:16px;height:16px;border:2px solid #c9d8c6;border-top-color:#16a36a;border-radius:50%;animation:answer-spin .8s linear infinite}
.shadow-copy:not(.hidden) .shadow-status .waiting-spinner{width:22px;height:22px;border-width:3px}
@media(prefers-reduced-motion:reduce){.server-wait.answering,.shadow-copy:not(.hidden){animation:none;box-shadow:0 0 0 5px #16a36a33}.waiting-spinner{animation:none}}

.phase-change-dialog{width:min(560px,92vw);padding:30px 32px;border:3px solid #16a36a;animation:answer-pulse 1.8s ease-in-out infinite}
.phase-change-dialog h2{margin:6px 0 14px;font-size:26px;line-height:1.2}
.phase-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;font:12px DM Mono;letter-spacing:.04em}
.phase-flow b{padding:7px 12px;border-radius:999px;background:#e7e9e4;font-weight:600}.phase-flow b.to{background:var(--ink);color:var(--lime)}.phase-flow i{font-style:normal;color:#16a36a;font-size:18px}
.phase-explain{font-size:16px;line-height:1.55;margin:0 0 14px}
.phase-live{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 14px;background:#eef6ef;border-radius:12px;font:12px DM Mono}
.phase-live .waiting-spinner{width:18px;height:18px;border-width:3px}.phase-live small{margin-left:auto;color:var(--muted,#667)}
.phase-pause{margin:0 0 4px;color:var(--muted,#566);font-size:13px;line-height:1.5}
@media(prefers-reduced-motion:reduce){.phase-change-dialog{animation:none;box-shadow:12px 12px 0 var(--lime),0 0 0 5px #16a36a33}}

.semantic-page .semantic-head{top:84px}.semantic-page .semantic-head h1{margin:6px 0}.semantic-page .semantic-head p{margin:4px 0}
.decision-pills{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:12px 0 4px}.decision-pills legend{font:10px DM Mono;color:var(--muted);padding:0;margin-bottom:6px}
.pill{position:relative;display:inline-flex;cursor:pointer}.pill input{position:absolute;opacity:0;inset:0;cursor:pointer}.pill span{padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600}.pill input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.pill input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}.pill.disabled{cursor:not-allowed;opacity:.5}.pill-tip{position:absolute;left:-9999px}
.pill-caption{font-size:13px;color:var(--muted);margin:4px 0 12px;min-height:1.3em}
.replace-fields{display:grid;gap:10px;margin:8px 0 14px;padding:14px;border:1px dashed var(--line);border-radius:14px;background:rgba(255,255,255,.55)}.replace-fields.hidden{display:none}.replace-fields .rf{display:block}.replace-fields .rf span{display:block;font-size:13px;margin-bottom:4px}.replace-fields input[type=text],.replace-fields input[type=number],.replace-fields textarea{width:100%;box-sizing:border-box}.replace-fields .rf-check{display:flex;gap:8px;align-items:center}.replace-fields .rf-check span{margin:0}.rf-group{border:1px solid var(--line);border-radius:12px;padding:10px;margin:0}.replace-fields [readonly]{background:#eee;color:var(--muted)}
.flag-original blockquote{margin:6px 0 0;padding:8px 14px;border-left:3px solid var(--line);background:rgba(255,255,255,.6)}.flag-original small{font:10px DM Mono;color:var(--muted)}
.semantic-footer{position:sticky;bottom:0;z-index:4;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding:12px 16px;background:rgba(242,240,233,.95);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:16px;box-shadow:0 -8px 26px rgba(26,42,34,.1)}.semantic-footer #semanticstatus{flex:1 1 200px;min-width:0;font-size:13px}.semantic-count{font:11px DM Mono;color:var(--muted)}
@media(max-width:850px){.semantic-page .semantic-head{top:80px}.semantic-footer button{flex:1 1 auto}}
.semantic-page .semantic-head{display:block}.semantic-page .semantic-head h1{font-size:26px}.semantic-item h2 a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--muted)}
.semantic-page .semantic-head{position:sticky;top:84px;background:rgb(242,240,233);height:auto}@media(max-width:850px){.semantic-page .semantic-head{position:sticky;top:80px}}
.semantic-item h2{margin:0 0 6px}
#semanticform.applying .semantic-footer,#semanticform.applied .semantic-footer{border-color:#16a36a;box-shadow:0 0 0 3px #16a36a33}#semanticform.applying .semantic-footer #semanticstatus,#semanticform.applied .semantic-footer #semanticstatus{font-weight:600;color:var(--ink)}#semanticform.applying button.primary{display:inline-flex;gap:8px;align-items:center;opacity:1}.semantic-footer #semanticstatus.error{color:#a12b2b;font-weight:600}

.decision-page:not(.semantic-page) .page-head{position:static}.decision-page:not(.semantic-page) .gate-controls{top:100px;max-height:calc(100vh - 116px);overflow:auto}
.context-boxes{display:grid;gap:10px}.context-box{border:1px solid var(--line);border-radius:14px;background:#fff}.context-box summary{cursor:pointer;padding:12px 16px;font-weight:600;list-style:none}.context-box summary::-webkit-details-marker{display:none}.context-box summary::before{content:'▸';display:inline-block;margin-right:8px;transition:transform .15s}.context-box[open] summary::before{transform:rotate(90deg)}.context-box .context-body{padding:0 16px 14px;overflow-wrap:anywhere}.context-box 
@media(max-width:760px){.decision-page:not(.semantic-page) .gate-controls{max-height:none;overflow:visible}}
.decision-page .decision-options{grid-template-columns:minmax(0,1fr)}.decision-page .decision-option{min-width:0;grid-template-columns:42px minmax(0,1fr)}.decision-page .decision-option .option-copy{min-width:0;overflow-wrap:anywhere}.decision-page .decision-option.selected .option-copy b{width:auto;max-width:100%;display:inline-block}

.decision-page .gate-controls{padding:28px 26px}.decision-page .gate-controls #review-comments h2{margin-top:0}.decision-page .review-comment{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.decision-page .review-comment p{margin:4px 0 0;overflow-wrap:anywhere}.decision-page .gate-controls .hint{font-size:14px;color:var(--muted);line-height:1.5}
.decision-page .option-copy b{font-size:19px;line-height:1.35}.decision-page .option-copy small{font-size:15.5px;line-height:1.65;color:var(--ink)}.decision-page .option-pro,.decision-page .option-con{font-size:14.5px;line-height:1.6}
/* gate pages sweep */
.compact-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px 24px;align-items:center;padding:12px 18px}.compact-head h1{font-size:26px;margin:2px 0;letter-spacing:-.02em}.compact-head p{margin:0;color:var(--muted);font-size:14px}.compact-head .ch-left{display:grid;gap:2px}.compact-head .ch-main{min-width:0}.compact-head #review-permalink{font:11px DM Mono;white-space:nowrap}
.decision-page:not(.semantic-page) .page-head{position:sticky;top:84px;background:rgb(242,240,233);z-index:5}
.founder-register{border:1px solid #73a89a;border-left-width:3px;border-radius:14px;margin:0 0 20px;overflow:visible;padding:20px}.founder-register .context-boxes{margin-top:12px}.founder-register .context-body{padding:0 16px 14px}
.gate-evidence{min-width:0}
.pilled-select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.gate-artifact .context-box{border:0}.gate-artifact[data-collapsed]{padding:0;background:none;border:0;box-shadow:none}
.explainer-box{border:1px solid var(--line);border-radius:14px;background:#fff;margin:0 0 16px}.explainer-box summary{cursor:pointer;padding:12px 16px;font-weight:700}.explainer-box .context-body{padding:0 16px 12px;font-size:14.5px;line-height:1.55}.explainer-box ul{margin:6px 0;padding-left:20px}
.founder-register summary .state-badge{float:right;margin-left:12px;font:600 11px DM Mono;padding:3px 9px;border-radius:999px;background:#e7e9e4;color:var(--ink)}.founder-register summary .state-badge[data-state="decided"]{background:var(--ink);color:var(--lime)}.founder-register summary .state-badge[data-state="deferred"]{background:#f3e3b0}
.founder-register details.needs-input{border-color:#b3261e;box-shadow:0 0 0 2px #b3261e33}.needs-list{margin:8px 0 0;padding-left:20px}.needs-list a{color:#b3261e;font-weight:600}
.decision-page .gate-controls{padding:24px 22px}.decision-page .gate-controls .actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin:16px 0}.decision-page .gate-controls .actions button{padding:12px 20px}.decision-page .gate-controls [role="status"]{margin:12px 0;line-height:1.5}.decision-page .gate-controls .hint{margin:10px 0 14px}
@media(max-width:700px){.compact-head{grid-template-columns:1fr;gap:6px;padding:12px 14px}.compact-head h1{font-size:22px}.compact-head #review-permalink,.compact-head #gate-permalink,.compact-head #semantic-link{white-space:normal}}
.founder-history{margin-top:10px;font-size:13px}.founder-history ol{margin:4px 0;padding-left:20px}.founder-history small{display:block;color:var(--muted)}
.gate-artifact .context-box summary{display:flex;align-items:center;gap:12px;justify-content:space-between}.gate-artifact .context-box summary::before{order:2;margin:0 0 0 auto;content:'\25BE'}.gate-artifact .context-box[open] summary::before{transform:rotate(180deg)}
.decision-checklist{margin:12px 0;padding:10px 14px;border:1px solid var(--line);border-left:4px solid #c98a1b;border-radius:10px;background:#fff9ec;font-size:.95em}.decision-checklist.ready{border-left-color:#2f8f6b;background:#f1faf5}.decision-checklist ul{margin:6px 0 0;padding-left:18px}.decision-checklist .link-button{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;text-align:left}.model-panel{margin:10px 0}.model-panel .context-body label{display:block;margin-top:8px}
.phase-gate-link{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:3px 12px}.phase-gate-link:hover,.phase-gate-link:focus{background:var(--paper)}
.spec-items{display:grid;gap:10px}.spec-item>summary{font-weight:700}.spec-body{padding:4px 2px}.spec-body h2{font-size:1.15em;margin:18px 0 6px}.spec-body h3{font-size:1.02em;margin:14px 0 4px}.spec-body h4,.spec-body h5,.spec-body h6{font-size:.95em;margin:10px 0 4px}.spec-body p{margin:6px 0}.spec-body ul,.spec-body ol{margin:6px 0;padding-left:22px}.artifact-readable code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:rgba(0,0,0,.05);padding:1px 4px;border-radius:4px}.artifact-readable pre{overflow:auto;padding:10px 12px;background:rgba(0,0,0,.05);border-radius:8px}.artifact-readable pre code{background:none;padding:0}.artifact-readable table{border-collapse:collapse;margin:8px 0;width:100%}.artifact-readable th,.artifact-readable td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.complete-page{padding:0 8px 50px}.complete-page .page-head{position:relative;top:auto;margin-bottom:18px}
.complete-summary .audit-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.complete-counts b a{color:inherit;text-decoration:underline}
.complete-phases{list-style:none;margin:0;padding:0}.complete-phases li{display:grid;grid-template-columns:2fr 1fr 2fr;gap:12px;padding:9px 4px;border-bottom:1px solid #d3dbd0}
.complete-page .button-link{display:inline-block;margin-bottom:14px}
@media(max-width:700px){.complete-summary .audit-totals{grid-template-columns:1fr}.complete-phases li{grid-template-columns:1fr 1fr}.complete-phases li span:last-child{grid-column:1/-1}}
.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:0;animation:confetti-fall linear forwards}
@keyframes confetti-fall{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--drift),105vh) rotate(720deg)}}
.validation-panel{display:grid;gap:8px}.validation-need>summary,.validation-item>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 10px}.validation-need{border:1px solid #c9d3cc;border-radius:10px;background:rgba(255,255,255,.5)}.validation-item{margin:0 10px 8px;border-left:3px solid #91a69a;background:rgba(255,255,255,.55)}.validation-row{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:4px 10px}.validation-count{font-size:12px;color:#5b6b61}.validation-flag{font-size:12px;color:#a8431f;font-weight:600}

#stack-panel .stack-slot{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}#stack-panel .stack-slot:first-of-type{border-top:0}
#stack-panel .stack-slot h3{margin:0}#stack-panel .stack-slot p{margin:0}
#stack-panel label{display:grid;gap:4px;font-weight:600}#stack-panel textarea,#stack-panel input{width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
#stack-panel .stack-options{display:flex;flex-wrap:wrap;gap:8px}#stack-panel .stack-option{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font:inherit}#stack-panel .stack-option.selected{border-color:#73a89a;background:#eef6f3;font-weight:600}
#stack-panel .stack-prefill{font-weight:600}#stack-panel #save-stack{justify-self:start;margin-top:8px}
.cost-total{font:10px DM Mono;padding:7px 9px;background:#e8eadf;margin-right:6px}.cost-total:empty{display:none}

/* Keep live heartbeat details readable instead of clipping them to one line. */
.progress-item.heartbeat span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
/* Long stage labels must not consume the live progress column. */
.live-status-row .live-indicator{flex:0 1 auto;min-width:0;max-width:55%;white-space:normal;overflow-wrap:anywhere}
.live-status-row .live-indicator i{flex-shrink:0}
@media(max-width:1100px){.live-status-row .live-indicator{max-width:100%}}
.detail-layout>*{min-width:0}
@media(max-width:850px){.detail-layout{grid-template-columns:minmax(0,1fr)}}

/* Short viewports keep review evidence readable rather than under a tall toolbar. */
@media(max-width:850px),(max-height:650px){.semantic-footer{position:static}.semantic-page .semantic-head{position:static}}
.semantic-item{scroll-margin-top:240px}.cited-evidence blockquote{white-space:pre-wrap;overflow-wrap:anywhere}
.stack-default {display:flex; flex-direction:column; gap:.3rem; padding:.75rem; border:1px solid var(--border,#ccc); border-radius:.5rem; margin:.5rem 0}
.stack-default strong {font-size:1.05rem}
.stack-technology,.stack-research {color:var(--muted,#666);font-size:.85rem}
.stack-slot {padding:.75rem 0;overflow-wrap:anywhere}
.stack-change>summary {cursor:pointer;padding:.5rem 0}
.stack-options {display:flex;flex-direction:column;align-items:stretch;gap:.4rem}
.stack-tradeoff {margin:.4rem 0}

.session-cost{font:11px/1.4 Manrope;text-align:right;white-space:nowrap;margin-left:auto;padding:8px 12px;color:var(--ink)}
.session-cost[data-state="stale"],.session-cost[data-state="unavailable"]{color:#94631c}
@media(max-width:850px){header{flex-wrap:wrap;height:auto;min-height:84px;padding-top:10px;padding-bottom:10px;gap:8px}.session-cost{order:5;flex:1 1 100%;text-align:center;margin:0;padding:2px 0}.semantic-page .semantic-head,.page-head{top:110px}}

/* Sticky content follows the measured shared header, including wrapped mobile rows. */
header{z-index:6}
.page-head,.bundle-workspace>.page-head,.gate-page-head,.decision-page:not(.semantic-page) .page-head,.semantic-page .semantic-head{top:var(--global-header-height,84px)}
.decision-launch-sticky{top:calc(var(--global-header-height,84px) + 12px)}
.decision-page:not(.semantic-page) .gate-controls{top:calc(var(--global-header-height,84px) + 16px);max-height:calc(100dvh - var(--global-header-height,84px) - 32px)}
@media(max-width:760px){.decision-page:not(.semantic-page) .gate-controls{max-height:none}}

/* Long review progress belongs in document flow, not an overlapping footer. */
#semanticform.applying .semantic-footer {position:static;display:flex;flex-direction:column;align-items:stretch;gap:12px;}
#semanticform.applying #semanticstatus {width:100%;}
.review-progress {padding:12px;min-width:0;overflow-wrap:anywhere;}
.review-progress ol {padding-left:22px;}
.review-progress details {padding:4px 0;}

/* Structured progress needs the full panel width, not a narrow side column. */
.live-status-row:has(.review-progress){align-items:flex-start;flex-direction:column}
.live-status-row:has(.review-progress) .live-progress{width:100%}

.closed-revision-draft label{display:block;margin:16px 0 8px}
.closed-revision-draft textarea{display:block;width:100%;min-height:100px;margin-top:8px}

/* Leave bottom clearance so the sticky decision controls cannot be pushed
   beneath the global header at the end of a shorter evidence column. */
@media(min-width:761px){.decision-page:not(.semantic-page) .gate-controls{box-sizing:border-box;max-height:calc(100dvh - 2 * var(--global-header-height,84px) - 64px)}}
