:root{--color-bg:#f4f2ed;--color-surface:#ece9e1;--color-surface-line:#d8d4c9;--color-ink:#111111;--color-ink-soft:#4a4a46;--color-ink-faint:#8c8a83;--color-accent:#d9472b;--color-accent-deep:#9a2418;--color-dark:#101010;--color-dark-ink:#f4f2ed;--font-head:"Archivo Narrow","Arial Narrow","Helvetica Neue",sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}.shell{max-width:1180px;margin:0 auto;padding:40px 32px 80px}.kicker{display:flex;align-items:center;gap:10px;color:var(--color-accent);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}.kicker:before{content:"";width:26px;height:2px;background:var(--color-accent)}.kicker .muted{color:var(--color-ink-faint)}h1.display{font-family:var(--font-head);font-weight:700;font-size:clamp(30px,4.5vw,46px);line-height:1.1;letter-spacing:-.01em;margin-bottom:14px}h1.display em{color:var(--color-accent);font-style:italic}.lede{color:var(--color-ink-soft);max-width:640px;margin-bottom:36px}.card{background:var(--color-surface);border:1px solid var(--color-surface-line);padding:22px 24px}.card .num{color:var(--color-accent);font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:10px}.card h3{font-family:var(--font-head);font-size:19px;margin-bottom:8px}.card p{color:var(--color-ink-soft);font-size:14px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.dark-card{background:var(--color-dark);color:var(--color-dark-ink);padding:24px;font-size:14px}.dark-card .label{color:var(--color-ink-faint);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.dark-card .big{font-family:var(--font-head);font-size:30px;font-weight:700}.dark-card hr{border:0;border-top:1px solid #2c2c2c;margin:14px 0}ul.arrows{list-style:none}ul.arrows li{padding-left:22px;position:relative;margin-bottom:6px;color:var(--color-ink-soft);font-size:14px}ul.arrows li:before{content:"→";position:absolute;left:0;color:var(--color-accent)}.badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;margin-right:6px}.badge.accent{background:var(--color-accent);color:#fff}.badge.ghost{background:transparent;color:var(--color-ink-faint);border:1px solid var(--color-surface-line)}.badge.dark{background:var(--color-dark);color:var(--color-dark-ink)}.rows{border-top:1px solid var(--color-surface-line)}.row{display:flex;align-items:baseline;gap:18px;padding:14px 0;border-bottom:1px solid var(--color-surface-line)}.row .idx{color:var(--color-accent);font-weight:700;font-size:13px;min-width:26px}label.field{display:block;margin-bottom:14px}label.field span{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:5px}input[type=password],input[type=text],textarea{width:100%;border:1px solid var(--color-surface-line);background:#fff;padding:10px 12px;font:inherit;font-size:14px;color:var(--color-ink)}input:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px}button.primary,button.secondary{font:inherit;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:11px 20px;cursor:pointer;border:0}button.primary{background:var(--color-accent-deep);color:#fff}button.primary:hover{background:var(--color-accent)}button.secondary{background:transparent;color:var(--color-ink);border:1px solid var(--color-ink)}button.secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}button:disabled{opacity:.4;cursor:default}.footer{margin-top:60px;padding-top:16px;border-top:1px solid var(--color-surface-line);color:var(--color-ink-faint);font-size:10px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between}.section{margin-top:44px}.section>.kicker{margin-bottom:12px}h2.head{font-family:var(--font-head);font-size:24px;margin-bottom:16px}h2.head em{color:var(--color-accent);font-style:italic}.mono{font-family:ui-monospace,monospace;font-size:12px;color:var(--color-ink-faint)}.app-frame{display:flex;min-height:100vh}.app-main{flex:1 1;min-width:0}.sidebar{width:216px;flex:none;background:var(--color-dark);color:var(--color-dark-ink);padding:28px 18px;display:flex;flex-direction:column;gap:26px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.side-brand{font-family:var(--font-head);font-weight:700;font-size:17px;line-height:1.1;letter-spacing:.01em;display:flex;gap:10px;align-items:center}.side-brand em{font-style:italic;color:var(--color-accent)}.side-logo{width:30px;height:30px;flex-shrink:0}.side-mark{display:block;width:26px;height:3px;background:var(--color-accent);margin-bottom:10px}.side-project{display:flex;flex-direction:column;gap:6px;padding:0 10px}.side-select{width:100%;background:#1b1b1a;color:var(--color-dark-ink);border:1px solid #3a3a38;padding:8px 9px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.side-select:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.side-all{font-size:10.5px;color:#8c8a83;letter-spacing:.06em}.side-all:hover{color:var(--color-accent)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.side-nav{display:flex;flex-direction:column;gap:2px}.side-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b9b6ad;border-left:2px solid transparent}.side-item.active,.side-item:hover{color:var(--color-dark-ink)}.side-item.active{border-left-color:var(--color-accent);background:#1b1b1a}.side-count{background:var(--color-accent);color:#fff;font-size:10px;padding:1px 7px}.side-soon{display:flex;flex-direction:column;gap:6px;padding:0 10px}.side-soon-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#6f6d66;margin-bottom:2px}.side-soon span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#55534d}.side-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;border-top:1px solid #2c2c2c;padding-top:12px}.side-item-icon{display:inline-flex;align-items:center;gap:8px}.side-num{font-family:ui-monospace,monospace;font-size:9px;color:#6f6d66;letter-spacing:0}.side-item.active .side-num{color:var(--color-accent)}.side-item-icon svg{flex:none;opacity:.75}.side-user{padding:0 10px;font-size:12px;display:flex;flex-direction:column}.side-user strong{color:var(--color-dark-ink)}.side-user span{color:#8c8a83}.sidebar button.secondary{border-color:#3a3a38;color:#b9b6ad;align-self:flex-start}.sidebar button.secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (max-width:860px){.sidebar{display:none}}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));grid-gap:14px;gap:14px;align-items:start}.board-col{border:1px solid var(--color-surface-line);background:var(--color-surface);padding:12px;min-height:120px}.board-col.gate{background:var(--color-dark);border-color:var(--color-dark)}.board-col-head{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:10px;display:flex;justify-content:space-between}.board-col.gate .board-col-head{color:#8c8a83}.board-card{background:#fff;border:1px solid var(--color-surface-line);padding:10px 12px;margin-bottom:8px;cursor:pointer}.board-card:hover{border-color:var(--color-ink)}.board-card.sel{border-color:var(--color-accent);outline:1px solid var(--color-accent)}.board-card b{display:block;font-family:var(--font-head);font-size:15px;margin-bottom:4px}.board-card .meta{display:flex;flex-wrap:wrap;gap:4px}.panel-backdrop{position:fixed;inset:0;background:rgba(16,16,16,.35);z-index:40}.panel{position:fixed;top:0;right:0;bottom:0;width:min(780px,94vw);z-index:41;background:var(--color-bg);border-left:1px solid var(--color-ink);overflow-y:auto;padding:28px 30px 60px;animation:panel-in .18s ease-out}@keyframes panel-in{0%{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.panel{animation:none}}.panel-close{position:-webkit-sticky;position:sticky;top:0;float:right;background:var(--color-dark);color:var(--color-dark-ink);border:0;font-size:12px;padding:7px 12px;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.panel-close:hover{background:var(--color-accent)}.chat{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.msg{max-width:92%;border:1px solid var(--color-surface-line);background:#fff;padding:10px 14px}.msg.agent{align-self:flex-start;border-left:3px solid var(--color-dark)}.msg.human{align-self:flex-end;background:var(--color-surface);border-right:3px solid var(--color-accent)}.msg-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px}.msg-body{font-size:14px;color:var(--color-ink-soft);white-space:pre-wrap}.chat-input textarea{margin-bottom:8px}.tagline{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--color-accent);margin-bottom:10px}.brief-row{border-top:1px solid var(--color-surface-line);padding:7px 0}.brief-label{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-faint)}.brief-value{font-size:13px;color:var(--color-ink-soft);white-space:pre-wrap}.trace-line{position:relative;padding-left:26px}.trace-line:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--color-surface-line)}.trace-station{position:relative;margin-bottom:4px}.trace-dot{position:absolute;left:-26px;top:14px;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg);z-index:1}.trace-dot.done{background:var(--color-dark)}.trace-card{background:var(--color-surface);border:1px solid var(--color-surface-line);padding:13px 16px}.trace-card strong{font-family:var(--font-head);font-size:16px}.trace-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}.trace-kicker{font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--color-accent)}.trace-link{display:block;font-size:10.5px;letter-spacing:.08em;color:var(--color-ink-faint);padding:6px 2px}.stat-tiles{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 4px}.stat-tile{background:#fff;border:1px solid var(--color-surface-line);padding:12px 18px;min-width:130px}.stat-tile .big{font-family:var(--font-head);font-size:26px;font-weight:700;color:var(--color-accent)}.stat-tile .lbl{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint)}.board-col-meta{display:flex;gap:4px;flex-wrap:wrap;margin:-4px 0 10px}.log-box{margin-top:26px;border-top:1px solid var(--color-surface-line);padding-top:10px}.log-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:transparent;border:0;cursor:pointer;padding:8px 2px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--color-ink-faint);font-family:var(--font-body)}.log-toggle:hover{color:var(--color-accent)}.doc{max-width:72ch;font-size:14px;color:var(--color-ink-soft);line-height:1.62}.doc .doc-h2{font-family:var(--font-head);font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--color-ink);margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--color-surface-line)}.doc .doc-h2:first-child{border-top:0;padding-top:0;margin-top:4px}.doc .doc-h3{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--color-ink);margin:14px 0 4px}.doc .doc-p{margin:6px 0}.doc .doc-list{margin:6px 0 6px 18px}.doc .doc-list li{margin:3px 0;list-style:square}.doc .doc-olist li{list-style:decimal}.doc .doc-h1{font-size:21px}.doc .doc-quote{border-left:3px solid var(--color-accent);padding:6px 12px;margin:10px 0;background:var(--color-surface);font-size:13px;color:var(--color-ink-faint)}.doc a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.req-layout{display:grid;grid-template-columns:210px minmax(0,1fr);grid-gap:38px;gap:38px;align-items:start;margin-top:22px}.req-toc{position:-webkit-sticky;position:sticky;top:26px;display:flex;flex-direction:column;border-left:1px solid var(--color-surface-line)}.req-toc-label{font-size:9.5px;letter-spacing:.13em;padding:0 0 8px 14px}.req-toc a,.req-toc-label{font-weight:700;text-transform:uppercase;color:var(--color-ink-faint)}.req-toc a{display:flex;gap:8px;align-items:baseline;padding:8px 14px;font-size:10.5px;letter-spacing:.11em;border-left:2px solid transparent;margin-left:-1.5px;text-decoration:none}.req-toc a:hover{color:var(--color-ink)}.req-toc a.active{color:var(--color-accent);border-left-color:var(--color-accent)}.req-toc a .n{font-size:9px;color:var(--color-accent)}.req-toc a .cnt{margin-left:auto;font-family:var(--font-mono,ui-monospace);font-size:9.5px;color:var(--color-ink-faint)}.req-section{border-top:2px solid var(--color-dark);padding-top:16px;margin-bottom:40px;scroll-margin-top:24px}.req-section:last-child{margin-bottom:24px}.req-sec-head{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.req-next,.req-sec-head:hover .kicker{color:var(--color-accent)}.req-next{font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--color-accent);padding-bottom:1px}.req-next:hover{color:var(--color-deep);border-color:var(--color-deep)}.req-toc a.done{opacity:.75}.req-toc a.done,.req-toc a.done .n{color:var(--color-ink-faint)}.req-meta-strip{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:14px 0 4px}.msg-body .doc{font-size:13px;line-height:1.55;max-width:none}.msg-body .doc .doc-h2{font-size:14px;margin:12px 0 4px;padding-top:8px}.msg-body .doc .doc-h3{font-size:13px;margin:8px 0 2px}.msg-body .doc .doc-p{margin:4px 0}.msg-body .doc .doc-quote{margin:6px 0;padding:4px 10px}.landing{max-width:1120px;margin:0 auto;padding:0 28px}.land-topbar{justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--color-surface-line)}.land-brand,.land-topbar{display:flex;align-items:center}.land-brand{gap:10px;font-family:var(--font-head);font-weight:700;font-size:18px;letter-spacing:.01em}.land-link{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);text-decoration:none;padding:8px 10px}.land-link:hover{color:var(--color-accent)}.land-hero{padding:84px 0 64px}.land-cta{box-shadow:0 0 0 0 rgba(217,71,43,.35)}.land-cta:hover{box-shadow:0 6px 22px -6px rgba(217,71,43,.55)}.land-section{padding:46px 0;border-top:1px solid var(--color-surface-line)}.land-flow{display:flex;gap:10px;margin-top:22px;align-items:stretch;flex-wrap:wrap}.land-flow-step{display:flex;align-items:center;gap:10px;flex:1 1 170px}.land-flow-card{background:var(--color-surface);border:1px solid var(--color-surface-line);padding:14px 16px;flex:1 1;min-height:110px}.land-flow-card strong{font-family:var(--font-head);font-size:16px;display:block;margin:4px 0}.land-flow-card p{font-size:12.5px;color:var(--color-ink-soft);margin:0}.land-flow-num{font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--color-accent)}.land-gate{writing-mode:vertical-rl;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bg);padding:10px 4px;align-self:stretch;display:flex;align-items:center}.land-dark,.land-gate{background:var(--color-dark)}.land-dark{color:var(--color-dark-ink,#F4F2ED);margin:46px -28px 0;padding:64px 28px;text-align:center}.land-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 0 40px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.land-footer,.land-footer a{color:var(--color-ink-faint)}.land-footer a{text-decoration:none}.land-footer a:hover{color:var(--color-accent)}@media (max-width:860px){.land-reg{grid-template-columns:1fr!important}.land-gate{writing-mode:horizontal-tb;padding:4px 10px;align-self:center}}@keyframes agent-pulse{0%,to{opacity:1}50%{opacity:.55}}.pulse{animation:agent-pulse 1.8s ease-in-out infinite}.status-note{font-size:13px;color:var(--color-ink-soft)}