/* Styles for the Where to watch (P-051) and Announced vs achieved (P-052) pages and the launch-page panel. Loaded only by those pages. */
.stage-note{background:#2a2410;border:1px solid var(--warn);color:var(--warn);border-radius:var(--r);padding:.5rem .8rem;margin:0 0 1rem;font-size:.9rem}
.btn{display:inline-block;background:var(--accent);color:#120d00;border:2px solid var(--accent);border-radius:999px;padding:.55rem 1.2rem;font-weight:700;cursor:pointer}
.btn:hover{filter:brightness(1.1);border-color:var(--accent)}
.btn:disabled{opacity:.6;cursor:default}
.map-box{height:420px;border:1px solid var(--line);border-radius:var(--r);margin:.6rem 0;background:var(--bg)}
.map-box[hidden]{display:none}
.leaflet-container{font:inherit;background:var(--bg)}
.leaflet-popup-content{color:#111}
.leaflet-popup-content a{color:#0b5cad}
.map-attr{margin-top:.2rem}
@media (max-width:640px){.map-box{height:320px}}
/* badges */
.badge.crowd{border-width:1px}
.c-low{color:var(--ok)}.c-medium{color:var(--accent2)}.c-high{color:var(--warn)}.c-extreme{color:var(--bad)}
.badge.st-achieved{color:var(--ok)}.badge.st-ontrack{color:var(--accent2)}.badge.st-slipped{color:var(--warn)}.badge.st-dropped{color:var(--bad)}.badge.st-unknown{color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0;padding:0;list-style:none;align-items:center}
.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.05rem .6rem;font-size:.78rem;color:var(--mute)}
/* spots + claims */
.spots,.claims{display:grid;gap:1rem}
.spot,.claim{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1rem}
.spot h3,.claim h3{font-size:1.05rem;margin:0 0 .3rem}
.spot dl,.claim dl{grid-template-columns:max-content 1fr;margin:.6rem 0}
.spot dd,.claim dd{overflow-wrap:anywhere}
ul.plain{list-style:none;margin:0;padding:0}
.verify{border-left:3px solid var(--warn);padding:.3rem .8rem;margin:.6rem 0;background:rgba(255,204,77,.06)}
.verify ul{margin:.2rem 0 0;padding-left:1.1rem}
details{margin:.5rem 0}
summary{cursor:pointer;padding:.4rem 0}
.plain-table{width:100%;border-collapse:collapse}
.plain-table th,.plain-table td{text-align:left;padding:.45rem .6rem;border-top:1px solid var(--line);vertical-align:top}
.plain-table th{white-space:nowrap;width:1%}
/* stats strip */
dl.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:.8rem 0}
dl.stats>div{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:.5rem .7rem}
dl.stats dt{color:var(--mute);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
dl.stats dd{margin:.1rem 0 0;font-size:1.05rem;font-weight:700}
/* timeline svg */
svg.tl{display:block;width:100%;max-width:640px;height:auto;margin:.5rem 0}
.tl-axis{stroke:var(--line);stroke-width:2}
.tl-today{stroke:var(--mute);stroke-width:1.5;stroke-dasharray:3 3}
.tl-ann{fill:var(--mute)}
.tl-tgt{fill:var(--accent2)}
.tl-gap{stroke:var(--warn);stroke-width:3}
.tl-end{fill:var(--mute)}
.tl-end.s-achieved{fill:var(--ok)}.tl-end.s-ontrack{fill:var(--accent2)}.tl-end.s-slipped{fill:var(--warn)}.tl-end.s-dropped{fill:var(--bad)}
@media (max-width:640px){.spot dl,.claim dl{grid-template-columns:1fr}}
/* P-051 phase 2: international sites, access labels, filters */
.badge.acc{border-width:1px;white-space:nowrap}
.a-yes{color:var(--ok)}.a-limited{color:var(--accent2)}.a-none{color:var(--bad)}
.filters{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin:.4rem 0 .8rem}
.filters[hidden],.list>li[hidden],.glance tr[hidden]{display:none}
.filters select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--r);padding:.35rem .5rem;font:inherit}
.glance th,.glance td{white-space:normal}
.glance thead th{width:auto;color:var(--mute);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.glance tbody th{white-space:normal;width:auto}
.access-none{border-left:4px solid var(--bad)}.access-limited{border-left:4px solid var(--accent2)}.access-yes{border-left:4px solid var(--ok)}

.tbl-wrap{overflow-x:auto;max-width:100%}
@media (max-width:640px){
 .glance,.glance tbody,.glance tr,.glance th,.glance td{display:block;width:auto}
 .glance thead{position:absolute;left:-9999px}
 .glance tr{padding:.5rem 0;border-bottom:1px solid var(--line,#2a2e3f)}
 .glance th,.glance td{padding:.1rem 0;border:0}
}

/* Moon plans page (/programs/moon/) */
.moon-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;margin:1rem 0}
.moon-side{background:var(--panel,var(--bg));border:1px solid var(--line);border-radius:var(--r);padding:1rem;min-width:0}
.moon-side h2{margin:0 0 .1rem}
.moon-side .who{color:var(--mute);margin:0 0 .6rem;font-size:.9rem}
.lead-label{color:var(--mute);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;margin:.4rem 0 0}
.lead-val{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800;line-height:1.1;margin:.1rem 0;color:var(--accent)}
.moon-count{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.6rem 0;padding:0}
.moon-count li{border:1px solid var(--line);border-radius:999px;padding:.1rem .7rem;font-size:.82rem;color:var(--mute)}
.moon-count b{color:var(--fg,inherit);font-size:1rem;margin-right:.2rem}
.mtl{list-style:none;margin:.8rem 0 0;padding:0 0 .6rem;display:flex;gap:.6rem;overflow-x:auto;position:relative;counter-reset:none}
.mtl::before{content:"";position:absolute;left:0;right:0;top:.95rem;border-top:2px solid var(--line)}
.mstep{flex:0 0 11.5rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:.5rem .7rem .7rem;position:relative;font-size:.86rem;min-width:0}
.mstep .mnum{position:relative;display:inline-block;width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;border-radius:50%;background:var(--bg);border:2px solid var(--line);font-weight:700;font-size:.78rem;margin-bottom:.3rem}
.mstep.s-achieved .mnum{border-color:var(--ok)}.mstep.s-ontrack .mnum{border-color:var(--accent2)}.mstep.s-slipped .mnum{border-color:var(--warn)}.mstep.s-unknown .mnum{border-style:dashed}
.mstep h4{margin:0 0 .2rem;font-size:.95rem}
.mstep .what{margin:.1rem 0 .3rem;color:var(--mute)}
.mstep dl{grid-template-columns:1fr;margin:.4rem 0;gap:0}
.mstep dt{color:var(--mute);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.3rem}
.mstep dd{margin:0;overflow-wrap:anywhere}
.mstep .note{font-size:.8rem}
.mstep .linklist{font-size:.78rem}
.moon-foot{margin:.5rem 0 1rem}
@media (max-width:900px){.moon-cols{grid-template-columns:1fr}}
@media (max-width:640px){.mtl{flex-direction:column;overflow-x:visible}.mtl::before{display:none}.mstep{flex:1 1 auto}}

.mtl-hint{margin:.2rem 0 0}
@media (max-width:640px){.mtl-hint{display:none}}
