html{background:var(--bg,#8cc8f0)}#sky-bg{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;z-index:-1;pointer-events:none;display:block}@media print{#sky-bg{display:none}html{background:#fff}}
:root{--bg:#f6f5f1;--glass:rgba(246,245,241,.93);--ink:#1d2328;--mute:#5d676e;--line:#d9d6cc;--card:#fff;--hit:#1f5f8b;--bad:#a23b2a;--camp:#2e7d4f}
@media(prefers-color-scheme:dark){:root:not([data-look]){--bg:#16191c;--glass:rgba(22,25,28,.92);--ink:#e6e4de;--mute:#9aa3a8;--line:#2e3438;--card:#1e2327;--hit:#6fb0dd;--bad:#e08a78;--camp:#7cc79a}}
:root[data-look=night]{--bg:#16191c;--glass:rgba(22,25,28,.92);--ink:#e6e4de;--mute:#9aa3a8;--line:#2e3438;--card:#1e2327;--hit:#6fb0dd;--bad:#e08a78;--camp:#7cc79a;color-scheme:dark}
:root[data-look=arctic]{--bg:#0d1b22;--glass:rgba(13,27,34,.92);--ink:#e2f1f6;--mute:#93aeb8;--line:#22404b;--card:#12262f;--hit:#7fd3ea;--bad:#e08a78;--camp:#7cc79a;color-scheme:dark}
:root[data-look=blueprint]{--bg:#0b2242;--glass:rgba(11,34,66,.92);--ink:#eaf2ff;--mute:#a8bddb;--line:#2a4b78;--card:#102b52;--hit:#9cc8ff;--bad:#e08a78;--camp:#7cc79a;color-scheme:dark}
:root[data-look=paper]{--bg:#f6f5f1;--glass:rgba(246,245,241,.93);--ink:#1d2328;--mute:#5d676e;--line:#d9d6cc;--card:#fff;--hit:#1f5f8b;--bad:#a23b2a;--camp:#2e7d4f;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:transparent;color:var(--ink);font:16px/1.5 Georgia,'Times New Roman',serif;padding:1rem .6rem 2rem}
main{max-width:46rem;margin:0 auto;padding:2rem 1rem 4rem;background:var(--glass);border-radius:10px;box-shadow:0 8px 30px rgba(20,40,90,.22)}
.ad{display:block;margin:0 0 1rem}
h1{font-size:1.8rem;margin:0 0 .25rem}
.sum{color:var(--mute);margin:0 0 1.25rem}
.ui{font:.9rem system-ui,sans-serif}
.row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin-bottom:.7rem}
input[type=search],select,button{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.4rem .65rem}
input[type=search]{width:100%}
button{cursor:pointer}
.chip[aria-pressed=true],.tp[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
:focus-visible{outline:2px solid var(--hit);outline-offset:2px}
#orgs{margin-bottom:.7rem}
#orgs summary{cursor:pointer}
.ol{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.2rem .8rem;margin-top:.6rem;max-height:16rem;overflow:auto;padding:.4rem;border:1px solid var(--line);border-radius:4px;background:var(--card)}
.ol label{display:block}
#count{color:var(--mute);margin:.2rem 0 .8rem}
.day h2{position:sticky;top:0;margin:0;padding:.6rem 0 .3rem;background:var(--bg);font-size:1.05rem;border-bottom:1px solid var(--line)}
ul{list-style:none;margin:0 0 1rem;padding:0}
li{display:grid;grid-template-columns:4rem 1fr auto;gap:.5rem;padding:.55rem 0;border-bottom:1px solid var(--line);align-items:start}
li.unsure{opacity:.8}
.t{font:600 .95rem system-ui,sans-serif;color:var(--hit)}
li a{color:var(--ink);text-decoration-color:var(--line)}
li p{margin:.1rem 0 0;font:.85rem system-ui,sans-serif;color:var(--mute)}
li i{font-style:normal;border:1px solid var(--line);border-radius:3px;padding:0 .3rem;margin-left:.3rem}
li i.lang{border-color:var(--hit);color:var(--hit)}
li i.new{background:var(--hit);color:var(--bg);border-color:var(--hit);font-weight:600}
.cal{font:.78rem system-ui,sans-serif;padding:.2rem .5rem;color:var(--mute)}
@media(max-width:34rem){li{grid-template-columns:3.4rem 1fr}.act{grid-column:2;justify-self:start}}
details.src{margin-top:2rem;font:.88rem system-ui,sans-serif}
details.src li{display:block;border:0;padding:.15rem 0}
details.src a{color:var(--hit)}
.warn{color:var(--bad)}
[hidden]{display:none!important}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
#ui,#look{white-space:nowrap;font:.85rem system-ui,sans-serif}.top #look{margin-left:auto;flex:none}.top #ui{flex:none}
.tg{color:var(--mute);margin-left:.3rem}
.tp{font:.85rem system-ui,sans-serif;padding:.25rem .6rem}
.rep{display:block;font:.82rem system-ui,sans-serif;color:var(--hit);margin-top:.15rem}
li i.rng{border-color:var(--ink);color:var(--ink)}
.alt a{color:var(--mute)}
.more{margin:.2rem 0 .8rem;color:var(--mute)}
.fb{margin-top:2rem;color:var(--mute)}
.fb a{color:var(--hit)}
.crumb{margin:0 0 .6rem}.crumb a{color:var(--hit)}
.bigbox{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.7rem .9rem;margin:0 0 1rem;font:.88rem/1.4 system-ui,sans-serif}
.bigbox h2{font-size:1rem;margin:0 0 .4rem;border:0;padding:0}.bigbox h3{font-size:.85rem;margin:.7rem 0 .2rem;color:var(--mute)}
.bigbox ul{list-style:none;margin:0;padding:0}.bigbox li{display:block;border:0;border-bottom:1px solid var(--line);padding:.35rem 0}
.bigbox li small{display:block;color:var(--mute)}.bigbox .bd{display:block;font-weight:600;color:var(--hit)}
.bigbox li a{color:var(--ink)}.bigbox summary{cursor:pointer;font-weight:600}.bigall{margin:.6rem 0 0}.bigall a{color:var(--hit)}
li.bigev{box-shadow:inset 3px 0 0 var(--hit);padding-left:.5rem}.star{font-style:normal;color:var(--hit);border:0!important;padding:0!important}
li.campev{box-shadow:inset 3px 0 0 var(--camp);padding-left:.5rem}.star.cp{color:var(--camp)}
.sn{font-style:normal;border:0!important;padding:0!important;cursor:help}
.uq{font-style:normal;border:0!important;padding:0!important;margin-left:.25rem;color:var(--mute);cursor:help}a.nt{font-style:italic;color:var(--mute)}
main.wide{max-width:70rem}
@media(min-width:62rem){main.wide{display:grid;grid-template-columns:minmax(0,46rem) 19rem;gap:2rem;align-items:start}
.bb-d{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.bb-m{display:none}}
@media(max-width:61.99rem){.bb-d{display:none}}
.ic{display:inline-block;min-width:1.5em;margin-right:.15rem}
.act{display:flex;gap:.2rem;align-items:flex-start}.rpt{border:0;background:none;color:var(--mute);padding:.2rem .4rem}
a.btn{font:.85rem system-ui,sans-serif;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.4rem .65rem;text-decoration:none}
li p a.map{color:inherit;text-decoration:underline dotted}.tp::before{content:attr(data-ic) " "}
.pinfo,.pnote{display:none}.lim{margin:0 0 .8rem;color:var(--mute);font:.88rem system-ui,sans-serif}
@media print{
:root{--bg:#fff;--ink:#000;--mute:#444;--line:#999;--card:#fff;--hit:#000}
body{font-size:10.5pt}main{max-width:none;padding:0}
.top button,.ui,.act,.fb,.bigbox,details.note,details.src,.crumb,.lim,.ad{display:none!important}body{padding:0}main{background:#fff;box-shadow:none}
.pinfo,.pnote{display:block;margin:.25rem 0;font:9pt system-ui,sans-serif}
.day h2{position:static;break-after:avoid;font-size:11pt}
li{break-inside:avoid;padding:.25rem 0;grid-template-columns:3.2rem 1fr}li.unsure{opacity:1}
li a{color:#000;text-decoration:none}li a::after{content:" · " attr(data-h);font:8pt system-ui,sans-serif;color:#444}li a.map::after{content:none}
li i{border:0;padding:0}.t{color:#000}}
details.note{border-left:4px solid var(--hit);background:var(--card);padding:.5rem .9rem;margin:0 0 .9rem;font:.88rem/1.45 system-ui,sans-serif}
details.note summary{cursor:pointer}details.note p{margin:.5rem 0 0}
.tb{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.6rem 0}
.gb{padding:.45rem .25rem;font:.85rem system-ui,sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb[aria-expanded=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.gb.on{border-color:var(--hit)}.gn{color:var(--hit);font-weight:600}.gb[aria-expanded=true] .gn{color:var(--bg)}
.panel{border:1px solid var(--line);border-radius:4px;background:var(--card);padding:.7rem;margin-bottom:.7rem}
.f{display:block;margin-bottom:.6rem}.f span{display:block;font-size:.8rem;color:var(--mute)}.f select{width:100%}
.f2{display:block;margin-bottom:.35rem}
@media(max-width:34rem){h1{font-size:1.4rem}main{padding-top:1rem}body{padding:.5rem .35rem 1.5rem}}
.mt{margin-top:.6rem}
li i.cx{border-color:var(--bad);color:var(--bad)}
/* other ways to show the list (views.js): Board, Timeline, Week, Posters */
.vsel{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 .8rem;font:.85rem system-ui,sans-serif}
.vbtn{padding:.25rem .7rem;border-radius:999px}
.vbtn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.vbox{font:.92rem/1.4 system-ui,sans-serif;margin-bottom:1rem}
.vbox ul{list-style:none;margin:0;padding:0}
.vbox li{display:block;padding:0;border:0}
.vbox a{color:var(--ink);text-decoration-color:var(--line)}
.vbox a.vq::after{content:' ?';color:var(--mute)}
.vnone,.vnote{color:var(--mute);font-size:.85rem;margin:.6rem 0}
.vchips{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}
.vchip{font-size:.72rem;border:1px solid var(--line);border-radius:999px;padding:0 .45rem;color:var(--mute)}
.vchip.vbig{border-color:var(--hit);color:var(--hit)}.vchip.vcamp{border-color:var(--camp);color:var(--camp)}
/* Board: a departures board, always dark */
.vboard{background:#0d1114;color:#e9e6dc;border-radius:8px;padding:.7rem .9rem;font-family:ui-monospace,Menlo,Consolas,monospace}
.vboard a{color:#f3efe2;text-decoration:none}.vboard a:hover{text-decoration:underline}
.vbhead{display:flex;justify-content:space-between;color:#f3c64f;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #2b3238;padding-bottom:.4rem;margin-bottom:.3rem}
.vboard .vbrow{display:grid;grid-template-columns:3.2rem .9rem 1fr auto;gap:.5rem;align-items:baseline;padding:.4rem 0;border-bottom:1px solid #1d2328}
.vboard .vbsub{color:#8f989e;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:.6rem 0 .1rem}
.vbt{color:#f3c64f;font-weight:600}
.vbdot{width:.6rem;height:.6rem;border-radius:50%;background:#f3c64f;opacity:var(--b,.3);box-shadow:0 0 calc(var(--b,.3)*10px) #f3c64f;align-self:center}
.vbti small{display:block;color:#8f989e;font-size:.75rem}
.vbin{color:#8f989e;font-size:.78rem;white-space:nowrap}
.vboard .vnone{color:#8f989e}
/* Timeline */
.vtday h3{position:sticky;top:0;background:var(--bg);margin:0;padding:.6rem 0 .3rem;font:600 1rem Georgia,serif;border-bottom:1px solid var(--line);z-index:1}
.vtday ul{margin:.2rem 0 .6rem}
.vtl li{display:grid;grid-template-columns:4.2rem 1fr;gap:.6rem}
.vtrail{position:relative;border-right:2px solid var(--line);text-align:right;padding-right:.7rem;color:var(--mute);font-variant-numeric:tabular-nums}
.vtrail i{position:absolute;right:-6px;top:.75rem;width:10px;height:10px;border-radius:50%;background:var(--hit)}
.vtt{display:block;padding-top:.45rem}
.vtcard{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.45rem .65rem;margin:.25rem 0}
.vtmeta{color:var(--mute);font-size:.8rem}
/* Week */
.vwk{overflow-x:auto}
.vweek{border-collapse:separate;border-spacing:3px;width:100%;min-width:34rem;table-layout:fixed;font-size:.75rem}
.vweek th{color:var(--mute);font-weight:500;text-align:left;padding:0 .2rem}
.vweek tbody th{width:3rem}
.vwc{width:100%;height:3.4rem;padding:.2rem .3rem;text-align:left;border-radius:4px;overflow:hidden;cursor:pointer;
 background:color-mix(in srgb,var(--hit) calc(var(--a,0)*100%),var(--card));color:var(--ink);display:flex;flex-direction:column;justify-content:space-between}
.vwc b{font-size:.95rem}.vwc span{font-size:.65rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vwc.vw0{cursor:default;opacity:.45}
.vwc.vhi{color:#fff}
@media(prefers-color-scheme:dark){:root:not([data-look]) .vwc{color:#fff}}:root:is([data-look=night],[data-look=arctic],[data-look=blueprint]) .vwc{color:#fff}
/* Posters */
.vpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.7rem}
.vpost{display:flex;gap:.6rem;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--hit);border-radius:6px;padding:.6rem}
.vpost.vpcamp{border-top-color:var(--camp)}
.vpdate{min-width:3.2rem;text-align:center;color:var(--hit);line-height:1}
.vpcamp .vpdate{color:var(--camp)}
.vpdate b{display:block;font:700 1.5rem Georgia,serif}.vpdate span{font-size:.72rem;text-transform:uppercase;color:var(--mute)}
.vpt{font:600 1rem/1.25 Georgia,serif}
.vpbody p{margin:.2rem 0 0;color:var(--mute);font-size:.78rem}
@media(max-width:34rem){.vtl li{grid-template-columns:3.4rem 1fr}.vpgrid{grid-template-columns:1fr}}
@media print{.vsel,.vbox{display:none}#days[hidden]{display:block!important}}
