:root{color-scheme:dark;--edhunter-green:#1cf76e;--metal-face:linear-gradient(165deg,#fdfefe 0%,#d3dce2 31%,#a3b1bb 57%,#81929e 72%,#c9d4db 100%);--steel:#cad3d9;--muted:#a8b4bd;font-family:system-ui,-apple-system,sans-serif;color:#f5f7f8;background:#10171b}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 45% 22%,#26343b 0%,#11191e 52%,#0b1013 100%);min-height:100vh}
a{color:inherit}
:focus-visible{outline:2px solid var(--edhunter-green);outline-offset:3px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:12px clamp(16px,5vw,70px);background:#11191d;border-bottom:1px solid #39464e}
.site-header img{display:block;max-width:100%;height:auto}
.site-header nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}
.site-header nav a,.ticker button,.metal-button{border:1px solid #c6d0d6;border-radius:7px;background:var(--metal-face);box-shadow:inset 0 1px #fff,0 3px 0 #64727c;color:#10161b;font:inherit;font-size:.84rem;font-weight:750;text-decoration:none;padding:8px 12px;cursor:pointer}
.ticker{display:flex;align-items:center;gap:10px;padding:7px 10px;margin:8px clamp(12px,2vw,32px) 0;border:1px solid #8797a2;border-radius:10px;background:linear-gradient(165deg,#51616c,#202b33 23%,#121a20 75%,#3c4b56);box-shadow:inset 0 1px #bacad5,0 3px 0 #10171b}
.ticker-label,.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--edhunter-green)}
.ticker-label{flex:none;text-transform:uppercase}
.ticker-window{min-width:0;flex:1;overflow:auto;scrollbar-width:none;background:#10171b;border-radius:6px}
#ticker-track{display:flex;width:max-content;min-height:38px;align-items:center;color:var(--steel);font-size:.85rem}
.ticker-group{display:flex;gap:8px;padding-inline-end:8px}
.ticker-group a{display:flex;align-items:center;gap:8px;padding:7px 12px;text-decoration:none;white-space:nowrap;border-inline-end:1px solid #44535d}
.ticker-group a strong{color:#f5f7f8}
.ticker-group a:hover,.ticker-group a:focus-visible{background:#202d35}
.ticker-group a:focus-visible{outline-offset:-2px}
.ticker-state{background:var(--edhunter-green);color:#092517;border-radius:4px;padding:2px 5px;font-size:.72rem;font-weight:850}
.ticker-organization{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#c1ccd4}
.ticker-copy,.ticker-arrows[hidden]{display:none}
.rolling .ticker-copy{display:flex}
.ticker-window:has(.rolling){overflow:hidden}
.rolling{animation:ticker var(--duration,30s) linear infinite}
.rolling.paused,.ticker-window:hover .rolling,.ticker:focus-within .rolling{animation-play-state:paused}
.ticker-window:has(:focus-visible){overflow:auto}
.ticker-window:has(:focus-visible) .rolling{animation:none}
.ticker-window:has(:focus-visible) .ticker-copy{display:none}
.ticker-arrows{display:flex;gap:5px}
@keyframes ticker{to{transform:translateX(-50%)}}
main{padding:clamp(24px,4vw,54px) clamp(12px,2vw,32px) 48px}
.intro-brand{display:flex;align-items:center;gap:10px;margin:0}
.intro-brand img{object-fit:contain;flex:none}
.intro h1{font-size:clamp(2.55rem,6vw,5.15rem);line-height:1;letter-spacing:-.065em;margin:.13em 0}
.intro>p:last-child{color:var(--steel);margin-bottom:22px}
#feed-status:empty{display:none}
#feed-status{color:var(--steel)}
.board-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.board,.results{border:1px solid #5a6871;border-radius:16px;background:#131c21;box-shadow:0 9px 26px #0005,inset 0 1px #ffffff29}
.board{
  padding:clamp(10px,1.8vw,22px);
  border-color:#aab8c1;
  background:linear-gradient(147deg,#eef5fa,#bbc9d3 30%,#768a98 63%,#b2c1cb);
  box-shadow:inset 0 2px #f7fcff,inset 0 -3px #3a444c,0 6px 0 #303f4a,0 14px 28px #0009;
}
.board-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px;padding:8px 10px;border:1px solid #53636e;border-radius:8px;background:#19242b;box-shadow:inset 0 2px 5px #0008;font-size:.86rem}
.board-toolbar img{width:28px;max-height:43px;object-fit:contain;cursor:grab;touch-action:none;user-select:none}
.board-toolbar p{margin:0;flex:1}
.board-toolbar label,.results-filters label{font-size:.76rem;font-weight:800}
.board-toolbar select,.results-filters select{display:block;width:min(38vw,176px);padding:7px;border:1px solid #8d9aa2;border-radius:6px;background:#151e23;color:#fff}
#map{
  position:relative;
  border:1px solid #18232b;
  border-radius:10px;
  background:radial-gradient(ellipse at 42% 28%,#344650,#1b2831 68%,#111a21);
  box-shadow:inset 0 2px 12px #000b,0 1px #edf7ffb0;
}
#map svg{width:100%;height:auto;display:block;overflow:visible}
#map .inset{fill:#17212875;stroke:#72818b;stroke-dasharray:3 3}
#map .state-sidewalls{filter:drop-shadow(0 3px 2px #000b)}
#map .state-sidewalls path{fill:url(#state-sidewall);stroke:#101a20;stroke-width:1.7;stroke-linejoin:round}
#map .state{fill:url(#steel);stroke:url(#state-rim);stroke-width:1.1;stroke-linejoin:round;cursor:pointer}
#map .state.has-jobs{fill:url(#active-steel);stroke:var(--edhunter-green);stroke-width:3;vector-effect:non-scaling-stroke}
#map .state[aria-pressed=true],#map .state:hover,#map .state:focus-visible{fill:url(#selected-steel);stroke:var(--edhunter-green);stroke-width:1.6}
#map .state.has-jobs:is([aria-pressed=true],:hover,:focus-visible){stroke-width:3}
#map .map-callout{cursor:pointer}
#map .map-callout rect{fill:#15232b;stroke:#9eb0bc;stroke-width:1}
#map .map-callout text{fill:#f4f9fc;font:bold 10px system-ui,sans-serif;text-anchor:middle;dominant-baseline:central}
#map .callout-line{fill:none;stroke:#aebec9;stroke-width:1;pointer-events:none}
#map .callout-dot{fill:#e4eef5;stroke:#293944;stroke-width:1;pointer-events:none}
#map .map-callout.has-jobs rect,#map .map-callout:is([aria-pressed=true],:hover,:focus-visible) rect{stroke:var(--edhunter-green)}
#map .map-callout:is([aria-pressed=true],:hover,:focus-visible) rect{fill:#194332;stroke-width:1.6}
#map .map-callout.has-jobs rect{stroke-width:2.5;vector-effect:non-scaling-stroke}
.count-badge{font:bold 10px system-ui,sans-serif;fill:#101b22;pointer-events:none;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#f1f8f4e6;stroke-width:2.6px;stroke-linejoin:round}
.inset-label{font:bold 8px system-ui,sans-serif;letter-spacing:1px;fill:#e0e5e8;pointer-events:none}
#map-piece{filter:drop-shadow(0 2px 2px #0009)}
.drag-piece{width:35px;position:fixed;z-index:10;pointer-events:none;transform:translate(-50%,-100%);transition:left 180ms ease-out,top 180ms ease-out;filter:drop-shadow(0 4px 3px #0009)}
.map-key{font-size:.75rem;color:#fff;background:#19242b;border-radius:6px;padding:5px 8px;width:fit-content;margin:10px 0 0}
.map-key span{display:inline-block;width:10px;height:10px;background:var(--edhunter-green);border-radius:2px;margin-right:4px}
.results{padding:18px}
.results-brand{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.results-brand img{object-fit:contain;flex:none}
.results h2{margin:0;font-size:1.55rem}
#results-count{color:var(--steel);margin:5px 0 12px}
#results-list{padding:0;margin:0;list-style:none}
#results-list li{margin:0 4px 7px}
#results-list li>details{border:1px solid #4e606b;border-radius:9px;background:#1a252b}
#results-list li>details[open],#results-list li>details:hover{border-color:var(--edhunter-green)}
#results-list li>details>summary{position:relative;display:grid;gap:4px;padding:11px 38px 11px 12px;cursor:pointer;list-style:none;scroll-margin-top:16px;overflow-wrap:anywhere}
#results-list li>details>summary::-webkit-details-marker{display:none}
#results-list li>details>summary::after{content:'+';position:absolute;right:13px;top:12px;color:var(--edhunter-green);font-size:1.2rem}
#results-list li>details[open]>summary::after{content:'−'}
#results-list li>details>summary>span{font-size:.83rem;color:var(--steel)}
#results-list .opening-card{margin:0;padding:0 7px 7px;border:0;border-radius:0;background:none;box-shadow:none;color:inherit}
.opening-card .button{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid;border-radius:7px;text-decoration:none}
.opening-card .saved-job-bookmark{display:grid;place-items:center;width:34px;height:34px;border:1px solid;border-radius:8px;cursor:pointer}
.opening-card .saved-job-bookmark svg{width:18px;height:18px}
.opening-card [data-saved-job-status]{margin:8px 5px 0;font-size:.86rem;color:var(--steel)}
.opening-card [data-saved-job-status] p{margin:0 0 5px}
.map-advanced{margin:12px 0;font-size:.88rem}
.map-advanced summary{cursor:pointer;color:var(--steel)}
.map-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:10px;margin-top:10px}
.map-advanced-grid label{display:grid;gap:5px;font-size:.76rem;font-weight:750;align-content:center}
.map-advanced-grid :is(input:not([type=checkbox]),select){width:100%;min-width:0;padding:7px;border:1px solid #8d9aa2;border-radius:6px;background:#151e23;color:#fff}
.map-advanced-grid .map-salary-checkbox{display:flex;align-items:center}
#opening-filter-error{color:#ffc0b1}
.more-job-resources{font-size:.85rem;color:var(--steel)}
#job-map-welcome{
  width:min(510px,calc(100% - 28px));
  max-height:calc(100dvh - 28px);
  padding:clamp(16px,4vw,30px);
  border:1px solid #aab8c2;
  border-radius:16px;
  background:linear-gradient(145deg,#26333d,#131c21 65%);
  color:#f5f7f8;
  box-shadow:0 18px 60px #000b,inset 0 1px #ffffff57;
}
#job-map-welcome::backdrop{background:#080e13b8}
#job-map-welcome h2{margin:.35em 0;font-size:clamp(1.55rem,5vw,2rem);line-height:1.12}
#job-map-welcome p:not(.eyebrow),#job-map-welcome ul{color:var(--steel);line-height:1.5}
#job-map-welcome ul{padding-inline-start:1.3rem}
.welcome-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.welcome-actions button{border:1px solid #778893;border-radius:7px;padding:8px 12px;background:#1e2a33;color:inherit;font:inherit;font-size:.84rem;cursor:pointer}
@media(max-width:770px){.site-header{gap:.5rem}.site-header img{width:116px}.site-header nav a,.ticker button{font-size:.75rem;padding:6px 8px}.ticker{gap:7px}.ticker-label{font-size:.61rem;letter-spacing:.065em}}
@media(max-width:770px),(prefers-reduced-motion:reduce){
  .ticker{flex-wrap:wrap}
  .ticker-window{flex:1 0 100%;order:1;container-type:inline-size;scroll-snap-type:x mandatory}
  .ticker-group{gap:0;padding:0}
  .ticker-group a{width:100cqi;white-space:normal;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;border:0;scroll-snap-align:start;overflow-wrap:anywhere}
  .ticker-state{grid-row:span 2;align-self:center}
  .ticker-organization{grid-column:2}
  .ticker-arrows{margin-inline-start:auto}
}
@media(prefers-reduced-motion:reduce){.rolling{animation:none!important}.rolling .ticker-copy{display:none}.drag-piece{transition:none}}

#map svg.national-map-hidden{display:none}
#map .job-openings-svg>path{fill:url(#steel) #bacad5;stroke:#000;stroke-width:1.25;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#map .job-opening-dot-hit{fill:transparent;cursor:pointer}
#map .job-opening-dot-mark{fill:#1cf76e;stroke:#102a20;stroke-width:2;pointer-events:none}
#map [data-opening-dot]:is(:hover,:focus-visible) .job-opening-dot-mark{fill:#fff;stroke:#0c4c2a}
.results-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:10px}
.results-filters a{padding:7px 0;color:var(--steel);font-size:.86rem}
.ticker-logo{flex:none;object-fit:contain;background:#f4f7f8;border-radius:4px}

/* State drill-down with numbered pins and an anchored job preview. */
.state-map-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:14px 16px;margin:12px 0 10px;background:#10191d;border:1px solid #4b5f69;border-radius:10px}
.state-map-heading[hidden],.state-pin-popup[hidden]{display:none}
.state-map-heading .eyebrow{margin:0 0 4px}
.state-map-heading h2{margin:0;font-size:clamp(1.2rem,3vw,1.65rem)}
.state-map-heading-copy .metal-button{margin-top:9px}
.state-opening-summary{min-width:min(100%,19rem);padding:10px 12px;background:#18272c;border:1px solid #456358;border-radius:8px}
.state-opening-summary h3{margin:0 0 7px;color:#c7dfd2;font-size:.77rem;font-weight:750;letter-spacing:.04em}
.state-opening-summary dl{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0}
.state-opening-summary dt{color:var(--steel);font-size:.7rem}
.state-opening-summary dd{margin:3px 0 0;color:#f4faf7;font-size:.94rem;font-weight:750}
#map .job-openings-svg>.job-opening-state-fill{stroke:none}
#map .job-openings-svg>.job-opening-state-outline{fill:none;pointer-events:none}
#map .job-opening-county-reference path{fill:none;stroke:#51636b;stroke-opacity:.55;stroke-width:.65;vector-effect:non-scaling-stroke;pointer-events:none}
#map .job-openings-svg{background:radial-gradient(ellipse,#233944 0%,#18262e 62%,#111a20 100%);border:1px solid #4b5f69;border-radius:14px}
#map .state-pin-connectors line{stroke:#b0d3c2;stroke-width:1.2;opacity:.8;pointer-events:none}
#map .job-opening-dot-mark{stroke:#0c2a20;stroke-width:2}
#map .state-pin-number{font:800 12px system-ui,sans-serif;fill:#0b281a;text-anchor:middle;dominant-baseline:central;pointer-events:none}
#map [data-opening-dot][aria-expanded=true] .job-opening-dot-mark{fill:#fff;stroke:#0c4c2a}
.state-pin-popup{position:absolute;z-index:5;width:min(19rem,calc(100% - 16px));max-height:calc(100% - 16px);overflow:auto;background:#122029;border:1px solid #719788;border-radius:9px;box-shadow:0 5px 18px #000a}
.state-pin-popup a{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:6px 9px;padding:10px 12px;color:#f4faf7;text-decoration:none;overflow-wrap:anywhere}
.state-pin-popup .ticker-state{justify-self:start}
.state-pin-popup .ticker-organization,.state-pin-popup .state-pin-action{grid-column:2;font-size:.83rem}
.state-pin-popup .state-pin-action{color:var(--edhunter-green);font-weight:750}
.state-pin-popup a:hover .state-pin-action{text-decoration:underline}
.state-pin-popup a:focus-visible{outline-offset:-3px}

.saved-search-feedback:not(:empty){display:block;margin:8px 0;padding:8px 11px;border-left:3px solid var(--edhunter-green);background:#162a22;border-radius:0 5px 5px 0;color:#eef9f2;font-size:.87rem}
.saved-search-list[hidden]{display:none}
.saved-search-list{margin:10px 0;color:var(--steel);font-size:.83rem}
.saved-search-list ul{margin:7px 0;padding:0;list-style:none}
.saved-search-list li{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:5px}
@media(max-width:700px){#map .state-pin-number{font-size:15px}}
