@charset "UTF-8";@font-face{font-family:Bitter;src:url(/fonts/bitter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-normal-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-normal-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson-italic-400.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--bg: #10201b;--card: #1a2f28;--card-hover: #21382f;--line: #2f4a40;--text: #f3eee1;--muted: #9fb4a6;--accent: #f2a93b;--accent-deep: #d18a28;--delft: #9cc0e2;--ok: #8fc08b;--bad: #e0765e;--font-display: "Bitter", Georgia, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", serif;--font-body: "Atkinson Hyperlegible", system-ui, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--r-sm: 7px;--r-md: 12px}*{box-sizing:border-box}html,*{scrollbar-width:thin;scrollbar-color:#3a564b transparent}::-webkit-scrollbar{width:10px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a564b;border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#4d6e60;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-button{display:none;width:0;height:0}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:400 16px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.01em}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-deep)}:is(a,button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;margin-bottom:16px;box-shadow:0 2px 6px #0000004d}.card h2{margin:0 0 12px;font-size:17px}.card h2 .muted{font-family:var(--font-body);font-weight:400}.muted{color:var(--muted)}.note{color:var(--muted);font-size:13.5px;font-style:italic}.err{color:var(--bad);font-size:14px}button,.btn{padding:9px 16px;border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--accent);color:var(--bg);font:700 15px/1.3 var(--font-body);cursor:pointer;display:inline-block}button.ghost,.btn.ghost{background:transparent;color:var(--accent)}button.plain{background:transparent;border-color:var(--line);color:var(--muted);font-weight:400}.btn.quiet,button.quiet{background:var(--card);border-color:var(--line);color:var(--text);font-weight:400}.btn.quiet:hover,button.quiet:hover{border-color:var(--accent);color:var(--accent);filter:none}button:hover,.btn:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default;filter:none}input[type=text],input[type=password]{width:100%;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:#131009;background:color-mix(in srgb,var(--bg) 88%,black);color:var(--text);font:inherit}input::placeholder{color:var(--muted);opacity:.8}label{display:block;color:var(--muted);font-size:13px;margin:10px 0 4px}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12.5px;font-family:system-ui,sans-serif}.chip.ok{background:#8fc08b29;color:var(--ok);border:1px solid rgba(143,192,139,.45)}.chip.bad{background:#e0765e29;color:var(--bad);border:1px solid rgba(224,118,94,.45)}.chip.off{background:#9fb4a61f;color:var(--muted);border:1px solid var(--line)}ul.plain{list-style:none;margin:6px 0 0;padding:0}ul.plain li{padding:10px 2px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;min-height:44px}ul.plain li:last-child{border-bottom:none}.spread{justify-content:space-between}.meta{color:var(--muted);font-size:13.5px;white-space:nowrap}.meta.time{color:var(--delft)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tick{position:relative;width:22px;height:22px;flex:none;cursor:pointer}.tick input{appearance:none;-webkit-appearance:none;margin:0;width:100%;height:100%;border:1.5px solid var(--muted);border-radius:5px;background:transparent;cursor:pointer;transition:border-color .15s,background-color .15s}.tick input:checked{border-color:var(--accent);background:#f2a93b24}.tick svg{position:absolute;inset:0;margin:auto;width:15px;height:15px;pointer-events:none;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24}.tick input:checked+svg{stroke-dashoffset:0;transition:stroke-dashoffset .22s ease-out .04s}.task-title{flex:1;transition:color .2s}li.done .task-title{color:var(--muted);text-decoration:line-through;text-decoration-color:#9fb4a699}.day{display:flex;gap:18px;padding:14px 20px 14px 14px}.day .rail{flex:none;width:52px;text-align:center;padding-top:4px;border-right:1px solid var(--line)}.day .rail .num{display:block;font:700 30px/1 var(--font-display);color:var(--delft)}.day .rail .wd{display:block;font-size:12px;color:var(--muted);margin-top:3px;text-transform:lowercase}.day .body{flex:1;min-width:0}.day .body ul.plain{margin-top:0}.scroll-x{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.scroll-x>*{flex:none}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
