.map{background:var(--ground);position:absolute;inset:0;overflow:hidden}.map canvas{width:100%;height:100%;display:block}.map[data-interactive=true] canvas{touch-action:none}.map-recentre{right:var(--s-3);bottom:var(--s-3);width:var(--tap);height:var(--tap);border:1px solid var(--rule-hi);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;padding:0;display:grid;position:absolute}.map-recentre:active{background:var(--overlay)}.map-recentre svg{display:block}.map-credit{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.place-list{border:1px solid var(--rule-hi);border-radius:var(--r-md);background:var(--raised);margin:0;padding:0;list-style:none;overflow:hidden}.place-list[hidden]{display:none}.place-option{align-items:baseline;gap:var(--s-3);min-height:52px;padding:var(--s-3) var(--s-4);cursor:pointer;display:flex}.place-option+.place-option{border-top:1px solid var(--rule)}.place-option.is-active,.place-option:active{background:var(--overlay)}.place-name{font-size:var(--t-base);color:var(--ink)}.place-alias{font-size:var(--t-small);color:var(--muted)}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#08090a;--surface:#101315;--raised:#191d20;--overlay:#23282c;--ink:#f6f8f9;--dim:#b9c0c5;--muted:#848d93;--faint:#565e63;--rule:#1c2023;--rule-hi:#2e3439;--rule-loud:#5a6267;--inverse:#fff;--inverse-ink:#08090a;--danger:#ff4f3b;--danger-ink:#0a0403;--danger-line:#7e2418;--danger-soft:#1e0c09;--garnet:var(--danger);--garnet-line:var(--danger-line);--garnet-soft:var(--danger-soft);--gold:var(--ink);--gold-line:var(--rule-hi);--gold-soft:var(--raised);--t-micro:.6875rem;--t-small:.8125rem;--t-body:.9375rem;--t-base:1rem;--t-lead:1.1875rem;--t-title:1.5rem;--t-figure:2rem;--t-display:2.75rem;--t-hero:clamp(2.75rem, 13vw, 4.25rem);--w-regular:400;--w-medium:600;--w-bold:700;--track-caps:.16em;--track-tight:-.02em;--track-hero:-.035em;--ui:Archivo, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--pad:var(--s-6);--tap:44px;--tap-lg:56px;--tap-xl:64px;--r-sm:4px;--r-md:10px;--r-lg:20px;--r-pill:999px;--dur:.18s;--ease:cubic-bezier(.2, .8, .2, 1);--focus:var(--ink)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#fff;--surface:#f7f8f9;--raised:#eff1f3;--overlay:#e3e6e9;--ink:#0b0d0e;--dim:#3f464b;--muted:#636b70;--faint:#a2a9ad;--rule:#e6e9eb;--rule-hi:#d2d7da;--rule-loud:#767e83;--inverse:#0b0d0e;--inverse-ink:#fff;--danger:#c4210c;--danger-ink:#fff;--danger-line:#e8a79d;--danger-soft:#fceeeb}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--ui);font-size:var(--t-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.eyebrow{font-size:var(--t-micro);font-weight:var(--w-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:var(--track-tight)}.hint{color:var(--muted);font-size:var(--t-small)}.num.strong,.num.gold{color:var(--ink);font-weight:var(--w-bold)}.num.danger,.num.garnet{color:var(--danger);font-weight:var(--w-bold)}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:5;background:var(--ground);align-items:center;gap:var(--s-2) var(--s-4);padding:var(--s-2) var(--pad);border-bottom:1px solid var(--rule);min-height:var(--tap-lg);flex-wrap:wrap;display:flex;position:sticky;top:0}.mark{font-weight:var(--w-bold);letter-spacing:var(--track-tight);font-size:var(--t-base);color:var(--muted);white-space:nowrap}.mark span{color:var(--ink)}.topbar .who{margin-left:auto}@media (width<=700px){.topbar .who .eyebrow{display:none}}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-shell>.topbar{flex:none}.app-screen{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.app-screen>.canvas-frame{flex:auto;height:auto}.app-screen .shell{min-height:100%}.narrow{width:100%;max-width:540px;margin:0 auto}.gate{padding-top:var(--s-7);padding-bottom:var(--s-8)}.gate .mark{font-size:var(--t-title);display:block}.gate .status-block{padding:var(--s-5) 0 var(--s-2)}.gate .status-line{color:var(--ink);font-weight:var(--w-medium)}.pad{padding:0 var(--pad)}.measures{border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.measure{padding:var(--s-5) var(--pad) var(--s-5);gap:var(--s-2);flex-direction:column;flex:140px;min-width:0;display:flex}.measure+.measure{border-left:1px solid var(--rule)}.measure-v{font-family:var(--mono);font-size:var(--t-figure);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.measure-v.strong,.measure-v.gold{color:var(--ink);font-weight:500}.measure-v.danger,.measure-v.garnet{color:var(--danger)}.measure-s{font-size:var(--t-small);color:var(--muted)}.alert{padding:var(--s-4) var(--pad);border-bottom:1px solid var(--danger-line);border-top:2px solid var(--danger);background:var(--danger-soft);gap:var(--s-1);flex-direction:column;display:flex}.alert-t{font-weight:var(--w-bold);color:var(--danger);font-size:var(--t-body)}.alert-b{color:var(--dim);font-size:var(--t-small);max-width:76ch}.app-screen>.alert{flex:none}.section{padding:var(--s-6) var(--pad) var(--s-2)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--rule-hi);display:flex}.list{flex-direction:column;display:flex}.item{gap:var(--s-1) var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr) auto;grid-auto-rows:min-content;align-items:baseline;display:grid}.item>.rank{grid-area:1/1}.item>.title{grid-area:1/2}.item>.trail{grid-area:1/3}.item>.sub{grid-area:2/2}.item>.note{grid-area:3/2}.item>.row-form{grid-area:4/2}.item>.row-actions{grid-area:2/3/4;align-self:end}.item.priority,.item.blocked{box-shadow:inset 3px 0 0 var(--ink);padding-left:var(--s-3)}.item.critical{box-shadow:inset 3px 0 0 var(--danger);padding:var(--s-5) 0 var(--s-5) var(--s-3);background:var(--danger-soft)}.item.critical .btn.quiet{color:var(--ink)}.rank{font-family:var(--mono);color:var(--muted);font-size:var(--t-body);text-align:right;font-variant-numeric:tabular-nums}.item.priority .rank,.item.blocked .rank{background:var(--inverse);color:var(--inverse-ink);font-weight:var(--w-bold);border-radius:var(--r-sm);padding:2px var(--s-1);text-align:center}.item .rank.blank{color:var(--muted);font-weight:var(--w-regular);background:0 0;padding:0}.item.critical .rank{background:var(--danger);color:var(--danger-ink);font-weight:var(--w-bold);border-radius:var(--r-sm);padding:2px var(--s-1);text-align:center}.item.lead-dot{grid-template-columns:14px minmax(0,1fr) auto}.item.lead-sm{grid-template-columns:40px minmax(0,1fr) auto}.item.lead-time{grid-template-columns:74px minmax(0,1fr) auto}.item.lead-time .title{align-items:center}.title{align-items:baseline;gap:var(--s-2);flex-wrap:wrap;min-width:0;display:flex}.title strong{font-weight:var(--w-medium);font-size:var(--t-body)}.item.priority .title strong,.item.blocked .title strong,.item.critical .title strong{font-size:var(--t-lead);font-weight:var(--w-bold);letter-spacing:var(--track-tight)}.sub{color:var(--dim);font-size:var(--t-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note{color:var(--muted);font-size:var(--t-small)}.trail{align-items:flex-end;gap:var(--s-1);flex-direction:column;display:flex}.trail .num{font-size:var(--t-base);color:var(--muted)}.trail .hint{font-size:var(--t-micro)}.trail .num.t2{color:var(--dim)}.trail .num.t3{color:var(--ink);font-weight:var(--w-bold)}.trail .num.t4{color:var(--inverse-ink);background:var(--inverse);font-weight:var(--w-bold);border-radius:var(--r-sm);padding:1px var(--s-2)}.tag{font-size:var(--t-micro);font-weight:var(--w-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted);white-space:nowrap}.tag.strong,.tag.gold{color:var(--ink)}.item.priority .tag.strong,.item.priority .tag.gold,.item.blocked .tag.strong,.item.blocked .tag.gold{border:1px solid var(--ink);border-radius:var(--r-sm);padding:1px var(--s-2)}.tag.danger,.tag.garnet{color:var(--danger);border:1px solid var(--danger-line);border-radius:var(--r-sm);padding:1px var(--s-2)}.item.critical .tag.danger,.item.critical .tag.garnet{background:var(--danger);color:var(--danger-ink);border-color:var(--danger)}.tag.rule{border:1px solid var(--rule-hi);border-radius:var(--r-sm);padding:1px var(--s-2)}.state{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.04em;color:var(--muted)}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot.available{background:var(--ink)}.dot.busy{background:var(--muted)}.dot.recalled{background:var(--danger)}.dot.off{box-shadow:inset 0 0 0 1.5px var(--rule-loud);background:0 0}.dot.stopped{box-shadow:inset 0 0 0 3px var(--danger);background:0 0}.btn{font-family:var(--ui);font-size:var(--t-body);font-weight:var(--w-medium);min-height:var(--tap);padding:0 var(--s-4);cursor:pointer;color:var(--ink);border:1px solid var(--rule-hi);border-radius:var(--r-sm);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted);background:var(--raised)}.btn:active:not(:disabled){background:var(--overlay)}.btn:disabled{color:var(--faint);border-color:var(--rule);cursor:not-allowed}.btn.solid{background:var(--inverse);color:var(--inverse-ink);border-color:var(--inverse);font-weight:var(--w-bold)}.btn.solid:hover:not(:disabled){background:var(--inverse);opacity:.88}.btn.solid:disabled{background:var(--raised);color:var(--faint);border-color:var(--rule)}.btn.danger-block{width:100%;min-height:var(--tap-lg);font-size:var(--t-lead);background:var(--danger-soft);border-color:var(--danger-line);border-radius:var(--r-md);box-shadow:inset 3px 0 0 var(--danger);justify-content:flex-start;display:flex}.btn.danger-block:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.danger-block:disabled{box-shadow:none;color:var(--faint);border-color:var(--rule);background:0 0}.btn.strong,.btn.gold{border-color:var(--ink);color:var(--ink);font-weight:var(--w-bold)}.btn.danger,.btn.garnet{border-color:var(--danger-line);color:var(--danger);font-weight:var(--w-bold)}.btn.danger:hover:not(:disabled),.btn.garnet:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.big{width:100%;min-height:var(--tap-lg);font-size:var(--t-lead);font-weight:var(--w-bold);letter-spacing:var(--track-tight);display:flex}.btn.quiet{color:var(--muted);padding:0 var(--s-2);font-weight:var(--w-medium);border-color:#0000}.btn.quiet:hover:not(:disabled){color:var(--ink);background:var(--raised);border-color:#0000}.btn[aria-current=page],.btn[aria-pressed=true]{color:var(--ink);font-weight:var(--w-bold);border-color:var(--ink);background:var(--raised)}.row-actions{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.stack{gap:var(--s-3);flex-direction:column;display:flex}.inline{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.field{gap:var(--s-2);margin-bottom:var(--s-5);flex-direction:column;display:flex}.field label{font-size:var(--t-micro);font-weight:var(--w-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{font-family:var(--ui);font-size:var(--t-base);min-height:48px;color:var(--ink);border:0;border-bottom:1px solid var(--rule-hi);padding:var(--s-2) 0;background:0 0;border-radius:0;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-bottom:2px solid var(--ink);padding-bottom:calc(var(--s-2) - 1px);outline:none}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.form-error{color:var(--danger);font-size:var(--t-small);font-weight:var(--w-medium);max-width:68ch}.panel{padding:var(--s-4) var(--s-5);background:var(--surface);border-left:3px solid var(--ink);border-radius:0 var(--r-md) var(--r-md) 0;gap:var(--s-2);flex-direction:column;display:flex}.panel-t{font-weight:var(--w-bold);font-size:var(--t-body);color:var(--ink)}.panel-b{color:var(--dim);font-size:var(--t-small);max-width:76ch}.huge{font-family:var(--mono);font-size:var(--t-hero);letter-spacing:var(--track-hero);font-variant-numeric:tabular-nums;overflow-wrap:break-word;line-height:.95}.status-block{padding:var(--s-7) var(--pad);gap:var(--s-3);flex-direction:column;display:flex}.status-line{font-size:var(--t-lead);color:var(--dim)}.cols{grid-template-columns:minmax(0,1fr) 300px;display:grid}.cols>*+*{border-left:1px solid var(--rule)}@media (width<=900px){.cols{grid-template-columns:minmax(0,1fr)}.cols>*+*{border-left:0;border-top:1px solid var(--rule)}:root{--pad:var(--s-5)}}.footbar{gap:var(--s-2);padding:var(--s-4) var(--pad);border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.footbar .hint{flex:1;min-width:200px}.footbar>.btn:first-child{margin-left:auto}.summary{gap:var(--s-2) var(--s-5);padding:var(--s-4) var(--pad);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;display:flex}.summary .num{font-size:var(--t-base);color:var(--dim)}.summary .hint{margin-left:auto}.subnav{gap:var(--s-2);padding:var(--s-2) var(--pad);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.switch{padding:var(--s-2) var(--pad) var(--s-6)}.checks{flex-basis:100%}.checks summary{cursor:pointer;min-height:var(--tap);align-items:center;display:flex}.checks p{padding-top:var(--s-2);max-width:68ch}.row-form{padding-top:var(--s-3)}.row-form .ui-field{margin-bottom:var(--s-1)}.footbar .danger-shell{flex:320px;max-width:480px;margin-left:auto}.empty{padding:var(--s-6) 0;color:var(--muted);font-size:var(--t-body)}pre.export{font-family:var(--mono);font-size:var(--t-small);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s-4);color:var(--dim);line-height:1.6;overflow-x:auto}.bar{background:var(--rule-loud);border-radius:var(--r-pill);min-width:2px;height:8px;display:block}.canvas-frame{background:var(--ground);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.canvas{background:var(--surface);flex:auto;min-height:0;position:relative;overflow:hidden}.canvas>:only-child{width:100%;height:100%}.canvas-fill{width:100%;height:100%;position:absolute;inset:0}.sheet{z-index:1;background:var(--surface);border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg);min-height:0;max-height:82%;box-shadow:0 -1px 0 var(--rule-hi), 0 -24px 48px #00000073;flex-direction:column;flex:0 auto;display:flex;position:relative}.sheet.plain{box-shadow:none;background:var(--ground);border-radius:0;flex:auto;max-height:none}.grabber{border-radius:var(--r-pill);background:var(--rule-loud);width:36px;height:4px;margin:var(--s-3) auto var(--s-1);flex:none}.sheet-body{padding:var(--s-5) var(--pad) var(--s-4);-webkit-overflow-scrolling:touch;gap:var(--s-5);flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.sheet-body>*{flex:none}.sheet-body .ui-field{margin-bottom:0}.sheet-foot{padding:var(--s-3) var(--pad) calc(var(--s-5) + env(safe-area-inset-bottom,0px));gap:var(--s-3);border-top:1px solid var(--rule);flex-direction:column;flex:none;display:flex}.sheet.plain .sheet-foot{border-top:0}.headline{gap:var(--s-3);flex-direction:column;display:flex}.headline-fact{font-size:var(--t-hero);font-weight:var(--w-bold);letter-spacing:var(--track-hero);color:var(--ink);overflow-wrap:break-word;line-height:.95}.headline-fact.num-fact{font-family:var(--mono);font-variant-numeric:tabular-nums}.headline-detail{font-size:var(--t-lead);color:var(--dim)}.headline-hint{font-size:var(--t-small);color:var(--muted)}.action-hint{font-size:var(--t-small);color:var(--muted);display:block}.action{font-family:var(--ui);width:100%;min-height:var(--tap-xl);padding:var(--s-3) var(--s-5);justify-content:center;align-items:center;gap:var(--s-3);font-size:var(--t-lead);font-weight:var(--w-bold);letter-spacing:var(--track-tight);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur) var(--ease), opacity var(--dur) var(--ease);border:1px solid #0000;line-height:1.2;display:flex}.action:disabled,.action[aria-disabled=true]{cursor:not-allowed}.action-primary{background:var(--inverse);color:var(--inverse-ink);border-color:var(--inverse)}.action-primary:hover:not(:disabled):not([aria-disabled=true]):not([data-busy=true]){opacity:.88}.action-primary:active:not(:disabled):not([aria-disabled=true]):not([data-busy=true]){opacity:.76}.action-primary:disabled,.action-primary[aria-disabled=true]{background:var(--raised);color:var(--faint);border-color:var(--rule)}.action-primary[data-busy=true]{background:var(--inverse);color:var(--inverse-ink);opacity:.72}.action-secondary{color:var(--ink);border-color:var(--rule-hi);font-weight:var(--w-medium);min-height:var(--tap-lg);font-size:var(--t-base);background:0 0}.action-secondary:hover:not(:disabled){background:var(--raised)}.action-secondary:disabled{color:var(--faint);border-color:var(--rule)}.action-danger{width:auto;min-height:var(--tap);padding:0 var(--s-4);font-size:var(--t-body);color:var(--danger);border-color:var(--danger-line);background:0 0;align-self:flex-end}.action-danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--danger-soft);border-color:var(--danger)}.action-danger.armed{background:var(--danger);color:var(--danger-ink);border-color:var(--danger);width:100%;min-height:var(--tap-lg);font-size:var(--t-lead);align-self:stretch}.action-danger.armed:hover:not(:disabled):not([aria-disabled=true]){background:var(--danger);border-color:var(--danger);opacity:.9}.action-danger.armed:active:not(:disabled):not([aria-disabled=true]){opacity:.8}.action-danger:disabled,.action-danger[aria-disabled=true]{color:var(--faint);border-color:var(--rule);background:0 0}.action-danger.armed:disabled,.action-danger.armed[aria-disabled=true],.action-danger.armed[data-busy=true]{background:var(--danger);color:var(--danger-ink);border-color:var(--danger);opacity:.72}.danger-shell{gap:var(--s-2);flex-direction:column;align-items:stretch;display:flex}.danger-armed-row{gap:var(--s-2);align-items:stretch;display:flex}.danger-armed-row .action-secondary{min-height:var(--tap-lg);flex:50%}.danger-armed-row .action-danger{flex:50%}.danger-hint{font-size:var(--t-small);color:var(--muted);text-align:right}.danger-hint.armed{color:var(--danger);text-align:left;font-weight:var(--w-medium)}.ui-field{gap:var(--s-2);margin-bottom:var(--s-5);flex-direction:column;max-width:36rem;display:flex}.ui-field>label{font-size:var(--t-micro);font-weight:var(--w-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.ui-field input,.ui-field select,.ui-field textarea{font-family:var(--ui);font-size:var(--t-base);width:100%;min-height:52px;color:var(--ink);background:var(--raised);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);border:1px solid #0000}.ui-field input:focus,.ui-field select:focus,.ui-field textarea:focus{border-color:var(--ink);background:var(--overlay);outline:none}.ui-field input:focus-visible,.ui-field select:focus-visible,.ui-field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.ui-field input::placeholder,.ui-field textarea::placeholder{color:var(--faint)}.ui-field[data-invalid=true] input,.ui-field[data-invalid=true] select,.ui-field[data-invalid=true] textarea{border-color:var(--danger)}.field-hint{font-size:var(--t-small);color:var(--muted)}.field-error{font-size:var(--t-small);color:var(--danger);font-weight:var(--w-medium)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
