:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#faf9f5;--card:#fdfcfa;--sunk:#f1efe8;--rule:#e4e1d6;--rule-2:#d3cfc3;--ink:#1c1b18;--ink-mid:#66645c;--dim:#9c9a90;--clay:#b5502f;--clay-soft:#f7e3d9;--policy:#4a45c2;--policy-soft:#e4e3f8;--link:#3a62b8;--link-soft:#e4eaf6;--pass:#2f8a3a;--warn:#b06b12;--warn-soft:#f8e6d0;--teal:#1f7a70;--shadow:0 1px 2px #1c1b180f, 0 6px 20px #1c1b1814;--radius:6px;--sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea{font:inherit;color:inherit}.app{max-width:640px;padding:0 16px calc(130px + env(safe-area-inset-bottom));margin:0 auto}header.top{z-index:5;background:var(--paper);padding:calc(8px + env(safe-area-inset-top)) 0 0;border-bottom:1px solid var(--rule);position:sticky;top:0}.top-row{align-items:baseline;gap:8px;display:flex}.title{letter-spacing:-.01em;font-size:19px;font-weight:650}.subtitle{color:var(--dim);font-size:13px}.strip{grid-template-columns:repeat(7,1fr);gap:2px;margin:6px 0;display:grid}.day-pill{border-radius:var(--radius);color:var(--dim);flex-direction:column;align-items:center;padding:3px 0 4px;line-height:1.25;display:flex}.day-pill .dow{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.day-pill .num{font-family:var(--mono);color:var(--ink);font-size:14px;font-weight:500}.day-pill.today .num{color:var(--clay)}.day-pill.sel{background:var(--ink);color:var(--paper)}.day-pill.sel .num{color:var(--paper)}.themes{scrollbar-width:none;gap:6px;padding:0 0 8px;display:flex;overflow-x:auto}.themes::-webkit-scrollbar{display:none}.theme{border:1px solid var(--rule);background:var(--card);border-radius:999px;flex:none;align-items:center;gap:6px;max-width:75vw;padding:3px 9px 3px 4px;font-size:13px;display:inline-flex}.theme .tag{font-family:var(--mono);text-transform:uppercase;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.theme.month .tag{background:var(--clay-soft);color:var(--clay)}.theme.year .tag{background:var(--policy-soft);color:var(--policy)}.theme .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}section{margin-top:14px}.sec-h{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);justify-content:space-between;align-items:center;min-height:24px;margin:0 0 2px;font-size:11px;font-weight:600;display:flex}.sec-h .count{font-family:var(--mono);letter-spacing:0;font-weight:500}.seg{background:var(--sunk);text-transform:none;letter-spacing:0;border-radius:6px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--ink-mid);border-radius:4px;padding:1px 9px;font-size:12px}.seg button.on{background:var(--card);color:var(--ink);font-weight:550;box-shadow:0 1px 2px #00000014}.ev{align-items:baseline;gap:10px;padding:5px 0;font-size:14px;display:flex}.ev .time{width:52px;font-family:var(--mono);color:var(--ink-mid);flex:none;font-size:12px}.ev .what{border-left:2px solid var(--teal);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding-left:8px;overflow:hidden}.ev .where{color:var(--dim);font-size:12px}.ev.past{opacity:.45}.ev.now .what{border-left-color:var(--clay)}.ev.allday .time{color:var(--teal)}.week-day{color:var(--ink-mid);padding:6px 0 0;font-size:12px;font-weight:600}.empty{color:var(--dim);padding:6px 0;font-size:13px}.list{flex-direction:column;display:flex}.item{border-bottom:1px solid var(--rule);background:var(--paper);align-items:flex-start;gap:10px;padding:9px 0;transition:opacity .2s;display:flex}.item:last-child{border-bottom:0}.check{border:1.5px solid var(--rule-2);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.check svg{opacity:0;width:13px;height:13px;color:var(--paper)}.item.done .check{background:var(--ink-mid);border-color:var(--ink-mid)}.item.done .check svg{opacity:1}.item.done .body .t{color:var(--dim);text-decoration:line-through;-webkit-text-decoration-color:var(--rule-2);text-decoration-color:var(--rule-2)}.body{text-align:left;flex-wrap:wrap;flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.body .t{font-size:15px}.chip{font-family:var(--mono);background:var(--sunk);color:var(--ink-mid);border-radius:4px;padding:0 5px;font-size:11px;line-height:17px}.chip.miss{background:var(--warn-soft);color:var(--warn)}.chip.date{background:var(--link-soft);color:var(--link)}.bullet{width:22px;height:22px;color:var(--dim);flex:none;place-items:center;display:grid}.bullet i{background:currentColor;border-radius:2px;width:6px;height:6px}.done-toggle{color:var(--ink-mid);padding:6px 0;font-size:13px}.dock{z-index:10;background:linear-gradient(to bottom, transparent, var(--paper) 14px);padding-top:14px;position:fixed;bottom:0;left:0;right:0}.dock-inner{max-width:640px;margin:0 auto;padding:0 16px}.add{background:var(--card);border:1px solid var(--rule-2);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.add input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:7px 0;font-size:16px}.add input::placeholder{color:var(--dim)}.target{font-family:var(--mono);color:var(--ink-mid);background:var(--sunk);border-radius:6px;flex:none;align-items:center;gap:4px;height:34px;padding:0 9px;font-size:12px;display:inline-flex}.target.parsed{background:var(--clay-soft);color:var(--clay)}.target svg{width:10px;height:10px}.go{background:var(--ink);width:34px;height:34px;color:var(--paper);border-radius:7px;flex:none;place-items:center;display:grid}.go.idle{background:var(--sunk);color:var(--ink-mid)}nav.tabs{border-top:1px solid var(--rule);background:var(--paper);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);margin-top:6px;display:grid}nav.tabs button{color:var(--dim);flex-direction:column;align-items:center;gap:1px;padding:6px 0 8px;font-size:11px;display:flex;position:relative}nav.tabs button svg{width:19px;height:19px}nav.tabs button.on{color:var(--ink);font-weight:600}nav.tabs button.on:before{content:"";background:var(--ink);border-radius:2px;height:2px;position:absolute;top:-1px;left:30%;right:30%}.typing nav.tabs{display:none}.scrim{z-index:20;opacity:0;pointer-events:none;background:#1313114d;transition:opacity .18s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.sheet{z-index:21;background:var(--card);border:1px solid var(--rule);max-width:640px;padding:8px 16px calc(16px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;max-height:85dvh;margin:0 auto;transition:transform .22s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%)}.sheet.open{transform:none}.grabber{background:var(--rule-2);border-radius:2px;width:36px;height:4px;margin:0 auto 10px}.sheet textarea{resize:none;background:0 0;border:0;outline:0;width:100%;padding:0;font-size:17px;font-weight:550;line-height:1.35}.sheet h3{margin:0;font-size:15px;font-weight:600}.lbl{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px;font-size:11px;font-weight:600}.opts{flex-wrap:wrap;gap:6px;display:flex}.opt{border:1px solid var(--rule);background:var(--paper);border-radius:7px;padding:6px 11px;font-size:14px;position:relative}.opt.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.opt input.overlay{opacity:.011;appearance:none;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.sheet-actions{gap:8px;margin-top:18px;display:flex}.btn{border:1px solid var(--rule-2);border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:550}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.danger{color:#b8352a;flex:none;padding:10px 16px}.toast{left:50%;bottom:calc(118px + env(safe-area-inset-bottom));background:var(--ink);color:var(--paper);z-index:15;opacity:0;pointer-events:none;white-space:nowrap;border-radius:8px;align-items:center;gap:12px;padding:7px 13px;font-size:13px;transition:all .2s;display:flex;position:fixed;transform:translate(-50%,16px)}.toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.toast button{color:var(--clay-soft);font-weight:600}.err{color:#b8352a;padding:6px 0;font-size:13px}.loading{color:var(--dim);padding:14px 0;font-size:13px}
