@font-face{font-family:Outfit;src:url(/fonts/outfit-latin.woff2)format("woff2");font-weight:300 700;font-display:swap}body.dir{--cream:#fbf7f1;--paper:#fff;--ink:#2b211b;--ink-2:#5f5249;--line:#e6dccf;--teal:#1f4f4a;--teal-deep:#173d39;--on-teal:#f6efe4;--on-teal-2:#c4d8d1;--terra:#a8431f;--terra-press:#8a3517;--open-bg:#dcece5;--open-ink:#15443a;--open-dot:#23826b;--warn-bg:#f8e7c2;--warn-ink:#5e4106;--warn-dot:#b67d12;--shut-bg:#ece5dc;--shut-ink:#5f5249;--radius:14px;--ease-out:cubic-bezier(.16, 1, .3, 1);background:var(--cream);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;accent-color:var(--terra);caret-color:var(--terra);margin:0;font-family:Outfit,ui-rounded,system-ui,sans-serif;font-size:1.0625rem;font-weight:400;line-height:1.55}body.dir.has-action-bar{padding-bottom:calc(84px + env(safe-area-inset-bottom))}@media (width>=760px){body.dir.has-action-bar{padding-bottom:0}}.dir ::selection{background:var(--teal);color:var(--on-teal)}.dir a{color:var(--teal);text-underline-offset:.18em;text-decoration-thickness:1px}.dir a:hover{color:var(--terra)}.dir :focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:6px}.dir h1,.dir h2,.dir h3{text-wrap:balance;color:var(--ink);font-weight:600}.dir h1{letter-spacing:-.03em;margin:0 0 .35em;font-size:clamp(2.1rem,6.5vw,3.4rem);line-height:1.04}.dir h2{letter-spacing:-.02em;margin:2.4em 0 .7em;font-size:clamp(1.35rem,3.2vw,1.75rem);line-height:1.15}.dir p{text-wrap:pretty;max-width:68ch}.shell{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px;margin:0 auto;padding:0 20px}.skip{z-index:20;background:var(--paper);border-radius:10px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.dir-header{z-index:10;background:var(--teal);color:var(--on-teal);position:sticky;top:0;box-shadow:0 1px #00000014}.header-row{justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.logo{align-items:center;gap:7px;text-decoration:none;display:inline-flex;color:var(--on-teal)!important}.wordmark{letter-spacing:-.02em;white-space:nowrap;font-size:1.3rem;line-height:1}.wordmark b{font-weight:600}.wordmark span{font-weight:300}.dir-header ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.dir-header nav a{min-height:44px;color:var(--on-teal);white-space:nowrap;transition:background-color .15s var(--ease-out);border-radius:999px;align-items:center;padding:0 12px;font-size:.98rem;text-decoration:none;display:inline-flex}.dir-header nav a:hover{color:var(--on-teal);background:#ffffff1a}@media (width<=420px){.header-row{gap:8px}.wordmark{font-size:1.1rem}.dir-header ul{gap:0}.dir-header nav a{padding:0 8px;font-size:.9rem}}.dir-footer{background:var(--ink);color:#e9dfd3;margin-top:96px;padding:56px 0 28px}.dir-footer a{color:#f3ebe0}.dir-footer a:hover{color:#fff}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:32px;display:grid}.footer-grid p{color:#cfc2b4;max-width:46ch}.footer-heading{margin:0 0 8px;font-weight:600;color:#f3ebe0!important}.dir-footer ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dir-footer .fine{color:#b8aa9b;opacity:1;border-top:1px solid #ffffff1f;margin-top:40px;padding-top:20px;font-size:.9rem}.crumbs{color:var(--ink-2);flex-wrap:wrap;gap:6px;margin:28px 0 18px;padding:0;font-size:.95rem;list-style:none;display:flex}.crumbs li+li:before{content:"›";color:#9a8b7e;margin-right:6px}.lede{color:var(--ink-2);margin:0 0 8px;font-size:1.15rem}.status{background:var(--shut-bg);color:var(--shut-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 11px 4px 9px;font-size:.9rem;font-weight:500;line-height:1.3;display:inline-flex}.status-dot{opacity:.55;background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.status[data-state=open]{background:var(--open-bg);color:var(--open-ink)}.status[data-state=open] .status-dot{background:var(--open-dot);opacity:1}.status[data-state=soon],.status[data-state=later]{background:var(--warn-bg);color:var(--warn-ink)}.status[data-state=soon] .status-dot,.status[data-state=later] .status-dot{background:var(--warn-dot);opacity:1}.status.is-flipping{animation:sign-flip .46s var(--ease-out) both}@keyframes sign-flip{0%{opacity:.3;transform:perspective(300px)rotateX(-85deg)}}@media (prefers-reduced-motion:reduce){.status.is-flipping{animation:.2s both sign-fade}@keyframes sign-fade{0%{opacity:.4}}}.week{grid-template-columns:repeat(7,18px);gap:3px;margin:0;padding:0;list-style:none;display:inline-grid}.week li{height:18px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);background:0 0;border-radius:4px;place-items:center;font-size:.66rem;font-weight:600;display:grid}.week li.on{background:var(--teal);color:var(--on-teal);box-shadow:none}.week li[data-today]{outline:2px solid var(--ink);outline-offset:1px}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line)}.row-link{transition:background-color .15s var(--ease-out);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status""meta week";align-items:center;gap:6px 16px;margin:0 -8px;padding:16px 8px;text-decoration:none;display:grid;color:var(--ink)!important}.row-link:hover{background:#1f4f4a0d}.row-link:active{background:#1f4f4a17}.row-name{letter-spacing:-.01em;grid-area:name;font-size:1.08rem;font-weight:600;line-height:1.25}.row-meta{color:var(--ink-2);grid-area:meta;font-size:.95rem}.row .status{grid-area:status;justify-self:end}.row .week{grid-area:week;justify-self:end}@media (width<=520px){.row-link{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""meta""status""week";row-gap:8px}.row .status,.row .week{justify-self:start}}.group-title{justify-content:space-between;gap:12px;margin:28px 0 4px;font-size:1.05rem;font-weight:600;display:flex}.group-title a{color:var(--ink);text-decoration:none}.group-title a:hover{color:var(--terra)}.group-title .muted{color:var(--ink-2);font-weight:400}.filters{background:var(--teal);color:#fbf7f1;border-radius:18px;margin:20px 0 16px;padding:16px;scroll-margin-top:76px}.filters[hidden]{display:none}.filters:has(+.map){border-radius:18px 18px 0 0;margin-bottom:0}.filters:not([hidden])+.map{border-radius:0 0 18px 18px;margin-top:0}.f-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:12px;display:flex}.f-count{color:#fbf7f1d1;font-variant-numeric:tabular-nums;margin:0;font-size:.98rem}.f-count strong{color:#fbf7f1;font-size:1.25rem;font-weight:600}.f-clear{appearance:none;color:#fbf7f1;min-height:44px;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:-6px -8px;padding:0 8px;font-size:.95rem;font-weight:500;text-decoration:underline}.f-clear[hidden]{display:none}.f-controls{flex-wrap:wrap;gap:8px;display:flex}.f-seg{background:var(--teal-deep);border-radius:999px;padding:3px;display:flex}.f-seg button{appearance:none;color:#fbf7f1;min-height:38px;font:inherit;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--ease-out), color .15s var(--ease-out), transform .1s var(--ease-out);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:.95rem;font-weight:500}.f-seg button:active:not(:disabled),.f-menu:active{transform:scale(.97)}.f-seg button[aria-pressed=true]{color:var(--ink);background:#fbf7f1}.f-seg button:disabled{color:#fbf7f173;cursor:default}.f-menus{margin-top:8px}.f-menus:empty,.f-near[hidden]{display:none}.f-near:disabled{cursor:progress;opacity:.75}.f-msg{color:#fbf7f1;margin:10px 0 0;font-size:.95rem}.f-msg[hidden]{display:none}.row-dist{color:var(--teal);font-weight:600}.row-dist:not(:empty):after{content:" · ";color:var(--ink-2);font-weight:400}.f-menu{appearance:none;color:#fbf7f1;min-width:0;min-height:44px;font:inherit;cursor:pointer;transition:background-color .15s var(--ease-out), transform .1s var(--ease-out);background:0 0;border:1px solid #fbf7f166;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:0 14px 0 16px;font-size:.95rem;display:inline-flex}.f-menu svg{flex:none}.f-menu-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.f-menu b{font-weight:600}.f-menu.is-set{color:var(--ink);background:#fbf7f1;border-color:#fbf7f1}.filters :focus-visible{outline-offset:2px;outline:2px solid #fbf7f1}.f-pop :focus-visible{outline-color:var(--terra)}.f-pop{inset:var(--y,0) auto auto var(--x,0);background:var(--paper);width:300px;color:var(--ink);box-shadow:0 18px 40px -16px #2b211b73, 0 0 0 1px var(--line);transform-origin:0 0;opacity:0;transition:opacity .15s var(--ease-out), transform .18s var(--ease-out), overlay .18s allow-discrete, display .18s allow-discrete;border:0;border-radius:14px;margin:0;padding:8px;position:fixed;transform:scale(.97)translateY(-4px)}.f-pop:popover-open{opacity:1;transform:none}@starting-style{.f-pop:popover-open{opacity:0;transform:scale(.97)translateY(-4px)}}.f-pop-title{color:var(--ink-2);margin:6px 10px;font-size:.9rem}.f-opt{appearance:none;width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-size:.98rem;display:flex}.f-opt:hover:not(:disabled){background:var(--cream)}.f-opt:active:not(:disabled){background:var(--line)}.f-opt:disabled{color:var(--ink-2);opacity:.55;cursor:default}.f-opt[aria-pressed=true]{font-weight:600}.f-check{color:var(--teal);visibility:hidden;flex:none}.f-opt[aria-pressed=true] .f-check{visibility:visible}.f-n{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}.f-pop .f-done{display:none}@media (width<=759px){.filters{padding:14px}.f-head:has(.f-clear:not([hidden])) .f-count span{display:none}.f-seg{width:100%}.f-seg button{flex:1;padding:0 6px}.f-menu{flex:1 1 0}.f-near{flex:100%;justify-content:center}.f-pop{width:100%;max-height:80dvh;padding:14px 16px calc(16px + env(safe-area-inset-bottom));transform-origin:bottom;opacity:1;transition:transform .28s var(--ease-out), overlay .28s allow-discrete, display .28s allow-discrete;border-radius:22px 22px 0 0;inset:auto 0 0;overflow-y:auto;transform:translateY(100%)}.f-pop:popover-open{transform:none}@starting-style{.f-pop:popover-open{opacity:1;transform:translateY(100%)}}.f-pop::backdrop{background:#2b211b66}.f-pop-title{color:var(--ink);font-size:1.1rem;font-weight:600}.f-pop .f-done{justify-content:center;width:100%;margin-top:10px;display:flex}}@media (prefers-reduced-motion:reduce){.f-pop,.f-pop:popover-open{transition:opacity .15s;transform:none}@starting-style{.f-pop:popover-open{opacity:0;transform:none}}}.f-sticky{top:var(--header-h,60px);z-index:40;-webkit-backdrop-filter:blur(16px)saturate(160%);color:#fbf7f1;background:#173d39eb;justify-content:space-between;align-items:center;gap:12px;padding:4px 16px;font-size:.92rem;display:flex;position:fixed;left:0;right:0}.f-sticky[hidden]{display:none}.f-sticky p{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;margin:0;overflow:hidden}.f-sticky strong{font-weight:600}.f-sticky span:not(:empty):before{content:"· "}.f-sticky button{appearance:none;color:#fbf7f1;min-height:44px;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex:none;font-weight:500;text-decoration:underline}@media (prefers-reduced-transparency:reduce){.f-sticky{background:var(--teal-deep);-webkit-backdrop-filter:none}}.empty{color:var(--ink-2);padding:28px 0}.empty[hidden]{display:none}.text-button{appearance:none;font:inherit;color:var(--terra);text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.btn{cursor:pointer;min-height:52px;transition:background-color .15s var(--ease-out), transform .1s var(--ease-out);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-family:inherit;font-size:1.02rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--terra);color:#fff!important}.btn-primary:hover{background:var(--terra-press)}.btn-quiet{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)!important}.btn-quiet:hover{background:#f4eee6}.btn svg{flex:none}@media (prefers-reduced-motion:reduce){.dir *,.dir :before,.dir :after{transition-duration:1ms!important;animation-duration:1ms!important}}
