/* Scoped to Classic mode selection, live lobby, ranking and player phones. */
.classic-mode-picker,.classic-phone-lobby{padding:clamp(24px,5vw,72px);min-height:100dvh;background:var(--ink);color:var(--paper);padding-bottom:calc(40px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
.classic-mode-picker>h1,.classic-phone-lobby>h1{font:500 clamp(36px,5vw,68px)/1.06 var(--serif);max-width:20ch;margin:16px 0}
.classic-mode-picker>p,.classic-phone-lobby>p{max-width:65ch;line-height:1.6}
.classic-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1120px;margin:32px 0}
.classic-mode-card{min-width:0;padding:clamp(20px,3vw,36px);background:#302b32;border:1px solid #ffffff26;border-radius:22px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.classic-mode-card>.tt-icon{width:28px;height:28px;color:var(--coral)}
.classic-mode-card h2{font:500 clamp(28px,3vw,40px)/1.12 var(--serif);margin:0}
.classic-mode-card p{font-size:16px;line-height:1.6;margin:0 0 8px;color:#ded5df}
.classic-mode-card .button{margin-top:auto;white-space:normal;min-height:48px}
.classic-setup-links,.classic-lobby-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.lobby-main [data-change-classic-mode]{align-self:flex-start;min-height:44px;margin-top:12px;font-size:14px;color:var(--paper)}
.classic-mode-picker .button-ghost,.classic-phone-lobby .button-ghost{background:transparent;color:var(--paper);border-color:#ffffff55}
.classic-lobby-grid{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:clamp(28px,5vw,72px);margin:32px 0}
.classic-join-code{background:var(--paper);color:var(--ink);border-radius:22px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-width:0}
.classic-join-code img{width:min(280px,100%);height:auto;border-radius:8px}
.classic-join-code>b{font-size:clamp(32px,5vw,48px);letter-spacing:.08em;line-height:1.2}
.classic-join-code small{font-size:13px;line-height:1.5;color:var(--muted)}
.classic-player-names{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.classic-player-names li{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff14;border-radius:12px;overflow-wrap:anywhere;max-width:100%}
.classic-player-names .avatar{width:32px;height:32px;flex-shrink:0;background:var(--plum)}
.classic-ranking{margin:24px 0;text-align:left;color:inherit;max-width:680px;width:100%;overflow-wrap:anywhere}
.classic-ranking h2{font:500 clamp(26px,4vw,42px)/1.15 var(--serif);margin:12px 0}
.classic-ranking h3,.classic-ranking>h2{margin-bottom:16px}
.classic-ranking ol{padding:0;margin:0;list-style:none;max-height:350px;overflow-y:auto;scrollbar-width:thin}
.classic-ranking li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid currentColor;font-size:16px;line-height:1.5}
.classic-ranking li>span:last-child{white-space:nowrap}.classic-ranking small{display:block;font-size:12px;line-height:1.5;margin-top:12px}
.classic-ranking .is-you{color:var(--coral-action)}
.classic-completion .classic-ranking{margin:24px auto}.classic-missing-question{display:flex;align-items:center;justify-content:center;padding:32px}
.classic-connection{text-align:center;padding:8px;margin:0}
/* Host-only response status stays in the existing in-flow control dock. */
#playShell .classic-phone-controls{flex-direction:column;gap:12px}
@container classic (max-width:760px){
  #playShell .classic-phone-controls .host-controls-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  #playShell .classic-phone-controls .control-navigation{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #playShell .classic-phone-controls [data-phone-action=skip],#playShell .classic-phone-controls [data-classic-ranking]{grid-column:1/-1}
  #playShell .classic-phone-controls .control-session{justify-self:center;margin:0}
  #playShell .live-controls .control-session{flex-wrap:wrap}
}
.classic-response-panel,.classic-response-note{width:min(1180px,100%);min-width:0;margin:0 auto;color:var(--paper);font-size:14px;line-height:1.45;text-align:left;overflow-wrap:anywhere}
.classic-response-panel{padding-bottom:12px;border-bottom:1px solid #ffffff26}
.classic-response-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.classic-response-heading>div{min-width:0;display:grid;gap:4px}
.classic-response-heading strong{font-size:15px;line-height:1.4}
.classic-response-heading span{font-size:13px;color:#ded5df}
.classic-response-panel.is-complete .classic-response-heading strong{color:#a9dec3}
#playShell .classic-response-heading button{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;font-size:13px}
.classic-response-heading .tt-icon{width:16px;height:16px;flex:none}
.classic-response-heading [aria-expanded=true] .tt-icon{transform:rotate(180deg)}
.classic-response-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:12px;max-height:140px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a69aab transparent}
.classic-response-groups[hidden]{display:none}
.classic-response-groups>div{min-width:0}
.classic-response-groups h3{font-family:inherit;font-size:13px;line-height:1.4;font-weight:700;margin:0 0 6px}
.classic-response-groups h3 span,.classic-response-groups p{color:#ded5df}
.classic-response-groups ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.classic-response-groups li{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0;border-radius:7px;background:#ffffff12;padding:4px 8px;font-size:13px;line-height:1.4}
.classic-response-groups li>span{min-width:0;overflow-wrap:anywhere}
.classic-response-groups .tt-icon{flex:0 0 14px;width:14px;height:14px;color:#a9dec3}
.classic-response-groups p{font-size:13px;margin:0}
.classic-response-panel :focus-visible{outline:3px solid var(--coral);outline-offset:2px}
@container classic (max-width:760px){.classic-response-heading{gap:8px;align-items:flex-start}.classic-response-heading strong{font-size:14px}#playShell .classic-response-heading button{max-width:108px;flex-shrink:0}.classic-response-groups{grid-template-columns:minmax(0,1fr);max-height:140px;gap:12px}.classic-response-panel{padding:4px 4px 12px}}
.classic-player-page{background:var(--canvas);color:var(--ink);margin:0;min-width:0;min-height:100dvh}
.classic-player-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px max(20px,env(safe-area-inset-right));max-width:640px;margin:auto}
.classic-player-header img{max-width:150px;display:block}.classic-player-header select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:8px}
.classic-player{box-sizing:border-box;width:calc(100% - 32px);max-width:600px;margin:8px auto 32px;padding:clamp(20px,5vw,32px);background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow-wrap:anywhere;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
.classic-player h1{font:500 clamp(28px,7vw,40px)/1.12 var(--serif);margin:20px 0;word-break:normal;overflow-wrap:anywhere}
.classic-player h2{font:500 26px/1.2 var(--serif);margin:24px 0 12px}.classic-player p{font-size:16px;line-height:1.6;margin:16px 0}
.classic-player form{display:grid;gap:20px;margin:24px 0}.classic-player .field{display:grid;gap:10px;font-size:15px;font-weight:600}
.classic-player input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white}
.classic-player .button{width:100%;min-height:48px;white-space:normal;padding:14px 18px}
.classic-player-identity{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.classic-player-photo{display:block;max-width:100%;max-height:260px;margin:20px auto;object-fit:contain;border-radius:16px}
.classic-phone-answers{display:grid;gap:12px;margin:24px 0}
.classic-phone-answers button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--canvas);color:var(--ink);cursor:pointer;font:inherit;font-size:17px;overflow-wrap:anywhere}
.classic-phone-answers button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--plum);color:white}
.classic-phone-answers button:hover{border-color:var(--plum);background:#e9e1e9}.classic-phone-answers button:active{transform:translateY(1px)}
.classic-player :focus-visible,.classic-mode-picker :focus-visible,.classic-phone-lobby :focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.classic-player button:disabled{opacity:.55;cursor:wait}.classic-player-error{color:var(--coral-action)}
.classic-player-connection{position:sticky;bottom:0;background:var(--ink);color:white;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));text-align:center;margin:0}
@media(max-width:760px){.classic-mode-grid,.classic-lobby-grid{grid-template-columns:minmax(0,1fr);gap:20px}.classic-mode-picker,.classic-phone-lobby{padding:24px 20px calc(96px + env(safe-area-inset-bottom))}.classic-mode-card .button{width:100%}.classic-setup-links,.classic-lobby-actions{flex-direction:column}.classic-setup-links .button,.classic-lobby-actions .button{width:100%;min-height:48px;white-space:normal}.classic-ranking li{gap:8px;font-size:14px}}
.question-review-preview{min-width:0;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--canvas);overflow-wrap:anywhere}
.question-review-preview h3{font:500 clamp(24px,4vw,32px)/1.2 var(--serif);margin:16px 0}
.question-review-preview img{display:block;max-width:100%;max-height:220px;object-fit:contain;margin:16px auto}
.question-review-preview ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style-position:inside}
.question-review-preview li{padding:12px;border:1px solid var(--line);border-radius:10px}
.question-review-reveal{border-top:1px dashed var(--line);padding-top:16px;margin-top:20px}.question-review-reveal p{white-space:pre-wrap}
.question-scoring-note{font-size:14px;line-height:1.5;color:var(--muted)}
#questionForm .modal-actions{gap:12px;flex-wrap:wrap}#questionForm .modal-actions .button{white-space:normal;min-height:44px}
@media(max-width:600px){.question-review-preview{padding:16px}.question-review-preview ol{grid-template-columns:minmax(0,1fr)}#questionForm .modal-actions .button{width:100%}}
