/* Hangar Command Center · styles (ported verbatim from the claude.ai page, plus the sign-in bits at the end) */
/* ===== Command Centers v2 — shared frame (dark-first). Paste VERBATIM at the top of every v2 page's <style>.
   Layout: glass-cockpit at night. One top bar, one header, summary strip, folding sections, one footer.
   Then set the page accent with ONE line right after this block, e.g.  :root{--accent:var(--a-tower)}  ===== */
:root{
  color-scheme:dark;
  /* night panel neutrals (blue-violet bias) */
  --bg:#080C18; --panel:#0F1527; --panel-2:#141C33; --raise:#1A2440; --line:#232E4D; --line-2:#2F3B60;
  --ink:#EAF0FF; --ink-2:#B3BEDA; --ink-3:#8692B5;
  /* instrument status lights (same meaning on every page) */
  --ok:#5DBB88; --warn:#E2B04F; --crit:#E5636B; --info:#8FB3E8;
  /* the same lights as small words on their soft fill (chips, header pill): 4.5:1 or better on every page's panel (review, 9 Oct 2026).
     Night lifts crit a little toward white; day darkens ok and warn. A page's own --crit (Dream's coral and rust) still leads.
     --acc-txt is the page accent as small words on --accent-soft: the accent itself at night, 15% toward black by day (was 4.05–4.10:1). */
  --ok-txt:var(--ok); --warn-txt:var(--warn); --crit-txt:color-mix(in srgb,var(--crit) 86%,#fff); --acc-txt:var(--accent);
  /* Command Center accents, approved 5 Oct 2026 (Rajiv): toned night colours, no neon, no purple, no teal.
     Tower steel (radar), Dream red on black/white, Trips orange (toned to v1 blaze #F07A43, 5 Oct 22:50), Finance leaf green, Business blue, Flight Deck instrument white;
     RV-10 Cleco copper (added 9 Oct 2026; Rajiv: "Copper, Van's orange highlights") */
  --a-deck:#E6EAF2; --a-tower:#C9A961; --a-dream:#B4343A; --a-trips:#F07A43; --a-fin:#7FB08A; --a-biz:#6B8FD6; --a-build:#CF8A5E;
  --accent:var(--a-dream); --accent-ink:#0A0F1E;
  --glow-a:16%; --num-glow:none;
  --shadow:0 1px 0 rgba(255,255,255,.035) inset,0 10px 30px -18px rgba(0,0,0,.8);
  --lift:0 18px 50px -12px rgba(0,0,0,.75);
  --display:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  color-scheme:light;
  --bg:#EEF2F9; --panel:#FFFFFF; --panel-2:#F5F7FC; --raise:#EAF0FA; --line:#D9E0EE; --line-2:#C3CDE1;
  --ink:#0C1428; --ink-2:#3F4B66; --ink-3:#5A6683;
  --ok:#15803D; --warn:#B45309; --crit:#C2262E; --info:#1D4ED8;
  --ok-txt:#166534; --warn-txt:#92400E; --crit-txt:var(--crit); --acc-txt:color-mix(in srgb,var(--accent) 85%,#000);
  --a-deck:#0C1428; --a-tower:#8A6A1E; --a-dream:#C8102E; --a-trips:#C2410C; --a-fin:#4D7C0F; --a-biz:#2F5BB7; --a-build:#9A4F22;
  --accent-ink:#FFFFFF; --glow-a:7%; --num-glow:none;
  --shadow:0 1px 2px rgba(12,20,40,.06); --lift:0 14px 40px -10px rgba(12,20,40,.25);
}}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#EEF2F9; --panel:#FFFFFF; --panel-2:#F5F7FC; --raise:#EAF0FA; --line:#D9E0EE; --line-2:#C3CDE1;
  --ink:#0C1428; --ink-2:#3F4B66; --ink-3:#5A6683;
  --ok:#15803D; --warn:#B45309; --crit:#C2262E; --info:#1D4ED8;
  --ok-txt:#166534; --warn-txt:#92400E; --crit-txt:var(--crit); --acc-txt:color-mix(in srgb,var(--accent) 85%,#000);
  --a-deck:#0C1428; --a-tower:#8A6A1E; --a-dream:#C8102E; --a-trips:#C2410C; --a-fin:#4D7C0F; --a-biz:#2F5BB7; --a-build:#9A4F22;
  --accent-ink:#FFFFFF; --glow-a:7%; --num-glow:none;
  --shadow:0 1px 2px rgba(12,20,40,.06); --lift:0 14px 40px -10px rgba(12,20,40,.25);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#080C18; --panel:#0F1527; --panel-2:#141C33; --raise:#1A2440; --line:#232E4D; --line-2:#2F3B60;
  --ink:#EAF0FF; --ink-2:#B3BEDA; --ink-3:#8692B5;
  --ok:#5DBB88; --warn:#E2B04F; --crit:#E5636B; --info:#8FB3E8;
  --ok-txt:var(--ok); --warn-txt:var(--warn); --crit-txt:color-mix(in srgb,var(--crit) 86%,#fff); --acc-txt:var(--accent);
  --a-deck:#E6EAF2; --a-tower:#C9A961; --a-dream:#B4343A; --a-trips:#F07A43; --a-fin:#7FB08A; --a-biz:#6B8FD6; --a-build:#CF8A5E;
  --accent-ink:#0A0F1E; --glow-a:16%; --num-glow:none;
  --shadow:0 1px 0 rgba(255,255,255,.035) inset,0 10px 30px -18px rgba(0,0,0,.8); --lift:0 18px 50px -12px rgba(0,0,0,.75);
}
/* derived soft fills (work in both themes) */
:root{
  --accent-soft:color-mix(in srgb,var(--accent) 16%,var(--panel));
  --ok-soft:color-mix(in srgb,var(--ok) 15%,var(--panel)); --warn-soft:color-mix(in srgb,var(--warn) 15%,var(--panel));
  --crit-soft:color-mix(in srgb,var(--crit) 15%,var(--panel)); --info-soft:color-mix(in srgb,var(--info) 15%,var(--panel));
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable;overflow-x:clip}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:14.5px;line-height:1.5;
  /* the page carries its accent tint all the way down (6 Oct 2026): header glow, a lower wash on the other side, a faint mid-page vein */
  background:
    radial-gradient(1100px 460px at 0% -12%,color-mix(in srgb,var(--accent) var(--glow-a),transparent),transparent 70%) no-repeat,
    radial-gradient(900px 700px at 100% 100%,color-mix(in srgb,var(--accent) calc(var(--glow-a) * .45),transparent),transparent 70%) no-repeat,
    radial-gradient(700px 900px at 0% 60%,color-mix(in srgb,var(--accent) calc(var(--glow-a) * .2),transparent),transparent 70%) no-repeat,
    linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--accent) 2.5%,var(--bg)) 55%,var(--bg));
  background-attachment:fixed;min-height:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.muted{color:var(--ink-3)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.cc-wrap{max-width:1360px;margin:0 auto;padding-inline:24px;padding-block:6px 48px;display:flex;flex-direction:column;gap:18px}
@media (max-width:640px){.cc-wrap{padding-inline:16px;gap:14px}}

/* top bar: same on every page */
.cc-bar{display:flex;align-items:center;gap:2px 16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;
  border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.cc-bar::-webkit-scrollbar{display:none}
.cc-bar a{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);text-decoration:none;padding:12px 0 10px;border-bottom:2px solid transparent;flex:none}
.cc-bar a:hover{color:var(--ink)}
.cc-bar a i{width:8px;height:8px;border-radius:2px;display:inline-block;flex:none}
.cc-bar a i.d-deck{background:var(--ink);border-radius:50%}
.cc-bar a i.d-tower{background:var(--a-tower)} .cc-bar a i.d-dream{background:var(--a-dream)} .cc-bar a i.d-trips{background:var(--a-trips)}
.cc-bar a i.d-fin{background:var(--a-fin)} .cc-bar a i.d-biz{background:var(--a-biz)} .cc-bar a i.d-build{background:var(--a-build)}
.cc-bar a[aria-current="page"]{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.cc-bar a .nv{width:15px;height:15px;flex:none;opacity:.7}.cc-bar a:hover .nv,.cc-bar a[aria-current="page"] .nv{opacity:1} /* top-bar icons (approved 6 Oct 2026) */
.cc-bar .sp{flex:1 0 12px}
.cc-theme{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--ink-2);flex:none}
.cc-theme:hover{background:var(--raise);color:var(--ink)}
.cc-theme:focus-visible{outline:2px solid var(--accent)}
/* phone (review, 9 Oct 2026): CC.theme() moves the links into .cc-bar-s, a strip that scrolls sideways on its own, so the day/night
   switch stays in view at the right. The strip fades at an edge (as the RV-10 3D toolbar does) only while there is more that way. */
.cc-bar.cc-split{overflow:visible}
.cc-bar-s{display:flex;align-items:center;gap:2px 16px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;--fl:0px;--fr:0px}
.cc-bar-s::-webkit-scrollbar{display:none}
.cc-bar-s.more-l{--fl:24px} .cc-bar-s.more-r{--fr:36px}
.cc-bar-s:is(.more-l,.more-r){-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--fl),#000 calc(100% - var(--fr)),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 var(--fl),#000 calc(100% - var(--fr)),transparent)}

/* header */
.cc-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.cc-id{display:flex;align-items:center;gap:14px;min-width:0}
.cc-mark{width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;color:var(--accent-ink);
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 88%,#fff 12%),color-mix(in srgb,var(--accent) 72%,#000 28%));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 10px 28px -10px color-mix(in srgb,var(--accent) 70%,transparent)}
.cc-mark svg{width:28px;height:28px}
.cc-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.cc-title{font-family:var(--display);font-weight:600;font-size:clamp(30px,4.4vw,42px);line-height:1;letter-spacing:.03em;text-transform:uppercase;margin:3px 0 0;text-wrap:balance}
.cc-sub{color:var(--ink-2);font-size:13.5px;margin-top:5px;max-width:68ch}
.cc-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.cc-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.cc-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.cc-pill[data-k="graph"]{background:var(--ok-soft);color:var(--ok-txt)}
.cc-pill[data-k="out"],.cc-pill[data-k="setup"]{background:var(--info-soft);color:var(--info)}
.cc-pill[data-k="busy"]{background:var(--warn-soft);color:var(--warn-txt)}
.cc-pill[data-k="off"]{background:var(--crit-soft);color:var(--crit-txt)}
.cc-asof{font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}
.cc-note{font-size:12.5px;color:var(--ink-3);flex-basis:100%;width:0;min-width:100%;text-align:right} /* never widens the status block */
@media (max-width:640px){.cc-status{justify-content:flex-start}.cc-note{text-align:left}}

/* buttons */
.cc-btn{font-family:var(--mono);font-size:12px;letter-spacing:.02em;padding:8px 12px;min-height:36px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.cc-btn:hover{border-color:var(--accent);background:var(--raise)}
.cc-btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.cc-btn.pri:hover{filter:brightness(1.08)}
.cc-btn[disabled]{opacity:.55;cursor:progress}

/* summary strip: groups of metrics; each metric may be a filter button */
.cc-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.cc-group{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:11px 14px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);min-width:0}
.cc-glabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.cc-mets{display:flex;flex-wrap:wrap;gap:6px 20px}
.cc-met{all:unset;box-sizing:border-box;display:flex;flex-direction:column;line-height:1.05;min-width:54px;cursor:default;border-radius:6px}
button.cc-met{cursor:pointer} button.cc-met:hover b{color:var(--accent)} button.cc-met:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button.cc-met[aria-pressed="true"] span{color:var(--accent)}
.cc-met b{font-family:var(--display);font-weight:600;font-size:30px;font-variant-numeric:tabular-nums}
.cc-met span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}
.cc-met.crit b{color:var(--crit);text-shadow:var(--num-glow)} .cc-met.warn b{color:var(--warn);text-shadow:var(--num-glow)}
.cc-met.ok b{color:var(--ok);text-shadow:var(--num-glow)} .cc-met.acc b{color:var(--accent);text-shadow:var(--num-glow)} .cc-met.dim b{color:var(--ink-3)}
@media (max-width:640px){.cc-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-group{padding:10px 12px}.cc-met b{font-size:26px}.cc-mets{gap:6px 14px}}

/* panels and folding sections (details/summary; open state remembered per viewer in localStorage) */
.cc-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);min-width:0}
details.cc-sec{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:0}
details.cc-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px}
details.cc-sec>summary::-webkit-details-marker{display:none}
details.cc-sec>summary:hover{background:var(--raise)}
details.cc-sec>summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(-45deg);transition:transform .15s;flex:none;margin:0 2px}
details.cc-sec[open]>summary::before{transform:rotate(45deg)}
details.cc-sec[open]>summary{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}
.cc-sec h3,.cc-h3{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.05em;text-transform:uppercase;margin:0}
.cc-count{font-family:var(--mono);font-size:11px;padding:1px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2)}
.cc-peek{flex:1;min-width:0;font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
details.cc-sec[open] .cc-peek{visibility:hidden}
.cc-secbody{padding:14px 16px 16px;min-width:0}
@media (max-width:640px){.cc-peek{display:none}}

/* chips */
.cc-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink-2);white-space:nowrap}
.cc-chip.crit{background:var(--crit-soft);color:var(--crit-txt);border-color:transparent}
.cc-chip.warn{background:var(--warn-soft);color:var(--warn-txt);border-color:transparent}
.cc-chip.ok{background:var(--ok-soft);color:var(--ok-txt);border-color:transparent}
.cc-chip.acc{background:var(--accent-soft);color:var(--acc-txt);border-color:transparent}
.cc-chip.ghost{background:transparent;border-style:dashed}
.cc-chip.info{background:var(--info-soft);color:var(--info);border-color:transparent} /* "Holding" = waiting in the Holding Pattern */

