:root{--bg: #f6f7f9;--card: #ffffff;--ink: #16191d;--muted: #6b7280;--line: #e3e6ea;--accent: #1f6feb;--done: #16794a;--warn: #b4530a;--danger: #b42318;--radius: 12px}@media (prefers-color-scheme: dark){:root{--bg: #101317;--card: #171b21;--ink: #e9edf2;--muted: #9aa4b2;--line: #262c35;--accent: #5a9bff;--done: #4ec98d;--warn: #f0a35e;--danger: #ff7b72}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Noto Sans CJK JP,Yu Gothic,Meiryo,sans-serif;font-size:16px;font-feature-settings:"palt" 1;letter-spacing:.02em;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:calc(64px + env(safe-area-inset-bottom))}main{max-width:720px;margin:0 auto;padding:12px 14px 24px}h1{font-size:20px;margin:4px 0 14px;line-height:1.4;letter-spacing:.01em}h2{font-size:14px;margin:22px 0 8px;color:var(--muted);font-weight:700;line-height:1.4}a{color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:13px;line-height:1.6}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:8px 12px;cursor:pointer;min-height:40px}button:active{transform:translateY(1px)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.ghost{background:transparent}button.sm{min-height:32px;padding:4px 10px;font-size:13px}input,select,textarea{font:inherit;font-feature-settings:normal;letter-spacing:normal;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink)}label.field{display:block;margin-bottom:10px}label.field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:13px;background:var(--bg);cursor:pointer;min-height:0}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.pill{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.pill.done{color:var(--done);border-color:var(--done)}.pill.warn{color:var(--warn);border-color:var(--warn)}.pill.off{color:var(--muted);opacity:.8}.bar{height:6px;background:var(--line);border-radius:999px;overflow:hidden;margin-top:8px}.bar>i{display:block;height:100%;background:var(--done)}nav.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}nav.tabs button{flex:1;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;padding:8px 0;min-height:56px}nav.tabs button.on{color:var(--accent);font-weight:700}nav.tabs button>i{display:block;font-style:normal;font-size:18px;line-height:1.2}.banner{background:#fff8e6;border:1px solid #f0d08a;color:#6a4b06;border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;font-size:13px}@media (prefers-color-scheme: dark){.banner{background:#2a2313;border-color:#5c4a1c;color:#f0d9a8}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(76px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:999px;font-size:13px;display:flex;gap:12px;align-items:center;z-index:50;box-shadow:0 6px 20px #00000040}.toast button{background:transparent;border:0;color:var(--bg);font-weight:700;text-decoration:underline;min-height:0;padding:0}.empty{text-align:center;color:var(--muted);padding:28px 10px;font-size:14px}.summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:10px}.summary-num{font-size:27px;font-weight:700;line-height:1.2;letter-spacing:0;font-variant-numeric:tabular-nums}.summary-num>span{font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}.strip{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:9px;padding:9px 12px;margin-bottom:8px;cursor:pointer;font-size:14px}.strip.warnish{border-left-color:var(--warn)}h2>.count{display:inline-block;min-width:20px;text-align:center;background:var(--line);color:var(--ink);border-radius:999px;font-size:12px;padding:0 7px;margin-left:4px}.closed{text-decoration:line-through;opacity:.55}.tick{font-size:12px}.tick.done{color:var(--done)}.list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:10px}.item{padding:10px 12px}.item .muted{font-variant-numeric:tabular-nums}.item+.item{border-top:1px solid var(--line)}h2{margin:16px 0 6px}.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:8px 14px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--card);border-bottom:1px solid var(--line);font-weight:700;letter-spacing:.04em}.bell{position:relative;border:0;background:transparent;color:var(--ink);padding:6px;min-height:0;line-height:0;border-radius:999px}.bell .badge{position:absolute;top:-1px;right:-2px;min-width:18px;height:18px;padding:0 5px;background:var(--danger);color:#fff;border-radius:999px;font-size:11px;font-weight:700;line-height:18px;text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums}.urgent{color:var(--danger)}.breakdown{margin-top:8px;font-variant-numeric:tabular-nums}.breakdown .sub{display:block;font-size:12px;opacity:.85}.summary-num .approx{font-size:15px;font-weight:600;color:var(--muted);margin-right:2px}.note-warn{color:var(--warn)}.timeline .tl{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-bottom:1px solid var(--line)}.timeline .tl:last-child{border-bottom:0}.tl-date{flex:0 0 82px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;padding-top:1px}.tl.mark>.grow>div:first-child{font-weight:700;color:var(--accent)}
