@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300;1,9..40,400&family=JetBrains+Mono:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap";@charset "UTF-8";html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}body{font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.6;color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}h1{font-size:3.25rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem;font-weight:600}h5{font-size:1.25rem;font-weight:600}h6{font-size:1.125rem;font-weight:600}p{max-width:65ch;line-height:1.75}strong,b{font-weight:600}em,i{font-style:italic}small{font-size:.875rem;line-height:1.4;color:var(--color-text-muted)}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--color-accent-hover);text-decoration-thickness:2px}code,kbd,samp{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.875em}code{padding:.15em .4em;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text)}pre{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.875rem;line-height:1.75;overflow-x:auto}pre code{padding:0;background:none;border:none}blockquote{font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-style:italic;font-size:1.25rem;line-height:1.75;padding-left:1.5rem;border-left:3px solid var(--color-accent);color:var(--color-text-muted);margin:0}.lead{font-size:1.125rem;line-height:1.75;color:var(--color-text-muted);max-width:65ch}.font-display,.font-body{font-family:DM Sans,Helvetica Neue,Arial,sans-serif!important}.font-mono{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace!important}.text-2xs{font-size:.64rem!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-base{font-size:1rem!important}.text-md{font-size:1.125rem!important}.text-lg{font-size:1.25rem!important}.text-xl{font-size:1.5rem!important}.text-2xl{font-size:2rem!important}.text-3xl{font-size:2.5rem!important}.text-4xl{font-size:3.25rem!important}.text-5xl{font-size:4rem!important}.text-6xl{font-size:5rem!important}.font-light{font-weight:300!important}.font-regular{font-weight:400!important}.font-medium{font-weight:500!important}.font-semibold{font-weight:600!important}.font-bold{font-weight:700!important}.italic{font-style:italic!important}.not-italic{font-style:normal!important}.uppercase{text-transform:uppercase;letter-spacing:.08em}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.display-1{font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.04em}.display-2{font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-weight:700;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.2;letter-spacing:-.02em}.eyebrow{font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.container-sm{width:100%;max-width:640px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.container-md{width:100%;max-width:768px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.container-lg{width:100%;max-width:1024px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.container-xl{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.container-xxl{width:100%;max-width:1440px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.bleed{margin-inline:calc(clamp(1rem,4vw,2rem)*-1)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem}.grid-gap-sm{gap:1rem}.grid-gap-lg{gap:2rem}.grid-gap-xl{gap:3rem}.grid-gap-0{gap:0}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-full{grid-row:1/-1}@media (min-width: 480px){.xs\:col-span-1{grid-column:span 1/span 1}.xs\:col-span-2{grid-column:span 2/span 2}.xs\:col-span-3{grid-column:span 3/span 3}.xs\:col-span-4{grid-column:span 4/span 4}.xs\:col-span-5{grid-column:span 5/span 5}.xs\:col-span-6{grid-column:span 6/span 6}.xs\:col-span-7{grid-column:span 7/span 7}.xs\:col-span-8{grid-column:span 8/span 8}.xs\:col-span-9{grid-column:span 9/span 9}.xs\:col-span-10{grid-column:span 10/span 10}.xs\:col-span-11{grid-column:span 11/span 11}.xs\:col-span-12{grid-column:span 12/span 12}.xs\:col-span-full{grid-column:1/-1}}@media (min-width: 640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-full{grid-column:1/-1}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-full{grid-column:1/-1}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-full{grid-column:1/-1}}@media (min-width: 1280px){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-span-full{grid-column:1/-1}}@media (min-width: 1440px){.xxl\:col-span-1{grid-column:span 1/span 1}.xxl\:col-span-2{grid-column:span 2/span 2}.xxl\:col-span-3{grid-column:span 3/span 3}.xxl\:col-span-4{grid-column:span 4/span 4}.xxl\:col-span-5{grid-column:span 5/span 5}.xxl\:col-span-6{grid-column:span 6/span 6}.xxl\:col-span-7{grid-column:span 7/span 7}.xxl\:col-span-8{grid-column:span 8/span 8}.xxl\:col-span-9{grid-column:span 9/span 9}.xxl\:col-span-10{grid-column:span 10/span 10}.xxl\:col-span-11{grid-column:span 11/span 11}.xxl\:col-span-12{grid-column:span 12/span 12}.xxl\:col-span-full{grid-column:1/-1}}.grid-auto-sm{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.grid-auto-md{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.grid-auto-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.layout-sidebar{display:grid;grid-template-columns:260px 1fr;grid-template-areas:"sidebar main";gap:2rem;align-items:start}@media (max-width: 767px){.layout-sidebar{grid-template-columns:1fr;grid-template-areas:"main" "sidebar"}}.layout-sidebar>.sidebar{grid-area:sidebar}.layout-sidebar>.main{grid-area:main}.layout-page{display:grid;min-height:100dvh;grid-template-rows:auto 1fr auto;grid-template-areas:"header" "main" "footer"}.layout-page>header{grid-area:header}.layout-page>main{grid-area:main}.layout-page>footer{grid-area:footer}.layout-holy-grail{display:grid;min-height:100dvh;grid-template-rows:auto 1fr auto;grid-template-columns:220px 1fr 220px;grid-template-areas:"header  header  header" "sidebar main    aside" "footer  footer  footer"}@media (max-width: 1023px){.layout-holy-grail{grid-template-columns:200px 1fr;grid-template-areas:"header  header" "sidebar main" "footer  footer"}.layout-holy-grail>.aside{display:none}}@media (max-width: 767px){.layout-holy-grail{grid-template-columns:1fr;grid-template-areas:"header" "main" "footer"}.layout-holy-grail>.sidebar{display:none}}.layout-holy-grail>header{grid-area:header}.layout-holy-grail>.sidebar{grid-area:sidebar}.layout-holy-grail>main{grid-area:main}.layout-holy-grail>.aside{grid-area:aside}.layout-holy-grail>footer{grid-area:footer}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.shrink-0{flex-shrink:0}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.gap-0{gap:0!important}.gap-x-0{column-gap:0!important}.gap-y-0{row-gap:0!important}.gap-1{gap:.25rem!important}.gap-x-1{column-gap:.25rem!important}.gap-y-1{row-gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-x-2{column-gap:.5rem!important}.gap-y-2{row-gap:.5rem!important}.gap-3{gap:.75rem!important}.gap-x-3{column-gap:.75rem!important}.gap-y-3{row-gap:.75rem!important}.gap-4{gap:1rem!important}.gap-x-4{column-gap:1rem!important}.gap-y-4{row-gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-x-5{column-gap:1.25rem!important}.gap-y-5{row-gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-x-6{column-gap:1.5rem!important}.gap-y-6{row-gap:1.5rem!important}.gap-8{gap:2rem!important}.gap-x-8{column-gap:2rem!important}.gap-y-8{row-gap:2rem!important}.gap-10{gap:2.5rem!important}.gap-x-10{column-gap:2.5rem!important}.gap-y-10{row-gap:2.5rem!important}.gap-12{gap:3rem!important}.gap-x-12{column-gap:3rem!important}.gap-y-12{row-gap:3rem!important}.gap-16{gap:4rem!important}.gap-x-16{column-gap:4rem!important}.gap-y-16{row-gap:4rem!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.invisible{visibility:hidden}@media (min-width: 480px){.xs\:block{display:block!important}.xs\:flex{display:flex!important}.xs\:grid{display:grid!important}.xs\:hidden{display:none!important}}@media (min-width: 640px){.sm\:block{display:block!important}.sm\:flex{display:flex!important}.sm\:grid{display:grid!important}.sm\:hidden{display:none!important}}@media (min-width: 768px){.md\:block{display:block!important}.md\:flex{display:flex!important}.md\:grid{display:grid!important}.md\:hidden{display:none!important}}@media (min-width: 1024px){.lg\:block{display:block!important}.lg\:flex{display:flex!important}.lg\:grid{display:grid!important}.lg\:hidden{display:none!important}}@media (min-width: 1280px){.xl\:block{display:block!important}.xl\:flex{display:flex!important}.xl\:grid{display:grid!important}.xl\:hidden{display:none!important}}@media (min-width: 1440px){.xxl\:block{display:block!important}.xxl\:flex{display:flex!important}.xxl\:grid{display:grid!important}.xxl\:hidden{display:none!important}}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.abs-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.abs-cover{position:absolute;inset:0;width:100%;height:100%}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.aspect-3-2{aspect-ratio:3/2}.aspect-portrait{aspect-ratio:2/3}.aspect-wide{aspect-ratio:21/9}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.h-full{height:100%}.h-screen{height:100vh}.h-dvh{height:100dvh}.h-auto{height:auto}.min-h-0{min-height:0}.min-h-screen{min-height:100dvh}.max-w-prose{max-width:65ch}.max-w-full{max-width:100%}.mx-auto{margin-inline:auto}.card-pricing__features li:before{content:"";width:1rem;height:1rem;min-width:1rem;border-radius:50%;background:var(--color-success);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.input--glass,.select option,.select,.textarea,.input,input{border-radius:.5rem;font-weight:500;padding:.5rem .75rem;overflow:hidden;transition:all .2s ease-in-out}.input--glass:hover,.select option:hover,.select:hover,.textarea:hover,.input:hover,input:hover,.input--glass:focus,.select option:focus,.select:focus,.textarea:focus,.input:focus,input:focus{border-color:#ffffff59;box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #00000040,0 0 8px #ffffff1a;outline:none}.select,.textarea,.input,input{display:block;width:100%;font-family:inherit;font-size:.9375rem;font-weight:400;line-height:1.5;border-radius:var(--radius-input, .5rem);padding-inline:.875rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;appearance:none;outline:none}.select::placeholder,.textarea::placeholder,.input::placeholder,input::placeholder{color:var(--color-text-subtle);opacity:1}.select:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus),.input:hover:not(:disabled):not(:focus),input:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.select:disabled,.textarea:disabled,.input:disabled,input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-subtle)}[readonly].select,[readonly].textarea,[readonly].input,input[readonly]{background:var(--color-bg-subtle);cursor:default}label,.label{font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.375rem;line-height:1.4;cursor:default;display:flex;gap:.5rem}.label-required:after{content:" *";color:var(--color-error)}.label-optional:after{content:" (optional)";font-weight:400;font-size:.8125rem;color:var(--color-text-subtle)}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;position:relative;cursor:pointer;background:rgba(255,255,255,.08);border-radius:.5rem;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);box-shadow:inset 0 1px 2px #ffffff40,inset 0 -1px 2px #0003;transition:all .2s ease-in-out}input[type=checkbox]:hover{border-color:#ffffff59;box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #00000040,0 0 6px #ffffff1a}input[type=checkbox]:after{content:"";position:absolute;top:-5px;left:2px;width:6px;height:12px;border:solid #fff;border-width:0 2px 2px 0;transform:scale(0) rotate(45deg);transform-origin:bottom left;opacity:0;transition:transform .25s ease,opacity .25s ease}input[type=checkbox]:checked{border-color:#ffffff80;box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #00000040,0 0 6px #ffffff1a}input[type=checkbox]:checked:after{opacity:1;transform:scale(1) rotate(45deg)}.form-checkbox label{cursor:pointer;width:auto}.input,input{height:2.625rem}.input[type=checkbox],input[type=checkbox]{width:20px;height:20px}.input--sm,input--sm{height:2rem;font-size:.8125rem;padding-inline:.625rem}.input--lg,input--lg{height:3.125rem;font-size:1rem;padding-inline:1.125rem}.input--error,input--error{border-color:var(--color-error)!important}.input--error:focus,input--error:focus{box-shadow:0 0 0 3px #ef444426}.input--success,input--success{border-color:var(--color-success)!important}.input--success:focus,input--success:focus{box-shadow:0 0 0 3px #22c55e26}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .input--icon-left{padding-left:2.5rem}.input-wrapper .input--icon-right{padding-right:2.5rem}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-subtle);pointer-events:none;display:flex;align-items:center}.input-icon--left{left:.75rem}.input-icon--right{right:.75rem}.input-group{display:flex;align-items:stretch}.input-group .input{flex:1;border-radius:0}.input-group .input:first-child{border-radius:var(--radius-input, .5rem) 0 0 var(--radius-input, .5rem)}.input-group .input:last-child{border-radius:0 var(--radius-input, .5rem) var(--radius-input, .5rem) 0}.input-addon{display:flex;align-items:center;padding-inline:.875rem;font-size:.8125rem;color:var(--color-text-muted);background-color:var(--color-bg-subtle);border:1px solid var(--color-border);white-space:nowrap}.input-addon:first-child{border-radius:var(--radius-input, .5rem) 0 0 var(--radius-input, .5rem);border-right:none}.input-addon:last-child{border-radius:0 var(--radius-input, .5rem) var(--radius-input, .5rem) 0;border-left:none}.textarea{height:auto;min-height:7rem;padding-block:.625rem;resize:vertical;line-height:1.5rem}.textarea--sm{min-height:5rem;font-size:.8125rem}.textarea--lg{min-height:10rem;font-size:1rem}.textarea--no-resize{resize:none}.textarea--error{border-color:var(--color-error)!important}.textarea--success{border-color:var(--color-success)!important}.select{height:2.625rem;padding-right:2.5rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.select--sm{height:2rem;font-size:.8125rem}.select--lg{height:3.125rem;font-size:1rem}.select--error{border-color:var(--color-error)!important}.select--success{border-color:var(--color-success)!important}.select::-ms-expand{display:none}.checkbox,.radio{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input[type=checkbox],.checkbox input[type=radio],.radio input[type=checkbox],.radio input[type=radio]{appearance:none;width:1.125rem;height:1.125rem;min-width:1.125rem;border:1.5px solid var(--color-border-strong);background-color:var(--color-bg-elevated);transition:background-color .13s ease,border-color .13s ease,box-shadow .13s ease;cursor:pointer;position:relative;outline:none}.checkbox input[type=checkbox]:hover,.checkbox input[type=radio]:hover,.radio input[type=checkbox]:hover,.radio input[type=radio]:hover{border-color:var(--color-accent)}.checkbox input[type=checkbox]:focus-visible,.checkbox input[type=radio]:focus-visible,.radio input[type=checkbox]:focus-visible,.radio input[type=radio]:focus-visible{box-shadow:0 0 0 3px var(--color-accent-subtle);border-color:var(--color-border-focus)}.checkbox input[type=checkbox]:disabled,.checkbox input[type=radio]:disabled,.radio input[type=checkbox]:disabled,.radio input[type=radio]:disabled{opacity:.45;cursor:not-allowed}.checkbox input[type=checkbox]:checked,.checkbox input[type=radio]:checked,.radio input[type=checkbox]:checked,.radio input[type=radio]:checked{background-color:var(--color-accent);border-color:var(--color-accent)}.checkbox input[type=checkbox],.radio input[type=checkbox]{border-radius:.25rem}.checkbox input[type=checkbox]:checked:after,.radio input[type=checkbox]:checked:after{content:"";position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:.3rem;height:.55rem;border:2px solid #fff;border-top:none;border-left:none}.checkbox input[type=checkbox]:indeterminate,.radio input[type=checkbox]:indeterminate{background-color:var(--color-accent);border-color:var(--color-accent)}.checkbox input[type=checkbox]:indeterminate:after,.radio input[type=checkbox]:indeterminate:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.5rem;height:2px;background:#fff;border-radius:1px}.checkbox input[type=radio],.radio input[type=radio]{border-radius:50%}.checkbox input[type=radio]:checked:after,.radio input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.4rem;height:.4rem;border-radius:50%;background:#fff}.checkbox .checkbox__label,.checkbox .radio__label,.radio .checkbox__label,.radio .radio__label{font-size:.9375rem;color:var(--color-text);line-height:1.4}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:.625rem}.checkbox-group--inline,.radio-group--inline{flex-direction:row;flex-wrap:wrap;gap:1rem}.toggle{display:inline-flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input[type=checkbox]{appearance:none;position:relative;width:2.75rem;min-width:2.75rem;height:1.5rem;border-radius:1.5rem;background:var(--color-border-strong);border:none;transition:background-color .2s ease;cursor:pointer;outline:none}.toggle input[type=checkbox]:after{content:"";position:absolute;top:.1875rem;left:.1875rem;width:1.125rem;height:1.125rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.toggle input[type=checkbox]:checked{background:var(--color-accent)}.toggle input[type=checkbox]:checked:after{transform:translate(1.25rem)}.toggle input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--color-accent-subtle)}.toggle input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}.toggle .toggle__label{font-size:.9375rem;color:var(--color-text);line-height:1.4}.range{appearance:none;width:100%;height:.375rem;border-radius:9999px;background:var(--color-border-strong);outline:none;cursor:pointer}.range::-webkit-slider-thumb{appearance:none;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg-elevated);box-shadow:0 1px 4px #0003;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.range::-webkit-slider-thumb:hover{transform:scale(1.15)}.range::-webkit-slider-thumb:active{transform:scale(1.05);box-shadow:0 0 0 4px var(--color-accent-subtle)}.range::-moz-range-thumb{width:1.125rem;height:1.125rem;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg-elevated);cursor:pointer}.range:focus-visible{box-shadow:0 0 0 3px var(--color-accent-subtle)}.field{display:flex;flex-direction:column;gap:.375rem}.field-hint{font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.field-error{font-size:.8125rem;color:var(--color-error);line-height:1.4;display:flex;align-items:center;gap:.3rem}.field-success{font-size:.8125rem;color:var(--color-success);line-height:1.4}.form-grid{display:grid;gap:1.25rem}@media (min-width: 640px){.form-grid{grid-template-columns:1fr 1fr}}.form-grid .field--full{grid-column:1/-1}.form-section{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:1.75rem;border-bottom:1px solid var(--color-border)}.form-section:last-child{padding-bottom:0;border-bottom:none}.form-section__title{font-size:1rem;font-weight:600;color:var(--color-text)}.form-section__description{font-size:.875rem;color:var(--color-text-muted);margin-top:-.75rem}.form-actions{display:flex;align-items:center;gap:.75rem;padding-top:.5rem}.form-actions--right{justify-content:flex-end}.form-actions--center{justify-content:center}.form-actions--between{justify-content:space-between}.field--inline{flex-direction:row;align-items:center}.field--inline label{min-width:9rem;margin-bottom:0}.card-background,.hud-border,.hud-card,.card,.card-pricing,.card-testimonial,.card-feature,.card-profile,.card-stat{background-color:var(--color-bg-elevated)}.card-border,.card,.hud-card,.card-pricing,.card-testimonial,.card-feature,.card-profile,.card-stat{border:1px solid var(--color-border);border-radius:var(--radius-card, 1.25rem)}.card-shadow,.hud-shadow,.hud-card{box-shadow:0 8px 32px #0000001f}.card,.hud-card,.card-pricing,.card-testimonial,.card-feature,.card-profile,.card-stat{position:relative;display:flex;flex-direction:column;overflow:hidden}.card__media{position:relative;overflow:hidden;flex-shrink:0}.card__media img,.card__media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.5rem 1.5rem 0}.card__body{display:flex;flex-direction:column;gap:.625rem;padding:1.5rem;flex:1}.card__footer{padding:0 1.5rem 1.5rem;margin-top:auto;display:flex;align-items:center;gap:.75rem}.card__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.card__title{font-size:1.125rem;font-weight:700;line-height:1.3;color:var(--color-text);margin:0}.card__subtitle{font-size:.875rem;color:var(--color-text-muted);margin:0;line-height:1.45}.card__description{font-size:.9375rem;color:var(--color-text-muted);line-height:1.65;margin:0}.card__divider{height:1px;background:var(--color-border);margin:0 1.5rem;flex-shrink:0}.card__badge{position:absolute;top:.875rem;right:.875rem;z-index:1}.card__actions{position:absolute;top:.75rem;right:.75rem;display:flex;gap:.375rem;z-index:1;opacity:0;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease}.card:hover .card__actions,.hud-card:hover .card__actions,.card-pricing:hover .card__actions,.card-testimonial:hover .card__actions,.card-feature:hover .card__actions,.card-profile:hover .card__actions,.card-stat:hover .card__actions{opacity:1;transform:translateY(0)}.card--sm .card__header{padding:1rem 1rem 0}.card--sm .card__body{padding:1rem}.card--sm .card__footer{padding:0 1rem 1rem}.card--sm .card__divider{margin:0 1rem}.card--sm .card__title{font-size:1rem}.card--lg .card__header{padding:2rem 2rem 0}.card--lg .card__body{padding:2rem}.card--lg .card__footer{padding:0 2rem 2rem}.card--lg .card__divider{margin:0 2rem}.card--lg .card__title{font-size:1.25rem}.card--xl .card__header{padding:2.5rem 2.5rem 0}.card--xl .card__body{padding:2.5rem}.card--xl .card__footer{padding:0 2.5rem 2.5rem}.card--xl .card__divider{margin:0 2.5rem}.card--xl .card__title{font-size:1.375rem}.card--flat{box-shadow:none}.card--raised{box-shadow:var(--shadow-md);border-color:transparent}.card--sunken{background-color:var(--color-bg-subtle);box-shadow:var(--shadow-inner);border-color:var(--color-border)}.card--ghost{background-color:transparent;border-color:transparent;box-shadow:none}.card--outlined{background-color:transparent;border:1.5px solid var(--color-border-strong);box-shadow:none}.card--accent{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.card--accent-bar{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-card, 1.25rem) var(--radius-card, 1.25rem) 0}.card--filled-accent{background-color:var(--color-accent-subtle);border-color:var(--color-accent-muted)}.card--success{background-color:var(--color-success-bg);border-color:var(--color-success)}.card--warning{background-color:var(--color-warning-bg);border-color:var(--color-warning)}.card--error{background-color:var(--color-error-bg);border-color:var(--color-error)}.card--info{background-color:var(--color-info-bg);border-color:var(--color-info)}.card--gradient{background:linear-gradient(135deg,var(--color-bg-elevated) 0%,var(--color-bg-subtle) 100%);border-color:var(--color-border)}.card--glass,.character-selection .character-selection-item,.game-over-panel,.game-controller .joystick-base .joystick-stick,.game-controller .joystick-base:before,.player-health .player-health-bar .player-health-bar-fill,.player-health,.color-preview,.error-message,.hud-background,.hud-card,button .bullet,.btn-close,.btn-icon,.btn-link,.btn-success,.btn-danger-ghost,.btn-danger,.btn-soft,.btn-outline,.btn-ghost,.btn-secondary,.tab-button.active,.btn,button:not(.ignore-styles),.button,.tab-button,.btn-primary,.input--glass,.select option,.input,input,.textarea,.select{position:relative;background:rgba(66,99,99,.49);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px) saturate(75%);-webkit-backdrop-filter:blur(16px) saturate(75%);box-shadow:0 8px 32px #0000001f;overflow:hidden;color:var(--color-text);text-shadow:0 1px 2px rgba(0,0,0,.8)}.card--glass .gui-icon,.character-selection .character-selection-item .gui-icon,.game-over-panel .gui-icon,.game-controller .joystick-base .joystick-stick .gui-icon,.game-controller .joystick-base:before .gui-icon,.player-health .player-health-bar .player-health-bar-fill .gui-icon,.player-health .gui-icon,.color-preview .gui-icon,.error-message .gui-icon,.hud-background .gui-icon,.hud-card .gui-icon,button .bullet .gui-icon,.btn-close .gui-icon,.btn-icon .gui-icon,.btn-link .gui-icon,.btn-success .gui-icon,.btn-danger-ghost .gui-icon,.btn-danger .gui-icon,.btn-soft .gui-icon,.btn-outline .gui-icon,.btn-ghost .gui-icon,.btn-secondary .gui-icon,.btn .gui-icon,button:not(.ignore-styles) .gui-icon,.button .gui-icon,.tab-button .gui-icon,.btn-primary .gui-icon,.input--glass .gui-icon,.input .gui-icon,input .gui-icon,.textarea .gui-icon,.select .gui-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.card--glass:before,.character-selection .character-selection-item:before,.game-over-panel:before,.game-controller .joystick-base .joystick-stick:before,.game-controller .joystick-base:before,.player-health .player-health-bar .player-health-bar-fill:before,.player-health:before,.color-preview:before,.error-message:before,.hud-background:before,.hud-card:before,button .bullet:before,.btn-close:before,.btn-icon:before,.btn-link:before,.btn-success:before,.btn-danger-ghost:before,.btn-danger:before,.btn-soft:before,.btn-outline:before,.btn-ghost:before,.btn-secondary:before,.tab-button.active:before,.btn:before,button:not(.ignore-styles):before,.button:before,.tab-button:before,.btn-primary:before,.input--glass:before,.select option:before,.input:before,input:before,.textarea:before,.select:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.15) 0%,transparent 50%);pointer-events:none}.card--glass:after,.character-selection .character-selection-item:after,.game-over-panel:after,.game-controller .joystick-base .joystick-stick:after,.player-health .player-health-bar .player-health-bar-fill:after,.player-health:after,.color-preview:after,.error-message:after,.hud-background:after,.hud-card:after,button .bullet:after,.btn-close:after,.btn-icon:after,.btn-link:after,.btn-success:after,.btn-danger-ghost:after,.btn-danger:after,.btn-soft:after,.btn-outline:after,.btn-ghost:after,.btn-secondary:after,.tab-button.active:after,.btn:after,button:not(.ignore-styles):after,.button:after,.tab-button:after,.btn-primary:after,.input--glass:after,.select option:after,.input:after,input:after,.textarea:after,.select:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%)}[data-theme=light] .card--glass,[data-theme=light] .character-selection .character-selection-item,.character-selection [data-theme=light] .character-selection-item,[data-theme=light] .game-over-panel,[data-theme=light] .game-controller .joystick-base .joystick-stick,.game-controller .joystick-base [data-theme=light] .joystick-stick,[data-theme=light] .game-controller .joystick-base:before,.game-controller [data-theme=light] .joystick-base:before,[data-theme=light] .player-health .player-health-bar .player-health-bar-fill,.player-health .player-health-bar [data-theme=light] .player-health-bar-fill,[data-theme=light] .player-health,[data-theme=light] .color-preview,[data-theme=light] .error-message,[data-theme=light] .hud-background,[data-theme=light] .hud-card,[data-theme=light] button .bullet,button [data-theme=light] .bullet,[data-theme=light] .btn-close,[data-theme=light] .btn-icon,[data-theme=light] .btn-link,[data-theme=light] .btn-success,[data-theme=light] .btn-danger-ghost,[data-theme=light] .btn-danger,[data-theme=light] .btn-soft,[data-theme=light] .btn-outline,[data-theme=light] .btn-ghost,[data-theme=light] .btn-secondary,[data-theme=light] .btn,[data-theme=light] button:not(.ignore-styles),[data-theme=light] .button,[data-theme=light] .tab-button,[data-theme=light] .btn-primary,[data-theme=light] .input--glass,[data-theme=light] .select option,.select [data-theme=light] option,[data-theme=light] .input,[data-theme=light] input,[data-theme=light] .textarea,[data-theme=light] .select{background:rgba(255,255,255,.65);border-color:#fffc;box-shadow:0 4px 24px #00000014}[data-theme=light] .card--glass:before,[data-theme=light] .character-selection .character-selection-item:before,.character-selection [data-theme=light] .character-selection-item:before,[data-theme=light] .game-over-panel:before,[data-theme=light] .game-controller .joystick-base .joystick-stick:before,.game-controller .joystick-base [data-theme=light] .joystick-stick:before,[data-theme=light] .game-controller .joystick-base:before,.game-controller [data-theme=light] .joystick-base:before,[data-theme=light] .player-health .player-health-bar .player-health-bar-fill:before,.player-health .player-health-bar [data-theme=light] .player-health-bar-fill:before,[data-theme=light] .player-health:before,[data-theme=light] .color-preview:before,[data-theme=light] .error-message:before,[data-theme=light] .hud-background:before,[data-theme=light] .hud-card:before,[data-theme=light] button .bullet:before,button [data-theme=light] .bullet:before,[data-theme=light] .btn-close:before,[data-theme=light] .btn-icon:before,[data-theme=light] .btn-link:before,[data-theme=light] .btn-success:before,[data-theme=light] .btn-danger-ghost:before,[data-theme=light] .btn-danger:before,[data-theme=light] .btn-soft:before,[data-theme=light] .btn-outline:before,[data-theme=light] .btn-ghost:before,[data-theme=light] .btn-secondary:before,[data-theme=light] .btn:before,[data-theme=light] button:not(.ignore-styles):before,[data-theme=light] .button:before,[data-theme=light] .tab-button:before,[data-theme=light] .btn-primary:before,[data-theme=light] .input--glass:before,[data-theme=light] .select option:before,.select [data-theme=light] option:before,[data-theme=light] .input:before,[data-theme=light] input:before,[data-theme=light] .textarea:before,[data-theme=light] .select:before{background:radial-gradient(circle at top left,rgba(255,255,255,.4) 0%,transparent 50%)}[data-theme=light] .card--glass:after,[data-theme=light] .character-selection .character-selection-item:after,.character-selection [data-theme=light] .character-selection-item:after,[data-theme=light] .game-over-panel:after,[data-theme=light] .game-controller .joystick-base .joystick-stick:after,.game-controller .joystick-base [data-theme=light] .joystick-stick:after,[data-theme=light] .player-health .player-health-bar .player-health-bar-fill:after,.player-health .player-health-bar [data-theme=light] .player-health-bar-fill:after,[data-theme=light] .player-health:after,[data-theme=light] .color-preview:after,[data-theme=light] .error-message:after,[data-theme=light] .hud-background:after,[data-theme=light] .hud-card:after,[data-theme=light] button .bullet:after,button [data-theme=light] .bullet:after,[data-theme=light] .btn-close:after,[data-theme=light] .btn-icon:after,[data-theme=light] .btn-link:after,[data-theme=light] .btn-success:after,[data-theme=light] .btn-danger-ghost:after,[data-theme=light] .btn-danger:after,[data-theme=light] .btn-soft:after,[data-theme=light] .btn-outline:after,[data-theme=light] .btn-ghost:after,[data-theme=light] .btn-secondary:after,[data-theme=light] .btn:after,[data-theme=light] button:not(.ignore-styles):after,[data-theme=light] .button:after,[data-theme=light] .tab-button:after,[data-theme=light] .btn-primary:after,[data-theme=light] .input--glass:after,[data-theme=light] .select option:after,.select [data-theme=light] option:after,[data-theme=light] .input:after,[data-theme=light] input:after,[data-theme=light] .textarea:after,[data-theme=light] .select:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.8) 50%,transparent 100%)}.card--interactive{cursor:pointer;transition:box-shadow .22s ease,transform .22s ease,border-color .15s ease,background .15s ease}.card--interactive:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-strong);transform:translateY(-2px)}.card--interactive:hover .card__media img{transform:scale(1.04)}.card--interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card--interactive:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-subtle),0 0 0 1px var(--color-accent),var(--shadow-md)}.card__link-overlay:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit}.card--horizontal{flex-direction:row}.card--horizontal .card__media{width:200px;min-width:200px;max-height:unset}.card--horizontal .card__media img{height:100%}.card--horizontal .card__body{padding:1.5rem}.card--horizontal .card__footer{padding:0 1.5rem 1.5rem 0}@media (max-width: 560px){.card--horizontal{flex-direction:column}.card--horizontal .card__media{width:100%;min-width:unset}}.card__media--square{aspect-ratio:1/1}.card__media--video{aspect-ratio:16/9}.card__media--portrait{aspect-ratio:3/4}.card__media--wide{aspect-ratio:21/9}.card__media--cinema{aspect-ratio:2.4/1}.card__media--fade-bottom:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 50%);pointer-events:none}.card-stat{padding:1.5rem}.card-stat__label{font-size:.8125rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.5rem}.card-stat__value{font-size:2rem;font-weight:700;line-height:1;color:var(--color-text);letter-spacing:-.03em;margin-bottom:.5rem}.card-stat__delta{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600}.card-stat__delta--up{color:var(--color-success)}.card-stat__delta--down{color:var(--color-error)}.card-stat__delta--flat{color:var(--color-text-muted)}.card-stat__icon{position:absolute;top:1.5rem;right:1.5rem;width:2.5rem;height:2.5rem;border-radius:.625rem;background-color:var(--color-accent-subtle);color:var(--color-accent);display:flex;align-items:center;justify-content:center}.card-profile{align-items:center;text-align:center;padding:2rem;gap:.75rem}.card-profile__avatar{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover;border:3px solid var(--color-bg-elevated);box-shadow:var(--shadow-sm);flex-shrink:0}.card-profile__name{font-size:1.0625rem;font-weight:700;color:var(--color-text);margin:0}.card-profile__role{font-size:.875rem;color:var(--color-text-muted);margin:0}.card-profile__meta{display:flex;align-items:center;gap:1.25rem;margin-top:.5rem}.card-profile__meta-item{display:flex;flex-direction:column;align-items:center;gap:.125rem}.card-profile__meta-item strong{font-size:1rem;font-weight:700;color:var(--color-text)}.card-profile__meta-item span{font-size:.75rem;color:var(--color-text-muted)}.card-feature{padding:2rem;gap:1rem}.card-feature__icon{width:3rem;height:3rem;border-radius:.875rem;background-color:var(--color-accent-subtle);color:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-feature__title{font-size:1.0625rem;font-weight:700;color:var(--color-text);margin:0}.card-feature__description{font-size:.9375rem;color:var(--color-text-muted);line-height:1.65;margin:0}.card-testimonial{padding:2rem;gap:1.25rem}.card-testimonial__quote{font-size:1rem;font-style:italic;color:var(--color-text);line-height:1.7;margin:0}.card-testimonial__quote:before{content:"\201c";color:var(--color-accent);font-size:1.5em;line-height:0;vertical-align:-.35em;margin-right:.15em}.card-testimonial__quote:after{content:"\201d";color:var(--color-accent);font-size:1.5em;line-height:0;vertical-align:-.35em;margin-left:.1em}.card-testimonial__author{display:flex;align-items:center;gap:.75rem;margin-top:auto}.card-testimonial__avatar{width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;flex-shrink:0}.card-testimonial__name{font-size:.9375rem;font-weight:600;color:var(--color-text);line-height:1.2}.card-testimonial__title{font-size:.8125rem;color:var(--color-text-muted)}.card-testimonial__rating{display:flex;gap:.2rem;color:var(--color-accent);font-size:.875rem}.card-pricing{padding:2rem;gap:1.25rem;text-align:center}.card-pricing--featured{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-lg);transform:scale(1.02);z-index:1}.card-pricing__badge{display:inline-flex;align-self:center;padding:.25rem .875rem;border-radius:9999px;background-color:var(--color-accent);color:var(--color-text-on-accent);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.card-pricing__name{font-size:1.125rem;font-weight:700;color:var(--color-text)}.card-pricing__price{display:flex;align-items:baseline;justify-content:center;gap:.25rem;line-height:1}.card-pricing__price .currency{font-size:1.375rem;font-weight:600;color:var(--color-text-muted);align-self:flex-start;margin-top:.375rem}.card-pricing__price .amount{font-size:3.5rem;font-weight:800;color:var(--color-text);letter-spacing:-.04em}.card-pricing__price .period{font-size:.9375rem;color:var(--color-text-muted)}.card-pricing__description{font-size:.9375rem;color:var(--color-text-muted);margin:0}.card-pricing__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.625rem;text-align:left}.card-pricing__features li{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;color:var(--color-text)}.card-pricing__features li:before{content:"";width:1rem;height:1rem;min-width:1rem;border-radius:50%;background:var(--color-success);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.card-pricing__features li.disabled{color:var(--color-text-subtle)}.card-pricing__features li.disabled:before{background:var(--color-border-strong)}.card-pricing__cta{margin-top:auto;width:100%}.sidebar{position:absolute;width:200px;height:100%;display:flex;flex-direction:column}.sidebar.sidebar-right{right:0}.sidebar:not(sidebar-right){left:0}.bg-base{background-color:var(--color-bg)!important}.bg-subtle{background-color:var(--color-bg-subtle)!important}.bg-elevated{background-color:var(--color-bg-elevated)!important}.bg-accent,.player-health .player-health-value,body{background-color:var(--color-accent)!important}.bg-accent-subtle{background-color:var(--color-accent-subtle)!important}.bg-success{background-color:var(--color-success-bg)!important}.bg-warning{background-color:var(--color-warning-bg)!important}.bg-error{background-color:var(--color-error-bg)!important}.bg-info{background-color:var(--color-info-bg)!important}.bg-white{background-color:#fff!important}.bg-black{background-color:#000!important}.bg-transparent{background-color:transparent!important}.bg-stone-50{background-color:#fafaf9!important}.bg-stone-100{background-color:#f5f5f4!important}.bg-stone-200{background-color:#e7e5e4!important}.bg-stone-800{background-color:#292524!important}.bg-stone-900{background-color:#1c1917!important}.bg-stone-950{background-color:#0c0a09!important}.bg-amber-100{background-color:#fef3c7!important}.bg-amber-200{background-color:#fde68a!important}.bg-amber-400{background-color:#fbbf24!important}.bg-amber-500{background-color:#f59e0b!important}.bg-amber-600{background-color:#d97706!important}.bg-blue-100{background-color:#dbeafe!important}.bg-blue-500{background-color:#3b82f6!important}.bg-blue-600{background-color:#2563eb!important}.bg-green-100{background-color:#dcfce7!important}.bg-green-500{background-color:#22c55e!important}.bg-red-100{background-color:#fee2e2!important}.bg-red-500{background-color:#ef4444!important}.bg-teal-400{background-color:#2dd4bf!important}.bg-teal-500{background-color:#14b8a6!important}.bg-violet-500{background-color:#8b5cf6!important}.bg-pink-500{background-color:#ec4899!important}.bg-gradient-accent{background:linear-gradient(135deg,#fbbf24,#d97706)!important}.bg-gradient-warm{background:linear-gradient(135deg,#fcd34d,#f97316)!important}.bg-gradient-cool{background:linear-gradient(135deg,#60a5fa,#4f46e5)!important}.bg-gradient-fresh{background:linear-gradient(135deg,#2dd4bf,#22c55e)!important}.bg-gradient-dusk{background:linear-gradient(135deg,#8b5cf6,#ec4899)!important}.bg-gradient-neutral{background:linear-gradient(180deg,#f5f5f4,#e7e5e4)!important}.bg-gradient-dark{background:linear-gradient(180deg,#1c1917,#0c0a09)!important}.text-default{color:var(--color-text)!important}.text-muted{color:var(--color-text-muted)!important}.text-subtle{color:var(--color-text-subtle)!important}.text-inverse{color:var(--color-text-inverse)!important}.text-accent{color:var(--color-accent)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-error{color:var(--color-error)!important}.text-info{color:var(--color-info)!important}.text-white,.player-health .player-health-value,body{color:#fff!important}.text-black{color:#000!important}.border-default{border-color:var(--color-border)!important}.border-strong{border-color:var(--color-border-strong)!important}.border-focus{border-color:var(--color-border-focus)!important}.border-accent{border-color:var(--color-accent)!important}.border-success{border-color:var(--color-success)!important}.border-warning{border-color:var(--color-warning)!important}.border-error{border-color:var(--color-error)!important}.border-transparent{border-color:transparent!important}.opacity-0{opacity:0!important}.opacity-5{opacity:.05!important}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-25{opacity:.25!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:calc(70 / 100)!important}.opacity-75{opacity:.75!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-95{opacity:calc(95 / 100)!important}.opacity-100{opacity:1!important}.scheme-dark{color-scheme:dark;--color-bg: #0c0a09;--color-bg-subtle: #1c1917;--color-bg-elevated: #292524;--color-border: #44403c;--color-border-strong: #57534e;--color-text: #fafaf9;--color-text-muted: #a8a29e;--color-text-subtle: #78716c;--color-accent: #fbbf24;--color-accent-hover: #fcd34d;--color-accent-subtle: rgba(251, 191, 36, .12)}.scheme-light{color-scheme:light;--color-bg: #fafaf9;--color-bg-subtle: #f5f5f4;--color-bg-elevated: #ffffff;--color-border: #e7e5e4;--color-border-strong: #d6d3d1;--color-text: #1c1917;--color-text-muted: #78716c;--color-text-subtle: #a8a29e;--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-accent-subtle: #fef3c7}@media (hover: none){*:hover{all:unset}}.btn-close,.btn-icon,.btn-link,.btn-success,.btn-danger-ghost,.btn-danger,.btn-soft,.btn-outline,.btn-ghost,.btn-secondary,.tab-button.active,.btn,button:not(.ignore-styles),.button,.tab-button,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.625rem;font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1;letter-spacing:.01em;white-space:nowrap;text-decoration:none;border-radius:var(--radius-btn, .5rem);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease,opacity .15s ease;-webkit-tap-highlight-color:transparent}.btn-close:focus-visible,.btn-icon:focus-visible,.btn-link:focus-visible,.btn-success:focus-visible,.btn-danger-ghost:focus-visible,.btn-danger:focus-visible,.btn-soft:focus-visible,.btn-outline:focus-visible,.btn-ghost:focus-visible,.btn-secondary:focus-visible,.btn:focus-visible,button:focus-visible:not(.ignore-styles),.button:focus-visible,.tab-button:focus-visible,.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--color-accent-subtle),0 0 0 1px var(--color-accent)}.btn-close:active:not(:disabled),.btn-icon:active:not(:disabled),.btn-link:active:not(:disabled),.btn-success:active:not(:disabled),.btn-danger-ghost:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-soft:active:not(:disabled),.btn-outline:active:not(:disabled),.btn-ghost:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn:active:not(:disabled),button:active:not(:disabled):not(.ignore-styles),.button:active:not(:disabled),.tab-button:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(1px) scale(.985)}.btn-close:disabled,.btn-icon:disabled,.btn-link:disabled,.btn-success:disabled,.btn-danger-ghost:disabled,.btn-danger:disabled,.btn-soft:disabled,.btn-outline:disabled,.btn-ghost:disabled,.btn-secondary:disabled,.btn:disabled,button:disabled:not(.ignore-styles),.button:disabled,.tab-button:disabled,.btn-primary:disabled,[aria-disabled=true].btn-close,[aria-disabled=true].btn-icon,[aria-disabled=true].btn-link,[aria-disabled=true].btn-success,[aria-disabled=true].btn-danger-ghost,[aria-disabled=true].btn-danger,[aria-disabled=true].btn-soft,[aria-disabled=true].btn-outline,[aria-disabled=true].btn-ghost,[aria-disabled=true].btn-secondary,[aria-disabled=true].btn,button[aria-disabled=true]:not(.ignore-styles),[aria-disabled=true].button,[aria-disabled=true].tab-button,[aria-disabled=true].btn-primary{opacity:.45!important;cursor:not-allowed;pointer-events:none}.is-loading.btn-close,.is-loading.btn-icon,.is-loading.btn-link,.is-loading.btn-success,.is-loading.btn-danger-ghost,.is-loading.btn-danger,.is-loading.btn-soft,.is-loading.btn-outline,.is-loading.btn-ghost,.is-loading.btn-secondary,.is-loading.btn,button.is-loading:not(.ignore-styles),.is-loading.button,.is-loading.tab-button,.is-loading.btn-primary{pointer-events:none;cursor:wait;position:relative;color:transparent!important}.is-loading.btn-close:after,.is-loading.btn-icon:after,.is-loading.btn-link:after,.is-loading.btn-success:after,.is-loading.btn-danger-ghost:after,.is-loading.btn-danger:after,.is-loading.btn-soft:after,.is-loading.btn-outline:after,.is-loading.btn-ghost:after,.is-loading.btn-secondary:after,.is-loading.btn:after,button.is-loading:not(.ignore-styles):after,.is-loading.button:after,.is-loading.tab-button:after,.is-loading.btn-primary:after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .65s linear infinite;color:inherit;opacity:.8}.btn,button:not(.ignore-styles),.button,.tab-button,.btn-primary{background-color:var(--color-accent);color:var(--color-text-on-accent);transition:all .75s ease!important}.btn.active:not(.pointer):not(.toggle),button:not(.ignore-styles).active:not(.pointer):not(.toggle),.button.active:not(.pointer):not(.toggle),.active.tab-button:not(.pointer):not(.toggle),.btn-primary.active:not(.pointer):not(.toggle){pointer-events:none}.btn:hover:not(:disabled),.btn.active:not(:disabled),.btn:active:not(:disabled),button:not(.ignore-styles):hover:not(:disabled),button:not(.ignore-styles).active:not(:disabled),button:not(.ignore-styles):active:not(:disabled),.button:hover:not(:disabled),.tab-button:hover:not(:disabled),.button.active:not(:disabled),.active.tab-button:not(:disabled),.button:active:not(:disabled),.tab-button:active:not(:disabled),.btn-primary:hover:not(:disabled),.btn-primary.active:not(:disabled),.btn-primary:active:not(:disabled){background:linear-gradient(180deg,rgba(255,255,255,.5),transparent);box-shadow:0 4px 12px #0000001f}.btn.is-loading:after,button:not(.ignore-styles).is-loading:after,.button.is-loading:after,.is-loading.tab-button:after,.btn-primary.is-loading:after{color:var(--color-text-on-accent)}.btn-secondary,.tab-button.active{background-color:var(--color-bg-elevated);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled),.tab-button.active:hover:not(:disabled){background-color:var(--color-bg-subtle);border-color:var(--color-border-focus);color:var(--color-text)}.btn-ghost{background-color:transparent;color:var(--color-text);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-subtle);border-color:var(--color-border)}.btn-outline{background-color:transparent;color:var(--color-accent);border-color:var(--color-accent)}.btn-outline:hover:not(:disabled){background-color:var(--color-accent-subtle)}.btn-soft{background-color:var(--color-accent-subtle);color:var(--color-accent);border-color:transparent}.btn-soft:hover:not(:disabled){background-color:var(--color-accent-muted);box-shadow:0 2px 8px #0000000f}.btn-danger{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.btn-danger:focus-visible{box-shadow:0 0 0 3px #ef444433,0 0 0 1px var(--color-error)}.btn-danger-ghost{background-color:transparent;color:var(--color-error);border-color:transparent}.btn-danger-ghost:hover:not(:disabled){background-color:var(--color-error-bg);border-color:transparent}.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:#16a34a;border-color:#16a34a;box-shadow:0 4px 12px #22c55e47}.btn-link{background:none;border-color:transparent;color:var(--color-accent);padding-inline:.25rem;height:auto;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500}.btn-link:hover:not(:disabled){color:var(--color-accent-hover);text-decoration-thickness:2px}.btn-link:active:not(:disabled){transform:none}.btn-xs{height:1.75rem;padding-inline:.625rem;font-size:.75rem;border-radius:calc(var(--radius-btn, .5rem) - .125rem);gap:.3rem}.btn-sm{height:2.125rem;padding-inline:.875rem;font-size:.8125rem}.btn-lg{height:3.125rem;padding-inline:1.625rem;font-size:1rem}.btn-xl{height:3.75rem;padding-inline:2rem;font-size:1.0625rem}.btn-full{width:100%}.btn-pill{border-radius:9999px!important}.btn-square{padding-inline:0!important;aspect-ratio:1/1}button .bullet{position:absolute;top:0;right:0;z-index:3;width:1rem;height:1rem;border-radius:50%;font-size:.75rem;text-align:center;display:flex;flex-direction:column}.btn-icon{color:var(--color-text-muted);padding-inline:0;width:2.625rem;height:2.625rem;border-radius:var(--radius-btn)}.btn-icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.btn-icon:hover:not(:disabled),.btn-icon:active:not(:disabled),.btn-icon.active:not(:disabled){background-color:var(--color-bg-subtle);color:var(--color-text)}.btn-icon--xs{width:1.75rem;height:1.75rem}.btn-icon--sm{width:2.125rem;height:2.125rem}.btn-icon--lg{width:3.125rem;height:3.125rem}.btn-icon--xl{width:3.75rem;height:3.75rem}.btn-icon--round{border-radius:50%!important}.btn-group{display:inline-flex;align-items:stretch}.btn-group>.btn,.btn-group>.btn-secondary,.btn-group>.tab-button.active,.btn-group>.btn-ghost,.btn-group>.btn-outline{border-radius:0}.btn-group>.btn:first-child,.btn-group>.btn-secondary:first-child,.btn-group>.tab-button.active:first-child,.btn-group>.btn-ghost:first-child,.btn-group>.btn-outline:first-child{border-radius:var(--radius-btn, .5rem) 0 0 var(--radius-btn, .5rem)}.btn-group>.btn:last-child,.btn-group>.btn-secondary:last-child,.btn-group>.tab-button.active:last-child,.btn-group>.btn-ghost:last-child,.btn-group>.btn-outline:last-child{border-radius:0 var(--radius-btn, .5rem) var(--radius-btn, .5rem) 0}.btn-group>.btn:not(:last-child),.btn-group>.btn-secondary:not(:last-child),.btn-group>.tab-button.active:not(:last-child),.btn-group>.btn-ghost:not(:last-child),.btn-group>.btn-outline:not(:last-child){border-right-width:0}.btn-group>.btn:focus-visible,.btn-group>.btn-secondary:focus-visible,.btn-group>.tab-button.active:focus-visible,.btn-group>.btn-ghost:focus-visible,.btn-group>.btn-outline:focus-visible{z-index:1}.btn-group--vertical{flex-direction:column}.btn-group--vertical>.btn:first-child,.btn-group--vertical>.btn-secondary:first-child,.btn-group--vertical>.tab-button.active:first-child{border-radius:var(--radius-btn, .5rem) var(--radius-btn, .5rem) 0 0}.btn-group--vertical>.btn:last-child,.btn-group--vertical>.btn-secondary:last-child,.btn-group--vertical>.tab-button.active:last-child{border-radius:0 0 var(--radius-btn, .5rem) var(--radius-btn, .5rem)}.btn-group--vertical>.btn:not(:last-child),.btn-group--vertical>.btn-secondary:not(:last-child),.btn-group--vertical>.tab-button.active:not(:last-child){border-right-width:1.5px;border-bottom-width:0}.btn-close{background:transparent;border:none;color:var(--color-text-muted);padding:0;width:1.75rem;height:1.75rem;border-radius:50%}.btn-close:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text)}.btn-close:before,.btn-close:after{content:"";position:absolute;width:.875rem;height:1.5px;background:currentColor;border-radius:1px}.btn-close:before{transform:rotate(45deg)}.btn-close:after{transform:rotate(-45deg)}html,body{position:fixed;width:100%;height:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;overscroll-behavior-y:none}html{width:100%;height:100%;overflow:hidden}body{width:100%;height:100%;overflow:hidden;padding:0;margin:0;inset:0;overscroll-behavior:none;touch-action:none}body *{box-sizing:border-box}body .three-container{position:fixed;width:100%;height:100%;inset:0;overflow:hidden}canvas{touch-action:none}.three-stats{position:fixed;left:50%!important;bottom:1rem!important;top:unset!important;z-index:100000000000000000000000!important;transform:translate(-50%);pointer-events:all!important}.stats-container{position:absolute;right:1rem;top:1rem}.stats-container .three-stats{position:relative!important;right:0!important;left:unset!important;bottom:unset!important;top:0!important;z-index:10;transform:translate(0)}.three-container{position:relative;width:100%;height:100%;overflow:hidden}.three-container canvas{display:block;width:100%;height:100%}.game-sidebar{position:fixed;width:100%;max-width:300px;height:100%;display:flex;flex-direction:column;padding:150px 0 220px;top:0;right:0;z-index:10000000000000000;box-sizing:border-box;transform:translate(100%);transition:transform .25s ease;pointer-events:none}.game-sidebar .card__body{padding:0}.game-sidebar .game-toggle{position:absolute;top:150px;right:calc(100% + 1rem);display:flex;flex-direction:column;pointer-events:all;z-index:999999;gap:.25rem}.game-sidebar.open{transform:translate(0)}.game-sidebar.open button,.game-sidebar.open a,.game-sidebar.open select,.game-sidebar.open input,.game-sidebar.open textarea{pointer-events:all!important}.game-sidebar .game-sidebar-content{position:relative;flex:1;box-sizing:border-box;display:flex;flex-direction:column;pointer-events:none}.game-sidebar .game-sidebar-content .hud-card-header{position:absolute;z-index:10;width:100%;bottom:100%}.game-sidebar .game-sidebar-content .game-sidebar-content-panel{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;overflow-x:hidden;overflow-y:auto;transform:translate(100%);transition:opacity .25s ease}.game-sidebar .game-sidebar-content .game-sidebar-content-panel.open{opacity:1;pointer-events:all;transform:translate(0)}.effect-overlay{position:fixed;width:100vw;height:100vh;top:0;left:0;pointer-events:none}.effect-overlay .vignette{position:absolute;width:110%;height:110%;inset:50% 0 0 50%;background:radial-gradient(circle at center,transparent 75%,rgba(0,0,0,.4) 90%,rgba(0,0,0,.8) 100%);transform:translate(-50%,-50%)}.effect-overlay .grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:overlay;animation:grainMove .2s steps(2) infinite}.effect-overlay .scanlines{position:absolute;inset:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.05) 0px,rgba(0,0,0,.05) 1px,transparent 1px,transparent 3px);opacity:.4}.effect-overlay .color-grade{position:absolute;inset:0;background:linear-gradient(rgba(20,10,0,.15),rgba(0,10,20,.2));mix-blend-mode:overlay}@keyframes grainMove{0%{transform:translate(0)}25%{transform:translate(-2%,2%)}50%{transform:translate(2%,-2%)}75%{transform:translate(-1%,1%)}to{transform:translate(0)}}.btn-icon{position:relative}.btn-icon app-gui-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair{position:fixed;pointer-events:none;z-index:2;inset:50% 0 0 50%;width:16px;height:16px;border-radius:50%;-webkit-backdrop-filter:blur(5px) saturate(100%);backdrop-filter:blur(5px) saturate(100%);border:1px solid #00ff00;transform:translate(-50%,-50%);box-shadow:0 0 2px 1px #000}.crosshair:before,.crosshair:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.crosshair:before{width:2px;height:2px;background:#00ff00;border-radius:50%}.crosshair:after{width:2px;height:2px;background:#00ff00;box-shadow:0 -16px #0f0,0 16px #0f0,-16px 0 #0f0,16px 0 #0f0}.crosshair.mode--first_person{display:block}.crosshair.mode--third_person{display:none}.hud{position:absolute;inset:0;pointer-events:none}.hud>*{pointer-events:auto}app-mofx-ad-finger-food-fighting{position:fixed;z-index:100000000000000000;overflow:visible}app-mofx-ad-finger-food-fighting .mofx-ad-finger-food-fighting{overflow:visible}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:10px 14px;border:1px solid #444;border-radius:6px;font-size:14px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg fill='white' height='10' viewBox='0 0 20 20'%3E%3Cpath d='M5 7l5 5 5-5H5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px}.select:focus{outline:none;border-color:#6c8cff;box-shadow:0 0 0 2px #6c8cff4d}.select:hover{border-color:#888}.minimap-panel{position:absolute;top:33.33%;left:0;transform:translateY(-50%);display:flex;flex-direction:column;width:200px;height:200px;z-index:9999999}.minimap-panel .minimap-controls{position:absolute;left:0;top:100%;display:flex;gap:.25rem}.minimap-panel .minimap{position:relative;width:200px;height:200px;pointer-events:none;border-radius:50%;overflow:hidden}.minimap-panel .minimap .minimap-actions{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);z-index:99;pointer-events:all!important}.minimap-panel .minimap canvas{width:100%;height:100%;display:block}.minimap-container{width:100%;height:100%;border-radius:8px;overflow:hidden}.minimap-canvas{width:100%;height:100%}.minimap-canvas canvas{width:100%;height:100%;display:block}.hud-border,.hud-card{border-radius:var(--radius-card-sm, .75rem)}.hud-card{padding:.5rem .875rem}.hud-card .hud-card-header{display:flex;gap:.25rem}.status-bar{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.75rem;z-index:99999999}.status-item{display:flex;align-items:center;gap:.375rem}.status-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.status-value{font-size:.75rem;font-weight:600}.status-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.status-dot.online{background-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-bg);animation:pulse-dot 2s ease infinite}.status-dot.connecting{background-color:var(--color-warning);animation:pulse-dot 1s ease infinite}.status-dot.spectator{background-color:var(--color-info)}.status-dot.offline{background-color:var(--color-error)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.camera-mode{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-card-sm, .75rem);padding:.375rem .875rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.camera-mode .info-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.camera-mode .info-value{font-size:.8125rem;font-weight:600}.camera-mode .field-hint{font-size:.5rem;line-height:.6rem;padding-left:.5rem;margin-left:.125rem;opacity:.75}.spectator-quality-selection{display:flex;flex-wrap:wrap;gap:.25rem}.spectator-quality-selection>*{flex:1}.spectator-badge{position:absolute;top:50%;left:50%;width:100%;max-width:600px;max-height:100%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;text-align:center;min-width:180px;overflow-x:hidden;overflow-y:auto}.spectator-badge .app-image{margin:0 auto}.spectator-badge .app-image img{display:flex;max-width:80px;object-fit:contain;object-position:center center}.spectator-badge small{font-size:.75rem;line-height:.8rem;background:#666;padding:.25rem}.spectator-badge.is-watching{top:0;transform:translate(-50%)}.spectator-badge .field-hint{margin-bottom:1rem}.spectator-badge h3{margin:0}.spectator-badge p{margin:0;padding:0;line-height:1.1rem;font-size:1rem}.controls-info{position:absolute;bottom:1rem;left:1rem;padding:1rem 1.25rem;min-width:220px}.control-group{display:flex;flex-direction:column;gap:.375rem}.control-item{display:flex;align-items:center;gap:.625rem;font-size:.8125rem}.control-item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:600;font-family:inherit;border-radius:.25rem;white-space:nowrap;flex-shrink:0}.error-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.75rem;padding:.625rem 60px 1rem 1rem;min-width:280px;max-width:480px;z-index:999999999;overflow:visible;border-radius:var(--radius-card-sm, .75rem)}.error-message .close-error{position:absolute;top:0;right:0;z-index:9999999999;pointer-events:all!important}.overlay-view{position:fixed;width:100vw;height:100vh;top:0;left:0;z-index:99;overflow:hidden;pointer-events:none}.overlay-view.interactive-view{z-index:999;pointer-events:all}.overlay-view.error-view{z-index:10000000000000000000}.waitlist-container{position:relative;width:100%}.waitlist-card{width:100%;display:flex;flex-direction:column}.waitlist-header{display:flex;flex-direction:column;align-items:center;gap:16px}.waitlist-icon-wrap{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.waitlist-pulse-ring{position:absolute;inset:0;animation:pulseRing 2s ease-out infinite}@keyframes pulseRing{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}.waitlist-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;letter-spacing:-.5px;position:relative;z-index:1}.waitlist-title{margin:0}.waitlist-body{display:flex;flex-direction:column;gap:20px}.waitlist-position-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.position-block{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.position-number{font-size:22px;font-weight:700;line-height:1}.position-label{font-size:11px;text-transform:uppercase;letter-spacing:.6px}.position-divider{width:1px;height:36px}.waitlist-progress-section{display:flex;flex-direction:column;gap:8px}.progress-label-row{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px}.progress-pct{font-size:12px;font-weight:600}.progress-track{height:6px;overflow:hidden}.progress-fill{height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.waitlist-eta{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.eta-label{font-size:13px}.eta-value{font-size:14px;font-weight:600}.waitlist-notice{font-size:12px;text-align:center;line-height:1.6}.waitlist-admitted-body{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0}.admitted-spinner{width:36px;height:36px;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admitted-text{font-size:14px;margin:0;text-align:center}.waitlist-footer{display:flex;justify-content:center}.connection-info{position:absolute;bottom:3.5rem;right:1rem;display:flex;align-items:center;gap:.5rem;background-color:var(--color-bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-card-sm, .75rem);padding:.5rem .875rem}.connection-info .btn-spinner{width:.875rem;height:.875rem;border-radius:50%;animation:btn-spin .65s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.collision-notifications{position:absolute;top:5rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none}.login-container{position:absolute;inset:0;width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;justify-content:center;z-index:999999999}.login-container .login-wrapper{position:relative;width:100%;height:auto;max-height:100%;max-width:600px;margin:0 auto;overflow-x:hidden;overflow-y:auto}.login-container .login-wrapper .login-card{position:relative;height:auto;overflow:visible}.login-container .login-wrapper .game-infos{display:flex;flex-wrap:wrap;gap:.5rem}.login-container .login-wrapper .game-infos>*{flex:1}.login-container .login-wrapper .game-infos .selected-character{text-align:center}.login-header{position:absolute;width:100%;top:0;left:0;pointer-events:none;display:flex;justify-content:flex-end;padding:.875rem .875rem 0;min-height:2.5rem}.login-header button{pointer-events:all}.server-status{margin:1.5rem 1.5rem 0}.server-status.status-online{background-color:var(--color-success-bg);border-color:var(--color-success)}.server-status.status-full{background-color:var(--color-warning-bg);border-color:var(--color-warning)}.server-status.status-offline{background-color:var(--color-error-bg);border-color:var(--color-error)}.server-info{display:flex;gap:1rem}.info-item{display:flex;gap:.3rem;font-size:.75rem}.offline-notice{margin-top:.375rem;padding-left:1rem;font-size:.75rem;color:var(--color-error)}.login-tabs{display:flex;gap:.25rem;padding:1.25rem 1.5rem 0}.tab-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.375rem;padding-inline:1rem;font-family:inherit;font-size:.8125rem;font-weight:600;background-color:transparent;text-transform:uppercase;border-radius:var(--radius-btn, .5rem);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.tab-button.active{cursor:default;pointer-events:none}.tab-button:disabled{opacity:.45;cursor:not-allowed}.login-content{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem}.button-group{display:flex;gap:.25rem;flex-wrap:wrap}.button-group button{flex:1}.file-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;text-align:center;transition:border-color .15s ease,background-color .15s ease;min-height:180px}.file-drop-zone.has-file{padding:1rem 1.25rem;min-height:unset}.file-drop-zone input[type=file]{display:none}.drop-zone-text{font-size:.9375rem;font-weight:500;margin:0}.drop-zone-hint{font-size:.8125rem;margin:0}.file-select-btn{display:inline-flex;align-items:center;justify-content:center;height:2.375rem;padding-inline:1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.file-info{display:flex;align-items:center;gap:.75rem;min-width:0}.file-details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.file-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.75rem}.color-preview{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;cursor:pointer}.error-banner{margin:0 1.5rem 1.25rem;display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-radius:var(--radius-card-sm, .75rem);background-color:var(--color-error-bg);border:1px solid var(--color-error)}.player-card{position:absolute;top:1rem;left:50%;width:240px;height:auto;box-sizing:border-box;transform:translate(-50%);z-index:999999999}.player-card .right-controls{position:absolute;top:0;left:100%;padding:.25rem}.player-card.expanded .player-options{max-height:600px}.player-card .player-info-card{margin-bottom:.25rem}.player-card .player-options{height:auto;max-height:0;overflow:hidden;transition:max-height .25s ease}.player-card .field--inline label{min-width:5rem}.player-card .camera-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}.player-card .camera-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;border-radius:var(--radius-btn, .5rem);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.game-header{position:fixed;top:0;left:0;width:100%;pointer-events:none;z-index:999999999}.game-header .moFX-logo{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;text-align:right}.game-header .moFX-logo img{float:right;margin-left:auto}.game-header .moFX-logo a{pointer-events:all}.game-header .actions{pointer-events:all;padding:1rem}.moFX-logo img{max-width:80px;object-fit:contain;object-position:center center}.moFX-logo .game-description{opacity:.666;display:flex;flex-direction:column}.game-controller{z-index:999999}.controller-panel{position:absolute;z-index:10;pointer-events:none}.controller-panel .game-controller{pointer-events:none}.controller-panel .game-controller>*{pointer-events:all}input{width:100%;padding:.5rem;border-radius:.25rem}.spacer{flex:1}.card__body{display:flex;flex-direction:column}app-three-websocket-chat{position:relative;display:flex;flex-direction:column;flex:1;overflow:hidden}.chat-container{position:relative;width:100%;height:100%;overflow:hidden;transition:all .3s ease;z-index:1000;display:flex;flex-direction:column;box-sizing:border-box}.chat-container .chat-messages{overflow-y:auto;overflow-x:hidden;display:flex;flex:1;flex-direction:column;gap:8px;box-sizing:border-box}.chat-container .chat-messages:not(.collapsed){flex:1;min-height:0}.chat-container .chat-messages::-webkit-scrollbar{width:6px}.chat-container.hidden{opacity:0;pointer-events:none}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.chat-header .chat-title{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.chat-header .chat-actions{display:flex;gap:8px}.chat-header .chat-action-btn{background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s ease}.chat-header .chat-action-btn .icon{font-size:16px}.no-messages{text-align:center;padding:40px 20px}.no-messages p{margin:0;font-size:14px}.no-messages p.hint{margin-top:8px;font-size:12px}.message{animation:messageSlideIn .2s ease}.message .message-content{padding:8px 12px;border-radius:8px;word-wrap:break-word;max-width:85%}.message .message-content.system{font-size:12px;font-style:italic;text-align:center;max-width:100%;margin:4px 0}.message.own-message .message-content.user{margin-left:auto}.message .message-header{display:flex;align-items:center;margin-bottom:4px;gap:8px}.message .message-header .player-name{flex:1}.message .player-name{font-weight:600;font-size:12px;display:flex}.message .timestamp{font-size:10px}.message .message-text{font-size:13px;line-height:1.4}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-input-container{display:flex;gap:8px;padding:12px}.chat-input-container .chat-input{flex:1;border-radius:6px;padding:10px 12px;font-size:14px;outline:none;transition:all .2s ease}.chat-input-container .send-button{border:none;border-radius:6px;padding:10px 20px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.chat-input-container .send-button:hover:not(:disabled){transform:translateY(-1px)}.chat-input-container .send-button:active:not(:disabled){transform:translateY(0)}.chat-input-container .send-button:disabled{opacity:.4;cursor:not-allowed}app-three-websocket-debugger,.debug-panel{position:relative;height:100%;display:flex;flex-direction:column;flex:1}app-three-websocket-debugger .server-infos,.debug-panel .server-infos{margin-top:40px}.chat-hint{padding:8px 12px}.chat-hint .recent-message{font-size:12px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hint .recent-message .hint-name{font-weight:600;margin-right:4px}.chat-hint .hint-instructions{font-size:10px;font-style:italic}.player-health{position:relative;width:100%;border-radius:.25rem;margin-bottom:.25rem}.player-health .player-health-value{position:relative;width:100%;padding:0 .25rem;font-size:.5rem;text-align:center;z-index:2}.player-health .player-health-bar{position:absolute;width:100%;height:100%;left:0;top:0;z-index:1}.player-health .player-health-bar .player-health-bar-fill{position:absolute;height:100%;left:0;top:0;opacity:.75;transition:width .25s ease;background:linear-gradient(135deg,#fbbf24,#d97706)}@media (max-height: 768px){.look-zone{width:60%;height:75%!important;top:0!important;left:20%}.look-zone:after{display:block!important}.moFX-logo{display:none!important}body .player-card{top:0!important;left:unset;right:0;transform:scale(.75) translate(-20%,8%)}.action-cluster{right:80px!important}.game-sidebar{padding:1rem 1rem 1rem 50px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.game-sidebar .game-toggle{top:1rem!important}.game-sidebar.open .game-toggle{right:unset;left:0}}@media (max-width: 768px){.look-zone:after{display:block!important}.player-card{top:calc(65px + .25rem)!important}.game-header .moFX-logo{top:40px!important;transform:translate(25%,-50%) scale(.5)!important}.button-group{flex-direction:column}.button-group button{min-height:2.5rem}.game-sidebar{width:100vw;max-width:100vw;padding:1rem 1rem 1rem 70px;pointer-events:all;z-index:100000000000000000;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.game-sidebar.open{pointer-events:all}.game-sidebar.open .game-toggle{right:unset;left:1rem}.minimap-panel,.minimap-panel .minimap{width:100px;height:100px}}@media (max-width: 480px){.chat-input-container{flex-direction:column}.chat-input-container .send-button{width:100%}}:host{display:block}.row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;gap:8px}.row .label{white-space:nowrap;flex-shrink:0}.row .value{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .value.mono{font-family:Courier New,monospace}.row .value.admin{font-weight:600;letter-spacing:.06em}.camera-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:6px}.camera-btn{border-radius:4px;padding:6px 2px;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.camera-btn .mode-label{display:block;font-size:10px;font-family:Courier New,monospace;letter-spacing:.04em;text-transform:uppercase;transition:color .15s}.camera-info{text-align:center}.camera-info .info-text{font-size:10px;letter-spacing:.04em}.actions{display:flex;gap:6px}.game-controller{font-family:Orbitron,monospace;position:fixed;bottom:0;left:0;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-user-select:none}.game-controller .left-zone{position:absolute;bottom:0;height:25vh;width:50%;pointer-events:auto;touch-action:none;left:0}.game-controller .look-zone{position:absolute;top:25vh;height:50vh;width:100%;pointer-events:auto;touch-action:none;left:0;padding:.5rem;box-sizing:border-box;display:flex}.game-controller .look-zone:after{content:"";position:relative;flex:1;pointer-events:none;border:2px dotted rgba(255,255,255,.2);border-radius:.5rem;display:none}.game-controller .joystick-wrap{position:absolute;left:32px;bottom:32px}.game-controller .joystick-base{width:110px;height:110px;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.game-controller .joystick-base:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;border:1.5px solid rgba(0,229,255,.25)}.game-controller .joystick-base .joystick-stick{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(0,229,255,.8);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .04s linear}.game-controller .joystick-base .joystick-stick .joystick-icon{display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-40%);pointer-events:none;color:#00e5ff}.game-controller .joystick-base .joystick-stick .joystick-icon svg{fill:#00e5ff}.game-controller .joystick-label{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);font-size:8px;letter-spacing:.18em;white-space:nowrap}.game-controller .action-cluster{position:absolute;right:28px;bottom:36px;width:160px;height:160px;pointer-events:none}.game-controller .secondary-actions{position:absolute;right:0;width:100%;display:flex;justify-content:center;gap:.25rem}.game-controller .secondary-actions .action-btn{position:relative;width:32px;height:32px;opacity:.5}.game-controller .secondary-actions .action-btn.active,.game-controller .secondary-actions .action-btn:hover{opacity:1}.game-controller .secondary-actions.top-actions{bottom:100%;transform:translateY(50%)}.game-controller .secondary-actions.bottom-actions{top:100%;transform:translateY(50%)}.game-controller .action-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1.5px solid;font-family:Orbitron,monospace;font-size:9px;font-weight:700;letter-spacing:.1em;pointer-events:auto;touch-action:manipulation;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,transform .08s}.game-controller .action-btn:active,.game-controller .action-btn.active{transform:scale(.92)}.game-controller .action-btn:disabled{border-color:#7a7a7a4d!important;opacity:.5!important}.game-controller .action-btn.camera{border-color:#ffffff4d;font-size:7px;transform:translateY(-50%)}.game-controller .action-btn.camera:active,.game-controller .action-btn.camera.active{background:rgba(255,255,255,.12);transform:translateY(-50%) scale(.92)}.game-controller .action-btn.fire{right:0;top:50%;transform:translateY(-50%);border-color:#ff3d57;font-size:8px}.game-controller .action-btn.fire:active,.game-controller .action-btn.fire.active{background:rgba(255,61,87,.25);transform:translateY(-50%) scale(.92)}.game-controller .action-btn.alt{left:0;top:50%;transform:translateY(-50%);border-color:#fc0;font-size:8px}.game-controller .action-btn.alt:active,.game-controller .action-btn.alt.active{background:rgba(255,204,0,.2);transform:translateY(-50%) scale(.92)}.game-controller .action-btn.sprint{top:0;left:50%;transform:translate(-50%);border-color:#00e5ff;font-size:9px}.game-controller .action-btn.sprint:active,.game-controller .action-btn.sprint.active{background:rgba(0,229,255,.2);transform:translate(-50%) scale(.92)}.game-controller .action-btn.jump{bottom:0;left:50%;transform:translate(-50%);border-color:#ffffff4d;font-size:7px}.game-controller .action-btn.jump:active,.game-controller .action-btn.jump.active{background:rgba(255,255,255,.12);transform:translate(-50%) scale(.92)}.game-controller .dpad{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;pointer-events:none;display:none}.game-controller .dpad-btn{position:absolute;width:38px;height:38px;background:rgba(10,18,28,.5);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);border:1px solid rgba(0,229,255,.25);color:#00e5ffb3;font-size:16px;pointer-events:auto;touch-action:manipulation;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .08s}.game-controller .dpad-btn:active,.game-controller .dpad-btn.active{background:rgba(0,229,255,.15)}.game-controller .dpad-btn.up{top:0;left:50%;transform:translate(-50%);border-radius:6px 6px 0 0}.game-controller .dpad-btn.down{bottom:0;left:50%;transform:translate(-50%);border-radius:0 0 6px 6px}.game-controller .dpad-btn.left{left:0;top:50%;transform:translateY(-50%);border-radius:6px 0 0 6px}.game-controller .dpad-btn.right{right:0;top:50%;transform:translateY(-50%);border-radius:0 6px 6px 0}.game-controller .dpad-btn.center{top:50%;left:50%;width:22px;height:22px;pointer-events:none}@media (max-width: 480px){.game-controller .joystick-base{width:90px;height:90px}.game-controller .joystick-stick{width:38px;height:38px}.game-controller .action-cluster{width:136px;height:136px;right:16px;bottom:28px}.game-controller .action-btn{width:44px;height:44px;font-size:7px}}.gui-icon{position:relative;margin:0 auto}.game-over-view{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-family:monospace}.game-over-backdrop{position:absolute;inset:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-over-panel{position:relative;padding:40px 60px;text-align:center;border-radius:10px;animation:gameOverAppear .5s ease-out}.game-over-title{font-size:56px;letter-spacing:6px;color:#f44;margin-bottom:30px}.game-over-stats{margin-bottom:30px}.stat{display:flex;justify-content:space-between;font-size:18px;margin:6px 0}.label{opacity:.7}.value{font-weight:700}.game-over-actions{display:flex;gap:15px;justify-content:center}.game-items{display:flex;justify-content:center;gap:.5rem;margin-bottom:.5rem}.game-items .game-item{position:relative;display:flex;flex-direction:column}.game-items .game-item .game-item-button{position:relative;width:52px;height:52px;border-radius:50%;overflow:visible;background:none;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.game-items .game-item .game-item-button:before,.game-items .game-item .game-item-button:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.game-items .game-item .game-item-button:before{-webkit-backdrop-filter:blur(16px) saturate(75%);backdrop-filter:blur(16px) saturate(75%);box-shadow:0 8px 32px #0000001f}.game-items .game-item .game-item-button *{text-shadow:0 1px 2px rgba(0,0,0,.8)}.game-items .game-item .game-item-button svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.game-items .game-item .game-item-button:hover,.game-items .game-item .game-item-button:active,.game-items .game-item .game-item-button.active{scale:1.1}.game-items .game-item .game-item-button:hover:before,.game-items .game-item .game-item-button:active:before,.game-items .game-item .game-item-button.active:before{background:rgba(255,255,255,.65)}.game-items .game-item .game-item-type{position:absolute;top:100%;left:50%;text-align:center;transform:translate(-50%);white-space:nowrap;font-size:.5rem;max-width:32px;overflow:hidden}.audio-ctrl{position:relative;width:100%;z-index:999;display:flex;flex-direction:column}.audio-ctrl-master{display:flex;align-items:center;gap:10px}.mute-btn{flex-shrink:0;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#ffffff8c;font-size:9px;font-weight:700;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.mute-btn:hover{background:rgba(255,255,255,.1);color:#ffffffd9}.mute-btn.muted{background:rgba(252,129,129,.12);border-color:#fc818140;color:#fc8181}.mute-btn.muted:hover{background:rgba(252,129,129,.2)}.slider-wrap{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.slider-value{flex-shrink:0;font-size:11px;font-weight:600;color:#fff6;min-width:26px;text-align:right;letter-spacing:.2px}.master-label{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.8px;color:#ffffff40}.volume-slider{appearance:none;width:100%;height:4px;border-radius:99px;background:rgba(255,255,255,.1);outline:none;cursor:pointer;transition:opacity .2s}.volume-slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:#4299e1;cursor:pointer;border:2px solid #0f1117;box-shadow:0 0 0 1px #4299e166;-webkit-transition:transform .1s,box-shadow .1s;transition:transform .1s,box-shadow .1s}.volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#4299e1;cursor:pointer;border:2px solid #0f1117;box-shadow:0 0 0 1px #4299e166;-moz-transition:transform .1s,box-shadow .1s;transition:transform .1s,box-shadow .1s}.volume-slider:not(:disabled):hover::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 0 0 2px #4299e180}.volume-slider:not(:disabled):hover::-moz-range-thumb{transform:scale(1.2);box-shadow:0 0 0 2px #4299e180}.volume-slider.muted,.volume-slider:disabled{opacity:.3;cursor:not-allowed}.volume-slider.muted::-webkit-slider-thumb,.volume-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.volume-slider.muted::-moz-range-thumb,.volume-slider:disabled::-moz-range-thumb{cursor:not-allowed}.audio-ctrl-divider{height:1px;background:rgba(255,255,255,.06);margin:0 -4px}.audio-ctrl-categories{display:flex;flex-direction:column;gap:10px}.category-row{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:9px;transition:border-color .15s,background .15s}.category-row:hover{background:rgba(255,255,255,.04);border-color:#ffffff14}.category-row.category-muted{border-color:#fc81811f;background:rgba(252,129,129,.04)}.category-header{display:flex;align-items:center;gap:8px}.category-name{flex:1;font-size:10px;font-weight:700;letter-spacing:.8px;color:#ffffff73}.effective-vol{font-size:10px;font-weight:600;color:#ffffff4d;min-width:28px;text-align:right;letter-spacing:.2px;transition:color .2s}.effective-vol.zero{color:#fc818180}.cat-mute-btn{flex-shrink:0;padding:2px 8px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#fff6;font-size:9px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cat-mute-btn:hover:not(:disabled){background:rgba(252,129,129,.12);color:#fc8181;border-color:#fc818140}.cat-mute-btn.muted{background:rgba(252,129,129,.1);color:#fc8181;border-color:#fc818133}.cat-mute-btn:disabled{opacity:.3;cursor:not-allowed}.category-volume-slider::-webkit-slider-thumb{background:#48bb78;box-shadow:0 0 0 1px #48bb7866}.category-volume-slider::-moz-range-thumb{background:#48bb78;box-shadow:0 0 0 1px #48bb7866}.category-volume-slider:not(:disabled):hover::-webkit-slider-thumb{box-shadow:0 0 0 2px #48bb7880}.category-volume-slider:not(:disabled):hover::-moz-range-thumb{box-shadow:0 0 0 2px #48bb7880}body .hud .fixed-container{position:fixed!important;z-index:100000000!important;bottom:20vh;left:.25rem;display:flex;flex-direction:column;transform:scale(.75) translate(-12%);transition:transform .25s ease}body .hud .fixed-container button{pointer-events:all!important}body .hud .fixed-container:hover{transform:scale(1) translate(0)}body .hud .fixed-container .stats-container{position:relative!important}body .hud .fixed-container .stats-container .three-stats{position:relative!important;left:1rem!important}body .hud .fixed-container .stats-container .three-stats canvas{width:100%!important}body .hud .fixed-container .debug-section{margin-top:2rem}.ai-hint{font-size:.75rem;line-height:.8rem}.file-drop-zone{border-radius:.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(0,229,255,.25)}app-three-websocket-character-selection,.spectator-character-selection{position:relative;width:100%}.character-selection{position:relative;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,8rem));gap:1rem;justify-content:center}.character-selection .character-selection-item{position:relative;display:flex;width:100%;height:100%;min-width:8rem;min-height:8rem;border-radius:50%;overflow:hidden;cursor:pointer;transition:all .25s ease}.character-selection .character-selection-item app-three-websocket-character{position:relative;flex:1;display:flex}.character-selection .character-selection-item app-three-websocket-character .character-preview{flex:1}.character-selection .character-selection-item:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background:rgba(0,0,0,.5);filter:brightness(.5);transition:all .25s ease}.character-selection .character-selection-item:hover,.character-selection .character-selection-item.active{scale:1.1;border:1px solid rgba(0,229,255,.25)}.character-selection .character-selection-item:hover:after,.character-selection .character-selection-item.active:after{opacity:0}.websocket-gui{padding:1rem;box-sizing:border-box;display:flex;flex-direction:column}.websocket-gui .websocket-gui-container{position:relative;flex:1}.settings-section{margin-bottom:1rem}.selected-character{position:relative;width:8rem;height:8rem;margin:0 auto}
