@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&family=Nunito+Sans:wght@300;400;500;600;700&display=swap";.rail{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;width:48px;min-width:48px;padding:10px 0;display:flex;overflow-y:auto}.rail-logo{opacity:.6;justify-content:center;align-items:center;width:26px;height:26px;margin-bottom:4px;display:flex}.rail-logo svg{width:100%;height:100%}.rail-divider{background:var(--border);width:24px;height:1px;margin:4px 0 6px}.rail-btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .15s;display:flex}.rail-btn:hover{background:var(--surface);border-color:var(--border)}.rail-btn.active{background:var(--surface);border-color:var(--border-bright)}.rail-icon{opacity:.55;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .15s;display:flex}.rail-btn:hover .rail-icon,.rail-btn.active .rail-icon{opacity:1}.rail-icon svg{width:100%;height:100%}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);animation-fill-mode:both}.animate__animated.animate__infinite{animation-iteration-count:infinite}.animate__animated.animate__repeat-1{animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 2);animation-iteration-count:calc(var(--animate-repeat) * 2)}.animate__animated.animate__repeat-3{animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 3);animation-iteration-count:calc(var(--animate-repeat) * 3)}.animate__animated.animate__delay-1s{animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay) * 2);animation-delay:calc(var(--animate-delay) * 2)}.animate__animated.animate__delay-3s{animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay) * 3);animation-delay:calc(var(--animate-delay) * 3)}.animate__animated.animate__delay-4s{animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay) * 4);animation-delay:calc(var(--animate-delay) * 4)}.animate__animated.animate__delay-5s{animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay) * 5);animation-delay:calc(var(--animate-delay) * 5)}.animate__animated.animate__faster{animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration) / 2);animation-duration:calc(var(--animate-duration) / 2)}.animate__animated.animate__fast{animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration) * .8);animation-duration:calc(var(--animate-duration) * .8)}.animate__animated.animate__slow{animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2)}.animate__animated.animate__slower{animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration) * 3);animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animate__animated{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@keyframes bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-30px)scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-15px)scaleY(1.05)}80%{transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)scaleY(.95)}90%{transform:translateY(-4px)scaleY(1.02)}}.animate__bounce{transform-origin:bottom;animation-name:bounce}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{animation-name:flash}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale(1)}}.animate__pulse{animation-name:pulse;animation-timing-function:ease-in-out}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}to{transform:scale(1)}}.animate__rubberBand{animation-name:rubberBand}@keyframes shakeX{0%,to{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.animate__shakeX{animation-name:shakeX}@keyframes shakeY{0%,to{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translateY(-10px)}20%,40%,60%,80%{transform:translateY(10px)}}.animate__shakeY{animation-name:shakeY}@keyframes headShake{0%{transform:translate(0)}6.5%{transform:translate(-6px)rotateY(-9deg)}18.5%{transform:translate(5px)rotateY(7deg)}31.5%{transform:translate(-3px)rotateY(-5deg)}43.5%{transform:translate(2px)rotateY(3deg)}50%{transform:translate(0)}}.animate__headShake{animation-name:headShake;animation-timing-function:ease-in-out}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.animate__swing{transform-origin:top;animation-name:swing}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale3d(.9,.9,.9)rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1)rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1)rotate(-3deg)}to{transform:scale(1)}}.animate__tada{animation-name:tada}@keyframes wobble{0%{transform:translate(0,0)}15%{transform:translate(-25%)rotate(-5deg)}30%{transform:translate(20%)rotate(3deg)}45%{transform:translate(-15%)rotate(-3deg)}60%{transform:translate(10%)rotate(2deg)}75%{transform:translate(-5%)rotate(-1deg)}to{transform:translate(0,0)}}.animate__wobble{animation-name:wobble}@keyframes jello{0%,11.1%,to{transform:translate(0,0)}22.2%{transform:skew(-12.5deg)skewY(-12.5deg)}33.3%{transform:skew(6.25deg)skewY(6.25deg)}44.4%{transform:skew(-3.125deg)skewY(-3.125deg)}55.5%{transform:skew(1.5625deg)skewY(1.5625deg)}66.6%{transform:skew(-.78125deg)skewY(-.78125deg)}77.7%{transform:skew(.390625deg)skewY(.390625deg)}88.8%{transform:skew(-.195313deg)skewY(-.195313deg)}}.animate__jello{transform-origin:50%;animation-name:jello}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.animate__heartBeat{animation-name:heartBeat;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration) * 1.3);animation-duration:calc(var(--animate-duration) * 1.3);animation-timing-function:ease-in-out}@keyframes backInDown{0%{opacity:.7;transform:translateY(-1200px)scale(.7)}80%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInDown{animation-name:backInDown}@keyframes backInLeft{0%{opacity:.7;transform:translate(-2000px)scale(.7)}80%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInLeft{animation-name:backInLeft}@keyframes backInRight{0%{opacity:.7;transform:translate(2000px)scale(.7)}80%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInRight{animation-name:backInRight}@keyframes backInUp{0%{opacity:.7;transform:translateY(1200px)scale(.7)}80%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInUp{animation-name:backInUp}@keyframes backOutDown{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:.7;transform:translateY(700px)scale(.7)}}.animate__backOutDown{animation-name:backOutDown}@keyframes backOutLeft{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:.7;transform:translate(-2000px)scale(.7)}}.animate__backOutLeft{animation-name:backOutLeft}@keyframes backOutRight{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:.7;transform:translate(2000px)scale(.7)}}.animate__backOutRight{animation-name:backOutRight}@keyframes backOutUp{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:.7;transform:translateY(-700px)scale(.7)}}.animate__backOutUp{animation-name:backOutUp}@keyframes bounceIn{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale(1)}}.animate__bounceIn{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:bounceIn}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)scaleY(3)}60%{opacity:1;transform:translateY(25px)scaleY(.9)}75%{transform:translateY(-10px)scaleY(.95)}90%{transform:translateY(5px)scaleY(.985)}to{transform:translate(0,0)}}.animate__bounceInDown{animation-name:bounceInDown}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)scaleX(3)}60%{opacity:1;transform:translate(25px)scaleX(1)}75%{transform:translate(-10px)scaleX(.98)}90%{transform:translate(5px)scaleX(.995)}to{transform:translate(0,0)}}.animate__bounceInLeft{animation-name:bounceInLeft}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)scaleX(3)}60%{opacity:1;transform:translate(-25px)scaleX(1)}75%{transform:translate(10px)scaleX(.98)}90%{transform:translate(-5px)scaleX(.995)}to{transform:translate(0,0)}}.animate__bounceInRight{animation-name:bounceInRight}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)scaleY(5)}60%{opacity:1;transform:translateY(-20px)scaleY(.9)}75%{transform:translateY(10px)scaleY(.95)}90%{transform:translateY(-5px)scaleY(.985)}to{transform:translate(0,0)}}.animate__bounceInUp{animation-name:bounceInUp}@keyframes bounceOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.animate__bounceOut{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:bounceOut}@keyframes bounceOutDown{20%{transform:translateY(10px)scaleY(.985)}40%,45%{opacity:1;transform:translateY(-20px)scaleY(.9)}to{opacity:0;transform:translateY(2000px)scaleY(3)}}.animate__bounceOutDown{animation-name:bounceOutDown}@keyframes bounceOutLeft{20%{opacity:1;transform:translate(20px)scaleX(.9)}to{opacity:0;transform:translate(-2000px)scaleX(2)}}.animate__bounceOutLeft{animation-name:bounceOutLeft}@keyframes bounceOutRight{20%{opacity:1;transform:translate(-20px)scaleX(.9)}to{opacity:0;transform:translate(2000px)scaleX(2)}}.animate__bounceOutRight{animation-name:bounceOutRight}@keyframes bounceOutUp{20%{transform:translateY(-10px)scaleY(.985)}40%,45%{opacity:1;transform:translateY(20px)scaleY(.9)}to{opacity:0;transform:translateY(-2000px)scaleY(3)}}.animate__bounceOutUp{animation-name:bounceOutUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{animation-name:fadeIn}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInDown{animation-name:fadeInDown}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInDownBig{animation-name:fadeInDownBig}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInLeft{animation-name:fadeInLeft}@keyframes fadeInLeftBig{0%{opacity:0;transform:translate(-2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInLeftBig{animation-name:fadeInLeftBig}@keyframes fadeInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInRight{animation-name:fadeInRight}@keyframes fadeInRightBig{0%{opacity:0;transform:translate(2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInRightBig{animation-name:fadeInRightBig}@keyframes fadeInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInUp{animation-name:fadeInUp}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInUpBig{animation-name:fadeInUpBig}@keyframes fadeInTopLeft{0%{opacity:0;transform:translate(-100%,-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInTopLeft{animation-name:fadeInTopLeft}@keyframes fadeInTopRight{0%{opacity:0;transform:translate(100%,-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInTopRight{animation-name:fadeInTopRight}@keyframes fadeInBottomLeft{0%{opacity:0;transform:translate(-100%,100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInBottomLeft{animation-name:fadeInBottomLeft}@keyframes fadeInBottomRight{0%{opacity:0;transform:translate(100%,100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInBottomRight{animation-name:fadeInBottomRight}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{animation-name:fadeOut}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;transform:translateY(100%)}}.animate__fadeOutDown{animation-name:fadeOutDown}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;transform:translateY(2000px)}}.animate__fadeOutDownBig{animation-name:fadeOutDownBig}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;transform:translate(-100%)}}.animate__fadeOutLeft{animation-name:fadeOutLeft}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;transform:translate(-2000px)}}.animate__fadeOutLeftBig{animation-name:fadeOutLeftBig}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;transform:translate(100%)}}.animate__fadeOutRight{animation-name:fadeOutRight}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;transform:translate(2000px)}}.animate__fadeOutRightBig{animation-name:fadeOutRightBig}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translateY(-100%)}}.animate__fadeOutUp{animation-name:fadeOutUp}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;transform:translateY(-2000px)}}.animate__fadeOutUpBig{animation-name:fadeOutUpBig}@keyframes fadeOutTopLeft{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%,-100%)}}.animate__fadeOutTopLeft{animation-name:fadeOutTopLeft}@keyframes fadeOutTopRight{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%,-100%)}}.animate__fadeOutTopRight{animation-name:fadeOutTopRight}@keyframes fadeOutBottomRight{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%,100%)}}.animate__fadeOutBottomRight{animation-name:fadeOutBottomRight}@keyframes fadeOutBottomLeft{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%,100%)}}.animate__fadeOutBottomLeft{animation-name:fadeOutBottomLeft}@keyframes flip{0%{animation-timing-function:ease-out;transform:perspective(400px)scale(1)translate(0,0)rotateY(-360deg)}40%{animation-timing-function:ease-out;transform:perspective(400px)scale(1)translateZ(150px)rotateY(-190deg)}50%{animation-timing-function:ease-in;transform:perspective(400px)scale(1)translateZ(150px)rotateY(-170deg)}80%{animation-timing-function:ease-in;transform:perspective(400px)scale3d(.95,.95,.95)translate(0,0)rotateY(0)}to{animation-timing-function:ease-in;transform:perspective(400px)scale(1)translate(0,0)rotateY(0)}}.animate__animated.animate__flip{backface-visibility:visible;animation-name:flip}@keyframes flipInX{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}.animate__flipInX{animation-name:flipInX;backface-visibility:visible!important}@keyframes flipInY{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateY(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateY(-20deg)}60%{opacity:1;transform:perspective(400px)rotateY(10deg)}80%{transform:perspective(400px)rotateY(-5deg)}to{transform:perspective(400px)}}.animate__flipInY{animation-name:flipInY;backface-visibility:visible!important}@keyframes flipOutX{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateX(-20deg)}to{opacity:0;transform:perspective(400px)rotateX(90deg)}}.animate__flipOutX{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:flipOutX;backface-visibility:visible!important}@keyframes flipOutY{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateY(-15deg)}to{opacity:0;transform:perspective(400px)rotateY(90deg)}}.animate__flipOutY{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:flipOutY;backface-visibility:visible!important}@keyframes lightSpeedInRight{0%{opacity:0;transform:translate(100%)skew(-30deg)}60%{opacity:1;transform:skew(20deg)}80%{transform:skew(-5deg)}to{transform:translate(0,0)}}.animate__lightSpeedInRight{animation-name:lightSpeedInRight;animation-timing-function:ease-out}@keyframes lightSpeedInLeft{0%{opacity:0;transform:translate(-100%)skew(30deg)}60%{opacity:1;transform:skew(-20deg)}80%{transform:skew(5deg)}to{transform:translate(0,0)}}.animate__lightSpeedInLeft{animation-name:lightSpeedInLeft;animation-timing-function:ease-out}@keyframes lightSpeedOutRight{0%{opacity:1}to{opacity:0;transform:translate(100%)skew(30deg)}}.animate__lightSpeedOutRight{animation-name:lightSpeedOutRight;animation-timing-function:ease-in}@keyframes lightSpeedOutLeft{0%{opacity:1}to{opacity:0;transform:translate(-100%)skew(-30deg)}}.animate__lightSpeedOutLeft{animation-name:lightSpeedOutLeft;animation-timing-function:ease-in}@keyframes rotateIn{0%{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateIn{transform-origin:50%;animation-name:rotateIn}@keyframes rotateInDownLeft{0%{opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInDownLeft{transform-origin:0 100%;animation-name:rotateInDownLeft}@keyframes rotateInDownRight{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInDownRight{transform-origin:100% 100%;animation-name:rotateInDownRight}@keyframes rotateInUpLeft{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInUpLeft{transform-origin:0 100%;animation-name:rotateInUpLeft}@keyframes rotateInUpRight{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInUpRight{transform-origin:100% 100%;animation-name:rotateInUpRight}@keyframes rotateOut{0%{opacity:1}to{opacity:0;transform:rotate(200deg)}}.animate__rotateOut{transform-origin:50%;animation-name:rotateOut}@keyframes rotateOutDownLeft{0%{opacity:1}to{opacity:0;transform:rotate(45deg)}}.animate__rotateOutDownLeft{transform-origin:0 100%;animation-name:rotateOutDownLeft}@keyframes rotateOutDownRight{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutDownRight{transform-origin:100% 100%;animation-name:rotateOutDownRight}@keyframes rotateOutUpLeft{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutUpLeft{transform-origin:0 100%;animation-name:rotateOutUpLeft}@keyframes rotateOutUpRight{0%{opacity:1}to{opacity:0;transform:rotate(90deg)}}.animate__rotateOutUpRight{transform-origin:100% 100%;animation-name:rotateOutUpRight}@keyframes hinge{0%{animation-timing-function:ease-in-out}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg)}40%,80%{opacity:1;animation-timing-function:ease-in-out;transform:rotate(60deg)}to{opacity:0;transform:translateY(700px)}}.animate__hinge{animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2);transform-origin:0 0;animation-name:hinge}@keyframes jackInTheBox{0%{opacity:0;transform-origin:bottom;transform:scale(.1)rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.animate__jackInTheBox{animation-name:jackInTheBox}@keyframes rollIn{0%{opacity:0;transform:translate(-100%)rotate(-120deg)}to{opacity:1;transform:translate(0,0)}}.animate__rollIn{animation-name:rollIn}@keyframes rollOut{0%{opacity:1}to{opacity:0;transform:translate(100%)rotate(120deg)}}.animate__rollOut{animation-name:rollOut}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{animation-name:zoomIn}@keyframes zoomInDown{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translateY(-1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translateY(60px)}}.animate__zoomInDown{animation-name:zoomInDown}@keyframes zoomInLeft{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translate(-1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translate(10px)}}.animate__zoomInLeft{animation-name:zoomInLeft}@keyframes zoomInRight{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translate(1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translate(-10px)}}.animate__zoomInRight{animation-name:zoomInRight}@keyframes zoomInUp{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translateY(1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translateY(-60px)}}.animate__zoomInUp{animation-name:zoomInUp}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{animation-name:zoomOut}@keyframes zoomOutDown{40%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.475,.475,.475)translateY(-60px)}to{opacity:0;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.1,.1,.1)translateY(2000px)}}.animate__zoomOutDown{transform-origin:bottom;animation-name:zoomOutDown}@keyframes zoomOutLeft{40%{opacity:1;transform:scale3d(.475,.475,.475)translate(42px)}to{opacity:0;transform:scale(.1)translate(-2000px)}}.animate__zoomOutLeft{transform-origin:0;animation-name:zoomOutLeft}@keyframes zoomOutRight{40%{opacity:1;transform:scale3d(.475,.475,.475)translate(-42px)}to{opacity:0;transform:scale(.1)translate(2000px)}}.animate__zoomOutRight{transform-origin:100%;animation-name:zoomOutRight}@keyframes zoomOutUp{40%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.475,.475,.475)translateY(60px)}to{opacity:0;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.1,.1,.1)translateY(-2000px)}}.animate__zoomOutUp{transform-origin:bottom;animation-name:zoomOutUp}@keyframes slideInDown{0%{visibility:visible;transform:translateY(-100%)}to{transform:translate(0,0)}}.animate__slideInDown{animation-name:slideInDown}@keyframes slideInLeft{0%{visibility:visible;transform:translate(-100%)}to{transform:translate(0,0)}}.animate__slideInLeft{animation-name:slideInLeft}@keyframes slideInRight{0%{visibility:visible;transform:translate(100%)}to{transform:translate(0,0)}}.animate__slideInRight{animation-name:slideInRight}@keyframes slideInUp{0%{visibility:visible;transform:translateY(100%)}to{transform:translate(0,0)}}.animate__slideInUp{animation-name:slideInUp}@keyframes slideOutDown{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(100%)}}.animate__slideOutDown{animation-name:slideOutDown}@keyframes slideOutLeft{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(-100%)}}.animate__slideOutLeft{animation-name:slideOutLeft}@keyframes slideOutRight{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(100%)}}.animate__slideOutRight{animation-name:slideOutRight}@keyframes slideOutUp{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(-100%)}}.animate__slideOutUp{animation-name:slideOutUp}.header{z-index:10;flex-shrink:0;padding:18px 28px 0}.header-top{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.brand-text h1{letter-spacing:-.5px;font-family:Outfit,sans-serif;font-size:20px;font-weight:700}.brand-dim{color:var(--text-dim);font-weight:400}.brand-text .tagline{color:var(--text-dim);margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:11px}.header-right{align-items:flex-start;gap:10px;display:flex}.acc-nav{align-items:center;gap:6px;display:flex}.ws-nav-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;letter-spacing:.3px;white-space:nowrap;border-radius:6px;padding:6px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;transition:all .2s}.ws-nav-btn:hover{border-color:var(--border-bright);color:var(--text-dim)}.ws-nav-btn.active{border-color:var(--app-color,#2563eb);color:var(--text);background:#2563eb1a}.acc-item{z-index:100;width:140px;position:relative}.acc-trigger{letter-spacing:.5px;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);cursor:default;-webkit-user-select:none;user-select:none;z-index:102;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;transition:all .2s;display:flex;position:relative}.acc-trigger:hover{border-color:var(--border-bright);color:var(--text)}.acc-trigger.active{color:var(--app-color);border-color:color-mix(in srgb, var(--app-color) 40%, var(--border));background:var(--surface2)}.acc-trigger.open{border-bottom-color:var(--surface);border-bottom-right-radius:0;border-bottom-left-radius:0}.acc-arrow{opacity:.4;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s}.acc-trigger:hover .acc-arrow{opacity:.7}.acc-arrow.rotated{opacity:.8;transform:rotate(180deg)}.acc-children{z-index:101;transition:height .28s cubic-bezier(.4,0,.2,1);position:absolute;top:100%;left:0;right:0;overflow:hidden}.acc-children-inner{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;flex-direction:column;gap:1px;padding:2px 4px 4px;display:flex;box-shadow:0 8px 24px #0006}.acc-child{color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;width:100%;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;transition:all .18s,opacity .2s,transform .2s}.acc-child:hover{background:var(--bg2);color:var(--text)}.acc-child.selected{background:var(--bg2);color:var(--app-color)}.mcp-pill{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;transition:all .2s;display:flex}.mcp-pill:hover{border-color:var(--border-bright)}.mcp-pill.live{border-color:#2cc98a4d}.mcp-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:all .3s}.mcp-pill.live .mcp-dot{background:var(--green);box-shadow:0 0 6px #2cc98a80}.mcp-text{color:var(--text-muted);letter-spacing:.5px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.mcp-pill.live .mcp-text{color:var(--green)}.mcp-pill:not(.live):not(.connecting){border-color:#e0484833}.mcp-pill:not(.live):not(.connecting) .mcp-text{color:var(--text-muted)}.mcp-pill.connecting .mcp-dot{background:var(--yellow);animation:.8s infinite mcpPulse}.mcp-pill.connecting .mcp-text{color:var(--yellow)}@keyframes mcpPulse{0%,to{opacity:1}50%{opacity:.3}}.mcp-group{align-items:center;gap:4px;display:flex}.mcp-config-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-dim);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;transition:all .2s;display:flex}.mcp-config-btn:hover{border-color:var(--border-bright);color:var(--text)}.mcp-config-popover{z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:300px;margin-top:8px;padding:14px;position:absolute;top:100%;right:0;box-shadow:0 12px 40px #00000080}.mcp-config-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:600}.mcp-config-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}.mcp-config-input:focus{border-color:var(--app-color,#2563eb)}.mcp-config-actions{gap:6px;margin-top:8px;display:flex}.mcp-config-save{background:var(--green);color:#000;cursor:pointer;border:none;border-radius:5px;flex:1;padding:6px;font-family:inherit;font-size:11px;font-weight:600}.mcp-config-cancel{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:5px;padding:6px 12px;font-family:inherit;font-size:11px}.mcp-config-hint{color:var(--text-muted);margin-top:8px;font-size:10px;line-height:1.4}.mcp-config-hint code{background:var(--bg);color:var(--green);border-radius:3px;padding:1px 4px;font-family:IBM Plex Mono,monospace;font-size:10px}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;width:260px;min-width:260px;display:flex;overflow-y:auto}.sidebar .search-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.sidebar .search-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;align-items:center;gap:8px;padding:7px 12px;transition:border-color .15s;display:flex}.sidebar .search-box:focus-within{border-color:var(--border-bright)}.sidebar .search-icon{color:var(--text-muted);flex-shrink:0;font-size:14px}.sidebar .search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:IBM Plex Mono,monospace;font-size:12px}.sidebar .search-box input::placeholder{color:var(--text-muted)}.sidebar .search-count{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:10px}.tree-section{border-bottom:1px solid var(--border)}.tree-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:8px 12px;transition:background .15s;display:flex}.tree-header:hover{background:var(--surface)}.tree-chevron{color:var(--text-muted);flex-shrink:0;font-size:8px;transition:transform .15s}.tree-section.open .tree-chevron{transform:rotate(90deg)}.tree-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tree-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.tree-children{display:none}.tree-section.open .tree-children{display:block}.tree-item{cursor:pointer;align-items:center;gap:7px;padding:5px 12px 5px 28px;transition:background .1s;display:flex}.tree-item:hover{background:var(--surface)}.tree-item.active{background:var(--surface2)}.tree-item-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:IBM Plex Mono,monospace;font-size:11.5px;overflow:hidden}.tree-item.active .tree-item-name{color:#fff}.tree-item-badge{color:var(--text-muted);opacity:.6;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:9px}.dom-detail{flex:1;padding:24px 28px;overflow-y:auto}.detail-breadcrumb{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:9px}.detail-breadcrumb span{opacity:.5;margin:0 4px}.detail-title{color:var(--text);font-family:Outfit,sans-serif;font-size:22px;font-weight:700;line-height:1.2}.detail-type{margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:11px}.detail-desc{color:var(--text-dim);margin-top:10px;font-size:13px;line-height:1.65}.detail-desc code{background:var(--surface2);color:var(--cyan);border-radius:3px;padding:1px 4px;font-family:IBM Plex Mono,monospace;font-size:11px}.children-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-top:14px;margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10px}.children-grid{flex-wrap:wrap;gap:6px;display:flex}.child-link{background:var(--surface);border:1px solid var(--border);color:var(--cyan);cursor:pointer;border-radius:4px;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:all .15s}.child-link:hover{border-color:var(--border-bright);background:var(--surface2)}.section{margin-bottom:20px}.section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10px}.tag-grid{flex-wrap:wrap;gap:5px;display:flex}.tag{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:3px 9px;font-family:IBM Plex Mono,monospace;font-size:11px}.tag.prop{color:var(--blue)}.tag.method{color:var(--green)}.download-banner{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:16px 20px;display:flex}.download-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.download-icon svg{width:100%;height:100%}.download-info{flex:1;min-width:0}.download-info h4{color:var(--text);margin:0 0 3px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}.download-info p{color:var(--text-dim);margin:0;font-size:11.5px;line-height:1.5}.download-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.download-btn:hover{border-color:var(--border-bright);background:var(--surface3)}.no-results{color:var(--text-muted);text-align:center;padding:24px 0;font-size:13px}.dom-landing{flex-direction:column;align-items:center;gap:28px;padding-top:48px;display:flex}.dom-landing-hero{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:560px;display:flex}.dom-landing-icon{width:56px;height:56px;margin-bottom:4px}.dom-landing-icon svg{width:100%;height:100%}.dom-landing-title{letter-spacing:-1px;color:var(--text);font-family:Outfit,sans-serif;font-size:32px;font-weight:800;line-height:1.1}.dom-landing-badge{letter-spacing:.5px;border:1px solid;border-radius:20px;align-items:center;gap:5px;padding:2px 9px;font-family:IBM Plex Mono,monospace;font-size:10px;display:inline-flex}.dom-landing-badge-dot{border-radius:50%;width:5px;height:5px;display:inline-block}.dom-landing-desc{color:var(--text-dim);max-width:480px;font-size:13px;line-height:1.7}.dom-landing-download{border:1px solid var(--accent,var(--border));background:var(--surface2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:10px;margin-top:6px;padding:14px 28px;font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.dom-landing-download:hover{border-color:color-mix(in srgb, var(--accent,var(--border-bright)) 60%, black);background:var(--surface3);transform:translateY(-1px)}.dom-landing-download-arrow{font-size:18px;line-height:1}.dom-landing-stats{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:2px;width:100%;max-width:560px;display:flex;overflow:hidden}.dom-landing-stat{border-right:1px solid var(--border);flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px 12px;display:flex}.dom-landing-stat:last-child{border-right:none}.dom-landing-stat-value{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700}.dom-landing-stat-value code{font-family:inherit;font-size:inherit;color:var(--cyan)}.dom-landing-stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:9px}.dom-landing-hint{color:var(--text-muted);text-align:center;font-size:13px}.cep-view{flex:1;padding:24px 28px;overflow-y:auto}.arch-diagram{flex-direction:column;gap:0;margin:16px 0 24px;display:flex}.arch-layer{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 18px}.arch-layer-tag{text-transform:uppercase;letter-spacing:1.5px;margin-bottom:2px;font-family:IBM Plex Mono,monospace;font-size:9px}.arch-layer-title{margin-bottom:4px;font-family:Outfit,sans-serif;font-size:15px;font-weight:700}.arch-layer-desc{color:var(--text-dim);margin-bottom:8px;font-size:12px;line-height:1.5}.arch-layer-tech{flex-wrap:wrap;gap:5px;display:flex}.arch-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:10px}.arch-arrow-row{justify-content:center;padding:6px 0;display:flex}.arch-arrow-label{letter-spacing:.5px;opacity:.7;font-family:IBM Plex Mono,monospace;font-size:10px}.constraint-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.constraint-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.constraint-card-title{margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.constraint-card p{color:var(--text-dim);margin:0;font-size:12px;line-height:1.55}@media (width<=800px){.constraint-grid{grid-template-columns:1fr}}.uxp-view{flex:1;padding:24px 28px;overflow-y:auto}.uxp-status-badge{letter-spacing:.5px;vertical-align:middle;border:1px solid;border-radius:20px;align-items:center;gap:5px;margin-left:10px;padding:2px 9px;font-family:IBM Plex Mono,monospace;font-size:10px;display:inline-flex;position:relative;top:-2px}.uxp-status-dot{border-radius:50%;width:5px;height:5px;display:inline-block}.uxp-meta{flex-wrap:wrap;gap:8px;margin:14px 0 6px;display:flex}.uxp-meta-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;min-width:140px;padding:8px 14px}.uxp-meta-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:9px}.uxp-meta-value{color:var(--text);font-size:13px}.uxp-meta-value code{background:var(--surface2);color:var(--cyan);border-radius:3px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:12px}.uxp-arch-vs-note{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.uxp-vs-label{letter-spacing:.5px;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.uxp-vs-text{color:var(--text-dim);font-size:12px;line-height:1.5}.uxp-arch .arch-layer{border-left:2px solid #0000;transition:border-left-color .2s}.uxp-arch .arch-layer:hover{border-left-color:var(--cyan)}.uxp-api-surface{flex-direction:column;gap:16px;display:flex}.uxp-api-group{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.uxp-api-group-title{letter-spacing:1.5px;text-transform:uppercase;background:var(--bg2);border-bottom:1px solid var(--border);padding:10px 16px;font-family:IBM Plex Mono,monospace;font-size:10px}.uxp-api-table{flex-direction:column;display:flex}.uxp-api-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:7px 16px;transition:background .15s;display:flex}.uxp-api-row:last-child{border-bottom:none}.uxp-api-row:hover{background:var(--bg2)}.uxp-api-name{color:var(--text);white-space:nowrap;flex-shrink:0;min-width:280px;font-family:IBM Plex Mono,monospace;font-size:11px}.uxp-api-row.prop .uxp-api-name{color:var(--blue)}.uxp-api-row.method .uxp-api-name{color:var(--green)}.uxp-api-desc{color:var(--text-dim);flex:1;min-width:0;font-size:11.5px}.uxp-api-type-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:9px}.uxp-api-type-badge.prop{background:var(--blue-dim);color:var(--blue)}.uxp-api-type-badge.method{background:var(--green-dim);color:var(--green)}.uxp-manifest-desc{color:var(--text-dim);margin-bottom:4px;font-size:12px;line-height:1.6}.uxp-manifest-desc code{background:var(--surface2);color:var(--cyan);border-radius:3px;padding:1px 4px;font-family:IBM Plex Mono,monospace;font-size:11px}.uxp-cta-block{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--app-color);border-radius:10px;align-items:flex-start;gap:14px;margin-top:24px;padding:18px 20px;display:flex}.uxp-cta-icon{color:var(--app-color);flex-shrink:0;margin-top:2px;font-size:20px;line-height:1}.uxp-cta-text{flex-direction:column;gap:4px;display:flex}.uxp-cta-text strong{color:var(--text);font-family:Outfit,sans-serif;font-size:14px;font-weight:600}.uxp-cta-text span{color:var(--text-dim);font-size:12px;line-height:1.6}@media (width<=800px){.uxp-api-row{flex-wrap:wrap}.uxp-api-name{min-width:unset;width:100%}.constraint-grid{grid-template-columns:1fr}}.uxp-switch-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;transition:all .15s;display:flex}.uxp-switch-btn:hover{border-color:var(--border-bright);background:var(--surface3)}.uxp-switch-btn span{font-weight:700}.uxp-marketing{text-align:center;flex-direction:column;align-items:center;gap:32px;padding-top:48px;padding-bottom:48px;display:flex}.uxp-mk-hero{flex-direction:column;align-items:center;gap:12px;max-width:560px;display:flex}.uxp-mk-title{letter-spacing:-1px;color:var(--text);font-family:Outfit,sans-serif;font-size:36px;font-weight:800;line-height:1.1}.uxp-mk-desc{color:var(--text-dim);max-width:480px;font-size:14px;line-height:1.7}.uxp-mk-stats{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:2px;width:100%;max-width:600px;display:flex;overflow:hidden}.uxp-mk-stat{border-right:1px solid var(--border);flex-direction:column;flex:1;align-items:center;gap:4px;padding:16px 12px;display:flex}.uxp-mk-stat:last-child{border-right:none}.uxp-mk-stat-value{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700}.uxp-mk-stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:9px}.uxp-mk-features{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:820px;display:grid}.uxp-mk-feature{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:10px;padding:20px;transition:border-color .2s;position:relative;overflow:hidden}.uxp-mk-feature:hover{border-color:var(--border-bright)}.uxp-mk-feature-accent{height:2px;position:absolute;top:0;left:0;right:0}.uxp-mk-feature h3{letter-spacing:.5px;text-transform:uppercase;margin-top:4px;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.uxp-mk-feature p{color:var(--text-dim);font-size:12.5px;line-height:1.65}.uxp-mk-cta{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:820px;padding:40px 36px}.uxp-mk-cta h3{color:var(--text);margin-bottom:8px;font-family:Outfit,sans-serif;font-size:22px;font-weight:800}.uxp-mk-cta p{color:var(--text-dim);margin-bottom:24px;font-size:14px;line-height:1.6}.uxp-mk-cta-buttons{justify-content:center;gap:14px;display:flex}.uxp-mk-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:14px 28px;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;transition:all .2s;display:flex}.uxp-mk-btn:hover{border-color:var(--border-bright);background:var(--surface3);transform:translateY(-2px)}.uxp-mk-btn-badge{color:#fff;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:flex}.uxp-mk-btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.uxp-mk-btn-icon svg{width:100%;height:100%}.patterns-view{flex:1;padding:24px 28px;overflow-y:auto}.patterns-meta{flex-wrap:wrap;gap:8px;margin:14px 0 20px;display:flex}.patterns-meta-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;min-width:140px;padding:8px 14px}.patterns-meta-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:9px}.patterns-meta-value{color:var(--text);font-size:13px}.pattern-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;transition:border-color .2s;overflow:hidden}.pattern-card:hover{border-color:var(--border-bright)}.pattern-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.pattern-card-header h3{color:var(--text);margin:0;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.pattern-tag{letter-spacing:.5px;text-transform:uppercase;background:var(--surface2);color:var(--text-muted);border-radius:3px;flex-shrink:0;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:9px}.pattern-card-body{padding:0 16px 14px;display:none}.pattern-card.open .pattern-card-body{display:block}.pattern-desc{color:var(--text-dim);margin-bottom:12px;font-size:12px;line-height:1.6}.code-block{background:var(--bg2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.code-block-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.code-block-label{color:var(--text-muted);letter-spacing:.3px;font-family:IBM Plex Mono,monospace;font-size:10px}.code-block-copy{border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:2px 10px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;transition:all .15s}.code-block-copy:hover{border-color:var(--border-bright);color:var(--text)}.code-block pre{color:var(--text);margin:0;padding:12px 14px;font-family:IBM Plex Mono,monospace;font-size:11.5px;line-height:1.6;overflow-x:auto}@media (width<=800px){.patterns-meta{flex-direction:column}}.gs{max-width:780px;margin:0 auto;padding:32px 24px 60px}.gs-hero{margin-bottom:32px}.gs-hero h2{color:var(--text);margin-bottom:8px;font-size:22px;font-weight:700}.gs-subtitle{color:var(--text-muted);font-size:14px;line-height:1.6}.gs-section{border-bottom:1px solid var(--border);gap:16px;margin-bottom:28px;padding-bottom:28px;display:flex}.gs-section:last-child{border-bottom:none}.gs-step-num{background:var(--surface2);border:1px solid var(--border);width:32px;height:32px;color:var(--app-color,#2563eb);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700;display:flex}.gs-step-content{flex:1;min-width:0}.gs-step-content h3{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.gs-step-content>p{color:var(--text-muted);margin-bottom:12px;font-size:13px;line-height:1.5}.gs-install-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.gs-install-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:14px}.gs-install-icon{margin-bottom:8px}.gs-install-name{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600}.gs-install-note{color:var(--text-muted);margin-top:4px;font-size:10px}.gs-code-inline{background:var(--bg);border:1px solid var(--border);color:var(--green);-webkit-user-select:all;user-select:all;border-radius:4px;padding:6px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}.gs-code-block{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);white-space:pre;-webkit-user-select:all;user-select:all;border-radius:6px;padding:10px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.5;overflow-x:auto}.gs-substep{margin-bottom:12px}.gs-substep-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600}.gs-substep p{color:var(--text-muted);font-size:12px;line-height:1.5}.gs-link{color:#89b4fa;text-decoration:none}.gs-link:hover{text-decoration:underline}.gs-mcp-status{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:12px;display:flex}.gs-mcp-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:8px;height:8px}.gs-mcp-dot.on{background:var(--green);box-shadow:0 0 6px #2cc98a80}.gs-mcp-retry{border:1px solid var(--border);background:var(--surface2);color:var(--text-dim);cursor:pointer;border-radius:4px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:11px}.gs-mcp-retry:hover{border-color:var(--green);color:var(--green)}.gs-features{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.gs-feature{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px}.gs-feature-title{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:600}.gs-feature-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.gs-feature-desc code{background:var(--bg);color:var(--green);border-radius:3px;padding:1px 4px;font-family:IBM Plex Mono,monospace;font-size:10px}@media (width<=700px){.gs-install-grid,.gs-features{grid-template-columns:1fr}}:root{--bg:#08090c;--bg2:#0c0e13;--surface:#111318;--surface2:#171a22;--surface3:#1d2029;--border:#23272f;--border-bright:#2e3340;--text:#d8dbe4;--text-dim:#6b7080;--text-muted:#4a4f5c;--red:#e04848;--red-dim:#e048481f;--orange:#e8622c;--orange-dim:#e8622c1f;--yellow:#d4a23a;--yellow-dim:#d4a23a1a;--green:#2cc98a;--green-dim:#2cc98a14;--blue:#2ea4e0;--blue-dim:#2ea4e01a;--indigo:#5b6ee0;--indigo-dim:#5b6ee01a;--violet:#9272e0;--violet-dim:#9272e01a;--pink:#d95fa0;--pink-dim:#d95fa01a;--gold:#d4a23a;--gold-dim:#d4a23a1a;--cyan:#3ac5c9;--cyan-dim:#3ac5c91a;--app-color:var(--orange)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg);color:var(--text);height:100vh;font-family:Nunito Sans,sans-serif;display:flex;overflow:hidden}#root{width:100%;height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.kw{color:var(--violet)}.str{color:var(--green)}.cm{color:var(--text-muted);font-style:italic}.fn{color:var(--blue)}.num{color:var(--yellow)}.cls{color:var(--indigo)}.t1{color:var(--red)}.t2{color:var(--orange)}.t3{color:var(--yellow)}.t4{color:var(--green)}.t5{color:var(--blue)}.t6{color:var(--indigo)}.prop{color:var(--blue)}.app-wrapper{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main{border-top:1px solid var(--border);flex:1;display:flex;overflow:hidden}.content{flex-direction:column;flex:1;display:flex;overflow-y:auto}.search-row-wrap{padding:0 28px}
