:root{
  --parch:#F3EFE6; --alab:#FAF7F1; --ink:#1D2320; --holly:#152019; --holly2:#1E2B23;
  --brass:#9A7328; --brassL:#C8A566; --line:#DED7C9; --sage:#5F6359; --water:#B9C6BF;
  --serif:"Gambetta", "Iowan Old Style", Georgia, serif;
  --sans:"Switzer", "Helvetica Neue", Arial, sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1);
  --col:468px; --top:64px; --clockh:76px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--holly);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
a{color:inherit}
:focus-visible{outline:1.5px solid var(--brass);outline-offset:3px;border-radius:2px}
.eyebrow{font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}

/* ---------- GATE ---------- */
#gate{position:fixed;inset:0;z-index:50;background:radial-gradient(120% 90% at 70% 10%, #203027 0%, var(--holly) 55%, #0e1611 100%);color:var(--parch);display:grid;place-items:center;transition:opacity 1.1s var(--ease), visibility 1.1s}
body[data-state="app"] #gate{opacity:0;visibility:hidden}
#contours{position:absolute;inset:0;width:100%;height:100%}
.gate-inner{position:relative;width:min(440px,90vw);display:flex;flex-direction:column;align-items:center;gap:36px}
.gate-brand{display:flex;align-items:center;gap:12px;color:var(--brassL)}
.gate-brand .mark{width:34px;height:34px}
.wordmark{font:500 15px/1 var(--sans);letter-spacing:.42em;padding-left:.2em}
.gate-card{position:relative;display:grid;width:100%;padding:40px 36px 36px;background:rgba(21,32,25,.55);border:1px solid rgba(200,165,102,.22);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px);border-radius:3px;box-shadow:0 40px 120px -40px rgba(0,0,0,.7)}
.gate-card .eyebrow{color:var(--brassL)}
.step{grid-area:1/1;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .6s var(--ease), transform .6s var(--ease)}
.step.on{opacity:1;transform:none;pointer-events:auto}
.gate-title{font:400 34px/1.1 var(--serif);letter-spacing:-.01em;margin:0 0 12px}
.gate-lede{font-size:14.5px;line-height:1.55;color:rgba(243,239,230,.68);margin:0 0 26px}
.gate-lede.small{font-size:12.5px;letter-spacing:.06em;margin-top:16px}
.field{display:block;margin-bottom:16px}
.field span{display:block;font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,230,.5);margin-bottom:8px}
.field input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(243,239,230,.22);color:var(--parch);font:400 16px/1.4 var(--sans);padding:8px 0;letter-spacing:.04em;transition:border-color .3s}
.field input:focus{outline:none;border-color:var(--brassL)}
.btn-primary{margin-top:14px;width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:var(--brassL);color:var(--holly);font:500 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border-radius:2px;transition:background .3s, transform .3s var(--ease)}
.btn-primary svg{width:20px;height:20px;transition:transform .4s var(--ease)}
.btn-primary:hover{background:#d6b679}
.btn-primary:hover svg{transform:translateX(4px)}
.otp{display:flex;gap:10px}
.otp span{flex:1;height:56px;border-bottom:1px solid rgba(243,239,230,.25);display:grid;place-items:center;font:400 28px/1 var(--serif);color:var(--parch);transition:border-color .3s}
.otp span.f{border-color:var(--brassL)}
.unlock{height:1px;background:rgba(243,239,230,.15);margin-top:30px;overflow:hidden}
.unlock i{display:block;height:100%;width:0;background:var(--brassL);transition:width .5s var(--ease)}
.gate-foot{font-size:11.5px;color:rgba(243,239,230,.38);letter-spacing:.04em;text-align:center;margin:0}

/* ---------- APP SHELL ---------- */
#app{position:fixed;inset:0;opacity:0;transition:opacity 1.4s var(--ease) .2s}
body[data-state="app"] #app{opacity:1}
body[data-state="app"]{overflow:hidden}
#mapwrap{position:fixed;inset:0;z-index:0;background:#E6DFCF}
#map{position:absolute;inset:0}
#weatherfx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#nighttint{position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(180deg,#0b1410 0%,#152019 60%,#1d2a22 100%);mix-blend-mode:multiply;opacity:0;transition:opacity .6s linear}
.map-vignette{position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(90deg, rgba(243,239,230,.0) 0, rgba(243,239,230,0) 100%), radial-gradient(130% 100% at 70% 45%, transparent 55%, rgba(21,32,25,.22) 100%)}
.maplibregl-ctrl-attrib{font-size:10px!important;background:rgba(250,247,241,.7)!important}
.maplibregl-ctrl-bottom-right{bottom:calc(var(--clockh) + 6px)!important}

.topbar{position:fixed;top:0;left:0;right:0;height:var(--top);z-index:20;display:flex;align-items:center;gap:28px;padding:0 28px;background:linear-gradient(180deg, rgba(21,32,25,.92), rgba(21,32,25,.78));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--parch);border-bottom:1px solid rgba(200,165,102,.18)}
.brand{display:flex;align-items:center;gap:10px;color:var(--brassL);text-decoration:none}
.brand .mark{width:26px;height:26px}
.brand .wordmark{font-size:12.5px}
.crumb{display:flex;flex-direction:column;gap:4px;padding-left:24px;border-left:1px solid rgba(243,239,230,.14)}
.crumb span{font:500 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:rgba(243,239,230,.5)}
.crumb b{font:400 15px/1 var(--serif);letter-spacing:.01em}
.chapnav{margin-left:auto;display:flex;gap:4px}
.chapnav button{position:relative;font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,230,.55);padding:10px 12px;transition:color .3s}
.chapnav button::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:1px;background:var(--brassL);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.chapnav button:hover{color:var(--parch)}
.chapnav button.on{color:var(--parch)}
.chapnav button.on::after{transform:none}
.chapnav button em{font-style:normal;color:var(--brassL);margin-right:6px}
.who{display:flex;align-items:center;gap:18px}
.analyst{display:flex;align-items:center;gap:10px;font-size:12.5px;color:rgba(243,239,230,.7)}
.analyst i{font:400 15px/30px var(--serif);font-style:normal;width:30px;height:30px;border-radius:50%;text-align:center;background:var(--brassL);color:var(--holly)}
.analyst b{color:var(--parch);font-weight:500}
.signout{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,239,230,.5);transition:color .3s}
.signout:hover{color:var(--brassL)}

/* ---------- STORY ---------- */
#story{position:absolute;top:var(--top);left:0;bottom:0;width:calc(var(--col) + 64px);overflow-y:auto;overflow-x:hidden;z-index:10;padding:0 0 calc(var(--clockh) + 40vh) 32px;scrollbar-width:none}
#story::-webkit-scrollbar{display:none}
.chapter{min-height:calc(100vh - var(--top));display:flex;align-items:center;padding:56px 0}
.chapter:first-child{min-height:calc(100vh - var(--top) - var(--clockh))}
.card{width:var(--col);background:rgba(250,247,241,.9);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);border:1px solid rgba(222,215,201,.9);border-radius:3px;padding:38px 36px 30px;box-shadow:0 30px 80px -40px rgba(21,32,25,.45);opacity:.35;transform:translateY(24px) scale(.985);transition:opacity .9s var(--ease), transform .9s var(--ease)}
.chapter.in .card{opacity:1;transform:none}
.card h2{font:400 44px/1.04 var(--serif);letter-spacing:-.018em;margin:0 0 16px}
.card h2 em{font-style:italic;color:var(--brass)}
.lede{font-size:15.5px;line-height:1.6;color:var(--sage);margin:0 0 26px;max-width:38ch}
.cover-h{font:400 76px/.95 var(--serif);letter-spacing:-.03em;margin:4px 0 14px}
.cover-sub{font:400 19px/1.3 var(--serif);font-style:italic;color:var(--sage);margin:0 0 28px}
.signals{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}
.signal{padding:16px 0 14px;border-left:1px solid var(--line);padding-left:14px;text-align:left;transition:background .3s}
.signal:first-child{border-left:0;padding-left:0}
.signal span{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:9px}
.signal b{font:400 22px/1 var(--serif);letter-spacing:-.01em}
.signal b small{font-size:13px;color:var(--sage);margin-left:3px}
.signal:hover b{color:var(--brass)}

/* disclosure rows */
.rows{border-top:1px solid var(--line)}
.row{border-bottom:1px solid var(--line)}
.row > button{width:100%;display:flex;justify-content:space-between;gap:14px;text-align:left;padding:15px 0 14px;align-items:center}
.row .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.row .rk{font:500 15.5px/1.25 var(--sans);letter-spacing:-.005em}
.row .rs{font-size:13px;color:var(--sage);line-height:1.4}
.row .pm{flex:none;width:22px;height:22px;position:relative}
.row > button:hover .rk{color:var(--brass)}
.row .pm::before,.row .pm::after{content:"";position:absolute;left:5px;right:5px;top:50%;height:1px;background:var(--brass);transition:transform .45s var(--ease)}
.row .pm::after{transform:rotate(90deg)}
.row.open .pm::after{transform:rotate(0)}
.row .rbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.row.open .rbody{grid-template-rows:1fr}
.row .rbody > div{overflow:hidden}
.row .rin{padding:0 0 18px;font-size:14px;line-height:1.62;color:var(--ink);opacity:0;transform:translateY(-6px);transition:opacity .5s var(--ease) .05s, transform .5s var(--ease) .05s}
.row.open .rin{opacity:1;transform:none}
.rin p{margin:0 0 12px}
.rin strong{font-weight:600}
.when{display:flex;align-items:center;font:500 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:3px}
.impact{display:inline-flex;align-items:center;gap:6px;font:500 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:2px;margin-left:8px;vertical-align:2px}
.impact.route{background:rgba(154,115,40,.12);color:#7a5a1d}
.impact.none{background:rgba(95,99,89,.09);color:var(--sage)}
.impact.note{background:rgba(21,32,25,.06);color:var(--sage)}
.flag{display:flex;gap:10px;align-items:flex-start;font-size:12.8px;line-height:1.5;color:#6b5320;background:rgba(200,165,102,.13);border-left:2px solid var(--brassL);padding:9px 12px;margin:0 0 10px}
.flag b{font:600 9.5px/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.src{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.src a{font-size:11.5px;color:var(--sage);text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:4px 10px;transition:border-color .3s,color .3s}
.src a:hover{border-color:var(--brass);color:var(--brass)}
.actions{display:flex;gap:14px;margin-top:12px;flex-wrap:wrap}
.link{font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);display:inline-flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .3s}
.link:hover{border-color:var(--brass)}
.link svg{width:14px;height:14px}
.more-btn{display:inline-flex;align-items:center;gap:10px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:12px 0 2px}
.more-btn i{width:22px;height:1px;background:var(--brass);transition:width .4s var(--ease)}
.more-btn:hover i{width:36px}
.hint{font-size:12px;color:var(--sage);margin:18px 0 0;display:flex;gap:8px;align-items:center}
.hint svg{width:16px;height:16px;flex:none;color:var(--brass)}

/* weather */
.wx-days{display:flex;gap:2px;margin-bottom:14px}
.wx-days button{font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:9px 12px;color:var(--sage);border-bottom:1px solid var(--line);transition:color .3s,border-color .3s}
.wx-days button.on{color:var(--ink);border-color:var(--brass)}
.wx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:2px;background:rgba(243,239,230,.55)}
.wx{padding:16px 14px 14px;text-align:left;border-left:1px solid var(--line);position:relative;transition:background .35s}
.wx:first-child{border-left:0}
.wx:hover{background:rgba(250,247,241,.9)}
.wx.on{background:var(--alab)}
.wx.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brass)}
.wx .wp{font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.wx svg{display:block;width:62px;height:50px;margin:10px 0 8px;overflow:visible}
.wx .wt{font:400 26px/1 var(--serif);letter-spacing:-.02em}
.wx .wt small{font-size:14px;color:var(--sage)}
.wx-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.wx-detail.open{grid-template-rows:1fr}
.wx-detail > div{overflow:hidden}
.wx-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;padding:18px 2px 4px;font-size:13.5px}
.wx-dl dt{font:500 9.5px/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.wx-dl dd{margin:0}
.windrose{display:flex;align-items:center;gap:14px;padding:12px 2px 8px}
.windrose svg{width:54px;height:54px}
.road{display:flex;align-items:center;justify-content:space-between;padding:14px 0 0;margin-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--sage)}
.road b{font-weight:500;color:var(--ink)}
.road svg{width:40px;height:22px}

/* glyph animation */
.g-rays{transform-origin:center;transform-box:fill-box;animation:spin 26s linear infinite}
.g-sun{animation:breathe 5s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.g-cloud{animation:drift 7s ease-in-out infinite alternate}
.g-cloud2{animation:drift 9s ease-in-out infinite alternate-reverse}
.g-moon{animation:bob 6s ease-in-out infinite alternate;transform-origin:center;transform-box:fill-box}
.g-star{animation:twinkle 3s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes breathe{50%{transform:scale(1.07)}}
@keyframes drift{from{transform:translateX(-3px)}to{transform:translateX(5px)}}
@keyframes bob{from{transform:translateY(-1.5px) rotate(-4deg)}to{transform:translateY(1.5px) rotate(3deg)}}
@keyframes twinkle{50%{opacity:.15}}

/* threat rings */
.threat{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;margin:0 0 22px}
.threat svg{width:150px;height:150px;overflow:visible}
.ring{fill:none;stroke-linecap:round}
.ring.lit{stroke:var(--brass)}
.ring.dim{stroke:var(--line)}
.ring-rot{transform-origin:75px 75px;animation:spin linear infinite}
.threat-meta .lvl{font:400 52px/1 var(--serif);letter-spacing:-.03em}
.threat-meta .lvl small{font-size:20px;color:var(--sage)}
.threat-meta p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--sage)}
.scale{display:flex;gap:3px;margin-top:12px}
.scale i{flex:1;height:3px;background:var(--line);border-radius:2px;transform-origin:left;transform:scaleX(0);transition:transform .8s var(--ease)}
.scale i.lit{background:var(--brass)}
.chapter.in .scale i{transform:none}

/* routes */
.rcards{display:grid;gap:10px}
.rcard{border:1px solid var(--line);border-radius:2px;background:rgba(243,239,230,.5);transition:border-color .4s,background .4s,box-shadow .4s}
.rcard.on{background:var(--alab);border-color:var(--brassL);box-shadow:0 10px 30px -18px rgba(154,115,40,.5)}
.rcard > button{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:2px 12px;align-items:center;text-align:left;padding:14px 16px}
.rletter{grid-row:1/3;width:30px;height:30px;border-radius:50%;border:1px solid var(--brass);display:grid;place-items:center;font:400 15px/1 var(--serif);color:var(--brass);transition:background .4s,color .4s}
.rcard.on .rletter{background:var(--brass);color:var(--alab)}
.rpath{font:500 15px/1.25 var(--sans)}
.rpath i{font-style:normal;color:var(--brass);margin:0 6px}
.rwhen{font-size:12px;color:var(--sage);grid-column:2}
.rkm{grid-row:1/3;grid-column:3;text-align:right;font:400 18px/1.1 var(--serif)}
.rkm small{display:block;font:400 11.5px/1.3 var(--sans);color:var(--sage)}
.rcard .rbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.rcard.on .rbody{grid-template-rows:1fr}
.rcard .rbody > div{overflow:hidden}
.rdetail{padding:0 16px 16px 66px;font-size:13.5px;line-height:1.55}
.chain{list-style:none;margin:2px 0 16px;padding:0;position:relative}
.chain::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--brass),var(--brassL))}
.chain li{position:relative;padding:3px 0 3px 20px;opacity:0;transform:translateX(-6px);transition:opacity .4s var(--ease), transform .4s var(--ease)}
.chain li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:9px;border-radius:50%;background:var(--alab);border:1px solid var(--brass)}
.chain li:first-child::before,.chain li:last-child::before{background:var(--brass)}
.rcard.on .chain li{opacity:1;transform:none}
.chain.alt::before{background:repeating-linear-gradient(var(--holly2) 0 4px, transparent 4px 7px)}
.chain.alt li::before{border-color:var(--holly2)}
.chain.alt li:first-child::before,.chain.alt li:last-child::before{background:var(--holly2)}
.dl2{display:grid;grid-template-columns:86px 1fr;gap:8px 12px;margin:0 0 14px}
.dl2 dt{font:500 9.5px/1.9 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.dl2 dd{margin:0;color:var(--ink)}
.sub-h{font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin:14px 0 8px;display:flex;align-items:center;gap:8px}
.sub-h i{display:inline-block;width:18px;height:2px;background:var(--brass)}
.sub-h i.alt{background:repeating-linear-gradient(90deg,var(--holly2) 0 4px,transparent 4px 7px)}
.followbtn{display:inline-flex;align-items:center;gap:8px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--alab);background:var(--holly);padding:10px 14px;border-radius:2px;margin:2px 0 14px;transition:background .3s}
.followbtn:hover{background:var(--holly2)}
.followbtn svg{width:14px;height:14px}

/* emergency */
.nums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.num{position:relative;display:block;text-decoration:none;padding:18px 16px 16px;border-radius:2px;background:var(--holly);color:var(--parch);overflow:hidden}
.num.alt{background:var(--alab);color:var(--ink);border:1px solid var(--line)}
.num b{display:block;font:400 46px/1 var(--serif);letter-spacing:-.02em}
.num span{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brassL);margin:10px 0 6px}
.num.alt span{color:var(--brass)}
.num p{margin:0;font-size:12px;line-height:1.45;opacity:.75}
.num::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;border:1px solid rgba(200,165,102,.35);animation:ripple 3.6s var(--ease) infinite}
.num.alt::after{border-color:rgba(154,115,40,.25);animation-delay:1.2s}
@keyframes ripple{0%{transform:scale(.4);opacity:0}30%{opacity:1}100%{transform:scale(1.6);opacity:0}}

/* closing */
.ack{margin-top:22px;width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--holly);color:var(--parch);border-radius:2px;font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:background .4s}
.ack:hover{background:var(--holly2)}
.ack.done{background:var(--brass)}
.ack svg{width:18px;height:18px}
.sources-list{columns:2;column-gap:18px;font-size:12.5px;line-height:1.9;margin:6px 0 0;padding:0;list-style:none}
.sources-list a{color:var(--sage);text-decoration:none;border-bottom:1px solid var(--line)}
.sources-list a:hover{color:var(--brass);border-color:var(--brass)}

/* ---------- MAP MARKERS ---------- */
.pl{display:flex;align-items:center;gap:8px;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .6s var(--ease), transform .6s var(--ease);will-change:opacity}
.pl.vis{opacity:1;transform:none}
.pl.left{flex-direction:row-reverse}
.pl.below{flex-direction:column;gap:6px}
.pl:hover .lb{border-color:var(--brass)}
.pl .dot{width:10px;height:10px;border-radius:50%;background:var(--alab);border:1.5px solid var(--holly);box-shadow:0 0 0 4px rgba(250,247,241,.6);flex:none}
.pl.home .dot{width:14px;height:14px;background:var(--brass);border-color:var(--alab);box-shadow:0 0 0 5px rgba(154,115,40,.22)}
.pl.med .dot{background:var(--holly);border-color:var(--alab);position:relative}
.pl.med .dot::before,.pl.med .dot::after{content:"";position:absolute;background:var(--alab);left:50%;top:50%;transform:translate(-50%,-50%)}
.pl.med .dot::before{width:6px;height:1.5px}.pl.med .dot::after{width:1.5px;height:6px}
.pl .lb{background:rgba(250,247,241,.94);border:1px solid var(--line);padding:6px 9px 6px;border-radius:2px;white-space:nowrap;box-shadow:0 8px 20px -12px rgba(21,32,25,.4)}
.pl .lb b{display:block;font:500 12px/1.1 var(--sans)}
.pl .lb span{display:block;font-size:10.5px;color:var(--sage);margin-top:2px}
.pl.small .lb{padding:4px 7px}
.pl.small .lb b{font-size:11px}
.pl.small .lb span{display:none}
.pl.small:hover .lb span{display:block}
.pl.active .lb{border-color:var(--brass)}
.pl.active .dot{animation:nudge 1.6s var(--ease) infinite}
@keyframes nudge{50%{box-shadow:0 0 0 9px rgba(154,115,40,.15)}}

.zone{width:160px;height:160px;pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
.zone.vis{opacity:1}
.zone i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(154,115,40,.6);background:radial-gradient(circle, rgba(200,165,102,.22), rgba(200,165,102,0) 70%);animation:zonep 3.2s var(--ease) infinite}
.zone i:nth-child(2){animation-delay:1.06s}
.zone i:nth-child(3){animation-delay:2.12s}
.zone.hot i{border-color:rgba(154,115,40,.9)}
@keyframes zonep{0%{transform:scale(.15);opacity:0}25%{opacity:1}100%{transform:scale(1);opacity:0}}

.vehicle{width:22px;height:22px;pointer-events:none;opacity:0;transition:opacity .5s}
.vehicle.vis{opacity:1}
.vehicle::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(154,115,40,.25);animation:zonep 1.8s var(--ease) infinite}
.vehicle::after{content:"";position:absolute;left:5px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--holly);border:2px solid var(--brassL);box-shadow:0 2px 8px rgba(0,0,0,.35)}

