/* Ripple geo tools: map, layout and report additions */
.rg-map{position:relative;overflow:hidden;border-radius:20px;background:#E9E5DF;touch-action:none;user-select:none;cursor:grab;height:clamp(340px,52vh,560px);outline:none}
.rg-map:active{cursor:grabbing}
.rg-map:focus-visible{box-shadow:0 0 0 2px var(--sienna)}
.rg-tiles{position:absolute;inset:0}
.rg-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none;filter:grayscale(1) sepia(.18) contrast(.92) brightness(1.04);opacity:.92}
.rg-canvas,.rg-svg{position:absolute;inset:0;pointer-events:none}
.rg-svg{overflow:visible}
.rg-ui{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:2}
.rg-ui .rg-z{width:36px;height:36px;border-radius:12px;border:0;background:var(--paper);color:var(--ink);font:600 20px/1 Figtree,system-ui,sans-serif;cursor:pointer;box-shadow:0 0 0 1px rgba(30,27,24,.14)}
.rg-ui .rg-z:hover{background:var(--ink);color:var(--paper)}
.rg-attr{position:absolute;right:8px;bottom:6px;z-index:2;font-size:11px;color:#5a534c;background:rgba(247,246,243,.85);padding:2px 8px;border-radius:999px}
.rg-attr a{color:inherit}
.rg-pin path{fill:var(--sienna);stroke:var(--paper);stroke-width:2}
.rg-pin circle{fill:var(--paper)}
.rg-ring{fill:rgba(168,80,42,.05);stroke:var(--sienna);stroke-width:1.5;stroke-dasharray:5 5}
.rg-area{fill:rgba(168,80,42,.10);stroke:var(--sienna);stroke-width:2}
.rg-area.oa{fill:rgba(30,27,24,.08);stroke:var(--ink);stroke-width:1.5;stroke-dasharray:4 4}
.rg-hint{position:absolute;left:12px;top:12px;z-index:2;font-size:13px;background:rgba(247,246,243,.92);padding:6px 12px;border-radius:999px;color:var(--ink)}
/* layout */
.rg-tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,3vw,40px);align-items:start}
.rg-tool .rg-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.rg-tool .rg-mapcol{position:sticky;top:96px}
@media (max-width:960px){.rg-tool{grid-template-columns:1fr}.rg-tool .rg-mapcol{position:static;order:-1}}
.rg-search{display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.6vw,28px);border-radius:24px;background:var(--stone)}
.rg-search label{font-weight:600}
.rg-search .rg-row{display:flex;gap:8px;flex-wrap:wrap}
.rg-search input{flex:1 1 220px;min-height:50px;padding:0 18px;border-radius:999px;border:1px solid rgba(30,27,24,.16);background:var(--paper);font:400 16px Figtree,system-ui,sans-serif;color:var(--ink)}
.rg-search .rg-ex{font-size:13.5px;color:#5a534c;margin:2px 0 0}
.rg-search [data-status]{min-height:1.2em;margin:0;font-size:14px;color:var(--sienna)}
.rg-card{padding:clamp(20px,2.6vw,28px);border-radius:24px;background:var(--paper);box-shadow:0 0 0 1px rgba(30,27,24,.1)}
.rg-card h2,.rg-card h3{margin:0 0 6px}
.rg-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:#5a534c;margin:4px 0 0}
.rg-big{display:flex;align-items:baseline;gap:10px;margin:14px 0 4px}
.rg-big b{font:800 clamp(40px,5vw,56px)/1 'Plus Jakarta Sans','PJS Fallback',system-ui,sans-serif;letter-spacing:-.04em;color:var(--sienna)}
.rg-big span{font-size:15px;color:#3d3833;max-width:28ch}
.rg-bars{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.rg-bar{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:10px;align-items:center;font-size:14px}
.rg-bar .lbl{line-height:1.25}
.rg-bar .lbl small{display:block;color:#6b625a;font-size:12px}
.rg-stack{display:flex;height:22px;border-radius:999px;overflow:hidden;background:#EFEBE5}
.rg-stack i{display:block;height:100%}
.rg-k0{background:var(--sienna)}.rg-k1{background:#D9A07F}.rg-k2{background:#B9B0A5}.rg-k3{background:#6E655C}
.rg-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;margin-top:12px}
.rg-legend span{display:inline-flex;align-items:center;gap:6px}
.rg-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.rg-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:14px;font-variant-numeric:tabular-nums}
.rg-table th,.rg-table td{text-align:right;padding:8px 6px;border-bottom:1px solid #E5DFD7}
.rg-table th:first-child,.rg-table td:first-child{text-align:left}
.rg-table thead th{font-weight:600;font-size:13px;color:#5a534c}
.rg-note{font-size:14.5px;line-height:1.6;color:#3d3833;margin:12px 0 0}
.rg-layers{display:flex;flex-wrap:wrap;gap:8px}
.rg-layers label{cursor:pointer}
.rg-sheet-map .rg-map,.rg-snap{border-radius:12px;height:300px!important;width:100%!important}
.rg-sheet-map{margin:4px 0 8px}
@media print{
  html.rg-print #rp-print .rg-snap{height:78mm!important;width:100%!important;border-radius:0}
  html.rg-print #rp-print .rg-stack{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html.rg-print #rp-print .rg-legend i,html.rg-print #rp-print .rg-k0,html.rg-print #rp-print .rg-k1,html.rg-print #rp-print .rg-k2,html.rg-print #rp-print .rg-k3{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html.rg-print #rp-print .rg-bar{font-size:9.5px}
  html.rg-print #rp-print .rg-table{font-size:9.5px}
  html.rg-print #rp-print .rg-table th,html.rg-print #rp-print .rg-table td{padding:3px 4px}
  html.rg-print #rp-print .rg-big b{font-size:30px}
  html.rg-print #rp-print .rg-note{font-size:9.5px;line-height:1.4}
}
.pg .sp-sheet .rg-table th{width:auto}
.pg .sp-sheet .rg-table th,.pg .sp-sheet .rg-table td{text-align:right;padding-right:6px}
.pg .sp-sheet .rg-table th:first-child,.pg .sp-sheet .rg-table td:first-child{text-align:left}
.rg-col{stroke:var(--paper);stroke-width:1.5}
.rg-col.s1{fill:var(--ink)}.rg-col.s2{fill:var(--sienna)}.rg-col.s3{fill:#E2A27E}
.rg-ring.faint{stroke-opacity:.5;fill:none}
.rg-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin:0 4px 0 8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-dot.s1{background:var(--ink)}.rg-dot.s2{background:var(--sienna)}.rg-dot.s3{background:#E2A27E}
.rg-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rg-filters .k{font-size:14px;font-weight:600;margin-right:4px}
.rg-ksi{margin-top:12px}.rg-ksi summary{cursor:pointer;font-weight:600}
.rg-sheet-map .rg-map{height:320px}
.pill .rg-dot{box-shadow:0 0 0 1.5px var(--paper)}
@media print{html.rg-print #rp-print .rg-sheet-map .rg-map{height:80mm!important}}
/* catchments and facilities */
.rg-iso{stroke:var(--sienna);stroke-width:1.5;stroke-linejoin:round}
.rg-iso.b0{fill:rgba(168,80,42,.30)}.rg-iso.b1{fill:rgba(168,80,42,.20)}.rg-iso.b2{fill:rgba(168,80,42,.12)}.rg-iso.b3{fill:rgba(168,80,42,.06);stroke-dasharray:5 4}
.rg-isokey{width:14px!important;height:14px!important;border-radius:4px;border:1.5px solid var(--sienna);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-isokey.b0{background:rgba(168,80,42,.55)}.rg-isokey.b1{background:rgba(168,80,42,.38)}.rg-isokey.b2{background:rgba(168,80,42,.22)}.rg-isokey.b3{background:rgba(168,80,42,.08)}
.rg-fac{stroke:var(--paper);stroke-width:1.5}
.rg-key{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:baseline;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-table td small{display:block;color:#6b625a;font-size:12px}
.rg-tbl-fac td:nth-child(2),.rg-tbl-fac th:nth-child(2),.pg .sp-sheet .rg-tbl-fac td:nth-child(2),.pg .sp-sheet .rg-tbl-fac th:nth-child(2){text-align:left}
.rg-modes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rg-modes .k,.rg-layers .k{font-size:14px;font-weight:600;margin-right:4px}
.rg-layers{align-items:center;margin-top:10px}
.pill .rg-key{margin-right:6px;box-shadow:0 0 0 1.5px var(--paper)}
@media print{
  html.rg-print #rp-print .rg-table td small{font-size:8px}
  html.rg-print #rp-print .rg-legend{font-size:9px;gap:4px 10px}
  html.rg-print #rp-print .rg-legend i{width:9px!important;height:9px!important}
  html.rg-print #rp-print .rg-key,html.rg-print #rp-print .rg-isokey{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html.rg-print #rp-print .rg-score{break-inside:avoid}
  html.rg-print #rp-print .rg-checks li{font-size:9.5px;padding:3px 0}
}
/* connectivity score */
.rg-sq{fill:rgba(168,80,42,.18);stroke:var(--sienna);stroke-width:2}
.rg-score{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:14px 0 6px}
.rg-dial{position:relative;width:118px;height:118px}
.rg-dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.rg-dial .trk{fill:none;stroke:#EAE4DC;stroke-width:12}
.rg-dial .val{fill:none;stroke:var(--sienna);stroke-width:12;stroke-linecap:round}
.rg-dial b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:800 38px/1 'Plus Jakarta Sans','PJS Fallback',system-ui,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.rg-dial b small{display:block;font:600 12px/1.2 Figtree,system-ui,sans-serif;letter-spacing:0;color:#6b625a;margin-top:2px}
.rg-grade{font:700 22px/1.2 'Plus Jakarta Sans','PJS Fallback',system-ui,sans-serif;color:var(--sienna);margin:0}
.rg-grade+p{margin:4px 0 0;font-size:14.5px;color:#3d3833}
.rg-comp{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.rg-comp .r{display:grid;grid-template-columns:minmax(120px,38%) 1fr 34px;gap:10px;align-items:center;font-size:14px}
.rg-comp .r small{display:block;color:#6b625a;font-size:12px}
.rg-comp .t{position:relative;height:10px;border-radius:999px;background:#EFEBE5}
.rg-comp .t i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--sienna);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-comp .t em{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--ink);opacity:.5}
.rg-comp .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.rg-checks{list-style:none;margin:12px 0 0;padding:0}
.rg-checks li{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #E5DFD7;font-size:14px}
.rg-checks li small{display:block;color:#6b625a;font-size:12px}
.rg-checks .m{width:16px;height:16px;border-radius:50%;margin-top:2px;border:1.5px solid var(--sienna);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-checks .y .m{background:var(--sienna)}
.rg-checks .h .m{background:linear-gradient(90deg,var(--sienna) 50%,transparent 50%)}
@media print{
  html.rg-print #rp-print .rg-comp .r{font-size:9.5px}
  html.rg-print #rp-print .rg-comp .r small,html.rg-print #rp-print .rg-checks li small{font-size:8px}
  html.rg-print #rp-print .rg-dial{width:84px;height:84px}
  html.rg-print #rp-print .rg-dial b{font-size:26px}
  html.rg-print #rp-print .rg-grade{font-size:16px}
  html.rg-print #rp-print .rg-grade+p{font-size:10px}
}
/* v118 connectivity map and commentary */
.rg-ch{stroke:#fff;stroke-width:.8;fill-opacity:.66}
.rg-ch.out{fill:none;stroke:rgba(30,27,24,.18);stroke-dasharray:2 3}
.rg-iso.walk10{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:6 5}
.rg-ctl{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.rg-ctl .rg-crow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rg-ctl .k{font-size:14px;font-weight:600;margin-right:4px;min-width:64px}
.rg-ctl .pill span{min-height:36px;padding:6px 14px;font-size:14px}
.rg-chleg{margin-top:10px;font-size:13px}
.rg-chleg .k{display:block;font-weight:600;margin-bottom:6px}
.rg-chleg .sw{display:grid;grid-template-columns:repeat(10,1fr);border-radius:8px;overflow:hidden}
.rg-chleg .sw i{height:22px;display:grid;place-content:center;font:700 11px/1 Figtree,system-ui,sans-serif;font-style:normal;color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-chleg .sw i:nth-child(-n+5){color:var(--paper)}
.rg-chleg .ends{display:flex;justify-content:space-between;color:#6b625a;font-size:12px;margin-top:4px}
.rg-band{display:inline-grid;place-content:center;width:26px;height:26px;border-radius:8px;font:800 14px/1 'Plus Jakarta Sans','PJS Fallback',system-ui,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rg-dft td:nth-child(3),.rg-dft th:nth-child(3){white-space:nowrap}
.rg-comm p{font-size:14.5px;line-height:1.65;color:#3d3833;margin:0 0 10px}
@media print{
  html.rg-print #rp-print .rg-chleg{font-size:9px}
  html.rg-print #rp-print .rg-chleg .sw i{height:14px;font-size:8px}
  html.rg-print #rp-print .rg-band{width:18px;height:18px;font-size:10px;border-radius:5px}
  html.rg-print #rp-print .rg-ch{fill-opacity:.66}
}
/* v119 collision study area */
.rg-drawbtn{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid var(--hair-strong,#CFC8BE);border-radius:999px;background:var(--paper);color:var(--ink);font:500 14px/1.2 Figtree,system-ui,sans-serif;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.rg-drawbtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.rg-drawbtn svg circle{fill:currentColor;stroke:none}
.rg-drawbtn:hover,.rg-drawbtn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.rg-drawbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;background:var(--stone)}
.rg-drawbar[hidden]{display:none}
.rg-drawbar p{margin:0;font-size:14px;flex:1 1 220px}
.rg-drawbar .btns{display:flex;flex-wrap:wrap;gap:6px}
.rg-mini{min-height:34px;padding:6px 14px;border-radius:999px;border:1px solid var(--hair-strong,#CFC8BE);background:var(--paper);color:var(--ink);font:500 13.5px/1.2 Figtree,system-ui,sans-serif;cursor:pointer}
.rg-mini:hover,.rg-mini.dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.rg-drawing .rg-map{cursor:crosshair}
.rg-drawline{fill:rgba(168,80,42,.10);stroke:var(--sienna);stroke-width:2;stroke-dasharray:6 4}
.rg-drawpt{fill:var(--paper);stroke:var(--sienna);stroke-width:2}
.rg-drawpt.first{fill:var(--sienna)}
.rg-drawarea{fill:rgba(168,80,42,.07);stroke:var(--sienna);stroke-width:2;stroke-dasharray:7 5}
/* search input stays paper, including browser autofill */
.rg-search input,.rg-search input:focus{background:var(--paper)!important;color:var(--ink)}
.rg-search input:-webkit-autofill,.rg-search input:-webkit-autofill:hover,.rg-search input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 40px var(--paper) inset!important;box-shadow:0 0 0 40px var(--paper) inset!important;-webkit-text-fill-color:var(--ink)!important;caret-color:var(--ink)}
.rg-search input:autofill{background:var(--paper)!important}
/* v119 mobile: nothing wider than the screen */
.rg-side,.rg-card,.rg-mapcol{min-width:0;max-width:100%}
.rg-card h2,.rg-card .rg-meta{overflow-wrap:anywhere}
.rg-search input{-webkit-appearance:none;appearance:none}
@media (max-width:640px){
  .rg-card .rg-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .rg-card{padding:18px 16px}
  .rg-table th,.rg-table td{padding:7px 4px;font-size:12.5px}
  .rg-table td{word-break:normal;overflow-wrap:normal}
  .rg-table td:first-child{min-width:72px}
  .rg-table thead th{font-size:11.5px;vertical-align:bottom}
  .rg-big{flex-wrap:wrap}.rg-big b{white-space:nowrap}
  .rg-table thead th{font-size:12px;line-height:1.25}
  .rg-bar{grid-template-columns:minmax(92px,34%) 1fr}
  .rg-comp .r{grid-template-columns:minmax(96px,36%) 1fr 30px}
  .rg-score{grid-template-columns:auto 1fr;gap:12px}
  .rg-dial{width:92px;height:92px}.rg-dial b{font-size:30px}
  .rg-ctl .k{min-width:0;width:100%}
}
@media (max-width:420px){.rg-table th,.rg-table td{padding:6px 3px;font-size:12px}.rg-card{padding:16px 14px}}
