:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0b0c0e;--ink-raised:#111316;--ink-soft:#171a1e;--panel:#1d2024;--line:#30343a;--line-strong:#464c53;--paper:#f2f0e9;--paper-dim:#b4b5b0;--muted:#7c8188;--signal:#d9ff43;--signal-soft:#d9ff4324;--orange:#ff714d;--blue:#75a7ff;--purple:#b895ff;--sans:"Avenir Next", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"SFMono-Regular", "Roboto Mono", Consolas, monospace;font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:radial-gradient(circle at 82% 2%, #75a7ff1a, transparent 26rem), var(--ink);min-width:320px;min-height:100vh;color:var(--paper);margin:0}button,input,select,textarea{font:inherit}button,a,select,input[type=range]{-webkit-tap-highlight-color:transparent}button,a,select,label.file-button{transition:color .15s,background-color .15s,border-color .15s,transform .15s}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--signal);outline-offset:3px}a{color:inherit}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b0c0ee0;border-bottom:1px solid #ffffff1a;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:0 3.5vw;display:grid;position:sticky;top:0}.brand{align-items:center;width:-moz-fit-content;width:fit-content;line-height:1;text-decoration:none;display:inline-flex}.brand-mark{grid-template-columns:repeat(2,7px);gap:2px;margin-right:11px;display:grid;transform:rotate(-8deg)}.brand-mark i{background:var(--signal);border-radius:1px;width:7px;height:7px;display:block}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.55}.brand-name{letter-spacing:-.02em;font-size:15px;font-weight:700}.brand-product{color:var(--muted);border-left:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.11em;margin-left:10px;padding-left:10px;font-size:9px;line-height:15px}.site-header nav{gap:2rem;display:flex}.site-header nav a{color:var(--paper-dim);font-size:13px;font-weight:600;text-decoration:none}.site-header nav a:hover{color:var(--paper)}.connection-pill{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;justify-self:end;align-items:center;gap:8px;font-size:10px;display:flex}.connection-pill span{background:var(--muted);border-radius:50%;width:7px;height:7px}.connection-pill.is-connected{color:var(--signal)}.connection-pill.is-connected span{background:var(--signal);box-shadow:0 0 0 5px var(--signal-soft), 0 0 18px #d9ff4380}main{width:min(1440px,100% - 7vw);margin:0 auto;padding-top:24px}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.13em;margin:0 0 18px;font-size:10px;font-weight:600}.eyebrow span{color:var(--signal)}.live-panel{background:var(--ink-raised);border:1px solid var(--line);border-radius:2px;min-height:430px;overflow:hidden}.device-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;min-height:78px;padding:14px 20px;display:flex}.device-identity{align-items:center;min-width:0;display:flex}.device-index{width:48px;height:48px;color:var(--ink);background:var(--signal);font-family:var(--mono);place-items:center;margin-right:15px;font-size:11px;font-weight:700;display:grid}.device-identity p{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;margin:0 0 5px;font-size:8px}.device-identity h2{text-overflow:ellipsis;white-space:nowrap;max-width:56vw;margin:0;font-size:16px;font-weight:600;overflow:hidden}.device-controls{align-items:center;gap:14px;display:flex}.device-controls select{max-width:300px}.polling-status{color:var(--muted);font-family:var(--mono);letter-spacing:.09em;white-space:nowrap;align-items:center;gap:7px;font-size:8px;display:flex}.polling-status i{background:var(--signal);border-radius:50%;width:5px;height:5px;animation:1.3s ease-in-out infinite pulse;box-shadow:0 0 10px #d9ff4380}@keyframes pulse{50%{opacity:.3}}.live-grid{grid-template-columns:minmax(0,1fr) 270px;min-height:520px;display:grid}.controller-stage{background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/24px 24px,radial-gradient(circle at 50% 45%,#24282d 0,#15181b 58%,#111316 100%);place-items:center;padding:52px 30px 42px;display:grid;position:relative;overflow:hidden}.controller-stage:before,.controller-stage:after{color:#ffffff29;font-family:var(--mono);letter-spacing:.1em;font-size:7px;position:absolute}.controller-stage:before{content:"SEMANTIC VIEW / PROFILE APPLIED";bottom:15px;left:18px}.controller-stage:after{content:"X 0.000    Y 0.000";top:15px;right:18px}.device-facts{border-left:1px solid var(--line);background:#15171a;padding:24px}.section-label,.panel-heading{justify-content:space-between;align-items:center;display:flex}.section-label span,.section-label b{font-family:var(--mono);letter-spacing:.1em;font-size:8px}.section-label span{color:var(--muted)}.section-label b{color:var(--signal)}.device-facts dl>div{border-bottom:1px solid var(--line);padding:14px 0}.device-facts dt{color:var(--muted);margin-bottom:7px;font-size:10px}.device-facts dd{font-family:var(--mono);margin:0;font-size:11px}.device-facts dd.success{color:var(--signal)}.device-facts dd.warning{color:var(--orange)}.device-facts dd.accent{color:var(--purple)}.primary-button,.secondary-button,.text-button,.learn-button,.invert-button{cursor:pointer;border:0;border-radius:2px;font-weight:600}.primary-button{min-height:38px;color:var(--ink);background:var(--signal);padding:0 18px}.primary-button:hover{background:#e5ff78;transform:translateY(-1px)}.secondary-button{min-height:38px;color:var(--paper);background:var(--ink-soft);border:1px solid var(--line-strong);padding:0 15px}.secondary-button:hover:not(:disabled){background:#25292e;border-color:#687078}.secondary-button:disabled{cursor:not-allowed;opacity:.38}.full-width{justify-content:center;align-items:center;gap:9px;width:100%;display:flex}.button-icon{color:var(--signal);font-family:var(--mono);font-size:18px}.privacy-note{color:var(--muted);text-align:center;margin:16px 0 0;font-size:9px}.privacy-note span{color:var(--signal);margin-right:5px;font-size:6px}.controller{aspect-ratio:1.55;width:min(670px,88%);position:relative;transform:translateY(8px)}.controller-shadow{z-index:0;filter:blur(25px);background:#000000b3;border-radius:50%;height:19%;position:absolute;bottom:2%;left:11%;right:11%}.controller-shell{z-index:2;clip-path:polygon(11% 4%,31% 0,39% 8%,61% 8%,69% 0,89% 4%,98% 36%,96% 81%,88% 98%,78% 96%,67% 64%,33% 64%,22% 96%,12% 98%,4% 81%,2% 36%);background:linear-gradient(155deg,#ffffff1c,#0000 30%),linear-gradient(160deg,#454a51 0%,#292d32 47%,#1d2024 100%);border:1px solid #555c64;border-radius:42% 42% 30% 30%/36% 36% 42% 42%;position:absolute;inset:12% 3% 5%;overflow:hidden;box-shadow:inset 0 1px #ffffff38,inset 0 -20px 40px #0003}.controller-playstation .controller-shell{clip-path:polygon(12% 5%,31% 0,40% 9%,60% 9%,69% 0,88% 5%,97% 35%,96% 76%,90% 98%,79% 96%,67% 62%,33% 62%,21% 96%,10% 98%,4% 76%,3% 35%);background:linear-gradient(155deg,#ffffff2e,#0000 32%),linear-gradient(160deg,#e5e5e4 0%,#aaaeb2 54%,#747a80 100%);border-color:#eef0f0;border-radius:48% 48% 28% 28%/40% 40% 46% 46%}.controller-8bitdo .controller-shell{background:linear-gradient(155deg,#ffffff1f,#0000 28%),linear-gradient(160deg,#3c4147 0%,#24282d 55%,#171a1d 100%);border-radius:37% 37% 28% 28%/32% 32% 40% 40%}.controller-generic .controller-shell{background:linear-gradient(155deg,#ffffff1a,#0000 28%),linear-gradient(160deg,#3b3b3b 0%,#202020 100%);border-radius:35% 35% 25% 25%}.shell-highlight{background:radial-gradient(at 50% 0,#ffffff14,#0000 60%);border-top:1px solid #ffffff1a;border-radius:50%;position:absolute;inset:8% 16% 31%}.shoulder{z-index:1;width:23%;height:14%;color:var(--paper);background:#24282c;border:1px solid #4d535a;position:absolute;box-shadow:inset 0 1px #ffffff1a}.shoulder.bumper{z-index:3;border-radius:14px 14px 8px 8px;top:10%}.small-control,.face-button{--input-value:0;color:var(--paper-dim)}.trigger-control,.bumper-control{background:linear-gradient(90deg, var(--signal-soft) calc(var(--input-value) * 100%), transparent 0);width:100%;height:100%;font-family:var(--mono);justify-content:space-between;align-items:center;padding:0 18px;font-size:9px;display:flex}.trigger-control small,.bumper-control small,.face-button small,.rear-control small{color:var(--muted);font-size:7px}.small-control.is-active,.face-button.is-active{color:var(--ink);background-color:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px #d9ff431f,0 0 20px #d9ff4340}.stick{z-index:6;aspect-ratio:1;background:#17191c;border:1px solid #535961;border-radius:50%;place-items:center;width:18%;display:grid;position:absolute;box-shadow:inset 0 4px 12px #000000b8,0 2px 4px #ffffff0f}.controller-playstation .stick-left{top:54%;left:31%}.controller-playstation .stick-right{top:54%;right:31%}.stick-cap{color:#9ba0a6;width:66%;height:66%;font-family:var(--mono);will-change:transform;background:radial-gradient(circle at 44% 35%,#4c5158,#24272b 62%,#16181a 100%);border:1px solid #5d646c;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:9px;display:flex;box-shadow:inset 0 0 0 5px #272a2e,0 5px 8px #0000006b}.stick-cap small{color:#70767c;margin-top:2px;font-size:6px}.axis-readout{color:#ffffff61;text-align:center;width:140%;font-family:var(--mono);font-size:6px;position:absolute;bottom:-17px}.dpad{z-index:5;aspect-ratio:1;width:19%;position:absolute;top:55%;left:10%}.controller-playstation .dpad{top:28%;left:14%}.dpad .small-control{width:35%;height:35%;font-family:var(--mono);background:#25292d;border:1px solid #50565d;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute}.dpad .small-control small{color:#747980;font-size:5px;position:absolute}.dpad-up,.dpad-down{left:32.5%}.dpad-up{border-radius:5px 5px 0 0;top:0}.dpad-down{border-radius:0 0 5px 5px;bottom:0}.dpad-left,.dpad-right{top:32.5%}.dpad-left{border-radius:5px 0 0 5px;left:0}.dpad-right{border-radius:0 5px 5px 0;right:0}.dpad-up small{top:3px;right:3px}.dpad-down small{bottom:3px;right:3px}.dpad-left small{bottom:3px;left:3px}.dpad-right small{bottom:3px;right:3px}.dpad-center{z-index:2;background:#25292d;position:absolute;inset:32.5%}.face-cluster{z-index:5;aspect-ratio:1;width:21%;position:absolute;top:23%;right:10%}.face-button{aspect-ratio:1;width:34%;color:var(--paper);font-family:var(--mono);background:#171a1d;border:1px solid #666d75;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;box-shadow:inset 0 -3px 4px #0006,0 2px 5px #00000073}.face-button small{position:absolute;bottom:-7px;right:-4px}.face-south{bottom:0;left:33%}.face-east{top:33%;right:0}.face-west{top:33%;left:0}.face-north{top:0;left:33%}.controller-xbox .face-south{color:#83d46a}.controller-xbox .face-east{color:#ff6c61}.controller-xbox .face-west{color:#6eb8ff}.controller-xbox .face-north{color:#ffd35a}.controller-8bitdo .face-south{color:#ff6c61}.controller-8bitdo .face-east{color:#ffd35a}.controller-8bitdo .face-west{color:#6eb8ff}.controller-8bitdo .face-north{color:#83d46a}.face-button.is-active,.controller-playstation .face-button.is-active{color:var(--ink)}.system-buttons{z-index:5;align-items:center;gap:9px;display:flex;position:absolute;top:27%;left:42%}.system-control,.home-control{color:#a3a7ac;width:28px;height:18px;font-family:var(--mono);background:#202327;border:1px solid #5b6168;border-radius:10px;place-items:center;font-size:8px;display:grid}.system-control small,.home-control small{display:none}.home-control{border-radius:50%;width:27px;height:27px}.rear-controls{z-index:5;grid-template-columns:repeat(4,1fr);gap:5px;display:grid;position:absolute;bottom:13%;left:31%;right:31%}.rear-control{color:#959ba1;min-height:28px;font-family:var(--mono);background:#1c1f22;border:1px solid #454b52;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;font-size:7px;display:flex}.empty-stage{text-align:center;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/24px 24px,radial-gradient(circle at 50% 35%,#1e2226,#111316 58%);flex-direction:column;justify-content:center;align-items:center;min-height:510px;padding:60px 24px;display:flex}.empty-pad{clip-path:polygon(12% 0,38% 3%,43% 13%,57% 13%,62% 3%,88% 0,100% 34%,94% 100%,76% 97%,66% 66%,34% 66%,24% 97%,6% 100%,0 34%);opacity:.66;background:#25292e;border:1px solid #484e55;border-radius:48px 48px 40px 40px;width:210px;height:122px;margin-bottom:35px;position:relative}.empty-pad:before,.empty-pad:after{content:"";border:8px solid #0f1113;border-radius:50%;width:32px;height:32px;position:absolute;top:37px}.empty-pad:before{left:39px}.empty-pad:after{right:39px}.empty-pad-dot{background:var(--signal);border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite pulse;position:absolute;top:52px;box-shadow:0 0 18px #d9ff4380}.empty-pad-dot.left{left:50px}.empty-pad-dot.right{animation-delay:.4s;right:50px}.empty-stage h2{letter-spacing:-.04em;max-width:660px;margin:0;font-size:clamp(27px,3vw,44px);font-weight:500;line-height:1.08}.empty-stage>p:not(.eyebrow){max-width:600px;color:var(--muted);margin:18px 0;line-height:1.6}.text-button{color:var(--signal);background:0 0;padding:10px 0}.text-button:hover{color:#e8ff83}.text-button span{margin-left:8px;transition:transform .15s;display:inline-block}.text-button:hover span{transform:translate(4px)}.section-block{padding:105px 0 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:-.05em;max-width:720px;margin:0;font-size:clamp(30px,3.6vw,55px);font-weight:500;line-height:1}.toggle-control{color:var(--paper-dim);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.toggle-control input{opacity:0;position:absolute}.toggle-control>span{background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;width:34px;height:19px;position:relative}.toggle-control>span:after{content:"";background:var(--muted);border-radius:50%;width:11px;height:11px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.toggle-control input:checked+span:after{background:var(--signal);transform:translate(15px)}.inspector-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:14px;display:grid}.panel{background:var(--ink-raised);border:1px solid var(--line);border-radius:2px}.raw-panel,.axes-panel,.event-panel{padding:22px}.panel-heading h3{margin:0;font-size:13px;font-weight:600}.panel-heading>span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.button-matrix{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.raw-button{background:var(--ink-soft);border:1px solid var(--line);min-height:75px;padding:11px;position:relative;overflow:hidden}.raw-button:after{content:"";pointer-events:none;background:var(--signal-soft);opacity:calc(var(--input-value) * 1);position:absolute;inset:0}.raw-button>div{justify-content:space-between;align-items:center;display:flex}.raw-button b,.raw-button strong,.raw-button span{z-index:1;font-family:var(--mono);position:relative}.raw-button b{font-size:10px}.raw-button span{color:var(--muted);font-size:6px}.raw-button strong{color:var(--paper-dim);margin-top:13px;font-size:13px;font-weight:400;display:block}.raw-button>i{z-index:1;background:#282c31;height:2px;position:absolute;bottom:9px;left:10px;right:10px}.raw-button>i span{background:var(--signal);height:100%;display:block}.raw-button.is-active{border-color:#d9ff4380}.raw-button.is-active strong,.raw-button.is-active span{color:var(--signal)}.inspector-side{flex-direction:column;gap:14px;display:flex}.axis-list{gap:18px;display:grid}.raw-axis>div:first-child{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.raw-axis b,.raw-axis strong{font-family:var(--mono);font-size:9px}.raw-axis strong{color:var(--paper-dim);font-weight:400}.axis-track{background:#292d32;height:5px;position:relative}.axis-track i{z-index:1;background:#5c6269;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.axis-track span{z-index:2;background:var(--signal);border-radius:1px;width:7px;height:13px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #d9ff434d}.event-list{flex-direction:column;display:flex}.event-row{min-height:29px;color:var(--paper-dim);font-family:var(--mono);border-top:1px solid #26292e;grid-template-columns:62px 35px 1fr auto;align-items:center;gap:8px;font-size:7px;display:grid}.event-row time{color:var(--muted)}.event-row b{color:var(--signal);font-size:8px}.event-row strong{font-weight:400}.muted-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:20px 0;font-size:12px}.mapping-section{padding-bottom:120px;position:relative}.mapping-actions{gap:7px;display:flex}.file-button{cursor:pointer;align-items:center;display:inline-flex}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.mapping-workspace{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:14px;display:grid}.profile-panel{padding:22px;position:sticky;top:92px}.saved-state,.draft-state{border-radius:2px;padding:4px 6px}.saved-state{background:var(--signal-soft);color:var(--signal)!important}.draft-state{background:#ff714d1f;color:var(--orange)!important}.profile-panel label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:18px 0;font-size:9px;font-weight:600;display:block}.profile-panel label>strong{float:right;color:var(--signal);font-family:var(--mono);font-weight:500}input:not([type=checkbox]):not([type=range]),textarea,select{width:100%;color:var(--paper);border:1px solid var(--line-strong);background:#17191c;border-radius:2px}input:not([type=checkbox]):not([type=range]),select{height:38px;padding:0 10px}textarea{resize:vertical;margin-top:8px;padding:9px 10px;line-height:1.45;display:block}.profile-panel input,.profile-panel select{margin-top:8px}input[type=range]{width:100%;accent-color:var(--signal);margin:13px 0 0}.profile-meta{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);gap:7px 10px;padding-top:17px;font-size:8px;display:grid}.profile-meta span{color:var(--muted)}.profile-meta code{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bindings-panel{overflow:hidden}.binding-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);min-height:55px;display:grid}.binding-tabs button{color:var(--muted);border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:0 20px;font-weight:600;display:flex}.binding-tabs button:last-child{border-right:0}.binding-tabs button.active{color:var(--paper);background:var(--ink-soft);box-shadow:inset 0 -2px var(--signal)}.binding-tabs button span{color:var(--muted);font-family:var(--mono);font-size:8px}.binding-help{color:var(--muted);border-bottom:1px solid var(--line);background:#131518;align-items:center;gap:8px;padding:14px 20px;font-size:10px;display:flex}.capture-dot{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.capture-dot.recording{background:var(--orange);animation:.8s ease-in-out infinite pulse;box-shadow:0 0 0 4px #ff714d1f}.binding-list{padding:5px 0}.binding-row{border-bottom:1px solid #272a2f;grid-template-columns:42px minmax(130px,1fr) 100px 62px 78px;align-items:center;gap:11px;min-height:60px;padding:8px 16px;display:grid;box-shadow:inset 2px 0 #0000}.binding-row.axis-binding{grid-template-columns:42px minmax(130px,1fr) 90px 60px 76px 78px}.binding-row:last-child{border-bottom:0}.binding-row.is-active{background:var(--signal-soft);box-shadow:inset 2px 0 var(--signal)}.binding-row.is-capturing{box-shadow:inset 2px 0 var(--orange);background:#ff714d1a}.semantic-key{width:34px;height:34px;color:var(--paper-dim);border:1px solid var(--line-strong);font-family:var(--mono);background:#191c1f;border-radius:50%;place-items:center;font-size:8px;font-weight:600;display:grid}.binding-row>div b,.binding-row>div small{display:block}.binding-row>div b{margin-bottom:4px;font-size:11px;font-weight:600}.binding-row>div small{color:var(--muted);font-family:var(--mono);text-transform:uppercase;font-size:7px}.binding-row select{height:32px;font-family:var(--mono);font-size:9px}.binding-row output{color:var(--paper-dim);font-family:var(--mono);text-align:right;font-size:9px}.learn-button,.invert-button{min-height:30px;color:var(--paper-dim);border:1px solid var(--line-strong);background:#1a1d20;font-size:9px}.learn-button:hover,.invert-button:hover:not(:disabled),.invert-button.active{color:var(--ink);background:var(--signal);border-color:var(--signal)}.binding-row.is-capturing .learn-button{color:var(--paper);background:var(--orange);border-color:var(--orange)}.invert-button:disabled{cursor:not-allowed;opacity:.35}.toast{z-index:70;color:var(--ink);background:var(--signal);pointer-events:none;opacity:0;border-radius:2px;padding:13px 18px;font-size:12px;font-weight:700;transition:opacity .18s,transform .18s;position:fixed;bottom:28px;right:28px;transform:translateY(10px);box-shadow:0 12px 40px #00000073}.toast.show{opacity:1;transform:translateY(0)}.workflow-preview{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:14px;display:grid}.workflow-preview>div{background:var(--ink-raised);min-height:190px;padding:25px}.workflow-preview span{color:var(--signal);font-family:var(--mono);font-size:9px}.workflow-preview h3{margin:38px 0 8px;font-size:20px;font-weight:500}.workflow-preview p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}footer{width:min(1440px,100% - 7vw);min-height:110px;color:var(--muted);border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;margin:80px auto 0;font-size:10px;display:grid}footer>p:nth-child(2){text-align:center}footer a{color:var(--paper-dim)}.footer-privacy{font-family:var(--mono);text-transform:uppercase;justify-self:end;align-items:center;gap:7px;font-size:8px;display:flex}.footer-privacy span{background:var(--signal);border-radius:50%;width:6px;height:6px}@media (max-width:1100px){.live-grid{grid-template-columns:1fr}.device-facts{border-top:1px solid var(--line);border-left:0;grid-template-columns:auto minmax(0,1fr) 180px;align-items:center;gap:25px;display:grid}.device-facts dl{grid-template-columns:repeat(5,1fr);margin:0;display:grid}.device-facts dl>div{border:0;border-left:1px solid var(--line);padding:6px 10px}.device-facts .privacy-note{grid-column:3;margin-top:-18px}.inspector-grid{grid-template-columns:1fr}.inspector-side{grid-template-columns:1fr 1fr;display:grid}.mapping-heading{flex-direction:column;align-items:flex-start;gap:24px}.mapping-actions{width:100%}.mapping-actions>*{flex:1;justify-content:center}}@media (max-width:850px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}main,footer{width:min(100% - 32px,1440px)}.device-controls .polling-status{display:none}.controller-stage{min-height:440px;padding-inline:0}.controller{width:94%}.device-facts{grid-template-columns:1fr}.device-facts .section-label{display:none}.device-facts dl{grid-template-columns:repeat(3,1fr)}.device-facts dl>div{border-left:0;border-right:1px solid var(--line)}.device-facts .privacy-note{grid-column:auto;margin:0}.mapping-workspace{grid-template-columns:1fr}.profile-panel{position:static}.workflow-preview{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}footer>p:nth-child(2){display:none}}@media (max-width:620px){.site-header{min-height:64px;padding-inline:16px}.brand-product{display:none}.connection-pill{font-size:0}.connection-pill:after{content:"STATUS";font-size:8px}main{padding-top:14px}.device-bar{align-items:flex-start}.device-index{width:40px;height:40px}.device-identity h2{max-width:57vw;font-size:13px}.device-controls{align-self:center}.device-controls select{display:none}.live-panel{min-height:0}.controller-stage{min-height:310px}.controller-stage:before,.controller-stage:after{display:none}.controller{width:110%;transform:scale(.92)}.trigger-control,.bumper-control{padding-inline:10px}.stick-cap{box-shadow:inset 0 0 0 3px #272a2e,0 4px 6px #0000006b}.rear-controls{bottom:10%}.device-facts dl{grid-template-columns:1fr 1fr}.device-facts{padding:18px}.section-block{padding-top:78px}.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.section-heading h2{font-size:38px}.button-matrix{grid-template-columns:repeat(2,1fr)}.inspector-side{grid-template-columns:1fr}.mapping-actions{grid-template-columns:1fr 1fr;display:grid}.binding-tabs button{padding-inline:14px}.binding-row,.binding-row.axis-binding{grid-template-columns:36px minmax(100px,1fr) 74px 58px;gap:8px;padding-inline:10px}.binding-row output,.binding-row.axis-binding .invert-button{display:none}.semantic-key{width:30px;height:30px}.workflow-preview{grid-template-columns:1fr}.workflow-preview>div{min-height:140px}.workflow-preview h3{margin-top:28px}footer{min-height:90px;margin-top:40px}}.controller-view-tools{z-index:20;align-items:center;gap:6px;display:flex;position:absolute;top:9px;left:18px}.controller-view-tools>span{color:#ffffff57;font-family:var(--mono);letter-spacing:.08em;margin-right:4px;font-size:7px}.layout-tune-button,.layout-reset-button{min-height:26px;color:var(--paper-dim);border:1px solid var(--line-strong);font-family:var(--mono);cursor:pointer;background:#111316d1;border-radius:2px;padding:0 10px;font-size:8px}.layout-tune-button:hover,.layout-tune-button.active{color:var(--ink);background:var(--signal);border-color:var(--signal)}.layout-reset-button:hover{color:var(--paper);border-color:var(--purple)}.layout-tune-hint{z-index:20;color:var(--signal);font-family:var(--mono);letter-spacing:.06em;margin:0;font-size:7px;position:absolute;bottom:9px;left:18px}.controller.is-tuning .schematic-body{filter:saturate(.7)brightness(.72)}.schematic-body{z-index:1;clip-path:polygon(10% 5%,30% 0,39% 9%,61% 9%,70% 0,90% 5%,98% 34%,96% 78%,90% 98%,79% 96%,67% 63%,33% 63%,21% 96%,10% 98%,4% 78%,2% 34%);filter:drop-shadow(0 18px 16px #00000057);background:linear-gradient(150deg,#ffffff21,#0000 28%),linear-gradient(165deg,#41474e 0%,#282d32 48%,#171a1e 100%);border-radius:40% 40% 28% 28%/34% 34% 46% 46%;transition:filter .16s;position:absolute;inset:8% 5% 1%;overflow:hidden}.schematic-body:before{content:"";background:radial-gradient(at 50% 0,#ffffff1a,#0000 64%),linear-gradient(#ffffff09,#00000014);border-top:1px solid #ffffff1f;border-radius:50%;position:absolute;inset:9% 20% 37%}.schematic-body:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;bottom:22%;left:13%;right:13%}.schematic-body-panel{background:linear-gradient(#0507093d,#0000 72%);border:1px solid #ffffff0e;border-radius:42% 42% 48% 48%;width:20%;position:absolute;top:16%;bottom:28%;left:40%}.schematic-body-mark{color:#ffffff2b;text-align:center;font-family:var(--mono);letter-spacing:.1em;font-size:6px;position:absolute;bottom:8%;left:0;right:0}.schematic-body-ultimate{clip-path:polygon(9% 7%,29% 0,39% 8%,61% 8%,71% 0,91% 7%,99% 39%,95% 82%,88% 99%,76% 94%,66% 62%,34% 62%,24% 94%,12% 99%,5% 82%,1% 39%);background:linear-gradient(150deg,#ffffff26,#0000 30%),linear-gradient(165deg,#4b5158 0%,#2b3035 50%,#171a1e 100%)}.schematic-body-retro{clip-path:polygon(9% 9%,31% 0,40% 7%,60% 7%,69% 0,91% 9%,98% 43%,93% 83%,83% 96%,70% 89%,62% 69%,38% 69%,30% 89%,17% 96%,7% 83%,2% 43%);background:linear-gradient(148deg,#ffffff29,#0000 31%),linear-gradient(165deg,#555b62 0%,#30353a 52%,#1b1e22 100%);border-radius:31% 31% 24% 24%/28% 28% 34% 34%;inset:12% 7% 3%}.schematic-body-xbox{clip-path:polygon(8% 7%,28% 0,39% 10%,61% 10%,72% 0,92% 7%,99% 37%,96% 78%,88% 99%,77% 95%,66% 61%,34% 61%,23% 95%,12% 99%,4% 78%,1% 37%);background:linear-gradient(150deg,#ffffff1f,#0000 31%),linear-gradient(165deg,#3b4244 0%,#242a2b 52%,#141819 100%)}.schematic-body-dualsense{clip-path:polygon(11% 6%,30% 0,40% 10%,60% 10%,70% 0,89% 6%,98% 35%,96% 76%,90% 99%,78% 95%,67% 61%,33% 61%,22% 95%,10% 99%,4% 76%,2% 35%);background:linear-gradient(150deg,#ffffff94,#0000 31%),linear-gradient(165deg,#e3e5e6 0%,#aeb4b8 54%,#717980 100%)}.schematic-body-dualsense .schematic-body-panel{background:linear-gradient(#252a30 0%,#161a1fc2 82%,#0000);border-color:#00000057}.schematic-body-dualsense .schematic-body-mark{color:#0f121552}.visual-cluster{z-index:7;position:absolute}.visual-cluster[data-cluster=LEFT\ STICK],.visual-cluster[data-cluster=RIGHT\ STICK]{aspect-ratio:1;width:13%}.visual-cluster[data-cluster=D-PAD]{aspect-ratio:1;width:15%}.visual-cluster[data-cluster=FACE\ BUTTONS]{aspect-ratio:1;width:17%}.visual-cluster[data-cluster=SYSTEM]{width:106px;height:28px}.visual-cluster[data-cluster=EXTRA\ BUTTONS]{width:40%;min-height:30px}.visual-cluster>.stick,.visual-cluster>.dpad,.visual-cluster>.face-cluster,.visual-cluster>.system-buttons,.visual-cluster>.rear-controls{width:100%;position:absolute;inset:0}.visual-cluster>.stick,.visual-cluster>.dpad,.visual-cluster>.face-cluster{aspect-ratio:1}.visual-cluster>.system-buttons{align-items:center;display:flex}.visual-cluster>.rear-controls{display:grid}.visual-cluster.is-tuneable{cursor:grab;touch-action:none;outline-offset:6px;outline:1px dashed #d9ff43a8}.visual-cluster.is-tuneable:active{cursor:grabbing}.visual-cluster.is-tuneable:before{content:attr(data-cluster);z-index:20;color:var(--ink);background:var(--signal);font-family:var(--mono);letter-spacing:.05em;white-space:nowrap;padding:2px 4px;font-size:6px;position:absolute;bottom:calc(100% + 8px);left:0}.device-reference{min-height:82px;color:var(--paper-dim);border:1px solid var(--line);background:#ffffff06;align-items:center;gap:10px;margin-top:13px;padding:7px 9px;text-decoration:none;display:flex}.device-reference:hover{border-color:var(--line-strong)}.device-reference-art{aspect-ratio:1.349;background:radial-gradient(circle,#ffffff14,#0000 70%);flex:0 0 84px;width:84px;position:relative;overflow:hidden}.device-reference-art img{pointer-events:none;max-width:none;position:absolute}.device-reference.controller-8bitdo-ultimate-2 .device-reference-art img,.device-reference.controller-8bitdo .device-reference-art img,.device-reference.controller-8bitdo-pro-3 .device-reference-art img{width:508.5%;height:100%;top:0;left:-204.2%}.device-reference.controller-xbox .device-reference-art,.device-reference.controller-generic .device-reference-art{aspect-ratio:1.437}.device-reference.controller-xbox .device-reference-art img,.device-reference.controller-generic .device-reference-art img{width:164.6%;top:-16.8%;left:-32.3%}.device-reference.controller-playstation .device-reference-art{aspect-ratio:1.511}.device-reference.controller-playstation .device-reference-art img{width:165.9%;top:-33%;left:-32.9%}.device-reference-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.device-reference-copy small{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;font-size:6px}.device-reference-copy b{text-overflow:ellipsis;font-size:9px;overflow:hidden}@media (max-width:1100px){.device-reference{display:none}}@media (max-width:620px){.controller-view-tools>span,.controller-stage:after{display:none}.controller-view-tools{top:6px;left:7px}.visual-cluster[data-cluster=SYSTEM]{width:88px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body,#root,#top{height:100%}body{overflow:hidden}#top{grid-template-rows:72px minmax(0,1fr);display:grid}.site-header{min-height:0;position:relative}.site-header nav button{color:var(--paper-dim);cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:13px;font-weight:600;position:relative}.site-header nav button:after{content:"";background:var(--signal);opacity:0;height:2px;transition:opacity .15s,transform .15s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(.55)}.site-header nav button:hover,.site-header nav button.active{color:var(--paper)}.site-header nav button.active:after{opacity:1;transform:scaleX(1)}.site-header nav button:disabled{cursor:not-allowed;opacity:.32}main{height:100%;min-height:0;padding:14px 0}.live-panel,.section-block{height:100%;min-height:0}.live-panel{flex-direction:column;display:flex}.device-bar{flex:0 0 66px;min-height:0;padding-block:9px}.device-index{width:44px;height:44px}.live-grid{flex:1;min-height:0}.controller-stage{min-height:0;padding:26px 28px 30px;overflow:visible}.controller-stage:before{bottom:9px}.controller-stage:after{top:9px}.device-facts{padding:20px;overflow:auto}.device-facts dl{margin:18px 0}.device-facts dl>div{padding:11px 0}.empty-stage{flex:1;min-height:0;padding:28px 24px}.empty-pad{margin-bottom:22px}.controller{aspect-ratio:1.65;width:min(780px,91%);transform:none}.controller-shadow{z-index:0;height:13%;bottom:4%;left:18%;right:18%}.controller-shell{z-index:2;clip-path:none;box-shadow:none;background:0 0;border:0;border-radius:0;inset:2% 0 7%;overflow:visible}.controller-xbox .controller-shell,.controller-generic .controller-shell,.controller-playstation .controller-shell,.controller-8bitdo .controller-shell,.controller-8bitdo-ultimate-2 .controller-shell,.controller-8bitdo-pro-3 .controller-shell{clip-path:none;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.controller-photo{z-index:1;aspect-ratio:1.349;filter:drop-shadow(0 16px 20px #00000047);background:0 0;width:78%;position:absolute;top:48%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.controller-photo img{-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;position:absolute}.controller-8bitdo-ultimate-2 .controller-photo img,.controller-8bitdo .controller-photo img,.controller-8bitdo-pro-3 .controller-photo img{width:508.5%;height:100%;top:0;left:-204.2%}.controller-xbox .controller-photo,.controller-generic .controller-photo{aspect-ratio:1.437;background:0 0;width:70%}.controller-xbox .controller-photo img,.controller-generic .controller-photo img{width:164.6%;top:-16.8%;left:-32.3%}.controller-playstation .controller-photo{aspect-ratio:1.511;background:0 0;width:70%}.controller-playstation .controller-photo img{width:165.9%;top:-33%;left:-32.9%}.shell-highlight{display:none}.shoulder{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111316e6;border-color:#d9ff4347;width:17%;height:9%}.shoulder-left{left:22%;transform:none}.shoulder-right{right:22%;transform:none}.shoulder.trigger{border-radius:10px 10px 3px 3px;height:8%;top:-3%}.shoulder.bumper{border-radius:4px;top:5%}.trigger-control,.bumper-control{padding:0 12px}.stick{z-index:7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c0e61;border-color:#d9ff4373;width:13%;box-shadow:inset 0 0 0 1px #0006,0 0 0 3px #d9ff430f}.stick-left{top:22%;left:20%}.stick-right{top:48%;right:34%}.stick-cap{width:54%;height:54%;box-shadow:none;background:#121518e6;border-color:#d9ff4373}.axis-readout{color:#ffffff9e;font-size:7px;bottom:-15px}.dpad{z-index:7;width:15%;top:47%;left:32%}.dpad .small-control{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1114d6;border-color:#d9ff4357}.dpad-center{background:#0f1114d6}.face-cluster{z-index:7;width:17%;top:17%;right:14%}.face-button{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1114d6;border-color:#ffffff75;box-shadow:0 2px 8px #00000061}.controller-playstation .face-button{color:#dfe5ea;background:#101318c7;border-color:#75a7ff8c}.controller-8bitdo-ultimate-2 .face-south,.controller-8bitdo .face-south{color:#83d46a}.controller-8bitdo-ultimate-2 .face-east,.controller-8bitdo .face-east{color:#ff6c61}.controller-8bitdo-ultimate-2 .face-west,.controller-8bitdo .face-west{color:#6eb8ff}.controller-8bitdo-ultimate-2 .face-north,.controller-8bitdo .face-north{color:#ffd35a}.controller-8bitdo-pro-3 .face-south{color:#ff6c61}.controller-8bitdo-pro-3 .face-east{color:#ffd35a}.controller-8bitdo-pro-3 .face-west{color:#6eb8ff}.controller-8bitdo-pro-3 .face-north{color:#83d46a}.system-buttons{z-index:7;top:21%;left:43%}.system-control,.home-control{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1114db;border-color:#d9ff4357}.rear-controls{z-index:8;bottom:-2%;left:30%;right:30%}.rear-control{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f1114eb;border-color:#b895ff80}.artwork-credit{z-index:10;color:#ffffff6b;font-family:var(--mono);letter-spacing:.04em;font-size:7px;text-decoration:none;position:absolute;bottom:-1px;right:0}.artwork-credit:hover{color:var(--signal)}.controller-8bitdo-pro-3 .stick-left,.controller-playstation .stick-left{top:49%;left:31%}.controller-8bitdo-pro-3 .stick-right,.controller-playstation .stick-right{top:49%;right:31%}.controller-8bitdo-pro-3 .dpad,.controller-playstation .dpad{top:20%;left:19%}.controller-8bitdo-pro-3 .face-cluster,.controller-playstation .face-cluster{top:18%;right:15%}.controller-8bitdo-pro-3 .system-buttons,.controller-playstation .system-buttons{top:26%;left:43%}.section-block{flex-direction:column;padding:0;display:flex}.section-heading{flex:none;align-items:center;margin-bottom:12px}.section-heading .eyebrow{margin-bottom:4px}.section-heading h2{max-width:none;font-size:clamp(21px,2vw,30px);line-height:1.05}.inspector-grid,.mapping-workspace{flex:1;min-height:0}.inspector-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr)}.raw-panel,.axes-panel,.event-panel{min-height:0;padding:15px}.raw-panel,.axes-panel,.event-panel,.profile-panel,.binding-list{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;overflow:auto}.panel-heading{margin-bottom:12px}.button-matrix{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.raw-button{min-height:62px;padding:9px}.raw-button strong{margin-top:9px}.inspector-side{gap:10px;min-height:0}.axes-panel{flex:0 auto}.axis-list{gap:13px}.event-panel{flex:1 1 0}.mapping-section{padding-bottom:0}.mapping-heading{align-items:center}.mapping-workspace{align-items:stretch}.profile-panel{padding:15px;position:static}.profile-panel label{margin:12px 0}.profile-panel textarea{resize:none;max-height:72px}.bindings-panel{flex-direction:column;min-height:0;display:flex}.binding-tabs{flex:0 0 48px;min-height:0}.binding-help{flex:none;padding:10px 16px}.binding-list{flex:1;min-height:0;padding:0}.binding-row{min-height:52px;padding-block:6px}@media (max-width:1100px){.live-grid{grid-template-rows:minmax(0,1fr) auto}.controller-stage{min-height:0}.controller{width:min(680px,88%)}.device-facts{grid-template-columns:auto minmax(0,1fr) 150px;gap:16px;padding:12px 16px}.device-facts dl>div{padding:4px 7px}.device-facts dt{margin-bottom:4px}.device-facts .privacy-note{display:none}.inspector-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}.inspector-side{display:flex}}@media (max-width:850px){#top{grid-template-rows:64px minmax(0,1fr)}.site-header{grid-template-columns:auto 1fr;gap:16px}.site-header nav{justify-content:flex-end;gap:18px;display:flex}.connection-pill{display:none}main{width:min(100% - 24px,1440px);padding:10px 0}.device-bar{flex-basis:58px}.controller-stage{min-height:0}.controller{width:min(620px,96%);transform:none}.device-facts{grid-template-columns:1fr 150px}.device-facts dl{grid-template-columns:repeat(5,1fr)}.device-facts .section-label{display:none}.inspector-grid,.mapping-workspace{grid-template-columns:1fr;display:grid;overflow:auto}.inspector-side{grid-template-columns:1fr 1fr;display:grid}.raw-panel,.profile-panel,.bindings-panel{min-height:480px}.mapping-workspace{align-items:start}}@media (max-width:620px){.site-header{padding-inline:12px}.site-header nav{gap:11px}.site-header nav button{font-size:10px}.device-identity h2{max-width:48vw}.controller-stage{padding:12px 0 20px}.controller{width:99%}.shoulder{display:none}.rear-controls{left:25%;right:25%}.artwork-credit{font-size:6px;right:5px}.device-facts{display:none}.section-heading{flex-direction:row;align-items:center;gap:12px}.section-heading h2{display:none}.section-heading .eyebrow{margin:0}.mapping-actions{width:auto;display:flex}.mapping-actions .secondary-button:first-of-type,.mapping-actions .secondary-button:nth-of-type(2){display:none}}.controller-shell>.visual-cluster>.stick,.controller-shell>.visual-cluster>.dpad,.controller-shell>.visual-cluster>.face-cluster,.controller-shell>.visual-cluster>.system-buttons,.controller-shell>.visual-cluster>.rear-controls{width:100%;inset:0}