/* ---------- CLOCK ---------- */
.clock{position:fixed;left:0;right:0;bottom:0;height:var(--clockh);z-index:25;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:22px;padding:0 28px;background:rgba(21,32,25,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--parch);border-top:1px solid rgba(200,165,102,.2)}
.play{width:40px;height:40px;border-radius:50%;border:1px solid rgba(200,165,102,.55);display:grid;place-items:center;color:var(--brassL);transition:background .3s,color .3s}
.play:hover{background:var(--brassL);color:var(--holly)}
.play svg{width:16px;height:16px;fill:currentColor}
.play .i-pause{display:none}
.clock.playing .play .i-pause{display:block}
.clock.playing .play .i-play{display:none}
.readout{display:flex;flex-direction:column;gap:3px;min-width:132px}
.readout .day{font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,230,.5)}
.readout .time{font:400 26px/1 var(--serif);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.readout .wx{font-size:11px;color:var(--brassL);padding:0;border:0;letter-spacing:.02em}
.ribbon{position:relative;height:46px}
.nights{position:absolute;inset:0;border-radius:2px;overflow:hidden;background:linear-gradient(90deg,rgba(243,239,230,.03),rgba(243,239,230,.06))}
.nights i{position:absolute;top:0;bottom:0;background:rgba(0,0,0,.28)}
.lanes{position:absolute;inset:0}
.mk{position:absolute;height:6px;border-radius:3px;transform:translateY(-50%);cursor:pointer;transition:transform .3s, filter .3s}
.mk.l0{top:30%;background:var(--brassL)}
.mk.l1{top:70%;background:rgba(185,198,191,.5)}
.mk.pt{width:9px!important;height:9px;border-radius:50%;margin-left:-4.5px}
.mk.l0.pt{background:var(--brassL);box-shadow:0 0 0 2px var(--holly)}
.mk.l1.pt{background:#cfd8d2;box-shadow:0 0 0 2px var(--holly)}
.mk.key{width:12px!important;height:12px;margin-left:-6px;background:var(--parch);box-shadow:0 0 0 2px var(--brassL)}
.mk:hover,.mk.act{filter:brightness(1.25);transform:translateY(-50%) scaleY(1.5)}
.mk.pt:hover,.mk.pt.act{transform:translateY(-50%) scale(1.35)}
.mk.l1.act{background:rgba(214,226,219,.85)}
.ticks{position:absolute;left:0;right:0;bottom:-14px;height:12px;pointer-events:none}
.ticks span{position:absolute;font:500 9px/1 var(--sans);letter-spacing:.08em;color:rgba(243,239,230,.38);transform:translateX(-50%);white-space:nowrap}
.ticks span.dl{color:var(--brassL);letter-spacing:.16em;text-transform:uppercase}
.head{position:absolute;top:-6px;bottom:-6px;width:0;pointer-events:none}
.head i{position:absolute;left:-.5px;top:0;bottom:0;width:1px;background:var(--parch)}
.head i::before{content:"";position:absolute;left:-5px;top:-3px;width:11px;height:11px;border-radius:50%;background:var(--parch);box-shadow:0 0 0 4px rgba(243,239,230,.15)}
#scrub{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ribbon.hovering .mk{pointer-events:none}
.now{width:250px;overflow:hidden;text-align:right;font-size:12px;line-height:1.35;color:rgba(243,239,230,.75);display:flex;align-items:center;gap:10px;justify-content:flex-end}
.now::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brassL);flex:none;animation:twinkle 2s ease-in-out infinite}
.now:hover{color:var(--parch)}
.tip{position:fixed;z-index:40;pointer-events:none;background:var(--alab);color:var(--ink);font-size:12px;padding:7px 10px;border-radius:2px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);transform:translate(-50%,-100%);margin-top:-12px;white-space:nowrap;opacity:0;transition:opacity .2s}
.tip.on{opacity:1}
.tip b{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:4px}

/* ---------- DRAWER ---------- */
.drawer{position:fixed;z-index:35;top:calc(var(--top) + 16px);right:16px;bottom:calc(var(--clockh) + 16px);width:400px;background:var(--alab);border:1px solid var(--line);border-radius:3px;padding:30px 30px 26px;overflow:auto;transform:translateX(calc(100% + 30px));transition:transform .6s var(--ease);box-shadow:0 30px 80px -30px rgba(21,32,25,.55)}
.drawer.open{transform:none}
.drawer h3{font:400 30px/1.1 var(--serif);letter-spacing:-.015em;margin:0 0 16px}
#drBody{font-size:14px;line-height:1.62}
#drBody .item{padding:14px 0;border-top:1px solid var(--line)}
#drBody .item b{display:block;font-weight:500;margin-bottom:4px}
.dr-close{position:absolute;top:18px;right:20px;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.scrim{display:none}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1180px){
  .chapnav{display:none}
}
@media (max-width:860px){
  :root{--top:56px;--clockh:64px;--mapH:44vh}
  .topbar{padding:0 16px;gap:14px}
  .crumb{padding-left:14px}
  .crumb b{font-size:13px;white-space:nowrap}
  .crumb b small{display:none}
  .signout{white-space:nowrap;font-size:10px}
  .brand .wordmark{display:none}
  .gate-card{padding:32px 24px 28px}
  .crumb span{display:none}
  .analyst span{display:none}
  .who{gap:12px;margin-left:auto}
  #mapwrap{bottom:auto;height:calc(var(--mapH) + var(--top))}
  #story{left:0;right:0;width:auto;top:calc(var(--top) + var(--mapH));padding:0 0 calc(var(--clockh) + 24px);background:var(--parch);border-top:1px solid var(--line);box-shadow:0 -20px 40px -20px rgba(21,32,25,.35)}
  .chapter,.chapter:first-child{min-height:auto;display:block;padding:0}
  .card{width:auto;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--parch);backdrop-filter:none;padding:30px 20px 28px;opacity:1;transform:none}
  .card h2{font-size:34px}
  .cover-h{font-size:56px}
  .signal b{font-size:18px}
  .clock{grid-template-columns:auto auto 1fr;gap:12px;padding:0 12px}
  .now{display:none}
  .readout{min-width:88px}
  .readout .time{font-size:20px}
  .readout .wx{display:none}
  .ticks span:not(.dl){display:none}
  .drawer{left:0;right:0;top:auto;bottom:0;width:auto;max-height:78vh;border-radius:10px 10px 0 0;transform:translateY(105%);padding:26px 20px calc(var(--clockh) + 20px)}
  .drawer.open{transform:none;z-index:45}
  .scrim{display:block;position:fixed;inset:0;z-index:44;background:rgba(21,32,25,.4);opacity:0;pointer-events:none;transition:opacity .4s}
  .scrim.on{opacity:1;pointer-events:auto}
  .threat{grid-template-columns:118px 1fr;gap:16px}
  .threat svg{width:118px;height:118px}
  .rdetail{padding-left:16px}
  .pl .lb span{display:none}
  .pl .lb{padding:4px 7px}
  .pl .lb b{font-size:11px}
  .maplibregl-ctrl-bottom-right{bottom:0!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.2s!important}
}
.now span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gate-err{min-height:18px;margin:4px 0 0;font-size:12.5px;color:#E3B98A}
.btn-primary:disabled{opacity:.6;cursor:wait}

/* ---------- v2: multi-brief additions ---------- */
.pdftop{display:flex;align-items:center;gap:7px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(243,239,230,.75);padding:8px 11px;border:1px solid rgba(200,165,102,.35);border-radius:2px;transition:border-color .3s,color .3s}
.pdftop:hover{color:var(--brassL);border-color:var(--brassL)}
.pdftop svg{width:15px;height:15px}
.pdftop[hidden]{display:none}
.cover-actions{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:center}
.more-btn.pdf-btn svg{width:16px;height:16px;color:var(--brass)}
.issued{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;letter-spacing:.04em;color:var(--sage)}

/* itinerary */
.iday{margin:0 0 22px}
.iday-h{font:400 22px/1.1 var(--serif);margin:0 0 10px;color:var(--ink)}
.itin{list-style:none;margin:0;padding:0;position:relative}
.itin::before{content:"";position:absolute;left:52px;top:8px;bottom:8px;width:1px;background:var(--line)}
.itin li button{display:grid;grid-template-columns:44px 1fr;gap:17px;width:100%;text-align:left;padding:9px 6px 9px 0;border-radius:2px;transition:background .3s}
.itin li button:hover{background:rgba(154,115,40,.06)}
.itin li.on button{background:rgba(154,115,40,.1)}
.it-t{font:500 13px/1.35 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);position:relative}
.it-t::after{content:"";position:absolute;right:-12.5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 3px var(--alab)}
.it-b b{display:block;font-weight:500;font-size:14.5px;line-height:1.35}
.it-b>span{display:block;font-size:13px;line-height:1.5;color:var(--sage);margin-top:2px}
.itin li.ctx .it-t{color:var(--sage)}
.itin li.ctx .it-t::after{background:var(--alab);border:1px solid var(--sage);width:5px;height:5px}
.itin li.ctx .it-b b{font-weight:400;color:var(--sage)}
.itin li.key .it-t::after{width:9px;height:9px;right:-13.5px;top:4px;background:var(--holly);box-shadow:0 0 0 3px var(--alab),0 0 0 4px var(--brass)}
.it-b .impact{margin-left:8px}

/* daylight */
.daylight{margin:22px 0 0;padding-top:4px}
.dl-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.dl-grid div{padding:12px 0;border-bottom:1px solid var(--line)}
.dl-grid div+div{padding-left:16px;border-left:1px solid var(--line)}
.dl-grid span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:5px}
.dl-grid b{font:400 21px/1 var(--serif);font-variant-numeric:tabular-nums}
.dl-note{font-size:13.5px;line-height:1.55;margin:12px 0 0}
.dl-src{font-size:11.5px;color:var(--sage);margin:8px 0 0}

/* threat scale */
.tscale{list-style:none;margin:4px 0 12px;padding:0}
.tscale li{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--sage)}
.tscale li span{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:500 12px/1 var(--sans);color:var(--sage)}
.tscale li.lit span{border-color:var(--brassL);color:var(--brass)}
.tscale li.cur span{background:var(--holly);border-color:var(--holly);color:var(--brassL)}
.tscale li b{display:block;color:var(--ink);font-weight:500}
.tscale li.cur{color:var(--ink)}

/* open items */
.opencount{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.opencount b{font:400 46px/1 var(--serif);color:var(--brass)}
.opencount span{font-size:13px;color:var(--sage);max-width:24ch;line-height:1.4}
.openlist{list-style:none;margin:0;padding:0;counter-reset:o}
.openlist li{border-bottom:1px solid var(--line)}
.openlist button{display:grid;grid-template-columns:1fr 18px;gap:4px 12px;width:100%;text-align:left;padding:12px 0}
.openlist button:not([data-ref]){cursor:default}
.openlist .oc{grid-column:1;font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.openlist .ot{grid-column:1;font-size:14px;line-height:1.45}
.openlist .og{grid-column:2;grid-row:1/span 2;align-self:center;color:var(--sage);transition:transform .3s var(--ease),color .3s}
.openlist .og svg{width:16px;height:16px}
.openlist button[data-ref]:hover .og{transform:translateX(4px);color:var(--brass)}

/* pdf download */
.pdfdl{margin-top:22px;width:100%;display:grid;grid-template-columns:40px 1fr 20px;gap:14px;align-items:center;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:2px;background:var(--parch);transition:border-color .3s,background .3s}
.pdfdl:hover{border-color:var(--brass);background:#efe9dc}
.pdfdl .pd-i{width:40px;height:40px;display:grid;place-items:center;background:var(--holly);color:var(--brassL);border-radius:2px}
.pdfdl .pd-i svg{width:20px;height:20px}
.pdfdl b{display:block;font-weight:500;font-size:14px}
.pdfdl small{font-size:12px;color:var(--sage)}
.pdfdl>svg{width:18px;height:18px;color:var(--brass)}
.ack{margin-top:12px}

/* route chip on map */
.rchip{font:500 11.5px/1 var(--sans);color:var(--parch);background:var(--holly);padding:7px 10px 7px 7px;border-radius:2px;display:flex;align-items:center;gap:8px;white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .6s var(--ease),transform .6s var(--ease);box-shadow:0 6px 20px rgba(0,0,0,.25);pointer-events:none}
.rchip.on{opacity:1;transform:none}
.rchip b{width:20px;height:20px;display:grid;place-items:center;background:var(--brassL);color:var(--holly);border-radius:50%;font-size:11px}
@media (max-width:1280px){.chapnav{display:none}}
@media (max-width:860px){.pdftop span{display:none}.pdftop{padding:7px}}
@media (max-width:1760px){.analyst span{display:none}.crumb small{display:none}}
.crumb b,.signout,.analyst span{white-space:nowrap}
.it-t{font-size:12.5px}
.itin::before{left:64px}
.itin li button{grid-template-columns:56px 1fr}

/* ---------- v3 ---------- */
.livechip{font-style:normal;margin-left:8px;padding:3px 7px;border-radius:2px;font:500 9px/1 var(--sans);letter-spacing:.14em;vertical-align:1px}
.livechip:empty{display:none}
.livechip.done{color:rgba(243,239,230,.55);border:1px solid rgba(243,239,230,.18)}
.livechip.upcoming{color:var(--brassL);border:1px solid rgba(200,165,102,.4)}
.livechip.live{color:var(--holly);background:var(--brassL)}
.embtn{display:flex;align-items:center;gap:8px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--parch);padding:8px 12px;border:1px solid rgba(243,239,230,.22);border-radius:2px;transition:border-color .3s}
.embtn:hover{border-color:var(--brassL)}
.embtn i{width:7px;height:7px;border-radius:50%;background:#D98B5F;box-shadow:0 0 0 0 rgba(217,139,95,.6);animation:empulse 2.4s infinite}
.embtn[hidden]{display:none}
@keyframes empulse{0%{box-shadow:0 0 0 0 rgba(217,139,95,.55)}70%{box-shadow:0 0 0 7px rgba(217,139,95,0)}100%{box-shadow:0 0 0 0 rgba(217,139,95,0)}}
.livebtn{display:flex;align-items:center;gap:7px;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--holly);background:var(--brassL);padding:8px 10px;border-radius:2px;margin-right:6px}
.livebtn[hidden]{display:none}
.livebtn i{width:6px;height:6px;border-radius:50%;background:var(--holly);animation:empulse 2.4s infinite}
.before{margin:-6px 0 22px}
.before ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.before li{border-bottom:1px solid var(--line)}
.before button{display:grid;grid-template-columns:78px 1fr 16px;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 0;transition:background .3s}
.before button:hover{background:rgba(154,115,40,.05)}
.before .bk{font:500 11px/1.3 var(--sans);letter-spacing:.06em;color:var(--brass);font-variant-numeric:tabular-nums}
.before .bd{font-size:13.5px;line-height:1.4}
.before svg{width:14px;height:14px;color:var(--sage);transition:transform .3s var(--ease)}
.before button:hover svg{transform:translateX(3px);color:var(--brass)}
.chg{font:inherit;color:var(--brass);border-bottom:1px solid currentColor}
.upd{display:inline-block;margin-left:8px;font:500 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:4px 6px;border-radius:2px;background:var(--brassL);color:var(--holly);vertical-align:2px}
.em-nums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.em-n{display:block;text-decoration:none;padding:16px;background:var(--holly);color:var(--parch);border-radius:2px}
.em-n.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
.em-n b{display:block;font:400 34px/1 var(--serif)}
.em-n span{font-size:12px;opacity:.75}
.em-p .em-s{display:block;font-size:12.5px;color:var(--sage);margin-top:2px}
.em-p .em-a{display:block;font-size:13.5px;margin-top:6px}
.em-p .actions{margin-top:6px}
#lock{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(14,22,17,.62);backdrop-filter:blur(22px) saturate(.8);-webkit-backdrop-filter:blur(22px);color:var(--parch);opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility .6s}
body.locked #lock{opacity:1;visibility:visible}
.lock-card{width:min(400px,100%);padding:36px 32px;background:rgba(21,32,25,.75);border:1px solid rgba(200,165,102,.22);border-radius:3px}
.lock-card .mark{width:34px;height:34px;color:var(--brassL);margin-bottom:18px}
.lock-card .eyebrow{color:var(--brassL)}
.lock-card .gate-title{font-size:28px;margin-bottom:22px}
.lock-out{margin-top:16px;font-size:12px;color:rgba(243,239,230,.55);border-bottom:1px solid rgba(243,239,230,.25)}
@media (max-width:860px){.embtn span{display:none}.embtn{padding:9px}}
@media (max-width:860px){.livebtn{padding:7px}}
a.link{text-decoration:none}
.eyebrow .livechip{margin-left:10px;vertical-align:1px}
.livechip.done{color:var(--sage);border-color:var(--line)}
.eyebrow .livechip.upcoming{color:var(--brass);border-color:rgba(154,115,40,.4)}
.crumb span{white-space:nowrap}
@media (max-width:1500px){.chapnav button{padding:10px 8px;letter-spacing:.1em}.chapnav button::after{left:8px;right:8px}}

/* ---------- v4: next up, update banner, preview ---------- */
.nextup{display:grid;grid-template-columns:auto 1fr 16px;gap:14px;align-items:center;width:100%;text-align:left;margin:-4px 0 22px;padding:12px 14px;background:var(--holly);color:var(--parch);border-radius:2px;transition:background .3s}
.nextup[hidden]{display:none}
.nextup:hover{background:var(--holly2)}
.nu-k{font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--holly);background:var(--brassL);padding:5px 7px;border-radius:2px}
.nu-b b{display:block;font:400 17px/1.25 var(--serif)}
.nu-b span{display:block;font-size:12px;color:rgba(243,239,230,.65);margin-top:3px;font-variant-numeric:tabular-nums}
.nextup svg{width:14px;height:14px;color:var(--brassL)}
.updbanner{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 18px;padding:10px 12px;border:1px solid rgba(154,115,40,.35);background:rgba(200,165,102,.1);border-radius:2px;font-size:12.5px}
.updbanner[hidden]{display:none}
.updbanner i{width:6px;height:6px;border-radius:50%;background:var(--brass)}
.updbanner b{font-weight:500}
.updbanner button{margin-left:auto;color:var(--brass);border-bottom:1px solid currentColor;font-size:12.5px}
.itin li.past .it-b,.itin li.past .it-t{opacity:.45}
.itin li.now button{background:rgba(154,115,40,.12)}
.itin li.now .it-t::after{background:var(--brass);box-shadow:0 0 0 4px rgba(154,115,40,.22);animation:empulse 2.4s infinite}
.itin li.next .it-t{color:var(--brass)}
.pvbar{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--top) + 10px);z-index:40;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--brassL);color:var(--holly);border-radius:2px;font-size:12px;box-shadow:0 6px 24px rgba(0,0,0,.18);max-width:calc(100vw - 24px)}
.pvbar[hidden]{display:none}
.pvbar i{width:6px;height:6px;border-radius:50%;background:var(--holly)}
.pvbar b{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}
@media (max-width:860px){.pvbar .pv-n{display:none}.pvbar{top:calc(var(--top) + 6px)}}

.livechip{white-space:nowrap;display:inline-block}

