/* The Veteran Roadmap Navigator */
#rm{--bg:#f4f6f9; --surface:#ffffff; --surface-2:#eaeef4; --line:#d5dce6;
  --fg:#14202f; --muted:#56637a; --navy:#12233d; --navy-fg:#f2f4f8;
  --gold:#8a6510; --gold-strong:#c9a227; --gold-soft:#f7efd8; --link:#1d4f91;
  --ok:#1f6b45; --ok-bg:#e3f2e9; --warn:#8a4b06; --warn-bg:#fdf0dc;
  --bad:#a12a22; --bad-bg:#fbe5e3; --info:#3a4d6b; --info-bg:#e6ebf3;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:6px; --rm-top:0px;
  background:var(--bg); color:var(--fg); font:16px/1.6 var(--body);}
#rm.site{--bg:#0a1628; --surface:#0f1f38; --surface-2:#152a4a; --line:rgba(212,167,44,.2);
  --fg:#f7f5ef; --muted:#c7cedb; --navy:#070d18; --navy-fg:#f7f5ef;
  --gold:#f0c14b; --gold-strong:#d4a72c; --gold-soft:rgba(212,167,44,.12); --link:#f0c14b;
  --ok:#7fd3a3; --ok-bg:rgba(127,211,163,.12); --warn:#f2b866; --warn-bg:rgba(242,184,102,.12);
  --bad:#f29a92; --bad-bg:rgba(242,154,146,.12); --info:#a9bde0; --info-bg:rgba(169,189,224,.12);
  --display:"Oswald","Arial Narrow",Arial,sans-serif; --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rm-top:73px; color-scheme:dark;}
