:root{--paper:#f6f4ed;--ink:#202d24;--muted:#5d665e;--line:#d8dcd0;--green:#246443;--amber:#875619}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}
button,select,a{touch-action:manipulation}
button,select{font:inherit}
button,a,select,summary{outline-offset:5px}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #875619}
main{max-width:480px;padding:32px 24px 24px;margin:auto}
.eyebrow{font-size:12px;font-weight:bold;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}
header{border-bottom:2px solid var(--ink);padding-bottom:24px}
h1{font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.08;font-weight:normal;letter-spacing:-1.6px;margin:12px 0 8px}
.tagline{color:var(--muted);margin:0;font-size:15px}
.choose{padding:24px 0 22px;position:relative}
.picker-title{font-family:Georgia,serif;font-size:27px;font-weight:normal;margin:0 0 7px}
.picker-hint{font-size:14px;color:var(--muted);margin:0 0 20px}
.center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.center-grid a{color:var(--ink);text-decoration:none;display:flex;flex-direction:column;justify-content:center;border:1px solid #9ba797;border-radius:5px;padding:13px 14px;min-height:70px;font-size:15px;font-weight:bold;line-height:1.3}
.center-grid a:hover{background:#e8ebe1;border-color:var(--green)}
.center-grid a[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}
.center-grid small{font-size:11px;font-weight:normal;margin-top:5px;opacity:.8}
.selection{min-height:58px;padding-right:140px}
.selection strong{font-size:17px}
.selection small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.selected-label{font-size:11px;font-weight:bold;letter-spacing:.1em;color:var(--muted);margin:0 0 6px}
#center-picker{border:0}
#center-picker summary{position:absolute;right:0;top:29px;list-style:none;background:none;color:var(--ink);font-size:13px;font-weight:bold;border:1px solid #9ba797;border-radius:4px;min-height:44px;padding:11px 12px}
#center-picker summary::-webkit-details-marker{display:none}
#center-picker .center-grid{margin-top:20px}
.remember{font-size:12px;color:var(--muted);margin:16px 0 0}
label[for=center]{display:block;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px}
#center{width:100%;background:transparent;border:1px solid #879487;min-height:52px;padding:12px;color:var(--ink);border-radius:5px}
.status{padding:15px 0 25px;border-bottom:1px solid var(--line)}
.badge{font-size:12px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase;color:var(--green);display:flex;gap:8px;align-items:center}
.dot{width:9px;height:9px;border-radius:50%;background:currentColor;flex-shrink:0}
#answer{font-size:84px;line-height:1;font-weight:bold;letter-spacing:-5px;margin:15px 0 10px}
#next{font-size:23px;font-weight:bold;margin:0 0 12px;letter-spacing:-.5px}
.explain{color:var(--muted);font-size:13px;max-width:340px;margin:0}
.holiday{color:var(--amber);font-size:14px;margin:12px 0}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 0}
.actions a{display:flex;justify-content:center;align-items:center;min-height:49px;border:1px solid var(--ink);border-radius:5px;color:var(--ink);text-decoration:none;font-weight:bold;font-size:14px}
.actions a:first-child{background:var(--ink);color:#fff}
.address{font-size:14px;margin:0 0 22px;color:var(--muted)}
.row{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.row strong{font-weight:600;text-align:right;max-width:76%;overflow-wrap:anywhere}
details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:15px 0;font-size:14px;font-weight:bold;min-height:48px}
table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:14px}
th,td{padding:7px 0}
th{text-align:left;font-weight:normal}
td:last-child{text-align:right}
.rules{font-size:13px;padding-top:20px}
.rules p{margin:0 0 8px}
.rules a,footer a,.source a,.intro a{color:inherit}
.source{color:var(--muted);font-size:12px}
footer{font-size:12px;color:var(--muted);padding:24px 0 0}
footer p{margin-top:12px}
footer .local-credit{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--green);font-weight:bold;letter-spacing:.03em}
.intro{padding:12px 0 30px}
.intro h2{font-family:Georgia,serif;font-size:30px;font-weight:normal;margin:8px 0}
.intro p{color:var(--muted)}
.center-links{list-style:none;margin:20px 0 0;padding:0}
.center-links a{display:block;padding:10px 0;min-height:44px}
.facility-name{font-size:15px;font-weight:bold;margin:0 0 12px}
.status[data-state=open] .badge{color:var(--green)}
.status[data-state=closed] .badge{color:var(--muted)}
.status[data-state=uncertain] .badge{color:var(--amber)}
.status[data-exception=true] .badge{color:var(--amber)}
.status[data-state=uncertain] #answer{font-size:58px;letter-spacing:-3px}
.exception-list{padding-left:20px;font-size:13px}
.exception-list li{margin:0 0 12px}
[hidden]{display:none!important}
@media(min-width:800px){main{padding-top:46px}}
@media(max-width:360px){main{padding:24px 18px}h1{font-size:37px}#answer{font-size:74px}.status[data-state=uncertain] #answer{font-size:52px}}
