:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}html,body,#root{width:100%;min-width:320px;min-height:100%}#root{text-align:left;border:0;width:100%;max-width:none;min-height:100svh;margin:0}:root{--app-bg:#07111f;--app-panel:#0a182ae6;--app-panel-solid:#0c1c31;--app-panel-soft:#112741b8;--app-border:#9abee02e;--app-text:#edf6ff;--app-muted:#8fa8bf;--app-blue:#4a9eff;--app-blue-strong:#2275d7;--app-green:#54dc9b;--app-red:#ff7d86;--app-shadow:0 24px 70px #00000057}:root[data-theme=light]{--app-bg:#eaf1f8;--app-panel:#ffffffe6;--app-panel-solid:#fff;--app-panel-soft:#eff6fde0;--app-border:#22446629;--app-text:#152538;--app-muted:#60758b;--app-blue:#1769c2;--app-blue-strong:#0e55a0;--app-green:#159b68;--app-red:#d94b58;--app-shadow:0 24px 70px #2543622e}*{box-sizing:border-box}body{background:var(--app-bg);min-width:320px;color:var(--app-text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select{font:inherit}button{color:inherit}.controller-app{isolation:isolate;background:radial-gradient(circle at 50% 42%, #27609e3d, transparent 34%), linear-gradient(135deg, var(--app-bg), #020812);width:100%;min-height:100svh;position:relative;overflow:hidden}.scene-layer{z-index:0;background:radial-gradient(#3471ae2e,#0000 48%),linear-gradient(#08152626,#01050c9e);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.scene-layer:before{content:"";pointer-events:none;background-image:linear-gradient(#7faad20b 1px,#0000 1px),linear-gradient(90deg,#7faad20b 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 72%);mask-image:radial-gradient(#000,#0000 72%)}.dualsense-scene,.xbox-series-scene{z-index:0;position:absolute;inset:0}.dualsense-scene canvas,.xbox-series-scene canvas{width:100%;height:100%;display:block}.scene-status{z-index:1;color:var(--app-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;font-size:.76rem;display:flex;position:absolute;bottom:28px;left:28px}.scene-status__brand,.brand__mark{width:30px;height:30px;color:var(--app-blue);letter-spacing:.08em;border:1px solid #4a9eff99;border-radius:8px;place-items:center;font-size:.65rem;font-weight:800;display:grid}.model-loading-card{z-index:10;border:1px solid var(--app-border);background:var(--app-panel);box-shadow:var(--app-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:40px;align-items:center;gap:16px;padding:16px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.model-loading-card .loading-text-group{flex-direction:column;gap:2px;display:flex}.model-loading-card strong{color:var(--app-text);margin:0;font-size:1.05rem;font-weight:700}.model-loading-card small{color:var(--app-muted);margin:0;font-size:.8rem}.loading-spinner{border:3px solid var(--app-border);border-top-color:var(--app-blue);border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.topbar1 .topbar__right{justify-content:flex-end;gap:8px}.topbar{z-index:10;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#051427e6;border-bottom:1px solid #82aed82e;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;gap:20px;min-height:68px;padding:10px 22px;display:grid;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 32px #00000029}@media (width<=760px){.topbar{gap:10px;padding:8px 12px}.topbar__left{gap:12px}.brand{gap:7px;font-size:.76rem}.brand__mark{width:28px;height:28px}.controller-summary{gap:5px;font-size:.68rem}.controller-summary__type{max-width:92px}.controller-summary__status{display:none}.transport-badge{padding:5px}.transport-badge span{display:none}.github-link{justify-content:center;width:36px;padding:0}.github-link span{display:none}.topbar__right{gap:5px}.select-control{max-width:52px}}@media (width<=900px){.topbar{grid-template-columns:minmax(0,1fr) auto;padding:10px 14px}.topbar__left{grid-column:1}.topbar__right{grid-column:2;justify-content:flex-end}.controller-summary{min-width:min(270px,100vw - 32px)}}@media (width<=560px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 12px}.topbar__right{gap:4px}.controller-summary{min-width:0;max-width:calc(100vw - 24px);padding:8px 12px}.controller-summary__type{max-width:90px}}.topbar__left,.topbar__right,.brand,.controller-summary{align-items:center;display:flex}.github-link{background:var(--app-panel-soft);width:36px;height:36px;color:var(--app-muted);border:1px solid #9abee03d;border-radius:50%;flex:0 0 36px;place-items:center;text-decoration:none;transition:border-color .16s,background .16s,color .16s,transform .16s;display:grid}.github-link:hover{border-color:var(--app-blue);color:var(--app-text);background:#4a9eff29;transform:translateY(-1px)}.github-link:active{transform:translateY(1px)}.github-icon{width:18px;height:18px;display:block}.controller-summary{z-index:12;background:#0a1d33f5;border:1px solid #5b9dda61;border-top:0;border-radius:0 0 24px 24px;justify-content:center;align-items:center;gap:9px;min-width:270px;padding:11px 17px;display:flex;position:fixed;top:68px;left:50%;transform:translate(-50%);box-shadow:0 12px 26px #0000003d,inset 0 1px #ffffff0a}.controller-summary:before{content:"";background:linear-gradient(90deg,#0000,#4a9effb3,#0000);height:1px;position:absolute;top:-1px;left:20px;right:20px}.controller-summary__type{max-width:180px;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.controller-summary__status{color:var(--app-muted)}.status-dot{background:var(--app-muted);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.status-dot.is-online{background:var(--app-green);box-shadow:0 0 12px var(--app-green)}.transport-badge,.status-pill{border:1px solid var(--app-border);color:var(--app-muted);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.68rem}.transport-badge{border:1px solid var(--app-border);color:var(--app-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.68rem;font-weight:700;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.transport-badge--usb{color:var(--app-blue);background:#4a9eff14;border-color:#4a9eff59}.transport-badge--bluetooth{color:var(--app-green);background:#54dc9b14;border-color:#54dc9b59}.transport-icon{flex:none;width:15px;height:15px}.button,.icon-button,.select-control{border:1px solid var(--app-border);background:var(--app-panel-soft);cursor:pointer;border-radius:8px;transition:border-color .16s,background .16s,transform .16s}.button:hover,.icon-button:hover,.select-control:hover{border-color:var(--app-blue)}.button:active,.icon-button:active{transform:translateY(1px)}.button{padding:9px 16px;font-size:.78rem;font-weight:700}.button--primary{background:linear-gradient(135deg, var(--app-blue), var(--app-blue-strong));color:#fff;border-color:#0000}.button:disabled{cursor:not-allowed;opacity:.42}.icon-button{place-items:center;width:36px;height:36px;font-size:1rem;display:grid}.select-control{height:36px;color:var(--app-text);outline:none;padding:0 8px}.settings-drawer__content .settings-select,.settings-drawer__content .output-control select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;appearance:auto;color:#edf6ff;background-color:#102943}.error-toast{z-index:20;max-width:min(430px,100vw - 44px);box-shadow:var(--app-shadow);color:#ffe9eb;background:#4f141feb;border:1px solid #ff7d8673;border-radius:10px;align-items:center;gap:10px;padding:13px 15px;font-size:.78rem;display:flex;position:fixed;top:86px;right:22px}.error-toast span{color:#ffc6ca}.error-toast button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:1.2rem}:root[data-theme=light] body{background:var(--app-bg);color:var(--app-text)}:root[data-theme=light] .scene-layer:before{background-image:linear-gradient(#275b8912 1px,#0000 1px),linear-gradient(90deg,#275b8912 1px,#0000 1px)}:root[data-theme=light] .topbar{background:#fffffff0;border-bottom-color:#2d5b8433;box-shadow:0 10px 30px #30537429}:root[data-theme=light] .controller-summary{background:#fffffff7;border-color:#1769c247;box-shadow:0 12px 26px #3053742e,inset 0 1px #ffffffe6}:root[data-theme=light] .controller-summary:before{background:linear-gradient(90deg,#0000,#1769c2a6,#0000)}:root[data-theme=light] .github-link,:root[data-theme=light] .icon-button,:root[data-theme=light] .select-control{background:var(--app-panel-soft);color:var(--app-text)}:root[data-theme=light] .github-link:hover,:root[data-theme=light] .icon-button:hover,:root[data-theme=light] .select-control:hover{border-color:var(--app-blue);background:#e1effc}:root[data-theme=light] .transport-badge--usb{color:var(--app-blue);background:#1769c21a;border-color:#1769c259}:root[data-theme=light] .transport-badge--bluetooth{color:var(--app-green);background:#159b681a;border-color:#159b6859}:root[data-theme=light] .scene-status{color:#55718b}:root[data-theme=light] .model-loading-card{background:#fffffff0;border-color:#1f426533}.settings-drawer__content{padding-bottom:32px}.settings-drawer__content .settings-section{border-top:1px solid var(--app-border);padding:24px 0;position:relative}.settings-drawer__content .settings-section:first-child{border-top:0;padding-top:4px}.settings-drawer__content .section-eyebrow{color:var(--app-blue);letter-spacing:.16em;align-items:center;gap:8px;margin-bottom:18px;font-size:.72rem;font-weight:800;line-height:1.4;display:flex}.settings-drawer__content .section-eyebrow:before{background:linear-gradient(180deg, var(--app-blue), var(--app-blue-strong));content:"";border-radius:999px;flex:0 0 4px;width:4px;height:16px;box-shadow:0 0 12px #4a9eff59}.settings-drawer__content .output-control{color:var(--app-muted);border:1px solid #0000;border-radius:10px;gap:9px;margin:0;padding:11px 12px;font-size:.78rem;transition:border-color .16s,background .16s;display:grid;position:relative}.settings-drawer__content .output-control+.output-control{margin-top:4px}.settings-drawer__content .output-control:hover{border-color:var(--app-border);background:#4a9eff0b}.settings-drawer__content .output-control>span{color:var(--app-text);justify-content:space-between;align-items:center;gap:12px;font-weight:600;line-height:1.4;display:flex}.settings-drawer__content .output-control>span:after{color:var(--app-blue);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:700}.settings-drawer__content .output-control input[type=range]{cursor:pointer;background:0 0;border-radius:999px;width:100%;height:6px;margin:2px 0 3px}.settings-drawer__content .output-control input[type=range]:focus-visible{outline:2px solid var(--app-blue);outline-offset:4px}.settings-drawer__content .output-control select{border:1px solid var(--app-border);background:var(--app-panel-soft);min-height:40px;color:var(--app-text);cursor:pointer;border-radius:9px;outline:none;padding:0 12px;transition:border-color .16s,background .16s}.settings-drawer__content .output-control select:hover,.settings-drawer__content .output-control select:focus{border-color:var(--app-blue);background:#4a9eff1a}.settings-drawer__content .settings-row{min-height:38px;color:var(--app-muted);border-radius:8px;margin-top:7px;padding:8px 10px}.settings-drawer__content .settings-row strong{color:var(--app-text);text-align:right;font-weight:700}.settings-drawer__content .settings-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--app-blue);cursor:pointer;margin:0}.settings-drawer__content .output-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.settings-drawer__content .output-actions .button{min-height:42px}.settings-drawer__content .button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.5}.settings-drawer__content .settings-section--rumble,.settings-drawer__content .settings-section--haptics,.settings-drawer__content .settings-section--triggers{padding-left:4px;padding-right:4px}.settings-drawer__content .settings-section--microphone .output-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-drawer__content .settings-section--microphone .button{white-space:normal;width:100%}.settings-drawer__content .settings-section--battery .settings-row{border-bottom:1px solid #9abee014;border-radius:0;padding:10px 0}.settings-drawer__content .settings-section--battery .settings-row:last-of-type{border-bottom:0}.settings-drawer__content .settings-section--battery .settings-row strong{max-width:68%;color:var(--app-green);line-height:1.5}.settings-drawer__content .settings-section--battery div[style*=backgroundColor]{line-height:1.55;color:#ffae7e!important;background:#ff70411a!important;border-color:#ff844bb3!important;border-radius:10px!important;margin-top:14px!important;padding:12px!important}:root[data-theme=light] .settings-drawer__content .settings-section--rgb{background:#e7f2fcb8;border-color:#1769c233}:root[data-theme=light] .settings-drawer__content .output-control:hover{background:#1769c20f}:root[data-theme=light] .settings-drawer__content output-control select{background:#ffffffe6}@media (width<=420px){.settings-drawer{padding-left:16px;padding-right:16px}.settings-drawer__content .settings-section{padding-top:20px;padding-bottom:20px}.settings-drawer__content .settings-section--microphone .output-actions{grid-template-columns:1fr}.settings-drawer__content .output-actions .button{flex:100%}.settings-drawer__content .settings-section--battery .settings-row{align-items:flex-start}.settings-drawer__content .settings-section--battery .settings-row strong{text-align:right;max-width:58%}}.settings-drawer__content .settings-section--rgb{border:0;border-top:1px solid var(--app-border);box-shadow:none;background:0 0;border-radius:0;padding:20px 0 24px}.settings-drawer__content .settings-section--rgb .section-eyebrow{margin-bottom:20px}.lightbar-preview{grid-template-columns:1fr auto;align-items:center;gap:4px 14px;margin:0 0 16px;padding:0 4px;display:grid}.lightbar-preview__label{color:var(--app-muted);grid-column:1;font-size:.78rem}.lightbar-preview__value{color:var(--app-text);grid-column:1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.lightbar-preview__lamp{border:2px solid #ffffff8c;border-radius:999px;grid-area:1/2/3;width:34px;height:18px;box-shadow:0 0 8px,0 0 20px}.lightbar-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.lightbar-preset{border:1px solid var(--app-border);min-height:40px;color:var(--app-muted);cursor:pointer;background:0 0;border-radius:9px;padding:7px 4px;font-size:.72rem;font-weight:700;transition:border-color .16s,background .16s,color .16s,transform .16s}.lightbar-preset:hover{color:var(--app-text);transform:translateY(-1px)}.lightbar-preset.is-selected{color:var(--app-text);background:#ffffff0f}.lightbar-preset--red:hover,.lightbar-preset--red.is-selected{color:#ff6972;border-color:#ff4651}.lightbar-preset--green:hover,.lightbar-preset--green.is-selected{color:#42e28b;border-color:#29d77b}.lightbar-preset--blue:hover,.lightbar-preset--blue.is-selected{color:#62a4ff;border-color:#438fff}.lightbar-preset--pink:hover,.lightbar-preset--pink.is-selected{color:#ff70df;border-color:#ff4bd8}.lightbar-preset--white:hover,.lightbar-preset--white.is-selected{color:#fff;border-color:#dbeaff}.settings-drawer__content .settings-section--rgb .lightbar-control{background:0 0;border:0;padding:8px 4px}.settings-drawer__content .settings-section--rgb .lightbar-control:hover{background:0 0;border-color:#0000}.settings-drawer__content .lightbar-control>span{color:var(--app-muted);font-weight:500}.settings-drawer__content .lightbar-control>span strong{color:var(--app-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.settings-drawer__content .lightbar-control--red input[type=range]{accent-color:#ff4651}.settings-drawer__content .lightbar-control--green input[type=range]{accent-color:#29d77b}.settings-drawer__content .lightbar-control--blue input[type=range]{accent-color:#438fff}.custom-color-control{color:var(--app-muted);gap:8px;margin:12px 4px 4px;font-size:.78rem;display:grid}.custom-color-control input[type=color]{border:1px solid var(--app-border);cursor:pointer;background:0 0;border-radius:8px;width:100%;height:38px;padding:3px}.custom-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.custom-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:6px}.settings-drawer__content .lightbar-control--brightness{margin-top:8px}.settings-drawer__content .lightbar-actions{margin-top:16px}.settings-drawer__content .settings-select,.settings-drawer__content .output-control select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf6ff;background-color:#102943}.settings-drawer__content .settings-select option,.settings-drawer__content .output-control select option{color:#edf6ff;background-color:#102943}:root[data-theme=light] .settings-drawer__content .settings-select,:root[data-theme=light] .settings-drawer__content .output-control select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#152538;background-color:#fff}:root[data-theme=light] .settings-drawer__content .settings-select option,:root[data-theme=light] .settings-drawer__content .output-control select option{color:#152538;background-color:#fff}@media (width<=420px){.settings-drawer{padding-left:16px;padding-right:16px}.settings-drawer__content .settings-section{padding-top:20px;padding-bottom:20px}.settings-drawer__content .settings-section--microphone .output-actions{grid-template-columns:1fr}.settings-drawer__content .output-actions .button{flex:100%}.settings-drawer__content .settings-section--battery .settings-row{align-items:flex-start}.settings-drawer__content .settings-section--battery .settings-row strong{text-align:right;max-width:58%}}.settings-drawer__content .settings-section--rumble{padding:22px 0 26px}.rumble-motor-grid{gap:10px;margin-top:4px;display:grid}.rumble-motor-card{border:1px solid var(--app-border);background:#1127416b;border-radius:12px;gap:10px;padding:14px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.rumble-motor-card.is-active{background:#2668ae2e;border-color:#4a9effb3;box-shadow:0 0 0 1px #4a9eff1a,0 0 24px #4a9eff29}.rumble-motor-card__header{align-items:center;min-height:22px;padding:0;display:flex}.rumble-motor-card__name{color:var(--app-text);font-size:.82rem;font-weight:700}.rumble-control{margin-top:30px;padding-top:10px;display:block;position:relative}.rumble-control input[type=range]{z-index:2;cursor:pointer;background:0 0;border-radius:999px;width:100%;height:6px;margin:0;display:block;position:relative}.rumble-control input[type=range]::-webkit-slider-thumb{background:var(--app-blue);cursor:grab;appearance:none;border:0;border-radius:50%;width:15px;height:15px;margin-top:-4px;transition:background .18s,box-shadow .18s,transform .12s;box-shadow:0 0 0 2px #4a9eff2e,0 0 8px #4a9eff80}.rumble-control input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.12)}.rumble-control input[type=range]::-moz-range-thumb{background:var(--app-blue);cursor:grab;border:0;border-radius:50%;width:15px;height:15px;box-shadow:0 0 0 2px #4a9eff2e,0 0 8px #4a9eff80}.rumble-motor-card.is-active .rumble-control input[type=range]::-webkit-slider-thumb{background:var(--app-green);animation:.56s ease-in-out infinite rumble-thumb-pulse}.rumble-motor-card.is-active .rumble-control input[type=range]::-moz-range-thumb{background:var(--app-green);animation:.56s ease-in-out infinite rumble-thumb-pulse}.rumble-motor-card.is-active .rumble-slider-value{color:#9acbff}@keyframes rumble-thumb-pulse{0%,to{transform:scale(.9);box-shadow:0 0 0 2px #54dc9b2e,0 0 8px #54dc9b80,0 0 14px #54dc9b40}50%{transform:scale(1.35);box-shadow:0 0 0 5px #54dc9b1f,0 0 14px #54dc9bf2,0 0 28px #54dc9b8c}}@media (prefers-reduced-motion:reduce){.rumble-motor-card.is-active .rumble-control input[type=range]::-webkit-slider-thumb{animation:none}.rumble-motor-card.is-active .rumble-control input[type=range]::-moz-range-thumb{animation:none}}@media (width<=420px){.rumble-motor-card{padding:12px}.settings-drawer__content .settings-section--haptics{margin-top:4px;padding-top:24px}}.rumble-slider-value{z-index:3;min-width:30px;color:var(--app-blue);text-align:center;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:800;line-height:1;transition:left .1s,color .18s;position:absolute;top:-18px;transform:translate(-50%)}.settings-drawer__content .settings-section--haptics{padding:24px 0 28px}.haptic-intro{background:linear-gradient(135deg,#4a9eff1f,#11274161);border:1px solid #4a9eff33;border-radius:12px;align-items:center;gap:12px;margin:2px 0 18px;padding:12px;display:flex}.haptic-intro__icon{width:32px;height:32px;color:var(--app-blue);background:#4a9eff24;border:1px solid #4a9eff73;border-radius:9px;flex:0 0 32px;place-items:center;font-size:1.2rem;font-weight:800;display:grid;box-shadow:0 0 16px #4a9eff33}.haptic-intro strong,.haptic-intro span{display:block}.haptic-intro strong{color:var(--app-text);font-size:.8rem}.haptic-intro span{color:var(--app-muted);margin-top:3px;font-size:.7rem;line-height:1.4}.haptic-channel-grid{gap:9px;display:grid}.haptic-channel,.haptic-frequency{border:1px solid var(--app-border);color:var(--app-muted);background:#11274161;border-radius:11px;gap:10px;padding:12px;display:grid}.haptic-channel__header,.haptic-frequency__header{justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;display:flex}.haptic-channel__header strong,.haptic-frequency__header strong{color:var(--app-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem}.haptic-channel input[type=range],.haptic-frequency input[type=range]{width:100%;height:6px;accent-color:var(--app-blue);cursor:pointer;margin:0}.haptic-channel--left input[type=range]{accent-color:#4a9eff}.haptic-channel--right input[type=range]{accent-color:#54dc9b}.haptic-channel__meter{background:#9abee024;border-radius:999px;height:3px;display:block;overflow:hidden}.haptic-channel__meter span{border-radius:inherit;background:var(--app-blue);height:100%;transition:width .12s;display:block}.haptic-channel--right .haptic-channel__meter span{background:var(--app-green)}.haptic-frequency{margin-top:10px}.haptic-frequency input[type=range]{accent-color:#b786ff}.haptic-info{color:var(--app-muted);background:#4a9eff0f;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;display:flex}.haptic-info__dot{background:var(--app-blue);width:7px;height:7px;box-shadow:0 0 9px var(--app-blue);border-radius:50%;flex:0 0 7px}.haptic-actions{margin-top:16px!important}.haptic-actions .button{flex:auto}.haptic-actions .button:disabled{cursor:wait}@media (prefers-reduced-motion:reduce){.haptic-channel__meter span{transition:none}}@media (width<=420px){.haptic-actions{flex-direction:column}.haptic-actions .button{width:100%}}.settings-drawer__content .settings-section--triggers{padding:24px 0 28px}.trigger-section-description{color:var(--app-muted);margin:-4px 0 18px;font-size:.74rem;line-height:1.55}.trigger-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.trigger-mode-card{border:1px solid var(--app-border);color:var(--app-muted);background:#11274161;border-radius:11px;gap:9px;padding:12px;display:grid}.trigger-mode-card__header{color:var(--app-text);justify-content:space-between;align-items:center;gap:8px;font-size:.76rem;font-weight:700;display:flex}.trigger-mode-card__badge{min-width:30px;height:22px;color:var(--app-blue);background:#4a9eff1a;border:1px solid #4a9eff59;border-radius:6px;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;display:inline-grid}.trigger-mode-card .settings-select{width:100%;min-height:38px}.trigger-help{color:var(--app-muted);background:#4a9eff0f;border:1px solid #4a9eff29;border-radius:9px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 11px;font-size:.7rem;line-height:1.45;display:flex}.trigger-help__icon{background:var(--app-blue);color:#fff;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;font-size:.68rem;font-weight:800;display:grid}.trigger-parameter-panel,.trigger-slope-panel{border:1px solid var(--app-border);background:#0816274d;border-radius:12px;margin-top:14px;padding:13px}.trigger-slope-panel{background:#b786ff0e;border-color:#b786ff47}.trigger-parameter-panel__header,.trigger-slope-panel__header{grid-template-columns:1fr;align-items:start;gap:5px;margin-bottom:8px;display:grid}.trigger-mode-preview{min-height:34px;color:var(--app-text);background:#4a9eff12;border:1px solid #4a9eff38;border-radius:8px;align-items:center;gap:9px;padding:7px 9px;display:flex}.trigger-mode-preview__icon{border:1px solid;border-radius:6px;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:.85rem;font-weight:800;line-height:1;display:grid}.trigger-mode-preview__text{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;overflow:hidden}.trigger-mode-preview--off{color:var(--app-muted);border-color:var(--app-border);background:#9abee00d}.trigger-mode-preview--feedback{color:var(--app-blue);background:#4a9eff1a;border-color:#4a9eff59}.trigger-mode-preview--weapon{color:#ffad5c;background:#ffad5c17;border-color:#ffad5c59}.trigger-mode-preview--vibration{color:#54dc9b;background:#54dc9b17;border-color:#54dc9b59}.trigger-mode-preview--slope{color:#b786ff;background:#b786ff17;border-color:#b786ff59}.trigger-mode-preview--multiple_res{color:#ff71c8;background:#ff71c817;border-color:#ff71c859}.trigger-mode-card .settings-select{margin-top:1px}@media (width<=420px){.trigger-parameter-panel__header,.trigger-slope-panel__header{gap:6px}.trigger-panel-help{max-width:100%}.trigger-mode-preview{min-height:36px}}.settings-drawer__content .trigger-parameter-panel,.settings-drawer__content .trigger-slope-panel{border-radius:14px;gap:0;padding:16px;display:grid}.settings-drawer__content .trigger-parameter-panel{background:linear-gradient(145deg,#112b48b8,#071728d1);border-color:#4a9eff3d;box-shadow:inset 0 1px #ffffff09,0 10px 24px #0000001f}.settings-drawer__content .trigger-slope-panel{background:linear-gradient(145deg,#27244ed1,#161939e6);border-color:#b786ff6b;box-shadow:inset 0 1px #ffffff0a,0 10px 24px #5030961f}.trigger-parameter-panel__header,.trigger-slope-panel__header{grid-template-columns:minmax(0,1fr);gap:5px;margin:0 0 10px;display:grid}.trigger-panel-title{color:var(--app-text);font-size:.82rem;font-weight:800;line-height:1.35;display:block}.trigger-panel-help{max-width:none;color:var(--app-muted);text-align:left;font-size:.7rem;line-height:1.45;display:block}.settings-drawer__content .trigger-control{width:100%;color:var(--app-muted);gap:9px;margin:12px 0 0;padding:0;font-size:.74rem;display:grid}.settings-drawer__content .trigger-control>span{width:100%;min-width:0;color:var(--app-muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;line-height:1.35;display:grid}.settings-drawer__content .trigger-control>span>span{overflow-wrap:anywhere;min-width:0}.settings-drawer__content .trigger-control>span>strong{color:var(--app-text);white-space:nowrap;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;font-weight:800}.settings-drawer__content .trigger-control input[type=range]{width:100%;height:6px;accent-color:var(--app-blue);cursor:pointer;background:linear-gradient(90deg,#9abee042,#9abee01f);border-radius:999px;margin:0;display:block}.settings-drawer__content .trigger-parameter-panel .trigger-control:nth-of-type(2) input[type=range]{accent-color:#54dc9b}.settings-drawer__content .trigger-parameter-panel .trigger-control:nth-of-type(3) input[type=range]{accent-color:#b786ff}.settings-drawer__content .trigger-slope-panel .trigger-control:first-of-type input[type=range]{accent-color:#4a9eff}.settings-drawer__content .trigger-slope-panel .trigger-control:last-of-type input[type=range]{accent-color:#54dc9b}.trigger-range-preview{background:#9abee01f;border:1px solid #9abee02e;border-radius:999px;height:9px;margin:18px 5px 3px;box-shadow:inset 0 1px 3px #00000052}.trigger-range-preview__active{background:linear-gradient(90deg,#4a9eff,#54dc9b);box-shadow:0 0 10px #4a9eff6b,0 0 18px #54dc9b2e}.trigger-range-preview__start,.trigger-range-preview__end{border:2px solid var(--app-panel-solid);width:11px;height:11px;box-shadow:0 0 7px #ffffff47}.trigger-range-preview__start{background:#d9eaff}.trigger-range-preview__end{background:#54dc9b}.trigger-mode-card{min-width:0}.trigger-mode-card .settings-select,.trigger-mode-preview{box-sizing:border-box;width:100%;min-width:0}.trigger-mode-preview__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.trigger-apply-button{border-radius:9px;min-height:44px;margin-top:18px;padding-inline:18px;box-shadow:0 8px 18px #1c75dc33}@media (width<=420px){.settings-drawer__content .trigger-parameter-panel,.settings-drawer__content .trigger-slope-panel{padding:14px}.settings-drawer__content .trigger-control>span{gap:8px}.trigger-panel-help{font-size:.68rem}}.settings-drawer__content .trigger-range-preview{background:#9abee024;border:1px solid #9abee047;border-radius:999px;width:calc(100% - 10px);height:8px;margin:20px 5px 4px;display:block;position:relative;overflow:visible;box-shadow:inset 0 1px 3px #00000073,0 0 8px #4a9eff14}.settings-drawer__content .trigger-range-preview__active{z-index:1;background:linear-gradient(90deg,#4a9eff 0%,#54dc9b 100%);border-radius:999px;height:8px;display:block;position:absolute;top:-1px;box-shadow:0 0 8px #4a9eff99,0 0 16px #54dc9b40}.settings-drawer__content .trigger-range-preview__start,.settings-drawer__content .trigger-range-preview__end{z-index:2;box-sizing:border-box;border:2px solid var(--app-panel-solid);border-radius:50%;width:11px;height:11px;display:block;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #ffffff59}.settings-drawer__content .trigger-range-preview__start{background:#d9eaff}.settings-drawer__content .trigger-range-preview__end{background:#54dc9b}.settings-drawer__content .settings-section--microphone{padding:24px 0 28px}.microphone-section-description{color:var(--app-muted);margin:-6px 0 16px;font-size:.74rem;line-height:1.5}.microphone-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.microphone-card{border:1px solid var(--app-border);background:#1127416b;border-radius:13px;gap:13px;min-width:0;padding:14px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.microphone-card.is-active{background:linear-gradient(145deg,#1f5d4d57,#1127416b);border-color:#54dc9b57}.microphone-card.is-muted{background:linear-gradient(145deg,#682b3a4d,#1127416b);border-color:#ff707d57}.microphone-card__top{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;display:grid}.microphone-card__icon{width:30px;height:30px;color:var(--app-green);border:1px solid;border-radius:9px;place-items:center;font-size:.85rem;font-weight:900;display:grid;box-shadow:0 0 12px #54dc9b29}.microphone-card.is-muted .microphone-card__icon{color:#ff7180;box-shadow:0 0 12px #ff718029}.microphone-card__heading{gap:3px;min-width:0;display:grid}.microphone-card__heading strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.microphone-card__heading span{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;line-height:1.35;overflow:hidden}.microphone-card__status{width:fit-content;color:var(--app-green);background:#54dc9b17;border:1px solid #54dc9b47;border-radius:999px;grid-column:1/-1;padding:4px 8px;font-size:.64rem;font-weight:800}.microphone-card.is-muted .microphone-card__status{color:#ff8792;background:#ff718017;border-color:#ff718047}.microphone-card__description{min-height:38px;color:var(--app-muted);margin:0;font-size:.68rem;line-height:1.45}.microphone-card__button{white-space:normal;width:100%;min-height:40px;margin-top:auto}@media (width<=420px){.microphone-card-grid{grid-template-columns:1fr}.microphone-card__description{min-height:auto}}.settings-drawer__content .settings-section--speaker{padding:24px 0 28px}.speaker-section-description{color:var(--app-muted);margin:-6px 0 18px;font-size:.74rem;line-height:1.5}.speaker-volume-control{background:linear-gradient(145deg,#112b48c2,#071728d6);border:1px solid #4a9eff3d;border-radius:13px;gap:12px;padding:14px;display:grid}.speaker-volume-control__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.speaker-volume-control__header>span{gap:3px;min-width:0;display:grid}.speaker-volume-control__header strong{color:var(--app-text);font-size:.78rem}.speaker-volume-control__header small{color:var(--app-muted);font-size:.66rem;line-height:1.4}.speaker-volume-control__value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--app-blue)!important;font-size:.82rem!important}.speaker-volume-control input[type=range]{width:100%;height:7px;accent-color:var(--app-blue);cursor:pointer;margin:0}.speaker-options{gap:8px;margin-top:12px;display:grid}.speaker-option{cursor:pointer;background:#1127414d;border:1px solid #0000;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:12px;transition:border-color .16s,background .16s;display:grid;position:relative}.speaker-option:hover{border-color:var(--app-border);background:#4a9eff12}.speaker-option__icon{width:32px;height:32px;color:var(--app-blue);background:#4a9eff1a;border:1px solid #4a9eff57;border-radius:9px;grid-row:1/3;place-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem;font-weight:800;display:grid}.speaker-option__content{gap:3px;min-width:0;display:grid}.speaker-option__content strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.speaker-option__content small{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;line-height:1.4;overflow:hidden}.speaker-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--app-blue);cursor:pointer;margin:0}.speaker-option__status{color:var(--app-muted);grid-column:2;margin-top:3px;font-size:.62rem;font-weight:700}.speaker-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.speaker-actions .button{flex:140px;min-height:42px}.speaker-lock-status{color:#ffbd76;background:#ffad5c12;border:1px solid #ffad5c3d;border-radius:9px;align-items:center;gap:8px;margin-top:12px;padding:9px 11px;font-size:.68rem;font-weight:700;display:flex}.speaker-lock-status.is-unlocked{color:var(--app-green);background:#54dc9b12;border-color:#54dc9b4d}.speaker-lock-status__indicator{background:currentColor;border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 9px}@media (width<=420px){.speaker-option__content small{white-space:normal}.speaker-actions{flex-direction:column}.speaker-actions .button{width:100%}}.settings-drawer__content .settings-section--battery{padding:24px 0 28px}.battery-section-description{color:var(--app-muted);margin:-6px 0 18px;font-size:.74rem;line-height:1.5}.battery-status-card{background:linear-gradient(145deg,#113d3e80,#081a2bdb);border:1px solid #54dc9b42;border-radius:14px;gap:16px;padding:16px;display:grid;box-shadow:0 12px 28px #00000024,inset 0 1px #ffffff09}.battery-status-card.is-warning{background:linear-gradient(145deg,#4e2d2680,#1e1b27e6);border-color:#ff844b94}.battery-status-card__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.battery-status-card__header>div{gap:4px;min-width:0;display:grid}.battery-status-card__header strong:first-child{color:var(--app-text);font-size:.8rem}.battery-status-card__header span{color:var(--app-muted);font-size:.67rem;line-height:1.4}.battery-status-card__percentage{color:var(--app-green);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.15rem}.battery-status-card.is-warning .battery-status-card__percentage{color:#ffbd76}.battery-level-bar{background:#9abee01f;border:1px solid #9abee033;border-radius:999px;height:9px;overflow:hidden;box-shadow:inset 0 1px 3px #00000059}.battery-level-bar span{border-radius:inherit;background:linear-gradient(90deg,#36c982,#54dc9b);height:100%;transition:width .22s;display:block;box-shadow:0 0 12px #54dc9b94}.battery-status-card.is-warning .battery-level-bar span{background:linear-gradient(90deg,#ff9b52,#ffcf72);box-shadow:0 0 12px #ff9d5280}.battery-info-row{border-top:1px solid #9abee01a;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:13px;display:grid}.battery-info-row__icon{width:32px;height:32px;color:var(--app-blue);background:#4a9eff1a;border:1px solid #4a9eff52;border-radius:9px;place-items:center;display:grid}.battery-info-row__content{gap:3px;min-width:0;display:grid}.battery-info-row__content span{color:var(--app-text);font-size:.76rem;font-weight:700}.battery-info-row__content small{color:var(--app-muted);font-size:.65rem;line-height:1.4}.battery-info-row__value{max-width:52%;color:var(--app-text);text-align:right;font-size:.72rem;line-height:1.45}.battery-info-row__value.is-charging{color:var(--app-green)}.battery-info-row__value.is-full{color:var(--app-blue)}.battery-warning{color:#ffbd8d;background:#ff55001a;border:1px solid #ff844b9e;border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.battery-warning__icon{color:#ffbd76;background:#ff844b2e;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.battery-warning strong{color:#ffd0ae;margin-bottom:4px;font-size:.72rem;display:block}.battery-warning p{color:#ffbd8d;margin:0;font-size:.7rem;line-height:1.55}@media (width<=420px){.battery-info-row{grid-template-columns:30px minmax(0,1fr)}.battery-info-row__value{text-align:left;grid-column:2;max-width:none}.battery-warning{grid-template-columns:26px minmax(0,1fr)}}.settings-drawer__content .battery-info-row{grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:4px 10px;padding-top:14px;display:grid}.settings-drawer__content .battery-info-row__icon{grid-area:1/1/3}.settings-drawer__content .battery-info-row__content{grid-area:1/2;min-width:0}.settings-drawer__content .battery-info-row__content span,.settings-drawer__content .battery-info-row__content small{overflow-wrap:anywhere}.settings-drawer__content .battery-info-row__value{width:100%;min-width:0;max-width:none;color:var(--app-blue);text-align:left;overflow-wrap:anywhere;word-break:normal;grid-area:2/2;margin:2px 0 0;font-size:.76rem;line-height:1.45}.settings-drawer__content .battery-info-row__value.is-charging{color:var(--app-green)}.settings-drawer__content .battery-info-row__value.is-full{color:var(--app-blue)}@media (width<=420px){.settings-drawer__content .battery-info-row{grid-template-columns:30px minmax(0,1fr)}.settings-drawer__content .battery-info-row__value{text-align:left;grid-column:2;max-width:none}}.legal-overlay{z-index:1000;overscroll-behavior:contain;-webkit-backdrop-filter:blur(16px);background:#010710d6;place-items:center;padding:clamp(12px,3vw,32px);display:grid;position:fixed;inset:0;overflow-y:auto}.legal-panel{z-index:1001;background:radial-gradient(circle at 100% 0,#4a9eff24,#0000 34%),linear-gradient(145deg,#112b48fc,#071627fc);border:1px solid #62a4ff52;border-radius:20px;width:min(820px,100%);max-height:min(900px,100svh - 24px);padding:clamp(22px,4vw,44px);position:relative;overflow-y:auto;box-shadow:0 28px 80px #0000006b,inset 0 1px #ffffff0f}.legal-panel h1{color:var(--app-text);margin:12px 0;line-height:1.08}.legal-panel__intro{color:var(--app-muted);margin:0 0 24px;line-height:1.6}.legal-notice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.legal-notice{background:#05101e6b;min-width:0}.legal-notice h2{line-height:1.3}.legal-notice p{margin:0}.legal-consent{color:var(--app-text);align-items:flex-start;gap:10px;margin-top:20px;line-height:1.45;display:flex}.legal-consent input{accent-color:var(--app-blue);flex:none;margin-top:3px}.legal-panel__button{width:100%;margin-top:18px}@media (width<=640px){.legal-overlay{align-items:start;padding:12px}.legal-panel{border-radius:16px;max-height:calc(100svh - 24px);padding:22px 16px}.legal-notice-grid{grid-template-columns:1fr}}:root[data-theme=light] .controller-app{background:radial-gradient(circle at 50% 42%,#4a9eff14,#0000 38%),linear-gradient(135deg,#f7fbff,#eaf1f8)}:root[data-theme=light] .scene-layer{background:radial-gradient(#4a9eff14,#0000 52%),linear-gradient(#fff6,#eaf1f8cc)}:root[data-theme=light] .controller-card{background:linear-gradient(160deg,#fff,#f3f7fb);border-color:#22446629;box-shadow:0 8px 24px #25436214}:root[data-theme=light] .controller-card__badge{color:var(--app-blue);background:#fff;box-shadow:0 0 0 4px #4a9eff0f,0 8px 20px #2543621f}:root[data-theme=light] .legal-overlay{background:#dce8f4c7}:root[data-theme=light] .legal-panel{background:radial-gradient(circle at 100% 0,#4a9eff1a,#0000 34%),#fff;border-color:#2269b133;box-shadow:0 28px 80px #25436233}:root[data-theme=light] .legal-notice{background:#f5f9fd;border-color:#22446624}:root[data-theme=light] .legal-notice:hover{background:#edf5fc}@media (width<=760px){.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-card{gap:12px;min-height:160px;padding:14px 8px}.brand-card__logo{height:82px}}@media (width<=480px){.controller-selection,.brand-selection{border-radius:14px;padding:13px}.brand-grid{gap:7px}.brand-card{border-radius:12px;min-height:130px}.brand-card__logo{height:58px}.brand-card>span{font-size:.68rem}}.settings-drawer{z-index:30;opacity:1;background:#0c1c31;border-left:1px solid #9abee02e;flex-direction:column;width:min(390px,100vw);max-width:100%;transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:fixed;inset:0 0 0 auto;overflow:hidden;transform:translate(0);box-shadow:-18px 0 46px #00000057}.settings-drawer__header{background:#0c1c31;flex:none;justify-content:space-between;align-items:flex-start;gap:16px;min-height:128px;padding:34px 24px 24px;display:flex}.settings-drawer__header h2{color:#edf6ff;margin:12px 0 0;font-size:1.35rem;font-weight:700;line-height:1.2}.settings-drawer__header .section-eyebrow{color:#4a9eff;letter-spacing:.14em;margin:0;font-size:.68rem;font-weight:800;display:block}.settings-drawer__header .icon-button{color:#edf6ff;background:#112741b3;border-color:#9abee02e;flex:0 0 36px;width:36px;height:36px;font-size:1.2rem}.settings-drawer__content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;padding:16px 24px 32px;overflow:hidden auto}.settings-drawer__content>.ds5-settings{width:100%;min-width:0}.settings-drawer:not(.is-open){visibility:hidden;pointer-events:none;opacity:0;transform:translate(24px)}@keyframes settings-drawer-open{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (width<=560px){.settings-drawer{width:100vw}.settings-drawer__header{min-height:104px;padding:26px 16px 18px}.settings-drawer__content{padding-left:16px;padding-right:16px}}@media (prefers-reduced-motion:reduce){.settings-drawer{transition:none}}:root[data-theme=dark] .settings-drawer{color:#edf6ff;background:#07111f}:root[data-theme=dark] .settings-drawer__header{background:#0b1a2c;border-bottom-color:#9abee033}:root[data-theme=dark] .settings-drawer__content{background:#07111f}:root[data-theme=light] .settings-drawer{background:#fff;box-shadow:-20px 0 60px #2c4b6933}:root[data-theme=light] .settings-drawer__header{background:linear-gradient(135deg,#fff,#edf6ff);border-bottom-color:#1769c22e}:root[data-theme=light] .settings-drawer__content{background:#fff}.ds5-settings{--ds5-bg:transparent;--ds5-surface:transparent;--ds5-surface-soft:transparent;--ds5-surface-muted:transparent;--ds5-border:transparent;--ds5-border-strong:transparent;--ds5-text:currentColor;--ds5-muted:currentColor;--ds5-blue:currentColor;--ds5-blue-light:currentColor;--ds5-cyan:currentColor;--ds5-green:currentColor;--ds5-orange:currentColor;--ds5-red:currentColor;--ds5-purple:currentColor;--ds5-shadow:none;color:var(--ds5-text);gap:16px;display:grid}.ds5-settings .settings-section{border:1px solid var(--ds5-border);background:var(--ds5-surface);box-shadow:var(--ds5-shadow);border-radius:16px;padding:18px}.ds5-settings .section-eyebrow{color:var(--ds5-blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-size:.72rem;font-weight:800;display:block}.ds5-settings .settings-row{border-bottom:1px solid var(--ds5-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ds5-settings .settings-row:last-of-type{border-bottom:0}.ds5-settings .settings-row>span{color:var(--ds5-muted);font-size:.78rem}.ds5-settings .settings-row>strong{font-size:.78rem}.ds5-settings .settings-section--connection,.ds5-settings .settings-section--rgb{background:var(--ds5-surface)}.ds5-settings .settings-section--connection .settings-row strong{color:var(--ds5-green)}.ds5-settings .settings-section--connection .settings-row strong:not(:empty){font-weight:800}.ds5-settings .settings-section--rgb{background:linear-gradient(145deg,#fff,#f4f9fd)}.ds5-settings .lightbar-preview{border:1px solid var(--ds5-border);background:var(--ds5-surface-soft);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;display:grid}.ds5-settings .lightbar-preview__label{color:var(--ds5-muted);font-size:.75rem}.ds5-settings .lightbar-preview__value{color:var(--ds5-text);font-family:ui-monospace,Consolas,monospace;font-size:.75rem}.ds5-settings .lightbar-preview__lamp{width:28px;height:28px;box-shadow:0 0 0 1px var(--ds5-border-strong), 0 0 16px currentColor;border:3px solid #fff;border-radius:50%}.ds5-settings .lightbar-control,.ds5-settings .custom-color-control{color:var(--ds5-muted)}.ds5-settings .lightbar-control strong{color:var(--ds5-text)}.ds5-settings .settings-section--rumble{border-color:var(--ds5-border);background:var(--ds5-surface);color:var(--ds5-text)}.ds5-settings .settings-section--rumble .rumble-motor-grid{gap:12px;display:grid}.ds5-settings .settings-section--rumble .rumble-motor-card{background:var(--ds5-surface-soft);box-shadow:var(--ds5-shadow)}.ds5-settings .settings-section--rumble .rumble-motor-card__name{color:var(--ds5-text);font-weight:800}.ds5-settings .settings-section--rumble .rumble-motor-card__state{color:var(--ds5-muted)}.ds5-settings .settings-section--rumble .rumble-slider-value{color:var(--ds5-blue);font-weight:800}.ds5-settings .settings-section--rumble .rumble-duration-control{border-top-color:var(--ds5-border);color:var(--ds5-text)}.ds5-settings .settings-section--rumble .rumble-duration-control strong{color:var(--ds5-text)}.ds5-settings .settings-section--rumble input[type=range]{accent-color:var(--ds5-blue)}.ds5-settings .settings-section--rumble .button{border-color:var(--ds5-blue);background:var(--ds5-surface);color:var(--ds5-blue)}.ds5-settings .settings-section--rumble .button:hover{background:var(--ds5-surface-muted)}.ds5-settings .ds5-dpad span,.ds5-settings .ds5-action-buttons span,.ds5-settings .ds5-system-button-grid span{color:#526b82;background:#e8f1f8;border:1px solid #c5d7e8}.ds5-settings .ds5-dpad span.is-active{color:#fff;background:#18add3;border-color:#168fc0;box-shadow:0 0 10px #18add373}.ds5-settings .ds5-action-buttons span.is-active{color:#fff;background:#f0a83c;border-color:#d98a28;box-shadow:0 0 10px #f0a83c6b}.ds5-settings .ds5-action-buttons span.is-center,.ds5-settings .ds5-action-buttons span[aria-hidden=true],.ds5-settings .ds5-dpad span.is-center{box-shadow:none;background:0 0;border-color:#0000}.ds5-settings .ds5-system-button-grid span.is-active{color:#fff;background:#18add3;border-color:#168fc0;box-shadow:0 0 8px #18add366}.ds5-settings .ds5-system-button-grid span.is-danger{color:#fff;background:#e45d70;border-color:#d83f56}.ds5-settings .ds5-system-button-grid span.is-purple{color:#fff;background:#9069d0;border-color:#7651b4}.ds5-settings .ds5-system-button-grid span.is-warning{color:#fff;background:#ed9b3e;border-color:#d87519}.ds5-settings .ds5-stick-list,.ds5-settings .ds5-trigger-grid,.ds5-settings .ds5-button-panels{gap:12px;display:grid}.ds5-settings .ds5-stick-list,.ds5-settings .ds5-trigger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds5-settings .ds5-telemetry-card,.ds5-settings .ds5-button-panel,.ds5-settings .ds5-system-buttons,.ds5-settings .ds5-touchpad-card,.ds5-settings .ds5-imu-card{border:1px solid var(--ds5-border);background:var(--ds5-surface);box-shadow:var(--ds5-shadow);border-radius:12px;padding:12px}.ds5-settings .ds5-telemetry-card{align-items:center;gap:14px;display:flex}.ds5-settings .ds5-stick-visual{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;min-width:115px;display:flex}.ds5-settings .ds5-stick-title,.ds5-settings .ds5-telemetry-title{color:var(--ds5-blue);font-size:.8rem;font-weight:800}.ds5-settings .ds5-stick-pad{border:2px solid var(--ds5-border-strong);background:var(--ds5-surface-soft);border-radius:50%;width:100px;height:100px;position:relative;overflow:hidden}.ds5-settings .ds5-stick-axis{pointer-events:none;background:#1769c233;position:absolute}.ds5-settings .ds5-stick-axis--vertical{width:1px;top:0;bottom:0;left:50%}.ds5-settings .ds5-stick-axis--horizontal{height:1px;top:50%;left:0;right:0}.ds5-settings .ds5-stick-point{background:var(--ds5-cyan);width:14px;height:14px;box-shadow:0 0 8px var(--ds5-cyan);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.ds5-settings .ds5-stick-point.is-pressed{background:var(--ds5-red);box-shadow:0 0 10px var(--ds5-red)}.ds5-settings .ds5-stick-data{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ds5-settings .ds5-telemetry-data{border:1px solid var(--ds5-border);background:var(--ds5-surface-soft);border-radius:8px;flex-direction:column;gap:6px;padding:8px 12px;font-size:.75rem;display:flex}.ds5-settings .ds5-telemetry-row,.ds5-settings .ds5-trigger-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ds5-settings .ds5-telemetry-row+.ds5-telemetry-row{border-top:1px solid var(--ds5-border);padding-top:5px}.ds5-settings .ds5-telemetry-row span,.ds5-settings .ds5-trigger-row span{color:var(--ds5-muted)}.ds5-settings .ds5-telemetry-row strong,.ds5-settings .ds5-trigger-row strong,.ds5-settings .ds5-trigger-value{color:var(--ds5-text);font-family:ui-monospace,Consolas,monospace}.ds5-settings .ds5-trigger-card{gap:9px;display:grid}.ds5-settings .ds5-trigger-meter{background:var(--ds5-surface-muted);border-radius:999px;height:6px;overflow:hidden}.ds5-settings .ds5-trigger-meter span{border-radius:inherit;background:var(--ds5-cyan);height:100%;display:block}.ds5-settings .ds5-trigger-value{text-align:right;font-size:.72rem}.ds5-settings .ds5-trigger-value small{color:var(--ds5-muted)}.ds5-settings .ds5-button-panels{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.ds5-settings .ds5-button-panel{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.ds5-settings .ds5-dpad,.ds5-settings .ds5-action-buttons{grid-template-rows:repeat(3,30px);grid-template-columns:repeat(3,30px);gap:3px;display:grid}.ds5-settings .ds5-dpad span,.ds5-settings .ds5-action-buttons span{background:var(--ds5-surface-muted);color:var(--ds5-muted);border-radius:5px;place-items:center;font-size:.8rem;font-weight:800;display:grid}.ds5-settings .ds5-dpad span.is-active,.ds5-settings .ds5-action-buttons span.is-active{background:var(--ds5-cyan);color:#fff;box-shadow:0 0 8px #00a9d973}.ds5-settings .ds5-dpad span.is-center,.ds5-settings .ds5-action-buttons span.is-center,.ds5-settings .ds5-action-buttons span[aria-hidden=true]{box-shadow:none;background:0 0;border-color:#0000}.ds5-settings .ds5-button-status{color:var(--ds5-muted);font-size:.7rem}.ds5-settings .ds5-system-buttons{gap:10px;margin-top:12px;display:grid}.ds5-settings .ds5-system-button-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.ds5-settings .ds5-system-button-grid span{background:var(--ds5-surface-muted);min-width:0;color:var(--ds5-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;place-items:center;padding:7px 2px;font-size:.62rem;font-weight:800;display:grid;overflow:hidden}.ds5-settings .ds5-system-button-grid span.is-active{background:var(--ds5-cyan);color:#fff;box-shadow:0 0 8px #00a9d973}.ds5-settings .ds5-system-button-grid span.is-danger{background:var(--ds5-red)}.ds5-settings .ds5-system-button-grid span.is-purple{background:var(--ds5-purple)}.ds5-settings .ds5-system-button-grid span.is-warning{background:var(--ds5-orange)}.ds5-settings .ds5-touchpad-card{gap:10px;display:grid}.ds5-settings .ds5-touchpad-monitor{aspect-ratio:1919/1079;border:1px solid var(--ds5-border-strong);background:linear-gradient(#1769c214 1px, transparent 1px), linear-gradient(90deg, #1769c214 1px, transparent 1px), var(--ds5-surface-soft);background-size:24px 24px;border-radius:8px;width:100%;position:relative;overflow:hidden}.ds5-settings .ds5-touch-point{border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.ds5-settings .ds5-touch-point.is-primary{background:#f85;box-shadow:0 0 10px #f85}.ds5-settings .ds5-touch-point.is-secondary{background:var(--ds5-cyan);box-shadow:0 0 10px var(--ds5-cyan)}.ds5-settings .ds5-touchpad-readout{color:var(--ds5-muted);flex-wrap:wrap;gap:12px;font-size:.72rem;display:flex}.ds5-settings .ds5-touchpad-readout .is-primary{color:#d86b3d}.ds5-settings .ds5-touchpad-readout .is-secondary{color:var(--ds5-cyan)}.ds5-settings .ds5-touchpad-readout .is-empty{color:var(--ds5-muted)}.ds5-settings .ds5-imu-section{padding:0;overflow:hidden}.ds5-settings .ds5-imu-toggle{background:var(--ds5-surface);width:100%;color:var(--ds5-blue);cursor:pointer;text-align:left;border:0;justify-content:space-between;align-items:center;padding:14px 16px;font-size:.85rem;font-weight:800;display:flex}.ds5-settings .ds5-imu-chevron{transition:transform .18s}.ds5-settings .ds5-imu-chevron.is-open{transform:rotate(180deg)}.ds5-settings .ds5-imu-content{border-top:1px solid var(--ds5-border);background:var(--ds5-surface-soft);padding:16px}.ds5-settings .ds5-imu-card{gap:12px;display:grid}.ds5-settings .ds5-imu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ds5-settings .ds5-imu-group{gap:6px;display:grid}.ds5-settings .ds5-imu-group>strong{color:var(--ds5-muted);font-size:.78rem}.ds5-settings .ds5-imu-group b{color:var(--ds5-text);font-family:ui-monospace,Consolas,monospace}@media (width<=900px){.ds5-settings .ds5-stick-list,.ds5-settings .ds5-trigger-grid,.ds5-settings .ds5-button-panels,.ds5-settings .ds5-imu-grid{grid-template-columns:1fr}}.ds5-settings .ds5-action-buttons{grid-template-rows:repeat(3,34px);grid-template-columns:repeat(3,34px);justify-content:center;align-items:center;gap:5px;margin:4px auto;display:grid}.ds5-settings .ds5-action-buttons span{background:var(--ds5-surface-muted);width:34px;height:34px;color:var(--ds5-muted);border:1px solid #0000;border-radius:7px;place-items:center;font-size:.82rem;font-weight:800;display:grid}.ds5-settings .ds5-action-buttons span.is-active{border-color:var(--ds5-blue-light);background:var(--ds5-cyan);color:#fff;box-shadow:0 0 10px #00a9d973}.ds5-settings .ds5-action-buttons span.is-center{box-shadow:none;background:0 0;border-color:#0000}.ds5-settings .ds5-stick-list{gap:12px;width:100%;min-width:0;grid-template-columns:1fr!important;grid-auto-rows:max-content!important;align-items:start!important;display:grid!important}.ds5-settings .ds5-stick-card{gap:12px;width:100%;min-width:0;overflow:hidden;grid-template-rows:auto!important;grid-template-columns:112px minmax(0,1fr)!important;align-self:start!important;align-items:center!important;height:auto!important;min-height:0!important;display:grid!important}.ds5-settings .ds5-stick-visual{justify-content:center;align-items:center;flex:none!important;width:112px!important;min-width:112px!important;height:auto!important;min-height:0!important;display:flex!important}.ds5-settings .ds5-stick-pad{width:84px;height:84px}.ds5-settings .ds5-stick-data{gap:6px;flex:none!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;display:grid!important}.ds5-settings .ds5-telemetry-data{padding:7px 8px;display:flex;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important}.ds5-settings .ds5-telemetry-row{justify-content:space-between;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.ds5-settings .ds5-telemetry-row span,.ds5-settings .ds5-telemetry-row strong{overflow-wrap:anywhere;word-break:break-word;min-width:0}:root[data-theme=light] .ds5-settings{--ds5-bg:#f4f8fc;--ds5-surface:#fff;--ds5-surface-soft:#eef5fb;--ds5-surface-muted:#e5eef7;--ds5-border:#c9d9e8;--ds5-border-strong:#9dbbd5;--ds5-text:#14283b;--ds5-muted:#60758a;--ds5-blue:#1769c2;--ds5-blue-light:#4a9eff;--ds5-cyan:#00a9d9;--ds5-green:#159b68;--ds5-orange:#d87519;--ds5-red:#d83f56;--ds5-purple:#8254c7;--ds5-shadow:0 8px 22px #2853781a;color:var(--ds5-text)}:root[data-theme=light] .ds5-settings .settings-section--connection{background:linear-gradient(145deg,#fff,#f0f7fd)}:root[data-theme=light] .ds5-settings .settings-section--rgb{background:linear-gradient(145deg,#fff,#f4f9fd)}:root[data-theme=light] .ds5-settings .settings-section--rumble,:root[data-theme=light] .ds5-settings .rumble-motor-card,:root[data-theme=light] .ds5-settings .haptic-intro,:root[data-theme=light] .ds5-settings .haptic-channel,:root[data-theme=light] .ds5-settings .haptic-frequency,:root[data-theme=light] .ds5-settings .haptic-info,:root[data-theme=light] .ds5-settings .trigger-mode-card,:root[data-theme=light] .ds5-settings .trigger-parameter-panel,:root[data-theme=light] .ds5-settings .trigger-slope-panel,:root[data-theme=light] .ds5-settings .microphone-card,:root[data-theme=light] .ds5-settings .speaker-option,:root[data-theme=light] .ds5-settings .speaker-volume-control,:root[data-theme=light] .ds5-settings .speaker-lock-status,:root[data-theme=light] .ds5-settings .battery-status-card,:root[data-theme=light] .ds5-settings .ds5-telemetry-card,:root[data-theme=light] .ds5-settings .ds5-button-panel,:root[data-theme=light] .ds5-settings .ds5-system-buttons,:root[data-theme=light] .ds5-settings .ds5-touchpad-card,:root[data-theme=light] .ds5-settings .ds5-imu-card,:root[data-theme=light] .ds5-settings .ds5-factory-section,:root[data-theme=light] .ds5-settings .ds5-factory-card{border-color:var(--ds5-border);background:var(--ds5-surface);color:var(--ds5-text);box-shadow:var(--ds5-shadow)}:root[data-theme=light] .ds5-settings .haptic-intro{background:linear-gradient(135deg,#fff,#edf6ff)}:root[data-theme=light] .ds5-settings .trigger-mode-preview,:root[data-theme=light] .ds5-settings .trigger-help,:root[data-theme=light] .ds5-settings .ds5-telemetry-data,:root[data-theme=light] .ds5-settings .ds5-imu-content{border-color:var(--ds5-border);color:var(--ds5-muted);background:#f4f9fd}:root[data-theme=light] .ds5-settings .settings-section--microphone.is-active,:root[data-theme=light] .ds5-settings .microphone-card.is-active{background:#f1faf6}:root[data-theme=light] .ds5-settings .microphone-card.is-muted{background:#fff7f7;border-color:#e4b8bd}:root[data-theme=light] .ds5-settings .battery-status-card{background:linear-gradient(145deg,#fff,#f1faf6)}:root[data-theme=light] .ds5-settings .battery-info-row{background:#f7fcf9;border-color:#c9e3d4}:root[data-theme=light] .ds5-settings .button{border-color:var(--ds5-blue);color:var(--ds5-blue);background:#fff}:root[data-theme=light] .ds5-settings .button:hover{background:#edf6ff}:root[data-theme=light] .ds5-settings .button--primary,:root[data-theme=light] .ds5-settings .shell-color-test-button{border-color:var(--ds5-blue);background:var(--ds5-blue);color:#fff}:root[data-theme=light] .ds5-settings .button--primary:hover,:root[data-theme=light] .ds5-settings .shell-color-test-button:hover{background:#0e55a0}:root[data-theme=light] .ds5-settings input,:root[data-theme=light] .ds5-settings select,:root[data-theme=light] .ds5-settings textarea{border-color:var(--ds5-border);color:var(--ds5-text);background:#fff}:root[data-theme=light] .ds5-settings option{color:var(--ds5-text);background:#fff}:root[data-theme=light] .ds5-settings .ds5-factory-card{border-color:#111827}:root[data-theme=light] .ds5-settings .ds5-factory-card__title,:root[data-theme=light] .ds5-settings .ds5-factory-card .settings-row>strong{color:#111827}:root[data-theme=light] .ds5-settings .ds5-factory-card .settings-row>span{color:#4b5563}:root[data-theme=dark] .ds5-settings{--ds5-bg:#07111f;--ds5-surface:#10243b;--ds5-surface-soft:#162e49;--ds5-surface-muted:#1d3a59;--ds5-border:#9abee033;--ds5-border-strong:#62a4ff80;--ds5-text:#edf6ff;--ds5-muted:#9bb2c8;--ds5-blue:#62b0ff;--ds5-blue-light:#78bdff;--ds5-cyan:#39c5e8;--ds5-green:#54dc9b;--ds5-orange:#ffbd76;--ds5-red:#ff7d86;--ds5-purple:#b394ff;--ds5-shadow:0 8px 22px #0000003d;color:var(--ds5-text)}:root[data-theme=dark] .ds5-settings .settings-section,:root[data-theme=dark] .ds5-settings .settings-section--rumble,:root[data-theme=dark] .ds5-settings .settings-section--haptics,:root[data-theme=dark] .ds5-settings .settings-section--triggers,:root[data-theme=dark] .ds5-settings .settings-section--microphone,:root[data-theme=dark] .ds5-settings .settings-section--speaker,:root[data-theme=dark] .ds5-settings .settings-section--battery,:root[data-theme=dark] .ds5-settings .ds5-section--telemetry{border-color:var(--ds5-border);background:var(--ds5-surface);color:var(--ds5-text);box-shadow:var(--ds5-shadow)}:root[data-theme=dark] .ds5-settings .rumble-motor-card,:root[data-theme=dark] .ds5-settings .haptic-intro,:root[data-theme=dark] .ds5-settings .haptic-channel,:root[data-theme=dark] .ds5-settings .haptic-frequency,:root[data-theme=dark] .ds5-settings .haptic-info,:root[data-theme=dark] .ds5-settings .trigger-mode-card,:root[data-theme=dark] .ds5-settings .trigger-parameter-panel,:root[data-theme=dark] .ds5-settings .trigger-slope-panel,:root[data-theme=dark] .ds5-settings .speaker-option,:root[data-theme=dark] .ds5-settings .speaker-volume-control,:root[data-theme=dark] .ds5-settings .speaker-lock-status,:root[data-theme=dark] .ds5-settings .ds5-telemetry-card,:root[data-theme=dark] .ds5-settings .ds5-button-panel,:root[data-theme=dark] .ds5-settings .ds5-system-buttons,:root[data-theme=dark] .ds5-settings .ds5-touchpad-card,:root[data-theme=dark] .ds5-settings .ds5-imu-card,:root[data-theme=dark] .ds5-settings .ds5-factory-card{border-color:var(--ds5-border);background:var(--ds5-surface-soft);color:var(--ds5-text)}:root[data-theme=dark] .ds5-settings .haptic-intro{background:linear-gradient(135deg,#162e49,#10243b)}:root[data-theme=dark] .ds5-settings .trigger-mode-preview,:root[data-theme=dark] .ds5-settings .trigger-help,:root[data-theme=dark] .ds5-settings .ds5-telemetry-data,:root[data-theme=dark] .ds5-settings .ds5-imu-content{border-color:var(--ds5-border);color:var(--ds5-muted);background:#05101e57}:root[data-theme=dark] .ds5-settings .microphone-card{background:#113d3e80;border-color:#54dc9b4d}:root[data-theme=dark] .ds5-settings .microphone-card.is-muted{background:#4e26307a;border-color:#ff7d865c}:root[data-theme=dark] .ds5-settings .battery-status-card{background:linear-gradient(145deg,#113d3e,#081a2b);border-color:#54dc9b4d}:root[data-theme=dark] .ds5-settings .battery-info-row{border-color:var(--ds5-border);background:#11274180}:root[data-theme=dark] .ds5-settings .button{border-color:var(--ds5-border-strong);background:var(--ds5-surface-soft);color:var(--ds5-blue)}:root[data-theme=dark] .ds5-settings .button:hover{background:#4a9eff24}:root[data-theme=dark] .ds5-settings .button--primary,:root[data-theme=dark] .ds5-settings .shell-color-test-button{color:#fff;background:#2275d7;border-color:#2275d7}:root[data-theme=dark] .ds5-settings .button--primary:hover,:root[data-theme=dark] .ds5-settings .shell-color-test-button:hover{background:#3289eb}:root[data-theme=dark] .ds5-settings input,:root[data-theme=dark] .ds5-settings select,:root[data-theme=dark] .ds5-settings textarea{border-color:var(--ds5-border);background:var(--ds5-surface-soft);color:var(--ds5-text)}:root[data-theme=dark] .ds5-settings input::placeholder,:root[data-theme=dark] .ds5-settings textarea::placeholder{color:var(--ds5-muted)}:root[data-theme=dark] .ds5-settings option{background:var(--ds5-surface);color:var(--ds5-text)}:root[data-theme=dark] .ds5-settings .ds5-factory-section,:root[data-theme=dark] .ds5-settings .ds5-factory-card{border-color:var(--ds5-border-strong);background:var(--ds5-surface-soft);color:var(--ds5-text)}:root[data-theme=dark] .ds5-settings .ds5-factory-card__title{border-bottom-color:var(--ds5-border);color:var(--ds5-blue)}:root[data-theme=dark] .ds5-settings .ds5-factory-card .settings-row{border-bottom-color:var(--ds5-border)}:root[data-theme=dark] .ds5-settings .ds5-factory-card .settings-row>span{color:var(--ds5-muted)}:root[data-theme=dark] .ds5-settings .ds5-factory-card .settings-row>strong{color:var(--ds5-text)}.ds4-settings{--ds4-surface:#111522;--ds4-surface-soft:#192131;--ds4-surface-active:#202c40;--ds4-border:#2d3b52;--ds4-border-strong:#405775;--ds4-text:#f5f7fb;--ds4-muted:#94a3b8;--ds4-blue:#38bdf8;--ds4-blue-strong:#0284c7;--ds4-pink:#f472b6;--ds4-purple:#a78bfa;--ds4-green:#0f5;--ds4-red:#ff4d6d;--ds4-shadow:0 10px 26px #00000047;color:var(--ds4-text);flex-direction:column;gap:24px;display:flex}.ds4-settings .settings-section{border:1px solid var(--ds4-border);background:linear-gradient(145deg, var(--ds4-surface-active), var(--ds4-surface));box-shadow:var(--ds4-shadow);border-radius:14px;padding:18px}.ds4-settings .section-eyebrow{text-transform:uppercase;margin-bottom:12px;font-size:.72rem;display:block;color:var(--ds4-blue)!important;letter-spacing:.1em!important;font-weight:800!important}.ds4-settings .settings-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.ds4-settings .settings-row>span{color:var(--ds4-muted)!important;font-size:.82rem!important}.ds4-settings .button{border:1px solid var(--ds4-border-strong);background:var(--ds4-surface-soft);color:var(--ds4-text)}.ds4-settings .button:hover{border-color:var(--ds4-blue);background:var(--ds4-surface-active)}.ds4-settings .button--primary{border-color:var(--ds4-blue-strong);background:linear-gradient(135deg, var(--ds4-blue-strong), #0369a1);color:#fff}.ds4-settings select,.ds4-settings .settings-select{border:1px solid var(--ds4-border-strong);background:var(--ds4-surface-soft);color:var(--ds4-text)}.ds4-settings input[type=range],.ds4-settings input[type=checkbox]{accent-color:var(--ds4-blue)}.ds4-settings .lightbar-preview,.ds4-settings .lightbar-control,.ds4-settings .custom-color-control{border-color:var(--ds4-border);background:var(--ds4-surface-soft);color:var(--ds4-text)}.ds4-settings .lightbar-preview__value{color:var(--ds4-blue);font-family:ui-monospace,Consolas,monospace}:is(.ds4-settings .settings-section:has(.joystick-panel),.ds4-settings .settings-section:has(.touchpad-telemetry),.ds4-settings .settings-section:has(.controller-telemetry),.ds4-settings .settings-section:has(.advanced-telemetry)){border-color:var(--ds4-border);background:linear-gradient(145deg,#1b2638,#101622)}.ds4-settings .joystick-panel,.ds4-settings .touchpad-telemetry,.ds4-settings .controller-telemetry,.ds4-settings .advanced-telemetry{color:var(--ds4-text)}.ds4-settings .joystick-panel strong,.ds4-settings .touchpad-telemetry strong,.ds4-settings .controller-telemetry strong,.ds4-settings .advanced-telemetry strong{color:var(--ds4-blue)}.ds4-settings{--ds4-font-color:#f5f7fb;--ds4-font-on-accent:#fff;color:var(--ds4-font-color)}:root:not([data-theme=dark]) .ds4-settings{--ds4-surface:#fff;--ds4-surface-soft:#f2f7fc;--ds4-surface-active:#e5eef7;--ds4-border:#c9d9e8;--ds4-border-strong:#9dbbd5;--ds4-text:#14283b;--ds4-muted:#60758a;--ds4-blue:#1769c2;--ds4-blue-strong:#0e55a0;--ds4-green:#159b68;--ds4-red:#d83f56;--ds4-font-color:#14283b;--ds4-font-on-accent:#fff;--ds4-shadow:0 10px 26px #2853781f}:root[data-theme=dark] .ds4-settings{--ds4-font-color:#f5f7fb;--ds4-font-on-accent:#fff}.ds4-settings:not(#ds4-typography-scope),.ds4-settings:not(#ds4-typography-scope) :not([style*=color]){color:var(--ds4-font-color)!important}.ds4-settings:not(#ds4-typography-scope) :not([style*=color]) *{color:inherit!important}.ds4-settings:not(#ds4-typography-scope) :not([style*=color]):is(input,select,textarea,option,button,a){color:var(--ds4-font-color)!important}.ds4-settings:not(#ds4-typography-scope) :not([style*=color])::placeholder{opacity:.82;color:var(--ds4-font-color)!important}.ds4-settings:not(#ds4-typography-scope) option{background:var(--ds4-surface)!important;color:var(--ds4-font-color)!important}.ds4-settings:not(#ds4-typography-scope) :is(.button--primary,.is-selected,.is-active){color:var(--ds4-font-on-accent)!important}.ds4-settings:not(#ds4-typography-scope) :is(.button--primary,.is-selected,.is-active) *{color:inherit!important}.ds4-settings:not(#ds4-typography-scope) svg:not([style*=color]){color:inherit}.ds4-settings:not(#ds4-typography-scope) :is(button:disabled,input:disabled,select:disabled,textarea:disabled){opacity:.72;color:var(--ds4-font-color)!important}:root:not([data-theme=dark]) .ds4-settings :is(.joystick-panel,.touchpad-telemetry,.controller-telemetry,.advanced-telemetry){color:#14283b!important;background:#eaf1f8!important;border-color:#c9d9e8!important;box-shadow:0 8px 20px #2853781f!important}:root:not([data-theme=dark]) .ds4-settings :is(.joystick-panel,.touchpad-telemetry,.controller-telemetry,.advanced-telemetry)>div>div{background:#f4f8fc!important;border-color:#c9d9e8!important}:root:not([data-theme=dark]) .ds4-settings :is(.joystick-panel,.touchpad-telemetry,.controller-telemetry,.advanced-telemetry) *{color:#14283b!important}:root[data-theme=dark] .ds4-settings :is(.joystick-panel,.touchpad-telemetry,.controller-telemetry,.advanced-telemetry) *{color:#f5f7fb!important}:root:not([data-theme=dark]) .ds4-settings :is(.joystick-panel,.touchpad-telemetry,.controller-telemetry,.advanced-telemetry) :is(.section-eyebrow,[role=tab][aria-selected=true],button[aria-selected=true]){color:#1769c2!important}:root[data-theme=dark] .ds4-settings :is(.joystick-panel,.touchpad-telemetry,.controller-telemetry,.advanced-telemetry) :is(.section-eyebrow,[role=tab][aria-selected=true],button[aria-selected=true]){color:#38bdf8!important}:root:not([data-theme=dark]) .ds4-settings .advanced-telemetry strong,:root:not([data-theme=dark]) .ds4-settings :is(.joystick-panel,.controller-telemetry,.advanced-telemetry) :is(.value,.telemetry-value,.axis-value),:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section:not(#ds4-telemetry-scope) *{color:#14283b!important}:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section{color:#14283b!important;background:#eaf1f8!important;border-color:#c9d9e8!important;box-shadow:0 8px 20px #2853781f!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-section>div>button{color:#14283b!important;background:#d9e4ee!important;border-color:#c0cfdd!important}:root[data-theme=dark] .ds4-settings .ds4-advanced-section>div>button,:root:not([data-theme=dark]) .ds4-settings .ds4-controller-section div[style*="position: relative"]{color:#f5f7fb!important}:root:not([data-theme=dark]) .ds4-settings .ds4-joystick-section div:not([style*="position: relative"]):not([style*="position: absolute"]){color:#14283b!important}:root[data-theme=dark] .ds4-settings .ds4-advanced-section strong{color:#f5f7fb!important}:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section :is([role=tab][aria-selected=true],button[aria-selected=true]){color:#04212e!important;background:#38bdf8!important}:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section{color:#14283b!important;background:#eaf1f8!important;border-color:#c9d9e8!important}ds4-settings .ds4-telemetry-section{display:contents}:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section div[style*=background]{background:#f4f8fc!important;border-color:#c9d9e8!important}:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section *{color:#14283b!important}:root:not([data-theme=dark]) .ds4-settings .ds4-telemetry-section>.section-eyebrow{color:#1769c2!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-section>div>button{color:#14283b!important;background:#d9e4ee!important}:root:not([data-theme=dark]) .ds4-settings .ds4-controller-section div[style*="position: relative"]{color:#f5f7fb!important}:root:not([data-theme=dark]) .ds4-settings .ds4-controller-section div[style*="position: relative"] *{color:inherit!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-section strong{color:#14283b!important}:root[data-theme=dark] .ds4-settings .ds4-telemetry-section *{color:#f5f7fb!important}:root[data-theme=dark] .ds4-settings .ds4-telemetry-section>.section-eyebrow{color:#38bdf8!important}:root[data-theme=dark] .ds4-settings .ds4-advanced-section>div>button{color:#f5f7fb!important}.ds4-settings .ds4-telemetry-section :is(.is-active,.is-selected,.button--primary){color:#fff!important}:root:not([data-theme=dark]) .ds4-settings .ds4-joystick-card{color:#14283b!important;background:#eaf1f8!important;border-color:#c9d9e8!important;box-shadow:0 8px 20px #2853781f!important}:root:not([data-theme=dark]) .ds4-settings .ds4-joystick-card *{color:#14283b!important}:root:not([data-theme=dark]) .ds4-settings .ds4-touchpad-panel{color:#14283b!important;background:#eaf1f8!important;border-color:#c9d9e8!important;box-shadow:0 8px 20px #2853781f!important}:root:not([data-theme=dark]) .ds4-settings .ds4-touchpad-panel *{color:#14283b!important}:root:not([data-theme=dark]) .ds4-settings .ds4-touchpad-panel div[style*="position: relative"]{background:#303946!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel{color:#14283b!important;background:#eaf1f8!important;border-color:#c9d9e8!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel div[style*=background]{color:#14283b!important;background:#f4f8fc!important;border-color:#c9d9e8!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel *{color:#14283b!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel>button{color:#14283b!important;background:#f4f8fc!important;border:0!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel>button:hover{background:#eaf1f8!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel>button span{color:#14283b!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel>button span:first-child{color:#1769c2!important}:root[data-theme=dark] .ds4-settings .ds4-joystick-card *,:root[data-theme=dark] .ds4-settings .ds4-touchpad-panel *,:root[data-theme=dark] .ds4-settings .ds4-advanced-panel *,:root[data-theme=dark] .ds4-settings .ds4-controller-panel{color:#f5f7fb!important}:root[data-theme=dark] .ds4-settings .ds4-controller-panel *{color:inherit}.ds4-settings .ds4-controller-panel [style*=linear-gradient]{color:#f5f7fb!important}.ds4-controller-panel{position:relative}.ds4-telemetry-button{will-change:transform, filter, box-shadow}.ds4-telemetry-button.is-action-triangle.is-active{animation:.85s ease-in-out infinite ds4-action-triangle}.ds4-telemetry-button.is-action-square.is-active{animation:.85s ease-in-out infinite ds4-action-square}.ds4-telemetry-button.is-action-circle.is-active{animation:.85s ease-in-out infinite ds4-action-circle}.ds4-telemetry-button.is-action-cross.is-active{animation:.85s ease-in-out infinite ds4-action-cross}@keyframes ds4-action-triangle{0%,to{filter:drop-shadow(0 0 #2ed6c900)}50%{filter:drop-shadow(0 0 9px #2ed6c9e6)brightness(1.18)}}@keyframes ds4-action-square{0%,to{filter:drop-shadow(0 0 #ff5fa800)}50%{filter:drop-shadow(0 0 9px #ff5fa8e6)brightness(1.18)}}@keyframes ds4-action-circle{0%,to{filter:drop-shadow(0 0 #ff4d5e00)}50%{filter:drop-shadow(0 0 9px #ff4d5ee6)brightness(1.18)}}@keyframes ds4-action-cross{0%,to{filter:drop-shadow(0 0 #4d8dff00)}50%{filter:drop-shadow(0 0 9px #4d8dffe6)brightness(1.18)}}@media (prefers-reduced-motion:reduce){.ds4-telemetry-button{animation:none}}.ds4-joystick-list{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;display:flex}.ds4-joystick-card{transition:transform .2s,box-shadow .2s,border-color .2s}.ds4-joystick-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #28537833,0 0 0 1px #1769c233}.ds4-settings .ds4-joystick-list{flex-direction:column;gap:12px;width:100%;display:flex}.ds4-settings .ds4-joystick-card{border:1px solid var(--ds4-border);color:var(--ds4-text);box-shadow:var(--ds4-shadow);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:8px 14px;padding:10px;display:grid;background:var(--ds4-surface)!important}.ds4-settings .ds4-stick-visual{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:104px;min-width:104px;display:flex}.ds4-settings .ds4-stick-title{text-align:center;text-transform:uppercase;font-size:.8rem;font-weight:800;color:var(--ds4-text)!important}.ds4-settings .ds4-stick-pad{border-radius:50%;width:96px;height:96px;display:block;overflow:hidden}.ds4-settings .ds4-stick-pad__surface{fill:#050505}.ds4-settings .ds4-stick-pad__glow{pointer-events:none}.ds4-settings .ds4-stick-pad__inner-ring{fill:none;stroke:#ffffff1a;stroke-width:1px;stroke-dasharray:3 3}.ds4-settings .ds4-stick-pad__axis{stroke:#ffffff29;stroke-width:1px}.ds4-settings .ds4-stick-pad__vector{stroke:#38bdf8;stroke-width:1.5px;opacity:.7}.ds4-settings .ds4-stick-pad__point{fill:#38bdf8;filter:drop-shadow(0 0 7px #38bdf8);transition:none}.ds4-settings .ds4-stick-data{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex;background:0 0!important}.ds4-settings .ds4-telemetry-data{box-sizing:border-box;border:1px solid var(--ds4-border);width:100%;min-width:0;color:var(--ds4-text);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;font-size:.75rem;display:flex;background:var(--ds4-surface-soft)!important}.ds4-settings .ds4-telemetry-row{grid-template-columns:minmax(0,1fr) 4.35rem;align-items:center;gap:5px;width:100%;min-width:0;display:grid}.ds4-settings .ds4-telemetry-row+.ds4-telemetry-row{border-top:1px solid var(--ds4-border);padding-top:5px}.ds4-settings .ds4-telemetry-row span{white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:.66rem;line-height:1.25;overflow:visible;color:var(--ds4-muted)!important}.ds4-settings .ds4-telemetry-row strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:4.35rem;min-width:0;font-family:ui-monospace,Consolas,monospace;font-size:.68rem;line-height:1.25;overflow:visible;color:var(--ds4-text)!important}@media (width<=360px){.ds4-settings .ds4-telemetry-data{gap:5px;padding:7px 8px}.ds4-settings .ds4-telemetry-row{grid-template-columns:minmax(0,1fr) 4.15rem;gap:4px}.ds4-settings .ds4-telemetry-row span{font-size:.6rem}.ds4-settings .ds4-telemetry-row strong{width:4.15rem;font-size:.64rem}.ds4-settings .ds4-joystick-card{grid-template-columns:96px minmax(0,1fr);column-gap:8px;padding:9px}.ds4-settings .ds4-stick-error{padding:7px 10px;font-size:.66rem}}.ds4-settings .ds4-stick-data,.ds4-settings .ds4-stick-title{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.ds4-settings .ds4-stick-error{background:#ef1b24;border:1px solid #dc2626;border-radius:999px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:7px 12px;font-size:.72rem;font-weight:800;line-height:1.2;display:flex;box-shadow:0 4px 10px #dc262633;color:#fff!important}.ds4-settings .ds4-stick-error span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden;color:#fff!important}.ds4-settings .ds4-stick-error strong{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-family:ui-monospace,Consolas,monospace;color:#fff!important}.ds4-settings .ds4-controller-section__heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-bottom:12px;display:flex}.ds4-settings .ds4-controller-section__heading .section-eyebrow{min-width:0;margin-bottom:0}.ds4-settings .ds4-controller-section__status{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex;color:var(--ds4-muted)!important}.ds4-settings .ds4-controller-section__status-dot{background:#00c3ff;border-radius:50%;flex:0 0 6px;width:6px;height:6px;animation:1.8s ease-in-out infinite ds4-controller-status-pulse;box-shadow:0 0 8px #00c3ff}@keyframes ds4-controller-status-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@media (width<=360px){.ds4-settings .ds4-controller-section__heading{align-items:flex-start}.ds4-settings .ds4-controller-section__status{font-size:.5rem}}@media (prefers-reduced-motion:reduce){.ds4-settings .ds4-controller-section__status-dot{animation:none}}:root:not([data-theme=dark]) .ds4-settings .ds4-controller-panel{background:var(--ds4-surface)!important;border-color:var(--ds4-border)!important;color:var(--ds4-text)!important;box-shadow:var(--ds4-shadow)!important}:root:not([data-theme=dark]) .ds4-settings .ds4-controller-panel>div{color:var(--ds4-text)!important}:root:not([data-theme=dark]) .ds4-settings .ds4-controller-panel>div>div{background:var(--ds4-surface-soft)!important;border-color:var(--ds4-border)!important;color:var(--ds4-text)!important}:root:not([data-theme=dark]) .ds4-settings .ds4-advanced-panel .ds4-advanced-card{color:#14283b!important;background:#f4f8fc!important;border-color:#c9d9e8!important}.xbox-settings{color:#e5e7eb;width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.xbox-settings__header{margin:0 0 1rem;padding:0}.xbox-settings__header+.xbox-settings__section{margin-top:0}.xbox-settings__eyebrow{color:#93c5fd}.xbox-settings h3{color:#bfdbfe}:root:not([data-theme=dark]) .xbox-settings__eyebrow{color:#2563eb}.xbox-settings *,.xbox-settings :before,.xbox-settings :after{box-sizing:border-box}.xbox-settings__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.xbox-settings__eyebrow{color:#4ade80;letter-spacing:.14em;margin-bottom:.35rem;font-size:.72rem;font-weight:800;display:block}.xbox-settings h2,.xbox-settings h3,.xbox-settings p{margin:0}.xbox-settings h2{color:#f8fafc;font-size:clamp(1.15rem,2vw,1.45rem)}.xbox-settings h3{color:#bbf7d0;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.82rem;font-weight:800}.xbox-status-dot{background:#64748b;border-radius:50%;flex:none;width:.8rem;height:.8rem;box-shadow:0 0 0 4px #64748b1f}.xbox-status-dot--connected{background:#4ade80;box-shadow:0 0 0 4px #4ade8029,0 0 18px #4ade80b3}.xbox-settings__section{background:#0f172aad;border:1px solid #94a3b829;border-radius:14px;margin-top:1rem;padding:1rem}.xbox-info-grid{color:#94a3b8;grid-template-columns:minmax(0,1fr) auto;gap:.65rem 1rem;margin-bottom:1rem;font-size:.9rem;display:grid}.xbox-info-grid strong{color:#f8fafc;text-align:right;font-weight:700}.xbox-control{color:#cbd5e1;gap:.5rem;margin-bottom:.9rem;font-size:.88rem;display:grid}.xbox-control span{justify-content:space-between;gap:.75rem;display:flex}.xbox-control input[type=range]{accent-color:#22c55e;cursor:pointer;width:100%}.xbox-control select{color:#e2e8f0;background:#111827;border:1px solid #94a3b84d;border-radius:8px;outline:none;width:100%;min-height:2.45rem;padding:.55rem .7rem}.xbox-control select:focus{border-color:#4ade80;box-shadow:0 0 0 3px #4ade8024}.xbox-button{color:#dcfce7;min-height:2.45rem;font:inherit;cursor:pointer;background:#22c55e1f;border:1px solid #4ade806b;border-radius:8px;margin-top:.35rem;padding:.55rem .9rem;font-size:.88rem;font-weight:700;transition:background-color .14s,border-color .14s,transform .14s}.xbox-button:hover:not(:disabled){background:#22c55e38;border-color:#4ade80;transform:translateY(-1px)}.xbox-button:active:not(:disabled){transform:translateY(0)}.xbox-button:disabled{cursor:not-allowed;opacity:.45}.xbox-button--primary{color:#052e16;background:#4ade80;border-color:#4ade80;width:100%}.xbox-button--primary:hover:not(:disabled){color:#052e16;background:#86efac}.xbox-button--danger{color:#fecaca;background:#ef44441f;border-color:#f8717173;margin-left:.5rem}.xbox-button--danger:hover:not(:disabled){background:#ef444438;border-color:#f87171}.xbox-stick-telemetry{gap:.75rem;display:grid}.xbox-stick-card{background:#0f172a6b;border:1px solid #94a3b838;border-radius:12px;gap:.8rem;min-width:0;padding:.85rem;display:grid;overflow:hidden}.xbox-stick-card__header{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.xbox-stick-card__header h4{color:#f8fafc;white-space:nowrap;min-width:0;margin:0;font-size:.95rem}.xbox-stick-card__header>span{color:#bbf7d0;text-transform:uppercase;background:#10b98129;border-radius:999px;flex:none;padding:.2rem .5rem;font-size:.65rem;font-weight:800}.xbox-stick-layout{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:.8rem;min-width:0;display:grid}.xbox-stick-scope{background:radial-gradient(circle,#0e749033,#0000 58%),#020617d1;border:2px solid #60a5faad;border-radius:50%;width:88px;min-width:88px;height:88px;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 14px #0e749024,0 0 12px #2563eb29}.xbox-stick-scope:before{content:"";border:1px dashed #94a3b859;border-radius:50%;position:absolute;inset:13%}.xbox-stick-scope__cross{z-index:1;pointer-events:none;background:#94a3b84d;position:absolute}.xbox-stick-scope__cross--x{height:1px;top:50%;left:0;right:0}.xbox-stick-scope__cross--y{width:1px;top:0;bottom:0;left:50%}.xbox-stick-scope__dot{z-index:3;pointer-events:none;will-change:left, top;background:#22d3ee;border:2px solid #ecfeff;border-radius:50%;width:14px;height:14px;transition:none;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #22d3ee3d,0 0 14px #22d3eef2}.xbox-stick-info{gap:.45rem;width:100%;min-width:0;display:grid}.xbox-stick-info__group{background:#1e40af21;border:1px solid #60a5fa38;border-radius:8px;gap:0;min-width:0;padding:.35rem .45rem;display:grid}.xbox-stick-info__row{color:#cbd5e1;font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;min-width:0;min-height:1.7rem;font-size:.75rem;line-height:1.15;display:grid}.xbox-stick-info__row+.xbox-stick-info__row{border-top:1px solid #94a3b82e}.xbox-stick-info__row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.xbox-stick-info__row strong{color:#f8fafc;text-align:right;white-space:nowrap;min-width:0;font-weight:800}.xbox-drift-indicator{color:#bbf7d0;background:#10b9812e;border-radius:999px;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;min-height:2rem;padding:.4rem .6rem;font-size:.75rem;display:flex}.xbox-drift-indicator span,.xbox-drift-indicator strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xbox-button-panels{grid-template-columns:minmax(0,1fr) minmax(150px,.85fr);align-items:stretch;gap:.75rem;display:grid}.xbox-button-panel{background:#0f172a94;border:1px solid #94a3b833;border-radius:10px;min-width:0;padding:.8rem}.xbox-button-panel h4{color:#bfdbfe;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;font-size:.72rem;font-weight:800}.xbox-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.xbox-action-buttons span,.xbox-auxiliary-buttons span{color:#cbd5e1;background:#94a3b814;border:1px solid #94a3b83d;border-radius:7px;place-items:center;min-height:2.35rem;font-size:.78rem;font-weight:800;transition:color .12s,background-color .12s,border-color .12s,box-shadow .12s;display:grid}.xbox-action-buttons span.is-pressed,.xbox-auxiliary-buttons span.is-pressed{color:#eff6ff;background:#2563eb;border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f640,0 0 14px #3b82f6a6}.xbox-button-panel--dpad{align-content:start;justify-items:center;display:grid}.xbox-dpad-visual{grid-template-rows:repeat(3,2.1rem);grid-template-columns:repeat(3,2.1rem);justify-content:center;align-items:center;gap:.2rem;width:7rem;height:7rem;display:grid}.xbox-dpad-visual span{color:#cbd5e1;background:#1e40af59;border:1px solid #93c5fd47;border-radius:7px;place-items:center;width:2.1rem;height:2.1rem;font-size:.85rem;font-weight:800;transition:color .12s,background-color .12s,box-shadow .12s;display:grid}.xbox-dpad-visual span:first-child{grid-area:1/2}.xbox-dpad-visual span:nth-child(2){grid-area:2/1}.xbox-dpad-visual span:nth-child(3){grid-area:2/2}.xbox-dpad-visual span:nth-child(4){grid-area:2/3}.xbox-dpad-visual span:nth-child(5){grid-area:3/2}.xbox-dpad-visual>span.is-pressed{color:#fff;text-shadow:0 0 8px #ffffffd9;background:#2563eb;border-color:#bfdbfe;box-shadow:0 0 0 2px #3b82f64d,0 0 16px #3b82f6d9}.xbox-dpad-visual>.xbox-dpad-visual__center{text-shadow:none;border-color:#94a3b833;color:#64748b!important;box-shadow:none!important;background:#0f172ad9!important}.xbox-dpad-status{color:#94a3b8;margin-top:.45rem;font-size:.78rem;font-weight:700}.xbox-button-panel--auxiliary{grid-column:1/-1}.xbox-auxiliary-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.xbox-trigger-telemetry{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem;display:grid}.xbox-trigger-telemetry__item{color:#cbd5e1;background:#0f172a94;border:1px solid #94a3b833;border-radius:9px;gap:.45rem;min-width:0;padding:.7rem .8rem;display:grid}.xbox-trigger-telemetry__item>span{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.xbox-trigger-telemetry__item strong{color:#f8fafc;font-size:.85rem}.xbox-trigger-telemetry__item output{color:#bfdbfe;font-variant-numeric:tabular-nums;font-weight:800}.xbox-trigger-telemetry__item input[type=range]{accent-color:#38bdf8;cursor:default;opacity:1;width:100%;margin:0}.xbox-trigger-telemetry__item input[type=range]:disabled{opacity:1}@media (width<=560px){.xbox-settings{border-radius:14px;padding:.9rem}.xbox-settings__section{padding:.85rem}.xbox-button--danger{width:100%;margin-top:.7rem;margin-left:0;display:block}.xbox-stick-layout{grid-template-columns:88px minmax(0,1fr);gap:.65rem}.xbox-stick-scope{width:82px;min-width:82px;height:82px}.xbox-stick-info{gap:.65rem;width:100%;min-width:0;display:grid}.xbox-stick-info__group{background:#0f172ab8;border:1px solid #60a5fa47;border-radius:9px;gap:0;min-width:0;padding:.7rem .75rem;display:grid}.xbox-stick-info__row{color:#cbd5e1;font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;min-height:2.1rem;font-size:.82rem;display:grid}.xbox-stick-info__row+.xbox-stick-info__row{border-top:1px solid #94a3b833}.xbox-stick-info__row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.xbox-stick-info__row strong{color:#f8fafc;text-align:right;white-space:nowrap;min-width:0;font-weight:800}.xbox-button-panels{grid-template-columns:1fr 1fr;gap:.55rem}.xbox-button-panel{padding:.65rem}.xbox-button-panel h4{font-size:.65rem}.xbox-dpad-visual{grid-template-rows:repeat(3,1.85rem);grid-template-columns:repeat(3,1.85rem);width:6.3rem;height:6.3rem}.xbox-dpad-visual span{width:1.85rem;height:1.85rem}.xbox-auxiliary-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=390px){.xbox-button-panels{grid-template-columns:1fr}.xbox-button-panel--auxiliary{grid-column:auto}.xbox-stick-layout{grid-template-columns:1fr;gap:.7rem}.xbox-stick-scope{width:88px;min-width:88px;height:88px}.xbox-dpad-telemetry{flex-direction:column;align-items:flex-start}.xbox-trigger-telemetry{grid-template-columns:1fr}}:root:not([data-theme=dark]) .xbox-settings{color:#1e293b;box-shadow:none;background:0 0;border:0}:root:not([data-theme=dark]) .xbox-settings h2{color:#0f172a}:root:not([data-theme=dark]) .xbox-settings h3{color:#1d4ed8}:root:not([data-theme=dark]) .xbox-settings__section{background:#ffffffc2;border-color:#64748b33}:root:not([data-theme=dark]) .xbox-info-grid strong,:root:not([data-theme=dark]) .xbox-control{color:#334155}:root:not([data-theme=dark]) .xbox-control select{color:#1e293b;background:#fff;border-color:#64748b59}:root:not([data-theme=dark]) .xbox-settings__eyebrow,:root:not([data-theme=dark]) .xbox-settings__eyebrow{color:#15803d}.xbox-connection-status{color:#cbd5e1;background:#0f172a8c;border:1px solid #94a3b82e;border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;min-height:2.8rem;margin-bottom:1rem;padding:.75rem .85rem;display:flex}.xbox-connection-status strong{color:#f8fafc;font-weight:800}.xbox-gamepad-api-section .xbox-info-grid{margin-bottom:0}.xbox-gamepad-api-section .xbox-info-grid strong{overflow-wrap:anywhere;max-width:100%}.xbox-button-panel,.xbox-trigger-telemetry__item,.xbox-gamepad-api-section .xbox-info-grid,.xbox-connection-status{color:#f8fafc;background:#111827;border-color:#93c5fd52}.xbox-button-panel h4,.xbox-gamepad-api-section h3,.xbox-settings__section h3{color:#bfdbfe}.xbox-action-buttons span,.xbox-auxiliary-buttons span,.xbox-dpad-visual span{color:#f8fafc;background:#1e293b;border:1px solid #bfdbfe6b;box-shadow:inset 0 1px #ffffff0f}.xbox-action-buttons span:hover,.xbox-auxiliary-buttons span:hover,.xbox-dpad-visual span:hover{color:#fff;background:#334155;border-color:#93c5fd}.xbox-action-buttons span.is-pressed,.xbox-auxiliary-buttons span.is-pressed,.xbox-dpad-visual>span.is-pressed{color:#fff!important;background:#2563eb!important;border-color:#dbeafe!important;box-shadow:0 0 0 2px #60a5fa59,0 0 16px #3b82f6cc!important}.xbox-trigger-telemetry__item output,.xbox-trigger-telemetry__item strong{color:#fff}.xbox-trigger-telemetry__item input[type=range]{accent-color:#60a5fa}.xbox-button{color:#fff;background:#2563eb;border-color:#93c5fd}.xbox-button:hover:not(:disabled){color:#fff;background:#3b82f6;border-color:#dbeafe}.xbox-button--primary{color:#fff;background:#2563eb;border-color:#93c5fd}.xbox-button--danger{color:#fee2e2;background:#991b1b;border-color:#fca5a5}:root:not([data-theme=dark]) .xbox-settings,:root:not([data-theme=dark]) .xbox-settings h2{color:#0f172a}:root:not([data-theme=dark]) .xbox-settings h3,:root:not([data-theme=dark]) .xbox-settings__eyebrow{color:#1d4ed8}:root:not([data-theme=dark]) .xbox-settings__section{color:#0f172a;background:#fff;border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}:root:not([data-theme=dark]) .xbox-connection-status,:root:not([data-theme=dark]) .xbox-button-panel,:root:not([data-theme=dark]) .xbox-trigger-telemetry__item,:root:not([data-theme=dark]) .xbox-gamepad-api-section .xbox-info-grid,:root:not([data-theme=dark]) .xbox-stick-info__group{color:#334155;background:#fff;border-color:#cbd5e1}:root:not([data-theme=dark]) .xbox-connection-status strong,:root:not([data-theme=dark]) .xbox-info-grid strong,:root:not([data-theme=dark]) .xbox-trigger-telemetry__item strong,:root:not([data-theme=dark]) .xbox-trigger-telemetry__item output,:root:not([data-theme=dark]) .xbox-stick-info__row strong{color:#0f172a}:root:not([data-theme=dark]) .xbox-info-grid{color:#475569}:root:not([data-theme=dark]) .xbox-control{color:#334155}:root:not([data-theme=dark]) .xbox-button-panel h4{color:#1e40af}:root:not([data-theme=dark]) .xbox-action-buttons span,:root:not([data-theme=dark]) .xbox-auxiliary-buttons span,:root:not([data-theme=dark]) .xbox-dpad-visual span{color:#1e3a8a;background:#f8fafc;border-color:#94a3b8}:root:not([data-theme=dark]) .xbox-action-buttons span.is-pressed,:root:not([data-theme=dark]) .xbox-auxiliary-buttons span.is-pressed,:root:not([data-theme=dark]) .xbox-dpad-visual>span.is-pressed{color:#fff!important;background:#2563eb!important;border-color:#1d4ed8!important}:root:not([data-theme=dark]) .xbox-dpad-visual>.xbox-dpad-visual__center{color:#64748b!important;background:#f1f5f9!important;border-color:#cbd5e1!important}:root:not([data-theme=dark]) .xbox-stick-info__row{color:#475569}:root:not([data-theme=dark]) .xbox-stick-info__row+.xbox-stick-info__row{border-color:#e2e8f0}:root:not([data-theme=dark]) .xbox-stick-scope{background:radial-gradient(circle,#0e74901f,#0000 58%),#f8fafc;border-color:#3b82f6}:root:not([data-theme=dark]) .xbox-stick-scope:before{border-color:#cbd5e1}:root:not([data-theme=dark]) .xbox-stick-scope__cross{background:#94a3b8}:root:not([data-theme=dark]) .xbox-drift-indicator{color:#047857;background:#d1fae5}:root:not([data-theme=dark]) .xbox-drift-indicator.is-active{color:#991b1b;background:#fee2e2}.xbox-gamepad-api-section .xbox-info-grid{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);align-items:start}.xbox-gamepad-api-section .xbox-info-grid strong{overflow-wrap:anywhere;word-break:break-word;min-width:0}.xbox-trigger-telemetry{grid-template-columns:1fr;gap:.75rem;margin-top:1rem}.xbox-trigger-telemetry__item{min-height:4.1rem;padding:.75rem .9rem}.xbox-trigger-telemetry__item>span{min-height:1.35rem}.xbox-trigger-telemetry__item input[type=range]{height:.45rem}:root:not([data-theme=dark]) .xbox-trigger-telemetry__item{color:#334155;background:#fff;border-color:#cbd5e1}:root:not([data-theme=dark]) .xbox-trigger-telemetry__item input[type=range]{accent-color:#2563eb}.xbox-settings__section .xbox-control{margin-bottom:1.2rem}.xbox-settings__section .xbox-control:last-of-type{margin-bottom:1.35rem}.selector-overlay{z-index:15;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#01071094;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.selector-panel__eyebrow{color:var(--app-blue);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:800}.selector-panel h1{color:var(--app-text);letter-spacing:-.055em;margin:9px 0 7px;font-size:clamp(2.2rem,5vw,4rem);font-weight:750;line-height:.98}.selector-panel>p{max-width:650px;color:var(--app-muted);margin:0 0 28px;font-size:.88rem;line-height:1.6}.selector-stage{grid-template-columns:minmax(0,1fr);place-items:stretch center;width:min(1120px,100vw - 32px);min-height:466px;display:grid;position:relative}.selector-stage>.selector-panel{grid-area:1/1;place-self:center;width:min(100%,600px);min-height:466px;animation:.42s cubic-bezier(.22,1,.36,1) both selector-panel-open;transform:translate(0)scale(1)}.selector-stage:has(>.controller-selection){grid-template-columns:minmax(470px,1.2fr) minmax(340px,.95fr);justify-items:stretch;gap:18px}.selector-stage:has(>.controller-selection)>.selector-panel{grid-area:1/2;justify-self:stretch;width:auto;animation:.52s cubic-bezier(.22,1,.36,1) both selector-panel-to-right}.selector-stage>.controller-selection{grid-area:1/1;animation:.42s cubic-bezier(.22,1,.36,1) 90ms both controller-selection-in}@keyframes selector-panel-open{0%{opacity:0;transform:translate(0)scale(.94)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes selector-panel-to-right{0%{opacity:.7;transform:translate(0)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.selector-heading{padding:0 2px}.selector-heading h1{color:var(--app-text);letter-spacing:-.055em;margin:9px 0 7px;font-size:clamp(2.2rem,5vw,4rem);font-weight:750;line-height:.98}.selector-heading p{max-width:650px;color:var(--app-muted);margin:0;font-size:.88rem;line-height:1.6}.selector-panels{grid-template-columns:minmax(245px,.78fr) minmax(0,1.55fr);align-items:start;gap:18px}.brand-selection,.controller-selection{background:linear-gradient(145deg,#112b48f5,#071728fa);border:1px solid #5b9dda4d;border-radius:18px;min-width:0;padding:18px;box-shadow:0 16px 35px #0003,inset 0 1px #ffffff0a}.controller-selection{box-sizing:border-box;grid-area:1/1;align-self:stretch;min-width:0;height:100%;min-height:466px;animation:.18s ease-out selector-panel-in}.brand-selection{box-shadow:none;background:0 0;border:0;padding:0}.controller-selection__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.controller-selection__eyebrow{color:var(--app-blue);letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;font-size:.64rem;font-weight:800;display:block}.controller-selection__back{border:1px solid var(--app-border);color:var(--app-muted);cursor:pointer;font:inherit;background:#4a9eff0f;border-radius:7px;flex:none;padding:6px 9px;font-size:.65rem;transition:border-color .16s,color .16s,background .16s}.controller-selection__back:hover{border-color:var(--app-blue);color:var(--app-text);background:#4a9eff1f}.controller-list{grid-template-columns:1fr;gap:10px;display:grid}.controller-card{border:1px solid var(--app-border);width:100%;min-height:112px;color:var(--app-text);cursor:pointer;text-align:left;background:#0816279e;border-radius:13px;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:16px;padding:14px;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:grid;position:relative}.controller-card.is-available:hover,.controller-card.is-selected{border-color:var(--app-blue);background:#2668ae33;transform:translateY(-1px);box-shadow:0 0 0 1px #4a9eff1f}.controller-card.is-disabled{cursor:not-allowed;opacity:.42}.controller-card__visual{background:#4a9eff12;border:1px solid #4a9eff38;border-radius:13px;place-items:center;width:88px;height:72px;display:grid}.controller-card__badge{color:var(--app-blue);letter-spacing:.08em;font-size:.68rem;font-weight:800}.controller-card__content{align-content:center;gap:6px;min-width:0;display:grid}.controller-card__topline{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.controller-card__topline strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;overflow:hidden}.controller-card__status{white-space:nowrap;flex:none;padding-right:4px;font-size:.65rem;font-weight:800;position:relative}.controller-card__status:after{content:"";background:currentColor;border-radius:999px;height:3px;position:absolute;bottom:-7px;left:0;right:0}.controller-card__status--available{color:var(--app-green)}.controller-card__status--soon{color:var(--app-muted)}.controller-card__description{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.3;overflow:hidden}.controller-card__features{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;line-height:1.3;overflow:hidden}.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.brand-card{min-height:260px;color:var(--app-muted);cursor:pointer;font:inherit;text-align:center;background:#0816277a;border:1px solid #9abee029;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:20px 12px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:flex}.brand-card:hover,.brand-card.is-selected{border-color:var(--app-blue);background:#2668ae29;transform:translateY(-1px);box-shadow:0 0 0 1px #4a9eff29}.brand-card:focus-visible{outline:2px solid var(--app-blue);outline-offset:3px}.brand-card.is-selected .brand-card__logo{opacity:1;transform:scale(1.05)}.brand-card>span{color:var(--app-text);font-size:.78rem;font-weight:700}.selector-panel__action{min-width:150px;margin:16px 0 0 auto;display:block}.controller-list__empty{color:var(--app-muted);text-align:center;margin:0;padding:18px 10px;font-size:.72rem;line-height:1.5}.selector-panel .brand-card{min-width:0;min-height:230px;position:relative;overflow:hidden}.brand-card__logo{object-fit:contain;object-position:center;filter:brightness(0)invert();opacity:.88;flex:none;width:140px;max-width:100%;height:110px;max-height:110px;transition:opacity .16s,transform .16s;display:block}.selector-panel h1,.selector-panel .brand-card>span{z-index:1;display:block;position:relative}.controller-card__image{object-fit:contain;object-position:center;width:78px;max-width:90%;height:64px;max-height:90%;display:block}@media (width<=760px){:is(.selector-stage,.selector-stage:has(>.controller-selection)){grid-template-columns:1fr;gap:18px;width:calc(100vw - 32px);min-height:auto}:is(.selector-stage>.selector-panel,.selector-stage:has(>.controller-selection)>.selector-panel){grid-area:auto/1;width:100%;min-height:auto}.selector-stage>.controller-selection{grid-area:auto/1;height:auto;min-height:auto}}@media (width<=480px){.selector-overlay{padding:10px}.controller-selection,.brand-selection{border-radius:14px;padding:13px}.brand-grid{gap:7px}.brand-card{border-radius:12px;gap:12px;min-height:130px;padding:12px 7px}.brand-card__logo{height:58px}.brand-card>span{font-size:.68rem}.selector-panel__action{width:100%}}:root[data-theme=light] .controller-selection,:root[data-theme=light] .brand-selection,:root[data-theme=light] .controller-card,:root[data-theme=light] .brand-card{background:#ffffff94}@keyframes selector-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.controller-card{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:16px;min-height:112px;padding:14px}.controller-card__visual{border-radius:13px;width:88px;height:72px}.controller-card__image{width:78px;max-width:90%;height:64px;max-height:90%}.controller-selection{transform-origin:0;animation:.42s cubic-bezier(.22,1,.36,1) both controller-selection-in}.controller-selection__header{animation:.46s ease-out 70ms both controller-selection-header-in}.controller-card{animation:.42s cubic-bezier(.22,1,.36,1) both controller-card-in}.controller-card:first-child{animation-delay:.13s}.controller-card:nth-child(2){animation-delay:.21s}.controller-card:nth-child(3){animation-delay:.29s}@keyframes controller-selection-in{0%{opacity:0;filter:blur(4px);transform:translate(-28px)scale(.96)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes controller-selection-header-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes controller-card-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media (width<=480px){.controller-card{grid-template-columns:72px minmax(0,1fr);gap:12px;min-height:104px;padding:11px}.controller-card__topline{flex-direction:column;align-items:flex-start;gap:3px}.controller-card__status:after{bottom:-3px}.controller-card__description,.controller-card__features{white-space:normal}}@media (prefers-reduced-motion:reduce){.controller-selection,.controller-selection__header,.controller-card{animation:none}}.selector-stage>.selector-panel{background:linear-gradient(145deg,#112b48f5,#071728fa);border:1px solid #5b9dda4d;border-radius:18px;grid-area:1/2;min-width:0;min-height:466px;padding:24px;box-shadow:0 16px 35px #0003,inset 0 1px #ffffff0a}.selector-stage>.selector-panel .brand-selection{background:0 0;padding:0}.selector-stage>.selector-panel .selector-heading{margin-bottom:4px}@media (width<=760px){.selector-stage>.selector-panel{grid-area:auto/1;min-height:auto;padding:18px}}.selector-stage.is-console-selection{grid-template-columns:1fr;place-items:center;width:min(1120px,100vw - 32px);min-height:466px;display:grid}.selector-stage.is-console-selection>.selector-panel{grid-area:1/1;place-self:center;width:min(600px,100%);min-height:466px;margin:0}.selector-stage.has-controller-selection{grid-template-columns:minmax(470px,1.2fr) minmax(340px,.95fr);align-items:stretch;gap:18px;width:min(1120px,100vw - 32px);min-height:466px;display:grid}.selector-stage.has-controller-selection>.selector-panel{grid-area:1/2;width:auto;min-height:466px;margin:0}.selector-stage.has-controller-selection>.controller-selection{grid-area:1/1;margin:0}@media (width<=760px){.selector-stage.is-console-selection,.selector-stage.has-controller-selection{grid-template-columns:1fr;gap:18px;width:calc(100vw - 32px);min-height:auto}.selector-stage.is-console-selection>.selector-panel,.selector-stage.has-controller-selection>.selector-panel{grid-area:auto/1;width:100%;min-height:auto}.selector-stage.has-controller-selection>.controller-selection{grid-area:auto/1;min-height:auto}}:root[data-theme=light] .selector-overlay{-webkit-backdrop-filter:blur(10px);background:#d3e0edb8}:root[data-theme=light] .selector-stage>.selector-panel{color:#152538;background:radial-gradient(circle at 100% 0,#4a9eff1a,#0000 38%),linear-gradient(145deg,#fff,#edf5fc);border-color:#2269b138;box-shadow:0 18px 42px #25436229,inset 0 1px #fffffff2}:root[data-theme=light] .selector-heading h1,:root[data-theme=light] .selector-panel h1,:root[data-theme=light] .brand-selection h2,:root[data-theme=light] .controller-selection h2{color:#152538}:root[data-theme=light] .selector-heading p,:root[data-theme=light] .selector-panel p{color:#526b82}:root[data-theme=light] .brand-selection,:root[data-theme=light] .controller-selection{color:#152538;background:#ffffffb8;border-color:#2269b138;box-shadow:0 12px 28px #2543621a}:root[data-theme=light] .controller-selection{background:linear-gradient(145deg,#fff,#f3f8fc)}:root[data-theme=light] .controller-card{color:#152538;background:linear-gradient(160deg,#fff,#f3f7fb);border-color:#2244662e;box-shadow:0 8px 20px #25436214}:root[data-theme=light] .controller-card.is-available:hover,:root[data-theme=light] .controller-card.is-selected{color:#152538;background:linear-gradient(160deg,#eaf4fd,#dcecf9);border-color:#1769c2;box-shadow:0 0 0 1px #1769c229,0 12px 24px #2543621f}:root[data-theme=light] .controller-card__visual{background:radial-gradient(circle,#4a9eff1f,#0000 68%),#edf5fc;border-color:#2269b133}:root[data-theme=light] .controller-card__topline strong{color:#152538}:root[data-theme=light] .controller-card__description{color:#405a72}:root[data-theme=light] .controller-card__features{color:#60758b}:root[data-theme=light] .controller-card__status--available{color:#087c50}:root[data-theme=light] .controller-selection__back{color:#526b82;background:#f1f6fb;border-color:#2463}:root[data-theme=light] .controller-selection__back:hover{color:#152538;background:#e1effc;border-color:#1769c2}:root[data-theme=light] .brand-card{color:#152538;background:linear-gradient(145deg,#fff,#edf5fc);border-color:#2463;box-shadow:0 8px 20px #25436214}:root[data-theme=light] .brand-card:hover,:root[data-theme=light] .brand-card.is-selected{color:#152538;background:#e1effc;border-color:#1769c2}:root[data-theme=light] .selector-panel__action{color:#fff;background:linear-gradient(135deg,#1769c2,#0e55a0);border-color:#1769c2}:root[data-theme=light] .selector-panel__eyebrow,:root[data-theme=light] .controller-selection__eyebrow{color:#1769c2}:root[data-theme=light] .selector-panel h1,:root[data-theme=light] .selector-heading h1{color:#152538;text-shadow:none}:root[data-theme=light] .brand-card__logo{filter:brightness(0)saturate();opacity:.78}:root[data-theme=light] .brand-card:hover .brand-card__logo,:root[data-theme=light] .brand-card.is-selected .brand-card__logo{filter:brightness(0)saturate();opacity:.92}:root[data-theme=dark] .brand-card__logo{filter:brightness(0)invert();opacity:.88}.topbar0{z-index:10;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#051427e6;border-bottom:1px solid #82aed82e;border-right:1px solid #82aed81f;border-radius:0 0 20px;align-items:center;width:250px;height:68px;padding:10px 22px;display:flex;position:fixed;top:0;left:0;box-shadow:0 10px 32px #00000029}.topbar0 .topbar__left{align-items:center;gap:12px;min-width:0;display:flex}.topbar0 .brand{color:var(--app-text);letter-spacing:.02em;white-space:nowrap;flex:none;align-items:center;gap:10px;font-size:.88rem;font-weight:700;display:flex}.topbar0 .brand__mark{width:30px;height:30px;color:var(--app-blue);letter-spacing:.08em;border:1px solid #4a9eff99;border-radius:8px;place-items:center;font-size:.65rem;font-weight:800;display:grid}@media (width<=760px){.topbar0{width:calc(50% - 24px);height:60px;padding:8px 12px}.topbar0 .brand{gap:7px;font-size:.76rem}.topbar0 .brand__mark{width:28px;height:28px}}:root[data-theme=light] .topbar0{background:#fffffff0;border-bottom-color:#2463;border-right-color:#22446629;box-shadow:0 10px 32px #25436229}:root[data-theme=light] .topbar0 .brand{color:#152538}:root[data-theme=light] .topbar0 .brand__mark{color:#1769c2;border-color:#1769c280}.topbar1{z-index:10;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:none;background:#051427e6;border-bottom:1px solid #82aed82e;justify-content:flex-end;align-items:center;width:320px;height:68px;padding:10px 14px;transition:transform .22s;display:flex;position:fixed;top:0;right:0;transform:translateY(-100%);box-shadow:0 10px 32px #00000029}.topbar1.is-open{pointer-events:auto;transform:translateY(0)}.topbar1 .topbar__right{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.topbar1 .github-link{background:var(--app-panel-soft);width:36px;height:36px;color:var(--app-muted);border:1px solid #9abee03d;border-radius:50%;flex:0 0 36px;place-items:center;text-decoration:none;display:grid}.topbar1 .github-icon{width:18px;height:18px;display:block}.topbar1 .select-control,.topbar1 .icon-button{border:1px solid var(--app-border);background:var(--app-panel-soft);color:var(--app-text);cursor:pointer;border-radius:8px}.topbar1 .select-control{outline:none;width:112px;min-width:112px;height:36px;padding:0 8px}.topbar1 .icon-button{place-items:center;width:36px;height:36px;font-size:1rem;display:grid}.topbar1 .github-link:hover,.topbar1 .select-control:hover,.topbar1 .icon-button:hover{border-color:var(--app-blue)}@media (width<=760px){.topbar1{width:calc(100% - 24px);height:60px;padding:8px 10px;right:12px}.topbar1 .topbar__right{gap:5px;width:100%}.topbar1 .github-link,.topbar1 .icon-button{flex:0 0 34px;width:34px;height:34px}.topbar1 .select-control{width:64px;min-width:64px;max-width:64px;height:34px;padding:0 5px}.topbar1-toggle{top:0;right:calc(100% - 46px)}.topbar1-toggle.is-open{top:60px}.controller-summary{gap:5px;min-width:min(270px,100vw - 32px);font-size:.68rem;top:60px}.controller-summary__type{max-width:92px}.controller-summary__status{display:none}}.topbar1-toggle{z-index:12;width:34px;height:34px;color:var(--app-text);cursor:pointer;background:#051427e6;border:1px solid #82aed82e;border-top:0;border-radius:0 0 8px 8px;place-items:center;padding:0;transition:top .22s,right .22s,background .16s,transform .16s;display:grid;position:fixed;top:0;right:286px;box-shadow:0 6px 14px #0003}.topbar1-toggle.is-open{top:68px}.topbar1-toggle:hover{background:#112741f5}.topbar1-toggle:active{transform:translateY(1px)}.topbar1-toggle svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}:root[data-theme=light] .topbar1{background:#fffffff0;border-bottom-color:#2463;box-shadow:0 10px 32px #25436229}:root[data-theme=light] .topbar1 .github-link,:root[data-theme=light] .topbar1 .select-control,:root[data-theme=light] .topbar1 .icon-button{color:#152538;background:#f1f6fb;border-color:#2244662e}:root[data-theme=light] .topbar1 .github-link:hover,:root[data-theme=light] .topbar1 .select-control:hover,:root[data-theme=light] .topbar1 .icon-button:hover{color:#1769c2;background:#e1effc;border-color:#1769c2}:root[data-theme=light] .topbar1-toggle{color:#152538;background:#fffffff5;border-color:#2244662e;box-shadow:0 6px 14px #25436229}:root[data-theme=light] .topbar1-toggle:hover{color:#1769c2;background:#e1effc}.topbar2{z-index:20;width:min(370px,100vw - 24px);min-height:48px;color:var(--app-muted);background:#0a1d33f7;border:1px solid #5b9dda6b;border-top:0;border-radius:0 0 14px 14px;align-items:center;gap:8px;padding:6px 8px 6px 14px;transition:opacity .18s,visibility .18s,transform .18s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%);box-shadow:0 10px 22px #0000003d,inset 0 1px #ffffff0d}.topbar2--selector{visibility:hidden;opacity:0;pointer-events:none;transform:translate(-50%,-10px)}.topbar2__controller{flex:auto;align-items:center;gap:7px;min-width:0;display:flex}.topbar2__type{max-width:105px;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:750;line-height:1;display:block;overflow:hidden}.topbar2__status{white-space:nowrap;align-items:center;gap:5px;font-size:.64rem;line-height:1;display:inline-flex}.topbar2__status-dot{background:var(--app-muted);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.topbar2__status-dot.is-online{background:var(--app-green);box-shadow:0 0 8px var(--app-green)}.topbar2__transport{min-height:28px;color:var(--app-blue);white-space:nowrap;border:1px solid #5b9dda57;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:.66rem;font-weight:700;display:inline-flex}.topbar2__transport svg{width:13px;height:13px}.topbar2__connect{width:28px;height:28px;color:var(--app-blue);cursor:pointer;background:#1946748c;border:1px solid #5b9dda6b;border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.topbar2__connect:hover:not(:disabled){border-color:var(--app-blue);color:#d9edff;background:#2667a9c7;transform:translateY(-1px)}.topbar2__connect:focus-visible{outline:2px solid var(--app-blue);outline-offset:2px}.topbar2__connect:disabled{cursor:default;opacity:.42}.topbar2__connect svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:17px;height:17px}@media (width<=560px){.topbar2{gap:7px;width:calc(100vw - 16px);min-height:47px;padding:6px 8px 6px 12px}.topbar2__controller{gap:7px}.topbar2__type{max-width:105px;font-size:.78rem}.topbar2__status{font-size:.62rem}.topbar2__transport{display:none}.topbar2__connect{flex-basis:29px;width:29px;height:29px}}:root[data-theme=light] .topbar2{color:#60758b;background:#fffffff5;border-color:#1769c247;box-shadow:0 10px 22px #2543622e,inset 0 1px #ffffffe6}:root[data-theme=light] .topbar2__type{color:#152538}:root[data-theme=light] .topbar2__status{color:#60758b}:root[data-theme=light] .topbar2__transport{color:#1769c2;background:#1769c20f;border-color:#1769c247}:root[data-theme=light] .topbar2__connect{color:#1769c2;background:#e1effc;border-color:#1769c252}:root[data-theme=light] .topbar2__connect:hover:not(:disabled){color:#0e55a0;background:#cfe5fa;border-color:#1769c2}
