:root{--bg-primary:#f8f9fc;--bg-secondary:#fff;--bg-tertiary:#f0f1f5;--text-primary:#1a1a2e;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e5e7eb;--shadow:0 1px 3px #00000014,0 1px 2px #0000000f;--shadow-lg:0 4px 14px #0000001a;--blue:#4a90d9;--blue-bg:#eef4fb;--blue-border:#c4d9f0;--green:#27ae60;--green-bg:#eafaf1;--green-border:#a9dfbf;--orange:#e67e22;--orange-bg:#fdf2e6;--orange-border:#f5cba7;--purple:#8b5cf6;--purple-bg:#f3eefe;--purple-border:#d8c4fb;--teal:#0d9488;--teal-bg:#e6f7f4;--teal-border:#a7ded6;--accent:#6c5ce7;--accent-hover:#5a4bd1;--accent-light:#a29bfe;--success:#00b894;--danger:#e74c3c;--header-height:60px;--tab-height:48px;--finish-bar-height:64px;--radius:12px;--radius-sm:8px}@media (prefers-color-scheme:dark){:root{--bg-primary:#0f0f1a;--bg-secondary:#1a1a2e;--bg-tertiary:#232340;--text-primary:#eaeaff;--text-secondary:#9ca3b8;--text-muted:#6b7290;--border:#2d2d4a;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 14px #0006;--blue-bg:#1a2740;--blue-border:#2a4060;--green-bg:#1a3028;--green-border:#2a5040;--orange-bg:#2d2518;--orange-border:#4d3d28;--purple-bg:#261c40;--purple-border:#3d2e60;--teal-bg:#14312e;--teal-border:#245a52}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{-webkit-font-smoothing:antialiased;background:#f8f9fc;background:var(--bg-primary);color:#1a1a2e;color:var(--text-primary);font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.loading-screen{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#6c5ce7;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.login-screen{align-items:center;background:linear-gradient(135deg,#f8f9fc,#f0f1f5);background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-tertiary) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;background:var(--bg-secondary);border-radius:20px;box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);max-width:380px;padding:48px 36px;text-align:center;width:100%}.login-logo{margin-bottom:20px}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6c5ce7,#a29bfe);background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin-bottom:8px}.login-subtitle{color:#6b7280;color:var(--text-secondary);font-size:14px;margin-bottom:32px}.login-note{color:#9ca3af;color:var(--text-muted);font-size:12px;margin-top:16px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#6c5ce7;background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#5a4bd1;background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:#f0f1f5;background:var(--bg-tertiary);border:1px solid #e5e7eb;border:1px solid var(--border);color:#1a1a2e;color:var(--text-primary)}.btn-secondary:hover{background:#e5e7eb;background:var(--border)}.btn-accent{background:linear-gradient(135deg,#e67e22,#f39c12);color:#fff}.btn-accent:hover:not(:disabled){box-shadow:0 4px 12px #e67e224d;transform:translateY(-1px)}.btn-success{background:#00b894;background:var(--success);color:#fff}.btn-ghost{background:#0000;color:#6b7280;color:var(--text-secondary);font-size:13px;padding:6px 12px}.btn-ghost:hover{background:#f0f1f5;background:var(--bg-tertiary)}.btn-ghost:hover,.btn-google{color:#1a1a2e;color:var(--text-primary)}.btn-google{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:500;gap:12px;justify-content:center;padding:14px 24px;transition:all .2s;width:100%}.btn-google:hover{box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn-block{padding:14px;width:100%}.header{background:#fff;background:var(--bg-secondary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);height:60px;height:var(--header-height);justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:200}.header,.header-left{align-items:center;display:flex}.header-left{flex-shrink:0;gap:10px}.header-center{flex:1 1;position:relative;text-align:center}.app-date-large{background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:18px;font-weight:700;letter-spacing:.5px;padding:4px 8px;transition:background .15s}.app-date-large:hover{background:#f0f1f5;background:var(--bg-tertiary)}.app-date-large.date-saturday{color:#2196f3}.app-date-large.date-holiday{color:#e74c3c}@media (max-width:600px){.app-date-large{font-size:15px}}.app-brand{align-items:flex-start;display:flex;flex-direction:column;line-height:1.1}.app-logo{align-items:center;display:flex;gap:7px}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6c5ce7,#a29bfe);background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.offline-badge{align-items:center;background:#fdf2e6;background:var(--orange-bg);border-radius:99px;color:#e67e22;color:var(--orange);display:inline-flex;font-size:11px;font-weight:600;padding:2px 8px}.header-right{align-items:center;display:flex}.user-menu-wrapper{position:relative}.avatar-btn{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;padding:2px;transition:box-shadow .2s}.avatar-btn:hover{box-shadow:0 0 0 2px #a29bfe;box-shadow:0 0 0 2px var(--accent-light)}.user-avatar{border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:50%;height:34px;width:34px}.avatar-dropdown{animation:fadeIn .15s ease;background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:150}.dropdown-user-info{display:flex;flex-direction:column;gap:2px;padding:12px 16px}.dropdown-name{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:600}.dropdown-email{color:#9ca3af;color:var(--text-muted);font-size:12px;word-break:break-all}.dropdown-divider{background:#e5e7eb;background:var(--border);height:1px}.dropdown-item{background:none;border:none;color:#e74c3c;color:var(--danger);cursor:pointer;display:block;font-family:inherit;font-size:13px;padding:10px 16px;text-align:left;transition:background .15s;width:100%}.dropdown-item:hover{background:#f0f1f5;background:var(--bg-tertiary)}.icon-nav{background:#fff;background:var(--bg-secondary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;gap:4px;padding:8px 12px;position:sticky;top:0;z-index:100}.icon-nav-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#9ca3af;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:inherit;gap:2px;justify-content:center;min-width:0;padding:6px 2px 5px;transition:all .2s}.icon-nav-icon{filter:grayscale(.55);font-size:22px;line-height:1.2;opacity:.75;transition:filter .2s,opacity .2s,transform .15s}.icon-nav-label{font-size:10px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-nav-btn.active{font-weight:600}.icon-nav-btn.active .icon-nav-icon{filter:none;opacity:1;transform:scale(1.08)}.icon-nav-btn.nav-green.active{background:#eafaf1;background:var(--green-bg);color:#27ae60;color:var(--green)}.icon-nav-btn.nav-orange.active{background:#fdf2e6;background:var(--orange-bg);color:#e67e22;color:var(--orange)}.icon-nav-btn.nav-blue.active{background:#eef4fb;background:var(--blue-bg);color:#4a90d9;color:var(--blue)}.icon-nav-btn.nav-teal.active{background:#e6f7f4;background:var(--teal-bg);color:#0d9488;color:var(--teal)}.icon-nav-btn.nav-purple.active{background:#f3eefe;background:var(--purple-bg);color:#8b5cf6;color:var(--purple)}@media (min-width:769px){.icon-nav{justify-content:center}.icon-nav-btn{flex:0 1 170px}}.main-content{padding:16px 16px 88px;padding-bottom:calc(var(--finish-bar-height) + 24px)}.desktop-columns{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1.1fr 1fr 1fr;margin:0 auto;max-width:1400px}@media (max-width:1023px) and (min-width:769px){.desktop-columns{gap:10px;padding-left:4px;padding-right:4px}}.page-content{margin:0 auto;max-width:680px}.page-content:not(.with-finish-bar){padding-bottom:88px;padding-bottom:calc(var(--finish-bar-height) + 24px)}.task-column{background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);overflow:hidden}.column-header{align-items:center;display:flex;justify-content:space-between;padding:16px 16px 12px}.column-title-row{align-items:center;display:flex;gap:8px}.column-icon{font-size:18px}.column-title{font-size:15px;font-weight:600}.column-count{background:#f0f1f5;background:var(--bg-tertiary);border-radius:99px;color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:600;padding:2px 10px}.column-blue .column-header{border-bottom:2px solid #4a90d9;border-bottom:2px solid var(--blue)}.column-green .column-header{border-bottom:2px solid #27ae60;border-bottom:2px solid var(--green)}.column-orange .column-header{border-bottom:2px solid #e67e22;border-bottom:2px solid var(--orange)}.column-progress{background:#f0f1f5;background:var(--bg-tertiary);border-radius:99px;height:3px;margin:0 16px;overflow:hidden}.column-progress-bar{border-radius:99px;height:100%;transition:width .3s ease}.column-blue .column-progress-bar{background:#4a90d9;background:var(--blue)}.column-green .column-progress-bar{background:#27ae60;background:var(--green)}.column-orange .column-progress-bar{background:#e67e22;background:var(--orange)}.task-add-form{align-items:center;display:flex;gap:8px;padding:12px 16px}.task-add-input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:14px;min-width:0;outline:none;padding:10px 14px;transition:border-color .2s}.task-add-input:focus{border-color:#6c5ce7;border-color:var(--accent)}.task-add-input::placeholder{color:#9ca3af;color:var(--text-muted)}.task-add-btn{align-items:center;background:#6c5ce7;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s;width:40px}.task-add-btn:hover:not(:disabled){background:#5a4bd1;background:var(--accent-hover);transform:scale(1.05)}.task-add-btn:disabled{cursor:not-allowed;opacity:.3}.task-list{min-height:60px;padding:4px 8px 12px}.task-item{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:8px;margin:4px 0;padding:10px;transition:all .2s}.task-item:hover{border-color:#e5e7eb;border-color:var(--border);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;box-shadow:var(--shadow)}.task-item.dragging{border-color:#6c5ce7;border-color:var(--accent);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg)}.task-item.completed .task-title{color:#9ca3af;color:var(--text-muted);text-decoration:line-through}.drag-handle{align-items:center;background:#0000;border:none;color:#9ca3af;color:var(--text-muted);cursor:grab;display:flex;flex-shrink:0;opacity:.4;padding:4px 2px;touch-action:none;transition:opacity .2s}.task-item:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing}.task-checkbox{align-items:center;cursor:pointer;display:flex;flex-shrink:0;position:relative}.task-checkbox input{height:0;opacity:0;position:absolute;width:0}.checkmark{align-items:center;border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:6px;display:flex;height:22px;justify-content:center;transition:all .2s;width:22px}.task-checkbox input:checked+.checkmark{background:#6c5ce7;background:var(--accent);border-color:#6c5ce7;border-color:var(--accent)}.task-checkbox input:checked+.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:block;height:10px;transform:rotate(45deg) translate(-1px,-1px);width:6px}.column-blue .task-checkbox input:checked+.checkmark{background:#4a90d9;background:var(--blue);border-color:#4a90d9;border-color:var(--blue)}.column-green .task-checkbox input:checked+.checkmark{background:#27ae60;background:var(--green);border-color:#27ae60;border-color:var(--green)}.column-orange .task-checkbox input:checked+.checkmark{background:#e67e22;background:var(--orange);border-color:#e67e22;border-color:var(--orange)}.task-title{flex:1 1;font-size:14px;min-width:0;word-break:break-word}.task-date-area{align-items:center;display:inline-flex;flex-shrink:0;gap:2px;margin-left:4px}.task-date-trigger{position:relative}.task-date-display,.task-date-trigger{align-items:center;display:inline-flex;justify-content:center;min-height:28px;min-width:30px}.task-date-display{border-radius:8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;line-height:1;padding:3px 7px;pointer-events:none;white-space:nowrap}.task-date-area.no-date .task-date-display{background:#0000;border:1px dashed #e5e7eb;border:1px dashed var(--border);color:#6b7280;color:var(--text-secondary);font-size:13px}.task-date-area.has-date .task-date-display{background:#fdf2e6;background:var(--orange-bg);border:1px solid #f5cba7;border:1px solid var(--orange-border);color:#e67e22;color:var(--orange)}.task-date-area:hover .task-date-display{border-color:#e67e22;border-color:var(--orange);border-style:solid}.task-date-area.no-date:hover .task-date-display{background:#fdf2e6;background:var(--orange-bg);color:#e67e22;color:var(--orange)}.task-date-clear{align-items:center;background:#0000;border:none;border-radius:50%;color:#9ca3af;color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;line-height:1;transition:all .15s;width:24px}.task-date-clear:hover{background:#e74c3c1f;color:#e74c3c;color:var(--danger)}.task-date-native{appearance:none;background:#0000;border:0;color:#0000;cursor:pointer;height:100%;left:50%;margin:0;min-height:44px;min-width:44px;opacity:0;padding:0;position:absolute;top:50%;touch-action:manipulation;transform:translate(-50%,-50%);width:100%;z-index:1}.task-date-native::-webkit-calendar-picker-indicator{cursor:pointer;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.task-edit-input{background:#fff;background:var(--bg-secondary);border:1px solid #6c5ce7;border:1px solid var(--accent);border-radius:6px;color:#1a1a2e;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:4px 8px}.task-delete-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;transition:all .2s;width:28px}.task-item:hover .task-delete-btn{opacity:1}.task-delete-btn:hover{background:#e74c3c1a;color:#e74c3c;color:var(--danger)}@media (max-width:768px){.drag-handle,.task-delete-btn{opacity:.6}.task-add-form{padding:10px 12px}.task-date-area{min-height:30px}.task-date-display{font-size:12px;min-height:30px;padding:4px 8px}.task-date-clear{font-size:18px;height:32px;width:32px}}.empty-state{color:#9ca3af;color:var(--text-muted);padding:32px 16px;text-align:center}.empty-icon{display:block;font-size:32px;margin-bottom:8px}.empty-state p{font-size:13px}.finish-day-bar{background:linear-gradient(0deg,#fff 80%,#0000);background:linear-gradient(to top,var(--bg-secondary) 80%,#0000);bottom:0;height:64px;height:var(--finish-bar-height);justify-content:center;left:0;padding:0 16px;position:fixed;right:0;z-index:50}.btn-finish,.finish-day-bar{align-items:center;display:flex}.btn-finish{background:linear-gradient(135deg,#6c5ce7,#a29bfe);background:linear-gradient(135deg,var(--accent),var(--accent-light));border:none;border-radius:99px;box-shadow:0 4px 16px #6c5ce74d;color:#fff;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;gap:10px;padding:14px 32px;transition:all .2s}.btn-finish:hover{box-shadow:0 6px 20px #6c5ce766;transform:translateY(-2px)}.finish-icon{font-size:18px}.modal-overlay{align-items:flex-end;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;background:var(--bg-secondary);border-radius:12px 12px 0 0;border-radius:var(--radius) var(--radius) 0 0;max-height:85vh;max-width:560px;overflow-y:auto;width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width:600px){.modal-overlay{align-items:center}.modal-content{border-radius:12px;border-radius:var(--radius);max-height:80vh}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 20px 12px}.modal-header h2{font-size:17px;font-weight:600}.modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.modal-close:hover{background:#f0f1f5;background:var(--bg-tertiary)}.modal-body{padding:20px}.finish-section{margin-bottom:20px}.finish-section h3{align-items:center;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:8px}.section-icon{font-size:16px}.finish-list{list-style:none;padding:0}.finish-list li{align-items:center;border-radius:6px;display:flex;font-size:14px;gap:8px;margin:4px 0;padding:6px 12px}.done-list li{background:#eafaf1;background:var(--green-bg);color:#27ae60;color:var(--green)}.done-list li:not(.done-item-toggle):before{content:"\2705"}.output-hint{color:#9ca3af;color:var(--text-muted);font-size:11px;margin-bottom:6px;margin-top:-4px}.done-item-toggle{cursor:pointer;position:relative;transition:all .25s ease;-webkit-user-select:none;user-select:none}.done-item-toggle.output-included{background:#eafaf1;background:var(--green-bg);border-left:3px solid #27ae60;border-left:3px solid var(--green);color:#27ae60;color:var(--green);opacity:1}.done-item-toggle.output-included:before{content:"\2705"}.done-item-toggle.output-excluded{background:#f0f1f5;background:var(--bg-tertiary);border-left:3px solid #0000;color:#9ca3af;color:var(--text-muted);opacity:.45}.done-item-toggle.output-excluded:before{content:"\2705";opacity:.4}.done-item-toggle:active{transform:scale(.98)}.future-list li{background:#fdf2e6;background:var(--orange-bg);color:#e67e22;color:var(--orange)}.future-list li:before{content:"\30FB"}.date-tag{font-size:11px;margin-left:auto;opacity:.7}.selectable-list{list-style:none}.selectable-item{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;gap:10px;margin:4px 0;padding:10px 12px;transition:all .2s;-webkit-user-select:none;user-select:none}.selectable-item:hover{border-color:#6c5ce7;border-color:var(--accent)}.selectable-item.selected{background:#eef4fb;background:var(--blue-bg);border-color:#4a90d9;border-color:var(--blue)}.selectable-item:before{content:none}.select-check{flex-shrink:0;font-size:18px}.selectable-title{flex:1 1;font-size:14px}.selectable-category{background:#f0f1f5;background:var(--bg-tertiary);border-radius:99px;color:#9ca3af;color:var(--text-muted);flex-shrink:0;font-size:11px;padding:2px 8px}.auto-selected{align-items:center;display:flex;gap:8px}.auto-selected:before{content:none}.auto-check{font-size:16px}.empty-note{color:#9ca3af;color:var(--text-muted);font-size:13px;padding:8px 0}.free-text-input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:12px;resize:vertical;width:100%}.free-text-input:focus{border-color:#6c5ce7;border-color:var(--accent)}.free-text-input::placeholder{color:#9ca3af;color:var(--text-muted)}.preview-box{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);margin-bottom:20px;max-height:300px;overflow-y:auto;padding:16px}.preview-text{color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.modal-actions{display:flex;flex-wrap:wrap;gap:8px}.modal-actions .btn{flex:1 1;min-width:120px}.preview-actions{margin-bottom:12px}.btn-finish-day{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:4px;padding:14px;transition:all .2s}.btn-finish-day:hover:not(:disabled){box-shadow:0 4px 12px #e74c3c4d;transform:translateY(-1px)}.btn-finish-day.btn-success{background:#00b894;background:var(--success)}.confirm-body{padding:32px 20px;text-align:center}.confirm-text{color:#1a1a2e;color:var(--text-primary);font-size:16px;font-weight:500;margin-bottom:24px}.error-text{background:#e74c3c1a;border-radius:8px;border-radius:var(--radius-sm);color:#e74c3c;color:var(--danger);font-size:13px;margin-bottom:16px;padding:10px 14px}.finish-done-screen{align-items:center;animation:fadeIn .3s ease;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;padding:24px 20px 32px;text-align:center}.lion-decoration{animation:lionPop .5s ease;display:block;height:auto;margin:0 auto;max-height:55vh;max-width:100%;object-fit:contain;opacity:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto}@keyframes lionPop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.done-message{color:#1a1a2e;color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.8;margin-top:8px}.done-hint{color:#9ca3af;color:var(--text-muted);font-size:12px;margin-top:12px}.header-date-picker{animation:fadeIn .15s ease;background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:10px;left:50%;min-width:220px;padding:16px;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);z-index:150}.date-picker-label{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:600}.header-date-input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:15px;outline:none;padding:10px 12px;width:100%}.header-date-input:focus{border-color:#6c5ce7;border-color:var(--accent)}.date-picker-today-btn{background:#6c5ce7;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px;transition:background .15s}.date-picker-today-btn:hover{background:#5a4bd1;background:var(--accent-hover)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#e5e7eb;background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--text-muted)}.app-version{color:#9ca3af;color:var(--text-muted);font-size:10px;font-weight:500;letter-spacing:.3px;line-height:1;margin-top:1px}@supports (padding-bottom:env(safe-area-inset-bottom)){.finish-day-bar{height:calc(64px + env(safe-area-inset-bottom));height:calc(var(--finish-bar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.main-content{padding-bottom:calc(80px + env(safe-area-inset-bottom));padding-bottom:calc(var(--finish-bar-height) + env(safe-area-inset-bottom) + 16px)}}@media (max-width:480px){.finish-day-bar{padding:0 12px}.btn-finish{font-size:14px;padding:12px 22px}}.shopping-page-body{padding:8px 16px 16px}.shopping-progress-bar{background:#6c5ce7;background:var(--accent)}.shopping-list-items{padding:4px 0 12px}.shopping-item{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:8px;justify-content:space-between;margin:6px 0;padding:10px 12px;transition:opacity .2s,background .2s}.shopping-item.is-bought{background:#f0f1f5;background:var(--bg-tertiary);opacity:.55}.shopping-item.is-bought .shopping-item-name{color:#6b7280;color:var(--text-secondary);text-decoration:line-through}.shopping-item-label{align-items:center;color:#1a1a2e;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;font-size:14px;gap:10px;min-width:0}.shopping-item-label input[type=checkbox]{accent-color:#6c5ce7;accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:18px;width:18px}.shopping-item-name{overflow-wrap:anywhere;word-break:break-word}.shopping-item-delete{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#9ca3af;color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.shopping-item-delete:hover{background:#f0f1f5;background:var(--bg-tertiary);color:#d04545}.shopping-list-actions{display:flex;justify-content:flex-end;padding:4px 16px 14px}.shopping-clear-btn{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:99px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:6px 12px;transition:background .15s,color .15s}.shopping-clear-btn:hover{background:#f0f1f5;background:var(--bg-tertiary);color:#1a1a2e;color:var(--text-primary)}.recur-open-btn{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #a29bfe;border:1px solid var(--accent-light);border-radius:8px;border-radius:var(--radius-sm);color:#6c5ce7;color:var(--accent);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;justify-content:center;margin:4px 16px 0;padding:10px 12px;transition:background .15s,border-color .15s;width:calc(100% - 32px)}.recur-open-btn:hover{background:#f0f1f5;background:var(--bg-tertiary);border-color:#6c5ce7;border-color:var(--accent)}.recur-open-icon{font-size:15px}.task-recur-badge{align-items:center;background:#a29bfe;background:var(--accent-light);border-radius:99px;color:#fff;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;gap:3px;padding:2px 8px;white-space:nowrap}.task-recur-icon{font-size:11px}.recur-form{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);margin-bottom:16px;padding:4px 0 16px}.recur-title-input{margin-bottom:14px;width:100%}.recur-field-label{color:#6b7280;color:var(--text-secondary);font-size:12px;margin-bottom:6px}.recur-type-row{display:flex;gap:8px;margin-bottom:12px}.recur-type-btn{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:500;padding:11px 8px;transition:all .15s}.recur-type-btn.active{background:#6c5ce7;background:var(--accent);border-color:#6c5ce7;border-color:var(--accent);color:#fff;font-weight:600}.recur-weekday-row{display:flex;gap:6px;margin-bottom:12px}.recur-weekday-btn{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;padding:10px 0;transition:all .15s}.recur-weekday-btn.active{background:#6c5ce7;background:var(--accent);border-color:#6c5ce7;border-color:var(--accent);color:#fff;font-weight:600}.recur-monthday-field{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.recur-monthday-field,.recur-monthday-select{color:#1a1a2e;color:var(--text-primary);font-size:14px}.recur-monthday-select{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);font-family:inherit;padding:8px 10px}.recur-monthday-note{color:#9ca3af;color:var(--text-muted);font-size:12px}.recur-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.recur-list-title{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:10px}.recur-list{display:flex;flex-direction:column;gap:8px;list-style:none}.recur-item{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.recur-item.editing{background:#f0f1f5;background:var(--bg-tertiary);border-color:#6c5ce7;border-color:var(--accent)}.recur-item-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.recur-item-title{color:#1a1a2e;color:var(--text-primary);font-size:14px;word-break:break-word}.recur-item-badge{background:#a29bfe;background:var(--accent-light);border-radius:99px;color:#fff;flex-shrink:0;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.recur-item-actions{display:flex;flex-shrink:0;gap:4px}.recur-icon-btn{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#9ca3af;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.recur-icon-btn:hover{background:#f0f1f5;background:var(--bg-tertiary);color:#1a1a2e;color:var(--text-primary)}.recur-icon-danger:hover{color:#e74c3c;color:var(--danger)}.task-title{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.task-item.pressing{animation:press-glow 1s ease-in forwards}@keyframes press-glow{0%{background:#0000}to{background:#a29bfe;background:var(--accent-light);transform:scale(.98)}}.undo-toast{align-items:center;animation:toast-slide-up .25s ease-out;background:#1a1a2e;background:var(--text-primary);border-radius:99px;bottom:80px;bottom:calc(var(--finish-bar-height) + 16px);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);color:#f8f9fc;color:var(--bg-primary);display:flex;font-size:14px;gap:14px;left:50%;padding:12px 18px;position:fixed;transform:translateX(-50%);white-space:nowrap;z-index:1100}@keyframes toast-slide-up{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.undo-toast-btn{background:#0000;border:none;color:#a29bfe;color:var(--accent-light);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:4px 8px}.undo-toast-btn:active{opacity:.7}.column-purple .column-header{border-bottom:2px solid #8b5cf6;border-bottom:2px solid var(--purple)}.column-purple .column-icon{color:#8b5cf6;color:var(--purple)}.bucket-list{display:flex;flex-direction:column}.bucket-completed-btn,.bucket-settings-btn{border-color:#d8c4fb;border-color:var(--purple-border);color:#8b5cf6;color:var(--purple)}.bucket-completed-btn:hover,.bucket-settings-btn:hover{background:#f3eefe;background:var(--purple-bg);border-color:#8b5cf6;border-color:var(--purple)}.bucket-groups{display:flex;flex-direction:column;gap:16px;padding:8px 16px 24px}.bucket-group-title{background:#f3eefe;background:var(--purple-bg);border-left:3px solid #8b5cf6;border-left:3px solid var(--purple);border-radius:4px;color:#8b5cf6;color:var(--purple);font-size:13px;font-weight:700;margin:8px 0 4px;padding:4px 8px}.bucket-group-items{display:flex;flex-direction:column;gap:6px}.bucket-item{-webkit-touch-callout:none;align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.bucket-item:hover{border-color:#d8c4fb;border-color:var(--purple-border)}.bucket-check-btn{-webkit-touch-callout:none;align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1.5px solid #d8c4fb;border:1.5px solid var(--purple-border);border-radius:50%;color:#8b5cf6;color:var(--purple);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;touch-action:manipulation;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none;width:28px}.bucket-check-btn:hover{background:#f3eefe;background:var(--purple-bg);border-color:#8b5cf6;border-color:var(--purple)}.bucket-item-name{color:#1a1a2e;color:var(--text-primary);flex:1 1;font-size:14px;min-width:0;word-break:break-word}.bucket-item-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.bucket-item-target-date{font-feature-settings:"tnum";color:#9ca3af;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.2}.bucket-item-days{font-feature-settings:"tnum";background:#f0f1f5;background:var(--bg-tertiary);border-radius:99px;color:#6b7280;color:var(--text-secondary);flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;padding:2px 8px}.bucket-item-days.bucket-days-soon{background:#fdf2e6;background:var(--orange-bg);color:#e67e22;color:var(--orange)}.bucket-item-days.bucket-days-passed{text-decoration:line-through}.bucket-item-days.bucket-days-passed,.bucket-item-days.bucket-days-unset{background:#f0f1f5;background:var(--bg-tertiary);color:#9ca3af;color:var(--text-muted)}.bucket-empty{color:#9ca3af;color:var(--text-muted);padding:32px 16px;text-align:center}.bucket-empty .empty-icon{display:block;font-size:32px;margin-bottom:8px}.bucket-empty p{font-size:13px}.bucket-completed-modal,.bucket-settings-modal{max-width:560px}.bucket-section{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);padding:16px 0}.bucket-section:last-child{border-bottom:none}.bucket-section-title{color:#6b7280;color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.bucket-birthdate-row{align-items:center;display:flex;gap:8px}.bucket-birthdate-input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px}.bucket-birthdate-input:focus{border-color:#8b5cf6;border-color:var(--purple);outline:none}.bucket-birthdate-save{flex-shrink:0}.bucket-hint{color:#9ca3af;color:var(--text-muted);font-size:12px;margin-top:8px}.bucket-add-form{display:flex;flex-direction:column;gap:10px}.bucket-add-name{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.bucket-add-name:focus{border-color:#8b5cf6;border-color:var(--purple);outline:none}.bucket-age-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.bucket-age-label{align-items:center;color:#6b7280;color:var(--text-secondary);display:inline-flex;font-size:13px;gap:4px}.bucket-age-input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:14px;padding:8px 10px;text-align:center;width:64px}.bucket-age-input:focus{border-color:#8b5cf6;border-color:var(--purple);outline:none}.bucket-add-btn{margin-left:auto}.bucket-edit-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.bucket-edit-row{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);padding:10px 12px}.bucket-edit-display{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.bucket-edit-name{color:#1a1a2e;color:var(--text-primary);flex:1 1;font-size:14px;min-width:120px}.bucket-edit-age{background:#f3eefe;background:var(--purple-bg);border-radius:99px;color:#6b7280;color:var(--text-secondary);font-size:12px;padding:2px 8px;white-space:nowrap}.bucket-edit-actions{display:flex;gap:6px}.bucket-delete-btn,.bucket-edit-btn{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 12px;transition:background .15s,color .15s,border-color .15s}.bucket-edit-btn:hover{background:#f3eefe;background:var(--purple-bg);border-color:#d8c4fb;border-color:var(--purple-border);color:#8b5cf6;color:var(--purple)}.bucket-delete-btn:hover{background:#fde8e8;border-color:#f5c5c5;color:#e74c3c;color:var(--danger)}.bucket-completed-list,.bucket-edit-form{display:flex;flex-direction:column;gap:8px}.bucket-completed-list{list-style:none;margin:0;padding:0}.bucket-completed-row{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:10px;padding:10px 12px}.bucket-completed-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.bucket-completed-name{color:#1a1a2e;color:var(--text-primary);font-size:14px;word-break:break-word}.bucket-completed-date{color:#9ca3af;color:var(--text-muted);font-size:11px}.bucket-completed-actions{display:flex;flex-shrink:0;gap:6px}.modal-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:12px 20px 20px}@media (max-width:768px){.bucket-groups{padding:8px 12px 24px}.bucket-item{padding:10px}.bucket-item-days{font-size:11px}.bucket-item-target-date{font-size:10px}}.bucket-action-row{display:flex;gap:8px;margin:4px 16px 0}.bucket-action-row .recur-open-btn{flex:1 1;margin:0;width:auto}@media (max-width:380px){.bucket-action-row .recur-open-btn{font-size:12px;padding:10px 8px}}.bucket-settings-modal .btn-primary,.bucket-settings-modal .btn-secondary{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 18px;transition:background .15s,transform .15s,box-shadow .15s;white-space:nowrap}.bucket-settings-modal .btn-primary{background:#6c5ce7;background:var(--accent);color:#fff}.bucket-settings-modal .btn-primary:hover:not(:disabled){background:#5a4bd1;background:var(--accent-hover);box-shadow:0 2px 6px #6c5ce740;transform:translateY(-1px)}.bucket-settings-modal .btn-primary:disabled{cursor:not-allowed;opacity:.5}.bucket-settings-modal .btn-secondary{background:#f0f1f5;background:var(--bg-tertiary);border:1px solid #e5e7eb;border:1px solid var(--border);color:#1a1a2e;color:var(--text-primary)}.bucket-settings-modal .btn-secondary:hover{background:#e5e7eb;background:var(--border)}.bucket-settings-modal .bucket-delete-btn,.bucket-settings-modal .bucket-edit-btn{border-radius:8px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;padding:8px 14px}.bucket-settings-modal .bucket-add-name:focus,.bucket-settings-modal .bucket-age-input:focus,.bucket-settings-modal .bucket-birthdate-input:focus{box-shadow:0 0 0 3px #8b5cf626}.bucket-check-btn{overflow:hidden;position:relative}.bucket-check-progress{background:#8b5cf6;background:var(--purple);bottom:0;height:0;left:0;opacity:.25;pointer-events:none;position:absolute;transition:height 0s linear;width:100%}.bucket-check-btn.is-pressing{background:#f3eefe;background:var(--purple-bg);border-color:#8b5cf6;border-color:var(--purple)}.bucket-check-btn.is-pressing .bucket-check-progress{height:100%;transition:height 1s linear}.bucket-press-hint{color:#9ca3af;color:var(--text-muted);display:block;font-size:11px;letter-spacing:.2px;margin-top:2px}.achievement-popup{align-items:center;animation:achievement-fade 3s ease forwards;display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:3000}.achievement-card{align-items:center;animation:achievement-pop .45s cubic-bezier(.34,1.56,.64,1) both;background:#fff;background:var(--bg-secondary);border:1px solid #d8c4fb;border:1px solid var(--purple-border);border-radius:16px;box-shadow:0 12px 40px #6c5ce759;display:flex;flex-direction:column;gap:10px;max-width:80vw;min-width:220px;padding:20px 28px 22px;transform-origin:center}.achievement-lion{filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));height:96px;object-fit:contain;width:96px}.achievement-text{color:#8b5cf6;color:var(--purple);font-size:18px;font-weight:700;letter-spacing:.5px}.achievement-name{color:#6b7280;color:var(--text-secondary);font-size:13px;max-width:240px;text-align:center;word-break:break-word}@keyframes achievement-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes achievement-fade{0%{opacity:1}80%{opacity:1}to{opacity:0}}@media (max-width:380px){.achievement-lion{height:80px;width:80px}.achievement-text{font-size:16px}}.column-teal .column-header{border-bottom:2px solid #0d9488;border-bottom:2px solid var(--teal)}.column-teal .column-icon{filter:hue-rotate(0deg)}.column-teal .task-checkbox input:checked+.checkmark{background:#0d9488;background:var(--teal);border-color:#0d9488;border-color:var(--teal)}.cl-error-note{background:#e74c3c14;border:1px solid #e74c3c;border:1px solid var(--danger);border-radius:8px;border-radius:var(--radius-sm);color:#e74c3c;color:var(--danger);font-size:12px;line-height:1.5;margin:12px 16px 0;padding:10px 12px}.cl-loading{color:#9ca3af;color:var(--text-muted);font-size:13px;padding:24px 16px;text-align:center}.cl-set-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 0}.cl-set-tab{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:99px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;max-width:160px;overflow:hidden;padding:7px 14px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.cl-set-tab.active{background:#0d9488;background:var(--teal);border-color:#0d9488;border-color:var(--teal);color:#fff;font-weight:600}.cl-set-tool-btn{align-items:center;background:#0000;border:1px dashed #e5e7eb;border:1px dashed var(--border);border-radius:50%;color:#9ca3af;color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.cl-set-tool-btn:hover{background:#e6f7f4;background:var(--teal-bg);border-color:#0d9488;border-color:var(--teal);color:#0d9488;color:var(--teal)}.cl-progress-wrap{align-items:center;display:flex;gap:10px;padding:12px 16px 0}.cl-progress{background:#f0f1f5;background:var(--bg-tertiary);border-radius:99px;flex:1 1;height:14px;overflow:hidden}.cl-progress-bar{background:linear-gradient(90deg,#0d9488,#22c55e);background:linear-gradient(90deg,var(--teal),#22c55e);border-radius:99px;height:100%;transition:width .4s ease}.cl-progress-text{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:700;min-width:48px;text-align:right;white-space:nowrap}.cl-complete-msg{align-items:center;animation:fadeIn .4s ease;background:#eafaf1;background:var(--green-bg);border:1px solid #a9dfbf;border:1px solid var(--green-border);border-radius:12px;border-radius:var(--radius);display:flex;gap:12px;margin:12px 16px 0;padding:14px 16px}.cl-complete-emoji{font-size:30px}.cl-complete-title{color:#27ae60;color:var(--green);font-size:15px;font-weight:700}.cl-complete-sub{color:#6b7280;color:var(--text-secondary);font-size:12px}.cl-body{display:flex;flex-direction:column;gap:12px;padding:12px 16px 16px}.cl-empty .empty-icon{font-size:40px}.cl-empty-actions{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:16px}.cl-category{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);overflow:hidden}.cl-cat-head{gap:6px;justify-content:space-between;padding:10px 10px 10px 14px}.cl-cat-head,.cl-cat-title{align-items:center;display:flex}.cl-cat-title{background:none;border:none;color:#1a1a2e;color:var(--text-primary);cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;gap:8px;min-width:0;padding:0;text-align:left}.cl-cat-icon{flex-shrink:0;font-size:16px}.cl-cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-cat-cnt{color:#9ca3af;color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:500}.cl-cat-right{align-items:center;display:flex;flex-shrink:0;gap:2px}.cl-cat-badge{background:#e6f7f4;background:var(--teal-bg);border-radius:99px;color:#0d9488;color:var(--teal);font-size:11px;font-weight:700;margin-right:4px;padding:2px 8px}.cl-cat-badge.done{background:#eafaf1;background:var(--green-bg);color:#27ae60;color:var(--green)}.cl-cat-btn{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#9ca3af;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13px;height:28px;justify-content:center;transition:background .15s,color .15s;width:28px}.cl-cat-btn:hover{background:#f0f1f5;background:var(--bg-tertiary)}.cl-cat-btn-danger{font-size:17px}.cl-cat-btn-danger:hover{background:#e74c3c1a;color:#e74c3c;color:var(--danger)}.cl-chevron{align-items:center;background:none;border:none;color:#9ca3af;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:11px;height:28px;justify-content:center;transition:transform .25s;width:28px}.cl-chevron.collapsed{transform:rotate(-90deg)}.cl-cat-items{border-top:1px solid #e5e7eb;border-top:1px solid var(--border);padding:6px 8px 8px}.cl-item{align-items:center;background:#f8f9fc;background:var(--bg-primary);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:4px;padding:6px 4px;touch-action:manipulation;transition:opacity .2s}.cl-item.dragging{background:#fff;background:var(--bg-secondary);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);opacity:.5;position:relative;z-index:10}.cl-item-name{color:#1a1a2e;color:var(--text-primary);cursor:pointer;flex:1 1;font-size:14px;min-width:0;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none;word-break:break-word}.cl-item.is-checked .cl-item-name{color:#9ca3af;color:var(--text-muted);text-decoration:line-through}.cl-item .task-delete-btn{opacity:.5}.cl-item:hover .task-delete-btn{opacity:1}.cl-add-form{padding:6px 4px 0}.cl-footer-actions{display:flex;flex-direction:column;gap:8px}.cl-add-cat-btn{align-items:center;background:#0000;border:2px dashed #e5e7eb;border:2px dashed var(--border);border-radius:12px;border-radius:var(--radius);color:#9ca3af;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:13px;transition:all .2s;width:100%}.cl-add-cat-btn:hover{background:#e6f7f4;background:var(--teal-bg);border-color:#0d9488;border-color:var(--teal);color:#0d9488;color:var(--teal)}.cl-action-bar{gap:10px;padding:0 16px}.cl-bar-btn{border:none;border-radius:99px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;box-shadow:var(--shadow);cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;max-width:220px;padding:12px;transition:all .2s}.cl-bar-reset{background:#e74c3c1f;color:#e74c3c;color:var(--danger)}.cl-bar-reset:hover{background:#e74c3c33}.cl-bar-checkall{background:#0d9488;background:var(--teal);box-shadow:0 4px 16px #0d94884d;color:#fff}.cl-bar-checkall:hover{filter:brightness(1.05);transform:translateY(-1px)}.cl-modal-input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:15px;margin-bottom:14px;outline:none;padding:10px 14px;width:100%}.cl-modal-input:focus{border-color:#0d9488;border-color:var(--teal)}.cl-modal-hint{color:#9ca3af;color:var(--text-muted);font-size:12px;line-height:1.6;margin-bottom:12px}.cl-icon-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.cl-icon-choice{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:18px;height:38px;justify-content:center;transition:all .15s;width:38px}.cl-icon-choice.active{background:#e6f7f4;background:var(--teal-bg);border-color:#0d9488;border-color:var(--teal);box-shadow:0 0 0 2px #a7ded6;box-shadow:0 0 0 2px var(--teal-border)}.cl-btn-danger{background:#e74c3c1f;color:#e74c3c;color:var(--danger);margin-right:auto}.cl-btn-danger:hover{background:#e74c3c33}.cl-sort-list{border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);margin-bottom:14px;overflow:hidden}.cl-sort-row{align-items:center;background:#f8f9fc;background:var(--bg-primary);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;gap:6px;padding:11px 12px;-webkit-user-select:none;user-select:none}.cl-sort-row:last-child{border-bottom:none}.cl-sort-row.dragging{background:#fff;background:var(--bg-secondary);box-shadow:0 4px 14px #0000001a;box-shadow:var(--shadow-lg);position:relative;z-index:10}.cl-sort-label{color:#1a1a2e;color:var(--text-primary);font-size:14px}.tm-open-btn{background:#e6f7f4;background:var(--teal-bg);border:2px solid #a7ded6;border:2px solid var(--teal-border);border-radius:12px;cursor:pointer;display:block;margin:10px 0 4px;padding:12px 14px;text-align:left;transition:filter .15s;width:100%}.tm-open-btn:hover{filter:brightness(.97)}.tm-open-inner{grid-gap:2px 8px;align-items:center;display:grid;gap:2px 8px;grid-template-areas:"title arrow" "theme arrow" "summary arrow";grid-template-columns:1fr auto}.tm-open-theme{color:#0d9488;color:var(--teal);font-size:12px;font-weight:600;grid-area:theme;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-open-title{color:#1a1a2e;color:var(--text-primary);font-size:15px;font-weight:700;grid-area:title}.tm-open-summary{color:#6b7280;color:var(--text-secondary);font-size:12.5px;grid-area:summary}.tm-open-over{color:#e74c3c;color:var(--danger);font-weight:700}.tm-open-arrow{font-size:16px;font-weight:700;grid-area:arrow}.tm-open-arrow,.tm-open-plan{color:#0d9488;color:var(--teal)}.tm-open-plan{border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:99px;display:inline-block;font-size:11px;font-weight:600;max-width:120px;overflow:hidden;padding:1px 8px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.tm-slot-bar{align-items:center}.tm-slot-bar,.tm-slot-tabs{display:flex;gap:6px;min-width:0}.tm-slot-tabs{-webkit-overflow-scrolling:touch;align-items:stretch;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;padding:2px 0 4px;scrollbar-width:thin}.tm-slot-tab{align-items:center;background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:99px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;flex-direction:column;font-family:inherit;font-size:13px;font-weight:500;gap:1px;justify-content:center;line-height:1.25;max-width:140px;padding:5px 14px;transition:all .2s;white-space:nowrap}.tm-slot-name{display:block;max-width:112px;overflow:hidden;text-overflow:ellipsis}.tm-slot-date{display:block;font-size:10px;font-weight:500;opacity:.8}.tm-slot-tab.is-empty{border-style:dashed;color:#9ca3af;color:var(--text-muted)}.tm-slot-tab.is-past{opacity:.5}.tm-slot-tab.active{background:#0d9488;background:var(--teal);border-color:#0d9488;border-color:var(--teal);color:#fff;font-weight:600;opacity:1}.tm-slot-tab.active.is-past{opacity:.75}.tm-slot-tool-btn{align-items:center;background:#0000;border:1px dashed #e5e7eb;border:1px dashed var(--border);border-radius:50%;color:#9ca3af;color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.tm-slot-tool-btn:hover{border-color:#0d9488;border-color:var(--teal);color:#0d9488;color:var(--teal)}.tm-slot-del{border-style:solid;font-size:13px}.tm-theme-card{align-items:flex-start;background:#e6f7f4;background:var(--teal-bg);border:2px solid #a7ded6;border:2px solid var(--teal-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:4px;padding:10px 34px 10px 14px;position:relative;text-align:left;transition:filter .15s;width:100%}.tm-theme-card:hover{filter:brightness(.97)}.tm-theme-main{color:#0d9488;color:var(--teal);font-size:14.5px;font-weight:700;line-height:1.4}.tm-theme-sub{color:#6b7280;color:var(--text-secondary);font-size:12.5px;font-weight:500;line-height:1.4}.tm-theme-edit{font-size:12px;opacity:.55;position:absolute;right:10px;top:9px}.tm-theme-cta{background:#0000;border:1px dashed #e5e7eb;border:1px dashed var(--border);border-radius:10px;color:#9ca3af;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:13px;padding:9px 12px;transition:all .2s;width:100%}.tm-theme-cta:hover{border-color:#0d9488;border-color:var(--teal);color:#0d9488;color:var(--teal)}.tm-theme-textarea{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.5;min-height:76px;padding:10px 12px;resize:vertical;width:100%}.tm-theme-textarea:focus{border-color:#0d9488;border-color:var(--teal);outline:none}.tm-view{display:flex;flex-direction:column;gap:12px;padding-bottom:24px}.tm-header{align-items:center;display:flex;gap:10px}.tm-back-btn{background:#f0f1f5;background:var(--bg-tertiary);border:1px solid #a7ded6;border:1px solid var(--border-color,var(--teal-border));border-radius:8px;cursor:pointer;font-size:13px;min-height:44px;padding:8px 12px}.tm-back-btn,.tm-set-name{color:#1a1a2e;color:var(--text-primary)}.tm-set-name{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-summary{background:#fff;background:var(--bg-secondary);border:2px solid #a7ded6;border:2px solid var(--teal-border);border-radius:12px;display:flex;flex-direction:column;gap:5px;padding:10px 14px;position:sticky;top:0;z-index:5}.tm-summary-remain{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.tm-summary-remain-label{color:#6b7280;color:var(--text-secondary);font-size:13px;font-weight:700}.tm-summary-remain-value{font-feature-settings:"tnum";color:#27ae60;color:var(--green);font-size:26px;font-variant-numeric:tabular-nums;font-weight:800}.tm-summary-remain-value.over{color:#e74c3c;color:var(--danger)}.tm-summary-sub{font-feature-settings:"tnum";color:#6b7280;color:var(--text-secondary);display:flex;font-size:12.5px;font-variant-numeric:tabular-nums;justify-content:space-between}.tm-plan-cta{background:#e6f7f4;background:var(--teal-bg);border:2px solid #a7ded6;border:2px solid var(--teal-border);border-radius:14px;color:#1a1a2e;color:var(--text-primary);cursor:pointer;font-size:17px;font-weight:800;margin-top:4px;min-height:64px;width:100%}.tm-plan-cta:active{filter:brightness(.95)}.tm-plan-note{color:#6b7280;color:var(--text-secondary);font-size:12.5px;margin:0;text-align:center}.tm-setup{display:flex;flex-direction:column;gap:12px}.tm-setup-start{font-size:15px;min-height:48px;width:100%}.tm-amount-display{align-items:baseline;display:flex;gap:6px;justify-content:center;padding:10px 0 4px}.tm-amount-yen{color:#6b7280;color:var(--text-secondary);font-size:22px}.tm-amount-value{font-feature-settings:"tnum";color:#1a1a2e;color:var(--text-primary);font-size:40px;font-variant-numeric:tabular-nums;font-weight:800}.tm-calc-keypad{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin:8px 0 10px;width:100%}.tm-key{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);cursor:pointer;font-size:20px;font-weight:600;min-height:46px;touch-action:manipulation;-webkit-user-select:none;user-select:none}.tm-key:active{background:#e6f7f4;background:var(--teal-bg)}.tm-key-back{color:#e74c3c;color:var(--danger)}.tm-key-op{background:#e6f7f4;background:var(--teal-bg);color:#0d9488;color:var(--teal)}.tm-key-eq,.tm-key-op{border-color:#0d9488;border-color:var(--teal);font-size:22px}.tm-key-eq{background:#0d9488;background:var(--teal);color:#fff;grid-column:span 3}.tm-calc-modal{max-width:360px}.tm-calc-title{align-items:center;display:flex;gap:4px}.tm-calc-sub{font-feature-settings:"tnum";font-size:12.5px;font-variant-numeric:tabular-nums;margin:0 0 2px}.tm-calc-expr,.tm-calc-sub{color:#6b7280;color:var(--text-secondary);text-align:center}.tm-calc-expr{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;min-height:18px}.tm-calc-modal .tm-amount-display{padding:0 0 4px}.tm-calc-modal .tm-memo-input{margin-bottom:4px;max-width:none}.tm-calc-record{min-height:46px}.tm-reset-open-btn{color:#e74c3c;color:var(--danger)}.tm-reset-danger{background:#e74c3c;background:var(--danger);color:#fff}.tm-memo-input{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);display:block;font-size:14px;margin:0 auto;max-width:320px;padding:10px 12px;width:100%}.tm-cat-hint{color:#6b7280;color:var(--text-secondary);font-size:12.5px;margin:4px 0 0;text-align:center}.tm-rows{display:flex;flex-direction:column}.tm-row-wrap{border-bottom:1px solid #f0f1f5;border-bottom:1px solid var(--bg-tertiary)}.tm-row-main{align-items:stretch;display:flex;gap:2px}.tm-row-btn{background:none;border:none;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:5px;justify-content:center;min-height:56px;min-width:0;padding:8px 2px;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none}.tm-row-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.tm-row-name{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-row-nums{font-feature-settings:"tnum";color:#6b7280;color:var(--text-secondary);font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.tm-row-bottom{align-items:center;display:flex;gap:8px}.tm-row-bottom .tm-bar{flex:1 1}.tm-row-remain{font-feature-settings:"tnum";color:#27ae60;color:var(--green);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.tm-row-remain.over{color:#e74c3c;color:var(--danger)}.tm-row-edit{background:none;border:none;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:15px;min-width:44px}.tm-row-editor{display:flex;flex-direction:column;gap:6px;padding:4px 8px 10px}.tm-row-editor-budget{align-items:center;display:flex;gap:8px;justify-content:space-between}.tm-settings-toggle{align-items:center;background:none;border:none;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;min-height:40px;padding:8px 2px}.tm-settings-body{display:flex;flex-direction:column;gap:12px;padding:2px 0 6px}.tm-today{margin-top:6px}.tm-today-title{color:#6b7280;color:var(--text-secondary);font-size:13px;font-weight:700;margin:0 0 6px}.tm-today-row{align-items:center;border-bottom:1px solid #f0f1f5;border-bottom:1px solid var(--bg-tertiary);display:flex;font-size:14px;gap:8px;padding:7px 4px}.tm-today-icon{font-size:16px}.tm-today-amount{font-feature-settings:"tnum";color:#1a1a2e;color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}.tm-today-memo{flex:1 1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-today-memo,.tm-today-time{color:#6b7280;color:var(--text-secondary)}.tm-today-time{font-feature-settings:"tnum";font-size:12px;font-variant-numeric:tabular-nums}.tm-today-del{background:none;border:none;color:#e74c3c;color:var(--danger);cursor:pointer;font-size:18px;min-height:32px;min-width:32px;padding:4px 8px}.tm-overall-card{background:#fff;background:var(--bg-secondary);border:2px solid #a7ded6;border:2px solid var(--teal-border);border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:14px}.tm-overall-line{color:#6b7280;color:var(--text-secondary);display:flex;font-size:14px;justify-content:space-between}.tm-overall-line strong{font-feature-settings:"tnum";color:#1a1a2e;color:var(--text-primary);font-size:16px;font-variant-numeric:tabular-nums}.tm-overall-remain{color:#27ae60;color:var(--green);font-size:14px;font-weight:700}.tm-overall-remain.over{color:#e74c3c;color:var(--danger)}.tm-bar{background:#f0f1f5;background:var(--bg-tertiary);border-radius:99px;height:10px;overflow:hidden;width:100%}.tm-bar-fill{border-radius:99px;height:100%;transition:width .3s ease}.tm-bar-ok{background:#27ae60;background:var(--green)}.tm-bar-warn{background:#e67e22;background:var(--orange)}.tm-bar-over{background:#e74c3c;background:var(--danger)}.tm-cmp-cat{border-bottom:1px solid #f0f1f5;border-bottom:1px solid var(--bg-tertiary);padding:4px 0}.tm-cmp-head{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:8px 2px;text-align:left;width:100%}.tm-cmp-title{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:700}.tm-cmp-nums{align-items:center;display:flex;gap:8px;justify-content:space-between}.tm-cmp-ratio{font-feature-settings:"tnum";color:#6b7280;color:var(--text-secondary);font-size:12.5px;font-variant-numeric:tabular-nums}.tm-cmp-remain{color:#27ae60;color:var(--green);font-size:12.5px;font-weight:700}.tm-cmp-remain.over{color:#e74c3c;color:var(--danger)}.tm-cmp-details{padding:0 2px 8px}.tm-empty-note{color:#6b7280;color:var(--text-secondary);font-size:13px;padding:8px 0;text-align:center}.tm-export-btn{font-size:15px;margin-top:10px;min-height:48px;width:100%}.tm-exported-note{color:#6b7280;color:var(--text-secondary);font-size:12px;margin:6px 0 0;text-align:center}.tm-export-preview{background:#f8f9fc;background:var(--bg-primary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:12px}.tm-export-line{color:#6b7280;color:var(--text-secondary);display:flex;font-size:14px;justify-content:space-between}.tm-export-line strong{color:#1a1a2e;color:var(--text-primary)}.tm-field-group{display:flex;flex-direction:column;gap:6px}.tm-field-label{color:#6b7280;color:var(--text-secondary);font-size:13px;font-weight:700;margin:0}.tm-tripname-input{margin-bottom:0}.tm-field-note{color:#9ca3af;color:var(--text-muted);font-size:11px;line-height:1.5;margin:0}.tm-kind-toggle{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.tm-kind-btn{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;min-height:44px}.tm-kind-btn.active{background:#0d9488;background:var(--teal);border-color:#0d9488;border-color:var(--teal);color:#fff}.tm-date-row{align-items:center;display:flex;gap:8px}.tm-date-input{-webkit-appearance:none;background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);flex:1 1;font-size:14px;min-height:44px;padding:8px 10px}.tm-date-sep{color:#6b7280;color:var(--text-secondary)}.tm-budget-row{align-items:center;border-bottom:1px solid #f0f1f5;border-bottom:1px solid var(--bg-tertiary);display:flex;gap:10px;justify-content:space-between;padding:6px 0}.tm-budget-cat{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:600}.tm-budget-amount{align-items:center;display:flex;gap:4px}.tm-budget-yen{color:#6b7280;color:var(--text-secondary);font-size:14px}.tm-budget-input{font-feature-settings:"tnum";background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);font-size:15px;font-variant-numeric:tabular-nums;min-height:44px;padding:8px 10px;text-align:right;width:110px}.tm-budget-total{color:#6b7280;color:var(--text-secondary);font-size:14px;padding:8px 2px 0;text-align:right}.tm-budget-total strong{color:#1a1a2e;color:var(--text-primary);font-size:16px}.tm-master-list{display:flex;flex-direction:column;margin-bottom:12px}.tm-master-row{align-items:center;border-bottom:1px solid #f0f1f5;border-bottom:1px solid var(--bg-tertiary);display:flex;gap:6px;padding:4px}.tm-master-row.editing{background:#e6f7f4;background:var(--teal-bg);border-radius:8px}.tm-master-label{color:#1a1a2e;color:var(--text-primary);flex:1 1;font-size:14px;min-width:0}.tm-master-order{align-items:center;display:flex;flex-shrink:0;gap:2px}.tm-order-btn{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #f0f1f5;border:1px solid var(--bg-tertiary);border-radius:8px;border-radius:var(--radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;height:40px;justify-content:center;line-height:1;touch-action:manipulation;transition:background .15s,color .15s,opacity .15s;-webkit-user-select:none;user-select:none;width:34px}.tm-order-btn:active{background:#f0f1f5;background:var(--bg-tertiary)}.tm-order-btn:disabled{cursor:default;opacity:.3}.tm-master-form{display:flex;flex-direction:column;gap:8px}.tm-toast{max-width:calc(100vw - 32px);text-align:center;white-space:normal}:root{--trip-red:#c0392b;--trip-red-bg:#fdecea;--trip-red-border:#f0b6ae;--trip-blue:#2471a3;--trip-blue-bg:#eaf2fb;--trip-blue-border:#aecbeb}@media (prefers-color-scheme:dark){:root{--trip-red:#e57368;--trip-red-bg:#3a2220;--trip-red-border:#77403a;--trip-blue:#6aa7d8;--trip-blue-bg:#1d2b3d;--trip-blue-border:#3a5977}}.tm-colorline-white{border-left:4px solid #0000;padding-left:8px}.tm-colorline-red{border-left:4px solid #c0392b;border-left:4px solid var(--trip-red);padding-left:8px}.tm-colorline-blue{border-left:4px solid #2471a3;border-left:4px solid var(--trip-blue);padding-left:8px}.tm-color-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:12px;width:12px}.tm-dot-red{background:#c0392b;background:var(--trip-red)}.tm-dot-blue{background:#2471a3;background:var(--trip-blue)}.tm-dot-white{background:#fff;background:var(--bg-secondary);border:1.5px solid #6b7280;border:1.5px solid var(--text-secondary)}.tm-color-picker{display:flex;flex-direction:column;gap:6px;margin-top:8px}.tm-color-choice{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);cursor:pointer;display:flex;font-size:13.5px;gap:8px;min-height:40px;padding:6px 10px;text-align:left}.tm-color-choice.active{border-color:#6c5ce7;border-color:var(--accent);box-shadow:0 0 0 2px #a29bfe;box-shadow:0 0 0 2px var(--accent-light)}.tm-kind-btn.tm-kind-btn-business.active{background:#c0392b;background:var(--trip-red);border-color:#c0392b;border-color:var(--trip-red);color:#fff}.tm-kind-btn.tm-kind-btn-private.active{background:#2471a3;background:var(--trip-blue);border-color:#2471a3;border-color:var(--trip-blue);color:#fff}.tm-kind-badge{border-radius:99px;font-size:12px;font-weight:700;margin-left:auto;padding:3px 10px;white-space:nowrap}.tm-kind-badge.tm-kind-business{background:#fdecea;background:var(--trip-red-bg);border:1px solid #f0b6ae;border:1px solid var(--trip-red-border);color:#c0392b;color:var(--trip-red)}.tm-kind-badge.tm-kind-private{background:#eaf2fb;background:var(--trip-blue-bg);border:1px solid #aecbeb;border:1px solid var(--trip-blue-border);color:#2471a3;color:var(--trip-blue)}.mb-card{background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;box-shadow:var(--shadow);margin:0 0 12px;padding:12px 14px}.mb-card-quiet{color:#6b7280;color:var(--text-secondary);font-size:13px}.mb-card-quiet,.mb-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.mb-head{margin-bottom:10px}.mb-title{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:700}.mb-link{background:none;border:none;border-radius:6px;color:#4a90d9;color:var(--blue);cursor:pointer;font-size:12px;padding:4px 6px}.mb-link:hover{background:#eef4fb;background:var(--blue-bg)}.mb-row+.mb-row{margin-top:10px}.mb-row-head{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.mb-row-label{color:#6b7280;color:var(--text-secondary);font-size:13px}.mb-row-remain{color:#27ae60;color:var(--green);font-size:15px;font-weight:700}.mb-row-remain.mb-over{color:#c0392b}.mb-bar{background:#f0f1f5;background:var(--bg-tertiary);border-radius:999px;height:8px;margin:5px 0 3px;overflow:hidden}.mb-bar-fill{background:#27ae60;background:var(--green);border-radius:999px;height:100%;transition:width .25s ease}.mb-bar-fill.mb-over-fill{background:#c0392b}.mb-row-sub{color:#9ca3af;color:var(--text-muted);font-size:12px;text-align:right}.mb-edit{border-top:1px dashed #e5e7eb;border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.mb-field{align-items:center;color:#6b7280;color:var(--text-secondary);display:flex;font-size:13px;gap:10px;justify-content:space-between;margin-bottom:8px}.mb-field input{background:#f8f9fc;background:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#1a1a2e;color:var(--text-primary);font-size:14px;padding:7px 9px;text-align:right;width:130px}.mb-note{color:#9ca3af;color:var(--text-muted);font-size:11px;line-height:1.5;margin:4px 0 10px}.mb-save{background:#4a90d9;background:var(--blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px;width:100%}.mb-save:disabled{cursor:default;opacity:.6}.mb-error{color:#c0392b;font-size:12px;margin-top:10px}.tm-gear-btn{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:21px;height:40px;justify-content:center;line-height:1;margin-left:auto;padding:0;width:40px}.tm-gear-btn:hover{background:#f0f1f5;background:var(--bg-tertiary)}.tm-theme-main,.tm-theme-sub{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.mb-compact-bar{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:9px;cursor:pointer;display:flex;gap:8px;justify-content:space-between;margin:0 0 10px;padding:8px 11px;text-align:left;width:100%}.mb-compact-bar:hover{background:#f0f1f5;background:var(--bg-tertiary)}.mb-compact-title{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:700;white-space:nowrap}.mb-compact-nums{align-items:center;color:#27ae60;color:var(--green);display:flex;flex-wrap:wrap;font-size:12.5px;font-weight:600;gap:6px;justify-content:flex-end}.mb-compact-nums .mb-over{color:#c0392b}.mb-compact-sep{color:#9ca3af;color:var(--text-muted);font-weight:400}.mb-card.mb-compact{font-size:12px;padding:8px 11px}.mb-head-actions{align-items:center;display:inline-flex;gap:2px}.tm-summary-meetup{align-self:stretch;border-bottom:1px dashed #a7ded6;border-bottom:1px dashed var(--teal-border);margin:0 0 8px;padding-bottom:8px;text-align:left}.tm-summary-meetup .mb-card,.tm-summary-meetup .mb-compact-bar{background:#0000;border:none;border-radius:0;box-shadow:none;margin:0;padding:0}.tm-summary-meetup .mb-compact-bar{gap:6px}.tm-summary{padding:10px 12px 12px}.tm-tappable{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:10px;transition:background .15s ease,border-color .15s ease}.tm-tappable:focus-visible,.tm-tappable:hover{background:#e6f7f4;background:var(--teal-bg);border-color:#0d9488;border-color:var(--teal)}.tm-tappable:active{background:#e6f7f4;background:var(--teal-bg)}.tm-toggle{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--teal-border);border-radius:8px;transition:background .15s ease,border-color .15s ease}.tm-toggle:focus-visible,.tm-toggle:hover{background:#e6f7f4;background:var(--teal-bg);border-color:#0d9488;border-color:var(--teal)}.tm-toggle.is-open{background:var(--teal);border-color:var(--teal)}.tm-rows{gap:8px}.tm-row-wrap{background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:6px}.tm-row-wrap .tm-row-btn.tm-tappable{background:#0000;border:none;border-radius:8px}.tm-row-wrap .tm-row-btn.tm-tappable:active,.tm-row-wrap .tm-row-btn.tm-tappable:hover{background:#e6f7f4;background:var(--teal-bg)}.tm-row-wrap:has(.tm-toggle.is-open){background:#e6f7f4;background:var(--teal-bg);border-color:#0d9488;border-color:var(--teal)}.tm-setup,.tm-today{background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:12px}.tm-field-group+.tm-field-group{border-top:1px solid #e5e7eb;border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.tm-row-wrap.tm-colorline-red{border-left:4px solid #c0392b;border-left:4px solid var(--trip-red);padding-left:4px}.tm-row-wrap.tm-colorline-blue{border-left:4px solid #2471a3;border-left:4px solid var(--trip-blue);padding-left:4px}.tm-row-wrap.tm-colorline-white{border-left:4px solid #e5e7eb;border-left:4px solid var(--border);padding-left:4px}.tm-row-wrap:has(.tm-toggle.is-open).tm-colorline-blue,.tm-row-wrap:has(.tm-toggle.is-open).tm-colorline-red,.tm-row-wrap:has(.tm-toggle.is-open).tm-colorline-white{border-left-color:#0d9488;border-left-color:var(--teal)}:root{--tap:var(--teal);--tap-bg:var(--teal-bg);--tap-border:var(--teal-border);--tap-on:#fff}.app-tappable{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--tap-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.app-tappable:focus-visible,.app-tappable:hover{background:#e6f7f4;background:var(--tap-bg);border-color:#0d9488;border-color:var(--tap)}.app-toggle{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--tap-border);border-radius:10px;color:#1a1a2e;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:space-between;padding:9px 12px;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.app-toggle:focus-visible,.app-toggle:hover{background:#e6f7f4;background:var(--tap-bg);border-color:#0d9488;border-color:var(--tap)}.app-toggle.is-open{background:#0d9488;background:var(--tap);border-color:#0d9488;border-color:var(--tap);color:#fff;color:var(--tap-on)}.app-toggle-caret{flex:0 0 auto;font-size:10px;opacity:.8}.tm-tappable{border-color:#a7ded6;border-color:var(--tap-border)}.tm-tappable:active,.tm-tappable:focus-visible,.tm-tappable:hover{background:#e6f7f4;background:var(--tap-bg);border-color:#0d9488;border-color:var(--tap)}.tm-toggle{border-color:#a7ded6;border-color:var(--tap-border)}.tm-toggle.is-open{background:#0d9488;background:var(--tap);border-color:#0d9488;border-color:var(--tap)}.tm-date-summary{margin-top:2px}.tm-date-summary-label{flex:0 0 auto}.tm-date-summary-value{font-feature-settings:"tnum";flex:1 1 auto;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.mb-head-toggle{margin-bottom:10px}.mb-head-toggle .mb-title{color:inherit}.mb-edit-toggle{font-size:12px;margin-top:10px}.drc{background:#fff;background:var(--bg-secondary);border:1px solid #a7ded6;border:1px solid var(--tap-border);border-radius:12px;margin-top:8px;padding:10px 8px 8px}.drc-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.drc-title{color:#1a1a2e;color:var(--text-primary);font-size:14px;font-weight:700}.drc-nav{align-items:center;display:inline-flex;font-size:18px;height:32px;justify-content:center;line-height:1;width:36px}.drc-week{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.drc-week-cell{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:700;padding:2px 0;text-align:center}.drc-week-cell.is-sun{color:#c0392b}.drc-week-cell.is-sat{color:#2471a3}.drc-grid{display:grid;grid-template-columns:repeat(7,1fr)}.drc-cell{align-items:center;aspect-ratio:1/1;background:none;border:none;color:#1a1a2e;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:0;position:relative}.drc-cell.is-out{color:#9ca3af;color:var(--text-muted);opacity:.5}.drc-cell-num{align-items:center;border-radius:50%;display:inline-flex;height:32px;justify-content:center;position:relative;width:32px;z-index:2}.drc-cell.is-today .drc-cell-num{box-shadow:inset 0 0 0 1.5px #6b7280;box-shadow:inset 0 0 0 1.5px var(--text-secondary)}.drc-cell.is-end:before,.drc-cell.is-middle:before,.drc-cell.is-start:before{background:#e6f7f4;background:var(--tap-bg);content:"";height:32px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.drc-cell.is-middle:before{left:0;right:0}.drc-cell.is-start:before{left:50%;right:0}.drc-cell.is-end:before{left:0;right:50%}.drc-cell.is-end .drc-cell-num,.drc-cell.is-single .drc-cell-num,.drc-cell.is-start .drc-cell-num{background:#0d9488;background:var(--tap);color:#fff;color:var(--tap-on);font-weight:700}.drc-cell.is-today.is-end .drc-cell-num,.drc-cell.is-today.is-single .drc-cell-num,.drc-cell.is-today.is-start .drc-cell-num{box-shadow:none}.drc-hint{color:#9ca3af;color:var(--text-muted);font-size:11px;margin:6px 2px 0;text-align:center}
/*# sourceMappingURL=main.110216df.css.map*/