/* One accessible scroll surface when genuinely needed; compact menus reflow first. */
dialog{box-sizing:border-box;width:min(720px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:24px;overflow:auto;overscroll-behavior:contain;scroll-padding-top:64px}
dialog h2{padding-right:44px;line-height:1.25}.close,.mode-close{position:sticky;float:right;top:0;right:0;min-width:44px;min-height:44px;width:44px;height:44px;z-index:3;border-radius:50%;background:#fffafbea!important;margin:0 0 3px 10px}
#gender-picker,#mode-person,#mode-tutorial,#tutorial{width:min(720px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:22px}#gender-picker h2{margin:14px 0 22px;font-size:26px}.participant-menu-body{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:start}.gender-options{gap:10px;margin:0;display:grid;grid-template-columns:1fr 1fr}.gender-options button{min-width:0;min-height:148px;padding:12px 8px;border-radius:14px!important}.gender-options span{width:80px;height:80px;margin:auto}.gender-options strong{font-size:16px!important;display:block;margin-top:9px}.gender-options button[aria-pressed=true]{outline:3px solid #da6ca5;outline-offset:3px}.menu-photo-actions{margin:0!important;gap:8px!important}.menu-photo-actions p{font-size:12px;line-height:1.45}.menu-photo-actions button{min-height:48px;padding:10px 12px;font-size:15px}.gender-options span.has-user-photo{background-image:none!important;overflow:hidden}.gender-options span.has-user-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover;image-rendering:auto!important}
.mode-person-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mode-person-form button{width:100%;min-height:48px;border:1px solid #9580a1;border-radius:10px;background:#f7edf6;color:#26234d;text-align:left;padding:11px 12px;font-size:16px;margin:5px 0}.mode-person-form label{display:block;font-size:14px;margin:6px 0}.mode-person-form input[type=text]{width:100%;min-height:48px;padding:9px;border:1px solid #9580a1;border-radius:10px;font-size:17px}.mode-person-form p{font-size:12px!important;line-height:1.45!important;margin:10px 0}.donation-columns{display:grid;grid-template-columns:.95fr 1.1fr;gap:24px;align-items:start}.donation-summary p{font-size:13px;line-height:1.55;margin:0 0 14px}#amounts{margin:0 0 14px;gap:6px}#amounts button{min-height:44px;font-size:12px;padding:9px 10px}#custom-amount{width:100%;min-height:48px}#amount-status{min-height:0;margin:10px 0;line-height:1.4}#pay{min-height:48px}.donation-form{min-width:0}#video-dialog{width:min(680px,calc(100vw - 28px))}#video-frame{width:100%;height:clamp(180px,calc(100dvh - 245px),420px)!important;aspect-ratio:auto!important;max-height:none!important}#video-frame iframe{width:100%;height:100%}#video-title{font-size:25px;margin:12px 0 18px}#video-fallback{display:inline-flex;min-height:44px;align-items:center;font-size:14px}#video-note{margin:12px 0;font-size:12px}
#question,#mode-question{text-wrap:balance;max-inline-size:24ch;line-height:1.28;margin-inline:auto;overflow-wrap:normal}#mode-question{max-inline-size:24ch}.question-wrap{max-width:100%}
#notice{padding:15px 18px!important;margin:14px 0!important;border:4px solid transparent!important;border-radius:20px!important;background:linear-gradient(#fff9fd,#fff9fd) padding-box,linear-gradient(120deg,#ff69ad,#76def0,#8775dc,#f698c8) border-box!important;box-shadow:0 8px 24px #7849751c!important;color:#332c53!important;font-size:19px!important;line-height:1.45!important;font-weight:700;gap:12px}#notice-text{min-width:0}#dismiss-notice{min-width:44px!important;min-height:44px!important;flex-shrink:0;color:#332c53!important}
@media(max-width:600px){dialog,#gender-picker,#mode-person,#mode-tutorial,#tutorial{padding:18px;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.participant-menu-body,.mode-person-form,.donation-columns{grid-template-columns:1fr;gap:18px}#gender-picker h2{font-size:24px;margin:10px 0 20px}.gender-options button{min-height:134px;padding:10px}.menu-photo-actions p{font-size:12px}.mode-person-form{gap:10px}.donation-columns{gap:8px}.donation-summary #donation-intro{font-size:13px}.donation-summary #donation-note{font-size:11px}.close,.mode-close{top:0}#notice{font-size:16px!important;padding:12px 14px!important;margin:12px 0!important}#video-title{font-size:23px}#question,#mode-question{max-inline-size:25ch}}
@media(min-width:601px) and (max-height:500px){dialog,#gender-picker,#mode-person,#mode-tutorial,#tutorial{width:min(860px,calc(100vw - 24px));padding:14px 18px;max-height:calc(100dvh - 20px)}dialog h2,#gender-picker h2{font-size:23px;margin:8px 0 15px}.close,.mode-close{position:absolute;top:8px;right:8px}.participant-menu-body{grid-template-columns:1fr 1.15fr;gap:18px}.gender-options button{min-height:124px}.gender-options span{width:66px;height:66px}.menu-photo-actions{gap:6px!important}.menu-photo-actions p{font-size:11px;margin:0}.menu-photo-actions button{font-size:14px}.donation-columns{gap:20px}.donation-summary p{font-size:12px;line-height:1.45}.donation-form #amounts{margin-bottom:8px}.donation-form #custom-label{margin-bottom:5px}.donation-form #amount-status{font-size:11px;margin:7px 0}#tutorial[open]{display:grid;grid-template-columns:120px 1fr;gap:8px 18px}#tutorial .tutorial-progress{grid-column:1/3;font-size:12px}#tutorial .tutorial-art{grid-column:1;grid-row:2/4;width:120px;height:132px;margin:0;font-size:36px}#tutorial h2{grid-column:2;margin:0;padding-right:25px;font-size:22px}#tutorial-copy{grid-column:2;min-height:0;margin:0;font-size:14px;line-height:1.4}#tutorial .tutorial-actions{grid-column:2;margin:0}#tutorial-skip{grid-column:1;grid-row:4;margin:0;font-size:11px}#mode-tutorial h2{margin:8px 0 15px}#mode-tutorial-text{font-size:15px;line-height:1.4;margin:12px 0}#video-frame{height:calc(100dvh - 170px)!important;min-height:130px!important}#video-note{font-size:11px;margin:6px 0}#video-title{margin:6px 0 10px;font-size:22px}#video-fallback{font-size:12px;min-height:44px}}
@media(max-width:600px){body.playing:has(#notice:not([hidden])) .players{margin:10px 0!important}body.playing:has(#notice:not([hidden])) .card{min-height:0!important;padding:12px!important}body.playing:has(#notice:not([hidden])) .card .question-wrap{padding:8px 0!important}body.playing:has(#notice:not([hidden])) .card h2{font-size:22px!important}body.playing:has(#notice:not([hidden])) .card-top{padding-bottom:8px}body.playing:has(#notice:not([hidden])) .controls{margin-top:7px!important}body.playing:has(#notice:not([hidden])) .controls .primary{min-height:44px!important}body.playing:has(#notice:not([hidden])) .reactions{margin-top:5px!important}body.playing:has(#notice:not([hidden])) .keyboard{margin-top:5px!important;margin-bottom:5px!important}body.playing:has(#notice:not([hidden])) .matchmakers,body.playing:has(#notice:not([hidden])) .banter-toggle{display:none!important}}
@media(max-width:380px){body.playing:has(#notice:not([hidden])) .card h2{font-size:20px!important}}