/* status words for machines */
.cc-ops{font-family:var(--display);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cc-ops.ready{color:var(--ok)} .cc-ops.grounded{color:var(--crit)} .cc-ops.pickled{color:var(--ink-3)}

/* footer */
.cc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;font-size:12px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:12px}
.cc-foot code{font-family:var(--mono);color:var(--ink-2)}

/* toast */
.cc-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;max-width:min(560px,calc(100vw - 32px));
  width:max-content;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:13.5px;box-shadow:var(--lift)}
@media (max-width:640px){.cc-btn{min-height:40px}}

/* Search everywhere (9 Nov 2026): CC.search palette and the "landed here" flash */
dialog.cc-pal{border:1px solid var(--line-2);background:var(--panel);color:var(--ink);padding:0;width:min(640px,calc(100vw - 16px));max-width:none;margin:8vh auto auto;border-radius:12px;box-shadow:var(--lift);overflow:hidden}
dialog.cc-pal::backdrop{background:rgba(6,6,8,.58)}
.cc-palin{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.cc-palin input{flex:1;min-width:0;font:16px var(--body);padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink)}
.cc-palin input:focus-visible{outline:2px solid var(--accent);outline-offset:0}
.cc-palin kbd{font:11px var(--mono);padding:2px 6px;border:1px solid var(--line-2);border-radius:5px;color:var(--ink-3)}
.cc-pall{list-style:none;margin:0;padding:6px;max-height:min(56vh,calc(100dvh - 190px));overflow:auto;display:grid}
.cc-pall li{display:grid;grid-template-columns:84px minmax(0,1fr);gap:2px 10px;padding:8px 10px;border-radius:8px;cursor:pointer}
.cc-pall li.on,.cc-pall li:hover{background:var(--accent-soft)}
.cc-pall li.none{display:block;cursor:default;color:var(--ink-3);background:none}
.cc-pall .k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:3px;overflow-wrap:anywhere}
.cc-pall .t{font-weight:600;font-size:14px;overflow-wrap:anywhere}
.cc-pall .s,.cc-pall .b{grid-column:2;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-pall .b{color:var(--ink-2);white-space:normal}
.cc-palc{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);border-radius:4px;padding:0 4px;margin-left:4px}
.cc-palnote{margin:0;padding:8px 14px 10px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3)}
.cc-hit{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;animation:ccHit 2.2s ease-out}
@keyframes ccHit{0%,55%{outline-color:var(--accent)}100%{outline-color:transparent}}
@media (max-width:640px){dialog.cc-pal{margin-top:8px}.cc-pall li{grid-template-columns:minmax(0,1fr)}.cc-pall .s,.cc-pall .b{grid-column:1}.cc-pall .k{padding-top:0}.cc-palin kbd{display:none}}
@media (prefers-reduced-motion:reduce){.cc-hit{animation:none}}

/* animated emblems (5 Oct 2026, approved): Tower radar sweep · Dream propeller (red/black/white) · Flight Deck attitude indicator.
   Markup snippets: spec/emblems_v3.md. Each sits in a .cc-mark (or any square box); motion stops for reduced-motion viewers. */
.em-radar svg,.em-prop svg,.em-ai svg{width:100%!important;height:100%!important;display:block}
.em-radar .em-sweep{transform-box:view-box;transform-origin:24px 24px;animation:emSweep 4.8s linear infinite}
.em-radar .em-blip{opacity:.25;animation:emBlip 4.8s ease-out infinite;animation-delay:var(--d)}
.em-prop{--prop-red:#B4343A;color:#fff;background:radial-gradient(circle at 50% 45%,#1d1d20,#050506 70%)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--prop-red) 45%,transparent),0 8px 24px -10px color-mix(in srgb,var(--prop-red) 60%,transparent)!important}
.em-prop .em-spin{transform-box:view-box;transform-origin:24px 24px;animation:emSpin 12s linear infinite} /* idle: a slow windmill */
:root.cc-busy .em-prop .em-spin{animation-duration:.9s} /* spun up while the page reads the books (CC.status "busy") */
.em-ai{color:#DCE3F2!important;background:radial-gradient(circle at 50% 40%,#16203A,#070B16 72%)!important;
  box-shadow:0 0 0 1px rgba(220,227,242,.28),0 10px 28px -10px rgba(120,150,210,.55)!important}
.em-ai .ai-roll{transform-box:view-box;transform-origin:24px 24px;animation:aiRoll 7s ease-in-out infinite alternate}
@keyframes emSweep{to{transform:rotate(360deg)}}
@keyframes emBlip{0%{opacity:1}12%{opacity:1}70%,100%{opacity:.22}}
@keyframes emSpin{to{transform:rotate(360deg)}}
@keyframes aiRoll{0%{transform:rotate(-9deg) translateY(1.2px)}50%{transform:rotate(2deg) translateY(-.6px)}100%{transform:rotate(8deg) translateY(.8px)}}
@media (prefers-reduced-motion:reduce){.em-radar .em-sweep,.em-radar .em-blip,.em-prop .em-spin,.em-ai .ai-roll{animation:none}.em-radar .em-blip{opacity:.8}}

/* instrument tiles (round 4, 5 Oct 2026): the summary row made informative and touchable.
   Markup and rules: spec/INSTRUMENTS.md. --k = the tile's lead colour (a status or page colour). */
.cc-insts{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px}
.cc-inst{--k:var(--accent);position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px 16px 15px;border-radius:14px;overflow:hidden;
  background:radial-gradient(130% 100% at 100% 0%,color-mix(in srgb,var(--k) 12%,transparent),transparent 62%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel) 90%,#fff 10%),var(--panel) 42%);
  border:1px solid color-mix(in srgb,var(--k) 24%,var(--line));box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}
.cc-inst::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--k),transparent 80%)}
.cc-inst:hover{border-color:color-mix(in srgb,var(--k) 45%,var(--line));box-shadow:var(--shadow),0 10px 30px -18px color-mix(in srgb,var(--k) 70%,transparent)}
.cc-inst-h{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);min-width:0}
.cc-inst-h svg{width:16px;height:16px;color:var(--k);flex:none}
.cc-inst-h .hint{margin-left:auto;color:var(--ink-3);letter-spacing:.06em;font-size:10px;text-transform:none;opacity:0;transition:opacity .15s;white-space:nowrap}
.cc-inst:hover .cc-inst-h .hint,.cc-inst:focus-within .cc-inst-h .hint{opacity:1}
.cc-lead{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;border-radius:12px;padding:4px 8px 4px 4px;margin:-4px -8px -4px -4px}
button.cc-lead{cursor:pointer} button.cc-lead:hover{background:color-mix(in srgb,var(--k) 9%,transparent)}
button.cc-lead:focus-visible{outline:2px solid var(--k);outline-offset:2px}
button.cc-lead[aria-pressed="true"]{background:color-mix(in srgb,var(--k) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--k) 60%,transparent)}
.cc-dial{--p:0;position:relative;width:66px;height:66px;flex:none;display:grid;place-items:center}
.cc-dial::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 225deg,var(--k) 0deg calc(var(--p) * 270deg),color-mix(in srgb,var(--ink) 13%,transparent) 0deg 270deg,transparent 0deg);
  -webkit-mask:radial-gradient(closest-side,transparent calc(100% - 5px),#000 calc(100% - 4.5px));mask:radial-gradient(closest-side,transparent calc(100% - 5px),#000 calc(100% - 4.5px))}
.cc-dial::after{content:"";position:absolute;inset:9px;border-radius:50%;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--k) 10%,transparent),transparent 70%)}
.cc-dial b{position:relative;z-index:1;font-family:var(--display);font-weight:600;font-size:27px;line-height:1;color:var(--k);font-variant-numeric:tabular-nums}
.cc-lead-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.cc-lead-t strong{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);line-height:1.05}
.cc-lead-t em{font-style:normal;font-size:12.5px;color:var(--ink-3);line-height:1.35}
.cc-seg{display:flex;gap:2px;height:9px;border-radius:5px;overflow:hidden;background:color-mix(in srgb,var(--ink) 8%,transparent)}
.cc-seg>*{all:unset;flex:var(--n,1) 1 0;min-width:4px;background:var(--c,var(--k))}
.cc-seg>button{cursor:pointer} .cc-seg>button:hover{filter:brightness(1.25)} .cc-seg>button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.cc-seg>[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--ink)}
.cc-mini{display:flex;flex-wrap:wrap;gap:6px}
.cc-mini>*{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:4px 10px 4px 9px;border-radius:9px;background:color-mix(in srgb,var(--panel-2) 85%,transparent);border:1px solid var(--line);white-space:nowrap}
.cc-mini>button{cursor:pointer}
.cc-mini>button:hover{border-color:color-mix(in srgb,var(--c,var(--k)) 60%,transparent);background:color-mix(in srgb,var(--c,var(--k)) 10%,var(--panel-2))}
.cc-mini>button:focus-visible{outline:2px solid var(--c,var(--k));outline-offset:2px}
.cc-mini>button[aria-pressed="true"]{border-color:var(--c,var(--k));background:color-mix(in srgb,var(--c,var(--k)) 17%,var(--panel-2))}
.cc-mini i{width:7px;height:7px;border-radius:2px;background:var(--c,var(--ink-3));flex:none}
.cc-mini b{font-family:var(--display);font-size:19px;font-weight:600;line-height:1;color:var(--c,var(--ink));font-variant-numeric:tabular-nums}
.cc-mini small{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.cc-spark{display:flex;align-items:flex-end;gap:3px;height:36px}
.cc-spark>*{flex:1;min-height:2px;height:calc(var(--h,0) * 100%);border-radius:3px 3px 1px 1px;background:color-mix(in srgb,var(--k) 55%,transparent)}
.cc-spark>.now{background:var(--k)}
.cc-spark-l{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-3);margin-top:-6px}
.cc-inst-f{font-size:12px;color:var(--ink-3);margin-top:auto}
@media (max-width:640px){.cc-insts{grid-template-columns:minmax(0,1fr)}.cc-inst{padding:12px 14px 13px}.cc-dial{width:58px;height:58px}.cc-dial b{font-size:24px}.cc-mini>*{min-height:40px}}
:root{--accent:var(--a-hangar)}
/* Hangar Command Center (Chalasani Farms, 2215 CR 4421), 19 Oct 2026. Rajiv: "Make it my hangar setup like we did for RV-10", then
   "The hangar has a color palette already for the building, why not use that tastefully?" The building is Prime Metal Buildings
   (Bridgeport) steel: Light Stone walls, Crimson Red trim, Galvalume roof (Prime's Standard chart, Sherwin-Williams WeatherXL).
   Day: Light Stone page, white panels, steel-black ink. Night: galvalume charcoal with Light Stone ink.
   Crimson Red is the page's chrome (emblem, buttons, selections, "Next"); Light Stone carries the neutral numbers.
   Overdue keeps its own colour, coral at night and rust by day (the Dream precedent), so the red trim never reads as "late".
   The site plan is a drawing sheet on the same palette (--sp-* tokens): paper and ink by day, a negative print at night. */
