.qa-chips[data-v-00bb0770]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-14px 0 16px 12px;font-size:.75rem}.qa-hint[data-v-00bb0770]{display:inline-flex;align-items:center;gap:5px;color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem}.qa-hint.busy[data-v-00bb0770]{color:var(--brand)}.sched-row[data-v-89ff31c6]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sched-row input[type=date][data-v-89ff31c6]{flex:1;min-width:150px}.inline-check input[data-v-89ff31c6]:disabled+*{opacity:.5}.proj-grid[data-v-5780e858]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.proj-card[data-v-5780e858]{display:block;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-group);padding:15px 16px;text-decoration:none;color:inherit;transition:border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.proj-card[data-v-5780e858]:hover{border-color:var(--ink-tertiary);transform:translateY(-2px)}.proj-card.dim[data-v-5780e858]{opacity:.65}.proj-head[data-v-5780e858]{display:flex;align-items:center;gap:8px}.proj-name[data-v-5780e858]{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-range[data-v-5780e858]{color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem;letter-spacing:-.02em;margin:5px 0 12px}.proj-row[data-v-5780e858]{display:flex;align-items:center;gap:9px;margin-top:8px;font-size:.75rem}.proj-label[data-v-5780e858]{color:var(--ink-tertiary);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;min-width:2.6em}.proj-val[data-v-5780e858]{color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem;min-width:7.4em;text-align:right;white-space:nowrap;letter-spacing:-.02em}.bar[data-v-5780e858]{flex:1;height:6px;border-radius:999px;background:var(--fill);overflow:hidden}.fill[data-v-5780e858]{height:100%;border-radius:999px;transition:width .5s var(--ease-out)}.fill.time[data-v-5780e858]{background:var(--brand)}.fill.time.over[data-v-5780e858]{background:var(--danger)}.fill.done[data-v-5780e858]{background:var(--ok)}.fill.manual[data-v-5780e858]{background:var(--amber)}.chip.warn[data-v-5780e858]{background:var(--amber-soft);color:var(--amber);padding:2px 8px;border-radius:5px;font-weight:600}.board[data-v-02bb5002]{min-height:100vh;background:repeating-linear-gradient(to bottom,var(--line-soft) 0 1px,transparent 1px 56px),var(--bg);color:var(--ink);font-family:var(--font-body);font-variant-numeric:tabular-nums;display:flex;align-items:center;justify-content:center;padding:clamp(24px,8vh,80px) clamp(24px,14vw,260px)}.b-inner[data-v-02bb5002]{width:100%;max-width:980px}.b-head[data-v-02bb5002]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(16px,3vh,40px)}.b-clock[data-v-02bb5002]{font-family:var(--font-display);font-size:clamp(3rem,10vw,7rem);font-weight:800;letter-spacing:-.055em;line-height:.95}.b-date[data-v-02bb5002]{color:var(--ink-soft);font-family:var(--font-mono);font-size:clamp(.85rem,1.7vw,1.1rem);letter-spacing:-.02em;margin-top:10px}.b-brand[data-v-02bb5002]{color:var(--ink-tertiary);font-family:var(--font-mono);font-size:.8rem;letter-spacing:-.02em}.b-error[data-v-02bb5002]{color:var(--danger);font-size:1.1rem}.b-cols[data-v-02bb5002]{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(20px,4vw,48px);align-items:start}@media (max-width: 700px){.b-cols[data-v-02bb5002]{grid-template-columns:1fr}}.b-sec[data-v-02bb5002]{font-family:var(--font-mono);font-size:clamp(.7rem,1.2vw,.85rem);margin:0 0 14px;color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:9px}.b-sec.evening[data-v-02bb5002]{margin-top:26px}.b-badge[data-v-02bb5002]{font-size:.85em;background:var(--danger);color:#fff;border-radius:5px;padding:2px 8px;letter-spacing:.06em}.b-empty[data-v-02bb5002]{color:var(--ink-soft);font-size:clamp(1rem,2vw,1.3rem)}.b-task[data-v-02bb5002]{display:flex;align-items:baseline;gap:14px;background:var(--paper);border:1px solid var(--line-soft);border-radius:10px;border-left:3px solid transparent;padding:clamp(10px,1.6vh,16px) 18px;margin-bottom:8px;font-size:clamp(.95rem,2vw,1.25rem)}.b-task.over[data-v-02bb5002],.b-task.pr-3[data-v-02bb5002]{border-left-color:var(--danger)}.b-task.pr-2[data-v-02bb5002]{border-left-color:var(--amber)}.b-task.pr-1[data-v-02bb5002]{border-left-color:var(--blue)}.b-time[data-v-02bb5002]{color:var(--ink-soft);font-family:var(--font-mono);font-size:.78em;min-width:3.4em;letter-spacing:-.03em}.b-task.over .b-time[data-v-02bb5002]{color:var(--danger);font-weight:600}.b-title[data-v-02bb5002]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-sub[data-v-02bb5002]{color:var(--ink-tertiary);font-family:var(--font-mono);font-size:.72em}.b-proj[data-v-02bb5002]{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:15px 18px;margin-bottom:10px}.b-proj-head[data-v-02bb5002]{display:flex;align-items:center;gap:10px;margin-bottom:11px;font-size:clamp(.9rem,1.6vw,1.1rem)}.b-dot[data-v-02bb5002]{width:11px;height:11px;border-radius:3px;flex-shrink:0}.b-proj-name[data-v-02bb5002]{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-proj-left[data-v-02bb5002]{color:var(--ink-soft);font-family:var(--font-mono);font-size:.76em;letter-spacing:-.02em}.b-proj-left.over[data-v-02bb5002]{color:var(--danger);font-weight:600}.b-bar[data-v-02bb5002]{height:6px;border-radius:3px;background:var(--fill);overflow:hidden;margin-top:6px}.b-fill[data-v-02bb5002]{height:100%;border-radius:3px}.b-fill.time[data-v-02bb5002]{background:var(--brand)}.b-fill.time.over[data-v-02bb5002]{background:var(--danger)}.b-fill.done[data-v-02bb5002]{background:var(--ok)}.b-fill.manual[data-v-02bb5002]{background:var(--amber)}.lrow[data-v-485ff1d9]{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-group);padding:14px 18px;margin-bottom:8px;transition:border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.lrow[data-v-485ff1d9]:hover{border-color:var(--ink-tertiary);transform:translateY(-2px)}.lrow.dim[data-v-485ff1d9]{opacity:.65}.lrow.drag-lift[data-v-485ff1d9]{transition:box-shadow var(--t-fast) var(--ease-out)}body.is-dragging{transform:none;border-color:var(--line-soft)}.lrow:hover .drag-handle[data-v-485ff1d9],.lrow .drag-handle[data-v-485ff1d9]:focus-visible{opacity:1}.lrow-main[data-v-485ff1d9]{flex:1;min-width:0;display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}.big-dot[data-v-485ff1d9]{width:14px;height:14px;border-radius:50%}.lrow-body[data-v-485ff1d9]{flex:1;min-width:0}.lrow-title[data-v-485ff1d9]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lrow-name[data-v-485ff1d9]{font-weight:600;font-size:.98rem;display:inline-flex;align-items:center;gap:6px}.lrow-sub[data-v-485ff1d9]{color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem;margin-top:4px}.lrow-bar[data-v-485ff1d9]{height:6px;border-radius:999px;background:var(--fill);overflow:hidden;margin-top:9px;max-width:460px}.lrow-fill[data-v-485ff1d9]{height:100%;border-radius:999px;background:var(--brand);transition:width .5s var(--ease-out)}.lrow-pct[data-v-485ff1d9]{font-family:var(--font-mono);font-size:.95rem;font-weight:700;color:var(--ink-soft);min-width:3.2em;text-align:right;flex-shrink:0;letter-spacing:-.02em}.lrow-pct.full[data-v-485ff1d9]{color:var(--ok)}.lrow-actions[data-v-485ff1d9]{display:flex;flex-direction:column;gap:2px;flex-shrink:0}@media (max-width: 560px){.lrow[data-v-485ff1d9]{padding:12px 14px}.lrow-pct[data-v-485ff1d9]{font-size:.95rem}}.seg.wide[data-v-9d2e6fc7]{max-width:320px;margin:0 0 14px}.any-row[data-v-9d2e6fc7]{position:relative}.any-row .move[data-v-9d2e6fc7]{position:absolute;top:50%;right:8px;transform:translateY(-50%);opacity:0;transition:opacity .2s}.any-row:hover .move[data-v-9d2e6fc7],.any-row:focus-within .move[data-v-9d2e6fc7]{opacity:1}@media (hover: none){.any-row .move[data-v-9d2e6fc7]{opacity:1}}.model-input[data-v-11eab03d]{display:flex;gap:8px;flex-wrap:wrap}.model-input input[data-v-11eab03d]{flex:1;min-width:min(220px,100%)}.model-input button[data-v-11eab03d]{flex-shrink:0}.model-hint[data-v-11eab03d]{margin:0;color:var(--ink-soft)}.set-tabs[data-v-9e760ff6]{display:flex;gap:3px;background:var(--fill);border:1px solid var(--line-soft);border-radius:10px;padding:3px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.set-tabs[data-v-9e760ff6]::-webkit-scrollbar{display:none}.set-tabs button[data-v-9e760ff6]{display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:32px;padding:4px 13px;border-radius:7px;background:transparent;border-color:transparent;color:var(--ink-soft);font-weight:500;font-size:.8125rem}.set-tabs button[data-v-9e760ff6]:hover{background:transparent;color:var(--ink)}.set-tabs button.on[data-v-9e760ff6]{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--shadow-1)}.set-tabs .ico[data-v-9e760ff6]{color:var(--ink-tertiary)}.set-tabs button.on .ico[data-v-9e760ff6]{color:var(--brand)}.tip[data-v-9e760ff6]{display:flex;gap:9px;align-items:flex-start;color:var(--ink-soft);margin:12px 0 0;line-height:1.55}.tip .ico[data-v-9e760ff6]{margin-top:3px;color:var(--ink-tertiary)}.tip strong[data-v-9e760ff6]{color:var(--ink)}.test-line[data-v-9e760ff6]{display:inline-flex;align-items:center;gap:5px}.theme-grid[data-v-9e760ff6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.theme-card[data-v-9e760ff6]{display:block;text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--line-soft);border-radius:var(--radius-group);padding:10px;min-height:0;font-weight:400}.theme-card[data-v-9e760ff6]:hover{background:var(--paper);border-color:var(--ink-tertiary)}.theme-card.on[data-v-9e760ff6]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.theme-prev[data-v-9e760ff6]{display:block;position:relative;overflow:hidden;height:62px;border-radius:8px;border:1px solid var(--line-soft);padding:9px 8px 0 38px;margin-bottom:9px}.theme-prev-side[data-v-9e760ff6]{position:absolute;left:0;top:0;bottom:0;width:30px}.theme-prev-row[data-v-9e760ff6]{display:flex;align-items:center;gap:5px;height:13px;margin-bottom:5px;border-radius:3px;background:#80808038;padding:0 4px}.theme-prev-dot[data-v-9e760ff6]{width:7px;height:7px;border-radius:2px;flex-shrink:0}.theme-name[data-v-9e760ff6]{display:flex;align-items:center;gap:5px;font-weight:600;font-size:.875rem}.theme-name .ico[data-v-9e760ff6]{color:var(--brand)}.theme-desc[data-v-9e760ff6]{display:block;color:var(--ink-soft);font-size:.75rem;margin-top:2px}.swatch-custom[data-v-9e760ff6]{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-soft);cursor:pointer;border:1px dashed var(--line);border-radius:7px;padding:3px 9px 3px 4px}.swatch-custom[data-v-9e760ff6]:hover{color:var(--ink);border-color:var(--ink-tertiary)}.swatch-custom input[data-v-9e760ff6]{width:22px;height:22px;min-height:0;padding:0;border:none;border-radius:5px;background:none;cursor:pointer}.swatch-custom input[data-v-9e760ff6]::-webkit-color-swatch-wrapper{padding:0}.swatch-custom input[data-v-9e760ff6]::-webkit-color-swatch{border:1px solid var(--line);border-radius:5px}:root{--radius: 12px;--radius-group: 16px;--radius-sm: 8px;--radius-xs: 6px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .03);--shadow-2: 0 4px 14px rgba(0, 0, 0, .07), 0 1px 3px rgba(0, 0, 0, .04);--shadow-3: 0 20px 48px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .06);--shadow-drag: 0 12px 28px -6px rgba(0, 0, 0, .2);--fs-large-title: 2.125rem;--fs-title1: 1.75rem;--fs-title2: 1.375rem;--fs-title3: 1.25rem;--fs-headline: 1.0625rem;--fs-body: 1.0625rem;--fs-callout: 1rem;--fs-subheadline: .9375rem;--fs-footnote: .8125rem;--fs-caption1: .75rem;--fs-caption2: .6875rem;--hit: 44px;--ease-default: cubic-bezier(.32, .72, 0, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease: var(--ease-default);--t-instant: .12s;--t-fast: .22s;--t-normal: .38s;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:16px}[data-mode=light]{color-scheme:light}[data-mode=dark]{color-scheme:dark;--shadow-1: 0 1px 3px rgba(0, 0, 0, .4);--shadow-2: 0 4px 16px rgba(0, 0, 0, .55);--shadow-3: 0 20px 48px rgba(0, 0, 0, .75);--shadow-drag: 0 12px 28px -6px rgba(0, 0, 0, .7)}[data-theme=ios]{--bg: #f2f2f7;--paper: #ffffff;--paper-warm: #f7f7fa;--ink: #000000;--ink-soft: rgba(60, 60, 67, .6);--ink-tertiary: rgba(60, 60, 67, .3);--line: rgba(60, 60, 67, .29);--line-soft: rgba(60, 60, 67, .12);--fill: rgba(120, 120, 128, .14);--brand: #0071e3;--brand-strong: #0059b3;--brand-soft: rgba(0, 113, 227, .12);--on-brand: #ffffff;--danger: #d70015;--danger-soft: rgba(215, 0, 21, .1);--amber: #c93400;--amber-soft: rgba(201, 52, 0, .12);--blue: #0071e3;--ok: #1f7a35;--ok-soft: rgba(31, 122, 53, .12);--panel: #f2f2f7;--panel-hi: rgba(120, 120, 128, .12);--panel-ink: #000000;--panel-soft: rgba(60, 60, 67, .62);--panel-dim: rgba(60, 60, 67, .4);--panel-line: rgba(60, 60, 67, .14);--panel-edge: rgba(60, 60, 67, .14);--panel-thumb: rgba(60, 60, 67, .24);--panel-accent: var(--brand)}[data-theme=ios][data-mode=dark]{--bg: #000000;--paper: #1c1c1e;--paper-warm: #2c2c2e;--ink: #ffffff;--ink-soft: rgba(235, 235, 245, .6);--ink-tertiary: rgba(235, 235, 245, .3);--line: rgba(84, 84, 88, .65);--line-soft: rgba(84, 84, 88, .36);--fill: rgba(120, 120, 128, .24);--brand: #0a84ff;--brand-strong: #409cff;--brand-soft: rgba(10, 132, 255, .2);--on-brand: #000000;--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .18);--amber: #ff9f0a;--amber-soft: rgba(255, 159, 10, .18);--blue: #0a84ff;--ok: #30d158;--ok-soft: rgba(48, 209, 88, .18);--panel: #1c1c1e;--panel-hi: rgba(235, 235, 245, .12);--panel-ink: #f2f2f7;--panel-soft: rgba(235, 235, 245, .6);--panel-dim: rgba(235, 235, 245, .34);--panel-line: rgba(235, 235, 245, .14);--panel-edge: rgba(235, 235, 245, .1);--panel-thumb: rgba(235, 235, 245, .18);--panel-accent: var(--brand)}:root:not([data-theme]),[data-theme=pine]{--bg: #f2f2f7;--paper: #ffffff;--paper-warm: #f7f7fa;--ink: #000000;--ink-soft: rgba(60, 60, 67, .6);--ink-tertiary: rgba(60, 60, 67, .3);--line: rgba(60, 60, 67, .29);--line-soft: rgba(60, 60, 67, .12);--fill: rgba(120, 120, 128, .16);--brand: #1f7a35;--brand-strong: #166029;--brand-soft: rgba(31, 122, 53, .12);--on-brand: #ffffff;--danger: #d70015;--danger-soft: rgba(215, 0, 21, .1);--amber: #c93400;--amber-soft: rgba(201, 52, 0, .12);--blue: #0071e3;--ok: #1f7a35;--ok-soft: rgba(31, 122, 53, .12);--panel: #e9e9ee;--panel-hi: rgba(120, 120, 128, .14);--panel-ink: #000000;--panel-soft: rgba(60, 60, 67, .62);--panel-dim: rgba(60, 60, 67, .4);--panel-line: rgba(60, 60, 67, .14);--panel-edge: rgba(60, 60, 67, .14);--panel-thumb: rgba(60, 60, 67, .24);--panel-accent: var(--brand)}[data-theme=pine][data-mode=dark]{--bg: #000000;--paper: #1c1c1e;--paper-warm: #2c2c2e;--ink: #ffffff;--ink-soft: rgba(235, 235, 245, .6);--ink-tertiary: rgba(235, 235, 245, .3);--line: rgba(84, 84, 88, .65);--line-soft: rgba(84, 84, 88, .36);--fill: rgba(120, 120, 128, .24);--brand: #30d158;--brand-strong: #5cd97c;--brand-soft: rgba(48, 209, 88, .2);--on-brand: #04170a;--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .18);--amber: #ff9f0a;--amber-soft: rgba(255, 159, 10, .18);--blue: #0a84ff;--ok: #30d158;--ok-soft: rgba(48, 209, 88, .18);--panel: #1c1c1e;--panel-hi: rgba(235, 235, 245, .12);--panel-ink: #f2f2f7;--panel-soft: rgba(235, 235, 245, .6);--panel-dim: rgba(235, 235, 245, .34);--panel-line: rgba(235, 235, 245, .14);--panel-edge: rgba(235, 235, 245, .1);--panel-thumb: rgba(235, 235, 245, .18);--panel-accent: var(--brand)}[data-theme=rule]{--bg: #f2f2f7;--paper: #ffffff;--paper-warm: #f7f7fa;--ink: #1c1c1e;--ink-soft: rgba(60, 60, 67, .62);--ink-tertiary: rgba(60, 60, 67, .34);--line: rgba(60, 60, 67, .26);--line-soft: rgba(60, 60, 67, .12);--fill: rgba(120, 120, 128, .14);--brand: #4a3ac7;--brand-strong: #362a99;--brand-soft: rgba(74, 58, 199, .1);--on-brand: #ffffff;--danger: #d70015;--danger-soft: rgba(215, 0, 21, .1);--amber: #c93400;--amber-soft: rgba(201, 52, 0, .12);--blue: #0071a4;--ok: #1f7a35;--ok-soft: rgba(31, 122, 53, .12);--panel: #1c1c1e;--panel-hi: rgba(235, 235, 245, .12);--panel-ink: #f2f2f7;--panel-soft: rgba(235, 235, 245, .62);--panel-dim: rgba(235, 235, 245, .4);--panel-line: rgba(235, 235, 245, .12);--panel-edge: transparent;--panel-thumb: rgba(235, 235, 245, .2);--panel-accent: #a99df5}[data-theme=rule][data-mode=dark]{--bg: #000000;--paper: #1c1c1e;--paper-warm: #2c2c2e;--ink: #ffffff;--ink-soft: rgba(235, 235, 245, .6);--ink-tertiary: rgba(235, 235, 245, .3);--line: rgba(84, 84, 88, .65);--line-soft: rgba(84, 84, 88, .36);--fill: rgba(120, 120, 128, .24);--brand: #8f86f0;--brand-strong: #aca4f5;--brand-soft: rgba(143, 134, 240, .18);--on-brand: #100c2e;--danger: #ff453a;--danger-soft: rgba(255, 69, 58, .18);--amber: #ff9f0a;--amber-soft: rgba(255, 159, 10, .18);--blue: #40c8e0;--ok: #30d158;--ok-soft: rgba(48, 209, 88, .18);--panel: #141416;--panel-hi: rgba(235, 235, 245, .12);--panel-ink: #f2f2f7;--panel-soft: rgba(235, 235, 245, .6);--panel-dim: rgba(235, 235, 245, .34);--panel-line: rgba(235, 235, 245, .12);--panel-edge: transparent;--panel-thumb: rgba(235, 235, 245, .2);--panel-accent: #a99df5}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;font-family:var(--font-body);font-optical-sizing:auto;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.45}#app{min-height:100vh}::selection{background:var(--brand);color:var(--on-brand)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--ink-tertiary);border-radius:6px;border:3.5px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.ico{flex-shrink:0;stroke-width:1.75;display:block}.ico.inline{display:inline-block;vertical-align:-.1em}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:0 20px 0 0;height:54px;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:10;min-width:0}.brand{width:236px;height:100%;flex-shrink:0;padding-left:22px;font-size:var(--fs-headline);font-weight:700;letter-spacing:-.022em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}.brand .mark,.auth-logo .mark{flex-shrink:0;display:block}.brand .mark{width:22px;height:22px}.mark .tile{fill:var(--brand)}.mark .glyph{stroke:var(--on-brand);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.brand:hover .mark{transform:scale(1.06)}.brand .mark{transition:transform var(--t-fast) var(--ease-spring)}.nav{display:flex;gap:2px}.nav a{color:var(--ink-soft);text-decoration:none;font-size:.9375rem;padding:7px 12px;border-radius:8px;transition:background var(--t-instant) var(--ease-out),color var(--t-instant) var(--ease-out)}.nav a:hover{background:var(--fill);color:var(--ink)}.nav a.router-link-active{color:var(--brand);background:var(--brand-soft);font-weight:600}.spacer{flex:1}.who{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:.8125rem;font-weight:500;padding:4px 10px;border-radius:20px;background:var(--fill);min-width:0;flex-shrink:1;max-width:30vw}.who-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.user-avatar{width:20px;height:20px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-size:.6875rem;font-weight:700;display:grid;place-items:center;text-transform:uppercase}.main{flex:1;min-width:0;width:100%;max-width:880px;margin:0 auto;padding:40px 32px 80px}.main>*{animation:page-fade var(--t-normal) var(--ease-default) both}@keyframes page-fade{0%{opacity:0}to{opacity:1}}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-group);padding:22px;margin-bottom:18px;box-shadow:var(--shadow-1)}.card h2{margin:0 0 14px;font-size:var(--fs-title3);font-weight:600;letter-spacing:-.02em}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:var(--fs-footnote);font-weight:500;color:var(--ink-soft)}input,select{font:inherit;min-height:40px;padding:8px 14px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);outline:none;transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--ink-tertiary)}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3.5px var(--brand-soft)}input[type=date],input[type=datetime-local],input[type=time],input[type=number]{font-size:var(--fs-subheadline);font-variant-numeric:tabular-nums}button{font:inherit;font-size:var(--fs-subheadline);font-weight:600;letter-spacing:-.01em;cursor:pointer;border:1px solid transparent;border-radius:10px;min-height:38px;padding:8px 16px;background:var(--brand);color:var(--on-brand);display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background var(--t-instant) var(--ease-out),transform .12s var(--ease-out),border-color var(--t-instant) var(--ease-out),color var(--t-instant) var(--ease-out)}button:hover{background:var(--brand-strong)}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button.ghost{background:var(--fill);border-color:transparent;color:var(--brand);font-weight:600;min-height:34px;padding:6px 14px;border-radius:9px}button.ghost:hover{background:color-mix(in srgb,var(--brand) 12%,var(--fill));color:var(--brand-strong)}button.mini{min-height:26px;padding:2px 10px;font-size:.75rem;border-radius:7px}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover{background:var(--danger-soft)}.msg{font-size:.8125rem;margin:10px 0 0}.msg.error{color:var(--danger)}.msg.ok{color:var(--ok)}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-group);padding:34px 30px 30px;box-shadow:var(--shadow-2);animation:page-in .5s var(--ease-default) both}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:6px}.auth-logo .mark{width:38px;height:38px}.auth-logo h1{font-size:var(--fs-title2);margin:0;letter-spacing:-.022em;font-weight:700}.auth-sub{color:var(--ink-soft);font-size:var(--fs-subheadline);margin:0 0 22px}.tabs,.seg{display:flex;gap:2px;background:var(--fill);border-radius:10px;padding:2.5px;border:1px solid transparent}.tabs{margin-bottom:20px}.tabs button,.seg button{flex:1;min-height:30px;padding:5px 12px;border-radius:8px;background:transparent;color:var(--ink-soft);font-weight:500;font-size:var(--fs-footnote);border:none;box-shadow:none;transition:background .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.tabs button:hover,.seg button:hover{color:var(--ink)}.tabs button.active,.seg button.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #0000001f,0 1px 1px #0000000f}.auth-card form button[type=submit]{width:100%;margin-top:6px}.page-title{font-size:var(--fs-large-title);font-weight:700;margin:0 0 4px;letter-spacing:-.022em;line-height:1.14}.page-date{color:var(--ink-soft);font-size:var(--fs-subheadline);letter-spacing:-.01em;margin:0 0 24px}.empty{border:1px dashed var(--line);border-radius:var(--radius-group);padding:44px 24px;text-align:center;color:var(--ink-soft);background:transparent}.empty p{margin:0 0 6px}.empty p:first-child{color:var(--ink);font-weight:600}.empty p:last-child{margin:0;font-size:var(--fs-footnote)}.empty strong{color:var(--ink)}.kv{display:grid;grid-template-columns:100px 1fr;row-gap:8px;font-size:var(--fs-subheadline)}.kv dt{color:var(--ink-soft);font-size:var(--fs-footnote)}.kv dd{margin:0}.body{display:flex;flex:1;min-height:0}.sidebar{width:236px;flex-shrink:0;background:var(--panel);color:var(--panel-ink);border-right:1px solid var(--panel-edge);padding:16px 12px 20px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;position:sticky;top:54px;height:calc(100vh - 54px)}.sidebar::-webkit-scrollbar-thumb{background:var(--panel-thumb);background-clip:padding-box}.menu-btn{display:none}.side-nav{display:flex;flex-direction:column;gap:2px}.side-nav a{display:flex;align-items:center;gap:11px;min-height:36px;padding:7px 12px;border-radius:var(--radius-sm);color:var(--panel-soft);text-decoration:none;font-size:var(--fs-subheadline);position:relative;transition:background var(--t-instant) var(--ease-out),color var(--t-instant) var(--ease-out)}.side-nav a:hover{background:var(--panel-hi);color:var(--panel-ink)}.side-nav a.on{background:var(--panel-hi);color:var(--panel-ink);font-weight:600}.side-nav a.on .nav-icon-box{color:var(--panel-accent)}.side-nav a.dim{color:var(--panel-dim)}.side-nav .ln{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav .cnt{font-size:var(--fs-footnote);color:var(--panel-soft);font-weight:500;font-variant-numeric:tabular-nums}.nav-icon-box{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0;transition:color var(--t-instant) var(--ease-out)}.side-sec{display:flex;align-items:center;justify-content:space-between;margin:18px 4px 6px;padding:0 8px;font-size:var(--fs-caption2);font-weight:600;color:var(--panel-dim);letter-spacing:0}.side-sec button.ghost{border-color:var(--panel-line);color:var(--panel-soft);background:transparent;padding:3px;min-height:22px;width:22px}.side-sec button.ghost:hover{background:var(--panel-hi);color:var(--panel-ink);border-color:var(--panel-line)}.side-sec-link{color:inherit;text-decoration:none;border-radius:4px;padding:2px 4px;margin-left:-4px}.side-sec-link:hover{color:var(--panel-accent)}.side-archived{margin-top:8px}.side-archived summary{cursor:pointer;padding:5px 12px;font-size:.8125rem;color:var(--panel-dim);list-style:none}.side-archived summary::-webkit-details-marker{display:none}.side-archived summary:hover{color:var(--panel-ink)}.side-bottom{margin-top:auto;padding-top:12px;border-top:1px solid var(--panel-line)}.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.dot.big{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px}.backdrop{display:none}.quick-add{display:flex;align-items:center;gap:11px;background:var(--paper);border:1px solid var(--line-soft);border-radius:13px;padding:2px 16px;margin-bottom:22px;box-shadow:var(--shadow-1);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.quick-add:focus-within{border-color:var(--brand);box-shadow:0 0 0 3.5px var(--brand-soft)}.quick-add input{flex:1;border:none;background:transparent;min-height:44px;padding:0;box-shadow:none!important;font-size:.98rem}.qa-plus{color:var(--ink-tertiary);display:flex;transition:color var(--t-fast) var(--ease-out)}.quick-add:focus-within .qa-plus{color:var(--brand)}.quick-add.sub{margin:10px 0 0;padding:0 12px;box-shadow:none;background:var(--fill)}.quick-add.sub input{min-height:38px;font-size:.9rem}.sec{margin-bottom:30px}.sec-title{font-size:var(--fs-footnote);color:var(--ink-soft);margin:0 0 10px;font-weight:600;padding:0 4px;letter-spacing:-.01em}.sec-title.red{color:var(--danger)}.sec-row{display:flex;align-items:center;gap:8px}.sec-cnt{color:var(--ink-tertiary);font-weight:400;font-size:.6875rem;flex:1;text-transform:none;letter-spacing:0}.sec-del{opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.sec-title:hover .sec-del{opacity:1}.now-mark{position:relative;margin:0 0 22px;height:1px;background:var(--brand);opacity:.3}.now-mark:before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;background:var(--brand);border-radius:50%}.now-mark span{position:absolute;right:0;top:-.8em;font-size:var(--fs-caption2);font-weight:600;color:var(--brand);background:var(--bg);padding-left:8px}.task-row{display:flex;align-items:flex-start;gap:12px;background:var(--paper);border:1px solid var(--line-soft);min-height:var(--hit);padding:11px 14px;margin:0 0 6px;cursor:pointer;position:relative;transition:background var(--t-instant) var(--ease-out),border-color var(--t-instant) var(--ease-out),transform .12s var(--ease-out);animation:row-in var(--t-normal) var(--ease-out) both}@keyframes row-in{0%{opacity:0}to{opacity:1}}.task-row:hover{background:var(--paper-warm)}.task-row:active{transform:scale(.995)}.task-row.done{opacity:.55}.task-row.done .t-title{text-decoration:line-through;text-decoration-thickness:1.2px;color:var(--ink-soft)}.sec .task-row,.any-row .task-row,.sec .trash-row,.sec .record-row{border-radius:0;margin-bottom:0;box-shadow:none;border-top-color:transparent}.sec .task-row:first-child,.sec :not(.task-row)+.task-row,.any-row:first-child .task-row,.sec :not(.any-row)+.any-row .task-row,.sec .trash-row:first-child,.sec :not(.trash-row)+.trash-row,.sec .record-row:first-child,.sec :not(.record-row)+.record-row{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);border-top-color:var(--line-soft)}.sec .task-row:not(:has(+.task-row)),.any-row:not(:has(+.any-row)) .task-row,.sec .trash-row:not(:has(+.trash-row)),.sec .record-row:not(:has(+.record-row)){border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.sec .task-row:has(+.task-row):after,.any-row:has(+.any-row) .task-row:after,.sec .trash-row:has(+.trash-row):after,.sec .record-row:has(+.record-row):after{content:"";position:absolute;left:48px;right:0;bottom:0;height:1px;background:var(--line-soft);pointer-events:none}.sec .trash-row:has(+.trash-row):after,.sec .record-row:has(+.record-row):after{left:16px}.sec .drag-lift:after,.any-row .drag-lift:after{display:none}.sec>.task-row:last-of-type{margin-bottom:0}.sec>[data-drag-container]{margin-bottom:0}.drag-lift,.drag-shift{animation:none!important}.drag-shift{transition:transform var(--t-fast) var(--ease-out)}.drag-lift{transition:box-shadow var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out);position:relative;z-index:20;background:var(--paper);box-shadow:var(--shadow-drag),0 0 0 1px var(--line);cursor:grabbing}.sec .drag-lift,.any-row .drag-lift{border-radius:var(--radius);box-shadow:var(--shadow-drag),0 0 0 1px var(--line);z-index:20}body.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}body.is-dragging .task-row:hover{background:transparent}.drag-handle{flex-shrink:0;width:18px;margin-left:-4px;display:flex;align-items:center;justify-content:center;align-self:stretch;color:var(--ink-tertiary);background:none;border:0;padding:0;min-height:0;border-radius:5px;cursor:grab;opacity:0;touch-action:none;transition:opacity var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}.drag-handle:active{cursor:grabbing}.task-row:hover .drag-handle,.lrow:hover .drag-handle,.sub-item:hover .drag-handle{opacity:1}.drag-handle:hover{color:var(--brand);background:none}.drag-handle:focus-visible{opacity:1}@media (hover: none){.drag-handle{opacity:.5}}.check{width:22px;height:22px;flex-shrink:0;margin-top:1px;border:1.75px solid var(--ink-tertiary);border-radius:50%;background:transparent;padding:0;min-height:0;transition:border-color var(--t-instant) var(--ease-out),background var(--t-instant) var(--ease-out),transform .2s var(--ease-spring)}.check:hover{border-color:var(--brand);background:var(--brand-soft);transform:scale(1.1)}.check:active{transform:scale(.92)}.task-row.pr-3 .check{border-color:var(--danger)}.task-row.pr-2 .check{border-color:var(--amber)}.task-row.pr-1 .check{border-color:var(--blue)}.check.checked,.task-row .check.checked{border-color:var(--brand);background:var(--brand);animation:check-pop .34s var(--ease-spring);position:relative}.task-row.pr-3 .check.checked{border-color:var(--danger);background:var(--danger)}.task-row.pr-2 .check.checked{border-color:var(--amber);background:var(--amber)}.task-row.pr-1 .check.checked{border-color:var(--blue);background:var(--blue)}.check.checked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--on-brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7' stroke='%23000' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/68% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7' stroke='%23000' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/68% no-repeat}@keyframes check-pop{0%{transform:scale(.7)}55%{transform:scale(1.15)}to{transform:scale(1)}}.check.big{width:25px;height:25px}.t-main{flex:1;min-width:0}.t-title{word-break:break-word;font-size:var(--fs-body);letter-spacing:-.011em}.t-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:5px;align-items:center}.chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption1);letter-spacing:-.01em;color:var(--ink-soft);background:var(--fill);border-radius:var(--radius-xs);padding:2px 7px}.chip .ico{stroke-width:2}.chip.time{color:var(--brand);background:var(--brand-soft);font-weight:500;font-variant-numeric:tabular-nums}.chip.time.red{color:var(--danger);background:var(--danger-soft);font-weight:600}.chip.warm{color:var(--amber);background:var(--amber-soft)}.stat-line{color:var(--ink-soft);font-size:var(--fs-footnote);margin:-12px 0 20px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stat-line strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.stat-line .flame{color:var(--amber);display:inline-flex;align-items:center;gap:4px}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:flex-end;animation:mask-in var(--t-fast) var(--ease-out) both}@keyframes mask-in{0%{opacity:0}to{opacity:1}}.drawer{width:min(480px,100%);height:100%;background:var(--paper);display:flex;flex-direction:column;box-shadow:var(--shadow-3);animation:drawer-in var(--t-normal) var(--ease-default) both}.drawer:before{content:"";display:none;width:38px;height:5px;border-radius:2.5px;background:var(--line);margin:10px auto 2px;flex-shrink:0}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}.drawer-head{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.d-title{flex:1;border:none;font-size:1.0625rem;font-weight:600;background:transparent;box-shadow:none!important;padding:4px 0;min-height:0;letter-spacing:-.02em}.drawer-body{flex:1;overflow-y:auto;padding:20px 18px;overscroll-behavior:contain}.drawer-foot{display:flex;gap:8px;padding:13px 18px;border-top:1px solid var(--line-soft)}.d-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}textarea{font:inherit;padding:10px 13px;border:1px solid var(--line-soft);border-radius:10px;background:var(--paper);color:var(--ink);outline:none;resize:vertical;transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.inline-check{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:.9rem;color:var(--ink);cursor:pointer}.inline-check input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:26px;background:var(--fill);border-radius:13px;position:relative;cursor:pointer;outline:none;border:1px solid var(--line-soft);transition:background .25s var(--ease-out),border-color .25s var(--ease-out);vertical-align:middle;flex-shrink:0}.inline-check input[type=checkbox]:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;top:1px;left:1px;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.inline-check input[type=checkbox]:checked{background:var(--ok);border-color:var(--ok)}.inline-check input[type=checkbox]:checked:before{transform:translate(18px)}input[type=radio],input[type=range]{accent-color:var(--brand);min-height:0;border:none;box-shadow:none}.sub-item{display:flex;align-items:center;gap:10px;min-height:38px;padding:3px 6px;border-radius:8px;transition:background var(--t-instant) var(--ease-out)}.sub-item:hover{background:var(--fill)}.sub-item .check{width:18px;height:18px;border-radius:50%}.sub-item span{flex:1;font-size:.9rem}.sub-item .struck{text-decoration:line-through;color:var(--ink-soft)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000061;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);display:grid;place-items:center;padding:20px;animation:mask-in var(--t-fast) var(--ease-out) both}.modal{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--line-soft);border-radius:18px;padding:24px;box-shadow:0 24px 60px #00000029,0 4px 16px #0000000f;animation:modal-in var(--t-normal) var(--ease-spring) both;position:relative}@keyframes modal-in{0%{transform:scale(.95) translateY(12px);opacity:0}to{transform:none;opacity:1}}.modal h2{margin:0 0 18px;font-size:var(--fs-title3);font-weight:700;letter-spacing:-.022em}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.palette{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:26px;height:26px;border-radius:50%;padding:0;min-height:0;border:2px solid transparent;box-shadow:inset 0 0 0 1px var(--line-soft);transition:transform var(--t-fast) var(--ease-spring),border-color var(--t-instant) var(--ease-out)}.swatch:hover{transform:scale(1.15)}.swatch.on{border-color:var(--ink);transform:scale(1.1)}.list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.list-head .page-title{margin:0;display:flex;align-items:center;gap:10px}.list-actions{display:flex;gap:6px}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:20px}.cal-head .page-title{margin:0;min-width:0}.cal-nav{display:flex;gap:6px;align-items:center}.cal-nav button.ghost{padding:5px 9px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}.cal-grid.head{margin-bottom:6px}.cal-w{text-align:center;font-size:var(--fs-caption1);font-weight:600;color:var(--ink-soft);padding:4px 0}.cal-cell{aspect-ratio:1 / .86;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px 9px;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:0;color:var(--ink);overflow:hidden;transition:border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.cal-cell:hover{border-color:var(--ink-tertiary);transform:translateY(-2px)}.cal-cell.blank{background:transparent;border-color:transparent;cursor:default}.cal-cell.blank:hover{transform:none}.cal-cell.today .cal-d{background:var(--brand);color:var(--on-brand);font-weight:600}.cal-cell.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.cal-d{font-size:var(--fs-footnote);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-variant-numeric:tabular-nums;flex-shrink:0;transition:background var(--t-instant) var(--ease-out)}.cal-n{font-size:var(--fs-caption2);font-weight:600;color:var(--brand);background:var(--brand-soft);border-radius:var(--radius-xs);padding:1px 6px;margin-top:auto;flex-shrink:0}.cal-top{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-width:0}.cal-hb{font-size:.625rem;font-weight:600;line-height:1;border-radius:4px;padding:3px 4px;flex-shrink:0}.cal-hb.off{color:var(--ok);background:var(--ok-soft, var(--brand-soft))}.cal-hb.work{color:var(--danger);background:var(--danger-soft, var(--fill))}.trash-row,.record-row,.tpl-card{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--radius-group);padding:13px 16px;margin-bottom:8px}.record-row{display:block}.tpl-card{transition:border-color var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-out)}.tpl-card:hover{border-color:var(--ink-tertiary);transform:translateY(-2px)}.rec-logs{margin-top:10px;border-top:1px solid var(--line-soft);padding-top:10px}.rec-log{display:flex;gap:8px;align-items:center;font-size:.8125rem;margin-bottom:4px;flex-wrap:wrap}.rec-log .msg{margin:0}.mono{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:-.02em}.channel{border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;margin-bottom:8px;background:transparent}.channel summary{cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;min-height:26px}.channel[open]{background:var(--fill)}.channel[open] summary{margin-bottom:14px}.test-results{list-style:none;margin:10px 0 0;padding:0;font-size:.8125rem}.test-results .msg{display:inline}.rem-add{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.rem-add select,.rem-add input{min-height:34px;padding:4px 9px;font-size:.8125rem}.tpl-item{border:1px solid var(--line-soft);border-radius:12px;padding:11px 12px;margin-bottom:8px}.tpl-note{width:100%;font-size:.8125rem;margin-bottom:8px}.tpl-item-head{display:flex;gap:6px;align-items:center;margin-bottom:8px}.tpl-title{flex:1;border:none;background:transparent;box-shadow:none!important;padding:4px 2px;font-weight:600;min-height:0}.off-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.off-chips .chip{background:var(--brand-soft);color:var(--brand);padding:3px 9px;border-radius:6px;font-size:.6875rem;font-weight:500}.chip-x{background:none;border:none;color:inherit;padding:0 0 0 3px;font-size:.75rem;cursor:pointer;font-weight:700;min-height:0;display:inline-flex;align-items:center}.chip-x:hover{background:none;opacity:.6}.off-editor{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px solid var(--brand);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--brand-soft);font-size:.875rem;animation:page-fade var(--t-fast) var(--ease-out) both}.modal.wizard{max-width:480px;max-height:86vh;overflow-y:auto}.steps{display:flex;gap:14px;margin-bottom:18px;font-size:var(--fs-caption2);font-weight:500;color:var(--ink-tertiary)}.steps .on{color:var(--brand);font-weight:700}.preview-list{max-height:44vh;overflow-y:auto;margin-bottom:8px}.pv-item{border:1px solid var(--line-soft);border-radius:12px;padding:11px 12px;margin-bottom:8px}.pv-item.dim{opacity:.45}.pv-title{display:flex;align-items:center;gap:7px;font-weight:600;margin-bottom:5px}.pv-off{display:flex;align-items:center;gap:8px;font-size:.8125rem;padding:3px 0;cursor:pointer}.pv-off input{width:auto;min-height:0}.pv-off.expired{color:var(--danger)}.cal-lunar{font-size:.625rem;color:var(--ink-tertiary);line-height:1.15;max-width:100%;overflow:hidden;flex-shrink:0;min-height:1.4375rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;word-break:break-word}.cal-lunar.special{color:var(--ok);font-weight:600}.cal-grid.week{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-grid.week .cal-cell.week{aspect-ratio:auto;min-height:136px;cursor:pointer;display:flex;flex-direction:column;gap:3px;min-width:0}.wk-head{display:flex;align-items:baseline;gap:6px;margin-bottom:2px;min-width:0;flex-wrap:wrap}.wk-task{font-size:.7rem;background:var(--brand-soft);color:var(--brand);border-radius:5px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wk-task.done{text-decoration:line-through;opacity:.5;background:var(--fill);color:var(--ink-soft)}.top-search{width:210px;min-height:34px;padding:6px 14px 6px 32px;font-size:.8125rem;border-radius:10px;background:var(--fill);border:1px solid transparent;color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='rgba(120, 120, 128, 0.7)' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center;transition:width var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out)}.top-search:focus{width:280px;background-color:var(--paper);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}@media (max-width: 640px){.top-search{width:110px}.top-search:focus{width:160px}}@media (max-width: 900px){.brand{width:auto;padding-left:4px}}@media (max-width: 768px){.menu-btn{display:inline-flex;margin-left:14px}.topbar{padding-right:14px;gap:8px;height:50px}.brand{width:auto;padding-left:0;flex-shrink:0}.who{display:none}.topbar .ghost.mini{flex-shrink:0}.top-search{min-width:0;flex-shrink:1}.sidebar{position:fixed;left:0;top:50px;bottom:0;z-index:30;width:264px;max-width:84vw;height:auto;transform:translate(-100%);transition:transform var(--t-normal) var(--ease-default);box-shadow:var(--shadow-3)}.sidebar.open{transform:translate(0)}.backdrop{display:block;position:fixed;top:50px;right:0;bottom:0;left:0;z-index:25;background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:mask-in var(--t-fast) var(--ease-out) both}.main{padding:24px 16px 56px}.d-grid{grid-template-columns:1fr}.cal-head{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:14px}.cal-head .page-title{font-size:clamp(1.1rem,5.6vw,1.75rem);line-height:1.2}.cal-head .page-title:not(.cal-title-week){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-head .cal-title-week{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-clamp:2}.cal-nav{justify-content:flex-end;flex-wrap:wrap}.cal-grid{gap:4px}.cal-cell{aspect-ratio:1 / 1;padding:4px 4px 5px;gap:1px;border-radius:10px}.cal-d{width:20px;height:20px;font-size:.75rem}.cal-lunar{font-size:.5625rem;letter-spacing:-.02em;min-height:20.7px}.cal-n{padding:0 4px;font-size:.5625rem}.cal-hb{font-size:.5625rem;padding:2px 3px}.list-actions{width:100%}.drawer{animation-name:drawer-in-mobile;border-radius:20px 20px 0 0}.drawer:before{display:block}@keyframes drawer-in-mobile{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}}@media (max-width: 400px){.cal-grid:not(.week) .cal-lunar{font-size:.5rem;line-height:1.15;min-height:1.15rem;-webkit-line-clamp:4;line-clamp:4}.cal-grid:not(.week) .cal-hb{position:absolute;top:4px;right:4px;width:7px;height:7px;padding:0;border-radius:50%;font-size:0;line-height:0;overflow:hidden}.cal-grid:not(.week) .cal-hb.off{background:var(--ok)}.cal-grid:not(.week) .cal-hb.work{background:var(--danger)}.cal-grid:not(.week) .cal-cell{aspect-ratio:auto;min-height:58px}.cal-cell{padding:3px 3px 4px}.wk-head{gap:4px}}@media (min-width: 401px) and (max-width: 620px){.cal-grid:not(.week) .cal-cell{aspect-ratio:auto;min-height:58px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (hover: none){button,button.ghost,button.mini{min-height:var(--hit)}.topbar button,.topbar button.ghost,.topbar button.mini{min-height:34px}.tabs button,.seg button{min-height:32px}}
