.ps4-controller-page{width:min(100% - 2rem,76rem);min-width:0;margin:0 auto;padding:1.5rem 0 4rem;overflow-x:hidden}.ps4-controller-shell,.ps4-controller-tool,.ps4-tool-grid,.ps4-controller-stage,.ps4-telemetry,.ps4-controller-guide{min-width:0}.ps4-controller-shell{gap:2.25rem;display:grid}.ps4-controller-tool{border:1px solid rgb(var(--color-border));background:radial-gradient(circle at 0% 0%,rgba(var(--color-accent),.16),transparent 26rem),radial-gradient(circle at 100% 34%,rgba(var(--color-positive),.1),transparent 24rem),rgb(var(--color-fill));box-shadow:var(--shadow-card);border-radius:1.5rem;position:relative;overflow:hidden}.ps4-controller-tool:before{pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(var(--color-border),.45)1px,transparent 1px),linear-gradient(90deg,rgba(var(--color-border),.45)1px,transparent 1px);content:"";background-size:2.8rem 2.8rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 64%);mask-image:linear-gradient(#000,#0000 64%)}.ps4-controller-tool>*{z-index:1;position:relative}.ps4-tool-header,.ps4-player-switcher,.ps4-card-heading,.ps4-tool-meta{align-items:center;display:flex}.ps4-tool-header{border-bottom:1px solid rgb(var(--color-border));background:rgba(var(--color-card),.58);justify-content:space-between;gap:1.25rem;padding:1.2rem 1.35rem}.ps4-tool-header>div:first-child{min-width:0}.ps4-tool-kicker,.ps4-card-kicker,.ps4-stage-state,.ps4-player-switcher,.ps4-controller-name,.ps4-controller-hint,.ps4-panel-index{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.ps4-tool-kicker,.ps4-card-kicker{color:rgb(var(--color-accent));margin:0 0 .3rem;font-size:.68rem;font-weight:700}.ps4-tool-header h1{color:rgb(var(--color-text-base));margin:0;font-size:clamp(1.7rem,4vw,2.65rem);line-height:1.04}.ps4-tool-status{border:1px solid rgba(var(--color-warning),.48);background:rgba(var(--color-card-muted),.74);color:rgb(var(--color-text-base));font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;margin:.7rem 0 0;padding:.35rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.ps4-controller-tool [data-status="Ready to Test"],.ps4-controller-tool [data-status=Test\ Sent]{border-color:rgba(var(--color-positive),.68);background:rgba(var(--color-positive),.14)}.ps4-controller-tool [data-status=Testing]{border-color:rgba(var(--color-accent),.7);background:rgba(var(--color-accent),.14)}.ps4-controller-tool [data-status="Gamepad API Unavailable"],.ps4-controller-tool [data-status="Vibration Not Supported"],.ps4-controller-tool [data-status=Vibration\ Failed]{border-color:rgba(var(--color-warning),.68);background:rgba(var(--color-warning),.12)}.ps4-tool-meta{text-align:right;justify-content:flex-end;gap:.7rem;max-width:22rem}.ps4-controller-name{color:rgb(var(--color-text-muted));text-overflow:ellipsis;min-width:0;font-size:.68rem;line-height:1.35;overflow:hidden}.ps4-connection-dot{background:rgb(var(--color-warning));box-shadow:0 0 0 .3rem rgba(var(--color-warning),.12);border-radius:50%;flex:none;width:.65rem;height:.65rem}.ps4-connection-dot.is-connected{background:rgb(var(--color-positive));box-shadow:0 0 0 .3rem rgba(var(--color-positive),.15)}.ps4-player-switcher{border-bottom:1px solid rgb(var(--color-border));background:rgba(var(--color-card-muted),.28);color:rgb(var(--color-text-muted));flex-wrap:wrap;gap:.55rem;padding:.8rem 1.35rem;font-size:.68rem;font-weight:700}.ps4-player-switcher>span{margin-right:.25rem}.ps4-player-switcher button,.ps4-rumble-buttons button,.ps4-reset{border:1px solid rgb(var(--color-border));background:rgba(var(--color-card),.78);color:rgb(var(--color-text-base));cursor:pointer;font-family:var(--font-mono);border-radius:.65rem;min-height:2.75rem;padding:.35rem .65rem;font-size:.72rem;font-weight:700;transition:border-color .16s,background-color .16s,color .16s}.ps4-player-switcher button{min-width:2.75rem}.ps4-player-switcher button:hover,.ps4-rumble-buttons button:hover:not(:disabled),.ps4-reset:hover{border-color:rgb(var(--color-accent));color:rgb(var(--color-accent))}.ps4-player-switcher button[aria-pressed=true]{border-color:rgb(var(--color-accent));background:rgba(var(--color-accent),.16);color:rgb(var(--color-accent))}.ps4-player-switcher button[data-connected=true]{border-color:rgba(var(--color-positive),.58)}.ps4-player-switcher button[data-connected=true][aria-pressed=true]{border-color:rgb(var(--color-positive));background:rgba(var(--color-positive),.14);color:rgb(var(--color-positive))}.ps4-tool-grid{grid-template-columns:minmax(0,1.33fr) minmax(20rem,.78fr);display:grid}.ps4-controller-stage{border-right:1px solid rgb(var(--color-border));background:rgba(var(--color-fill),.62);padding:1.35rem 1.45rem 1.45rem}.ps4-card-heading{justify-content:space-between;gap:1rem}.ps4-card-heading h2,.ps4-telemetry h2{color:rgb(var(--color-text-base));margin:0;font-size:clamp(1.2rem,2.5vw,1.6rem)}.ps4-stage-state{border:1px solid rgba(var(--color-accent),.38);color:rgb(var(--color-accent));text-align:right;border-radius:999px;flex:none;padding:.35rem .6rem;font-size:.62rem;font-weight:700}.ps4-controller-art{aspect-ratio:1260/869;border:1px solid rgba(var(--color-border),.76);background:radial-gradient(circle at 50% 48%,rgba(var(--color-accent),.15),transparent 54%),rgba(var(--color-card),.34);isolation:isolate;border-radius:1.25rem;width:min(100%,43rem);margin:1.3rem auto 0;position:relative}.ps4-controller-hint{border-top:1px solid rgb(var(--color-border));color:rgb(var(--color-text-muted));margin:1rem 0 0;padding-top:.9rem;font-size:.67rem;line-height:1.55}.ps4-control-legend{color:rgb(var(--color-text-muted));font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;gap:.85rem;margin-top:.95rem;font-size:.62rem;display:flex}.ps4-control-legend span{align-items:center;gap:.35rem;display:inline-flex}.legend-dot{border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.legend-dot-input{background:rgb(var(--color-accent))}.legend-dot-axis{background:rgb(var(--color-positive))}.legend-dot-trigger{background:rgb(var(--color-warning))}.ps4-reference-art{filter:invert();-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.ps4-button-layer{position:absolute;inset:0}.ps4-button{color:rgb(var(--color-text-base));cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:clamp(1.25rem,4vw,2.2rem);height:clamp(1.25rem,4vw,2.2rem);padding:0;transition:background-color .12s,border-color .12s,box-shadow .12s,opacity .12s;display:grid;position:absolute;transform:translate(-50%,-50%)}.ps4-button:hover,.ps4-button:focus-visible{border-color:rgb(var(--color-accent));background:rgba(var(--color-accent),.2);box-shadow:0 0 0 .25rem rgba(var(--color-accent),.1);opacity:1}.ps4-button[aria-pressed=true]{border-color:rgb(var(--color-positive));background:rgba(var(--color-positive),.78);box-shadow:0 0 0 .28rem rgba(var(--color-positive),.16),0 0 1rem rgba(var(--color-positive),.45);opacity:1}.ps4-button[data-unavailable=true]{border-color:rgba(var(--color-border),.5);opacity:.16;background:0 0}.ps4-button-cross{top:47.7%;left:80.7%}.ps4-button-circle{top:37.3%;left:87.9%}.ps4-button-square{top:37.3%;left:73.7%}.ps4-button-triangle{top:27.1%;left:80.7%}.ps4-button-l1{border-radius:.55rem;width:16%;top:20%;left:30%}.ps4-button-r1{border-radius:.55rem;width:16%;top:20%;left:70%}.ps4-button-l2{border-radius:.55rem;width:13%;top:25%;left:25%}.ps4-button-r2{border-radius:.55rem;width:13%;top:25%;left:75%}.ps4-button-share{border-radius:.35rem;width:8%;height:7%;top:24%;left:30%}.ps4-button-options{border-radius:.35rem;width:8%;height:7%;top:24%;left:70%}.ps4-button-l3{top:56.9%;left:34.3%}.ps4-button-r3{top:56.9%;left:65.7%}.ps4-button-dpad-up{top:29%;left:19%}.ps4-button-dpad-down{top:48%;left:19%}.ps4-button-dpad-left{top:38%;left:15%}.ps4-button-dpad-right{top:38%;left:23%}.ps4-button-ps{width:7%;height:7%;top:57.6%;left:50%}.ps4-button-touchpad{border-radius:.65rem;width:29%;height:23%;top:29%;left:50%}.ps4-telemetry{background:rgba(var(--color-card),.32);align-content:start;gap:.85rem;padding:1.15rem;display:grid}.ps4-telemetry-card{border:1px solid rgb(var(--color-border));background:rgba(var(--color-card),.76);border-radius:1rem;min-width:0;padding:1rem}.ps4-telemetry-card h2{font-size:1.05rem}.ps4-stick-grid,.ps4-trigger-grid,.ps4-raw-grid{gap:.7rem;display:grid}.ps4-stick-grid,.ps4-trigger-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.85rem}.ps4-stick-panel,.ps4-trigger-panel,.ps4-raw-grid>div{border:1px solid rgba(var(--color-border),.85);background:rgba(var(--color-fill),.6);border-radius:.8rem;min-width:0;padding:.7rem}.ps4-stick-panel h3,.ps4-raw-grid h3{color:rgb(var(--color-text-base));text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem}.ps4-stick-plot{aspect-ratio:1;border:1px solid rgba(var(--color-accent),.32);background:linear-gradient(rgba(var(--color-border),.6)1px,transparent 1px)50% 0/100% 50% no-repeat,linear-gradient(90deg,rgba(var(--color-border),.6)1px,transparent 1px)0 50%/50% 100% no-repeat,radial-gradient(circle,transparent 36%,rgba(var(--color-accent),.07)37%,transparent 38%),rgba(var(--color-card-muted),.4);border-radius:50%;position:relative;overflow:hidden}.ps4-stick-plot:before,.ps4-stick-plot:after{background:rgba(var(--color-border),.6);content:"";position:absolute}.ps4-stick-plot:before{height:1px;top:50%;left:0;right:0}.ps4-stick-plot:after{width:1px;top:0;bottom:0;left:50%}.ps4-stick-pointer{top:var(--point-y,50%);left:var(--point-x,50%);border:2px solid rgb(var(--color-fill));background:rgb(var(--color-positive));box-shadow:0 0 0 .2rem rgba(var(--color-positive),.16),0 0 .8rem rgba(var(--color-positive),.5);border-radius:50%;width:.8rem;height:.8rem;position:absolute;transform:translate(-50%,-50%)}.ps4-value-list{font-family:var(--font-mono);gap:.28rem;margin:.6rem 0 0;font-size:.64rem;display:grid}.ps4-value-list div,.ps4-trigger-label,.ps4-touchpad-count{justify-content:space-between;gap:.4rem;display:flex}.ps4-value-list dt,.ps4-value-list dd{margin:0}.ps4-value-list dt{color:rgb(var(--color-text-muted))}.ps4-value-list dd{color:rgb(var(--color-accent))}.ps4-trigger-grid{margin-top:.85rem}.ps4-trigger-label{color:rgb(var(--color-text-muted));font-family:var(--font-mono);margin-bottom:.55rem;font-size:.68rem}.ps4-trigger-label strong{color:rgb(var(--color-warning));font-weight:600}.ps4-trigger-track{border:1px solid rgb(var(--color-border));background:rgb(var(--color-card-muted));border-radius:999px;height:.6rem;position:relative;overflow:hidden}.ps4-trigger-fill{border-radius:inherit;background:linear-gradient(90deg,rgb(var(--color-warning)),rgb(var(--color-positive)));width:0;transition:width .12s;position:absolute;inset:0 auto 0 0}.ps4-touchpad-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ps4-touchpad-heading>div>span{color:rgb(var(--color-text-muted));font-family:var(--font-mono);text-transform:uppercase;font-size:.63rem}.ps4-panel-index{color:rgb(var(--color-accent));font-size:.62rem}.ps4-touchpad-surface{border:1px dashed rgba(var(--color-accent),.55);background:rgba(var(--color-accent),.06);color:rgb(var(--color-text-base));cursor:pointer;font-family:var(--font-mono);border-radius:.8rem;width:100%;min-height:3.2rem;margin-top:.85rem;font-size:.72rem}.ps4-touchpad-surface:hover,.ps4-touchpad-surface.is-pressed{border-color:rgb(var(--color-positive));background:rgba(var(--color-positive),.16)}.ps4-touchpad-count{color:rgb(var(--color-text-muted));margin-top:.75rem;font-size:.72rem}.ps4-touchpad-count strong{color:rgb(var(--color-positive));font-family:var(--font-mono)}.ps4-touchpad-status,.ps4-rumble-card>p{color:rgb(var(--color-text-muted));margin:.7rem 0 0;font-size:.72rem}.ps4-raw-status{border:1px solid rgb(var(--color-border));color:rgb(var(--color-text-muted));font-family:var(--font-mono);border-radius:999px;margin:.65rem 0 0;padding:.25rem .5rem;font-size:.62rem;display:inline-flex}.ps4-raw-status[data-status="Live controller data"]{border-color:rgba(var(--color-positive),.6);color:rgb(var(--color-positive))}.ps4-raw-status[data-status="Gamepad API Unavailable"]{border-color:rgba(var(--color-warning),.65);color:rgb(var(--color-warning))}.ps4-raw-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.7rem}.ps4-raw-grid code{overflow-wrap:anywhere;color:rgb(var(--color-accent));font-family:var(--font-mono);font-size:.6rem;line-height:1.65;display:block}.ps4-rumble-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.75rem;display:grid}.ps4-rumble-buttons button:disabled{cursor:not-allowed;opacity:.42}.ps4-reset{color:rgb(var(--color-text-muted));margin-top:.75rem}.ps4-controller-guide{color:rgb(var(--color-text-base));width:100%;max-width:none}.ps4-controller-guide .ps4-guide-section{border:1px solid rgb(var(--color-border));background:linear-gradient(135deg,rgba(var(--color-card),.82),rgba(var(--color-card-muted),.28));border-radius:1.2rem;margin:0;padding:1.45rem}.ps4-controller-guide .ps4-guide-section+.ps4-guide-section{margin-top:1rem}.ps4-controller-guide h2{color:rgb(var(--color-text-base));margin:0 0 .8rem;font-size:clamp(1.35rem,3vw,2rem)}.ps4-controller-guide h3{color:rgb(var(--color-text-base));margin:1.1rem 0 .4rem;font-size:1.05rem}.ps4-controller-guide p,.ps4-controller-guide li,.ps4-controller-guide td,.ps4-controller-guide th{color:rgb(var(--color-text-muted));font-size:.98rem}.ps4-controller-guide strong{color:rgb(var(--color-text-base))}.ps4-controller-guide a{color:rgb(var(--color-accent))}.ps4-controller-guide blockquote{border-left-color:rgb(var(--color-positive));color:rgb(var(--color-text-base));margin:1.2rem 0 0}.ps4-step-list{gap:.6rem;margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.ps4-step-list li{grid-template-columns:2.1rem minmax(0,1fr);align-items:start;gap:.7rem;display:grid}.ps4-step-list li>span{background:rgba(var(--color-positive),.16);color:rgb(var(--color-positive));font-family:var(--font-mono);border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:700;display:grid}.ps4-step-list p{margin:.2rem 0 0}.ps4-guide-grid,.ps4-troubleshooting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.ps4-guide-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.ps4-guide-card{border:1px solid rgba(var(--color-border),.9);background:rgba(var(--color-fill),.34);border-radius:.9rem;padding:.95rem}.ps4-guide-card h3{margin-top:0}.ps4-guide-card p{margin:0}.ps4-controller-figure{border:1px solid rgb(var(--color-border));background:rgb(var(--color-card-muted));border-radius:1rem;margin:1.1rem 0 1rem;overflow:hidden}.ps4-controller-figure img{width:100%;height:auto;display:block}.ps4-controller-figure figcaption{color:rgb(var(--color-text-muted));font-family:var(--font-mono);padding:.75rem .9rem;font-size:.68rem}.ps4-controller-guide table{border:1px solid rgb(var(--color-border));background:rgba(var(--color-fill),.34);border-radius:.85rem;margin-top:1rem;display:block;overflow-x:auto}.ps4-controller-guide th{color:rgb(var(--color-text-base));font-family:var(--font-mono);text-transform:uppercase;font-size:.7rem}.ps4-controller-guide td,.ps4-controller-guide th{border-color:rgb(var(--color-border));min-width:9rem;padding:.7rem}.ps4-limit-list{gap:.5rem;margin:1rem 0 0;padding-left:1.2rem;display:grid}.ps4-callout-list{gap:.75rem;margin-top:1rem;display:grid}.ps4-faq-list{gap:.7rem;margin-top:1rem;display:grid}.ps4-faq-item{border:1px solid rgba(var(--color-border),.9);background:rgba(var(--color-fill),.32);border-radius:.9rem;grid-template-columns:2.2rem minmax(0,1fr);gap:.75rem;padding:1rem;display:grid}.ps4-faq-item>span{color:rgb(var(--color-accent));font-family:var(--font-mono);font-size:.72rem;font-weight:700}.ps4-faq-item h3{margin-top:0}.ps4-faq-item p{margin-bottom:0}@media (max-width:1080px){.ps4-tool-grid{grid-template-columns:1fr}.ps4-controller-stage{border-right:0;border-bottom:1px solid rgb(var(--color-border))}.ps4-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}.ps4-telemetry-card:first-child,.ps4-touchpad-card{grid-column:1/-1}}@media (max-width:760px){.ps4-controller-page{width:min(100% - 1rem,76rem);padding-top:1rem}.ps4-tool-header{flex-direction:column;align-items:flex-start;padding:1rem}.ps4-tool-meta{text-align:left;justify-content:flex-start;width:100%;max-width:none}.ps4-player-switcher{padding-inline:1rem}.ps4-controller-stage{padding:1rem}.ps4-card-heading{flex-direction:column;align-items:flex-start}.ps4-stage-state{text-align:left}.ps4-telemetry{grid-template-columns:1fr;padding:.8rem}.ps4-telemetry-card:first-child,.ps4-touchpad-card{grid-column:auto}.ps4-guide-grid,.ps4-guide-grid-three,.ps4-troubleshooting-grid{grid-template-columns:1fr}.ps4-controller-guide .ps4-guide-section{padding:1rem}.ps4-controller-guide p,.ps4-controller-guide li,.ps4-controller-guide td,.ps4-controller-guide th{font-size:.92rem}}@media (max-width:460px){.ps4-stick-grid,.ps4-trigger-grid,.ps4-raw-grid{grid-template-columns:1fr}.ps4-control-legend{gap:.45rem;display:grid}.ps4-faq-item{grid-template-columns:1.8rem minmax(0,1fr);gap:.5rem}}@media (prefers-reduced-motion:reduce){.ps4-button,.ps4-player-switcher button,.ps4-rumble-buttons button,.ps4-reset,.ps4-trigger-fill{transition:none}}