:root{--border:#d8d8d8;--muted:#5a5a5a;--accent:#0b5fff;--bg-box:#fafafa}*{box-sizing:border-box}body{color:#1a1a1a;margin:0;font-family:system-ui,sans-serif;line-height:1.5}a{color:var(--accent)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.brand a{color:inherit;font-size:1.25rem;font-weight:700;text-decoration:none}.nav-links{flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a[aria-current=page]{font-weight:700;text-decoration:none}.header-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.subscribe{gap:.5rem;display:flex}.subscribe input,.subscribe button{font:inherit;border:1px solid var(--border);border-radius:.25rem;padding:.4rem .6rem}.subscribe button{background:var(--bg-box)}.original-site-link{white-space:nowrap}main{max-width:60rem;margin:0 auto;padding:1.5rem}.search-bar{margin-bottom:1.5rem}.search-bar input{width:100%;font:inherit;border:1px solid var(--border);border-radius:.375rem;padding:.6rem .8rem}.search-bar input::placeholder{color:var(--muted)}.archive-nav{margin-top:-.5rem}.archive-list{padding:0;list-style:none}.archive-list li{border-bottom:1px solid var(--border);padding:.75rem 0}.archive-list a{font-weight:600}.archive-list p{color:var(--muted);margin:.25rem 0 0}.story{max-width:40rem}.story-kicker{color:var(--muted);text-transform:uppercase;margin:0 0 .25rem;font-size:.85rem;font-weight:600}.story-back{margin-top:2rem}.box{background:var(--bg-box);border:1px solid var(--border);border-radius:.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.box h2{margin-top:0;font-size:1.1rem}.box-today{background:#eef4ff;border-color:#c6d8ff}.box-banner{background:#fff7e6;border-color:#f3d9a4}.banner-row{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.banner-row .box{margin-bottom:0}.box-calendar{background:#eafaf1;border-color:#b7e4c7}.box-promote{background:#fdeef3;border-color:#f3c3d8}.calendar-month{color:var(--muted);text-align:center;margin:0;font-size:.9rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-top:.5rem;display:grid}.calendar-weekday{color:var(--muted);text-align:center;padding:.25rem 0;font-size:.75rem;font-weight:600}.calendar-cell{text-align:center;border-radius:.25rem;min-height:2.25rem;padding:.25rem;font-size:.85rem;position:relative}.calendar-cell-pad{visibility:hidden}.calendar-cell.has-event{background:#fff;border:1px solid #b7e4c7}.calendar-daynum{display:block}.calendar-cell-today .calendar-daynum{font-weight:700;text-decoration:underline}.calendar-event{margin-top:.15rem;font-size:.9rem;text-decoration:none;display:inline-block}.calendar-event:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.item-list{margin:0;padding:0;list-style:none}.item{border-top:1px solid var(--border);padding:.75rem 0;scroll-margin-top:1rem}.item:first-child{border-top:none;padding-top:0}.item:target{animation:2s ease-out item-target-flash}@keyframes item-target-flash{0%{background:#cfe8ff;box-shadow:0 0 0 2px #7fb8f5}to{background:0 0;box-shadow:0 0 0 2px #0000}}.item-title{font-weight:600;text-decoration:none;display:block}.item-title:hover{text-decoration:underline}.item-summary{color:#333;margin:.3rem 0}.item-tags{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.item-tags li{color:var(--muted);background:#eee;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.site-footer{background:#eef4ff;border-top:1px solid #c6d8ff;margin-top:2rem;padding:1.5rem}.footer-content{flex-direction:column;gap:1.5rem;max-width:90rem;margin:0 auto;display:flex}.footer-description,.footer-acknowledgement,.footer-made{color:var(--muted);margin:.3rem 0}.footer-links{gap:2rem;display:flex}.footer-links ul{margin:0;padding:0;list-style:none}.footer-links li{white-space:nowrap;margin-bottom:.5rem}.box-grid{display:block}@media (width>=900px){main{max-width:90rem}.box-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.5rem;display:grid}.box-grid .box{max-height:70vh;margin-bottom:0;overflow-y:auto}.banner-row{flex-direction:row;align-items:stretch}.footer-content{flex-direction:row;justify-content:space-between}.footer-about{flex:auto;min-width:0}.footer-links{flex:none}.banner-row>.box{flex:1 1 0;min-width:0}}
