.habit-tile[data-v-67a286b6]{--halo-angle:0deg;--halo-opacity:.08;--bloom:0%;aspect-ratio:1;border-radius:19.5%;position:relative;corner-shape:squircle;-webkit-corner-shape:squircle;background:linear-gradient(180deg,oklch(1 0 0/.04) 0,transparent 60%),var(--surface-1);border:1px solid var(--divider);color:inherit;cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-body);justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);text-align:left;transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--tile-lift,0)) scale(var(--tile-press,1));transition:background var(--motion-md) var(--ease-pulse),border-color var(--motion-md) var(--ease-pulse),transform var(--motion-xs) var(--ease-glide),box-shadow var(--motion-md) var(--ease-pulse);view-transition-name:var(--vt-name);width:100%}.habit-tile[data-v-67a286b6]:before{animation:tile-rot-67a286b6 12s linear infinite;background:var(--aurora-grad);border-radius:21%;content:"";inset:-2px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--halo-opacity);padding:2px;pointer-events:none;position:absolute;transition:opacity var(--motion-md) var(--ease-pulse)}@supports (corner-shape:squircle){.habit-tile[data-v-67a286b6]:before{corner-shape:squircle;-webkit-corner-shape:squircle}}@keyframes tile-rot-67a286b6{to{--halo-angle:360deg}}.habit-tile[data-v-67a286b6]:after{border-radius:18%;content:"";inset:1px;position:absolute;corner-shape:squircle;-webkit-corner-shape:squircle;background:radial-gradient(80% 60% at 50% 0,color-mix(in oklch,var(--accent-base) calc(var(--bloom)*.6),transparent),transparent 70%);pointer-events:none;transition:--bloom var(--motion-lg) var(--ease-pulse)}.habit-tile[data-v-67a286b6]:hover{--halo-opacity:calc(.38 + var(--tilt-prox, .5)*.24);--bloom:6%;--tile-lift:-1px;box-shadow:0 4px 12px -4px #1906101a}.habit-tile[data-v-67a286b6]:hover:before{animation-duration:8s}.habit-tile[data-v-67a286b6]:active{--tile-lift:0px;--tile-press:.985}.habit-tile[data-v-67a286b6]:focus-visible{box-shadow:0 0 0 2px var(--surface-0),0 0 0 4px color-mix(in oklch,var(--accent-base) 60%,transparent);outline:none}.habit-tile .top[data-v-67a286b6]{align-items:flex-start;display:flex;justify-content:space-between;position:relative;z-index:1}.habit-tile .icon[data-v-67a286b6]{color:var(--habit-color,var(--fg-2));flex:none}.habit-tile .streak-num[data-v-67a286b6]{color:var(--accent-base);font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"zero","cv11";font-size:13px;font-variant-numeric:tabular-nums;font-variation-settings:"wght" 720;letter-spacing:-.04em;opacity:0;transition:opacity var(--motion-sm) var(--ease-pulse)}.habit-tile .bottom[data-v-67a286b6]{display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.habit-tile .name[data-v-67a286b6]{color:var(--fg-1);font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:var(--text-base);font-variation-settings:"wght" 560;letter-spacing:-.012em}.habit-tile .sub[data-v-67a286b6]{color:var(--fg-3);font-family:Geist Mono,ui-monospace,monospace;font-feature-settings:"zero";font-size:11px;font-variant-numeric:tabular-nums;font-variation-settings:"wght" 460}.habit-tile.is-done[data-v-67a286b6]{--halo-opacity:0;--bloom:16%;background:linear-gradient(180deg,oklch(1 0 0/.04) 0,transparent 60%),color-mix(in oklch,var(--accent-base) 6%,var(--surface-1));border-color:transparent;box-shadow:0 0 18px -8px var(--comet-glow)}.habit-tile.is-done .icon[data-v-67a286b6]{color:var(--habit-color,var(--accent-base))}.habit-tile.is-streak[data-v-67a286b6]{--halo-opacity:1;--bloom:28%;background:linear-gradient(180deg,oklch(1 0 0/.04) 0,transparent 60%),color-mix(in oklch,var(--accent-base) 10%,var(--surface-1));border-color:transparent}.habit-tile.is-streak[data-v-67a286b6]:before{animation:tile-rot-67a286b6 8s linear infinite,tile-breathe-67a286b6 4.8s var(--ease-glide) infinite;animation-delay:0s,var(--beat-delay,0s)}@keyframes tile-breathe-67a286b6{0%,to{opacity:.6}7%{opacity:1}54%{opacity:.78}}.habit-tile.is-streak .icon[data-v-67a286b6]{color:var(--habit-color,var(--accent-base))}.habit-tile.is-streak .streak-num[data-v-67a286b6]{opacity:1}.habit-tile.is-partial[data-v-67a286b6]{--halo-opacity:.2;--bloom:8%;background:linear-gradient(180deg,oklch(1 0 0/.04) 0,transparent 60%),color-mix(in oklch,var(--partial) 6%,var(--surface-1))}.habit-tile.is-partial .icon[data-v-67a286b6]{color:var(--partial)}.habit-tile.is-skipped[data-v-67a286b6]{--halo-opacity:0;background:var(--surface-2);opacity:.62}.habit-tile.is-skipped .icon[data-v-67a286b6]{color:var(--fg-3)}.habit-tile.is-disabled[data-v-67a286b6]{cursor:not-allowed;opacity:.42}.habit-tile.is-disabled[data-v-67a286b6]:before{animation:none}.habit-tile.is-skeleton[data-v-67a286b6]{--halo-opacity:0;animation:pulse-shimmer 1.6s linear infinite;background-color:transparent;background-image:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;cursor:progress}.habit-tile.is-skeleton[data-v-67a286b6]:after,.habit-tile.is-skeleton[data-v-67a286b6]:before{display:none}.habit-tile.is-skeleton .icon[data-v-67a286b6],.habit-tile.is-skeleton .name[data-v-67a286b6],.habit-tile.is-skeleton .streak-num[data-v-67a286b6],.habit-tile.is-skeleton .sub[data-v-67a286b6]{opacity:0}.habit-tile[data-v-67a286b6]{--halo-o:.4}.habit-tile .fx[data-v-67a286b6]{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%;z-index:0}.habit-tile .fx path[data-v-67a286b6]{fill:none;stroke-linecap:round}.habit-tile .fx .shape[data-v-67a286b6]{fill:transparent;stroke:transparent;stroke-linecap:butt;stroke-width:1}.habit-tile .fx .t-glow[data-v-67a286b6]{filter:blur(3px);stroke:var(--comet-glow);stroke-width:6}.habit-tile .fx .t-line[data-v-67a286b6]{stroke-width:2}.habit-tile .fx .tail3[data-v-67a286b6]{opacity:.13;stroke:var(--comet-cool);stroke-width:1.7}.habit-tile .fx .tail2[data-v-67a286b6]{opacity:.3;stroke:color-mix(in oklch,var(--comet-hot) 48%,var(--comet-cool));stroke-width:2}.habit-tile .fx .tail1[data-v-67a286b6]{opacity:.55;stroke:color-mix(in oklch,var(--comet-hot) 78%,var(--comet-cool));stroke-width:2.4}.habit-tile .fx .h-glow[data-v-67a286b6]{filter:blur(3.5px);stroke:var(--comet-glow);stroke-width:8}.habit-tile .fx .h-core[data-v-67a286b6]{stroke:var(--comet-hot);stroke-width:2.8}.habit-tile .fx .h-white[data-v-67a286b6]{opacity:0;stroke:#fffafd;stroke:oklch(.99 .01 347);stroke-width:1.2}.habit-tile .fx .trail[data-v-67a286b6]{filter:blur(2.4px);opacity:0}.habit-tile .fx .mv[data-v-67a286b6]{filter:blur(1.8px);opacity:0}[data-mode=midnight] .habit-tile{--halo-o:.55}[data-mode=dark] .habit-tile{--halo-o:.45}[data-mode=midnight] .habit-tile .fx .t-glow{filter:blur(5px);stroke-width:9}[data-mode=midnight] .habit-tile .fx .h-glow{filter:blur(5px);stroke-width:11}[data-mode=midnight] .habit-tile .fx .h-white{opacity:.95}.habit-tile .halo[data-v-67a286b6]{animation:comet-halo-rot-67a286b6 12s linear infinite;background:conic-gradient(from var(--halo-angle),var(--comet-cool) 0deg,var(--comet-hot) 130deg,var(--comet-cool) 250deg,var(--comet-hot) 1turn);inset:0;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-size:100% 100%;opacity:0;pointer-events:none;position:absolute;z-index:0}@keyframes comet-halo-rot-67a286b6{to{--halo-angle:360deg}}.habit-tile.is-done .halo[data-v-67a286b6]{opacity:var(--halo-o)}.habit-tile.is-streak .halo[data-v-67a286b6]{opacity:0}[data-mode=midnight] .habit-tile.is-done .halo,[data-mode=midnight] .habit-tile.is-run .halo{filter:drop-shadow(0 0 6px color-mix(in oklch,var(--comet-hot) 45%,transparent))}.habit-tile .parts[data-v-67a286b6]{height:127%;left:-13.5%;pointer-events:none;position:absolute;top:-13.5%;width:127%;z-index:3}.habit-tile .fx .flash[data-v-67a286b6]{fill:color-mix(in oklch,var(--comet-hot) 45%,transparent);opacity:0}.habit-tile .fx .flash-g[data-v-67a286b6]{fill:var(--comet-glow);filter:blur(2.5px);opacity:0}.habit-tile .fx .spark[data-v-67a286b6]{fill:var(--comet-hot);opacity:0;transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:no-preference){.habit-tile.is-run .halo[data-v-67a286b6]{opacity:0}.habit-tile.is-run .fx .anim[data-v-67a286b6]{animation:comet-fly-67a286b6 .7s var(--ease-fill) forwards}.habit-tile.is-run .fx .mv[data-v-67a286b6]{animation:comet-mv-in-67a286b6 50ms linear,comet-fade-out-67a286b6 .16s var(--ease-exit) .7s forwards;opacity:1}.habit-tile.is-run .fx .trail[data-v-67a286b6]{animation:comet-fade-out-67a286b6 .24s var(--ease-exit) .85s forwards;opacity:1}.habit-tile.is-run .fx .flash[data-v-67a286b6],.habit-tile.is-run .fx .flash-g[data-v-67a286b6]{animation:comet-seam-flash-67a286b6 .15s var(--ease-pulse) .7s forwards}.habit-tile.is-run .halo[data-v-67a286b6]{animation:comet-halo-rot-67a286b6 12s linear infinite,comet-halo-in-67a286b6 .24s var(--ease-pulse) .85s forwards}.habit-tile.is-run .fx .spark[data-v-67a286b6]{animation:comet-spark-fly-67a286b6 .26s var(--ease-exit) .64s forwards}.habit-tile.is-milestone.is-run .fx .trail[data-v-67a286b6]{animation:comet-fade-out-67a286b6 .32s var(--ease-exit) .85s forwards}.habit-tile.is-milestone.is-run .halo[data-v-67a286b6]{animation:comet-halo-rot-67a286b6 12s linear infinite,comet-halo-in-67a286b6 .32s var(--ease-pulse) .85s forwards}}@media(prefers-reduced-motion:reduce){.habit-tile .fx[data-v-67a286b6]{display:none}.habit-tile .halo[data-v-67a286b6]{animation:none;transition:opacity var(--motion-md) var(--ease-exit)}.habit-tile.is-run .halo[data-v-67a286b6]{opacity:var(--halo-o)}}@keyframes comet-fly-67a286b6{0%{stroke-dashoffset:var(--o0)}to{stroke-dashoffset:var(--o1)}}@keyframes comet-fade-out-67a286b6{to{opacity:0}}@keyframes comet-mv-in-67a286b6{0%{opacity:0}to{opacity:1}}@keyframes comet-halo-in-67a286b6{0%{opacity:0}to{opacity:var(--halo-o)}}@keyframes comet-seam-flash-67a286b6{0%{opacity:0;r:1.5}30%{opacity:1}to{opacity:0;r:10.5}}@keyframes comet-spark-fly-67a286b6{0%{opacity:.95;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.4)}}
