:root{color-scheme:light;--forest:#11251f;--green:#1d624e;--paper:#f6f5ed;--ink:#162b24;--line:#d9dfd3;--gold:#f6d68a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px system-ui,sans-serif}header,nav,main,footer{padding-inline:max(5vw,calc((100% - 1100px)/2))}header{background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:18px}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:760}.brand img{width:42px;height:42px}.brand em{color:var(--gold);font-style:normal}.brand small{display:block;font-size:9px;letter-spacing:.18em;margin-top:3px;color:#a6beb1}nav{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);background:#fff;padding-block:9px}button,input,select{font:inherit;border:1px solid var(--line);border-radius:10px;padding:.58rem .78rem;background:#fff;color:var(--ink)}button{cursor:pointer;font-weight:650}button:hover{background:#e9f1e9}button[aria-current],button[aria-pressed=true]{background:#e0eee3;color:#164d39;border-color:#afcab8}button:focus-visible,a:focus-visible{outline:3px solid #b26b13;outline-offset:2px}main{min-height:75vh;padding-block:24px 48px}h1{font:700 clamp(2.4rem,7vw,4rem)/1.04 Georgia,serif;margin:.15em 0 .45em}h2{margin:0 0 .45em}p{line-height:1.5}.eyebrow{color:var(--green);letter-spacing:.14em;font-size:.73rem;font-weight:800;margin:0}#notice:empty{display:none}#notice{padding:10px;background:#f5e7bd;border-radius:10px}.hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:clamp(18px,5vw,38px);background:var(--forest);color:#fff;border-radius:22px}.hero .eyebrow,.hero strong{color:var(--gold)}.hero h2{font-size:clamp(1.7rem,5vw,2.7rem);margin:.2em 0}.hero strong{font-size:clamp(1.8rem,6vw,3.5rem);font-variant-numeric:tabular-nums}.times,.cards{display:grid;gap:12px;margin:16px 0}.times{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}article,.time,.day{background:#fff;border:1px solid var(--line);padding:16px;border-radius:16px}.time{min-width:0}.time strong,.time small{display:block}.time strong{font-size:1.35rem}.time small{margin-top:5px}.current{background:#e1eee3;border-color:#9bbca9}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}label{display:block;margin:8px 0}label input:not([type=checkbox]),label select{max-width:100%;margin-left:4px}#cards article[hidden]{display:none}#count{display:block;font-size:2.8rem;font-weight:800}.beads{display:flex;gap:5px;margin:10px 0}.beads i{display:block;width:16px;height:16px;border-radius:50%;background:var(--bead,#1d624e);opacity:.2}.beads .filled{opacity:1}.bar{height:12px;background:#e5eee5;border-radius:10px;position:relative;margin:16px 0}.bar i{position:absolute;height:100%;width:3px;background:#ba402c}.bar b{position:absolute;top:3px;width:6px;height:6px;border-radius:50%;background:#24694f;transform:translateX(-50%)}.bar span{position:absolute;height:100%;background:#e6b683}.clockface{width:min(100%,250px);margin:22px auto;position:relative;aspect-ratio:2;border:2px solid #aec5b8;border-radius:12px}.clockface b{position:absolute;transform:translate(-50%,-50%);color:#1d624e}.clockface i{position:absolute;transform:translate(-50%,-50%);color:#a83824}.day{margin-top:9px}.day h2{font-size:1.05rem}.day .times{margin-bottom:0}.day .time{padding:8px}#heatmap{display:grid;grid-template-columns:repeat(14,1fr);max-width:420px;gap:4px;margin:15px 0}#heatmap span{aspect-ratio:1;border-radius:3px;background:#dbe9df}.qada-row{display:flex;align-items:center;gap:8px;margin:.5rem 0}.qada-row span{flex:1}footer{padding-block:18px;border-top:1px solid var(--line);font-size:.85rem}#map{position:relative;height:clamp(330px,55vh,530px);overflow:hidden;background:#dce7dd;border:1px solid var(--line);border-radius:18px;touch-action:none}#mapTiles{position:absolute;left:50%;top:50%;transform-origin:0 0}#mapTiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;pointer-events:none}#mapInk{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.zoom{position:absolute;top:12px;right:12px;display:grid;gap:4px}.attribution{position:absolute;bottom:0;right:0;background:#fffd;font-size:11px;padding:4px;color:var(--ink)}#compass{position:relative;margin:26px auto;width:min(78vw,340px);aspect-ratio:1;border:2px solid var(--green);border-radius:50%;background:repeating-radial-gradient(circle,#fff 0 27%,#edf3ec 27% 28%,#fff 28% 43%,#edf3ec 43% 44%,#fff 44% 100%)}#dial,#needle{position:absolute;inset:0;text-align:center}#dial span{position:absolute;font-weight:800}#dial span:nth-child(1){top:5%;left:48%}#dial span:nth-child(2){right:5%;top:47%}#dial span:nth-child(3){bottom:5%;left:48%}#dial span:nth-child(4){left:5%;top:47%}#needle{font-size:clamp(6rem,25vw,10rem);display:grid;place-items:center;color:#b93b30}#needle[hidden]{display:none}@media(max-width:560px){header button{font-size:.78rem}.brand{font-size:1rem}.brand small{letter-spacing:.07em}nav button{white-space:nowrap;padding:.48rem .6rem}.times{grid-template-columns:repeat(3,1fr)}.time{padding:10px}.day .times{grid-template-columns:repeat(3,1fr)}}
