:root{--mx-ease-out:cubic-bezier(0.16,1,0.3,1);--mx-ease-spring:cubic-bezier(0.34,1.56,0.64,1);--mx-ease-cinema:cubic-bezier(0.65,0,0.35,1);--mx-ease-io:cubic-bezier(0.4,0,0.2,1);--mx-fast:160ms;--mx-base:400ms;--mx-scene:700ms;--mx-story:1200ms;--mx-glare:hsla(0,0%,100%,.22);--mx-shadow-3d:0 40px 80px -24px rgba(0,0,0,.35),0 18px 36px -18px rgba(0,0,0,.28)}.dark{--mx-glare:hsla(0,0%,100%,.1);--mx-shadow-3d:0 40px 90px -20px rgba(0,0,0,.7),0 16px 32px -16px rgba(0,0,0,.55)}.mx-scene{content-visibility:auto;contain-intrinsic-size:auto 640px}.mx-scene [data-anim]{animation-play-state:paused}.mx-scene.is-live [data-anim]{animation-play-state:running}.mx-reveal{opacity:0;transform:translateY(var(--mx-y,18px)) scale(var(--mx-s,1));transition:opacity var(--mx-scene) var(--mx-ease-out),transform var(--mx-scene) var(--mx-ease-out);transition-delay:var(--mx-d,0ms);will-change:opacity,transform}.mx-reveal.is-inview{opacity:1;transform:translateY(0) scale(1)}.mx-seq>*{opacity:0;transform:translateY(14px);transition:opacity var(--mx-base) var(--mx-ease-out),transform var(--mx-base) var(--mx-ease-out);transition-delay:var(--mx-d,0ms)}.mx-seq.is-inview>*{opacity:1;transform:translateY(0)}.fx-sheen{position:relative;overflow:hidden;isolation:isolate}.fx-sheen:after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:42%;background:linear-gradient(105deg,transparent 26%,hsla(0,0%,100%,.1) 42%,hsla(0,0%,100%,.5) 50%,hsla(0,0%,100%,.1) 58%,transparent 74%);transform:translateX(-220%) skewX(-12deg);pointer-events:none;z-index:1}.fx-sheen:hover:after{animation:mx-sheen .8s var(--mx-ease-io)}.fx-sheen-auto:after{animation:mx-sheen-auto 5.5s ease-in-out infinite}@keyframes mx-sheen{to{transform:translateX(320%) skewX(-12deg)}}@keyframes mx-sheen-auto{0%,68%{transform:translateX(-220%) skewX(-12deg)}to{transform:translateX(320%) skewX(-12deg)}}.fx-caret{display:inline-block;width:1.5px;height:1em;vertical-align:-.15em;background:currentColor;animation:mx-caret 1.05s steps(1) infinite}@keyframes mx-caret{50%{opacity:0}}@keyframes mx-float{0%,to{transform:rotateX(var(--mx-rx,4deg)) rotateY(var(--mx-ry,-11deg)) rotate(var(--mx-rz,-4deg)) translateY(0)}50%{transform:rotateX(calc(var(--mx-rx, 4deg) + 1.5deg)) rotateY(calc(var(--mx-ry, -11deg) + 2deg)) rotate(var(--mx-rz,-4deg)) translateY(-8px)}}.mx-float{transform:rotateX(var(--mx-rx,4deg)) rotateY(var(--mx-ry,-11deg)) rotate(var(--mx-rz,-4deg));transform-style:preserve-3d;animation:mx-float 9s var(--mx-ease-io) infinite;will-change:transform}.mx-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;overflow:hidden;z-index:3}.mx-glare:before{content:"";position:absolute;top:-30%;bottom:-30%;left:-10%;width:55%;background:linear-gradient(100deg,transparent 20%,var(--mx-glare) 50%,transparent 80%);transform:translateX(-160%) skewX(-14deg);animation:mx-glare-sweep 8s var(--mx-ease-io) infinite}@keyframes mx-glare-sweep{0%,62%{transform:translateX(-160%) skewX(-14deg)}86%,to{transform:translateX(340%) skewX(-14deg)}}.mx-pop{opacity:0;transform:translateZ(var(--mx-z,0)) scale(.82);animation:mx-pop var(--mx-base) var(--mx-ease-spring) forwards;animation-delay:var(--mx-d,0ms);will-change:opacity,transform}@keyframes mx-pop{to{opacity:1;transform:translateZ(0) scale(1)}}.mx-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:mx-draw var(--mx-story) var(--mx-ease-cinema) forwards;animation-delay:var(--mx-d,0ms)}@keyframes mx-draw{to{stroke-dashoffset:0}}.mx-scanline{position:absolute;left:0;right:0;height:22%;top:0;pointer-events:none;background:linear-gradient(to bottom,transparent,hsl(var(--foreground)/.06) 45%,hsl(var(--foreground)/.1) 50%,hsl(var(--foreground)/.06) 55%,transparent);animation:mx-scan 3.6s var(--mx-ease-io) infinite}.mx-scanline-once{animation-iteration-count:2;animation-delay:.6s}@keyframes mx-scan{0%{transform:translateY(-30%);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(420%);opacity:0}}.fx-pulse{position:relative;width:8px;height:8px;border-radius:999px;background:hsl(var(--foreground))}.fx-pulse:before{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1.5px solid hsl(var(--foreground)/.5);animation:mx-pulse-wave 2.4s var(--mx-ease-io) infinite}@keyframes mx-pulse-wave{0%{transform:scale(.5);opacity:.9}70%,to{transform:scale(1.6);opacity:0}}.mx-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.mx-marquee-track{display:flex;width:-moz-max-content;width:max-content;gap:14px;animation:mx-marquee var(--mx-marquee-t,32s) linear infinite;will-change:transform}.mx-marquee:hover .mx-marquee-track{animation-play-state:paused}@keyframes mx-marquee{to{transform:translateX(-50%)}}.mx-flip-stage{perspective:1600px}.mx-flip{position:relative;transform-style:preserve-3d;transition:transform 1.1s var(--mx-ease-cinema);will-change:transform}.mx-flip.is-flipped{transform:rotateY(180deg)}.mx-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.mx-face-back{position:absolute;inset:0;transform:rotateY(180deg)}@keyframes mx-drift-up{to{transform:translateY(-50%)}}.mx-drift{animation:mx-drift-up var(--mx-drift-t,46s) linear infinite;will-change:transform}@keyframes mx-packet-x{0%{transform:translateX(0) scale(.9);opacity:0}8%{opacity:1;transform:translateX(0) scale(1)}88%{opacity:1}to{transform:translateX(var(--mx-tx,240px)) scale(.9);opacity:0}}.mx-packet{animation:mx-packet-x var(--mx-packet-t,3.2s) var(--mx-ease-io) infinite;animation-delay:var(--mx-d,0ms);will-change:transform,opacity}@keyframes mx-judder{0%,92%,to{transform:translateX(0)}94%{transform:translateX(-2.5px)}96%{transform:translateX(2px)}98%{transform:translateX(-1px)}}.mx-judder{animation:mx-judder 5.2s linear infinite}@keyframes mx-turn{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}.mx-turn{transform-style:preserve-3d;animation:mx-turn 1.6s var(--mx-ease-cinema) 1 both;animation-delay:var(--mx-d,0ms)}.mx-protagonist{transform:translateX(-40px) rotateY(-16deg) scale(.92);opacity:0;transition:transform 1.1s var(--mx-ease-cinema) .25s,opacity .7s var(--mx-ease-out) .25s;will-change:transform,opacity}.mx-scene.is-live .mx-protagonist{transform:translateX(0) rotateY(0deg) scale(1);opacity:1}.mx-srcline{position:relative;border-radius:6px;transition:none}.mx-scene.is-live .mx-srcline{animation:mx-srcline-hl .9s var(--mx-ease-io) both;animation-delay:var(--mx-d,0ms)}@keyframes mx-srcline-hl{0%{background-color:transparent;opacity:.55}30%{background-color:hsl(var(--foreground)/.09);opacity:1}to{background-color:hsl(var(--foreground)/.045);opacity:1}}.mx-retry{opacity:0;transform:translateY(8px) scale(.96)}.mx-scene.is-live .mx-retry{animation:mx-pop var(--mx-base) var(--mx-ease-spring) forwards;animation-delay:var(--mx-d,0ms)}.mx-courier{opacity:0;offset-rotate:0deg}.mx-scene.is-live .mx-courier{animation:mx-courier 1.6s var(--mx-ease-cinema) forwards;animation-delay:var(--mx-d,0ms)}@keyframes mx-courier{0%{opacity:0;transform:translate(var(--mx-from-x,0),var(--mx-from-y,0)) scale(.9)}12%{opacity:1;transform:translate(var(--mx-from-x,0),var(--mx-from-y,0)) scale(1)}88%{opacity:1}to{opacity:0;transform:translate(var(--mx-to-x,0),var(--mx-to-y,0)) scale(.72)}}.mx-stamp{opacity:0;transform:scale(1.6) rotate(-8deg)}.mx-scene.is-live .mx-stamp{animation:mx-stamp .6s var(--mx-ease-spring) forwards;animation-delay:var(--mx-d,0ms)}@keyframes mx-stamp{to{opacity:1;transform:scale(1) rotate(-3deg)}}@media (hover:hover) and (pointer:fine){.mx-lift{transition:transform var(--mx-base) var(--mx-ease-out),box-shadow var(--mx-base) var(--mx-ease-out)}.mx-lift:hover{transform:translateY(-4px) rotateX(2deg) rotateY(-2deg);box-shadow:var(--mx-shadow-3d)}}@media (prefers-reduced-motion:reduce){.mx-reveal,.mx-seq>*{opacity:1!important;transform:none!important;transition:none!important}.mx-pop{opacity:1;transform:none;animation:none}.mx-draw{stroke-dashoffset:0}.mx-draw,.mx-float{animation:none}.mx-drift,.mx-judder,.mx-marquee-track,.mx-packet,.mx-turn{animation:none!important}.fx-caret,.fx-pulse:before,.fx-sheen:after,.mx-glare:before,.mx-scanline{animation:none!important;opacity:0}.mx-flip{transition:none}.mx-protagonist{transform:none;opacity:1;transition:none}.mx-scene.is-live .mx-srcline{animation:none;background-color:hsl(var(--foreground)/.045)}.mx-courier,.mx-retry,.mx-stamp{opacity:1!important;transform:none!important;animation:none!important}}:root{--spring-snappy-ms:586ms;--spring-snappy-ease:linear(0,0.0755,0.2345,0.4111,0.5722,0.7046,0.8058,0.8789,0.9292,0.9621,0.9825,0.9943,1.0006,1.0034,1.0043,1.0041,1.0035,1.0027,1.002,1.0014,1.0009,1.0006,1.0004,1);--spring-gentle-ms:1050ms;--spring-gentle-ease:linear(0,0.1002,0.3159,0.5536,0.7598,0.9121,1.0084,1.0577,1.0733,1.0682,1.0532,1.0357,1.0199,1.008,1.0003,0.9962,0.9947,0.9949,0.9959,0.9972,0.9984,0.9993,0.9999,1);--spring-bouncy-ms:1254ms;--spring-bouncy-ease:linear(0,0.2085,0.6142,0.97,1.1662,1.2058,1.1491,1.0636,0.9953,0.9615,0.9584,0.9724,0.9901,1.003,1.0086,1.0082,1.005,1.0014,0.999,0.9982,0.9984,0.9991,0.9998,1);--spring-stiff-ms:534ms;--spring-stiff-ease:linear(0,0.0796,0.238,0.4058,0.554,0.6741,0.7665,0.8353,0.8851,0.9207,0.9457,0.9631,0.975,0.9832,0.9887,0.9925,0.995,0.9967,0.9978,0.9986,0.999,0.9994,0.9996,1);--spring-reward-ms:956ms;--spring-reward-ease:linear(0,0.1495,0.4551,0.7589,0.98,1.099,1.1336,1.1155,1.0751,1.0341,1.0039,0.9873,0.9822,0.9843,0.9897,0.9952,0.9993,1.0016,1.0024,1.0021,1.0014,1.0007,1.0001,1);--spring-drag-settle-ms:625ms;--spring-drag-settle-ease:linear(0,0.0745,0.2318,0.4069,0.5672,0.6994,0.8009,0.8747,0.9257,0.9594,0.9805,0.993,0.9997,1.0029,1.004,1.004,1.0035,1.0028,1.0021,1.0015,1.001,1.0006,1.0004,1);--spring-sheet-ms:560ms;--spring-sheet-ease:linear(0,0.0733,0.2271,0.3979,0.5544,0.684,0.7845,0.8585,0.9108,0.9464,0.9697,0.9843,0.993,0.9979,1.0005,1.0016,1.0019,1.0018,1.0015,1.0012,1.0009,1.0006,1.0004,1);--spring-character-soft-ms:1133ms;--spring-character-soft-ease:linear(0,0.0986,0.3151,0.5579,0.7718,0.9311,1.0318,1.0818,1.0948,1.085,1.0643,1.0413,1.0211,1.0062,0.9968,0.9922,0.991,0.992,0.994,0.9961,0.998,0.9994,1.0003,1);--spring-press-release-ms:633ms;--spring-press-release-ease:linear(0,0.1484,0.4438,0.7312,0.9388,1.0537,1.0942,1.0886,1.0625,1.0336,1.011,0.9973,0.9915,0.991,0.9931,0.996,0.9984,0.9999,1.0007,1.0009,1.0007,1.0005,1.0002,1);--btn-edge:4px;--btn-edge-color:color-mix(in oklab,hsl(var(--primary)) 68%,#000)}.dark{--btn-edge-color:color-mix(in oklab,hsl(var(--primary)) 52%,#000)}.btn-depth-neutral{--btn-edge-color:#141414}.btn-depth{--tw-shadow:0 var(--btn-edge) 0 0 var(--btn-edge-color)}.btn-depth,.btn-depth:active:not(:disabled){box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.btn-depth:active:not(:disabled){transform:translateY(var(--btn-edge)) scale(.985);--tw-shadow:0 0 0 0 var(--btn-edge-color)}@media (prefers-reduced-motion:no-preference){.btn-depth{transition:transform var(--spring-press-release-ms) var(--spring-press-release-ease),box-shadow var(--spring-press-release-ms) var(--spring-press-release-ease),background-color .15s ease}.btn-depth:active:not(:disabled){transition:transform 85ms ease-out,box-shadow 85ms ease-out,background-color .15s ease}}@media (prefers-reduced-motion:reduce){.btn-depth,.btn-depth:active:not(:disabled){transition:none}}@media (prefers-reduced-motion:no-preference){.gf-switch-thumb{transition:transform var(--spring-press-release-ms) var(--spring-press-release-ease)}.gf-checkbox[data-state=checked]{animation:gf-pop-in var(--spring-press-release-ms) var(--spring-press-release-ease)}.gf-check-draw path{stroke-dasharray:26;stroke-dashoffset:26;animation:gf-draw .18s ease-out 30ms forwards}.gf-menu-pop{animation-duration:.22s;animation-timing-function:var(--spring-press-release-ease)}}@keyframes gf-pop-in{0%{transform:scale(.85)}to{transform:scale(1)}}@keyframes gf-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.gf-check-draw path{stroke-dasharray:none;stroke-dashoffset:0;animation:none}}.gf-tab-underline{position:absolute;bottom:-6px;left:0;height:2px;width:100px;transform-origin:0 50%;background:currentColor;will-change:transform}.gf-goal-chip,.gf-tab-underline{border-radius:999px;pointer-events:none}.gf-goal-chip{position:fixed;z-index:90;transform:translate(-50%) scale(.9);padding:6px 12px;background:hsl(var(--foreground));color:hsl(var(--background));font-size:12.5px;font-weight:600;white-space:nowrap;opacity:0;animation:gf-goal-rise 1.6s var(--spring-press-release-ease) forwards;will-change:transform,opacity}.gf-goal-chip-done{background:#277c46;color:#fff}@keyframes gf-goal-rise{0%{opacity:0;transform:translate(-50%,6px) scale(.9)}12%{opacity:1;transform:translate(-50%,-6px) scale(1.04)}22%{transform:translate(-50%,-10px) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-44px) scale(.98)}}@media (prefers-reduced-motion:no-preference){.gf-icon-bounce{animation:gf-icon-bounce .48s var(--spring-press-release-ease)}}@keyframes gf-icon-bounce{0%{transform:scale(1) translateY(0)}35%{transform:scale(1.22) translateY(-2px)}to{transform:scale(1) translateY(0)}}@media (prefers-reduced-motion:no-preference){.gf-shake{animation:gf-shake .3s ease-in-out}}@keyframes gf-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}45%{transform:translateX(3px)}70%{transform:translateX(-2px)}85%{transform:translateX(1px)}}@media (prefers-reduced-motion:no-preference){.gf-dialog-pop{animation:gf-dialog-pop .22s var(--spring-press-release-ease)}}@keyframes gf-dialog-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gf-goal-chip-flame{background:linear-gradient(135deg,#e05d06,#f2420d);color:#fff}@media (prefers-reduced-motion:no-preference){[role=button].transition-colors:not([data-no-press]),button.transition-colors:not([data-no-press]){transition:transform var(--spring-press-release-ms) var(--spring-press-release-ease),color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),text-decoration-color .15s cubic-bezier(.4,0,.2,1),fill .15s cubic-bezier(.4,0,.2,1),stroke .15s cubic-bezier(.4,0,.2,1)}[role=button].transition-colors:not([data-no-press]):active,button.transition-colors:not([data-no-press]):active:not(:disabled){transition:transform 85ms ease-out,color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}}