.music-bar{display:flex;align-items:center;gap:9px;min-width:0;width:310px;padding:8px 12px;border:1px solid #b3f5ee55;border-radius:16px;background:#113f4ee8;box-shadow:0 6px 20px #001f3526;color:#f0ffff}
.sound-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:5px;overflow:hidden}
.sound-toggle .sound-icon{display:block;flex:none;width:22px;height:22px;max-width:100%;max-height:100%;pointer-events:none}
.sound-toggle[data-sound-enabled="true"] .sound-icon-slash{display:none}
.music-bar>button{flex:none;width:30px;height:32px;padding:0;border:0;border-radius:9px;background:#a4eee2;color:#103f4b;font:900 14px inherit;cursor:pointer}
.music-bar>button:disabled{opacity:.32;cursor:default}
.music-info{flex:1;min-width:0;text-align:left}.music-info>span{display:block;color:#a1dfd7;font-size:8px;font-weight:800;letter-spacing:1.4px;margin:0 0 3px}
.music-info select{display:block;width:100%;padding:0 16px 0 0;border:0;background:transparent;color:#fff;font:700 12px inherit;outline-offset:3px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis}
.music-info select option{background:#123e4d;color:white}.music-info select:disabled{opacity:1;cursor:default;appearance:none}
.music-bar input[type=range]{flex:none;width:64px;min-width:64px;height:24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;accent-color:#99eada;cursor:pointer}.music-bar[data-context=battle]{width:270px}.music-bar[data-context=battle]>[data-music=next]{display:none}
.music-status{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body:not(.is-playing) .topbar .music-bar{margin-left:auto;margin-right:18px}
#home-character canvas{position:absolute;pointer-events:none;image-rendering:auto;max-width:none;transform:translate(-50%,-100%);left:50%;top:var(--dance-foot,80%)}
#home-character.dance-ready>img{visibility:hidden}
.winner-dances{display:flex;justify-content:center;align-items:flex-end;gap:10px;min-height:154px;margin:6px 0 4px}
.winner-dances figure{margin:0;min-width:0;flex:0 1 168px}.winner-dances canvas{position:static;inset:auto;display:block;width:100%;height:168px;object-fit:contain;pointer-events:none}.winner-dances figcaption{font-size:12px;font-weight:800;color:#c9faf0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.winner-dances .dance-error{font-size:13px;color:#c9faf0}.winner-dances button{display:block;margin:8px auto}
.round-banner:has(.winner-dances){width:min(580px,92%);padding:20px 22px}.round-banner:has(.winner-dances) h2{margin:5px 0;font-size:clamp(22px,3vw,36px)}
.round-banner:has(.winner-dances) #result-note{margin:10px 0;font-size:13px}.round-banner button:disabled{opacity:.65;cursor:default}
@media(max-width:1000px){.music-bar{width:248px;gap:6px;padding:6px 9px}.music-bar input{display:none}body:not(.is-playing) .topbar .music-bar{margin-right:9px}.music-bar[data-context=battle]{width:190px}}
@media(max-height:550px){.music-bar{width:224px;padding:3px 8px;border-radius:12px}.music-bar>button{height:26px;width:26px}.music-info>span{font-size:7px;margin:0}.music-info select{font-size:10px}.winner-dances{min-height:90px;margin:0}.winner-dances figure{flex-basis:110px}.winner-dances canvas{height:96px}.round-banner:has(.winner-dances){padding:9px 16px}.round-banner:has(.winner-dances) h2{font-size:23px}.round-banner:has(.winner-dances) #result-note{margin:6px 0}.round-banner:has(.winner-dances) .primary-button{padding:8px 20px;min-height:34px}}

#home-character canvas[hidden]{display:none}

/* Actions have visible button surfaces across the island, rooms and battles. */
button:focus-visible{outline:3px solid #39dfcb;outline-offset:3px}
.topbar .brand{padding:6px 10px;border:1px solid #b4f9ee66;border-radius:16px;background:#123e4d99;color:inherit;text-align:left;flex-shrink:0}
.quiet-button,.practice-button{min-height:36px;padding:8px 13px;border:1px solid #b3f5ee88;border-radius:10px;background:#174d5d;color:#e3fff8;box-shadow:0 2px 0 #072b3d;font-weight:800}
.quiet-button:hover,.practice-button:hover,.topbar .brand:hover{background:#226374;border-color:#c4fff4}
.quiet-button:active,.practice-button:active{box-shadow:none}
.home-profile button{display:grid;place-items:center;min-width:32px;min-height:32px;padding:7px;border:1px solid #7bbacb;border-radius:9px;background:#e1faf5;color:#285a71;box-shadow:0 2px 0 #5195a5}
#home-character{pointer-events:none}
#home-character .avatar-label{pointer-events:auto;cursor:pointer}
.home-character-actions{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);display:flex;align-items:center;gap:8px;width:max-content;pointer-events:auto}
#home-character .home-character-actions .avatar-label{position:static;transform:none}
@media(max-width:700px) and (max-height:520px){.home-heading{display:none}}
.home-heading h1{max-width:clamp(110px,13vw,185px)}
.invite-plinth{border:2px solid #c5fff1;border-radius:17px;background:linear-gradient(#247c90ed,#155f76ed);box-shadow:0 4px 0 #0c435b,0 7px 18px #06344844;text-shadow:none;padding:7px}
.invite-plinth>span{margin-bottom:5px}
.invite-plinth:hover{background:linear-gradient(#3294a7,#23768d)}
.dialog-close,.arcade-dialog .dialog-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #86b9ce;border-radius:10px;background:#e9f9ff;color:#285a71;line-height:1;box-shadow:0 2px 0 #548ca733}
.dialog-close:hover,.home-profile button:hover{background:#c8f5ee;border-color:#438799}
.room-kit-disclosure{padding-top:8px}
#room-kit-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 24px);margin:0 12px 8px;padding:9px 12px;min-height:34px;border:1px solid #80b6c9;border-radius:9px;background:#e7f8fa;color:#285776;font:800 11px/1.4 'Nunito Sans',sans-serif;box-shadow:0 2px 0 #7caec833}
#room-kit-toggle[aria-expanded=true]>span{transform:rotate(180deg)}
#room-kit-toggle:hover{background:#d2f2ef}
.music-info select{padding:4px 18px 4px 6px;border:1px solid #a9e6dc80;border-radius:6px;background:#235866}
.music-info select:disabled{padding-left:0;border-color:transparent;background:transparent}
@media(max-height:550px){.topbar .brand{padding:3px 6px;border-radius:11px}.quiet-button{min-height:29px;padding:5px 10px}.invite-plinth{border-radius:12px;padding:4px}.invite-plinth>span{margin-bottom:3px}.home-profile button{min-width:28px;min-height:28px;padding:5px}.music-info select{padding-top:2px;padding-bottom:2px}}
.skin-load-status{position:absolute;inset:auto 0 0;padding:8px;border:1px solid #a6f0ed;border-radius:10px;background:#153d53e8;color:#e6ffff;font-size:11px;text-align:center;z-index:3}.skin-load-status[hidden]{display:none}.skin-load-status button{display:block;margin:6px auto 0;padding:5px 12px;border:1px solid #a2fff1;border-radius:7px;background:#d4fff2;color:#185d70;font-weight:900}#winner-dances>.skin-load-status{position:relative;grid-column:1/-1}
