:root{--primary:#c91010;--primary-glow:rgba(201, 16, 16, 0.4);--secondary:#2a2a2a;--highlight:#1edfff;--text:#f5f5f5;--text-muted:rgba(255, 255, 255, 0.6);--surface:rgba(20, 20, 20, 0.85);--surface-border:rgba(255, 255, 255, 0.06);--radius:0.75rem;--radius-lg:1rem}*,::after,::before{box-sizing:border-box}html{scrollbar-color:rgba(201,16,16,0.5) var(--secondary);scrollbar-width:thin;height:100%;margin:0;overflow-x:hidden;background-color:#0e0e0e;background-image:radial-gradient(ellipse at 20% 0,rgba(180,30,30,.09) 0,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(140,20,20,.06) 0,transparent 60%);background-attachment:fixed}body{font-family:Inter,sans-serif;color:var(--text);margin:0;line-height:1.6;overflow-x:hidden}code{font-family:monospace;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:.1em .45em;border-radius:.35em;font-size:.92em}.mainpage{max-width:1100px;margin:0 auto;padding:0 1rem}.mainpage fieldset,.mainpage section{width:100%}h1{font-family:'Space Grotesk',sans-serif;text-align:center;font-weight:700;letter-spacing:-.02em;text-transform:uppercase}h2{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:.03em;text-transform:uppercase}h3{font-family:'Space Grotesk',sans-serif;font-weight:600;text-transform:uppercase}ul{list-style-type:square}img{max-width:100%;height:auto}.hidden{display:none}.flex-center{display:flex;align-items:center}.button-row{display:flex;flex-wrap:wrap;gap:5px}.warning-message{font-size:large;text-align:center;color:var(--primary)}.empty-state{color:var(--text-muted);padding:2rem 0;font-style:italic}a{color:var(--text);text-decoration:none;border-radius:var(--radius);padding:.15em .4em;display:inline-block;transition:color .2s ease,background .2s ease,box-shadow .2s ease}a:hover{color:#fff;background:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.siteHeader{top:0;z-index:1000;padding:1rem 0 0}.logoContainer{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 auto;width:fit-content;cursor:pointer;transition:opacity .2s,transform .2s}.logoContainer:hover{transform:scale(1.03);opacity:.9}.headerImage{display:block;width:clamp(150px,18vw,300px);padding:.5rem;border-radius:var(--radius-lg)}.workshopText{font-family:'Space Grotesk',sans-serif;font-size:clamp(.8rem, 1.2vw, 1.4rem);font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.1em;text-shadow:0 0 10px rgba(201,16,16,.3)}.logoContainer:hover .workshopText{text-shadow:0 0 15px rgba(201,16,16,.5)}.navHamburger{display:none}.topNav{font-family:'Space Grotesk',sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:.5rem auto;background:rgba(14,14,14,.8);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:.6rem 1rem;box-sizing:border-box;text-align:center;display:flex;justify-content:center;width:fit-content;position:sticky;top:.5rem;z-index:1000;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topNav ul{list-style-type:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem}.topNav li{display:inline-block}.topNav a{color:var(--text-muted);text-decoration:none;padding:.4rem .75rem;border-radius:var(--radius);transition:color .2s,background .2s}.topNav a:hover{color:#fff;background:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.button,button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;text-align:center;text-decoration:none;color:var(--text);cursor:pointer;background:var(--secondary);border:1px solid var(--surface-border);border-radius:var(--radius);padding:.65em 1.4em;font-weight:600;font-size:.9rem;transition:border-color .2s,box-shadow .2s,transform .15s,color .2s}.button:hover,button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-1px);color:#fff}.button[disabled],button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default;opacity:.4;display:none}select{display:inline-block;appearance:none;-webkit-appearance:none;text-align:center;text-decoration:none;color:var(--text);cursor:pointer;background:var(--secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right .75em center;background-size:1em;border:1px solid var(--surface-border);border-radius:var(--radius);padding:.6em 2.5em .6em 1.2em;font-weight:600;font-size:.9rem;font-family:inherit;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .15s;margin-top:.5em}select:focus,select:hover{background-color:var(--primary);border-color:var(--primary);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-1px);outline:0}select option{background-color:var(--secondary);color:var(--text);padding:.5em 1em}input[type=number],input[type=search],input[type=text]{color:var(--text);background:var(--secondary);border:1px solid var(--surface-border);border-radius:var(--radius);padding:.6em 1em;font-size:.9rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;margin-top:.5em}input[type=number]:focus,input[type=number]:hover,input[type=search]:focus,input[type=search]:hover,input[type=text]:focus,input[type=text]:hover{border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow);outline:0}input[type=checkbox]{appearance:none;width:1.1em;height:1.1em;background:var(--secondary);border:1px solid var(--surface-border);border-radius:.25em;cursor:pointer;vertical-align:middle;transition:border-color .2s,background .2s;position:relative}input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text);font-size:.75em;font-weight:700}input[type=checkbox]:hover{border-color:var(--primary);box-shadow:0 0 6px var(--primary-glow)}input[type=file]{color:var(--text-muted);background:var(--secondary);border:1px solid var(--surface-border);border-radius:var(--radius);padding:.5em .75em;font-size:.85rem;cursor:pointer;transition:border-color .2s;margin-top:.5em}input[type=file]:hover{border-color:var(--primary)}input[type=color]{width:2.5rem;height:2.5rem;padding:2px;background:var(--secondary);border:1px solid var(--surface-border);border-radius:var(--radius);cursor:pointer;transition:border-color .2s}input[type=color]:hover{border-color:var(--primary)}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:calc(var(--radius) - 2px)}legend{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 .5em}.shortcutNav,fieldset,section{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,.3);margin:1em auto .5em;width:90%;max-width:1100px;padding:1.5em;font-size:.95rem}fieldset:nth-child(2n),section:nth-child(2n){background-color:rgba(10,10,10,.5)}.table-container{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,.3);margin:1em auto .5em;width:90%;max-width:1100px;padding:1.5em;overflow:hidden}table{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:0 2px 12px rgba(0,0,0,.3);width:90%;max-width:800px;margin:0 auto;padding:.75em;border-collapse:separate;border-spacing:0}td,th{background:rgba(20,20,20,.6);border:1px solid var(--surface-border);border-radius:var(--radius);padding:.75em;text-align:center;font-size:.9rem}th{background-color:var(--primary);font-weight:600}.pressed{background-color:var(--primary);color:var(--text)}.deviceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem}.deviceItem{white-space:normal;padding:1rem;text-align:center;border-radius:var(--radius-lg);border:1px solid var(--surface-border);background:rgba(255,255,255,.02);transition:border-color .2s,box-shadow .2s,transform .15s}.deviceItem:hover{border-color:var(--primary);box-shadow:0 4px 20px var(--primary-glow);transform:translateY(-2px)}.DeviceImage{width:100%;max-width:150px;height:auto;display:block;margin:.5rem auto}.customShopNav{text-align:center;padding:1rem 0}.deviceName{display:inline-block;font-size:.9rem;font-weight:600;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:.5em 1.2em;transition:background .2s,box-shadow .2s,transform .15s}.deviceName:hover{background:var(--primary);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-1px)}.deviceName.active{background:var(--primary);color:#fff}.deviceList{list-style-type:none}.center,.homepage{text-align:center;max-width:1100px;margin:0 auto;padding:0 1rem}.hero-section{padding:4rem 1rem 3rem}.hero-section h1{font-size:clamp(1.8rem, 4vw, 2.8rem);margin-bottom:.5rem}.hero-section p{color:var(--text-muted);max-width:600px;margin:0 auto 2rem;font-size:1.05rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-buttons .button{padding:.8em 2em;font-size:1rem}.features{max-width:900px;margin:0 auto 3rem;padding:0 1rem}.features hr{border:none;border-top:1px solid var(--surface-border);margin:0}.feature{padding:1.5rem 0;display:block;text-decoration:none;color:inherit;border-radius:var(--radius);transition:background .2s,box-shadow .2s}.feature:hover{background:rgba(255,255,255,.04);box-shadow:0 2px 12px rgba(0,0,0,.3);color:inherit}.feature:hover h2{text-decoration:underline}.feature h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin:0 0 .4rem}.feature p{color:var(--text-muted);margin:0;font-size:.95rem}.feature img.feature-screenshot{width:100%;max-width:700px;border-radius:8px;border:1px solid var(--surface-border);margin-top:1rem;display:block;margin-left:auto;margin-right:auto}.feature-screenshots-row{display:flex;gap:1rem;margin-top:1rem;align-items:flex-start;justify-content:center}.feature-screenshots-row .feature-screenshot{margin-top:0;height:auto}.feature-screenshots-row .feature-screenshot:first-child{flex:3;min-width:0}.feature-screenshots-row .feature-screenshot:last-child{flex:1;min-width:0}.sidebar{height:100%;width:auto;max-width:0;position:fixed;z-index:1001;top:0;left:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;white-space:nowrap;transition:max-width .25s ease;margin-top:0;padding-top:5rem;background:rgba(14,14,14,.95);border-right:1px solid var(--surface-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sidebar::-webkit-scrollbar{display:none}.sidebar a{padding:.6em 1em;font-size:.85rem;font-weight:500;text-decoration:none;color:var(--text-muted);display:block;transition:color .15s,background .15s;margin:.2em .5em;border-radius:var(--radius)}.sidebar a:hover{color:#fff;background:var(--primary)}.sidebar .closebtn{position:absolute;right:0;top:50%;transform:translateY(-50%);height:clamp(8em,25vh,14em);width:1.25em;font-size:.9rem;padding:0;border-radius:var(--radius) 0 0 var(--radius);color:var(--text);background:var(--primary);border:none;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center;line-height:1}#openBtn{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:999;height:clamp(8em,25vh,14em);width:1.25em;font-size:.9rem;padding:0;border-radius:0 var(--radius) var(--radius) 0;color:var(--text);background:var(--primary);border:none;cursor:pointer;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}#sidebarBackdrop{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.5)}#main{transition:margin-left .3s ease;padding:1rem}.shortcutNav{width:18em;position:fixed;height:40%;overflow-y:auto}.listIndex{display:inline-block;width:200px}.tester-section{width:90%;max-width:900px;margin:1.5rem auto}.tester-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--surface-border)}.button-grid{display:flex;flex-wrap:wrap;gap:.4rem}.button-pill{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius);background:var(--secondary);border:1px solid var(--surface-border);font-size:.75rem;font-weight:600;color:var(--text-muted);transition:background .1s,color .1s,border-color .1s}.button-pill.pressed{background:var(--primary);border-color:var(--primary);color:#fff}.dpad-row{display:flex;gap:3rem;align-items:flex-start}.dpad-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dpad-label{font-size:.8rem;color:var(--text-muted);font-weight:500}.dpad{display:grid;grid-template-columns:2rem 2rem 2rem;grid-template-rows:2rem 2rem 2rem;gap:3px}.dpad-arm{background:var(--secondary);border:1px solid var(--surface-border);border-radius:3px;transition:background .1s,border-color .1s}.dpad-center{grid-column:2;grid-row:2;background:var(--secondary);border:1px solid var(--surface-border);border-radius:3px;transition:background .1s,border-color .1s}.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}.dpad-arm.active,.dpad-center.active{background:var(--primary);border-color:var(--primary)}.analog-bars{display:flex;flex-direction:column;gap:.75rem}.analog-bar-row{display:grid;grid-template-columns:7rem 1fr 2.5rem;align-items:center;gap:.75rem}.analog-bar-label{font-size:.875rem;color:var(--text-muted)}.analog-bar-track{height:.625rem;background:var(--secondary);border:1px solid var(--surface-border);border-radius:999px;overflow:hidden}.analog-bar-fill{height:100%;width:0%;background:var(--primary);border-radius:999px;transition:width 50ms}.analog-bar-pct{font-size:.8rem;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}#gamepadTable{background:0 0;border:none;box-shadow:none;width:100%;max-width:none;margin:0;padding:0}#gamepadTable td{background:var(--secondary);text-align:left;vertical-align:middle;padding:.6rem .75rem}#gamepadTable td:first-child{width:100%;font-weight:500;border-right:none;border-radius:var(--radius) 0 0 var(--radius)}#gamepadTable td:last-child{border-left:none;border-radius:0 var(--radius) var(--radius) 0;white-space:nowrap}#gamepadTable tr.selected td{background:rgba(201,16,16,.08);border-color:var(--primary);color:inherit}#gamepadTable tr.selected td:first-child{border-left-width:3px}.device-select-tester{background:0 0;border:1px solid var(--surface-border);border-radius:var(--radius);padding:.25rem .75rem;font-size:.8rem;font-weight:500;color:var(--text-muted);cursor:pointer;width:auto;margin:0;transition:border-color .2s,color .2s}.device-select-tester:hover{border-color:var(--primary);color:var(--text);box-shadow:none;transform:none}.download-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:1.5rem;width:90%;max-width:800px;margin:0 auto 1.5rem}.download-card-header{display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--surface-border)}.download-card-icon{width:3rem;height:3rem;flex-shrink:0}.download-card-title{margin:0 0 .25rem;font-size:1.1rem}.download-card-desc{margin:0;font-size:.875rem;color:var(--text-muted)}.download-card-body{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.download-links{flex:1;min-width:0;display:flex;flex-direction:column;gap:.75rem}.download-latest{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.download-standalone{font-size:.875rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.download-standalone:hover{color:var(--primary)}details.download-older>summary{cursor:pointer;font-size:.85rem;color:var(--text-muted);padding:.25rem 0;user-select:none;list-style:none}details.download-older>summary::before{content:'▶  ';font-size:.65rem;transition:transform .15s;display:inline-block}details.download-older[open]>summary::before{transform:rotate(90deg)}details.download-older>summary:hover{color:var(--text)}.download-older-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.download-older-item{display:flex;align-items:center;gap:.75rem}.download-card .note{margin-top:1rem}.download-card-screenshot{max-width:420px;max-height:260px;width:auto;height:auto;object-fit:contain;border-radius:var(--radius);border:1px solid var(--surface-border);margin-top:1.25rem;display:block}.changelogIcon{width:clamp(40px,8vw,80px);margin-left:10px}.changelog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;width:90%;max-width:900px;margin:0 auto}.changelog-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:1.5rem;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .15s}.changelog-card:hover{border-color:var(--primary);box-shadow:0 4px 20px var(--primary-glow);transform:translateY(-2px);color:inherit}.changelog-card-img-wrap{height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.changelog-card-img-wrap img{max-height:100%;max-width:100%;object-fit:contain}.changelog-card h2{font-size:1rem;font-weight:600;margin:0 0 .4rem}.changelog-card p{font-size:.875rem;color:var(--text-muted);margin:0 0 1rem;flex:1}.changelog-card-link{font-size:.8rem;color:var(--primary);font-weight:600;margin-top:auto}#main>section>section>h3{color:var(--primary)}.changes,.fixes,.knownIssues,.notes{list-style-type:disc;font-size:.8rem;color:var(--text-muted)}.customisationBox{width:auto;display:block;margin-bottom:.5rem;font-weight:600;border-color:var(--primary);border-style:solid;border-radius:var(--radius-lg)}.customizer{color:var(--text);padding:5px 10px;margin-bottom:0;background-color:var(--primary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:none;box-sizing:border-box}[hidden],fieldset[disabled]{display:none!important}.note{color:var(--text-muted);font-size:.9rem;font-style:italic;border-left:3px solid var(--primary);padding-left:.75em;margin:.75em 0}#devicePreview{min-height:110px}#deviceImage{height:100px;width:100px;object-fit:contain;border-radius:var(--radius)}.updater-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.75rem 0}.updater-row label{font-weight:600;min-width:150px;color:var(--text-muted);font-size:.9rem}#releaseNotes{color:var(--text-muted);font-size:.9rem;margin:.5rem 0;font-style:italic}#connectedMessage{color:#4caf50;font-weight:600;margin:.75rem 0}#connectSection p{color:var(--text-muted);font-size:.95rem;margin-bottom:.75rem}#downloadLog,#uploadLog{font-family:monospace;font-size:.85rem;color:var(--text-muted);white-space:pre-wrap}#status{font-size:.85rem}footer{color:var(--text-muted);font-size:.75rem;text-align:center;width:100%;padding:2rem 1rem 1.5rem;margin-top:2rem;border-top:1px solid var(--surface-border)}footer a{color:var(--highlight)}#bodyNav,#sidebarNav{list-style:none;padding-left:0}#bodyNav li,#sidebarNav li{list-style:none}#bodyNav ul,#sidebarNav ul{list-style:none;padding-left:1.2em;margin:0}@media screen and (max-width:768px){#bodyNav,.contentsBox{display:none}.siteHeader{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem 1rem;width:95%}.logoContainer{gap:.3rem}.headerImage{width:clamp(100px,35vw,180px);margin:0}.workshopText{font-size:clamp(.6rem, 3vw, 1rem)}.navHamburger{display:block;background:0 0;border:1px solid var(--surface-border);border-radius:var(--radius);color:var(--text);font-size:1.4rem;cursor:pointer;padding:.2rem .6rem;line-height:1}.topNav{position:static;width:95%;padding:0;max-height:0;overflow:hidden;border:none;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:max-height .25s ease,padding .25s ease}.topNav.navOpen{max-height:40rem;padding:.5rem}.topNav ul{display:flex;flex-direction:column;gap:.1rem;margin-top:0}.topNav li{display:block}.topNav a{display:block;font-size:.85rem;padding:.45rem .75rem}.shortcutNav,.siteHeader,section{width:95%;padding:.75em}.shortcutNav{width:80%;height:50%}.sidebar{padding-top:3rem}#openBtn{height:clamp(6em,20vh,10em);width:1em;font-size:.8rem}.hero-section{padding:2.5rem 1rem 2rem}.features{padding:0 .75rem}.feature-screenshots-row{flex-direction:column}fieldset,section{width:95%;padding:1em}.table-container,table{width:95%}.analog-bar-row{grid-template-columns:1fr 2.5rem;grid-template-rows:auto auto}.analog-bar-label{grid-column:1/-1}.download-card-screenshot{max-width:100%;width:100%;height:auto}}@media (hover:none){.navHamburger:focus,.navHamburger:hover{border-color:var(--surface-border);box-shadow:none;transform:none;color:var(--text);outline:0}}