:root{--ink:#000;--paper:#fff;--alarm:#b00000;--shadow:7px;--line:2px;--gap:12px;--font-display:Georgia, serif;--font-title:Georgia, serif;--font-body:"Courier New", ui-monospace, monospace;--font-mono:"Courier New", ui-monospace, monospace;--font-hand:Georgia, serif}*,:before,:after{box-sizing:border-box}:lang(ar),:lang(ar) *{letter-spacing:0!important}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.45}body{min-block-size:100dvh}a{color:inherit}h1,h2,h3{font-family:var(--font-title);margin-block:0 var(--gap);font-weight:400}h1 b,h2 b,.mark{background:var(--ink);color:var(--paper);padding-inline:6px}.display{font-family:var(--font-display)}.display.fallback,.logo.fallback{font-family:var(--font-body)}.label{text-transform:uppercase;letter-spacing:.12em;font-size:11px}.card{background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow) var(--shadow) 0 var(--ink);margin-block-end:calc(var(--gap) * 2);padding:16px 18px 18px}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .card{box-shadow:calc(var(--shadow) * -1) var(--shadow) 0 var(--ink)}button,.button{font:inherit;color:var(--ink);background:var(--paper);border:var(--line) solid var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-block-size:44px;padding-block:8px;padding-inline:12px;text-decoration:none;display:inline-flex}button:active,button[aria-pressed=true],.button.on{background:var(--ink);color:var(--paper)}button:disabled{opacity:.4;cursor:default}button.quiet{border-color:#0000;min-block-size:32px;text-decoration:underline}input,textarea,select{font:inherit;font-family:var(--font-body);color:var(--ink);background:var(--paper);border:var(--line) solid var(--ink);inline-size:100%;padding-block:8px;padding-inline:10px}textarea{resize:vertical;min-block-size:6em}input[type=checkbox]{block-size:22px;inline-size:22px;accent-color:var(--ink)}:focus-visible{outline:3px dashed var(--ink);outline-offset:2px}.row{align-items:center;gap:var(--gap);border-block-start:1px dashed var(--ink);padding-block:10px;display:flex}.row:first-child{border-block-start:var(--line) solid var(--ink)}.grow{flex:1;min-inline-size:0}.stack{gap:var(--gap);display:grid}.actions{flex-wrap:wrap;gap:8px;display:flex}.muted{opacity:.65}.banner{border:var(--line) solid var(--ink);margin-block-end:var(--gap);padding-block:8px;padding-inline:12px}.banner.alarm{background:var(--alarm);border-color:var(--alarm);color:var(--paper)}.app{max-inline-size:46rem;margin-inline:auto;padding-block:16px 96px;padding-inline:16px}.top{justify-content:space-between;align-items:baseline;gap:var(--gap);margin-block-end:calc(var(--gap) * 2);display:flex}.logo{font-family:var(--font-display);font-size:26px}nav.tabs{background:var(--paper);border-block-start:var(--line) solid var(--ink);justify-content:center;padding-block-end:env(safe-area-inset-bottom);display:flex;position:fixed;inset-block-end:0;inset-inline:0}nav.tabs a{text-align:center;flex:1;max-inline-size:9rem;padding-block:12px;text-decoration:none}nav.tabs a[aria-current=page]{background:var(--ink);color:var(--paper)}.days{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.days span{aspect-ratio:1;border:1px solid var(--ink)}.days .met{background:var(--ink)}.days .unplanned{opacity:.4;border-style:dotted}.toast{z-index:10;max-inline-size:30rem;margin-inline:auto;position:fixed;inset-block-end:80px;inset-inline:16px}.chip-x{min-block-size:0;color:inherit;background:0 0;border:0;padding-block:0;padding-inline:4px}.clock{font-variant-numeric:tabular-nums;font-size:40px}.helper{z-index:5;position:fixed;inset-block-end:64px;inset-inline-end:12px}@media (prefers-reduced-motion:no-preference){.helper.worried svg{animation:.6s ease-in-out 2 shiver}}.helper-bubble{z-index:5;max-inline-size:16rem;margin:0;position:fixed;inset-block-end:116px;inset-inline-end:12px}@keyframes shiver{50%{transform:translate(2px)}}.layer{-webkit-overflow-scrolling:touch;background:var(--paper);transform-origin:50% 46%;position:fixed;inset:0;overflow-y:auto}.layer.leaving.in,.layer.arriving.out{z-index:2}.layer.leaving{pointer-events:none}.layer.leaving.in{animation:1.7s cubic-bezier(.2,.7,.3,1) forwards travel-zoom-past,1.35s forwards travel-fade-out,1.35s forwards travel-blur}.layer.arriving.in{animation:1.7s cubic-bezier(.2,.7,.3,1) travel-zoom-from-far,1.35s travel-fade-in}.layer.leaving.out{animation:1.7s cubic-bezier(.2,.7,.3,1) forwards travel-shrink,1.35s forwards travel-fade-out}.layer.arriving.out{animation:1.7s cubic-bezier(.2,.7,.3,1) travel-zoom-from-near,1.35s travel-fade-in}@keyframes travel-zoom-past{to{transform:scale(3.4)}}@keyframes travel-zoom-from-far{0%{transform:scale(.8)}}@keyframes travel-shrink{to{transform:scale(.62)}}@keyframes travel-zoom-from-near{0%{transform:scale(1.6)}}@keyframes travel-fade-out{to{opacity:0}}@keyframes travel-fade-in{0%{opacity:0}}@keyframes travel-blur{to{filter:blur(9px)}}.fog{z-index:5;pointer-events:none;opacity:0;transition:opacity .55s;position:fixed;inset:0;overflow:hidden}.fog.on{opacity:1}.cloud{filter:blur(24px);background:radial-gradient(circle,#fffffff5,#f4f4f499 42%,#0000 72%);border-radius:50%;position:absolute}@media (prefers-reduced-motion:no-preference){.cloud{animation:linear infinite drift}.fog:not(.on) .cloud{animation-play-state:paused}}.cloud.grey{background:radial-gradient(circle,#e2e2e2e6,#d6d6d680 42%,#0000 72%)}@keyframes drift{50%{transform:translate(10%)scale(1.16)}0%,to{transform:translate(-12%)scale(1)}}.scene-banners{z-index:4;position:sticky;inset-block-start:0}.scene-banners .banner{background:var(--paper);margin:8px}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin-block:0 var(--gap)}.prose ul,.prose ol{padding-inline-start:1.4em}.prose blockquote{border-inline-start:var(--line) solid var(--ink);margin-inline:0;padding-inline-start:var(--gap)}.prose code,.prose pre{font-family:var(--font-mono)}.prose pre{border:1px dashed var(--ink);padding:8px;overflow-x:auto}.prose table{border-collapse:collapse;inline-size:100%}.prose th,.prose td{border:1px solid var(--ink);text-align:start;vertical-align:top;padding:4px 6px}