#rm,#rm *{box-sizing:border-box}
#rm a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
#rm h1,#rm h2,#rm h3{font-family:var(--display);font-weight:700;letter-spacing:.01em;text-wrap:balance;line-height:1.12;margin:0;text-transform:none}
#rm h1{font-size:clamp(2rem,6vw,3rem);text-transform:uppercase}
#rm h2{font-size:1.7rem;text-transform:uppercase}
#rm h3{font-size:1.25rem}
#rm p{margin:0}
#rm ul,#rm ol{margin:0}
#rm section{padding:0}
#rm button,#rm input,#rm select,#rm textarea{font:inherit;color:inherit}
#rm button{cursor:pointer}
#rm :focus-visible{outline:3px solid var(--gold-strong);outline-offset:2px}
#rm .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#rm .mono{font-family:var(--mono);font-size:.86em}
#rm .rm-wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
#rm .rm-eyebrow{display:block;font:600 .75rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
#rm .hint{font-size:.84rem;color:var(--muted)}
#rm .lead{max-width:62ch;color:var(--muted);font-size:1.05rem}
#rm .stack{display:grid;gap:12px}
#rm .stack.tight{gap:4px}
#rm .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#rm .spread{display:flex;justify-content:space-between;align-items:center;gap:12px}
#rm .spread.wrapr{flex-wrap:wrap;align-items:flex-start}
#rm .empty{color:var(--muted);font-style:italic}
#rm .empty.pad{padding:8px 10px}
#rm .rm-bar{position:sticky;top:calc(var(--rm-top) + env(safe-area-inset-top,0px));z-index:40;background:var(--navy);color:var(--navy-fg);border-bottom:3px solid var(--gold-strong)}
#rm .rm-barin{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding-block:10px}
#rm .search{position:relative;flex:1 1 220px;max-width:380px}
#rm .search input{width:100%;padding:7px 12px;border-radius:var(--r);border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:var(--navy-fg)}
#rm .search input::placeholder{color:rgba(242,244,248,.65)}
#rm .results{position:absolute;left:0;top:calc(100% + 6px);width:min(440px,calc(100vw - 32px));max-height:60vh;overflow:auto;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 30px rgba(0,0,0,.3);padding:6px;z-index:60}
#rm .results button{display:grid;gap:2px;width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:var(--r)}
#rm .results button:hover,#rm .results button:focus-visible{background:var(--surface-2)}
#rm .results .k{font:600 .7rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
#rm .results .s{font-size:.85rem;color:var(--muted)}
#rm .lang{margin-left:auto;color:var(--gold-strong);font-weight:700;font-size:.9rem;border:1px solid rgba(255,255,255,.28);border-radius:99px;padding:4px 12px;text-decoration:none}
#rm .lang:hover{background:rgba(255,255,255,.08)}
#rm .tabs{display:flex;gap:4px;flex-wrap:wrap;width:100%}
#rm .tabs button{background:transparent;border:1px solid transparent;color:var(--navy-fg);padding:5px 11px;border-radius:var(--r);font-size:.9rem;font-weight:600;opacity:.85}
#rm .tabs button:hover{opacity:1;border-color:rgba(255,255,255,.25)}
#rm .tabs button[aria-current="page"]{opacity:1;background:var(--gold-strong);color:#14202f}
#rm .notice{background:var(--gold-soft);border-bottom:1px solid var(--line);font-size:.86rem}
#rm .notice .rm-wrap{padding-block:8px}
#rm .rm-main{padding-block:28px 56px;display:block}
#rm .view{display:grid;gap:28px}
#rm .head{display:grid;gap:8px}
#rm .rm-hero{display:grid;gap:14px;padding:28px;background:var(--navy);color:var(--navy-fg);border-radius:var(--r);position:relative;overflow:hidden;border:1px solid var(--line)}
#rm .rm-hero .rm-eyebrow{color:var(--gold-strong)}
#rm .rm-hero p{max-width:60ch;color:#c9d2e0}
#rm .rm-hero .road{position:absolute;right:-20px;bottom:-30px;opacity:.18;pointer-events:none;max-width:none}
#rm .rm-btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r);padding:10px 16px;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--fg);text-decoration:none;font-size:.95rem;font-family:var(--body);text-transform:none;letter-spacing:0;line-height:1.3}
#rm .rm-btn:hover{border-color:var(--gold-strong)}
#rm .rm-btn.primary{background:var(--gold-strong);border-color:var(--gold-strong);color:#14202f}
#rm .rm-btn.ghost{background:transparent}
#rm .rm-hero .rm-btn.ghost{color:var(--navy-fg);border-color:rgba(255,255,255,.35)}
#rm .rm-btn.small{padding:6px 12px;font-size:.85rem}
#rm .rm-btn.cc{border-style:dashed}
#rm .linkbtn{background:none;border:0;padding:0;color:var(--link);font-weight:700;text-decoration:underline;cursor:pointer}
#rm .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
#rm .rm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:8px;align-content:start;text-align:left;transition:border-color .15s,transform .15s;color:var(--fg)}
#rm button.rm-card:hover{border-color:var(--gold-strong);transform:translateY(-2px)}
#rm .rm-card .ch{font:500 .78rem/1.2 var(--mono);color:var(--muted);text-align:right}
#rm .rm-card h3{font-size:1.3rem;text-transform:uppercase}
#rm .rm-card p{color:var(--muted);font-size:.92rem}
#rm .rm-card .rm-btn{justify-self:start}
#rm .rm-card.crisis{border-color:var(--bad)}
#rm .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
#rm .icon{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--gold)}
#rm .pill{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:99px;white-space:nowrap;vertical-align:middle}
#rm .pill.ok{background:var(--ok-bg);color:var(--ok)}
#rm .pill.warn{background:var(--warn-bg);color:var(--warn)}
#rm .pill.bad{background:var(--bad-bg);color:var(--bad)}
#rm .pill.info{background:var(--info-bg);color:var(--info)}
#rm .pill.gold{background:var(--gold-soft);color:var(--gold)}
#rm .topic-head{display:grid;gap:10px;border-bottom:2px solid var(--line);padding-bottom:18px}
#rm .back{background:none;border:0;padding:0;color:var(--gold);font-weight:700;justify-self:start}
#rm .cols{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}
#rm .sec{display:grid;gap:10px;padding:6px 0 18px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--rm-top) + 120px)}
#rm .sec p,#rm .sec li{max-width:66ch}
#rm .sec ul,#rm .sec ol{padding-left:1.2em;display:grid;gap:4px}
#rm .flag{border-left:4px solid var(--info);background:var(--info-bg);padding:10px 12px;border-radius:0 var(--r) var(--r) 0;font-size:.9rem;display:grid;gap:4px;margin-top:14px}
#rm .sec .flag{margin-top:0}
#rm .flag.warn{border-color:var(--warn);background:var(--warn-bg)}
#rm .flag.ok{border-color:var(--ok);background:var(--ok-bg)}
#rm .flag .lbl{font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--info)}
#rm .flag.warn .lbl{color:var(--warn)}
#rm .flag.ok .lbl{color:var(--ok)}
#rm .side{display:grid;gap:14px;position:sticky;top:calc(var(--rm-top) + 120px)}
#rm .box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:10px;min-width:0}
#rm .box.flush{padding:0}
#rm .box h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}
#rm .box > .rm-btn{justify-self:start}
#rm .sticky{position:sticky;top:calc(var(--rm-top) + 120px)}
#rm .linklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#rm .linklist.cols2{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
#rm .linklist li{display:grid;gap:3px;grid-template-columns:1fr;align-items:start}
#rm .linklist a{font-weight:600;word-break:break-word}
#rm .linklist .pill{justify-self:start}
#rm table.cmp{border-collapse:collapse;width:100%;font-size:.9rem;min-width:520px}
#rm table.cmp th,#rm table.cmp td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
#rm table.cmp th{background:var(--surface-2);font-weight:700}
#rm .scroll{overflow-x:auto}
#rm .stepper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
#rm fieldset{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:16px;margin:0;display:grid;gap:8px;min-width:0}
#rm legend{font-family:var(--display);font-weight:700;font-size:1.15rem;text-transform:uppercase;padding:0 6px}
#rm .qnum{color:var(--gold)}
#rm .opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:var(--r);border:1px solid var(--line);cursor:pointer}
#rm .opt:hover{border-color:var(--gold-strong)}
#rm .opt input{margin-top:5px;accent-color:var(--gold-strong)}
#rm .opt:has(input:checked){border-color:var(--gold-strong);background:var(--gold-soft)}
#rm .route{display:grid;gap:0;counter-reset:s;list-style:none;margin:0;padding:0}
#rm .route li{position:relative;padding:0 0 20px 46px;counter-increment:s}
#rm .route li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--gold-strong);font:700 1rem/28px var(--display);text-align:center;border:2px solid var(--gold-strong)}
#rm .route li::after{content:"";position:absolute;left:15px;top:34px;bottom:2px;border-left:2px dashed var(--line)}
#rm .route li:last-child::after{display:none}
#rm .route h3{font-size:1.12rem}
#rm .route p{color:var(--muted);font-size:.93rem;margin:2px 0 6px}
#rm .route .acts{display:flex;gap:8px;flex-wrap:wrap}
#rm .cl-tabs{display:flex;gap:6px;flex-wrap:wrap}
#rm .cl-tabs button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 14px;font-size:.88rem;font-weight:600;display:inline-flex;gap:8px;align-items:center}
#rm .cl-tabs button[aria-pressed="true"]{background:var(--gold-strong);color:#14202f;border-color:var(--gold-strong)}
#rm .cl-tabs .cnt{font:500 .75rem var(--mono);opacity:.8}
#rm .cl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:14px}
#rm .meter{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}
#rm .meter i{display:block;height:100%;background:var(--gold-strong);transition:width .25s}
#rm .items{list-style:none;margin:0;padding:0;display:grid;gap:2px}
#rm .items label{display:flex;gap:12px;align-items:flex-start;padding:10px 8px;border-radius:var(--r);cursor:pointer}
#rm .items label:hover{background:var(--surface-2)}
#rm .items input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--gold-strong)}
#rm .items input:checked + span .t{text-decoration:line-through;color:var(--muted)}
#rm .items .t{font-weight:600}
#rm .items .d{display:block;font-size:.86rem;color:var(--muted)}
#rm .plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
#rm .field{display:grid;gap:4px;min-width:0}
#rm .field label{font-weight:700;font-size:.92rem}
#rm input[type=date],#rm input[type=time],#rm input[type=text],#rm input[type=search],#rm select,#rm textarea{padding:7px 9px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--fg);min-width:0;max-width:100%}
#rm.site input[type=date],#rm.site input[type=time],#rm.site input[type=text],#rm.site select,#rm.site textarea,#rm.site .filter input{background:#070d18}
#rm .due{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
#rm .due output{font-family:var(--display);font-size:1.4rem;font-weight:700}
#rm .tracker{gap:14px}
#rm .tr-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
#rm .tr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
#rm .tr-row h3{font-size:1.12rem}
#rm .endx{justify-items:end}
#rm .pillars{display:flex;gap:6px;flex-wrap:wrap}
#rm .pillars label{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;border:1px solid var(--line);border-radius:99px;padding:3px 10px;cursor:pointer}
#rm .pillars input{accent-color:var(--gold-strong)}
#rm .x{background:none;border:1px solid var(--line);border-radius:var(--r);padding:4px 10px;font-size:.82rem;color:var(--muted)}
#rm .toast{font-size:.85rem;color:var(--ok);font-weight:600}
#rm .planta{width:100%;margin-top:8px}
#rm .mystate{display:grid;gap:8px;background:var(--gold-soft);border:1px solid var(--line);border-radius:var(--r);padding:14px}
#rm .mystate select{max-width:340px}
#rm .state-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold-strong);border-radius:var(--r);padding:20px;display:grid;gap:16px}
#rm .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
#rm .fact{display:flex;gap:12px;align-items:flex-start;background:var(--surface-2);border-radius:var(--r);padding:14px}
#rm .fact h3{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
#rm .fact p{font-size:.95rem}
#rm .cc-promo{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 20px;border:1px dashed var(--gold-strong);border-radius:var(--r);background:var(--gold-soft)}
#rm .cc-promo > div{display:grid;gap:4px;max-width:60ch}
#rm .cc-promo p{color:var(--muted);font-size:.93rem}
#rm .chips{display:flex;flex-wrap:wrap;gap:6px}
#rm .chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 12px;font-size:.85rem}
#rm .chip:hover{border-color:var(--gold-strong)}
#rm .chip.on{background:var(--gold-strong);color:#14202f;border-color:var(--gold-strong);font-weight:700}
#rm .res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
#rm .contact{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:grid;gap:4px}
#rm .contact.crisis{border:2px solid var(--bad);background:var(--bad-bg)}
#rm .contact .num{font:500 1.05rem var(--mono);user-select:all}
#rm .contact .who{font-weight:700}
#rm .contact .d{font-size:.84rem;color:var(--muted)}
#rm .filter{display:flex;gap:10px;flex-wrap:wrap}
#rm .filter input{flex:1 1 200px;max-width:340px}
#rm table.states{border-collapse:collapse;width:100%;font-size:.9rem;min-width:520px}
#rm table.states th,#rm table.states td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
#rm table.states th{background:var(--surface-2);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}
#rm table.states td a{word-break:break-all}
#rm tr.mine td{background:var(--gold-soft)}
#rm dl.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0}
#rm dl.gloss div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:grid;gap:4px;scroll-margin-top:calc(var(--rm-top) + 120px)}
#rm dl.gloss div.hit{outline:3px solid var(--gold-strong)}
#rm dl.gloss dt{font-family:var(--display);font-weight:700;font-size:1.2rem}
#rm dl.gloss dd{margin:0;color:var(--muted);font-size:.93rem}
#rm dl.gloss .go{background:none;border:0;padding:0;color:var(--gold);font-weight:700;font-size:.85rem;justify-self:start}
#rm .rm-foot{border-top:1px solid var(--line);padding-block:20px;font-size:.84rem;color:var(--muted)}
#rm .rm-foot .rm-wrap{display:grid;gap:8px}
@media (max-width:860px){#rm .cols,#rm .stepper{grid-template-columns:minmax(0,1fr)}
#rm .side,#rm .sticky{position:static}
#rm.site{--rm-top:73px}}
@media (prefers-reduced-motion:reduce){#rm,#rm *{transition:none!important}}
@media print{#rm .rm-bar,#rm .notice,#rm .no-print,#rm .tabs{display:none!important}}