/* ---------- v4: first-time guide ---------- */
.helpbtn{width:30px;height:30px;border-radius:50%;border:1px solid rgba(243,239,230,.25);color:var(--parch);font:400 15px/1 var(--serif);display:grid;place-items:center;transition:border-color .3s}
.helpbtn:hover{border-color:var(--brassL);color:var(--brassL)}
#tour{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
body.touring #tour{visibility:visible;pointer-events:auto}
.tour-box{position:fixed;border-radius:4px;box-shadow:0 0 0 200vmax rgba(10,16,12,.62);outline:1.5px solid var(--brassL);transition:all .45s var(--ease);pointer-events:none;opacity:0}
body.touring .tour-box{opacity:1}
.tour-card{position:fixed;width:min(360px,calc(100vw - 32px));background:var(--alab);color:var(--ink);border-radius:3px;padding:22px 22px 16px;box-shadow:0 20px 60px rgba(0,0,0,.35);transition:top .45s var(--ease),left .45s var(--ease)}
.tour-card.mid{left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px))}
.tour-k{font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.tour-card h3{font:400 24px/1.15 var(--serif);margin:0 0 8px}
.tour-d{font-size:14px;line-height:1.55;color:#3b403b;margin:0 0 16px}
.tour-f{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.tour-dots{display:flex;gap:5px;margin-right:auto}
.tour-dots i{width:5px;height:5px;border-radius:50%;background:var(--line)}.tour-dots i.on{background:var(--brass);width:14px;border-radius:3px}
.tour-skip,.tour-prev{font-size:12.5px;color:var(--sage)}
.tour-prev[hidden]{display:none}
.tour-next{font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--holly);color:var(--parch);padding:11px 14px;border-radius:2px}
@media (max-width:860px){.helpbtn{width:28px;height:28px}}
@media (prefers-reduced-motion:reduce){.tour-box,.tour-card{transition:none}}
.gate-help{margin:18px 0 0;font-size:12.5px;line-height:1.5;color:rgba(243,239,230,.55);max-width:340px}
#tour.dim{background:rgba(10,16,12,.62);transition:background .4s}
.tour-card{max-height:calc(100vh - 24px);overflow:auto}
/* ---------- v5: official advice, alerts, device ---------- */
:root{--red:#B5523B;--amber:#C08A2E;--info:#5F7A6E}
.advice{margin:6px 0 22px}
.adv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);border-radius:2px;background:var(--line)}
.adv{display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;text-decoration:none;color:var(--ink);background:#f6f3ec;transition:background .3s}
.adv:hover{background:#efe8da}
.adv-c{font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.adv-dots{display:flex;gap:3px}
.adv-dots i{width:16px;height:3px;border-radius:2px;background:var(--line)}
.adv-dots i.on{background:var(--brass)}
.adv[data-lv="3"] .adv-dots i.on{background:var(--amber)}
.adv[data-lv="4"] .adv-dots i.on{background:var(--red)}
.adv b{font:400 15.5px/1.25 var(--serif)}
.adv small{font-size:11px;color:var(--sage)}
.adv-sw{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}
.adv-sw button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:11px 12px 12px;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit;transition:background .25s,border-color .25s}
.adv-sw button.on{background:#f6f3ec;border-color:var(--brass)}
.adv-sw button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.adv-sw b{font:400 16px/1.2 var(--serif)}
.adv-sw button[data-lv="3"] .adv-dots i.on{background:var(--amber)}
.adv-sw button[data-lv="4"] .adv-dots i.on{background:var(--red)}
.adv-src{display:inline-flex;align-items:center;gap:5px;font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.adv-src svg{width:12px;height:12px}
.adv-src-trip,.adv-src-gps{color:var(--brass)}
.adv-n{font-size:11.5px;color:var(--sage);margin:8px 0 0;line-height:1.5}
.adv:last-child:nth-child(odd){grid-column:1/-1}
.alertbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 18px;padding:11px 12px;border:1px solid var(--line);border-left:3px solid var(--info);background:rgba(250,247,241,.85);border-radius:2px;font-size:12.5px}
.alertbar[hidden]{display:none}
.alertbar i,.toast i,.al-m i{width:7px;height:7px;border-radius:50%;background:var(--info);flex:none}
.alertbar span{font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.alertbar b{font-weight:500;flex:1 1 220px}
.alertbar button,.toast button{font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--brass);padding:4px 0}
.al-orange.alertbar{border-left-color:var(--amber)}.al-red.alertbar{border-left-color:var(--red);background:rgba(181,82,59,.07)}
.al-orange i{background:var(--amber)}.al-red i{background:var(--red);animation:empulse 2.4s infinite}
.al{padding:14px 0 14px 14px;border-left:3px solid var(--info);margin:0 0 12px;background:rgba(243,239,230,.4)}
.al.al-orange{border-left-color:var(--amber)}.al.al-red{border-left-color:var(--red)}
.al-m{display:flex;align-items:center;gap:8px;font:500 9.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0 0 8px}
.al b{display:block;font:400 17px/1.3 var(--serif);margin:0 0 6px;padding-right:12px}
.al p{margin:0 0 6px;padding-right:12px}
.dv{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.dv b{display:block;font-weight:500;margin-bottom:3px}
.dv span{font-size:13px;color:var(--sage);line-height:1.5}
.dv-err{display:block;font-style:normal;color:var(--red);font-size:12px;margin-top:4px}
.dv-b{flex:none;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;background:var(--holly);color:var(--parch);border-radius:2px}
.dv-b.ghost{background:none;color:var(--ink);border:1px solid var(--line)}
.dv-b:disabled{opacity:.5}
.bellbtn{position:relative;width:30px;height:30px;border-radius:50%;border:1px solid rgba(243,239,230,.25);color:var(--parch);display:grid;place-items:center;transition:border-color .3s}
.bellbtn svg{width:16px;height:16px}
.bellbtn:hover{border-color:var(--brassL);color:var(--brassL)}
.bellbtn em{position:absolute;top:-4px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--brassL);color:var(--holly);font:600 9.5px/16px var(--sans);font-style:normal;text-align:center}
.bellbtn em[hidden]{display:none}
.bellbtn.hot em{background:var(--red);color:#fff}
@media (max-width:860px){.bellbtn{width:28px;height:28px}}
.toast{position:fixed;left:50%;top:calc(var(--top) + 12px);transform:translate(-50%,-16px);z-index:45;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--alab);color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--info);border-radius:2px;box-shadow:0 10px 34px rgba(0,0,0,.22);max-width:min(520px,calc(100vw - 24px));opacity:0;pointer-events:none;transition:opacity .4s,transform .4s var(--ease)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast.al-orange{border-left-color:var(--amber)}.toast.al-red{border-left-color:var(--red)}
.toast span{display:flex;flex-direction:column;gap:3px;flex:1}
.toast small{font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.toast b{font-weight:500;font-size:13.5px}
.offbar{position:fixed;left:50%;transform:translateX(-50%);top:calc(var(--top) + 10px);z-index:40;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--holly2);color:var(--parch);border:1px solid rgba(200,165,102,.4);border-radius:2px;font-size:12px;box-shadow:0 6px 24px rgba(0,0,0,.18);max-width:calc(100vw - 24px)}
.offbar[hidden]{display:none}
.offbar i{width:6px;height:6px;border-radius:50%;background:var(--brassL)}
.offbar .off-n{opacity:.7}
.offbar button{font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brassL)}
.offbar button[hidden]{display:none}
@media (max-width:860px){.offbar .off-n{display:none}.offbar{top:calc(var(--top) + 6px)}}
@media (max-width:1680px){.topbar{gap:20px}.pdftop span{display:none}.pdftop{padding:7px}}
@media (max-width:480px){.topbar{gap:10px;padding:0 14px}.topbar .crumb{display:none}.topbar .who{gap:8px;margin-left:auto}}

/* ---------------- v6 ---------------- */
.discbtn{position:relative;width:30px;height:30px;border-radius:50%;border:1px solid rgba(243,239,230,.25);color:var(--parch);display:grid;place-items:center;transition:border-color .3s,background .3s}
.discbtn svg{width:17px;height:17px}
.discbtn .ec{display:none}
.discbtn[aria-pressed="true"]{background:var(--brassL);border-color:var(--brassL);color:var(--holly)}
.discbtn[aria-pressed="true"] .eo{display:none}.discbtn[aria-pressed="true"] .ec{display:inline}
.discbtn:hover{border-color:var(--brassL)}
@media (max-width:860px){.discbtn{width:28px;height:28px}}
.pii{transition:filter .25s var(--ease)}
.discreet .pii,.discreet .pl .lb,.discreet .nextup .nu-b>span{filter:blur(5px);user-select:none;-webkit-user-select:none}
.discreet .pii.peek{filter:none}
.discreet::after{content:"Discreet mode · press and hold to read";position:fixed;left:50%;bottom:calc(var(--clockh) + 10px);transform:translateX(-50%);z-index:30;font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--parch);background:rgba(21,32,25,.82);padding:7px 11px;border-radius:2px;pointer-events:none}
@media print{.discreet .pii{filter:none}}
.clocks{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:-6px 0 18px;font-size:12px;color:var(--sage)}
.clocks[hidden]{display:none}
.clocks span{display:inline-flex;align-items:center;gap:6px}
.clocks i{width:6px;height:6px;border-radius:50%;background:var(--brass)}
.clocks b{font:500 13px/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.clocks .cl-n{opacity:.8}
.cl-t{font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--brass);padding:6px 0;min-height:24px}
.al-do{margin:8px 12px 8px 0!important;font-size:13.5px;line-height:1.5}
.al-do span{display:block;font:500 9.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:3px}
.al-w{margin:6px 0 0!important;font-size:12.5px;color:var(--sage,#6b7a70)}
.al-at{margin:6px 0 0!important;font-size:11px;letter-spacing:.02em;color:var(--sage,#6b7a70);opacity:.85}
.al-acts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 12px 2px 0}
.al-b{min-height:36px;padding:0 16px;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);border-radius:2px;color:var(--ink);background:var(--alab)}
.al-b.ok{background:var(--holly);color:var(--parch);border-color:var(--holly)}
.al-b:disabled{opacity:.5}
.al-r{display:flex;align-items:center;gap:8px;margin:10px 0 0!important;font-size:12.5px;color:var(--sage)}
.al-r svg,.callreq svg{width:16px;height:16px;color:var(--brass);flex:none}
.callreq{display:flex;flex-direction:column;gap:6px;margin:22px 0 4px;padding:14px;border:1px solid var(--line);background:rgba(250,247,241,.6);border-radius:2px}
.callreq b{font-weight:500}
.callreq>span,.callreq div span{font-size:13px;color:var(--sage);line-height:1.5}
.callreq.sent{flex-direction:row;align-items:flex-start;gap:10px}
.callreq .dv-b{align-self:flex-start;margin-top:4px}
.cr-l{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.cr-l span{font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.cr-l input{font:inherit;font-size:14px;padding:9px 10px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink)}
.cr-l input:focus{outline:1.5px solid var(--brass);outline-offset:1px}
.prefs>div{flex:1}
.seg{display:inline-flex;margin:10px 0 8px;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.seg button{min-height:34px;padding:0 14px;font:500 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.seg button[aria-checked="true"]{background:var(--holly);color:var(--parch)}
.tgl{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);cursor:pointer;min-height:28px}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.tgl span{flex:none;width:34px;height:20px;border-radius:10px;background:var(--line);position:relative;transition:background .2s}
.tgl span::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.tgl input:checked+span{background:var(--brass)}.tgl input:checked+span::after{transform:translateX(14px)}
.tgl input:focus-visible+span{outline:1.5px solid var(--brass);outline-offset:2px}
.toast.ask .tx{border:0;color:var(--sage)}
.listen-btn svg{width:16px;height:16px}
.player{position:fixed;left:50%;bottom:calc(var(--clockh) + 12px);transform:translateX(-50%);z-index:31;display:flex;align-items:center;gap:12px;width:min(440px,calc(100vw - 24px));padding:10px 12px;background:var(--holly);color:var(--parch);border:1px solid rgba(200,165,102,.35);border-radius:2px;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.player[hidden]{display:none}
.pl-play{flex:none;width:38px;height:38px;border-radius:50%;background:var(--brassL);color:var(--holly);display:grid;place-items:center}
.pl-play svg{width:16px;height:16px;fill:currentColor}
.pl-play .i-pause{display:none}.player.on .i-pause{display:inline}.player.on .i-play{display:none}
.player.loading .pl-play{opacity:.6}
.pl-b{flex:1;display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center}
.pl-k{grid-column:1/-1;font:500 9.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brassL)}
.pl-track{height:24px;display:flex;align-items:center;cursor:pointer;position:relative}
.pl-track::before{content:"";position:absolute;left:0;right:0;height:2px;background:rgba(243,239,230,.2)}
.pl-track i{position:relative;height:2px;width:0;background:var(--brassL)}
.pl-t{font:500 11px/1 var(--sans);font-variant-numeric:tabular-nums;opacity:.8}
.pl-rate,.pl-x{flex:none;min-width:30px;height:30px;font:500 11px/1 var(--sans);color:var(--parch);border:1px solid rgba(243,239,230,.22);border-radius:2px}
.pl-x{font-size:16px;border:0}
.discreet .player .pl-k{filter:none}
.itin.today{margin-top:6px}
@media (max-width:480px){.topbar .who{gap:6px}.topbar .signout{font-size:9.5px;letter-spacing:.1em}.discreet::after{bottom:calc(var(--clockh) + 64px)}}
.callreq.sent div{display:flex;flex-direction:column;gap:3px}
@media (max-width:1560px) and (min-width:861px){.chapnav button{padding:10px 8px;letter-spacing:.1em}.chapnav button::after{left:8px;right:8px}.topbar .who{gap:10px}}
@media (max-width:1380px) and (min-width:861px){.topbar .crumb{display:none}}
/* v7: live team vehicles */
.veh{z-index:6}
.veh button{display:flex;align-items:center;gap:8px;background:var(--holly);color:var(--parch);border:1px solid rgba(200,165,102,.55);border-radius:999px;padding:4px 11px 4px 4px;box-shadow:0 6px 18px -6px rgba(21,32,25,.55);cursor:pointer;font:inherit}
.veh button:focus-visible{outline:2px solid var(--brassL);outline-offset:2px}
.veh .vd{position:relative;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#2C5A3C;color:var(--parch)}
.veh.principal .vd{background:var(--brass)}
.veh .vd svg{width:12px;height:12px;transition:transform .6s var(--ease)}
.veh:not(.moving) .vd svg{display:none}
.veh:not(.moving) .vd::after{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.veh[data-st="live"] .vd::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid #6FA17E;animation:vpulse 2.4s ease-out infinite}
.veh.principal[data-st="live"] .vd::before{border-color:var(--brassL)}
@keyframes vpulse{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.veh .vl{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.veh .vl b{font:500 11.5px/1.1 var(--sans);letter-spacing:.02em}
.veh .vl small{font:400 10.5px/1.2 var(--sans);color:rgba(243,239,230,.7)}
.veh[data-st="stale"] .vd{background:#7A6A3E}.veh[data-st="lost"] .vd{background:#5F6359}
.veh[data-st="lost"] button{opacity:.75}
#gpsChip{position:absolute;right:18px;bottom:calc(var(--clockh) + 18px);z-index:7;display:flex;align-items:center;gap:10px;background:rgba(250,247,241,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);padding:9px 14px 9px 12px;box-shadow:0 10px 30px -14px rgba(21,32,25,.45);cursor:pointer;font:inherit;color:var(--ink);text-align:left}
#gpsChip:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
#gpsChip i{width:9px;height:9px;border-radius:50%;background:var(--sage);flex:none}
#gpsChip[data-st="live"] i{background:#4E7A5A;box-shadow:0 0 0 0 rgba(78,122,90,.5);animation:cpulse 2s infinite}
#gpsChip[data-st="stale"] i{background:#B07A1F}
#gpsChip[data-st="err"] i{background:#9C3B2E}
@keyframes cpulse{0%{box-shadow:0 0 0 0 rgba(78,122,90,.5)}100%{box-shadow:0 0 0 9px rgba(78,122,90,0)}}
#gpsChip span{display:flex;flex-direction:column;line-height:1.15}
#gpsChip b{font:500 12.5px/1.2 var(--sans)}
#gpsChip small{font:400 11.5px/1.25 var(--sans);color:var(--sage)}
.vrow{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.vrow:first-child{border-top:0}
.vrow b{font:400 19px/1.2 var(--serif)}
.vrow small{display:block;color:var(--sage);font-size:12.5px;margin-top:2px}
.vrow p{margin:8px 0 6px;font-size:13.5px}
.vrow .vst{font-weight:500}
.vrow[data-st="live"] .vst{color:#2C5A3C}.vrow[data-st="stale"] .vst{color:#8A5E14}.vrow[data-st="lost"] .vst{color:var(--sage)}
.vlow{color:#9C3B2E}
.vdot{width:12px;height:12px;border-radius:50%;background:#2C5A3C;margin-top:7px}
.vdot.principal{background:var(--brass)}
.vnote{font-size:12.5px;color:var(--sage);margin-top:14px}
.discreet .veh .vl b{filter:blur(4px)}
@media (max-width:860px){#gpsChip{bottom:12px;right:12px;padding:7px 11px}.veh .vl small{display:none}}
.veh button{flex-direction:row-reverse;padding:4px 4px 4px 11px}
.veh .vl{text-align:right}
/* v7.1: trip reports */
.vacts{display:flex;gap:18px;flex-wrap:wrap}
#trip{position:fixed;top:var(--top);left:0;bottom:0;width:calc(var(--col) + 64px);overflow-y:auto;z-index:12;padding:24px 0 calc(var(--clockh) + 40px) 32px;display:none;scrollbar-width:thin}
body.tripmode #trip{display:block}
body.tripmode #story{opacity:0;pointer-events:none;transition:opacity .4s}
#trip .thead,#trip .tcard,#trip .tload,#trip .tempty{width:var(--col);background:rgba(250,247,241,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(222,215,201,.9);box-shadow:0 30px 80px -40px rgba(21,32,25,.45)}
#trip .thead{padding:18px 28px 20px;border-bottom:0}
.tback{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;margin:0 0 16px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);cursor:pointer}
.tback svg{width:16px;height:16px}.tback:hover{color:var(--ink)}
#trip .thead .eyebrow{margin-bottom:12px}
.tctl{display:flex;flex-direction:column;gap:12px}
.tsel{display:flex;flex-direction:column;gap:5px}
.tsel span,.tcustom span{font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.tsel select,.tcustom input{font:400 14px/1.2 var(--sans);color:var(--ink);background:var(--alab);border:1px solid var(--line);padding:9px 10px;border-radius:2px;width:100%}
.tpre{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.tpre button{background:transparent;border:0;border-left:1px solid var(--line);padding:9px 4px;font:500 12.5px/1 var(--sans);color:var(--sage);cursor:pointer}
.tpre button:first-child{border-left:0}
.tpre button[aria-pressed="true"]{background:var(--holly);color:var(--parch)}
.tcustom{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tcustom[hidden]{display:none}
.tcustom label{display:flex;flex-direction:column;gap:5px;min-width:0}
.tcustom input{min-width:0;box-sizing:border-box}
.tcustom .btn-sm{grid-column:1/-1}
.btn-sm{background:var(--holly);color:var(--parch);border:0;padding:11px 16px;font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.btn-sm:hover{background:var(--holly2)}
#trip .tcard{padding:28px 28px 26px;border-top:1px solid var(--line)}
.tdate{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.ttitle{font:400 34px/1.08 var(--serif);margin:0 0 10px;letter-spacing:-.01em}
.tveh{display:flex;align-items:center;gap:8px;color:var(--sage);font-size:13.5px;margin:0 0 22px}
.tveh .vdot{margin:0;width:10px;height:10px}
.tkpi{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tkpi div{padding:14px 10px 14px 0;border-left:1px solid var(--line);padding-left:12px}
.tkpi div:first-child{border-left:0;padding-left:0}
.tkpi span{display:block;font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:8px}
.tkpi b{font:400 21px/1.1 var(--serif)}
.tkpi small{font:400 12px/1 var(--sans);color:var(--sage)}
.tflags{margin:22px 0 6px;padding:14px 16px;background:#EFE7D6;border-left:2px solid var(--brass)}
.tflags.calm{background:#E7EDE6;border-left-color:#4E7A5A}
.tflags h3{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#7A5B1F;margin:0 0 10px}
.tf{display:grid;grid-template-columns:18px 1fr;gap:8px;margin:6px 0;font-size:13.5px;line-height:1.45}
.tf i{font-style:normal;color:var(--brass);text-align:center}
.tflags.calm .tf i{color:#4E7A5A}
.th3{font:400 21px/1.2 var(--serif);margin:28px 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.th3 small{font:400 12px/1 var(--sans);color:var(--sage)}
.tstops{border-top:1px solid var(--line)}
.tstop{border-bottom:1px solid var(--line)}
.tstop summary{list-style:none;display:grid;grid-template-columns:30px 1fr 16px;gap:12px;align-items:start;padding:14px 0;cursor:pointer}
.tstop summary::-webkit-details-marker{display:none}
.tstop summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.tn{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--holly);color:var(--parch);font:500 12px/1 var(--sans);margin-top:1px}
.tm b{display:block;font:400 17px/1.25 var(--serif)}
.tm small{display:block;color:var(--sage);font-size:12.5px;margin-top:3px}
.tm small strong{color:var(--ink);font-weight:500}
.ttags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tg{font:500 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;font-style:normal;padding:4px 7px;border:1px solid var(--line);color:var(--sage);border-radius:2px}
.tg.ok{border-color:#B9CDBE;color:#2C5A3C}.tg.new{border-color:#E2C998;color:#7A5B1F;background:#F6EEDC}.tg.off{border-color:#E4B8AC;color:#9C3B2E}.tg.park{background:var(--holly);color:var(--parch);border-color:var(--holly)}
.tchev{width:9px;height:9px;border-right:1.5px solid var(--sage);border-bottom:1.5px solid var(--sage);transform:rotate(45deg);margin-top:9px;transition:transform .3s}
.tstop[open] .tchev{transform:rotate(-135deg);margin-top:13px}
.tbody{padding:0 0 18px 42px;animation:tin .35s var(--ease)}
@keyframes tin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.taddr{font-size:13px;color:var(--sage);margin:0 0 12px}
.tblock{margin:0 0 14px}
.tblock h4{font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 7px}
.tblock p{margin:0 0 4px;font-size:14px;line-height:1.5}
.tsm{font-size:13px!important;color:#3B403A}
.tkind{font:500 10px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--sage);border:1px solid var(--line);padding:3px 6px;margin-left:6px;vertical-align:2px}
.tcp{background:var(--holly);color:var(--parch);padding:12px 14px}
.tcp h4{color:var(--brassL)}
.tnear{list-style:none;margin:0;padding:0}
.tnear li{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:5px 0;border-top:1px dashed var(--line)}
.tnear li:first-child{border-top:0}
.tnear small{color:var(--sage);white-space:nowrap}
.tfoot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.tsrc{font-size:11px;color:var(--sage);flex-basis:100%}
.tend{margin-top:22px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.tend p{font-size:11.5px;color:var(--sage);margin:0;line-height:1.5}
.tload,.tempty{padding:26px 28px;border-top:1px solid var(--line)}
.tload{display:flex;gap:16px;align-items:flex-start}
.tload b,.tempty b{display:block;font:400 19px/1.2 var(--serif);margin-bottom:6px}
.tload small,.tempty p{font-size:13px;color:var(--sage);line-height:1.5;margin:0}
.tspin{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brass);animation:tsp 1s linear infinite;flex:none;margin-top:2px}
@keyframes tsp{to{transform:rotate(360deg)}}
.tmk{width:26px;height:26px;border-radius:50%;background:var(--holly);color:var(--parch);border:2px solid var(--parch);font:500 12px/1 var(--sans);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px -4px rgba(21,32,25,.6);transition:box-shadow .25s,background .25s}
.tmk.new{background:var(--brass)}
.tmk.end{border-radius:3px}
.tmk.hi{box-shadow:0 0 0 4px rgba(200,165,102,.55),0 4px 12px -4px rgba(21,32,25,.6);z-index:3}
.discreet #trip .tname,.discreet #trip .taddr,.discreet #trip .ttitle{filter:blur(6px)}
@media (max-width:860px){
  #trip{left:0;right:0;width:auto;top:calc(var(--top) + var(--mapH));padding:0 0 calc(var(--clockh) + 24px);background:var(--parch);border-top:1px solid var(--line)}
  #trip .thead,#trip .tcard,#trip .tload,#trip .tempty{width:auto;border:0;box-shadow:none;backdrop-filter:none;background:var(--parch)}
  #trip .thead{padding:16px 20px;border-bottom:1px solid var(--line)}
  #trip .tcard{padding:22px 20px 24px}
  .ttitle{font-size:28px}
  .tkpi{grid-template-columns:1fr 1fr}
  .tkpi div:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .tkpi div:nth-child(4){border-top:1px solid var(--line)}
  .tbody{padding-left:0}
}
@media print{
  body.tripmode #mapwrap,body.tripmode .topbar,body.tripmode #story,body.tripmode #clock,body.tripmode #gpsChip,body.tripmode .thead,body.tripmode .tend .btn-sm{display:none!important}
  body.tripmode #trip{position:static;width:auto;padding:0;overflow:visible}
  body.tripmode #trip .tcard{width:auto;box-shadow:none;border:0;background:#fff}
  .tstop .tbody{display:block}
}
.tg.rout{border-color:#E4B8AC;color:#9C3B2E;background:#F7E6E0}
.tcp .tpat{margin-top:8px!important;padding-top:8px;border-top:1px solid rgba(243,239,230,.18);color:var(--brassL)}
/* v7.2 replay + convoy */
#trip .trp,#trip .tconv{margin:22px 0 4px}
#trip .trprow{display:flex;align-items:center;gap:14px;margin-top:12px}
#trip .trpbtn{flex:none;width:44px;height:44px;border-radius:50%;background:var(--holly);color:var(--parch);display:grid;place-items:center;transition:transform .2s var(--ease)}
#trip .trpbtn:hover{transform:scale(1.05)}#trip .trpbtn:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
#trip .trpbtn svg{width:18px;height:18px}#trip .trpbtn .pa{display:none}#trip .trp.on .trpbtn .pa{display:inline}#trip .trp.on .trpbtn .pl{display:none}
#trip .trpbar{position:relative;flex:1;min-width:0}
#trip .trpbar input{width:100%;accent-color:var(--holly);height:28px;margin:0;cursor:pointer}
#trip .trpticks{position:absolute;left:8px;right:8px;top:23px;height:6px;pointer-events:none}
#trip .trpticks i{position:absolute;width:2px;height:6px;background:var(--brass);border-radius:1px;transform:translateX(-1px)}
#trip .trpinfo{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:10px 0 0 58px;font-size:13px;color:var(--sage)}
#trip .trpinfo b{font:500 20px/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}
#trip .trpinfo .far{color:var(--red)}
#trip .trpspd{margin-left:auto;display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
#trip .trpspd button{font:500 11px/1 var(--sans);padding:7px 10px;color:var(--sage)}
#trip .trpspd button[aria-pressed=true]{background:var(--holly);color:var(--parch)}
.trpmk{width:26px;height:26px;border-radius:50%;background:var(--parch);border:2px solid var(--holly);box-shadow:0 0 0 6px rgba(21,32,25,.14),0 8px 18px -6px rgba(0,0,0,.4);display:grid;place-items:center}
.trpmk i{display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--holly);opacity:.35}
.trpmk.mv i{opacity:1}
#trip .tcv{border-top:1px solid var(--line);padding:14px 0 6px;margin-top:10px}
#trip .tcvh{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:14px}
#trip .tcvh span{font-size:12px}#trip .tcvh .ok{color:#3E6B4F}#trip .tcvh .far{color:var(--red)}
#trip .tcvs{width:100%;height:64px;margin-top:10px;display:block;background:linear-gradient(var(--alab),var(--parch));border-radius:6px}
#trip .tcvs .ln{fill:none;stroke:var(--holly);stroke-width:1.6;vector-effect:non-scaling-stroke}
#trip .tcvs .lim{stroke:var(--brass);stroke-dasharray:3 3;stroke-width:1;vector-effect:non-scaling-stroke}
#trip .tcvax{display:flex;justify-content:space-between;font-size:11px;color:var(--sage);margin-top:4px}
#trip .tcvl{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#trip .tcvl li{display:flex;flex-direction:column;gap:4px}#trip .tcvl span{font-size:11px;color:var(--sage);letter-spacing:.04em}#trip .tcvl b{font-weight:500;font-size:13px}
#trip .tcvsp{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px}
@media (max-width:860px){#trip .trpinfo{margin-left:0}#trip .tcvl{grid-template-columns:1fr 1fr}}
@media print{#trip .trp{display:none}}
body.tripmode .veh{opacity:.35;transition:opacity .3s}body.tripmode .veh:hover{opacity:1}
.maplibregl-marker.trpmk{z-index:4}.maplibregl-marker.tmk{z-index:3}
/* v7.4 answered open items */
.flag.ans{color:#2F5A41;background:rgba(95,122,110,.12);border-left-color:#5F7A6E}
.flag.ans s{color:var(--sage);text-decoration-color:rgba(95,99,89,.5)}
.flag .fa{display:block;color:var(--ink);margin-top:4px}.flag small{display:block;font-size:11px;color:var(--sage);margin-top:3px}
.flag.chk{color:#6b5320}
.openlist .ost{font-style:normal;margin-left:8px;padding:2px 6px;border:1px solid rgba(154,115,40,.4);border-radius:2px;color:var(--brass);letter-spacing:.1em}
.openlist .ost.ok{color:#2F5A41;border-color:rgba(95,122,110,.45)}
.openlist li.answered .ot{color:var(--sage)}
.openlist .oa{grid-column:1;display:block;font-size:14px;line-height:1.5;color:var(--ink);background:rgba(95,122,110,.1);border-left:2px solid #5F7A6E;padding:8px 12px;margin-top:6px}
.openlist .oa small{display:block;font-size:11px;color:var(--sage);margin-top:4px}
.openlist .oa.chk{background:none;border-left-color:var(--brassL);padding:2px 12px}
/* v8 audiences: client code hides staff-only parts */
body.aud-client #ack,body.aud-client .followbtn,body.no-alerts #bellBtn{display:none!important}
/* v8 debrief chapter */
.dsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0 0 22px;padding:1px 0 0 1px}
.dsum>div{background:var(--parch);padding:12px 14px;border:1px solid var(--line);margin:-1px 0 0 -1px}.dsum span{display:block;font:500 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}.dsum b{font:400 26px/1.15 var(--serif);color:var(--ink)}
.dlist{list-style:none;margin:0 0 22px;padding:0}
.dlist li{border-bottom:1px solid var(--line)}
.dlist button{display:grid;grid-template-columns:28px 1fr 18px;gap:12px;width:100%;text-align:left;padding:13px 0;align-items:start}
.dlist button:not([data-ref]){cursor:default}
.dlist .dn{font:400 13px/1.6 var(--serif);color:var(--brass)}
.dlist .db b{display:block;font:500 14px/1.4 var(--sans);color:var(--ink);margin-bottom:3px}.dlist .db span{font-size:13.5px;line-height:1.5;color:var(--sage)}
.dlist .og{align-self:center;color:var(--sage);transition:transform .3s var(--ease),color .3s}.dlist .og svg{width:16px;height:16px}
.dlist button[data-ref]:hover .og{transform:translateX(4px);color:var(--brass)}
.drec{margin:0 0 10px;padding:0;list-style:none}.drec li{position:relative;padding:7px 0 7px 22px;font-size:13.5px;line-height:1.5;border-bottom:1px dashed var(--line)}
.drec li::before{content:"";position:absolute;left:2px;top:13px;width:8px;height:1px;background:var(--brass)}
.drec.chk li::before{top:11px;width:10px;height:10px;border:1px solid var(--brass);background:none;border-radius:2px}
.dnote{font-size:11.5px;color:var(--sage);margin:6px 0 0;letter-spacing:.02em}
/* v9: ongoing programmes */
.today{margin:6px 0 22px;border:1px solid var(--line);border-radius:6px;background:rgba(250,247,241,.7);overflow:hidden}
.td-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid var(--line)}
.td-h span{font:500 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.td-h b{font:400 15px/1.2 var(--serif);color:var(--ink);text-align:right}
.odrow{display:grid;grid-template-columns:12px minmax(0,1fr) auto 14px;grid-template-areas:"d n k a" "d s k a";align-items:center;column-gap:12px;row-gap:3px;width:100%;padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);transition:background .25s}
.odrow:last-child{border-bottom:0}
.odrow:hover{background:rgba(200,165,102,.08)}
.odrow:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}
.odrow .oddot{grid-area:d;align-self:start;margin-top:5px}
.oddot{width:10px;height:10px;border-radius:50%;background:var(--vc);box-shadow:0 0 0 3px color-mix(in srgb,var(--vc) 22%,transparent)}
.odrow .odn{grid-area:n;display:flex;align-items:baseline;gap:8px;min-width:0}
.odrow .odn b{font:500 14px/1.2 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.odrow .odn small{font-size:12px;color:var(--sage);white-space:nowrap}
.odrow .ods{grid-area:s;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sage)}
.odrow .ods i{width:6px;height:6px;border-radius:50%;background:var(--sage)}
.odrow .ods[data-st="live"] i{background:#3F8A5A;box-shadow:0 0 0 3px rgba(63,138,90,.18)}
.odrow .ods[data-st="stale"] i{background:#B4832A}
.odrow .ods em{font-style:normal}
.odrow .odk{grid-area:k;text-align:right;display:flex;flex-direction:column;gap:3px}
.odrow .odk b{font:400 18px/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.odrow .odk small{font-size:11.5px;color:var(--sage);white-space:nowrap}
.odrow > svg{grid-area:a;width:14px;height:14px;color:var(--brass);opacity:.6}
.td-f{padding:10px 16px;font-size:12px;color:var(--sage);border-top:1px solid var(--line);background:rgba(243,239,230,.6)}
.td-f b{color:#8A3B2E;font-weight:500}
.td-f .xp-add{float:right;display:inline-flex;align-items:center;gap:5px;margin:-3px 0 -3px 10px;padding:3px 0;color:var(--ink);font-size:12px;font-weight:500;border-bottom:1px solid var(--line)}.td-f .xp-add svg{width:12px;height:12px}.td-f .xp-add:hover{border-color:var(--brass)}
.where-btn{background:var(--holly);color:var(--parch);border-color:var(--holly)}
.where-btn svg{width:14px;height:14px;margin-right:2px}
/* clock: one rolling day */
.dayctl{display:flex;align-items:center;gap:2px;margin-top:3px}
.dayctl button{width:22px;height:22px;display:grid;place-items:center;font:400 17px/1 var(--serif);color:var(--brassL);border-radius:2px}
.dayctl button:hover:not(:disabled){background:rgba(243,239,230,.1)}
.dayctl button:disabled{opacity:.25;cursor:default}
.dpick{position:relative;font:500 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--parch);padding:4px 6px;border:1px solid rgba(200,165,102,.4);border-radius:2px;cursor:pointer;white-space:nowrap}
.dpick input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.dpick input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.ongoing .readout .wx{display:none}
.ongoing .readout .day{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk.ov{background:var(--vc)!important;height:5px;border-radius:3px;opacity:.85}
.mk.ov.l0{top:12%}.mk.ov.l1{top:36%}.mk.ov.l2{top:60%}.mk.ov.l3{top:84%}
.mk.ov.act{opacity:1;box-shadow:0 0 0 2px rgba(243,239,230,.35)}
.ribbon .future{position:absolute;top:0;bottom:0;right:0;background:repeating-linear-gradient(135deg,rgba(243,239,230,.05) 0 4px,transparent 4px 9px);pointer-events:none}
.clock.loading .ribbon{opacity:.45;transition:opacity .3s}
.ongoing .veh button{border-color:var(--vc,rgba(200,165,102,.55))}
.veh.replay button{background:rgba(21,32,25,.82)}
.veh.ghost{opacity:.35}
/* history */
.hctl{display:inline-flex;border:1px solid var(--line);border-radius:3px;margin:4px 0 14px}
.hctl button{font:500 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:9px 13px;color:var(--sage)}
.hctl button[aria-pressed="true"]{background:var(--holly);color:var(--parch)}
.hcustom{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:-4px 0 16px}
.hcustom[hidden]{display:none}
.hcustom label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--sage)}
.hcustom input{font:inherit;font-size:13px;padding:7px 8px;border:1px solid var(--line);border-radius:3px;background:var(--alab);color:var(--ink)}
#histBox{display:flex;flex-direction:column;gap:12px;transition:opacity .3s}
#histBox.busy{opacity:.5}
.hveh{border:1px solid var(--line);border-radius:6px;padding:14px 16px;background:rgba(250,247,241,.7)}
.hveh.sk{height:150px;background:linear-gradient(90deg,rgba(222,215,201,.25),rgba(222,215,201,.55),rgba(222,215,201,.25));background-size:200% 100%;animation:sk 1.6s infinite linear}
.hveh.sk i{display:none}
@keyframes sk{to{background-position:-200% 0}}
.hveh header{display:flex;align-items:baseline;gap:9px;margin-bottom:12px}
.hveh header .oddot{align-self:center}
.hveh header b{font:500 14px/1 var(--sans);color:var(--ink)}
.hveh header small{font-size:12px;color:var(--sage)}
.hstats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}
.hstats div{display:flex;flex-direction:column;gap:4px;min-width:0}
.hstats b{font:400 17px/1.05 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.hstats b small{font:400 11px var(--sans);color:var(--sage)}
.hstats span{font:500 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.hbars{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;height:64px;align-items:end;margin-bottom:6px}
.hbars button{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;padding:0}
.hbars i{display:block;width:100%;max-width:26px;background:var(--vc);opacity:.55;border-radius:2px 2px 0 0;transition:opacity .2s}
.hbars button:hover i,.hbars button.on i{opacity:1}
.hbars button.on span{color:var(--ink);font-weight:600}
.hbars span{font:500 9px/1 var(--sans);color:var(--sage);height:9px}
.hveh .link{margin-top:6px}
/* places */
.plist{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-bottom:22px}
.prow{display:grid;grid-template-columns:12px 1fr 14px;gap:12px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);text-align:left}
.prow:hover{background:rgba(200,165,102,.07)}
.prow .pdot{width:9px;height:9px;border-radius:50%;background:var(--holly2);box-shadow:0 0 0 3px rgba(30,43,35,.12)}
.prow .pdot.home{background:var(--brass)}
.prow .pn{display:flex;flex-direction:column;gap:3px}
.prow b{font:500 14px/1.2 var(--sans);color:var(--ink)}
.prow small{font-size:12px;color:var(--sage)}
.prow > svg{width:14px;height:14px;color:var(--brass);opacity:.6}
.rules{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.rules div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.rules dt{color:var(--ink);font-weight:500}
.rules dd{margin:0;color:var(--sage)}
@media (max-width:860px){
  .hstats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}
  .odrow{padding:11px 13px;column-gap:10px}
  .odrow .odn small{display:none}
  .dayctl{margin-top:2px}.dpick{padding:3px 4px;letter-spacing:.06em}
  .ongoing .readout .day{display:none}
  .rules div{grid-template-columns:1fr;gap:3px}
}
#printArea{display:none}
@media print{
  body.printing > *:not(#printArea){display:none!important}
  body.printing #printArea{display:block;font:11pt/1.4 var(--sans);color:#111}
  #printArea header{border-bottom:1px solid #999;margin-bottom:14pt;padding-bottom:8pt}
  #printArea header p{font-size:9pt;letter-spacing:.1em;text-transform:uppercase;color:#555;margin:0}
  #printArea h1{font:400 22pt/1.1 var(--serif);margin:4pt 0}
  #printArea h2{font:500 12pt var(--sans);margin:14pt 0 6pt}#printArea h2 small{color:#666;font-weight:400}
  #printArea table{width:100%;border-collapse:collapse;font-size:9.5pt;break-inside:avoid}
  #printArea td{padding:3pt 6pt;border-bottom:.5pt solid #ccc;text-align:right}#printArea td:first-child{text-align:left}
  #printArea thead td{font-weight:600;color:#444}
  #printArea tr.tot td{font-weight:600;border-top:1pt solid #333}
  #printArea footer{margin-top:16pt;font-size:8.5pt;color:#555}
}
/* v9: trip report, along the way */
.talong{margin:0 0 0 13px;border-left:1px dashed var(--line);padding:0 0 0 18px}
.talong summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 0;color:var(--sage)}
.talong summary::-webkit-details-marker{display:none}
.talong summary b{font:500 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-right:8px}
.talong summary small{font-size:12px}
.talong summary::after{content:"+";margin-left:auto;font:400 16px/1 var(--serif);color:var(--brass)}
.talong[open] summary::after{content:"–"}
.talong ol{list-style:none;margin:0 0 10px;padding:0}
.tal-r{display:grid;grid-template-columns:16px 42px 1fr;gap:8px;align-items:baseline;width:100%;text-align:left;padding:6px 4px;border-radius:3px;font-size:13px;color:var(--ink)}
.tal-r:hover{background:rgba(200,165,102,.1)}
.tal-r i{font-style:normal;color:var(--brass);text-align:center}
.tal-r time{font-variant-numeric:tabular-nums;color:var(--sage);font-size:12px}
.tal-r.v100 span,.tal-r.top span{color:#8A3B2E}.tal-r.gap span{color:#7A5B1F}.tal-r.night i{color:#3E4F6B}
.tg.live{border-color:#B9CDBE;color:#fff;background:#3F8A5A}
.alpin{width:14px;height:14px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 4px rgba(200,165,102,.3),0 0 0 1px #fff inset}
.trpd{position:absolute;top:-15px;transform:translateX(-50%);font:500 9px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--sage);white-space:nowrap}
.trpd::after{content:"";position:absolute;left:50%;top:12px;width:1px;height:10px;background:var(--line)}
@media (max-width:860px){
  .ongoing .readout{min-width:112px}
  .dayctl{gap:0}.dayctl button{width:20px;height:22px;font-size:16px}
  .dpick{font-size:9px;letter-spacing:.05em;padding:4px 5px}
}

/* v10.2 "Also in the city" */
.more-list{display:flex;flex-direction:column}
.more-i{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.more-i:first-child{border-top:0;padding-top:2px}
.more-w{font:500 10px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);padding-top:3px}
.more-i b{font:400 16px/1.3 var(--serif);display:block}
.more-i p{margin:4px 0 0;font-size:13.5px;line-height:1.55}
.more-n{font-size:11.5px;color:var(--sage);margin:10px 0 0;line-height:1.5}
@media (max-width:520px){.more-i{grid-template-columns:1fr;gap:4px}}
/* v11.1 automatic assessment: background notes and what was checked */
.sweep{margin:18px 0 6px;border-top:1px solid var(--line,#DED7C9);padding-top:12px}
.sweep summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:4px}
.sweep summary::-webkit-details-marker{display:none}
.sweep summary span{font:500 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.sweep summary span::after{content:" +";color:var(--brass,#9A7328)}
.sweep[open] summary span::after{content:" \2212"}
.sweep summary small{font-size:12.5px;line-height:1.5;color:var(--sage)}
.sweep[open] summary{margin-bottom:12px}
.sweep-f{font-size:12px;line-height:1.5;color:var(--sage);margin:8px 0 0}
/* v11.1 road check */
.rc{margin:0 0 18px}
.rc-h{font:500 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0 0 8px}
.rc-v{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 8px;font-size:14px}
.rc-v i{width:8px;height:8px;border-radius:50%;background:#6E8B6A;display:inline-block;align-self:center}
.rc-v.rc-note i{background:#B0802F}.rc-v.rc-warn i{background:#B5523B}
.rc-v b{font-weight:600}.rc-v span{color:var(--sage);font-size:13px}
.rc-l{list-style:none;margin:0 0 6px;padding:0}
.rc-l li{padding:7px 0 7px 14px;border-left:2px solid var(--line,#DED7C9);margin:0 0 6px;font-size:13.5px;line-height:1.45}
.rc-l li.warn{border-left-color:#B5523B}.rc-l li.note{border-left-color:#C8A566}
.rc-l li b{display:block;font-weight:500}.rc-l li span{display:block;color:var(--sage);font-size:12.5px}
.rc-l li .link{display:block;margin-top:4px;font-size:12.5px}
.rc-more summary{cursor:pointer;font-size:12px;color:var(--brass,#9A7328);margin:4px 0}
.rc-src{font-size:12px;line-height:1.5;color:var(--sage);margin:6px 0 0}

/* v12.3 check a drive (team) */
.dchk-a{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:22px 0 4px}.dchk-a span{font-size:12.5px;color:var(--sage)}
.dc-lede{font-size:13.5px;line-height:1.5;color:var(--sage);margin:0 0 18px}
.dc-f{display:block;margin:0 0 12px}.dc-f>span{display:block;font:500 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0 0 6px}
.dc-f input{width:100%;box-sizing:border-box;font:400 15px/1.3 var(--sans);padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:transparent;color:inherit;min-height:44px}
.dc-f input:focus{outline:2px solid rgba(200,165,102,.55);outline-offset:1px}
.dc-s{position:relative}.dc-r{position:absolute;left:0;right:0;top:100%;z-index:3;background:var(--alab);border:1px solid var(--line);border-top:0;display:none;box-shadow:0 18px 40px -20px rgba(21,32,25,.45)}
.dc-r.on{display:block}.dc-r button{display:block;width:100%;text-align:left;padding:10px 12px;font-size:13.5px;border-top:1px solid var(--line);background:none;color:inherit;min-height:44px}
.dc-r button:hover,.dc-r button:focus{background:rgba(200,165,102,.12)}.dc-r small{display:block;color:var(--sage);font-size:11.5px;margin-top:2px}
.dc-b{margin:16px 0 0}.dc-res{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.dc-km{font-size:12.5px;color:var(--sage);margin:0}
.dc-note{font-size:12px;color:var(--sage);margin:6px 0 0;line-height:1.45}.dc-err{color:#9b3b1f;font-size:13.5px;margin:16px 0 0}
.dc-wait{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--sage);margin:18px 0 0}
.dc-wait i{width:8px;height:8px;border-radius:50%;background:var(--brass);animation:dcp 1.2s ease-in-out infinite}
@keyframes dcp{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.dc-wait i{animation:none}}
/* v12.6 drive check: ticks per source while it runs */
.dc-prog{margin:22px 0 0;border-top:1px solid var(--line);padding-top:16px}
.dc-pl{font:500 10px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:0 0 10px}
.dc-steps{list-style:none;margin:0;padding:0}
.dc-st{display:grid;grid-template-columns:22px 1fr;column-gap:10px;align-items:start;padding:7px 0;border-bottom:1px solid rgba(21,32,25,.06);font-size:13.5px;line-height:1.35;transition:color .3s}
.dc-st i{width:16px;height:16px;margin-top:1px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;box-sizing:border-box;transition:background .3s,border-color .3s}
.dc-st i svg{width:11px;height:11px}.dc-st i svg path{stroke-width:2.6}
.dc-st small{grid-column:2;font-size:12px;color:var(--sage);margin-top:2px}
.dc-st.wait{color:rgba(21,32,25,.42)}
.dc-st.run i{border-color:var(--brass);border-top-color:transparent;animation:dcspin .9s linear infinite}
.dc-st.done i{background:#2f5d46;border-color:#2f5d46;color:#fff}
.dc-st.fail i{border-style:dashed;border-color:#9b3b1f}.dc-st.fail small{color:#9b3b1f}
.dc-st.skip{color:rgba(21,32,25,.42)}
@keyframes dcspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.dc-st.run i{animation:none;border-top-color:var(--brass)}}
.dc-done,.dc-srcs{margin:14px 0 0;border-top:1px solid var(--line);padding-top:10px}
.dc-done summary,.dc-srcs summary{cursor:pointer;font-size:12.5px;color:var(--sage);min-height:32px;display:flex;align-items:center}
.dc-srcs p{font-size:12px;line-height:1.55;color:var(--sage);margin:6px 0 0}
/* v12.7 drive check result */
.dc-res{margin-top:22px;border-top:0;padding-top:0}
.dc-ey{font:500 10px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin:0 0 8px}
.dc-sec{margin:22px 0 10px}
.dc-v{padding:18px 18px 16px;border-radius:3px;background:rgba(47,93,70,.07);border-left:3px solid #2f5d46}
.dc-v.note{background:rgba(192,138,46,.09);border-left-color:var(--amber)}
.dc-v.warn{background:rgba(181,82,59,.08);border-left-color:var(--red)}
.dc-vt{font:400 26px/1.15 var(--serif);margin:0 0 16px;color:var(--ink)}
.dc-tl{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.dc-tl b{display:block;font:500 19px/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.dc-tl small{display:block;font-size:11px;color:var(--sage);margin-top:4px;white-space:nowrap}
.dc-tl>div:last-child{text-align:right}
.dc-ln{position:relative;height:18px;display:flex;align-items:center;justify-content:center}
.dc-ln:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px dashed rgba(29,35,32,.28)}
.dc-ln span{position:relative;background:var(--alab);padding:2px 8px;font-size:11px;color:var(--sage);white-space:nowrap;border-radius:10px}
.dc-v .dc-ln span{background:#f6f1e6}
.dc-know{list-style:none;margin:0;padding:0}
.dc-know>li{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.dc-know>li:first-child{border-top:0;padding-top:2px}
.dc-know>li>i{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--amber)}
.dc-know>li.warn>i{background:var(--red)}
.dc-know b{display:block;font-weight:500;font-size:14.5px;line-height:1.35}
.dc-know span{display:block;font-size:13px;line-height:1.45;color:var(--sage);margin-top:3px}
.dc-lk{list-style:none;margin:8px 0 0;padding:0}
.dc-lk li{padding:6px 0 0}.dc-lk a{font-size:13px;line-height:1.4;color:var(--ink);text-decoration:underline;text-decoration-color:rgba(154,115,40,.45);text-underline-offset:3px}
.dc-lk small{display:block;font-size:11px;color:var(--sage);margin-top:2px}
.dc-clear{font-size:13.5px;color:#2f5d46;margin:18px 0 0}
.dc-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dc-tile{display:grid;grid-template-columns:18px 1fr;column-gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.45)}
.dc-tile i{width:14px;height:14px;border-radius:50%;margin-top:1px;box-sizing:border-box;display:grid;place-items:center;background:#2f5d46;color:#fff}
.dc-tile i svg{width:10px;height:10px}.dc-tile i svg path{stroke-width:2.6}
.dc-tile.note i{background:var(--amber)}.dc-tile.warn i{background:var(--red)}
.dc-tile.fail i{background:none;border:1.5px dashed var(--red)}
.dc-tile span{font-size:12.5px;line-height:1.3;font-weight:500}
.dc-tile small{grid-column:2;font-size:11.5px;line-height:1.35;color:var(--sage);margin-top:2px}
.dc-tile.fail small{color:var(--red)}
@media (max-width:380px){.dc-tiles{grid-template-columns:1fr}}
.dc-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}
.dc-save{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:2px;background:none;color:var(--ink);font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.dc-save svg{width:14px;height:14px}.dc-save:hover{background:rgba(29,35,32,.05)}
.dc-srcs p{margin:8px 0 0}
/* v12.7 play the drive */
.dcp-dot{width:16px;height:16px;border-radius:50%;background:var(--brass);border:2.5px solid #fff;box-shadow:0 0 0 6px rgba(154,115,40,.25),0 4px 14px rgba(0,0,0,.35)}
.dcp-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--clockh) + 18px);z-index:60;display:flex;align-items:center;gap:14px;width:min(520px,calc(100vw - 28px));box-sizing:border-box;padding:12px 16px 12px 12px;background:var(--holly);color:#F3EFE6;border-radius:4px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6)}
.dcp-x{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(243,239,230,.3);background:none;color:inherit;font-size:20px;line-height:1;cursor:pointer}
.dcp-x:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.dcp-m{flex:1;min-width:0}.dcp-m b{display:block;font:400 15px/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcp-p{height:3px;background:rgba(243,239,230,.18);margin:8px 0 6px;border-radius:2px;overflow:hidden}.dcp-p i{display:block;height:100%;width:0;background:#C8A566}
.dcp-m small{font-size:11.5px;color:rgba(243,239,230,.7);font-variant-numeric:tabular-nums}
.dc-acts .followbtn{margin:0;min-height:44px;padding:0 16px}
/* v12.7 Check a drive in the top bar (team only) */
.drivebtn{display:flex;align-items:center;gap:8px;white-space:nowrap;flex:none;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--parch);padding:7px 12px;border:1px solid rgba(243,239,230,.22);border-radius:2px;transition:border-color .3s}
.drivebtn:hover,.drivebtn:focus-visible{border-color:var(--brassL)}.drivebtn svg{width:16px;height:16px}
.drivebtn[hidden]{display:none}
.drivebtn span{display:none}.drivebtn{padding:8px}
/* v12.9 hand-over to Waze and Google Maps */
.dc-hand{margin:16px 0 0}
.dc-hb{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dc-nav{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid var(--ink);border-radius:3px;color:var(--ink);text-decoration:none;background:rgba(255,255,255,.5);transition:background .2s}
.dc-nav:hover{background:rgba(29,35,32,.05)}.dc-nav:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.dc-nav svg{flex:none;width:22px;height:22px}
.dc-nav b{display:block;font-weight:500;font-size:14px;line-height:1.2}
.dc-nav small{display:block;font-size:11px;line-height:1.3;color:var(--sage);margin-top:2px}
.dc-hn{font-size:11.5px;line-height:1.45;color:var(--sage);margin:8px 0 0}
/* v12.9 plan B and along the way */
.dc-pb{margin:18px 0 0;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:3px;background:rgba(255,255,255,.5)}
.dc-pb.ok{border-left-color:#2f5d46}.dc-pb.none{border-left-color:var(--amber)}
.dc-pbt{font:400 19px/1.25 var(--serif);margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.dc-pbt span{font:500 12px/1 var(--sans);color:var(--sage);font-variant-numeric:tabular-nums}
.dc-pbd{font-size:13px;line-height:1.45;color:var(--sage);margin:6px 0 0}
.dc-pba{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px}.dc-pba .link{margin:0}
.dc-along .dc-ag{margin:14px 0 4px}
.dc-al{list-style:none;margin:0;padding:0}
.dc-al li{padding:7px 0;border-top:1px solid var(--line)}.dc-al li:first-child{border-top:0}
.dc-al a{color:var(--ink);text-decoration:none}.dc-al a:hover b{text-decoration:underline}
.dc-al b{font-weight:500;font-size:13px}.dc-al small{display:block;font-size:11.5px;color:var(--sage);margin-top:2px}
/* v12.10 hand-over in steps, codes for the phone, plan B in full */
.dc-hb{grid-template-columns:1fr 1fr}
.dc-leg{display:flex;align-items:stretch;gap:6px;min-width:0}
.dc-leg .dc-nav{flex:1;min-width:0}
.dc-legs{display:grid;gap:6px;margin-bottom:6px}
.dc-legs+.dc-leg{margin-top:2px}
.dc-legn{flex:none;width:22px;display:grid;place-items:center;font:500 12px/1 var(--sans);color:var(--sage);font-variant-numeric:tabular-nums}
.dc-qrb{flex:none;width:44px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.5);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.dc-qrb svg{width:18px;height:18px}.dc-qrb:hover{border-color:var(--ink)}.dc-qrb:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.dc-qr{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:center;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:3px;background:#fff}
.dc-qr svg{width:132px;height:132px;display:block}
.dc-qr p{margin:0;font-size:12.5px;line-height:1.45;color:var(--sage)}.dc-qr p b{display:block;color:var(--ink);font-weight:500;font-size:14px;margin-bottom:4px}
.dc-qr .dc-qrx{grid-column:2;justify-self:start;margin:0}
.dc-pbtime{font-size:13px;margin:6px 0 0;color:var(--ink)}.dc-pbtime b{font-weight:500;font-variant-numeric:tabular-nums}
.dc-useb{margin:12px 0 0;min-height:44px;padding:0 16px}
.dc-ban{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 14px;background:var(--holly);color:#F3EFE6;border-radius:3px}
.dc-ban p{margin:0;font-size:12px;line-height:1.4;color:rgba(243,239,230,.75)}.dc-ban b{display:block;font:400 16px/1.25 var(--serif);color:#F3EFE6}
.dc-ban .link{color:#E3C98F;margin:0;white-space:nowrap}
@media (max-width:420px){.dc-hb{grid-template-columns:1fr}}
/* v12.10 tiles open their detail */
.dc-tile{display:block;padding:0}
.dc-tile>button{position:relative;display:grid;grid-template-columns:18px 1fr;column-gap:8px;width:100%;height:100%;padding:9px 24px 9px 10px;text-align:left;background:none;border:0;color:inherit;font:inherit;cursor:pointer;border-radius:3px}
.dc-tile>button:hover{background:rgba(29,35,32,.04)}
.dc-tile>button:focus-visible{outline:2px solid var(--brass);outline-offset:1px}
.dc-tile>button em{position:absolute;right:8px;top:8px;font:400 15px/1 var(--sans);font-style:normal;color:var(--sage);transition:transform .2s}
.dc-tile>button[aria-expanded="true"]{background:rgba(29,35,32,.05)}
.dc-tile>button[aria-expanded="true"] em{transform:rotate(45deg)}
.dc-tile:has(>button[aria-expanded="true"]){border-color:var(--ink)}
.dc-tdet{grid-column:1/-1;padding:12px 14px;border:1px solid var(--ink);border-radius:3px;background:#fff;animation:dcIn .2s var(--ease)}
@keyframes dcIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dc-tdet{animation:none}}
.dc-tdh{margin:0 0 8px;font-size:12.5px;line-height:1.45;color:var(--sage)}
.dc-tdh b{display:block;font-weight:500;font-size:13.5px;color:var(--ink);margin-bottom:2px}
.dc-tdh.warn b{color:var(--red)}
.dc-tdx{font-size:12.5px;line-height:1.45;margin:6px 0}
.dc-tds{font-size:11px;color:var(--sage);margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.dc-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:12.5px}
.dc-dl dt{color:var(--sage)}.dc-dl dd{margin:0;font-variant-numeric:tabular-nums}
.dc-tl2{list-style:none;margin:6px 0 0;padding:0}
.dc-tl2 li{padding:6px 0;border-top:1px solid var(--line);font-size:12.5px;line-height:1.4}.dc-tl2 li:first-child{border-top:0}
.dc-tl2 a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(154,115,40,.45);text-underline-offset:3px}
.dc-tl2 small{display:block;font-size:11px;color:var(--sage);margin-top:2px}
.dc-tdet .link{margin:4px 0 0}
.dc-hb:has(.dc-qrb){grid-template-columns:1fr}
/* v12.11 safe points during Play the drive, and from the Along the way list */
.dcp-poi{display:flex;align-items:center;gap:6px;pointer-events:none;transition:opacity .3s}
.dcp-poi i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11px/1 var(--sans);font-style:normal;color:#fff;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.dcp-poi.hospital i,.dcp-next i.hospital{background:#B5523B}.dcp-poi.police i,.dcp-next i.police{background:#3d5a80}.dcp-poi.fuel i,.dcp-next i.fuel{background:#9A7328}
.dcp-poi span{display:none;background:rgba(29,35,32,.92);color:#F3EFE6;padding:5px 9px;border-radius:3px;max-width:220px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.dcp-poi span b{display:block;font:500 12px/1.25 var(--sans)}.dcp-poi span small{display:block;font-size:10.5px;color:rgba(243,239,230,.7);margin-top:1px}
.dcp-poi.lab span{display:block;animation:dcIn .25s var(--ease)}
.dcp-poi.lab{z-index:2}
.dcp-poi.near i{width:26px;height:26px;font-size:12px}
.dcp-poi.past{opacity:.35}
.dcp-next{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:11.5px;color:rgba(243,239,230,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcp-next i{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;font:600 9px/1 var(--sans);font-style:normal;color:#fff}
.dc-al li{position:relative;padding-right:40px}
.dc-alpin{position:absolute;right:0;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.dc-alpin svg{width:15px;height:15px}.dc-alpin:hover,.dc-alpin.on{border-color:var(--ink);background:rgba(29,35,32,.05)}
.dc-alpin:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.dc-flymk{display:flex;align-items:center;gap:8px;pointer-events:none}
.dc-flymk i{flex:none;width:18px;height:18px;border-radius:50%;background:var(--brass);border:3px solid #fff;box-shadow:0 0 0 6px rgba(154,115,40,.25)}
.dc-flymk span{background:rgba(29,35,32,.92);color:#F3EFE6;padding:6px 10px;border-radius:3px;font:500 12px/1.3 var(--sans);max-width:230px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.dc-flymk small{display:block;font-weight:400;font-size:10.5px;color:rgba(243,239,230,.7)}
@media (prefers-reduced-motion:reduce){.dcp-poi.lab span{animation:none}}
.dc-back{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:22px;background:var(--holly);color:#F3EFE6;font:500 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 18px rgba(0,0,0,.25);cursor:pointer;white-space:nowrap}
.dc-back svg{width:14px;height:14px;transform:rotate(180deg)}
/* ---------- v13 ops room ---------- */
.opsbtn[aria-pressed="true"]{border-color:var(--brassL);color:var(--brassL)}
body.ops #story,body.ops .chapnav,body.ops #clock,body.ops #player,body.ops #gpsChip{display:none!important}
#ops{position:absolute;top:calc(var(--top) + 14px);left:14px;bottom:14px;width:430px;z-index:12;overflow-y:auto;background:var(--alab);border:1px solid var(--line);border-radius:3px;box-shadow:0 24px 60px -30px rgba(21,32,25,.6);color:var(--ink);scrollbar-width:thin}
.ops-load{padding:24px}
.ops-hd{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 14px;background:var(--holly);color:var(--parch)}
.ops-hd .eyebrow{display:flex;align-items:center;gap:8px;color:var(--brassL);margin:0 0 6px}
.ops-hd h2{font:400 22px/1.15 var(--serif);margin:0 0 4px}
.ops-hd small{font-size:11px;color:rgba(243,239,230,.65)}
.ops-live{width:7px;height:7px;border-radius:50%;background:#6FBF8B;box-shadow:0 0 0 0 rgba(111,191,139,.6);animation:opsPulse 2s infinite}
@keyframes opsPulse{0%{box-shadow:0 0 0 0 rgba(111,191,139,.55)}70%{box-shadow:0 0 0 8px rgba(111,191,139,0)}100%{box-shadow:0 0 0 0 rgba(111,191,139,0)}}
.ops-x{flex:none;width:34px;height:34px;border:1px solid rgba(243,239,230,.25);border-radius:3px;background:none;color:var(--parch);cursor:pointer;display:grid;place-items:center}
.ops-x svg{width:14px;height:14px}
.ops-simbar{margin:0;padding:8px 18px;background:#E9DDC2;color:#5a4314;font:500 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.ops-h{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin:16px 0 8px}
.ops-att{padding:4px 18px 14px;background:#F7E9E4;border-bottom:1px solid #E7CFC6}
.ops-att .ops-h{color:var(--red)}
.ops-at{background:#fff;border:1px solid #E2C3B8;border-left:3px solid var(--red);border-radius:3px;padding:10px 12px;margin-bottom:8px}
.ops-at.planb{border-left-color:#2f5d46}
.ops-at b{display:block;font-size:13.5px;font-weight:500}.ops-at small{display:block;font-size:11px;color:var(--sage);margin-top:2px}
.ops-at input{width:100%;margin:8px 0;padding:8px 10px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:12.5px;background:var(--alab)}
.ops-ab{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ops-ab button[type=submit]{min-height:36px;padding:0 12px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--parch);font:500 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ops-ab button[type=submit]+button[type=submit]{background:none;color:var(--ink)}
.ops-ab .link{margin:0 0 0 auto}
.ops-vs{padding:0 18px}
.ops-v{padding:16px 0 14px;border-bottom:1px solid var(--line)}
.ops-vh{display:flex;align-items:flex-start;gap:10px}
.ops-vh>div{flex:1;min-width:0}.ops-vh b{display:block;font-size:15px;font-weight:500}.ops-vh small{font-size:11px;color:var(--sage)}
.ops-vh .vdot{flex:none;margin-top:5px}
.ops-pill{flex:none;padding:5px 9px;border-radius:12px;font:500 10.5px/1 var(--sans);letter-spacing:.04em;background:#ECE7DC;color:var(--sage);white-space:nowrap}
.ops-pill.ok{background:#E3EDE6;color:#2C5A3C}.ops-pill.green{background:#DCEAE1;color:#2f5d46}.ops-pill.red{background:#F4DDD6;color:#8E3B27}
.ops-dr{font:400 16px/1.3 var(--serif);margin:12px 0 8px}
.ops-eta{display:flex;align-items:flex-end;gap:14px}
.ops-eta small{display:block;font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:4px}
.ops-eta b{font:400 34px/1 var(--serif);font-variant-numeric:tabular-nums}
.ops-eta p{margin:0 0 4px;font-size:12.5px;color:var(--sage)}.ops-eta .late{color:var(--red);font-weight:500}
.ops-bar{position:relative;height:6px;margin:14px 0 6px;border-radius:3px;background:#E6E0D3}
.ops-bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--brass)}
.ops-bar>span{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.ops-tk{position:absolute;top:-3px;width:2px;height:12px;margin-left:-1px;background:var(--red)}
.ops-km{font-size:11.5px;color:var(--sage);margin:0}
.ops-l{list-style:none;margin:0;padding:0}
.ops-l li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.ops-l li:first-child{border-top:0}
.ops-l li>i{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 10.5px/1 var(--sans);font-style:normal;color:#fff;background:var(--brass)}
.ops-l li.ford>i,.ops-l li.alert>i{background:var(--red)}.ops-l li.hospital>i,.ops-l i.hospital{background:#B5523B}.ops-l li.police>i,.ops-l i.police{background:#3d5a80}
.ops-l li>span{flex:1;min-width:0}.ops-l b{display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-l small{display:block;font-size:11px;color:var(--sage)}
.ops-l em{flex:none;font-style:normal;font-size:12px;font-variant-numeric:tabular-nums}
.ops-wz{flex:none;display:flex;align-items:center;gap:5px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:3px;color:var(--ink);text-decoration:none;font:500 11px/1 var(--sans)}
.ops-wz svg{width:15px;height:15px}.ops-wz:hover{border-color:var(--ink)}
.ops-sel{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-size:11px;color:var(--sage)}
.ops-sel select{flex:1;min-width:0;min-height:34px;padding:0 8px;border:1px solid var(--line);border-radius:3px;background:#fff;font:inherit;font-size:12.5px;color:var(--ink)}
.ops-acts{display:flex;gap:16px;margin-top:8px}.ops-acts .link{margin:0}
.ops-acts .link[aria-pressed="true"]{color:var(--brass)}
.ops-log{padding:4px 18px 8px}
.ops-add{display:flex;gap:6px;margin-bottom:8px}
.ops-add input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:12.5px;background:#fff}
.ops-add button{padding:0 14px;border:1px solid var(--ink);border-radius:3px;background:none;font:500 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ops-log ul{list-style:none;margin:0;padding:0}
.ops-log li{display:flex;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:12.5px}
.ops-log time{flex:none;width:40px;font-variant-numeric:tabular-nums;color:var(--sage)}
.ops-log b{font-weight:400}.ops-log li.stop b,.ops-log li.off b,.ops-log li.signal b{color:#8E3B27;font-weight:500}
.ops-log small{display:block;font-size:11px;color:var(--sage)}.ops-log small.ack{color:#2C5A3C}.ops-log small.open{color:var(--red)}
.ops-sim{margin:6px 18px 0;padding:10px 12px;border:1px dashed var(--line);border-radius:3px;font-size:12.5px}
.ops-sim summary{cursor:pointer;font-weight:500}.ops-sim p{color:var(--sage);margin:8px 0}
.ops-n{font-size:11px;color:var(--sage);padding:10px 18px 18px;margin:0;line-height:1.5}
.ops-empty{padding:16px 0;color:var(--sage)}
@media (max-width:1099px){.opsbtn{display:none!important}}
@media (prefers-reduced-motion:reduce){.ops-live{animation:none}}
.al-orig{margin:6px 0 10px;font-size:12px;color:var(--sage)}.al-orig summary{cursor:pointer;font:500 10.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.al-orig p{margin:6px 0 0;line-height:1.5}.al-orig b{font-weight:500;color:var(--ink)}

/* ---------------- v14 roadbook ---------------- */
#rb{position:fixed;z-index:38;top:calc(var(--top) + 14px);right:14px;bottom:calc(var(--clockh) + 14px);width:560px;display:flex;flex-direction:column;background:var(--alab);border:1px solid var(--line);border-radius:4px;box-shadow:0 30px 80px -30px rgba(21,32,25,.55);transform:translateX(calc(100% + 30px));transition:transform .55s var(--ease);overflow:hidden}
#rb.open{transform:none}
.rb-hd{padding:22px 26px 14px;border-bottom:1px solid var(--line);background:var(--alab)}
.rb-top{display:flex;align-items:center;justify-content:space-between}
.rb-top .eyebrow{margin:0}
.rb-tools{display:flex;gap:4px}
.rb-ic{width:36px;height:36px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:none;color:var(--ink);cursor:pointer}
.rb-ic:hover,.rb-ic:focus-visible{border-color:var(--line);background:rgba(21,32,25,.04)}
.rb-ic svg{width:19px;height:19px}
.rb-hd h2{font:400 28px/1.12 var(--serif);letter-spacing:-.015em;margin:8px 0 6px}
.rb-hd h2 i{font-style:italic;color:var(--mute)}
.rb-meta{margin:0;font-size:13.5px;color:var(--mute);font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.rb-chip{font:500 12.5px/1 var(--sans);padding:8px 11px;border-radius:99px;border:1px solid var(--line);background:none;color:var(--mute);cursor:pointer;display:inline-flex;gap:7px;align-items:center}
.rb-chip span{font-variant-numeric:tabular-nums;opacity:.7}
.rb-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--alab)}
.rb-live{margin:12px 0 0;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.rb-live i,.rb-cd{width:9px;height:9px;border-radius:50%;background:#2F6B4F;box-shadow:0 0 0 0 rgba(47,107,79,.5);animation:rbpulse 1.8s infinite}
@keyframes rbpulse{70%{box-shadow:0 0 0 9px rgba(47,107,79,0)}100%{box-shadow:0 0 0 0 rgba(47,107,79,0)}}
.rb-strip{list-style:none;margin:0;padding:18px 0 22px;overflow:auto;flex:1;position:relative;background:linear-gradient(90deg,transparent calc(50% - 1.5px),#152019 calc(50% - 1.5px),#152019 calc(50% + 1.5px),transparent calc(50% + 1.5px)) no-repeat center/100% 100%;background-clip:content-box}
.rb-strip{scroll-behavior:auto}
.rb-it{position:relative}
.rb-b{width:100%;display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;min-height:48px;padding:3px 18px;background:none;border:0;cursor:pointer;text-align:left;color:var(--ink);font:inherit}
.rb-b:hover,.rb-b:focus-visible,.rb-it.on .rb-b{background:rgba(154,115,40,.08)}
.rb-b:focus-visible{outline:2px solid var(--brass,#9A7328);outline-offset:-2px}
.rb-g{grid-column:2;width:80px;height:44px;overflow:visible}
.rb-t{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.3;padding:4px 0}
.rb-it[data-side="L"] .rb-t{grid-column:1;grid-row:1;text-align:right;align-items:flex-end;padding-right:6px}
.rb-it[data-side="R"] .rb-t{grid-column:3;grid-row:1;padding-left:6px}
.rb-t b{font-weight:500}
.rb-t small{font-size:12px;color:var(--mute)}
.rb-km{font:600 12.5px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.02em;display:flex;gap:8px;align-items:baseline}
.rb-km em{font-style:normal;font-weight:400;color:var(--mute)}
.rb-d{padding:2px 26px 14px;font-size:13.5px;line-height:1.5;color:var(--ink);background:rgba(154,115,40,.08)}
.rb-d p{margin:0 0 6px;max-width:58ch}
.rb-acts{display:flex;flex-wrap:wrap;gap:4px 16px}
.rb-acts svg{width:15px;height:15px}
.rb-it.passed .rb-b{opacity:.42}
.rb-br,.rb-ah{fill:none;stroke:#152019;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rb-thin{stroke-width:2;stroke-dasharray:3 3}
.rb-node{fill:#FAF7F1;stroke:#152019;stroke-width:2}
.rb-rd{fill:#FAF7F1;stroke:#152019;stroke-width:2.5}
.rb-rn{font:700 11px var(--sans);text-anchor:middle;fill:#152019}
.rb-hz{fill:#A23B2A;stroke:#FAF7F1;stroke-width:2}
.rb-al{fill:#B7791F;stroke:#FAF7F1;stroke-width:2}
.rb-hzt{font:700 13px var(--sans);text-anchor:middle;fill:#fff}
.rb-up{fill:#FAF7F1;stroke:#8A6A3A;stroke-width:2.5;stroke-dasharray:3 2}
.rb-pb{fill:none;stroke:#2F6B4F;stroke-width:3;stroke-dasharray:5 4;stroke-linecap:round}
.rb-pbn{fill:#2F6B4F;stroke:#FAF7F1;stroke-width:2}
.rb-dk{fill:#FAF7F1;stroke:#152019;stroke-width:2}
.rb-dkf{fill:#152019}
.rb-sbr{stroke-width:2.2;fill:none}
.rb-sbr.hospital,.rb-sbr.clinic{stroke:#A23B2A}.rb-sbr.police{stroke:#2D4F7C}.rb-sbr.fuel{stroke:#8A6A3A}
.rb-sd{stroke:#FAF7F1;stroke-width:2}
.rb-sd.hospital,.rb-sd.clinic{fill:#A23B2A}.rb-sd.police{fill:#2D4F7C}.rb-sd.fuel{fill:#8A6A3A}
.rb-sd.clinic{fill:#FAF7F1;stroke:#A23B2A}
.rb-st{font:700 11px var(--sans);text-anchor:middle;fill:#fff}
.k-clinic .rb-st{fill:#A23B2A}
.k-ford .rb-t b,.k-alert .rb-t b{color:#8F2F20}
.rb-gap{height:var(--h);position:relative}
.rb-gap span{position:absolute;left:calc(50% + 14px);top:50%;transform:translateY(-50%);font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap;max-width:calc(50% - 30px);overflow:hidden;text-overflow:ellipsis}
.rb-car{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;padding:6px 18px;font-size:13px}
.rb-car .rb-cd{grid-column:2;justify-self:center;width:16px;height:16px;border:3px solid #FAF7F1}
.rb-car b{grid-column:3;grid-row:1;padding-left:6px;font-weight:600}
.rb-car small{grid-column:1;grid-row:1;text-align:right;padding-right:6px;color:var(--mute)}
.rb-end{margin:0 18px;background:#152019;color:#FAF7F1;border-radius:3px;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;align-items:baseline;position:relative;z-index:1}
.rb-end b{font:400 19px/1.2 var(--serif)}
.rb-end span{font-size:12.5px;font-variant-numeric:tabular-nums;opacity:.8;white-space:nowrap}
.rb-ft{padding:12px 26px 16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--mute);max-height:22%;overflow:auto}
.rb-ft p{margin:0 0 6px}
.rb-ft b{color:var(--ink);font-weight:500}
.rb-load{padding:30px 28px}
.rb-sk i{display:block;height:14px;margin:14px 0;border-radius:3px;background:linear-gradient(90deg,rgba(21,32,25,.06),rgba(21,32,25,.12),rgba(21,32,25,.06));background-size:200% 100%;animation:rbsk 1.2s infinite}
.rb-sk i:nth-child(2){width:70%}.rb-sk i:nth-child(3){width:85%}.rb-sk i:nth-child(4){width:55%}
@keyframes rbsk{to{background-position:-200% 0}}
.rb-pin{width:26px;height:26px;border-radius:50%;border:2px solid #FAF7F1;color:#fff;font:700 12px/1 var(--sans);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.rb-pin.k-ford{background:#A23B2A;border-radius:4px;transform:rotate(45deg)}.rb-pin.k-ford{line-height:1}
.rb-pin.k-alert{background:#B7791F}.rb-pin.k-hospital{background:#A23B2A}.rb-pin.k-police{background:#2D4F7C}.rb-pin.k-planb{background:#2F6B4F}
.rb-hov{width:14px;height:14px;border-radius:50%;background:#9A7328;border:3px solid #FAF7F1;box-shadow:0 0 0 2px #9A7328;position:relative}
.rb-hov span{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);background:#152019;color:#FAF7F1;font:600 11.5px/1 var(--sans);padding:5px 7px;border-radius:3px;white-space:nowrap}
.rb-open svg{width:16px;height:16px}
.rc-rb{margin:4px 0 -2px}
body.rbopen #opsBtn{visibility:hidden}
@media screen and (max-width:860px){
  #rb{left:0;right:0;top:auto;bottom:0;width:auto;height:min(86vh,calc(100vh - var(--top) - 8px));border-radius:12px 12px 0 0;transform:translateY(105%);z-index:46}
  #rb.open{transform:none}
  .rb-hd{padding:18px 18px 12px}
  .rb-hd h2{font-size:23px}
  .rb-strip{background:linear-gradient(90deg,transparent 45px,#152019 45px,#152019 48px,transparent 48px) no-repeat}
  .rb-b,.rb-car{grid-template-columns:80px 1fr;padding:3px 12px 3px 6px}
  .rb-g{grid-column:1;grid-row:1}
  .rb-it[data-side] .rb-t{grid-column:2;grid-row:1;text-align:left;align-items:flex-start;padding:4px 0 4px 2px}
  .rb-car .rb-cd{grid-column:1}.rb-car b{grid-column:2}.rb-car small{grid-column:2;grid-row:2;text-align:left;padding-left:6px}
  .rb-gap span{left:60px;max-width:calc(100% - 70px)}
  .rb-end{margin:0 10px}
  .rb-d{padding:2px 16px 14px 86px}
  .rb-ft{padding:10px 18px 14px}
}
@media print{
  body.rbprint>*:not(#app),body.rbprint #app>*:not(#rb){display:none!important}
  body.rbprint #rb{position:static;transform:none;width:auto;border:0;box-shadow:none;display:block;overflow:visible}
  body.rbprint .rb-strip{overflow:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.rbprint .rb-tools,body.rbprint .rb-chips{display:none}
  body.rbprint .rb-it{break-inside:avoid}
  body.rbprint .rb-d[hidden]{display:none}
  body.rbprint .rb-ft{max-height:none;overflow:visible}
}
.rb-mapt{display:none}
@media (min-width:861px){body.rbopen #story{transform:translateX(calc(-100% - 40px));transition:transform .55s var(--ease)}}
@media screen and (max-width:860px){
  .rb-mapt{display:grid}
  .rb-chips{flex-wrap:nowrap;overflow-x:auto;margin-top:10px;scrollbar-width:none}
  .rb-chip{flex:none}
  .rb-meta{font-size:12.5px}
  .rb-hd h2{margin:4px 0 4px}
  #rb{transition:transform .55s var(--ease),height .45s var(--ease)}
  #rb.peek{height:42vh}
  #rb.peek .rb-ft{display:none}
}
.rb-about summary{cursor:pointer;color:var(--ink);font-weight:500;list-style:none;display:inline-flex;gap:6px;align-items:center;padding:4px 0}
.rb-about summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.rb-about[open] summary::after{transform:rotate(-135deg)}
.rb-about summary::-webkit-details-marker{display:none}
.rb-about p{margin:6px 0 0}
@media print{body.rbprint .rb-about>*{display:block}}

@media print{
  html:has(body.rbprint),body.rbprint{background:#fff!important;height:auto!important;overflow:visible!important}
  body.rbprint #app{position:static!important;opacity:1!important;inset:auto!important;height:auto!important;overflow:visible!important}
  body.rbprint #rb{height:auto!important;max-height:none!important;flex:none}
  body.rbprint .rb-strip{flex:none;height:auto;max-height:none}
  body.rbprint .rb-hd{border-bottom:1px solid #ccc}
  @page{margin:12mm}
}

/* ---------------- v15: roadbook entry, approval, notes, drive back, aerial ---------------- */
.rbbtn{width:auto!important;padding:0 12px 0 9px;gap:6px;display:inline-flex;align-items:center}
.drivebtn .rbbtn-t{display:inline;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
@media (max-width:1100px){.rbbtn{padding:8px!important}.drivebtn .rbbtn-t{display:none}}
.rbl{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}
.rbl li{border-bottom:1px solid var(--line)}
.rbl-i{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 4px;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink);font:inherit}
.rbl-i:hover,.rbl-i:focus-visible{background:rgba(154,115,40,.08)}
.rbl-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.rbl-t b{font-weight:500;font-size:14.5px}
.rbl-t small{font-size:12.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.rbl-s{flex:none;font-size:11.5px;display:inline-flex;align-items:center;gap:6px;color:var(--mute);white-space:nowrap}
.rbl-s i,.rb-ast i{width:8px;height:8px;border-radius:50%;background:#9AA095;flex:none}
.rbl-s.ok i,.rb-adv.ok .rb-ast i{background:#2F6B4F}.rbl-s.ok{color:#2F6B4F}
.rbl-s.red i,.rb-adv.red .rb-ast i{background:#A23B2A}.rbl-s.red{color:#8F2F20}
.rbl-s.note i,.rb-adv.note .rb-ast i{background:#B7791F}
.rbl-lede{font-size:14px;color:var(--mute);margin:0 0 18px;line-height:1.5}
.rb-adv{margin-top:12px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.35)}
.rb-adv.ok{border-color:rgba(47,107,79,.35)}.rb-adv.red{border-color:rgba(162,59,42,.45);background:rgba(162,59,42,.05)}
.rb-adv summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 12px;font-size:13px}
.rb-adv summary::-webkit-details-marker{display:none}
.rb-ast{display:flex;gap:8px;align-items:center;font-weight:500}
.rb-amore{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);display:inline-flex;gap:6px;align-items:center;flex:none}
.rb-amore::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.rb-adv[open] .rb-amore::after{transform:rotate(-135deg)}
.rb-ab{padding:2px 12px 12px;font-size:13px;line-height:1.5;max-height:46vh;overflow:auto}
.rb-ab p{margin:0 0 8px}
.rb-dr{margin:0 0 10px;padding-left:16px}
.rb-dr li{margin:0 0 4px}
.rb-hint{color:var(--mute)}
.rb-ret{border-left:2px solid #2F6B4F;padding-left:10px}
.rb-ret b{font-weight:500;color:#8F2F20}
.rb-form{display:grid;grid-template-columns:150px 1fr;gap:8px 10px;align-items:end;margin:6px 0 4px}
.rb-form label,.rb-back label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--mute)}
.rb-form input,.rb-back input,.rb-nf input{font:inherit;font-size:14px;padding:9px 10px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);min-width:0}
.rb-form .dc-save{grid-column:1/-1;justify-self:start}
.rb-form .link{grid-column:1/-1;justify-self:start}
.rb-arow{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.rb-arow svg,.rb-ab .link svg{width:15px;height:15px}
.rb-back{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.rb-nf{display:flex;gap:8px;margin-top:8px}
.rb-nf input{flex:1}
.rb-err{color:#8F2F20;font-size:12.5px;margin:6px 0 0;grid-column:1/-1}
.rb-nt{fill:#152019;stroke:#FAF7F1;stroke-width:2}
.rb-ntp{fill:#FAF7F1}
.k-note .rb-t b{font-style:italic}
.rb-pin.k-note{background:#152019;border-radius:4px}
.ops-ap{display:inline-block;margin-left:8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:rgba(183,121,31,.14);color:#7A5214;vertical-align:1px}
.ops-ap.ok{background:rgba(47,107,79,.12);color:#2F6B4F}
.ops-back{margin:10px 0 4px;display:flex;flex-direction:column;gap:5px}
.ops-back small{font-size:12px;color:var(--mute)}
.satbtn{position:fixed;z-index:12;right:16px;bottom:calc(var(--clockh) + 16px);display:inline-flex;align-items:center;gap:7px;padding:9px 13px 9px 11px;border-radius:99px;border:1px solid var(--line);background:rgba(250,247,241,.94);color:var(--ink);font:500 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 18px -8px rgba(21,32,25,.4);backdrop-filter:blur(6px)}
.satbtn svg{width:16px;height:16px}
.satbtn[aria-pressed="true"]{background:#152019;color:#FAF7F1;border-color:#152019}
.satbtn:focus-visible{outline:2px solid #9A7328;outline-offset:2px}
@media (min-width:861px){body.rbopen .satbtn{right:590px}body.opsmode .satbtn,body.ops .satbtn{bottom:calc(var(--clockh) + 16px)}}
@media (max-width:860px){.satbtn{top:calc(var(--top) + var(--mapH) - 46px);bottom:auto;right:10px;padding:8px 11px}body.rbopen .satbtn{display:none}body.rbopen.rbpeek .satbtn{display:inline-flex;top:auto;bottom:calc(42vh + 10px)}}
body.sat .rb-hov span{box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.mydrives{margin-top:22px}
.mydrives .rcards{margin-top:10px}
.rcard.mine .rletter{border-style:dashed;font:500 15px/1 var(--sans)}
.rback{display:block;font-style:normal;font-size:12px;color:var(--sage);font-weight:400;margin-top:2px}
.rcard.mine .rwhen{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.mine-v{margin:0 0 8px}.mine-d{font-size:13px;color:var(--mute);margin:0 0 6px}

.rb-ab{max-height:34vh}
.rb-form{grid-template-columns:120px 1fr auto}
.rb-form .dc-save{grid-column:auto;justify-self:end;align-self:end}
@media screen and (max-width:860px){.rb-form{grid-template-columns:1fr}.rb-form .dc-save{grid-column:1;justify-self:start}}
@media (min-width:1101px) and (max-width:1560px){.chapnav{gap:0}.chapnav button{padding:10px 7px;letter-spacing:.08em}.chapnav button em{display:none}}
@media screen and (max-width:860px){.rb-ab{max-height:30vh}}
/* v16 routine and alarm */
.rtn-st{margin:-4px 0 18px}
.rtn-bar{height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.rtn-bar span{display:block;height:100%;background:var(--brass);transition:width .8s var(--ease)}
.rtn-t{font-size:13px;color:var(--sage);margin:8px 0 0}.rtn-t b{color:var(--ink);font-weight:500}
.rtn-off{font-size:13px;color:var(--sage)}
.prow2{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--line)}
.prow2 .prow{border-bottom:0}
.prow .pdot.lrn{background:transparent;border:1.5px dashed var(--brass);box-shadow:none}
.rtn-tag{font-style:normal;font:500 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-right:6px}
.rtn-tag.t{color:var(--holly2)}
.rtn-x{font:500 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--sage);padding:10px 4px 10px 12px}
.rtn-x:hover{color:var(--red)}
.rtn-add{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin:-8px 0 20px;font-size:12px;color:var(--sage)}
.rtn-fold{border-top:1px solid var(--line);padding:2px 0}
.rtn-fold:last-of-type{border-bottom:1px solid var(--line);margin-bottom:22px}
.rtn-fold summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;padding:12px 0;font:500 14px/1.2 var(--sans)}
.rtn-fold summary::-webkit-details-marker{display:none}
.rtn-fold summary span{font-size:12px;color:var(--sage);font-weight:400}
.rtn-fold summary::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--brass);border-bottom:1.5px solid var(--brass);transform:rotate(45deg);margin-left:10px;transition:transform .3s}
.rtn-fold[open] summary::after{transform:rotate(-135deg)}
.rtn-fold summary span{margin-left:auto}
.rtn-veh{padding:0 0 14px}
.rtn-v{display:grid;gap:6px;padding:8px 0}
.rtn-v p{margin:0;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}.rtn-v b{font:500 13px/1.2 var(--sans)}.rtn-v small{font-size:12px;color:var(--sage)}
.rtn-strip{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;height:16px}
.rtn-strip i{background:rgba(154,115,40,var(--a));border-radius:1px;min-width:0}
.rtn-strip i:not([style*="--a:0.00"]){outline:0}
.rtn-strip i.n{box-shadow:inset 0 0 0 1px rgba(30,43,35,.18)}
.rtn-strip i[style="--a:0.00"]{background:rgba(30,43,35,.05)}
.rtn-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--sage);margin:4px 0 0;letter-spacing:.06em}
.rtn-seen div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line)}
.rtn-seen div:last-child{border-bottom:0}
.rtn-log p{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;margin:0;padding:8px 0;border-bottom:1px solid var(--line)}
.rtn-log p:last-child{border-bottom:0}
.rtn-log b{font:500 13px/1.3 var(--sans)}.rtn-log small{grid-column:2;font-size:12px;color:var(--sage)}
.rtn-sc{grid-row:1/3;align-self:start;font:500 12px/1 var(--sans);text-align:center;padding:5px 0;border:1px solid var(--line);border-radius:2px;color:var(--sage)}
.rtn-sc.mid{border-color:var(--amber);color:var(--amber)}.rtn-sc.big{background:var(--red);border-color:var(--red);color:var(--alab)}
body.rtnpick .maplibregl-canvas{cursor:crosshair}
.rtn-tip{position:fixed;z-index:60;left:50%;top:calc(var(--top) + 14px);transform:translateX(-50%);display:flex;gap:14px;align-items:center;background:var(--holly);color:var(--parch);padding:10px 12px 10px 16px;border-radius:2px;font-size:13px;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.rtn-tip button{font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brassL)}
.rtn-pin{width:18px;height:18px;border-radius:50%;background:var(--brass);border:3px solid var(--alab);box-shadow:0 0 0 6px rgba(154,115,40,.25)}
.rtn-form{display:grid;gap:12px}.rtn-form label{display:grid;gap:5px;font-size:12px;color:var(--sage)}
.rtn-form input,.rtn-form select{font:400 15px/1.3 var(--sans);padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:var(--alab);color:var(--ink)}
.rtn-ll{font-size:12px;color:var(--sage);margin:0}.rtn-form .err{color:var(--red);font-size:13px;margin:0;min-height:1em}
.alarm{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(14,20,16,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:alarmIn .35s var(--ease)}
@keyframes alarmIn{from{opacity:0}to{opacity:1}}
.alarm-c{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:var(--alab);border-radius:3px;padding:30px 30px 24px;border-top:6px solid var(--red);box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.alarm-e{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding-right:64px;margin:0 0 14px;font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.alarm-e i{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(181,82,59,.6);animation:alarmPulse 1.6s infinite}
@keyframes alarmPulse{0%{box-shadow:0 0 0 0 rgba(181,82,59,.55)}70%{box-shadow:0 0 0 12px rgba(181,82,59,0)}100%{box-shadow:0 0 0 0 rgba(181,82,59,0)}}
.alarm h2{font:400 clamp(28px,4.4vw,38px)/1.08 var(--serif);margin:0 0 12px;color:var(--ink)}
.alarm-b{font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 12px}
.alarm-w{margin:0 0 14px;padding:0;list-style:none;border-top:1px solid var(--line)}
.alarm-w li{padding:8px 0 8px 18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--sage);position:relative}
.alarm-w li::before{content:"";position:absolute;left:2px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--red)}
.alarm-when{font-size:12px;color:var(--sage);margin:0 0 18px}
.alarm-f label{display:grid;gap:5px;font-size:12px;color:var(--sage);margin-bottom:12px}
.alarm-f input{font:400 16px/1.3 var(--sans);padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:#fff;max-width:200px}
.alarm-a{display:flex;flex-wrap:wrap;gap:10px}
.alarm-go{background:var(--red);color:#fff;font:500 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:15px 22px;border-radius:2px}
.alarm-go:hover{background:#9E4431}
.alarm-s{border:1px solid var(--line);color:var(--ink);font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:14px 16px;border-radius:2px;background:var(--alab)}
.alarm-s:hover{border-color:var(--brass)}
.alarm-f .err{color:var(--red);font-size:13px;margin:8px 0 0;min-height:1em}
.alarm-x{position:absolute;top:16px;right:18px;font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);padding:8px}
.alarm-n{font-size:12px;color:var(--sage);margin:14px 0 0}
@media (max-width:600px){.alarm{padding:0;place-items:end stretch}.alarm-c{max-height:100dvh;border-radius:0;padding:26px 20px 22px}.alarm-a{display:grid}.alarm-go,.alarm-s{width:100%;text-align:center}.alarm-f input{max-width:none}}
@media (prefers-reduced-motion:reduce){.alarm,.alarm-e i{animation:none}}
/* v16: the aerial button sits above the vehicle chip instead of on top of it */
@media (min-width:861px){body:has(#gpsChip) .satbtn{bottom:calc(var(--clockh) + 76px)}}
@media (max-width:860px){body:has(#gpsChip):not(.rbopen) .satbtn{top:calc(var(--top) + var(--mapH) - 98px)}}
/* v17 map views */
.satbtn[aria-expanded="true"]{border-color:var(--brass)}
.mvmenu{position:fixed;z-index:40;right:16px;bottom:calc(var(--clockh) + 70px);width:300px;background:rgba(250,247,241,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:4px;padding:10px;box-shadow:0 24px 50px -20px rgba(21,32,25,.5);animation:alarmIn .2s var(--ease)}
body:has(#gpsChip) .mvmenu{bottom:calc(var(--clockh) + 128px)}
.mv-h{font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:6px 8px 10px}
.mvmenu button{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;width:100%;text-align:left;padding:8px;border-radius:3px;color:var(--ink)}
.mvmenu button:hover,.mvmenu button:focus-visible{background:rgba(200,165,102,.12);outline:0}
.mvmenu button[aria-checked="true"]:not(.mv-3d){background:rgba(154,115,40,.12);box-shadow:inset 2px 0 0 var(--brass)}
.mvmenu b{display:block;font:500 13px/1.2 var(--sans)}.mvmenu small{display:block;font-size:11.5px;line-height:1.35;color:var(--sage);margin-top:2px}
.mv-sw{width:34px;height:34px;border-radius:3px;border:1px solid var(--line);display:block}
.mv-map{background:linear-gradient(135deg,#E9E2D2 0 55%,#B3C2BB 55%)}
.mv-detail{background:radial-gradient(circle at 30% 35%,#9A7328 0 2.5px,transparent 3px),radial-gradient(circle at 70% 60%,#9A7328 0 2.5px,transparent 3px),linear-gradient(90deg,transparent 46%,#FBF8F1 46% 54%,transparent 54%),#E4DBC9}
.mv-night{background:linear-gradient(135deg,#1A221E 0 55%,#0F1714 55%);border-color:#2A332E}
.mv-aerial{background:radial-gradient(circle at 30% 30%,#7C8A5E,transparent 60%),radial-gradient(circle at 75% 70%,#4F6A72,transparent 55%),#6E6A4E}
.mvmenu .mv-3d{grid-template-columns:1fr 40px;border-top:1px solid var(--line);border-radius:0;margin-top:6px;padding-top:12px}
.mv-tg{width:36px;height:20px;border-radius:10px;background:var(--line);position:relative;transition:background .2s}
.mv-tg::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--ease)}
.mv-3d[aria-checked="true"] .mv-tg{background:var(--holly2)}.mv-3d[aria-checked="true"] .mv-tg::after{transform:translateX(16px)}
.mv-src{font-size:10.5px;color:var(--sage);margin:8px 8px 4px;line-height:1.4}
body.mvnight .maplibregl-ctrl-attrib,body.mvnight .maplibregl-ctrl-attrib.maplibregl-compact{background:rgba(26,34,30,.88)!important;color:#AEB4AC}body.mvnight .maplibregl-ctrl-attrib a{color:#C8A566}
@media (max-width:860px){.mvmenu{right:10px;left:10px;width:auto;top:calc(var(--top) + 12px);bottom:auto;max-height:calc(var(--mapH) - 24px);overflow:auto}body:has(#gpsChip) .mvmenu{bottom:auto}}
@media (max-width:860px){
  .mvmenu{padding:8px}
  .mv-h{margin:4px 6px 8px}
  .mv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
  .mv-grid button{grid-template-columns:1fr;justify-items:center;text-align:center;gap:5px;padding:6px 2px}
  .mv-grid button[aria-checked="true"]:not(.mv-3d){box-shadow:inset 0 -2px 0 var(--brass)}
  .mv-grid small{display:none}.mv-grid b{font-size:12px}
  .mv-grid .mv-sw{width:100%;max-width:56px;height:34px}
  .mvmenu .mv-3d{padding:10px 6px 6px;margin-top:4px}.mvmenu .mv-3d small{font-size:11px}
  .mv-src{display:none}
}
.alarm-esc{margin:0 0 10px;padding:9px 12px;background:rgba(181,82,59,.1);border-left:3px solid var(--red);font:500 13px/1.4 var(--sans);color:#8E3B2A}
/* v17 expected, travel together, this week */
.rtn-exp{padding:0 0 12px}
.rtn-e{display:grid;grid-template-columns:1fr auto auto;gap:4px 12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.rtn-e p{margin:0}.rtn-e b{display:block;font:500 13px/1.3 var(--sans)}.rtn-e small{font-size:12px;color:var(--sage)}
.rtn-e.sug b{color:var(--sage);font-weight:400}.rtn-e.sug{grid-template-columns:1fr auto}
.rtn-ok,.rtn-bad,.rtn-st0{font:500 11px/1.2 var(--sans);letter-spacing:.04em;white-space:nowrap}
.rtn-ok{color:#3F6B4C}.rtn-bad{color:var(--red)}.rtn-st0{color:var(--sage)}
.rtn-exp > .link{margin-top:12px}
.rtn-pair{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0 2px;font-size:12px;color:var(--sage)}
.rtn-pair select{font:400 13px/1.2 var(--sans);padding:8px 10px;border:1px solid var(--line);border-radius:2px;background:var(--alab);color:var(--ink);max-width:42%}
.rtn-days{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.rtn-days legend{font-size:12px;color:var(--sage);margin-bottom:6px;padding:0}
.rtn-days label{display:inline-flex!important;align-items:center;gap:0!important;cursor:pointer}
.rtn-days input{position:absolute;opacity:0;width:1px;height:1px}
.rtn-days span{display:inline-block;padding:8px 10px;border:1px solid var(--line);border-radius:2px;font:500 12px/1 var(--sans);color:var(--sage);background:var(--alab)}
.rtn-days input:checked + span{background:var(--holly2);border-color:var(--holly2);color:var(--parch)}
.rtn-days input:focus-visible + span{outline:2px solid var(--brass);outline-offset:2px}
.rtn-week{padding:2px 0 14px}
.rtn-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.rtn-kpi p{margin:0;padding:10px;border:1px solid var(--line);border-radius:2px}.rtn-kpi b{display:block;font:400 24px/1 var(--serif);color:var(--ink)}.rtn-kpi b i{font:400 12px var(--sans);color:var(--sage)}.rtn-kpi small{font-size:11px;color:var(--sage);line-height:1.3;display:block;margin-top:4px}
.rtn-wv p{display:grid;grid-template-columns:1fr auto;gap:0 10px;margin:0;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.rtn-wv b{font-weight:500}.rtn-wv small{grid-column:1/3;font-size:11.5px;color:var(--sage)}
@media (max-width:600px){.rtn-kpi{grid-template-columns:repeat(2,1fr)}.rtn-e{grid-template-columns:1fr auto}.rtn-e > span{grid-column:1;grid-row:2}}
.mvmenu .mv-off{grid-template-columns:1fr;border-top:1px solid var(--line);border-radius:0;margin-top:6px;padding-top:12px}
.rb-offmsg{margin:6px 0 0;font-size:12px;color:var(--sage)}
@media (max-width:860px){.mvmenu .mv-off small{display:block}}
.rtn-res{display:grid;gap:6px;margin-top:4px}
.rtn-gk{display:grid;text-align:left;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:var(--alab);color:var(--ink);cursor:pointer;font:inherit}
.rtn-gk:hover,.rtn-gk:focus-visible{border-color:var(--brass)}.rtn-gk b{font:500 13.5px/1.3 var(--sans)}.rtn-gk small{font-size:12px;color:var(--sage)}
/* v17.3 roadbook entry at the top of Routes */
.rb-entry{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;width:100%;margin:4px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:2px;background:var(--alab);color:var(--ink);text-align:left;cursor:pointer;font:inherit;transition:border-color .2s,background .2s}
.rb-entry:hover,.rb-entry:focus-visible{border-color:var(--brass);background:var(--parch)}
.rb-entry:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.rb-entry-i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--holly2);color:var(--parch)}.rb-entry-i svg{width:20px;height:20px}
.rb-entry-t b{display:block;font:400 19px/1.15 var(--serif)}.rb-entry-t small{display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--sage)}
.rb-entry-a{font-size:18px;color:var(--brass);transition:transform .2s}.rb-entry:hover .rb-entry-a{transform:translateX(3px)}
.mine-empty{margin:6px 0 4px}
#rbBtn[hidden]{display:none!important}
/* v18 kept current */
.stamp{display:inline-block;margin-left:10px;padding-left:10px;border-left:1px solid var(--line);font:500 10.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:none;color:var(--sage)}
.stamp.live{color:var(--holly2)}.stamp.live::before{content:'';display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:1px}
.freshbox{margin:10px 0 14px}.freshbox details{border:1px solid var(--line);background:var(--alab);border-radius:2px}
.freshbox summary{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:11px 14px;cursor:pointer;list-style:none}
.freshbox summary::-webkit-details-marker{display:none}.freshbox summary svg{width:16px;height:16px;color:var(--brass);transition:transform .2s}
.freshbox details[open] summary svg{transform:rotate(90deg)}
.fr-dot{width:8px;height:8px;border-radius:50%;background:var(--sage)}.freshbox.ch .fr-dot{background:var(--brass)}
.fr-t b{display:block;font:400 15px/1.3 var(--serif)}.fr-t small{display:block;font-size:11.5px;color:var(--sage);margin-top:2px}
.fr-items{list-style:none;margin:0;padding:4px 14px 6px;display:grid;gap:8px;font-size:13px;line-height:1.45}
.fr-items li{display:grid;grid-template-columns:96px 1fr;gap:10px}.fr-items li i{font-style:normal;font:500 10px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.fr-items li.ch span{color:var(--ink)}.fr-items li.ch i{color:var(--brass)}.fr-items li:not(.ch) span{color:var(--sage)}
.fr-foot{margin:0;padding:6px 14px 12px;font-size:11.5px;color:var(--sage)}
.freshbox .fr-rest{border:0;background:none;margin:2px 14px 10px;border-top:1px solid var(--line)}
.freshbox .fr-rest>summary{display:block;padding:9px 0 2px;font:500 10.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.freshbox .fr-rest>summary::before{content:'▸ ';}.freshbox .fr-rest[open]>summary::before{content:'▾ '}
.freshbox .fr-rest .fr-items,.freshbox .fr-rest .fr-foot{padding-left:0;padding-right:0}
.freshbox.quiet details:not(.fr-rest){background:none;border-color:transparent;border-bottom-color:var(--line)}.freshbox.quiet summary{padding:8px 0}
.freshbox.quiet .fr-t b{font-size:14px;color:var(--sage)}.freshbox.quiet .fr-rest{margin:0 0 8px}
.fr-wx{margin:4px 0 14px}.fr-wx .fr-items{padding:4px 0}
@media (max-width:600px){.fr-items li{grid-template-columns:1fr;gap:2px}.stamp{display:block;margin:4px 0 0;padding:0;border:0}}
/* v18 saved drive analysis */
.dc-saved{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--brass);background:var(--alab)}
.dc-saved p{margin:0;font-size:13px;line-height:1.45;color:var(--sage)}.dc-saved p b{display:block;font:400 16px/1.3 var(--serif);color:var(--ink);margin-bottom:2px}
.dc-saved-a{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.dc.dc-sm > .dc-lede,.dc.dc-sm > .dc-f,.dc.dc-sm > .dc-b{display:none}

/* v19.10 leave by */
.lv{position:relative;z-index:1;margin:2px 0 10px 61px}.lv details{border:1px solid var(--line);border-left:2px solid var(--holly2);background:var(--alab);border-radius:2px}
.lv.warn details{border-left-color:var(--amber)}
.lv summary{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;row-gap:3px;align-items:baseline;padding:10px 14px 11px;cursor:pointer;list-style:none}
.lv summary::-webkit-details-marker{display:none}
.lv-k{font:500 10px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.lv-time{font:400 22px/1.1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}.lv-time.txt{font-size:15px;line-height:1.35}
.lv-s{grid-column:1/-1;font-size:12.5px;line-height:1.45;color:var(--sage)}
.lv.warn .lv-s{color:var(--amber)}
.lv-a{font:500 10.5px/1 var(--sans);letter-spacing:.06em;color:var(--sage);white-space:nowrap}.lv.live .lv-a{color:var(--holly2)}
.lv-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}
.lv-items{border-top:1px solid var(--line);padding-top:10px}.lv-items em{font-style:normal;font-size:11px;color:var(--sage);opacity:.8;margin-left:4px}
@media (max-width:600px){.lv{margin-left:0}}

/* v19.13 road incidents in Check a drive: tag, road and stretch, where on the drive; the map pin sits right like Along the way */
.dc-road{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}
.dc-road>li{position:relative;display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:start;padding:9px 44px 9px 0;border-bottom:1px solid var(--line)}
.dc-road>li>span:empty{display:none}
.dc-know .dc-road .rd-k{display:inline-block;justify-self:start;margin-top:1px;font:500 9.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:4px 6px;border-radius:2px;background:rgba(95,122,110,.12);color:var(--info)}
.dc-know .dc-road .rd-x .rd-k{background:rgba(181,82,59,.12);color:var(--red)}.dc-know .dc-road .rd-w .rd-k{background:rgba(192,138,46,.14);color:#8a6119}
.dc-road b{display:block;font-weight:500;font-size:13px;line-height:1.35;color:var(--ink)}.dc-road small{display:block;font-size:12px;color:var(--sage);margin-top:2px}
.dc-rdmore{margin-top:6px}.dc-rdmore summary{cursor:pointer;font-size:12.5px;color:var(--brass);padding:6px 0}
@media (max-width:600px){.dc-road>li{grid-template-columns:1fr;gap:4px}}

/* v19.17 Waze live map in Check a drive */
.rd-wz{display:inline-block;margin-top:5px;padding:0;border:0;background:none;font:500 11.5px/1.3 var(--sans);color:var(--brass);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rd-wz:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.dc-wz{margin:8px 0 4px}.dc-wz-at{margin:0 0 6px;font-size:12.5px;color:var(--ink)}
.dc-wz-f{position:relative;height:380px;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--parch)}
.dc-wz-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:600px){.dc-wz-f{height:320px}}
/* v24: Xpometer, digital exposure in the family view (view A) */
.xpbox .xp-fr{font:400 12px/1.3 var(--sans);color:var(--sage)}
.xpbox .xp-old{color:#8A5A1E}
.xprow{display:grid;grid-template-columns:44px minmax(0,1fr) auto 14px;align-items:center;column-gap:12px;width:100%;padding:11px 16px;text-align:left;border-bottom:1px solid var(--line);transition:background .25s}
.xprow:last-child{border-bottom:0}
/* v43.1: trips after the third, folded */
.xp-more{border-top:1px solid var(--line)}.xp-more>summary{list-style:none;cursor:pointer;padding:10px 16px;font:500 10.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.xp-more>summary::-webkit-details-marker{display:none}.xp-more>summary::before{content:'▸ '}.xp-more[open]>summary::before{content:'▾ '}
.xp-more>summary:hover{color:var(--ink)}.xp-more>summary:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}.xp-more .xprow:first-of-type{border-top:1px solid var(--line)}
button.xprow:hover{background:rgba(200,165,102,.08)}
.xprow:focus-visible{outline:2px solid var(--brass);outline-offset:-2px}
.xp-rg{position:relative;display:grid;place-items:center;width:44px;height:44px;color:var(--brass)}
.xp-rg > *{grid-area:1/1}
.xp-ring{display:block;color:var(--ink)}
.xp-rv{font:400 15px/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.xp-n{display:flex;flex-direction:column;gap:3px;min-width:0}
.xp-n b{font:500 14px/1.2 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xp-n b em{font:400 12px/1 var(--sans);font-style:normal;color:var(--sage);margin-left:8px}
.xp-n small{font-size:12px;color:var(--sage);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xp-spw{color:var(--brass);opacity:.75;display:flex}
.xp-ar{width:14px;height:14px;color:var(--brass);opacity:.6}
.xprow.pend{opacity:.6}
.xp-pl{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--brass)}
.xp-pl svg{width:18px;height:18px}
.xp-pill{font:500 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 9%,transparent);padding:5px 7px;border-radius:2px;white-space:nowrap}
/* drawer */
.xpd-top{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center;margin:2px 0 22px}
.xpd-top.trip{grid-template-columns:1fr}
.xp-rg.big{width:76px;height:76px}
.xpd-lv{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px}
.xpd-tr{font-size:13px;color:var(--sage);margin:0 0 8px}
.xpd-dr{font:400 17px/1.35 var(--serif);color:var(--ink);margin:0}
.xpd-h{font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:22px 0 10px;display:flex;justify-content:space-between;gap:10px}
.xpd-h small{letter-spacing:.02em;text-transform:none;color:var(--sage);font-size:11.5px}
.xpd-dim{border-top:1px solid var(--line)}
.xpd-dim:last-of-type{border-bottom:1px solid var(--line)}
.xpd-dim summary{display:grid;grid-template-columns:96px 1fr 30px;gap:12px;align-items:center;padding:11px 0;cursor:pointer;list-style:none;font-size:13.5px}
.xpd-dim summary::-webkit-details-marker{display:none}
.xpd-dim summary i{height:4px;border-radius:2px;background:var(--line);overflow:hidden;display:block}
.xpd-dim summary i b{display:block;height:100%;border-radius:2px;transition:width .8s var(--ease)}
.xpd-dim summary em{font:400 15px/1 var(--serif);font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.xpd-dim[open] summary span{color:var(--brass)}
.xpd-dim p{font-size:13px;line-height:1.5;color:var(--ink);margin:0 0 12px}
.xpd-dim p small{display:block;color:var(--sage);font-size:12px;margin-bottom:3px}
.xpd-bd{display:flex;flex-wrap:wrap;gap:6px}
.xpd-bd span{font-size:11.5px;color:var(--sage);border:1px solid var(--line);border-radius:2px;padding:4px 7px}
.xpd-bd b{color:var(--ink);font-weight:500;margin-left:3px}
.xpd-sig{font-size:13px;color:var(--sage);margin:16px 0 0;line-height:1.5}
.xpd-sig b{color:var(--ink);font-weight:500}
.xpd-tc{color:var(--brass)}
.xpd-tc svg{width:100%;height:54px}
.xpd-ax{display:flex;justify-content:space-between;font-size:11px;color:var(--sage);margin:4px 0 0}
.xpd-k{margin-top:20px;border:1px solid var(--line);border-radius:4px;background:rgba(243,239,230,.55)}
.xpd-k summary{padding:12px 14px;cursor:pointer;font:500 13.5px/1.2 var(--sans);display:flex;justify-content:space-between}
.xpd-k summary span{font:400 15px/1 var(--serif);color:var(--brass)}
.xpd-kg{padding:4px 14px 10px;border-top:1px solid var(--line)}
.xpd-kh{font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin:10px 0 6px;display:flex;gap:8px}
.xpd-kh em{font-style:normal;color:#8A3B2E;letter-spacing:.08em}
.xpd-ki{position:relative;font-size:13px;line-height:1.45;margin:0 0 8px;padding-left:14px}
.xpd-ki i{position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%;background:var(--sage)}
.xpd-ki i.sev-high,.xpd-ki i.sev-critical{background:#B5523B}.xpd-ki i.sev-moderate,.xpd-ki i.sev-medium{background:#C08A2E}
.xpd-ki small{display:block;color:var(--sage);font-size:11.5px;margin-top:2px}
.xpd-fc{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.xpd-fc span{display:flex;flex-direction:column;gap:4px;border-top:2px solid var(--c);padding-top:7px;font-size:12.5px}
.xpd-fc small{font-size:11px;color:var(--sage)}
.xpd-leg{display:grid;grid-template-columns:62px 1fr;gap:2px 10px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
.xpd-leg b{font-weight:500}
.xpd-leg small{grid-column:2;font-size:12px;color:var(--sage)}
.xpd-leg em{font-style:normal;font-size:10.5px;letter-spacing:.04em;color:var(--brass)}
.xpd-note{font-size:13px;line-height:1.5;margin:18px 0 0;padding:12px 14px;border-left:2px solid var(--brassL);background:rgba(200,165,102,.08)}
.xpd-f{font-size:11.5px;line-height:1.5;color:var(--sage);margin:22px 0 0;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:760px){.xprow{padding:10px 13px;column-gap:10px}.xp-spw{display:none}.xprow{grid-template-columns:44px minmax(0,1fr) auto 14px}.xprow:not(.xptrip){grid-template-columns:44px minmax(0,1fr) 0 14px}}

/* v24: itinerary check in the team trip drawer, collapsed by default */
.xpd-chk{margin:14px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.xpd-chk summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 0;font:500 10.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brassD,#9A7328)}
.xpd-chk summary::-webkit-details-marker{display:none}
.xpd-chk summary:after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.xpd-chk[open] summary:after{transform:rotate(-135deg)}
.xpd-chk summary b{font-weight:500;color:var(--ink)}.xpd-chk summary i{font-style:normal;color:#B5523B;letter-spacing:.1em}
.xpd-chk ul{list-style:none;margin:0;padding:0 0 6px}.xpd-chk li{position:relative;padding:4px 0 4px 15px;font-size:13.5px;line-height:1.5}
.xpd-chk li:before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:#C08A2E}.xpd-chk li.high:before{background:#B5523B}
.xpd-chk small{display:block;font-size:12px;color:var(--sage);padding:0 0 12px}
/* v25: What matters now */
.nowbox{margin:0 0 20px;border:1px solid var(--line);border-radius:6px;background:rgba(250,247,241,.78);padding:13px 16px 12px}
.nowbox[hidden]{display:none}
.nw-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:7px}
.nw-h span{font:500 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.nw-h em{font:400 11px/1 var(--sans);font-style:normal;color:var(--sage);letter-spacing:.04em}
.nw-line{display:flex;align-items:baseline;gap:9px;margin:0;font:400 16px/1.35 var(--serif);color:var(--ink)}
.nw-line i{width:7px;height:7px;border-radius:50%;background:var(--sage);flex:none;transform:translateY(-2px)}
.nowbox.is-some .nw-line i{background:var(--brass)}
.nowbox.is-p1{border-color:rgba(160,64,48,.45);border-left:3px solid #a04030}
.nowbox.is-p1 .nw-line i{background:#a04030}
.nw-items{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}
.nw-it{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:9px 0;background:none}
.nw-items li{border-bottom:1px solid var(--line)}
.nw-items li:last-child{border-bottom:0}
.nw-it i{width:6px;height:6px;border-radius:50%;margin-top:6px;flex:none;background:var(--info)}
.nw-it.lv-orange i{background:var(--brass)}
.nw-it.lv-red i{background:#a04030}
.nw-it span{display:flex;flex-direction:column;gap:2px;min-width:0}
.nw-it b{font:500 13.5px/1.35 var(--sans);color:var(--ink)}
.nw-it b small{font-weight:400;color:var(--sage)}
.nw-it small{font:400 12px/1.35 var(--sans);color:var(--sage)}
.nw-more{margin-top:8px;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--brass);padding:4px 0;background:none}
.nw-fbt{margin:8px 14px 0 0;font:400 11.5px/1 var(--sans);color:var(--sage);background:none;border:0;border-bottom:1px dotted var(--sage);padding:3px 0;cursor:pointer}
.nw-fbn{display:block;margin-top:5px;font:400 11.5px/1.35 var(--sans);color:var(--sage)}
.nw-fb{display:flex;gap:6px;margin:-3px 0 9px 16px}
.nw-v{font:400 11.5px/1 var(--sans);color:var(--sage);background:none;border:1px solid var(--line);border-radius:999px;padding:5px 10px;cursor:pointer}
.nw-v.on{color:var(--ink);border-color:var(--ink)}
.nw-held{list-style:none;margin:8px 0 0;padding:0}
.nw-held[hidden]{display:none}
.nw-held li{display:flex;flex-direction:column;gap:1px;padding:6px 0;border-top:1px dashed var(--line)}
.nw-held b{font:400 12.5px/1.35 var(--sans);color:var(--ink)}
.nw-held small{font:400 11.5px/1.35 var(--sans);color:var(--sage)}
@media (max-width:600px){.nowbox{padding:12px 13px 10px}.nw-line{font-size:15px}}
/* v27: XSEC travel assessment, family line and public places on the map */
.xp-pill.wait{--c:#8A8A80}
.xp-fam{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--sage)}.xp-fam b{font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-right:6px}.xp-fam em{font-style:normal;color:#B5523B}
.ta-hl{font:400 19px/1.3 var(--serif,Georgia,serif);margin:16px 0 6px;color:var(--ink)}
.ta-sum{font-size:14px;line-height:1.55;margin:0 0 12px}
.ta-vs{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:0 0 12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 10.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.ta-vs b{font-weight:600;margin-left:4px}.ta-vs small{flex-basis:100%;font:400 12.5px/1.45 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.ta-pub{margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.5;border-left:2px solid #8A8A80;background:rgba(0,0,0,.025)}.ta-pub b{display:block;font-weight:600;margin-bottom:2px}
.ta-pub.public{border-left-color:#B5523B}.ta-pub.possibly{border-left-color:#C08A2E}
.ta-act{list-style:none;margin:0 0 6px;padding:0;counter-reset:ta}.ta-act li{counter-increment:ta;position:relative;padding:7px 0 7px 26px;font-size:13.5px;line-height:1.5;border-bottom:1px solid var(--line)}
.ta-act li:before{content:counter(ta);position:absolute;left:0;top:8px;width:17px;height:17px;border-radius:50%;border:1px solid var(--brassL,#C8A566);font:500 10px/16px var(--sans);text-align:center;color:var(--brassD,#9A7328)}
.ta-act em{font-style:normal;margin-left:6px;font:500 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.ta-pl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0 0}.ta-pl span{padding:9px 10px;border:1px solid var(--line);border-top:2px solid var(--c);font-size:12px;line-height:1.4;color:var(--c)}
.ta-pl b{display:block;font-weight:600;color:var(--ink);font-size:13px}.ta-pl small{display:block;color:var(--sage);margin-top:3px}
.ta-legs{padding:0 0 10px}.ta-legs>small{display:block;font-size:11.5px;color:var(--sage);margin-top:6px}
.xpd-chk li small{padding:2px 0 0;font-size:11.5px}.xpd-chk li.low:before{background:#5F7A6E}
.xp-zone{position:relative;width:0;height:0;cursor:pointer}
.xp-zone i{position:absolute;left:0;top:0;transform:translate(-50%,-50%);border-radius:50%;border:1.5px dashed #B5523B;background:rgba(181,82,59,.07);pointer-events:none}
.xp-zone.sev-moderate i{border-color:#C08A2E;background:rgba(192,138,46,.07)}
.xp-zone span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;font:500 9.5px/1 var(--sans,system-ui);letter-spacing:.1em;text-transform:uppercase;color:#7A3A2A;background:rgba(255,255,255,.92);padding:5px 7px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.xp-zone.sev-moderate span{color:#7A5A1E}
/* v33: trip roadbook, one stop at a time; a level always says where it comes from */
.xp-way{display:block;font-style:normal;color:var(--c);margin-top:3px;font-size:11.5px;letter-spacing:.01em}
/* v33.1 roadbook: colour = risk level only */
.trf{margin:20px 0 4px}
.trf-top{padding:0 0 12px;border-bottom:1px solid var(--line)}
.trf-hd{font:500 10.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}
.trf-route{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font:500 11.5px/1 var(--sans);letter-spacing:.06em;color:var(--sage)}
.trf-route li{display:flex;align-items:center;gap:5px}
.trf-route li+li:before{content:"";width:14px;height:1px;background:var(--line);margin:0 6px}
.trf-route i{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--c);box-sizing:border-box}
.trf-route li.stay i,.trf-route li.main i{background:var(--c)}
.trf-route li.main{color:var(--ink);font-weight:600}
.trf-route li.gap i{border-style:dashed;border-color:var(--ink)}
.trf-route li.start i,.trf-route li.home i,.trf-route li.end i{border-radius:1px;background:var(--sage);border-color:var(--sage)}
.trf-lg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;font-size:11px;color:var(--sage)}
.trf-lg span{display:inline-flex;align-items:center;gap:5px}.trf-lg span>i{width:7px;height:7px;border-radius:50%;background:var(--c)}
.trf-sh{margin-left:auto}.trf-sh i{display:inline-block;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--sage);box-sizing:border-box;margin-left:6px}.trf-sh i.f{background:var(--sage)}
.trf-l{list-style:none;margin:6px 0 0;padding:0;position:relative}
.trf-l:before{content:"";position:absolute;left:61px;top:14px;bottom:18px;width:1px;background:var(--line)}
.trf-day{margin:14px 0 2px;padding-left:76px}.trf-day span{font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.trf-r>details>summary,.trf-r>.trf-row,.trf-r.fl,.trf-r.ho,.trf-r.st{display:grid;grid-template-columns:52px 20px 1fr auto;column-gap:4px;align-items:start;padding:7px 0;list-style:none}
.trf-r.fl,.trf-r.ho{padding:3px 0}
.trf-r>details>summary{cursor:pointer;border-radius:3px}.trf-r>details>summary::-webkit-details-marker{display:none}
.trf-r>details>summary:hover .trf-city{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.trf-tm{font:500 12.5px/1.35 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;padding-top:1px}
.trf-tm em{display:block;font-style:normal;font-size:9.5px;letter-spacing:.04em;color:var(--sage);font-weight:400}
.trf-tm small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:500}
.trf-rl{display:flex;justify-content:center;padding-top:4px;position:relative;z-index:1}
.trf-rl i{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--c,var(--sage));background:var(--alab);box-sizing:border-box}
.trf-r.stay .trf-rl i{background:var(--c);width:13px;height:13px;margin-top:-1px}
.trf-r.main .trf-rl i{width:15px;height:15px;margin-top:-2px;box-shadow:0 0 0 3px var(--alab),0 0 0 4px var(--c)}
.trf-r.transit .trf-rl i{width:9px;height:9px;margin-top:1px}
.trf-r.gap .trf-rl i{border:1.5px dashed var(--ink)}
.trf-r.st .trf-rl i,.trf-r.home .trf-rl i,.trf-r.end .trf-rl i{border-radius:1px;width:9px;height:9px;background:var(--ink);border-color:var(--ink);margin-top:1px}
.trf-r.fl .trf-rl,.trf-r.ho .trf-rl{color:var(--sage);background:var(--alab);height:14px;margin-top:2px;padding-top:0}
.trf-r.fl .trf-rl svg,.trf-r.ho .trf-rl svg{width:12px;height:12px}
.trf-c{min-width:0;padding-left:4px}
.trf-c small{display:block;font-size:12px;line-height:1.4;color:var(--sage);margin-top:2px}
.trf-city{display:block;font-size:14.5px;font-weight:500;color:var(--ink);line-height:1.3}
.trf-r.main .trf-city{font:400 19px/1.2 var(--serif,Georgia,serif)}
.trf-r.transit .trf-city{font-size:13.5px}
.trf-r.gap small{color:var(--ink)}
.trf-fl{display:flex;flex-wrap:wrap;gap:0 8px;font-size:12.5px;color:var(--sage);line-height:1.4}
.trf-fl .trf-to{color:var(--sage)}.trf-du{color:var(--sage)}.trf-du:before{content:"· ";}
.trf-ho{font-size:12.5px;color:var(--ink)}
/* v37 (queue 48): stops XSEC added, and the quiet tag */
.trf-r.vi>details>summary,.trf-r.vi{display:grid;grid-template-columns:52px 20px 1fr auto;column-gap:4px;align-items:start;padding:5px 0;list-style:none}
.trf-r.vi.has{display:block;padding:0}.trf-r.vi>details>summary{cursor:pointer}.trf-r.vi>details>summary::-webkit-details-marker{display:none}
.trf-r.vi .trf-rl{color:var(--sage);background:var(--alab);height:14px;margin-top:2px;padding-top:0}.trf-r.vi .trf-rl svg{width:12px;height:12px}
.trf-xs{display:block;margin-top:2px;font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7a6a45}
@media (max-width:600px){.trf-r.vi>details>summary,.trf-r.vi{grid-template-columns:44px 18px 1fr auto}}
.trf-lv{display:inline-flex;align-items:center;gap:5px;font:500 10px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--c);white-space:nowrap;padding-top:4px}
.trf-lv i,.trf-ly span i{width:6px;height:6px;border-radius:50%;background:var(--c)}
.trf-r>details>summary:after{content:"";grid-column:4;grid-row:1;justify-self:end;width:5px;height:5px;border-right:1.2px solid var(--sage);border-bottom:1.2px solid var(--sage);transform:rotate(45deg);margin:6px 2px 0 10px;transition:transform .2s}
.trf-r>details>summary .trf-lv{grid-column:4;grid-row:1;margin-right:16px}
.trf-r>details[open]>summary:after{transform:rotate(-135deg);margin-top:9px}
.trf-b{position:relative;z-index:2;margin:2px 0 10px 56px;padding:12px 14px;border-left:2px solid var(--c);background:color-mix(in srgb,var(--c) 5%,var(--alab));font-size:13px;line-height:1.5}
.trf-ly{display:grid;grid-template-columns:70px auto;column-gap:10px;align-items:baseline;margin:0 0 8px}
.trf-ly b{font:500 9.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.trf-ly span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--c)}
.trf-ly p{grid-column:2;margin:2px 0 0;font-size:12.5px;color:var(--ink)}
.trf-ly p:empty{display:none}
.trf-x{margin:4px 0 6px;border-top:1px solid var(--line);padding-top:8px}
.trf-x summary{cursor:pointer;font-size:12.5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.trf-x p{margin:8px 0 6px;font-size:12.5px;line-height:1.6;color:var(--ink)}.trf-x ul{margin:0 0 6px;padding-left:16px;font-size:12.5px}.trf-x small{font-size:11px;color:var(--sage)}
.trf-m{margin:6px 0 0;color:var(--sage);font-size:12.5px}
.trf-sub{font-size:11.5px;color:var(--sage);margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.trf-r.fl.has{display:block;padding:0}.trf-r.fl.has>details>summary{padding:3px 0}
.trf-fl{min-width:0}.trf-fl>*{white-space:nowrap}
.trf-adv{font-size:11px;color:var(--sage);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.trf-fr{position:relative;z-index:2;margin:0 0 8px 80px;padding:8px 12px 8px 26px;background:var(--parch);font-size:12px;line-height:1.5;color:var(--ink)}
.trf-fr li{margin:0 0 3px}
.trf-wt{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:12px;font-weight:500;color:var(--c)}.trf-wt i{width:6px;height:6px;border-radius:50%;background:var(--c);flex:0 0 6px}
.trf-fw{list-style:none;position:relative;z-index:2;margin:0 0 6px 80px;padding:0}
.trf-fw li{padding:8px 12px;border-left:2px solid var(--c);background:color-mix(in srgb,var(--c) 6%,var(--alab));font-size:12.5px;line-height:1.5;color:var(--ink);margin:0 0 4px}
.trf-fw b{display:block;font-weight:500}.trf-fw small{display:block;font-size:11px;color:var(--sage);margin-top:2px}.trf-fw a{color:inherit}
@media (max-width:600px){.trf-l:before{left:51px}.trf-fr{margin-left:66px}.trf-fw{margin-left:66px}.trf-day{padding-left:66px}
.trf-r>details>summary,.trf-r>.trf-row,.trf-r.fl,.trf-r.ho,.trf-r.st{grid-template-columns:44px 18px 1fr auto}
.trf-b{margin-left:0}.trf-sh{margin-left:0}.trf-ly{grid-template-columns:64px auto}}
/* v39: Needed on the day (place layer) */
.xpd-chk.gr .gr-list>li{padding:12px 0 10px;border-top:1px solid var(--line)}.xpd-chk.gr .gr-list>li:first-child{border-top:0;padding-top:2px}
.xpd-chk.gr li:before{display:none}
.gr-n{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 6px;font:400 16px/1.3 var(--serif);color:var(--ink)}
.gr-n small{padding:0;font:400 11px/1.2 var(--sans);letter-spacing:.06em;color:var(--sage);white-space:nowrap}
.xpd-chk .gr-pts li{padding:3px 0 3px 0;display:grid;grid-template-columns:86px 1fr;column-gap:10px}
.gr-pts em{font:500 10px/1.9 var(--sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.gr-pts .k-programme em,.gr-pts .k-event em{color:#B5523B}
.gr-pts small{grid-column:2;padding:0 0 4px}
.gr-chk{margin:4px 0 0}
.xpd-chk .gr-chk summary{list-style:none;cursor:pointer;display:inline-flex;gap:6px;align-items:center;font:400 12.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--brassD,#9A7328);padding:4px 0}
.xpd-chk .gr-chk summary::-webkit-details-marker{display:none}
.xpd-chk .gr-chk summary:after{content:"+";margin:0;width:auto;height:auto;border:0;transform:none;font-size:14px;line-height:1}.xpd-chk .gr-chk[open] summary:after{content:"\2212";transform:none}
.xpd-chk .gr-chk li{padding:3px 0;display:grid;grid-template-columns:86px 1fr;column-gap:10px;font-size:12.5px;color:var(--ink2,#4A4A44)}
.gr-chk li span{font:500 10px/1.9 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.gr-chk a{color:var(--brassD,#9A7328)}
@media (max-width:520px){.xpd-chk .gr-pts li,.xpd-chk .gr-chk li{grid-template-columns:1fr}.gr-pts small{grid-column:1}.gr-n{flex-direction:column;gap:2px}}

/* ---------- v41: security picture without a written chapter (queue 51) ---------- */
.sp-lv{display:flex;align-items:flex-start;gap:12px;margin:4px 0 8px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--info);border-radius:2px;background:#f6f3ec}
.sp-lv.sp-elevated{border-left-color:var(--amber)}.sp-lv.sp-high{border-left-color:var(--red);background:rgba(181,82,59,.06)}
.sp-dot{width:9px;height:9px;border-radius:50%;background:var(--info);margin-top:7px;flex:none}
.sp-elevated .sp-dot{background:var(--amber)}.sp-high .sp-dot{background:var(--red)}
.sp-lv b{display:block;font:400 21px/1.2 var(--serif)}
.sp-lv span:not(.sp-dot){display:block;font-size:13.5px;color:var(--sage);line-height:1.45;margin-top:3px}
.sp-at{font-size:11.5px;color:var(--sage);margin:0 0 18px;line-height:1.5}
.sp-list{list-style:none;margin:0 0 6px;padding:0}
.sp-list li{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.sp-list li:first-child{border-top:0;padding-top:2px}
.sp-list b{display:block;font-weight:500;line-height:1.4}
.sp-list span:not(.sp-tag){display:block;font-size:12.5px;color:var(--sage);margin:2px 0 4px}
.sp-tag{align-self:start;font:500 9.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);padding-top:3px;overflow-wrap:anywhere}
.sp-s3,.sp-h2{color:var(--amber)}.sp-s4,.sp-h3,.sp-h4{color:var(--red)}
.sp-n{font-size:11.5px;color:var(--sage);margin:6px 0 4px;line-height:1.5}
.sp-more{margin:6px 0 0}
.sp-more>summary{list-style:none;cursor:pointer}
.sp-more>summary::-webkit-details-marker{display:none}
.sp-more[open]>summary{margin-bottom:10px}
.sp-more[open]>summary i{width:36px}
.sp-advh h2{font-size:18px;margin:0 0 4px}
.sp-advh .lede{font-size:13.5px;margin:0 0 14px}
@media (max-width:520px){.sp-list li{grid-template-columns:1fr;gap:4px}.sp-lv b{font-size:19px}}

/* v41.2 repeated reports folded */
.al-prev{margin:8px 0 4px;font-size:12px;color:var(--sage)}.al-prev summary{cursor:pointer;font:500 10.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.al-prev p{margin:6px 0 0;line-height:1.5}.al-prev p span{display:block;font-size:10.5px;letter-spacing:.06em;opacity:.8}
/* v41.7 (queue 55): one row per leg and per stay; flights, transits and hotels open on request */
.trf-r.ho.has,.trf-r.leg{display:block;padding:0}.trf-r.ho.has>details>summary,.trf-r.leg>details>summary{padding:5px 0}
.trf-r.ho.has>details>.trf-m{margin:0 0 8px 80px}
.trf-r.leg .trf-rl{color:var(--ink);background:var(--alab);height:14px;margin-top:3px;padding-top:0}.trf-r.leg .trf-rl svg{width:12px;height:12px}
.trf-r.leg .trf-ho{font-size:14px;font-weight:500;color:var(--ink)}
.trf-r.leg>details>summary:hover .trf-ho,.trf-r.ho.has>details>summary:hover .trf-ho{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.trf-in{margin:0 0 6px;padding:0;list-style:none}.trf-in:before{display:none}
.trf-in .trf-day{margin-top:8px}
@media (max-width:600px){.trf-r.ho.has>details>.trf-m{margin-left:66px}}

/* 2026-10-09: the report opened from What matters now */
.al.al-hit{box-shadow:0 0 0 2px var(--brass);transition:box-shadow .4s ease}

/* queue 59: road closures as one line */
.al.rd>summary{list-style:none;cursor:pointer}.al.rd>summary::-webkit-details-marker{display:none}
.al.rd>summary b{display:block}.al.rd>summary small{display:block;margin-top:2px;color:var(--mut,#6b6457);font-size:13px}
.al.rd>summary::after{content:'Show';display:block;width:max-content;margin-top:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass,#8a6d3b);border-bottom:1px solid currentColor}
.al.rd[open]>summary::after{content:'Hide'}
.rd-l{list-style:none;margin:10px 0 0;padding:0}.rd-i{padding:8px 0;border-top:1px solid rgba(0,0,0,.08)}.rd-i b{display:block;font-weight:500;font-size:14px}.rd-i small{color:var(--mut,#6b6457);font-size:12.5px}
.rd-far{margin-top:8px}.rd-far>summary{display:inline-block;white-space:nowrap;cursor:pointer;font-size:13px;color:var(--ink,#2b2620);width:max-content;list-style:none;border-bottom:1px solid rgba(0,0,0,.25)}.rd-far>summary::-webkit-details-marker{display:none}.rd-far>summary::after{content:' · show'}.rd-far[open]>summary::after{content:' · hide'}
.rd-n{margin:10px 0 0;font-size:12.5px;color:var(--mut,#6b6457)}
.rd-i.al-hit{box-shadow:0 0 0 2px var(--brass);border-radius:6px}
