:root{--bg: #ffffff;--fg: #000000;--muted: #555555;--dim: #767676;--accent: #d40000;--accent-hover: #b30000;--rule: #000000}html[data-theme=dark]{--bg: #000000;--fg: #ffffff;--muted: #aaaaaa;--dim: #777777;--accent: #ff3333;--accent-hover: #ff6666;--rule: #ffffff}html{color-scheme:light dark}*{box-sizing:border-box;margin:0;padding:0}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:NHG Display,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg);min-height:100vh;padding:2rem;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}@media(max-width:640px){body{padding:.75rem}.day-card .chip-more{min-height:32px;padding:6px 10px;font-size:11px}.duration-row .duration-btn{padding:6px 12px;font-size:12px;min-height:32px;min-width:36px}.slot-chip{padding:7px 9px;font-size:11px;min-height:32px;min-width:36px}.day-card .chip-row{gap:4px}.inline-form .submit{padding:8px 14px;font-size:11px;min-height:36px}.inline-form input,.inline-form textarea{font-size:16px;padding:8px 0}.inline-form .success-actions a.ics-link{padding:8px 14px;font-size:11px;display:inline-block;min-height:36px;box-sizing:border-box}}.container{max-width:660px;margin:0 auto}header.page-header{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:4px solid var(--rule);padding-bottom:8px;margin-bottom:14px;flex-wrap:wrap}header.page-header h1{font-size:22px;font-weight:700;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}header.page-header .meta{font-size:10px;letter-spacing:.18em;text-transform:uppercase;text-align:right;flex-shrink:1;min-width:0}header.page-header .page-header-right{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:flex-end}.theme-toggle{background:var(--bg);color:var(--fg);border:1px solid var(--fg);padding:4px 10px;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background-color .12s ease,color .12s ease}@media(max-width:640px){header.page-header{gap:4px 14px}header.page-header .meta{text-align:left;flex-basis:100%}header.page-header .page-header-right{width:100%;justify-content:space-between}.theme-toggle{min-height:32px;padding:6px 12px}}.duration-row{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.duration-row .label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.duration-row .duration-btn{background:var(--bg);color:var(--fg);border:1px solid var(--fg);padding:4px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:background-color .12s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.duration-row .duration-btn[aria-current=page]{background:var(--fg);color:var(--bg)}.duration-row .duration-btn:focus-visible{outline:2px solid var(--fg);outline-offset:2px}@media(max-width:480px){.duration-row{flex-wrap:wrap}.duration-row .label:first-child{width:100%}}.day-card{border-top:1px solid var(--rule);padding:10px 0}.day-card:last-of-type{border-bottom:1px solid var(--rule)}.day-card .day-line{display:flex;align-items:baseline;gap:16px;margin-bottom:6px}.day-card .day-name{font-weight:700;font-size:18px;letter-spacing:-.02em}.day-card .day-date{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.day-card .day-total{margin-left:auto;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.day-card .chip-row{display:flex;gap:4px;flex-wrap:wrap}.no-avail{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);padding:2px 0}.slots-fallback{min-height:350px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0}@media(max-width:640px){.slots-fallback{min-height:525px}}.day-card .chip-more{background:none;border:1px solid var(--dim);font-family:inherit;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:4px 8px;align-self:center;cursor:pointer}.day-card .chip-more:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.day-card .slot-chip[hidden]{display:none}.day-card.today .day-name,.day-card.today .day-date{color:var(--accent)}.day-card.today .day-line:before{content:"";display:inline-block;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid var(--accent);margin-right:6px;vertical-align:middle}.day-card.today .slot-chip{background:var(--accent)}.slot-chip{background:var(--fg);color:var(--bg);border:0;padding:4px 8px;font-family:inherit;font-size:11px;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .12s ease}html[data-theme=dark] .slot-chip,html[data-theme=dark] .duration-row .duration-btn[aria-current=page]{color:var(--bg)}.slot-chip:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.slot-chip[aria-expanded=true]{outline:2px solid var(--fg);outline-offset:2px}.inline-form{background:var(--fg);color:var(--bg);padding:12px;border-left:4px solid var(--accent);margin-top:8px}.inline-form[hidden]{display:none}.inline-form .when{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-bottom:8px}.inline-form .row{display:flex;gap:10px;margin-bottom:6px}.inline-form .row.single{display:block}.inline-form label{display:block;flex:1}.inline-form label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.inline-form input,.inline-form textarea{background:transparent;border:0;border-bottom:1px solid var(--bg);color:var(--bg);padding:4px 0;font-family:inherit;font-size:12px;width:100%;resize:none}.inline-form input::placeholder,.inline-form textarea::placeholder{color:var(--bg);opacity:.55}.inline-form input:focus-visible,.inline-form textarea:focus-visible{outline:0;border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.inline-form .submit{background:var(--accent);color:var(--bg);border:0;padding:6px 12px;font-family:inherit;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:background-color .12s ease}.inline-form .submit:disabled{opacity:.5;cursor:not-allowed}.inline-form .field-error{font-size:11px;color:var(--accent);margin-top:2px}.inline-form .form-error{background:var(--accent);color:var(--bg);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:6px 10px;margin-bottom:8px}.inline-form .form-error[hidden]{display:none}.inline-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}@media(max-width:640px){.inline-form .row{flex-direction:column;gap:6px}}.inline-form .success-msg{font-size:12px;margin-bottom:8px}.inline-form .success-actions a.ics-link{display:inline-block;background:var(--bg);color:var(--fg);padding:6px 12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;text-decoration:none;border:0}.staleness{background:var(--fg);color:var(--bg);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:8px 16px;margin-bottom:16px}.page-footer{border-top:1px solid var(--rule);margin-top:16px;padding-top:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.page-footer .site-links{margin-bottom:8px}.page-footer .site-links a{color:var(--fg);text-decoration:none}.inline-form .form-note{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin:6px 0 10px}.snapshot-error{background:var(--fg);color:var(--bg);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:12px 16px;margin-top:16px}.snapshot-error a{color:var(--bg);text-decoration:underline}.share-actions{display:flex;gap:8px;margin-top:12px}.share-copy,.share-ics{background:var(--bg);color:var(--fg);border:1px solid var(--fg);padding:4px 10px;font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .12s ease,color .12s ease}.share-copy:focus-visible,.share-ics:focus-visible{outline:2px solid var(--fg);outline-offset:2px}@media(max-width:640px){.share-copy,.share-ics{min-height:32px;padding:6px 12px;display:inline-flex;align-items:center}}@media(hover:hover)and (pointer:fine){.theme-toggle:hover{background:var(--fg);color:var(--bg)}.slot-chip:hover{background:#333}.day-card.today .slot-chip:hover{background:var(--accent-hover)}html[data-theme=dark] .slot-chip:hover{background:#ccc;color:#000}html[data-theme=dark] .day-card.today .slot-chip:hover{background:var(--accent-hover)}.day-card .chip-more:hover{color:var(--fg);border-color:var(--fg)}.inline-form .submit:hover{background:var(--accent-hover)}.inline-form .success-actions a.ics-link:hover{background:#e0e0e0}html[data-theme=dark] .inline-form .success-actions a.ics-link:hover{background:#333}.page-footer .site-links a:hover{color:var(--accent)}.share-copy:hover,.share-ics:hover{background:var(--fg);color:var(--bg)}}.slot-chip:active,.duration-row .duration-btn:active,.theme-toggle:active,.day-card .chip-more:active,.inline-form .submit:active,.share-copy:active,.share-ics:active{transition-duration:0ms}.slot-chip:active{background:#333}html[data-theme=dark] .slot-chip:active{background:#ccc;color:#000}.day-card.today .slot-chip:active,.inline-form .submit:active{background:var(--accent-hover)}.theme-toggle:active,.duration-row .duration-btn:active,.share-copy:active,.share-ics:active{background:var(--fg);color:var(--bg)}.day-card .chip-more:active{color:var(--fg);border-color:var(--fg)}@media(prefers-contrast:more){.inline-form .when,.inline-form .form-note{opacity:1}.inline-form input::placeholder,.inline-form textarea::placeholder{opacity:.85}.day-card .chip-more{border-color:var(--fg);color:var(--fg)}}html.theme-switching *,html.theme-switching *:before{transition:none!important}.slot-chip.selected{background:var(--accent);color:var(--bg);outline:2px solid var(--accent);outline-offset:2px}.select-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid currentColor;margin-top:16px;padding-top:12px}.result-panel{border:1px solid currentColor;margin-top:16px;padding:14px}.result-url{font-size:.8rem;word-break:break-all;margin-bottom:10px}.result-err,.send-msg{color:var(--accent);font-size:.8rem}.send-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.send-to{flex:1 1 200px;padding:6px 10px}.ac-list{display:flex;flex-direction:column;width:100%}.ac-row{text-align:left;padding:6px 8px;font-size:.8rem;background:none;border:1px solid var(--rule);cursor:pointer}
