:root{color-scheme:light dark;--bg: light-dark(#ffffff, #141518);--text: light-dark(#191a1e, #e9e9eb);--muted: light-dark(#9a9da6, #74767e);--faint: light-dark(#ececef, #222329);--hair: light-dark(#e2e2e7, #2c2d34);--accent: light-dark(#16a34a, #34d399);--danger: #c96a6a}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.55 Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#app{max-width:620px;margin:0 auto;padding:44px 24px 96px}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input{font:inherit;color:inherit;background:none;border:none;outline:none}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.header{display:flex;align-items:baseline;gap:28px;margin-bottom:48px}.brand{font-weight:650;letter-spacing:.01em}.nav{display:flex;gap:18px}.nav button{color:var(--muted);padding-bottom:2px;border-bottom:1px solid transparent}.nav button:hover{color:var(--text)}.nav button.active{color:var(--text);border-bottom-color:var(--text)}.io{margin-left:auto;display:flex;gap:14px}.io button{color:var(--muted);font-size:13px}.io button:hover{color:var(--text)}.notice{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:var(--muted);border:1px solid var(--hair);border-radius:8px;padding:10px 14px;margin-bottom:16px}.notice-close{color:var(--muted);font-size:15px;line-height:1}.notice-close:hover{color:var(--text)}.date-label{color:var(--muted);font-size:13px}.date-label:first-letter,.day-head h3:first-letter{text-transform:uppercase}.day-total{display:flex;align-items:baseline;gap:10px;margin-top:2px}.big{font-size:56px;font-weight:200;letter-spacing:-.02em;line-height:1.15}.goal-btn,.goal{color:var(--muted);font-size:13px}.goal-btn:hover{color:var(--text)}.goal-input{width:52px;border-bottom:1px solid var(--hair);color:var(--text);font-size:13px}.goal-done{color:var(--accent);font-size:13px}.progress{height:2px;background:var(--faint);margin:22px 0 40px}.progress-fill{height:100%;background:var(--text);transition:width .5s ease}.progress-fill.done{background:var(--accent)}.new-task input{width:100%;padding:10px 0;font-size:17px;border-bottom:1px solid var(--hair);border-radius:0}.new-task input:focus{border-bottom-color:var(--text)}.new-task input::placeholder{color:var(--muted)}.tasks{list-style:none;margin-top:6px}.task-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--faint)}.dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}.dot.on{background:var(--accent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.task-title{flex:1;min-width:0;overflow-wrap:anywhere}.task-time{font-size:15px}.btn{border:1px solid var(--hair);border-radius:999px;padding:4px 14px;font-size:13px}.btn:hover{border-color:var(--muted)}.btn.ghost{color:var(--muted)}.btn.ghost:hover{color:var(--text)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.empty{color:var(--muted);padding:28px 0;font-size:14px;list-style:none}.manual{display:flex;gap:10px;align-items:baseline;margin-bottom:40px;flex-wrap:wrap}.manual input{border-bottom:1px solid var(--hair);padding:6px 0;font-size:14px;border-radius:0}.manual input:focus{border-bottom-color:var(--text)}.manual input::placeholder{color:var(--muted)}.manual .t-title{flex:1;min-width:150px}.manual .dash{color:var(--muted)}.day{margin-bottom:40px}.day-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--hair)}.day-head h3{font-size:14px;font-weight:600}.day-head .tnum{color:var(--muted);font-size:14px}.h-task{border-bottom:1px solid var(--faint)}.h-task summary{display:flex;align-items:baseline;gap:12px;padding:13px 0;cursor:pointer;list-style:none}.h-task summary::-webkit-details-marker{display:none}.entry{display:flex;align-items:center;gap:10px;padding:2px 0 12px 22px;font-size:13px;color:var(--muted)}.entry input[type=time]{border-bottom:1px dashed var(--hair);color:var(--muted);width:78px;font-size:13px}.entry input[type=time]:hover,.entry input[type=time]:focus{color:var(--text);border-bottom-color:var(--muted)}.running-label{color:var(--accent)}.entry .del{color:var(--muted);font-size:12px;margin-left:auto}.entry .del:hover{color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:10}.dialog{background:var(--bg);border:1px solid var(--hair);border-radius:12px;padding:28px;max-width:440px;margin:16px;box-shadow:0 20px 60px #00000026}.dialog h2{font-size:16px;margin-bottom:8px}.dialog p{color:var(--muted);font-size:14px;margin-bottom:22px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