:root,:root[data-theme="dark"]{
  --bg:#111312; --panel:#191B1A; --panel-2:#1E201F; --raise:#262827; --line:#2E312F; --line-2:#3E413E;
  --ink:#EEEEE6; --ink-2:#CACABD; --ink-3:#9C9C8E; --a-hangar:#C8382E; --accent-ink:#FFFFFF; --tan:#D6D6C7; --galv:#AEB6B8; --steel:#2B2B2B;
  --acc-txt:color-mix(in srgb,#C8382E 60%,#fff); --crit:#E58B5E; --crit-txt:#EFA27C; --glow-a:8%;
  --shadow:0 1px 0 rgba(230,235,235,.03) inset,0 10px 30px -18px rgba(0,0,0,.85);
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#ECEBE3; --panel:#FBFBF8; --panel-2:#F4F4EE; --raise:#E9E8DF; --line:#DCDBCF; --line-2:#C6C5B6;
  --ink:#1B1C1A; --ink-2:#45463F; --ink-3:#666659; --a-hangar:#B32C23; --accent-ink:#FFFFFF; --tan:#6B6A55; --galv:#66706F; --steel:#2B2B2B;
  --acc-txt:color-mix(in srgb,#B32C23 85%,#000); --crit:#B4500F; --crit-txt:#A3480D; --glow-a:5%;
  --shadow:0 1px 2px rgba(30,30,20,.08); --lift:0 14px 40px -10px rgba(30,30,20,.25)}}
:root[data-theme="light"]{
  --bg:#ECEBE3; --panel:#FBFBF8; --panel-2:#F4F4EE; --raise:#E9E8DF; --line:#DCDBCF; --line-2:#C6C5B6;
  --ink:#1B1C1A; --ink-2:#45463F; --ink-3:#666659; --a-hangar:#B32C23; --accent-ink:#FFFFFF; --tan:#6B6A55; --galv:#66706F; --steel:#2B2B2B;
  --acc-txt:color-mix(in srgb,#B32C23 85%,#000); --crit:#B4500F; --crit-txt:#A3480D; --glow-a:5%;
  --shadow:0 1px 2px rgba(30,30,20,.08); --lift:0 14px 40px -10px rgba(30,30,20,.25)}

/* the drawing sheet: galvalume negative print at night, Light Stone paper by day */
:root,:root[data-theme="dark"]{
  --sp-paper:#141615; --sp-sheet:#191B1A; --sp-field:#222420; --sp-rule:#3E413E; --sp-ink:#ECECE3; --sp-muted:#A0A094;
  --sp-turf:#5f7f36; --sp-turf-2:#6c8743; --sp-zone6:#5a7d33; --sp-zone7:#8f7e45; --sp-zone8:#6e8a40;
  --sp-concrete:#4E4E48; --sp-paver:#6E5244; --sp-bldg:#DCDCD0; --sp-bldg-fill:#262826; --sp-gravel:#4a4535; --sp-mulch:#5a4330; --sp-stone:#7d7462; --sp-bloom:#d9ad4a;
  --sp-survey:#8FB3E8; --sp-flag:#F08A4B; --sp-power:#E2B04F; --sp-tree:#4f8a4a; --sp-road:#2C2E2B; --sp-done:#5DBB88; --sp-hl:#FF9A4D;
  --sp-roof:#5C6264; --sp-roof-2:#4D5355; --sp-trim:#D0483D; --sp-cont:#6A644F; --sp-white:#5C5D58;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --sp-paper:#F1F0E8; --sp-sheet:#FAFAF5; --sp-field:#E8E7DA; --sp-rule:#D3D2C3; --sp-ink:#20211E; --sp-muted:#666659;
  --sp-turf:#7d9a45; --sp-turf-2:#a9bf73; --sp-zone6:#6f9440; --sp-zone7:#c8b46a; --sp-zone8:#8aa756;
  --sp-concrete:#cfcabd; --sp-paver:#B48A74; --sp-bldg:#383934; --sp-bldg-fill:#E6E6DA; --sp-gravel:#DCD3BE; --sp-mulch:#9c7a55; --sp-stone:#c9bfa6; --sp-bloom:#c99a2e;
  --sp-survey:#1f5fae; --sp-flag:#b4541a; --sp-power:#8a5a00; --sp-tree:#3f6a3c; --sp-road:#C4C2B6; --sp-done:#15803D; --sp-hl:#e0661b;
  --sp-roof:#DDE2E3; --sp-roof-2:#C9D0D1; --sp-trim:#B32C23; --sp-cont:#D8CFB2; --sp-white:#FDFDFB}}
:root[data-theme="light"]{
  --sp-paper:#F1F0E8; --sp-sheet:#FAFAF5; --sp-field:#E8E7DA; --sp-rule:#D3D2C3; --sp-ink:#20211E; --sp-muted:#666659;
  --sp-turf:#7d9a45; --sp-turf-2:#a9bf73; --sp-zone6:#6f9440; --sp-zone7:#c8b46a; --sp-zone8:#8aa756;
  --sp-concrete:#cfcabd; --sp-paver:#B48A74; --sp-bldg:#383934; --sp-bldg-fill:#E6E6DA; --sp-gravel:#DCD3BE; --sp-mulch:#9c7a55; --sp-stone:#c9bfa6; --sp-bloom:#c99a2e;
  --sp-survey:#1f5fae; --sp-flag:#b4541a; --sp-power:#8a5a00; --sp-tree:#3f6a3c; --sp-road:#C4C2B6; --sp-done:#15803D; --sp-hl:#e0661b;
  --sp-roof:#DDE2E3; --sp-roof-2:#C9D0D1; --sp-trim:#B32C23; --sp-cont:#D8CFB2; --sp-white:#FDFDFB}
/* a thin Crimson-and-Light-Stone trim line under the header, like the eave of the building */
.cc-head{border-bottom:0;position:relative}
.cc-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--a-hangar) 0 22%,var(--tan) 22% 100%);opacity:.85;border-radius:2px}
[hidden]{display:none!important}
.note{font-size:12.5px;color:var(--ink-3);margin:0}
.hg-err{background:var(--crit-soft);color:var(--crit-txt);padding:12px 14px;border-radius:10px;font-size:13.5px}
.cc-btn.quiet{background:transparent;color:var(--ink-2)}
.cc-btn.sm{min-height:30px;padding:4px 10px;font-size:11.5px}
.cc-chip.hold{background:var(--info-soft);color:var(--info);border-color:transparent}
.hg-a{color:var(--accent);text-underline-offset:2px}

/* emblem: a windsock on its pole; it swings in a breeze, and stiffens while the page reads the books */
.em-sock{background:radial-gradient(circle at 50% 38%,#2b2e2f,#0c0d0d 72%)!important;color:#C8382E!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--a-hangar) 42%,transparent),0 10px 26px -12px color-mix(in srgb,var(--a-hangar) 55%,transparent)!important}
.em-sock svg{width:100%!important;height:100%!important;display:block}
.em-sock .sock{transform-box:view-box;transform-origin:15px 13px;animation:hgSway 3.6s ease-in-out infinite alternate}
.em-sock .tail{transform-box:view-box;transform-origin:30px 15px;animation:hgFlap .9s ease-in-out infinite alternate}
:root.cc-busy .em-sock .sock{animation-duration:1.1s}
@keyframes hgSway{0%{transform:rotate(9deg)}100%{transform:rotate(-4deg)}}
@keyframes hgFlap{0%{transform:skewY(-5deg) scaleY(.92)}100%{transform:skewY(5deg) scaleY(1.06)}}
@media (prefers-reduced-motion:reduce){.em-sock .sock,.em-sock .tail{animation:none}}

/* needs-you strip */
.hg-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.hg-strip-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}
.hg-need{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:3px 10px;border-radius:9px;border:1px solid var(--line-2);background:var(--panel-2);font-size:13px;color:var(--ink);max-width:100%}
.hg-need:hover{border-color:var(--accent)} .hg-need:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hg-need i{width:7px;height:7px;border-radius:2px;flex:none;background:var(--c,var(--ink-3))}
.hg-need span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hg-need small{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}

/* ---------- the site desk: map + panel ---------- */
.hg-desk{display:grid;grid-template-columns:minmax(0,1fr) 360px;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--panel)}
.mapwrap{position:relative;height:min(78vh,860px);min-height:440px;background:var(--sp-sheet);border-right:1px solid var(--line)}
#map{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
#map.dragging{cursor:grabbing} #map.t-measure,#map.t-pin{cursor:crosshair}
#map text{font-family:var(--display)} #map .dim{font-family:var(--mono)}
#map .halo{paint-order:stroke;stroke:var(--sp-sheet);stroke-linejoin:round}
.ov{position:absolute;display:flex;gap:6px;z-index:2}
.ov-tl{top:10px;left:10px;flex-direction:column;align-items:flex-start;max-width:calc(100% - 64px)}
.ov-tl .row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.hg-seg{display:inline-flex;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--panel-2) 92%,transparent)}
.hg-seg button{all:unset;box-sizing:border-box;cursor:pointer;font:500 12px var(--mono);letter-spacing:.02em;padding:6px 10px;min-height:32px;display:inline-flex;align-items:center;color:var(--ink-2);border-left:1px solid var(--line)}
.hg-seg button:first-child{border-left:0}
.hg-seg button:hover{color:var(--ink)}
.hg-seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.hg-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ov select,.hg-sel{font:500 12px var(--mono);padding:6px 8px;min-height:32px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);border-radius:8px}
.ov-tr{top:10px;right:10px;flex-direction:column}
.ov-tr button{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;font:600 17px var(--body);border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);border-radius:8px}
.ov-tr button:hover{border-color:var(--accent)} .ov-tr button:focus-visible{outline:2px solid var(--accent)}
.ov-bl{left:10px;bottom:10px;align-items:flex-end;gap:12px;pointer-events:none}
.ov-br{right:10px;bottom:10px;font-family:var(--mono);font-size:11px;color:var(--sp-muted);background:color-mix(in srgb,var(--sp-sheet) 85%,transparent);padding:2px 6px;border-radius:3px;pointer-events:none;max-width:calc(100% - 20px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.scale{font-family:var(--mono);font-size:11px;color:var(--sp-ink);background:color-mix(in srgb,var(--sp-sheet) 85%,transparent);padding:3px 6px 2px;border-radius:3px}
.scale .bar{height:6px;border:1px solid var(--sp-ink);border-top:0;margin-bottom:2px}
.compass{width:26px;height:34px}
.phasehint{font-family:var(--mono);font-size:10.5px;color:var(--sp-muted);background:color-mix(in srgb,var(--sp-sheet) 85%,transparent);padding:2px 6px;border-radius:3px}
.panel{display:flex;flex-direction:column;min-width:0;max-height:min(78vh,860px);min-height:440px}
.tabs{display:flex;border-bottom:1px solid var(--line)}
.tabs button{all:unset;box-sizing:border-box;flex:1;text-align:center;cursor:pointer;font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:12px 4px 10px;border-bottom:2px solid transparent;color:var(--ink-3)}
.tabs button:hover{color:var(--ink)}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.tabs .count{color:var(--ink-3);margin-left:3px}
.tabpanel{padding:14px 16px;overflow:auto;display:grid;gap:12px;align-content:start;flex:1}
.tabpanel h2{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.03em;margin:0;line-height:1.1;text-wrap:balance}
.tabpanel h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:4px 0 0}
.kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;margin:0}
.facts dt{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);padding-top:2px}
.facts dd{margin:0;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere;font-size:13.5px}
.actions{display:flex;flex-wrap:wrap;gap:6px}
.layers{display:grid;margin:0;padding:0;list-style:none}
.layers label{display:grid;grid-template-columns:18px 22px minmax(0,1fr);gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--line);cursor:pointer;font-size:13.5px}
.layers small{display:block;color:var(--ink-3);font-size:12px}
.layers input{accent-color:var(--accent)}
.sw{width:22px;height:14px;border-radius:2px;border:1px solid var(--line-2)}
.big{font-family:var(--display);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.seglist{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin:0;padding-left:18px}
.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.filters input{font:13px var(--body);padding:6px 9px;min-height:32px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink);flex:1 1 140px;min-width:0}
.plist{list-style:none;margin:0;padding:0;display:grid}
.plist li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 10px;padding:10px 0;border-top:1px solid var(--line)}
.plist li.sel{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.pn{font-family:var(--display);font-weight:700;font-size:15px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--sp-sheet)}
.pt{font-weight:600;line-height:1.3;font-size:14px}
.pmeta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:12px;color:var(--ink-3);margin-top:3px}
.pnote{grid-column:2;font-size:13px;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}
.plist .actions{grid-column:2;margin-top:4px}
.empty{color:var(--ink-3);font-size:13.5px;padding:10px 0;border-top:1px solid var(--line)}
.st-Idea{color:var(--ink-3)} .st-Planned{color:var(--info)} .st-Doing{color:var(--warn-txt)} .st-Done{color:var(--ok-txt)}
@media (max-width:980px){.hg-desk{grid-template-columns:minmax(0,1fr)}.mapwrap{height:66vh;min-height:380px;border-right:0;border-bottom:1px solid var(--line)}.panel{max-height:none;min-height:0}}
@media (max-width:640px){.hg-seg button{padding:5px 8px;font-size:11.5px;min-height:36px}.ov-tr button{width:38px;height:38px}}

