.fade-enter-active[data-v-49157b31],.fade-leave-active[data-v-49157b31]{transition:opacity .2s ease}.fade-enter-from[data-v-49157b31],.fade-leave-to[data-v-49157b31]{opacity:0}.fade-enter-active .modal-sheet[data-v-49157b31]{animation:slideUp .25s ease}.fade-leave-active .modal-sheet[data-v-49157b31]{animation:slideUp .2s ease reverse}.xp-hero[data-v-9b40fffa]{background:linear-gradient(135deg,var(--bg-card),#1e1a3a);border-color:var(--border-accent)}.level-label[data-v-9b40fffa]{font-size:.78rem;color:var(--accent-light);font-weight:600;margin-bottom:.15rem}.xp-total[data-v-9b40fffa]{font-size:2rem;font-weight:800}.xp-sub[data-v-9b40fffa]{text-align:right}.joker-badge[data-v-9b40fffa]{display:inline-flex;align-items:center;gap:.35rem;background:#fbbf2426;color:var(--warning);border:1px solid rgba(251,191,36,.3);border-radius:999px;font-size:.8rem;font-weight:700;padding:.25rem .7rem}.settings-btn[data-v-9b40fffa]{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-sm);transition:color var(--transition)}.settings-btn[data-v-9b40fffa]:hover{color:var(--text-primary)}.success-msg[data-v-9b40fffa]{display:flex;align-items:center;gap:.35rem;color:var(--success);font-size:.85rem}.streak-row[data-v-9b40fffa]{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.streak-row.bordered[data-v-9b40fffa]{border-bottom:1px solid var(--border)}.pw-error[data-v-9b40fffa]{color:var(--danger);font-size:.82rem;margin-top:.25rem}.pw-success[data-v-9b40fffa]{color:var(--success);font-size:.82rem;margin-top:.25rem}.err[data-v-96bbd80a]{color:var(--danger);font-size:.75rem}.rec-toggle[data-v-96bbd80a]{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-secondary);margin:.25rem 0 .5rem}.rec-toggle input[data-v-96bbd80a]{width:auto}.rec-box[data-v-96bbd80a]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:.5rem}.wd-row[data-v-96bbd80a]{display:flex;gap:.25rem;flex-wrap:wrap}.wd-chip[data-v-96bbd80a]{padding:.35rem .5rem;font-size:.72rem;font-weight:600;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted)}.wd-chip.on[data-v-96bbd80a]{background:var(--accent);color:#fff;border-color:var(--accent)}.today-top[data-v-7c26cf2d]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.energy-pick[data-v-7c26cf2d]{display:flex;gap:.25rem}.energy-btn[data-v-7c26cf2d]{padding:.3rem .5rem;font-size:.7rem;font-weight:600;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted)}.energy-btn.active[data-v-7c26cf2d]{background:var(--accent);color:#fff;border-color:var(--accent)}.plan-card[data-v-7c26cf2d]{margin-bottom:.5rem}.opt-check[data-v-7c26cf2d]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.25rem 0;color:var(--text-secondary)}.opt-check input[data-v-7c26cf2d]{width:auto}.mini-select[data-v-7c26cf2d]{flex:1;padding:.5rem;font-size:.85rem}.icon-btn[data-v-7c26cf2d]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.top3-card[data-v-7c26cf2d]{padding:.75rem .9rem}.top3-row[data-v-7c26cf2d]{display:flex;align-items:center;gap:.6rem;padding:.3rem 0}.top3-num[data-v-7c26cf2d]{width:20px;height:20px;border-radius:50%;background:var(--accent-glow);color:var(--accent-light);font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.struck[data-v-7c26cf2d]{text-decoration:line-through;color:var(--text-muted)}.day-block[data-v-7c26cf2d]{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:.75rem .85rem;margin-bottom:.6rem}.day-block.inactive[data-v-7c26cf2d]{opacity:.5;border-style:dashed}.day-block.blocked[data-v-7c26cf2d]{background:var(--bg-elevated)}.day-block.is-past[data-v-7c26cf2d]{opacity:.4}.day-block.is-past[data-v-7c26cf2d]:hover{opacity:.7}.day-block.is-current[data-v-7c26cf2d]{opacity:1;border-color:var(--accent);border-left-width:3px;background:var(--accent-glow);box-shadow:0 0 0 1px var(--border-accent),0 4px 16px -6px var(--accent-glow)}.day-block.is-next[data-v-7c26cf2d]{border-color:var(--border-accent)}.now-strip[data-v-7c26cf2d]{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;letter-spacing:.02em;color:var(--accent-light);text-transform:uppercase;margin-bottom:.5rem}.now-label[data-v-7c26cf2d]{flex-shrink:0}.now-dot[data-v-7c26cf2d]{width:7px;height:7px;border-radius:50%;background:var(--accent-light);flex-shrink:0;animation:nowPulse-7c26cf2d 1.4s ease infinite}@keyframes nowPulse-7c26cf2d{0%,to{opacity:1}50%{opacity:.25}}.now-bar[data-v-7c26cf2d]{flex:1;height:3px;background:var(--bg-elevated);border-radius:999px;overflow:hidden}.now-bar-fill[data-v-7c26cf2d]{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));transition:width .4s ease}.next-strip[data-v-7c26cf2d]{display:flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.45rem}.past-toggle[data-v-7c26cf2d]{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;padding:.2rem .3rem}.past-toggle[data-v-7c26cf2d]:hover{color:var(--accent-light)}.block-time[data-v-7c26cf2d]{font-weight:700;font-size:.85rem;color:var(--text-secondary)}[data-v-7c26cf2d] .loc-icon{color:var(--text-muted)}.blocked-badge[data-v-7c26cf2d]{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;font-weight:700;color:var(--text-muted);flex-shrink:0}.blocked-badge.review[data-v-7c26cf2d]{color:var(--warning)}.opt-toggle[data-v-7c26cf2d]{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;margin-top:.5rem;color:var(--accent-light)}.opt-toggle input[data-v-7c26cf2d]{width:auto}.block-tasks[data-v-7c26cf2d]{margin-top:.6rem;display:flex;flex-direction:column;gap:.35rem}.mini-task[data-v-7c26cf2d]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.3rem .4rem;background:var(--bg-elevated);border-radius:var(--radius-sm)}.mini-task.standalone[data-v-7c26cf2d]{padding:.5rem .6rem;margin-bottom:.4rem;border:1px solid var(--border)}.check-btn.xs[data-v-7c26cf2d]{width:22px;height:22px;border-width:2px}.assign-select[data-v-7c26cf2d]{width:auto;flex-shrink:0;padding:.25rem .4rem;font-size:.72rem;max-width:120px}.assign-select.add-more[data-v-7c26cf2d]{max-width:2.4rem;text-align:center;color:var(--accent-light);font-weight:700}.multi-badge[data-v-7c26cf2d]{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0;font-size:.62rem;font-weight:700;padding:.05rem .35rem;border-radius:999px;background:var(--accent-glow);color:var(--accent-light);border:1px solid var(--border-accent)}.mini-badge[data-v-7c26cf2d]{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0;font-size:.62rem;font-weight:700;padding:.05rem .35rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted)}.mini-badge.warn[data-v-7c26cf2d]{color:var(--warning);border-color:#fbbf244d}.cat-dot[data-v-7c26cf2d]{width:8px;height:8px;border-radius:50%;border:1px solid;flex-shrink:0}.mini-badge.rec[data-v-7c26cf2d]{color:var(--accent-light);border-color:var(--border-accent)}.btn-icon.active[data-v-7c26cf2d]{color:var(--warning);border-color:var(--warning)}.goal-item[data-v-7c26cf2d]{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.5rem}.goal-item.done[data-v-7c26cf2d]{opacity:.6;border-color:var(--success);background:var(--success-dim)}.abschluss-btn[data-v-7c26cf2d]{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.85rem;margin-top:1.5rem;text-decoration:none}.empty-line[data-v-7c26cf2d]{padding:.4rem 0}.xp-pop[data-v-7c26cf2d]{position:fixed;pointer-events:none;font-weight:800;font-size:1.1rem;color:var(--success);animation:xpPop-7c26cf2d .8s ease forwards;z-index:9999}@keyframes xpPop-7c26cf2d{0%{opacity:0;transform:translateY(0) scale(.7)}40%{opacity:1;transform:translateY(-20px) scale(1.1)}to{opacity:0;transform:translateY(-40px) scale(.9)}}.quick-add input[type=text][data-v-95b0c1c9]{width:100%}.quick-controls[data-v-95b0c1c9]{flex-wrap:wrap}.mini-select[data-v-95b0c1c9]{flex:1 1 90px;min-width:90px;padding:.4rem .5rem;font-size:.8rem}.icon-btn[data-v-95b0c1c9]{display:inline-flex;align-items:center;gap:.3rem}.filter-row[data-v-95b0c1c9]{margin-top:1rem;flex-wrap:wrap}.show-done[data-v-95b0c1c9]{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-muted);margin:.5rem 0 .75rem}.show-done input[data-v-95b0c1c9]{width:auto}.group-title[data-v-95b0c1c9]{display:flex;align-items:center;gap:.4rem;margin:1.1rem 0 .5rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.group-title[data-v-95b0c1c9]:first-of-type{margin-top:.25rem}.group-title.none[data-v-95b0c1c9]{font-style:italic;color:var(--text-muted);text-transform:none;letter-spacing:0}.group-dot[data-v-95b0c1c9]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.group-count[data-v-95b0c1c9]{margin-left:auto;font-weight:600;letter-spacing:0;color:var(--text-muted);font-size:.7rem}.swipe-row[data-v-95b0c1c9]{position:relative;overflow:hidden;border-radius:var(--radius-md);margin-bottom:.5rem;touch-action:pan-y}.swipe-actions[data-v-95b0c1c9]{position:absolute;top:0;bottom:0;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:.3rem;padding:.4rem .5rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.swipe-actions.right[data-v-95b0c1c9]{right:0;width:230px}.swipe-actions.left[data-v-95b0c1c9]{left:0;width:120px}.cat-chip[data-v-95b0c1c9]{flex:0 0 auto;white-space:nowrap;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:999px;background:transparent;border:1px solid currentColor}.cat-chip.date[data-v-95b0c1c9]{color:var(--accent-light);border-color:var(--border-accent)}.cat-chip.pick[data-v-95b0c1c9]{position:relative;display:inline-flex;align-items:center;padding:.3rem .5rem}.cat-chip.pick input[data-v-95b0c1c9]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.cat-chip.none[data-v-95b0c1c9]{color:var(--text-muted);border-color:var(--border);font-style:italic}.cat-chip.active[data-v-95b0c1c9]{box-shadow:inset 0 0 0 999px color-mix(in srgb,currentColor 20%,transparent)}.task-card[data-v-95b0c1c9]{position:relative;box-sizing:border-box;min-height:4rem;display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:transform .18s ease}.task-card.done[data-v-95b0c1c9]{opacity:.55;border-color:var(--success)}.struck[data-v-95b0c1c9]{text-decoration:line-through;color:var(--text-muted)}.title-row[data-v-95b0c1c9]{display:flex;align-items:flex-start;gap:.3rem}.title[data-v-95b0c1c9]{flex:1;min-width:0;font-weight:700;font-size:.9rem;line-height:1.25;overflow-wrap:anywhere}.title-row .btn-icon[data-v-95b0c1c9]{flex-shrink:0}.badges[data-v-95b0c1c9]{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.25rem}.prio[data-v-95b0c1c9]{font-size:.62rem;font-weight:700;padding:.08rem .4rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border)}.prio.high[data-v-95b0c1c9]{color:var(--danger);border-color:#f871714d}.prio.medium[data-v-95b0c1c9]{color:var(--warning)}.prio.low[data-v-95b0c1c9]{color:var(--text-muted)}.tag.warn[data-v-95b0c1c9]{color:var(--warning);border-color:#fbbf244d}.tag.accent[data-v-95b0c1c9]{color:var(--accent-light);border-color:var(--border-accent)}.tag.rec[data-v-95b0c1c9]{color:var(--accent-light);display:inline-flex;align-items:center;gap:.2rem}.tag.block[data-v-95b0c1c9]{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;color:var(--accent-light);border-color:var(--border-accent);background:var(--accent-glow)}.tag.block[data-v-95b0c1c9]:hover{color:var(--danger);border-color:#f8717166}.badges .tag[data-v-95b0c1c9]{font-size:.62rem;padding:.05rem .4rem}.assign-select[data-v-95b0c1c9]{width:auto;flex-shrink:0;max-width:110px;padding:.1rem .3rem;font-size:.62rem;border-radius:999px}.hub-row[data-v-08f37f2f]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.hub-row[data-v-08f37f2f]:last-of-type{border-bottom:none}.hub-goal[data-v-08f37f2f]{padding:.6rem 0;border-bottom:1px solid var(--border)}.hub-goal[data-v-08f37f2f]:last-of-type{border-bottom:none}.hub-manage[data-v-08f37f2f]{margin-top:.75rem}.icon-btn[data-v-08f37f2f]{display:inline-flex;align-items:center;gap:.3rem}.mb[data-v-0ced298b]{margin-bottom:1rem}.goal-card[data-v-a8643faf]{margin-bottom:.6rem}.card-actions[data-v-a8643faf]{gap:.4rem;margin-top:.75rem;flex-wrap:wrap}.icon-btn[data-v-a8643faf]{display:inline-flex;align-items:center;gap:.3rem}.mb[data-v-e2081b47]{margin-bottom:1rem}.weekday-grid[data-v-e2081b47]{display:flex;gap:.4rem;flex-wrap:wrap}.weekday-label[data-v-e2081b47]{cursor:pointer}.weekday-label input[data-v-e2081b47]{display:none}.weekday-btn[data-v-e2081b47]{display:block;padding:.35rem .6rem;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition);-webkit-user-select:none;user-select:none}.weekday-btn.selected[data-v-e2081b47]{background:var(--accent-glow);border-color:var(--accent);color:var(--accent-light)}.action-card[data-v-5be67300]{margin-bottom:.6rem}.icon-btn[data-v-5be67300]{display:inline-flex;align-items:center;gap:.3rem}.goal-tag[data-v-5be67300]{display:inline-flex;align-items:center;gap:.25rem}.weekday-tabs[data-v-b78a228f]{display:flex;gap:.3rem}.weekday-tab[data-v-b78a228f]{flex:1;padding:.5rem 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:600;font-size:.8rem}.weekday-tab.active[data-v-b78a228f]{background:var(--accent);color:#fff;border-color:var(--accent)}.tpl-block[data-v-b78a228f]{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:.8rem;margin-bottom:.6rem}.tpl-time[data-v-b78a228f]{font-weight:700;font-size:.9rem;color:var(--text-secondary)}.block-type[data-v-b78a228f]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:999px;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.block-type.fixed[data-v-b78a228f]{color:var(--danger);border-color:#f871714d}.block-type.review[data-v-b78a228f]{color:var(--warning);border-color:#fbbf244d}.block-type.optional[data-v-b78a228f]{color:var(--accent-light);border-color:var(--border-accent)}.icon-btn[data-v-b78a228f]{display:inline-flex;align-items:center;gap:.3rem}.mono[data-v-b78a228f]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.cat-row[data-v-fb86e8c8]{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.45rem}.cat-row.inactive[data-v-fb86e8c8]{opacity:.5}.dot[data-v-fb86e8c8]{width:12px;height:12px;border-radius:50%;flex-shrink:0}.cat-name[data-v-fb86e8c8]{flex:1;background:transparent;border:1px solid transparent;padding:.3rem .4rem;min-width:0}.cat-name[data-v-fb86e8c8]:focus{border-color:var(--accent);background:var(--bg-elevated)}.usage[data-v-fb86e8c8]{flex-shrink:0}.icon-btn[data-v-fb86e8c8]{display:inline-flex;align-items:center;gap:.3rem}.empty-line[data-v-dc953e92]{padding:.4rem 0}.struck[data-v-dc953e92]{text-decoration:line-through;color:var(--text-muted)}.rev-task[data-v-dc953e92],.rev-goal[data-v-dc953e92]{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.45rem}.rev-task.done[data-v-dc953e92],.rev-goal.done[data-v-dc953e92]{opacity:.6;border-color:var(--success)}.chip[data-v-dc953e92]{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary)}.chip.on[data-v-dc953e92]{background:var(--success);color:#000;border-color:var(--success)}.chip.danger[data-v-dc953e92]{color:var(--danger)}.chip.danger[data-v-dc953e92]:hover{border-color:var(--danger)}.rating-row[data-v-dc953e92]{display:flex;gap:.4rem}.rating-star[data-v-dc953e92]{background:none;border:none;color:var(--text-muted);padding:.1rem}.rating-star.on[data-v-dc953e92]{color:var(--warning)}.done-banner[data-v-dc953e92]{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.25rem;padding:.75rem;border-radius:var(--radius-md);background:var(--success-dim);color:var(--success);border:1px solid var(--success);font-weight:700}.icon-btn[data-v-dc953e92]{display:inline-flex;align-items:center;gap:.35rem}.goal-section[data-v-8111c565]{margin-bottom:2rem}.pb-banner[data-v-8111c565]{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fbbf241f,#fbbf240f);border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-md);padding:.7rem 1rem;margin-bottom:.6rem}.pb-label[data-v-8111c565]{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--warning)}.pb-value[data-v-8111c565]{font-size:1.3rem;font-weight:800;color:var(--warning)}.quick-entry[data-v-8111c565]{display:flex;gap:.5rem;margin-bottom:0}.quick-entry-input[data-v-8111c565]{flex:1;padding:.55rem .75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:inherit;min-width:0}.quick-entry-input[data-v-8111c565]:focus{outline:none;border-color:var(--accent)}.icon-btn[data-v-8111c565]{display:inline-flex;align-items:center;gap:.3rem}.progress-table[data-v-8111c565]{width:100%;border-collapse:collapse}.progress-table th[data-v-8111c565]{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.6rem .9rem;text-align:left;border-bottom:1px solid var(--border);font-weight:600}.progress-table td[data-v-8111c565]{padding:.65rem .9rem;border-bottom:1px solid var(--border)}.progress-table tbody tr:last-child td[data-v-8111c565]{border-bottom:none}.progress-table tbody tr[data-v-8111c565]:hover{background:var(--bg-elevated)}.progress-table tbody tr.is-pb[data-v-8111c565]{background:#fbbf240f}.pb-cell[data-v-8111c565]{text-align:right;width:48px}.pb-badge[data-v-8111c565]{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:700;color:var(--warning);background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:999px;padding:.1rem .45rem}.bottom-nav[data-v-8cb6632d]{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));background:var(--bg-surface);border-top:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-around;z-index:50;padding-top:.5rem;padding-bottom:env(safe-area-inset-bottom,0px)}.nav-item[data-v-8cb6632d]{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--text-muted);flex:1;padding:.4rem 0;transition:color var(--transition)}.nav-item.active[data-v-8cb6632d]{color:var(--accent-light)}.nav-label[data-v-8cb6632d]{font-size:.65rem;font-weight:600;letter-spacing:.02em}.page-enter-active,.page-leave-active{transition:opacity .15s ease,transform .15s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-6px)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.sync-indicator{position:fixed;top:calc(env(safe-area-inset-top,0px) + .5rem);right:.75rem;display:flex;align-items:center;gap:.35rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem .2rem .4rem;font-size:.7rem;font-weight:600;color:var(--text-muted);z-index:200;pointer-events:none}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.update-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + .75rem);width:calc(100% - 1.5rem);max-width:456px;display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-md);font-size:.85rem;font-weight:600;z-index:210}.sync-indicator.syncing .sync-dot{background:var(--accent-light);animation:pulse 1s ease infinite}.sync-indicator.error .sync-dot{background:var(--danger)}.sync-indicator.offline .sync-dot{background:var(--warning)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}:root{--bg-base: #0f0f1a;--bg-surface: #1a1a2e;--bg-elevated: #22223b;--bg-card: #252540;--accent: #7c5cbf;--accent-light: #9b7de0;--accent-glow: rgba(124, 92, 191, .35);--success: #4ade80;--success-dim: rgba(74, 222, 128, .2);--warning: #fbbf24;--danger: #f87171;--danger-dim: rgba(248, 113, 113, .2);--text-primary: #f0f0ff;--text-secondary:#a0a0c0;--text-muted: #606080;--border: rgba(255, 255, 255, .08);--border-accent: rgba(124, 92, 191, .4);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--nav-height: 64px;--transition: .18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100dvh;overscroll-behavior:none}#app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}.page{flex:1;overflow-y:auto;padding:calc(1rem + env(safe-area-inset-top,0px)) 1rem calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 1rem)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem}.card+.card{margin-top:.75rem}button,.btn{cursor:pointer;border:none;font-size:.9rem;font-family:inherit;border-radius:var(--radius-sm);transition:opacity var(--transition),transform var(--transition)}button:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;padding:.6rem 1.2rem;font-weight:600}.btn-primary:hover{opacity:.88}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.5rem .75rem;border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-danger{background:var(--danger-dim);color:var(--danger);padding:.5rem .9rem;border:1px solid transparent}.btn-danger:hover{border-color:var(--danger)}.btn-sm{font-size:.8rem;padding:.35rem .7rem}.btn-icon{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);padding:.4rem;border-radius:var(--radius-sm);line-height:1;display:inline-flex;align-items:center;gap:.25rem}.btn-icon:hover{color:var(--accent);border-color:var(--accent)}.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.form-group label{font-size:.8rem;color:var(--text-secondary);font-weight:500}input[type=text],input[type=number],input[type=date],select,textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:inherit;padding:.55rem .75rem;width:100%;transition:border-color var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:70px}.progress-bar-wrap{background:var(--bg-elevated);border-radius:999px;height:8px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-light));transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-bar-fill.success{background:linear-gradient(90deg,#22c55e,var(--success))}.xp-pill{display:inline-flex;align-items:center;gap:.2rem;background:var(--accent-glow);color:var(--accent-light);border:1px solid var(--border-accent);border-radius:999px;font-size:.75rem;font-weight:700;padding:.15rem .55rem}.xp-pill.negative{background:var(--danger-dim);color:var(--danger);border-color:#f871714d}.streak-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.8rem;font-weight:700;color:var(--warning)}.streak-badge svg{flex-shrink:0}.tag{display:inline-block;font-size:.7rem;padding:.15rem .45rem;border-radius:999px;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.divider{border:none;border-top:1px solid var(--border);margin:.75rem 0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.empty-state .icon{font-size:2.5rem;margin-bottom:.5rem}.action-item{display:flex;align-items:center;gap:.75rem;padding:.9rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition),opacity var(--transition)}.action-item.done{opacity:.6;border-color:var(--success);background:var(--success-dim)}.action-item.missed{opacity:.5;border-color:var(--danger)}.check-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;transition:all var(--transition)}.check-btn.checked{background:var(--success);border-color:var(--success);color:#000}.check-btn.missed{background:var(--danger-dim);border-color:var(--danger);color:var(--danger)}@keyframes xpPop{0%{opacity:0;transform:translateY(0) scale(.7)}40%{opacity:1;transform:translateY(-20px) scale(1.1)}to{opacity:0;transform:translateY(-40px) scale(.9)}}.xp-pop{position:fixed;pointer-events:none;font-weight:800;font-size:1.1rem;color:var(--success);animation:xpPop .8s ease forwards;z-index:9999}.xp-pop.negative{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal-sheet{background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.5rem;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;animation:slideUp .25s ease}.modal-handle{width:40px;height:4px;background:var(--border);border-radius:999px;margin:0 auto 1.25rem}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem}.row{display:flex;align-items:center;gap:.5rem}.row-between{display:flex;align-items:center;justify-content:space-between}.col{display:flex;flex-direction:column;gap:.2rem}.flex-1{flex:1;min-width:0}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--accent-light)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-sm{font-size:.8rem}.text-xs{font-size:.72rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bold{font-weight:700}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.gap-sm{gap:.4rem}
