@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/InstrumentSans-400.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/InstrumentSans-500.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/InstrumentSans-600.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("fonts/InstrumentSans-700.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/JetBrainsMono-400.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/JetBrainsMono-500.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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: 'Newsreader';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/Newsreader-300i.woff2") format('woff2');
  unicode-range: U+0000-00FF, 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;
}
:root{--bg:#F3EFE7;--card:#FBF9F5;--surf:#FFFFFF;--ink:#141210;--sec:#625A52;--muted:#6F675E;--hair:rgba(20,18,16,.10);--hair2:rgba(20,18,16,.14);--dots:rgba(20,18,16,.14);--glow:rgba(255,138,61,.38);--ember:#D3420D;--ember-rgb:211,66,13;--shadow:rgba(20,18,16,.20);--inset:rgba(255,255,255,.7);--on-ink:#FFFFFF;--panel:#141210;--panel-2:#0F0E0D;--panel-ring:rgba(20,18,16,.9);--hdr:rgba(243,239,231,.88);--tile:rgba(251,249,245,.92);--tile-sh:rgba(20,18,16,.09);--hov:rgba(255,255,255,.4);--hov-2:rgba(255,255,255,.55);--nav-hov:rgba(20,18,16,.05);--illo-glow:rgba(255,138,61,.24);color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0B0A09;--card:#141210;--surf:#1D1A17;--ink:#F3EFE7;--sec:#A59D92;--muted:#8A8278;--hair:rgba(243,239,231,.10);--hair2:rgba(243,239,231,.16);--dots:rgba(243,239,231,.07);--glow:rgba(255,100,35,.22);--ember:#F05A1E;--ember-rgb:240,90,30;--shadow:rgba(0,0,0,.6);--inset:rgba(255,255,255,.06);--on-ink:#141210;--panel:#171412;--panel-2:#141210;--panel-ring:rgba(243,239,231,.14);--hdr:rgba(11,10,9,.82);--tile:rgba(29,26,23,.92);--tile-sh:rgba(0,0,0,.45);--hov:rgba(243,239,231,.04);--hov-2:rgba(243,239,231,.08);--nav-hov:rgba(243,239,231,.07);--illo-glow:rgba(255,100,35,.14);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0B0A09;--card:#141210;--surf:#1D1A17;--ink:#F3EFE7;--sec:#A59D92;--muted:#8A8278;--hair:rgba(243,239,231,.10);--hair2:rgba(243,239,231,.16);--dots:rgba(243,239,231,.07);--glow:rgba(255,100,35,.22);--ember:#F05A1E;--ember-rgb:240,90,30;--shadow:rgba(0,0,0,.6);--inset:rgba(255,255,255,.06);--on-ink:#141210;--panel:#171412;--panel-2:#141210;--panel-ring:rgba(243,239,231,.14);--hdr:rgba(11,10,9,.82);--tile:rgba(29,26,23,.92);--tile-sh:rgba(0,0,0,.45);--hov:rgba(243,239,231,.04);--hov-2:rgba(243,239,231,.08);--nav-hov:rgba(243,239,231,.07);--illo-glow:rgba(255,100,35,.14);color-scheme:dark}
:root[data-theme="light"]{--bg:#F3EFE7;--card:#FBF9F5;--surf:#FFFFFF;--ink:#141210;--sec:#625A52;--muted:#6F675E;--hair:rgba(20,18,16,.10);--hair2:rgba(20,18,16,.14);--dots:rgba(20,18,16,.14);--glow:rgba(255,138,61,.38);--ember:#D3420D;--ember-rgb:211,66,13;--shadow:rgba(20,18,16,.20);--inset:rgba(255,255,255,.7);--on-ink:#FFFFFF;--panel:#141210;--panel-2:#0F0E0D;--panel-ring:rgba(20,18,16,.9);--hdr:rgba(243,239,231,.88);--tile:rgba(251,249,245,.92);--tile-sh:rgba(20,18,16,.09);--hov:rgba(255,255,255,.4);--hov-2:rgba(255,255,255,.55);--nav-hov:rgba(20,18,16,.05);--illo-glow:rgba(255,138,61,.24);color-scheme:light}
:root{--scrim:rgba(243,239,231,.6);--ok:#15803D;--ok-bg:rgba(34,197,94,.14);--warn:#B45309;--warn-bg:rgba(245,158,11,.14)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--scrim:rgba(11,10,9,.62);--ok:#4ADE80;--ok-bg:rgba(34,197,94,.16);--warn:#FBBF24;--warn-bg:rgba(245,158,11,.16)}}
:root[data-theme="dark"]{--scrim:rgba(11,10,9,.62);--ok:#4ADE80;--ok-bg:rgba(34,197,94,.16);--warn:#FBBF24;--warn-bg:rgba(245,158,11,.16)}
:root[data-theme="light"]{--scrim:rgba(243,239,231,.6);--ok:#15803D;--ok-bg:rgba(34,197,94,.14);--warn:#B45309;--warn-bg:rgba(245,158,11,.14)}
@keyframes mo-in{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:none}}
@keyframes mo-cycle{0%{opacity:0;transform:translateY(8px)}8%,86%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes mo-scan{0%{top:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:100%;opacity:0}}
@keyframes mo-ping{0%{transform:scale(.7);opacity:.55}100%{transform:scale(2.6);opacity:0}}
@keyframes mo-sweep{to{transform:rotate(360deg)}}
@keyframes mo-dash{to{stroke-dashoffset:-24}}
@keyframes mo-draw{0%{stroke-dashoffset:var(--len)}60%,100%{stroke-dashoffset:0}}
@keyframes mo-rise{0%{transform:scaleY(.15)}60%,100%{transform:scaleY(1)}}
@keyframes mo-flt{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.cyc{opacity:0;animation:mo-cycle 8s ease-in-out infinite}
@keyframes mo-fade{0%{opacity:0}10%,86%{opacity:1}96%,100%{opacity:0}}
.fd{opacity:0;animation:mo-fade 8s ease-in-out infinite}
.rd svg{width:56%;height:56%}
.rnote .rd svg{width:16px;height:16px}
@container (max-width: 420px){.rnote{display:none !important}}
@media (max-width:900px){.nw{white-space:normal !important}.stg{padding:24px 12px !important}}
.scan{position:absolute;left:0;right:0;height:56px;margin-top:-28px;background:linear-gradient(180deg,rgba(var(--ember-rgb),0),rgba(var(--ember-rgb),.16),rgba(var(--ember-rgb),0));border-bottom:1px solid rgba(var(--ember-rgb),.45);animation:mo-scan 4s ease-in-out infinite;pointer-events:none}
.stk svg{width:58%;height:58%}
.ping{transform-origin:center;animation:mo-ping 2.4s ease-out infinite}
.sweep{transform-origin:240px 170px;animation:mo-sweep 6s linear infinite}
.dash{animation:mo-dash 1.4s linear infinite}
.drawl{stroke-dasharray:var(--len);animation:mo-draw 6s ease-in-out infinite}
.rise{transform-box:fill-box;transform-origin:bottom;animation:mo-rise 4s ease-in-out infinite}
.flt{animation:mo-flt 5s ease-in-out infinite}
@media (max-width:900px){.ord1,.ord2{order:initial !important}}
@media (prefers-reduced-motion: reduce){.cyc,.fd{animation:none;opacity:1}.scan,.ping,.sweep,.dash,.drawl,.rise,.flt{animation:none}}

body{margin:0;background:var(--bg);color:var(--ink)}
a{color:var(--sec);text-decoration:none}a:hover{color:var(--ink)}
.cta{cursor:pointer;transition:filter .2s ease,transform .2s ease}
.cta:hover{filter:brightness(1.07);transform:translateY(-1px)}.cta:active{transform:scale(.98)}
.hdr3::after{content:"";position:absolute;left:50%;width:4000px;margin-left:-2000px;bottom:0;height:1px;background:var(--hair);pointer-events:none}
.card{background:var(--card);border-radius:22px;box-shadow:0 0 0 1px var(--hair2),0 22px 44px -26px var(--shadow),inset 0 1px 0 var(--inset);box-sizing:border-box}
.lbl{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.inp{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 16px;border-radius:14px;background:var(--surf);box-shadow:0 0 0 1px var(--hair2);font-size:16px;color:var(--ink);box-sizing:border-box;transition:box-shadow .2s ease}
.inp:focus-within{box-shadow:0 0 0 1px var(--ember),0 0 0 4px rgba(var(--ember-rgb),.18)}
.inp input,.inp textarea{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-family:inherit;font-size:16px;padding:0;height:48px}
.inp textarea{height:auto;padding:14px 0;resize:none;line-height:1.5}
.inp input::placeholder,.inp textarea::placeholder{color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px 8px 14px;border-radius:999px;background:var(--surf);box-shadow:0 0 0 1px var(--hair2);font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.chip button,.qrow button{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:var(--muted);transition:background .15s ease,color .15s ease}
.chip button:hover,.qrow button:hover{background:var(--nav-hov);color:var(--ink)}
.chip.add{padding:8px 14px 8px 12px;color:var(--sec);background:transparent;box-shadow:0 0 0 1px var(--hair2);box-shadow:inset 0 0 0 1px var(--hair2);border-radius:999px;cursor:pointer}
.qrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 8px 14px 16px;border-radius:14px;background:var(--surf);box-shadow:0 0 0 1px var(--hair);font-size:16px;letter-spacing:-.01em;color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:999px;font-size:13.5px;font-weight:500;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.off{background:var(--nav-hov);color:var(--sec)}
.pill.tag{background:rgba(var(--ember-rgb),.12);color:var(--ember)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.live{width:8px;height:8px;border-radius:50%;background:#22C55E;flex:none;animation:f-live 1.6s ease-in-out infinite}
@keyframes f-live{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.55)}50%{opacity:.35;box-shadow:0 0 0 7px rgba(34,197,94,0)}}
.spin{width:22px;height:22px;border-radius:50%;border:2px solid var(--hair2);border-top-color:var(--ember);animation:f-spin .9s linear infinite;flex:none;box-sizing:border-box}
@keyframes f-spin{to{transform:rotate(360deg)}}
.btn2{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;box-shadow:0 0 0 1px var(--hair2);background:var(--card);color:var(--ink);font-size:15px;font-weight:500;font-family:inherit;border:0;cursor:pointer;transition:background .15s ease}
.btn2:hover{background:var(--hov-2)}
.seg{display:inline-flex;padding:4px;border-radius:999px;box-shadow:0 0 0 1px var(--hair2);background:var(--card)}
.seg span{padding:8px 16px;border-radius:999px;font-size:14.5px;color:var(--sec);cursor:pointer}
.seg span.on{background:var(--ink);color:var(--on-ink)}
.frow{display:grid;grid-template-columns:150px 1.15fr 1.7fr 110px 120px;align-items:center;gap:20px;padding:18px 24px;border-top:1px solid var(--hair)}
.frow:first-child{border-top:0}
.frow:hover{background:var(--hov)}
.ghost{font-size:15px;color:var(--sec);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--hair2)}
.step{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted)}
.step b{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;box-shadow:0 0 0 1px var(--hair2);color:var(--sec);font-family:'JetBrains Mono',ui-monospace,monospace}
.step.on{color:var(--ink)}.step.on b{background:var(--ink);color:var(--on-ink);box-shadow:none}
.step.done b{background:rgba(var(--ember-rgb),.14);color:var(--ember);box-shadow:none}
.bar{height:6px;border-radius:99px;background:var(--hair2);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:var(--ember)}
@media (max-width:1000px){
.two{grid-template-columns:1fr !important}
.frow{grid-template-columns:1fr auto !important;gap:8px 12px !important}
.frow .c-where,.frow .c-men{grid-column:1 / -1}
.hdr3{grid-template-columns:1fr auto !important}.hdr3 .stp{display:none !important}
.stats{grid-template-columns:1fr !important}.cgrid{grid-template-columns:1fr !important}
.dday{grid-template-columns:1fr !important}.dday .lbl{padding-top:0 !important;margin-bottom:6px}.drow{grid-template-columns:24px 1fr !important}.drow>div:last-child{grid-column:2;flex-direction:row !important;align-items:center !important;gap:12px !important;padding-top:0 !important}
.pad{padding-left:20px !important;padding-right:20px !important}
}
@media (max-width:600px){.bt{display:none}.btn2{padding:0 12px}.logo{font-size:20px !important}}

/* app additions */
.err{margin:0;font-size:14.5px;line-height:1.45;color:var(--warn)}
.err[hidden]{display:none}
[hidden]{display:none !important}
.cta[disabled]{opacity:.6;cursor:progress;filter:none;transform:none}
.chip.edit button{width:22px;height:22px}
.chip-add{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 14px;border-radius:999px;background:var(--surf);box-shadow:inset 0 0 0 1px var(--hair2)}
.chip-add input{width:130px;border:0;outline:0;background:transparent;color:var(--ink);font-family:inherit;font-size:14.5px;height:30px}
.ghost{background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.vh{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
