:root{--ink:#1a1a1a;--muted:#6b6b6b;--line:#d4d4d4;--accent:#b3261e;--bg:#fff;--max:1000px}*{box-sizing:border-box}body{color:var(--ink);background:#f6f6f4;margin:0;font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}header.site{background:var(--bg);border-bottom:1px solid var(--line);padding:14px 0}header.site .wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}header.site a.logo{color:var(--ink);font-size:18px;font-weight:700;text-decoration:none}header.site nav{flex-wrap:wrap;gap:16px;display:flex}header.site nav a{color:var(--muted);font-size:14px;text-decoration:none}header.site nav a:hover{color:var(--accent)}main{padding:28px 0 48px}h1{margin:0 0 6px;font-size:clamp(24px,4vw,34px);line-height:1.2}.sub{color:var(--muted);margin:0 0 22px}.breadcrumbs{color:var(--muted);margin-bottom:14px;font-size:13px}.breadcrumbs a{color:var(--muted)}.toolbar{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.btn{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:6px;padding:9px 16px;font-size:14px;text-decoration:none}.btn:hover{border-color:var(--ink)}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.sheet{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:26px;padding:22px}.sheet h2{text-align:center;letter-spacing:.01em;margin:0 0 14px;font-size:22px}table.cal{border-collapse:collapse;table-layout:fixed;width:100%}table.cal th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 4px;font-size:12px;font-weight:600}table.cal td{border:1px solid var(--line);vertical-align:top;height:92px;padding:5px 7px;font-size:14px}table.cal td.empty{background:#fafafa;border-color:#ececec}table.cal td .d{font-weight:600}table.cal td.sun .d,table.cal td.sat .d{color:var(--accent)}table.cal td .hol{color:var(--accent);margin-top:3px;font-size:10px;line-height:1.25;display:block}.legend{color:var(--muted);margin-top:14px;font-size:13px}.legend li{margin:2px 0}.year-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.year-grid table.cal td{height:30px;padding:2px 4px;font-size:11px}.year-grid table.cal td .hol{display:none}.year-grid .sheet{padding:14px}.year-grid .sheet h2{margin-bottom:8px;font-size:16px}.links{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 16px;display:grid}.links a{font-size:14px}.block{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;padding:20px}.block h2{margin-top:0;font-size:18px}footer.site{border-top:1px solid var(--line);background:var(--bg);color:var(--muted);padding:22px 0;font-size:13px}@media (width<=640px){.wrap{padding:0 12px}.sheet{border-radius:6px;padding:12px 10px}.sheet h2{font-size:18px}table.cal{table-layout:fixed}table.cal th{letter-spacing:.02em;padding:4px 1px;font-size:10px}table.cal td{word-break:break-word;height:52px;padding:3px 2px;font-size:13px;overflow:hidden}table.cal td .d{font-size:13px}table.cal td .hol{display:none}table.cal td.has-hol .d:after{content:"•";color:var(--accent);margin-left:2px;font-size:15px;line-height:0}.toolbar .btn{text-align:center;flex:auto}.year-grid{grid-template-columns:1fr}.year-grid table.cal td{height:34px}.links{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}h1{font-size:24px}}@media (width<=380px){table.cal td{height:46px;font-size:12px}table.cal th{font-size:9px}}@page{size:portrait;margin:12mm}@media print{body{background:#fff;font-size:12pt}header.site,footer.site,.toolbar,.breadcrumbs,.no-print{display:none!important}main{padding:0}.wrap{max-width:none;padding:0}.sheet{page-break-inside:avoid;border:none;border-radius:0;margin:0;padding:0}h1{text-align:center;margin-bottom:2mm;font-size:20pt}.sub{text-align:center;margin-bottom:6mm}table.cal{page-break-inside:avoid}table.cal td{border-color:#999;height:26mm}table.cal th{color:#000}.block,.links{display:none}.legend{font-size:9pt}.year-grid{grid-template-columns:repeat(3,1fr);gap:6mm}.year-grid table.cal td{height:7mm;font-size:8pt}}.tldr{border:1px solid #e8dfc0;border-left:3px solid var(--accent);background:#fffdf5;border-radius:6px;margin:0 0 22px;padding:14px 18px}.tldr h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px;font-size:14px}.tldr ul{margin:0;padding-left:18px}.tldr li{margin:3px 0}.faq details{border-bottom:1px solid var(--line);padding:10px 0}.faq details:last-child{border-bottom:none}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--muted);margin:8px 0 2px}footer.site .updated{margin:4px 0 12px;font-size:12px}@media print{.tldr,.faq{display:none}}
