@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_1243c3{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_1243c3{--font-bricolage:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/084282eba306c257-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/ec1d0aa2d2fbc083-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1dd23950e6cd390-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/0c7826ffb3acea36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/692df4da22e71021-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_bea9d5{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_bea9d5{--font-source-sans:"Source Sans 3","Source Sans 3 Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_4dc837{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}:root{--ink:#172430;--ink-2:#3b4a57;--ink-3:#5d6b77;--paper:#f2f3ef;--card:#ffffff;--line:#d9ddd5;--line-2:#e7e9e3;--amber:#a0661a;--amber-ink:#7d4f12;--amber-soft:#f4e8d6;--teal:#1d6b6b;--teal-soft:#dcece9;--red:#a23a2a;--red-soft:#f6e1dc;--green:#2f6b3a;--green-soft:#e0eedf;--night:#0f1b24;--night-2:#16262f;--night-line:#24394a;--night-desk:#2c4656;--night-desk-side:#213744;--night-text:#e8eef1;--night-dim:#9fb3bf;--font-display:var(--font-bricolage),"Bricolage Grotesque",system-ui,sans-serif;--font-body:var(--font-source-sans),"Source Sans 3",system-ui,sans-serif;--font-mono:var(--font-jetbrains),"JetBrains Mono",ui-monospace,monospace;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px rgba(23,36,48,0.06),0 4px 14px rgba(23,36,48,0.06);--gutter:16px;--tap:44px}*{box-sizing:border-box}body,html{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;margin:0 0 .4em;letter-spacing:-.01em}h1{font-size:clamp(1.6rem,3vw,2.2rem)}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 .75em}a{color:var(--teal)}a:hover{color:var(--ink)}:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}.mono,.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--ink);color:#fff}.topbar-inner{max-width:1240px;margin:0 auto;padding:0 var(--gutter);gap:20px;min-height:56px;flex-wrap:wrap}.brand,.topbar-inner{display:flex;align-items:center}.brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#fff;text-decoration:none;gap:10px}.brand-mark{width:26px;height:26px;border-radius:6px;background:var(--amber);display:grid;place-items:center;font-size:.8rem}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{color:#d5dde3;text-decoration:none;padding:0 12px;min-height:var(--tap);display:inline-flex;align-items:center;border-radius:var(--radius-sm)}.nav a:hover,.nav a[aria-current=page]{background:rgba(255,255,255,.1);color:#fff}.nav .badge{margin-left:6px}.userchip{margin-left:auto;font-size:.875rem;color:#d5dde3;display:flex;gap:8px;align-items:center}a.userchip{text-decoration:none}a.userchip:hover span:first-child{text-decoration:underline}.userchip .role{font-family:var(--font-mono);font-size:.75rem;background:rgba(255,255,255,.12);padding:2px 8px;border-radius:99px}.dryrun-banner{background:var(--amber-soft);color:var(--amber-ink);font-size:.875rem;text-align:center;padding:6px var(--gutter);border-bottom:1px solid #e6d3b6}main{max-width:1240px;margin:0 auto;padding:24px var(--gutter) 64px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head p{margin:0;color:var(--ink-2);max-width:62ch}.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:20px;gap:20px}.stack{display:grid;grid-gap:12px;gap:12px}.row{display:flex;flex-wrap:wrap}.btn,.row{gap:8px;align-items:center}.btn{font:inherit;font-weight:600;min-height:var(--tap);padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;display:inline-flex;text-decoration:none}.btn:hover{background:#22384a}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{border-color:var(--ink)}.btn.approve{background:var(--teal);border-color:var(--teal)}.btn.approve:hover{background:#175656}.btn.reject{background:transparent;color:var(--red);border-color:#e3b9b0}.btn.reject:hover{background:var(--red-soft)}.badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.72rem;line-height:1;padding:4px 8px;border-radius:99px;background:var(--line-2);color:var(--ink-2);white-space:nowrap}.badge.teal{background:var(--teal-soft);color:var(--teal)}.badge.amber{background:var(--amber-soft);color:var(--amber-ink)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.green{background:var(--green-soft);color:var(--green)}.badge.ink{background:var(--ink);color:#fff}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.empty{border:1px dashed var(--line);border-radius:var(--radius);padding:24px;text-align:center;color:var(--ink-3);background:rgba(255,255,255,.5)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.925rem}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}th{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:500}details>summary{cursor:pointer;min-height:32px;display:flex;align-items:center;gap:6px;font-weight:600}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:4px 14px;gap:4px 14px;font-size:.925rem}.kv dt{color:var(--ink-3)}.kv dd{margin:0}.email{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:12px;white-space:pre-wrap}.email,.notice{font-size:.925rem}.notice{border-left:3px solid var(--amber);background:var(--amber-soft);padding:10px 12px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.notice.red{border-color:var(--red);background:var(--red-soft)}label{font-weight:600;font-size:.9rem;display:block;margin-bottom:4px}input[type=email],input[type=password],input[type=text],textarea{font:inherit;width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;min-height:var(--tap);background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:28px 0 16px;overflow-x:auto}.tabs a{text-decoration:none;color:var(--ink-2);padding:0 14px;min-height:var(--tap);display:inline-flex;align-items:center;gap:6px;border-bottom:3px solid transparent;white-space:nowrap;font-weight:600}.tabs a[aria-current=page]{color:var(--ink);border-color:var(--amber)}.building{position:relative;max-width:860px}.roof{background:var(--ink);color:#fff;border-radius:14px 14px 0 0;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.roof .sign{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.storey{display:grid;grid-template-columns:8px minmax(0,1fr) auto;background:var(--card);border:1px solid var(--line);border-top:none;min-height:132px}.storey .stripe{background:var(--floor-colour,var(--teal))}.storey-body{padding:16px 18px;display:grid;grid-gap:8px;gap:8px}.storey-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.storey-title a{color:var(--ink);text-decoration:none;font-family:var(--font-display);font-size:1.25rem;font-weight:700}.storey-title a:after{content:" →";color:var(--ink-3)}.storey-title a:hover{color:var(--teal)}.storey-side{padding:16px 18px;display:flex;flex-direction:column;gap:8px;align-items:flex-end;justify-content:center;border-left:1px solid var(--line-2);min-width:200px}.window-row{display:flex;gap:6px;flex-wrap:wrap}.window{width:34px;height:26px;border-radius:4px;background:var(--night-2);border:1px solid var(--night-line);display:grid;place-items:center;font-family:var(--font-mono);font-size:.62rem;color:var(--night-dim)}.window.working{background:#20453f;color:#bfe9df;border-color:#2e6b62}.window.done{background:#233a2c;color:#c3e2c7}.window.waiting{background:#5a4115;color:#ffe2b0;border-color:var(--amber)}.window.failed{background:#5a2219;color:#ffd0c6}.window.human{border-style:dashed;border-color:var(--amber)}.progress{height:6px;background:var(--line-2);border-radius:99px;overflow:hidden;max-width:320px}.progress>span{display:block;height:100%;background:var(--floor-colour,var(--teal));transition:width .4s ease}.basement-storey{background:#1d2b36;color:var(--night-text);border-radius:0 0 14px 14px;padding:16px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.basement-storey a{color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.1rem;text-decoration:none}.basement-storey a:after{content:" →";opacity:.6}.basement-storey .muted{color:var(--night-dim)}.ground{height:10px;background:repeating-linear-gradient(90deg,var(--line) 0 12px,transparent 12px 20px);margin-top:6px;border-radius:4px}.feed{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.feed li{display:grid;grid-template-columns:62px minmax(0,1fr);grid-gap:10px;gap:10px;padding:6px 0;border-bottom:1px solid var(--line-2);font-size:.9rem}.feed time{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-3);padding-top:2px}.scene{background:radial-gradient(ellipse at 50% 30%,#1a2d38 0,var(--night) 70%);border-radius:14px;color:var(--night-text);padding:12px;overflow:hidden}.scene-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:12px;gap:12px}.scene svg{width:100%;height:auto;display:block}.scene .label{font-family:var(--font-body);font-size:13px;fill:var(--night-text);font-weight:600}.scene .sublabel{font-family:var(--font-mono);font-size:10px;fill:var(--night-dim)}.packet{transition:transform .85s cubic-bezier(.55,0,.25,1)}.livelog{background:rgba(0,0,0,.25);border:1px solid var(--night-line);border-radius:var(--radius);padding:10px 12px;font-family:var(--font-mono);font-size:.75rem;line-height:1.45;max-height:380px;overflow-y:auto}.livelog h3{font-family:var(--font-display);font-size:.95rem;color:#fff;margin-bottom:8px}.livelog ol{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.livelog time{color:var(--night-dim);margin-right:6px}.livelog .who{color:#8fd3c7}.timeline{display:flex;gap:4px;margin-top:12px;overflow-x:auto;padding-bottom:4px}.timeline li{list-style:none;flex:1 0 104px;background:rgba(255,255,255,.04);border:1px solid var(--night-line);border-radius:8px;padding:8px;font-size:.78rem;color:var(--night-dim)}.timeline li strong{display:block;color:var(--night-text);font-size:.85rem}.timeline li.running{border-color:#3aa597;background:rgba(58,165,151,.15)}.timeline li.done{border-color:#2f5f45}.timeline li.waiting{border-color:var(--amber);background:rgba(160,102,26,.18)}.timeline li.failed{border-color:#c4553f;background:rgba(196,85,63,.15)}.timeline li.skipped{opacity:.55}.scene-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 4px 8px}.scene-head .status{font-family:var(--font-mono);font-size:.8rem;color:var(--night-dim)}.play{display:grid;grid-gap:10px;gap:10px}.play-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}.play-head h3{margin:0}.cols{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.cols,.hits{display:grid}.hits{list-style:none;margin:0;padding:0;grid-gap:4px;gap:4px;font-size:.875rem}.hits li{display:grid;grid-template-columns:44px minmax(0,1fr);grid-gap:8px;gap:8px}.decision-form{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line-2);padding-top:12px}.toast{font-size:.9rem;padding:8px 12px;border-radius:var(--radius-sm);background:var(--green-soft);color:var(--green)}.toast.error{background:var(--red-soft);color:var(--red)}.login{min-height:70vh;display:grid;place-items:center}.login .card{max-width:420px;width:100%;text-align:center;padding:32px 24px}.stack-form{display:grid;grid-gap:14px;gap:14px;text-align:left;margin:16px 0}.account{max-width:640px;display:grid;grid-gap:20px;gap:20px}.account .stack-form{margin:12px 0 0}.qr{width:200px;height:200px;background:#fff;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm)}.qr svg{width:100%;height:100%;display:block}.secret-key{font-family:var(--font-mono);font-size:.95rem;letter-spacing:.08em;word-break:break-all}@media (max-width:900px){.grid-2,.scene-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.storey{grid-template-columns:6px minmax(0,1fr)}.storey-side{grid-column:2;align-items:stretch;border-left:none;border-top:1px solid var(--line-2);min-width:0}.userchip{margin-left:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}