:root{--bg:#1c1c1e;--sidebar:#2c2c2e;--elevated:#2c2c2e;--fill:#3a3a3c;--sep:#38383a;--text:#f2f2f7;--text-2:#8e8e93;--text-3:#636366;--accent:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--gray:#8e8e93;--backdrop:#0000008c;--shadow:0 20px 60px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#fff;--sidebar:#f2f2f7;--elevated:#fff;--fill:#e5e5ea;--sep:#e5e5ea;--text:#1c1c1e;--text-2:#8e8e93;--text-3:#aeaeb2;--accent:#007aff;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--backdrop:#00000040;--shadow:0 20px 60px #0000002e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:14px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input{font:inherit;color:inherit}.app{height:100%;display:flex}.sidebar{background:var(--sidebar);border-right:.5px solid var(--sep);flex-direction:column;flex:none;gap:2px;width:230px;padding:52px 10px 16px;display:flex}.side-item{text-align:left;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;font-weight:500;transition:background .12s;display:flex}.side-item:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.side-item.on{background:var(--accent);color:#fff}.side-item.drop{outline:2px solid var(--accent);outline-offset:-2px}.side-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.side-icon.today{background:var(--accent)}.side-icon.longterm{background:var(--orange)}.side-icon.finished{background:var(--gray)}.side-item.on .side-icon{background:#ffffff40}.side-label{flex:1}.side-count{font-variant-numeric:tabular-nums;color:var(--text-2)}.side-item.on .side-count{color:#ffffffd9}.list{flex:1;min-width:0;padding:40px 40px 120px;overflow-y:auto}.list-head{justify-content:space-between;align-items:baseline;max-width:760px;display:flex}.list-title{letter-spacing:-.01em;margin:0 0 6px;font-size:30px;font-weight:700}.list-title.today{color:var(--accent)}.list-title.longterm{color:var(--orange)}.list-title.finished{color:var(--gray)}.list-count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600}.list-tools{color:var(--text-2);border-bottom:.5px solid var(--sep);gap:6px;max-width:760px;padding-bottom:8px;font-size:13px;display:flex}.link{color:var(--accent)}.rows{max-width:760px;margin:0;padding:0;list-style:none}.empty{color:var(--text-2);margin:18px 0 0 34px}.row{border-bottom:.5px solid var(--sep);align-items:center;gap:12px;min-height:46px;padding:6px 0;display:flex;position:relative}.row[draggable=true]{cursor:grab}.row.drop-above:before,.row.drop-below:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;left:30px;right:0}.row.drop-above:before{top:-1px}.row.drop-below:after{bottom:-1px}.tick{border:1.5px solid var(--text-3);border-radius:50%;flex:none;width:20px;height:20px;transition:border-color .12s,background .12s;position:relative}.tick:hover{border-color:var(--accent)}.row.done .tick{background:var(--accent);border-color:var(--accent)}.row.done .tick:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:9px;position:absolute;top:2.5px;left:6px;transform:rotate(45deg)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;cursor:text;line-height:1.35}.row.done .row-title{color:var(--text-3);cursor:default;text-decoration:line-through}.row-sub{color:var(--text-2);font-size:12px}.row-timer,.row-due{flex:none;align-items:center;gap:10px;display:flex}.clock{font-variant-numeric:tabular-nums;text-align:right;min-width:52px;color:var(--text-2);font-size:15px}.row.running .clock{color:var(--green)}.row.over .clock{color:var(--red)}.play{width:30px;height:30px;color:var(--accent);place-items:center;display:grid;position:relative}.play .ring{position:absolute;inset:0}.play-glyph{place-items:center;display:grid;position:relative}.row.running .play{color:var(--green)}.row.over .play{color:var(--red)}.chip svg{vertical-align:-1.5px;margin-right:2px}.round.primary svg{margin:0 auto;display:block}.ring-track{fill:none;stroke:var(--fill);stroke-width:2.5px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.running .ring-fill{stroke:var(--green)}.over .ring-fill{stroke:var(--red)}.pill{background:color-mix(in srgb, var(--red) 18%, transparent);color:var(--red);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.due{color:var(--text-2);font-size:13px}.due.soon{color:var(--orange)}.due.overdue{color:var(--red)}.row-menu{flex:none;position:relative}.more{width:24px;height:24px;color:var(--text-2);opacity:0;border-radius:50%;transition:opacity .12s}.row:hover .more,.more:focus-visible{opacity:1}.row-menu:has(.menu) .more{opacity:1}.more:hover{background:var(--fill)}.menu{z-index:10;background:var(--elevated);border:.5px solid var(--sep);min-width:180px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:5px;display:flex;position:absolute;top:28px;right:0}.menu button{text-align:left;border-radius:6px;padding:6px 10px}.menu button:hover{background:var(--accent);color:#fff}.menu .danger{color:var(--red)}.inline-edit{align-items:center;gap:6px;display:inline-flex}.inline-edit input{background:0 0;border:none;outline:none;width:100%;padding:0}.inline-edit.number input,.inline-edit.date input{background:var(--fill);border-radius:6px;padding:3px 8px}.inline-edit.number input{text-align:right;width:64px}.inline-edit .suffix{color:var(--text-2);font-size:13px}.addbox{max-width:760px;padding-top:4px}.add-row{border-bottom:.5px solid var(--sep);align-items:center;gap:12px;min-height:46px;display:flex}.add-plus{text-align:center;width:20px;color:var(--accent);flex:none;font-size:18px}.add-input{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:10px 0}.add-input::placeholder{color:var(--text-3)}.add-hint{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:12px}.chips{flex-wrap:wrap;align-items:center;gap:6px;padding:10px 0 0 32px;display:flex;position:relative}.chip{background:var(--fill);color:var(--text-2);border-radius:999px;padding:4px 11px;font-size:12px;transition:background .12s,color .12s}.chip:hover{color:var(--text)}.chip.on{background:var(--accent);color:#fff}.chip.clear{padding:4px 8px}.date-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:30px;left:120px}.flash{color:var(--green);margin-left:6px;font-size:12px}.shake{animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.mini-timer{background:var(--elevated);border:.5px solid var(--sep);max-width:320px;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;display:flex;position:fixed;bottom:24px;right:24px}.mini-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px}.mini-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-clock{font-variant-numeric:tabular-nums;color:var(--green)}.focus-backdrop,.sheet-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(18px)saturate(140%);place-items:center;padding:16px;animation:.18s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.focus{text-align:center;background:var(--elevated);width:min(520px,100%);box-shadow:var(--shadow);border-radius:24px;padding:36px 28px 32px;animation:.22s cubic-bezier(.2,.9,.3,1.2) rise;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.98)}}.focus-min{background:var(--fill);width:30px;height:30px;color:var(--text-2);border-radius:50%;font-size:16px;line-height:1;position:absolute;top:14px;right:14px}.focus-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin:0;font-size:12px;font-weight:600}.focus.running .focus-label{color:var(--green)}.focus.over .focus-label{color:var(--red)}.focus-title{overflow-wrap:anywhere;margin:8px 0 22px;font-size:22px;font-weight:600}.focus-clock-wrap{place-items:center;width:260px;height:260px;margin:0 auto 26px;display:grid;position:relative}.focus-clock-wrap .ring{position:absolute;inset:0}.focus-clock-wrap .ring-track,.focus-clock-wrap .ring-fill{stroke-width:6px}.focus.running .ring-fill{stroke:var(--green)}.focus.over .ring-fill{stroke:var(--red)}.focus-clock{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:56px;font-weight:300;position:relative}.focus.over .focus-clock{color:var(--red)}.focus-actions{justify-content:center;align-items:center;gap:14px;display:flex}.round{background:var(--fill);border-radius:999px;min-width:92px;height:40px;padding:0 16px;font-weight:500}.round.primary{background:var(--accent);color:#fff;width:64px;min-width:64px;height:64px;font-size:18px}.focus.running .round.primary{background:var(--green)}.sheet{background:var(--elevated);width:min(560px,100%);max-height:85vh;box-shadow:var(--shadow);border-radius:18px;padding:26px 24px 18px;animation:.22s ease-out rise;overflow-y:auto}.sheet h2{margin:0;font-size:22px}.sheet-sub{color:var(--text-2);margin:6px 0 16px}.sheet-list{margin:0;padding:0;list-style:none}.sheet-list li{border-bottom:.5px solid var(--sep);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.sheet-title{overflow-wrap:anywhere}.segmented{background:var(--fill);border-radius:8px;flex:none;padding:2px;display:flex}.segmented button{border-radius:6px;padding:4px 9px;font-size:12px}.segmented button:hover{background:var(--accent);color:#fff}.sheet-foot{text-align:right;padding-top:14px}@media (width<=680px){.app{flex-direction:column}.sidebar{border-right:none;border-bottom:.5px solid var(--sep);flex-direction:row;width:auto;padding:10px 12px;overflow-x:auto}.side-item{flex:1;justify-content:center;gap:6px;padding:7px 8px}.side-icon{display:none}.side-label{flex:none}.list{padding:22px 16px 120px}.more{opacity:1}.sheet-list li{flex-direction:column;align-items:flex-start}.add-hint{display:none}}
