.cb-shell{--cb-bg:var(--qc-surface,var(--qc-bg,#12231f));--cb-border:var(--qc-border,#53675b);color:var(--qc-fg,inherit);max-width:1120px;margin:0 auto;padding:12px 8px 42px;line-height:1.6}.cb-shell *{box-sizing:border-box}.cb-breadcrumb{font-size:.88rem;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:20px}.cb-shell a{color:inherit}.cb-hero{padding:36px 32px;border:1px solid var(--cb-border);border-radius:16px;background:linear-gradient(115deg,color-mix(in srgb,var(--qc-accent,#779775) 16%,var(--cb-bg)),var(--cb-bg));margin-bottom:24px}.cb-hero.compact{padding:22px 28px}.cb-hero h1{font-size:clamp(1.7rem,4vw,2.8rem);letter-spacing:.02em;margin:.4rem 0}.cb-hero p{max-width:780px}.cb-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.13em}.cb-muted{opacity:.78}.cb-panel,.cb-card{border:1px solid var(--cb-border);border-radius:12px;padding:24px;background:var(--cb-bg);margin:18px 0}.cb-panel h2,.cb-section h2{font-size:1.25rem;margin:0 0 12px}.cb-panel summary{cursor:pointer;font-weight:750;min-height:28px}.cb-panel[open] summary{margin-bottom:18px}.cb-badge{display:inline-block;font-size:.8rem;border:1px solid var(--cb-border);padding:3px 10px;border-radius:20px;vertical-align:middle}.cb-grid,.cb-teams,.cb-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cb-teams{margin:20px 0}.cb-team{border:1px solid var(--cb-border);border-top:3px solid var(--qc-accent,#b9c998);border-radius:10px;padding:20px;min-width:0}.cb-team h2{font-size:1.3rem;overflow-wrap:anywhere;margin:0 0 8px}.cb-team ul{list-style:none;padding:0;margin:14px 0 0}.cb-player{display:flex;gap:12px;justify-content:space-between;padding:13px 0;border-top:1px solid var(--cb-border)}.cb-player strong{display:block;overflow-wrap:anywhere}.cb-player span{font-size:.87rem}.cb-player small{display:block;opacity:.8}.cb-seat-state{flex-shrink:0;text-align:right}.cb-form label,.cb-compose label{display:flex;flex-direction:column;gap:7px;font-size:.9rem}.cb-form label.cb-check{flex-direction:row;align-items:center;margin:20px 0}.cb-shell input:not([type=checkbox]),.cb-shell select,.cb-shell textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--cb-border);border-radius:6px;background:var(--cb-bg);color:inherit;font:inherit}.cb-shell input[type=checkbox]{width:20px;height:20px}.cb-shell button,.cb-button{min-height:44px;border:1px solid var(--cb-border);border-radius:6px;padding:10px 15px;font:inherit;font-weight:650;color:inherit;background:var(--cb-bg);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.cb-button.primary{background:var(--qc-accent,#d8c890);color:var(--qc-accent-contrast,#18221c)}.cb-shell button:disabled{opacity:.52;cursor:not-allowed}.cb-shell :focus-visible{outline:3px solid var(--qc-accent,#d8c890);outline-offset:3px}.cb-actions,#cb-actions{display:flex;gap:10px;flex-wrap:wrap}.cb-next{position:sticky;bottom:10px;padding:18px 22px;border:1px solid var(--cb-border);border-radius:12px;background:var(--cb-bg);box-shadow:0 4px 18px #0002;z-index:4;margin:20px 0}.cb-next p{margin:0 0 10px;max-height:100px;overflow:auto}.cb-current{display:block;border:1px solid var(--cb-border);border-radius:8px;padding:16px 20px;margin:20px 0;font-weight:750}.cb-copy{display:flex;gap:10px}.cb-copy input{min-width:0}.cb-copy button{white-space:nowrap}.cb-chat-tabs{display:flex;gap:8px;flex-wrap:wrap}.cb-chat-tabs [aria-pressed=true]{box-shadow:inset 0 -3px var(--qc-accent,#c8c68f)}#cb-messages{list-style:none;padding:8px 0;height:210px;overflow:auto;border-bottom:1px solid var(--cb-border)}#cb-messages li{padding:8px 4px;overflow-wrap:anywhere;white-space:pre-wrap}#cb-messages strong{margin-right:12px}#cb-messages time{display:block;font-size:.75rem;opacity:.7}.cb-compose{display:flex;gap:10px;align-items:end}.cb-compose label{flex:1;min-width:0}.cb-section{margin-top:32px}#cb-warning{border-left:4px solid var(--qc-warning,#d6ae69);padding:15px;background:var(--cb-bg)}#cb-leaders button{margin:0 8px 12px 0}.cb-card{margin:0}.cb-card h3{font-size:1.2rem;overflow-wrap:anywhere}.cb-card h3 span{display:block;font-size:.9rem;font-weight:400}.cb-shell [hidden]{display:none!important}.cb-history-item{padding:15px 0;border-bottom:1px solid var(--cb-border)}.cb-history-item h3{font-size:1.1rem}.cb-history-item ul{padding-left:20px}.cb-mini-banner{display:flex;justify-content:center;gap:12px;padding:12px;background:var(--qc-bg);border-bottom:1px solid var(--qc-border);font-weight:700}.cb-mini-banner a{color:var(--qc-fg,inherit)}
@media(max-width:650px){.cb-hero,.cb-panel{padding:18px}.cb-grid,.cb-teams,.cb-cards{grid-template-columns:1fr}.cb-copy{flex-direction:column}.cb-next{bottom:0;padding:14px}.cb-next button,.cb-next a{flex:1 1 130px}.cb-compose{align-items:stretch;flex-direction:column}.cb-team{padding:16px}.cb-breadcrumb{font-size:.8rem}.cb-shell{padding-left:0;padding-right:0}.cb-next p{max-height:72px}}

/* Keep the two rosters above the action bar on ordinary laptop screens. */
.cb-hero.compact{padding:14px 22px;margin-bottom:16px}.cb-hero.compact h1{font-size:clamp(1.5rem,3vw,2rem);margin:4px 0}.cb-hero.compact p{margin:7px 0}.cb-team{padding:14px 18px}.cb-team h2{font-size:1.18rem}.cb-team .cb-eyebrow{margin:0 0 8px}.cb-player{padding:10px 0}.cb-next{padding:13px 18px}.cb-shell :is(button,input,select,textarea,summary){scroll-margin-block:160px 230px}.cb-shell .cb-history-item.cb-panel{padding:20px}.cb-player>div{min-width:0}.cb-invites h2{margin-bottom:6px}
@media(max-width:650px){.cb-hero.compact{padding:14px 16px}.cb-next{padding:12px}.cb-seat-state{max-width:105px;white-space:normal}.cb-team{padding:14px}}

@media(min-width:651px){.cb-breadcrumb{margin-bottom:12px}.cb-hero.compact{padding:10px 22px;margin-bottom:12px}.cb-hero.compact .cb-muted{font-size:.82rem;margin:4px 0}.cb-teams{margin:12px 0}.cb-team .cb-eyebrow{margin-bottom:4px}}
/* FA-38: 待機室の会話の「チャットを表示しない」（見出しの横のボタンと、表示しない間に残る案内） */
.cb-chat-head{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;justify-content:space-between}.cb-chat-head h2{flex:1 1 auto}.cb-chat-restore{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:14px 24px}