/* ---------- open items and the other lists ---------- */
.hg-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.hg-pills{display:flex;flex-wrap:wrap;gap:6px}
.hg-pill{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel-2);font:500 12px var(--mono);color:var(--ink-2)}
.hg-pill b{font-family:var(--display);font-size:15px;font-weight:600;color:var(--ink)}
.hg-pill:hover{border-color:var(--accent)} .hg-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.hg-pill[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--acc-txt)}
.hg-pill[aria-pressed="true"] b{color:var(--acc-txt)}
.hg-search{font:13px var(--body);padding:7px 10px;min-height:34px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink);flex:1 1 180px;min-width:0}
.hg-list{display:grid}
.hg-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:10px 8px;border-top:1px solid var(--line);border-radius:6px}
.hg-row:hover{background:var(--raise)} .hg-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.hg-row .t{font-weight:600;font-size:14px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.hg-row .m{grid-column:1;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:12px;color:var(--ink-3)}
.hg-row .r{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap}
.hg-row .id{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.hg-row .pin{color:var(--accent)}
.hg-group{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);padding:14px 8px 6px}
.hg-more{margin-top:10px}
.hg-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px 26px}
.hg-h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}
.hg-tbl{overflow-x:auto}
.hg-tbl table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:13px}
.hg-tbl th,.hg-tbl td{padding:7px 9px;text-align:right;border-bottom:1px solid var(--line)}
.hg-tbl th{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.hg-tbl th:first-child,.hg-tbl td:first-child{text-align:left}
.hg-tbl td.z{font-family:var(--display);font-weight:600;font-size:16px}
.hg-tbl table.wide{min-width:640px}
.hg-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0}
.hg-facts dt{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);padding-top:2px}
.hg-facts dd{margin:0;font-size:13.5px;color:var(--ink-2);min-width:0}
.hg-key{list-style:none;margin:0;padding:0;display:grid}
.hg-key li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:4px 10px;padding:9px 0;border-top:1px solid var(--line);align-items:baseline}
.hg-key .n{font-family:var(--display);font-weight:700;font-size:18px;color:var(--accent)}
.hg-key .t{font-weight:600}
.hg-key .d{font-family:var(--mono);font-size:12px;white-space:nowrap}
.hg-key .s{grid-column:2/4;color:var(--ink-3);font-size:13px}
.hg-key .cc-btn{grid-column:2/4;justify-self:start}
.cc-sec .di{width:18px;height:18px;color:var(--accent);flex:none}

/* 3D */
.view3d{position:relative;height:min(68vh,620px);min-height:340px;background:var(--sp-paper);border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.view3d canvas{display:block;width:100%;height:100%;touch-action:none}
.view3d .msg{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--ink-3);font-size:14px}
.view3d .tip{position:absolute;left:10px;bottom:10px;font-family:var(--mono);font-size:11px;color:var(--sp-muted);background:color-mix(in srgb,var(--sp-sheet) 85%,transparent);padding:2px 6px;border-radius:3px;pointer-events:none}

/* drawer (item detail) */
.hg-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:40;background:var(--panel);border-left:1px solid var(--line-2);box-shadow:var(--lift);display:flex;flex-direction:column;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.hg-dh{display:flex;align-items:flex-start;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.hg-dh h3{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.02em;margin:3px 0 0;line-height:1.15;text-wrap:balance}
.hg-kick{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.hg-x{all:unset;cursor:pointer;margin-left:auto;width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:var(--ink-2);flex:none}
.hg-x:hover{background:var(--raise)} .hg-x:focus-visible{outline:2px solid var(--accent)}
.hg-db{padding:14px 18px 22px;overflow:auto;display:grid;gap:14px;align-content:start}
.hg-db .txt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13.5px;color:var(--ink-2);margin:0}
.hg-db textarea,.hg-form input,.hg-form select,.hg-form textarea{font:14px var(--body);padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink);width:100%}
.hg-db textarea{min-height:70px;resize:vertical}
.hg-scrim{position:fixed;inset:0;z-index:39;background:rgba(5,8,16,.45)}
.hg-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px;align-items:end;margin-bottom:12px;padding:12px;border:1px dashed var(--line-2);border-radius:10px}
.hg-form label{display:grid;gap:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.hg-form .full{grid-column:1/-1}
.hg-form textarea{min-height:60px;resize:vertical}

dialog.hg-dlg{border:1px solid var(--line-2);background:var(--panel);color:var(--ink);padding:0;width:min(460px,calc(100vw - 32px));border-radius:12px;box-shadow:var(--lift)}
dialog.hg-dlg::backdrop{background:rgba(5,8,16,.55)}
dialog.hg-dlg form{padding:18px 20px;display:grid;gap:12px}
dialog.hg-dlg h3{font-family:var(--display);font-weight:600;font-size:22px;margin:0}
dialog.hg-dlg label{display:grid;gap:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
dialog.hg-dlg input,dialog.hg-dlg select,dialog.hg-dlg textarea{font:15px var(--body);padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink);width:100%;text-transform:none;letter-spacing:0}
dialog.hg-dlg textarea{min-height:90px;resize:vertical}
dialog.hg-dlg .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.where{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}

/* ---------- today at the hangar ---------- */
.hg-ribbon{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.1fr);gap:12px}
@media (max-width:980px){.hg-ribbon{grid-template-columns:minmax(0,1fr)}}
.hg-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;min-width:0;display:grid;gap:10px;align-content:start;position:relative;overflow:hidden}
.hg-card h3{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);font-weight:500;display:flex;align-items:center;gap:8px}
.hg-card h3 svg{width:16px;height:16px;color:var(--accent)}
.hg-card h3 span{margin-left:auto;color:var(--ink-3);letter-spacing:.06em;text-transform:none}
.hg-sun{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:center}
.hg-sunarc{width:120px;height:64px}
.hg-sunarc .trk{fill:none;stroke:var(--line-2);stroke-width:2;stroke-dasharray:3 3}
.hg-sunarc .day{fill:none;stroke:var(--warn);stroke-width:2.5;stroke-linecap:round}
.hg-sunarc .sun{fill:var(--warn)} .hg-sunarc .hz{stroke:var(--ink-3);stroke-width:1}
.hg-big{font-family:var(--display);font-weight:600;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.hg-sm{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em}
.hg-month{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.hg-month li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:13.5px;color:var(--ink-2);line-height:1.35}
.hg-month li i{width:8px;height:8px;border-radius:2px;margin-top:6px;background:var(--c,var(--accent))}
.hg-month b{color:var(--ink);font-weight:600}
.hg-cal{display:flex;gap:3px;margin-top:2px}
.hg-cal span{flex:1;height:6px;border-radius:2px;background:color-mix(in srgb,var(--ink) 10%,transparent)}
.hg-cal span.on{background:var(--accent)} .hg-cal span.w{background:color-mix(in srgb,var(--galv) 70%,transparent)} .hg-cal span.f{background:var(--tan)}
.hg-calk{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;color:var(--ink-3);letter-spacing:.05em}
.hg-next{list-style:none;margin:0;padding:0;display:grid}
.hg-next li button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:7px 4px;border-top:1px solid var(--line);border-radius:6px}
.hg-next li:first-child button{border-top:0}
.hg-next li button:hover{background:var(--raise)} .hg-next li button:focus-visible{outline:2px solid var(--accent)}
.hg-cd{font-family:var(--display);font-weight:600;font-size:20px;line-height:1;text-align:right;font-variant-numeric:tabular-nums;color:var(--c,var(--ink))}
.hg-cd small{display:block;font-family:var(--mono);font-size:9.5px;font-weight:400;letter-spacing:.06em;color:var(--ink-3);margin-top:2px}
.hg-next .tt{font-size:13.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ---------- board ---------- */
.hg-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.hg-col{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:200px;min-width:0}
.hg-col.over{border-color:var(--accent);background:var(--accent-soft)}
.hg-colh{display:flex;align-items:center;gap:8px;padding:10px 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line)}
.hg-colh i{width:8px;height:8px;border-radius:2px;background:var(--c)} .hg-colh b{margin-left:auto;font-family:var(--display);font-size:16px;color:var(--ink);letter-spacing:0}
.hg-cards{display:grid;gap:7px;padding:8px;align-content:start;overflow:auto;max-height:560px}
.hg-cardi{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--c,var(--line-2));border-radius:8px;padding:8px 9px;display:grid;gap:5px;cursor:grab}
.hg-cardi:hover{border-color:var(--accent)} .hg-cardi.dragging{opacity:.45}
.hg-cardi .t{all:unset;cursor:pointer;font-size:13px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.hg-cardi .t:focus-visible{outline:2px solid var(--accent)}
.hg-cardi .m{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:11px;color:var(--ink-3)}
.hg-cardi select{font:11px var(--mono);padding:2px 4px;border:1px solid var(--line-2);border-radius:6px;background:var(--panel-2);color:var(--ink-2);margin-left:auto}
.hg-drop{padding:16px 10px;text-align:center;font-size:12px;color:var(--ink-3)}

/* ---------- areas ---------- */
.hg-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.hg-area{min-width:0;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px;align-content:start}
.hg-area h4{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.03em;text-transform:uppercase}
.hg-area h4 b{margin-left:auto;font-size:22px;color:var(--accent)}
.hg-area .bar{display:flex;gap:2px;height:6px;border-radius:3px;overflow:hidden;background:color-mix(in srgb,var(--ink) 8%,transparent)}
.hg-area .bar span{flex:var(--n) 1 0;background:var(--c)}
.hg-area ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;min-width:0}.hg-area li{min-width:0}
.hg-area li button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:block;font-size:13px;color:var(--ink-2);padding:3px 0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.hg-area li button:hover{color:var(--ink)} .hg-area li button:focus-visible{outline:2px solid var(--accent)}
.hg-area .actions .cc-btn{min-height:30px;padding:4px 10px;font-size:11.5px}

