/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties;.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-\[5px\]{top:5px;right:5px;bottom:5px;left:5px}.top-1\/4{top:25%}.top-\[-2px\]{top:-2px}.top-\[calc\(50\%-50px\)\]{top:calc(50% - 50px)}.right-\[4px\]{right:4px}.bottom-1\/4{bottom:25%}.left-1\/2{left:50%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[9999\]{z-index:9999}.z-\[10000\]{z-index:10000}.col-span-7{grid-column:span 7 / span 7}.container{width:100%}.mx-auto{margin-inline:auto}.mt-\[-2px\]{margin-top:-2px}.mt-\[-20px\]{margin-top:-20px}.mt-\[10px\]{margin-top:10px}.mr-\[3px\]{margin-right:3px}.mb-\[10px\]{margin-bottom:10px}.ml-\[6px\]{margin-left:6px}.ml-\[10px\]{margin-left:10px}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1 / 1}.h-\[10px\]{height:10px}.h-\[40vh\]{height:40vh}.h-\[80px\]{height:80px}.h-\[100dvh\]{height:100dvh}.h-\[300px\]{height:300px}.h-\[env\(safe-area-inset-bottom\)\]{height:env(safe-area-inset-bottom)}.h-full{height:100%}.h-px{height:1px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(85vh-90px\)\]{max-height:calc(85vh - 90px)}.max-h-\[calc\(90vh-100px\)\]{max-height:calc(90vh - 100px)}.min-h-\[12px\]{min-height:12px}.min-h-screen{min-height:100vh}.w-\[400px\]{width:400px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-full{width:100%}.max-w-\[300px\]{max-width:300px}.min-w-\[4rem\]{min-width:4rem}.min-w-\[12px\]{min-width:12px}.min-w-\[100px\]{min-width:100px}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[8px\]{--tw-translate-y: -8px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-3{rotate:3deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-\[5px\]{gap:5px}.gap-\[10px\]{gap:10px}.space-y-\[10px\] :where(>:not(:last-child)){--tw-space-y-reverse: 0;margin-block-start:calc(10px * var(--tw-space-y-reverse));margin-block-end:calc(10px * calc(1 - var(--tw-space-y-reverse)))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-\[1\.2rem\]{border-radius:1.2rem}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[1\.8rem\]{border-radius:1.8rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[1rem\]{border-radius:1rem}.rounded-\[2\.2rem\]{border-radius:2.2rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[3rem\]{border-radius:3rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-t-\[2rem\]{border-top-left-radius:2rem;border-top-right-radius:2rem}.rounded-r-full{border-top-right-radius:calc(infinity * 1px);border-bottom-right-radius:calc(infinity * 1px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style: dashed;border-style:dashed}.border-none{--tw-border-style: none;border-style:none}.border-\[var\(--color-anomaly\)\]{border-color:var(--color-anomaly)}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-primary\)\]\/10{border-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-primary\)\]\/10{border-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.border-\[var\(--color-primary\)\]\/20{border-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-primary\)\]\/20{border-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.border-\[var\(--color-primary\)\]\/30{border-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-primary\)\]\/30{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.border-\[var\(--color-primary\)\]\/40{border-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-primary\)\]\/40{border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}.border-\[var\(--color-text-secondary\)\]\/5{border-color:var(--color-text-secondary)}@supports (color: color-mix(in lab,red,red)){.border-\[var\(--color-text-secondary\)\]\/5{border-color:color-mix(in oklab,var(--color-text-secondary) 5%,transparent)}}.bg-\[var\(--color-background\)\]{background-color:var(--color-background)}.bg-\[var\(--color-card\)\]{background-color:var(--color-card)}.bg-\[var\(--color-primary\)\],.bg-\[var\(--color-primary\)\]\/5{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-primary\)\]\/5{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.bg-\[var\(--color-primary\)\]\/10{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-primary\)\]\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-\[var\(--color-primary\)\]\/15{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-primary\)\]\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-\[var\(--color-primary\)\]\/20{background-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-primary\)\]\/20{background-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--color-text-secondary\)\]\/5{background-color:var(--color-text-secondary)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-text-secondary\)\]\/5{background-color:color-mix(in oklab,var(--color-text-secondary) 5%,transparent)}}.bg-\[var\(--color-text-secondary\)\]\/25{background-color:var(--color-text-secondary)}@supports (color: color-mix(in lab,red,red)){.bg-\[var\(--color-text-secondary\)\]\/25{background-color:color-mix(in oklab,var(--color-text-secondary) 25%,transparent)}}.bg-current{background-color:currentcolor}.bg-gradient-to-b{--tw-gradient-position: to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position: to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position: to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position: to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--color-background\)\]{--tw-gradient-from: var(--color-background);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[var\(--color-border\)\]{--tw-gradient-from: var(--color-border);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[var\(--color-primary\)\],.from-\[var\(--color-primary\)\]\/5{--tw-gradient-from: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-\[var\(--color-primary\)\]\/5{--tw-gradient-from: color-mix(in oklab, var(--color-primary) 5%, transparent)}}.from-\[var\(--color-primary\)\]\/8{--tw-gradient-from: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-\[var\(--color-primary\)\]\/8{--tw-gradient-from: color-mix(in oklab, var(--color-primary) 8%, transparent)}}.from-\[var\(--color-primary\)\]\/10{--tw-gradient-from: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-\[var\(--color-primary\)\]\/10{--tw-gradient-from: color-mix(in oklab, var(--color-primary) 10%, transparent)}}.from-\[var\(--color-primary\)\]\/20{--tw-gradient-from: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-\[var\(--color-primary\)\]\/20{--tw-gradient-from: color-mix(in oklab, var(--color-primary) 20%, transparent)}}.from-\[var\(--color-primary\)\]\/40{--tw-gradient-from: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.from-\[var\(--color-primary\)\]\/40{--tw-gradient-from: color-mix(in oklab, var(--color-primary) 40%, transparent)}}.from-\[var\(--color-surface\)\]{--tw-gradient-from: var(--color-surface);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-\[var\(--color-text-primary\)\]{--tw-gradient-from: var(--color-text-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[var\(--color-primary\)\]{--tw-gradient-via: var(--color-primary);--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via: transparent;--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-via-stops)}.to-\[var\(--color-primary\)\],.to-\[var\(--color-primary\)\]\/5{--tw-gradient-to: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.to-\[var\(--color-primary\)\]\/5{--tw-gradient-to: color-mix(in oklab, var(--color-primary) 5%, transparent)}}.to-\[var\(--color-primary\)\]\/20{--tw-gradient-to: var(--color-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.to-\[var\(--color-primary\)\]\/20{--tw-gradient-to: color-mix(in oklab, var(--color-primary) 20%, transparent)}}.to-\[var\(--color-primary-light\)\]{--tw-gradient-to: var(--color-primary-light);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[var\(--color-surface\)\]{--tw-gradient-to: var(--color-surface);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[var\(--color-text-primary\)\]\/70{--tw-gradient-to: var(--color-text-primary);--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}@supports (color: color-mix(in lab,red,red)){.to-\[var\(--color-text-primary\)\]\/70{--tw-gradient-to: color-mix(in oklab, var(--color-text-primary) 70%, transparent)}}.to-transparent{--tw-gradient-to: transparent;--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-\[1px\]{padding:1px}.p-\[5px\]{padding:5px}.px-\[5px\]{padding-inline:5px}.px-\[10px\]{padding-inline:10px}.py-\[5px\]{padding-block:5px}.py-\[6px\]{padding-block:6px}.py-\[8px\]{padding-block:8px}.py-\[10px\]{padding-block:10px}.pt-\[10px\]{padding-top:10px}.pb-\[10px\]{padding-bottom:10px}.pl-\[14px\]{padding-left:14px}.text-center{text-align:center}.text-right{text-align:right}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[23px\]{font-size:23px}.text-\[24px\]{font-size:24px}.text-\[30px\]{font-size:30px}.leading-none{--tw-leading: 1;line-height:1}.tracking-\[0\.1em\]{--tw-tracking: .1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking: .2em;letter-spacing:.2em}.tracking-\[0\.3em\]{--tw-tracking: .3em;letter-spacing:.3em}.tracking-\[0\.4em\]{--tw-tracking: .4em;letter-spacing:.4em}.tracking-\[0\.15em\]{--tw-tracking: .15em;letter-spacing:.15em}.tracking-\[0\.25em\]{--tw-tracking: .25em;letter-spacing:.25em}.text-\[var\(--color-anomaly\)\]{color:var(--color-anomaly)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-transparent{color:transparent}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.opacity-0{opacity:0%}.opacity-5{opacity:5%}.opacity-10{opacity:10%}.opacity-20{opacity:20%}.opacity-30{opacity:30%}.opacity-40{opacity:40%}.opacity-50{opacity:50%}.opacity-60{opacity:60%}.opacity-80{opacity:80%}.opacity-90{opacity:90%}.opacity-\[0\.05\]{opacity:.05}.shadow-\[var\(--color-primary\)\]\/20{--tw-shadow-alpha: 20%;--tw-shadow: var(--color-primary);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--color-primary\)\]\/30{--tw-shadow-alpha: 30%;--tw-shadow: var(--color-primary);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_15px_var\(--color-glow-strong\)\]{--tw-shadow: 0 0 15px var(--tw-shadow-color, var(--color-glow-strong));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_30px_var\(--color-glow-strong\)\]{--tw-shadow: 0 0 30px var(--tw-shadow-color, var(--color-glow-strong));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[var\(--color-primary\)\]{--tw-ring-color: var(--color-primary)}.ring-offset-2{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--color-surface\)\]{--tw-ring-offset-color: var(--color-surface)}.blur-\[100px\]{--tw-blur: blur(100px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_0_3px_rgba\(251\,191\,36\,0\.5\)\]{--tw-drop-shadow-size: drop-shadow(0 0 3px var(--tw-drop-shadow-color, rgba(251,191,36,.5)));--tw-drop-shadow: var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_var\(--color-primary\)\]{--tw-drop-shadow-size: drop-shadow(0 0 8px var(--tw-drop-shadow-color, var(--color-primary)));--tw-drop-shadow: var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, ease);transition-duration:var(--tw-duration, 0s)}.duration-200{--tw-duration: .2s;transition-duration:.2s}.duration-300{--tw-duration: .3s;transition-duration:.3s}.duration-500{--tw-duration: .5s;transition-duration:.5s}.duration-700{--tw-duration: .7s;transition-duration:.7s}.duration-3000{--tw-duration: 3s;transition-duration:3s}.outline-none{--tw-outline-style: none;outline-style:none}@media (hover: hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover: hover){.group-hover\:-rotate-6:is(:where(.group):hover *){rotate:-6deg}}@media (hover: hover){.group-hover\:text-\[var\(--color-primary\)\]:is(:where(.group):hover *){color:var(--color-primary)}}@media (hover: hover){.group-hover\:opacity-90:is(:where(.group):hover *){opacity:90%}}@media (hover: hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:100%}}.placeholder\:text-\[var\(--color-text-secondary\)\]\/50::-moz-placeholder{color:var(--color-text-secondary)}.placeholder\:text-\[var\(--color-text-secondary\)\]\/50::placeholder{color:var(--color-text-secondary)}@supports (color: color-mix(in lab,red,red)){{color:color-mix(in oklab,var(--color-text-secondary) 50%,transparent)}}@media (hover: hover){.hover\:scale-105:hover{--tw-scale-x: 105%;--tw-scale-y: 105%;--tw-scale-z: 105%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover: hover){.hover\:scale-110:hover{--tw-scale-x: 110%;--tw-scale-y: 110%;--tw-scale-z: 110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}@media (hover: hover){.hover\:scale-\[1\.01\]:hover{scale:1.01}}@media (hover: hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}}@media (hover: hover){.hover\:rotate-0:hover{rotate:0deg}}@media (hover: hover){.hover\:bg-\[var\(--color-text-secondary\)\]\/10:hover{background-color:var(--color-text-secondary)}@supports (color: color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-text-secondary\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-text-secondary) 10%,transparent)}}}@media (hover: hover){.hover\:text-\[var\(--color-primary\)\]:hover{color:var(--color-primary)}}@media (hover: hover){.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}}@media (hover: hover){.hover\:shadow-\[var\(--color-primary\)\]\/10:hover{--tw-shadow-alpha: 10%;--tw-shadow: var(--color-primary);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-1:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--color-primary\)\]:focus{--tw-ring-color: var(--color-primary)}.focus\:outline-none:focus{--tw-outline-style: none;outline-style:none}.active\:scale-90:active{--tw-scale-x: 90%;--tw-scale-y: 90%;--tw-scale-z: 90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x: 95%;--tw-scale-y: 95%;--tw-scale-z: 95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-97:active{--tw-scale-x: 97%;--tw-scale-y: 97%;--tw-scale-z: 97%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-98:active{--tw-scale-x: 98%;--tw-scale-y: 98%;--tw-scale-z: 98%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:50%}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;outline:none}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;display:inline-block}body{margin:0;min-height:100vh;background:var(--color-background);background-image:radial-gradient(ellipse 100% 80% at 50% -30%,var(--bg-pattern-1),transparent 50%),radial-gradient(ellipse 80% 60% at 50% 110%,var(--bg-pattern-2),transparent 40%),radial-gradient(circle at 80% 50%,var(--bg-pattern-3),transparent 30%);color:var(--color-text-primary);overflow-x:hidden;scroll-behavior:smooth;max-width:100vw;-webkit-tap-highlight-color:transparent}@media (max-width: 768px){body{font-size:14px}}html,body{overflow-x:hidden;position:relative}.font-mono-numbers{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-weight:300;letter-spacing:-.03em}.font-display{font-family:var(--font-family-display);font-weight:600;letter-spacing:-.025em}svg.lucide{stroke-width:var(--icon-stroke-width)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8b5cf680}::-moz-selection{background:var(--color-primary);color:#fff}::selection{background:var(--color-primary);color:#fff}.pb-safe{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}@supports (padding-bottom: env(safe-area-inset-bottom)){.pb-safe{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}}.bottom-nav-container{min-height:80px;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:9999;pointer-events:none}.bottom-nav-wrapper>*{pointer-events:auto}.fixed.bottom-0{position:fixed!important;bottom:0!important}[class*=motion-div]{isolation:isolate}@keyframes ring-breathe{0%,to{transform:scale(1);filter:drop-shadow(0 0 30px var(--color-glow-strong)) drop-shadow(0 0 60px var(--color-glow))}50%{transform:scale(1.02);filter:drop-shadow(0 0 50px var(--color-glow-intense)) drop-shadow(0 0 100px var(--color-glow-strong))}}@keyframes ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}@keyframes gentle-sway{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(3px) rotate(.5deg)}75%{transform:translate(-3px) rotate(-.5deg)}}@keyframes petal-fall{0%{transform:translateY(-20px) translate(0) rotate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(100vh) translate(30px) rotate(180deg);opacity:0}}@keyframes soft-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.95}}@keyframes heart-beat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.05)}20%,40%{transform:scale(1)}}@keyframes drift{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes mesh-float{0%,to{transform:translate(0) scale(1);opacity:1}25%{transform:translate(10px,-15px) scale(1.02);opacity:.95}50%{transform:translate(-5px,10px) scale(1.01);opacity:.98}75%{transform:translate(15px,5px) scale(1.01);opacity:.96}}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes badge-pulse{0%,to{box-shadow:0 0 20px var(--color-glow),inset 0 1px #ffffff1a}50%{box-shadow:0 0 40px var(--color-glow-strong),inset 0 1px #ffffff26}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes progress-shine{0%{left:-100%}to{left:200%}}@keyframes period-glow{0%,to{box-shadow:inset 0 0 20px var(--color-primary) / 10}50%{box-shadow:inset 0 0 30px var(--color-primary) / 20}}:root{--ring-pulse-duration: 4s;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #8B5CF6;--color-primary-rgb: 139, 92, 246;--color-primary-light: #A78BFA;--color-primary-dark: #7C3AED;--color-glow: rgba(139, 92, 246, .2);--color-glow-strong: rgba(139, 92, 246, .6);--color-glow-intense: rgba(139, 92, 246, .9);--color-anomaly: #F43F5E;--color-success: #10B981;--gradient-menstrual-stops: #0D9488, #5EEAD4, #14B8A6, #0D9488;--gradient-follicular-stops: #22C55E, #86EFAC, #4ADE80, #22C55E;--gradient-ovulatory-stops: #F59E0B, #FCD34D, #FBBF24, #F59E0B;--gradient-luteal-stops: #8B5CF6, #C4B5FD, #A78BFA, #8B5CF6;--bg-pattern-1: rgba(139, 92, 246, .15);--bg-pattern-2: rgba(139, 92, 246, .1);--bg-pattern-3: rgba(139, 92, 246, .05)}:root[data-theme=tech]{--color-background: #050508;--color-surface: #0f0f14;--color-surface-elevated: #16161d;--color-text-primary: #FFFFFF;--color-text-secondary: #8b8b9e;--color-border: #1e1e2a;--glass-bg: linear-gradient(165deg, rgba(20, 20, 30, .95) 0%, rgba(15, 15, 22, .9) 50%, rgba(10, 10, 18, .85) 100%);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5);--font-family-display: "Inter", system-ui, -apple-system, sans-serif;--icon-stroke-width: 2px}:root[data-theme=classic]{--color-background: #FFFBF9;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-text-primary: #452721;--color-text-secondary: #8C736C;--color-border: #F3EAE7;--glass-bg: linear-gradient(165deg, rgba(255, 255, 255, .8) 0%, rgba(255, 251, 249, .6) 50%, rgba(255, 255, 255, .7) 100%);--glass-border: rgba(69, 39, 33, .08);--glass-shadow: 0 25px 50px -12px rgba(69, 39, 33, .05);--color-glow: rgba(244, 167, 157, .15);--color-glow-strong: rgba(244, 167, 157, .4);--color-glow-intense: rgba(244, 167, 157, .6);--font-family-display: "Playfair Display", serif;--icon-stroke-width: 1.5px;--bg-pattern-1: rgba(244, 167, 157, .08);--bg-pattern-2: rgba(244, 167, 157, .05);--bg-pattern-3: rgba(244, 167, 157, .03);--gradient-menstrual-stops: #E29587, #F7BEB5, #D17E72, #E29587;--gradient-follicular-stops: #F9D6D1, #FFE4E1, #F0B0AB, #F9D6D1;--gradient-ovulatory-stops: #FB7185, #FDA4B0, #E15A6E, #FB7185;--gradient-luteal-stops: #DBC1AD, #EBD4C1, #C4AFA0, #DBC1AD}:root[data-theme=iconic]{--color-background: #FFFFFF;--color-surface: #FFF5F7;--color-surface-elevated: #FFFFFF;--color-text-primary: #1F2937;--color-text-secondary: #4B5563;--color-border: #FFDBE3;--glass-bg: linear-gradient(165deg, rgba(255, 255, 255, .9) 0%, rgba(255, 245, 247, .8) 100%);--glass-border: rgba(255, 90, 121, .1);--glass-shadow: 0 20px 40px -10px rgba(255, 90, 121, .1);--color-glow: rgba(255, 90, 121, .15);--color-glow-strong: rgba(255, 90, 121, .3);--color-glow-intense: rgba(255, 90, 121, .5);--font-family-display: "Instrument Sans", "Inter", sans-serif;--icon-stroke-width: 2px;--bg-pattern-1: rgba(255, 90, 121, .05);--bg-pattern-2: rgba(255, 90, 121, .03);--bg-pattern-3: rgba(255, 90, 121, .02);--gradient-menstrual-stops: #FF5A79, #FF8BA0, #D93D5E, #FF5A79;--gradient-follicular-stops: #FF8FA3, #FFB3C0, #E06078, #FF8FA3;--gradient-ovulatory-stops: #FF2D55, #FF6685, #CC0029, #FF2D55;--gradient-luteal-stops: #FFC2CD, #FFE0E6, #E098A8, #FFC2CD}:root[data-theme=biolume]{--color-background: #08080C;--color-surface: #14141A;--color-surface-elevated: #1A1A24;--color-text-primary: #F8FAFC;--color-text-secondary: #94A3B8;--color-border: rgba(79, 209, 217, .2);--glass-bg: linear-gradient(165deg, rgba(20, 20, 26, .6) 0%, rgba(20, 20, 26, .4) 100%);--glass-border: rgba(255, 255, 255, .05);--glass-shadow: 0 0 20px -5px rgba(242, 78, 133, .2), 0 10px 40px -10px rgba(0, 0, 0, .5);--color-glow: rgba(242, 78, 133, .3);--color-glow-strong: rgba(242, 78, 133, .5);--color-glow-intense: rgba(242, 78, 133, .8);--font-family-display: "Inter", sans-serif;--icon-stroke-width: 1.5px;--bg-pattern-1: transparent;--bg-pattern-2: transparent;--bg-pattern-3: transparent;--gradient-menstrual-stops: #4FD1D9, #A5F3FC, #0891B2, #4FD1D9;--gradient-follicular-stops: #D98B7E, #FDBA74, #9A3412, #D98B7E;--gradient-ovulatory-stops: #F24E85, #F472B6, #BE185D, #F24E85;--gradient-luteal-stops: #D8B4FE, #E9D5FF, #7E22CE, #D8B4FE}:root[data-theme=blossom]{--color-background: #FFFAF8;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-text-primary: #1A171A;--color-text-secondary: #6A5D6B;--color-border: rgba(255, 105, 180, .15);--glass-bg: linear-gradient(135deg, rgba(255, 255, 255, .95) 0%, rgba(255, 250, 254, .92) 50%, rgba(255, 255, 255, .95) 100%);--glass-border: rgba(255, 105, 180, .18);--glass-shadow: 0 20px 60px -15px rgba(255, 105, 180, .25), 0 10px 40px -10px rgba(216, 180, 254, .15), 0 0 0 1px rgba(255, 255, 255, .5);--color-glow: rgba(255, 105, 180, .3);--color-glow-strong: rgba(255, 105, 180, .6);--color-glow-intense: rgba(255, 105, 180, .85);--font-family-display: "Inter", system-ui, -apple-system, sans-serif;--icon-stroke-width: 2px;--bg-pattern-1: rgba(255, 105, 180, .08);--bg-pattern-2: rgba(216, 180, 254, .06);--bg-pattern-3: rgba(135, 206, 235, .04);--gradient-menstrual-stops: #FF6B9D, #FFA6C1, #FF4D8F, #FF6B9D;--gradient-follicular-stops: #FFC4D6, #FFE5EC, #FFB3CC, #FFC4D6;--gradient-ovulatory-stops: #FF1493, #FF69B4, #C71585, #FF1493;--gradient-luteal-stops: #C77DFF, #E0AAFF, #B565FF, #C77DFF}:root[data-theme=blossom]{font-feature-settings:"liga" 1,"calt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=blossom] h1,:root[data-theme=blossom] h2,:root[data-theme=blossom] h3{letter-spacing:-.02em}:root[data-theme=blossom] ::-moz-selection{background:#ff149340;color:var(--color-text-primary)}:root[data-theme=blossom] ::selection{background:#ff149340;color:var(--color-text-primary)}:root[data-theme=blossom] ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffb6c166,#d8b4fe66);border-radius:3px}:root[data-theme=blossom] ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffb6c199,#d8b4fe99)}body:has([data-theme=blossom]){background:#fffaf8;position:relative;overflow-x:hidden}body:has([data-theme=blossom]):before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,105,180,.15),transparent 70%),radial-gradient(ellipse 60% 50% at 80% 50%,rgba(199,125,255,.12),transparent 70%),radial-gradient(ellipse 50% 60% at 20% 80%,rgba(255,182,193,.1),transparent 70%),radial-gradient(circle at 50% 120%,rgba(216,180,254,.08),transparent 50%);pointer-events:none;z-index:0;animation:mesh-float 20s ease-in-out infinite}body:has([data-theme=biolume]){background-image:radial-gradient(at 80% 20%,#3A243B 0px,transparent 50%),radial-gradient(at 20% 80%,#4FD1D9 0px,transparent 40%),radial-gradient(at 50% 50%,#F24E85 0px,transparent 30%);background-attachment:fixed}.glow-effect{filter:drop-shadow(0 0 20px var(--color-glow-strong)) drop-shadow(0 0 40px var(--color-glow)) drop-shadow(0 0 80px var(--color-glow))}.glow-subtle{box-shadow:0 0 40px var(--color-glow),0 0 80px #8b5cf61a,inset 0 0 30px #ffffff05}.glow-intense{box-shadow:0 0 60px var(--color-glow-strong),0 0 120px var(--color-glow),0 4px 30px #00000080,inset 0 1px #ffffff1a}.custom-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(90deg,#ff69b426,#ff69b440);border-radius:999px;outline:none;transition:all .3s ease;position:relative}.custom-range:hover{height:8px;background:linear-gradient(90deg,#ff69b433,#ff69b459)}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;background:linear-gradient(135deg,#fff,#f8f8f8);border:3px solid var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:0 4px 15px #ff69b466,0 0 0 4px #ff69b41a,inset 0 2px 4px #fffc;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.custom-range::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 6px 25px #ff69b480,0 0 0 6px #ff69b426,inset 0 2px 4px #ffffffe6}.custom-range::-webkit-slider-thumb:active{transform:scale(1.1);box-shadow:0 2px 10px #ff69b499,0 0 0 8px #ff69b433,inset 0 2px 4px #ffffffe6}.custom-range.range-yellow{background:linear-gradient(90deg,#fbbf2426,#fbbf2440)}.custom-range.range-yellow:hover{background:linear-gradient(90deg,#fbbf2433,#fbbf2459)}.custom-range.range-yellow::-webkit-slider-thumb{border-color:#f59e0b;box-shadow:0 4px 15px #f59e0b66,0 0 0 4px #f59e0b1a,inset 0 2px 4px #fffc}.custom-range.range-yellow::-webkit-slider-thumb:hover{box-shadow:0 6px 25px #f59e0b80,0 0 0 6px #f59e0b26,inset 0 2px 4px #ffffffe6}.glass{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),0 0 0 1px #ffffff08,inset 0 1px #ffffff0f}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px #ffffff0d;transition:all .4s cubic-bezier(.4,0,.2,1)}.glass-card:hover{border-color:#8b5cf64d;box-shadow:0 8px 32px #0000004d,0 0 40px var(--color-glow),inset 0 1px #ffffff14}:root[data-theme=blossom] .glass-card{transition:all .6s cubic-bezier(.4,0,.2,1);will-change:transform;background:linear-gradient(135deg,#fffffff2,#fffafee6);border:1px solid rgba(255,105,180,.12);box-shadow:0 20px 60px -12px #ff69b426,0 8px 24px -8px #c77dff1a,0 0 0 1px #fff9,inset 0 1px #ffffffe6;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}:root[data-theme=blossom] .glass-card:hover{transform:translateY(-4px) scale(1.005);border-color:#ff69b440;box-shadow:0 28px 80px -15px #ff69b440,0 12px 32px -10px #c77dff26,0 0 0 1px #ffffffb3,inset 0 2px 4px #ffffff80}.btn-primary{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 50%,var(--color-primary-light) 100%);background-size:200% 200%;color:#fff!important;animation:gradient-shift 3s ease infinite;box-shadow:0 0 30px var(--color-glow-strong),0 10px 40px -10px var(--color-primary),inset 0 1px #ffffff40;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:none}.btn-primary:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:rotate(45deg)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 50px var(--color-glow-intense),0 20px 60px -10px var(--color-primary),inset 0 1px #ffffff4d}.btn-primary:active{transform:translateY(0) scale(.98)}:root[data-theme=blossom] .btn-primary{animation:soft-pulse 3s ease-in-out infinite;background:linear-gradient(135deg,#ff1493,#ff69b4,#ff8fcc);background-size:200% 200%;color:#fff!important;box-shadow:0 8px 32px #ff149359,0 4px 16px #ff69b440,0 0 0 1px #ffffff4d,inset 0 1px 2px #fff6,inset 0 -1px 2px #0000000d;border:none;font-weight:700;letter-spacing:.3px;overflow:hidden}:root[data-theme=blossom] .btn-primary:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}:root[data-theme=blossom] .btn-primary:hover:after{opacity:1}:root[data-theme=blossom] .btn-primary:hover{background-position:100% 50%;box-shadow:0 12px 48px #ff149373,0 6px 24px #ff69b459,0 0 0 1px #fff6,inset 0 2px 4px #ffffff80,inset 0 -2px 4px #0000000d}.progress-track{background:linear-gradient(90deg,#ffffff05,#ffffff0a);border:1px solid rgba(255,255,255,.05);box-shadow:inset 0 2px 4px #0000004d}.progress-fill{background:linear-gradient(90deg,var(--color-primary-dark) 0%,var(--color-primary) 50%,var(--color-primary-light) 100%);box-shadow:0 0 20px var(--color-glow-strong),0 0 40px var(--color-glow),inset 0 1px #ffffff4d;position:relative}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);border-radius:inherit}:root[data-theme=blossom] .progress-track{background:linear-gradient(90deg,#ff69b414,#ff69b41f);border:1px solid rgba(255,105,180,.15);box-shadow:inset 0 2px 4px #ff69b414,0 0 0 1px #ffffff80}:root[data-theme=blossom] .progress-fill{background:linear-gradient(90deg,#ff1493,#ff69b4,#ffa6c1);box-shadow:0 0 20px #ff149380,0 0 40px #ff69b44d,0 2px 8px #ff149340,inset 0 1px #fff6;position:relative;overflow:hidden}:root[data-theme=blossom] .progress-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:progress-shine 2s ease-in-out infinite}.phase-badge{background:linear-gradient(135deg,var(--color-glow) 0%,rgba(139,92,246,.05) 100%);border:1px solid var(--color-primary);color:var(--color-primary-light);text-shadow:0 0 20px var(--color-primary);box-shadow:0 0 30px var(--color-glow),inset 0 1px #ffffff1a;animation:badge-pulse 2s ease-in-out infinite}:root[data-theme=iconic] .phase-badge,:root[data-theme=classic] .phase-badge{color:var(--color-primary-dark);font-weight:600;text-shadow:none;border-width:2px}:root[data-theme=blossom] .phase-badge{position:relative;color:var(--color-primary-dark);font-weight:700;letter-spacing:.5px;text-shadow:none;background:linear-gradient(135deg,#fffffffa,#fff5fcf2);border:none;padding:8px 22px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #ff69b433,0 0 0 1px #ff69b41a,inset 0 1px #ffffffe6}:root[data-theme=blossom] .phase-badge:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1}.metric-card{background:linear-gradient(180deg,#ffffff0a,#ffffff03);border:1px solid rgba(255,255,255,.06);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transition:left .6s ease}.metric-card:hover:before{left:100%}.metric-card:hover{background:linear-gradient(180deg,#ffffff14,#ffffff05);border-color:var(--color-primary);box-shadow:0 0 40px var(--color-glow),inset 0 1px #ffffff1a;transform:translateY(-2px)}:root[data-theme=blossom] .metric-card{animation:gentle-sway 5s ease-in-out infinite;animation-delay:calc(var(--card-index, 0) * .3s);will-change:transform;background:linear-gradient(135deg,#fffffffa,#fffafef2);border:1px solid rgba(255,105,180,.15);box-shadow:0 10px 30px -8px #ff69b426,0 0 0 1px #fff9,inset 0 1px #ffffffe6;position:relative;overflow:hidden}:root[data-theme=blossom] .metric-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,105,180,.08) 0%,transparent 70%);opacity:0;transition:opacity .4s ease}:root[data-theme=blossom] .metric-card:hover:after{opacity:1}:root[data-theme=blossom] .metric-card:hover{background:linear-gradient(135deg,#fff,#fff5fcfa);border-color:#ff69b44d;box-shadow:0 15px 45px -10px #ff69b440,0 5px 15px -5px #c77dff26,0 0 0 1px #fffc,inset 0 2px 4px #ffffff80}.phase-gradient-menstrual{background:conic-gradient(from 0deg,var(--gradient-menstrual-stops))}.phase-gradient-follicular{background:conic-gradient(from 0deg,var(--gradient-follicular-stops))}.phase-gradient-ovulatory{background:conic-gradient(from 0deg,var(--gradient-ovulatory-stops))}.phase-gradient-luteal{background:conic-gradient(from 0deg,var(--gradient-luteal-stops))}.calendar-day{position:relative}.calendar-day:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:inherit;background:transparent}.calendar-day:hover:before{background:linear-gradient(135deg,var(--color-primary)/5,transparent)}.calendar-day.today-highlight{background:linear-gradient(135deg,var(--color-primary)/10,var(--color-primary)/5)}.today-premium{background:var(--color-primary)/20!important;position:relative;z-index:10}.today-premium:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--color-primary) 0%,#EC4899 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.today-premium:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;background:radial-gradient(circle,var(--color-primary) 0%,transparent 70%);opacity:.3;filter:blur(8px);z-index:-1;pointer-events:none}.today-period-premium:after{background:linear-gradient(135deg,#ff1493,#ec4899)!important}.today-period-premium:before{background:radial-gradient(circle,#FF1493 0%,transparent 70%)!important}.today-ovulation-premium:after{background:linear-gradient(135deg,#2dd4bf,#14b8a6)!important}.today-ovulation-premium:before{background:radial-gradient(circle,#2DD4BF 0%,transparent 70%)!important}.calendar-day.period-day{background:linear-gradient(135deg,var(--color-primary)/30 0%,rgba(236,72,153,.25) 50%,var(--color-primary)/30 100%)}.calendar-day.ovulation-day{background:linear-gradient(135deg,#2dd4bf40,#0eb8a633,#2dd4bf40)}.calendar-day.predicted-period-day{background:linear-gradient(135deg,#ec489940,#a78bfa26,#ec489940)}.calendar-day.period-start{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.calendar-day.period-end{border-top-right-radius:1rem;border-bottom-right-radius:1rem}:root[data-theme=blossom] .calendar-day:hover{background:linear-gradient(135deg,#ff149314,#ff69b40d)}:root[data-theme=blossom] .calendar-day.period-day{background:linear-gradient(135deg,#ff14934d,#ff69b440,#c77dff40)}:root[data-theme=blossom] .calendar-day.ovulation-day{background:linear-gradient(135deg,#2dd4bf38,#22d3ee2e,#2dd4bf38)}:root[data-theme=blossom] .calendar-day.predicted-period-day{background:linear-gradient(135deg,#ff69b438,#c77dff2e,#ff69b438)}:root[data-theme=tech] .calendar-day:hover:before{background:linear-gradient(135deg,rgba(139,92,246,.1),transparent)}:root[data-theme=tech] .calendar-day.period-day{background:linear-gradient(135deg,#8b5cf666,#a78bfa40,#8b5cf666)}:root[data-theme=tech] .calendar-day.ovulation-day{background:linear-gradient(135deg,#2dd4bf47,#14b8a638,#2dd4bf47)}:root[data-theme=tech] .calendar-day.predicted-period-day{background:linear-gradient(135deg,#a78bfa40,#8b5cf633,#a78bfa40)}:root[data-theme=blossom] .fixed.bottom-0.border-t{background:#ffffffe6!important;border-top-color:#ff69b41a;box-shadow:0 -1px #ff69b414,0 -8px 24px #ff69b414}.fixed.bottom-0.border-t{box-shadow:0 -1px #0000000d,0 -4px 12px #00000008}.efficiency-ring{animation:ring-breathe var(--ring-pulse-duration) ease-in-out infinite,float 6s ease-in-out infinite}:root[data-theme=blossom] .efficiency-ring{animation:ring-breathe var(--ring-pulse-duration) ease-in-out infinite,drift 10s ease-in-out infinite;filter:drop-shadow(0 0 40px rgba(255,20,147,.4)) drop-shadow(0 0 80px rgba(255,105,180,.25)) drop-shadow(0 10px 40px rgba(199,125,255,.15))}.ring-gradient{animation:ring-rotate 15s linear infinite}.modal-sheet-enter{animation:slideUp .4s cubic-bezier(.16,1,.3,1)}.modal-sheet-exit{animation:slideDown .3s cubic-bezier(.4,0,1,1)}.scrollbar-thin::-webkit-scrollbar{width:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:#ff69b433;border-radius:2px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#ff69b466}.article-content{--li-bullet-size: 8px}.article-h1{line-height:1.1!important;margin-bottom:.5rem!important;letter-spacing:-.03em!important}.article-h2{font-size:1.25rem!important;line-height:1.1!important;margin-top:.75rem!important;margin-bottom:.25rem!important;letter-spacing:-.02em!important;text-shadow:0 10px 20px rgba(0,0,0,.05);display:inline-block;font-weight:900!important}.article-h3{font-size:1.125rem!important;line-height:1.15!important;margin-top:.75rem!important;margin-bottom:.25rem!important;letter-spacing:-.01em!important;opacity:.9;font-weight:800!important}.article-p{font-size:1rem!important;line-height:1.4!important;margin-bottom:.75rem!important;opacity:.85;text-wrap:pretty;font-weight:500!important}.article-list{margin:.75rem 0!important;padding-left:.25rem!important;display:flex;flex-direction:column;gap:.4rem!important;list-style:none!important}.article-li{position:relative;padding-left:1.1rem;font-size:1rem!important;line-height:1.3!important;color:var(--color-text-secondary);font-weight:500!important}.article-li:before{content:"";position:absolute;left:0;top:.5em;width:var(--li-bullet-size);height:var(--li-bullet-size);background:var(--color-primary);border-radius:50%;box-shadow:0 0 10px var(--color-primary)}.article-li strong{color:var(--color-text-primary)}:root[data-theme=blossom] .article-li:before{background:linear-gradient(135deg,#ff1493,#ff69b4);box-shadow:0 0 12px #ff149366}:root[data-theme=tech] .article-li:before{border-radius:2px;transform:rotate(45deg);background:var(--color-primary);box-shadow:0 0 15px var(--color-primary)}.article-content strong{font-weight:800}.article-content em{font-style:italic;color:var(--color-primary)}.animate-slide-up{animation:slideUp .6s cubic-bezier(.16,1,.3,1) both}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@property --tw-translate-x{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-y{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-translate-z{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-space-y-reverse{syntax: "*"; inherits: false; initial-value: 0;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-gradient-position{syntax: "*"; inherits: false;}@property --tw-gradient-from{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-via{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-to{syntax: "<color>"; inherits: false; initial-value: #0000;}@property --tw-gradient-stops{syntax: "*"; inherits: false;}@property --tw-gradient-via-stops{syntax: "*"; inherits: false;}@property --tw-gradient-from-position{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}@property --tw-gradient-via-position{syntax: "<length-percentage>"; inherits: false; initial-value: 50%;}@property --tw-gradient-to-position{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-tracking{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@property --tw-duration{syntax: "*"; inherits: false;}@property --tw-scale-x{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-y{syntax: "*"; inherits: false; initial-value: 1;}@property --tw-scale-z{syntax: "*"; inherits: false; initial-value: 1;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-space-y-reverse: 0;--tw-border-style: solid;--tw-gradient-position: initial;--tw-gradient-from: #0000;--tw-gradient-via: #0000;--tw-gradient-to: #0000;--tw-gradient-stops: initial;--tw-gradient-via-stops: initial;--tw-gradient-from-position: 0%;--tw-gradient-via-position: 50%;--tw-gradient-to-position: 100%;--tw-leading: initial;--tw-tracking: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial;--tw-duration: initial;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1}}}
