:root{--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;--accent: #5558e8;--accent-text: #fff;--danger: #dc2f45;--warn: #b45309}:root[data-theme=light]{--bg: #f5f6f8;--panel: #fff;--inset: #eceef2;--border: #e2e4ea;--border-strong: #cfd2dc;--text: #1c1e26;--dim: #7a7e8c;--faint: #a6aab8}:root[data-theme=dark]{--bg: #15161c;--panel: #1d1f27;--inset: #12131a;--border: #2b2e3a;--border-strong: #3a3e4e;--text: #e6e7ee;--dim: #9297a8;--faint: #5d6273;--accent: #8286f7;--accent-text: #101120}*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select{font:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100%;max-width:640px;margin:0 auto}.hdr{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 10px) 14px 10px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.hdr h1{flex:1;font-size:19px;font-weight:700}.hdr-menu,.hdr-refresh{width:40px;height:40px;border-radius:10px;font-size:19px;color:var(--dim);display:grid;place-items:center}.hdr-menu:active,.hdr-refresh:active{background:var(--inset)}.spin{display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chips{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;background:var(--panel);border-bottom:1px solid var(--border);scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;background:var(--inset);color:var(--dim);white-space:nowrap;font-size:14px;font-weight:500}.chip.is-active{background:var(--accent);color:var(--accent-text)}.chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.banner{padding:8px 14px;font-size:13px;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);text-align:center}.banner.is-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.list{flex:1;overflow-y:auto;padding:6px 0 100px}.task-list{min-width:0}.empty{text-align:center;color:var(--faint);padding:48px 20px}.row{--task-indent: 0px;display:flex;align-items:center;gap:2px;padding:8px 14px 8px calc(8px + var(--task-indent));border-bottom:1px solid var(--border);min-height:60px;position:relative;transition:background .12s}.row:active{background:var(--inset)}.row.is-nested:before{content:"";position:absolute;top:0;bottom:0;left:calc(9px + var(--task-indent));width:1px;background:var(--border-strong);opacity:.55}.disclosure,.disclosure-spacer{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center}.disclosure{color:var(--dim);border-radius:10px}.disclosure svg{transform:rotate(90deg);transition:transform .16s ease}.disclosure.is-collapsed svg{transform:rotate(0)}.disclosure:active{background:var(--inset)}.check{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;color:transparent;position:relative}.check:before{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--border-strong);border-radius:8px;background:var(--panel)}.check svg{position:relative;z-index:1}.check.is-on:before{background:var(--accent);border-color:var(--accent)}.check.is-on{color:var(--accent-text)}.row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:3px 0}.row-heading{display:flex;align-items:center;gap:7px;min-width:0}.row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row.is-done .row-title{color:var(--faint);text-decoration:line-through}.row-meta{display:flex;align-items:center;gap:10px;min-width:0}.row-time{font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}.row-pane{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-count{min-width:24px;padding:2px 7px;border-radius:99px;background:var(--inset);color:var(--dim);font-size:11px;font-variant-numeric:tabular-nums;text-align:center}@media(max-width:360px){.row{padding-right:10px}}.quickadd{position:fixed;bottom:0;left:0;right:0;max-width:640px;margin:0 auto;display:flex;gap:8px;padding:10px 12px calc(env(safe-area-inset-bottom) + 10px);background:var(--panel);border-top:1px solid var(--border)}.quickadd select{max-width:110px;border:1px solid var(--border);border-radius:10px;background:var(--inset);padding:0 8px}.quickadd input{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--inset);padding:11px 14px;outline:none}.quickadd input:focus{border-color:var(--accent)}.quickadd-btn{padding:0 18px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-weight:600;white-space:nowrap}.quickadd-btn:disabled{opacity:.4}.connect{min-height:100%;display:grid;place-items:center;padding:24px}.connect-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;text-align:center}.connect-logo{font-size:44px}.connect-card h1{font-size:24px}.connect-sub{color:var(--dim);margin-bottom:8px}.connect-card label{display:flex;flex-direction:column;gap:5px;text-align:left;font-size:13px;color:var(--dim)}.connect-card input{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:12px 14px;outline:none}.connect-card input:focus{border-color:var(--accent)}.connect-btn{margin-top:6px;padding:13px;border-radius:10px;background:var(--accent);color:var(--accent-text);font-weight:700;font-size:16px}.connect-btn:disabled{opacity:.5}.connect-status{font-size:13px;color:var(--danger)}.connect-hint{font-size:12px;color:var(--faint);margin-top:4px}.sheet-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:flex-end;z-index:20}.sheet{width:100%;max-width:640px;margin:0 auto;background:var(--panel);border-radius:18px 18px 0 0;padding:20px 18px calc(env(safe-area-inset-bottom) + 18px);display:flex;flex-direction:column;gap:10px}.sheet h2{font-size:15px}.sheet-url{font-size:13px;color:var(--dim);word-break:break-all}.sheet-btn{padding:13px;border-radius:10px;background:var(--inset);font-weight:600}.sheet-btn.is-ghost{background:none;color:var(--dim)}
