input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradientBorderRotate{0%{--angle:0deg}to{--angle:360deg}}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseScale{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #a35bff4d}50%{box-shadow:0 0 30px #a35bff80}}@keyframes borderSweepIn{0%{clip-path:polygon(50% 50%,50% 0%,50% 0%,50% 0%,50% 0%,50% 0%,50% 0%)}14%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 0%,100% 0%,100% 0%,100% 0%)}28%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%,100% 50%,100% 50%,100% 50%)}42%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%,100% 100%,100% 100%,100% 100%)}57%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%,100% 100%,50% 100%,50% 100%)}71%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%,100% 100%,50% 100%,0% 100%)}85%{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 50%,100% 100%,50% 100%,0% 100%,0% 50%)}to{clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%,50% 0%)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes checkmarkBounce{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes thumbSpring{0%{transform:translateY(-50%)scale(1)}30%{transform:translateY(-50%)scale(1.1,.9)}50%{transform:translateY(-50%)scale(.95,1.05)}70%{transform:translateY(-50%)scale(1.02)}to{transform:translateY(-50%)scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes skeletonWave{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes slideInTop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes progressBarFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.forge-scrollbar::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-thin::-webkit-scrollbar-track{background:0 0}.forge-scrollbar::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar-thin::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar,.forge-scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--border-color,#404040) transparent}.forge-scrollbar-global::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-global ::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-global::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-global ::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-global::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar-global ::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar-global::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar-global ::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}@keyframes forge-gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes forge-text-shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes forge-kinetic-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes forge-kinetic-rubber{0%,to{transform:scaleX(1)scaleY(1)}50%{transform:scaleX(1.15)scaleY(.85)}}@keyframes forge-kinetic-float{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(-2deg)}75%{transform:translateY(3px)rotate(2deg)}}@keyframes forge-marquee-ltr{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes forge-marquee-rtl{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes forge-breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes forge-aura-pulse{0%,to{box-shadow:0 0 0 0 var(--forge-aura-color,#a35bff80)}50%{box-shadow:0 0 0 16px #0000}}@keyframes forge-ripple-wave{0%{opacity:.55;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@keyframes forge-orbital-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes forge-holo-shift{0%{background-position:0 0,0 0}50%{background-position:100% 100%,0 0}to{background-position:0 0,0 0}}@keyframes forge-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.forge-smooth-scroll{scroll-behavior:smooth}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}hr{border:none;border-color:var(--border-color);background-color:var(--border-color)}.gradient-btn-halo{animation:2s linear infinite gradientBorderRotate;background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%) padding-box, conic-gradient(from var(--angle), var(--brand-primary), var(--brand-secondary), #10b981, #06b6d4, var(--brand-primary)) border-box!important;border:2px solid #0000!important}.animate-fadeIn{animation:.15s ease-out fadeIn}.animate-fadeOut{animation:.15s ease-out fadeOut}.animate-scaleIn{animation:.2s ease-out scaleIn}.animate-scaleOut{animation:.2s ease-out scaleOut}.animate-slideInUp{animation:.2s ease-out slideInUp}.animate-slideInDown{animation:.2s ease-out slideInDown}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-pulseScale{animation:2s ease-in-out infinite pulseScale}.animate-glowPulse{animation:2s ease-in-out infinite glowPulse}.animate-float{animation:3s ease-in-out infinite float}.animate-wiggle{animation:.5s ease-in-out wiggle}.animate-bounce{animation:.5s ease-in-out bounce}.animate-shake{animation:.3s ease-in-out shake}.border-sweep-active{animation:.2s ease-out forwards borderSweepIn}.border-sweep-inactive{opacity:0}.skeleton{background:var(--bg-tertiary);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff0d 50%,#0000 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}.skeleton-pulse{animation:1.5s ease-in-out infinite skeletonPulse}.skeleton-wave{background:linear-gradient(90deg, var(--bg-tertiary) 0%, #ffffff1a 50%, var(--bg-tertiary) 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeletonWave}.progress-bar-animated{transform-origin:0;animation:.7s cubic-bezier(.4,0,.2,1) forwards progressBarFill}.interactive-icon:hover{background-color:var(--bg-tertiary)}.interactive-danger:hover{background-color:#ef44441a}.interactive-nav{transition:color .15s,background-color .15s}.interactive-nav:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.interactive-card-subtle:hover{background-color:var(--bg-tertiary)}.interactive-row{transition:all .15s}.interactive-row:hover{background-color:var(--bg-tertiary)}.interactive-subtle{transition:all .15s}.interactive-subtle:hover{background-color:var(--bg-tertiary)}.interactive-card{transition:all .15s}.interactive-card:hover{background-color:var(--bg-tertiary);border-color:var(--border-color)}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary:hover{background-color:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.btn-ghost:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-danger:hover{color:#fff;background-color:#ef4444;border-color:#ef4444}.transition-fast{transition:all .15s}.transition-normal{transition:all .2s}.transition-slow{transition:all .3s}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}.hover-glow:hover{box-shadow:0 0 20px #a35bff4d}.image-tile{box-shadow:none;transform:scale(1)}.image-tile:hover{transform:scale(1.02);box-shadow:0 8px 24px #0000004d}.image-tile-img{transition:transform .2s}.image-tile:hover .image-tile-img{transform:scale(1.05)}.image-tile-overlay{color:#fff;opacity:0;background-color:#0006;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.image-tile:hover .image-tile-overlay{opacity:1}.lightbox-thumbnail{transform:none}.lightbox-thumbnail:hover{box-shadow:none;transform:none;opacity:1!important}.lightbox-thumbnail .image-tile-img{transition:none}.lightbox-thumbnail:hover .image-tile-img{transform:none}.lightbox-thumbnail .image-tile-overlay{display:none}.forge-scrollbar::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.forge-scrollbar::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-thin::-webkit-scrollbar-track{background:0 0}.forge-scrollbar::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar-thin::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar-thin::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar-gutter{scrollbar-gutter:stable}.forge-scrollbar-auto::-webkit-scrollbar-thumb{background:0 0}.forge-scrollbar-auto:hover::-webkit-scrollbar-thumb{background:var(--border-color,#404040)}.forge-scrollbar-auto:hover::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar-minimal::-webkit-scrollbar{width:4px;height:4px}.forge-scrollbar-minimal::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-minimal::-webkit-scrollbar-thumb{background:var(--border-subtle,#2a2a2a);border-radius:2px}.forge-scrollbar-minimal::-webkit-scrollbar-thumb:hover{background:var(--border-color,#404040)}.forge-scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.forge-scrollbar-hidden::-webkit-scrollbar{display:none}.forge-scrollbar,.forge-scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--border-color,#404040) transparent}.forge-scrollbar-minimal{scrollbar-width:thin;scrollbar-color:var(--border-subtle,#2a2a2a) transparent}.forge-scrollbar-global,.forge-scrollbar-global *{scrollbar-width:thin;scrollbar-color:var(--border-color,#404040) transparent}.forge-scrollbar-global::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-global ::-webkit-scrollbar{width:8px;height:8px}.forge-scrollbar-global::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-global ::-webkit-scrollbar-track{background:0 0}.forge-scrollbar-global::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar-global ::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:4px}.forge-scrollbar-global::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}.forge-scrollbar-global ::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}*,:before,:after{scrollbar-width:thin;scrollbar-color:var(--border-color,#404040) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color,#404040);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#737373)}::-webkit-scrollbar-corner{background:0 0}.forge-motion-gradient-text{color:#0000;-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text}.forge-motion-gradient-text--animated{animation:6s ease-in-out infinite forge-gradient-shift}.forge-motion-text-shimmer{color:#0000;-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite forge-text-shimmer}.forge-motion-kinetic-char{will-change:transform;animation-duration:1.6s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite;display:inline-block}.forge-motion-kinetic-char--wave{animation-name:forge-kinetic-wave}.forge-motion-kinetic-char--rubber{animation-name:forge-kinetic-rubber}.forge-motion-kinetic-char--float{animation-name:forge-kinetic-float}.forge-motion-marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 48px calc(100% - 48px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 48px calc(100% - 48px),#0000 100%)}.forge-motion-marquee-track{will-change:transform;flex-shrink:0;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.forge-motion-marquee-track--ltr{animation-name:forge-marquee-ltr}.forge-motion-marquee-track--rtl{animation-name:forge-marquee-rtl}.forge-motion-marquee:hover .forge-motion-marquee-track--pause{animation-play-state:paused}.forge-motion-breathe{animation:4s cubic-bezier(.4,0,.2,1) infinite forge-breathe}.forge-motion-aura{border-radius:inherit;animation:2.4s cubic-bezier(.4,0,.2,1) infinite forge-aura-pulse}.forge-motion-ripple-wave{pointer-events:none;border-radius:9999px;animation:.8s cubic-bezier(0,0,.2,1) forwards forge-ripple-wave;position:absolute}.forge-motion-orbital{display:inline-block;position:relative}.forge-motion-orbital-ring{transform-origin:50%;will-change:transform;animation:linear infinite forge-orbital-spin;position:absolute;top:50%;left:50%}.forge-motion-cipher{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Fira Code,Menlo,monospace}.forge-motion-shimmer{background-size:200% 100%;animation:2s linear infinite forge-shimmer}[data-forge-reduce-motion=true] .forge-motion-gradient-text--animated,[data-forge-reduce-motion=true] .forge-motion-text-shimmer,[data-forge-reduce-motion=true] .forge-motion-kinetic-char,[data-forge-reduce-motion=true] .forge-motion-marquee-track,[data-forge-reduce-motion=true] .forge-motion-breathe,[data-forge-reduce-motion=true] .forge-motion-aura,[data-forge-reduce-motion=true] .forge-motion-ripple-wave,[data-forge-reduce-motion=true] .forge-motion-orbital-ring,[data-forge-reduce-motion=true] .forge-motion-shimmer{animation:none!important}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--vice-font-mono:"Geist Mono Variable", ui-monospace, "JetBrains Mono", monospace;--vice-font-display:"Space Grotesk Variable", "Geist Variable", system-ui, sans-serif;--vice-logo-a:#8fe8a6;--vice-logo-b:#2fbf71;--vice-logo-c:#1d8f55;--vice-action-primary:#1b824f;--vice-action-primary-hover:#176e43;--vice-action-primary-active:#145f3a;--docs-navbar-height:64px;--docs-sidebar-width:280px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg-primary)}html[data-vice-theme=light]{--vice-logo-a:#2fbf71;--vice-logo-b:#1d8f55;--vice-logo-c:#136b3f;--vice-action-primary:#1f8f58;--vice-action-primary-hover:#176c43;text-rendering:geometricprecision}html[data-vice-theme=light] body{background:radial-gradient(circle at 50% -20%, color-mix(in srgb, var(--brand-primary) 5%, transparent), transparent 34rem), var(--bg-primary)}html[data-vice-theme=light] h1,html[data-vice-theme=light] h2,html[data-vice-theme=light] h3,html[data-vice-theme=light] strong,html[data-vice-theme=light] b{font-weight:650}body{background:var(--bg-primary);min-width:320px;min-height:100vh;color:var(--text-primary);margin:0}button,input{font:inherit}a{color:inherit}#root{min-height:100vh}.docs-logo-link{color:inherit;text-decoration:none}.docs-layout-body{grid-template-columns:var(--docs-sidebar-width) minmax(0, 1fr);min-height:calc(100dvh - var(--docs-navbar-height));align-items:stretch;display:grid}.docs-layout-body-compact{display:block}.docs-sidebar-frame{top:var(--docs-navbar-height);width:var(--docs-sidebar-width);height:calc(100dvh - var(--docs-navbar-height));border-inline-end:1px solid var(--border-subtle);background:var(--bg-primary);z-index:20;flex-direction:column;align-self:start;display:flex;position:sticky;overflow:hidden}.docs-sidebar-frame>*>aside{flex-grow:1;min-height:0}.docs-main-desktop{min-width:0;min-height:calc(100dvh - var(--docs-navbar-height))}.docs-main-compact{min-height:calc(100dvh - var(--docs-navbar-height))}.docs-article{width:min(100%,760px)}.docs-content-grid-with-toc{justify-content:center;align-items:start;gap:var(--spacing-2xl);grid-template-columns:minmax(0,760px) 220px;display:grid}.docs-section-anchor{scroll-margin-top:calc(var(--docs-navbar-height) + var(--spacing-lg))}.docs-list{margin:0;padding-inline-start:var(--spacing-xl)}.docs-list li+li{margin-top:var(--spacing-sm)}.docs-toc-frame{top:calc(var(--docs-navbar-height) + var(--spacing-2xl));width:220px;max-height:calc(100dvh - var(--docs-navbar-height) - var(--spacing-4xl));position:sticky;overflow-y:auto}.docs-home-main{min-height:calc(100dvh - var(--docs-navbar-height));background:var(--bg-primary)}.docs-home-shell{border-right:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);background:var(--bg-primary);width:min(100% - 2rem,1360px);margin-inline:auto}.docs-home-row{border-bottom:1px solid var(--border-subtle)}.docs-home-hero{isolation:isolate;position:relative;overflow:hidden}.docs-home-hero:before,.docs-home-hero:after{z-index:0;content:"";pointer-events:none;position:absolute;inset:0}.docs-home-hero:before{background-image:radial-gradient(color-mix(in srgb, var(--text-primary) 14%, transparent) 1px, transparent 1.35px);-webkit-mask-image:radial-gradient(ellipse 78% 82% at 50% 42%, var(--text-primary), transparent 82%);mask-image:radial-gradient(ellipse 78% 82% at 50% 42%, var(--text-primary), transparent 82%);-webkit-mask-image:radial-gradient(ellipse 78% 82% at 50% 42%, var(--text-primary), transparent 82%);background-size:24px 24px}.docs-home-hero:after{opacity:0;transition:opacity var(--duration-base) var(--easing-standard);background-image:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 72%), radial-gradient(color-mix(in srgb, var(--brand-primary) 70%, transparent) 1.1px, transparent 1.4px);-webkit-mask-image:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), var(--text-primary), transparent);mask-image:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), var(--text-primary), transparent);-webkit-mask-image:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), var(--text-primary), transparent);background-size:auto,24px 24px}.docs-home-hero:hover:after{opacity:1}.docs-home-hero>*{z-index:1;position:relative}.docs-home-centerhead{align-content:center;place-items:center;gap:var(--spacing-md);min-height:clamp(250px,28vw,330px);display:grid}.docs-home-centerhead>*,.docs-home-matrix>*{min-width:0}.docs-home-tile{border-inline-end:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);min-height:470px;transition:background-color var(--duration-snappy) var(--easing-standard);flex-direction:column;display:flex}.docs-home-tile:nth-child(2n){border-inline-end:0}.docs-home-tile:nth-last-child(-n+2){border-bottom:0}.docs-home-tile:hover{background:color-mix(in srgb, var(--bg-primary) 96%, var(--text-primary) 4%)}html[data-vice-theme=light] .docs-home-tile:hover{background:color-mix(in srgb, var(--bg-primary) 96%, var(--text-primary) 2%)}.docs-home-tile-elevated{background:var(--bg-secondary)}.docs-home-tile-elevated:hover{background:color-mix(in srgb, var(--bg-secondary) 94%, var(--text-primary) 6%)}html[data-vice-theme=light] .docs-home-tile-elevated:hover{background:color-mix(in srgb, var(--bg-secondary) 96%, var(--text-primary) 3%)}.docs-home-tile-copy{padding:clamp(1.9rem, 3.4vw, 2.9rem) clamp(1.9rem, 3.4vw, 2.9rem) var(--spacing-md)}.docs-home-tile-visual{min-height:280px;padding:var(--spacing-md) clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.25rem);flex:1;place-items:center;display:grid;overflow:hidden}.docs-home-tile-visual>*{width:min(100%,450px)}.docs-home-band{min-height:300px}.docs-home-band>*{align-items:center;min-width:0}.docs-home-destinations{background:var(--bg-secondary)}.docs-home-destination-links>*>*+*{border-inline-start:1px solid var(--border-subtle);padding-inline-start:var(--spacing-xl)}.docs-home-main[data-layout=compact] .docs-home-tile{border-inline-end:0;border-bottom:1px solid var(--border-subtle);min-height:0}.docs-home-main[data-layout=compact] .docs-home-tile:last-child{border-bottom:0}.docs-home-main[data-layout=compact] .docs-home-destination-links>*>*+*{padding-top:var(--spacing-xl);border-top:1px solid var(--border-subtle);border-inline-start:0;padding-inline-start:0}.docs-footer{background:var(--bg-primary)}.docs-footer-shell{border-inline:1px solid var(--border-subtle);background:var(--bg-primary);width:min(100% - 2rem,1360px);margin-inline:auto}.docs-footer-full-width .docs-footer-shell{border-inline:0;width:100%;max-width:none}.docs-footer-row{border-bottom:1px solid var(--border-subtle)}.docs-footer-cta{isolation:isolate;align-content:center;place-items:center;gap:var(--spacing-lg);background:radial-gradient(ellipse 48% 64% at 50% 118%, color-mix(in srgb, var(--brand-primary) 28%, transparent), transparent 80%), radial-gradient(ellipse 90% 125% at 50% 132%, color-mix(in srgb, var(--brand-primary) 13%, var(--bg-primary)), transparent 86%), var(--bg-primary);min-height:360px;padding:clamp(2.5rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.docs-footer-cta:before,.docs-footer-cta:after{content:"";pointer-events:none;position:absolute;inset:0}.docs-footer-cta:before{background-image:radial-gradient(color-mix(in srgb, var(--text-primary) 12%, transparent) 1px, transparent 1.35px);-webkit-mask-image:radial-gradient(ellipse 76% 105% at 50% 105%, var(--text-primary), transparent 88%);mask-image:radial-gradient(ellipse 76% 105% at 50% 105%, var(--text-primary), transparent 88%);-webkit-mask-image:radial-gradient(ellipse 76% 105% at 50% 105%, var(--text-primary), transparent 88%);background-size:24px 24px}.docs-footer-cta:after{opacity:0;transition:opacity var(--duration-base) var(--easing-standard);background-image:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 72%), radial-gradient(color-mix(in srgb, var(--brand-primary) 70%, transparent) 1.1px, transparent 1.4px);-webkit-mask-image:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), var(--text-primary), transparent);mask-image:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), var(--text-primary), transparent);-webkit-mask-image:radial-gradient(230px circle at var(--mx,50%) var(--my,50%), var(--text-primary), transparent);background-size:auto,24px 24px}.docs-footer-cta:hover:after{opacity:1}.docs-footer-cta>*{z-index:1;position:relative}.docs-footer-columns{grid-template-columns:1.3fr repeat(4,minmax(0,.7fr));gap:clamp(2rem,4vw,3.5rem);padding:clamp(2.5rem,5vw,4rem);display:grid}.docs-footer-columns>*{min-width:0}.docs-footer-brand{max-width:340px}.docs-footer-logo{color:inherit;text-decoration:none;display:inline-flex}.docs-footer-logo:hover{opacity:.78}.docs-footer-webba-mark{color:var(--text-primary);display:block}.docs-footer-webba-image-light,html[data-vice-theme=light] .docs-footer-webba-image-dark{display:none}html[data-vice-theme=light] .docs-footer-webba-image-light{display:block}html[data-vice-theme=dark] .docs-footer-cta button{--brand-primary:var(--vice-action-primary);--brand-secondary:var(--vice-action-primary-hover);--active-color:var(--vice-action-primary-active)}.docs-footer-heading{margin-bottom:var(--spacing-xs);font-family:var(--vice-font-mono);letter-spacing:.13em;text-transform:uppercase}.docs-footer-link{text-decoration:none}.docs-footer-bottom{justify-content:space-between;align-items:center;gap:var(--spacing-lg);border-top:1px solid var(--border-subtle);flex-wrap:wrap;padding:1.4rem clamp(1.5rem,4vw,3rem);display:flex}.docs-footer-language{width:220px}.docs-visual-frame{width:100%;overflow:hidden}.docs-visual-frame svg{width:100%;height:auto;display:block}.docs-visual-pulse{animation:2.4s ease-in-out infinite docs-pulse}@keyframes docs-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.docs-visual-pulse{animation:none}.docs-home-hero:after,.docs-footer-cta:after{transition:none}}@media (width<=900px){.docs-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.docs-footer-brand{grid-column:1/-1}}@media (width<=600px){.docs-footer-shell{width:calc(100% - 1rem)}.docs-footer-cta{min-height:330px;padding-inline:var(--spacing-xl)}.docs-footer-columns{padding-inline:var(--spacing-xl);grid-template-columns:1fr}.docs-footer-bottom{padding-inline:var(--spacing-xl);align-items:stretch}.docs-footer-language{width:min(100%,240px)}}.docs-skip-link{top:var(--spacing-sm);z-index:1000;position:fixed;inset-inline-start:var(--spacing-sm);transform:translateY(-160%)}.docs-skip-link:focus{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);transform:translateY(0)}
