:root{--bg:#0E7C86;--tq9:#063F46;--tq8:#07505A;--tq7:#0A6670;--tq6:#0E7C86;--tq5:#12A4B0;--tqTint:#EAF7F8;--tqLine:#BFE3E6;--card:#fff;--ink:#0f1c2b;--mut:#5b6b7d;--line:#e2e7ee;--navy:#0A6670;--gold:#f0b44c;--go:#13804b;--goBg:#e3f5ea;--ca:#9a5b00;--caBg:#fff1d6;--no:#b42318;--noBg:#fde7e4;--blue:#1d5fa8;--r:16px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html{background:#0A6670;color-scheme:light dark}
body{margin:0;background:radial-gradient(120% 420px at 88% 0,rgba(20,179,191,.45),rgba(20,179,191,0) 70%),linear-gradient(180deg,#0A6670 0,#0E7C86 520px) no-repeat,#0E7C86;min-height:100vh;color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
a{color:var(--blue)}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.topbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:#0A6670;color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08),0 6px 18px rgba(6,63,70,.25)}
.brand{display:flex;align-items:center;gap:10px;background:none;border:0;color:#fff;padding:4px;cursor:pointer;text-align:left}
.brand img{border-radius:0;width:34px;height:34px}
.brand span{display:flex;flex-direction:column;line-height:1.1}
.brand small{color:#CDEDF0;font-size:12px}
.topnav{display:flex;gap:6px}
.topnav button{background:rgba(255,255,255,.14);border:0;color:#fff;border-radius:999px;padding:8px 13px;font-size:14px;cursor:pointer}
main{max-width:760px;margin:0 auto;padding:12px}
.card{background:var(--card);border-radius:var(--r);padding:16px;margin:0 0 12px;box-shadow:0 1px 2px rgba(15,28,43,.06),0 4px 14px rgba(15,28,43,.05)}
.card h2,.card h3{margin:0 0 10px;font-size:19px;line-height:1.25}
.card h3{font-size:16px;margin-top:14px}
.lbl{display:block;font-weight:600;font-size:14px;margin:14px 0 6px;color:#2a3a4d}
.form .lbl:first-child{margin-top:0}
input[type=text],input[type=date],input[type=time],input[type=number],select{width:100%;padding:13px 14px;border:1px solid #cfd8e3;border-radius:12px;background:#fff;font-size:17px;min-height:48px}
.addrrow{display:flex;gap:8px}
.addrrow input{flex:1;min-width:0}
.ghost{background:#eef2f7;border:1px solid #cfd8e3;border-radius:12px;min-width:52px;font-size:20px;cursor:pointer}
.addrpick{border:1px solid var(--line);border-radius:12px;margin-top:6px;overflow:hidden}
.addrpick button{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:11px 12px;font-size:14px;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid #cfd8e3;background:#fff;border-radius:999px;padding:9px 13px;font-size:15px;cursor:pointer}
.chips button[aria-checked=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.primary{display:block;width:100%;margin-top:16px;padding:15px;border:0;border-radius:14px;background:var(--gold);color:#063F46;font-weight:700;font-size:17px;cursor:pointer}
.primary:disabled{opacity:.6}
.fine{color:var(--mut);font-size:13px;margin:8px 0 0}
.datenote{margin:8px 0 0;font-size:14px}
.datenote.warn{color:var(--no);font-weight:600}
.datenote.info{color:var(--ca)}
.row2{display:flex;gap:10px}.row2 label{flex:1;font-size:14px;color:var(--mut)}
.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:15px}
.check input{width:22px;height:22px;flex:none;margin-top:1px}
.vtitle{font-size:22px;margin:6px 4px 12px}
.progress ul{list-style:none;padding:0;margin:0}
.progress li{padding:7px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;font-size:15px}
.progress li:last-child{border:0}
.progress li .st{width:22px;flex:none;text-align:center}
.plancard{display:flex;justify-content:space-between;align-items:center;gap:10px}
.plancard .meta{min-width:0}
.plancard .meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plancard small{color:var(--mut)}
.plancard .acts{display:flex;gap:6px;flex:none}
.btn{border:1px solid #cfd8e3;background:#fff;border-radius:10px;padding:9px 12px;font-size:14px;cursor:pointer;text-decoration:none;color:var(--ink);display:inline-block}
.btn.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.danger{color:var(--no)}
/* plan */
.hero{background:linear-gradient(160deg,#063F46,#0A6670);color:#fff;box-shadow:0 6px 22px rgba(6,63,70,.35)}
.hero h2{font-size:20px;margin-bottom:4px}
.hero .sub{color:#CDEDF0;font-size:14px;margin:0 0 12px}
.verdicts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vchip{border-radius:12px;padding:10px 11px;font-size:13px;line-height:1.25;background:rgba(255,255,255,.12)}
.vchip b{display:block;font-size:15px;margin-top:2px}
.vchip.go{background:#174d33}.vchip.ca{background:#5e4209}.vchip.no{background:#6b1d16}
.best{margin-top:12px;background:#fff;color:var(--ink);border-radius:12px;padding:12px}
.best .big{font-size:20px;font-weight:800;color:var(--tq8)}
.best p{margin:4px 0 0;font-size:14px}
.flag{border-radius:12px;padding:11px 12px;margin:8px 0 0;font-size:14px}
.flag.no{background:var(--noBg);color:#7a1a12}.flag.ca{background:var(--caBg);color:#6b3f00}.flag.go{background:var(--goBg);color:#0b5a34}.flag.info{background:#e8f0fb;color:#173f6e}
.mapwrap{position:relative;border-radius:var(--r);overflow:hidden;margin:0 0 12px;box-shadow:0 4px 14px rgba(15,28,43,.08)}
#map{height:min(62vh,460px);width:100%;background:#cfd8e3}
.maplegend{background:#fff;padding:10px 12px;font-size:12.5px;color:var(--mut);display:flex;flex-wrap:wrap;gap:6px 14px}
.maplegend i{display:inline-block;width:14px;height:4px;border-radius:2px;vertical-align:middle;margin-right:5px}
.maptools{position:absolute;z-index:500;right:10px;top:10px;display:flex;gap:6px}
.maptools button{background:#fff;border:0;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px;margin:0}
.kv dt{color:var(--mut)}.kv dd{margin:0;font-weight:600}
.timeline{position:relative;height:34px;border-radius:8px;overflow:hidden;background:#1d2733;margin:10px 0 4px}
.timeline span{position:absolute;top:0;bottom:0}
.tlabels{display:flex;justify-content:space-between;font-size:11px;color:var(--mut)}
.tkey{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--mut);margin-top:6px}
.tkey i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px}
.sides{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.sides th,.sides td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.sides th{font-size:12px;color:var(--mut);font-weight:600}
.frontset{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:14px}
.frontset button{border:1px solid #cfd8e3;background:#fff;border-radius:8px;padding:6px 9px;font-size:13px;cursor:pointer}
.frontset button[aria-pressed=true]{background:var(--navy);color:#fff}
.wx{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}
.wx table{border-collapse:collapse;font-size:13px;min-width:100%}
.wx th,.wx td{padding:6px 7px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.wx th{position:sticky;left:0;background:#fff;text-align:left;color:var(--mut);font-weight:600;z-index:1}
.wx td.go{background:var(--goBg)}.wx td.ca{background:var(--caBg)}.wx td.no{background:var(--noBg)}
.wx td.win{box-shadow:inset 0 3px 0 var(--gold)}
.pill{display:inline-block;border-radius:999px;padding:3px 10px;font-weight:700;font-size:13px}
.pill.go{background:var(--goBg);color:var(--go)}.pill.ca{background:var(--caBg);color:var(--ca)}.pill.no{background:var(--noBg);color:var(--no)}
ul.reasons{margin:8px 0 0;padding-left:20px;font-size:14px}
ul.reasons li{margin:3px 0}
.air-head{font-size:18px;font-weight:800;margin:0 0 6px;line-height:1.3}
.list{list-style:none;padding:0;margin:8px 0 0;font-size:14px}
.list li{padding:6px 0;border-bottom:1px solid var(--line)}
.list li:last-child{border:0}
.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.shots{list-style:none;margin:0;padding:0;counter-reset:s}
.shot{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.shot:last-child{border:0}
.shot .n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.shot .n.vid{background:#7a3db8}
.shot .body{flex:1;min-width:0}
.shot .body strong{display:block}
.shot .spec{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0}
.shot .spec span{background:#eef2f7;border-radius:6px;padding:2px 7px;font-size:12.5px}
.shot .note{font-size:13.5px;color:#3b4a5c;margin:0}
.shot input[type=checkbox]{width:24px;height:24px;flex:none;margin-top:3px}
.shot.done .body{opacity:.55;text-decoration:line-through}
.cheat{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cheat div{background:#f5f7fa;border-radius:12px;padding:11px}
.cheat h4{margin:0 0 6px;font-size:14px}
.cheat p{margin:2px 0;font-size:13.5px}
.tips{list-style:none;padding:0;margin:0}
.tips li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.tips li:last-child{border:0}
.tips .ic{flex:none;width:24px;text-align:center}
.tips small{display:block;color:var(--mut);font-size:12px;margin-top:2px}
.checklist label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.checklist input{width:22px;height:22px;flex:none}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}
.actions .btn{text-align:center;padding:12px;font-weight:600}
.srcs{font-size:12px;color:var(--mut)}
.foot{max-width:760px;margin:0 auto;padding:10px 16px 30px;color:var(--mut);font-size:12px;text-align:center}
.sunicon{font-size:20px;line-height:1;text-shadow:0 0 4px #000}
.lbl-marker{background:var(--navy);color:#fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-weight:700;font-size:13px;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.lbl-marker.vid{background:#7a3db8}
.lbl-marker.to{background:var(--gold);color:#063F46;border-radius:8px;width:30px;height:30px;font-size:15px}
.gridlbl{background:rgba(255,255,255,.85);border:0;border-radius:4px;padding:0 3px;font-weight:700;font-size:11px;color:#7a1a12;box-shadow:none}
.leaflet-tooltip.gridlbl:before{display:none}
@media (min-width:640px){.verdicts{grid-template-columns:repeat(4,1fr)}}
@media (max-width:370px){.cheat{grid-template-columns:1fr}}
@media print{
 .topbar,.foot,.maptools,.actions,.noprint,#formView{display:none!important}
 html,body{background:#fff!important}
 main{max-width:none;padding:0}
 .card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
 .hero{background:#fff;color:#000;border:2px solid #000}.hero .sub{color:#333}
 .vchip{background:#eee!important;color:#000}
 #map{height:420px}
 .wx{overflow:visible}
}

/* v2: groups, fleet, spots, today */
.verdicts .vchip:first-child{grid-column:1/-1}
.jobgrp{margin:0 0 10px}.grplbl{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:2px 0 6px}
.ghostwide{width:100%;margin-top:10px;padding:12px 14px;border-radius:12px;border:1px dashed #7FC6CD;background:var(--tqTint);color:var(--tq8);font-size:15px;font-weight:600;cursor:pointer;text-align:left}
.chips.seg button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.fleet{display:grid;gap:8px}.fleetgrp{border:1px solid var(--line);border-radius:12px;padding:6px 10px 8px;margin:0}
.fleetgrp legend{font-weight:700;font-size:13px;color:var(--mut);padding:0 4px}
.fleetrow{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--line);font-size:14px}
.fleetgrp .fleetrow:first-of-type{border-top:0}
.fleetrow span{display:flex;flex-direction:column;gap:2px;min-width:0}.fleetrow small{color:var(--mut);font-size:12px;line-height:1.35}.fleetrow a{font-size:12px}
.dronebar select{margin-top:2px}
.spots{list-style:none;margin:0;padding:0}
.spot{display:flex;gap:10px;background:var(--card);border-radius:14px;padding:12px;margin:0 0 10px;border-left:5px solid #c4ccd6;box-shadow:0 1px 2px rgba(15,28,43,.06)}
.today .spot{box-shadow:none;background:#f7f9fb;margin:0 0 8px}
.spot.go{border-left-color:#13a35a}.spot.ca{border-left-color:#e0a100}.spot.no{border-left-color:#d23030}
.spot .sic{font-size:22px;width:30px;flex:none;text-align:center;line-height:1.2}
.spot .sic.num{font-size:14px;font-weight:700;background:var(--navy);color:#fff;border-radius:50%;width:26px;height:26px;line-height:26px;margin-top:2px}
.spot .body{flex:1;min-width:0}.spot strong{display:block;font-size:15px;overflow-wrap:anywhere}.spot small{color:var(--mut);font-size:13px}
.spot .why{margin:6px 0 0;font-size:14px}.spot .note{margin:6px 0 0;font-size:13px;color:#6b3f00}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;background:#eef2f7;color:#2a3a4d}
.badge.go{background:var(--goBg);color:var(--go)}.badge.ca{background:var(--caBg);color:var(--ca)}.badge.no{background:var(--noBg);color:var(--no)}
.spot .acts{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.spotsmap{height:min(42vh,320px);border-radius:var(--r);margin:0 0 12px;background:#cfd8e3}
.todaymap{height:190px;border-radius:12px;margin:0 0 10px;background:#cfd8e3}
.todayhead{display:flex;justify-content:space-between;align-items:center;gap:8px}.todayhead h2{margin:0;font-size:19px}
.spotshead{display:flex;align-items:center;gap:10px}.spotshead h2{margin:0}
.spotpin{width:24px;height:24px;border-radius:50%;background:#888;color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.spotpin.go{background:#13a35a}.spotpin.ca{background:#d99a00}.spotpin.no{background:#d23030}
.flag button.btn{margin-left:6px;padding:5px 10px}

.chips.seg{gap:6px}.chips.seg button{padding:6px 11px;font-size:14px}
.todayhead h2{font-size:18px}.todayhead .btn{white-space:nowrap;flex:none}
#spotsView .card.form .lbl{margin-top:10px}

/* v3: maps that appear right away, Map/Satellite/Google, directions sheet */
.topbar{z-index:1200}
.mapwrap .maptools{z-index:1002}
.maptools button[aria-pressed=true]{background:var(--navy);color:#fff}
.maptools.sm{top:8px;right:8px;gap:4px}.maptools.sm button{padding:6px 9px;font-size:12px}
.todaywrap,.spotswrap{position:relative}
.gmapwrap{position:absolute;left:0;right:0;top:0;height:min(62vh,460px);z-index:1001;background:#cfd8e3}
.gmapwrap iframe{width:100%;height:100%;border:0;display:block}
.gmapnote{margin:0;background:#fff7e6;color:#6b3f00;font-size:12.5px;padding:8px 12px}
.maprow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;padding:10px 12px;border-top:1px solid var(--line)}
.maprow .btn{font-weight:600}.maprow .navnow{margin:0;flex:1 1 auto;text-align:right}
.linkbtn{background:none;border:0;color:var(--blue);font-size:13px;padding:4px 0;cursor:pointer;text-decoration:underline}
.addrpick button small{display:block;color:var(--mut);font-size:12px;margin-top:2px}
#spotsPick{background:#fff;margin:0 0 10px}
#spotsPick summary{padding:10px 12px;font-size:13.5px;color:var(--blue);cursor:pointer}
#spotsStatus{scroll-margin-top:70px}
.sheet{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheetbg{position:absolute;inset:0;background:rgba(4,40,45,.5)}
.sheetcard{position:relative;width:100%;max-width:520px;background:#fff;border-radius:18px 18px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -6px 30px rgba(0,0,0,.25);transform:translateY(0);transition:transform .2s ease}
.grab{width:40px;height:5px;border-radius:3px;background:#d3dae3;margin:0 auto 10px}
.sheetcard h2{margin:0;font-size:19px}
.sheetcard #dirTo{margin:4px 0 12px;overflow-wrap:anywhere}
.diropts{display:grid;gap:8px}
.diropt{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:600;background:#f8fafc}
.diropt .ic{font-size:22px;width:28px;text-align:center}.diropt span:nth-child(2){flex:1}.diropt small{display:block;font-size:12px;font-weight:500;color:var(--go)}
.diropt .chev{color:var(--mut);font-size:22px}
.sheetcard .cancel{display:block;width:100%;margin-top:12px;padding:13px;font-size:16px;font-weight:600}
#sNav{width:100%;font-size:16px;padding:10px;border-radius:10px;border:1px solid #cfd8e3;background:#fff}
@media print{.gmapwrap,.gmapnote,.maprow,.sheet{display:none!important}}

/* v4 */
.alsogood{margin:6px 0 0;font-size:14px}
.diropt.small{padding:10px 14px;font-size:15px;background:#fff}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#063F46;color:#fff;padding:12px 16px;border-radius:12px;font-size:15px;opacity:0;pointer-events:none;transition:all .2s;z-index:4000;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.spot.db{border-left:4px solid var(--gold)}
.spot .when{margin:4px 0;font-size:13.5px;font-weight:600;color:var(--tq8)}
details.ideas{margin:8px 0;font-size:14px}
details.ideas summary{cursor:pointer;color:var(--blue);font-weight:600;padding:4px 0}
details.ideas ul,details.ideas ol{margin:6px 0 6px 18px;padding:0}
details.ideas li{margin:3px 0}
.rule{padding:8px 10px;border-radius:10px;background:var(--caBg)}
.rule.go{background:var(--goBg)}.rule.no{background:var(--noBg)}
.spotguide h3{font-size:15px;margin:12px 0 4px}
.spotguide ol.ideas{margin:4px 0 8px 20px;padding:0}.spotguide ol.ideas li{margin:4px 0}
.mission .row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.mission .row3 label{font-size:13px;color:var(--mut);display:flex;flex-direction:column;gap:4px}
.mission .row3 span{display:flex;align-items:center;gap:4px;color:var(--ink)}
.mission .row3 input{width:100%;min-width:0;font-size:16px;padding:8px;border-radius:8px;border:1px solid #cfd8e3}
.missionwrap{position:relative;margin:8px 0}
.missionmap{height:220px;border-radius:12px;overflow:hidden;background:#dde3ea}
.mission .acts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.mission .acts .btn{padding:12px;font-weight:600}
.steps{margin:6px 0 6px 20px;padding:0}.steps li{margin:6px 0}

/* v5: Find me a spot */
.findcta{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;text-align:left;border:0;border-radius:var(--r);padding:14px 16px;margin:0 0 12px;background:linear-gradient(135deg,#063F46,#0A6670);color:#fff;border:1px solid rgba(255,255,255,.16);cursor:pointer;box-shadow:0 4px 14px rgba(15,28,43,.18)}
.findcta span{grid-row:1/3;font-size:32px;line-height:1}
.findcta b{font-size:17px}
.findcta small{color:#CDEDF0;font-size:13px}
.q{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.q:first-child{padding-top:0}
.q b{display:block;font-size:16px;margin:2px 0 8px}
.q .mut{color:var(--mut);font-weight:400}
.qn{width:26px;height:26px;border-radius:50%;background:var(--gold);color:#063F46;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.q .chips button{padding:8px 12px;font-size:14.5px}
.fcard h3{margin:0;font-size:18px}
.fhead{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;margin-bottom:10px}
.fhead small{color:var(--mut);font-size:13px}
.rank{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.fscore{text-align:center;background:var(--goBg);color:var(--go);border-radius:12px;padding:4px 10px;line-height:1.1}
.fscore b{font-size:22px;display:block}.fscore small{font-size:11px}
.sat{display:block;text-decoration:none;color:var(--mut)}
.satin{position:relative;overflow:hidden;border-radius:12px;max-width:100%;background:#2b3a2b}
.satin img{position:absolute;width:256px;height:256px;max-width:none}
.satpin{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:3px solid #ffd400;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.45)}
.sat small{font-size:11.5px}
.fphotos small{font-size:11.5px;color:var(--mut)}
.phrow{display:flex;gap:6px;margin-top:8px;overflow-x:auto}
.phrow img{height:72px;width:auto;border-radius:8px;display:block}
.whyl{margin:4px 0 6px;padding-left:20px;font-size:14px}
.whyl li{margin:2px 0}
.wx.go{color:var(--go)}.wx.ca{color:var(--ca)}.wx.no{color:var(--no)}
.acts.wrap{flex-wrap:wrap;margin-top:10px}
.rule{font-size:13.5px;margin:6px 0 0}
.rule.no{color:var(--no)}.rule.ca{color:#6b3f00}
@media (max-width:380px){.satin{width:100%!important}}

.mcodebox summary{font-weight:600;cursor:pointer}
.mcodebox .btn{min-width:70px}
.mcode{font:700 22px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.5px;background:#fff;border:1px dashed #7FC6CD;border-radius:10px;padding:10px;margin:8px 0;word-break:break-all;user-select:all;-webkit-user-select:all}
.okc{color:var(--go)}.warnc{color:var(--ca)}
.flag.info{background:#e8f1fb;color:#123}

.psheet{max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.psheet textarea{width:100%;font:13px/1.4 ui-monospace,Menlo,monospace;border:1px solid #cfd8e3;border-radius:10px;padding:10px;margin-top:8px}
.psheet .row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.psheet .row2 label{font-size:13px;font-weight:600;color:#2a3a4d}
.psheet .row2 input{min-height:42px;padding:8px 10px;font-size:15px}
.psheet h3{font-size:15px;margin:14px 0 6px}
.psheet .cancel{width:100%;margin-top:12px}
.launchmap{height:240px;border-radius:12px;margin:8px 0;background:#2b3a2b}
.launchlist{padding-left:0;list-style:none;margin:6px 0}
.launchlist li{border:1px solid var(--line);border-radius:12px;padding:10px;margin:6px 0;font-size:14px}
.launchlist .badge{margin:4px 4px 0 0}
.lpin{background:#13d17a;color:#05220f;border:2px solid #fff;border-radius:50%;font-weight:800;font-size:12px;display:flex!important;align-items:center;justify-content:center}
.pbtns{margin-top:8px}

.phc{display:flex;flex-direction:column;flex:none;max-width:120px;text-decoration:none;color:inherit}
.phcap{font-size:10px;line-height:1.2;color:#6b7280;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* turquoise theme (v7): text that sits straight on the page background */
.vtitle{color:#fff}
.view>.fine,#recent>.fine,#plansList>.fine,#permitsList>.fine,#findResults>.fine,#findMore>.fine{color:#EEFAFB}
.view>.fine a,.foot a{color:#fff;text-decoration:underline}
.foot{color:#EEFAFB}
.foot .hgm{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;color:#fff;font-weight:600;letter-spacing:.2px}
.foot .hgm img{width:22px;height:22px}
.byhgm{display:flex;align-items:center;gap:12px;margin:2px 0 14px}
.byhgm img{width:54px;height:54px;flex:none;background:linear-gradient(160deg,#0A6670,#0E7C86);border-radius:12px;padding:8px}
.byhgm b{display:block}.byhgm small{color:var(--mut)}
.spotshead .btn{background:rgba(255,255,255,.95)}

/* v7: help ?, BETA, feedback, first-run cards */
.helpq{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:8px;border-radius:50%;border:1.5px solid currentColor;background:transparent;color:inherit;font:700 13px/1 -apple-system,system-ui,sans-serif;vertical-align:middle;cursor:pointer;opacity:.75;padding:0}
.helpq:hover,.helpq:focus-visible{opacity:1}
.card .helpq{color:var(--tq7)}
.vtitle .helpq,.hero .helpq{color:#fff}
summary .helpq{width:22px;height:22px}
.linkbtn{background:none;border:0;padding:0;color:var(--tq7);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.view>.fine .linkbtn{color:#fff}
.beta{display:inline-block;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:1px;background:var(--gold);color:#063F46;border-radius:5px;padding:2px 5px;vertical-align:1px;margin:0 3px 0 0}
.iconbtn{font-size:16px!important;padding:8px 10px!important}
@media (max-width:374px){.topbar .brand small .beta~*{display:none}.topnav button{padding:8px 10px}}
body.uxlock{overflow:hidden}
.uxcard{max-height:86vh;overflow:auto}
.uxhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.uxhead h2{margin:0;font-size:19px}
.uxx{border:0;background:#eef3f4;border-radius:50%;width:34px;height:34px;font-size:15px;cursor:pointer;flex:none}
.uxhelp p{margin:10px 0;font-size:15.5px;line-height:1.5}
.uxhelp a{color:var(--tq7)}
.uxfb{margin-top:8px}
.uxlist{list-style:none;padding:0;margin:8px 0 12px}
.uxrow{display:flex;justify-content:space-between;width:100%;text-align:left;background:var(--tqTint);border:0;border-radius:12px;padding:13px 14px;margin:0 0 6px;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer}
.uxrow span{color:var(--tq7)}
.uxbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fbmine li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.fbmine .reply{background:var(--tqTint);border-radius:10px;padding:8px 10px;font-size:14px}
#uxSheet textarea{width:100%;font:16px/1.4 inherit;font-family:inherit;padding:11px 12px;border:1px solid #cfd8e3;border-radius:12px}
.fbattach{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
#fbPrev{display:block;max-width:140px;max-height:200px;border-radius:10px;margin-top:8px;border:1px solid var(--line)}
.uxdone{text-align:center;padding:10px 0}.uxdone .big{font-size:44px}
#uxOnb{position:fixed;inset:0;z-index:5000;background:rgba(4,40,45,.72);display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .25s}
#uxOnb.out{opacity:0}
.onbcard{background:#fff;border-radius:22px;width:min(420px,100%);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.onbtrack{display:flex;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.onbslide{flex:0 0 100%;padding:30px 24px 8px;text-align:center}
.onbslide h2{margin:12px 0 8px;font-size:22px}.onbslide p{margin:0;color:#3b4a5c;font-size:16px;line-height:1.5}
.onbic{width:84px;height:84px;margin:0 auto;border-radius:24px;display:grid;place-items:center;font-size:40px;background:linear-gradient(160deg,#0A6670,#12A4B0)}
.onbdots{display:flex;justify-content:center;gap:8px;margin:18px 0 6px}.onbdots i{width:8px;height:8px;border-radius:50%;background:#cfe7ea}.onbdots i.on{background:var(--tq7);width:22px;border-radius:4px}
.onbacts{display:flex;gap:10px;padding:10px 20px 20px}.onbacts .btn{flex:1;font-size:16px}.onbacts .primary{flex:2;margin:0}

/* fixed light form controls: the phone's dark mode or Android "force dark" must not repaint them */
input,select,textarea{color:var(--ink);background-color:#fff;color-scheme:light}
input::placeholder,textarea::placeholder{color:#7a8794}

.accessok{margin:0;font-size:15px}
.stars{display:inline-block;font-size:.78em;font-weight:700;color:#B26B00;white-space:nowrap;margin-left:4px}.stars small{font-weight:600;opacity:.8}
.hero .stars,.vtitle .stars{color:#FFD58A}
.visitrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.visitrow .btn{background:rgba(255,255,255,.95);border:0;color:#063F46;font-weight:700}
.visitrow .visited{font-size:14px;font-weight:600}
.btn.sm{padding:7px 11px;font-size:14px}
.starrow{display:flex;gap:6px;justify-content:center;margin:6px 0 4px}
.starrow button{font-size:38px;line-height:1;background:none;border:0;color:#cfd8e3;cursor:pointer;padding:2px 4px}
.starrow button.on{color:#F0A531}
/* DARK MODE (v7): dim turquoise, same layout. Generated from the light rules, then hand-tuned. */
@media (prefers-color-scheme: dark){
html{background:#074951}
body{background:radial-gradient(120% 420px at 88% 0,rgba(20,179,191,.45),rgba(20,179,191,0) 70%),linear-gradient(180deg,#074951 0,#0A5860 520px) no-repeat,#0A5860}
.topbar{background:#074951;color:#E6DED2}
.brand{color:#E6DED2}
.topnav button{background:rgba(230,242,240,0.084);color:#E6DED2}
.lbl{color:#D5CDBE}
input[type=text],input[type=date],input[type=time],input[type=number],select{border:1px solid #1D5960;background:#083D43}
.ghost{background:#09434A;border:1px solid #1D5960}
.addrpick button{background:#083D43}
.chips button{border:1px solid #1D5960;background:#083D43}
.chips button[aria-checked=true]{color:#E6DED2}
.btn{border:1px solid #1D5960;background:#083D43}
.btn.dark{color:#E6DED2}
/* plan */
.hero{background:linear-gradient(160deg,#042E32,#074951);color:#E6DED2}
.vchip{background:rgba(230,242,240,0.072)}
.best{background:#083D43}
.flag.no{color:#E49B95}
.flag.ca{color:#E4C495}
.flag.go{color:#95E4BE}
.flag.info{background:#09444A;color:#95B9E4}
#map{background:#0B5057}
.maplegend{background:#083D43}
.maptools button{background:#083D43}
.frontset button{border:1px solid #1D5960;background:#083D43}
.frontset button[aria-pressed=true]{color:#E6DED2}
.wx th{background:#083D43}
.shot .n{color:#E6DED2}
.shot .n.vid{background:#683E92}
.shot .spec span{background:#09434A}
.shot .note{color:#D1C9B8}
.cheat div{background:#094147}
.ghostwide{border:1px dashed #1D5960}
.chips.seg button[aria-pressed=true]{color:#E6DED2}
.spot{border-left:5px solid #1D5960}
.today .spot{background:#094046}
.spot .sic.num{color:#E6DED2}
.spot .note{color:#E4C495}
.badge{background:#09434A;color:#D5CDBE}
.spotsmap{background:#0B5057}
.todaymap{background:#0B5057}
.maptools button[aria-pressed=true]{color:#E6DED2}
.gmapwrap{background:#0B5057}
.gmapnote{background:#3E3219;color:#E4C495}
.maprow{background:#083D43}
#spotsPick{background:#083D43}
.sheetcard{background:#083D43}
.grab{background:#0B4F56}
.diropt{background:#094046}
#sNav{border:1px solid #1D5960;background:#083D43}
.diropt.small{background:#083D43}
.toast{background:#042E32;color:#E6DED2}
.mission .row3 input{border:1px solid #1D5960}
.missionmap{background:#0A4B52}
/* v5: Find me a spot */
.findcta{background:linear-gradient(135deg,#042E32,#074951);color:#E6DED2;border:1px solid rgba(230,242,240,0.096)}
.rank{color:#E6DED2}
.satin{background:#263026}
.rule.ca{color:#E4C495}
.mcode{background:#083D43;border:1px dashed #1D5960}
.flag.info{background:#09444A;color:#9CBDDE}
.psheet textarea{border:1px solid #1D5960}
.psheet .row2 label{color:#D5CDBE}
.launchmap{background:#263026}
.phcap{color:#C8BDA8}
/* turquoise theme (v7): text that sits straight on the page background */
.vtitle{color:#E6DED2}
.view>.fine a,.foot a{color:#E6DED2}
.foot .hgm{color:#E6DED2}
.byhgm img{background:linear-gradient(160deg,#074951,#0A5860)}
.spotshead .btn{background:#17494F}
.vtitle .helpq,.hero .helpq{color:#E6DED2}
.view>.fine .linkbtn{color:#E6DED2}
.uxx{background:#09444B}
#uxSheet textarea{border:1px solid #1D5960}
.onbcard{background:#083D43}
.onbslide p{color:#D1C9B8}
.onbdots i{background:#0B4E56}
/* fixed light form controls: the phone's dark mode or Android "force dark" must not repaint them */
input,select,textarea{background-color:#083D43}
:root{--bg:#073A40;--card:#08444B;--ink:#E6DED2;--mut:#A9C6C4;--line:#1D5960;--navy:#0F6E77;--gold:#E0AA50;--go:#62C891;--goBg:#123D2F;--ca:#E3B566;--caBg:#3B3014;--no:#F2958A;--noBg:#43211E;--blue:#8FD3E0;--tqTint:#11515A;--tqLine:#1D5960;--tq8:#9BDDE4;--tq7:#7FD0D8}
html{background:#052E33}
body{background:radial-gradient(120% 420px at 88% 0,rgba(20,179,191,.16),rgba(20,179,191,0) 70%),linear-gradient(180deg,#052E33 0,#073A40 520px) no-repeat,#073A40}
.topbar{background:#052E33;box-shadow:0 1px 0 rgba(255,255,255,.05)}
.card{box-shadow:0 1px 2px rgba(0,0,0,.25),0 4px 14px rgba(0,0,0,.18)}
input[type=text],input[type=date],input[type=time],input[type=number],select,textarea,#uxSheet textarea{background-color:#063A40;color:#E6DED2;color-scheme:dark}
input::placeholder,textarea::placeholder{color:#7FA3A3}
.primary{background:#D9A85A;color:#052E33}
.hero{background:linear-gradient(160deg,#052A2E,#0A4A50)}
.findcta{background:linear-gradient(135deg,#052A2E,#0A4A50)}
.uxx{background:#14555C;color:#E6DED2}
.uxrow{color:#E6DED2}
.onbcard{background:#08444B}
.onbslide p{color:#C9D9D7}
.onbdots i{background:#1D5960}
#uxOnb{background:rgba(2,24,27,.78)}
.sheetbg{background:rgba(2,24,27,.6)}
.leaflet-container{background:#15454A}
.foot{color:#BFD8D6}
.view>.fine,#recent>.fine,#plansList>.fine,#permitsList>.fine,#findResults>.fine,#findMore>.fine{color:#C9DEDC}
.byhgm img{background:linear-gradient(160deg,#072F34,#0E474D)}
.leaflet-tile-pane{filter:brightness(.82) saturate(.9)}
.helpq{opacity:.85}
.stars{color:#F2C26B}
.starrow button{color:#1D5960}.starrow button.on{color:#F0B44C}
.visitrow .btn{background:#0F6E77;color:#E6DED2}
.card .helpq,.linkbtn,.uxrow span,.uxhelp a{color:#8FD3DB}
}

/* v8 smart suggestions */
.toast.show{pointer-events:auto}
.toast .tlink{background:none;border:0;color:#EFA77A;font-weight:700;font-size:15px;text-decoration:underline;padding:0 0 0 6px;cursor:pointer}
.sugbar{display:flex;gap:8px;align-items:stretch;margin:10px 0 4px}
.sugbar .ghostwide{flex:1;margin-top:0;display:flex;flex-direction:column;gap:1px}
.sugbar .ghostwide small{font-weight:500;font-size:12.5px;color:var(--mut)}
.sugbar .sugshuf{flex:none;white-space:nowrap;border-radius:12px;font-weight:600;color:var(--tq8);border-color:var(--tqLine)}
.sugbar .ghostwide:disabled,.sugbar .sugshuf:disabled{opacity:.7;cursor:progress}
.btn.nfm{color:var(--mut);border-color:var(--line);font-size:13px;padding:7px 10px}
.hidlist{list-style:none;margin:6px 0 10px;padding:0}
.hidlist li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.hidlist li span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.hidlist .btn{flex:none;padding:6px 10px}
@media (prefers-color-scheme: dark){.sugbar .sugshuf{background:#083D43;color:#9BDDE4}.btn.nfm{color:#A9C6C4}}

/* v10: Show more / Shuffle row on top of the suggestions (one compact row, fits an iPhone SE) */
.sugbar.top{margin:10px 0 2px;gap:8px;align-items:center}
.sugbar[hidden]{display:none}
.sugbar .sugmore{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:5px;padding:9px 12px;border-radius:12px;border:1.5px solid var(--tqLine);background:var(--tqTint);color:var(--tq8);font-size:14.5px;font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;line-height:1.2}
.sugbar .sugmore small{font-weight:500;font-size:12.5px;color:var(--mut);overflow:hidden;text-overflow:ellipsis}
.sugbar.top .sugshuf{padding:9px 12px;font-size:14.5px;line-height:1.2}
.sugbar .sugnone{flex:1;font-size:13px;color:var(--mut)}
.sugbar .sugmore:disabled{opacity:.7;cursor:progress}
.sugmini{text-align:center;margin:4px 0 0}
.sugmini:empty{display:none}
.sugmini .linkbtn{color:var(--tq8);font-size:14px;font-weight:600;text-decoration:none;padding:8px 6px}
.sugmini .linkbtn:disabled{opacity:.6}
@media (max-width:400px){.sugbar .sugmore .nb{display:none}.sugbar .sugmore,.sugbar.top .sugshuf{padding:9px 9px;font-size:13.5px}.sugbar.top{gap:6px}.sugbar .sugmore small{font-size:12px;flex:none}}
@media (max-width:340px){.sugbar .sugmore small{display:none}}
@media (prefers-color-scheme: dark){.sugbar .sugmore{background:#083D43;color:#9BDDE4;border-color:#1D5960}.sugbar .sugmore small{color:#A9C6C4}.sugmini .linkbtn{color:#8FD3DB}}

/* v10 update prompt (Android WebView shell) */
.updwall{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#0A6670,#0E7C86);color:#fff;text-align:center}
.updwall .updbox{max-width:360px}
.updwall h2{font-size:24px;margin:14px 0 8px;color:#fff}
.updwall p{font-size:16px;line-height:1.45;color:#E6F6F7;margin:0 0 10px}
.updwall .updnotes{font-size:14px;color:#CDEDF0}
.updwall .updgo{width:100%;margin-top:14px;padding:15px;font-size:17px;border-radius:14px;background:#F0B44C;color:#063F46;border:0;font-weight:800}
.updlead{font-size:16px;font-weight:600;margin:0 0 6px}
.updacts{display:flex;gap:10px;margin-top:14px}.updacts .btn{flex:1;padding:12px;font-size:16px;border-radius:12px}
.updacts .btn.primary{background:#F0B44C;color:#063F46;border:0;font-weight:800}
@media (prefers-color-scheme: dark){.updwall{background:linear-gradient(160deg,#052E33,#073A40)}.updwall h2{color:#E6DED2}.updwall p{color:#D5CDBE}.updwall .updgo,.updacts .btn.primary{background:#D9A85A;color:#052E33}}

/* Oct 21 2026 custom icon set (src/icons.js): inline line icons in the brand turquoise, sized to the text around them */
.spi{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.24em;flex:none;color:var(--spi,#0E7C86)}
.spi .a{fill:#14B3BF;fill-opacity:.28;stroke:none}
button .spi,.btn .spi,a.primary .spi,.primary .spi,.topbar .spi,.tabs .spi,.flag .spi,.msg .spi,.pill .spi,.chip .spi,[aria-pressed=true] .spi{--spi:currentColor}
.sppin-wrap{background:none;border:0}
.sppin{display:block;filter:drop-shadow(0 2px 3px rgba(4,40,45,.35))}
@media (prefers-color-scheme: dark){.spi{--spi:#7FD0D8}.spi .a{fill-opacity:.22}}
.airbadge{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.35)}.airbadge .spi{--spi:#0A6670}
.pwrow button.eye{display:flex;align-items:center;justify-content:center;padding:0 12px}.pwrow button.eye .spi{width:22px;height:22px;--spi:#0E7C86}

/* Oct 21 2026 — one brand across all of Shmily's apps (light is the default look): background #EAF6F7, white cards, primary #0E7C86,
   deep #0A6670, accent #14B3BF, text #063F46, icons #0E7C86. The top bar stays deep #0A6670. Dark mode keeps its own colors. */
@media (prefers-color-scheme: light){
:root{--bg:#EAF6F7;--card:#fff;--ink:#063F46;--mut:#4E6E73;--line:#D5ECEE;--navy:#0A6670;--tqTint:#E3F4F5;--tqLine:#BFE3E6}
html{background:#EAF6F7}
body{background:#EAF6F7;color:#063F46}
.card{box-shadow:0 1px 2px rgba(6,63,70,.06),0 6px 18px rgba(6,63,70,.07);border:1px solid #DDEFF0}
.primary{background:#0E7C86;color:#fff}
.primary .spi{--spi:#fff}
.btn{border-color:#BFE3E6}
.vtitle,.vtitle .helpq{color:#063F46}
.view>.fine,#recent>.fine,#plansList>.fine,#permitsList>.fine,#findResults>.fine,#findMore>.fine,.foot{color:#4E6E73}
.view>.fine a,.foot a,.view>.fine .linkbtn{color:#0A6670}
.foot .hgm{color:#063F46}
.findcta{background:linear-gradient(135deg,#0A6670,#0E7C86);color:#fff}
.findcta .spi{--spi:#fff}
.spotshead .btn,.visitrow .btn{background:#fff;border:1px solid #BFE3E6}
.chips button[aria-checked=true],.chips.seg button[aria-pressed=true],.frontset button[aria-pressed=true],.maptools button[aria-pressed=true]{background:#0E7C86;border-color:#0E7C86}
:focus-visible{outline-color:#14B3BF}
}

/* Oct 21 2026 — bottom tab bar (Plan · Find · Fly · Plans · Settings), Go fly card at the top of every plan, Fly sheet */
body.hastabs{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
body.hastabs .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:1100;display:flex;align-items:flex-end;justify-content:space-around;max-width:100%;background:#fff;border-top:1px solid #D5ECEE;padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(6,63,70,.10)}
.tabbar button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:54px;padding:4px 0 2px;border:0;background:none;color:#4E6E73;font-family:inherit;font-weight:600;font-size:11.5px;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tabbar .ti{display:flex;align-items:center;justify-content:center;width:44px;height:28px;border-radius:14px}
.tabbar .ti .spi{width:24px;height:24px;--spi:currentColor}
.tabbar button[aria-current=page]{color:#0E7C86}
.tabbar button[aria-current=page] .ti{background:#E3F4F5}
.tabbar .tfly{color:#063F46}
.tabbar .tfly .ti{width:56px;height:56px;border-radius:50%;margin-top:-26px;background:#0E7C86;color:#fff;border:4px solid #fff;box-shadow:0 4px 14px rgba(14,124,134,.40)}
.tabbar .tfly .ti .spi{width:26px;height:26px;--spi:#fff}
.tabbar .tfly .tl{font-weight:700}
.tabbar button:focus-visible{outline:2px solid #14B3BF;outline-offset:-2px;border-radius:10px}
body.innative .tabbar{display:none}
/* Oct 23 2026 (Shmily): Plans and Settings live in the bottom bar; the header keeps only the logo and the feedback button.
   The buttons stay in the page (the bottom bar uses them) and come back only inside the phone app's web view, where there is no bottom bar. */
.topnav #plansBtn,.topnav #settingsBtn{display:none}
body.innative .topnav #plansBtn,body.innative .topnav #settingsBtn{display:inline-block}
body.innative.hastabs{padding-bottom:0}
.formh{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:19px;color:var(--ink)}
.gofly{scroll-margin-top:80px;border:2px solid #14B3BF!important}
.gofly .gfhead{display:flex;align-items:center;gap:12px}
.gofly .gfic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#E3F4F5;flex:none}
.gofly .gfic .spi{width:26px;height:26px;--spi:#0E7C86}
.gofly h2{margin:0;font-size:20px;color:var(--ink)}
.gofly small{display:block;color:var(--mut);font-size:13.5px}
.gofly .gfgo{margin-top:12px;font-size:18px;display:flex;align-items:center;justify-content:center;gap:8px;background:#0E7C86;color:#fff}
.gofly .gfgo .spi{--spi:#fff}
.gofly .gfacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.gofly .gfacts .btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 8px;font-weight:600}
.gofly .gfsteps{margin:12px 0 0;padding-left:22px;font-size:14px;line-height:1.45;color:var(--ink)}
.gofly .gfsteps li{margin:0 0 6px}
.gofly .gffoot{margin:6px 0 0}
.gofly.pulse{animation:gfpulse 1.2s ease 1}
@keyframes gfpulse{0%{box-shadow:0 0 0 0 rgba(20,179,191,.55)}100%{box-shadow:0 0 0 14px rgba(20,179,191,0)}}
.mission{scroll-margin-top:80px}
.flylist{display:flex;flex-direction:column;gap:8px;margin:0 0 6px}
.flyrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px;border:1px solid #D5ECEE;border-radius:14px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}
.flyrow .ti .spi{width:24px;height:24px}
.flyrow .fm{flex:1;min-width:0}.flyrow .fm b{display:block;overflow-wrap:anywhere}.flyrow .fm small{color:var(--mut);font-size:13px}
.flyrow .go{flex:none;padding:7px 14px;border-radius:10px;background:#0E7C86;color:#fff;font-weight:700;font-size:14px}
#flySheet .sheetcard{max-height:86vh;overflow:auto}
#flySheet h2{display:flex;align-items:center;gap:8px}
@media (prefers-color-scheme: dark){
 .tabbar{background:#08444B;border-top-color:#1D5960;box-shadow:0 -4px 18px rgba(0,0,0,.35)}
 .tabbar button{color:#A9C6C4}
 .tabbar button[aria-current=page]{color:#9BDDE4}
 .tabbar button[aria-current=page] .ti{background:#0B5A62}
 .tabbar .tfly{color:#E6DED2}
 .tabbar .tfly .ti{background:#12A4B0;border-color:#08444B}
 .gofly .gfic{background:#0B5A62}.gofly .gfic .spi{--spi:#9BDDE4}
 .gofly .gfgo{background:#12A4B0;color:#052E33}.gofly .gfgo .spi{--spi:#052E33}
 .flyrow{background:#083D43;border-color:#1D5960}
 .flyrow .go{background:#12A4B0;color:#052E33}
}
@media print{.tabbar,#flySheet{display:none!important}body.hastabs{padding-bottom:0}}
.hero .herofly{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:12px 0 4px;padding:13px 12px;border:0;border-radius:14px;background:#fff;color:#0A6670;font-family:inherit;font-weight:700;font-size:17px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.hero .herofly .spi{width:24px;height:24px;--spi:#0E7C86}
.gofly.done .gfsteps{background:#E3F4F5;border-radius:12px;padding:10px 10px 4px 30px}
@media (prefers-color-scheme: dark){.hero .herofly{background:#12A4B0;color:#052E33}.hero .herofly .spi{--spi:#052E33}.gofly.done .gfsteps{background:#0B5A62}}
@media print{.hero .herofly{display:none!important}}

/* ---- Oct 23 2026: new flight tools ---- */
.fthead{display:flex;align-items:center;gap:6px;margin-bottom:8px}.fthead h2{margin:0;font-size:19px}
.ftcard{max-height:88vh;overflow:auto}
.ftnote{display:flex;gap:8px;align-items:flex-start;background:var(--tqTint);border:1px solid var(--tqLine);border-radius:12px;padding:10px 12px;margin:0 0 12px;font-size:14px;color:var(--ink)}
.ftnote .spi{flex:none;margin-top:2px}
.ftopts{display:grid;gap:8px;margin-top:12px}
.laancbox{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin:0 0 10px}
.laancbox div{background:#F5FBFB;border:1px solid var(--tqLine);border-radius:12px;padding:8px 10px;min-width:0}
.laancbox small{display:block;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.laancbox b{display:block;font-size:14px;color:var(--ink);overflow-wrap:anywhere}
#laancCopy{width:100%;font-weight:600}
.primary.laancgo{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 4px}
.laancrow{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#FFF6E5;border:1px solid #F3D9A6;border-radius:12px;padding:9px 10px 9px 12px;margin:10px 0 2px;font-size:14px;color:#6B4400}
.laancrow .btn{flex:none;padding:8px 14px;font-weight:700}
@media (prefers-color-scheme: dark){.laancbox div{background:#083D43;border-color:#1D5960}.laancrow{background:#3A2E12;border-color:#6B5520;color:#F3D9A6}}
.uxsec{margin:10px 0 4px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
#uxSheet{z-index:3100}

.fcheck h2 .pill{font-size:12px;vertical-align:middle}
.fchours{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;margin:4px -2px 6px;scrollbar-width:none}
.fchours::-webkit-scrollbar{display:none}
.fchours button{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:42px;padding:7px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:600 13px/1 -apple-system,system-ui,sans-serif;cursor:pointer}
.fchours button i{width:10px;height:10px;border-radius:50%;background:#1E9E5A}
.fchours button.bad i{background:#D64532}
.fchours button[aria-checked=true]{border-color:#0E7C86;background:#E3F4F5;box-shadow:inset 0 0 0 1px #0E7C86}
.fcverdict{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;font-weight:700;font-size:15px}
.fcverdict.ok{background:#E3F5EA;color:#13804B}.fcverdict.bad{background:#FDE7E4;color:#B42318}
.fcrows{list-style:none;margin:8px 0 0;padding:0}
.fcrows li{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line)}
.fcrows li:last-child{border-bottom:0}
.fcrows .ic{width:24px;flex:none;color:var(--tq7)}
.fcrows .nm{flex:1;font-weight:600;font-size:15px}.fcrows .nm small{display:block;font-weight:500;font-size:12px;color:var(--mut)}
.fcrows .val{text-align:right;font-weight:700;font-size:15px}.fcrows .val small{display:block;font-weight:500;font-size:12px;color:var(--mut)}
.fcrows .dot{width:14px;height:14px;border-radius:50%;flex:none;background:#1E9E5A}
.fcrows li.bad .dot{background:#D64532}.fcrows li.bad .val{color:#B42318}
.fcfoot{margin-top:10px}
#limitsCard .lim{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:600}
#limitsCard .limin{display:flex;align-items:center;gap:6px}
#limitsCard .limin input{width:78px;text-align:right;padding:8px 10px;font-size:16px;border:1px solid var(--line);border-radius:10px}
#limitsCard .limin em{font-style:normal;color:var(--mut);font-size:13px;min-width:28px}
.limbtns{display:flex;gap:8px;margin-top:12px}.limbtns .btn{flex:1;padding:11px;font-weight:700}
@media (prefers-color-scheme: dark){.fchours button{background:#083D43;color:#E6DED2;border-color:#1D5960}.fchours button[aria-checked=true]{background:#0B5A62}.fcverdict.ok{background:#0F3B2A;color:#7FE0A8}.fcverdict.bad{background:#4A1A16;color:#FFB4A8}}
.fcrows .dot.na{background:#C9D6D8}

.wprof{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.wphead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}
.wphead span{font-size:11px;color:var(--mut);display:flex;align-items:center;gap:4px;white-space:nowrap}
.wphead i{display:inline-block;width:10px;height:10px;border-radius:3px}
.wphead .kw,.wpbar .w{background:#0E7C86}.wphead .kg,.wpbar .g{background:#9FD9DE}.wphead .kl{width:2px;height:12px;background:#D64532;border-radius:0}
.wprow{display:grid;grid-template-columns:52px 1fr 78px;align-items:center;gap:8px;padding:4px 0}
.wph{font-size:13px;font-weight:700;color:var(--ink);text-align:right}
.wpbar{position:relative;height:16px;background:#F0F7F8;border-radius:8px;overflow:hidden}
.wpbar i{position:absolute;left:0;top:0;bottom:0;border-radius:8px}
.wpbar .lim{position:absolute;top:-2px;bottom:-2px;width:2px;background:#D64532}
.wprow.bad .wpbar .w{background:#D64532}.wprow.bad .wpbar .g{background:#F4B4AA}
.wpv{font-size:14px;font-weight:700;line-height:1.1}.wpv small{font-weight:600;color:var(--mut)}.wpv em{display:block;font-style:normal;font-size:11px;font-weight:500;color:var(--mut)}
.wprow.bad .wpv{color:#B42318}
@media (prefers-color-scheme: dark){.wpbar{background:#083D43}}

.magl{margin:8px 0 10px;padding:10px 12px;border:1px solid var(--tqLine);border-radius:14px;background:#F7FCFC;min-height:20px}
.magl:empty{display:none}.magl.loading{opacity:.6}
.aglhead{font-size:14px;margin-bottom:6px}
.aglnums{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}
.aglnums div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 8px}
.aglnums small{display:block;font-size:11px;color:var(--mut)}.aglnums b{font-size:16px;color:var(--ink)}.aglnums b.bad{color:#B42318}
.aglsvg{display:block;width:100%;height:110px;background:#fff;border-radius:10px;border:1px solid var(--line)}
@media (prefers-color-scheme: dark){.magl{background:#073A40;border-color:#1D5960}.aglnums div,.aglsvg{background:#083D43;border-color:#1D5960}}
.mtlbl{flex-basis:100%;display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}

.v3wrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--tqLine);background:#EAF6F7}
#v3c{display:block;width:100%;touch-action:none;cursor:grab}
.v3hud{position:absolute;left:8px;top:8px;right:8px;pointer-events:none}
.v3hud span{display:inline-block;background:rgba(255,255,255,.92);color:#063F46;border-radius:10px;padding:5px 9px;font-size:12px;font-weight:700}
.v3ctl{display:flex;align-items:center;gap:8px;margin-top:10px}
.v3ctl input[type=range]{flex:1;accent-color:#0E7C86}
.v3ctl .btn{padding:9px 12px;font-weight:700}
.v3btn{width:100%;margin:2px 0 8px;font-weight:700}

.camf{margin:4px 0 10px}
.cfout{margin:6px 0 4px;font-size:14px}
.cfrow{display:flex;align-items:center;gap:8px}.cfrow input{width:110px}.cfrow span{color:var(--mut);font-size:14px}
.cfneed{list-style:none;margin:8px 0 0;padding:0}
.cfneed li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;margin-top:6px;border:1px solid var(--line);border-radius:12px;background:#F7FCFC;font-size:14px}
.cfneed b{color:var(--tq7)}.cfneed b.bad{color:#B42318}
#cfH{width:100%;accent-color:#0E7C86}
@media (prefers-color-scheme: dark){.cfneed li{background:#073A40;border-color:#1D5960}}

.plansseg{margin:0 0 12px}.plansseg button{flex:1;padding:10px 12px;font-size:15px;font-weight:700}
.plansseg{display:flex}
.logtot .lgnums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.lgnums div{background:#F5FBFB;border:1px solid var(--tqLine);border-radius:12px;padding:10px 4px}
.lgnums b{display:block;font-size:24px;color:#0A6670}.lgnums small{font-size:12px;color:var(--mut)}
.lgdrones,.lgbats{list-style:none;margin:10px 0 0;padding:0}
.lgdrones li,.lgbats li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px;border-bottom:1px solid var(--line);font-size:14px}
.lgbats li span{flex:1}.lgbats small{display:block;color:var(--mut);font-size:12px}
.lgrow{padding:12px 14px}.lgr1{display:flex;justify-content:space-between;align-items:center;gap:8px}.lgrow small{color:var(--mut)}.lgrow p{margin:6px 0 0;font-size:14px}
.iconbtn{background:none;border:0;padding:6px;color:var(--mut);cursor:pointer}
#lgForm .row2 label{display:flex;flex-direction:column;gap:4px;margin-top:10px}#lgForm .limin{display:flex;align-items:center;gap:6px}#lgForm .limin input{width:90px}
#lgForm textarea{width:100%;box-sizing:border-box}
@media (prefers-color-scheme: dark){.lgnums div{background:#083D43;border-color:#1D5960}.lgnums b{color:#9BDDE4}}
.gridinfo{margin:6px 0 8px;padding:10px 12px;border:1px solid var(--tqLine);border-radius:14px;background:#F7FCFC;font-size:14px}.gridinfo .flag{margin-top:8px}
@media (prefers-color-scheme: dark){.gridinfo{background:#073A40;border-color:#1D5960}}

.parts{margin:6px 0 10px;padding:10px 12px;border:1px solid var(--tqLine);border-radius:14px;background:#F7FCFC;font-size:14px}
.parts.one{color:var(--ink)}
.partshead{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.partshead span{color:var(--mut);font-size:13px}
.partlist{list-style:none;margin:0;padding:0}
.partlist li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;padding:8px 0;border-top:1px solid var(--line)}
.partlist li .pn{display:flex;flex-direction:column;font-weight:700}.partlist li .pn small{font-weight:400;color:var(--mut);font-size:12px}
.partlist li .btn{padding:7px 10px;font-size:13px;min-height:0;margin:0}
.partlist li.next .pn{color:#0E7C86}.partlist li.done .pn{color:var(--mut);text-decoration:line-through}
.gfparts{display:flex;align-items:center;gap:6px;margin:8px 0 6px;font-size:15px}
@media (prefers-color-scheme: dark){.parts{background:#073A40;border-color:#1D5960}}

/* Oct 23 2026: Night sky card (moon + Milky Way core) */
.nsnights button small{font-weight:500;font-size:11px;color:var(--mut)}
.nsnights button.ok i{background:#E0A21B}
.nsnights button.good i{background:#1E9E5A}
.nsverdict{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;font-size:15px;line-height:1.35}
.nsverdict small{display:block;font-size:13px;font-weight:500;margin-top:2px}
.nsverdict.ok{background:#E3F5EA;color:#13804B}.nsverdict.mid{background:#FFF4DB;color:#8A5A00}.nsverdict.bad{background:#FDE7E4;color:#B42318}
.nsrows .ic svg.nsmoon{display:block}
.nsnext{margin-top:8px}
@media (prefers-color-scheme: dark){.nsverdict.ok{background:#0F3B2A;color:#7FE0A8}.nsverdict.mid{background:#3D2F0B;color:#F3CF7A}.nsverdict.bad{background:#4A1A16;color:#F5A097}}
.nsnights{gap:5px;overflow:visible}.nsnights button{flex:1 1 0;min-width:0;padding:7px 2px}

/* 2.2.0 (Oct 25 2026): 3D preview key + tip; in-app (native) view: bigger, easier text */
.v3tip{margin:8px 0 0;font-size:14px;color:#0A6670;font-weight:700}
.v3key{list-style:none;margin:10px 0 0;padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;background:#EAF6F7;border-radius:12px;border-left:4px solid #14B3BF}
.v3key li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#063F46;line-height:1.25}
.v3key i{flex:0 0 22px;height:4px;border-radius:2px;display:inline-block}
.v3key b{flex:0 0 12px;width:12px;height:12px;border-radius:50%;display:inline-block;margin:0 5px}
.v3key i.v3drop{height:14px;width:0;flex:0 0 22px;background:linear-gradient(90deg,transparent 10px,#9fb7ba 10px,#9fb7ba 12px,transparent 12px)}
.v3key i.v3sh{background:repeating-linear-gradient(90deg,rgba(0,0,0,.45) 0 4px,transparent 4px 8px)}
.v3key i.v3fp{height:10px;background:transparent;border:2px solid #fff;box-shadow:0 0 0 1px #9fb7ba}
.v3key i.v3cam{height:9px;flex:0 0 13px;margin:0 4px 0 5px;background:#fff;border:1.5px solid #063F46;border-radius:2px}
body.innative .fine,body.innative .datenote{font-size:14.5px;line-height:1.45}
body.innative{font-size:16px}

/* ---- Oct 27 2026: My shots (plan your own shot on the map) ---- */
.mscta{border-style:solid;border-color:#14B3BF;background:#fff;color:#0A6670;display:flex;align-items:center;gap:8px}
.mscta .spi,.msnew .spi{flex:none}
.mswrap{position:relative}
.msmap{height:min(52vh,430px);width:100%;background:#cfd8e3;cursor:crosshair}
.mshint{position:absolute;z-index:1001;left:50%;bottom:16px;transform:translateX(-50%);background:#fff;color:#063F46;font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.25);white-space:nowrap;pointer-events:none;display:flex;align-items:center;gap:6px;line-height:1}
.msplace{margin:-4px 4px 12px;color:#063F46;font-size:15px;line-height:1.35}
.msplace b{display:block}.msplace small{display:block;color:var(--mut);font-size:12.5px;margin-top:2px}
.msform textarea{width:100%;font:16px/1.4 inherit;font-family:inherit;padding:11px 12px;border:1px solid #cfd8e3;border-radius:12px;min-height:76px;resize:vertical}
.msrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.msrow .lbl{white-space:nowrap}
.msacts{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.msacts .btn{flex:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.msrowc{border-left:4px solid #14B3BF}
.msico{flex:none;width:38px;height:38px;border-radius:12px;background:#EAF6F7;color:#0E7C86;display:inline-flex;align-items:center;justify-content:center;line-height:0}
.msrowc .meta{flex:1}
.msrowc .acts .btn{min-width:44px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.mscard{border-left:4px solid #14B3BF}.mscard h2{display:flex;align-items:center;gap:8px}
.msnotes{white-space:pre-wrap;margin:0 0 10px;background:#EAF6F7;border-radius:10px;padding:10px 12px;color:#063F46}
@media (prefers-color-scheme: dark){.mscta{background:#083D43;color:#9BDDE4}.mshint{background:#083D43;color:#E6DED2}.msplace{color:#E6DED2}.msico{background:#0B5A62;color:#9BDDE4}.msnotes{background:#0B5A62;color:#E6DED2}.msform textarea{border:1px solid #1D5960}}
.mshint[hidden],.msacts .btn[hidden],#myShotView [hidden]{display:none!important}
#plansSeg{flex-wrap:nowrap;gap:6px}#plansSeg button{flex:1 1 auto;white-space:nowrap;padding:9px 8px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1.1}
.msrowc{flex-wrap:wrap;align-items:flex-start}.msrowc .meta{flex:1 1 calc(100% - 60px)}.msrowc .meta strong{white-space:normal}.msrowc .acts{flex:1 1 100%;padding-left:48px}.msrowc .acts [data-msplan]{flex:1}
/* Oct 27 2026: round icon buttons: glyph dead-center (no baseline offset) */
.uxx,.ghost{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0}.uxx .spi,.ghost .spi{display:block}
.msnew{margin-bottom:12px;display:flex;align-items:center;gap:8px}.msrowc .acts .btn{gap:6px}
/* Oct 27 2026: computer-size screens. The tab bar's five tabs sit together under the 760 px column (not spread across the whole
   screen), and bottom sheets (help, feedback, directions) open as a centered card. */
@media (min-width:820px){
 .tabbar{justify-content:center}.tabbar button{flex:0 1 152px}
 .sheet{align-items:center;padding:24px}.sheetcard{border-radius:18px;max-height:calc(100vh - 48px);overflow:auto;padding-bottom:16px}.sheetcard .grab{display:none}
}

/* Oct 27 2026: every sheet has its X at the top (stays in view while the sheet scrolls) and closes with a swipe down */
.shhead{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-10px;z-index:5;background:inherit;margin:0 -16px 8px;padding:4px 16px 6px}
.shhead h2{margin:0;font-size:19px;flex:1;min-width:0}
.fthead.shhead{gap:6px}
.shx{flex:none;margin-left:auto}
.sheetcard{overscroll-behavior:contain}
.sheetcard .grab{position:relative;touch-action:none}
.sheetcard .grab::after{content:"";position:absolute;left:-40px;right:-40px;top:-12px;bottom:-12px}
.gffull{margin-top:10px;padding-top:10px;border-top:1px solid #d7ebec}.gffull h3{margin:0 0 4px;font-size:16px;color:#0A6670}.gffull [data-gfhide]{margin-top:8px}
.sheetcard .shx{display:none}.sheetcard.tall .shx{display:inline-flex}
@media (min-width:820px){.sheetcard .shx{display:inline-flex}}

/* Oct 27 2026 — lime accent (Shmily picked #6CBF3A, option 3): ONLY the selected choice, the main action button and the active tab.
   Text on lime is the dark ink #063F46 (contrast ≈ 6.7:1; white on lime would be ≈ 2.3:1). Everything else stays turquoise. */
:root{--lime:#6CBF3A;--limeDk:#5AAA2C;--limeTint:#E9F6E0}
.primary,a.primary{background:#6CBF3A;color:#063F46;font-weight:700}
.primary .spi,a.primary .spi{--spi:#063F46}
.primary:active:not(:disabled){background:#5AAA2C}
.chips button[aria-checked=true],.chips.seg button[aria-pressed=true],.frontset button[aria-pressed=true],.maptools button[aria-pressed=true]{background:#6CBF3A;border-color:#5AAA2C;color:#063F46;font-weight:600}
.chips button[aria-checked=true] .spi,.chips.seg button[aria-pressed=true] .spi,.frontset button[aria-pressed=true] .spi,.maptools button[aria-pressed=true] .spi{--spi:#063F46}
.fchours button[aria-checked=true]{border-color:#5AAA2C;background:#E9F6E0;box-shadow:inset 0 0 0 1px #5AAA2C}
.tabbar button[aria-current=page]{color:#063F46}
.tabbar button[aria-current=page] .ti{background:#6CBF3A}
.tabbar button[aria-current=page] .tl{font-weight:700}
.tabbar .tfly .ti{background:#6CBF3A;color:#063F46;box-shadow:0 4px 14px rgba(90,170,44,.45)}
.tabbar .tfly .ti .spi{--spi:#063F46}
.gofly .gfgo,.flyrow .go{background:#6CBF3A;color:#063F46}
.gofly .gfgo .spi,.flyrow .go .spi{--spi:#063F46}
/* 2.6.7 (Shmily, Nov 2 2026): Find inside Plan (the switch), Settings = gear at the top right, Gallery + Book tabs */
.topnav #settingsBtn.gearbtn{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;font-size:20px;line-height:1}
.topnav #settingsBtn.gearbtn .spi{width:22px;height:22px;--spi:#fff}
.topnav #settingsBtn.gearbtn[aria-current=page]{background:#6CBF3A}
.topnav #settingsBtn.gearbtn[aria-current=page] .spi{--spi:#063F46}
#findBtn[hidden],#todayCard[hidden],#recent[hidden],.spotshead[hidden]{display:none!important}
.modesw{display:flex;gap:4px;background:#D5ECEE;border-radius:14px;padding:4px;margin:0 0 12px}
.modesw button{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#0A6670;font:inherit;font-weight:600;font-size:15.5px;padding:11px 6px;border-radius:11px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.modesw button[aria-selected=true]{background:#6CBF3A;color:#063F46;font-weight:800}
.modesw button .spi{width:20px;height:20px;--spi:currentColor}
.modesw button:focus-visible{outline:2px solid #14B3BF;outline-offset:1px}
.fopts{margin-top:10px}.fopts summary{cursor:pointer;color:#0E7C86;font-weight:700;font-size:14px;padding:4px 0}
@media (prefers-color-scheme: dark){.modesw{background:#0B3D42}.modesw button{color:#A9C6C4}.modesw button[aria-selected=true]{color:#063F46}.fopts summary{color:#9BDDE4}}
