:root{--space-cadet:#12122e;--aquamarine:#74f0b6;--chartreuse:#e1ff01;--glaucous:#7487d3;--bone:#ebe8d8;--dark:#0c0c1a;--surface:#1a1a3c;--border:#252548;--amber:#e8a84c;--bg-page:var(--space-cadet);--bg-deep:var(--dark);--bg-surface:var(--surface);--bg-nav:#12122eeb;--line-default:var(--border);--line-nav:#e1ff011f;--line-subtle:#ebe8d833;--line-hover:#ebe8d880;--text-primary:var(--bone);--text-muted:#ebe8d899;--text-disabled:#ebe8d873;--text-on-accent:var(--space-cadet);--text-label:var(--chartreuse);--action-primary:var(--chartreuse);--action-success:var(--aquamarine);--stage-active:var(--chartreuse);--stage-complete:var(--aquamarine);--stage-pending:var(--text-disabled);--font-display:"Bulevar","Arial Black","Helvetica Neue",sans-serif;--font-body:"Roboto",system-ui,sans-serif;--fs-body:15px;--fs-nav:13px;--fs-btn:12px;--fs-label:11px;--fs-meta:13px;--fs-section:32px;--fs-page:clamp(5.4rem,8.8vw,8.8rem);--fs-card-title:clamp(1.25rem,1.6vw,1.5rem);--lh-body:1.6;--lh-hero:.82;--ls-heading:.04em;--ls-button:2.5px;--ls-nav:2px;--ls-label:3px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-8:32px;--space-12:48px;--space-16:64px;--spine-offset:56px;--node-size:44px;--group-bridge:133px;--content-w:1040px;--dash-len:10px;--dash-gap:9px;--nav-h:86px;--shell:1120px;--measure:64ch;--radius:4px;--dur:.2s}@media (min-width:1600px){:root{--shell:1320px}}
@font-face{font-family:Bulevar;src:url(/fonts/Bulevar.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}button{font-family:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}:focus-visible{outline:2px solid var(--chartreuse);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.btn-primary:hover{transform:none}}.nav{height:var(--nav-h);z-index:100;background:var(--bg-nav);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-nav);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.btn{font-family:var(--font-body);font-size:var(--fs-btn);letter-spacing:var(--ls-button);text-transform:uppercase;border-radius:var(--radius);cursor:pointer;transition:opacity var(--dur) ease,transform var(--dur) ease, border-color var(--dur) ease,color var(--dur) ease;border:1px solid #0000;padding:14px 32px;font-weight:700;text-decoration:none;display:inline-block}.btn-primary{background:var(--action-primary);color:var(--text-on-accent)}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-secondary{border-color:var(--line-subtle);color:var(--text-muted);background:0 0}.btn-secondary:hover{border-color:var(--line-hover);color:var(--text-primary)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}.btn-sm{padding:10px 22px}.hub .nav-in{width:100%;max-width:var(--shell);padding:0 var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-8);margin:0 auto;display:flex}.hub .brandmark{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.hub .monogram{object-fit:contain;flex:none;width:30px;height:30px}.hub .wordmark{font-family:var(--font-body);letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--text-primary);font-size:14px;font-weight:700}.hub .nav-right{align-items:center;gap:var(--space-8);display:flex}.hub .stat{flex-direction:column;gap:2px;line-height:1.2;display:flex}.hub .stat-l{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted)}.hub .stat-v{font-size:var(--fs-nav);color:var(--text-primary);font-weight:600}.hub .nav-links{align-items:center;gap:var(--space-5);display:flex}.hub .nav-link{font-size:var(--fs-nav);letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur) ease;text-decoration:none}.hub .nav-link:hover{color:var(--text-primary)}.hub .shell{max-width:var(--shell);padding:0 var(--space-8);margin:0 auto}.hub main{padding-top:calc(var(--nav-h) + var(--space-16));padding-bottom:var(--space-16)}.hub .eyebrow{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-label);margin:0 0 var(--space-4)}.hub .brand-name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-page);letter-spacing:var(--ls-heading);text-transform:uppercase;margin:0 0 var(--space-5);line-height:var(--lh-hero)}.hub .lede{color:var(--text-muted);max-width:var(--content-w);margin:0;font-size:16px}.hub .lede b{color:var(--text-primary);font-weight:500}.hub .resume{margin-top:var(--space-8);align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.hub .group{margin-top:var(--space-16);max-width:var(--content-w)}.hub .group-head{align-items:baseline;gap:var(--space-4);margin-left:var(--spine-offset);padding-bottom:var(--space-4);margin-bottom:var(--space-8);border-bottom:1px solid var(--line-default);flex-wrap:wrap;display:flex}.hub .group-name{font-family:var(--font-body);font-weight:700;font-size:var(--fs-nav);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-label);margin:0}.hub .group-note{font-size:var(--fs-meta);color:var(--text-muted);margin:0}.hub .spine{padding-left:var(--spine-offset);position:relative}.hub .stage{background:var(--bg-surface);border:1px solid var(--line-default);border-radius:var(--radius);padding:var(--space-5) var(--space-8);margin-bottom:var(--space-4);align-items:flex-start;gap:var(--space-8);transition:border-color var(--dur) ease;display:flex;position:relative}.hub .stage:hover{border-color:var(--line-subtle)}.hub .stage:before,.hub .stage:after{content:"";left:calc((var(--spine-offset) - var(--node-size) / 2) * -1 - 1px);background:repeating-linear-gradient(to bottom, var(--line-default) 0 var(--dash-len), transparent var(--dash-len) calc(var(--dash-len) + var(--dash-gap)));width:2px;position:absolute}.hub .stage:before{height:50%;top:0}.hub .stage:after{top:50%;bottom:calc(var(--space-4) * -1)}.hub .stage.is-complete:after,.hub .stage.is-complete+.stage:before,.hub .stage.has-completed-predecessor:before{background:var(--stage-complete)}.hub .spine>.stage:last-child:after{bottom:calc(var(--group-bridge) * -1)}.hub .group:first-of-type .spine>.stage:first-child:before,.hub .group:last-of-type .spine>.stage:last-child:after{display:none}.hub .stage .node{left:calc(var(--spine-offset) * -1);width:var(--node-size);height:var(--node-size);background:var(--bg-page);border:2px solid var(--line-default);z-index:1;letter-spacing:.02em;color:var(--text-disabled);border-radius:50%;place-items:center;font-size:15px;font-weight:700;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.hub .stage-body{flex:1;min-width:0}.hub .stage-title{font-family:var(--font-body);font-weight:700;font-size:var(--fs-card-title);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 var(--space-3);color:var(--text-muted);line-height:1.15}.hub .stage-desc{color:var(--text-muted);max-width:52ch;margin:0}.hub .meta{align-items:center;gap:var(--space-3);margin-top:var(--space-4);font-size:var(--fs-meta);color:var(--text-muted);flex-wrap:wrap;display:flex}.hub .dot-sep{background:var(--text-disabled);border-radius:50%;width:3px;height:3px}.hub .prep{align-items:center;gap:var(--space-2);color:var(--amber);display:inline-flex}.hub .prep:before{content:"";background:var(--amber);border-radius:50%;flex:none;width:6px;height:6px}.hub .stage-action{text-align:center;align-items:stretch;gap:var(--space-3);flex-direction:column;flex:none;width:170px;display:flex}.hub .status{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-disabled)}.hub .stage.is-complete .node{border-color:var(--stage-complete);color:var(--stage-complete)}.hub .stage.is-locked .node{border-style:dashed}.hub .stage.is-complete .stage-title,.hub .stage.is-complete .status{color:var(--stage-complete)}.hub .stage.is-active{border-color:var(--stage-active)}.hub .stage.is-active .stage-title{color:var(--stage-active)}.hub .stage.is-active .node{border-color:var(--stage-active);color:var(--text-on-accent);background:var(--stage-active)}.hub .stage.is-active .status{color:var(--stage-active)}.hub .progress{background:var(--border);border-radius:2px;width:100%;height:3px;overflow:hidden}.hub .progress span{background:var(--stage-active);width:46%;height:100%;display:block}.hub .stage.is-locked{background:0 0;border-style:dashed}.hub .stage.is-locked .stage-title,.hub .stage.is-locked .stage-desc{color:var(--text-disabled)}.hub .book{margin-top:var(--space-12);background:var(--bg-deep);border:1px solid var(--line-default);border-radius:var(--radius);padding:var(--space-8);gap:var(--space-8);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.hub .book h3{font-family:var(--font-body);font-weight:700;font-size:var(--fs-card-title);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 var(--space-3);line-height:1.15}.hub .book p{color:var(--text-muted);max-width:48ch;margin:0}.hub footer{border-top:1px solid var(--line-default);margin-top:var(--space-16);padding:var(--space-8) 0;font-size:var(--fs-meta);color:var(--text-disabled)}@media (max-width:900px){.hub .nav-right .stat{display:none}.hub .spine{padding-left:0}.hub .group-head{margin-left:0}.hub .stage:before,.hub .stage:after{display:none}.hub .stage{gap:var(--space-5);padding:var(--space-5);flex-direction:column}.hub .stage .node{margin-top:var(--space-2);margin-bottom:var(--space-1);position:static}.hub .stage-action{text-align:left;align-items:stretch;width:100%}.hub .progress{width:100%}.hub .btn{text-align:center;width:100%}}.session{--session-measure:720px}.session .nav-in{width:100%;max-width:1120px;padding:0 var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-5);margin:0 auto;display:flex}.session .nav-l,.session .nav-r{align-items:center;gap:var(--space-5);display:flex}.session .back{align-items:center;gap:var(--space-2);font-size:var(--fs-nav);letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur) ease;text-decoration:none;display:inline-flex}.session .back:hover{color:var(--text-primary)}.session .rule{background:var(--line-default);width:1px;height:26px}.session .where{flex-direction:column;gap:3px;min-width:0;display:flex}.session .where-top{align-items:baseline;gap:var(--space-3);display:flex}.session .pos{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-label)}.session .stage-name{font-family:var(--font-body);letter-spacing:var(--ls-nav);text-transform:uppercase;font-size:14px;font-weight:700}.session .topic{font-size:var(--fs-meta);color:var(--text-muted)}.session .saved{align-items:center;gap:var(--space-2);font-size:var(--fs-meta);color:var(--text-muted);display:inline-flex}.session .saved:before{content:"";background:var(--stage-complete);border-radius:50%;width:6px;height:6px}.session .ghost{border:1px solid var(--line-subtle);color:var(--text-muted);font-size:var(--fs-btn);letter-spacing:var(--ls-button);text-transform:uppercase;border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur) ease,color var(--dur) ease;background:0 0;padding:10px 18px;font-weight:700}.session .ghost:hover{border-color:var(--line-hover);color:var(--text-primary)}.session main{max-width:var(--session-measure);padding:calc(var(--nav-h) + var(--space-12)) var(--space-8) 200px;margin:0 auto}.session .turn{margin-bottom:var(--space-8)}.session .who{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-disabled);margin-bottom:var(--space-3)}.session .boss p{margin:0 0 var(--space-4);max-width:62ch}.session .boss p:last-child{margin-bottom:0}.session .boss em{color:var(--text-primary);font-style:italic}.session .user{padding-left:var(--space-8);border-left:2px solid var(--line-default)}.session .user .who{color:var(--glaucous)}.session .user p{color:var(--text-muted);max-width:62ch;margin:0}.session .thinking{align-items:center;gap:var(--space-3);color:var(--text-muted);display:flex}.session .pulse{background:var(--action-primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.session .output{background:var(--bg-deep);border:1px solid var(--line-default);border-radius:var(--radius);margin-top:var(--space-5);overflow:hidden}.session .output-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-default);display:flex}.session .output-head strong{font-family:var(--font-body);font-weight:700;font-size:var(--fs-meta);letter-spacing:1.2px;text-transform:uppercase;color:var(--stage-complete)}.session .output-body{padding:var(--space-5);font-size:14px}.session .output-body h4{font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-label);margin:var(--space-5) 0 var(--space-2)}.session .output-body h4:first-child{margin-top:0}.session .output-body p{margin:0 0 var(--space-2);color:var(--text-muted)}.session .fade{height:60px;margin-top:calc(var(--space-5) * -1);background:linear-gradient(transparent,var(--bg-deep))}.session .output-foot{gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--line-default);flex-wrap:wrap;display:flex}.session .composer{background:linear-gradient(transparent,var(--bg-page) 28%);padding:var(--space-12) var(--space-8) var(--space-5);position:fixed;bottom:0;left:0;right:0}.session .composer-in{max-width:var(--session-measure);margin:0 auto}.session .field{align-items:flex-end;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--line-default);border-radius:var(--radius);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);transition:border-color var(--dur) ease;display:flex}.session .field:focus-within{border-color:var(--line-subtle)}.session .field textarea{resize:none;color:var(--text-primary);font-family:inherit;font-size:var(--fs-body);line-height:var(--lh-body);padding:var(--space-2) 0;background:0 0;border:0;outline:none;flex:1;max-height:160px}.session .field textarea::placeholder{color:var(--text-disabled)}.session .hint{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--fs-meta);color:var(--text-disabled);display:flex}.session .hint a{color:var(--text-muted)}.session .scrim{z-index:150;opacity:0;pointer-events:none;transition:opacity var(--dur) ease;background:#0c0c1a99;position:fixed;inset:0}.session .drawer{z-index:160;background:var(--bg-deep);border-left:1px solid var(--line-default);width:min(420px,90vw);transition:transform var(--dur) ease;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.session.open .scrim{opacity:1;pointer-events:auto}.session.open .drawer{transform:none}.session .drawer-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--line-default);display:flex}.session .drawer-head h2{font-family:var(--font-body);letter-spacing:var(--ls-nav);text-transform:uppercase;margin:0;font-size:14px;font-weight:700}.session .x{color:var(--text-muted);cursor:pointer;padding:var(--space-2);background:0 0;border:0;font-size:20px;line-height:1}.session .x:hover{color:var(--text-primary)}.session .drawer-body{padding:var(--space-5);overflow-y:auto}.session .drawer-note{color:var(--text-muted);font-size:var(--fs-meta);margin:0 0 var(--space-5)}.session .rec{border-top:1px solid var(--line-default);padding:var(--space-4) 0}.session .rec h3{font-size:var(--fs-meta);margin:0 0 var(--space-2);color:var(--stage-complete);font-weight:600}.session .rec p{color:var(--text-muted);margin:0;font-size:14px}.session .is-hidden{display:none}@media (max-width:760px){.session .nav-in{padding:0 var(--space-5)}.session .rule,.session .topic,.session .saved{display:none}.session main{padding:calc(var(--nav-h) + var(--space-8)) var(--space-5) 200px}.session .composer{padding:var(--space-8) var(--space-5) var(--space-4)}.session .user{padding-left:var(--space-5)}}
