/* INTERFACE-101: selection and ready stay together; detail dialogs keep full rules.
   Scope is assigned by lobby-101.js. No game scene, portrait asset or rule changes. */
body.lobby-101 :is(.lobby-heading>p,.player-seats li,.character-stats i,.character-tool,.profession-guide-button,.lobby-footer p,.path-card p,#lobby-paths>p) {font-size:14px;line-height:1.5;color:#d0c9ae}
body.lobby-101 .character-title strong {font-size:20px;line-height:1.3}
body.lobby-101 .character-title :is(small,b) {font-size:12px;line-height:1.4;letter-spacing:0}
body.lobby-101 :is(.path-card button,#ready-button) {font-size:16px;line-height:1.4}
body.lobby-101 .path-card h4 {font-size:17px;line-height:1.4}
body.intro-101 {overflow:hidden!important;overscroll-behavior:none;height:100dvh}
html:has(body.intro-101) {overflow:hidden!important;overscroll-behavior:none}
body.intro-101 #experience-intro#experience-intro {position:fixed;inset:0!important;margin:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;padding:0!important;border:0!important;outline:0;background:#070d09!important;overflow:hidden!important}
body.intro-101 #experience-intro#experience-intro::backdrop {background:#070d09!important;opacity:1;backdrop-filter:none}
body.intro-101 #experience-intro-frame {position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;border:0;display:block;background:#070d09}
body.intro-101 .intro-copy {max-height:80dvh;overflow:auto;overscroll-behavior:contain;padding:28px;background:linear-gradient(transparent,#09100ff5 15%,#09100f)}
body.intro-101 .intro-copy p {font-size:17px;line-height:1.75}
body.intro-101 .intro-copy>div {gap:16px;flex-wrap:wrap}
body.intro-101 #experience-intro-skip {min-height:44px;font-size:16px}
@media(min-width:1100px) and (min-height:650px) {
 body.lobby-101 {height:100dvh;overflow:hidden;display:flow-root}
 body.lobby-101 main.app-shell {width:calc(100% - 24px);max-width:1700px;height:calc(100dvh - 24px);margin:12px auto!important;display:flex;flex-direction:column;gap:6px}
 body.lobby-101 .hero-header {height:44px;min-height:44px;padding:4px 12px!important;margin:0!important;gap:16px;flex:none}
 body.lobby-101 .hero-header :is(.eyebrow,.brand-subtitle) {display:none}
 body.lobby-101 .hero-header h1 {font-size:22px!important;margin:0;letter-spacing:2px}
 body.lobby-101 .brand-mark {width:30px;height:32px;font-size:22px;box-shadow:none}
 body.lobby-101 .brand-lockup {gap:8px}
 body.lobby-101 .header-actions {display:flex;flex-wrap:nowrap;gap:8px;align-items:center}
 body.lobby-101 .hero-header :is(button,.button-link,#connection-status) {font-size:14px;padding:6px 10px!important;white-space:nowrap}
 body.lobby-101 #game-panel {display:flex;flex-direction:column;flex:1;min-height:0;margin:0;gap:6px}
 body.lobby-101 #game-panel[hidden] {display:none}
 body.lobby-101 .session-bar {min-height:36px;height:36px;flex:none;margin:0;padding:4px 10px;font-size:14px;box-sizing:border-box}
 body.lobby-101 .session-bar .panel-kicker {display:none}
 body.lobby-101 .session-bar :is(button,.session-state) {font-size:14px;padding:4px 9px}
 body.lobby-101 #lobby-stage {flex:1;min-height:0;margin:0;padding:10px 12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:7px;overflow:hidden}
 body.lobby-101 #lobby-stage[hidden] {display:none}
 body.lobby-101 .lobby-heading {margin:0;gap:20px;align-items:center}
 body.lobby-101 .lobby-heading .panel-kicker {display:none}
 body.lobby-101 .lobby-heading h2 {font-size:24px;margin:0}
 body.lobby-101 .lobby-heading>p {max-width:610px;margin:0}
 body.lobby-101 .player-seats {margin:0;gap:7px}
 body.lobby-101 .player-seats li {padding:6px 10px 6px 28px}
 body.lobby-101 #character-panel {display:grid;grid-template-rows:minmax(180px,1fr) auto;gap:8px;min-height:0;overflow:hidden}
 body.lobby-101 .character-list {grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:0}
 body.lobby-101 .character-choice {display:flex;flex-direction:column;gap:5px;min-height:0}
 body.lobby-101 .character-choice .character-card {height:100%;min-height:0;flex:1;transform:none}
 body.lobby-101 .character-art {inset:0 auto 0 0;width:38%}
 body.lobby-101 .character-art img {object-fit:contain;object-position:center;transform:none!important}
 body.lobby-101 .character-copy {margin-left:38%;width:62%;padding:7px 6px;min-height:0;align-self:stretch;justify-content:center;background:linear-gradient(90deg,#17130fd9,#17130f);gap:3px}
 body.lobby-101 .character-title {gap:5px;flex-wrap:wrap}
 body.lobby-101 .character-title b {position:absolute;bottom:6px;left:calc(-61.3% + 5px);padding:2px 4px;align-self:end}
 body.lobby-101 .character-stats {margin:3px 0;gap:1px;grid-template-columns:1fr}
 body.lobby-101 .character-stats i {padding:1px 0;gap:4px;justify-content:space-between;white-space:nowrap}
 body.lobby-101 .character-stats strong {font-size:17px}
 body.lobby-101 :is(.character-bio,.character-feature) {display:none}
 body.lobby-101 .character-tool {padding-top:0;margin:0}
 body.lobby-101 .profession-guide-button {padding:5px 6px;min-height:32px;white-space:normal;font-size:14px}
 body.lobby-101 #lobby-paths {padding:8px 10px;margin:0;min-height:0;max-height:200px;display:grid;grid-template-columns:1fr;gap:4px}
 body.lobby-101 #lobby-paths[hidden] {display:none}
 body.lobby-101 #lobby-paths>h3 {margin:0;font-size:18px}
 body.lobby-101 #lobby-paths>p {margin:0}
 body.lobby-101 .path-card-grid {gap:8px;min-height:0}
 body.lobby-101 .path-card {display:grid;grid-template-columns:1fr auto;grid-template-rows:auto minmax(0,1fr) auto;gap:4px 8px;padding:7px 9px;min-height:0;height:134px;border-width:1px}
 body.lobby-101 .path-card h4 {grid-column:1/-1;margin:0}
 body.lobby-101 .path-card p {grid-column:1/-1;margin:0;overflow:auto;min-height:0;overscroll-behavior:contain;font-size:15px;line-height:1.5}
 body.lobby-101 .path-card button {grid-row:3;margin:0;padding:5px 9px;min-height:34px;width:auto}
 body.lobby-101 .lobby-footer {margin:0;padding-top:6px;gap:12px}
 body.lobby-101 #ready-button {padding:8px 16px;min-height:42px;min-width:250px}
}
@media(max-width:1099px),(max-height:649px) {
 body.lobby-101 {overflow:auto;height:auto}
 body.lobby-101 .character-list {grid-template-columns:repeat(2,minmax(0,1fr))}
 body.lobby-101 .path-card-grid {grid-template-columns:1fr}
 body.intro-101 .intro-copy {padding:18px;max-height:85dvh}
}
