:root{color-scheme:light;--page: #f4f7f3;--surface: #fdfefc;--surface-2: #eef2ec;--ink: #141813;--ink-2: #565e54;--ink-3: #8a9186;--hair: #e0e5dd;--accent: #22703e;--accent-ink: #1b5c33;--accent-soft: #e4f0e5;--good: #0ca30c;--good-bg: #e6f4e2;--good-ink: #0a6b0a;--warn: #fab219;--warn-bg: #fdf1d6;--warn-ink: #8a5a00;--info: #2a78d6;--info-bg: #e3edfb;--info-ink: #1c5cab;--crit: #d03b3b;--crit-bg: #fbe4e2;--crit-ink: #a32626;--radius: 10px;--shadow: 0 1px 2px rgba(20, 24, 19, .05), 0 4px 14px rgba(20, 24, 19, .05);--shadow-float: 0 4px 18px rgba(0, 0, 0, .18)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page: #0e110d;--surface: #181c16;--surface-2: #20251e;--ink: #eef1ec;--ink-2: #b4bcb0;--ink-3: #848b80;--hair: #2a2f28;--accent: #58b878;--accent-ink: #7ccb95;--accent-soft: #1e2f22;--good: #2fbf2f;--good-bg: #17301a;--good-ink: #5fce6d;--warn: #fab219;--warn-bg: #33290f;--warn-ink: #f5c85e;--info: #3987e5;--info-bg: #16283e;--info-ink: #82b4f2;--crit: #e05252;--crit-bg: #391b1b;--crit-ink: #f09090;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3)}}:root[data-theme=dark]{color-scheme:dark;--page: #0e110d;--surface: #181c16;--surface-2: #20251e;--ink: #eef1ec;--ink-2: #b4bcb0;--ink-3: #848b80;--hair: #2a2f28;--accent: #58b878;--accent-ink: #7ccb95;--accent-soft: #1e2f22;--good: #2fbf2f;--good-bg: #17301a;--good-ink: #5fce6d;--warn: #fab219;--warn-bg: #33290f;--warn-ink: #f5c85e;--info: #3987e5;--info-bg: #16283e;--info-ink: #82b4f2;--crit: #e05252;--crit-bg: #391b1b;--crit-ink: #f09090;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic UI,Noto Sans JP,sans-serif;font-size:15px;line-height:1.6;-webkit-tap-highlight-color:transparent}.wrap{padding:0 22px 130px}.screen{padding-top:20px}.screen:not(.screen-full){max-width:1080px;margin:0 auto}.app-header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:22px 0 8px}.logo{font-size:22px;font-weight:700;letter-spacing:.02em;color:var(--accent-ink)}.logo:before{content:"●";color:var(--good);margin-right:7px;font-size:14px;vertical-align:2px}.today{color:var(--ink-2);font-size:14px}.tabs{position:sticky;top:0;z-index:10;background:var(--page);display:flex;gap:4px;flex-wrap:wrap;padding:8px 0 12px;border-bottom:1px solid var(--hair)}.tabs a{text-decoration:none;border:1px solid transparent;color:var(--ink-2);font-size:14px;font-weight:600;padding:10px 16px;border-radius:999px}.tabs a:hover{background:var(--surface-2)}.tabs a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tabs a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}h2{font-size:17px;font-weight:700;margin:24px 0 12px}.placeholder{color:var(--ink-3);font-size:14px;border:1px dashed var(--hair);border-radius:var(--radius);padding:24px;text-align:center}.btn{appearance:none;font:inherit;font-size:14px;font-weight:600;border-radius:10px;padding:11px 20px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;min-height:44px}:root[data-theme=dark] .btn:not(.ghost):not(.danger){color:#0e110d}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .btn:not(.ghost):not(.danger){color:#0e110d}}.btn.ghost{background:var(--surface);color:var(--accent-ink)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.danger{border-color:var(--crit);background:var(--surface);color:var(--crit-ink)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin:10px 0 12px}.legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.tile{position:relative;border-radius:var(--radius);border:1px solid var(--hair);background:var(--surface);padding:12px 14px 12px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:5px;height:128px;overflow:hidden;transition:transform .12s ease;cursor:pointer;text-align:left;font:inherit;color:inherit}@media(prefers-reduced-motion:no-preference){.tile:hover{transform:translateY(-2px)}}.tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:var(--radius) 0 0 var(--radius)}.tile.s-good{background:var(--good-bg)}.tile.s-good:before{background:var(--good)}.tile.s-warn{background:var(--warn-bg)}.tile.s-warn:before{background:var(--warn)}.tile.s-info{background:var(--info-bg)}.tile.s-info:before{background:var(--info)}.tile.s-crit{background:var(--crit-bg)}.tile.s-crit:before{background:var(--crit)}.tile .title{font-weight:650;font-size:14.5px;line-height:1.35}.tile.s-good .title.strike{text-decoration:line-through;text-decoration-thickness:1px;color:var(--ink-2)}.tile .big-time{font-size:25px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.tile .meta{font-size:12px;color:var(--ink-2);margin-top:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.src{font-size:11px;color:var(--ink-2);border:1px solid var(--hair);background:var(--surface);border-radius:4px;padding:0 6px}.added{font-size:11px;color:var(--accent-ink);border:1px dashed var(--accent);border-radius:4px;padding:0 6px}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;border-radius:999px;padding:1px 8px;align-self:flex-start}.chip.good{color:var(--good-ink);background:color-mix(in srgb,var(--good) 14%,transparent)}.chip.warn{color:var(--warn-ink);background:color-mix(in srgb,var(--warn) 16%,transparent)}.chip.info{color:var(--info-ink);background:color-mix(in srgb,var(--info) 14%,transparent)}.chip.crit{color:var(--crit-ink);background:color-mix(in srgb,var(--crit) 14%,transparent)}.time{font-variant-numeric:tabular-nums}.fab-row{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;gap:12px}.fab{width:100px;height:100px;border-radius:14px;border:2px dashed var(--accent);background:var(--surface);color:var(--accent-ink);font:inherit;font-size:14px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;box-shadow:var(--shadow-float)}.fab .big{font-size:32px;line-height:1.2}.fab:hover{background:var(--accent-soft)}.modal-bg{position:fixed;inset:0;z-index:50;background:#0a0e0a73;display:grid;place-items:center;padding:20px}.modal{background:var(--surface);border:1px solid var(--hair);border-radius:14px;box-shadow:0 12px 40px #00000040;width:min(520px,94vw);max-height:86vh;overflow-y:auto;padding:18px 20px}.modal h3{margin:0 0 12px;font-size:16px}.modal .desc{font-size:12.5px;color:var(--ink-3);margin-bottom:14px}.modal .close-row{display:flex;justify-content:flex-end;margin-top:16px}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.pick{appearance:none;font:inherit;font-size:13.5px;font-weight:650;border:1px solid var(--hair);background:var(--page);color:var(--ink);border-radius:12px;padding:10px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:88px}.pick .big{font-size:26px;line-height:1.2}.pick:hover{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.pick.add{border-style:dashed;color:var(--ink-3)}.pick.st-todo{color:var(--crit-ink)}.pick.st-in-progress{color:var(--warn-ink)}.pick.st-waiting{color:var(--info-ink)}.pick.st-hold,.pick.st-rejected{color:var(--ink-2)}.pick.st-done{color:var(--good-ink)}.timer-setup{border:1px solid var(--hair);border-radius:12px;background:var(--page);padding:14px 16px;margin-bottom:14px;text-align:center}.timer-setup .t-name{font-size:15px;font-weight:700}.timer-setup .t-main{display:flex;justify-content:center;align-items:baseline;gap:18px;margin:6px 0 10px;flex-wrap:wrap}.timer-setup .t-dur{font-size:40px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.1}.timer-setup .t-end{font-size:15px;color:var(--ink-2);font-variant-numeric:tabular-nums}.adj-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.adj{appearance:none;font:inherit;font-size:14px;font-weight:700;border:1px solid var(--hair);background:var(--surface);color:var(--ink-2);border-radius:10px;min-width:54px;min-height:44px;cursor:pointer;font-variant-numeric:tabular-nums}.adj:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.preset{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--hair);background:var(--page);margin-bottom:8px;font-size:15px;cursor:pointer;min-height:48px;width:100%;font-family:inherit;color:inherit;text-align:left}.preset:hover{border-color:var(--accent);background:var(--accent-soft)}.preset.selected{border-color:var(--accent);background:var(--accent-soft);font-weight:700}.preset .len{margin-left:auto;font-size:14px;color:var(--ink-3);font-variant-numeric:tabular-nums}.preset.add{border-style:dashed;color:var(--ink-3)}.mode-row{display:flex;gap:8px;margin:0 0 12px;font-size:13px}.mode-row .mode{border:1px solid var(--hair);border-radius:999px;padding:6px 14px;color:var(--ink-2);cursor:pointer;background:var(--page);font:inherit;font-size:13px}.mode-row .mode.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft);font-weight:600}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:720px){.cols{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.panel h3{margin:0 0 4px;font-size:15px}.panel .desc{font-size:12.5px;color:var(--ink-3);margin-bottom:12px}.cand-group{margin-bottom:14px}.cand-group .g-label{font-size:11.5px;font-weight:700;color:var(--ink-3);letter-spacing:.04em;margin-bottom:4px}.cand{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--hair);margin-bottom:6px;background:var(--page);font-size:14px}.cand .why{font-size:12px;color:var(--ink-3);margin-left:auto;text-align:right}.cand button{appearance:none;border:1px solid var(--accent);background:var(--surface);color:var(--accent-ink);width:38px;height:38px;border-radius:50%;font-size:17px;line-height:1;cursor:pointer;flex:none}.cand button:hover{background:var(--accent-soft)}.plan-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;margin-bottom:6px;background:var(--page);border:1px solid var(--hair);font-size:14px}.plan-item .n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums}.plan-item .tag-r{margin-left:auto;display:flex;gap:6px;align-items:center}.plan-item .carry{font-size:11px;color:var(--info-ink);border:1px solid var(--info);border-radius:4px;padding:0 6px}.plan-item .auto{font-size:11px;color:var(--ink-3);border:1px solid var(--hair);border-radius:4px;padding:0 6px}.plan-item .rm{appearance:none;border:1px solid var(--hair);background:var(--surface);color:var(--ink-3);width:34px;height:34px;border-radius:50%;font-size:14px;cursor:pointer;flex:none}.plan-item .rm:hover{color:var(--crit-ink);border-color:var(--crit)}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.filter-row .f-label{font-size:12px;color:var(--ink-3);font-weight:700;margin-right:2px;min-width:34px}.fchip{appearance:none;font:inherit;font-size:13.5px;font-weight:600;border:1px solid var(--hair);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:8px 16px;cursor:pointer;min-height:40px}.fchip:hover{background:var(--surface-2)}.fchip.on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.fchip.group{border-style:dashed}.todo-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.todo-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--hair);border-radius:10px;padding:8px 14px 8px 8px;min-height:58px;box-shadow:var(--shadow)}.todo-row.dragging{opacity:.4}.todo-row .drag{cursor:grab;color:var(--ink-3);font-size:17px;padding:8px 4px;touch-action:none;background:none;border:none}.todo-row .st{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:700;border:none;cursor:pointer;font-family:inherit}.todo-row .st.st-todo{background:var(--crit-bg);color:var(--crit-ink)}.todo-row .st.st-in-progress{background:var(--warn-bg);color:var(--warn-ink)}.todo-row .st.st-waiting{background:var(--info-bg);color:var(--info-ink)}.todo-row .st.st-hold{background:var(--surface-2);color:var(--ink-2)}.todo-row .st.st-done{background:var(--good-bg);color:var(--good-ink)}.todo-row .st.st-rejected{background:var(--surface-2);color:var(--ink-3)}.todo-row .body{min-width:0;cursor:pointer}.todo-row .t-title{font-weight:650;font-size:14.5px}.todo-row.closed .t-title{text-decoration:line-through;color:var(--ink-2);font-weight:500}.todo-row .t-meta{font-size:12px;color:var(--ink-3);display:flex;gap:8px;flex-wrap:wrap}.todo-row .right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}.todo-row .due{font-size:12.5px;color:var(--crit-ink);font-variant-numeric:tabular-nums}.todo-row .edit{font-size:18px;color:var(--ink-3);background:none;border:none;cursor:pointer;padding:8px}.cat-tag{font-size:11px;color:var(--ink-2);border:1px solid var(--hair);background:var(--page);border-radius:4px;padding:0 6px}.empty-msg{text-align:center;color:var(--ink-3);font-size:13.5px;padding:20px 0}.form-grid{display:flex;flex-direction:column;gap:12px}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700;color:var(--ink-3)}.form-grid input[type=text],.form-grid input[type=date],.form-grid input[type=time],.form-grid input[type=number],.form-grid select,.form-grid textarea{font:inherit;font-size:14.5px;color:var(--ink);background:var(--page);border:1px solid var(--hair);border-radius:8px;padding:10px 12px;min-height:44px}.form-grid textarea{min-height:72px;resize:vertical}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.check-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);font-weight:500}.check-row input{width:20px;height:20px}.setting-section{margin-bottom:8px}.setting-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--hair);background:var(--page);margin-bottom:6px;font-size:14px;flex-wrap:wrap}.setting-row .grow{flex:1;min-width:120px}.setting-row .sub-text{font-size:12px;color:var(--ink-3)}.icon-btn{appearance:none;border:1px solid var(--hair);background:var(--surface);color:var(--ink-3);width:38px;height:38px;border-radius:50%;font-size:15px;cursor:pointer;flex:none}.icon-btn:hover{color:var(--accent-ink);border-color:var(--accent)}.icon-btn.danger:hover{color:var(--crit-ink);border-color:var(--crit)}.report-box .report-head h3{margin:0}pre.report{background:var(--page);border:1px solid var(--hair);border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.7;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);margin:0;min-height:120px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--hair);background:var(--page);border-radius:10px;padding:8px 14px;font-size:14px;color:var(--ink-2);min-height:44px;flex:1 1 220px}.search-box input{border:none;background:transparent;font:inherit;color:var(--ink);outline:none;width:100%}.interval-hit{border:1px solid var(--info);background:var(--info-bg);border-radius:10px;padding:12px 16px;margin-bottom:14px;font-size:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.interval-hit .stats{color:var(--info-ink);font-weight:650}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:64px;top:6px;bottom:6px;width:2px;background:var(--hair)}.timeline li{display:flex;gap:18px;padding:7px 0;align-items:baseline}.timeline li.day-sep{padding:12px 0 4px}.timeline li.day-sep .d{margin-left:84px;font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.05em}.timeline .t{flex:none;width:46px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-3)}.timeline .p{flex:none;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--ink-3);position:relative;top:1px;z-index:1}.timeline li.k-done .p{border-color:var(--good)}.timeline li.k-note .p{border-color:var(--info)}.timeline li.k-life .p{border-color:var(--accent)}.timeline .what{font-size:14px}.timeline .tag{font-size:11px;color:var(--ink-3);margin-left:8px}.timeline mark{background:color-mix(in srgb,var(--warn) 35%,transparent);color:inherit;border-radius:3px;padding:0 2px}
