/* Cosmetics Path additions (loaded after media-path.css). Shared Unizon setup, plus the Cosmetics accent below. */
.drawzone{position:relative;}
.drawzone svg{display:block;width:100%;height:auto;}
.zkey{display:inline-block;width:11px;height:11px;border-radius:3px;border:1px solid var(--ink);vertical-align:-1px;margin-right:4px;}
.mini-t{font-size:8.6pt;}
.mini-t td,.mini-t th{padding:3px 5px!important;}
.sym{font-family:'DMMono';font-weight:500;}
@media screen and (max-width:640px){.calc{white-space:normal;}}

/* ---- Contrast fixes carried over from the Hockey Path (Oct 10, 2026): every text colour pair at 4.5:1 or better ---- */
:root{--muted:#5E5A72;}                                   /* was #6E6A80 (4.35:1 on violet tint) */
.brick .eg{color:#B23A1E;}                                /* coral #FF5B3A on white was 3.1:1 */
.qn[style*="--coral"],.qtype[style*="--coral"],.mono[style*="color:var(--coral)"]{color:#C2381B!important;}
.qn[style*="#7FA313"],.qtype[style*="#6C8F12"]{color:#4E6E00!important;}
.qn[style*="#E0A100"],.qtype[style*="#B88400"]{color:#8A5F00!important;}
.fp-step .badge.c2{color:var(--ink);}                     /* white on coral was 3.1:1 */
.plan h4 .i:not([style]){color:var(--ink);}  /* white on coral was 3.1:1 */
[style*="background:var(--lens);color:#fff"]{color:var(--lens-on)!important;}   /* route stops */
[style*="background:#7FA313;color:#fff"],[style*="background:var(--coral);color:#fff"]{color:var(--ink)!important;}

/* ---- Cosmetics Path accent (Oct 11, 2026): "berry + blush". A berry lipstick colour and a soft blush on ink.
   A row of emulsion droplets across the cover band, a droplet header dot, a berry/blush footer rule and a dbox with a rounded compact edge.
   Text on light uses --cs-ink (about 10:1 on white). ---- */
:root{--cs:#B03A6B;--cs-ink:#6A1F40;--cs-t:#F8E9EF;--csa:#F2B5C4;--en-ink:var(--cs-ink);}
.cover .band{background:linear-gradient(180deg,rgba(200,80,130,.22),rgba(200,80,130,0) 70%),var(--ink);}
.cover .band::after{content:"";position:absolute;left:6%;right:6%;bottom:8px;height:10px;background-image:radial-gradient(circle,var(--csa) 3.5px,transparent 4px);background-size:18px 10px;background-repeat:repeat-x;}
.hdr .dot:not([style]){background:var(--cs);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:inset 0 0 0 2px var(--csa);}
.ftr{border-top:3px solid var(--cs-ink);box-shadow:0 -5px 0 -3px var(--csa);}
.dbox{background:var(--cs-t);border:2px solid var(--ink);border-radius:14px;box-shadow:inset 0 5px 0 var(--cs);}
.dbox .tag{background:#fff;color:var(--ink);border:1.5px solid var(--ink);border-radius:10px;}
.dbox .tag::before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.35em;border-radius:50%;background:var(--cs);vertical-align:.05em;}
code.code{padding:0 4px;font-size:.92em;}
.views{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px;}
.views div{border:1.5px solid var(--ink);border-radius:6px;padding:6px 8px;background:#fff;font-size:8.4pt;line-height:1.35;}
.views b{display:block;font-family:'DMMono';font-size:7.4pt;letter-spacing:.08em;text-transform:uppercase;color:var(--en-ink);margin-bottom:2px;}
.safebox{background:#FFF4D6;border:2.5px solid var(--ink);border-left:10px solid #B3261E;}
.safebox .tag{background:#B3261E;color:#fff;}
.kb{display:block;width:100%;height:auto;margin:4px 0;}
.ledger td.num,.ledger th.num{text-align:right;font-family:'DMMono';}
.ledger tr.tot td{border-top:1.5px solid var(--ink);border-bottom:4px double var(--ink);font-weight:600;}
.grid-plot{display:grid;gap:2px;margin:4px 0;}
.grid-plot span{aspect-ratio:1;border:1.5px solid var(--ink);border-radius:3px;background:#fff;font-family:'DMMono';font-size:7pt;display:flex;align-items:center;justify-content:center;color:var(--ink);}

/* Lens inks darkened for AA contrast on their tints */
.lens-8{--lens-ink:#4A6E00;}
.lens-7{--lens-ink:#006A63;}
