/* Audiovisual preview uses the same sprites as gameplay. */
.avSkinPreview{position:relative;display:grid;grid-template-columns:minmax(0,1fr);row-gap:12px;width:100%;max-width:320px;margin:0 auto;padding:0;background:none;min-height:0}
.avSkinPreview canvas{display:block;width:100%;height:auto;aspect-ratio:320/148}
.skinConfirmPreview.avSkinPreview{height:auto;display:grid;border-radius:0;box-shadow:none;margin:0 auto 14px;background:none}
.skinConfirmCard{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
.avPreviewLabels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:4px;min-height:16px;font-size:10px;font-weight:800;line-height:1.4;letter-spacing:0;color:#b6cbc8;text-align:center}
.avPreviewPlay{position:static;justify-self:center;width:36px;height:36px;padding:0;border:1px solid #90f2de;border-radius:6px;background:#70e9dd;display:grid;place-items:center;cursor:pointer}
.avPreviewPlay img{width:18px;height:18px}
.avDialog{position:fixed;inset:0;z-index:10070;background:#000b;display:grid;place-items:center;padding:20px}
.avDialogPanel{width:min(100%,360px);max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:#111b1c;border:1px solid #536664;border-radius:8px;padding:16px}
.avDialogHead{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:18px;color:#f3fbf6}
.avDialogHead button{width:32px;height:32px;border:0;background:transparent;color:#dcece5;font-size:24px;cursor:pointer}
.skinAvOpen{position:relative;flex:none;width:48px;height:48px;display:grid;place-items:center;padding:0;background:none;border:0;cursor:pointer;touch-action:pan-y}
.skinAvOpen .skinPreview{width:48px!important;height:48px!important;margin:0!important}
.skinAvOpen img{position:absolute;width:13px;height:13px;right:-1px;bottom:0;padding:2px;background:#70e9dd;border-radius:3px;box-sizing:content-box}
.skinAvOpen:focus-visible,.avPreviewPlay:focus-visible{outline:2px solid #70e9dd;outline-offset:3px}
#overlay .skinUnifiedTitle{font-size:24px;line-height:1.15;letter-spacing:0}
#overlay .skinUnifiedHead{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px;padding:0!important}
#overlay .skinUnifiedHead>div:first-child{flex:1;min-width:0;width:auto!important;text-align:left!important}
#overlay .skinUnifiedHead .skinUnifiedTitle{font-size:22px;text-align:left!important}
#overlay .skinUnifiedHead .sub{text-align:left!important;font-size:11px;line-height:1.4}
#overlay .skinUnifiedPoint{position:static!important;min-width:0!important;flex:none;font-size:14px}
.resultCard.avNewRecord .resultScore{color:#ffe28d;text-shadow:0 0 20px #ffd86a44}
.resultCard.avNewRecord .resultScoreWrap:before{content:'';position:absolute;left:6%;right:6%;top:52%;height:1px;background:#ffe28d66;animation:avRecordLine .55s ease-out both;pointer-events:none}
@keyframes avRecordLine{from{transform:scaleX(.1);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes avTimeGain{from{color:#82f7be;text-shadow:0 0 10px #82f7be88}to{color:inherit;text-shadow:none}}
#timePanel.avTimeGain .value{animation:avTimeGain .45s ease-out}
@media (prefers-reduced-motion:reduce){.resultCard.avNewRecord .resultScoreWrap:before{animation:none}}

/* Source attribution is available without leaving the game or opening an account. */
.audioCreditsEntry{display:block;margin:14px auto;padding:10px 14px;min-height:44px;background:none;border:0;color:#a5b8b3;font:600 10px Arial,sans-serif;cursor:pointer;letter-spacing:0}
.audioCreditsPanel{max-height:85vh;display:flex;flex-direction:column}
.audioCreditsBody{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;text-align:left;font:12px/1.6 Arial,sans-serif;color:#c3d0cc}
.audioCreditsBody p{margin:0;padding:14px 0;border-bottom:1px solid #ffffff18;overflow-wrap:anywhere}
.audioCreditsBody a{color:#a9dbc8;text-underline-offset:3px;margin-right:10px}
.audioCreditsBody span,.audioCreditsBody small{display:block;margin-top:5px}
.audioCreditsBody small{font-size:10px;color:#9eadaa}
