body[data-game-key="perfect-stop"]{background:#141516;color:#f3f4f0;min-height:100dvh;letter-spacing:0}
[data-game-key="perfect-stop"] *{box-sizing:border-box;letter-spacing:0}
[data-game-key="perfect-stop"] .publisher-bar{background:#1d1e20;border-bottom:1px solid #353739}
[data-game-key="perfect-stop"] .publisher-bar a{color:#f3f4f0}
[data-game-key="perfect-stop"] .publisher-footer{background:transparent;border-top:1px solid #353739;margin-top:60px}
.ps-app{width:min(1080px,calc(100% - 48px));margin:40px auto 0}
.ps-app [hidden]{display:none!important}
.ps-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.ps-eyebrow{font-size:11px;color:#b2b7ba;font-weight:700;margin:0 0 10px}
.ps-header h1{font-size:42px;line-height:1.06;font-weight:850;margin:0;color:#fff;overflow-wrap:anywhere}
.ps-header h1 span{color:#f34787}
.ps-tools{display:flex;align-items:center;gap:10px;flex:none}
:where(.ps-app,.ps-rules) button{font:inherit;cursor:pointer;touch-action:manipulation}
.ps-language{margin:0}
.ps-tools button,.ps-tools select,.ps-secondary{border:1px solid #53585c;border-radius:6px;background:transparent;color:#f3f4f0;padding:10px 14px;min-height:44px;font-size:14px}
.ps-tools select option{color:#161819;background:#fff}
.ps-message{min-height:22px;color:#ffc479;font-size:14px;line-height:1.5;margin:12px 0;overflow-wrap:anywhere}
.ps-message:empty{display:none}
.ps-visual{padding:24px 0 28px;border-top:1px solid #383b3e;border-bottom:1px solid #383b3e}
.ps-track{display:block;width:100%;height:210px}
.ps-track-caption{display:flex;justify-content:space-between;gap:20px;color:#b6bcbe;font-size:12px;margin:0 12px}
.ps-track-caption strong{color:#92e6cd}
.ps-setup{max-width:680px;margin:32px auto 0}
.ps-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #53585c;margin-bottom:28px}
.ps-tabs button{background:none;border:0;border-bottom:3px solid transparent;color:#b7bec0;padding:15px 12px;font-weight:700;font-size:16px;border-radius:0;min-height:58px}
.ps-tabs [aria-selected=true]{color:#fff;border-bottom-color:#f34787}
.ps-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.ps-field{display:grid;gap:9px;min-width:0;align-content:start;font-size:14px;font-weight:600}
.ps-field-wide{grid-column:1/-1}
.ps-field input,.ps-field select{width:100%;max-width:100%;min-width:0;min-height:48px;background:#25272a;color:#fff;border:1px solid #5c6165;border-radius:6px;padding:12px;font:inherit;font-weight:400}
.ps-field select option{background:#25272a}
.ps-field input:read-only{color:#92e6cd}
.ps-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ps-name-row input{flex:1;min-width:140px}.ps-name-row button{font-size:12px;padding:8px;white-space:normal}
.ps-code-input{font-variant-numeric:tabular-nums;font-size:32px!important;text-align:center}
.ps-primary{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 22px;border-radius:6px;border:1px solid #f34787;background:#ec236a;color:#fff;font-weight:750;font-size:16px;text-align:center;text-decoration:none}
.ps-submit{margin-top:24px;width:100%}.ps-primary:hover{background:#cf1c5a}
.ps-app button:disabled{cursor:default;opacity:.45}
.ps-app :focus-visible,.ps-rules :focus-visible{outline:3px solid #92e6cd;outline-offset:4px}
.ps-room-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0 28px;border-top:1px solid #383b3e;flex-wrap:wrap}
.ps-room-code{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.ps-room-code small{font-size:12px;text-transform:uppercase;color:#b6bcbe}
.ps-room-code strong{font-size:40px;line-height:1;font-variant-numeric:tabular-nums;color:#92e6cd}
.ps-room-code button{font-size:12px}.ps-room-meta{display:flex;gap:16px;color:#b6bcbe;font-size:13px;flex-wrap:wrap}
.ps-lobby{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px}
.ps-lobby h2,.ps-ranking h2{font-size:20px;line-height:1.3;margin:0 0 20px}
.ps-people{list-style:none;padding:0;margin:0}.ps-people li{display:flex;align-items:center;gap:14px;border-bottom:1px solid #383b3e;padding:16px 0;min-height:76px}
.ps-avatar{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:#353739;color:#fff;font-weight:700;font-size:15px}
.ps-person{min-width:0;flex:1}.ps-person strong{display:block;overflow-wrap:anywhere;font-size:16px}.ps-person small{color:#aeb5b8;font-size:12px}
.ps-player-status{font-size:12px;color:#b6bcbe;text-align:right;min-width:54px}.ps-player-status.is-ready{color:#92e6cd}
.ps-remove{background:none;color:#ffc479;border:0;font-size:12px;padding:8px;min-height:44px}
.ps-lobby-aside{padding-top:4px}.ps-lobby-aside p{font-size:14px;line-height:1.6;color:#b6bcbe;margin:16px 0}
.ps-challenge{padding:20px 0;border-top:1px solid #53585c;border-bottom:1px solid #53585c;overflow-wrap:anywhere}.ps-challenge small{display:block;color:#b6bcbe;font-size:12px;margin-bottom:8px}.ps-challenge strong{font-size:18px;line-height:1.4}
.ps-lobby-actions{display:grid;gap:12px;margin-top:24px}
.ps-attempt-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 24px;font-size:14px;color:#b6bcbe}.ps-attempt-top strong{color:#fff}
.ps-timer{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.1;font-weight:700;color:#92e6cd;min-width:90px;text-align:right}
.ps-attempt-level{display:block;font-size:12px;color:#ffc479;font-weight:500;margin-top:5px}
.ps-solo-top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #383b3e;padding:12px 0}
.ps-solo-top strong{font-size:16px}.ps-solo-top small{display:block;color:#b6bcbe;font-size:12px;font-weight:400;margin-top:4px}
.ps-solo-result{max-width:680px;margin:24px auto 0}.ps-solo-result>p{font-size:14px;color:#b6bcbe}
.ps-solo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-bottom:1px solid #383b3e;padding:16px 0 24px;margin:0 0 24px}
.ps-solo-stats dt{font-size:12px;line-height:1.4;min-height:34px;color:#b6bcbe;overflow-wrap:anywhere}
.ps-solo-stats dd{margin:0;color:#92e6cd;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ps-solo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ps-solo-actions button{white-space:normal}
@media(max-width:400px){.ps-solo-stats dd{font-size:18px}.ps-solo-actions{grid-template-columns:minmax(0,1fr)}}
.ps-stage-status{font-size:20px;line-height:1.35;text-align:center;margin:24px 0 12px;min-height:28px;color:#f3f4f0}
.ps-stop{display:block;width:min(480px,100%);min-height:104px;margin:24px auto 0;background:#ef286e;border:0;border-radius:8px;color:#fff;font-size:36px;font-weight:850;box-shadow:0 5px 0 #9e1647}
.ps-stop:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #9e1647}
.ps-self-result{font-size:24px;font-weight:700;text-align:center;color:#92e6cd;min-height:34px;margin:26px 0}
.ps-progress{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:20px 0;font-size:12px;color:#aeb5b8}.ps-progress .is-ready{color:#92e6cd}
.ps-winner{padding:28px 0 32px;border-bottom:1px solid #383b3e}.ps-winner p{font-size:13px;color:#b6bcbe;margin:0 0 12px}.ps-winner h2{font-size:38px;line-height:1.2;margin:0;color:#92e6cd;overflow-wrap:anywhere}
.ps-result-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;padding-top:28px}
.ps-ranking ol{list-style:none;margin:0;padding:0}.ps-ranking li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:18px 0;border-bottom:1px solid #383b3e;align-items:center}.ps-ranking li span{overflow-wrap:anywhere}.ps-ranking li strong{font-size:18px;font-variant-numeric:tabular-nums}.ps-ranking li:first-child{color:#92e6cd}
.ps-ranked-name small{display:block;color:#ffc479;font-size:12px;margin-top:4px}.ps-ranking>p{color:#b6bcbe;font-size:12px}
.ps-result-actions{display:grid;gap:12px;margin-top:24px}.ps-share-qr{display:block;width:140px;height:140px;padding:8px;background:white;margin:20px 0;border-radius:4px}.ps-result-actions p{font-size:12px;color:#b6bcbe}
.ps-rules{background:#222426;color:#f3f4f0;border:1px solid #53585c;border-radius:8px;width:min(640px,calc(100% - 28px));max-height:85dvh;padding:28px;margin:auto;line-height:1.6}
.ps-rules::backdrop{background:#000b}.ps-rules:not([open]){display:none}.ps-rules h2{font-size:24px;margin:0 0 20px}.ps-rules ol{padding-left:24px;margin:0}.ps-rules li{margin:0 0 16px;font-size:15px}.ps-close{float:right;background:none;color:#fff;border:0;width:44px;height:44px;font-size:28px}
@media(max-width:767px){.ps-app{width:calc(100% - 32px);margin-top:24px}.ps-header{align-items:flex-start;gap:12px}.ps-header h1{font-size:30px}.ps-header h1 span{display:block}.ps-tools{gap:6px}.ps-tools button,.ps-tools select{font-size:12px;padding:8px}.ps-eyebrow{font-size:10px}.ps-track{height:180px}.ps-lobby,.ps-result-layout{grid-template-columns:minmax(0,1fr);gap:28px}.ps-setup{margin-top:24px}.ps-tabs button{font-size:14px;padding:12px 6px}.ps-room-code strong{font-size:34px}.ps-winner h2{font-size:30px}.ps-stop{min-height:96px;font-size:32px}.ps-room-top{gap:16px}.ps-fields{gap:18px}.ps-field{font-size:13px}.ps-field-wide{grid-column:1/-1}.ps-name-row{display:grid}.ps-fields>.ps-field{grid-column:1/-1}.ps-people li{gap:10px}.ps-remove{font-size:11px}.ps-rules{padding:20px}.ps-rules li{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ps-stop:active:not(:disabled){transform:none}}
@media(max-width:767px){
 .ps-app[data-phase="home"] .ps-track{height:140px}
 .ps-app[data-phase="playing"] .ps-header{margin-bottom:10px}
 .ps-app[data-phase="playing"] .ps-header h1{font-size:22px}
 .ps-app[data-phase="playing"] .ps-eyebrow{margin-bottom:5px}
 .ps-app[data-phase="playing"] .ps-room-top{padding:10px 0;gap:12px}
 .ps-app[data-phase="playing"] .ps-room-code strong{font-size:28px}
 .ps-app[data-phase="playing"] .ps-room-code button,.ps-app[data-phase="playing"] .ps-room-meta{display:none}
 .ps-app[data-phase="playing"] .ps-attempt-top{padding:12px 0}
 .ps-app[data-phase="playing"] .ps-visual{padding:10px 0}
 .ps-app[data-phase="playing"] .ps-track{height:130px}
 .ps-app[data-phase="playing"] .ps-stage-status{margin-top:14px;font-size:18px}
 .ps-app[data-phase="playing"] .ps-stop{min-height:84px;margin-top:14px;font-size:28px}
 .ps-app[data-phase="playing"] .ps-self-result{margin:18px 0;font-size:20px}
}
