.loading-container[data-v-2788239d]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.spinner[data-v-2788239d]{width:48px;height:48px;border:4px solid rgba(79,70,229,.1);border-top-color:#4f46e5;border-radius:50%;animation:spin-2788239d 1s linear infinite}@keyframes spin-2788239d{to{transform:rotate(360deg)}}.loading-container p[data-v-2788239d]{color:#6b7280;font-size:.875rem;margin:0}.login-container[data-v-a28859cc]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card[data-v-a28859cc]{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h2[data-v-a28859cc]{margin:0 0 1.5rem;color:#333;text-align:center;font-size:1.75rem}.form-group[data-v-a28859cc]{margin-bottom:1.25rem}.form-group label[data-v-a28859cc]{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.form-group input[data-v-a28859cc]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input[data-v-a28859cc]:focus{outline:none;border-color:#667eea}.form-group input[data-v-a28859cc]:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message[data-v-a28859cc]{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;text-align:center}.login-button[data-v-a28859cc]{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button[data-v-a28859cc]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button[data-v-a28859cc]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-a28859cc]:disabled{opacity:.6;cursor:not-allowed}.login-container[data-v-eee74f77]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card[data-v-eee74f77]{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h2[data-v-eee74f77]{margin:0 0 1.5rem;color:#333;text-align:center;font-size:1.75rem}.form-group[data-v-eee74f77]{margin-bottom:1.25rem}.form-group label[data-v-eee74f77]{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.9rem}.form-group input[data-v-eee74f77]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input[data-v-eee74f77]:focus{outline:none;border-color:#667eea}.form-group input[data-v-eee74f77]:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message[data-v-eee74f77]{background-color:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;text-align:center}.login-button[data-v-eee74f77]{width:100%;padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button[data-v-eee74f77]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button[data-v-eee74f77]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-eee74f77]:disabled{opacity:.6;cursor:not-allowed}.toast[data-v-f764ff7e]{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:500;z-index:100;animation:slideIn-f764ff7e .3s ease-out;max-width:90%;text-align:center;box-shadow:0 4px 12px #0000004d}.toast--info[data-v-f764ff7e]{background:var(--accent);color:#fff}.toast--success[data-v-f764ff7e]{background:#4caf50;color:#fff}.toast--error[data-v-f764ff7e]{background:#e55353;color:#fff}@keyframes slideIn-f764ff7e{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mcp-snippet[data-v-85eabd43]{display:flex;align-items:stretch;gap:.5rem;margin-top:.5rem}.mcp-snippet-pre[data-v-85eabd43]{flex:1;margin:0;padding:.75rem;background-color:#7f7f7f1a;border:1px solid rgba(127,127,127,.25);border-radius:.375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.4;overflow-x:auto;white-space:pre}.mcp-snippet-copy[data-v-85eabd43]{flex:0 0 auto;padding:.375rem .75rem;background-color:#0d6efd;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:background-color .15s}.mcp-snippet-copy[data-v-85eabd43]:hover{background-color:#0b5ed7}@media (prefers-color-scheme: dark){.mcp-snippet-pre[data-v-85eabd43]{background-color:#ffffff0d;border-color:#ffffff26}}.mcp-row[data-v-a129f64b]{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.5rem 1rem;padding:.75rem 1rem;border:1px solid rgba(127,127,127,.25);border-radius:.5rem;background-color:#7f7f7f08}.mcp-row-meta[data-v-a129f64b]{min-width:0}.mcp-row-name[data-v-a129f64b]{font-weight:600;word-break:break-word}.mcp-row-sub[data-v-a129f64b]{font-size:.8125rem;color:#7f7f7ff2;display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin-top:.125rem}.mcp-row-prefix[data-v-a129f64b]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mcp-row-dot[data-v-a129f64b]{opacity:.5}.mcp-row-actions[data-v-a129f64b]{display:flex;gap:.5rem;align-items:center}.mcp-row-toggle[data-v-a129f64b],.mcp-row-revoke[data-v-a129f64b]{padding:.375rem .75rem;border:1px solid rgba(127,127,127,.4);background-color:transparent;color:inherit;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:background-color .15s,border-color .15s}.mcp-row-toggle[data-v-a129f64b]:hover,.mcp-row-revoke[data-v-a129f64b]:hover:not(:disabled){background-color:#7f7f7f1a}.mcp-row-revoke[data-v-a129f64b]{color:#b00020;border-color:#b0002066}.mcp-row-revoke[data-v-a129f64b]:hover:not(:disabled){background-color:#b0002014}.mcp-row-revoke[data-v-a129f64b]:disabled{opacity:.6;cursor:not-allowed}.mcp-row-snippet[data-v-a129f64b]{grid-column:1 / -1}.settings[data-v-3ad55e22]{max-width:720px;margin:0 auto;padding:1.5rem 1rem}.settings-header[data-v-3ad55e22]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.settings-header h2[data-v-3ad55e22]{margin:0}.settings-back[data-v-3ad55e22]{background:transparent;border:1px solid rgba(127,127,127,.4);color:inherit;padding:.375rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.875rem}.settings-section[data-v-3ad55e22]{border:1px solid rgba(127,127,127,.25);border-radius:.5rem;padding:1rem;background-color:#7f7f7f08}.settings-section-head[data-v-3ad55e22]{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.settings-section-text h3[data-v-3ad55e22]{margin:0 0 .25rem}.settings-section-sub[data-v-3ad55e22]{margin:0;font-size:.875rem;color:#7f7f7ff2}.settings-primary[data-v-3ad55e22]{padding:.5rem .875rem;background-color:#0d6efd;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer}.settings-primary[data-v-3ad55e22]:hover:not(:disabled){background-color:#0b5ed7}.settings-primary[data-v-3ad55e22]:disabled{opacity:.6;cursor:not-allowed}.settings-secondary[data-v-3ad55e22]{padding:.5rem .875rem;background:transparent;border:1px solid rgba(127,127,127,.4);color:inherit;border-radius:.375rem;font-size:.875rem;cursor:pointer}.settings-secondary[data-v-3ad55e22]:hover{background-color:#7f7f7f1a}.settings-loading[data-v-3ad55e22],.settings-empty[data-v-3ad55e22]{padding:1rem;font-size:.875rem;color:#7f7f7ff2;text-align:center}.settings-error[data-v-3ad55e22]{padding:.5rem .75rem;background-color:#b0002014;color:#b00020;border:1px solid rgba(176,0,32,.25);border-radius:.375rem;font-size:.875rem;margin-bottom:.5rem}.settings-list[data-v-3ad55e22]{display:flex;flex-direction:column;gap:.5rem}.settings-modal-backdrop[data-v-3ad55e22]{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.settings-modal[data-v-3ad55e22]{background-color:var(--bg, #fff);color:var(--fg, inherit);border-radius:.5rem;padding:1.25rem;max-width:480px;width:100%;display:flex;flex-direction:column;gap:.75rem}@media (prefers-color-scheme: dark){.settings-modal[data-v-3ad55e22]{--bg: #1a1a1a}}.settings-modal h3[data-v-3ad55e22]{margin:0}.settings-modal-sub[data-v-3ad55e22]{margin:0;font-size:.875rem;color:#7f7f7ff2}.settings-field[data-v-3ad55e22]{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.settings-field input[data-v-3ad55e22]{padding:.5rem .75rem;border:1px solid rgba(127,127,127,.4);border-radius:.375rem;background-color:transparent;color:inherit;font-size:.9375rem}.settings-modal-actions[data-v-3ad55e22]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.auth-switch[data-v-094a2029]{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:-4rem;padding-bottom:2rem;color:#fff}.auth-switch-button[data-v-094a2029]{background:transparent;border:none;color:#fff;font-weight:600;cursor:pointer;text-decoration:underline}.auth-switch-button[data-v-094a2029]:hover{opacity:.9}.offline-banner[data-v-094a2029]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:.5rem;margin-bottom:1rem;color:#856404}.offline-icon[data-v-094a2029]{font-size:1.2rem}.offline-text[data-v-094a2029]{flex:1;font-size:.875rem}.cache-age[data-v-094a2029]{opacity:.7;font-size:.8rem}.retry-btn[data-v-094a2029]{padding:.375rem .75rem;background-color:#ffc107;border:none;border-radius:.25rem;color:#856404;font-weight:500;cursor:pointer;transition:background-color .2s}.retry-btn[data-v-094a2029]:hover:not(:disabled){background-color:#e0a800}.retry-btn[data-v-094a2029]:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.offline-banner[data-v-094a2029]{background-color:#423a1b;border-color:#665c2e;color:#ffc107}.retry-btn[data-v-094a2029]{background-color:#665c2e;color:#ffc107}.retry-btn[data-v-094a2029]:hover:not(:disabled){background-color:#7a6f3c}}:root{color-scheme:dark;--bg: #0f1115;--card: #16181d;--muted: #9aa0a6;--accent: #4c8dff;--radius: 10px;--gap: 12px;--fab-inset: 96px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}html,body{height:100%;margin:0;background:var(--bg);color:#eaeef5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0!important;height:0!important}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-track{background:transparent}.container{max-width:640px;margin:0 auto;display:flex;flex-direction:column;min-height:100vh}header{position:fixed;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#0f1115eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 1px #ffffff0f;z-index:70}.tabs{display:inline-flex;gap:6px;padding:4px;border-radius:10px;align-items:center}.tabs .tab-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:8px;cursor:pointer;color:#eaeef5;background-color:#4c8dff0d;font-weight:600;-webkit-user-select:none;user-select:none}.tabs .tab-btn.active{background:var(--accent);color:#0f1115;box-shadow:0 1px #0000000d;font-weight:700}.tabs .tab-btn.active:hover{background:#a4c5fd}.tabs .tab-btn:hover{background:#4c8dff26}h1{margin:0;font-size:1.4rem;letter-spacing:.2px}.controls{display:flex;gap:8px;align-items:center}.menu-btn{background:transparent;color:var(--muted);border:1px solid rgba(255,255,255,.06);padding:6px 8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.menu-btn:hover{background:#ffffff0f;color:#eaeef5;border-color:#ffffff1a}.menu-btn:focus{outline:2px solid rgba(76,141,255,.35);outline-offset:2px}.menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--card);border:1px solid #2a2e36;border-radius:10px;padding:4px;display:none;flex-direction:column;gap:2px;box-shadow:0 1px #ffffff0f,0 6px 16px #0000004d;z-index:80;min-width:120px}.menu-dropdown.visible{display:flex}.menu-item{background:transparent;color:#eaeef5;border:none;padding:8px 12px;border-radius:6px;text-align:left;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .12s ease}.menu-item:hover{background:#ffffff0f}.menu-item:focus{outline:2px solid rgba(76,141,255,.35);outline-offset:-2px}.menu-item.logout{color:#ff6b6b}.menu-item.logout:hover{background:#ff6b6b1a}.menu-divider{height:1px;background:#ffffff1a;margin:4px 0}.menu-user{padding:8px 12px;font-size:.8rem;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add{display:flex;gap:8px;margin-bottom:12px}#newTitle{flex:1;padding:10px;border-radius:8px;color:#ddd;border:1px solid #fefefe54;font-size:1rem;outline:none;background:var(--card)}#newTitle:hover{border-color:#5493ff66}#newTitle:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4c8dff33}#newTitle::placeholder{color:var(--muted)}#addBtn{flex:0 0 auto;padding:8px 12px}button{background:var(--accent);color:#fff;border:0;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;box-shadow:0 1px #0000000a}button.secondary{background:transparent;color:var(--accent);border:1px solid rgba(76,141,255,.22)}button:active{transform:translateY(1px)}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;overflow:auto;padding-bottom:calc(var(--fab-inset, 96px) + env(safe-area-inset-bottom));scroll-padding-bottom:calc(var(--fab-inset, 96px) + env(safe-area-inset-bottom))}.section{margin-top:12px;padding:8px;border-radius:8px;background:transparent}.section-title{margin:0 0 8px;font-size:.95rem;font-weight:700;color:var(--muted)}.section-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.section--past .todo-item{border-left:4px solid #e55353;background:linear-gradient(90deg,rgba(229,83,83,.04),transparent)}.section--today .todo-item{border-left:4px solid var(--accent);background:linear-gradient(90deg,rgba(13,110,253,.03),transparent)}.section--default .todo-item{border-left:4px solid transparent}.todo-item{display:flex;align-items:center;gap:10px;background:var(--card);padding:10px;border-radius:8px;border:1px solid #2a2e36;box-shadow:0 1px 2px #0003;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.todo-item.todo-item--multiline{align-items:stretch;flex-direction:column;gap:4px}@media (hover: hover) and (pointer: fine){.todo-item:hover{border-color:#3a3f49}}.todo-item:focus-within{outline:2px solid rgba(76,141,255,.35);outline-offset:2px}.todo-item input[type=checkbox]{width:18px;height:18px;flex:0 0 auto}.todo-item span{flex:1;min-width:0;outline:none;word-wrap:break-word;word-break:break-word;white-space:pre-wrap}.todo-item small.todo-date--planned{margin-left:6px}.todo-line{display:flex;align-items:center;gap:10px;width:100%}.todo-item button{background:transparent;color:var(--muted);border:0;padding:6px 8px;border-radius:6px}.delete-btn{background:transparent;color:#e55353;border:1px solid rgba(229,83,83,.3);padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;transition:all .12s ease}.delete-btn:hover{background:#e553531a;border-color:#e5535380}.todo-item--finished{opacity:.95}.todo-item--finished span{color:var(--muted)}.todo-item.todo-item--finished{flex-direction:column;align-items:stretch;gap:4px}.todo-item.todo-item--finished{align-items:stretch;flex-direction:column;gap:4px}@media (hover: hover) and (pointer: fine){.todo-item--finished:hover{background:var(--card);border-color:#2a2e36;box-shadow:0 1px 2px #0003;transform:none;cursor:default}}.reopen-btn{background:transparent;color:var(--accent);border:1px solid rgba(76,141,255,.3);padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .12s ease}.reopen-btn:hover{background:#4c8dff1a;border-color:#4c8dff80}.todo-item .muted{color:var(--muted);font-size:.9rem}.todo-dates-row{margin-top:6px;display:block}.todo-date-line{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.todo-date-line span,.todo-date{font-size:.8rem;font-weight:400;opacity:.7;filter:blur(.3px);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.todo-date--completed,.todo-date--planned{color:var(--muted)}footer{margin-top:16px;text-align:center;color:var(--muted);font-size:.9rem}.hidden{display:none!important}.fab-add{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center;background:#0f1115b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.06);padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));box-shadow:0 1px #ffffff0f,0 6px 16px #0003;border-radius:999px;z-index:60;max-width:720px;margin:0 auto}.fab-add input{flex:1;border:none;padding:8px 12px;border-radius:999px;background:#00000008;font-size:.95rem;min-height:40px;outline:none}.fab-add #newTitle{background:#0f111580;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#eaeef5;padding:10px 14px;font-size:.95rem;min-height:40px;outline:none}.fab-add #newTitle::placeholder{color:#eaeef5a6}.fab-add #newTitle:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4c8dff33}.fab-actions{display:flex;gap:8px;align-items:center}.fab-actions button{width:44px;height:44px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent);color:#fff;border:none;box-shadow:0 2px 6px #0d6efd1f}.fab-actions button.secondary{background:transparent;color:var(--accent);border:1px solid rgba(76,141,255,.22);width:auto;height:auto;padding:6px 10px;border-radius:8px;font-weight:600}#addTodayBtn svg{width:20px;height:20px;display:block;stroke:currentColor}.fab-actions button:hover{background:#72a6ff}@media (min-width: 481px){.fab-add{position:fixed;transform:translate(-50%);left:50%;right:auto;width:calc(100% - 48px);bottom:calc(24px + env(safe-area-inset-bottom));background:#0f1115b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.06);padding:8px 12px;border-radius:12px;align-items:center;box-shadow:0 1px #ffffff0f,0 6px 16px #0003}.fab-add input{display:block;flex:1 1 auto;min-width:220px;padding:8px 12px;border-radius:8px;background:#0000000a;outline:none}.fab-actions button{width:44px;height:44px;padding:0}}.center{display:flex;align-items:center;justify-content:center}.todo-list .section:first-child{padding-top:72px}.load-more-sentinel{display:flex;align-items:center;justify-content:center;padding:16px;margin-top:8px}.loading-text{font-size:.85rem;color:var(--muted);font-weight:500}
