:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-active:#1e40af;--color-bg-page:#fff;--color-bg-card:#fff;--color-bg-surface:#f5f5f5;--color-bg-subtle:#f0f0f0;--color-bg-hover:#e8e8e8;--color-border:#dcdcdc;--color-border-ui:#dcdcdc;--color-border-soft:#bbb;--color-text-primary:#222;--color-text-secondary:#444;--color-text-medium:#666;--color-text-muted:#999;--color-text-label:#888;--color-success-bg:#f0f0f0;--color-success:#222;--color-success-hover-bg:#e8e8e8;--color-warning-bg:#f0f0f0;--color-warning:#444;--color-warning-hover-bg:#e8e8e8;--color-danger:#555;--color-danger-bg:transparent;--color-danger-hover-bg:#f0f0f0;--color-info-bg:#f0f0f0;--color-info:#444;--color-info-hover-bg:#e8e8e8;--color-disabled:#bbb;--color-due-default-bg:#f0f0f0;--color-due-default-fg:#aaa;--color-due-soon-bg:#e0e0e0;--color-due-soon-fg:#666;--color-due-over-bg:#555;--color-due-over-fg:#fff;--shadow-card:0 1px 3px #0000000f;--shadow-modal:0 8px 32px #00000026;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:15px;--font-size-btn:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--transition-fast:.15s}*{box-sizing:border-box}html{width:100%;height:calc(100% + 1px);overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-page);width:100%;color:var(--color-text-primary);margin:0;font-family:Arial,Noto Sans JP,sans-serif;overflow-x:hidden}#root{max-width:480px;min-height:100dvh;margin:0 auto}@media (width>=769px){#root{max-width:960px}}html.is-native #root{background:var(--color-bg-card);max-width:480px;box-shadow:0 0 0 1px var(--color-border-ui)}@media (width>=768px) and (orientation:landscape){html.is-native #root{max-width:960px}}a{color:var(--color-primary);text-decoration:none}button{font-family:inherit}.back-btn{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);color:var(--color-text-primary);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.back-btn:hover{background:var(--color-bg-subtle)}@keyframes app-spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--color-border-ui);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite app-spin}.screen-loading{flex:1;justify-content:center;align-items:center;padding:60px 0;display:flex}.btn-pill{min-width:120px;height:44px;font-family:inherit;font-size:var(--font-size-btn);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast), filter var(--transition-fast);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-primary);border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;line-height:1;display:inline-flex}.btn-pill:disabled{cursor:not-allowed;opacity:.5}.btn-pill:not(:disabled):active{filter:brightness(.95)}.btn-pill-sm{height:36px;padding:0 16px;font-size:13px}.btn-pill-md{height:44px;padding:0 20px}.btn-pill-lg{height:52px;padding:0 24px;font-size:15px}.btn-pill-affirm{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-primary)}.btn-pill-affirm:not(:disabled):hover{background:var(--color-bg-hover)}.btn-pill-cancel{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.btn-pill-cancel:not(:disabled):hover{background:var(--color-bg-subtle)}.btn-pill-archive{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-secondary)}.btn-pill-archive:not(:disabled):hover{background:var(--color-bg-hover)}.btn-pill-share{background:var(--color-bg-subtle);border-color:var(--color-border);color:#777}.btn-pill-share:not(:disabled):hover{background:var(--color-bg-hover)}.btn-pill-delete{border-color:var(--color-border-soft);color:#555;background:0 0}.btn-pill-delete:not(:disabled):hover{background:var(--color-bg-subtle)}.chip{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;box-sizing:border-box;border-radius:9999px;justify-content:center;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.chip-url{border:1px solid var(--color-border-soft);color:#888;background:0 0}.chip-url .chip-icon{color:var(--color-primary)}.chip-category{background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text-medium)}.chip-due{border:none}.chip-due-default{background:var(--color-due-default-bg);color:var(--color-due-default-fg)}.chip-due-soon{background:var(--color-due-soon-bg);color:var(--color-due-soon-fg)}.chip-due-over{background:var(--color-due-over-bg);color:var(--color-due-over-fg)}.input-base,.textarea-base{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);color:var(--color-text-primary);transition:border-color var(--transition-fast);outline:none;padding:10px 12px;font-family:inherit}.input-base:focus,.textarea-base:focus{border-color:var(--color-primary)}.modal-overlay{z-index:100;box-sizing:border-box;opacity:1;background:#0006;justify-content:center;padding:20px;transition:opacity .2s ease-out;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay.fade-out{opacity:0}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-modal);flex-shrink:0;margin:auto 0}.modal-content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 16px}.modal-content textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);resize:vertical;transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;padding:12px;font-family:inherit}.modal-content textarea:focus{border-color:var(--color-primary)}.modal-sub-row{justify-content:space-between;align-items:flex-start;gap:4px;margin-top:4px;display:flex}.modal-char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;padding-top:6px}.modal-due-date{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.cal-date-chip{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);border:1px solid var(--color-primary);white-space:nowrap;background:#2563eb1a;border-radius:9999px;align-items:center;gap:4px;padding:3px 6px 3px 10px;animation:.15s ease-out chip-appear;display:inline-flex}@keyframes chip-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cal-date-chip-clear{cursor:pointer;width:16px;height:16px;color:var(--color-primary);transition:background var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.cal-date-chip-clear:hover{background:#2563eb33}.modal-category-row{margin-top:8px}.category-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23868e96' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;padding:8px 32px 8px 12px;font-family:inherit}.category-select:focus{border-color:var(--color-primary)}.new-category-btn{border:1px dashed var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);text-align:left;background:0 0;padding:8px 12px;font-family:inherit}.new-category-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.new-category-input-row{align-items:center;gap:6px;display:flex}.new-category-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);background:var(--color-bg-card);color:var(--color-text-primary);outline:none;flex:1;padding:8px 12px;font-family:inherit}.new-category-input:focus{border-color:var(--color-primary)}.new-category-ok{border:1px solid var(--color-border);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--color-bg-subtle);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;border-radius:9999px;padding:8px 16px}.new-category-cancel{border:1px solid var(--color-border);font-size:var(--font-size-base);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:9999px;padding:8px 14px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.btn-primary{background:var(--color-bg-subtle);min-width:120px;height:44px;color:var(--color-text-primary);border:1px solid var(--color-border);font-size:var(--font-size-btn);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);border-radius:9999px;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;display:inline-flex}.btn-primary:hover{background:var(--color-bg-hover)}.btn-primary:disabled{color:var(--color-disabled);cursor:not-allowed;opacity:.6}.btn-secondary{min-width:120px;height:44px;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:var(--font-size-btn);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);background:0 0;border-radius:9999px;justify-content:center;align-items:center;padding:0 20px;font-family:inherit;display:inline-flex}.btn-secondary:hover{background:var(--color-bg-subtle)}.cal-picker{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;margin-top:8px;padding:12px 10px 10px;animation:.15s ease-out cal-appear}@keyframes cal-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 2px;display:flex}.cal-month-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:.01em}.cal-nav{gap:4px;display:flex}.cal-nav-btn{background:var(--color-bg-subtle);width:30px;height:30px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast);border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:20px;line-height:1;display:flex}.cal-nav-btn:hover{background:var(--color-bg-hover)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-dow{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:center;letter-spacing:.03em;padding:4px 0 6px}.cal-dow.sun{color:#e03131}.cal-dow.sat{color:var(--color-primary)}.cal-day{color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);aspect-ratio:1;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:100%;min-height:34px;padding:0;font-family:inherit;font-size:13px;display:flex}@media (width<=380px){.cal-day{min-height:30px;font-size:12px}}.cal-day:hover:not(.selected){background:var(--color-bg-subtle)}.cal-day.other{color:var(--color-text-muted)}.cal-day.sun:not(.other){color:#e03131}.cal-day.sat:not(.other){color:var(--color-primary)}.cal-day.today:not(.selected){color:var(--color-primary);font-weight:var(--font-weight-semibold);background:#2563eb1f}.cal-day.selected{font-weight:var(--font-weight-semibold);background:var(--color-primary)!important;color:#fff!important}.cal-day.selected:hover{background:var(--color-primary-hover)!important}.cal-footer{border-top:1px solid var(--color-border-ui);justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.cal-footer-btn{font-size:var(--font-size-xs);cursor:pointer;font-family:inherit;font-weight:var(--font-weight-semibold);transition:background var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:5px 10px}.cal-clear{color:var(--color-text-muted)}.cal-clear:hover{background:var(--color-bg-subtle)}.cal-goto-today{color:var(--color-primary)}.cal-goto-today:hover{background:#2563eb1a}.create-category-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);transition:border-color var(--transition-fast);box-sizing:border-box;outline:none;padding:12px;font-family:inherit}.create-category-input:focus{border-color:var(--color-primary)}.url-chip{color:#888;border:1px solid var(--color-border-soft);max-width:260px;font-size:var(--font-size-sm);vertical-align:middle;cursor:pointer;background:0 0;border-radius:9999px;flex-shrink:0;align-items:center;gap:4px;margin:2px 3px;padding:3px 10px 3px 7px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s,box-shadow .15s;display:inline-flex}.url-chip:hover{background:var(--color-bg-subtle);box-shadow:var(--shadow-card)}.url-chip-icon{opacity:.9;color:var(--color-primary);flex-shrink:0}.url-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.oembed-card{border:1px solid var(--color-border-ui,#e0e0e0);background:var(--color-bg-card,#fff);max-width:360px;color:inherit;box-sizing:border-box;border-radius:12px;align-items:stretch;gap:12px;margin:8px 0;padding:10px 12px;text-decoration:none;display:flex;overflow:hidden}.oembed-card:hover{background:var(--color-bg-hover,#f5f5f5)}.oembed-card-thumb{background:#f0f0f0;border-radius:8px;flex:0 0 88px;justify-content:center;align-items:center;width:88px;height:88px;display:flex;overflow:hidden}.oembed-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.oembed-card-body{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.oembed-card-title{color:var(--color-text-primary,#111);-webkit-line-clamp:3;line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-size:.9rem;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.oembed-card-meta{color:var(--color-text-secondary,#666);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.75rem;display:flex;overflow:hidden}.oembed-card-avatar{object-fit:cover;background:#eaeaea;border-radius:50%;flex:none;width:16px;height:16px}.oembed-card-meta-text{text-overflow:ellipsis;font-weight:500;overflow:hidden}.oembed-card-provider-secondary{color:var(--color-text-secondary,#888);font-weight:400}.oembed-loading{display:inline-block}.detail-screen{background:var(--color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.detail-loading{justify-content:center;align-items:center;padding-top:120px;display:flex}.spinner{border:3px solid var(--color-border-ui);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.detail-header{padding:16px 20px;padding-top:calc(env(safe-area-inset-top) + 16px);background:var(--color-bg-card);border-bottom:1px solid var(--color-border-ui);flex-shrink:0;align-items:center;display:flex}.back-btn{font-size:var(--font-size-base);color:var(--color-primary);cursor:pointer;font-weight:var(--font-weight-semibold);background:0 0;border:none;padding:4px 8px}.detail-body{-webkit-overflow-scrolling:touch;flex:1;padding:20px;overflow-y:auto}.task-display{background:var(--color-bg-card);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-card);padding:20px}.detail-text{font-size:var(--font-size-md);color:var(--color-text-primary);word-break:break-word;white-space:pre-wrap;margin:0;line-height:1.7}.detail-text.completed{color:var(--color-text-muted);text-decoration:line-through}.detail-time{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:12px;display:block}.edit-area{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.edit-area textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);resize:vertical;box-sizing:border-box;outline:none;padding:12px;font-family:inherit}.edit-area textarea:focus{border-color:var(--color-primary)}.edit-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.detail-fab-area{bottom:calc(env(safe-area-inset-bottom) + 28px);z-index:20;align-items:center;gap:12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.detail-fab-btn{min-width:120px;height:36px;font-size:var(--font-size-btn);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-secondary);cursor:pointer;transition:transform .15s, background var(--transition-fast);white-space:nowrap;border-radius:9999px;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;display:inline-flex}.detail-fab-btn:hover{background:var(--color-bg-hover);transform:scale(1.05)}.detail-fab-btn:active{transform:scale(.95)}.detail-fab-btn-delete{border-color:var(--color-border-soft);color:#555;background:0 0}.detail-fab-btn-delete:hover{background:var(--color-bg-subtle)}.detail-due-date-section{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:16px;padding:12px 20px}.detail-category-section{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:12px;padding:12px 20px}.detail-due-date-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex;position:relative}.quick-date-btn{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border-radius:20px;padding:5px 12px}.quick-date-btn:hover{background:var(--color-bg-subtle)}.quick-date-btn.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.quick-date-btn.selected:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.calendar-btn{border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;width:32px;height:32px;color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.calendar-btn:hover{background:var(--color-bg-subtle)}.calendar-btn.selected{border-color:var(--color-primary);background:#2563eb1a}.calendar-btn img{display:block}.detail-custom-date-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.due-date-hidden-input{opacity:0;clip:rect(0, 0, 0, 0);clip-path:inset(50%);pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:0;overflow:hidden}.detail-modal-overlay{z-index:100;box-sizing:border-box;opacity:1;background:#00000080;justify-content:center;align-items:flex-start;padding:20px;transition:opacity .2s ease-out;display:flex;position:fixed;inset:0;overflow-y:auto}.detail-modal-overlay.fade-out{opacity:0;pointer-events:none}.detail-modal-content{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-2xl);width:100%;max-width:480px;box-shadow:var(--shadow-modal);margin:auto 0;position:relative}.detail-modal-close{width:32px;height:32px;color:var(--color-text-secondary,#666);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:flex;position:absolute;top:8px;right:8px}.detail-modal-close:hover{background:#0000000f}.detail-modal-confirm-area{justify-content:center;margin-top:16px;animation:.18s ease-out detail-modal-confirm-slide;display:flex}.detail-modal-confirm-btn{min-width:120px}@keyframes detail-modal-confirm-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.detail-modal-loading{justify-content:center;padding:40px 0;display:flex}.detail-category-section{margin-top:12px}.detail-modal-fab-area{justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}@media (width<=600px){.detail-modal-fab-area{flex-direction:column;align-items:stretch}.detail-modal-fab-area .detail-fab-btn{width:100%}}.filter-tabs-wrapper{--filter-tabs-arrow-width:44px;--filter-tabs-arrow-gap:4px;--filter-tabs-arrow-gutter:calc(var(--filter-tabs-arrow-width) + var(--filter-tabs-arrow-gap));--filter-tabs-add-width:0px;grid-template-columns:var(--filter-tabs-arrow-gutter) minmax(0, 1fr) var(--filter-tabs-arrow-gutter) var(--filter-tabs-add-width);background:var(--color-bg-card);flex-shrink:0;align-items:stretch;display:grid}.filter-tabs-wrapper.has-add{--filter-tabs-add-width:44px}.scroll-indicator{width:var(--filter-tabs-arrow-width);cursor:pointer;color:#8f8f8f;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:700;display:flex}.scroll-indicator:active{color:var(--color-text-primary)}.scroll-indicator img{display:block}.scroll-indicator-left{grid-column:1;justify-self:start}.scroll-indicator-right{grid-column:3;justify-self:end}.filter-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-column:2;min-width:0;padding:0;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs-inner{gap:24px;min-width:max-content;display:flex;position:relative}.filter-tab{cursor:pointer;white-space:nowrap;color:#8f8f8f;background:0 0;border:none;padding:10px 0 12px;font-family:inherit;font-size:16px;transition:color .15s;position:relative}.filter-tab-fixed{font-weight:700}.filter-tab-category{font-weight:400}.filter-tab.active{color:var(--color-text-primary)}.filter-tab-bar{background:var(--color-primary);border-radius:2px;height:4px;transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0}.filter-tab-category{touch-action:pan-y;-webkit-user-select:none;user-select:none}.filter-tab-category.dragging{opacity:.5;background:var(--color-bg-hover,#0000000a);border-radius:6px}.filter-tab-delete{vertical-align:middle;color:#8f8f8f;cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;margin-left:4px;transition:color .15s;display:inline-flex}.filter-tab-delete:active{color:var(--color-text-primary)}.filter-tab-add{background:var(--color-bg-card);cursor:pointer;width:44px;color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;border:none;grid-column:4;justify-content:center;align-items:center;padding:0;display:flex}.filter-tab-add:active{opacity:.6}.task-list-screen{background:var(--color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{padding:16px 20px;padding-top:calc(env(safe-area-inset-top) + 16px);background:var(--color-bg-card);border-bottom:1px solid var(--color-border-ui);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.app-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex-shrink:0;margin:0}.home-btn{background:var(--color-bg-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.home-btn:hover{filter:brightness(.98)}.home-btn:active{transform:scale(.96)}.search-bar{background:var(--color-bg-subtle);border-radius:20px;flex:1;align-items:center;height:36px;margin:0 12px 0 10px;display:flex;overflow:hidden}.home-picker-backdrop{z-index:80;background:0 0;border:none;margin:0;padding:0;position:fixed;inset:0}.home-picker{top:calc(env(safe-area-inset-top) + 56px);background:var(--color-bg-card);border:1px solid var(--color-border-ui);border-radius:var(--radius-lg);z-index:81;width:min(260px,100vw - 40px);padding:10px;position:fixed;left:20px;box-shadow:0 10px 28px #00000029}.home-picker-title{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 4px 8px}.home-picker-options{flex-direction:column;gap:4px;max-height:46vh;display:flex;overflow-y:auto}.home-picker-option{text-align:left;color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 12px;font-family:inherit}.home-picker-option:hover{background:var(--color-bg-subtle)}.home-picker-option.selected{background:var(--color-bg-subtle);font-weight:var(--font-weight-semibold)}.search-icon{color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;padding:0 4px 0 12px;display:flex}.search-input{font-size:var(--font-size-base);color:var(--color-text-primary);background:0 0;border:none;outline:none;width:100%;padding:6px 0}.search-input::placeholder{color:var(--color-text-muted)}.search-clear{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;align-items:center;height:36px;padding:0 10px;font-size:14px;display:flex}.search-clear:hover{color:var(--color-text-primary)}.icon-btn{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;padding:4px;font-size:22px}.icon-btn:hover{background:var(--color-bg-subtle)}.hamburger-icon{flex-direction:column;justify-content:center;gap:5px;width:22px;height:22px;display:flex}.hamburger-icon span{background:var(--color-text-primary);border-radius:2px;width:100%;height:2px;display:block}.task-list{background:var(--color-bg-card);-webkit-overflow-scrolling:touch;flex:1;padding:0 0 100px;overflow:hidden auto}.task-list-panel{background:var(--color-bg-card);will-change:transform, opacity;min-height:100%}.task-list-slide-next{animation:.26s cubic-bezier(.22,1,.36,1) taskListSlideNext}.task-list-slide-previous{animation:.26s cubic-bezier(.22,1,.36,1) taskListSlidePrevious}@keyframes taskListSlideNext{0%{opacity:.96;transform:translate(72%)}to{opacity:1;transform:translate(0,0)}}@keyframes taskListSlidePrevious{0%{opacity:.96;transform:translate(-72%)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.task-list-slide-next,.task-list-slide-previous{animation:none}}.task-row{border-bottom:1px solid var(--color-border-ui);box-sizing:border-box;align-items:center;gap:12px;min-height:56px;padding:14px 20px;display:flex}.task-title.task-title-embed{flex:1;min-width:0}.task-title.task-title-embed .oembed-embed{margin:0}.task-row.task-row-overdue-last{border-bottom:3px solid #e53935}.task-row.task-row-today-last{border-bottom:3px solid var(--color-border-ui)}.task-row.empty{min-height:56px}.task-check{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.task-check img{display:block}.task-body{cursor:pointer;flex:1;min-width:0}.task-title-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.task-row-single .task-title-row{align-items:center}.task-title{font-size:var(--font-size-base);color:var(--color-text-primary);word-break:break-word;font-weight:500;line-height:1.5}.task-title.completed{color:var(--color-text-muted);text-decoration:line-through}.task-desc{font-size:var(--font-size-sm);color:var(--color-text-label);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;line-height:1.4;overflow:hidden}.task-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;min-width:56px;display:flex}.task-time{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.task-category-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-medium);background:var(--color-bg-subtle);border:1px solid var(--color-border);white-space:nowrap;box-sizing:border-box;border-radius:9999px;justify-content:center;align-items:center;padding:2px 10px;display:inline-flex}.task-due-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-due-default-fg);background:var(--color-due-default-bg);white-space:nowrap;box-sizing:border-box;border-radius:9999px;justify-content:center;align-items:center;gap:3px;padding:2px 10px;display:inline-flex}.task-due-badge.overdue{color:var(--color-due-over-fg);background:var(--color-due-over-bg)}.task-due-badge img{display:block}.fab-area{bottom:calc(env(safe-area-inset-bottom) + 28px);z-index:20;align-items:center;gap:28px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.fab{color:#fff;cursor:pointer;z-index:20;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:transform .15s;display:flex;box-shadow:0 2px 6px #0000004d}.fab img{display:block}.fab:hover{transform:scale(1.08)}.fab:active{transform:scale(.95)}.fab-side{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:transform .15s;display:flex}.fab-side img{filter:drop-shadow(0 2px 6px #0000004d);display:block}.fab-side-text{width:80px;height:auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;white-space:nowrap;text-align:center;background:#555;border-radius:9999px;justify-content:center;padding:6px 0;font-family:inherit}.fab-side-text:hover{background:#444}.fab-side-delete{color:#fff;background:#555}.fab-side-delete:hover{background:#444}.fab-side:hover{transform:scale(1.12)}.fab-side:active{transform:scale(.92)}.fab-side-enter{animation:.3s ease-out fabSlideUp}.fab-side-exit{pointer-events:none;animation:.3s ease-in forwards fabSlideDown}.fab-side-action{pointer-events:none;animation:.35s ease-out forwards fabExpandFade}@keyframes fabSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fabSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}@keyframes fabExpandFade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.trash-confirm-overlay{z-index:100;background:#00000073;justify-content:center;align-items:flex-end;padding-bottom:40px;display:flex;position:fixed;inset:0}.trash-confirm-dialog{background:var(--color-bg-card);border-radius:var(--radius-lg);width:min(340px,90vw);padding:24px 24px 20px;box-shadow:0 8px 32px #0003}.trash-confirm-dialog p{font-size:var(--font-size-md);color:var(--color-text-primary);text-align:center;margin:0 0 16px;line-height:1.5}.trash-confirm-skip{font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;display:flex}.trash-confirm-skip input[type=checkbox]{cursor:pointer;width:16px;height:16px}.trash-confirm-actions{gap:12px;display:flex}.trash-confirm-cancel,.trash-confirm-ok{border:1px solid var(--color-border);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);border-radius:9999px;flex:1;padding:12px;font-family:inherit}.trash-confirm-cancel{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;border-radius:9999px}.trash-confirm-cancel:hover{background:var(--color-bg-subtle)}.trash-confirm-ok{border:1px solid var(--color-border-soft);color:#555;background:0 0;border-radius:9999px}.trash-confirm-ok:hover{background:var(--color-bg-subtle)}.category-delete-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:0 24px;animation:.2s ease-out sheetOverlayIn;display:flex;position:fixed;inset:0}@keyframes sheetOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.category-delete-dialog{background:var(--color-bg-card);border-radius:var(--radius-lg);width:min(320px,100%);padding:28px 24px 20px;animation:.2s ease-out modalScaleIn;box-shadow:0 8px 32px #0003}.category-delete-header{text-align:center;margin-bottom:20px}.category-delete-title{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:600;line-height:1.5;display:block}.category-delete-subtitle{font-size:var(--font-size-md);color:var(--color-text-primary);line-height:1.5;display:block}.category-delete-buttons{flex-direction:column;gap:10px;display:flex}.category-delete-btn{border:1px solid var(--color-border);width:100%;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:filter .15s, background var(--transition-fast);border-radius:9999px;padding:14px;font-family:inherit;display:block}.category-delete-btn:active{filter:brightness(.92)}.category-delete-keep{background:var(--color-bg-subtle);color:var(--color-text-primary)}.category-delete-archive{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.category-delete-destructive{border-color:var(--color-border-soft);color:#555;background:0 0}.task-anim-fade-down{pointer-events:none;will-change:transform, opacity;animation:.35s cubic-bezier(.4,0,1,1) forwards fadeDown}.task-anim-slide-right{pointer-events:none;will-change:transform, opacity;animation:.35s cubic-bezier(.4,0,1,1) forwards slideRightFade}@keyframes fadeDown{0%{opacity:1}to{opacity:0}}@keyframes slideRightFade{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(80px)}}.archive-screen{background:var(--color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.archive-task-list{padding-bottom:24px!important}.empty-message{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:48px 20px}.unarchive-btn{background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border);height:36px;font-size:13px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;display:inline-flex}.unarchive-btn:hover{background:var(--color-bg-hover)}.login-prompt p{font-size:var(--font-size-btn);color:var(--color-text-secondary);margin:0 0 8px;line-height:1.6}.login-benefits{font-size:var(--font-size-sm)!important;color:var(--color-text-label)!important}.google-btn{color:#fff;background:#4285f4;border-color:#4285f4}.google-btn:hover{background:#3367d6;border-color:#3367d6}.archive-calendar-screen{background:var(--color-bg-card);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.archive-calendar-body{-webkit-overflow-scrolling:touch;padding:var(--space-lg);gap:var(--space-lg);flex:1;display:flex;overflow-y:auto}.calendar-left{gap:var(--space-md);flex-direction:column;flex-shrink:0;display:flex}.year-dropdown{border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);cursor:pointer;appearance:none;background:#fffffffa url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23737373' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center no-repeat;border-radius:10px;width:fit-content;padding-right:28px}.heatmap-grid{grid-template-columns:repeat(7,clamp(8px,2.5vw,11px));gap:clamp(2px,.6vw,3px);display:grid}.heatmap-cell{cursor:pointer;border-radius:2px;width:clamp(8px,2.5vw,11px);height:clamp(8px,2.5vw,11px);transition:transform .1s}.heatmap-cell:hover{transform:scale(1.3)}.heatmap-cell.selected{border:2px solid var(--color-primary);border-radius:4px;box-shadow:0 2px 6px #2563eb2e}.heatmap-cell.outside-year{opacity:.5}.heatmap-level-0{background-color:#d9d9d9}.heatmap-level-1{background-color:#f0eae6}.heatmap-level-2{background-color:#e0c4aa}.heatmap-level-3{background-color:#e6b07b}.heatmap-level-4{background-color:#eaa663}.heatmap-level-5{background-color:#ed9b4b}.heatmap-level-6{background-color:#ea8326}.heatmap-level-7{background-color:#ca611f}.heatmap-level-8{background-color:#aa3f17}.heatmap-level-9{background-color:#8a1d10}.heatmap-level-10{background-color:#7a0c0c}.calendar-right{flex:1;min-width:0}.calendar-hint{color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:10px}.preview-panel{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:18px;max-height:calc(100dvh - 140px);padding:17px;overflow-y:auto}.preview-date{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm)}.preview-chip{background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text-medium);font-size:10px;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md);border-radius:9999px;align-items:center;padding:4px 10px;display:inline-flex}.preview-task-list{flex-direction:column;gap:10px;display:flex}.preview-task-item{background:var(--color-bg-surface);cursor:pointer;transition:background var(--transition-fast);border-radius:12px;align-items:flex-start;gap:10px;padding:9px 12px;display:flex}.preview-task-item:hover{background:var(--color-bg-subtle)}.preview-task-accent{background:var(--color-border);border-radius:99px;flex-shrink:0;width:4px;height:22px;margin-top:3px}.preview-task-info{min-width:0}.preview-task-title{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.preview-task-time{color:var(--color-text-muted);margin-top:1px;font-size:10px}.preview-empty{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;padding:var(--space-xl)}@media (width<=480px){.archive-calendar-body{padding:var(--space-md);gap:var(--space-md)}.preview-task-title{max-width:none}}.trash-screen{background:var(--color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.trash-task-list{padding-bottom:24px!important}.trash-notice{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;border-bottom:1px solid var(--color-border-ui);margin:0;padding:12px 20px}.task-title-muted,.trash-days{color:var(--color-text-muted)}.trash-days-urgent{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.trash-task-row{cursor:pointer}.trash-modal-display{cursor:default}.trash-modal-actions{justify-content:center;margin-top:20px;display:flex}.trash-restore-btn{background:var(--color-bg-subtle);min-width:120px;height:44px;color:var(--color-text-primary);border:1px solid var(--color-border);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);border-radius:9999px;justify-content:center;align-items:center;padding:0 24px;font-family:inherit;display:inline-flex}.trash-restore-btn:hover{background:var(--color-bg-hover)}.settings-screen{background:var(--color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.settings-body{-webkit-overflow-scrolling:touch;flex:1;padding:20px;overflow-y:auto}.settings-section{margin-bottom:24px}.settings-group{background:var(--color-bg-card);box-shadow:var(--shadow-card);border-radius:22px;overflow:hidden}.settings-section-bottom{margin-top:32px;padding-bottom:24px}.settings-section h2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-label);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px 4px}.settings-item{width:100%;font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;box-shadow:none;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;margin-bottom:0;padding:16px;display:flex;position:relative}.settings-group>.settings-item+.settings-item{border-top:none}.settings-group>.settings-item+.settings-item:before{content:"";background:var(--color-border-ui);height:1px;position:absolute;top:0;left:16px;right:16px}.settings-item:hover{background:var(--color-bg-subtle)}.settings-item.danger{color:#555}.settings-item.account-delete-item{color:#d32f2f}.settings-item:disabled{cursor:not-allowed;opacity:.55}.settings-item .arrow{color:var(--color-text-muted);font-size:16px}.settings-item-select-wrap{gap:12px}.settings-item-select{border:1px solid var(--color-border);background:var(--color-bg-page);min-width:128px;max-width:55%;color:var(--color-text-primary);font-size:var(--font-size-sm);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:999px;height:36px;padding:8px 34px 8px 12px;font-family:inherit;line-height:1.2}.settings-item-select::-ms-expand{display:none}.settings-item-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.toggle-switch{background:#ccc;border-radius:999px;flex-shrink:0;width:51px;height:31px;transition:background .25s;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #0000001a}.toggle-switch--on{background:var(--color-primary)}.toggle-switch--loading{opacity:.6}.toggle-switch__thumb{background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .25s;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #0000004d}.toggle-switch--on .toggle-switch__thumb{transform:translate(20px)}.push-info-msg{color:var(--color-text-medium);background:var(--color-bg-subtle);border-left:3px solid var(--color-border-soft);word-break:break-all;border-radius:0 4px 4px 0;margin:8px 4px 0;padding:8px 10px;font-size:12px;line-height:1.5}.schedule-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.schedule-modal{background:var(--color-bg-card,#fff);border-radius:16px;flex-direction:column;width:340px;max-width:90vw;max-height:80vh;animation:.25s slideUp;display:flex;overflow:hidden}.schedule-modal-header{border-bottom:1px solid var(--color-border,#e0e0e0);justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.schedule-modal-header h3{color:var(--color-text-primary,#000);margin:0;font-size:17px;font-weight:600}.schedule-modal-close{background:var(--color-bg-page,#f0f0f0);width:32px;height:32px;color:var(--color-text-muted,#999);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.schedule-modal-close:active{opacity:.6}.schedule-modal-body{flex:1;padding:16px 20px 20px;overflow-y:auto}.schedule-modal-add{border:1px dashed var(--color-border);width:100%;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:9999px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:14px;font-family:inherit;font-size:15px;font-weight:500;display:flex}.schedule-modal-add:active{background:var(--color-bg-subtle)}.notification-times-empty{color:var(--color-text-muted,#999);text-align:center;margin:0;padding:12px 0;font-size:13px}.notification-times-list{flex-direction:column;gap:2px;display:flex}.notification-time-item{background:var(--color-bg-card,#fff);border-radius:var(--radius-md,10px);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-time-value{font-variant-numeric:tabular-nums;color:var(--color-text-primary,#000);letter-spacing:1px;font-size:28px;font-weight:300}.notification-time-delete{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:flex}.notification-time-delete:active{opacity:.6}.time-picker-title{color:var(--color-text-label,#666);text-align:center;margin:0 0 12px;font-size:14px;font-weight:500}.time-picker-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-picker-hour{border:1px solid var(--color-border,#e0e0e0);background:var(--color-bg-page,#f8f8f8);color:var(--color-text-primary,#000);cursor:pointer;text-align:center;border-radius:10px;padding:12px 4px;font-size:15px;font-weight:500;transition:background .15s,border-color .15s}.time-picker-hour:active:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.time-picker-hour--disabled{opacity:.3;cursor:not-allowed}.time-picker-cancel{border:1px solid var(--color-border);width:100%;color:var(--color-text-muted);cursor:pointer;text-align:center;background:0 0;border-radius:9999px;margin-top:16px;padding:14px;font-family:inherit;font-size:16px;font-weight:500;display:block}.time-picker-cancel:active{background:var(--color-bg-subtle)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.native-time-picker{flex-direction:column;align-items:center;gap:16px;display:flex}.native-time-picker-wheels{align-items:center;gap:4px;display:flex}.native-time-picker-select{font-variant-numeric:tabular-nums;text-align:center;border:1px solid var(--color-border,#e0e0e0);background:var(--color-bg-page,#f8f8f8);color:var(--color-text-primary,#000);appearance:none;border-radius:10px;min-width:80px;padding:8px 12px;font-size:32px;font-weight:300}.native-time-picker-colon{color:var(--color-text-primary,#000);font-size:32px;font-weight:300}.native-time-picker-error{color:var(--color-text-secondary);margin:0;font-size:13px}.native-time-picker-confirm{border:1px solid var(--color-border);background:var(--color-bg-subtle);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:9999px;padding:14px;font-family:inherit;font-size:16px;font-weight:600}.native-time-picker-confirm:disabled{opacity:.4;cursor:not-allowed}.native-time-picker-confirm:active:not(:disabled){background:var(--color-bg-hover)}.settings-notice-modal-overlay{z-index:1100;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.settings-notice-modal{background:var(--color-bg-card);border-radius:16px;width:min(340px,100%);animation:.25s slideUp;overflow:hidden;box-shadow:0 12px 32px #0003}.settings-notice-modal-body{padding:22px 22px 18px}.settings-notice-modal-body h3{color:var(--color-text-primary);margin:0 0 10px;font-size:17px;font-weight:600}.settings-notice-modal-body p{color:var(--color-text-label);margin:0;font-size:15px;line-height:1.6}.settings-notice-modal-actions{border-top:1px solid var(--color-border-ui)}.settings-notice-modal-actions button{background:var(--color-bg-card);width:100%;min-height:48px;color:var(--color-primary);cursor:pointer;border:none;font-family:inherit;font-size:15px;font-weight:600}.settings-notice-modal-actions button:active{background:var(--color-bg-subtle)}.account-delete-modal-overlay{z-index:1100;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.account-delete-modal{background:var(--color-bg-card);border-radius:16px;width:min(340px,100%);animation:.25s slideUp;overflow:hidden;box-shadow:0 12px 32px #0003}.account-delete-modal-body{padding:22px 22px 18px}.account-delete-modal-body h3{color:var(--color-text-primary);margin:0 0 10px;font-size:17px;font-weight:600}.account-delete-modal-body p{color:var(--color-text-label);margin:0;font-size:15px;line-height:1.6}.account-delete-modal-actions{border-top:1px solid var(--color-border-ui);grid-template-columns:1fr 1fr;display:grid}.account-delete-modal-actions button{background:var(--color-bg-card);min-height:48px;color:var(--color-text-primary);cursor:pointer;border:none;font-family:inherit;font-size:15px;font-weight:600}.account-delete-modal-actions button:disabled{cursor:not-allowed;opacity:.55}.account-delete-modal-actions button:active:not(:disabled){background:var(--color-bg-subtle)}.account-delete-modal-cancel{border-right:1px solid var(--color-border-ui)!important}.account-delete-modal-danger{color:#d32f2f!important}.account-delete-modal-primary{grid-column:1/-1;color:var(--color-primary)!important}.terms-screen{background:var(--color-bg-page);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.terms-body{box-sizing:border-box;-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:680px;margin:0 auto;padding:20px;overflow-y:auto}.terms-intro{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 20px;line-height:1.6}.terms-section{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:16px;padding:20px}.terms-section h2{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 10px}.terms-section p,.terms-section li{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 8px;line-height:1.7}.terms-section ul{margin:0;padding-left:20px}.terms-section li{margin-bottom:4px}.terms-section p:last-child{margin-bottom:0}.terms-privacy-link{background:var(--color-info-bg);border-radius:var(--radius-md);color:var(--color-info);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-card);transition:background var(--transition-fast);align-items:center;gap:8px;margin-bottom:24px;padding:14px 16px;text-decoration:none;display:flex}.terms-privacy-link:hover{background:var(--color-info-hover-bg)}.terms-privacy-link svg{flex-shrink:0}.terms-privacy-link .link-arrow{margin-left:auto;font-size:16px}.terms-agreement{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:16px;padding:20px}.terms-checkbox-label{cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-primary);align-items:flex-start;gap:12px;line-height:1.5;display:flex}.terms-checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0;margin:2px 0 0}.terms-footer{padding:16px 20px calc(env(safe-area-inset-bottom) + 32px);box-sizing:border-box;width:100%;max-width:680px;margin:0 auto}.terms-agree-btn{background:var(--color-bg-subtle);width:100%;height:52px;color:var(--color-text-primary);border:1px solid var(--color-border);font-size:15px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast);border-radius:9999px;justify-content:center;align-items:center;padding:0 24px;font-family:inherit;display:inline-flex}.terms-agree-btn:hover:not(:disabled){background:var(--color-bg-hover)}.terms-agree-btn:active:not(:disabled){background:var(--color-bg-hover);filter:brightness(.95)}.terms-agree-btn:disabled{color:var(--color-disabled);cursor:not-allowed;opacity:.6}.terms-already-agreed{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:9999px;margin-top:8px;padding:10px 16px}.share-target-screen{background:var(--color-bg-page);min-height:100dvh;color:var(--color-text-primary);flex-direction:column;display:flex}.share-target-screen-saving{justify-content:center;align-items:center;padding:24px}.share-target-saving-card{border:1px solid var(--color-border-ui);border-radius:var(--radius-xl,24px);background:var(--color-bg-card);text-align:center;width:min(420px,100%);padding:24px 22px}.share-target-saving-card h1{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.share-target-saving-card p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:8px 0 0}.share-target-header{padding:calc(env(safe-area-inset-top) + 16px) 20px 14px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border-ui);align-items:center;gap:12px;display:flex}.share-target-header h1{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.share-target-header p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:2px 0 0}.share-target-close{background:var(--color-bg-subtle);width:36px;height:36px;color:var(--color-text-primary);border:none;border-radius:18px;font-size:22px;line-height:1}.share-target-form{width:min(520px,100%);padding:18px 18px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:14px;margin:0 auto;display:flex}.share-target-field{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.share-target-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.share-target-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.share-target-counter,.share-target-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.share-target-form textarea,.share-target-form select,.share-target-date-row input{border:1px solid var(--color-border-ui);border-radius:var(--radius-lg);background:var(--color-bg-card);width:100%;color:var(--color-text-primary);font:inherit;box-sizing:border-box}.share-target-form textarea{resize:vertical;min-height:160px;padding:12px 13px;line-height:1.55}.share-target-form select,.share-target-date-row input{min-height:42px;padding:0 12px}.share-target-segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.share-target-segmented label{position:relative}.share-target-segmented input{opacity:0;position:absolute;inset:0}.share-target-segmented span{border:1px solid var(--color-border-ui);background:var(--color-bg-card);min-height:40px;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:20px;justify-content:center;align-items:center;display:flex}.share-target-segmented input:checked+span,.share-target-quick-dates button.selected{border-color:var(--color-primary);background:var(--color-bg-subtle);color:var(--color-primary)}.share-target-quick-dates{flex-wrap:wrap;gap:8px;display:flex}.share-target-quick-dates button,.share-target-date-row button{border:1px solid var(--color-border-ui);background:var(--color-bg-card);min-height:36px;color:var(--color-text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:18px;padding:0 12px}.share-target-date-row{align-items:center;gap:8px;display:flex}.share-target-date-row button{flex-shrink:0}.share-target-pill{background:var(--color-bg-subtle);width:fit-content;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:18px;padding:7px 10px}.share-target-message{border-radius:var(--radius-lg);font-size:var(--font-size-sm);padding:10px 12px;line-height:1.5}.share-target-message.error{color:#c2410c;background:#fff3ee;border:1px solid #fed7aa}.share-target-message.success{color:#0f9f6e;background:#eefaf6;border:1px solid #bbf7d0}.share-target-submit{background:var(--color-primary);color:#fff;min-height:44px;font:inherit;font-weight:var(--font-weight-bold);border:none;border-radius:22px}.share-target-submit:disabled{opacity:.55}.splash-screen{z-index:9999;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-logo{opacity:0;width:128px;height:128px;animation:.6s forwards splash-fade-in}.splash-screen.splash-out .splash-logo{animation:.6s forwards splash-zoom-out}@keyframes splash-fade-in{0%{opacity:0}to{opacity:1}}@keyframes splash-zoom-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}