/* ---------- timeline ---------- */
.hg-tl{overflow-x:auto}
.hg-tlg{display:grid;grid-template-columns:repeat(14,minmax(118px,1fr));gap:0;min-width:1500px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.hg-tlm{border-left:1px solid var(--line);min-height:150px;display:flex;flex-direction:column}
.hg-tlm:first-child{border-left:0}
.hg-tlm.now{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.hg-tlm.late{background:color-mix(in srgb,var(--crit) 8%,transparent)}
.hg-tlh{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:7px 8px;border-bottom:1px solid var(--line)}
.hg-tlh b{display:block;font-family:var(--display);font-size:15px;color:var(--ink);letter-spacing:.02em}
.hg-tlb{display:grid;gap:4px;padding:6px;align-content:start}
.hg-tlc{all:unset;box-sizing:border-box;cursor:pointer;font-size:11.5px;line-height:1.25;padding:4px 6px;border-radius:6px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--c,var(--accent));overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.hg-tlc:hover{border-color:var(--accent)} .hg-tlc:focus-visible{outline:2px solid var(--accent)}
.hg-tlc.sched{border-left-style:dashed}

/* ---------- shopping by store ---------- */
.hg-stores{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.hg-store{min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:6px;align-content:start}
.hg-store h4{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.03em;text-transform:uppercase}
.hg-store h4 small{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:none;color:var(--ink-3);font-weight:400}
.hg-store h4 .cc-btn{margin-left:auto;min-height:28px;padding:3px 9px;font-size:11px}
.hg-store ul{list-style:none;margin:0;padding:0;display:grid}
.hg-store li button{all:unset;cursor:pointer;display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;font-size:13.5px;padding:5px 0;border-top:1px solid var(--line);width:100%;box-sizing:border-box}
.hg-store li:first-child button{border-top:0}
.hg-store li button:hover{color:var(--accent)} .hg-store li button:focus-visible{outline:2px solid var(--accent)}
.hg-store li i{width:10px;height:10px;border:1.5px solid var(--ink-3);border-radius:3px;margin-top:4px}
.hg-store li.hi i{border-color:var(--crit)}

/* ---------- brain dump + ask claude ---------- */
.hg-dump{display:grid;gap:6px}
.hg-dumpr{display:grid;grid-template-columns:22px minmax(0,1fr) 110px 90px;gap:8px;align-items:center;font-size:13.5px}
.hg-dumpr input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}
.hg-dumpr select{font:12px var(--mono);padding:4px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--panel-2);color:var(--ink)}
@media (max-width:640px){.hg-dumpr{grid-template-columns:22px minmax(0,1fr);}.hg-dumpr select{grid-column:2}}
.hg-ask{border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:10px;padding:10px 12px;background:var(--accent-soft);display:grid;gap:8px}
.hg-ask .out{white-space:pre-wrap;font-size:13.5px;color:var(--ink);max-height:340px;overflow:auto;margin:0}

/* ---------- next visit ---------- */
.hg-vhead{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:12px}
.hg-vhead>div:first-child{flex:1 1 220px;display:grid;gap:4px}
.hg-vbar{height:8px;border-radius:4px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.hg-vbar span{display:block;height:100%;background:var(--accent);border-radius:4px}
.hg-vcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:12px}
@media (max-width:980px){.hg-vcols{grid-template-columns:minmax(0,1fr)}}
.hg-vcol{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}
.hg-vcol h4{margin:0 0 6px;display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.hg-vcol h4 i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.hg-varea{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 2px}
.hg-vlist{list-style:none;margin:0;padding:0;display:grid}
.hg-vlist li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-top:1px solid var(--line)}
.hg-vlist li:first-child{border-top:0}
.hg-vlist label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;padding:7px 0;font-size:13.5px;line-height:1.35;cursor:pointer}
.hg-vlist input{accent-color:var(--accent);width:17px;height:17px;margin-top:1px}
.hg-vlist li.done span{text-decoration:line-through;color:var(--ink-3)}
.hg-vlist small{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.hg-vlist .hi{color:var(--crit)}
.hg-mini{all:unset;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:6px;color:var(--ink-3);font-size:18px}
.hg-mini:hover{background:var(--raise);color:var(--ink)} .hg-mini:focus-visible{outline:2px solid var(--accent)}
.hg-vpick{border:1px dashed var(--line-2);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.hg-vchips{display:flex;flex-wrap:wrap;gap:6px}
.hg-vchip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:4px 10px;border:1px solid var(--line-2);border-radius:999px;cursor:pointer;background:var(--panel-2);max-width:100%}
.hg-vchip.on{border-color:var(--accent);background:var(--accent-soft)}
.hg-vchip input{accent-color:var(--accent)}

/* ---------- space planner ---------- */
.hg-sptop{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:10px}
.hg-spmain{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}
@media (max-width:980px){.hg-spmain{grid-template-columns:minmax(0,1fr)}}
.hg-spfloor{background:var(--sp-sheet);border:1px solid var(--line);border-radius:12px;padding:8px;min-width:0}
.hg-spsvg{display:block;width:100%;max-height:72vh;touch-action:none;user-select:none}
.hg-spsvg .g{stroke:var(--sp-rule);stroke-width:.06} .hg-spsvg .g10{stroke-width:.12}
.hg-spsvg .wall{fill:none;stroke:var(--sp-ink);stroke-width:.35}
.hg-spsvg .keep{fill:color-mix(in srgb,var(--warn) 12%,transparent);stroke:var(--warn);stroke-width:.12;stroke-dasharray:.6 .4}
.hg-spsvg .door{fill:var(--sp-trim)} .hg-spsvg .win{fill:var(--sp-survey)}
.hg-spsvg .lbl{fill:var(--sp-muted);font-family:var(--mono)}
.hg-spsvg g.it{cursor:grab}
.hg-spsvg g.it rect{fill:color-mix(in srgb,var(--c) 28%,var(--sp-sheet));stroke:var(--c);stroke-width:.18}
.hg-spsvg g.it text{fill:var(--sp-ink);font-family:var(--display);font-weight:600;pointer-events:none}
.hg-spsvg g.it.sel rect{stroke-width:.4;stroke:var(--sp-ink)}
.hg-spsvg g.it.clash rect{stroke:var(--crit);stroke-width:.4;stroke-dasharray:.5 .3}
.hg-spsvg g.it.block rect{stroke:var(--warn);stroke-width:.35}
.hg-spsvg g.it:focus{outline:none} .hg-spsvg g.it:focus-visible rect{stroke:var(--accent);stroke-width:.5}
.hg-spside{display:grid;gap:12px;align-content:start;min-width:0}
.hg-spstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.hg-spstats div{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px;display:grid}
.hg-spstats b{font-family:var(--display);font-size:22px;line-height:1;color:var(--tan)} .hg-spstats b.bad{color:var(--crit)} .hg-spstats b.warn{color:var(--warn)}
.hg-spstats span{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}
.hg-spsel{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft)}
.hg-spsel input{font:14px var(--body);padding:6px 8px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);color:var(--ink);width:100%}
.hg-spsel .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hg-spsel label{display:grid;gap:3px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.hg-spcat{display:flex;flex-wrap:wrap;gap:5px}
.hg-spadd{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 9px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2)}
.hg-spadd:hover{border-color:var(--accent)} .hg-spadd:focus-visible{outline:2px solid var(--accent)}
.hg-spadd i{width:8px;height:8px;border-radius:2px;background:var(--c)} .hg-spadd small{font-family:var(--mono);color:var(--ink-3)}

/* ---------- storage ---------- */
.hg-st{display:grid;gap:10px}
.hg-stq input{font:15px var(--body);padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel-2);color:var(--ink);width:100%}
.hg-stg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}

/* ---------- upgrades matrix ---------- */
.hg-mx{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}
@media (max-width:980px){.hg-mx{grid-template-columns:minmax(0,1fr)}}
.hg-mxgrid{position:relative;aspect-ratio:1.35;max-width:100%;border:1px solid var(--line);border-radius:12px;background:
  linear-gradient(var(--line) 0 0) 50% 0/1px 100% no-repeat,linear-gradient(var(--line) 0 0) 0 50%/100% 1px no-repeat,
  linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 50%) 0 0/50% 50% no-repeat,var(--panel-2);overflow:hidden}
