/* 3D Stand Plan */
#v3plan{border-color:#ff8a1f!important;color:#ffd2a6}
#v3plan .pro-tag{font-size:.7em;margin-left:4px}
.sp-pin{display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:spDrop .7s cubic-bezier(.2,1.4,.4,1) both}
.sp-pin b{display:grid;place-items:center;width:34px;height:34px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);font:700 18px/1 var(--cond,system-ui);color:#fff;border:2px solid #fff}
.sp-pin b{text-shadow:0 1px 2px #000}
.sp-pin span{margin-top:6px;font:700 10px/1 var(--cond,system-ui);letter-spacing:.12em;color:#fff;background:#0b140dcc;padding:3px 6px;border-radius:3px}
.spk-a b{background:#ff7a10;box-shadow:0 0 18px 4px #ff7a10aa}.spk-b b{background:#1e8fff;box-shadow:0 0 18px 4px #1e8fffaa}.spk-p b{background:#f2c200;color:#1b1b0b;box-shadow:0 0 16px 3px #f2c20099}
.sp-pin b em{font-style:normal;transform:rotate(45deg);display:block}
@keyframes spDrop{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}
#sp-card{position:absolute;left:10px;right:10px;bottom:14px;z-index:5;background:linear-gradient(180deg,#101a12f2,#070c08f7);border:1px solid #ffffff22;border-top:3px solid #ff8a1f;border-radius:12px;padding:10px 12px 8px;color:#eef1e4;box-shadow:0 10px 30px #000c;font-family:var(--cond,system-ui);animation:spUp .6s ease-out both;max-width:560px;margin:0 auto}
@keyframes spUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
#sp-card .sp-h{display:flex;align-items:center;gap:8px}
#sp-card .sp-h b{font-size:17px;letter-spacing:.14em}
#sp-card .sp-est{font:600 10px/1 var(--mono,monospace);color:#ffcf8a;border:1px solid #ffcf8a66;padding:3px 5px;border-radius:3px;text-transform:uppercase}
#sp-card #sp-x{margin-left:auto;background:none;border:0;color:#cfd6c4;font-size:18px;min-width:36px;min-height:36px}
#sp-card .sp-row{display:flex;align-items:stretch;gap:6px;margin:6px 0}
#sp-card .sp-col{flex:1;background:#ffffff0d;border:1px solid #ffffff18;border-radius:8px;padding:6px 8px}
#sp-card .sp-col i{display:block;font-style:normal;font-weight:700;font-size:10px;letter-spacing:.16em;color:#9fd18a}
#sp-card .sp-col span{font-size:12px;line-height:1.25}
#sp-card .sp-arr{display:grid;place-items:center;color:#ff8a1f;font-size:18px}
#sp-card .sp-list{list-style:none;margin:4px 0;padding:0;font-size:12.5px;line-height:1.3}
#sp-card .sp-list li{display:flex;gap:7px;align-items:flex-start;margin:3px 0;animation:spUp .45s ease-out both}
#sp-card .sp-list li b{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;color:#fff}
#sp-card .sa{background:#ff7a10}#sp-card .sb{background:#1e8fff}#sp-card .spk{background:#f2c200;color:#1b1b0b!important}#sp-card .sbd{background:none;color:#ff3b2a!important;font-size:16px!important}
#sp-card .sp-fine{margin:4px 0 0;font:10px/1.3 var(--mono,monospace);color:#9aa391}
body.sp-on #view3d .v3note{display:none}
@media (prefers-reduced-motion:reduce){.sp-pin,#sp-card,#sp-card .sp-list li{animation:none}}
body.sp-on #view3d{z-index:2000}
body.sp-on #v3leg,body.sp-on #v3chip,body.sp-on #view3d .maplibregl-ctrl-bottom-right{display:none!important}
body.sp-on #view3d .v3bar>span{display:none}
body.sp-on #toast{z-index:2100}
#sp-card{padding:8px 10px 6px}
#sp-card .sp-col span{font-size:11px}
#sp-card .sp-list{font-size:11.5px}
#sp-card .sp-fine{font-size:9px}
.sp-mk,.sp-mk *{background-color:transparent}.sp-mk{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;width:auto!important;height:auto!important}

/* collapsible header (look2d build) */
#sp-card .sp-h{cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
#sp-card .sp-chev{color:#ff8a1f;font-size:16px;transition:transform .2s}
#sp-card.sp-col-on{padding:4px 12px}
#sp-card.sp-col-on>:not(.sp-h){display:none}
#sp-card.sp-col-on .sp-chev{transform:rotate(180deg)}
#sp-card.sp-col-on .sp-h b{font-size:14px}
@media (max-width:340px){#sp-card.sp-col-on .sp-est{display:none}}
#sp-card .sp-h{min-height:40px;touch-action:manipulation}
#sp-card.sp-col-on{cursor:pointer;touch-action:manipulation}
#sp-card.sp-col-on .sp-h{min-height:44px}

/* 2D stand plan */
#sp2host{position:fixed;left:0;right:0;top:0;bottom:0;z-index:795;pointer-events:none}
#sp2host>*{pointer-events:auto}
#sp2host #sp-card{bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}
.sp-mk2{width:0!important;height:0!important;overflow:visible}
.sp-mk2 .sp-anc{position:absolute;left:0;top:0;transform:translate(-50%,-100%)}
#t2plan.t3d{bottom:calc(var(--nav,56px) + 194px)}
#t2plan.t3d{font-size:20px}
#t2menu{position:fixed;left:72px;bottom:calc(var(--nav,56px) + 180px);z-index:2070;display:flex;flex-direction:column;gap:6px;background:#101a12f5;border:1px solid #9ccc65;border-radius:12px;padding:8px}
#t2menu button{font:700 15px/1.2 system-ui,sans-serif;color:#e8f5c8;background:#18200f;border:1px solid #5b6b3c;border-radius:8px;padding:10px 12px;text-align:left;min-height:44px}
body.v3-open #t2plan,body.v3-open #t2menu{display:none!important}
#t2plan.t2plan{position:fixed;left:10px;bottom:calc(var(--nav,56px) + 130px);z-index:790;min-width:54px;min-height:54px;border-radius:14px;border:2px solid #9ccc65;background:#18200f;color:#e8f5c8;font:800 17px/1 system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 2px 10px #000a}
#t2plan.t2plan small{font-size:10px;font-weight:600;opacity:.85}
#t2plan.t2plan{bottom:calc(var(--nav,56px) + 194px);font-size:20px}
#view3d #v3classic{opacity:.85}
/* flat2d v3: one shared top bar + layout for 2D and 3D */
body.v2bar-boot #view3d{visibility:hidden!important}
body.v2bar:not(.v3-open) #view3d{bottom:auto!important;height:auto!important;background:transparent!important;pointer-events:none}
body.v2bar:not(.v3-open) #view3d>:not(.v3bar){display:none!important}
body.v2bar #view3d .v3bar{pointer-events:auto}
body.v2bar #hc-hide,body.v2bar #v3classic,body.v2bar #view3d .v3note{display:none!important}
/* under the bar, same spots in both views: search + Me, wind chip, species chip, MGRS */
body.v2bar #mapsearch,body.v2bar #mapbtns,body.v2bar #windchip,body.v2bar #rutchip,body.v2bar #spchip,body.v2bar .fk-mgrs,body.v2bar #rotcomp,body.v2bar #parcelstatus{transform:translateY(var(--v3h,0px))}
body.v2bar.v3-open #mapsearch,body.v2bar.v3-open #spchip,body.v2bar.v3-open #quick,body.v2bar.v3-open #tacbar,body.v2bar.v3-open #rutchip{z-index:2055!important;visibility:visible!important}
body.v2bar.v3-open .fk-mgrs{z-index:2055!important}
body.v2bar.v3-open #mapbtns,body.v2bar.v3-open #windchip{visibility:hidden!important}
body.v2bar.v3-open #view3d .maplibregl-ctrl-bottom-right{bottom:calc(68px + env(safe-area-inset-bottom))!important}
body.v3-open #rotcomp{display:none!important}
body.v2bar #t2plan,body.v2bar #t2menu{display:none!important}
body.v2bar #view3d .v3bar>b{min-width:6.6em}body.v2bar #view3d #v3close{min-width:4.6em}
