/* r26j (Pat 9 Nov, "can we make this animation cleaner to run it gliches when it zooms out"): each estate square is a fixed 1-unit
   rect sized by one scale (--ds, set by old-map.js) round its own centre, with its 1 px outline kept at 1 px (--dsw). Same squares,
   same size, same outline as before; the zoom no longer rewrites 720 shapes every frame. */
/* the Victoria roads, now in grid pieces: the see-through level moves from each line to its group, so where two pieces cross they read
   exactly as one line did (the levels are areas-r20.css's) */
#esvg .rv path{stroke-opacity:1}
#esvg .rv .gmn{opacity:calc(.45 - .2 * var(--cz,0))}
#esvg .rv .gmj{opacity:calc(.85 - .4 * var(--cz,0))}
#esvg .dot{transform-box:fill-box;transform-origin:center;transform:scale(var(--ds,1));stroke-width:var(--dsw,1px)}

/* r5 ink pass (11 Nov, Pat: "adjust other animations to match this style"): the map in the hero's clean-ink hand. Cream ink #F4EFE4 on the dark panel,
   fine lines (1.1 / 1.55 px), round caps, a faint second pass (.7,-.55 px at 40%), land only a faint wash, mint kept for the estates (what the map highlights).
   Wobble is baked into the coordinates by old-map.js; the draw-in is stroke-dash progress. Every rule here is wider than the older ones (areas-r20.css). */
#esvg .sts path{fill:rgba(244,239,228,.06);stroke:none}
#esvg .sts path.vic{fill:rgba(143,203,176,.1)}
#esvg .ink-o path{fill:none;stroke:#F4EFE4;stroke-linecap:round;stroke-linejoin:round;stroke-width:calc(var(--u,1) * 1.55px)}
#esvg .ink-o path.ib{stroke:rgba(244,239,228,.72);stroke-width:calc(var(--u,1) * 1.12px)}
#esvg .i2{transform:translate(calc(var(--u,1) * .7px),calc(var(--u,1) * -.55px));opacity:.4;fill:none!important;pointer-events:none}
#esvg .ink-o .i2{stroke-opacity:1}
/* roads: fine ink, main roads mid weight */
#esvg .rd path,#esvg .rv path{stroke:#F4EFE4;stroke-linecap:round;stroke-linejoin:round}
#esvg .rd path{stroke-opacity:.5;stroke-width:calc(var(--u,1) * 1.1px)}
#esvg .rd path.mj{stroke-opacity:.9;stroke-width:calc(var(--u,1) * 1.55px)}
#esvg .rv path{stroke-width:calc(var(--u,1) * 1.1px)}
#esvg .rv path.mj{stroke-width:calc(var(--u,1) * 1.55px)}
/* the south-east corridor */
#esvg .cor .ld{fill:rgba(244,239,228,.05);stroke:none}
#esvg .cor .cc{fill:none;stroke:rgba(244,239,228,.3);stroke-width:calc(var(--u,1) * 1.1px)}
#esvg .cor .co{fill:rgba(244,239,228,.05);stroke:rgba(244,239,228,.72);stroke-width:calc(var(--u,1) * 1.3px);stroke-linecap:round}
#esvg .cor .wt{fill:#0B2C25;stroke:rgba(244,239,228,.72);stroke-width:calc(var(--u,1) * 1.3px);stroke-linecap:round}
#esvg .cor2 .rl{stroke:rgba(244,239,228,.5);stroke-width:calc(var(--u,1) * 1.1px)}
#esvg .cor2 .mw{stroke:#F4EFE4;stroke-opacity:.9;stroke-width:calc(var(--u,1) * 1.55px)}
#esvg .cor2 .sta{stroke:#F4EFE4;stroke-width:calc(var(--u,1) * 3.4px)}
/* r5 map-fix: the names sit on clear ground (old-map.js searches for it), so the dark halo is only a 1.5 px edge (3 px stroke, half of it under the letters) and the hand is Caveat 600, lighter, like the hero's notes.
   'Caveat Map' is Google's variable Caveat (400-700, latin) so 600 is a real weight; the page itself only loads the 500 and 700 cuts. */
@font-face{font-family:'Caveat Map';font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/caveat/v23/Wnz6HAc5bAfYB2Q7ZjYY.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
#esvg .cor2 .lb{font-family:'Caveat Map','Caveat','Segoe Print','Bradley Hand',cursive;font-weight:600;fill:#F4EFE4;stroke:#0B2C25;stroke-opacity:.85;stroke-linejoin:round;opacity:var(--lbin,1)}
#esvg .cor2 .lb.cn{font-weight:600;fill:#F4EFE4}
/* the fine dotted cream leader from a name that had to move off its place */
#esvg .cor2 .lbl{fill:none;stroke:rgba(244,239,228,.8);stroke-linecap:round;pointer-events:none;opacity:var(--lbin,1)}
#esvg .cor2 .lb.wl{fill:rgba(244,239,228,.62)}
/* estates: small open hand rings, mint (the one highlight), a faint fill so they read at the Australia scale */
#esvg .dot{fill:rgba(143,203,176,.28);stroke:#8FCBB0;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){#esvg .cor2 .lb,#esvg .cor2 .lbl{opacity:1}}

/* perf (10 Nov): right-edge fade as a strip of the panel green (replaces the svg mask), and the faint second pass rests while the camera moves */
.oldmap .map .edge-fade{position:absolute;top:0;right:0;bottom:0;width:26px;pointer-events:none;transform-origin:100% 50%;background:linear-gradient(to right,transparent,var(--green))}
#esvg .i2{transition:opacity .45s ease}
#esvg.mv .i2{opacity:0;transition:none}

/* perf2 (10 Nov): while the camera moves (old-map.js adds html.map-mv and #esvg.mv, and drops them 160 ms after the last frame)
   - the gloss, bloom, spot and grain layers and the pencil sheets' sway rest (hidden / paused; they come straight back when it stops);
   - the map is drawn at half size and scaled up by the compositor, so each frame paints a quarter of the pixels; it is redrawn crisp when the camera settles.
   Not applied for ?still=1 or reduced motion (old-map.js does not add the classes then). */
html.map-mv .pg26 .pgc{animation-play-state:paused}
/* perf3: the gloss layers are one cheap static image now, so they no longer rest while the map moves; the canvas camera (old-map.js) draws the moving map, and the svg's faint second pass fades back in when it returns */
#esvg.cvx .i2{opacity:0;transition:none}
#esvg.mv{width:50%;height:50%;transform:scale(2);transform-origin:0 0;will-change:transform}
