@font-face{font-family:Drop;src:url('/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Bricolage;src:url('/fonts/BricolageGrotesque.ttf') format('truetype');font-weight:200 800;font-display:swap}
/* Sleeve Portal: these tokens are the visual source of truth. */
:root{color-scheme:light;--bg:#104e58;--panel:#f6f8f6;--text:#104e58;--muted:#46636a;--line:#cad6d6;--accent:#7044dd;--accent-hover:#5c32c4;--blue:#3459c9;--citron:#ddf16a;--rose:#ed7095;--green:#104e58;--secondary:#e6e4f2;--field:#fff;--field-border:#789198;--success-soft:#ddf16a;--radius:14px;--display:Bricolage,Drop,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--rail-line:#43818a;--rail-muted:#c6dfe1;--room-width:clamp(280px,27vw,370px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Drop,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,a{color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{text-underline-offset:4px}img{max-width:100%;display:block}svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}h2{font-size:28px}h3{font-size:20px}p{margin-bottom:12px}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button,input,textarea,select{border-radius:8px}label{display:grid;gap:6px;font-size:13px;font-weight:700}input:not([type=range]):not([type=checkbox]),textarea,select{width:100%;min-height:44px;border:1px solid var(--field-border);background:var(--field);color:var(--text);padding:10px 12px}input::placeholder,textarea::placeholder{color:#526b72;opacity:1}textarea{resize:vertical;min-height:85px}input[type=range]{accent-color:var(--accent);min-height:26px;width:140px}summary{cursor:pointer;font-weight:700}blockquote{margin:0;font-size:14px;line-height:1.5}ul,ol{padding-left:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;background:var(--accent);color:#fff;border:0;font-weight:800;text-decoration:none;transition:background 180ms,transform 180ms var(--ease)}.button:hover{background:var(--accent-hover)}.button:active:not(:disabled){transform:translateY(1px)}.button.secondary{background:var(--secondary);color:var(--text)}.button.secondary:hover{background:#d5d2e7}.text-button,.text-link{border:0;background:none;padding:8px 0;color:var(--accent);font-weight:800;text-decoration:underline}.quiet,.small,.help,.connection{color:var(--muted)}.small,.help{font-size:12px}.help{margin:10px 0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* A single paper surface opens the experience. */
.topbar{max-width:1408px;width:calc(100% - 64px);height:82px;padding:20px 34px;margin:28px auto 0;background:var(--panel);border-radius:14px 14px 0 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;flex-shrink:0;text-decoration:none}.brand img{width:270px;height:auto}.brand-dot{color:var(--accent)}.connection{font-size:12px}.landing{max-width:1408px;width:calc(100% - 64px);margin:0 auto 28px;padding:28px 50px 20px;background:var(--panel);border-radius:0 0 14px 14px;display:grid;grid-template-columns:1fr 1.15fr;gap:24px 40px;align-items:center}.intro h1,.entry h1{font-size:clamp(52px,6.6vw,88px);line-height:.98;letter-spacing:-.04em;margin:20px 0 24px;max-width:6ch}.lede{font-size:18px;line-height:1.5;max-width:36ch;color:var(--text);margin-bottom:26px}.home-join{max-width:410px;margin:28px 0 8px}.home-join>div{display:grid;grid-template-columns:1fr auto;gap:10px}.home-join input{text-transform:uppercase;letter-spacing:.12em}.intro>.text-link{display:inline-block;margin:0 0 12px}.intro>.small{font-size:12px;max-width:36ch}.entry-art{position:relative;width:100%;aspect-ratio:1.2;isolation:isolate;max-width:650px;margin:auto}.entry-portal{position:absolute;width:100%;height:100%;inset:0}.entry-sleeve{position:absolute;width:53%;aspect-ratio:1;left:29%;top:21%;border:8px solid var(--panel);overflow:hidden;background:var(--panel);border-radius:8px}.entry-sleeve img{width:100%;height:100%;object-fit:cover;filter:blur(12px);transform:scale(1.14)}.entry-character{position:absolute;width:22%;z-index:1}.entry-character.one{top:0;left:14%;transform:rotate(-8deg)}.entry-character.two{top:42%;right:0;transform:rotate(9deg)}.entry-character.three{bottom:0;left:16%;transform:rotate(-9deg)}.record-display{min-width:0}.how{grid-column:1/-1;display:flex;gap:28px;margin-top:20px;padding:24px 0 10px;border-top:1px solid var(--line)}.how>div{flex:1}.how strong{font-family:var(--display);font-size:18px}.how p{font-size:13px;color:var(--muted);margin:6px 0}.landing footer{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding-top:14px}.app-shell{position:relative;max-width:1408px;width:calc(100% - 64px);margin:0 auto 28px;background:var(--panel);border-radius:0 0 14px 14px;padding:20px 40px 36px}.entry{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;min-height:520px}.entry-content{min-width:0}.entry h1{font-size:clamp(46px,5.6vw,76px);max-width:10ch}.entry-content>.small{margin-top:20px}.join-form,.create-form{max-width:380px;display:grid;gap:15px}.join-form .button,.create-form .button{justify-self:start;min-width:140px}.creator{max-width:1408px;margin:auto;padding:0 34px 24px;color:#d3e7e8;font-size:12px}#notice{position:fixed;z-index:20;top:12px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 20px;border-radius:10px;background:var(--citron);color:var(--text);box-shadow:0 8px 24px #062f3a26}
/* Choose a player identity at the same station as name entry. */
.entry-character-picker{border:0;padding:0;margin:2px 0 0;min-width:0}.entry-character-picker legend{font-size:13px;font-weight:700;padding:0;margin-bottom:8px}.entry-character-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.entry-character-option{position:relative;display:block;cursor:pointer;min-width:0}.entry-character-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:78px;padding:5px 2px;border:1px solid transparent;border-radius:8px;font-size:10px;line-height:1.2;text-align:center;color:var(--text);transition:background 180ms,border-color 180ms}.entry-character-choice .character-art{width:46px;height:46px;max-width:100%}.entry-character-option:hover .entry-character-choice{background:var(--secondary)}.entry-character-option input:checked+.entry-character-choice{border-color:var(--accent);background:var(--secondary)}.entry-character-option input:focus-visible+.entry-character-choice{outline:3px solid var(--accent);outline-offset:2px}
/* Inside a room, the masthead and columns are a single stable frame. */
.in-game .topbar,.in-game .creator{display:none}.in-game .app-shell{max-width:1440px;width:calc(100% - 32px);height:calc(100dvh - 32px);margin:16px auto;padding:0;border-radius:14px;overflow:hidden}.in-game #game{height:100%;min-height:0}.game-header{height:64px;padding:12px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.game-header .brand img{width:235px}.game-heading{text-align:center}.game-heading h1{font-size:19px;margin:0}.room-meta{justify-self:end;white-space:nowrap;font-size:12px;font-weight:600;margin:0}.room-code{font-weight:800;letter-spacing:.09em;margin-left:5px}.room-role{font-size:11px;margin-left:14px;color:var(--muted)}.round-indicator{display:block;font-size:13px;font-weight:800;line-height:1.25}.round-segments{display:flex;justify-content:center;gap:4px;margin-top:6px;max-width:220px}.round-segments i{height:6px;width:9px;flex-shrink:1;border-radius:3px;background:var(--line)}.round-segments i.is-played{background:var(--accent)}.round-segments i.is-played:last-child{width:22px}.room-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--room-width);height:calc(100% - 64px);gap:0}.panel{min-width:0;padding:24px;background:var(--panel)}.party-panel{position:relative;overflow:auto;min-height:0}.sidebar{padding:20px;background:var(--bg);color:var(--panel);min-width:0;min-height:0}.game-rail{display:flex;flex-direction:column;gap:18px;padding-bottom:calc(var(--desktop-chat-size,44px) + 32px);overflow:hidden}.game-rail h2,.result-personal h2{font-size:20px;color:var(--panel);margin-bottom:14px}.game-rail h2 span,.result-personal h2 span{font-family:Drop,sans-serif;font-size:11px;font-weight:500;margin-left:5px;color:#c6dfe1}.game-rail .roster-panel{min-height:0;overflow:auto;flex:1}.game-rail .quiet,.game-rail .help,.game-rail .small,.game-rail .all-time-list small{color:#c6dfe1}.game-rail .all-time-list li{border-color:#43818a}.regulars-side{border-top:1px solid #43818a;padding-top:16px;margin-top:18px}.regulars-side h3{font-size:16px;margin-bottom:10px}.all-time-list{list-style:none;padding:0;margin:0}.all-time-list li{display:grid;grid-template-columns:22px 1fr;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--line)}.all-time-list li>strong{grid-row:span 2}.all-time-list small{grid-column:2;color:var(--muted);font-size:11px}.roster{list-style:none;padding:0;margin:0}.roster li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}.avatar{width:44px;height:44px;display:grid;place-items:center;background:none!important;flex-shrink:0}.character-art{object-fit:contain;width:125%;height:125%;max-width:none}.player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:13px}.player-name small{display:block;font-size:10px;font-weight:500}.points{font-weight:800;font-variant-numeric:tabular-nums}.game-rail .roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 5px}.game-rail .roster li{display:flex;flex-direction:column;gap:8px;text-align:center;border:0;padding:0}.game-rail .roster .avatar{width:62px;height:62px}.game-rail .roster .avatar .character-art{width:100%;height:100%}.game-rail .roster .player-name{width:100%;font-size:12px}.game-rail .roster .points{display:none}.game-rail .roster small{color:#c6dfe1;white-space:normal;line-height:1.45;margin-top:4px}.game-rail .roster small.you-label{display:none}.game-rail .roster li.has-solved .player-name{color:var(--citron)}.share{padding:12px 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}.share label{font-size:12px}.share-line{display:flex;gap:10px;min-width:0}.share-line input{min-width:0;font-size:12px;min-height:36px!important;padding:7px 10px!important}.share-line .button{min-height:36px;padding:7px 16px;font-size:12px;white-space:nowrap}#game:has(>.share)>.room-grid{height:calc(100% - 127px)}
/* Song preparation is one operating station; incoming room status does not rebuild it. */
.host-participation{margin:18px 0}.party-panel>h2{margin-bottom:18px}.lobby-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.lobby-checklist p{margin:0;font-size:12px}.lobby-checklist strong,.lobby-checklist span{display:block}.lobby-checklist strong{font-weight:800;margin-bottom:4px}.lobby-checklist span{color:var(--muted)}.selected-song{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;align-items:center}.selected-song>img{width:132px;height:132px;object-fit:cover;border-radius:8px}.selected-song h2{font-size:30px;margin:4px 0 8px}.selected-song p{font-size:13px;margin-bottom:8px}.pick-confirmation{font-weight:800;font-size:14px!important}.song-actions{display:flex;flex-wrap:wrap;gap:8px}.song-actions .button{font-size:12px;min-height:36px;padding:8px 12px}.pick-note{display:grid;gap:10px;max-width:620px;margin:22px 0 0}.pick-note label>.quiet{font-weight:500}.pick-note .button{justify-self:start;min-height:36px;padding:8px 14px;font-size:12px}.pick-character{display:block;position:absolute;right:28px;top:132px;width:54px;height:54px}.profile-picker{margin:16px 0 10px;max-width:450px;padding:9px 0;border-block:1px solid var(--line)}.profile-picker summary{display:flex;align-items:center;justify-content:space-between;font-size:12px}.profile-picker summary span{width:28px;height:28px}.icon-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.icon-option{display:grid;place-items:center;background:transparent;border:1px solid transparent;min-height:52px;padding:5px}.icon-option img{width:42px;height:42px}.icon-option:hover,.icon-option.is-selected{background:var(--secondary);border-color:var(--accent)}.audio-control{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;margin:10px 0}.audio-control>#audio-status{flex:1 0 100%}.volume-control{display:flex;align-items:center;gap:10px;font-size:11px}.volume-control label{font-size:11px}.volume-control output{min-width:32px}.volume-icon{width:19px;height:19px}.game-settings{margin:18px 0}.game-settings>summary{font-size:13px}.source-picker{margin-top:20px}.source-picker h2{font-size:22px}.source-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.source-option{display:grid;gap:3px;text-align:left;border:1px solid var(--line);background:white;padding:12px}.source-option strong{font-size:13px}.source-option span{font-size:11px;color:var(--muted)}.source-option:hover,.source-option.is-selected{background:var(--secondary);border-color:var(--accent)}.theme-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:18px}.theme-form label{flex:1;min-width:180px}.theme-form>.help{width:100%}.settings{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:18px}.settings label{min-width:130px}.settings .button{margin-left:auto}.round-count{font-size:13px;align-self:center;margin:0}.theme-banner{padding:8px 12px;background:var(--citron);border-radius:8px;font-size:13px;margin-bottom:14px}.song-picker h2{margin-bottom:8px}.song-picker>p{font-size:13px}.search-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin:18px 0}.song-results{list-style:none;margin:0;padding:0}.song-results li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.song-results img{width:56px;height:56px;object-fit:cover;border-radius:6px}.song-results strong{font-size:13px}.song-results p{font-size:11px;color:var(--muted);margin:3px 0}.song-version{font-size:10px}.test-player-controls{padding-top:20px;border-top:1px solid var(--line);margin-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:end}.test-player-controls h3{font-size:18px}.test-player-controls p{font-size:12px}.test-player-actions{display:flex;gap:10px;align-items:end}.test-player-actions label{min-width:100px}.eyebrow{display:none}.waiting{padding:40px 10px}.waiting h2{font-size:36px}.empty{font-size:13px;color:var(--muted)}
/* The portal and dock remain mounted from preparation through answer lock. */
.in-round .party-panel{padding:0;overflow:visible}.round-grid{padding:0}.round-top{display:none}.progress{position:absolute;z-index:2;left:0;right:0;top:0;height:3px;background:var(--line);overflow:hidden}.progress>div{height:100%;background:var(--accent);transform-origin:left}.player-round,.stage-main{height:100%;min-height:0}.stage-main{display:flex;flex-direction:column}.portal-stage{position:relative;display:grid;grid-template-columns:32% 68%;align-items:center;flex:1;min-height:255px;padding:0 15px 0 30px;isolation:isolate}.portal-stage h2{font-size:clamp(44px,5.1vw,72px);line-height:.98;letter-spacing:-.04em;text-transform:lowercase;width:5.1ch;max-width:100%;margin:0;z-index:1}.portal-scene{position:relative;height:100%;min-width:0;max-height:440px}.portal-graphic{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}.portal-bit{transform-box:fill-box;transform-origin:center}.stage-clock{position:absolute;left:3%;top:51%;transform:translateY(-50%);z-index:2}.timer{font-family:var(--display);font-size:clamp(48px,5.4vw,74px);font-weight:800;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em;display:block;min-width:2.8ch}.timer.urgent{color:var(--bg)}.timer.is-loading{font-size:14px;letter-spacing:0;min-width:86px}.clock-label{display:block;font-size:10px;font-weight:700;margin-top:6px;color:var(--muted)}.stage-counting .clock-label{visibility:hidden}.round-artwork{border:9px solid var(--panel);position:absolute;top:50%;right:13%;transform:translateY(-50%);width:55%;max-width:290px;aspect-ratio:1;overflow:hidden;border-radius:9px;background:var(--blue);--artwork-blur:52px;--artwork-scale:1.2}.round-artwork img{width:100%;height:100%;object-fit:cover;filter:blur(var(--artwork-blur));transform:scale(var(--artwork-scale));transition:filter 120ms linear,transform 120ms linear}.answer-area{position:relative;flex-shrink:0;padding:16px 24px 18px;border-top:1px solid var(--line);background:var(--panel)}.guess-form{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:12px;align-items:end}.guess-form label{font-size:12px}.guess-form input{min-height:48px!important;font-size:15px}.guess-form .button{min-height:48px}.answer-feedback{position:relative;display:flex;align-items:center;gap:14px;min-height:25px;margin-top:7px;padding-right:38px;font-size:12px}.attempt-feedback{flex:1}.idle-feedback{color:var(--muted)}.locked{font-size:10px;font-weight:600}.answer-character{position:absolute;right:0;top:0;width:30px;height:30px;opacity:0;transition:opacity 180ms}.answer-solved .answer-character{opacity:1}.answer-solved #guess .button{background:var(--citron);color:var(--text);opacity:1}.answer-solved input:disabled{opacity:.8}.round-audio{position:absolute;right:24px;bottom:110px;margin:0;z-index:4}.round-audio .volume-control{gap:8px}.round-audio input[type=range]{width:110px}.sound-options{position:relative}.sound-options summary{list-style:none;padding:4px}.sound-options summary::-webkit-details-marker{display:none}.sound-options summary svg{width:19px;height:19px}.sound-options>div{position:absolute;right:0;bottom:36px;min-width:210px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;z-index:8}.round-audio #enable-audio{font-size:11px;min-height:28px;padding:5px 8px}.reactions{margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}.reactions>p:first-child{margin:0 0 5px;font-size:10px;font-weight:700}.reactions>div{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.reaction{border:1px solid transparent;background:transparent;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:64px;padding:3px 0;border-radius:8px;font-size:10px;font-weight:800;white-space:nowrap}.reaction img{width:46px;height:46px;object-fit:contain}.reaction:hover:not(:disabled),.reaction[aria-pressed=true]{border-color:var(--accent);background:var(--secondary)}.reaction:disabled{opacity:.5}.reaction[aria-pressed=true]{opacity:1}.reaction-summary{font-size:10px;color:var(--muted);margin:5px 0 0;min-height:15px}.dj-message h3{font-size:22px;margin-bottom:5px}.dj-message p{font-size:13px}.round-room .stage-roster{flex:0 1 auto;max-height:62%}.round-room .stage-roster:has(li:nth-child(13)):not(:has(li:nth-child(17))){max-height:none;flex-shrink:0}.round-room .stage-players:has(li:nth-child(13)){grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 4px}.round-room .stage-players:has(li:nth-child(13)) .avatar{width:42px;height:42px}.live-guesses{display:flex;flex-direction:column;min-height:72px;flex:1;border-top:1px solid #43818a;padding-top:12px}.live-guesses-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.live-guesses h3{font-family:Drop,sans-serif;font-size:12px;letter-spacing:0;margin:0}.live-guesses-heading .quiet{color:#c6dfe1;font-size:10px}.live-guesses ol{list-style:none;margin:0;padding:0;overflow:auto;min-height:0;flex:1;scrollbar-color:#87adb4 transparent}.live-guesses li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px 0;font-size:11px;border-bottom:1px solid #43818a}.activity-mark{display:grid;place-items:center;width:24px;height:24px}.activity-mark svg{width:18px;height:18px}.activity-mark img{width:24px;height:24px}.live-guesses time{font-size:9px;color:#c6dfe1}.activity-empty{display:block!important;color:#c6dfe1}.activity-correct{color:var(--citron)}.answer-celebrate{animation:dock-confirm 1400ms cubic-bezier(.4,0,.2,1)}@keyframes dock-confirm{0%,55%{background:var(--citron)}100%{background:var(--panel)}}
/* Results keep the complete table on paper while the contributor enters above it. */
.result-panel{padding:0;height:calc(100% - 64px);min-height:0}.result-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--room-width);height:100%;min-height:0}.results-main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:16px 22px}.result-summary{overflow:hidden;position:relative;min-height:170px;flex-shrink:0;isolation:isolate;padding:6px 0 8px}.result-summary>.portal-graphic{width:192px;height:164px;left:-25px;top:-8px;opacity:1}.reveal{display:grid;grid-template-columns:124px minmax(0,1fr);gap:48px;align-items:start}.reveal-sleeve{overflow:hidden;background:var(--panel);padding:4px;border-radius:9px;width:124px;height:124px;transform-origin:top left;z-index:5}.reveal-sleeve img{width:100%;height:100%;object-fit:cover;border-radius:8px}.reveal-copy{min-width:0;padding-top:2px}.reveal h2{font-size:30px;margin:0 0 8px;line-height:1.08}.reveal-artist{font-size:14px;font-weight:700;color:var(--accent);margin:0}.reveal-copy>.small{display:none}.contributor-story{display:flex;gap:10px;align-items:start;margin-top:12px}.contributor-character{width:44px;height:44px;flex-shrink:0}.contributor-story h3{font-family:Drop,sans-serif;letter-spacing:0;font-size:12px;margin:0 0 4px;line-height:1.2}.contributor-story blockquote{font-size:11px;max-height:36px;overflow:auto;max-width:60ch}.reveal-actions{position:absolute;right:0;bottom:16px}.reveal-actions .button{min-height:30px;font-size:10px;padding:6px 10px}.reveal-recap{font-size:10px;color:var(--muted);margin:12px 80px 0 0;line-height:1.4}.result-detail{flex:1;min-width:0;min-height:0}.round-standings{min-width:0;height:100%;display:flex;flex-direction:column;min-height:0}.round-standings h2{font-size:20px;margin:0 0 10px}.table-scroll-hint{display:none}.results-table-wrap{max-width:100%;overflow:auto;min-height:0;flex:1}.round-standings table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;line-height:16px}.round-standings th,.round-standings td{text-align:left;padding:3px 7px;border-bottom:1px solid var(--line);vertical-align:middle}.round-standings thead th{font-size:10px;color:var(--muted);font-weight:700;padding-block:6px}.round-standings th:first-child{width:7%}.round-standings th:nth-child(2){width:19%}.round-standings th:nth-child(3){width:35%}.round-standings th:nth-child(4){width:17%}.round-standings th:nth-child(5){width:10%}.round-standings th:nth-child(6){width:12%}.round-standings tbody tr{position:relative;background:var(--panel)}.round-standings tbody th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-standings .is-you{background:var(--citron)}.round-standings small{font-size:9px;font-weight:500}.round-answer{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-total{position:relative;font-weight:800;font-variant-numeric:tabular-nums}.answer-outcome{font-size:10px}.answer-outcome.is-correct{font-weight:800}.result-personal{min-height:0;overflow:auto;padding:16px 18px calc(var(--desktop-chat-size,44px) + 26px);background:var(--bg);color:var(--panel);display:flex;flex-direction:column;gap:14px}.result-personal .stage-roster{flex:0 0 auto}.result-personal h2{font-size:18px;margin:0 0 8px}.result-personal .stage-players{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.result-personal .stage-players:has(li:nth-child(13)){grid-template-columns:repeat(4,minmax(0,1fr))}.result-personal .stage-players li{border:0;display:flex;flex-direction:column;gap:0;text-align:center;padding:0}.result-personal .stage-players .avatar{width:28px;height:28px}.result-personal .stage-players .player-name{font-size:10px;width:100%;line-height:14px}.result-personal .stage-players small{display:none}.round-receipt h3{font-size:20px;margin:0 0 6px}.round-receipt p{font-size:11px;margin:0 0 4px;line-height:1.5}.rank-movement{color:var(--citron);font-weight:700}.intermission{margin-top:auto}.next-round{font-family:var(--display);font-size:22px;font-weight:800;line-height:1.15;margin-bottom:8px;color:var(--citron)}.intermission .button{min-height:34px;font-size:11px;padding:7px 12px;background:var(--panel);color:var(--text)}.last-result .result-summary{min-height:210px}.last-result .round-receipt{margin:12px 0}.last-result .round-standings{height:auto}.last-result .results-table-wrap{overflow:visible}.last-result .round-standings table{min-width:500px}
/* Chat is persistent; measured space belongs to it rather than overlaying the game. */
.app-shell>.chat{position:absolute;z-index:8;right:18px;bottom:18px;width:calc(var(--room-width) - 36px);margin:0;background:var(--panel);border-radius:10px;color:var(--text);overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:7px 12px}.chat-head h2{display:none}.chat-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:7px;background:none;border:0;padding:0;font-size:12px;font-weight:800}.chat-toggle-label{display:flex;align-items:center;gap:6px}.chat-toggle svg{width:16px;height:16px}.chat-chevron{width:12px!important}.chat-unread{display:grid;place-items:center;min-width:18px;height:18px;background:var(--accent);color:white;font-size:10px;border-radius:50%}.chat-body{display:none;padding:0 12px 10px}.chat.is-open .chat-body{display:block}.chat ol{list-style:none;padding:0;margin:0 0 8px;min-height:64px;max-height:64px;overflow:auto}.chat li{display:grid;grid-template-columns:auto 1fr;gap:7px;padding:4px 0;font-size:10px;overflow-wrap:anywhere}.chat li strong{font-size:10px;color:var(--accent)}.chat li.chat-activity{grid-template-columns:32px minmax(0,1fr);align-items:center;color:var(--muted)}.chat-activity>img{width:32px;height:32px;object-fit:contain}.chat form{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px}.chat form input{min-height:32px!important;padding:6px 8px!important;font-size:11px}.chat form .button{min-height:32px;padding:6px;font-size:10px}.chat .text-button{font-size:10px;padding:4px 0 0}.chat .empty{color:var(--muted);font-size:11px}
/* The ending keeps complete standings ahead of the room's extras. */
.final-content{height:calc(100% - 64px);min-height:0}.ceremony{height:100%;display:flex;flex-direction:column;min-height:0;padding:0;background:var(--panel)}.ceremony-heading{position:relative;background:var(--bg);color:var(--panel);height:90px;flex-shrink:0;padding:24px 28px 20px 110px;overflow:hidden;isolation:isolate}.ceremony-heading h2{position:relative;z-index:1;margin-right:150px;font-size:38px;margin:0;line-height:1.15;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}.ceremony-heading>.portal-graphic{left:auto;right:20px;top:-11px;width:144px;height:112px;opacity:1;z-index:0}.ceremony-heading>.portal-graphic .portal-teal{fill:var(--panel)}.winner-shared svg{width:100%;height:100%}.winner-character{z-index:1;position:absolute;width:74px;height:74px;left:22px;top:8px}.final-grid{display:grid;grid-template-columns:minmax(270px,38%) minmax(0,1fr);gap:24px;padding:16px 24px;flex:1;min-height:0}.final-scores{display:flex;flex-direction:column;min-height:0}.final-scores h2{font-size:18px;margin:0 0 10px}.final-scores h2 span{font-family:Drop,sans-serif;font-size:11px;color:var(--muted);font-weight:500}.final-scores #roster{flex:1;min-height:0;overflow:auto}.final-scores .roster li{grid-template-columns:18px 24px minmax(0,1fr) auto;gap:8px;min-height:23px;padding:2px 0}.final-scores .avatar{width:20px;height:20px}.final-scores .player-name{font-size:12px}.final-scores .player-name small{display:inline;margin-left:4px;font-size:9px}.final-scores .points{font-size:12px}.final-place{display:grid;place-items:center;min-width:18px;height:18px;font-size:10px;font-weight:800;border-radius:4px}.final-place.gold{background:var(--citron)}.final-place.silver{background:var(--blue);color:#fff}.final-place.bronze{background:var(--rose)}.final-extras{display:flex;flex-direction:column;min-height:0;min-width:0;padding-bottom:calc(var(--desktop-chat-size,44px) - 12px)}.final-tabs{display:flex;flex-shrink:0;gap:5px;border-bottom:1px solid var(--line);padding-bottom:8px}.final-tabs button{flex:1;background:transparent;border:0;font-size:11px;font-weight:800;min-height:32px;padding:7px 8px;white-space:nowrap}.final-tabs button[aria-selected=true]{background:var(--accent);color:white}.final-pane{flex:1;min-height:0;overflow:auto;padding:16px 0}.final-pane h3,.mixtape h2{font-size:20px;margin:0 0 12px}.award-list{margin:0;display:grid;gap:14px}.award-list>div{display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:12px}.award-list dt{font-size:12px;font-weight:800}.award-list dd{margin:0;font-size:13px}.player-highlights ul{list-style:none;padding:0;margin:0}.player-highlights li{display:flex;gap:12px;margin-bottom:15px;align-items:start}.player-highlights .avatar{width:32px;height:32px}.player-highlights p{font-size:12px;margin:3px 0}.mixtape-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.mixtape-heading p{font-size:12px}.mixtape-heading .button{font-size:10px;min-height:32px;padding:6px 10px;white-space:nowrap}.favourites-filter{display:flex;align-items:center;gap:8px;font-size:11px;margin:10px 0}.mixtape-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.mixtape-list li{min-width:0}.mixtape-list img{width:88px;height:88px;object-fit:cover;border-radius:7px;margin-bottom:10px}.mixtape-list h3{font-size:17px;margin:0 0 3px}.mixtape-list p,.mixtape-list blockquote{font-size:11px;margin:3px 0}.mixtape-actions .button{min-height:30px;padding:5px 10px;font-size:10px;margin-top:6px}.finale-actions{padding:0 24px 14px;display:flex;align-items:center;gap:14px;flex-shrink:0}.finale-actions>.button{background:var(--citron);color:var(--text);min-height:36px;padding:8px 16px;font-size:12px}.finale-actions p{font-size:10px;margin:0;max-width:calc(100% - var(--room-width) - 180px)}
@media(min-width:851px) and (max-height:760px){.portal-stage{min-height:235px}.portal-stage h2{font-size:56px}.answer-area{padding-top:12px;padding-bottom:10px}.reactions{margin-top:10px;padding-top:7px}.reaction img{width:40px;height:40px}.reaction{min-height:57px;font-size:9px}.round-audio{bottom:95px}.result-summary{min-height:162px}.result-personal{gap:10px}.game-rail .roster{gap:8px 4px}.round-room .stage-players .avatar{width:43px;height:43px}.round-room .stage-players:has(li:nth-child(13)) .avatar{width:38px;height:38px}}
@media(max-width:1100px) and (min-width:851px){:root{--room-width:285px}.game-header .brand img{width:200px}.portal-stage{padding-left:22px;grid-template-columns:31% 69%}.portal-stage h2{font-size:48px}.timer{font-size:52px}.answer-area{padding-inline:18px}.round-audio{right:18px}.reveal h2{font-size:26px}.final-grid{gap:18px;padding-inline:18px}.final-tabs button{font-size:10px;padding-inline:4px}}
/* Phones put listening and answering ahead of the room, with chat in its own flow. */
@media(max-width:850px){body{font-size:14px}.topbar{width:calc(100% - 24px);height:65px;margin-top:12px;padding:16px 20px}.brand img{width:210px}.topbar>.quiet{display:none}.landing{width:calc(100% - 24px);padding:18px 24px 24px;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:12px}.intro h1{font-size:60px}.lede{font-size:15px}.app-shell{width:calc(100% - 24px);padding:10px 24px 24px;margin-bottom:12px}.entry{min-height:0;padding-bottom:20px;gap:20px}.entry h1{font-size:48px}.creator{padding-inline:24px}.in-game .app-shell{width:calc(100% - 24px);height:auto;min-height:calc(100dvh - 24px);margin:12px auto;overflow:visible;padding-bottom:0}.in-game #game{height:auto}.game-header{height:auto;min-height:70px;padding:15px 18px;grid-template-columns:1fr auto;gap:12px}.game-header .brand img{width:205px}.game-heading{grid-column:1/-1;grid-row:2;text-align:left}.game-heading h1{font-size:16px}.round-indicator{display:flex;align-items:center;gap:14px;font-size:12px}.round-segments{margin:0}.room-meta{font-size:10px}.room-role{display:none}.room-grid,#game:has(>.share)>.room-grid{height:auto;grid-template-columns:1fr}.party-panel{overflow:visible;padding:22px 18px}.game-rail{padding:20px 18px;overflow:visible}.game-rail .roster-panel{overflow:visible}.game-rail .roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.regulars-side{display:none}.share{padding:12px 18px;grid-template-columns:1fr;gap:8px}.selected-song{grid-template-columns:96px minmax(0,1fr);gap:15px}.selected-song>img{width:96px;height:96px}.selected-song h2{font-size:25px}.lobby-checklist{gap:10px}.host-participation{margin-top:18px}.settings .button{margin-left:0}.in-round .portal-stage{min-height:245px;height:245px;flex:0 0 auto;grid-template-columns:35% 65%;padding:0 15px 0 20px}.portal-stage h2{font-size:48px}.portal-scene{height:245px}.timer{font-size:44px}.clock-label{font-size:9px}.round-artwork{max-width:170px;right:10%}.in-round .answer-area{padding:14px 18px 16px}.answer-feedback{min-height:25px}.round-audio{position:static;margin:8px 0 5px;justify-content:flex-end}.round-audio input[type=range]{width:110px}.reactions{margin-top:8px}.reaction img{width:40px;height:40px}.reaction{font-size:9px;min-height:58px}.round-room{display:flex;flex-direction:column;padding:18px;gap:18px}.round-room .stage-roster{order:2;max-height:none;overflow:visible}.round-room .live-guesses{order:1;border:0;padding:0;min-height:70px;max-height:165px}.round-room .stage-players,.round-room .stage-players:has(li:nth-child(13)){display:flex;overflow:auto;gap:12px;padding-bottom:5px}.round-room .stage-players li{flex:0 0 57px}.round-room .stage-players .avatar,.round-room .stage-players:has(li:nth-child(13)) .avatar{width:36px;height:36px}.stage-roster .player-name{font-size:11px}.live-guesses ol{flex:0 1 auto;max-height:115px}.app-shell>.chat{position:relative;right:auto;bottom:auto;width:auto;margin:0 18px 18px;border:1px solid var(--line);border-radius:10px;max-height:none;z-index:4}.chat-head{min-height:42px}.chat ol{max-height:110px}.chat form input{min-height:38px!important}.chat form .button{min-height:38px}.result-panel{height:auto}.result-layout{height:auto;grid-template-columns:1fr}.results-main{padding:18px;overflow:hidden}.result-summary{min-height:184px}.result-personal{padding:18px;gap:16px;overflow:visible}.result-personal .stage-roster{display:none}.round-receipt h3{font-size:22px}.round-receipt p{font-size:12px}.intermission{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.next-round{font-size:22px;margin:0}.round-standings{height:auto}.results-table-wrap{max-width:100%;overflow:auto;flex:0 1 auto}.round-standings table{min-width:630px;font-size:12px}.round-standings th,.round-standings td{padding:6px 8px}.table-scroll-hint{display:block;font-size:10px;color:var(--muted);margin:-5px 0 8px}.final-content{height:auto}.ceremony{height:auto}.ceremony-heading{height:90px;padding-left:91px}.winner-character{width:64px;height:64px;left:17px;top:13px}.ceremony-heading h2{font-size:33px}.final-grid{grid-template-columns:1fr;gap:24px;padding:20px 18px}.final-scores #roster{overflow:visible}.final-scores .roster li{min-height:30px;padding:4px 0}.final-scores .avatar{width:22px;height:22px}.final-extras{padding:0;min-height:320px}.final-pane{overflow:visible}.final-tabs{overflow:auto}.final-tabs button{font-size:10px;padding-inline:8px}.finale-actions{padding:0 18px 18px;flex-direction:column;align-items:start;gap:8px}.finale-actions p{max-width:100%}.mixtape-list img{width:100%;height:auto;aspect-ratio:1;max-width:170px}.award-show{height:calc(100dvh - 110px);min-height:480px;padding:20px 18px 72px}.award-show-top p{font-size:17px}.award-show-top .button{font-size:10px}.award-medal{width:90px;height:90px}.award-winners.shared-medal{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px}.shared-medal strong{font-size:12px}.shared-medal .award-profile{width:30px;height:30px}.in-ceremony .app-shell>.chat{position:absolute;bottom:18px;right:18px;width:calc(100% - 36px);margin:0}.in-ceremony .chat-body{max-height:150px;overflow:auto}.answer-focused .chat{pointer-events:auto}}
@media(max-width:620px){.landing{display:flex;flex-direction:column;align-items:stretch;padding:15px 24px 24px}.intro h1{font-size:64px;max-width:6ch;margin:16px 0 20px}.record-display .entry-art{max-width:360px;aspect-ratio:1.25;margin:0 auto 12px}.home-join{margin-top:22px}.home-join>div{grid-template-columns:1fr auto}.home-join .button{padding-inline:14px}.how{flex-direction:column;gap:18px;padding-top:20px;margin-top:0}.landing footer{display:flex;gap:10px;font-size:10px}.entry{grid-template-columns:1fr;gap:18px}.entry-content{order:1}.entry-art{order:2;max-width:340px}.entry h1{font-size:48px;max-width:11ch}.join-form,.create-form{max-width:none}.in-game .app-shell{width:calc(100% - 20px);margin:10px auto;min-height:calc(100dvh - 20px)}.game-header{padding:14px 15px}.game-header .brand img{width:185px}.room-meta{font-size:9px}.game-header .room-role{display:none}.round-segments{max-width:150px}.in-round .portal-stage{height:214px;min-height:214px;grid-template-columns:34% 66%;padding-left:16px;padding-right:8px}.portal-stage h2{font-size:34px}.portal-scene{height:214px}.stage-clock{left:0;top:51%}.timer{font-size:33px;min-width:3ch}.timer.is-loading{font-size:11px;min-width:60px}.clock-label{font-size:8px}.round-artwork{width:56%;right:8%;border-radius:6px}.guess-form{grid-template-columns:minmax(0,1fr) 80px;gap:8px}.guess-form input{font-size:14px;padding:10px!important}.guess-form .button{padding:10px;font-size:13px}.answer-feedback{gap:8px;font-size:11px;flex-wrap:wrap;min-height:36px}.locked{font-size:9px;max-width:105px}.reactions>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.reaction{font-size:10px;min-height:58px}.reaction img{width:40px;height:40px}.reaction-summary{font-size:9px}.sound-options>div{min-width:180px}.lobby-checklist{grid-template-columns:1fr;gap:6px}.lobby-checklist p{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:11px}.party-panel>h2{font-size:25px}.source-options{grid-template-columns:1fr}.selected-song{grid-template-columns:82px minmax(0,1fr);gap:12px}.selected-song>img{width:82px;height:82px}.selected-song h2{font-size:22px}.selected-song p{font-size:11px}.song-actions .button{font-size:10px;padding:6px 8px}.song-results li{grid-template-columns:44px minmax(0,1fr);gap:9px}.song-results img{width:44px;height:44px}.song-results .song-actions{grid-column:2}.search-form{gap:7px}.search-form .button{font-size:12px;padding-inline:12px}.test-player-actions{flex-wrap:wrap}.reveal{grid-template-columns:86px minmax(0,1fr);gap:22px}.reveal-sleeve{width:86px;height:86px}.reveal h2{font-size:23px}.reveal-artist{font-size:12px}.result-summary{min-height:186px}.result-summary>.portal-graphic{width:122px;height:118px;top:-9px;left:-21px}.contributor-story{gap:7px;margin-top:14px}.contributor-character{width:30px;height:30px}.contributor-story h3{font-size:11px}.contributor-story blockquote{font-size:10px;max-height:48px}.reveal-recap{margin:16px 0 30px;font-size:9px}.reveal-actions{bottom:10px}.result-detail{padding-top:6px}.round-standings h2{font-size:21px}.mixtape-heading{flex-direction:column}.award-list>div{grid-template-columns:110px 1fr;gap:8px}.final-tabs{gap:2px}.final-tabs button{font-size:9px;padding-inline:6px}.ceremony-heading{height:105px;padding:22px 110px 18px 83px}.ceremony-heading>.portal-graphic{width:110px;height:88px;right:2px;top:8px}.ceremony-heading h2{font-size:23px;margin-right:0;white-space:normal}.winner-character{width:54px;height:54px;left:16px;top:24px}.award-focus{gap:10px}.award-winners strong{font-size:30px}.shared-medal strong{font-size:11px}.award-winners.shared-medal{gap:9px 4px}.shared-medal .award-profile{width:28px;height:28px}.award-steps{gap:15px;font-size:10px}.award-show-top{gap:10px}.award-show-top p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.round-artwork img{transition-duration:0s!important}}

/* Forty-second awards: the portal becomes a stage for the actual room. */
.award-show{height:calc(100% - 64px);position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:20px 30px 68px;overflow:hidden;background:var(--bg);color:var(--panel)}
.award-show-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px}
.award-show-top p{margin:0;color:var(--citron);font-size:16px;font-weight:800}
.award-show-top .button{min-height:40px;padding:8px 14px;font-size:12px;background:var(--panel);color:var(--text)}
.award-show-top .button:hover{background:var(--citron)}
.award-show :focus-visible{outline-color:var(--citron)}
.award-scenery{position:absolute;inset:45px 0 45px;z-index:-1;overflow:hidden;pointer-events:none}
.award-scenery>.portal-graphic{position:absolute;inset:0;width:100%;height:100%;max-width:1050px;margin:auto;opacity:.34;transition:opacity 500ms}
.award-scenery .portal-purple{fill:#b9a2f5}.award-scenery .portal-teal{fill:#ed7095}.award-scenery .portal-blue{fill:#3459c9}
.award-gold .award-scenery>.portal-graphic{opacity:.58}.award-gold .portal-purple{fill:var(--citron)}
.award-focus{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:0;min-width:0;max-width:960px;width:100%;height:100%;max-height:100%;margin:auto;text-align:center;padding:16px 20px}
.award-medal{width:88px;height:88px;flex-shrink:0}
.award-medal svg{width:100%;height:100%}
#award-title{flex-shrink:0;margin:0;max-width:22ch;font-size:clamp(32px,4vw,54px);line-height:1.04;color:var(--panel);text-wrap:balance}
.award-winners{list-style:none;display:flex;justify-content:center;width:100%;padding:0;margin:0;gap:14px}
.award-winners li{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.award-profile{display:block;width:66px;height:66px;flex-shrink:0}
.award-winners strong{font-family:var(--display);font-size:40px;line-height:1.25;overflow-wrap:anywhere;max-width:100%;color:var(--citron)}
.award-winners.shared-medal{display:grid;grid-template-columns:repeat(var(--award-columns,4),minmax(0,1fr));gap:12px 18px;max-width:850px;min-height:0;overflow:auto;flex:0 1 auto;padding-block:2px}
.shared-medal .award-profile{width:44px;height:44px}.shared-medal strong{font-size:23px}
.award-winners.award-ensemble strong{color:var(--panel)}
#award-points{flex-shrink:0;font-size:15px;color:var(--panel);margin:0;max-width:52ch;line-height:1.4;text-wrap:balance}
.award-focus:has(li:nth-child(9)){gap:9px;padding-block:10px}
.award-focus:has(li:nth-child(9)) .award-medal{width:52px;height:52px}
.award-focus:has(li:nth-child(9)) #award-title{font-size:34px}
.award-winners:has(li:nth-child(9)){gap:8px 16px}
.award-winners:has(li:nth-child(9)) .award-profile{width:34px;height:34px}
.award-winners:has(li:nth-child(9)) strong{font-size:16px}
.award-sleeves{display:flex;justify-content:center;align-items:center;gap:0;padding:10px 0;width:100%;max-width:520px}
.award-sleeves img{width:clamp(52px,8vw,96px);height:auto;aspect-ratio:1;object-fit:cover;border:4px solid var(--panel);border-radius:6px;transform:rotate(calc((var(--sleeve-index) - 2.5)*5deg));margin-inline:-4px;animation:sleeve-unfold 800ms var(--ease) both;animation-delay:calc(var(--sleeve-index)*65ms)}
.award-footer{position:relative;z-index:2;width:100%;max-width:640px;margin:auto;text-align:center}
.award-steps{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:#c5d6d8}
.award-steps .is-current{color:var(--citron)}
#award-next{font-size:11px;color:#c5d6d8;margin:9px 0 10px}
.ceremony-progress{height:3px;background:#406e76;width:100%;overflow:hidden}
.ceremony-progress span{display:block;width:100%;height:100%;background:var(--citron);transform:scaleX(0);transform-origin:left}
.award-confetti{position:absolute;inset:0;overflow:hidden}
.award-confetti i{position:absolute;left:var(--fall-x);top:-30px;width:9px;height:18px;border-radius:2px;background:var(--confetti-color);animation:award-confetti-fall 2800ms cubic-bezier(.2,.5,.5,1) both;animation-delay:var(--fall-delay)}
@keyframes award-confetti-fall{0%{opacity:0;transform:translate(0,-20px) rotate(0)}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(var(--drift),560px) rotate(430deg)}}
@keyframes sleeve-unfold{from{opacity:0;transform:rotate(0) scale(.85)}to{opacity:1;transform:rotate(calc((var(--sleeve-index) - 2.5)*5deg)) scale(1)}}
@media(min-width:851px) and (max-height:760px){.award-focus:has(li:nth-child(9)){max-width:1000px}.award-winners:has(li:nth-child(9)){grid-template-columns:repeat(8,minmax(0,1fr))}.award-winners:has(li:nth-child(9)) strong{font-size:14px}}
@media(max-width:850px){.award-show{height:calc(100dvh - 136px);min-height:550px;padding:18px 22px 74px}.award-focus{padding:16px 0;gap:14px}.award-scenery{inset:80px -100px 80px}.award-scenery>.portal-graphic{width:100%;height:100%}.award-show-top p{font-size:13px}.award-show-top .button{min-height:40px;font-size:11px}.award-medal{width:86px;height:86px}#award-title{font-size:36px}.award-winners strong{font-size:34px}.shared-medal .award-profile{width:38px;height:38px}.shared-medal strong{font-size:16px}.award-winners.shared-medal{gap:12px 8px}.award-winners:has(li:nth-child(9)){gap:10px 6px}.award-winners:has(li:nth-child(9)) strong{font-size:12px}.award-focus:has(li:nth-child(9)) #award-title{font-size:29px}#award-points{font-size:13px}.award-steps{font-size:11px}.award-sleeves img{border-width:3px;max-width:20%}}
@media(max-width:620px){.award-show{padding-inline:18px}.award-focus{gap:12px}.shared-medal strong{font-size:15px}.award-focus:has(li:nth-child(9)){gap:8px}.award-winners:has(li:nth-child(9)) .award-profile{width:30px;height:30px}.award-steps{gap:8px}#award-title{font-size:34px}}
@media(max-width:850px) and (max-height:700px){.award-show{min-height:520px}.award-medal{width:64px;height:64px}.award-focus{gap:9px}.award-focus:has(li:nth-child(9)) .award-medal{display:none}}
@media(prefers-reduced-motion:reduce){.award-confetti i,.award-sleeves img{animation:none!important}.award-show{transition:none}}

/* Shared artwork sits on consistent optical boxes across the journey. */
.character-art{object-fit:contain;object-position:center;flex-shrink:0}
.entry-character-choice,.icon-option,.avatar,.contributor-character{isolation:isolate}
.entry-character-choice .character-art,.icon-option .character-art{width:100%;height:100%;max-height:64px}
.song-results li{align-items:center}
.song-results strong{display:block;font-family:var(--display);font-size:20px;line-height:1.2;letter-spacing:-.02em;margin-bottom:4px}
.song-results .song-artist,.selected-song .song-artist{display:block;font-weight:700;font-size:13px;color:var(--text);margin:0 0 3px}
.song-results .song-album,.selected-song .song-album{display:block;font-size:12px;color:var(--muted);margin:0 0 8px}
.version-label{display:inline-block!important;width:fit-content;max-width:100%;font-size:12px!important;font-weight:800;color:var(--accent)!important;background:var(--secondary);padding:4px 8px;border-radius:8px;overflow-wrap:anywhere}
.selected-song .song-actions{margin-top:12px;flex-wrap:wrap}
.replacement-picker{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.replacement-picker h2{font-size:20px}.replacement-picker>p{font-size:13px;color:var(--muted)}
.entry-forget{justify-self:start;font-size:12px;padding:4px 0}
.host-readiness{border-bottom:1px solid var(--rail-line);padding-bottom:14px;margin-bottom:16px;flex:0 0 auto;max-height:220px;overflow:auto;scrollbar-color:#87adb4 transparent}
.host-readiness h3{font-size:20px;margin:0 0 8px;color:var(--panel)}
.host-readiness p{font-size:12px;line-height:1.5;color:var(--rail-muted);margin:0 0 10px;max-width:36ch}
.host-readiness ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.host-readiness li{display:grid;gap:2px;font-size:12px;line-height:1.4}.host-readiness li strong{font-size:12px;color:var(--panel)}
.host-readiness li span{color:var(--rail-muted)}.host-readiness .readiness-clear{color:var(--citron)}
.round-room .host-readiness{max-height:160px;margin-bottom:10px;padding-bottom:10px}
.portal-answer-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;contain:paint;clip-path:inset(0 0 0 30%)}
.outcome-rings{position:absolute;left:38%;top:22%;width:52%;height:56%;fill:none;stroke:var(--citron);stroke-width:5;stroke-linecap:round;stroke-dasharray:160 24;transform-origin:center}
.outcome-close .outcome-rings{stroke:var(--accent);stroke-width:4}
.outcome-wrong .outcome-rings{stroke:var(--rose);stroke-width:3}
.outcome-character{position:absolute;right:1%;bottom:7%;width:76px;height:76px;object-fit:contain}
.answer-confetti{position:absolute;left:64%;top:48%;width:7px;height:13px;border-radius:2px}
@media(max-width:620px){.outcome-character{width:56px;height:56px;right:0;bottom:0}.song-results strong{font-size:20px}.host-readiness{max-height:none}}
@media(prefers-reduced-motion:reduce){.portal-answer-effects{display:none}.answer-celebrate{animation:none}}