.hg-mxgrid .q{position:absolute;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);opacity:.8}
.hg-mxgrid .q1{left:10px;top:8px;color:var(--acc-txt)} .hg-mxgrid .q2{right:10px;top:8px} .hg-mxgrid .q3{left:10px;bottom:8px} .hg-mxgrid .q4{right:10px;bottom:8px}
.hg-mxgrid .ax{position:absolute;font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.08em}
.hg-mxgrid .ay{left:50%;top:6px;transform:translateX(6px)} .hg-mxgrid .ax2{right:8px;top:50%;transform:translateY(4px)}
.hg-dot{all:unset;box-sizing:border-box;cursor:grab;position:absolute;transform:translate(-50%,-50%);max-width:150px;font-size:11.5px;line-height:1.2;padding:4px 8px;border-radius:8px;background:var(--panel);border:1px solid var(--tan);color:var(--ink);box-shadow:var(--shadow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;touch-action:none}
.hg-dot:hover{border-color:var(--accent);z-index:2;white-space:normal} .hg-dot:focus-visible{outline:2px solid var(--accent)}
.hg-dot.tray{position:static;transform:none;max-width:100%}
.hg-dot.ghost{position:fixed;pointer-events:none;z-index:80;opacity:.85;border-color:var(--accent)}
.hg-mxt{display:flex;flex-wrap:wrap;gap:6px}
.hg-mxl{margin:0;padding-left:20px;display:grid;gap:2px} .hg-mxl button{all:unset;cursor:pointer;font-size:13.5px} .hg-mxl button:hover{color:var(--accent)}

/* ---------- upkeep setup + costs ---------- */
.hg-setup{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel-2)}
.hg-setr{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) auto;gap:8px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.hg-setr .t{display:grid;gap:2px;min-width:0} .hg-setr .t b{font-size:13.5px}
.hg-setr .f{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.hg-setr label{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.hg-setr input,.hg-setr select{font:13px var(--body);padding:5px 7px;border:1px solid var(--line-2);border-radius:7px;background:var(--panel);color:var(--ink)}
@media (max-width:820px){.hg-setr{grid-template-columns:minmax(0,1fr)}}
.hg-costs{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.hg-costs div{display:grid} .hg-costs b{font-family:var(--display);font-size:22px;color:var(--tan)} .hg-costs span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.hg-costs .note{flex-basis:100%}
/* =============== round 4: visual, interactive views =============== */
/* treemap overview of open items */
.hg-tm{position:relative;width:100%;border-radius:12px;overflow:hidden;background:var(--panel-2)}
.hg-tmc{all:unset;box-sizing:border-box;position:absolute;cursor:pointer;padding:10px 12px;border:2px solid var(--panel);border-radius:10px;display:flex;flex-direction:column;gap:4px;overflow:hidden;
  background:linear-gradient(160deg,color-mix(in srgb,var(--tan) 18%,var(--panel-2)),var(--panel-2));transition:filter .15s}
.hg-tmc:hover{filter:brightness(1.08)} .hg-tmc:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.hg-tmc.hot{background:linear-gradient(160deg,color-mix(in srgb,var(--a-hangar) 11%,var(--panel-2)),var(--panel-2))}
.hg-tmc.on{border-color:var(--accent)}
.hg-tmc .n{font-family:var(--display);font-weight:600;font-size:clamp(20px,3vw,40px);line-height:.9;color:var(--ink)}
.hg-tmc .t{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);line-height:1.1}
.hg-tmc .badges{display:flex;flex-wrap:wrap;gap:4px}
.hg-tmc .hb{font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:999px;background:var(--crit-soft);color:var(--crit-txt)} .hg-tmc .hb.late{background:var(--warn-soft);color:var(--warn-txt)}
.hg-tmc .peek{font-size:12px;color:var(--ink-3);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.hg-tmc .bar{margin-top:auto;display:flex;gap:2px;height:5px;border-radius:3px;overflow:hidden}
.hg-tmlegend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:8px 2px 0;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.hg-tmlegend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.hg-deck{margin-top:12px;border:1px solid var(--accent);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--accent) 5%,var(--panel))}
.hg-deckh{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;margin-bottom:10px}
.hg-deckh h4{margin:0;font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:.04em;text-transform:uppercase} .hg-deckh small{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em;text-transform:none}
.hg-cardsg{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.hg-ic{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--c);min-height:96px}
.hg-ic:hover{border-color:var(--accent)} .hg-ic:focus-visible{outline:2px solid var(--accent)}
.hg-ic .ty{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.hg-ic .tt{font-size:13.5px;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.hg-ic .ft{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 8px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)} .hg-ic .ft b{color:var(--warn-txt);font-weight:500} .hg-ic .ft b.late{color:var(--crit-txt)} .hg-ic .pin{color:var(--accent)}

/* coming-up track */
.hg-track{display:flex;align-items:center;gap:10px;margin-top:4px}
.hg-track .late{all:unset;cursor:pointer;display:grid;place-items:center;min-width:46px;height:46px;border-radius:10px;background:var(--crit-soft);color:var(--crit-txt);line-height:1}
.hg-track .late b{font-family:var(--display);font-size:20px} .hg-track .late small{font-family:var(--mono);font-size:9px}
.hg-track .rail{position:relative;flex:1;height:46px;border-bottom:2px solid var(--line-2)}
.hg-track .tk{position:absolute;bottom:-18px;transform:translateX(-50%);font-family:var(--mono);font-size:9.5px;color:var(--ink-3);white-space:nowrap}
.hg-track .tk:first-of-type{transform:none}
.hg-track .mk{all:unset;cursor:pointer;position:absolute;bottom:calc(4px + var(--l) * 13px);transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px var(--panel)}
.hg-track .mk:hover{transform:translateX(-50%) scale(1.35)} .hg-track .mk:focus-visible{outline:2px solid var(--accent)}
.hg-next3{display:grid;gap:4px;margin-top:22px}
.hg-next3 button{all:unset;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:baseline;font-size:13px;padding:4px 6px;border-radius:6px;border-left:3px solid var(--c)}
.hg-next3 button:hover{background:var(--raise)} .hg-next3 b{font-family:var(--display);font-size:16px;color:var(--c)} .hg-next3 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* shopping tiles */
.hg-stores{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.hg-shop{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px;align-content:start;min-width:0}
.hg-shop.first{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.hg-shoph{display:flex;align-items:center;gap:10px} .hg-shoph .n{font-family:var(--display);font-weight:600;font-size:34px;line-height:1;color:var(--accent)}
.hg-shoph b{display:block;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.03em;text-transform:uppercase} .hg-shoph small{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.hg-shoph .cc-btn{margin-left:auto;min-height:28px;padding:3px 9px;font-size:11px}
.hg-shop .meter{height:4px;border-radius:2px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden} .hg-shop .meter i{display:block;height:100%;background:var(--tan)}
.hg-chips{display:flex;flex-wrap:wrap;gap:5px}
.hg-chip{all:unset;box-sizing:border-box;cursor:pointer;font-size:12.5px;line-height:1.25;padding:5px 9px;border-radius:8px;background:var(--panel);border:1px solid var(--line-2);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.hg-chip:hover{border-color:var(--accent)} .hg-chip:focus-visible{outline:2px solid var(--accent)}
.hg-chip.hi{border-color:color-mix(in srgb,var(--crit) 60%,var(--line-2))} .hg-chip small{font-family:var(--mono);font-size:10px;color:var(--ink-3)}
.hg-chip.static{cursor:default} .hg-chip.add{border-style:dashed;color:var(--ink-3)} .hg-chip.more{color:var(--ink-3)} .hg-chip.hit{border-color:var(--accent);background:var(--accent-soft)}

/* upkeep calendar, equipment, systems, log */
.hg-cal12{display:grid;gap:2px;overflow-x:auto}
.hg-cal12 .hd,.hg-cal12 .rw{display:grid;grid-template-columns:minmax(170px,1.6fr) repeat(12,minmax(30px,1fr));align-items:center;min-width:600px}
.hg-cal12 .hd span{font-family:var(--mono);font-size:10px;color:var(--ink-3);text-align:center;letter-spacing:.06em} .hg-cal12 .hd span.now{color:var(--accent)}
.hg-cal12 .rw{all:unset;box-sizing:border-box;display:grid;grid-template-columns:minmax(170px,1.6fr) repeat(12,minmax(30px,1fr));align-items:center;min-width:600px;cursor:pointer;border-radius:6px;padding:3px 0}
.hg-cal12 .rw:hover{background:var(--raise)} .hg-cal12 .rw:focus-visible{outline:2px solid var(--accent)}
.hg-cal12 .lb{font-size:12.5px;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-cal12 .c{height:22px;display:grid;place-items:center;border-left:1px solid var(--line)} .hg-cal12 .c.now{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.hg-cal12 .c i{width:14px;height:14px;border-radius:50%;background:var(--galv);display:grid;place-items:center;font:600 9px var(--mono);color:var(--panel);font-style:normal}
.hg-cal12 .c i.late{background:var(--crit)}
.hg-needset{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--ink-3)}
.hg-eqg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.hg-eq{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:grid;gap:3px;padding:10px 12px 10px 26px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line)}
.hg-eq:hover{border-color:var(--accent)} .hg-eq:focus-visible{outline:2px solid var(--accent)}
.hg-eq .lt{position:absolute;left:10px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--ink-3)}
.hg-eq.bad .lt{background:var(--crit);box-shadow:0 0 0 3px var(--crit-soft)} .hg-eq.ok .lt{background:var(--ok)}
.hg-eq .nm{font-weight:600;font-size:13.5px;line-height:1.25} .hg-eq .mt{font-family:var(--mono);font-size:10px;color:var(--ink-3)} .hg-eq .st{font-size:12px;color:var(--ink-2)} .hg-eq.bad .st{color:var(--crit-txt)}
.hg-sysg{display:grid;gap:8px}
.hg-sys{display:grid;gap:3px} .hg-sys .nm{font-size:13px;font-weight:600}
.hg-sys .gauge{height:8px;border-radius:4px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden} .hg-sys .gauge i{display:block;height:100%}
.hg-sys .gauge.empty{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ink) 9%,transparent) 0 6px,transparent 6px 10px)}
.hg-sys .mt{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.hg-logs{display:flex;align-items:flex-end;gap:4px;height:64px;margin-bottom:8px}
.hg-logs .m{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}
.hg-logs .m i{display:block;width:100%;min-height:2px;border-radius:3px 3px 1px 1px;background:var(--tan)} .hg-logs .m b{font-family:var(--mono);font-size:9.5px;font-weight:400;color:var(--ink-3)}
.hg-logl{margin:0;font-size:12.5px;color:var(--ink-2)} .hg-logl b{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);font-weight:400;margin-right:6px}

/* setup wizard */
.hg-wiz{border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--accent) 6%,var(--panel));display:grid;gap:10px}
.hg-wiz.done{border-color:color-mix(in srgb,var(--ok) 40%,var(--line));background:var(--ok-soft)}
.hg-wizh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}
.hg-dots{display:flex;flex-wrap:wrap;gap:4px} .hg-dots button{all:unset;cursor:pointer;width:12px;height:12px;border-radius:3px;background:color-mix(in srgb,var(--ink) 15%,transparent)}
.hg-dots button.on{background:var(--accent)} .hg-dots button:focus-visible{outline:2px solid var(--accent)}
.hg-wiz .hg-setr{border-top:0;padding:0;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) auto}
.hg-wiz .t b{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:.02em} .hg-wiz .why{font-size:12.5px;color:var(--ink-2)}

