/* Special sections: Holy Island crossing times and dark skies. Loaded only on those pages (the home page mini widget uses site.css alone). */
:root{--stop:#B3261E;--amber:#8F5500}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--stop:#FF9C92;--amber:#F0B45B}}

/* Holy Island: the warning, the live check, the tables */
.xwarn{border-left:6px solid var(--warn);font-size:16px;line-height:1.5}
.xlive{margin:18px 0 10px}
.xl{background:var(--blue);color:var(--blue-ink);border-radius:var(--radius);padding:22px 26px 18px;border-left:12px solid var(--sea)}
.xl.safe{border-left-color:var(--good)}.xl.closing{border-left-color:var(--amber)}.xl.unsafe{border-left-color:var(--stop)}.xl.unknown{border-left-color:var(--warn)}
.xl .xl-h{font-size:clamp(26px,4.4vw,40px);font-style:italic;letter-spacing:-.045em;line-height:1.05;margin:0 0 10px}
.xl.safe .xl-h{color:var(--good)}.xl.closing .xl-h{color:var(--amber)}.xl.unsafe .xl-h{color:var(--stop)}
.xl-p{font-size:18px;max-width:62ch;margin:0 0 10px}
.xl-d{font-size:16px;margin:0 0 12px;font-variant-numeric:tabular-nums}
.xl-w{font-size:15px;margin:0 0 6px;padding-top:12px;border-top:1px solid rgba(21,48,61,.22)}
.xl a{color:inherit}
.xl-t{margin:0;opacity:.8}
.xnow{margin:0}
.xafter{margin:16px 0}.xafter p{margin:0}
.xclock{background:var(--cream);color:var(--cream-ink);border-radius:var(--r-sm);padding:12px 16px;font-size:15px;font-weight:600;margin:12px 0}
.xdet{background:var(--card);border-radius:var(--r-sm);margin:10px 0;padding:0 18px 6px}
.xdet>summary{cursor:pointer;padding:16px 0;font:800 21px/1.2 var(--sans);letter-spacing:-.03em}
.xmonth h3{font-size:24px}
.xguide li{margin:6px 0}
.xtable-wrap{overflow-x:auto;margin:12px 0}
.xtable{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;font-variant-numeric:tabular-nums}
.xtable caption{text-align:left;font-size:13px;color:var(--muted);padding:0 0 8px}
.xtable th,.xtable td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.xtable thead th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.xtable tbody th{font-weight:700}
.xtable td{color:var(--muted)}
.xtable td.s{color:var(--ink);font-weight:700;background:rgba(47,107,58,.1)}
.xtable td.x{white-space:normal;color:var(--warn);font-weight:600}
.xtable tr.now th,.xtable tr.now td{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.xtable tr.now th::after{content:" today";font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
@media(max-width:700px){
.xtable thead{display:none}.xtable,.xtable tbody,.xtable tr,.xtable th,.xtable td{display:block}
.xtable tr{border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:6px 0;overflow:hidden}
.xtable tr.now{border:2px solid var(--ink)}.xtable tr.now th,.xtable tr.now td{border-top:0;border-bottom:0}
.xtable th{border:0;padding:6px 12px 4px;font-size:16px}
.xtable td{border:0;padding:5px 12px;display:flex;gap:10px;white-space:normal}
.xtable td::before{content:"Unsafe";flex:none;width:104px;font-size:11px;line-height:1.9;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted)}
.xtable td.s::before{content:"Safe to cross";color:var(--good)}
.xtable td.x::before{content:none}}

/* Dark skies: tonight's sky, the 30-night strip, the sites */
.sky-now{background:var(--night);color:var(--night-ink);border-radius:var(--radius);padding:clamp(22px,4vw,36px);margin:30px 0}
.sky-now h2{margin:0 0 10px;font-style:italic;color:inherit}.sky-now .eyebrow{color:#C9B8E8}
.sky-now a{color:inherit}
.sky-intro{max-width:60ch;opacity:.85}
.sky-ctl{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:14px 0 20px}
.sky-ctl[hidden]{display:none}
.sky-ctl label{font-weight:700}
.sky-ctl select{max-width:100%;padding:11px 18px;font-size:15px}
.sky-now .seg{background:rgba(255,255,255,.1)}.sky-now .seg button{color:var(--night-ink)}.sky-now .seg button:hover{background:rgba(255,255,255,.14)}
.sky-when{font:800 clamp(22px,3vw,30px)/1.1 var(--sans);font-style:italic;letter-spacing:-.04em;margin:0 0 16px}
.sky-grid{display:grid;gap:18px 34px;align-items:start}
@media(min-width:700px){.sky-grid{grid-template-columns:auto 1fr}}
.sky-moon{display:flex;align-items:center;gap:14px}.sky-moon p{margin:0;font-size:17px}
.mdisc{display:block;flex:none}
.sky-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0;font-size:16px}.sky-dl dt{font-weight:700;opacity:.72}.sky-dl dd{margin:0;font-variant-numeric:tabular-nums}
.sky-next{margin:18px 0 6px;font-weight:600}
.sky-now .small{opacity:.75}
.sky-sh{margin:30px 0 6px;font-size:22px;color:inherit}
.sky-key{max-width:70ch}
.sky-strip{list-style:none;margin:12px 0 0;padding:0 0 10px;display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity}
.sky-strip li{flex:none;scroll-snap-align:start}
.sky-n{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:60px;padding:9px 4px 8px;border-radius:14px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:inherit;font:600 12px/1.1 var(--sans);cursor:pointer}
.sky-n:hover{border-color:rgba(255,255,255,.5)}
.sky-n.good{border-color:var(--mark);background:rgba(216,162,58,.14)}
.sky-n.on{background:#fff;color:#111;border-color:#fff}
.sky-n .sd{font-weight:800}.sky-n .sh{opacity:.85;font-weight:500}
.sky-sub{margin:34px 0 12px;font-size:26px}
.sky-map{height:min(480px,60vh)}
.sky-facts li{background:var(--card);border-radius:999px;padding:6px 14px}
.sky-phases{columns:2 300px;column-gap:30px;padding-left:18px;margin:10px 0}.sky-phases li{margin:4px 0;break-inside:avoid}
.sky-seasons .tile.now{box-shadow:inset 0 0 0 2px var(--accent)}
.sky-site dl{font-size:14.5px}
@media print{.sky-now{background:none;color:#000;border:1px solid #999}.sky-ctl,.sky-strip{display:none}}
