:root{--bg-app:#0a0b0e;--bg-app-deep:#050608;--bg-card:#12161c;--bg-card-hover:#181d24;--border-color:#ffffff17;--text-primary:#f4f6f8;--text-secondary:#9aa4b2;--text-muted:#5f6b7a;--glass-bg:#ffffff0b;--glass-bg-hover:#ffffff12;--glass-border:#ffffff17;--c-health:#34d399;--c-fitness:#fb923c;--c-goals:#a78bfa;--c-habits:#f472b6;--c-routine:#38bdf8;--c-streak:#fbbf24;--c-media:#14b8a6;--accent-primary:var(--c-health);--accent-active:var(--c-routine);--accent-success:var(--c-health);--accent-warning:#f59e0b;--accent-danger:#f87171;--accent-active-wash:#38bdf814;--accent-active-glow:#38bdf859;--accent-warning-wash:#f59e0b1a;--shadow-live:0 0 0 1px #38bdf866, 0 24px 60px -24px #38bdf880;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--grid-line:1px solid var(--border-color);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--c-routine);outline-offset:2px;border-radius:var(--radius-sm)}body{background:radial-gradient(circle at 15% -10%, #a78bfa24, transparent 40%), radial-gradient(circle at 90% 8%, #38bdf81a, transparent 35%), radial-gradient(circle at 50% 100%, #fbbf240d, transparent 45%), var(--bg-app);color:var(--text-primary);font-family:var(--font-family);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:14px;line-height:1.5}.layout-container{flex-direction:column;min-height:100vh;display:flex}@media (min-width:768px){.layout-container{flex-direction:row}}.nav-sidebar{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-top:var(--grid-line);padding:0;padding-bottom:env(safe-area-inset-bottom,0);z-index:200;background:#0a0c0ef0;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-logo{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:0;font-size:1.2rem;font-weight:800;display:none}.nav-links{gap:0;width:100%;display:flex}.nav-link{color:var(--text-secondary);letter-spacing:.03em;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;min-height:52px;padding:.6rem .25rem;font-size:.6rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:flex;position:relative}.nav-link:hover{color:var(--text-primary);background-color:#ffffff0a}.nav-link.active{color:var(--nav-dot,var(--c-routine));background-color:#ffffff0a;font-weight:600}.nav-link.active:before{content:"";background:var(--nav-dot,var(--c-routine));height:2px;box-shadow:0 0 8px var(--nav-dot,var(--c-routine));border-radius:0 0 2px 2px;position:absolute;top:0;left:10%;right:10%}.nav-link.active:after{display:none}.nav-link.active svg{stroke-width:2.5px}#nav-link-admin{display:none}.mobile-header{padding:.55rem 1rem;padding-top:calc(.55rem + env(safe-area-inset-top,0));-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-bottom:var(--grid-line);z-index:150;background:#0a0c0ef0;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.mobile-header-logo{letter-spacing:-.02em;color:var(--text-primary);font-size:1.05rem;font-weight:800}.mobile-header-settings{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--text-secondary);transition:color .2s, background-color .2s, transform .12s var(--ease-out-quart);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mobile-header-settings:hover{color:var(--text-primary);background-color:#ffffff0d}.mobile-header-settings:active{transform:scale(.94)}.mobile-header-settings.active{color:var(--c-streak);background-color:#fbbf241a}.mobile-header-settings.active svg{filter:drop-shadow(0 0 6px #fbbf2480)}@media (min-width:768px){.nav-sidebar{border-top:none;border-bottom:none;border-right:var(--grid-line);background:#ffffff08;flex-direction:column;justify-content:flex-start;align-items:stretch;width:240px;height:100vh;padding:1rem;position:sticky;inset:0 auto auto}.nav-logo{margin-bottom:2rem;padding:.5rem 1rem;display:block}.nav-links{flex-direction:column;gap:.25rem;width:auto}.nav-link{border-radius:var(--radius-sm);letter-spacing:0;border:1px solid #0000;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:.6rem;min-height:0;padding:.55rem .75rem;font-size:.95rem}.nav-link.active:before{display:none}.nav-link.active{background-color:var(--glass-bg-hover);border-color:var(--glass-border);color:var(--text-primary)}.nav-link.active:after{content:"";background:var(--nav-dot,var(--c-routine));width:6px;height:6px;box-shadow:0 0 8px var(--nav-dot,var(--c-routine));border-radius:50%;margin-left:auto;display:inline-block}.nav-links{flex:1}#nav-link-admin{color:var(--text-muted);border-top:var(--grid-line);border-radius:0;margin-top:auto;margin-bottom:.25rem;padding-top:.85rem;display:flex}#nav-link-admin.active{color:var(--text-primary);border-color:var(--border-color);background-color:#0000}.mobile-header{display:none}}.main-content{padding:1rem;padding-bottom:calc(52px + env(safe-area-inset-bottom,0) + 1rem);flex:1;max-width:100%;overflow-y:auto}@media (min-width:768px){.main-content{max-width:calc(100vw - 240px);padding:2rem}}.panel{background-color:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem}.panel-live{box-shadow:var(--shadow-live);background:linear-gradient(160deg,#38bdf817,#ffffff0a);border-color:#38bdf866}.panel-header{border-bottom:var(--grid-line);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.panel-title{letter-spacing:-.015em;color:var(--text-primary);font-size:1.1rem;font-weight:700}.btn{background-color:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.9rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.btn:hover{background-color:var(--glass-bg-hover);color:var(--text-primary);border-color:#ffffff2e}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--c-health), #10b981);color:#04231a;border-color:#0000;box-shadow:0 12px 28px -12px #34d3998c}.btn-primary:hover{color:#04231a;box-shadow:0 16px 36px -12px #34d399b3}.btn-active{background:linear-gradient(135deg, var(--c-routine), #0ea5e9);color:#04202e;border-color:#0000;box-shadow:0 12px 28px -12px #38bdf88c}.btn-success{background:linear-gradient(135deg, var(--c-health), #10b981);color:#04231a;border-color:#0000;box-shadow:0 12px 28px -12px #34d3998c}.btn-danger{color:#2e0a0a;background:linear-gradient(135deg,#f87171,#ef4444);border-color:#0000;box-shadow:0 12px 28px -12px #f8717180}.input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background-color:var(--glass-bg);color:var(--text-primary);padding:.55rem .7rem;font-family:inherit;font-size:.85rem;line-height:1.4}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical}.status-badge{letter-spacing:.02em;border-radius:var(--radius-sm);background-color:color-mix(in srgb, currentColor 16%, transparent);border:1px solid color-mix(in srgb, currentColor 35%, transparent);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge:before{content:"";background-color:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 8px}.status-badge.success{color:var(--c-health)}.status-badge.warning{color:var(--accent-warning)}.status-badge.danger{color:var(--accent-danger)}.status-badge.secondary{color:var(--c-routine)}.text-xs{font-size:.75rem}.text-sm{font-size:.85rem}.text-lg{font-size:1.15rem}.text-xl{font-size:1.3rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-muted-color{color:var(--text-muted)}.text-secondary-color{color:var(--text-secondary)}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.level-chip{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);align-items:center;gap:.9rem;padding:.7rem 1.1rem;display:flex}.level-badge{border-radius:var(--radius-sm);background:linear-gradient(145deg, var(--c-streak), #f59e0b);color:#1c1408;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.05rem;font-weight:800;display:flex;box-shadow:0 8px 24px -8px #fbbf248c}.level-meta{flex-direction:column;gap:.35rem;min-width:160px;display:flex}.level-title{color:var(--text-secondary);font-size:.8rem;font-weight:600}.xp-track{background:#ffffff14;border-radius:999px;height:7px;position:relative;overflow:hidden}.xp-fill{background:linear-gradient(90deg, var(--c-streak), var(--c-fitness));border-radius:999px;transition:width .4s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 16px #fbbf2480}.xp-label{color:var(--text-muted);font-size:.72rem}.data-state{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:.35rem;font-size:.68rem;font-weight:600;display:inline-flex}.data-state-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.data-state[data-state=live] .data-state-dot{background:var(--c-health);box-shadow:0 0 8px var(--c-health)}.data-state[data-state=cached] .data-state-dot{background:var(--c-routine);box-shadow:0 0 8px var(--c-routine)}.data-state[data-state=local] .data-state-dot{background:var(--accent-warning);box-shadow:0 0 8px var(--accent-warning)}.data-state[data-state=error] .data-state-dot{background:var(--accent-danger);box-shadow:0 0 8px var(--accent-danger)}.skeleton{background:#ffffff0d;border-radius:8px;position:relative;overflow:hidden}@keyframes skeleton-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);animation:1.3s ease-in-out infinite skeleton-sweep;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.soft-day .btn{padding:.8rem 1.2rem}.soft-day .now-actions .btn{padding:1rem 1.4rem;font-size:1.05rem}.soft-day .stat-card:before{opacity:.16}.soft-day .flame-pulse{animation:none}.now-hero{padding:1.75rem}.now-grid{align-items:center;gap:1.5rem;display:grid}@media (min-width:900px){.now-grid{grid-template-columns:1.5fr 1fr}}.now-eyebrow{align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.now-title{letter-spacing:-.03em;margin-bottom:1rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;line-height:1.05}.now-actions{gap:.65rem;display:flex}.now-actions .btn{padding:.85rem 1.3rem;font-size:1rem}.now-countdown{margin-bottom:.6rem;padding:1.4rem 1rem;font-size:clamp(3rem,8vw,4rem)}.now-sub{text-align:center;color:var(--text-secondary);font-size:.8rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;margin-bottom:1.75rem;display:grid}.stat-card{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:1.4rem 1.5rem;transition:transform .25s,border-color .25s;position:relative;overflow:hidden}.stat-card:before{content:"";filter:blur(50px);opacity:.32;background:var(--glow,var(--c-streak));pointer-events:none;border-radius:50%;width:65%;height:65%;position:absolute;inset:-40% -40% auto auto}.stat-card:hover{border-color:#ffffff2e;transform:translateY(-2px)}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.74rem;font-weight:700;position:relative}.stat-hero{align-items:baseline;gap:.5rem;margin:.5rem 0 .35rem;display:flex;position:relative}.stat-number{letter-spacing:-.04em;font-size:2.6rem;font-weight:800;line-height:1}.stat-unit{color:var(--text-secondary);font-size:1rem;font-weight:600}.stat-sub{color:var(--text-secondary);font-size:.8rem;position:relative}.stat-sub b{color:var(--text-primary)}.ring{width:56px;height:56px;position:absolute;top:1.1rem;right:1.2rem}.ring-track{fill:none;stroke:#ffffff14;stroke-width:5px}.ring-value{fill:none;stroke-width:5px;stroke-linecap:round;transform-origin:50%;filter:drop-shadow(0 0 6px var(--glow,var(--c-routine)));transition:stroke-dashoffset .6s;transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.ring-value,.xp-fill{transition:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tag{letter-spacing:.02em;background:color-mix(in srgb, var(--tag-color,var(--c-routine)) 18%, transparent);color:var(--tag-color,var(--c-routine));border:1px solid color-mix(in srgb, var(--tag-color,var(--c-routine)) 35%, transparent);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.timeline-row{border-radius:var(--radius-md);transition:background .2s ease, border-color .2s ease, opacity .3s var(--ease-out-quart);background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:1rem;margin-bottom:.6rem;padding:.85rem 1rem;display:flex}.timeline-row:hover{background:#ffffff0e}.timeline-row.is-done{opacity:.55}.timeline-time{font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:64px;font-size:.8rem;font-weight:600}.timeline-dot{background:var(--dot-color,var(--c-routine));width:10px;height:10px;box-shadow:0 0 12px var(--dot-color,var(--c-routine));border-radius:50%;flex-shrink:0}.timeline-body{flex:1;min-width:0}.timeline-name{font-size:.92rem;font-weight:700}.timeline-cat{color:var(--text-muted);font-size:.74rem}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.status-pill.is-done{color:var(--c-health);background:#34d3991f}.status-pill.is-skipped{color:var(--accent-danger);background:#f871711f}.status-pill.is-pending{color:var(--text-secondary);background:#ffffff0f}.habit-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.habit-card{border-radius:var(--radius-md);background:#ffffff09;border:1px solid #ffffff12;padding:1rem}.habit-top{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.habit-name{font-size:.85rem;font-weight:700}.habit-flame{color:var(--c-streak);align-items:center;gap:.3rem;font-size:.78rem;font-weight:800;display:inline-flex}.habit-days{gap:.3rem;display:flex}.habit-day{background:#ffffff0f;border-radius:6px;flex:1;height:22px}.habit-day.is-filled{background:var(--fill,var(--c-streak));box-shadow:0 0 10px var(--fill,var(--c-streak))}.cgrid{justify-content:center;gap:4px;margin-top:.35rem;display:flex}.cgrid-week{max-width:30px;animation:.3s both cgrid-in;animation-delay:calc(var(--w,0) * 28ms);flex-direction:column;flex:1;gap:4px;display:flex}@keyframes cgrid-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.cgrid-cell{aspect-ratio:1;background:#ffffff0d;border-radius:5px;width:100%}.cgrid-cell.is-blank{background:0 0}.cgrid-cell.is-empty{background:#ffffff09}.cgrid-cell.l0{background:#ffffff17}.cgrid-cell.l1{background:color-mix(in srgb, var(--cell-color,var(--c-streak)) 30%, transparent)}.cgrid-cell.l2{background:color-mix(in srgb, var(--cell-color,var(--c-streak)) 60%, transparent)}.cgrid-cell.l3{background:color-mix(in srgb, var(--cell-color,var(--c-streak)) 92%, transparent);box-shadow:0 0 8px color-mix(in srgb, var(--cell-color,var(--c-streak)) 45%, transparent)}.cgrid-cell.is-today{outline:1px solid color-mix(in srgb, var(--cell-color,var(--c-streak)) 85%, transparent);outline-offset:1px}.cgrid-chips{flex-wrap:wrap;gap:.35rem;display:flex}.cgrid-chip{letter-spacing:.02em;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.25rem .6rem;font-size:.68rem;font-weight:700;transition:color .15s,background .15s,border-color .15s}.cgrid-chip:hover{color:var(--text-primary)}.cgrid-chip.is-active{background:color-mix(in srgb, var(--chip-color,var(--c-streak)) 18%, transparent);border-color:color-mix(in srgb, var(--chip-color,var(--c-streak)) 40%, transparent);color:var(--chip-color,var(--c-streak))}.cgrid-foot{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.8rem;font-size:.72rem;display:flex}.cgrid-legend{align-items:center;gap:3px;display:inline-flex}.cgrid-legend .cgrid-cell{aspect-ratio:1;width:11px}.readout{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.04em;border-radius:var(--radius-lg);color:#7dd3fc;text-shadow:0 0 24px #38bdf880;background:#00000040;border:1px solid #38bdf840;margin-bottom:1.1rem;padding:1.1rem;font-size:3.2rem;font-weight:800}.note-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:.72rem;font-weight:700}.note-body{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.callout{border-radius:var(--radius-md);background:#a78bfa1a;border:1px solid #a78bfa4d;padding:.9rem 1rem}.callout .note-label{color:#c4b5fd}.callout .note-body{color:var(--text-primary);font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.96)}}@keyframes toast-glow-pulse{0%{opacity:.5;transform:scale(.7)}65%{opacity:.16;transform:scale(1.35)}to{opacity:0;transform:scale(1.6)}}.xp-toast{letter-spacing:-.01em;color:var(--c-streak);background:color-mix(in srgb, var(--c-streak) 14%, var(--glass-bg));border:1px solid color-mix(in srgb, var(--c-streak) 38%, transparent);animation:toast-in .32s var(--ease-out-quint) both;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.1rem;padding:.6rem 1.15rem;font-size:.85rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 36px -16px #fbbf24a6}.xp-toast.is-leaving{animation:toast-out .2s var(--ease-out-quart) both}.xp-toast:before{content:"";border-radius:inherit;background:radial-gradient(circle, var(--c-streak), transparent 68%);opacity:0;pointer-events:none;animation:toast-glow-pulse .7s var(--ease-out-quart) both;position:absolute;inset:-60%}.xp-toast-icon{filter:drop-shadow(0 0 6px);display:inline-flex}@keyframes level-up-burst{0%{transform:scale(1);box-shadow:0 8px 24px -8px #fbbf248c}35%{transform:scale(1.18);box-shadow:0 0 0 10px #fbbf2429,0 0 44px #fbbf24cc}to{transform:scale(1);box-shadow:0 8px 24px -8px #fbbf248c}}.level-badge.is-levelup{animation:level-up-burst 1.1s var(--ease-out-quart)}@keyframes streak-banked{0%{border-color:var(--glass-border)}30%{border-color:color-mix(in srgb, var(--c-streak) 65%, transparent);box-shadow:0 0 42px -6px #fbbf2480}to{border-color:var(--glass-border);box-shadow:none}}.stat-card.is-banked{animation:streak-banked 1.4s var(--ease-out-quart)}@keyframes xp-float{0%{opacity:0;transform:translateY(3px)}20%{opacity:1}to{opacity:0;transform:translateY(-18px)}}.xp-float{color:var(--c-streak);text-shadow:0 0 10px #fbbf2499;animation:xp-float .85s var(--ease-out-quart) both;pointer-events:none;white-space:nowrap;font-size:.72rem;font-weight:800;position:absolute;top:-1rem;right:0}@keyframes flame-breathe{0%,to{filter:drop-shadow(0 0 3px var(--c-streak));opacity:.92}50%{filter:drop-shadow(0 0 9px var(--c-streak));opacity:1}}.flame-pulse{animation:2.8s ease-in-out infinite flame-breathe;display:inline-block}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.habit-card{animation:rise-in .38s var(--ease-out-quart) both;animation-delay:calc(min(var(--i,0), 8) * 55ms)}@keyframes day-fill-in{0%{opacity:0;transform:scaleY(.25)}to{opacity:1;transform:scaleY(1)}}.habit-day.is-filled{transform-origin:bottom;animation:day-fill-in .34s var(--ease-out-quart) both;animation-delay:calc(min(var(--i,0), 8) * 45ms)}@keyframes pill-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.status-pill{animation:pill-pop .2s var(--ease-out-quart) both}@keyframes live-enter{0%{border-color:var(--glass-border);box-shadow:0 0 0 1px #38bdf81f,0 12px 32px -20px #38bdf840}to{box-shadow:var(--shadow-live);border-color:#38bdf866}}.panel-live{animation:live-enter .5s var(--ease-out-quart) both}@keyframes success-ring{0%{box-shadow:0 12px 28px -12px #34d3998c,0 0 #34d39973}70%{box-shadow:0 12px 28px -12px #34d3998c,0 0 0 16px #34d39900}to{box-shadow:0 12px 28px -12px #34d3998c,0 0 #34d39900}}.btn-primary.is-celebrating{animation:success-ring .6s var(--ease-out-quart)}@keyframes generating-pulse{0%,to{box-shadow:0 8px 24px -8px #a78bfa59}50%{box-shadow:0 8px 40px -4px #a78bfaa6,0 0 0 3px #a78bfa1f}}.btn-generating{background:linear-gradient(135deg, var(--c-goals), #8b5cf6);color:#ffffffeb;cursor:default;border-color:#0000;animation:2.2s ease-in-out infinite generating-pulse}.btn-generating:hover{color:#ffffffeb;box-shadow:0 8px 40px -4px #a78bfaa6,0 0 0 3px #a78bfa1f}@keyframes gen-phase-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.gen-phase{animation:gen-phase-in .25s var(--ease-out-quart) both;display:inline-block}@keyframes draft-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.draft-enter{animation:draft-enter .32s var(--ease-out-quart) both;animation-delay:calc(min(var(--i,0), 5) * 60ms)}@keyframes draft-exit{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.96)translateY(-4px)}}.draft-exit{animation:draft-exit .22s var(--ease-out-quart) forwards;pointer-events:none}@keyframes section-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.section-content{animation:section-enter .18s var(--ease-out-quart) both}@media (prefers-reduced-motion:reduce){.btn-generating,.gen-phase,.draft-enter{animation:none}.draft-exit{opacity:0;animation:none}.section-content{animation:none}}.op-progress{animation:rise-in .28s var(--ease-out-quart) both;margin-top:.7rem;margin-bottom:.85rem}.op-progress:last-child{margin-bottom:0}.op-row{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.45rem;display:flex}.op-phase{color:var(--text-secondary);overflow-wrap:break-word;min-width:0;animation:gen-phase-in .25s var(--ease-out-quart) both;font-size:.8rem;font-weight:600}.op-meta{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-size:.74rem}.op-bar{background:#ffffff12;border-radius:999px;height:6px;position:relative;overflow:hidden}.op-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--op-accent,var(--c-routine)) 70%, #fff 0%), var(--op-accent,var(--c-routine)));height:100%;box-shadow:0 0 12px color-mix(in srgb, var(--op-accent,var(--c-routine)) 55%, transparent);transition:width .45s var(--ease-out-quart);border-radius:999px;min-width:6px}@keyframes op-sweep{0%{transform:translate(-110%)}to{transform:translate(320%)}}.op-fill.op-indeterminate{width:34%;animation:1.4s ease-in-out infinite op-sweep}@keyframes op-bloom{0%{box-shadow:0 0 12px color-mix(in srgb, var(--op-accent,var(--c-routine)) 55%, transparent)}45%{box-shadow:0 0 26px color-mix(in srgb, var(--op-accent,var(--c-routine)) 90%, transparent)}to{box-shadow:0 0 12px color-mix(in srgb, var(--op-accent,var(--c-routine)) 45%, transparent)}}.op-progress[data-status=success] .op-fill,.ops-tray-item[data-status=success] .op-fill{animation:op-bloom .9s var(--ease-out-quart) both}.op-progress[data-status=success] .op-phase{color:var(--text-primary)}.op-metric{color:var(--op-accent,var(--c-routine));font-variant-numeric:tabular-nums;margin-right:.35rem;font-weight:800}.op-tail{color:var(--text-secondary);font-weight:500}.op-progress[data-status=error] .op-fill,.ops-tray-item[data-status=error] .op-fill{background:var(--accent-danger);box-shadow:none;opacity:.7}.op-error-text{color:var(--accent-danger)}.quick-log-fab{left:1rem;bottom:calc(52px + env(safe-area-inset-bottom,0px) + .9rem);border:1px solid color-mix(in srgb, var(--c-health) 45%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--c-health) 24%, #0c0e12eb), #0c0e12eb);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);width:48px;height:48px;color:var(--c-health);cursor:pointer;z-index:300;box-shadow:0 10px 30px -12px color-mix(in srgb, var(--c-health) 60%, transparent);transition:transform .15s var(--ease-out-quart), box-shadow .2s;border-radius:50%;font-size:1.5rem;font-weight:600;line-height:1;position:fixed}.quick-log-fab:hover{box-shadow:0 14px 36px -12px color-mix(in srgb, var(--c-health) 80%, transparent)}.quick-log-fab:active{transform:scale(.94)}@media (min-width:768px){.quick-log-fab{bottom:1.25rem;left:calc(240px + 1.25rem)}}.quick-log-sheet{left:1rem;bottom:calc(52px + env(safe-area-inset-bottom,0px) + .9rem + 58px);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);z-index:300;width:min(340px,100vw - 2rem);animation:toast-in .28s var(--ease-out-quint) both;background:#0c0e12f0;flex-direction:column;gap:.8rem;padding:1rem;display:flex;position:fixed}@media (min-width:768px){.quick-log-sheet{bottom:calc(1.25rem + 58px);left:calc(240px + 1.25rem)}}.quick-log-head{justify-content:space-between;align-items:center;display:flex}.quick-log-row{align-items:flex-end;gap:.6rem;display:flex}.quick-log-control{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.quick-log-step{padding:.35rem .7rem;font-size:.9rem;line-height:1}.quick-log-value{font-variant-numeric:tabular-nums;text-align:center;min-width:58px;font-size:.9rem;font-weight:700}.quick-log-save{flex-shrink:0;min-width:74px;padding:.5rem .85rem;font-size:.8rem}.ops-tray{right:1rem;bottom:calc(52px + env(safe-area-inset-bottom,0px) + .9rem);z-index:300;flex-direction:column;gap:.6rem;width:min(320px,100vw - 2rem);display:flex;position:fixed}@media (min-width:768px){.ops-tray{bottom:1.25rem;right:1.25rem}}.ops-tray-item{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid var(--glass-border);border-radius:var(--radius-md);animation:toast-in .32s var(--ease-out-quint) both;background:#0c0e12eb;padding:.75rem .9rem}.ops-tray-item[data-status=running]{border-color:color-mix(in srgb, var(--op-accent,var(--c-routine)) 30%, transparent)}.ops-tray-head{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.ops-tray-dot{background:var(--op-accent,var(--c-routine));width:7px;height:7px;box-shadow:0 0 8px var(--op-accent,var(--c-routine));border-radius:50%;flex-shrink:0}.ops-tray-label{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;font-weight:700;overflow:hidden}.ops-tray-count{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;font-size:.72rem}.ops-tray-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:.1rem .3rem;font-size:1rem;line-height:1}.ops-tray-close:hover{color:var(--text-primary);background:#ffffff14}.ops-tray-phase{color:var(--text-secondary);overflow-wrap:break-word;margin-top:.45rem;font-size:.74rem}@media (prefers-reduced-motion:reduce){.op-fill.op-indeterminate{opacity:.35;width:100%;animation:none;transform:none}.op-progress,.ops-tray-item,.op-phase{animation:none}}
