html body{background:var(--sky);color:var(--ink);line-height:1.55;font-size:1.0625rem}
:root{--cl:40%}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cl:68%}}
:root[data-theme="dark"]{--cl:68%}
.nl-hero{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:40px 0 36px}
.nl-hero::after{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;border:56px solid var(--acc);opacity:.13;pointer-events:none}
.nl-hero .wrap{position:relative;z-index:1}
.nl-hero h1{margin:0 0 10px!important;margin-left:0!important;color:#fff;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(1.3rem,5.4vw,2.4rem);letter-spacing:-.02em}
.nl-eyebrow{margin:0 0 6px;color:var(--acc);font-weight:700;font-size:.9rem}
.nl-lead{margin:0 0 10px;max-width:48ch;color:rgba(255,255,255,.82)}
.nl-stat{margin:0;font-size:.85rem;color:rgba(255,255,255,.72);max-width:60ch}
.nl-topics{display:flex;gap:8px;overflow-x:auto;padding:18px 0 8px;scrollbar-width:thin}
.nl-topics a{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap}
.nl-topics a:hover{border-color:var(--ink)}
.nl-topics a[aria-current]{background:var(--acc);color:var(--acc-ink);border-color:var(--acc-ink)}
.nl h2{font-size:1.45rem;margin:34px 0 8px}
.nl-count{font-family:var(--body);font-weight:400;font-size:.9rem;color:var(--muted);margin-left:8px}
.nl-sub{color:var(--muted);margin:0 0 14px;max-width:72ch}
.nl-credit,.nl-note{margin:16px 0;max-width:80ch}
.nl a{color:inherit}
.nl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nl-search{box-sizing:border-box;width:100%;max-width:420px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}
.nl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;margin-top:14px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 1px 2px rgba(22,27,38,.06)}
.story{border-left:5px solid hsl(var(--h,220) 55% var(--cl,40%));display:grid;gap:6px;align-content:start}
.story h3,.tcard h3{margin:0;font-size:1.1rem;line-height:1.25}
.story h3 a,.tcard h3 a{text-decoration:none}
.story h3 a:hover,.tcard h3 a:hover{text-decoration:underline}
.tag{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--h,220) 55% var(--cl,40%))}
.sum{margin:0;color:var(--muted)}
.by{margin:0;font-size:.85rem;color:var(--muted)}
.by b{color:var(--ink)}
.tcard{border-left:5px solid hsl(var(--h,220) 55% var(--cl,40%))}
.tcard ul{margin:10px 0;padding-left:18px;display:grid;gap:6px}
.tcard li span{color:var(--muted);font-size:.85rem}
.tcard .more{font-weight:700;font-size:.9rem}
.empty{color:var(--muted);padding:12px 0;margin:0}
mark{background:var(--tint);color:inherit;border-radius:2px}
.cal-day{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.cal-date{line-height:1;text-transform:uppercase}
.cal-date .w{display:block;font-size:.7rem;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:4px}
.cal-date .d{display:block;font-family:var(--display);font-weight:800;font-size:2rem}
.cal-date .m{display:block;font-size:.8rem;letter-spacing:.08em;color:var(--muted);font-weight:700}
.cal-day.today .cal-date .d{color:hsl(20 70% var(--cl))}
.cal-list{display:grid;gap:12px;min-width:0}
.ev{border-left:4px solid hsl(var(--h,220) 55% var(--cl,40%));padding-left:12px}
.ev h4{margin:0;font-size:1rem;line-height:1.3}
.ev h4 a{text-underline-offset:3px}
.ev p{margin:2px 0 0;color:var(--muted);font-size:.95rem;max-width:65ch}
.ev .meta{font-size:.78rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 10px}
.src-card h3{margin:0 0 6px;font-size:1.05rem;overflow-wrap:anywhere}
.src-card details{font-size:.9rem}
.src-card summary{cursor:pointer;color:var(--muted);padding:4px 0}
.src-card ul{margin:6px 0 0;padding-left:18px;display:grid;gap:6px}
.src-card li span{color:var(--muted);font-size:.8rem}
@media (max-width:640px){.cal-day{grid-template-columns:56px 1fr;gap:12px}.cal-date .d{font-size:1.6rem}.nl-search{max-width:none;font-size:16px}.nl-hero{padding:30px 0 28px}}