/* grounds calculator */
.hg-calc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,.9fr);gap:12px}
@media (max-width:980px){.hg-calc{grid-template-columns:minmax(0,1fr)}}
.hg-calcc{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:6px;align-content:start}
.hg-calcc .hg-seg{flex-wrap:wrap}
.hg-zbars{display:grid;gap:8px;align-content:start;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.hg-zb{display:grid;grid-template-columns:30px minmax(90px,.8fr) minmax(0,1.4fr) minmax(110px,auto);gap:10px;align-items:center}
.hg-zb .zn{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:16px;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.35)}
.hg-zb .zt b{display:block;font-size:13.5px} .hg-zb .bar{height:12px;border-radius:6px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden} .hg-zb .bar i{display:block;height:100%;border-radius:6px}
.hg-zb .zv{font-size:12px;text-align:right} .hg-zb .zv b{font-family:var(--display);font-size:20px}
@media (max-width:640px){.hg-zb{grid-template-columns:30px minmax(0,1fr) auto}.hg-zb .bar{grid-column:2/4}}
.hg-feed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:4px 0}
.hg-feed span{display:grid;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 4px}
.hg-feed b{font-family:var(--display);font-size:20px;color:var(--tan)} .hg-feed small{font-family:var(--mono);font-size:9.5px;color:var(--ink-3)}
.hg-gfacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.hg-gfacts div{display:grid;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.hg-gfacts b{font-family:var(--display);font-size:22px;color:var(--tan);line-height:1.05} .hg-gfacts span{font-size:12px;color:var(--ink-3)}

/* records + parcel */
.hg-rtl{position:relative;height:96px;margin:6px 4px 0}
.hg-rtl .ln{position:absolute;left:0;right:0;top:48px;height:2px;background:var(--line-2)}
.hg-rtl .yr{position:absolute;top:56px;transform:translateX(-50%);font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.hg-rtl .ph{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;top:8px;display:grid;justify-items:start;gap:1px;min-width:70px}
.hg-rtl .ph i{position:absolute;top:34px;left:0;width:var(--w);min-width:10px;height:12px;border-radius:6px;background:var(--tan)}
.hg-rtl .ph b{font-size:12px;white-space:nowrap} .hg-rtl .ph small{font-family:var(--mono);font-size:9.5px;color:var(--ink-3)}
.hg-rtl{height:132px} .hg-rtl .ln{top:66px} .hg-rtl .yr{top:72px} .hg-rtl .ph i{top:52px} .hg-rtl .ph.lane0{top:0} .hg-rtl .ph.lane1{top:84px} .hg-rtl .ph.lane1 i{top:-24px} .hg-rtl .ph.lane2{top:24px} .hg-rtl .ph.lane2 i{top:28px}
.hg-rtl .ph.on i,.hg-rtl .ph:hover i{background:var(--accent)} .hg-rtl .ph:focus-visible{outline:2px solid var(--accent)}
.hg-parcelw{max-width:300px;margin:0 auto 10px}
.hg-parcel{display:block;width:100%;height:auto;max-height:340px}
.hg-parcel .pf{fill:color-mix(in srgb,var(--tan) 12%,transparent);stroke:var(--tan);stroke-width:3;stroke-dasharray:14 6 3 6}
.hg-parcel .tl{fill:none;stroke:var(--galv);stroke-width:2;stroke-dasharray:6 5}
.hg-parcel .bd{fill:var(--a-hangar);opacity:.8} .hg-parcel .tf{fill:var(--sp-zone6);opacity:.8}
.hg-parcel text{font-family:var(--mono);fill:var(--ink-2);text-anchor:middle} .hg-parcel .dm{font-size:20px} .hg-parcel .ac{font-size:24px;fill:var(--ink-3)} .hg-parcel .ac.big{font-family:var(--display);font-size:48px;font-weight:600;fill:var(--ink)}
.hg-key{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.hg-key li{grid-template-columns:30px minmax(0,1fr);border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel-2)}
.hg-key .d{grid-column:2} .hg-key .s{grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} .hg-key .cc-btn{grid-column:1/-1}

/* visit route */
.hg-vtop{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px;margin-bottom:12px}
@media (max-width:820px){.hg-vtop{grid-template-columns:minmax(0,1fr)}}
.hg-vmap{background:var(--sp-sheet);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.hg-vmap svg{display:block;width:100%;height:auto;max-height:340px}
.hg-vmap .fld{fill:var(--sp-field)} .hg-vmap .trf{fill:var(--sp-zone6);opacity:.55} .hg-vmap .grv{fill:var(--sp-gravel);opacity:.8}
.hg-vmap .bld{fill:var(--sp-roof);stroke:var(--sp-trim);stroke-width:1.2} .hg-vmap .apr{fill:var(--sp-concrete);stroke:var(--sp-bldg);stroke-width:.5}
.hg-vmap .rt{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-dasharray:6 4;stroke-linejoin:round}
.hg-vmap g circle{stroke:var(--sp-sheet);stroke-width:2} .hg-vmap g text,.hg-vmap .gtt{font-family:var(--display);font-weight:700;font-size:11px;fill:#fff;text-anchor:middle;dominant-baseline:middle}
.hg-vmap .gt{fill:var(--ink-3)} .hg-vmap .gtt{font-size:6px;fill:var(--sp-ink);transform:translateY(9px)}
.hg-vsum{display:grid;gap:12px;align-content:start;justify-items:start}
.hg-ring{--p:0;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;
  background:radial-gradient(closest-side,var(--panel) 78%,transparent 79%),conic-gradient(var(--accent) calc(var(--p) * 360deg),color-mix(in srgb,var(--ink) 10%,transparent) 0)}
.hg-ring b{font-family:var(--display);font-size:30px;line-height:1} .hg-ring small{font-family:var(--mono);font-size:9.5px;color:var(--ink-3)}
.hg-vnums{display:flex;flex-wrap:wrap;gap:6px 14px} .hg-vnums span{display:grid;font-family:var(--mono);font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em} .hg-vnums b{font-family:var(--display);font-size:24px;color:var(--ink);letter-spacing:0}
.hg-stops{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,300px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.hg-stop{scroll-snap-align:start;background:var(--panel-2);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:12px;padding:10px 12px;display:grid;gap:6px;align-content:start}
.hg-stop.all{opacity:.65}
.hg-stoph{display:flex;align-items:center;gap:8px} .hg-stoph .no{width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700}
.hg-stoph b{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.03em;text-transform:uppercase} .hg-stoph .ct{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.hg-stopb{display:grid;gap:2px} .hg-stopb label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;font-size:13px;line-height:1.3;padding:5px 0;cursor:pointer}
.hg-stopb input{accent-color:var(--accent);width:16px;height:16px} .hg-stopb label.done span{text-decoration:line-through;color:var(--ink-3)} .hg-stopb small{font-family:var(--mono);font-size:10px;color:var(--ink-3)} .hg-stopb .hi{color:var(--crit)}

/* storage places */
.hg-stq{display:flex;align-items:center;gap:10px}
.hg-places{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.hg-place{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:8px;align-content:start;transition:opacity .15s}
.hg-place.lit{border-color:var(--accent)} .hg-place.dim{opacity:.4} .hg-place.on{grid-column:1/-1}
.hg-place .hd{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px} .hg-place .hd .n{font-family:var(--display);font-size:30px;font-weight:600;line-height:1;color:var(--tan)}
.hg-place .hd b{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.03em;text-transform:uppercase} .hg-place .hd:focus-visible{outline:2px solid var(--accent)}

.hg-areas{display:block}

/* ---------- space planner v2 ---------- */
.pl{display:grid;gap:10px}
.pl-bar{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.pl-sp{flex:1 0 8px}
.pl-scen{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.pl-scen select{font:500 12px var(--mono);padding:6px 8px;min-height:32px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);border-radius:8px}
.pl-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:14px}
@media (max-width:980px){.pl-main{grid-template-columns:minmax(0,1fr)}}
.pl-floor{background:var(--sp-sheet);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:0}
.pl-svg{display:block;width:100%;max-height:76vh;touch-action:none;user-select:none;cursor:grab;outline:none}
.pl-svg:focus-visible{box-shadow:0 0 0 2px var(--accent)}
.pl-svg.t-measure,.pl-svg.t-zone{cursor:crosshair}
.pl-svg .floor{fill:var(--sp-sheet)} .pl-svg .g{stroke:var(--sp-rule);stroke-width:.08} .pl-svg .g1{stroke:var(--sp-rule);stroke-width:.03;opacity:.6}
.pl-svg .rl{font:1px var(--mono);fill:var(--sp-muted)}
.pl-svg .wall{fill:none;stroke:var(--sp-ink);stroke-width:.35}
.pl-svg .door{fill:var(--sp-trim)} .pl-svg .win{fill:var(--sp-survey)} .pl-svg .gap{fill:var(--sp-done)}
.pl-svg .keep{fill:color-mix(in srgb,var(--warn) 10%,transparent);stroke:var(--warn);stroke-width:.1;stroke-dasharray:.6 .4}
.pl-svg .zone{fill:color-mix(in srgb,var(--c) 12%,transparent);stroke:var(--c);stroke-width:.12;stroke-dasharray:1 .5} .pl-svg .zone.draft{--c:var(--accent)}
.pl-svg .zl{font:600 1.3px var(--display);letter-spacing:.05em;text-transform:uppercase;fill:var(--c)}
.pl-svg g.it{cursor:grab} .pl-svg g.it.locked{cursor:default}
.pl-svg g.it rect{fill:color-mix(in srgb,var(--c) 30%,var(--sp-sheet));stroke:var(--c);stroke-width:.16}
.pl-svg g.it .nose{fill:var(--sp-ink)}
.pl-svg g.it text{fill:var(--sp-ink);font-family:var(--display);font-weight:600;pointer-events:none}
.pl-svg g.it.sel rect{stroke:var(--sp-ink);stroke-width:.3}
.pl-svg g.it.clash rect{stroke:var(--crit);stroke-width:.4;stroke-dasharray:.5 .3}
.pl-svg g.it.block rect{stroke:var(--warn);stroke-width:.35}
.pl-svg g.it.locked rect{stroke-dasharray:.3 .3;opacity:.85}
.pl-svg .bb{fill:none;stroke:var(--sp-hl);stroke-width:.1;stroke-dasharray:.6 .4}
.pl-svg .hl{stroke:var(--sp-hl);stroke-width:.1} .pl-svg .rh{fill:var(--sp-sheet);stroke:var(--sp-hl);stroke-width:.25;cursor:grab}
.pl-svg .dim{stroke:var(--sp-survey);stroke-width:.08;stroke-dasharray:.4 .3} .pl-svg .dt{font:.95px var(--mono);fill:var(--sp-survey)}
.pl-svg .ms{stroke:var(--sp-hl);stroke-width:.2} .pl-svg .mt{font:600 1.3px var(--mono);fill:var(--sp-ink);text-anchor:middle;paint-order:stroke;stroke:var(--sp-sheet);stroke-width:.4}
.pl-side{display:grid;gap:10px;align-content:start;min-width:0}
.pl-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:8px}
.pl-roll{list-style:none;margin:0;padding:0;display:grid;gap:4px} .pl-roll li{display:flex;gap:8px;align-items:baseline;font-size:13px} .pl-roll li b{font-size:14px} .pl-roll li.ok b{color:var(--ok)} .pl-roll li.no b{color:var(--crit)} .pl-roll small{color:var(--ink-3)}
.pl-rot{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)} .pl-rot input{width:100%;accent-color:var(--accent)} .pl-rot b{font-family:var(--display);font-size:16px;color:var(--ink)}
.pl-clr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px} .pl-clr span{display:grid;text-align:center;font-family:var(--mono);font-size:9.5px;color:var(--ink-3);padding:4px;border:1px solid var(--line);border-radius:6px;background:var(--panel)} .pl-clr b{font-family:var(--display);font-size:15px;color:var(--ink)}
.pl-det{border:1px solid var(--line);border-radius:12px;background:var(--panel-2)} .pl-det summary{cursor:pointer;padding:9px 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)} .pl-det summary small{color:var(--ink-3);margin-left:6px}
.pl-det>*:not(summary){padding:0 12px 10px}
.pl-items{list-style:none;margin:0;padding:0 8px 8px;display:grid;max-height:260px;overflow:auto}
.pl-items li{display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;align-items:center;border-top:1px solid var(--line)} .pl-items li:first-child{border-top:0}
.pl-items li.on{background:var(--accent-soft);border-radius:6px} .pl-items li.bad>button:first-child{color:var(--crit-txt)}
.pl-items li>button:first-child{all:unset;cursor:pointer;display:flex;align-items:center;gap:7px;padding:6px 4px;font-size:13px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis} .pl-items i{width:8px;height:8px;border-radius:2px;flex:none} .pl-items small{font-family:var(--mono);color:var(--ink-3)}
.pl-items .ic,.pl-zone .ic{all:unset;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;border-radius:6px;font-size:12px;color:var(--ink-3)} .pl-items .ic:hover,.pl-zone .ic:hover{background:var(--raise);color:var(--ink)} .pl-items .ic:focus-visible,.pl-zone .ic:focus-visible{outline:2px solid var(--accent)}
.pl-zone{display:grid;grid-template-columns:10px minmax(0,1fr) auto 28px;gap:8px;align-items:center;padding:4px 0} .pl-zone i{width:10px;height:10px;border-radius:2px} .pl-zone input{font:13px var(--body);padding:4px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--panel);color:var(--ink);min-width:0} .pl-zone small{font-family:var(--mono);color:var(--ink-3)}
.pl-custom{display:grid;grid-template-columns:minmax(0,1.6fr) 60px 60px auto auto;gap:6px;margin-top:8px} .pl-custom input,.pl-custom select{font:12.5px var(--body);padding:5px 7px;border:1px solid var(--line-2);border-radius:7px;background:var(--panel);color:var(--ink);min-width:0} .pl-custom .cc-btn{min-height:30px;padding:3px 10px}
@media (max-width:640px){.pl-custom{grid-template-columns:1fr 1fr}.pl-custom input:first-child{grid-column:1/-1}}

/*ELEV:BEGIN (20 Oct 2026) header backdrop: the hangar's apron side from the page's own 3D model (hangar.site.js, all four door leaves
   closed; only the hangar body, the door and the two 4x4 track posts with the track header: no braces, lights or fence), drawn once behind the header and fading down. Two masks at the artifact root, so the colours follow the theme:
   hangar-elev-ink.png (the lines, including the 4x4 track posts) and hangar-elev-red.png (the Crimson leaves and trim).
   Rajiv: "Keep just the 4x4 doors posts and remove all the other noise", "close all doors", "why is there gold/yellow?" (gone). */
.hg-elev{position:absolute;top:8px;right:max(16px,calc((100vw - 1360px) / 2 + 24px));width:min(600px,46vw);aspect-ratio:2134/532;z-index:-1;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,#000 70%,transparent 100%)}
.hg-elev>i{position:absolute;inset:0;display:block}
.hg-elev .ink{background:var(--ink);opacity:.26;-webkit-mask:url(hangar-elev-ink.png) center/contain no-repeat;mask:url(hangar-elev-ink.png) center/contain no-repeat}
.hg-elev .red{background:var(--a-hangar);opacity:.36;-webkit-mask:url(hangar-elev-red.png) center/contain no-repeat;mask:url(hangar-elev-red.png) center/contain no-repeat}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .hg-elev .ink{opacity:.24} :root:not([data-theme="dark"]) .hg-elev .red{opacity:.26}}
:root[data-theme="light"] .hg-elev .ink{opacity:.24} :root[data-theme="light"] .hg-elev .red{opacity:.26}
@media (max-width:640px){.hg-elev{top:46px;right:8px;width:80vw}.hg-elev .ink{opacity:.14}.hg-elev .red{opacity:.2}}
/*ELEV:END*/

/* planner: alignment guides and the item menu */
.pl-svg .guide{stroke:var(--sp-hl);stroke-width:.08;stroke-dasharray:.5 .35}
.pl-menu{position:absolute;z-index:5;display:grid;min-width:170px;padding:4px;border-radius:10px;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--lift)}
.pl-menu button{all:unset;cursor:pointer;padding:7px 10px;border-radius:7px;font-size:13px;color:var(--ink)}
.pl-menu button:hover{background:var(--raise)} .pl-menu button:focus-visible{outline:2px solid var(--accent)}
.pl-menu button:last-child{color:var(--crit-txt)}

