:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#f9fafb}#app{width:100%;min-height:100vh}@media(prefers-color-scheme:dark){body{background-color:#111827}}.app[data-v-8eac4cbd]{max-width:600px;margin:0 auto;padding:2rem 1rem;min-height:100vh;transition:padding-bottom .3s ease-out}.app.has-install-banner[data-v-8eac4cbd]{padding-bottom:calc(2rem + 100px)}.header[data-v-8eac4cbd]{text-align:center;margin-bottom:2rem}.header h1[data-v-8eac4cbd]{font-size:2.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-clickable[data-v-8eac4cbd]{cursor:pointer;transition:opacity .2s,transform .1s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;display:inline-block;padding:.5rem 0}.title-clickable[data-v-8eac4cbd]:hover{opacity:.8}.title-clickable[data-v-8eac4cbd]:active,.title-clickable.touching[data-v-8eac4cbd]{opacity:.7;transform:scale(.98)}.subtitle[data-v-8eac4cbd]{color:#6b7280;margin-top:.5rem;font-size:.95rem}.mode-toggle[data-v-8eac4cbd]{display:flex;gap:.5rem;margin-bottom:2rem;background:#f3f4f6;padding:.25rem;border-radius:12px}.mode-btn[data-v-8eac4cbd]{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;color:#6b7280}.mode-btn.active[data-v-8eac4cbd]{background:#fff;color:#4f46e5;box-shadow:0 1px 3px #0000001a}.main-content[data-v-8eac4cbd]{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.date-display[data-v-8eac4cbd]{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.date-display p[data-v-8eac4cbd]{margin:0;font-weight:600;color:#374151;font-size:1.1rem}.add-form[data-v-8eac4cbd]{display:flex;gap:.75rem;margin-bottom:1.5rem}.habit-input[data-v-8eac4cbd]{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.habit-input[data-v-8eac4cbd]:focus{outline:none;border-color:#4f46e5}.add-btn[data-v-8eac4cbd]{padding:.75rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.add-btn[data-v-8eac4cbd]:hover:not(:disabled){background:#4338ca}.add-btn[data-v-8eac4cbd]:disabled{opacity:.5;cursor:not-allowed}.habits-list[data-v-8eac4cbd]{display:flex;flex-direction:column;gap:.5rem}.habit-item[data-v-8eac4cbd]{display:flex;align-items:center;padding:1rem;background:#f9fafb;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.habit-item[data-v-8eac4cbd]:hover{background:#f3f4f6}.habit-item.checked[data-v-8eac4cbd]{background:#ecfdf5;border-color:#10b981}.habit-item.delete-mode[data-v-8eac4cbd]{justify-content:space-between;cursor:default;position:relative}.habit-item.delete-mode.dragging[data-v-8eac4cbd]{opacity:.5;cursor:grabbing}.habit-item.delete-mode.drag-over[data-v-8eac4cbd]{border-top:3px solid #4f46e5}.drag-handle[data-v-8eac4cbd]{cursor:grab;color:#9ca3af;font-size:1.2rem;line-height:1;padding:0 .5rem;-webkit-user-select:none;user-select:none;display:flex;align-items:center;letter-spacing:-.2em}.drag-handle[data-v-8eac4cbd]:active{cursor:grabbing}.habit-item.delete-mode:hover .drag-handle[data-v-8eac4cbd]{color:#6b7280}.checkbox[data-v-8eac4cbd]{width:20px;height:20px;margin-right:.75rem;cursor:pointer;accent-color:#10b981}.habit-name[data-v-8eac4cbd]{flex:1;font-size:1rem;color:#374151;font-weight:500}.habit-item.checked .habit-name[data-v-8eac4cbd]{color:#059669;text-decoration:line-through}.delete-btn[data-v-8eac4cbd]{width:28px;height:28px;border:none;background:#fee2e2;color:#dc2626;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-btn[data-v-8eac4cbd]:hover{background:#fecaca;transform:scale(1.1)}.empty-state[data-v-8eac4cbd]{text-align:center;padding:3rem 1rem;color:#9ca3af}.empty-state p[data-v-8eac4cbd]{margin:0;font-size:1rem}.install-banner[data-v-8eac4cbd]{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;box-shadow:0 -2px 10px #0000001a;z-index:1000;animation:slideUp-8eac4cbd .3s ease-out}@keyframes slideUp-8eac4cbd{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-banner-content[data-v-8eac4cbd]{max-width:600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.install-banner-text[data-v-8eac4cbd]{display:flex;flex-direction:column;gap:.25rem;flex:1}.install-banner-text strong[data-v-8eac4cbd]{font-size:1rem;font-weight:600}.install-banner-text span[data-v-8eac4cbd]{font-size:.875rem;opacity:.9}.install-banner-actions[data-v-8eac4cbd]{display:flex;gap:.5rem;align-items:center}.install-btn[data-v-8eac4cbd]{padding:.5rem 1rem;background:#fff;color:#4f46e5;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.install-btn[data-v-8eac4cbd]:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}.install-dismiss-btn[data-v-8eac4cbd]{width:32px;height:32px;border:none;background:#fff3;color:#fff;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.install-dismiss-btn[data-v-8eac4cbd]:hover{background:#ffffff4d}.footer[data-v-8eac4cbd]{margin-top:2rem;padding-top:1rem;text-align:center;border-top:1px solid #e5e7eb}.version-info[data-v-8eac4cbd]{margin:0;font-size:.75rem;color:#9ca3af;font-family:monospace}@media(max-width:640px){.install-banner-content[data-v-8eac4cbd]{flex-direction:column;align-items:stretch}.install-banner-actions[data-v-8eac4cbd]{width:100%;justify-content:space-between}.install-btn[data-v-8eac4cbd]{flex:1}}@media(prefers-color-scheme:dark){.app[data-v-8eac4cbd]{background:#111827;color:#f9fafb}.main-content[data-v-8eac4cbd]{background:#1f2937}.mode-toggle[data-v-8eac4cbd]{background:#374151}.mode-btn[data-v-8eac4cbd]{color:#9ca3af}.mode-btn.active[data-v-8eac4cbd]{background:#374151;color:#818cf8}.date-display p[data-v-8eac4cbd]{color:#f9fafb}.habit-input[data-v-8eac4cbd]{background:#374151;border-color:#4b5563;color:#f9fafb}.habit-item[data-v-8eac4cbd]{background:#374151}.habit-item[data-v-8eac4cbd]:hover{background:#4b5563}.habit-item.checked[data-v-8eac4cbd]{background:#064e3b;border-color:#10b981}.habit-name[data-v-8eac4cbd]{color:#f9fafb}.delete-btn[data-v-8eac4cbd]{background:#7f1d1d;color:#fca5a5}.delete-btn[data-v-8eac4cbd]:hover{background:#991b1b}.drag-handle[data-v-8eac4cbd]{color:#6b7280}.habit-item.delete-mode:hover .drag-handle[data-v-8eac4cbd]{color:#9ca3af}.habit-item.delete-mode.drag-over[data-v-8eac4cbd]{border-top-color:#818cf8}.footer[data-v-8eac4cbd]{border-top-color:#374151}.version-info[data-v-8eac4cbd]{color:#6b7280}}
