/* Landing, sala de espera e resultado. A pista do player permanece em style.css. */
body.landing-active,body.room-active,body.results-active{background:#06112b;color:#f7fbff}
body.landing-active .site-header,body.room-active .site-header,body.results-active .site-header{height:70px;background:#07142f;border-color:#ffffff21;color:#fff}
body.landing-active .site-header .room-button,body.landing-active .site-header .connection,body.landing-active .site-header .sound-toggle{display:none}
body.room-active main,body.results-active main,body.landing-active main{max-width:none;padding:0}
body.room-active .site-header .room-button{background:#153362;border-color:#5d95ef70;color:#fff}
body.room-active .site-header .room-button>span:last-child{background:#2d65c3;color:#fff}
body.room-active .site-header .theme-picker,body.results-active .site-header .theme-picker,body.landing-active .site-header .theme-picker{color:#b8cbec}
body.room-active .site-header .theme-picker select,body.results-active .site-header .theme-picker select,body.landing-active .site-header .theme-picker select{background:#102347;border-color:#ffffff3b;color:#fff}

.landing-view{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.95fr);align-items:center;min-height:calc(100dvh - 70px);overflow:hidden;padding:clamp(34px,5vw,82px) max(32px,calc((100vw - 1360px)/2));background:radial-gradient(circle at 77% 39%,#1648aa 0%,#0b245a 29%,#07142f 67%)}
.landing-glow{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(112deg,transparent 0 125px,#57adff13 126px 128px,transparent 129px 230px);mask-image:linear-gradient(90deg,transparent 22%,#000 92%)}
.landing-content{position:relative;z-index:2;max-width:680px;padding-bottom:68px}
.landing-kicker{display:inline-flex;align-items:center;gap:10px;color:#8ed2ff;font:800 12px 'Manrope',sans-serif;letter-spacing:.19em}
.landing-kicker::before{content:"";width:21px;height:3px;background:#e5fc68}
.landing-content h1{margin:26px 0 18px;font:800 clamp(66px,7.8vw,130px)/.91 'Manrope',sans-serif;letter-spacing:-.085em;color:#fff}
.landing-content h1 em{font-style:normal;color:#e5fc68}
.landing-content p{max-width:510px;margin:0 0 30px;color:#c8daf5;font-size:clamp(16px,1.4vw,19px);line-height:1.55}
#landing-play-root{width:min(100%,310px)}
#btn-enter-app{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:0 20px;border:0;border-radius:7px;background:#e5fc68;color:#081a35;font:800 18px 'Manrope',sans-serif;box-shadow:0 8px 0 #96b635}
#btn-enter-app:hover,#btn-enter-app:focus-visible{transform:translateY(2px);box-shadow:0 6px 0 #96b635;background:#f0ff9d}
#btn-enter-app span{font-size:24px}
.landing-footnote{display:block;margin-top:24px;color:#95aecd;font:700 11px 'Manrope',sans-serif;letter-spacing:.04em}
.landing-visual{position:relative;z-index:1;height:min(610px,70vh);min-height:400px;perspective:1000px}
.visual-frame{position:absolute;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:22px;box-shadow:0 30px 80px #0208179c}
.visual-frame-back{right:4%;top:5%;width:57%;height:54%;padding:26px;transform:rotate(12deg);background:linear-gradient(135deg,#f95672,#a634d5);color:#fff}
.visual-frame-back::before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(42deg,transparent 0 43px,#ffffff45 44px 47px,transparent 48px 74px);transform:rotate(-18deg)}
.visual-frame-back span,.visual-frame-front span{position:relative;font:800 12px 'Manrope',sans-serif;letter-spacing:.16em}
.visual-frame-back strong{position:relative;font:800 140px/.9 'Manrope',sans-serif;opacity:.35;letter-spacing:-.09em}
.visual-frame-front{left:5%;bottom:7%;width:72%;height:64%;padding:32px;transform:rotate(-8deg);background:linear-gradient(146deg,#17b9bd,#1266da 68%,#1640a9);color:#fff;border:2px solid #ffffff7d}
.visual-frame-front::before{content:"";position:absolute;width:80%;height:80%;border:2px solid #ffffff36;border-radius:50%;top:-32%;right:-25%;box-shadow:0 0 0 35px #ffffff16,0 0 0 70px #ffffff10}
.visual-frame-front strong{position:relative;font:800 clamp(35px,4vw,72px)/1 'Manrope',sans-serif;letter-spacing:-.08em}
.visual-bars{position:absolute;left:11%;right:7%;top:28%;height:27%;display:flex;align-items:center;justify-content:space-between;gap:7px}
.visual-bars i{display:block;flex:1;height:40%;background:#e5fc68;border-radius:9px;transform:skew(-8deg)}
.visual-bars i:nth-child(2),.visual-bars i:nth-child(7){height:87%}.visual-bars i:nth-child(3),.visual-bars i:nth-child(6){height:55%}.visual-bars i:nth-child(4){height:100%}.visual-bars i:nth-child(5){height:69%}
.visual-disc{position:absolute;right:0;bottom:1%;width:175px;aspect-ratio:1;background:url('/assets/library-disc.svg') center/contain no-repeat;filter:hue-rotate(135deg) brightness(1.4);transform:rotate(18deg)}
.landing-steps{position:absolute;bottom:24px;left:max(32px,calc((100vw - 1360px)/2));right:max(32px,calc((100vw - 1360px)/2));display:flex;gap:38px;border-top:1px solid #ffffff33;padding-top:17px;color:#9eb8df;font:700 12px 'Manrope',sans-serif}
.landing-steps span{display:flex;align-items:center;gap:11px}.landing-steps b{color:#e5fc68;font-size:11px}

body.room-active{background:radial-gradient(circle at 50% -20%,#173e9a,#071535 55%,#050d23)}
.room-active .select-view{max-width:1480px;min-height:calc(100dvh - 70px);margin:auto;padding:22px clamp(18px,3.4vw,54px) 38px}
.room-topline{display:flex;align-items:center;gap:17px;min-height:52px;margin-bottom:18px;color:#fff}
.room-topline .room-exit{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid #ffffff5a;border-radius:50%;background:#ffffff13;color:#fff;font-size:22px}
.room-topline .room-exit:hover{background:#ffffff35}
.room-topline .eyebrow{font-size:10px;color:#79c7ff}
.room-topline h1{margin:1px 0 0;font:800 22px 'Manrope',sans-serif;letter-spacing:-.04em}
.room-invite{margin-left:auto;padding:9px 13px;border:1px solid #8cbaff91;border-radius:6px;background:#1c4294;color:#fff;font:800 12px 'Manrope',sans-serif}
.room-invite:hover{background:#2c60c7}.room-invite span{margin-left:12px}
.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:17px;align-items:start}
.room-song-area{min-width:0}
.featured-stage{position:relative;height:clamp(260px,42vh,460px);overflow:hidden;border:1px solid #9ecaff82;border-radius:9px;background:radial-gradient(circle at 72% 30%,#26b5ec,#1056c1 47%,#074295 100%);box-shadow:0 20px 58px #03091a8f}
.featured-stage::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(15deg,transparent 0 91px,#ffffff1a 92px 94px,transparent 95px 155px),repeating-linear-gradient(127deg,transparent 0 156px,#ffffff13 157px 159px,transparent 160px 240px);pointer-events:none}
.featured-stage #featured-image{position:absolute;top:0;right:0;width:57%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.15) contrast(1.08)}
.featured-stage #featured-image[hidden]{display:none}
.featured-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06439c 0%,#0752ab 33%,#0752abdd 45%,#073b8288 68%,#061e4b44 100%),linear-gradient(0deg,#061535e0,transparent 55%)}
.featured-copy{position:absolute;z-index:2;left:clamp(24px,4vw,60px);bottom:clamp(28px,5vh,60px);width:min(51%,560px);color:#fff}
.featured-label{display:block;margin-bottom:13px;color:#d4f6ff;font:800 11px 'Manrope',sans-serif;letter-spacing:.22em}
.featured-copy h2{margin:0;font:900 clamp(43px,5.3vw,85px)/.95 'Manrope',sans-serif;letter-spacing:-.075em;text-wrap:balance;text-shadow:0 3px 20px #03123177}
.featured-copy p{margin:11px 0 0;color:#e0edff;font-size:clamp(16px,2vw,24px);font-weight:500}
.featured-meta{min-height:26px;margin-top:9px;color:#bde4ff;font:700 12px 'Manrope',sans-serif}
#btn-featured-play{display:flex;align-items:center;justify-content:space-between;min-width:194px;min-height:48px;margin-top:16px;padding:0 16px;border:0;border-radius:6px;background:#e5fc68;color:#062453;font:800 16px 'Manrope',sans-serif;box-shadow:0 5px 0 #8aa72c}
#btn-featured-play:disabled{background:#d6e0e8;color:#375075;opacity:.8;box-shadow:none;cursor:default}
#btn-featured-play:not(:disabled):hover{background:#f4ffa8;transform:translateY(1px);box-shadow:0 4px 0 #8aa72c}
#btn-featured-play span{margin-left:20px;font-size:20px}
.featured-corner{position:absolute;z-index:2;right:20px;bottom:17px;color:#ffffffb1;font:700 10px 'Manrope',sans-serif;letter-spacing:.16em}
.room-active .song-navigation{margin-top:17px}
.song-navigation-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}
.song-navigation-heading .eyebrow{font-size:10px;color:#7fcfff}
.song-navigation-heading h2{margin:0;color:#fff;font:800 19px 'Manrope',sans-serif;letter-spacing:-.04em}
.carousel-arrows{display:flex;gap:6px}.carousel-arrows button{width:32px;height:32px;border:1px solid #ffffff65;border-radius:5px;background:#ffffff14;color:#fff;font-size:17px}.carousel-arrows button:hover{background:#ffffff3a}
.room-active .songs-grid{display:flex;grid-template-columns:none;gap:9px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:3px 3px 10px;scrollbar-color:#6baaff #102351;scrollbar-width:thin}
.room-active .song-card{position:relative;display:block;flex:0 0 clamp(126px,15vw,178px);height:150px;min-height:0;padding:0;overflow:hidden;scroll-snap-align:start;border:2px solid #ffffff42;border-radius:6px;background:#24468b;color:#fff;transform:none;box-shadow:none}
.room-active .song-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#020a20ed 0%,#07153ab8 48%,transparent 100%);pointer-events:none}
.room-active .song-card:hover,.room-active .song-card:focus-visible,.room-active .song-card.selected{border-color:#e5fc68;box-shadow:0 0 0 2px #e5fc6863;transform:translateY(-2px)}
.room-active .song-art{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:linear-gradient(135deg,#2bb2d0,#2343a3);color:#e5fc68;font-size:36px}
.room-active .song-art img{width:100%;height:100%;object-fit:cover}
.room-active .song-copy{position:absolute;z-index:2;left:9px;right:9px;bottom:11px;padding:0;gap:1px;text-shadow:0 2px 6px #000}
.room-active .song-copy strong{font-size:13px;line-height:1.15;-webkit-line-clamp:2}
.room-active .song-copy small{color:#e3eafa;font-size:10px}
.room-active .song-meta,.room-active .song-action{display:none}
.room-active .song-index{z-index:2;top:7px;right:8px;padding:2px 5px;border-radius:3px;background:#061b4da8;color:#fff;font-size:9px}
.room-active #catalog-more{margin:9px 0 0;width:100%;border-color:#ffffff4b;background:#ffffff12;color:#e3eeff}
.room-side{display:grid;gap:11px;color:#eaf3ff}
.room-code-panel,.waiting-members,.room-filters{padding:17px;border:1px solid #8cbaff55;border-radius:8px;background:#0c214dbd;box-shadow:0 10px 30px #03091539}
.room-panel-label{font:800 10px 'Manrope',sans-serif;letter-spacing:.16em;color:#80cfff}
.room-code-panel strong{display:block;margin:6px 0;font:900 38px 'Manrope',sans-serif;letter-spacing:.16em;line-height:1;color:#fff}
.room-code-panel p{margin:7px 0 12px;color:#a8c4e8;font-size:11px;line-height:1.35}
.room-code-panel button{width:100%;display:flex;justify-content:space-between;padding:8px 10px;border:1px solid #ffffff55;border-radius:5px;background:#ffffff16;color:#fff;font:800 11px 'Manrope',sans-serif}
.room-code-panel button:hover{background:#ffffff30}
.waiting-members>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.waiting-members>div strong{font-size:11px;color:#fff}
.waiting-members ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px;max-height:105px;overflow:auto}
.waiting-members li{display:flex;align-items:center;gap:8px;font-size:12px}.waiting-members li strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waiting-members li small{margin-left:auto;color:#91b5e3}
.waiting-player-mark{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#35a6e6;color:#071534;font:800 12px 'Manrope',sans-serif}
.room-filters{display:grid;gap:10px}.room-filters #catalog-search-root{width:100%}.room-filters .search{width:100%;min-height:39px;padding:6px 9px;background:#09204b;border-color:#6b9bde75;color:#d3e8ff}.room-filters .search input{color:#fff;font-size:12px}.room-filters .search input::placeholder{color:#a6bee0}
.room-active .select-view .genre-filters{display:flex;gap:5px;flex-wrap:wrap}
.room-active .select-view .genre-filters button[data-slot="button-root"]{width:auto;min-height:28px;padding:4px 8px;border:1px solid #ffffff35;border-radius:4px;background:#ffffff12;color:#e5efff;font:700 10px 'DM Sans',sans-serif}
.room-active .select-view .genre-filters button[data-slot="button-root"][aria-pressed="true"]{background:#e5fc68;color:#0b2a5d;border-color:#e5fc68;box-shadow:none}
.room-active .select-view .catalog-toolbar{display:block;min-height:0;margin:0;padding:7px 0 0;border-top:1px solid #ffffff2b}
.room-active .catalog-count{color:#d1def3;margin:0 0 7px;font-size:10px}.room-active .catalog-extra{display:flex;align-items:center;gap:8px;font-size:10px;flex-wrap:wrap;color:#d1def3}
.room-active .decade-filter select{background:#133367;border-color:#ffffff42;color:#fff}
.room-active #catalog-random{width:100%;padding:8px 10px;border:1px solid #9bc6ff8e;border-radius:5px;background:#19438e;color:#fff;font:800 11px 'Manrope',sans-serif}
.room-active #catalog-random:hover{background:#2b68ca}

.room-active .setup-view{position:fixed;z-index:15;inset:0;max-width:none;width:100%;height:100dvh;min-height:0;margin:0;padding:20px;display:grid;grid-template-columns:minmax(0,360px) minmax(0,440px);justify-content:center;align-items:center;gap:0;background:#020819d9;overflow:auto}
.room-active .setup-copy,.room-active .setup-panel{min-height:460px;padding:32px}
.room-active .setup-copy{background:linear-gradient(155deg,#1249ad,#0b2867);border:1px solid #79bcff78;border-right:0;border-radius:10px 0 0 10px;color:#fff}
.room-active .setup-copy h1{font-size:38px;color:#fff}.room-active .setup-copy>p{color:#d5e8ff;font-size:13px}
.room-active .setup-copy .setup-back{color:#c3e4ff}.room-active .setup-copy .selected-song{border-color:#ffffff55}.room-active .setup-copy .selected-song span,.room-active .setup-copy .selected-song small{color:#c4d9fa}
.room-active .setup-panel{border:1px solid #79bcff78;border-radius:0 10px 10px 0;box-shadow:0 24px 80px #0008}
.room-active .setup-panel .primary-button{background:#145bd3;border-color:#145bd3}

body.results-active .results-view{max-width:980px;min-height:calc(100dvh - 70px);padding:clamp(40px,8vh,90px) 28px 60px;color:#fff}
body.results-active .results-view::before{display:none}
body.results-active .results-view .eyebrow{color:#86d6ff}
body.results-active .results-view h1{font-size:clamp(48px,7vw,90px);letter-spacing:-.065em;line-height:1;margin:12px 0}
body.results-active .results-view>p{color:#b2c9ed}
body.results-active .results-summary{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;margin:34px 0 12px;padding:26px 30px;background:linear-gradient(105deg,#1459ba,#0a2c75);border:1px solid #8bbdff8a;border-radius:10px}
body.results-active .results-summary>div{display:flex;flex-direction:column;justify-content:center}
body.results-active .results-summary span,body.results-active .results-details span{color:#a9d8ff;font:800 10px 'Manrope',sans-serif;letter-spacing:.16em}
body.results-active .results-summary strong{color:#fff;font:900 clamp(45px,7vw,80px)/1 'Manrope',sans-serif;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
body.results-active .results-grade{align-items:center;border-left:1px solid #ffffff44}
body.results-active .results-grade strong{color:#e5fc68}
body.results-active .results-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px}
body.results-active .results-details>div{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid #ffffff35;border-radius:6px;background:#ffffff0e}
body.results-active .results-details strong{font:800 20px 'Manrope',sans-serif;color:#fff}
body.results-active .results-roster-title{margin:0 0 12px;font:800 21px 'Manrope',sans-serif;letter-spacing:-.04em}
body.results-active #results-list{counter-reset:singer-rank;display:grid;gap:7px}
body.results-active .result-row{background:#112c69;border-color:#69aaff68;border-radius:7px;color:#fff}
body.results-active .result-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;margin:0;padding:13px 17px}
body.results-active .result-row::before{counter-increment:singer-rank;content:counter(singer-rank,decimal-leading-zero);grid-row:1/3;color:#92d3ff;font:800 15px 'Manrope',sans-serif}
body.results-active .result-row>span{grid-column:2;grid-row:1;font-weight:800}
body.results-active .result-row>small{grid-column:2;grid-row:2}
body.results-active .result-row>strong{grid-column:3;grid-row:1/3}
body.results-active .result-row strong{color:#e5fc68}
body.results-active .result-row small{color:#bad3fa}
body.results-active .results-actions .primary-button{background:#e5fc68;color:#0b2a5d;border-color:#e5fc68}
body.results-active .results-actions .secondary-button{background:#ffffff1b;color:#fff;border-color:#ffffff69}

@media(max-width:1000px){.room-layout{grid-template-columns:minmax(0,1fr) 245px}.featured-copy{width:60%}.featured-copy h2{font-size:clamp(38px,5vw,65px)}.room-side .room-code-panel,.room-side .waiting-members,.room-side .room-filters{padding:13px}}
@media(max-width:720px){body.landing-active .site-header .theme-picker{display:none}.landing-view{display:block;padding:45px 22px 115px;min-height:calc(100dvh - 70px)}.landing-content{padding-bottom:0}.landing-content h1{font-size:clamp(58px,13vw,86px);margin:17px 0}.landing-content p{font-size:15px}.landing-visual{height:280px;min-height:0;margin-top:28px}.visual-frame-back{width:52%;height:66%;right:5%;top:1%;padding:16px}.visual-frame-back strong{font-size:72px}.visual-frame-front{width:68%;height:73%;bottom:0;padding:18px}.visual-frame-front strong{font-size:40px}.visual-disc{width:110px}.landing-steps{left:22px;right:22px;bottom:19px;gap:11px;flex-wrap:wrap;font-size:9px}.room-active .select-view{padding:12px 14px 32px}.room-topline{gap:9px;margin-bottom:11px}.room-topline h1{font-size:16px}.room-topline .eyebrow{font-size:8px}.room-invite{padding:7px;font-size:0}.room-invite span{font-size:18px;margin:0}.room-layout{display:flex;flex-direction:column}.room-song-area,.room-side{width:100%}.featured-stage{height:310px}.featured-stage #featured-image{width:100%}.featured-shade{background:linear-gradient(0deg,#063c95f5 0%,#063c95d4 39%,#063c9570 100%)}.featured-copy{width:calc(100% - 36px);left:18px;bottom:19px}.featured-copy h2{font-size:clamp(33px,9vw,49px)}.featured-copy p{font-size:15px;margin-top:5px}.featured-meta{margin-top:4px;font-size:10px}.featured-label{margin-bottom:6px;font-size:9px}#btn-featured-play{min-height:43px;margin-top:8px;font-size:13px}.featured-corner{display:none}.room-active .song-card{flex-basis:130px;height:145px}.room-side{grid-template-columns:1fr 1fr;gap:8px}.room-filters{grid-column:1/-1}.room-code-panel strong{font-size:30px}.room-active .setup-view{display:block;padding:18px;overflow:auto}.room-active .setup-copy,.room-active .setup-panel{min-height:0;width:min(100%,500px);margin:0 auto;padding:23px}.room-active .setup-copy{border-right:1px solid #79bcff78;border-bottom:0;border-radius:9px 9px 0 0}.room-active .setup-copy h1{font-size:29px}.room-active .setup-panel{border-radius:0 0 9px 9px}body.results-active .results-view{padding:35px 18px}}
@media(max-width:720px){body.results-active .results-summary{grid-template-columns:minmax(0,1fr) 85px;padding:20px 17px}body.results-active .results-summary strong{font-size:42px}body.results-active .results-details>div{display:block}body.results-active .results-details strong{display:block;margin-top:5px;font-size:17px}body.results-active .result-row strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){#btn-enter-app:hover,#btn-featured-play:hover,.room-active .song-card:hover{transform:none}}

/* Sala: palco de seleção e trilho de capas. */
body.room-active{--room-ink:#f9f8ff;--room-accent:#caff57;background:#11102d;color:var(--room-ink)}
body.room-active .site-header{height:60px;background:#11102d;border:0}
.room-active .select-view{max-width:none;min-height:calc(100dvh - 60px);padding:14px clamp(20px,5vw,78px) 32px;background:radial-gradient(ellipse at 74% 15%,#51389b 0,transparent 42%),linear-gradient(145deg,#17143c,#211658 52%,#10102d)}
.room-topline{min-height:44px;margin-bottom:4px}.room-topline h1{font-size:18px}.room-topline .room-exit{width:44px;height:44px}.room-invite{min-height:44px;border-radius:99px;background:#ffffff1a}
.room-layout{display:flex;flex-direction:column;gap:14px}.room-song-area{width:100%}
.featured-stage{height:clamp(290px,44vh,470px);border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.featured-stage::before{inset:9% 3% 5% 50%;border-radius:45% 55% 50% 45%;background:#ad7cff2e;transform:rotate(-8deg)}
.featured-stage #featured-image{top:7%;right:4%;width:49%;height:82%;object-fit:cover;border-radius:24px;filter:saturate(1.15);box-shadow:0 22px 55px #07051c88;transform:rotate(2deg)}
.featured-shade{background:linear-gradient(90deg,#1b1547 0%,#211958e8 34%,transparent 65%),linear-gradient(0deg,#18143e55,transparent 55%)}
.featured-copy{left:1%;bottom:12%;width:48%}.featured-label{color:#caff57;font-size:12px;letter-spacing:.17em}.featured-copy h2{font-size:clamp(42px,5.4vw,82px);line-height:1;letter-spacing:-.06em}.featured-copy p{font-size:clamp(18px,2vw,25px)}.featured-meta{font-size:13px;color:#d7ccfb}
#btn-featured-play{min-height:54px;min-width:210px;border-radius:99px;background:var(--room-accent);box-shadow:0 5px 0 #779b24;color:#201846}#btn-featured-play:not(:disabled):hover{background:#ddff99;box-shadow:0 4px 0 #779b24}
.featured-corner{display:none}.room-active .song-navigation{margin-top:0}.song-navigation-heading h2{font-size:21px}.song-navigation-heading .eyebrow{color:#c4b4ff}.carousel-arrows button{width:44px;height:44px;border-radius:50%;font-size:22px}
.room-active .songs-grid{gap:12px;padding:8px 5px 14px;touch-action:pan-x;overscroll-behavior-x:contain}.room-active .song-card{flex-basis:clamp(150px,15vw,205px);height:clamp(150px,17vw,190px);border:3px solid transparent;border-radius:14px;background:#33276d}.room-active .song-card.selected,.room-active .song-card:focus-visible{border-color:var(--room-accent);box-shadow:0 0 0 3px #caff5750;transform:translateY(-4px)}.room-active .song-card:hover{border-color:#fff;transform:translateY(-3px)}
.room-active .song-copy{left:12px;right:12px;bottom:12px}.room-active .song-copy strong{font-size:15px}.room-active .song-copy small{font-size:12px}.room-active .song-index{display:none}.room-active #catalog-more{width:auto;min-height:44px;padding:0 18px;border-radius:99px}
.room-side{width:100%;display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) minmax(260px,1.3fr);gap:10px;align-items:start}.room-code-panel,.waiting-members,.room-filters{background:#ffffff0c;border:1px solid #ffffff2c;border-radius:16px;box-shadow:none;padding:14px 18px}.room-code-panel strong{display:inline-block;margin:5px 12px 0 0;font-size:26px;letter-spacing:.1em}.room-code-panel p{display:none}.room-code-panel button{display:inline-flex;width:auto;min-height:44px;align-items:center;gap:18px;border-radius:99px}.waiting-members ul{margin-top:8px}.waiting-members li{font-size:14px}.waiting-player-mark{flex-basis:32px;height:32px}
.room-filters{display:block}.room-filters summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;font-weight:800;list-style:none}.room-filters summary::-webkit-details-marker{display:none}.room-filters summary span{font-size:25px}.room-filters[open]>*:not(summary){margin-top:12px}.room-filters .search{min-height:48px}.room-filters .search input{font-size:16px}.room-active .select-view .genre-filters button[data-slot="button-root"]{min-height:44px;padding:8px 13px;font-size:12px;border-radius:99px}.room-active #catalog-random{min-height:44px;font-size:13px}
@media(max-width:720px){body.room-active .site-header{height:60px}.room-active .select-view{padding:12px 16px 28px}.room-topline{gap:10px}.room-topline h1{font-size:16px}.room-invite{font-size:0;padding:0 14px}.room-invite span{font-size:20px;margin:0}.featured-stage{height:380px}.featured-stage #featured-image{top:3%;right:3%;width:76%;height:52%;border-radius:18px}.featured-stage::before{inset:0 0 40% 25%}.featured-shade{background:linear-gradient(0deg,#1b1547 0%,#1b1547ef 35%,transparent 75%)}.featured-copy{left:2%;bottom:5%;width:92%}.featured-copy h2{font-size:clamp(35px,10vw,52px)}.featured-copy p{font-size:17px}.featured-meta{min-height:18px}.featured-label{margin-bottom:6px}.room-active .song-card{flex-basis:145px;height:155px}.room-side{display:grid;grid-template-columns:1fr;gap:8px}.room-filters{grid-column:auto}.room-code-panel strong{font-size:25px}.carousel-arrows button{width:44px;height:44px}}
.room-active .song-card[aria-pressed="true"]{border-color:var(--room-accent);box-shadow:0 0 0 3px #caff5750}
.room-search-shortcut{margin-left:auto;min-width:44px;min-height:44px;padding:0 16px;border:1px solid #ffffff65;border-radius:99px;background:#ffffff15;color:#fff;font-size:22px}.room-search-shortcut span{font-size:12px;font-weight:800}.room-invite{margin-left:0}
@media(max-width:720px){.room-search-shortcut{padding:0;width:44px}.room-search-shortcut span{display:none}}

/* A sala ocupa a janela; apenas o trilho e os filtros rolam seu conteúdo. */
body.room-active:has(#view-select:not(.hidden)){height:100dvh;overflow:hidden}
body.room-active main{height:calc(100dvh - 60px)}
.room-active .select-view{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-block:clamp(8px,1.5dvh,18px)}
.room-topline{flex:0 0 auto}
.room-layout{flex:1;min-height:0;gap:clamp(5px,1dvh,12px)}
.room-song-area{display:flex;flex-direction:column;flex:1;min-height:0}
.featured-stage{flex:1;min-height:200px;height:auto}
.room-active .song-navigation{flex:0 0 auto;min-height:0;position:relative}
.room-active .songs-grid{scrollbar-width:none}.room-active .songs-grid::-webkit-scrollbar{display:none}
.room-active .song-card{height:clamp(100px,20dvh,190px);flex-basis:clamp(112px,14dvw,205px)}
.room-active #catalog-more{position:absolute;right:105px;top:0;margin:0;min-height:44px;font-size:11px}
.room-side{flex:0 0 auto;grid-template-columns:1fr 1fr minmax(220px,1fr);align-items:center}
.room-code-panel,.waiting-members,.room-filters{padding:5px 12px;min-height:54px}.room-code-panel strong{font-size:22px}.room-code-panel button{min-height:40px}.waiting-members ul{display:flex;margin:3px 0;max-height:36px}.waiting-members li small{display:none}.waiting-members li{font-size:12px}
.room-filters[open]{position:fixed;z-index:30;inset:clamp(20px,8dvh,80px) max(20px,calc((100dvw - 600px)/2));overflow:auto;padding:20px;background:#1b1746;box-shadow:0 0 0 100vmax #08051bc9,0 20px 70px #0009}
.room-filters[open] summary{border-bottom:1px solid #ffffff3d;margin-bottom:12px}.room-filters[open] summary::after{content:'Fechar ×';font-size:13px}
.room-filters[open]{z-index:1000;overflow-x:hidden}
.room-filters[open]{top:max(72px,8dvh)}
.featured-preview{position:absolute;z-index:1;top:7%;right:4%;width:49%;height:82%;min-width:200px;min-height:200px;overflow:hidden;border-radius:24px;opacity:0;transition:opacity 600ms ease-in-out;transform:rotate(2deg);background:#100e24;pointer-events:none}
.featured-preview.playing{opacity:1}.featured-preview iframe{width:100%;height:100%;border:0}.featured-shade{z-index:2;pointer-events:none}.featured-copy{z-index:3}.preview-sound{position:absolute;z-index:4;right:6%;bottom:13%;min-height:44px;padding:0 16px;border:1px solid #fff9;border-radius:99px;background:#17143ce8;color:#fff;font-weight:700}.preview-sound[hidden]{display:none}
@media(max-width:720px){.room-active .select-view{padding:8px 14px}.room-layout{gap:4px}.featured-stage{min-height:200px}.featured-stage #featured-image,.featured-preview{top:2%;right:3%;width:76%;height:55%;border-radius:18px}.featured-preview{min-height:200px}.featured-copy{bottom:3%}.featured-copy h2{font-size:clamp(28px,8vmin,48px)}.featured-copy p{font-size:clamp(14px,4vmin,18px)}.featured-label{font-size:10px}#btn-featured-play{min-height:48px;margin-top:6px}.featured-meta{margin-top:3px}.room-active .song-card{flex-basis:clamp(105px,34dvw,145px);height:clamp(105px,18dvh,155px)}.song-navigation-heading h2{font-size:16px}.song-navigation-heading .eyebrow{display:none}.carousel-arrows button{width:44px;height:44px}.room-active #catalog-more{right:100px;font-size:0;min-width:44px;padding:0}.room-active #catalog-more::after{content:'+';font-size:24px}.room-side{grid-template-columns:1fr 1fr auto;gap:5px}.room-code-panel,.waiting-members,.room-filters{padding:5px 8px;min-height:50px}.room-code-panel strong{font-size:18px}.room-code-panel button{display:none}.room-panel-label{font-size:8px}.waiting-members ul{max-height:28px}.waiting-player-mark{flex-basis:24px;height:24px}.waiting-members li strong{max-width:60px}.room-filters:not([open]) summary{font-size:0;min-height:40px}.room-filters:not([open]) summary span{font-size:23px}.preview-sound{bottom:45%;font-size:11px}.room-filters[open]{inset:12px;}}
@media(prefers-reduced-motion:reduce){.featured-preview{transition:none}}
@media(max-width:720px){.room-filters[open]{top:70px}}

/* A cor da capa acompanha a música até o palco. */
:root{--song-primary:#6047ae;--song-secondary:#caff57}
body.room-active .site-header{display:none}
body.room-active main{height:100dvh}
.room-active .select-view{background:radial-gradient(ellipse at 78% 13%,color-mix(in srgb,var(--song-primary) 65%,#17112f),transparent 52%),linear-gradient(145deg,#100e26,color-mix(in srgb,var(--song-primary) 35%,#110e29) 55%,#100d25);padding-inline:clamp(16px,4dvw,70px)}
.room-topline{min-height:48px;gap:10px;margin-bottom:0}.room-identity{display:flex;align-items:center;gap:9px;font:800 clamp(17px,2vmin,22px) 'Manrope',sans-serif;letter-spacing:-.05em}.room-identity img{width:34px;height:34px}.room-topline .room-exit,.room-search-shortcut,.room-invite,.room-settings{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:1px solid #ffffff55;border-radius:99px;background:#ffffff18;color:white;font-size:21px}.room-search-shortcut{margin-left:auto}.room-search-shortcut span{display:none}.room-invite{display:flex;gap:6px;font-size:19px}.room-invite span{font:800 12px 'Manrope',sans-serif;letter-spacing:.08em;margin:0}.room-settings{cursor:pointer}.room-invite:hover,.room-settings:hover,.room-search-shortcut:hover{background:#ffffff30}
.featured-stage::before{background:color-mix(in srgb,var(--song-secondary) 23%,transparent)}
.featured-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--song-primary) 18%,#100e26) 0%,transparent 65%)}
.featured-copy h2{font-size:clamp(38px,7vmin,96px)}.featured-meta{display:none}
#btn-featured-play{background:color-mix(in srgb,var(--song-secondary) 45%,white);color:#181329;box-shadow:0 5px 0 color-mix(in srgb,var(--song-secondary) 50%,#241934)}
.room-active .song-card[aria-pressed="true"],.room-active .song-card.selected,.room-active .song-card:focus-visible{border-color:color-mix(in srgb,var(--song-secondary) 65%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--song-secondary) 30%,transparent)}
.room-side{display:flex;align-items:center;min-height:0}.room-code-panel{display:none}.waiting-members{padding:4px 12px;border-radius:99px;min-height:44px}.waiting-members .room-panel-label{display:none}.waiting-members>div strong{font-size:12px}.waiting-members ul{margin:0 0 0 8px}.waiting-members{display:flex;align-items:center;gap:8px}.room-filters:not([open]){display:none}.room-filters[open]{top:max(12px,5dvh);background:color-mix(in srgb,var(--song-primary) 18%,#14112c)}
.room-settings-panel{background:#17142f;color:#fff}.room-settings-panel h2{color:#fff}.room-settings-panel h3{margin:24px 0 4px}.room-settings-panel p{color:#c8c2dd}.room-settings-panel label{display:flex;align-items:center;justify-content:space-between;gap:15px}.room-settings-panel select{padding:9px;background:#302946;color:#fff;border:1px solid #ffffff55;border-radius:8px}.palette-controls{display:flex;gap:16px;margin:16px 0}.palette-controls label{gap:10px}.palette-controls input{width:48px;height:48px;padding:2px;border:1px solid #ffffff66;border-radius:8px;background:transparent}
.game-view{background:radial-gradient(circle at 73% 39%,color-mix(in srgb,var(--song-primary) 35%,#17242b),color-mix(in srgb,var(--song-primary) 12%,#0b181d) 60%,#09141b 100%)}
.game-view .singer-panel,.game-view .sync-controls{border-color:color-mix(in srgb,var(--song-secondary) 32%,transparent)}
.game-view .singer-panel .eyebrow,.game-view .text-button{color:color-mix(in srgb,var(--song-secondary) 55%,white)}
@media(max-width:720px){.room-active .select-view{padding:8px 14px}.room-topline{gap:7px}.room-identity strong{display:none}.room-identity img{width:32px;height:32px}.room-invite{font-size:18px}.room-invite span{font-size:10px}.room-settings{padding:0;width:44px}.room-filters[open]{top:12px}.featured-shade{background:linear-gradient(0deg,color-mix(in srgb,var(--song-primary) 18%,#100e26) 0%,transparent 75%)}.room-side{justify-content:flex-start}.waiting-members li strong{max-width:90px}}
