.calendar{--line: #3a3a3a;--surface: #2a2a2a;--ink: #f3f4f6;--ink-dim: #9ca3af;--navy: #5b93d6;--frost: #6ba3cb;--ember: #d68f42;--oxide: #d1543a;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;color:var(--ink);display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem)}.calendar .mast{display:flex;flex-direction:column;gap:.75rem;border-bottom:2px solid var(--ink);padding-bottom:1.25rem}.calendar .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin:0}.calendar h1{font-family:var(--mono);font-weight:700;font-size:clamp(1.9rem,5.5vw,3.4rem);line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance}.calendar .standfirst{max-width:60ch;color:var(--ink-dim);margin:0;font-size:clamp(.98rem,1.6vw,1.06rem);line-height:1.6}.calendar .band{display:flex;flex-direction:column}.calendar .band-head{display:grid;grid-template-columns:148px repeat(12,1fr);font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--line);padding-bottom:.4rem}.calendar .band-head span{text-align:center}.calendar .band-head .rowlabel{text-align:left}.calendar .season{display:grid;grid-template-columns:148px repeat(12,1fr);align-items:center;gap:.3rem 0;padding:.85rem 0;border-bottom:1px solid var(--line);position:relative}.calendar .rowlabel{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding-right:1rem}.calendar .s-spring .rowlabel{color:var(--frost)}.calendar .s-summer .rowlabel{color:var(--ember)}.calendar .s-fall .rowlabel{color:var(--oxide)}.calendar .s-winter .rowlabel{color:var(--navy)}.calendar .task{min-height:2.1rem;display:flex;align-items:center;padding:.3rem .7rem;border-radius:2px;font-size:.84rem;line-height:1.25;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--navy)}.calendar .s-spring .task{border-left-color:var(--frost)}.calendar .s-summer .task{border-left-color:var(--ember)}.calendar .s-fall .task{border-left-color:var(--oxide)}.calendar .s-winter .task{border-left-color:var(--navy)}.calendar .task b{font-weight:600}.calendar .task i{font-style:normal;color:var(--ink-dim);font-family:var(--mono);font-size:.72rem;display:block}.calendar .freeze{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--oxide);pointer-events:none}.calendar .freeze-flag{display:grid;grid-template-columns:148px repeat(12,1fr);font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oxide);font-weight:700;padding-top:.5rem}.calendar .freeze-flag span{grid-column:11 / 13}.calendar .rail{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--navy);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:1rem;border-radius:2px}.calendar .rail h2,.calendar .intervals h2,.calendar .deeper h2{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0;color:var(--ink)}.calendar .rail p{margin:0;color:var(--ink-dim);font-size:.92rem;max-width:62ch}.calendar .rail ul{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.calendar .rail li{display:flex;gap:.7rem;align-items:baseline;font-size:.9rem}.calendar .rail li:before{content:"▸";color:var(--navy);font-size:.8rem}.calendar .rail li b{font-weight:600}.calendar .rail li span span{color:var(--ink-dim)}.calendar .intervals{display:flex;flex-direction:column;gap:.9rem}.calendar .tablewrap{overflow-x:auto}.calendar table{border-collapse:collapse;width:100%;min-width:480px;font-size:.88rem}.calendar th,.calendar td{text-align:left;padding:.6rem .9rem .6rem 0;border-bottom:1px solid var(--line)}.calendar th{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-weight:500}.calendar td.spec{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.calendar .deeper{display:flex;flex-direction:column;gap:.8rem}.calendar .deeper ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.calendar .deeper a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;font-size:.92rem}.calendar .deeper a:hover,.calendar .deeper a:focus-visible{border-bottom-color:currentColor;color:var(--frost)}@media(max-width:820px){.calendar .band-head,.calendar .freeze-flag{display:none}.calendar .season{grid-template-columns:1fr;padding:1.1rem 0;gap:.55rem}.calendar .rowlabel{padding-right:0}.calendar .task{grid-column:1!important}.calendar .freeze{display:none}.calendar .s-fall:after{content:"▲First hard freeze: mid-to-late October";font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--oxide);font-weight:700}}
