: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{--bg:#060a09;--bg2:#0b1210;--panel:#0e1714;--line:#1c2a25;--text:#e6f2ed;--muted:#8aa399;--accent:#00ffa3;--tier:#00ffa3;--danger:#ff5c7a;--gold:#ffcf5c;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--sans:"Inter", system-ui, -apple-system, sans-serif;--radius:14px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--sans);color:var(--text);background:radial-gradient(900px 500px at 15% -10%, #00ffa31a, transparent 60%), radial-gradient(800px 500px at 100% 0%, #7c5cff1a, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}a{color:inherit}h1,h2,h3,h4{letter-spacing:-.02em;margin:0}p{margin:0}code,kbd,.mono{font-family:var(--mono)}code{background:#ffffff12;border-radius:6px;padding:.1em .4em;font-size:.92em}kbd{background:var(--bg2);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:.05em .45em;font-size:.85em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.ok{color:var(--accent)}.shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 20px 60px}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#060a09cc;align-items:center;gap:24px;padding:12px 24px;display:flex;position:sticky;top:0}.logo{color:var(--accent);align-items:center;gap:10px;font-size:1.1rem;font-weight:800;text-decoration:none;display:flex}.logo span{color:var(--text)}.logo b{color:var(--accent)}.topbar nav{gap:6px;display:flex}.topbar nav a{color:var(--muted);border-radius:10px;padding:8px 12px;font-size:.92rem;font-weight:600;text-decoration:none}.topbar nav a:hover,.topbar nav a.active{color:var(--text);background:#ffffff0f}.top-right{align-items:center;gap:12px;margin-left:auto;display:flex}.progress{background:var(--bg2);border:1px solid var(--line);border-radius:99px;width:130px;height:24px;position:relative;overflow:hidden}.progress-fill{opacity:.35;background:linear-gradient(90deg,#00ffa3,#4cc9f0);transition:width .6s;position:absolute;inset:0 auto 0 0}.progress span{text-align:center;font:600 .75rem/24px var(--mono);display:block;position:relative}.icon-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;width:36px;height:36px}.icon-btn:hover{color:var(--text);border-color:var(--muted)}.gate-banner{color:var(--gold);background:#ffcf5c1f;align-items:center;gap:10px;padding:10px 24px;font-size:.9rem;display:flex}.gate-banner .icon-btn{width:28px;height:28px;margin-left:auto}.foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:20px 24px;font-size:.85rem;display:flex}.foot a{text-decoration:none}.foot a:hover{color:var(--text)}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);font:600 .95rem var(--sans);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:transform .12s,border-color .15s,background .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:#03140d;border-color:#0000}.btn.primary:hover:not(:disabled){background:#3dffb8}.btn.ghost{background:0 0}.btn.danger{color:var(--danger);background:#ff5c7a1f;border-color:#ff5c7a66}.btn.big{border-radius:13px;padding:14px 26px;font-size:1.05rem}.btn.small{border-radius:9px;padding:6px 12px;font-size:.82rem}.hero{max-width:800px;padding:40px 0 36px}.eyebrow{color:var(--accent);font:600 .82rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;line-height:1.02}.grad{background:linear-gradient(90deg,#00ffa3,#4cc9f0 60%,#7c5cff);color:#0000;-webkit-background-clip:text;background-clip:text}.lead{color:#b9cfc6;margin:20px 0 26px;font-size:1.15rem;line-height:1.6}.hero-cta{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.tiers{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:28px 0 48px;display:grid}.tier-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--tier);padding:22px}.tier-ico{background:color-mix(in srgb, var(--tier) 15%, transparent);width:44px;height:44px;color:var(--tier);border-radius:12px;place-items:center;margin-bottom:14px;font-size:1.2rem;display:grid}.tier-card h3{font-size:1.35rem}.tier-sub{color:var(--muted);margin:4px 0 14px;font-size:.88rem}.tier-card ul{color:#c3d6ce;gap:6px;margin:0 0 18px;padding:0;font-size:.92rem;list-style:none;display:grid}.tier-card li svg{color:var(--tier);margin-right:6px}.bar{background:var(--bg2);border-radius:99px;height:6px;margin-bottom:6px;overflow:hidden}.bar-fill{background:var(--tier);border-radius:99px;height:100%}.how h2{margin-bottom:18px}.how-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:20px;display:grid}.how-grid>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:18px}.how-grid h4{margin:10px 0 6px}.how-grid p{color:var(--muted);font-size:.92rem;line-height:1.5}.num{background:var(--accent);color:#03140d;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:inline-grid}.levels h1{margin-bottom:6px;font-size:2.2rem}.tier-h{align-items:baseline;gap:10px;margin:34px 0 14px;display:flex}.tier-h small{color:var(--muted);font-size:.85rem;font-weight:500}.tier-h .dot{background:var(--tier);width:10px;height:10px;box-shadow:0 0 12px var(--tier);border-radius:50%;align-self:center}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:2px;min-height:108px;padding:14px;text-decoration:none;transition:transform .15s,border-color .15s;display:grid;position:relative}a.tile:hover{border-color:var(--tier);transform:translateY(-3px)}.tile .n{font:800 1.4rem var(--mono);color:var(--tier)}.tile .t{font-size:.95rem;font-weight:700}.tile .c{color:var(--muted);font-size:.78rem}.tile .foot{color:var(--muted);border:0;gap:2px;padding:0;font-size:.72rem;display:flex;position:absolute;top:12px;right:12px}.tile.done{border-color:color-mix(in srgb, var(--tier) 45%, var(--line))}.tile.current{border-color:var(--tier);box-shadow:0 0 0 1px var(--tier), 0 0 24px color-mix(in srgb, var(--tier) 25%, transparent)}.tile.locked{opacity:.45;cursor:not-allowed}.on{color:var(--gold)}.off{color:#2c3a35}.room-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.room-title{flex:1;min-width:220px}.room-title h1{margin-top:6px;font-size:1.7rem}.chip{font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:99px;padding:2px 10px;display:inline-block}.timer{font:600 1rem var(--mono);color:var(--muted);border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:8px 14px}.room-grid{grid-template-columns:minmax(280px,5fr) minmax(320px,6fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.room-grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.brief{margin-bottom:18px;font-size:1.05rem;line-height:1.6}.meta{color:var(--muted);background:var(--bg2);border-radius:10px;gap:8px;margin-bottom:22px;padding:14px;font-size:.88rem;display:grid}.meta b{color:var(--text)}.meta svg{width:1.2em;color:var(--tier);margin-right:6px}.hints-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hints h2{font-size:1rem}.hints h2 svg{color:var(--gold);margin-right:6px}.hints ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hints li{border-left:3px solid var(--gold);background:#ffcf5c0f;border-radius:0 10px 10px 0;padding:10px 12px;font-size:.92rem;line-height:1.5}.hint-tag{font:700 .68rem var(--mono);text-transform:uppercase;color:var(--gold);margin-right:6px}.scene{border-color:color-mix(in srgb, var(--tier) 35%, var(--line));align-content:start;gap:20px;min-height:380px;display:grid}.scene-bar{font:600 .8rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:10px;display:flex}.stage{border:1px dashed var(--line);background:repeating-linear-gradient(45deg,#0a110f,#0a110f 12px,#0c1512 12px 24px);border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;min-height:150px;padding:22px;display:flex}.sticky{color:#3b3200;background:#f6e58d;border-radius:4px;padding:12px 16px;font-weight:600;transform:rotate(-1deg);box-shadow:3px 5px #00000059}.sticky code{background:#0000001f}.reveal{color:var(--accent);font-family:var(--mono);background:#00ffa31a;border:1px solid #00ffa366;border-radius:10px;padding:12px 16px}.status{color:var(--muted);font-size:.92rem}.big-emoji{font-size:3.6rem;line-height:1}.hash{word-break:break-all;max-width:100%;font-size:.78rem}.scroller{background:var(--bg2);border-radius:8px;width:100%;padding:8px 12px;font-size:.9rem}.scroller p{margin:4px 0}.hidden-frame{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute}[hidden]{display:none!important}.code-gate{border:1px solid var(--line);background:var(--bg2);border-radius:12px;gap:8px;padding:16px;display:grid}.code-gate label{color:var(--muted);font-size:.9rem;font-weight:600}.code-gate.ok{border-color:var(--accent)}.code-gate.ok label{color:var(--accent)}.code-gate.bad{border-color:var(--danger)}.code-row{gap:10px;display:flex}.code-row input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);font:600 1.05rem var(--mono);text-transform:uppercase;letter-spacing:.05em;border-radius:10px;flex:1;padding:12px 14px}.code-row input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00ffa326}.gate-msg{color:var(--danger);font-size:.85rem}.gate-free{border:1px dashed var(--line);border-radius:10px;padding:12px}.result{z-index:40;border:1px solid var(--accent);text-align:center;background:#0e1714f7;border-radius:18px;width:min(560px,100vw - 32px);padding:24px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 30px 80px #0009,0 0 60px #00ffa31f}.stars{justify-content:center;gap:8px;margin-bottom:8px;font-size:1.8rem;display:flex}.stats{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:22px;margin:12px 0 16px;font-size:.82rem;display:flex}.stats b{color:var(--text);font:800 1.2rem var(--mono);display:block}.learned{text-align:left;background:var(--bg2);border-radius:12px;margin-bottom:16px;padding:14px 16px}.learned h3{font-size:.82rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}.learned p{color:#c3d6ce;font-size:.92rem;line-height:1.55}.learned a{color:var(--accent);margin-top:8px;font-size:.85rem;display:inline-block}.result-actions{justify-content:center;gap:10px;display:flex}.trophies h1{margin-bottom:18px;font-size:2.2rem}.stat-row{flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0 26px;display:flex}.trophies .stat-row{justify-content:flex-start}.stat-row>div{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:12px;padding:14px 22px}.stat-row b{font:800 1.5rem var(--mono);display:block}.stat-row span{color:var(--muted);font-size:.8rem}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;display:grid}.ach{border:1px solid var(--line);background:var(--panel);opacity:.55;border-radius:12px;gap:14px;padding:16px;display:flex}.ach.has{opacity:1;border-color:#ffcf5c80}.ach-ico{background:var(--bg2);width:46px;height:46px;color:var(--muted);border-radius:12px;flex:none;place-items:center;font-size:1.2rem;display:grid}.ach.has .ach-ico{color:var(--gold);background:#ffcf5c24}.ach h3{font-size:.98rem}.ach p{color:var(--muted);margin-top:3px;font-size:.84rem;line-height:1.4}.danger-zone{border:1px dashed #ff5c7a66;border-radius:12px;justify-items:start;gap:10px;margin-top:44px;padding:20px;display:grid}.center-page{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:55vh;padding:20px;display:grid}.center-page h1{font-size:3rem}.huge{color:#7c5cff;font-size:5rem}.huge.gold{color:var(--gold);filter:drop-shadow(0 0 28px #ffcf5c80)}.toasts{z-index:60;gap:10px;display:grid;position:fixed;top:76px;right:18px}.toast{color:var(--gold);cursor:pointer;text-align:left;font-family:var(--sans);background:#1a1608;border:1px solid #ffcf5c99;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 10px 40px #00000080}.toast svg{font-size:1.4rem}.toast small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;display:block}.toast b{color:var(--text)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=640px){.topbar nav span{display:none}.progress{width:90px}}
