:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-slab-duo-regular:normal 400 1em/1 "Font Awesome 7 Slab Duo";--fa-font-slab-press-duo-regular:normal 400 1em/1 "Font Awesome 7 Slab Press Duo";--fa-font-pixel-regular:normal 400 1em/1 "Font Awesome 7 Pixel";--fa-font-mosaic-solid:normal 900 1em/1 "Font Awesome 7 Mosaic";--fa-font-vellum-solid:normal 900 1em/1 "Font Awesome 7 Vellum";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714286em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-block-start:.25em;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);display:inline-block;position:relative}.fa-layers .svg-inline--fa{transform-origin:50%;margin:auto;position:absolute;inset:0}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.0833333em}.fa-sm{vertical-align:.0535715em;font-size:.875em;line-height:.0714286em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.0416667em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-canvas-square{margin-block-end:-.125em;padding-block:.125em}.fa-canvas-roomy{box-sizing:content-box;margin-block-end:-.25em;padding-block:.25em;padding-inline:.125em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1.5s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-flip-360{animation-name:fa-flip-360;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.75s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}.fa-spin-snap{animation-name:fa-spin-snap;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-4{animation-name:fa-spin-snap-4;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2.4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-snap-8{animation-name:fa-spin-snap-8;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,4s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-buzz{animation-name:fa-buzz;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.6s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-wag{animation-name:fa-wag;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:bottom}.fa-float{animation-name:fa-float;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,3s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out);will-change:transform}.fa-swing{animation-name:fa-swing;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1.2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out);transform-origin:top}.fa-jello{animation-name:fa-jello;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,.9s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-out)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-flip-360,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse,.fa-buzz,.fa-float,.fa-jello,.fa-spin-snap,.fa-spin-snap-4,.fa-spin-snap-8,.fa-swing,.fa-wag{transition:none!important;animation:none!important}}@keyframes fa-beat{0%{transform:scale(1)}25%{transform:scale(calc(1.25 * var(--fa-beat-scale,1.25)))}45%{transform:scale(calc(1.22 * var(--fa-beat-scale,1.22)))}65%{transform:scale(calc(1.25 * var(--fa-beat-scale,1.25)))}90%{transform:scale(1)}}@keyframes fa-bounce{0%{animation-timing-function:var(--fa-animation-timing);transform:scale(1)translateY(0)}14%{transform:scale(var(--fa-bounce-start-scale-x,1.06), var(--fa-bounce-start-scale-y,.94)) translateY(var(--fa-bounce-anticipation,3px));animation-timing-function:cubic-bezier(.33,0,.66,.33)}32%{transform:scale(var(--fa-bounce-jump-scale-x,.94), var(--fa-bounce-jump-scale-y,1.12)) translateY(calc(-1 * var(--fa-bounce-height,.5em)));animation-timing-function:cubic-bezier(.33,.66,.66,1)}52%{transform:scale(1, 1) translateY(calc(-1 * var(--fa-bounce-height,.5em) * 1.1));animation-timing-function:cubic-bezier(.5,0,1,.5)}70%{transform:scale(var(--fa-bounce-land-scale-x,1.06), var(--fa-bounce-land-scale-y,.92)) translateY(0);animation-timing-function:cubic-bezier(.33,.33,.66,1)}85%{transform:scale(.98, 1.04) translateY(calc(-2px * var(--fa-bounce-rebound,1)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{0%{opacity:1;animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}40%{opacity:var(--fa-fade-opacity,.4);animation-timing-function:cubic-bezier(.4,0,.6,1);transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fa-beat-fade{0%{opacity:var(--fa-beat-fade-opacity,.4);animation-timing-function:cubic-bezier(.2,0,.4,1);transform:scale(1)}25%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}45%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.25));animation-timing-function:cubic-bezier(.4,0,.2,1)}65%{opacity:calc(var(--fa-beat-fade-opacity,.4) + .4);transform:scale(var(--fa-beat-fade-scale,1.28));animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}}@keyframes fa-flip{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}35%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .6));animation-timing-function:linear}65%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .5));animation-timing-function:cubic-bezier(.33,.66,.66,1)}92%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-360deg))}}@keyframes fa-flip-360{0%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.2,0,.4,1)}8%{transform:perspective(2em) scale(var(--fa-flip-anticipation-scale,.95)) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), 0deg);animation-timing-function:cubic-bezier(.33,0,.66,.33)}50%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * .6));animation-timing-function:cubic-bezier(.33,.66,.66,1)}80%{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), calc(var(--fa-flip-angle,-360deg) * var(--fa-flip-overshoot,1.04)));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:perspective(2em) scale(1) rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-360deg))}}@keyframes fa-shake{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(35deg)translate(1px)}20%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(-22deg)translate(-1px)}35%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:rotate(15deg)translate(1px)}50%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-9deg)}65%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(5deg)}78%{animation-timing-function:cubic-bezier(.4,0,.6,1);transform:rotate(-3deg)}90%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:rotate(1deg)}to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}12%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(60deg)}16.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(60deg)}28.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(120deg)}33.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(120deg)}45.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}62%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(240deg)}66.67%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(240deg)}78.67%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(300deg)}83.33%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(300deg)}95.33%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-4{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}15%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}40%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}65%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}90%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-spin-snap-8{0%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(0)}9%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(45deg)}12.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(45deg)}21.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(90deg)}25%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(90deg)}34%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(135deg)}37.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(135deg)}46.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(180deg)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(180deg)}59%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(225deg)}62.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(225deg)}71.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(270deg)}75%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(270deg)}84%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(315deg)}87.5%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:rotate(315deg)}96.5%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:rotate(360deg)}to{transform:rotate(360deg)}}@keyframes fa-buzz{0%{animation-timing-function:cubic-bezier(.1,0,.9,1);transform:translate(0)rotate(0)}5%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.5deg)}10%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px))) rotate(-.5deg)}15%{transform:translateX(var(--fa-buzz-distance,4px)) rotate(.3deg)}20%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px))) rotate(-.3deg)}25%{transform:translateX(calc(var(--fa-buzz-distance,4px) * .7)) rotate(.2deg)}30%{transform:translateX(calc(-1 * var(--fa-buzz-distance,4px) * .7)) rotate(-.2deg)}35%{transform:translateX(calc(var(--fa-buzz-distance,4px) * .4)) rotate(.1deg)}40%{transform:translate(0)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes fa-wag{0%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(0)}12%{transform:rotate(var(--fa-wag-angle,12deg));animation-timing-function:cubic-bezier(.4,0,.2,1)}24%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(2deg)}36%{transform:rotate(calc(var(--fa-wag-angle,12deg) * .85));animation-timing-function:cubic-bezier(.4,0,.2,1)}48%{animation-timing-function:cubic-bezier(.2,0,.6,1);transform:rotate(1deg)}58%{transform:rotate(calc(var(--fa-wag-angle,12deg) * .6));animation-timing-function:cubic-bezier(.4,0,.2,1)}68%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-float{0%{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,.33)}15%{transform:translateY(calc(-.4 * var(--fa-float-height,6px))) translateX(var(--fa-float-drift,1px)) rotate(var(--fa-float-tilt,1deg)) scale(1, 1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}35%{transform:translateY(calc(-1 * var(--fa-float-height,6px))) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x,.98), var(--fa-float-stretch-y,1.03));animation-timing-function:cubic-bezier(.5,0,.5,0)}50%{transform:translateY(calc(-.92 * var(--fa-float-height,6px))) translateX(calc(-.5 * var(--fa-float-drift,1px))) rotate(calc(-.5 * var(--fa-float-tilt,1deg))) scale(.995, 1.01);animation-timing-function:cubic-bezier(.33,0,.66,.33)}70%{transform:translateY(calc(-.3 * var(--fa-float-height,6px))) translateX(calc(-1 * var(--fa-float-drift,1px))) rotate(calc(-1 * var(--fa-float-tilt,1deg))) scale(1, 1);animation-timing-function:cubic-bezier(.33,.66,.66,1)}90%{transform:translateY(calc(.05 * var(--fa-float-height,6px))) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98));animation-timing-function:cubic-bezier(.33,0,.66,1)}to{transform:translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x,1.02), var(--fa-float-squash-y,.98))}}@keyframes fa-swing{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:rotate(0)}8%{transform:rotate(var(--fa-swing-angle,22deg));animation-timing-function:cubic-bezier(.3,0,.7,1)}18%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .85));animation-timing-function:cubic-bezier(.3,0,.7,1)}28%{transform:rotate(calc(var(--fa-swing-angle,22deg) * .65));animation-timing-function:cubic-bezier(.35,0,.65,1)}38%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .45));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:rotate(calc(var(--fa-swing-angle,22deg) * .25));animation-timing-function:cubic-bezier(.4,0,.6,1)}56%{transform:rotate(calc(-1 * var(--fa-swing-angle,22deg) * .1));animation-timing-function:cubic-bezier(.4,0,.6,1)}64%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes fa-jello{0%{animation-timing-function:cubic-bezier(.2,0,.8,1);transform:scale(1)}12%{transform:scale(var(--fa-jello-scale-x,1.15), calc(2 - var(--fa-jello-scale-x,1.15)));animation-timing-function:cubic-bezier(.3,0,.7,1)}24%{transform:scale(calc(2 - var(--fa-jello-scale-y,1.12)), var(--fa-jello-scale-y,1.12));animation-timing-function:cubic-bezier(.3,0,.7,1)}36%{transform:scale(calc(1 + (var(--fa-jello-scale-x,1.15) - 1) * .5), calc(2 - (1 + (var(--fa-jello-scale-x,1.15) - 1) * .5)));animation-timing-function:cubic-bezier(.4,0,.6,1)}48%{transform:scale(calc(2 - (1 + (var(--fa-jello-scale-y,1.12) - 1) * .3)), calc(1 + (var(--fa-jello-scale-y,1.12) - 1) * .3));animation-timing-function:cubic-bezier(.4,0,.6,1)}58%{animation-timing-function:cubic-bezier(.4,0,.2,1);transform:scale(1.02,.98)}68%{transform:scale(1)}to{transform:scale(1)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-paper:oklch(97.6% .008 155);--color-paper-2:oklch(94.6% .011 155);--color-surface:oklch(99.2% .004 155);--color-rule:oklch(91% .01 155);--color-rule-strong:oklch(84% .012 155);--color-ink:oklch(21% .014 160);--color-ink-2:oklch(34% .013 160);--color-muted:oklch(46% .012 158);--color-focus:oklch(55% .19 155);--color-accent:oklch(48% .14 155);--color-accent-hover:oklch(42% .14 155);--color-accent-ink:oklch(98% .01 155);--color-accent-soft:oklch(94% .045 155);--color-accent-text:oklch(38% .12 155);--color-income:oklch(50% .15 155);--color-income-soft:oklch(94% .045 155);--color-income-text:oklch(38% .12 155);--color-expense:oklch(56% .19 25);--color-expense-soft:oklch(95% .03 25);--color-expense-text:oklch(46% .17 25);--color-invest:oklch(52% .13 250);--color-invest-soft:oklch(95% .025 250);--color-invest-text:oklch(42% .12 250);--color-invest-1:oklch(44% .13 250);--color-invest-2:oklch(60% .12 250);--color-invest-3:oklch(78% .08 250);--color-card-1:oklch(24% .05 162);--color-card-2:oklch(36% .09 153);--color-card-ink:oklch(96% .015 155);--color-card-muted:oklch(90% .03 155);--color-chip-1:oklch(86% .08 90);--color-chip-2:oklch(72% .09 85);--color-heat-empty:oklch(93.5% .01 155);--color-heat-green-1:oklch(87% .09 155);--color-heat-green-2:oklch(78% .13 153);--color-heat-green-3:oklch(62% .16 153);--color-heat-green-4:oklch(46% .14 155);--color-heat-red-1:oklch(87% .08 25);--color-heat-red-2:oklch(80% .11 25);--color-heat-red-3:oklch(65% .17 25);--color-heat-red-4:oklch(50% .18 25);--heat-cell:.8125rem;--heat-gap:.1875rem;--font-display:"Bricolage Grotesque", "Geist", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-display:clamp(2rem, 1.2rem + 2.4vw, 3rem);--leading-tight:1.1;--leading-body:1.5;--tracking-display:-.02em;--weight-body:400;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--rail-width:4.5rem;--rail-width-expanded:16rem;--bar-height-mobile:4rem;--content-max:85rem;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-pill:999px;--rule-hair:1px solid var(--color-rule);--shadow-whisper:0 1px 2px oklch(20% .01 160/.05);--shadow-hairline:0 0 0 1px oklch(30% .01 160/.08);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-base:1;--z-raised:10;--z-sticky:200;--z-tooltip:600}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-paper:oklch(15% .012 160);--color-paper-2:oklch(24% .015 160);--color-surface:oklch(20% .014 160);--color-rule:oklch(28% .014 160);--color-rule-strong:oklch(36% .015 160);--color-ink:oklch(94% .008 155);--color-ink-2:oklch(82% .01 155);--color-muted:oklch(68% .012 158);--color-focus:oklch(75% .17 153);--color-accent:oklch(68% .15 153);--color-accent-hover:oklch(73% .15 153);--color-accent-ink:oklch(18% .03 160);--color-accent-soft:oklch(28% .05 155);--color-accent-text:oklch(80% .12 153);--color-income:oklch(68% .15 153);--color-income-soft:oklch(28% .05 155);--color-income-text:oklch(80% .12 153);--color-expense:oklch(70% .17 25);--color-expense-soft:oklch(28% .05 25);--color-expense-text:oklch(78% .13 25);--color-invest:oklch(70% .11 250);--color-invest-soft:oklch(28% .04 250);--color-invest-text:oklch(78% .09 250);--color-invest-1:oklch(70% .11 250);--color-invest-2:oklch(55% .11 250);--color-invest-3:oklch(42% .08 250);--color-heat-empty:oklch(24% .012 160);--color-heat-green-1:oklch(32% .06 155);--color-heat-green-2:oklch(45% .1 155);--color-heat-green-3:oklch(60% .14 153);--color-heat-green-4:oklch(75% .17 153);--color-heat-red-1:oklch(32% .07 25);--color-heat-red-2:oklch(45% .11 25);--color-heat-red-3:oklch(60% .16 25);--color-heat-red-4:oklch(75% .16 25);--weight-body:380;--shadow-whisper:none;--shadow-hairline:0 0 0 1px oklch(90% .01 160/.12)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--color-muted)}.tone-income{color:var(--color-income)}.tone-expense{color:var(--color-expense)}.shell{grid-template-columns:var(--rail-width) minmax(0, 1fr);min-height:100dvh;transition:grid-template-columns var(--dur-short) var(--ease-out);display:grid}.shell--sidebar-open{grid-template-columns:var(--rail-width-expanded) minmax(0, 1fr)}.main{width:100%;max-width:var(--content-max);min-width:0;padding:var(--space-lg) var(--space-lg) var(--space-xl);margin-inline:auto}.rail{z-index:var(--z-sticky);align-items:center;gap:var(--space-lg);height:100dvh;padding:var(--space-lg) var(--space-sm);border-right:var(--rule-hair);background:var(--color-paper);width:var(--rail-width);transition:width var(--dur-short) var(--ease-out);flex-direction:column;display:flex;position:sticky;top:0}.shell--sidebar-open .rail{width:var(--rail-width-expanded);padding-left:var(--space-lg);align-items:flex-start}.rail__toggle{border-radius:var(--radius-sm);background:var(--color-surface);border:var(--rule-hair);width:2rem;height:2rem;color:var(--color-muted);transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);flex-shrink:0;place-items:center;display:grid}.rail__toggle:hover{background:var(--color-accent-soft);color:var(--color-accent-text)}.rail__toggle:active{transform:scale(.94)}.rail__brand{border-radius:var(--radius-md);background:var(--color-accent);width:2.5rem;height:2.5rem;color:var(--color-accent-ink);place-items:center;display:grid}.rail__nav-wrap{flex:1}.rail__nav{gap:var(--space-2xs);flex-direction:column;display:flex}.rail__foot{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.rail__avatar{border-radius:var(--radius-pill);background:var(--color-paper-2);width:2.25rem;height:2.25rem;color:var(--color-muted);font-size:var(--text-sm);flex-shrink:0;place-items:center;display:grid}.rail__profile{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xs);border-radius:var(--radius-md);width:100%;transition:background var(--dur-micro) var(--ease-out);display:flex}.shell--sidebar-open .rail__profile{padding-left:var(--space-sm);justify-content:flex-start}.rail__profile:hover{background:var(--color-paper-2)}.rail__profile-info{flex:1;min-width:0;display:none}.shell--sidebar-open .rail__profile-info{display:block}.rail__profile-name{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.rail__profile-email{font-size:var(--text-xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail__item{align-items:center;gap:var(--space-sm);width:2.75rem;height:2.75rem;padding:0 var(--space-xs);border-radius:var(--radius-md);color:var(--color-muted);transition:transform var(--dur-micro) var(--ease-out), width var(--dur-short) var(--ease-out);white-space:nowrap;display:flex;position:relative;overflow:hidden}.shell--sidebar-open .rail__item{justify-content:flex-start;width:100%}.rail__item-icon{flex-shrink:0;place-items:center;width:1.25rem;display:grid}.rail__item-label{opacity:0;transition:opacity var(--dur-short) var(--ease-out);font-size:var(--text-sm);font-weight:500}.shell--sidebar-open .rail__item-label{opacity:1}.rail__item:hover{background:var(--color-paper-2);color:var(--color-ink)}.rail__item:active{transform:scale(.96)}.rail__item.active,.rail__item[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-text)}@media (width<=1100px){.bento{grid-template-columns:repeat(6,minmax(0,1fr))}.bento__balance{grid-column:1/-1}.bento__card,.bento__invest{grid-column:span 3}.bento__tx{grid-area:auto/1/auto/-1}.bento__income,.bento__expense{grid-area:auto/span 3}.bento__activity{grid-column:1/-1}}@media (width<=720px){.shell,.shell--sidebar-open{grid-template-columns:minmax(0,1fr)}.main{padding:var(--space-md) var(--space-md) calc(var(--bar-height-mobile) + var(--space-lg) + env(safe-area-inset-bottom,0px))}.rail,.shell--sidebar-open .rail{width:100%;height:auto;padding:var(--space-xs) var(--space-md) calc(var(--space-xs) + env(safe-area-inset-bottom,0px));border-right:0;border-top:var(--rule-hair);flex-direction:row;justify-content:center;align-items:center;gap:0;position:fixed;inset:auto 0 0}.rail__toggle{display:none}.rail__item,.shell--sidebar-open .rail__item{justify-content:center;width:3rem;height:3rem}.rail__item-label,.rail__brand,.rail__foot{display:none}.rail__nav-wrap{flex:1}.rail__nav{flex-direction:row;justify-content:space-around}.rail__item{width:3rem;height:3rem}.rail__item:after{display:none}.btn--primary{width:2.5rem;padding:0}.btn__label{display:none}.icon-btn{width:2.75rem;height:2.75rem}}@media (width<=560px){.bento>.tile{grid-column:1/-1}.seg__btn{padding:var(--space-2xs) var(--space-xs)}.tile{padding:var(--space-md)}.tx{gap:var(--space-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;transition-delay:0s!important;animation-duration:.15s!important;animation-delay:0s!important}.tile{animation-name:fade}.rail__item:after{transform:translateY(-50%)}@keyframes fade{0%{opacity:0}to{opacity:1}}.btn--primary:hover,.rail__item:active,.seg__btn:active,.icon-btn:active,.link-btn:active{transform:none}}*,:before,:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{-webkit-text-size-adjust:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px)}h1,h2,h3,p,ul,dl,dd{margin:0;padding:0}ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}svg{display:block}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.topbar{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.topbar__heading{min-width:0}.topbar__title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-tight);overflow-wrap:anywhere}.topbar__sub{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.topbar__actions{align-items:center;gap:var(--space-sm);display:flex}.topbar__user{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;display:flex}.btn--secondary{background:var(--color-surface);color:var(--color-ink);border:var(--rule-hair)}.btn--secondary:hover{background:var(--color-paper-2);transform:translateY(-1px)}.btn--secondary:active{transform:translateY(0)}.badge{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;display:inline-flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:2.5rem;padding:0 var(--space-md);border-radius:var(--radius-pill);font-size:var(--text-sm);white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out);font-weight:500;display:inline-flex}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink)}.btn--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--danger{background:var(--color-expense);color:var(--color-surface);border:0}.btn--danger:hover{background:var(--color-expense-text);transform:translateY(-1px)}.btn--danger:active{transform:translateY(0)}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{border-radius:var(--radius-pill);width:2.25rem;height:2.25rem;color:var(--color-muted);transition:transform var(--dur-micro) var(--ease-out);place-items:center;display:grid}.icon-btn:hover{background:var(--color-paper-2);color:var(--color-ink)}.icon-btn:active{transform:scale(.94)}.link-btn{align-self:flex-start;align-items:center;gap:var(--space-xs);color:var(--color-accent-text);font-size:var(--text-sm);white-space:nowrap;margin-top:auto;font-weight:500;display:inline-flex}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.link-btn:active{transform:translateY(1px)}.seg{gap:var(--space-3xs);padding:var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-paper-2);display:inline-flex}.seg__btn{padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out);font-weight:500}.seg__btn:hover{color:var(--color-ink)}.seg__btn:active{transform:scale(.97)}.seg__btn[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-hairline)}.bento{gap:var(--space-md);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.bento__balance{grid-column:1/span 5}.bento__card{grid-column:span 4}.bento__invest{grid-column:span 3}.bento__tx{grid-area:2/1/span 2/span 7}.bento__income{grid-area:2/8/auto/span 5}.bento__expense{grid-area:3/8/auto/span 5}.bento__activity{grid-column:1/-1}.tile{gap:var(--space-md);min-width:0;padding:var(--space-lg);background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-whisper);animation:reveal var(--dur-long) var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms);flex-direction:column;display:flex}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tile__head{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.tile__title{align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:500;display:flex}.tile__heading{align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-tight);display:flex}.tile__heading-icon{color:var(--color-accent-text);font-size:var(--text-md)}.tile__hint{color:var(--color-muted);font-size:var(--text-xs)}.chip-icon{border-radius:var(--radius-sm);background:var(--color-paper-2);width:2rem;height:2rem;color:var(--color-ink-2);font-size:var(--text-sm);flex:none;place-items:center;display:grid}.chip-icon[data-tone=income]{background:var(--color-income-soft);color:var(--color-income-text)}.chip-icon[data-tone=expense]{background:var(--color-expense-soft);color:var(--color-expense-text)}.chip-icon[data-tone=invest]{background:var(--color-invest-soft);color:var(--color-invest-text)}.value{font-family:var(--font-display);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-tight);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.value--display{font-size:var(--text-display)}.value--lg{font-size:var(--text-xl)}.delta{align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;font-weight:500;display:inline-flex}.delta[data-tone=good]{background:var(--color-income-soft);color:var(--color-income-text)}.delta[data-tone=bad]{background:var(--color-expense-soft);color:var(--color-expense-text)}.bento__balance{justify-content:space-between;gap:var(--space-lg)}.balance__main{gap:var(--space-sm);flex-direction:column;display:flex}.balance__net{align-items:center;gap:var(--space-xs) var(--space-sm);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.balance__flow{gap:var(--space-sm);flex-direction:column;display:flex}.flow{gap:var(--space-3xs);border-radius:var(--radius-pill);height:.625rem;display:flex;overflow:hidden}.flow__in{background:var(--color-income)}.flow__out{background:var(--color-expense)}.flow-legend{gap:var(--space-xs) var(--space-xl);flex-wrap:wrap;display:flex}.flow-legend__item{gap:var(--space-3xs);flex-direction:column;min-width:0;display:flex}.flow-legend__label{align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);display:flex}.flow-legend__value{font-family:var(--font-display);font-size:var(--text-md);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:600}.bento__card{aspect-ratio:1.586;background:linear-gradient(135deg, var(--color-card-1), var(--color-card-2));color:var(--color-card-ink);background:linear-gradient(135deg,oklch(24% .05 162/.55),oklch(36% .09 153/.35)),url(/assets/debit-card-background-DTustRyN.jpg) 50%/cover no-repeat;border:0;align-self:start;gap:0;padding:0;overflow:hidden;container-type:inline-size}.credit{flex-direction:column;justify-content:space-between;height:100%;padding:clamp(1rem,7cqw,1.75rem);display:flex}.credit__top{justify-content:space-between;align-items:center;display:flex}.credit__brand{font-family:var(--font-display);letter-spacing:var(--tracking-display);font-size:clamp(.95rem,5cqw,1.2rem);font-weight:700}.credit__nfc{color:var(--color-card-muted);font-size:clamp(1rem,5.5cqw,1.35rem)}.credit__chip{aspect-ratio:1.3;border-radius:.4rem;width:clamp(2.1rem,11cqw,2.75rem);overflow:hidden}.credit__chip img{object-fit:contain;width:100%;height:100%;display:block}.credit__number{font-family:var(--font-mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(.9rem,5.6cqw,1.25rem)}.credit__bottom{justify-content:space-between;align-items:flex-end;gap:var(--space-sm);display:flex}.credit__field{gap:var(--space-3xs);flex-direction:column;min-width:0;display:flex}.credit__label{color:var(--color-card-muted);font-size:clamp(.625rem,2.8cqw,.75rem)}.credit__value{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.75rem,3.6cqw,.9rem);font-weight:500;overflow:hidden}.credit__network{margin-left:auto;font-size:clamp(1.8rem,10cqw,2.6rem);line-height:1}.bento__invest{gap:var(--space-md)}.invest__main{gap:var(--space-sm);flex-direction:column;display:flex}.invest__trend{align-items:center;gap:var(--space-md);grid-template-columns:auto minmax(0,1fr);display:grid}.invest__alloc{gap:var(--space-sm);flex-direction:column;margin-top:auto;display:flex}.alloc{gap:var(--space-3xs);border-radius:var(--radius-pill);height:.5rem;display:flex;overflow:hidden}.alloc__seg:first-child{background:var(--color-invest-1)}.alloc__seg:nth-child(2){background:var(--color-invest-2)}.alloc__seg:nth-child(3){background:var(--color-invest-3)}.alloc-legend{gap:var(--space-2xs) var(--space-md);color:var(--color-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.alloc-legend__item{align-items:center;gap:var(--space-xs);display:inline-flex}.alloc-legend__dot{border-radius:var(--radius-pill);background:var(--color-invest-1);width:.5rem;height:.5rem}.alloc-legend__item:nth-child(2) .alloc-legend__dot{background:var(--color-invest-2)}.alloc-legend__item:nth-child(3) .alloc-legend__dot{background:var(--color-invest-3)}.stat__body{align-items:end;gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(0,.9fr);margin-top:auto;display:grid}.stat__figures{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.stat__delta{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.spark{width:100%;height:3.5rem}.spark__line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.spark--income .spark__line{stroke:var(--color-income)}.spark--income .spark__area{fill:var(--color-income-soft)}.spark--expense .spark__line{stroke:var(--color-expense)}.spark--expense .spark__area{fill:var(--color-expense-soft)}.spark--invest .spark__line{stroke:var(--color-invest)}.spark--invest .spark__area{fill:var(--color-invest-soft)}.invest__trend .spark{height:2.25rem}.tx-list{flex-direction:column;display:flex}.tx{align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.tx+.tx{border-top:var(--rule-hair)}.tx__icon{border-radius:var(--radius-md);background:var(--color-paper-2);width:2.5rem;height:2.5rem;color:var(--color-ink-2);place-items:center;display:grid}.tx__icon[data-type=income]{background:var(--color-income-soft);color:var(--color-income-text)}.tx__body{min-width:0}.tx__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.tx__meta{color:var(--color-muted);font-size:var(--text-xs)}.tx__amount{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;display:inline-flex}.tx__amount svg{font-size:var(--text-xs)}.tx__amount[data-type=income]{color:var(--color-income-text)}.tx__amount[data-type=expense]{color:var(--color-expense-text)}.activity{gap:var(--space-lg)}.activity__head{flex-wrap:wrap;align-items:flex-start}.activity__intro{gap:var(--space-2xs);min-width:0;font-size:var(--text-sm);flex-direction:column;display:flex}.activity[data-tone=green]{--heat-1:var(--color-heat-green-1);--heat-2:var(--color-heat-green-2);--heat-3:var(--color-heat-green-3);--heat-4:var(--color-heat-green-4)}.activity[data-tone=red]{--heat-1:var(--color-heat-red-1);--heat-2:var(--color-heat-red-2);--heat-3:var(--color-heat-red-3);--heat-4:var(--color-heat-red-4)}.heat{position:relative}.heat__scroll{padding-bottom:var(--space-xs);scrollbar-width:thin;overflow-x:auto}.heat__grid{grid-template-columns:auto repeat(var(--weeks), minmax(var(--heat-cell), 1fr));gap:var(--heat-gap);width:100%;min-width:calc(var(--weeks) * (var(--heat-cell) + var(--heat-gap)) + 2.5rem);grid-template-rows:auto repeat(7,auto);display:grid}.heat__month{width:0;color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;padding-bottom:var(--space-2xs);line-height:1;overflow:visible}.heat__day{padding-right:var(--space-sm);color:var(--color-muted);font-size:var(--text-xs);align-self:center;line-height:1}.cell{aspect-ratio:1;background:var(--color-heat-empty);border-radius:3px;width:100%}.cell[data-level="1"]{background:var(--heat-1)}.cell[data-level="2"]{background:var(--heat-2)}.cell[data-level="3"]{background:var(--heat-3)}.cell[data-level="4"]{background:var(--heat-4)}.heat__grid .cell:hover{outline:2px solid var(--color-ink);outline-offset:-1px}.heat__tip{z-index:var(--z-tooltip);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;position:absolute;transform:translate(-50%,calc(-100% - 6px))}.heat__tip[data-open=true]{opacity:1}.activity__legend{justify-content:flex-end;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);display:flex}.cell--legend{width:var(--heat-cell)}.stat__period-select{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;outline:none;transition:border-color .2s,background-color .2s}.stat__period-select:hover{border-color:var(--color-ink-muted);background:var(--color-paper-muted)}.stat__period-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.stat__period-select option{padding:var(--space-xs)}.icon-picker{gap:var(--space-xs);padding:var(--space-sm) 0;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));display:grid}.icon-picker__btn{background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-md);cursor:pointer;width:48px;height:48px;transition:all var(--dur-fast) var(--ease-out);color:var(--color-muted);font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.icon-picker__btn:hover{background:var(--color-paper-2);border-color:var(--color-accent);color:var(--color-text);box-shadow:var(--shadow-whisper);transform:translateY(-2px)}.icon-picker__btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-md)}.icon-picker__btn--active:hover{background:var(--color-accent);transform:translateY(-2px)}.field__label--warning{color:#ff9800;align-items:center;font-weight:600;display:flex}.seg--type .seg__btn[aria-pressed=true]{color:#fff;background:#ff9800;border-color:#ff9800;font-weight:600}.seg--type .seg__btn[aria-pressed=true]:hover{background:#f57c00;border-color:#f57c00}.tx-page__head{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.tx-page__stats{gap:var(--space-md);display:flex}.tx-stat{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-whisper);animation:reveal var(--dur-long) var(--ease-out) both;display:flex}.tx-stat__body{gap:var(--space-3xs);flex-direction:column;min-width:0;display:flex}.tx-stat__label{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.tx-page__controls{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.search-field{flex:1;min-width:min(100%,20rem);max-width:28rem;position:relative}.search-field__icon{left:var(--space-md);color:var(--color-muted);font-size:var(--text-sm);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-field__input{width:100%;min-height:2.75rem;padding:0 var(--space-md) 0 2.75rem;border:var(--rule-hair);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-body);transition:border-color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out)}.search-field__input::placeholder{color:var(--color-muted)}.search-field__input:hover{border-color:var(--color-rule-strong)}.search-field__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.tx-page__filters{gap:var(--space-lg);flex-wrap:wrap;display:flex}.filter-group{align-items:center;gap:var(--space-sm);display:flex}.filter-group__label{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;font-weight:500}.filter-select{min-width:10rem;min-height:2.25rem;padding:0 var(--space-md);border:var(--rule-hair);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-body);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out)}.filter-select:hover{border-color:var(--color-rule-strong)}.filter-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.tx-page__list{animation-delay:60ms}.tx-page__empty{padding:var(--space-xl);text-align:center}.tx-page__empty-text{color:var(--color-muted);font-size:var(--text-sm)}.tx__right{align-items:center;gap:var(--space-md);display:flex}.tx__actions{gap:var(--space-xs);opacity:0;transition:opacity var(--dur-micro) var(--ease-out);display:flex}.tx:hover .tx__actions{opacity:1}.tx__action-btn{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-muted);font-size:var(--text-sm);transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);place-items:center;display:grid}.tx__action-btn:hover{background:var(--color-paper-2);color:var(--color-ink)}.tx__action-btn:active{transform:scale(.94)}.tx__action-btn--danger:hover{background:var(--color-expense-soft);color:var(--color-expense-text)}.modal-overlay{z-index:var(--z-tooltip);padding:var(--space-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-fade var(--dur-short) var(--ease-out);background:oklch(20% .01 160/.6);place-items:center;display:grid;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-lg);width:100%;max-width:32rem;max-height:90vh;animation:modal-slide var(--dur-short) var(--ease-out);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 32px oklch(20% .01 160/.2)}.modal--sm{max-width:24rem}@keyframes modal-slide{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}.modal__head{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:var(--rule-hair);display:flex}.modal__title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-tight)}.modal__close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-muted);transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);place-items:center;display:grid}.modal__close:hover{background:var(--color-paper-2);color:var(--color-ink)}.modal__close:active{transform:scale(.94)}.modal__body{padding:var(--space-lg)}.modal__text{color:var(--color-ink-2);font-size:var(--text-base);line-height:var(--leading-body)}.modal__form{padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;display:flex;overflow-y:auto}.modal__actions{gap:var(--space-sm);padding:var(--space-lg);border-top:var(--rule-hair);display:flex}.modal__actions .btn{flex:1}@media (width<=900px){.tx-page__head{flex-direction:column;align-items:stretch}.tx-page__stats{flex-wrap:wrap}.tx-stat{flex:1;min-width:min(100%,15rem)}}@media (width<=720px){.tx-page__controls{flex-direction:column;align-items:stretch}.search-field{max-width:none}.tx-page__filters{gap:var(--space-md);flex-direction:column}.filter-group{align-items:stretch;gap:var(--space-xs);flex-direction:column}.filter-group__label{font-size:var(--text-xs)}.seg{width:100%}.seg__btn{flex:1}}@media (width<=560px){.tx-page__stats{flex-direction:column}.tx-stat{width:100%}.modal-overlay,.modal__form,.modal__head{padding:var(--space-md)}.tx__right{align-items:flex-end;gap:var(--space-xs);flex-direction:column}.tx__actions{opacity:1}}@media (prefers-reduced-motion:reduce){.tx-stat{animation-name:fade}@keyframes fade{0%{opacity:0}to{opacity:1}}}.auth{min-height:100dvh;padding:var(--space-lg);background:var(--color-paper);place-items:center;display:grid}.auth__card{gap:var(--space-xl);width:100%;max-width:26rem;padding:var(--space-xl);background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-lg);box-shadow:var(--shadow-whisper);animation:auth-reveal var(--dur-long) var(--ease-out) both;flex-direction:column;display:flex}@keyframes auth-reveal{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.auth__brand{align-items:center;gap:var(--space-sm);display:flex}.auth__brand-icon{border-radius:var(--radius-md);background:var(--color-accent);width:2.5rem;height:2.5rem;color:var(--color-accent-ink);flex:none;place-items:center;display:grid}.auth__brand-name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-tight)}.auth__head{gap:var(--space-2xs);flex-direction:column;display:flex}.auth__title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:var(--tracking-display);font-weight:600;line-height:var(--leading-tight)}.auth__subtitle{color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-body)}.auth__form{gap:var(--space-lg);flex-direction:column;display:flex}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field__label-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.field__label{color:var(--color-ink);font-size:var(--text-sm);font-weight:500}.field__link{color:var(--color-accent-text);font-size:var(--text-sm);transition:color var(--dur-micro) var(--ease-out);font-weight:500;text-decoration:none}.field__link:hover{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.field__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}.field__input-wrap{position:relative}.field__input{width:100%;min-height:2.75rem;padding:0 var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-body);transition:border-color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out)}.field__input--with-icon{padding-right:2.75rem}.field__input::placeholder{color:var(--color-muted)}.field__input:hover{border-color:var(--color-rule-strong)}.field__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.field__input:disabled{opacity:.5;cursor:not-allowed}.field__input:user-invalid{border-color:var(--color-expense)}.field__input:user-invalid:focus{box-shadow:0 0 0 3px var(--color-expense-soft)}.field__icon-btn{right:var(--space-xs);border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-muted);cursor:pointer;transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.field__icon-btn:hover{background:var(--color-paper-2);color:var(--color-ink)}.field__icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field__icon-btn:active{transform:translateY(-50%)scale(.94)}.field__hint{color:var(--color-muted);font-size:var(--text-xs);line-height:1.4}.btn--full{width:100%}.demo-credentials{padding:var(--space-md);background:var(--color-paper);border:var(--rule-hair);border-radius:var(--radius-md);gap:var(--space-xs);flex-direction:column;display:flex}.demo-credentials__title{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.demo-credentials__list{gap:var(--space-2xs);flex-direction:column;display:flex}.demo-credentials__list code{padding:var(--space-2xs) var(--space-xs);background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-sm);color:var(--color-accent-text);font-family:var(--font-mono,monospace);font-size:var(--text-xs);display:inline-block}.auth__error{padding:var(--space-md);background:var(--color-expense-soft);border:1px solid var(--color-expense);border-radius:var(--radius-md);color:var(--color-expense);font-size:var(--text-sm);line-height:var(--leading-body);animation:error-shake .4s var(--ease-out)}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth__footer{padding-top:var(--space-md);border-top:var(--rule-hair)}.auth__footer-text{color:var(--color-muted);font-size:var(--text-sm);text-align:center;line-height:var(--leading-body)}.auth__footer-link{color:var(--color-accent-text);transition:color var(--dur-micro) var(--ease-out);font-weight:500;text-decoration:none}.auth__footer-link:hover{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.auth__footer-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}@media (width<=560px){.auth{padding:var(--space-md)}.auth__card{padding:var(--space-lg);gap:var(--space-lg)}}@media (prefers-reduced-motion:reduce){.auth__card{animation-name:auth-fade}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}.field__icon-btn:active{transform:translateY(-50%)}}
