/* v3 palette/rail/illustrations, scoped to lounge visibility.
   Existing room grids, fieldsets, participant markup and game CSS remain authoritative. */
@font-face {
  font-family: 'M PLUS 1 Code';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/web/assets/c2gl/fonts/mplus1code-0.ttf) format('truetype');
}
@font-face {
  font-family: 'M PLUS 1 Code';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/web/assets/c2gl/fonts/mplus1code-1.ttf) format('truetype');
}
@font-face {
  font-family: 'M PLUS 1 Code';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/web/assets/c2gl/fonts/mplus1code-2.ttf) format('truetype');
}
@font-face {
  font-family: 'M PLUS 1 Code';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/web/assets/c2gl/fonts/mplus1code-3.ttf) format('truetype');
}

html:has(body.c2gl-lounge){color-scheme:light}
body.c2gl-lounge{--bg:#f2f4f2;--text:#172d39;--muted:#61716f;--gold:#9a7637;--line:#d1dcda;--surface:#fffefb;--surface-2:#eef2ee;--radius:5px;--danger:#a52f3d;color:#172d39;background:#f2f4f2;font-family:"M PLUS 1 Code","Yu Gothic UI",Meiryo,monospace}
body.c2gl-lounge :is(button,input,select,textarea){font-family:inherit}
body.c2gl-lounge :is(h1,h2,h3){font-family:inherit}
.c2gl-rail{display:none}
.c2gl-lounge .c2gl-rail{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:218px;padding:30px 19px;z-index:40;background:#0b2030;color:#ccd7d4;overflow-y:auto}
.c2gl-brand{display:flex;align-items:center;gap:10px;color:#ead39b;text-decoration:none;white-space:nowrap}
.c2gl-brand img{width:38px;height:48px;object-fit:contain}
.c2gl-brand>span{font-size:28px;font-weight:700;line-height:1.15;letter-spacing:0}
.c2gl-brand small{display:block;font-size:6px;color:#d6d6c4;line-height:1.8;margin-top:5px}
.c2gl-rail-caption{font-size:8px;letter-spacing:.08em;margin:34px 11px 14px;color:#94abae}
.c2gl-rail nav{display:grid;gap:5px}
.c2gl-rail nav>a{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1px solid transparent;border-radius:4px;font-size:12px;min-height:49px;line-height:1.5;color:inherit;text-decoration:none}
.c2gl-rail nav>a>span:first-child{font-size:22px;width:20px;text-align:center;color:#b9ced0;line-height:1}
.c2gl-rail nav>a:is(:hover,[aria-current]){background:#203c46;border-color:#39555d;color:#f5e4b9}
.c2gl-rail-bottom{margin-top:auto;padding:36px 10px 0;font-size:10px;line-height:2;color:#94abae}
.c2gl-lounge :is(.global-header,.site-header,.top){margin-left:218px;background:#fafcf9;color:#172d39;border-bottom:1px solid #d1dcda;min-height:68px}
.c2gl-lounge .global-header .header-inner{width:auto;max-width:none;min-height:68px;padding:0 34px;gap:20px}
.c2gl-lounge .global-header .brand{display:none}
.c2gl-lounge .main-nav{margin-left:auto}
.c2gl-lounge .locale-control select{background:#fffefb;color:#172d39;border-color:#b8c7c3;border-radius:3px}
.c2gl-lounge .service-strip{margin-left:218px;background:transparent;border:0;color:#61716f}
.c2gl-lounge .service-strip-inner{width:auto;max-width:none;padding:8px 34px;font-size:10px}
.c2gl-lounge>#app.wrap{width:auto;max-width:1440px;margin:0 0 0 218px;padding:24px 4% 60px}
.c2gl-lounge .site-header{padding:0 26px;height:auto}
.c2gl-lounge .site-header .brand{display:none}
.c2gl-lounge .site-header>strong{color:#172d39}
.c2gl-lounge>.lounge{margin-left:218px;max-width:none}
/* Use the existing content width for room forms: compact rail, not narrower rule/card columns. */
.c2gl-room-layout .c2gl-rail{width:72px;padding:18px 10px}
.c2gl-room-layout .c2gl-rail :is(.c2gl-brand>span,.c2gl-rail-caption,.c2gl-nav-label,.c2gl-rail-bottom){display:none}
.c2gl-room-layout .c2gl-brand{justify-content:center;margin-bottom:20px}
.c2gl-room-layout .c2gl-rail nav>a{padding:12px 0;justify-content:center}
.c2gl-room-layout :is(.global-header,.site-header,.top,.service-strip){margin-left:72px}
.c2gl-room-layout>#app.wrap{margin-left:72px;width:calc(100% - 72px);max-width:none;padding-inline:24px}
.c2gl-room-layout>.lounge{margin-left:72px;max-width:none}
.c2gl-room-layout>.top{padding:18px 24px}
.c2gl-room-layout>main:not(#app):not(.lounge){margin-left:72px;width:calc(100% - 72px)}
.c2gl-lounge :is(.panel,.setup-panel,.lobby-panel,.seat,.participant-seat,.invite-card,.seat-status article,.shared-participants){background:#fffefb;color:#172d39;border-color:#cbd8d3;border-radius:5px}
.c2gl-lounge :is(.setup-game-banner,.setup-game-intro){background:#0b2030;border-color:#38515c;color:#f5eddd;border-radius:5px}
.c2gl-lounge :is(.setup-game-banner,.setup-game-intro) :is(h1,p){color:#f5eddd}
.c2gl-lounge :is(.setup-game-banner,.setup-game-intro) .eyebrow{color:#ddbf7e}
.c2gl-lounge :is(.section-intro,.page-head,.breadcrumb,.setup-breadcrumb) :is(h1,h2,strong){color:#172d39}
.c2gl-lounge :is(.room-strip,.session-summary,.setup-summary){background:#e6ede7;color:#29483f;border-color:#c2d1c8;border-radius:4px}
.c2gl-lounge :is(.match-options,.first-seat-options,.setup-panel .match-options,.setup-panel .first-seat-options){background:#eef2ec;color:#172d39;border-color:#c6d4cd;border-radius:4px}
.c2gl-lounge :is(.match-options,.first-seat-options) legend{color:#765c30}
.c2gl-lounge :is(.field,.seat-config) :is(label,span){color:#172d39}
.c2gl-lounge :is(.field select,.field input,.field textarea,.seat-config select,.match-options select,.first-seat-options select,.text-input){background:#fffefb;color:#172d39;border-color:#aebfb7;border-radius:3px}
.c2gl-lounge :is(.setup-actions,.setup-invite,.seat-intro){border-color:#d4ded7}
.c2gl-lounge :is(.setup-rule-card,.setup-rule-group){background:#edf1ed;border-color:#d1dcd5;color:#172d39;border-radius:3px}
.c2gl-lounge .setup-rule-card[data-enabled="true"]{border-color:#baa373}
.c2gl-lounge .setup-rule-symbol{background:#0b2030;color:#dfc68f;border:0;border-radius:2px}
.c2gl-lounge :is(.setup-rule-state,.setup-rule-card[data-enabled="true"] .setup-rule-state){color:#73592b}
.c2gl-lounge :is(.setup-rules-summary,.rule-summary,.setup-rules-live){background:#f7f7f0;border-color:#d4d9c8;color:#172d39}
.c2gl-lounge :is(.rule-preset,.setup-rule-preset){background:#fffefb;color:#172d39;border-color:#c5d1cb;border-radius:3px}
.c2gl-lounge :is(.rule-preset,.setup-rule-preset)[aria-pressed="true"]{background:#0b2030;color:#f5e9ce}
.c2gl-lounge :is(.btn,button.primary){background:#fffefb;color:#172d39;border-color:#b7c8bd;border-radius:3px;box-shadow:none}
.c2gl-lounge :is(.btn.primary,button.primary){background:#0b2030;color:#f5eddd;border-color:#0b2030}
.c2gl-lounge :is(.btn,button.primary):hover{background:#e5ece5;color:#172d39;transform:none}
.c2gl-lounge :is(.btn.primary,button.primary):hover{background:#233e4a;color:#fff4dd}
.c2gl-lounge :is(.btn,button):disabled{opacity:.55;cursor:not-allowed}
.c2gl-lounge .btn.quiet{background:transparent;color:#61716f;border-color:transparent}
.c2gl-lounge :is(.character-strength,.participant-seat-name .character-strength){color:#765b2c;background:#f4edda;border-color:#d9c692;font-family:inherit}
.c2gl-lounge :is(.badge.ready,.badge.connected,.setup-invite .badge.ready){color:#235e48;background:#e4f1e7;border-color:#aac8b4}
.c2gl-lounge :is(.badge.waiting,.badge.selected,.setup-invite .badge){color:#795c22;background:#f7f0dc;border-color:#cfbd88}
.c2gl-lounge :is(.dialog,.picker,.dialog-overlay .dialog){background:#fffefb;color:#172d39;border-color:#b5c5bd;border-radius:5px}
.c2gl-lounge :is(.picker-card,.picker-option,.character-pick){background:#eff3ed;color:#172d39;border-color:#bdccc2}
.c2gl-lounge :is(.dialog-header,.dialog-head){background:#0b2030;color:#f5eddd;border-color:#31525e}
.c2gl-lounge :is(.dialog-header,.dialog-head) :is(button,h2){color:inherit}
.c2gl-lounge :is(.dialog input,.dialog select,.dialog textarea){background:#fffefb;color:#172d39;border-color:#b7c8bd}
.c2gl-lounge :is(.dialog small,.dialog p,.participant-seat-name small){color:#61716f}
.c2gl-lounge .toast{background:#0b2030;color:#fff4dd}
/* Mahjong lobby only. No selector reaches the live table, dice, tile or effects. */
.c2gl-lounge #lobby{background:#fffefb;color:#172d39;border:1px solid #cbd8d3;border-radius:5px}
.c2gl-lounge #lobby :is(.lobby-seat,.participant-seat){background:#f1f4ee;border-color:#b9cbc0;color:#172d39}
.c2gl-lounge #lobby :is(input,select,button){background:#fffefb;color:#172d39;border-color:#adbfaf;border-radius:3px}
.c2gl-lounge #lobby :is(#create-room,#start-match){background:#0b2030;color:#f7eddb}
.c2gl-lounge #lobby :is(.heading p,.participant-seat-name small,.character-strength){color:#61716f}
/* Portal and introduction styles derived from v3's final illustrations cascade. */
.c2gl-eyebrow{font-size:10px;letter-spacing:.16em;color:#9a7637;font-weight:500}
.c2gl-welcome{display:grid;grid-template-columns:48% 52%;border:1px solid #cad6d2;border-radius:7px;overflow:hidden;background:#0b2030;color:#f5eddd;min-height:340px}
.c2gl-intro{padding:44px 36px;min-width:0}
.c2gl-intro h1{font-size:clamp(27px,3vw,40px);font-weight:500;line-height:1.55;margin:16px 0}
.c2gl-intro>p:not(.c2gl-eyebrow){color:#cad9d9;font-size:12px;line-height:2}
.c2gl-intro .c2gl-eyebrow{color:#dbc28d;font-size:10px}
.c2gl-sign{display:block;color:#e0c78e;font-size:9px;letter-spacing:.13em;margin-top:24px}
.c2gl-intro>.btn{margin-top:16px}
.c2gl-banner{position:relative;overflow:hidden;min-width:0}
.c2gl-banner img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%}
.c2gl-banner>a{position:absolute;bottom:17px;right:17px;background:#0b2030e8;color:#f5eddd;padding:11px 14px;font-size:10px;border:1px solid #677c7f}
.c2gl-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:17px}
.c2gl-quick>a{display:flex;align-items:center;gap:14px;border:1px solid #cddbd4;border-radius:4px;padding:17px 19px;background:#fffefb;min-width:0}
.c2gl-quick>a>span:first-child{font-size:25px;color:#a88744}
.c2gl-quick>a>span:last-child{margin-left:auto;color:#7c9288}
.c2gl-quick strong{font-size:12px;font-weight:500;display:block}
.c2gl-quick small{display:block;font-size:9px;color:#72837a;margin-top:4px}
.c2gl-catalog{margin-top:48px}
.c2gl-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}
.c2gl-section-head h2{font-size:25px;margin-top:10px}
.c2gl-section-head>p{font-size:12px;color:#61716f}
.c2gl-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;border-top:1px solid #d1dcda}
.c2gl-filters{display:flex;gap:7px;flex-wrap:wrap}
.c2gl-filters button{border:1px solid transparent;border-radius:2px;background:transparent;color:#172d39;padding:9px 18px;font-size:12px;min-height:38px}
.c2gl-filters button[aria-pressed="true"]{background:#0b2030;color:#f5eddd;border-color:#0b2030}
.c2gl-search{display:flex;align-items:center;gap:10px;border-bottom:1px solid #aab8ad;max-width:270px;min-width:220px;color:#61716f}
.c2gl-search input{width:100%;min-width:0;border:0;background:transparent;color:#172d39;padding:7px 0;font-size:12px}
.c2gl-search [role="status"]{white-space:nowrap;font-size:10px}
.c2gl-catalog-note{font-size:11px;color:#61716f;margin:22px 0}
.c2gl-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.c2gl-game-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fffefb;border:1px solid #d1d8ce;border-radius:5px;overflow:hidden}
.c2gl-card-art{display:block;aspect-ratio:4/3;overflow:hidden;background:#e6ebe4}
.c2gl-card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.c2gl-card-art:hover img{transform:scale(1.035)}
.c2gl-favorite{position:absolute;z-index:2;top:12px;right:12px;border:1px solid #d1bb8266;background:#0b2030e0;color:#e9d098;border-radius:50%;width:37px;height:37px;padding:0;font-size:23px;line-height:1}
.c2gl-favorite[aria-pressed="true"]{background:#dfc183;color:#0b2030}
.c2gl-game-copy{padding:21px;display:flex;flex-direction:column;flex:1;min-width:0}
.c2gl-game-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.c2gl-game-heading h3{font-size:23px;line-height:1.5}
.c2gl-game-heading small{font-size:9px;letter-spacing:.08em;color:#94753b}
.c2gl-game-copy>p{font-size:12px;line-height:1.95;color:#61716f;margin:13px 0 17px}
.c2gl-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;font-size:10px}
.c2gl-tags span{background:#e8eee6;color:#47645b;padding:4px 8px;border-radius:2px}
.c2gl-tags span+span{background:#f1eddf;color:#817044}
.c2gl-card-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #d9dfd5;margin-top:20px;padding-top:17px;font-size:11px}
.c2gl-coming-art{display:grid;place-items:center;aspect-ratio:4/3;background:#e8eee8;color:#9b8760;font:80px/1 Georgia,serif}
.c2gl-muted{color:#61716f}
.c2gl-empty{background:#fffefb;border:1px solid #ccd7ce;padding:40px;text-align:center}
.c2gl-empty button{margin-top:18px;background:#0b2030;color:#fff4dd;border:0;padding:12px 20px}
.c2gl-reading{background:#fffefb;border:1px solid #d1dcd4;border-radius:4px;padding:32px;margin-top:40px}
.c2gl-reading h2{font-size:24px;margin:10px 0 24px}
.c2gl-reading h3{font-size:18px;margin-bottom:12px}
.c2gl-reading p{color:#61716f;font-size:13px;line-height:2}
.c2gl-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.c2gl-guide-grid article{border-top:2px solid #b99b60;padding-top:18px;min-width:0}
.c2gl-guide-grid article>span{font-size:30px;color:#a2834b}
.c2gl-guide-grid h3{margin:14px 0;font-size:18px}
.c2gl-guide-grid a{display:inline-block;margin-top:18px;font-size:12px}
.c2gl-guide-copy h3{margin-top:30px}
.c2gl-reading details{border-bottom:1px solid #d1dcd4;padding:18px 0}
.c2gl-reading summary{cursor:pointer;font-size:14px;color:#172d39}
.c2gl-reading details p{margin-top:15px}
.c2gl-basics{list-style:decimal-leading-zero;padding-left:32px;margin-bottom:30px}
.c2gl-basics li{border-bottom:1px solid #dfd9c9;padding:17px 8px;font-size:14px;line-height:1.9}
.c2gl-basics li::marker{color:#9a7637}
.c2gl-illustration{position:relative;aspect-ratio:4/3;overflow:hidden;margin:0;border-radius:5px}
.c2gl-illustration img{width:100%;height:100%;object-fit:cover;display:block}
.c2gl-zoom{position:absolute;right:10px;bottom:10px;border:1px solid #cdd9d0;border-radius:3px;background:#fffefbed;color:#172d39;padding:8px 12px;font-size:11px}
.c2gl-lounge .game-hero,.c2gl-lounge .hero:has(.c2gl-illustration){gap:28px;padding:28px;background:#fffefb;border:1px solid #ccd7ce;border-radius:5px}
.c2gl-lounge .hero:has(.c2gl-illustration) h1{font-size:clamp(28px,3vw,42px)}
.c2gl-lounge .hero:has(.c2gl-illustration)>div>p{color:#61716f}
.c2gl-art-dialog{padding:30px 20px 20px;width:min(1000px,calc(100vw - 24px));max-height:95dvh;border:1px solid #abbdaf;border-radius:5px;background:#fffefb;color:#172d39}
.c2gl-art-dialog::backdrop{background:#071c2ac9}
.c2gl-art-dialog img{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}
.c2gl-art-dialog button{display:block;margin-left:auto;background:#0b2030;color:#fff4dd;border:0;font-size:24px;width:38px;height:38px;border-radius:3px}
.c2gl-art-dialog p{text-align:center;font-size:12px;margin-top:16px}
@media(max-width:1100px){
 .c2gl-lounge .c2gl-rail{width:72px;padding:18px 10px}.c2gl-lounge .c2gl-rail :is(.c2gl-brand>span,.c2gl-rail-caption,.c2gl-nav-label,.c2gl-rail-bottom){display:none}.c2gl-lounge .c2gl-brand{justify-content:center;margin-bottom:20px}.c2gl-lounge .c2gl-rail nav>a{padding:12px 0;justify-content:center}
 .c2gl-lounge :is(.global-header,.site-header,.top,.service-strip){margin-left:72px}.c2gl-lounge>#app.wrap{margin-left:72px}.c2gl-lounge>.lounge{margin-left:72px}
 .c2gl-intro{padding:30px 24px}.c2gl-quick>a{padding:16px 12px;gap:9px}
}
@media(max-width:800px){.c2gl-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c2gl-tools{align-items:stretch;flex-direction:column;gap:18px}.c2gl-search{max-width:none}.c2gl-section-head>p{display:none}.c2gl-quick small{display:none}.c2gl-quick>a>span:last-child{display:none}.c2gl-guide-grid{grid-template-columns:1fr}.c2gl-welcome{min-height:300px}.c2gl-intro h1{font-size:29px}}
@media(max-width:600px){
 .c2gl-lounge .c2gl-rail{position:relative;width:100%;height:auto;bottom:auto;padding:14px 16px;overflow:visible}.c2gl-lounge .c2gl-brand{justify-content:start;margin:0;gap:9px}.c2gl-lounge .c2gl-brand img{width:30px;height:34px}.c2gl-lounge .c2gl-rail .c2gl-brand>span{display:block;font-size:24px}.c2gl-lounge .c2gl-brand small{font-size:6px;margin-top:2px}
 .c2gl-rail nav{display:flex;gap:4px;margin-top:13px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.c2gl-rail nav::-webkit-scrollbar{display:none}.c2gl-lounge .c2gl-rail nav>a{padding:8px 10px;min-height:34px;gap:5px;white-space:nowrap;flex-shrink:0}.c2gl-lounge .c2gl-rail nav>a .c2gl-nav-label{display:inline;font-size:10px}.c2gl-rail nav>a>span:first-child{font-size:16px;width:16px}
 .c2gl-lounge :is(.global-header,.site-header,.top,.service-strip){margin-left:0;min-height:48px}.c2gl-lounge .global-header .header-inner{min-height:48px;padding:8px 16px;gap:10px}.c2gl-lounge .main-nav{gap:12px}.c2gl-lounge .main-nav>a{display:none}.c2gl-lounge .service-strip-inner{padding:6px 16px}.c2gl-lounge>#app.wrap{margin:0;width:100%;padding:18px 16px 40px}.c2gl-lounge>.lounge{margin:0;padding:18px 16px 40px}.c2gl-room-layout>main:not(#app):not(.lounge){margin-left:0;width:100%}
 .c2gl-welcome{grid-template-columns:1fr;min-height:0}.c2gl-intro{padding:27px 24px}.c2gl-intro h1{font-size:31px;margin:16px 0}.c2gl-intro>p:not(.c2gl-eyebrow){font-size:11px}.c2gl-sign{margin-top:18px}.c2gl-banner{aspect-ratio:4/3}.c2gl-banner>a{font-size:9px;bottom:12px;right:12px}
 .c2gl-quick{gap:8px}.c2gl-quick>a{flex-direction:column;padding:13px 7px;gap:7px;text-align:center}.c2gl-quick strong{font-size:10px}.c2gl-quick>a>span:first-child{font-size:23px}.c2gl-catalog{margin-top:36px}.c2gl-section-head{margin-bottom:24px}.c2gl-section-head h2{font-size:24px}.c2gl-game-grid{grid-template-columns:1fr;gap:22px}.c2gl-game-copy{padding:23px}.c2gl-game-heading h3{font-size:25px}.c2gl-card-actions .btn{min-height:44px;padding:10px 14px}.c2gl-filters button{padding:8px 12px}.c2gl-reading{padding:24px 20px;margin-top:30px}.c2gl-reading h2{font-size:22px}.c2gl-basics li{font-size:13px;padding:14px 3px}.c2gl-lounge .hero:has(.c2gl-illustration){padding:20px}
}
@media(prefers-reduced-motion:reduce){.c2gl-card-art img{transition:none}.c2gl-card-art:hover img{transform:none}}

.c2gl-lounge :is(.setup-panel,.section-intro,.page-head) :is(h1,h2,h3){font-family:inherit}
.c2gl-lounge .setup-rules-main{background:#fffefb;border-color:#cbd8d3;border-radius:5px}
.c2gl-lounge .daifugo-setup-intro{background:#0b2030;border-color:#38515c;border-radius:5px;color:#f5eddd}
.c2gl-lounge .daifugo-setup-intro :is(h1,p){color:#f5eddd}
.c2gl-lounge .daifugo-setup-intro .eyebrow{color:#ddbf7e}
.c2gl-lounge :is(.setup-rules-summary-list,.setup-rules-total,.setup-rules-header,.setup-rule-summary-item){border-color:#d4dcd0}
.c2gl-lounge .setup-rule-summary-item[data-enabled="false"]{color:#697871}
.c2gl-lounge .setup-rule-preset.selected{background:#0b2030;color:#f5e9ce;border-color:#0b2030}
.c2gl-lounge .top :is(a,span,small){color:#172d39}
.c2gl-lounge .shared-participants summary{color:#765b2c}
.c2gl-lounge :is(.lobby-panel,.first-seat-result,.seat-status article){background:#fffefb;color:#172d39;border-color:#bfccc0}
.c2gl-lounge :is(.first-seat-result strong,.seat-config label){color:#765b2c}
/* Light lobby labels; gameplay retains its dark palette. */
body.c2gl-lounge .lobby-actions label,body.c2gl-lounge #deadline-settings small,body.c2gl-lounge #connection{color:#394e56}

/* QA V4: light shell and dark character cards have separate text tokens. */
.c2gl-lounge :is(.character-card,.library-guide-card){--text:#eff3f1;--muted:#c2d1d6;--gold:#efd18c;color:var(--text)}
.c2gl-lounge :is(.character-card,.library-guide-card) :is(h3,p,.strength,.role){color:var(--text)}
.c2gl-lounge :is(.character-card,.library-guide-card) p{color:var(--muted)}
.c2gl-lounge :is(.library-guide,.library-transfer,.character-detail).panel{--text:#172d39;--muted:#405957;color:var(--text)}
.c2gl-lounge .notice:not(.warn){--text:#eff3f1;--muted:#c2d1d6;--gold:#efd18c;color:var(--muted)}
.c2gl-lounge .library-guide > :is(p,.library-guide-lead,.library-guide-note){color:#405957}
.c2gl-lounge .library-guide-card{background:#122737}
.c2gl-lounge :is(.character-card,.library-guide-card) p{color:#c2d1d6}
.c2gl-lounge .character-card:focus-visible{outline:3px solid #9a7637;outline-offset:3px}
.c2gl-lounge #service-status{display:none}

/* Task 21: readable setup fields for Shogi, Chess and Go only. */
.c2gl-lounge .setup-panel :where(#shogi-seats,#board-seats) .participant-seat .field{color:var(--text,#172d39)}
.c2gl-lounge .setup-panel :where(#shogi-seats,#board-seats) .participant-seat .field>small{color:var(--muted,#61716f)}
.c2gl-lounge .setup-panel :where(#shogi-seats,#board-seats) .participant-seat .field select{color-scheme:light;background:var(--surface,#fffefb);color:var(--text,#172d39)}
.c2gl-lounge .setup-panel :where(#shogi-seats,#board-seats) .participant-seat .field select option{background:var(--surface,#fffefb);color:var(--text,#172d39)}
.c2gl-lounge .setup-panel :where(#shogi-seats,#board-seats) .participant-seat .field select:disabled,
.c2gl-lounge .setup-panel :where(#shogi-seats,#board-seats) .participant-seat .field select option:disabled{background:var(--surface-2,#eef2ee);color:var(--muted,#61716f);opacity:1}
