@layer normalize{html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}}:root{--primary: 299 100% 69% / 1;--in-range: 299 100% 69% / .5;--previous: 299 100% 69% / .25;--potential: 73 97% 66% / 1;--dark: 0 0% 15%;--light: 0 0% 100%}*,*:after,*:before{box-sizing:border-box}body{display:grid;place-items:center;min-height:100vh;font-family:Google Sans,sans-serif,system-ui;background:#f8f9fa}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.calendar__cell{border:calc(var(--dash, 0) * 4px) dashed hsl(var(--primary));background-color:hsl(var(--bbg));opacity:var(--alpha, 1);border-radius:var(--radius)}.calendar__title{grid-column:1 / -1;text-align:center;font-weight:700;font-size:1.5rem}.calendar__cell:has(:is([for*="-09-"],[for*="-11-"])){--alpha: .5}.calendar__heading,.calendar__cell{display:grid;width:48px;aspect-ratio:1;overflow:hidden;place-items:center;position:relative}label{display:inline-block;height:100%;width:100%;background:hsl(var(--bg));position:absolute;border-radius:var(--radius, 0 0 0 0);cursor:pointer}tbody{display:grid;grid-auto-flow:row}tr{display:grid;grid-auto-flow:column}button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}[id*=to],[for*=to]{display:none}.calendar__cell:focus-within{border:4px dashed hsl(var(--primary))}.calendar:has([id*=from]:checked) tr:has([id*=from]:checked)~tr :is([id*=to],[for*=to]),.calendar:has([id*=from]:checked) tr:has([id*=from]:checked) .calendar__cell:has([id*=from]:checked)~.calendar__cell :is([id*=to],[for*=to]){display:inline-block}.calendar:has([id*=to]:checked) tr:has([id*=to]:checked) .calendar__cell:has([id*=to]:checked)~.calendar__cell :is([id*=from]),.calendar:has([id*=to]:checked) .calendar__cell:has([id*=to]:checked) :is([id*=from]),.calendar:has([id*=to]:checked) tr:has([id*=to]:checked)~tr .calendar__cell :is([id*=from]){display:none}.calendar__number{color:hsl(var(--color, 0 0% 10%));display:inline-block;font-weight:700;z-index:4;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}:root:has([id*=from]:checked):not(:has([id*=to]:checked)):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:not(:hover):has(~tr:hover) .calendar__cell,:root:has([id*=from]:checked):not(:has([id*=to]:checked)):has(.calendar__cell:hover) tr:has([id*=from]:checked):has(~tr:hover) .calendar__cell:has(:checked)~.calendar__cell,:root:has([id*=from]:checked):not(:has([id*=to]:checked)):has(.calendar__cell:hover) .calendar__cell:has(:checked)~.calendar__cell:has(~.calendar__cell:hover),:root:has([id*=from]:checked):not(:has([id*=to]:checked)):has(.calendar__cell:hover) tr:has(:checked)~tr:has(:hover) .calendar__cell:has(~.calendar__cell:hover){--bbg: var(--potential);--alpha: 1}:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has(~tr .calendar__cell>[id*=from]:checked):hover .calendar__cell:hover~.calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:hover~tr:has(~tr [id*=from]:checked) .calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:hover:has([id*=from]:checked) .calendar__cell:hover:has(~.calendar__cell>[id*=from]:checked)~.calendar__cell:has(~.calendar__cell>[id*=from]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:hover~tr:has([id*=from]:checked) .calendar__cell:has(~.calendar__cell>[id*=from]:checked){--bbg: var(--potential);--alpha: 1;--color: var(--dark)}:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:hover~tr:has([id*=from]:checked) .calendar__cell:has([id*=from]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:hover:has([id*=from]:checked) .calendar__cell:hover:has(~.calendar__cell>[id*=from]:checked)~.calendar__cell:has([id*=from]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked):has([id*=to]:checked) .calendar__cell:has([id*=from]:checked)~.calendar__cell:hover~.calendar__cell:has([id*=to]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:hover:has([id*=to]:checked) .calendar__cell:hover~.calendar__cell:has([id*=to]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:hover~tr:has(:checked) .calendar__cell:has([id*=to]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked):not(:has([id*=to]:checked)):not(:has(.calendar__cell:hover~.calendar__cell>:checked)):not(:has(.calendar__cell>:checked:hover)):hover~tr:has([id*=to]:checked) .calendar__cell:has(:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=to]:checked):has(~tr:hover) .calendar__cell:has([id*=to]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=to]:checked):hover .calendar__cell:has([id*=to]:checked):not(:hover){--bbg: var(--previous);--dash: 1;--color: var(--dark)}:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked):not(:has([id*=to]:checked)):hover .calendar__cell:has(:checked)~.calendar__cell:hover~.calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked):not(:has([id*=to]:checked)):not(:has(.calendar__cell:hover~.calendar__cell>:checked)):not(:has(.calendar__cell>:checked:hover)):hover~tr:not(:has(:checked)):has(~tr [id*=to]:checked) .calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked):not(:has([id*=to]:checked)):not(:has(.calendar__cell:hover~.calendar__cell>:checked)):not(:has(.calendar__cell>:checked:hover)):hover~tr:has([id*=to]:checked) .calendar__cell:has(~.calendar__cell>:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:not(:has(:checked)):has(~tr [id*=to]:checked):hover .calendar__cell:hover~.calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:hover~tr:not(:has(:checked)):has(~tr [id*=to]:checked) .calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:hover~tr:has(:checked) .calendar__cell:has(~.calendar__cell>[id*=to]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked)~tr:hover:has([id*=to]:checked) .calendar__cell:hover~.calendar__cell:has(~.calendar__cell>[id*=to]:checked),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=from]:checked):has([id*=to]:checked) .calendar__cell:has([id*=from]:checked)~.calendar__cell:hover~.calendar__cell:has(~.calendar__cell>[id*=to]:checked){--bbg: var(--in-range);--color: var(--dark);--alpha: .25}:root:has([id*=from]:checked):has([id*=to]:checked) tr:has([id*=from]:checked) .calendar__cell:has([id*=from]:checked)~.calendar__cell:has(~.calendar__cell>:checked):not(:hover),:root:has([id*=from]:checked):has([id*=to]:checked) tr:has([id*=from]:checked)~tr:has(:checked) .calendar__cell:has(~.calendar__cell>:checked):not(:hover),:root:has([id*=from]:checked):has([id*=to]:checked) tr:has([id*=from]:checked)~tr:not(:has(:checked)):has(~tr .calendar__cell>:checked) .calendar__cell:not(:hover),:root:has([id*=from]:checked):has([id*=to]:checked) tr:has([id*=from]:checked):has(~tr .calendar__cell>:checked) .calendar__cell:has([id*=from]:checked)~.calendar__cell:not(:hover){--bbg: var(--in-range);--alpha: 1;--color: var(--light)}:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=to]:checked)~tr:not(:hover):has(~tr:hover) .calendar__cell,:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=to]:checked):hover .calendar__cell:has([id*=to]:checked)~.calendar__cell:not(:hover):has(~.calendar__cell:hover),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=to]:checked)~tr:hover .calendar__cell:not(:hover):has(~.calendar__cell:hover),:root:has([id*=from]:checked):has([id*=to]:checked):has(.calendar__cell:hover) tr:has([id*=to]:checked):has(~tr:hover) .calendar__cell:has([id*=to]:checked)~.calendar__cell{--bbg: var(--potential);--alpha: 1;--color: var(--dark)}.calendar__cell:has([id*=from]:checked)~.calendar__cell [for*=to],tr:has([id*=from]:checked)~tr .calendar__cell [for*=to]{z-index:3}.calendar__cell:hover{--bbg: var(--primary);--alpha: 1;--color: 0 0% 100%}.calendar__cell:has(:checked){--bbg: var(--primary);--alpha: 1;--color: 0 0% 100%}.actions{display:flex;align-items:center;gap:1.25rem;justify-content:center;padding:1.25rem}button{padding:.5rem 1.25rem;border-radius:5px;font-weight:700}button[type=reset]{border:.25rem solid #868e96;background:#e9ecef;color:#495057}button[type=submit]{border:.25rem solid #2b8a3e;background:#51cf66;color:#f8f9fa}button[type=reset]:hover{background:#ced4da}button[type=submit]:hover{background:#2f9e44}
