@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jakarta Fallback;src:local(Arial),local(Liberation Sans),local(Helvetica);size-adjust:104%;ascent-override:98%;descent-override:21%;line-gap-override:0%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#23141e;--ink-2:#3d2b37;--muted:#624f5c;--line:#e6d9df;--page:#faf6f2;--surface:#fff;--soft:#f5edf1;--brand:#7a1d58;--brand-ink:#6a184c;--brand-soft:#f7e6ef;--on-brand:#fff;--green:#2e6a33;--green-soft:#e3f0df;--sun:#e2a52b;--sun-soft:#fbefd3;--sun-ink:#6f4c00;--warn-soft:#fdf0e1;--warn-ink:#7a3e00;--focus:#7a1d58;--mast:#5c1440;--mast-ink:#fff;--mast-muted:#f1d3e3;--g-school:#f2d7e6;--g-school-ink:#4d1036;--g-admin:#fff;--g-off:#fbe6b4;--g-ph:#2e6a33;--g-ph-ink:#fff;--g-special:#9fcf98;--g-weekend:transparent;--mk-b0:#fff;--mk-b1:#e889b8;--mk-b2:#f4b9d6;--mk-crown:#f2b33d;--mk-stem:#8fd18f;--radius:14px;--measure:72ch}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f4e9ef;--ink-2:#e2cfda;--muted:#c4aebb;--line:#3e2c38;--page:#150d13;--surface:#1f141c;--soft:#2a1b25;--brand:#f2a9cf;--brand-ink:#f6bedb;--brand-soft:#3a1f30;--on-brand:#2a0f22;--green:#93d38c;--green-soft:#1d3220;--sun:#e9b54a;--sun-soft:#3a2c10;--sun-ink:#f3cd7a;--warn-soft:#36230f;--warn-ink:#f4c58c;--focus:#f2a9cf;--mast:#1a1118;--mast-ink:#f8eaf2;--mast-muted:#d5b8c8;--g-school:#4a2240;--g-school-ink:#fbe3ef;--g-admin:#1f141c;--g-off:#4b3913;--g-ph:#93d38c;--g-ph-ink:#10230f;--g-special:#3d6b38}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--ink);margin:0;font:400 1.0625rem/1.6 Plus Jakarta Sans,Jakarta Fallback,system-ui,sans-serif}a{color:var(--brand-ink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}.frame{max-width:1080px;margin:0 auto;padding:0 1.1rem}main{padding-top:1.2rem;padding-bottom:3rem}main:focus{outline:none}h1{letter-spacing:-.02em;color:var(--ink);margin:.6rem 0 .8rem;font-size:clamp(1.9rem,4.4vw,2.7rem);font-weight:800;line-height:1.12}h2{align-items:center;gap:.5rem;margin:2.2rem 0 .7rem;font-size:1.35rem;font-weight:750;line-height:1.25;display:flex}h2 .glyph{color:var(--brand);flex:none}h3{margin:1.6rem 0 .5rem;font-size:1.1rem}p,li,dd{max-width:var(--measure)}.intro{color:var(--ink-2);font-size:1.1rem}.quiet{color:var(--muted)}.small{font-size:.93rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{background:var(--surface);color:var(--ink);z-index:10;border-radius:8px;padding:.5rem .8rem;position:absolute;top:.5rem;left:-999px}.skip:focus{left:.5rem}.top{background:var(--mast);color:var(--mast-ink)}.top-row{padding-top:.9rem;padding-bottom:.5rem}.logo{color:inherit;align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.logo b{letter-spacing:-.01em;font-size:1.2rem;font-weight:800;display:block}.logo small{color:var(--mast-muted);font-size:.82rem;line-height:1.3;display:block}.top-tabs ul{flex-wrap:wrap;gap:0 .2rem;margin:0;padding:0;list-style:none;display:flex}.top-tabs a{color:var(--mast-ink);border-bottom:3px solid #0000;border-radius:8px 8px 0 0;padding:.45rem .8rem .35rem;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-block}.top-tabs a:hover{border-bottom-color:var(--sun);background:#ffffff14}.top-band{background:linear-gradient(90deg, var(--mk-b2) 0 23%, var(--sun) 23% 25%, var(--mk-b2) 25% 50%, var(--sun) 50% 53%, var(--mk-b2) 53% 75%, var(--sun) 75% 77%, var(--mk-b2) 77% 96%, var(--sun) 96% 100%);height:8px}.mark .mk-b0{fill:var(--mk-b0)}.mark .mk-b1{fill:var(--mk-b1)}.mark .mk-b2{fill:var(--mk-b2)}.mark .mk-crown{fill:var(--mk-crown)}.mark .mk-stem{fill:none;stroke:var(--mk-stem);stroke-width:2.4px;stroke-linecap:round}.base .mark .mk-b0{fill:var(--brand)}.trail ol{color:var(--muted);flex-wrap:wrap;gap:.2rem .5rem;margin:.4rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.trail li+li:before{content:"/";color:var(--line);margin-right:.5rem}.answer{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--sun);border-radius:var(--radius);margin:.4rem 0 1rem;padding:.9rem 1.1rem}.answer p{max-width:none;margin:0;font-size:1.15rem;font-weight:600}.pulse{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1.2rem 0;padding:.9rem 1.1rem .6rem}.pulse-title{margin:0 0 .8rem;font-size:1.05rem;font-weight:700;display:block}.pulse-zone{color:var(--muted);font-weight:500}.termband{margin:1.3rem 0 .4rem}.termband-track{background:repeating-linear-gradient(135deg, var(--sun-soft) 0 5px, var(--surface) 5px 8px);height:2.1rem;box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;position:relative}.termband-term{background:var(--g-school);color:var(--g-school-ink);box-shadow:inset 0 -3px 0 var(--brand);border-radius:4px;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.termband-ph{background:var(--green);border-radius:50%;width:7px;height:7px;margin-left:-3px;position:absolute;bottom:-5px}.termband-today{border-left:3px solid var(--brand-ink);width:0;position:absolute;top:-.9rem;bottom:-.35rem}.termband-today.end span{left:auto;right:4px}.termband-today span{text-transform:uppercase;letter-spacing:.05em;color:var(--brand-ink);white-space:nowrap;font-size:.72rem;font-weight:800;position:absolute;top:-.35rem;left:4px}.termband-months{color:var(--muted);grid-template-columns:repeat(12,1fr);margin:.35rem 0 0;padding:0;font-size:.72rem;list-style:none;display:grid}.termband-months li{border-left:1px solid var(--line);padding-left:2px}.pulse-list{margin:.6rem 0 0}.pulse-row{border-top:1px solid var(--line);grid-template-columns:minmax(9rem,13rem) 1fr;gap:.2rem 1rem;padding:.65rem 0;display:grid}.pulse-row dt{border-left:4px solid var(--brand);padding-left:.6rem;font-weight:800}.pulse-row.is-holiday dt{border-left-color:var(--green)}.pulse-row dd{max-width:none;margin:0}.pulse-n{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1}.is-holiday .pulse-n{color:var(--green)}@media (max-width:560px){.pulse-row{grid-template-columns:1fr}}.scroller{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:.6rem 0;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.97rem}table.data caption{text-align:left;color:var(--ink-2);padding:.7rem .9rem .4rem;font-weight:700}table.data th,table.data td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:.55rem .9rem}table.data thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--soft);border-top:0;font-size:.85rem}table.data tbody th{font-weight:700}table.data tfoot th,table.data tfoot td{background:var(--soft);font-weight:600}table.data .sub{color:var(--muted);font-size:.86rem;font-weight:400;display:block}table.data .sub.moved,tr.moved th,tr.declared th{color:var(--green)}table.data .sub.gz{color:var(--sun-ink);font-style:italic}.chip{background:var(--green-soft);color:var(--ink);border-radius:999px;margin:0 .3rem .3rem 0;padding:.05rem .55rem;font-size:.86rem;display:inline-block}.cmp td{min-width:9rem}.swipe-hint{color:var(--muted);margin:.2rem 0;font-size:.88rem;display:none}@media (max-width:760px){.swipe-hint{display:block}.wide td{min-width:8.5rem}.wide tbody th,.wide thead th:first-child,.wide tfoot th{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line);min-width:6.5rem;max-width:8rem;position:sticky;left:0}.wide thead th:first-child,.wide tfoot th{background:var(--soft)}.cmp tbody th,.cmp thead th:first-child,.cmp tfoot th{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line);min-width:8.5rem;max-width:10rem;position:sticky;left:0}.cmp thead th:first-child,.cmp tfoot th{background:var(--soft)}}.asof{color:var(--muted);font-size:.95rem;font-weight:500;display:block}.facts-list{padding-left:1.2rem}.facts-list li{margin:.35rem 0}.src-line{color:var(--muted);align-items:flex-start;gap:.45rem;max-width:none;margin:.3rem 0 .9rem;font-size:.88rem;display:flex}.src-line .glyph{color:var(--brand);flex:none;margin-top:.2rem}.callout{background:var(--soft);border-radius:var(--radius);gap:.6rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.callout .glyph{color:var(--brand);flex:none;margin-top:.2rem}.callout.warn{background:var(--warn-soft)}.callout.warn .glyph{color:var(--warn-ink)}.callout p{margin:.2rem 0}.callout-head{font-weight:700}.tiles{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.6rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.tiles a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);height:100%;padding:.7rem .9rem;text-decoration:none;display:block}.tiles a:hover{border-color:var(--brand)}.tiles a span{color:var(--brand-ink);font-weight:700}.tiles small{color:var(--muted);margin-top:.15rem;font-size:.88rem;display:block}.yearpick{gap:.3rem;margin:.4rem 0 1rem;padding:0;list-style:none;display:flex}.yearpick a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.3rem .85rem;font-weight:600;text-decoration:none;display:inline-block}.yearpick a[aria-current=page]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.btn{background:var(--brand);color:var(--on-brand);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.08)}.calfile{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;display:flex}.calfile .quiet{font-size:.9rem}.quote{border-left:3px solid var(--brand);margin:.8rem 0;padding:.4rem 0 .4rem 1rem}.quote blockquote{margin:0;font-style:italic}.quote blockquote p{margin:0}.quote figcaption{color:var(--muted);margin-top:.3rem;font-size:.88rem}.notice-facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;margin:.6rem 0;display:grid}.notice-facts div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .8rem}.notice-facts dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.8rem}.notice-facts dd{margin:0;font-weight:600}.steps li,.gaps li{margin:.4rem 0}.legend{flex-wrap:wrap;gap:.4rem 1rem;margin:.5rem 0;padding:0;font-size:.9rem;list-style:none;display:flex}.legend li{align-items:center;gap:.35rem;display:flex}.swatch{border-radius:5px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;display:inline-flex}.year-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem;display:grid}table.month{border-collapse:separate;border-spacing:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-variant-numeric:tabular-nums;width:100%;padding:.3rem;font-size:.85rem}table.month caption{text-align:left;padding:.2rem .3rem;font-weight:700}table.month th{color:var(--muted);font-size:.75rem;font-weight:600}table.month abbr{text-decoration:none}table.month td{text-align:center;padding:1px 0}button.day{all:unset;box-sizing:border-box;text-align:center;cursor:pointer;width:100%;min-height:1.75rem;line-height:1.75rem;font:inherit;font-variant-numeric:tabular-nums;border-radius:5px;display:block}button.day:focus-visible{outline:3px solid var(--focus);outline-offset:1px}td.k-school .day,.swatch.k-school{background:var(--g-school);color:var(--g-school-ink)}td.k-admin .day,.swatch.k-admin{outline:2px dashed var(--brand);outline-offset:-3px;border-radius:5px}td.k-off .day,.swatch.k-off{background:repeating-linear-gradient(135deg, var(--g-off) 0 4px, var(--surface) 4px 7px);color:var(--ink)}td.k-ph .day,.swatch.k-ph{background:var(--g-ph);color:var(--g-ph-ink);box-shadow:inset 0 0 0 2px var(--g-ph-ink);border-radius:50%;font-weight:800}td.k-special .day,.swatch.k-special{background:var(--g-special);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);border-radius:0;font-weight:800}td.k-weekend .day{color:var(--muted)}.grid-details{background:var(--soft);border-radius:var(--radius);margin:.6rem 0;padding:.5rem .8rem;font-weight:600}.askbox dl{margin:0}.askbox .pair{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:.5rem 0;padding:.75rem 1rem}.askbox dt{font-weight:700}.askbox dd{margin:.25rem 0 0}.refs ul{padding-left:1.1rem}.reading section{max-width:var(--measure)}.postal{font-style:normal}.mailform{gap:.4rem;max-width:36rem;display:grid}.mailform input,.mailform textarea{font:inherit;border:1px solid var(--muted);background:var(--surface);color:var(--ink);border-radius:10px;padding:.55rem .7rem}.mailform label{margin-top:.4rem;font-weight:600}.mailform button{justify-self:start;margin-top:.6rem}.base{background:var(--soft);color:var(--ink);margin-top:2.4rem}.base .frame{padding-top:1.3rem;padding-bottom:1.3rem}.base-id{color:var(--ink-2);align-items:center;gap:.6rem;max-width:none;margin:0 0 1rem;font-size:.92rem;display:flex}.base-id b{color:var(--ink);margin-right:.3rem}.base-index{margin:0}.base-index>div{border-top:1px solid var(--line);grid-template-columns:minmax(10rem,14rem) 1fr;gap:.2rem 1rem;padding:.5rem 0;display:grid}.base-index dt{font-size:.92rem;font-weight:750}.base-index dd{max-width:none;margin:0}.base-index ul{flex-wrap:wrap;gap:.2rem 1.1rem;margin:0;padding:0;font-size:.93rem;list-style:none;display:flex}.base-line{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem;max-width:none;margin:.8rem 0 0;padding-top:.8rem;font-size:.88rem;display:flex}@media (max-width:560px){.base-index>div{grid-template-columns:1fr}body{font-size:1rem}.logo small{display:none}table.data th,table.data td{padding:.5rem .6rem}button.day{min-height:2.5rem;line-height:2.5rem}}@media print{.swipe-hint,.top,.base,.trail,.no-print,.skip,.calfile,.pulse{display:none!important}main:has(.print-area)>:not(.print-area){display:none!important}body{color:#000;background:#fff;font-size:9pt}.print-area h2{margin:0 0 4pt;font-size:13pt}.year-grid{grid-template-columns:repeat(4,1fr);gap:5pt}table.month{break-inside:avoid;padding:2pt;font-size:7.5pt}button.day{min-height:0;line-height:1.5}td.k-school .day{color:#000!important;background:#f2d7e6!important}td.k-ph .day{color:#fff!important;background:#2e6a33!important}td.k-special .day{color:#000!important;background:#9fcf98!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 landscape;margin:10mm}}