/* planner: on-floor navigation */
.pl-floorwrap{position:relative;min-width:0}
.pl-nav{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:4px;align-items:center;z-index:3}
.pl-nav button{all:unset;box-sizing:border-box;cursor:pointer;width:38px;height:38px;display:grid;place-items:center;font:600 18px var(--body);border:1px solid var(--line-2);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--ink);border-radius:9px;box-shadow:var(--shadow)}
.pl-nav button:hover{border-color:var(--accent)} .pl-nav button:focus-visible{outline:2px solid var(--accent)} .pl-nav button[disabled]{opacity:.4;cursor:default}
.pl-zoom{font:11px var(--mono);color:var(--ink-3);background:color-mix(in srgb,var(--panel) 92%,transparent);padding:2px 6px;border-radius:6px}
.pl-hint{position:absolute;left:12px;bottom:12px;font:10.5px var(--mono);color:var(--sp-muted);background:color-mix(in srgb,var(--sp-sheet) 88%,transparent);padding:2px 6px;border-radius:4px;pointer-events:none;max-width:calc(100% - 80px)}
.pl-svg.panning{cursor:grab}
@media (max-width:640px){.pl-nav button{width:42px;height:42px}.pl-hint{display:none}}

/* ---------- round 9: mowing, estimator, visit history, search, photos, phone bar, checklists ---------- */
.hg-mow{display:grid;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel-2)}
.hg-mowh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.hg-mowg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.hg-mows{display:grid;gap:6px;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--c)}
.hg-mows .t b{display:block;font-size:13.5px;line-height:1.25} .hg-mows .st{display:flex;align-items:center;gap:7px;font-size:13px} .hg-mows .st i{width:9px;height:9px;border-radius:50%;background:var(--c)} .hg-mows .st small{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}
.hg-mows .bar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden} .hg-mows .bar i{display:block;height:100%;background:var(--c)}
.hg-mows .actions .cc-btn{min-height:30px;padding:4px 10px;font-size:11.5px}
.hg-est{display:grid;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel-2)}
.hg-estin{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px} .hg-estin label{display:grid;gap:2px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)} .hg-estin span{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-2)}
.hg-estin input{width:64px;font:13px var(--body);padding:4px 6px;border:1px solid var(--line-2);border-radius:7px;background:var(--panel);color:var(--ink)}
.hg-estout{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px} .hg-estout div{display:grid;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)} .hg-estout b{font-family:var(--display);font-size:22px;color:var(--tan);line-height:1.05} .hg-estout span{font-size:12px;color:var(--ink-3)}
.hg-estout .tot{grid-column:1/-1;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))} .hg-estout .tot b{color:var(--acc-txt);font-size:26px}
.hg-vhist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:6px} .hg-vh{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)} .hg-vh b{font-family:var(--mono);font-size:11px;color:var(--ink-3)} .hg-vh .n{font-family:var(--display);font-size:22px;color:var(--tan)}
.hg-pal{width:min(640px,calc(100vw - 32px));margin-top:8vh}
.hg-palin{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)} .hg-palin input{flex:1;font:16px var(--body);padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--panel-2);color:var(--ink)} .hg-palin kbd{font:11px var(--mono);padding:2px 6px;border:1px solid var(--line-2);border-radius:5px;color:var(--ink-3)}
.hg-pall{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto;display:grid}
.hg-pall li{display:grid;grid-template-columns:84px minmax(0,1fr);gap:2px 10px;padding:8px 10px;border-radius:8px;cursor:pointer} .hg-pall li.on,.hg-pall li:hover{background:var(--accent-soft)}
.hg-pall .k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:3px} .hg-pall .t{font-weight:600;font-size:14px} .hg-pall .s{grid-column:2;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-pal .note{padding:6px 14px 12px}
.hg-qbar{display:none}
@media (max-width:640px){.hg-qbar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--panel) 94%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(6px)}
  .hg-qbar button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 4px;border-radius:8px;color:var(--ink-2);min-height:40px} .hg-qbar button:last-child{background:var(--accent);color:var(--accent-ink)} .cc-wrap{padding-bottom:70px}}
.hg-subbar{height:6px;border-radius:3px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;margin:4px 0 8px} .hg-subbar i{display:block;height:100%;background:var(--ok)}
.hg-subs{list-style:none;margin:0;padding:0;display:grid;gap:2px} .hg-subs label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;font-size:13.5px;line-height:1.35;padding:4px 0;cursor:pointer} .hg-subs input{accent-color:var(--ok);width:17px;height:17px;margin-top:1px} .hg-subs li.done span{color:var(--ink-3);text-decoration:line-through}
.hg-ic .sub{color:var(--ok-txt)}
.hg-phg{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start} .hg-ph{margin:0;width:120px;display:grid;gap:3px} .hg-ph img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line)} .hg-ph figcaption{display:flex;gap:6px;align-items:center;font-size:11.5px;color:var(--ink-2)} .hg-ph small{font-family:var(--mono);color:var(--ink-3)} .hg-ph .ic{all:unset;cursor:pointer;margin-left:auto;color:var(--ink-3);padding:0 4px} .hg-ph .ic:hover{color:var(--crit-txt)}
.hg-phadd{display:grid;place-items:center;width:120px;height:90px;border:1px dashed var(--line-2);border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink-2)} .hg-phadd:hover{border-color:var(--accent)}

/* ---------- round 10: every section folds ---------- */
details.cc-sec.flush .cc-secbody{padding:0}
details.cc-sec.flush .hg-desk{border:0;border-radius:0 0 12px 12px;box-shadow:none}
details.cc-sec .hg-strip{border:0;padding:0;box-shadow:none;background:none}
details.cc-sec .hg-ribbon .hg-card{box-shadow:none}
details.cc-sec:not([open]) .cc-peek{visibility:visible}
details.cc-sec>summary .cc-peek{max-width:60%}
@media (max-width:640px){details.cc-sec>summary .cc-peek{display:none}}

/* ---------- round 11 (26 Oct 2026): the Hangar brief ---------- */
.hg-brief{display:grid;gap:12px}
.hg-bhead{display:grid;gap:4px}
.hg-bline{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.2;color:var(--ink);letter-spacing:.005em}
@media (max-width:640px){.hg-bline{font-size:19px}}
.hg-bcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.hg-bc{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px 14px 18px;display:grid;gap:8px;align-content:start;min-width:0;overflow:hidden}
.hg-bc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c,var(--accent))}
.hg-bc .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--c,var(--accent));font-weight:500}
.hg-bc .h{font-family:var(--display);font-weight:600;font-size:17px;line-height:1.25;color:var(--ink)}
.hg-bc .w{font-size:13px;line-height:1.4;color:var(--ink-2)}
.hg-bc .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.hg-bchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hg-bchip{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel-2);font-size:12.5px;color:var(--ink);line-height:1.3;max-width:100%}
.hg-bchip small{font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap}
.hg-bchip.dash{border-style:dashed}
.hg-bchip:hover{background:var(--raise)} .hg-bchip:focus-visible{outline:2px solid var(--accent)}
.hg-ready{display:grid;gap:4px}
.hg-ready button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 6px;border-radius:8px;font-size:13px;color:var(--ink)}
.hg-ready button:hover{background:var(--raise)} .hg-ready button:focus-visible{outline:2px solid var(--accent)}
.hg-ready button i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--line-2);background:transparent}
.hg-ready button.done i{background:var(--ok);border-color:var(--ok)} .hg-ready button.done span{color:var(--ink-3);text-decoration:line-through}
.hg-ready button.late i{border-color:var(--crit);background:color-mix(in srgb,var(--crit) 40%,transparent)}
.hg-ready button small{font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap}
.hg-ready button.late small{color:var(--crit-txt)}
.hg-pickcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 18px}
.hg-pickcol{display:grid;gap:4px;align-content:start}
.hg-pick{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel);border-left:3px solid var(--galv)}
.hg-pick.hi{border-left-color:var(--crit)}
.hg-pick:hover{background:var(--raise)} .hg-pick:focus-visible{outline:2px solid var(--accent)}
.hg-pick .t{font-size:13.5px;line-height:1.3;color:var(--ink)}
.hg-pick .w{display:flex;flex-wrap:wrap;gap:4px}
.hg-pick .w i{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-3)}
.hg-pick .w i.crit{background:var(--crit-soft);color:var(--crit-txt);border-color:transparent} .hg-pick .w i.warn{background:var(--warn-soft);color:var(--warn-txt);border-color:transparent}
.hg-pick .w i.ok{background:var(--ok-soft);color:var(--ok-txt);border-color:transparent} .hg-pick .w i.acc{background:var(--accent-soft);color:var(--acc-txt);border-color:transparent}
.hg-link{all:unset;cursor:pointer;color:var(--accent);text-decoration:underline;text-underline-offset:2px;font:inherit}
.hg-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.hg-tr{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:8px;align-content:start;min-width:0}
.hg-flow{display:flex;gap:4px;align-items:flex-end;height:44px}
.hg-flow span{flex:1;display:flex;gap:2px;align-items:flex-end;height:100%;border-bottom:1px solid var(--line-2);padding-bottom:1px}
.hg-flow span i{flex:1;display:block;height:calc(var(--h,0)*100%);min-height:2px;border-radius:2px 2px 0 0}
.hg-flow span i.d{background:var(--ok)} .hg-flow span i.a{background:var(--galv);opacity:.7}
.hg-flow span.now i.d{background:var(--accent)}
.hg-flow.one span i.d{background:var(--tan)} .hg-flow.one span.now i.d{background:var(--accent)}
.hg-trf{font-size:12px;color:var(--ink-3)} .hg-trf b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.hg-age{display:flex;gap:2px;height:14px;border-radius:7px;overflow:hidden}
.hg-age i{display:block;min-width:3px}
.hg-agek{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:var(--ink-3)}
.hg-agek span{display:inline-flex;align-items:center;gap:5px} .hg-agek i{width:8px;height:8px;border-radius:2px}
.hg-vis{display:grid;gap:2px} .hg-vis b{font-family:var(--display);font-weight:600;font-size:24px;line-height:1;color:var(--ink)} .hg-vis span{font-size:12px;color:var(--ink-3)}

/* ===== web app additions (Nov 2026): sign-in control and the signed-out card ===== */
.cc-acct{display:inline-flex;align-items:center;gap:8px;min-width:0}
.cc-acct .who{font:500 11px var(--mono);color:var(--ink-3);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-gate{margin:0 0 14px;padding:16px 18px;border:1px solid var(--line-2);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between}
.cc-gate h2{margin:0 0 4px;font:600 20px/1.2 var(--display);letter-spacing:.02em;color:var(--ink)}
.cc-gate p{margin:0;color:var(--ink-2);max-width:62ch}
.cc-gate code{font-family:var(--mono);font-size:12px}
.cc-off-note{color:var(--ink-3);font-size:12px}
/* from the claude.ai page skeleton: the hidden attribute always wins */
[hidden]:not([hidden=until-found i]){display:none!important}
img{max-width:100%}
/* sections that need the workbook stay out of the way until it's read */
html.hg-nobook .cc-sec[data-book]{display:none}
html.hg-nobook .hg-qbar{display:none}
