:root{font-family:Arial,Helvetica,sans-serif;color:#28231f;background:#fff}*{box-sizing:border-box}body{margin:0}main{width:max-content;min-width:min(100%,950px);max-width:100%;margin:0 auto;padding:16px}h1{font-size:25px;margin:0 0 8px}header p{margin:6px 0;font-size:14px}.hint,footer{font-size:12px;color:#665d56}section{margin:26px 0}h2{font-size:18px;margin:0 0 8px}.scroll{overflow:auto;max-width:100%;padding-bottom:4px}.scroll:focus-visible{outline:2px solid #bb461b}table{border-collapse:separate;border-spacing:3px;table-layout:fixed;width:910px}th,td{padding:0;text-align:center}thead th{background:#bb461b;color:white;font-size:13px;padding:5px 0;font-weight:500}thead .date{background:white;color:#28231f}.name{width:210px;background:#bb461b;color:white;text-align:left;padding:5px 9px;font-size:20px;font-weight:500;position:sticky;left:0;z-index:1;overflow-wrap:anywhere}thead .name{font-size:23px}.week{border-left:9px solid white}.day{display:flex;justify-content:center;align-items:center;min-height:35px;border:1px solid #888;font-size:14px;font-weight:600}.s-0,.s-1{background:white;color:#222}.s-12{background:#bb461b;color:white}.s-2{background:#3366cc;color:white}.s-3{background:#df1111;color:white}.s-4{background:#009900;color:white}.s-5{background:#ffcc00;color:#000}.s-6{background:white;color:#d31111;font-size:23px}.s-7{background:#000;color:white}.s-8{background:#0ff;color:#003}.s-9,.s-10{background:#ff9900;color:#003}.s-11{background:#ff33ff;color:#003}.s-14{background:#f7e6b9;color:#583e0d}aside{max-width:910px;border-top:1px solid #ddd;padding-top:14px}.legend{display:flex;flex-wrap:wrap;gap:9px 16px}.key{display:inline-flex;align-items:center;gap:6px;font-size:12px}.key .day{width:30px;min-height:26px;font-size:12px}footer{margin:20px 0 8px}.empty{padding:20px;background:#fff4db}@media(max-width:600px){main{width:100%;padding:12px}h1{font-size:23px}header p{line-height:1.6}table{width:820px}.name{width:160px;font-size:17px}thead .name{font-size:20px}.scroll{border:1px solid #eee}.legend{gap:10px 12px}}@media print{@page{size:A4 landscape;margin:10mm}main{width:100%;max-width:none;padding:0}.scroll{overflow:visible}table{width:100%}.name{position:static;width:43mm;font-size:13px}thead .name{font-size:15px}thead th{font-size:10px}.day{min-height:6mm;font-size:10px}section{break-inside:avoid;margin:12px 0}h1{font-size:19px}h2{font-size:14px}.hint{display:none}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
