/* UK Outdoors page (app/modules/outdoors/uk.php): the charts with no U.S. counterpart. uod- prefix, core tokens; the
   page also loads outdoors.css (lz-* map, cards) and uk.css (ukod-* lists). Grade hues match core's badges. */
:root{--uod-ga:#1f9d6b;--uod-gb:#6aa84f;--uod-gc:#e0a43a;--uod-gd:#d0583a;--uod-gn:#c3cad3;--uod-pk:#2f8f5b;--uod-pf:#8cc39a;--uod-ps:#cfe6d4;--uod-nl:#a3c96b;--uod-blue:#2f74d0}
.uod-say{margin:14px 0 0;font-size:15px;line-height:1.55;color:var(--ink);max-width:72ch}
.uod-say a.jump{font-weight:600;color:var(--accent-ink)}
.uod-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:12.5px;color:var(--muted);align-items:center}
.uod-key span{display:inline-flex;gap:6px;align-items:center}
.uod-key-top{margin:0 0 12px}
.uod-sq{display:inline-block;width:12px;height:12px;border-radius:3px;background:#dfe4ea;vertical-align:-1px}
/* grade colours: dots, swatches, the neighbours map */
.uod-ga{fill:var(--uod-ga);background:var(--uod-ga)}.uod-gb{fill:var(--uod-gb);background:var(--uod-gb)}.uod-gc{fill:var(--uod-gc);background:var(--uod-gc)}.uod-gd{fill:var(--uod-gd);background:var(--uod-gd)}.uod-gn{fill:var(--uod-gn);background:var(--uod-gn)}
.uod-map .nbmap path.o.uod-ga{fill:#bfe3d2}.uod-map .nbmap path.o.uod-gb{fill:#d6e9c9}.uod-map .nbmap path.o.uod-gc{fill:#f5dfb5}.uod-map .nbmap path.o.uod-gd{fill:#f1c4b6}.uod-map .nbmap path.o.uod-gn{fill:#e3e7ec}
.uod-map+.uod-key .uod-sq.uod-ga{background:#bfe3d2}.uod-map+.uod-key .uod-sq.uod-gb{background:#d6e9c9}.uod-map+.uod-key .uod-sq.uod-gc{background:#f5dfb5}.uod-map+.uod-key .uod-sq.uod-gd{background:#f1c4b6}
.uod-map .nbmap path.me{stroke:var(--ink);stroke-width:1.4}
/* bars */
.uod-cmp .brow.me .fill{background:var(--accent)}
.uod-cmp .brow.me .l{font-weight:700;color:var(--ink)}
/* the grade: one histogram per input */
.uod-gcard{padding:18px 20px}
.uod-gh{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--hair)}
.uod-gh b{display:block;font-size:17px}.uod-gh small{color:var(--muted);font-size:13.5px}
.uod-gi{display:grid;grid-template-columns:230px minmax(0,1fr) 64px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hair)}
.uod-gi:last-child{border-bottom:0;padding-bottom:0}
.uod-gnm b{display:block;font-size:14.5px}
.uod-gnm .num{display:block;font-size:20px;font-weight:700;letter-spacing:-.01em;margin:2px 0}
.uod-gnm small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.uod-gp{text-align:center}
.uod-gp b{display:block;font-size:24px;font-weight:800;color:var(--accent-ink)}
.uod-gp small{display:block;font-size:11px;color:var(--muted);line-height:1.25}
.uod-hist,.uod-bee svg{display:block;width:100%;height:auto;overflow:visible;user-select:none}
.uod-hist rect{fill:#d9dee5}.uod-hist rect.zb{fill:#e6e9ee}.uod-hist rect.me{fill:var(--accent)}
.uod-hist rect:hover{fill:#b8c0cb}.uod-hist rect.me:hover{fill:var(--accent-ink)}
.uod-hist .typ{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 3}
.uod-hist .ax{font-size:10.5px;fill:var(--muted);text-anchor:middle}.uod-hist .ax.l{text-anchor:start}.uod-hist .ax.r{text-anchor:end}.uod-hist .ax.t{font-weight:700;fill:var(--ink)}
/* towns its size */
.uod-bee circle{stroke:#fff;stroke-width:1.5;cursor:pointer;transition:stroke .1s}
.uod-bee circle:hover{stroke:var(--ink)}
.uod-bee circle.me{fill:var(--accent);stroke:var(--ink);stroke-width:2}
.uod-bee .gl{stroke:var(--hair);stroke-width:1}
.uod-bee .ax{font-size:12px;fill:var(--muted);text-anchor:middle}
.uod-bee .rl{font-size:11.5px;font-weight:800;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px}
.uod-axl{font-size:12px;color:var(--faint);text-align:center;margin-top:2px}
.uod-trios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:18px}
.uod-trio>b{display:block;font-size:13.5px;margin-bottom:6px}
.uod-trio .brow{grid-template-columns:130px 1fr 40px;font-size:13px}
.uod-pt tr.me td{font-weight:700;background:var(--accent-tint)}
/* parks: treemap and the fuller cards */
.uod-tm{margin:4px 0 22px}
.uod-tmh{display:block;font-size:14px;margin-bottom:8px}
.uod-tm svg{display:block;width:100%;height:auto;border-radius:var(--r)}
.uod-tm rect.pk{fill:var(--uod-pk)}.uod-tm rect.pf{fill:var(--uod-pf)}.uod-tm rect.ps{fill:var(--uod-ps)}
.uod-tm g:hover rect{filter:brightness(1.08);stroke:var(--ink);stroke-width:1.5}
.uod-tm .tn{font-size:14px;font-weight:700;fill:#fff}.uod-tm .tv{font-size:12px;font-weight:500;fill:rgba(255,255,255,.9)}
.uod-tm .tn.dk,.uod-tm .tv.dk{fill:#17402a}
.uod-sq.pk{background:var(--uod-pk)}.uod-sq.pf{background:var(--uod-pf)}.uod-sq.ps{background:var(--uod-ps)}
.uod-walks .lz-walk-b{display:flex;flex-direction:column;gap:7px}
.uod-tag{display:inline-block;padding:1px 8px;border-radius:5px;background:#fdf1dc;color:#8a5a12;font-size:11.5px;font-weight:700}
.uod-tag.big{background:var(--accent-tint);color:var(--accent-ink)}
.uod-cfs{display:flex;flex-direction:column;gap:5px;margin:4px 0 2px;padding:9px 11px;border-radius:10px;background:var(--bg)}
.uod-cf{display:flex;gap:8px;align-items:baseline;font-size:13.5px;line-height:1.35;min-width:0}
.uod-cf span{flex:0 0 18px;font-size:14px;text-align:center}
.uod-cf b{white-space:nowrap}
.uod-cf small{font-size:13px;color:var(--muted)}
.uod-ins .uod-in{background:#eef6f0;color:#1d6b42;font-weight:600}
.uod-ins .uod-in.her{background:#fdf1dc;color:#8a5a12}
.uod-ins .uod-in small{font-weight:500;opacity:.8}
/* close to home */
.uod-near{align-items:center}
.uod-waffle{display:grid;grid-template-columns:repeat(20,1fr);gap:4px;max-width:420px}
.uod-waffle i{aspect-ratio:1;border-radius:3px;background:#dfe4ea}.uod-waffle i.in{background:var(--accent)}
.uod-sq.in{background:var(--accent)}
/* National Parks: the compass */
.uod-lgrid{align-items:start}
.uod-reach{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}
.uod-reach .ring{fill:none;stroke:#cfd5dd;stroke-dasharray:2 4}
.uod-reach .five{fill:rgba(47,116,208,.06);stroke:var(--uod-blue);stroke-width:1.2;stroke-dasharray:5 4}
.uod-reach .rt{font-size:10px;fill:var(--faint)}.uod-reach .cp{font-size:12px;font-weight:700;fill:var(--muted);text-anchor:middle}
.uod-reach .ray{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 3}
.uod-reach .np{fill:var(--uod-pk);fill-opacity:.85}.uod-reach .nl{fill:var(--uod-nl);fill-opacity:.85}
.uod-reach g:hover circle{stroke:var(--ink);stroke-width:2}
.uod-reach .me{fill:var(--ink)}
.uod-reach .mt,.uod-reach .ln,.uod-reach .ld{paint-order:stroke;stroke:#fff;stroke-width:4px}
.uod-reach .mt{font-size:12.5px;font-weight:800;text-anchor:middle;fill:var(--ink)}
.uod-reach .ln{font-size:12.5px;font-weight:700;fill:var(--ink)}.uod-reach .ld{font-size:11.5px;fill:var(--muted)}
.uod-sq.np{background:var(--uod-pk)}.uod-sq.nl{background:var(--uod-nl)}.uod-sq.five{background:rgba(47,116,208,.12);border:1px dashed var(--uod-blue)}
.uod-lcards{display:grid;gap:10px}
.uod-land{padding:14px 16px}.uod-land h3{margin:6px 0 4px;font-size:18px}
.uod-lk{display:inline-block;font-size:10.5px;font-weight:700;line-height:1.6;letter-spacing:.05em;text-transform:uppercase;padding:1px 7px;border-radius:5px;background:var(--hair);color:var(--ink)}
.uod-lk.np{background:#dcefe3;color:#1d6b42}.uod-lk.nl{background:#eef5dd;color:#4d6b1d}
/* routes */
.cmp.uod-routes{gap:6px}
.uod-routes .brow{grid-template-columns:230px 1fr 64px;margin:0}
.uod-cmp .brow.uod-nn .fill,.uod-sq.uod-nn{background:#1d6b42}.uod-cmp .brow.uod-nr .fill,.uod-sq.uod-nr{background:var(--uod-pk)}
.uod-cmp .brow.uod-nl .fill,.uod-sq.uod-nl{background:var(--uod-pf)}.uod-cmp .brow.uod-nx .fill,.uod-sq.uod-nx{background:var(--uod-gn)}
/* history along the way */
.uod-hgrid{display:grid;gap:12px}
.uod-hpark{padding:18px 20px;background:linear-gradient(135deg,#f4faf6,#fff)}
.uod-hpark h3{margin:8px 0 6px;font-size:20px}.uod-hpark p{margin:0 0 12px;color:var(--ink);line-height:1.5}
.uod-hc{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;padding:3px 9px 3px 4px;border:1px solid var(--line);border-radius:999px;background:#fff}
.uod-hc b{font-size:10.5px;padding:1px 6px;border-radius:999px;background:var(--hair)}
.uod-hc.gi b{background:#1d6b42;color:#fff}.uod-hc.gs b{background:var(--uod-pf);color:#17402a}.uod-hc.sm b{background:#8a5a12;color:#fff}
.uod-hside{display:grid;gap:10px}.uod-hside.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.uod-hside.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.uod-hside.c2>:last-child:nth-child(odd),.uod-hside.c3>:last-child:nth-child(3n+1){grid-column:1 / -1}.uod-hside.c3>:last-child:nth-child(3n+2){grid-column:span 2}
.uod-hgrid>.usf-fold{margin:0}.uod-hgrid>.usf-fold>.uod-hside{margin-top:10px}
.uod-hgrid>.uod-hp>div{display:flex;flex-wrap:wrap;gap:4px 18px}
.uod-hp{padding:12px 14px;display:flex;flex-direction:column;gap:4px}.uod-hp>b{font-size:15px}.uod-hp small{color:var(--muted)}
.uod-hw{font-size:13.5px;font-weight:600}.uod-hw small{color:var(--muted);font-weight:500}
/* when to get out */
.uod-cal{width:100%;border-collapse:separate;border-spacing:3px;font-size:12.5px;table-layout:fixed}
.uod-cal th{font-weight:600;color:var(--muted);text-align:center;padding:4px 0}
.uod-cal thead th.good{color:var(--accent-ink);font-weight:800}
.uod-cal tbody th{text-align:left;width:110px;color:var(--ink)}
.uod-cal td{position:relative;height:40px;text-align:center;border-radius:6px;background:var(--bg);overflow:hidden}
.uod-cal td.good{box-shadow:inset 0 0 0 2px var(--accent)}
.uod-cal td i{position:absolute;inset:0;opacity:calc(.12 + var(--a) * .8)}
.uod-cal i.dl{background:#f2c94c}.uod-cal i.tx{background:#e0763a}.uod-cal i.rn{background:var(--uod-blue)}
.uod-cal td span{position:relative;font-weight:700;color:var(--ink)}
/* things to do */
.uod-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.uod-tt{display:flex;flex-direction:column;gap:2px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
.uod-tt:hover{border-color:#c9ced7;box-shadow:0 6px 24px rgba(15,22,35,.07)}
.uod-tt span{font-size:22px}.uod-tt b{font-size:26px;font-weight:800;letter-spacing:-.02em}.uod-tt small{font-size:13px;color:var(--ink);font-weight:600}
.uod-tt em{font-style:normal;font-size:11.5px;color:var(--muted);margin-top:2px}.uod-tt em.up{color:var(--accent-ink);font-weight:700}.uod-tt em.dn{color:#9a3412}
.uod-beach{margin-top:16px;align-items:start}
.uod-bh{margin:0 0 4px}
.uod-beach .muted.sm{margin:0 0 6px}
#things-all .ukod-things{margin-top:6px}
@media (max-width:760px){
  .uod-gi{grid-template-columns:minmax(0,1fr) 54px;gap:6px 10px}
  .uod-gi>div:nth-child(2){grid-column:1 / -1;order:3}
  .uod-trios{grid-template-columns:minmax(0,1fr)}
  .uod-hside.c2,.uod-hside.c3{grid-template-columns:minmax(0,1fr)}.uod-hside>:last-child{grid-column:auto!important}
  .uod-routes .brow{grid-template-columns:140px 1fr 56px}
  .uod-cal{font-size:10.5px;border-spacing:2px}
  .uod-cal tbody th{width:64px;font-size:10.5px}
  .uod-cal td{height:34px}
  .uod-waffle{gap:3px}
}
