:root{--tc-bg: #f9f9f9;--tc-card: rgba(255, 255, 255, .82);--tc-ink: #1c2430;--tc-muted: #6b7684;--tc-accent: #6c63ff;--tc-accent-soft: #ecebff;--tc-good: #148f52;--tc-danger: #e04545;--tc-border: #e9e8f2;--tc-q-do: #ff5252;--tc-q-schedule: #448aff;--tc-q-delegate: #ffab40;--tc-q-someday: #78909c;--tc-radius: 16px;--tc-radius-sm: 12px;--tc-gap: 12px;--tc-pad: 16px;--tc-shadow: 0 4px 14px rgba(108, 99, 255, .08);--tc-shadow-lift: 0 8px 24px rgba(108, 99, 255, .22);--tc-font: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--tc-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--tc-header-h: 56px;--tc-tabbar-h: 56px;--tc-omni-space: 104px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--tc-bg);background-image:radial-gradient(circle at 12% 12%,rgba(224,195,252,.5),transparent 42%),radial-gradient(circle at 88% 18%,rgba(142,197,252,.5),transparent 46%),radial-gradient(circle at 50% 95%,rgba(255,154,158,.4),transparent 46%);background-attachment:fixed;color:var(--tc-ink);font-family:var(--tc-font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure{margin:0}button,input,textarea,select{font:inherit;color:inherit}.tc-app{position:relative;display:flex;flex-direction:column;min-height:100%;height:100dvh;transition:background-color .4s ease}.tc-topstack{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;flex-direction:column;align-items:stretch;pointer-events:none}.tc-topstack>*{pointer-events:auto}.tc-header{display:flex;align-items:center;gap:4px;height:calc(var(--tc-header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0;background:#ffffffb3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex:0 0 auto}.tc-app.is-xray .tc-header{background:#9696961a}.tc-wordmark{position:absolute;left:50%;transform:translate(-50%);font-size:22px;font-weight:800;letter-spacing:1.5px;color:var(--tc-ink)}.tc-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:none;color:var(--tc-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.tc-header>.tc-iconbtn:first-child{margin-right:auto}.tc-iconbtn.is-on{color:var(--tc-accent)}.tc-iconbtn--sm{width:28px;height:28px}.tc-searchbar{display:flex;align-items:center;gap:8px;height:44px;margin:6px var(--tc-pad);padding:0 12px;border-radius:var(--tc-radius);background:#ffffffe6;box-shadow:0 4px 10px #0000000d;color:var(--tc-muted);animation:tc-drop .18s ease-out}.tc-searchinput{flex:1 1 auto;min-width:0;border:0;background:none;outline:none;font-size:15px;color:var(--tc-ink)}.tc-searchinput::placeholder{color:var(--tc-muted);opacity:.7}.tc-filterchip{align-self:center;display:inline-flex;align-items:center;gap:6px;height:26px;margin:4px 0;padding:0 10px;border:0;border-radius:999px;background:var(--tc-accent);color:#fff;font-size:12px;cursor:pointer;box-shadow:0 3px 8px #6c63ff4d;animation:tc-drop .18s ease-out}.tc-xray-label{align-self:center;padding:2px 0;font-size:10px;font-weight:700;letter-spacing:2px;color:color-mix(in srgb,var(--tc-accent) 60%,transparent);animation:tc-drop .18s ease-out}.tc-main{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--tc-pad);padding-top:calc(var(--tc-header-h) + env(safe-area-inset-top) + var(--tc-top-extra, 0px) + 8px);padding-bottom:calc(env(safe-area-inset-bottom) + var(--tc-omni-space))}.tc-app.is-xray{background-color:#eee}.tc-app.is-xray:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.3;pointer-events:none;background-image:radial-gradient(circle at 12% 12%,rgba(224,195,252,.5),transparent 42%),radial-gradient(circle at 88% 18%,rgba(142,197,252,.5),transparent 46%),radial-gradient(circle at 50% 95%,rgba(255,154,158,.4),transparent 46%)}.tc-omni-wrap{position:fixed;left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;display:flex;justify-content:center;pointer-events:none;transition:transform .3s cubic-bezier(.68,-.35,.27,1.35),opacity .3s ease}.tc-omni-wrap.is-hidden{transform:translateY(160px);opacity:0}.tc-omni{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--tc-accent);color:#fff;cursor:pointer;touch-action:none;box-shadow:0 8px 15px #6c63ff66;transform:translate(var(--tc-omni-x, 0px),var(--tc-omni-y, 0px));transition:transform .18s cubic-bezier(.2,.9,.3,1.3)}.tc-omni.is-dragging{transition:transform .05s linear}.tc-pucks{position:absolute;bottom:0;left:50%;width:0;height:64px;pointer-events:none}.tc-puck{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%);animation:tc-fade .2s ease-out}.tc-puck--calendar{bottom:90px}.tc-puck--filter{bottom:20px;margin-left:-90px}.tc-puck--view{bottom:20px;margin-left:90px}.tc-puck-dot{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--tc-ink);box-shadow:0 4px 8px #0000001f;transition:transform .2s ease,background .2s ease,color .2s ease}.tc-puck-label{font-size:11px;font-weight:600;color:var(--tc-muted)}.tc-puck.is-selected .tc-puck-dot{transform:scale(1.2);background:var(--tc-accent);color:#fff;box-shadow:0 4px 10px #6c63ff4d}.tc-puck.is-selected .tc-puck-label{color:var(--tc-accent)}.tc-toast{position:fixed;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));z-index:26;transform:translate(-50%);padding:6px 16px;border-radius:999px;background:#1c2430d9;color:#fff;font-size:13px;letter-spacing:.05em;pointer-events:none;animation:tc-fade .18s ease-out}.tc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;background:var(--tc-bg);animation:tc-slide-in .2s ease-out}.tc-overlay-header{display:flex;align-items:center;gap:8px;flex:0 0 auto;height:calc(var(--tc-header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0;background:#ffffffb3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.tc-overlay-title{font-size:17px;font-weight:700}.tc-overlay-body{flex:1 1 auto;overflow-y:auto;padding:var(--tc-pad);padding-bottom:calc(var(--tc-pad) + env(safe-area-inset-bottom))}@keyframes tc-drop{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}@keyframes tc-fade{0%{opacity:0}to{opacity:1}}@keyframes tc-slide-in{0%{transform:translate(-16px);opacity:0}to{transform:none;opacity:1}}.tc-card{background:var(--tc-card);border:1px solid rgba(255,255,255,.9);border-radius:var(--tc-radius);box-shadow:var(--tc-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--tc-pad)}.tc-stack{display:flex;flex-direction:column;gap:var(--tc-gap)}.tc-section-title{font-size:13px;font-weight:600;color:var(--tc-muted);letter-spacing:.04em;margin:4px 2px}.tc-muted{color:var(--tc-muted)}.tc-mono{font-family:var(--tc-font-mono)}.tc-empty{padding:40px 16px;text-align:center;color:var(--tc-muted);font-size:14px}.tc-divider{height:1px;background:var(--tc-border);border:0;margin:var(--tc-gap) 0}.tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-sm);background:var(--tc-card);color:var(--tc-ink);cursor:pointer;transition:background .15s ease,opacity .15s ease}.tc-btn:active{opacity:.75}.tc-btn:disabled{opacity:.45;cursor:default}.tc-btn--primary{background:var(--tc-accent);border-color:var(--tc-accent);color:#fff}.tc-btn--ghost{background:transparent;border-color:transparent;color:var(--tc-muted)}.tc-btn--danger{color:var(--tc-danger);border-color:var(--tc-border)}.tc-input,.tc-textarea{width:100%;padding:10px 12px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-sm);background:#fff;outline:none}.tc-input:focus,.tc-textarea:focus{border-color:var(--tc-accent);box-shadow:0 0 0 3px var(--tc-accent-soft)}.tc-textarea{resize:vertical;min-height:72px}.tc-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;border:1px solid var(--tc-border);background:var(--tc-bg);color:var(--tc-muted);font-size:12px;line-height:1.6}.tc-chip--accent{background:var(--tc-accent-soft);border-color:var(--tc-accent-soft);color:var(--tc-accent)}.tc-chip--danger{background:#ffe9e9;border-color:#ffe9e9;color:var(--tc-danger)}.tc-chip--good{background:#e8f5ee;border-color:#e8f5ee;color:var(--tc-good)}.tc-dot{width:8px;height:8px;border-radius:50%;background:var(--tc-dot, var(--tc-muted));flex:0 0 auto}.tc-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#141a2259}.tc-sheet{position:fixed;left:0;right:0;bottom:0;z-index:31;max-height:88dvh;overflow-y:auto;padding:var(--tc-pad);padding-bottom:calc(var(--tc-pad) + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px 20px 0 0;box-shadow:var(--tc-shadow-lift);animation:tc-rise .18s ease-out}@keyframes tc-rise{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tcf-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:32;background:#141a2259;animation:tc-fade .2s ease-out}.tcf-dialog{position:fixed;left:16px;right:16px;bottom:calc(40px + env(safe-area-inset-bottom));z-index:33;max-height:70dvh;overflow-y:auto;padding:24px;border:1px solid rgba(255,255,255,.6);border-radius:25px;background:#ffffffd9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 10px 30px 5px #00000026;animation:tcf-rise .28s cubic-bezier(.16,1,.3,1)}@keyframes tcf-rise{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.tcf-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.tcf-title{font-size:20px;font-weight:700}.tcf-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:-6px;padding:0;border:0;border-radius:50%;background:none;color:var(--tc-muted);cursor:pointer}.tcf-close:active{background:#0000000d}.tcf-section{margin-top:20px;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:1.2px;color:var(--tc-muted)}.tcf-section:first-of-type{margin-top:0}.tcf-chips{display:flex;flex-wrap:wrap;gap:8px}.tcf-chip{padding:8px 16px;border:1.5px solid transparent;border-radius:20px;background:#7882911a;color:var(--tc-ink);font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.tcf-chip.is-selected{background:color-mix(in srgb,var(--tcf-tint, var(--tc-accent)) 20%,transparent);border-color:var(--tcf-tint, var(--tc-accent));color:var(--tcf-tint, var(--tc-accent));font-weight:700}.tcf-empty{padding:12px 16px;border-radius:var(--tc-radius-sm);background:#7882910f;color:var(--tc-muted);font-size:13px}.tcc-card{position:relative;display:flex;align-items:stretch;gap:0;min-height:85px;margin:6px 2px;border:2px solid #ffffff;border-radius:var(--tc-radius);background:#fffffff2;box-shadow:0 5px 12px color-mix(in srgb,var(--tcc-accent) 15%,transparent);overflow:hidden;transition:box-shadow .15s ease,opacity .15s ease}.tcc-card.is-compact{min-height:64px;margin:4px 0}.tcc-card.is-done{background:#fafafa;border-color:transparent;box-shadow:none;opacity:.72}.tcc-bar{flex:0 0 6px;width:6px;background:var(--tcc-accent)}.tcc-card.is-done .tcc-bar{opacity:.4;filter:grayscale(.7)}.tcc-check{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:12px;padding:0;border:2px solid color-mix(in srgb,var(--tcc-accent) 50%,transparent);border-radius:50%;background:transparent;color:var(--tcc-accent);cursor:pointer;transition:background .15s ease,transform .1s ease}.tcc-check:active{transform:scale(.9)}.tcc-card.is-done .tcc-check{border-color:color-mix(in srgb,var(--tcc-accent) 30%,transparent);background:color-mix(in srgb,var(--tcc-accent) 20%,transparent);color:color-mix(in srgb,var(--tcc-accent) 70%,transparent)}.tcc-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 14px 12px 12px;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.tcc-card.is-compact .tcc-body{padding:8px 10px}div.tcc-body{cursor:default}.tcc-title{font-size:16px;font-weight:700;color:var(--tc-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcc-card.is-done .tcc-title{color:var(--tc-muted);text-decoration:line-through}.tcc-note{font-size:12px;line-height:1.25;color:var(--tc-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tcc-meta{display:flex;align-items:center;gap:8px;margin-top:4px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.tcc-meta::-webkit-scrollbar{display:none}.tcc-due{font-size:11px;font-weight:600;color:var(--tc-muted);flex:0 0 auto}.tcc-due.is-overdue{color:var(--tc-danger)}.tcc-due.is-today{color:#f57c00}.tcc-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:var(--tc-muted)}.tcc-badge--accent{color:var(--tc-accent)}.tcc-tag{flex:0 0 auto;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--tcc-accent) 10%,transparent);color:var(--tcc-accent);font-size:10px;font-weight:700}.tcc-card.is-done .tcc-tag{background:var(--tc-bg);color:var(--tc-muted)}.d-overlay{z-index:45}.d-header{position:relative}.d-header-title{position:absolute;left:50%;transform:translate(-50%);font-size:17px;font-weight:700;pointer-events:none}.d-donebtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;padding:0;border:2px solid var(--tc-border);border-radius:50%;background:transparent;color:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.d-donebtn.is-done{border-color:var(--tc-good);background:var(--tc-good);color:#fff}.d-deletebtn{color:var(--tc-danger)}.d-confirm{display:flex;align-items:center;gap:8px;padding:8px var(--tc-pad);background:#ffe9e9;animation:tc-drop .18s ease-out}.d-confirm-text{flex:1 1 auto;font-size:13px;color:var(--tc-danger)}.d-body{display:flex;flex-direction:column;gap:var(--tc-gap);padding-bottom:calc(120px + env(safe-area-inset-bottom))}.d-field{display:flex;flex-direction:column;gap:2px}.d-title{width:100%;padding:4px 2px 8px;border:0;border-bottom:2px solid var(--tc-border);background:transparent;outline:none;font-size:26px;font-weight:800;line-height:1.3;color:var(--tc-ink)}.d-title:focus{border-bottom-color:var(--tc-accent)}.d-title.is-error{border-bottom-color:var(--tc-danger)}.d-error{font-size:12px;color:var(--tc-danger)}.d-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--tc-gap);align-items:start}.d-quad-card,.d-plan-card{padding:12px}.d-quad-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.d-quad-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:48px;padding:6px;border:2px solid transparent;border-radius:var(--tc-radius-sm);background:#fff9;color:var(--tc-muted);cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease}.d-quad-tile.is-on{border-color:var(--d-q);background:color-mix(in srgb,var(--d-q) 20%,transparent);color:var(--d-q)}.d-quad-dot{width:8px;height:8px;border-radius:50%;background:var(--d-q)}.d-quad-label{font-size:10px;line-height:1.2;font-weight:600}.d-plan-row{display:flex;align-items:center;gap:6px;margin-top:6px}.d-date,.d-select{flex:1 1 auto;min-width:0;height:34px;padding:0 4px;border:0;border-bottom:1px solid var(--tc-border);border-radius:0;background:transparent;outline:none;font-size:13px;color:var(--tc-ink)}.d-date:focus,.d-select:focus{border-bottom-color:var(--tc-accent)}.d-clear{min-height:28px;padding:0 6px;font-size:12px}.d-tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.d-tag-row--suggest{padding-top:6px;border-top:1px dashed var(--tc-border)}.d-tag-empty{font-size:12px;color:var(--tc-muted)}.d-tag-x,.d-step-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:14px;line-height:1;cursor:pointer;opacity:.7}.d-tag-add{border-style:dashed;background:transparent;cursor:pointer}.d-newtag-open{margin-top:8px;padding:0;border:0;background:none;color:var(--tc-accent);font-size:13px;font-weight:600;cursor:pointer}.d-newtag{display:flex;align-items:center;gap:6px;margin-top:8px}.d-newtag-input{flex:1 1 auto;min-width:0}.d-note{margin-top:6px}.d-steps-head{display:flex;align-items:baseline;justify-content:space-between}.d-steps-pct{font-weight:500}.d-progress{height:4px;margin:2px 0 10px;border-radius:999px;background:var(--tc-border);overflow:hidden}.d-progress-fill{height:100%;border-radius:999px;background:var(--tc-accent);transition:width .25s ease}.d-steps-add{display:flex;align-items:center;gap:6px}.d-steps-addbtn{flex:0 0 auto;width:40px;padding:0}.d-timeline{list-style:none;margin:10px 0 0;padding:0}.d-step{display:flex;align-items:stretch;gap:10px}.d-step.is-later{opacity:.5}.d-rail{position:relative;display:flex;flex-direction:column;align-items:center;width:22px;flex:0 0 auto;padding-top:10px}.d-rail-line{position:absolute;top:0;left:50%;width:2px;height:10px;transform:translate(-50%);background:var(--tc-border)}.d-rail-line.is-done{background:var(--tc-good)}.d-rail-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:2px solid var(--tc-border);border-radius:50%;background:transparent;color:#fff;cursor:pointer;flex:0 0 auto;transition:background .15s ease,border-color .15s ease}.d-step.is-done .d-rail-dot{border-color:var(--tc-good);background:var(--tc-good)}.d-step.is-current .d-rail-dot{border-color:var(--tc-accent)}.d-step.is-current .d-rail-dot:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--tc-accent)}.d-step:not(:last-child) .d-rail:after{content:"";position:absolute;top:28px;bottom:-2px;left:50%;width:2px;transform:translate(-50%);background:var(--tc-border)}.d-step.is-done:not(:last-child) .d-rail:after{background:var(--tc-good)}.d-step-card{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;margin-bottom:8px;padding:8px 10px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-sm);background:#ffffffb3}.d-step-title{flex:1 1 auto;min-width:0;font-size:14px;word-break:break-word}.d-step.is-done .d-step-title{text-decoration:line-through;color:var(--tc-muted)}.d-step.is-current .d-step-title{font-weight:700}.d-save{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:46;display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;padding:0;border:0;border-radius:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--tc-accent),#4a41d6);color:#fff;cursor:pointer;box-shadow:var(--tc-shadow-lift);transition:transform .15s ease}.d-save:active{transform:translate(-50%) scale(.94)}.tc-cal-head{display:flex;align-items:center;gap:8px}.tc-cal-title{font-size:17px;font-weight:600;min-width:7.5em}.tc-cal-step{min-height:34px;width:34px;padding:0;border-radius:50%;font-size:16px;line-height:1}.tc-cal-today-btn{margin-left:auto;min-height:34px;padding:0 12px;font-size:13px}.tc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.tc-cal-weekday{text-align:center;font-size:12px;color:var(--tc-muted);padding-bottom:6px}.tc-cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:46px;padding:6px 0 4px;border:1px solid transparent;border-radius:var(--tc-radius-sm);background:none;color:var(--tc-ink);font-size:14px;cursor:pointer;transition:background .12s ease}.tc-cal-cell:active{background:var(--tc-bg)}.tc-cal-cell.is-outside{color:var(--tc-muted);opacity:.45}.tc-cal-cell.is-today{border-color:var(--tc-accent);color:var(--tc-accent);font-weight:600}.tc-cal-cell.is-selected{background:var(--tc-accent-soft);border-color:var(--tc-accent)}.tc-cal-dots{display:flex;gap:3px;min-height:5px}.tc-cal-dot{width:5px;height:5px;--tc-dot: var(--tc-accent)}.tc-cal-dot--overdue{--tc-dot: var(--tc-danger)}.tc-cal-dot--done{--tc-dot: var(--tc-good)}.tc-cal-hint{font-size:12px}.tc-cal-day-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.tc-cal-day-title{margin:0}.tc-cal-day-ymd{font-size:12px}.tc-cal-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.tc-cal-item{display:flex;align-items:center;gap:8px}.tc-cal-item-card{flex:1 1 auto;min-width:0}.tc-cal-ics{flex:0 0 auto;min-height:32px;padding:0 10px;font-size:13px}.a-sheet{border-radius:30px 30px 0 0;display:flex;flex-direction:column;gap:12px}.a-head{font-size:18px;font-weight:700;color:var(--tc-muted)}.a-titlerow{display:flex;align-items:baseline;gap:8px}.a-title{flex:1 1 auto;min-width:0;padding:4px 0;border:0;background:transparent;outline:none;font-size:18px;font-weight:600;color:var(--tc-ink)}.a-title::placeholder{color:var(--tc-muted);opacity:.7;font-weight:400}.a-counter{flex:0 0 auto;font-family:var(--tc-font-mono);font-size:11px;color:var(--tc-muted)}.a-counter.is-warn{color:#d98404;font-weight:700}.a-options{display:flex;align-items:center;gap:8px}.a-spacer{flex:1 1 auto}.a-chip{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 10px;border:1px solid var(--tc-border);border-radius:999px;background:var(--tc-bg);color:var(--tc-muted);font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.a-chip--date.is-on{background:var(--tc-accent-soft);border-color:var(--tc-accent-soft);color:var(--tc-accent)}.a-chip--repeat.is-on{background:#f1e9ff;border-color:#f1e9ff;color:#7b3ff2}.a-chip--tag.is-on{background:var(--tc-accent-soft);border-color:var(--tc-accent);color:var(--tc-accent);font-weight:600}.a-chip--new{padding:0 8px;border-style:dashed}.a-quad{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:84px;flex:0 0 auto}.a-quad-tile{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0;border:0;border-radius:8px;background:color-mix(in srgb,var(--a-q) 20%,transparent);color:#fff;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.a-quad-tile.is-on{background:var(--a-q);box-shadow:0 0 0 2px #fff,0 2px 8px color-mix(in srgb,var(--a-q) 55%,transparent)}.a-daterow{display:flex;align-items:center;gap:8px;animation:tc-drop .18s ease-out}.a-date{flex:1 1 auto;min-width:0;height:40px;padding:0 12px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-sm);background:#fff;outline:none;font-size:14px}.a-date:focus{border-color:var(--tc-accent);box-shadow:0 0 0 3px var(--tc-accent-soft)}.a-clear{flex:0 0 auto;min-height:32px;padding:0 8px}.a-tags{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.a-tags::-webkit-scrollbar{display:none}.a-tags>*{flex:0 0 auto}.a-newtag{min-height:32px;width:110px;padding:0 10px;border:1px solid var(--tc-accent);border-radius:999px;background:#fff;outline:none;font-size:13px}.a-submitrow{display:flex;justify-content:flex-end}.a-submit{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:var(--tc-accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 6px 14px #6c63ff52;transition:opacity .15s ease,transform .15s ease}.a-submit:active{transform:scale(.97)}.a-submit:disabled{opacity:.4;box-shadow:none;cursor:default}.tcl-group-title{display:flex;align-items:baseline;gap:6px}.tcl-cards{display:flex;flex-direction:column;gap:8px}.tcl-done-toggle{display:flex;align-items:center;gap:4px;width:100%;padding:6px 2px;margin-bottom:2px;border:0;background:none;color:var(--tc-muted);font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer}.tcl-caret{display:inline-block;transition:transform .15s ease}.tcl-caret.is-open{transform:rotate(90deg)}.tcm-page{display:flex;flex-direction:column;gap:28px}.tcm-section-title{margin:0 4px 12px;font-size:12px;font-weight:700;letter-spacing:1px;color:var(--tc-muted)}.tcm-card{padding:8px 16px}.tcm-row{display:flex;align-items:center;gap:14px;width:100%;padding:12px 0;border:0;background:none;color:inherit;text-align:left}.tcm-row--tappable{cursor:pointer}.tcm-row--tappable:active{opacity:.7}.tcm-tile{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:color-mix(in srgb,var(--tc-accent) 10%,transparent);color:var(--tc-accent)}.tcm-tile.is-danger{background:color-mix(in srgb,var(--tc-danger) 10%,transparent);color:var(--tc-danger)}.tcm-row-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.tcm-row-title{font-size:15px;font-weight:500;overflow-wrap:anywhere}.tcm-row-title.is-danger{color:var(--tc-danger)}.tcm-row-sub{font-size:12.5px;color:var(--tc-muted);overflow-wrap:anywhere}.tcm-row-chevron{flex:0 0 auto;display:inline-flex;color:var(--tc-muted);opacity:.6}.tcm-divider{height:1px;margin-left:50px;background:var(--tc-border)}.tcm-note{padding:4px 0 10px;font-size:12.5px}.tcm-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;padding:10px 12px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-sm);background:var(--tc-bg);font-size:14px}.tcm-confirm-text{flex:1 1 auto}.tcm-confirm-actions{margin-left:auto;display:flex;gap:8px}.tcm-confirm .tc-btn{min-height:34px;padding:0 12px;font-size:13px}.tcm-msg{margin:0 0 12px;font-size:13px}.tcm-msg--error{color:var(--tc-danger)}.tcm-msg--good{color:var(--tc-good)}.tcm-file{display:none}.tcm-tagsheet{display:flex;flex-direction:column;gap:16px}.tcm-tagsheet-head{display:flex;align-items:center;gap:12px}.tcm-tagsheet-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--tc-accent) 10%,transparent);color:var(--tc-accent)}.tcm-tagsheet-title{flex:1 1 auto;font-size:18px;font-weight:700}.tcm-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;color:var(--tc-muted);cursor:pointer}.tcm-iconbtn:active{background:#0000000d}.tcm-iconbtn--danger{color:var(--tc-danger)}.tcm-tagsheet-add{display:flex;gap:8px}.tcm-tagsheet-add .tc-input{flex:1 1 auto;min-width:0}.tcm-tagsheet-addbtn{flex:0 0 auto;padding:0 12px}.tcm-taglist{list-style:none;margin:0;padding:0}.tcm-tagrow{padding:6px 0;border-top:1px solid var(--tc-border)}.tcm-tagrow:first-child{border-top:0}.tcm-tagrow-main{display:flex;align-items:center;gap:10px}.tcm-tagrow-icon{display:inline-flex;color:var(--tc-muted)}.tcm-tagrow-name{flex:1 1 auto;min-width:0;font-weight:500;overflow-wrap:anywhere}.tcm-tagrow-unused{flex:0 0 auto}.tcm-tagsheet-note{font-size:12px}.q-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:calc(100dvh - var(--tc-header-h) - env(safe-area-inset-top) - var(--tc-top-extra, 0px) - 8px - env(safe-area-inset-bottom) - var(--tc-omni-space));min-height:420px}.tc-card.q-cell{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0;background:color-mix(in srgb,var(--q-color, var(--tc-muted)) 12%,rgba(255,255,255,.55));border:1px solid color-mix(in srgb,var(--q-color, var(--tc-muted)) 22%,transparent);border-radius:20px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.tc-card.q-cell.is-over{background:color-mix(in srgb,var(--q-color, var(--tc-muted)) 25%,rgba(255,255,255,.55));border:2px solid color-mix(in srgb,var(--q-color, var(--tc-muted)) 60%,transparent)}.q-cell-head{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;padding:10px 10px 6px;border-bottom:1px solid color-mix(in srgb,var(--q-color, var(--tc-muted)) 14%,transparent)}.q-cell-label{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--q-color, var(--tc-ink));white-space:nowrap}.q-cell-action{font-size:11px;color:var(--tc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-cell-count{margin-left:auto;font-size:12px;color:var(--tc-muted);font-family:var(--tc-font-mono)}.q-cell-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 6px}.q-draggable{touch-action:pan-y}.q-draggable.is-source{opacity:.3}.q-cell-empty{padding:20px 8px;font-size:12px;color:color-mix(in srgb,var(--q-color, var(--tc-muted)) 55%,transparent);text-align:center}.q-cta{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:18px 8px;border:0;background:none;cursor:pointer;animation:tc-fade .6s ease-out}.q-cta-main{font-size:13px;font-weight:600;color:color-mix(in srgb,var(--q-color, var(--tc-accent)) 75%,transparent)}.q-cta-hint{font-size:11px;color:color-mix(in srgb,var(--q-color, var(--tc-muted)) 45%,transparent)}.q-ghost{position:fixed;z-index:60;pointer-events:none;transform:scale(1.05);transform-origin:center;filter:drop-shadow(0 10px 20px rgba(20,26,34,.25))}.q-delzone{position:fixed;left:0;right:0;bottom:0;z-index:28;height:110px;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(to bottom,#e0454500,color-mix(in srgb,var(--tc-danger) 50%,transparent));animation:q-rise-strip .3s cubic-bezier(.34,1.3,.64,1)}.q-delzone.is-over{background:linear-gradient(to bottom,#e0454500,color-mix(in srgb,var(--tc-danger) 85%,transparent))}.q-delzone-text{padding-bottom:env(safe-area-inset-bottom);color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;transition:transform .2s ease}.q-delzone.is-over .q-delzone-text{transform:scale(1.15)}@keyframes q-rise-strip{0%{transform:translateY(100%)}to{transform:none}}.q-snack{position:fixed;left:50%;bottom:calc(112px + env(safe-area-inset-bottom));z-index:45;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 2 * var(--tc-pad));padding:8px 8px 8px 16px;border-radius:999px;background:#1c2430eb;color:#fff;font-size:13px;box-shadow:var(--tc-shadow-lift);animation:tc-fade .18s ease-out}.q-snack-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-snack-btn{flex:0 0 auto;padding:4px 12px;border:0;border-radius:999px;background:#ffffff1f;color:#ffc107;font-size:13px;font-weight:700;cursor:pointer}.tc-sheet.q-sheet{display:flex;flex-direction:column;height:75dvh;max-height:75dvh;overflow:hidden;padding:0}.q-sheet-handle{flex:0 0 auto;width:40px;height:4px;margin:12px auto 8px;border-radius:2px;background:color-mix(in srgb,var(--tc-muted) 35%,transparent)}.q-sheet-title{flex:0 0 auto;padding:4px 0 12px;text-align:center;font-size:18px;font-weight:700;letter-spacing:.12em;border-bottom:1px solid var(--tc-border);transition:color .3s ease}.q-pager{flex:1 1 auto;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.q-pager::-webkit-scrollbar{display:none}.q-page{flex:0 0 100%;width:100%;min-width:100%;scroll-snap-align:start;overflow-y:auto;padding:12px var(--tc-pad)}.q-page-empty{padding:48px 16px;text-align:center;color:var(--tc-muted);font-size:14px}.q-dots{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0 calc(20px + env(safe-area-inset-bottom))}.q-dot{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:color-mix(in srgb,var(--tc-muted) 30%,transparent);cursor:pointer;transition:width .3s ease,background .3s ease}.q-dot.is-active{width:24px;background:var(--q-color, var(--tc-accent))}@media(min-width:640px){.q-grid{gap:var(--tc-gap);max-width:720px;margin:0 auto}.q-cell-label{font-size:14px}.tc-sheet.q-sheet{width:min(560px,100vw);margin:0 auto}}
