/* Scoped to tool documents. Park, Discord and pair-go-werewolf never receive this class. */
/* Match the shared dark typography with tool-specific surfaces in the same layer.
   Keep gobans, stones, avatars and canvas drawings in their original colors. */
@layer site-theme {
html[data-site-theme="dark"] body.tool-washi {
  --tw-ink: var(--site-dark-text) !important;
  --rl-ink: var(--site-dark-text) !important;
  --rl-muted: var(--site-dark-muted) !important;
  --teaching-panel: var(--site-dark-panel) !important;
  --teaching-muted: var(--site-dark-muted) !important;
  color: var(--site-dark-text) !important;
  background: var(--site-dark-bg) !important;
}
html[data-site-theme="dark"] body.tool-washi :is(
  .kido-panel, .kido-team, .kido-seat, .kido-count, .kido-bot-picker,
  .kido-clock-card, .kido-assistance, .rengo-presence, .rengo-team,
  .rengo-seat-card, .rengo-seat-number, .rengo-settings, #rengoGameReview,
  .teaching-card, .teaching-modes, .sm-board-panel, .sm-answer-panel,
  .editor-tool-card, .editor-sidebar-heading, .editor-workspace-nav-head,
  .editor-workspace-nav, .editor-tool-panel, .qa-filter-bar,
  .pro-layout > section, .pro-catalog-row.is-selected,
  .online-game-turn, .discord-match-menu, .discord-review-tools,
  .discord-community-settings, .discord-reader-tools
) {
  color: var(--site-dark-text) !important;
  background: var(--site-dark-panel) !important;
  border-color: var(--site-dark-line) !important;
}
html[data-site-theme="dark"] body.tool-washi :is(
  .kido-modes small, .kido-team > h3 small, .kido-seat-person small,
  .rengo-team > header > span, .rengo-seat-person small,
  .pro-event-categories button span, .pro-player-list span, #players-count,
  #catalog-count, .pro-catalog-info span, .pro-event-other, .pro-catalog-search,
  .online-game-player time, .qa-entry-label, .sm-eyebrow
) { color: var(--site-dark-muted) !important; }
html[data-site-theme="dark"] body.tool-washi :is(
  .kido-badge, .rengo-bot-badge, .rengo-host-label, .rengo-seat-status.is-ready,
  .teaching-state, .teaching-turn-badge, .teaching-role-teacher, .teaching-phase,
  [role="alert"], .sm-error, [data-tone="error"], .error, #teachingMessage:not(:empty)
) {
  color: var(--site-dark-text) !important;
  background: var(--site-dark-raised) !important;
  border-color: var(--site-dark-line) !important;
}
html[data-site-theme="dark"] body.tool-washi :is(.kido-seat-status, .teaching-countdown) {
  color: #f3dca6 !important;
}
html[data-site-theme="dark"] body.tool-washi :is(.kido-seat-status.ready, .rengo-seat-status.is-ready) {
  color: var(--site-dark-green) !important;
}
}
body.tool-washi{--tw-ink:#243746;--tw-indigo:#182d3b;--tw-paper:#f4eedf;--tw-red:#a33e32;--tw-gold:#a58b55;color:var(--tw-ink)!important;background:radial-gradient(ellipse at top,#fffaf0,var(--tw-paper))!important;font-family:'Noto Sans JP',system-ui,sans-serif;}
body.tool-washi *{box-sizing:border-box;}
body.tool-washi :is(h1,h2,h3,h4){color:var(--tw-indigo);}
body.tool-washi :is(button,select,input,textarea){font:inherit;}
body.tool-washi :is(button,select,input:not([type=checkbox]):not([type=range]),textarea){border:1px solid #b8a784;border-radius:8px;min-height:44px;background:#fffaf0;color:var(--tw-ink);box-shadow:none;}
body.tool-washi button{padding:9px 14px;font-weight:700;cursor:pointer;}
body.tool-washi button:hover:not(:disabled){background:#e9dfc8;border-color:var(--tw-gold);}
body.tool-washi :is(button:disabled,input:disabled,select:disabled){opacity:.55;cursor:default;}
body.tool-washi :is(button,a,input,select,textarea):focus-visible{outline:3px solid #287089;outline-offset:3px;}
body.tool-washi :is([aria-pressed=true],[aria-selected=true]){background:var(--tw-indigo);color:#fff;border-color:var(--tw-indigo);}
body.tool-washi :is(.online-game-primary,.sm-primary,[type=submit],#play,#rengoStart,#kidoStart,#commit-move){background:var(--tw-red);color:#fff;border-color:var(--tw-red);}
body.tool-washi :is(.online-game-danger-text,#onlineGameResign,#resign){color:var(--tw-red);border-color:var(--tw-red);}
body.tool-washi :is([role=alert],.sm-error,[data-tone=error],.error){color:#8e2923;background:#fff1e9;border-color:#b85d4b;}
body.tool-washi :is(.online-game-panel,.online-game-player,.teaching-card,.sm-board-panel,.sm-answer-panel,.board-panel,.editor-tool-card,.qa-card,.pro-layout>section){background:#fffbf3!important;color:var(--tw-ink)!important;border:1px solid #c7b38b;border-radius:12px;box-shadow:0 3px 12px #4634180c;}
body.tool-washi :is(.online-game-shell,.sm-shell,.simultaneous-shell,.pro-viewer>main){max-width:1600px;margin:0 auto;padding:16px;}
body.tool-washi :is(.online-game-hero,.sm-heading,.teaching-heading,.pro-viewer>main>header){padding:12px 18px;background:var(--tw-indigo);color:#fff;border-radius:10px;border-bottom:3px solid var(--tw-gold);}
body.tool-washi :is(.online-game-hero,.sm-heading,.teaching-heading,.pro-viewer>main>header) :is(h1,h2,p,a){color:inherit;}
body.tool-washi :is(.pro-controls,.online-game-actions,.rengo-toolbar){gap:8px;}
body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden])){overflow:hidden!important;margin:0!important;padding:0!important;height:100dvh;}
body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden])) :is(.site-footer,footer){display:none!important;}
body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden]))>.site-header,
body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden])) .online-game-hero,
body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden])) .online-game-rental-link{display:none;}
body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden])) .online-game-shell{height:100dvh!important;min-height:0!important;margin:0!important;max-width:none!important;padding:12px;display:flex;flex-direction:column;}
body.tool-washi #onlineGameMatch{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;}
body.tool-washi #onlineGameMatch[hidden]{display:none;}
body.tool-washi .online-game-play-area{flex:1;min-height:0;display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:stretch;}
body.tool-washi .online-game-board-wrap{min-height:0;min-width:0;display:flex;justify-content:center;align-items:center;padding:8px;border:1px solid #a68a56;border-radius:10px;background:#e1c18c;box-shadow:0 5px 18px #3e2d1720;overflow:hidden;}
body.tool-washi #onlineGameBoard{width:var(--tw-board-size,600px)!important;height:var(--tw-board-size,600px)!important;max-width:none!important;max-height:none!important;margin:0!important;flex:none;border-radius:2px;}
body.tool-washi .online-game-match-side{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:2px;}
body.tool-washi .online-game-scoreboard{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin:0;}
body.tool-washi .online-game-scoreboard .online-game-turn{grid-column:1/-1;grid-row:2;text-align:center;padding:5px;background:#eee2c3;border-radius:6px;color:var(--tw-ink);font-size:13px;}
body.tool-washi .online-game-player{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;min-width:0;}
body.tool-washi .online-game-player>div{min-width:0;flex:1;}
body.tool-washi .online-game-player strong{font-size:14px;overflow-wrap:anywhere;color:var(--tw-ink);}
body.tool-washi .online-game-player time{font-size:26px;flex:0 0 100%;font-variant-numeric:tabular-nums;color:var(--tw-indigo);}
body.tool-washi .online-game-player[data-active=true]{border:2px solid var(--tw-gold);background:#fff4d6!important;}
body.tool-washi .online-game-match-header{padding:8px 12px;background:var(--tw-indigo);border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;}
body.tool-washi .online-game-match-header h2{font-size:18px;margin:0;color:inherit;}
body.tool-washi .online-game-status-card{padding:14px;}
body.tool-washi .online-game-status-card h3{margin:0 0 12px;}
body.tool-washi .online-game-status-card dl div{display:grid;grid-template-columns:70px 1fr;gap:8px;}
body.tool-washi .online-game-status-card dd{margin:0;}
body.tool-washi .online-game-status-card p{font-size:13px;line-height:1.6;}
body.tool-washi .online-game-actions{display:flex;flex-wrap:wrap;margin:0;}
body.tool-washi #onlineGamePlayActions button{flex:1;min-height:48px;}
body.tool-washi .pro-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;}
body.tool-washi .pro-layout>section{padding:16px;min-width:0;}
body.tool-washi.pro-viewer #board{width:var(--tw-board-size,560px)!important;height:var(--tw-board-size,560px)!important;display:block;margin:0 auto;border:6px solid #bf995f;border-radius:6px;}
body.tool-washi .pro-controls{display:flex;flex-wrap:wrap;margin:10px 0;}
body.tool-washi :is(#leave,#rengoLeave,#kidoLeave,#teachingLeave,#leave-room){display:none!important;}
body.tool-washi :is(.board-stage,.teaching-board-stage,.sm-board){max-width:100%;}
body.tool-washi :is(.board-stage>.goban,.teaching-board-stage>.goban,#smBoard,#smReviewBoard){margin-inline:auto;}
body.tool-washi.pro-viewer{margin:0;}
body.tool-washi.pro-viewer>main{height:100dvh;display:flex;flex-direction:column;padding:12px;}
body.tool-washi.pro-viewer>main>header{padding:8px 14px;flex:none;}
body.tool-washi.pro-viewer>main>header h1{font-size:22px;margin:0;}
body.tool-washi.pro-viewer>main>:is(#status,#members){margin:4px 0;font-size:13px;}
body.tool-washi.pro-viewer .pro-layout{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 240px 280px;gap:12px;}
body.tool-washi.pro-viewer .pro-layout>section{overflow:auto;}
body.tool-washi.pro-viewer .pro-layout>section:first-child{display:flex;flex-direction:column;align-items:stretch;padding:12px;}
body.tool-washi.pro-viewer .pro-layout>.pro-board-panel{justify-content:center;overflow:hidden;}
body.tool-washi.pro-viewer .pro-board-panel #board{max-width:none;flex:none;box-sizing:border-box;}
body.tool-washi.pro-viewer .pro-playback-panel{display:flex;flex-direction:column;gap:10px;padding:12px;}
body.tool-washi.pro-viewer .pro-playback-panel .pro-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
body.tool-washi.pro-viewer .pro-playback-panel .pro-controls:has(label){grid-template-columns:1fr;}
body.tool-washi.pro-viewer .pro-playback-panel .pro-controls label{display:flex;justify-content:space-between;align-items:center;gap:8px;}
body.tool-washi.pro-viewer .pro-playback-panel :is(#game-info,#analysis){overflow-wrap:anywhere;margin:0;}
body.tool-washi.pro-viewer .pro-playback-panel button{min-width:0;padding-inline:5px;}
body.tool-washi.pro-viewer .pro-playback-panel .pro-controls button{white-space:nowrap;font-size:12px;padding-inline:3px;}
body.tool-washi.pro-viewer .pro-browse-panel :is(.pro-event-categories,.pro-player-list){grid-template-columns:1fr 1fr;}
body.tool-washi.pro-viewer .pro-browse-panel .pro-player-list{grid-template-columns:1fr;}
body.tool-washi.pro-viewer .pro-browse-panel .pro-catalog-heading{flex-wrap:wrap;gap:4px;}
body.tool-washi.pro-viewer .pro-browse-panel .pro-catalog-heading h3{flex-basis:100%;}
@media(max-width:900px){
 body.tool-washi.pro-viewer .pro-layout{display:block;overflow:auto;}
 body.tool-washi.pro-viewer .pro-layout>.pro-board-panel{height:auto;}
 body.tool-washi.pro-viewer .pro-layout>section+section{margin-top:12px;}
}
body.tool-washi.pro-viewer #game-title{font-size:18px;margin:0 0 4px;}
body.tool-washi.pro-viewer #game-info{font-size:13px;margin:0 0 8px;}
body.tool-washi.pro-viewer .pro-controls{margin:6px 0;}
body.tool-washi.pro-viewer .pro-controls button[data-step]{background:var(--tw-indigo);color:#fff;border-color:var(--tw-indigo);}
body.tool-washi :is(#editorWorkspaceTabs,#editorWorkspaceToolsTab,#editorWorkspaceTreeTab){background:#eee4d0!important;color:var(--tw-ink)!important;}
body.tool-washi #editorWorkspaceTabs [aria-selected=true]{background:var(--tw-indigo)!important;color:#fff!important;}
body.tool-washi :is(.editor-sidebar-heading,.editor-workspace-nav-head,.editor-workspace-nav,.editor-tool-panel){background:#fffbf3!important;color:var(--tw-ink)!important;}
body.tool-washi :is(.qa-entry-panel,.qa-question-card,.qa-filter-bar,.sm-intro,.sm-guide article,.rengo-settings){background:#fffbf3!important;border:1px solid #c7b38b;border-radius:12px;color:var(--tw-ink);}
body.tool-washi :is(.qa-entry-label,.sm-eyebrow,.sm-pill,.teaching-phase){color:var(--tw-indigo);}
body.tool-washi :is(.qa-entry-action--ask,#leftNavEditorNewBtn,#editorSaveServerBtn){background:var(--tw-red)!important;color:#fff!important;border-color:var(--tw-red)!important;}
body.tool-washi .qa-entry-action--ask :is(strong,small){color:#fff;}
body.tool-washi .sm-intersections button{min-height:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
body.tool-washi :is(#smBoard,#smReviewBoard){width:var(--tw-board-size,528px)!important;max-width:100%;aspect-ratio:1;zoom:1!important;}
body.tool-washi.strength-page:has(#smTest:not([hidden]))>.site-header{display:none;}
body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-shell{margin:0 auto;padding:12px;}
body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-heading{padding:10px 16px;margin-bottom:12px;}
body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-heading h1{font-size:24px;}
body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-heading-mark{width:36px;height:36px;}
body.tool-washi .sm-test-top{margin-bottom:8px;}
body.tool-washi .sm-test-top h2{font-size:22px;margin:4px 0;}
body.tool-washi .sm-steps{margin:8px 0 12px;}
body.tool-washi .sm-board-panel{padding:12px;}
body.tool-washi .sm-board-meta{margin-bottom:8px;}
body.tool-washi .sm-heading .sm-history-link{background:#fffbf3;color:var(--tw-ink);border:1px solid #c7b38b;}
body.tool-washi .qa-entry-action--answer{background:var(--tw-indigo)!important;color:#fff!important;border-color:var(--tw-indigo)!important;box-shadow:none!important;}
body.tool-washi .qa-entry-action--answer :is(strong,small){color:#fff;}
body.tool-washi #teachingCanvas{height:auto;max-width:100%;}
body.tool-washi :is(.discord-match-menu,.discord-review-tools,.discord-community-settings,.discord-reader-tools){background:#fffbf3!important;color:var(--tw-ink)!important;border:1px solid #c7b38b;border-radius:10px;}
body.tool-washi :is(.teaching-session-heading,.teaching-board-heading,.sm-test-top,.qa-section-title){border-bottom:2px solid var(--tw-gold);}
body.tool-washi :is(.teaching-toolbar,.teaching-board-rail,.qa-filter-bar){gap:8px;}
body.tool-washi :is(.teaching-modes button[aria-pressed=true],.teaching-board-summary[aria-pressed=true],#teachingNextBoard,#teachingCommentSend){background:var(--tw-indigo)!important;color:#fff!important;border-color:var(--tw-indigo)!important;}
body.tool-washi #teachingResign{color:var(--tw-red);border-color:var(--tw-red);}
body.tool-washi .online-game-match-header>p{display:none;}
body.tool-washi .discord-review-tools button{background:#fffbf3!important;color:var(--tw-ink)!important;border:1px solid #c7b38b!important;min-height:44px;}
body.tool-washi .discord-review-tools :is(button[aria-pressed=true],button[aria-selected=true]){background:var(--tw-indigo)!important;color:#fff!important;}
body.tool-washi #review-room #review-board{width:var(--tw-board-size,600px)!important;height:var(--tw-board-size,600px)!important;zoom:1!important;max-width:100%;}
body.tool-washi #review-room #review-board svg{width:100%!important;height:100%!important;}
@media(max-width:700px){
 body.tool-washi #review-room>.discord-review-layout[data-review-tabs=true]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 280px!important;}
 body.tool-washi #review-room .discord-review-tools{width:100%!important;height:100%!important;min-height:0;overflow:auto;}
 body.tool-washi #review-room .discord-board-scroll{height:100%!important;min-height:0;}
 body.tool-washi .teaching-board-workspace{display:flex;flex-direction:column;gap:8px;}
 body.tool-washi .teaching-board-stage{width:100%;min-width:0;}
 body.tool-washi .teaching-board-rail{width:100%;}
 body.tool-washi .teaching-board-rail .teaching-actions{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:6px;}
 body.tool-washi .teaching-board-rail .teaching-actions button{flex:1;min-width:70px;}
 body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-shell{padding:8px;}
 body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-heading{padding:6px 10px;margin-bottom:6px;}
 body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-heading .sm-eyebrow{display:none;}
 body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-heading h1{font-size:20px;}
 body.tool-washi .sm-test-top h2{font-size:18px;margin:0;}
 body.tool-washi .sm-steps{margin:4px 0 8px;padding:0;gap:3px;}
 body.tool-washi .sm-steps li{padding:3px;font-size:10px;}
 body.tool-washi .sm-board-panel{padding:6px;}
 body.tool-washi .sm-board-caption{font-size:11px;margin:4px 0;}
 body.tool-washi .sm-answer-panel{padding:10px;}
 body.tool-washi #smChoosePanel :is(h3,p){margin:4px 0;font-size:14px;}
 body.tool-washi .sm-small-actions{margin-top:4px;}
 body.tool-washi .sm-play-layout{gap:8px;}
 body.tool-washi :is(.online-game-shell,.sm-shell,.simultaneous-shell){padding:10px;}
 body.tool-washi.tool-category-play:has(#onlineGameMatch:not([hidden])) .online-game-shell{padding:8px;}
 body.tool-washi .online-game-play-area{display:flex!important;flex-direction:column;gap:8px;}
 body.tool-washi #onlineGameMatch>.online-game-scoreboard{flex:none;}
 body.tool-washi .online-game-board-wrap{flex:0 0 auto;padding:5px;}
 body.tool-washi .online-game-match-side{flex:1;display:flex;gap:8px;overflow:auto;}
 body.tool-washi .online-game-scoreboard{order:0;}
 body.tool-washi .online-game-match-header{order:1;}
 body.tool-washi #onlineGamePlayActions{order:2;}
 body.tool-washi .online-game-status-card{order:3;padding:10px;}
 body.tool-washi .online-game-player{padding:8px;gap:5px;}
 body.tool-washi .online-game-player time{font-size:20px;flex:0 0 auto;}
 body.tool-washi .online-game-player strong{font-size:12px;}
 body.tool-washi .online-game-player>div>span{font-size:11px;}
 body.tool-washi .online-game-stone{width:20px;height:20px;}
 body.tool-washi .pro-layout{grid-template-columns:1fr;}
 body.tool-washi.pro-viewer .pro-layout{display:block;overflow:auto;}
 body.tool-washi.pro-viewer .pro-layout>section:first-child{height:auto;}
 body.tool-washi.pro-viewer .pro-layout>section+section{margin-top:12px;min-height:300px;}
 body.tool-washi.pro-viewer .pro-layout>section:first-child{overflow-x:hidden;}
 body.tool-washi .pro-layout>section{padding:10px;}
}

/* Keep mobile boards full-width in portrait and height-sized in landscape. */
@media(max-width:1000px) {
 body.tool-washi :is(.online-game-shell,.sm-shell,.simultaneous-shell,.pro-layout>section,.sm-board-panel,.online-game-board-wrap,.teaching-board-stage) { padding-inline:0!important; border-inline:0!important; }
 body.tool-washi :is(#board,#onlineGameBoard,#smBoard,#smReviewBoard) { width:var(--tw-board-size,100%)!important; height:auto!important; max-width:none!important; aspect-ratio:1; zoom:1!important; }
 body.tool-washi.pro-viewer .pro-layout>.pro-board-panel { padding:0!important; height:auto!important; overflow:visible!important; }
}
@media(max-width:1000px) and (orientation:portrait) {
 body.tool-washi :is(.online-game-play-area,.sm-play-layout,.pro-layout) { display:grid!important; grid-template-columns:minmax(0,1fr)!important; height:auto!important; }
 body.tool-washi .online-game-board-wrap { width:100%; }
 body.tool-washi.pro-viewer .pro-layout>section { margin:0!important; }
}
@media(max-width:1000px) and (orientation:landscape) {
 body.tool-washi :is(.online-game-play-area,.sm-play-layout,.pro-layout) { display:grid!important; grid-template-columns:minmax(0,calc(100dvh - 8px)) minmax(160px,1fr)!important; gap:8px!important; height:auto!important; }
 body.tool-washi .online-game-match-side { display:flex!important; flex-direction:column; overflow:auto; }
 body.tool-washi.pro-viewer .pro-browse-panel { grid-column:1 / -1; }
}
@media(max-width:1000px) {
 body.tool-washi.pro-viewer .pro-layout>.pro-board-panel { align-self:start; justify-content:flex-start; }
}
@media(max-width:1000px) {
 body.tool-washi.strength-page:has(#smTest:not([hidden])) :is(.site-header,.sm-heading) { display:none!important; }
 body.tool-washi.strength-page:has(#smTest:not([hidden])) .sm-shell { padding:0!important; }
 body.tool-washi.pro-viewer main { display:flex; flex-direction:column; padding:0!important; }
 body.tool-washi.pro-viewer .pro-layout { order:0; }
 body.tool-washi.pro-viewer main>header { order:1; }
 body.tool-washi.pro-viewer main>p { order:2; }
}
@media(max-width:1000px) and (orientation:landscape) {
 body.tool-washi.strength-page #smTest:not([hidden]) { display:grid; grid-template-columns:minmax(0,calc(100dvh - 40px)) minmax(160px,1fr); grid-template-rows:auto auto auto; gap:6px; }
 body.tool-washi.strength-page #smTest .sm-play-layout { display:contents!important; }
 body.tool-washi.strength-page #smTest .sm-board-panel { grid-column:1; grid-row:1 / 4; padding:0!important; }
 body.tool-washi.strength-page #smTest .sm-test-top { grid-column:2; grid-row:1; }
 body.tool-washi.strength-page #smTest .sm-steps { grid-column:2; grid-row:2; }
 body.tool-washi.strength-page #smTest .sm-answer-panel { grid-column:2; grid-row:3; }
 body.tool-washi.strength-page #smTest .sm-board-meta { margin:0; min-height:30px; }
}

/* Rengo: keep the square board intact and equal-height team cards. */
body.tool-washi.rengo-board-review .online-game-scoreboard{align-items:stretch;}
body.tool-washi.rengo-board-review .online-game-player{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr auto;align-self:stretch;align-items:center;border-width:2px;}
body.tool-washi.rengo-board-review .online-game-player time{grid-column:1/-1;text-align:center;}
@media(max-width:1000px) and (orientation:portrait){
 body.tool-washi.rengo-board-review:has(#onlineGameMatch:not([hidden])){height:auto;min-height:100dvh;overflow-y:auto!important;}
 body.tool-washi.rengo-board-review:has(#onlineGameMatch:not([hidden])) .online-game-shell{height:auto!important;min-height:100dvh!important;}
 body.tool-washi.rengo-board-review #onlineGameMatch{flex:none;}
 body.tool-washi.rengo-board-review .online-game-play-area{flex:none;grid-template-rows:max-content max-content;align-items:start;}
 body.tool-washi.rengo-board-review .online-game-board-wrap{width:100%;aspect-ratio:1;align-self:start;padding:0;border:0;border-radius:0;}
 body.tool-washi.rengo-board-review .online-game-match-side{overflow:visible;max-height:none;flex:none;}
}

/* Local meetup rooms: shared washi palette without affecting other tools. */
body.go-meetup{margin:0;background:#f5f2e9;color:#253e33;font:15px/1.6 system-ui,-apple-system,"Yu Gothic",sans-serif;--meetup-green:#194d3c;--meetup-line:#d9ddce;}
.go-meetup *{box-sizing:border-box;}
.go-meetup [hidden]{display:none!important;}
.go-meetup button,.go-meetup input,.go-meetup select,.go-meetup textarea{font:inherit;color:inherit;max-width:100%;}
.go-meetup button{cursor:pointer;border:1px solid var(--meetup-line);background:#fffdf6;border-radius:8px;padding:8px 13px;min-height:40px;}
.go-meetup button:hover{background:#eaf0e6;}
.go-meetup button:disabled{opacity:.45;cursor:default;}
.go-meetup :focus-visible{outline:3px solid #b78f3e;outline-offset:2px;}
.go-meetup input,.go-meetup select,.go-meetup textarea{border:1px solid #c9d0bf;border-radius:6px;background:white;padding:8px;width:100%;}
.go-meetup textarea{resize:vertical;}
.go-meetup h1,.go-meetup h2,.go-meetup h3,.go-meetup p{margin:0 0 12px;}
.go-meetup h1{font-size:27px;letter-spacing:.06em;}
.go-meetup h2{font-size:17px;}
.go-meetup h3{font-size:20px;}
.go-meetup a{color:inherit;}
.go-meetup label{display:block;margin:10px 0;}
.go-meetup small{font-size:12px;color:#6e7c6b;}
.go-meetup .meetup-header{height:70px;background:#153e31;color:#fffaf0;padding:0 32px;display:flex;align-items:center;gap:18px;}
.go-meetup .meetup-brand{margin-right:auto;text-decoration:none;font-size:22px;font-weight:700;letter-spacing:.12em;}
.go-meetup .meetup-brand small{font-size:12px;color:#d4ddcc;letter-spacing:.05em;display:block;line-height:1;}
.go-meetup .meetup-header button{color:#234735;}
.go-meetup .meetup-shell{max-width:1500px;margin:0 auto;padding:22px 28px 40px;}
.go-meetup #meetupStatus{font-size:14px;min-height:22px;overflow-wrap:anywhere;}
.go-meetup .meetup-error{color:#a43e32;}
.go-meetup .meetup-intro,.go-meetup .meetup-room-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0 25px;}
.go-meetup .meetup-eyebrow{font-size:12px;letter-spacing:.15em;color:#71806a;margin-bottom:6px;}
.go-meetup .meetup-primary{background:var(--meetup-green);border-color:var(--meetup-green);color:white;}
.go-meetup .meetup-primary:hover{background:#28634b;}
.go-meetup .meetup-lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start;}
.go-meetup .meetup-cards{display:grid;grid-template-columns:1fr;gap:9px;padding:12px;}
.go-meetup .meetup-card,.go-meetup .meetup-panel{background:#fffdf6;border:1px solid var(--meetup-line);border-radius:12px;padding:20px;min-width:0;}
.go-meetup .meetup-card{display:grid;grid-template-columns:minmax(150px,1.5fr) auto auto minmax(90px,1fr) 130px;align-items:center;gap:18px;padding:22px 20px;border:1px solid #c4a26e;border-radius:10px;background:#f8ecd4;box-shadow:inset 0 0 18px #a5752c18,0 2px 3px #0003;overflow-wrap:anywhere;}
.go-meetup .meetup-card footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e7e9df;padding-top:15px;}
.go-meetup .meetup-badge{display:inline-block;background:#e7eee0;color:#4d6747;border-radius:5px;font-size:11px;padding:3px 8px;margin-bottom:15px;}
.go-meetup .meetup-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c4c9be;margin-right:8px;}
.go-meetup .is-online{background:#6c9a55;}
.go-meetup #meetupFriends small,.go-meetup #meetupMembers small{margin-left:8px;}
.go-meetup .meetup-empty{color:#7a8374;padding:10px 0;}
.go-meetup .meetup-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.go-meetup .meetup-room-grid{display:grid;grid-template-columns:200px minmax(280px,1fr) 280px;grid-template-areas:"tables board voice" "tables board people";grid-template-rows:auto 1fr;gap:14px 20px;align-items:start;}
.go-meetup .meetup-tables{padding:15px;grid-area:tables;}
.go-meetup .meetup-table{display:block;text-align:left;width:100%;margin-bottom:12px;padding:14px 10px;}
.go-meetup .meetup-table strong,.go-meetup .meetup-table small{display:block;overflow-wrap:anywhere;}
.go-meetup .meetup-table strong span{font-size:11px;font-weight:400;float:right;}
.go-meetup .meetup-table.is-selected{border-color:#527c55;background:#e9f0e2;}
.go-meetup .meetup-tables>button{width:100%;margin-top:10px;}
.go-meetup .meetup-board-panel{grid-area:board;min-width:0;background:#fdfbf4;border:1px solid var(--meetup-line);border-radius:12px;padding:18px;}
.go-meetup .meetup-board{width:min(100%,max(280px,calc(100dvh - 335px)));max-width:650px;margin:14px auto;touch-action:manipulation;}
.go-meetup .meetup-board svg{display:block;width:100%;height:auto;}
.go-meetup .meetup-board [data-point]{cursor:pointer;}
.go-meetup .meetup-empty-board{aspect-ratio:1;display:grid;place-content:center;text-align:center;line-height:2;background:#e6d5ac;border-radius:8px;color:#786844;}
.go-meetup .meetup-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
.go-meetup .meetup-hint{font-size:12px;color:#78806f;}
.go-meetup .meetup-inline{display:flex;align-items:center;gap:10px;}
.go-meetup .meetup-inline input{width:auto;}
.go-meetup .meetup-messages{height:300px;overflow:auto;overflow-wrap:anywhere;margin:10px 0;padding-right:5px;}
.go-meetup .meetup-messages article{padding:10px 0;border-bottom:1px solid #e4e6dc;font-size:13px;}
.go-meetup .meetup-messages p{white-space:pre-wrap;margin:4px 0;}
.go-meetup .meetup-messages time{font-size:11px;color:#818675;}
.go-meetup .meetup-messages button{padding:1px 5px;min-height:26px;font-size:11px;}
.go-meetup #meetupChatText{min-width:0;flex:1;width:120px;}
.go-meetup .meetup-voice{grid-area:voice;margin-top:0;border:1px solid var(--meetup-line);border-radius:12px;padding:14px 18px;background:#e9eee2;}
.go-meetup .community-voice-controls{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;}
.go-meetup .community-voice-person{display:inline-flex;gap:5px;align-items:center;margin:5px 12px 5px 0;}
.go-meetup .community-voice-person[data-speaking="true"]{color:#267b3e;font-weight:bold;}
.go-meetup .community-voice-hint,.go-meetup .community-voice-bar-heading p{font-size:12px;}
.go-meetup dialog{border:1px solid #cbd4bf;border-radius:14px;background:#fffdf5;color:#254031;padding:26px;width:min(510px,calc(100% - 30px));max-height:90dvh;overflow:auto;}
.go-meetup dialog::backdrop{background:#142d2480;}
.go-meetup dialog form{margin-bottom:20px;}
.go-meetup .meetup-tabs{display:none;}.go-meetup .meetup-people{grid-area:people;}.go-meetup .meetup-room-heading{padding:0 0 10px;}.go-meetup .meetup-room-heading h1{margin-bottom:3px;font-size:23px;}.go-meetup .meetup-room-heading p{margin-bottom:4px;}.go-meetup #meetupTableHeading h2{margin-bottom:5px;}.go-meetup .meetup-mini{width:64px;height:64px;display:block;margin:8px auto;}.go-meetup #meetupReviewControls{font-size:13px;}.go-meetup #meetupReviewControls p{margin:6px 0;}
@media(max-width:1050px){.go-meetup .meetup-room-grid{grid-template-columns:165px minmax(240px,1fr) 220px;gap:12px;}.go-meetup .meetup-panel{padding:12px;}.go-meetup .meetup-shell{padding:18px;}}
@media(max-width:760px){.go-meetup .meetup-header{height:64px;padding:0 16px;gap:8px;}.go-meetup .meetup-brand{font-size:20px;}.go-meetup #meetupAccount{font-size:12px;max-width:90px;overflow-wrap:anywhere;}.go-meetup .meetup-shell{padding:14px 10px 160px;}.go-meetup .meetup-intro,.go-meetup .meetup-room-heading{align-items:flex-start;flex-direction:column;gap:8px;}.go-meetup h1{font-size:23px;overflow-wrap:anywhere;}.go-meetup .meetup-lobby-grid{grid-template-columns:1fr;gap:20px;}.go-meetup .meetup-cards{grid-template-columns:1fr;}.go-meetup .meetup-room-grid{display:block;}.go-meetup .meetup-board-panel{padding:10px;}.go-meetup .meetup-board{width:100%;}.go-meetup .meetup-tabs{display:flex;gap:5px;margin-bottom:12px;}.go-meetup .meetup-tabs button{flex:1;padding:8px 4px;font-size:13px;}.go-meetup [data-mobile-tab="board"]>.meetup-tables,.go-meetup [data-mobile-tab="board"]>.meetup-people,.go-meetup [data-mobile-tab="tables"]>.meetup-board-panel,.go-meetup [data-mobile-tab="tables"]>.meetup-people,.go-meetup [data-mobile-tab="people"]>.meetup-tables,.go-meetup [data-mobile-tab="people"]>.meetup-board-panel{display:none;}.go-meetup .meetup-voice{position:fixed;bottom:0;left:0;right:0;margin:0;border-radius:12px 12px 0 0;max-height:32dvh;overflow:auto;padding:10px 12px;z-index:5;box-shadow:0 -2px 10px #18352515;}.go-meetup .meetup-voice strong{font-size:13px;}.go-meetup .community-voice-bar-heading>div:first-child strong,.go-meetup .community-voice-hint,.go-meetup .meetup-voice details{display:none;}.go-meetup .community-voice-controls{margin:5px 0;}.go-meetup .community-voice-controls button{padding:5px 8px;font-size:13px;}.go-meetup .community-voice-participants{font-size:12px;}.go-meetup .meetup-setting-grid{gap:0 8px;}.go-meetup .meetup-setting-grid label{font-size:13px;}.go-meetup .meetup-messages{height:38dvh;}}

/* Illustrated lobby: art is decorative; room text and controls stay native. */
.go-meetup.meetup-lobby-view{background:#f5f2e9;min-height:100dvh;}
.go-meetup .meetup-brand{display:flex;align-items:center;gap:12px;}
.go-meetup .meetup-brand img{width:54px;height:54px;object-fit:contain;}
.go-meetup.meetup-lobby-view .meetup-header{height:70px;max-width:none;margin:0;padding:0 32px;background:#153e31;text-shadow:none;}
.go-meetup.meetup-lobby-view .meetup-brand{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:24px;}
.go-meetup.meetup-lobby-view .meetup-brand img{width:54px;height:54px;filter:none;}
.go-meetup.meetup-lobby-view .meetup-brand small{font-size:12px;color:#e2e7d7;text-align:left;}
.go-meetup.meetup-lobby-view #meetupAccount{padding:0;border:0;border-radius:0;background:transparent;color:#fff4da;font-weight:600;}
.go-meetup.meetup-lobby-view .meetup-shell{padding-top:0;padding-bottom:110px;}
.go-meetup.meetup-lobby-view #meetupStatus{color:#fff8e7;text-shadow:0 1px 3px #000;background:#14372ccf;border-radius:6px;padding:7px 12px;margin-bottom:10px;}
.go-meetup.meetup-lobby-view #meetupStatus:empty{display:none;}
.go-meetup.meetup-lobby-view #meetupStatus.meetup-error{background:#632d26;color:#fff;}
.go-meetup #meetupLobby .meetup-intro{border:5px solid #71502e;outline:1px solid #c7a567;border-radius:14px;padding:18px 24px;margin-bottom:16px;background:#f7ebd2;box-shadow:0 4px 12px #0004,inset 0 0 25px #9b6b291c;}
.go-meetup #meetupLobby .meetup-intro>div{display:flex;align-items:center;gap:24px;}
.go-meetup #meetupLobby h1{font:700 36px 'Yu Mincho',serif;margin:0;white-space:nowrap;}
.go-meetup #meetupLobby .meetup-intro p{margin:0;border-left:1px solid #bda379;padding-left:24px;font-family:'Yu Mincho',serif;font-size:18px;}
.go-meetup #meetupLobby button{font-weight:600;}
.go-meetup #meetupCreateOpen,.go-meetup .meetup-card>button{background:#174833;color:#fff5d9;border:1px solid #bc984f;box-shadow:inset 0 0 0 3px #ffffff0b,0 2px 3px #0003;border-radius:8px;min-height:48px;}
.go-meetup #meetupCreateOpen{font-size:22px;padding:12px 25px;font-family:'Yu Mincho',serif;}
.go-meetup #meetupCreateOpen:hover,.go-meetup .meetup-card>button:hover:not(:disabled){background:#286047;}
.go-meetup .meetup-card>button:disabled{background:#b8ac93;color:#fff9eb;opacity:1;box-shadow:none;border-color:#a49576;cursor:not-allowed;}
.go-meetup .meetup-room-list{background:#14392eee;border:5px solid #725032;border-radius:12px;outline:1px solid #be9c64;box-shadow:0 5px 14px #0004;min-width:0;}
.go-meetup .meetup-lobby-filters{display:flex;gap:6px;padding:10px 12px 0;}
.go-meetup .meetup-lobby-filters button{background:#533a25;color:#fff2d5;border:1px solid #a88651;border-radius:8px 8px 0 0;min-height:44px;flex:1;padding:8px 10px;}
.go-meetup .meetup-lobby-filters button[aria-pressed="true"]{background:#f5e7ca;color:#173c2c;border-color:#e2c793;}
.go-meetup .meetup-room-name h3{font:700 23px 'Yu Mincho',serif;margin:0 0 6px;line-height:1.4;}
.go-meetup .meetup-room-name p{margin:0;font-size:13px;color:#61543c;}
.go-meetup .meetup-card .meetup-badge{margin:0;background:#dfe3bd;color:#23472e;border:1px solid #b0b27c;border-radius:18px;padding:5px 12px;white-space:nowrap;font-size:13px;}
.go-meetup .meetup-card .meetup-badge.is-locked{background:#e6dcc9;border-color:#b3a48e;color:#574b37;}
.go-meetup .meetup-occupancy{font-size:23px;white-space:nowrap;}
.go-meetup .meetup-occupancy small{font-size:14px;color:#4c4b36;}
.go-meetup .meetup-table-summary{font-size:13px;color:#4e4d38;text-align:center;}
.go-meetup .meetup-table-summary span{display:inline-block;}
.go-meetup .meetup-friends-panel{background:#113b2fee;color:#fff1d4;border:5px solid #725032;outline:1px solid #be9c64;border-radius:12px;min-height:440px;box-shadow:0 5px 14px #0004;padding:22px;}
.go-meetup .meetup-friends-panel h2{font:700 24px 'Yu Mincho',serif;border-bottom:1px solid #a88d56;padding-bottom:18px;}
.go-meetup .meetup-friends-panel h2 span{display:inline-flex;width:36px;height:24px;font-size:0;vertical-align:middle;margin-right:8px;position:relative;}.go-meetup .meetup-friends-panel h2 span::before,.go-meetup .meetup-friends-panel h2 span::after{content:"";position:absolute;width:21px;height:21px;border-radius:50%;box-shadow:0 2px 4px #0007;}.go-meetup .meetup-friends-panel h2 span::before{background:#18201b;left:0;top:0;border:1px solid #47534b;}.go-meetup .meetup-friends-panel h2 span::after{background:#fff4dc;right:0;top:3px;border:1px solid #cebea0;}
.go-meetup .meetup-friend-group h3{font-size:13px;color:#dfd7b2;font-weight:400;margin:22px 0 6px;}
.go-meetup .meetup-friend-group h3 small{color:inherit;}
.go-meetup .meetup-friend{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #c6b78830;padding:17px 0;overflow-wrap:anywhere;}
.go-meetup .meetup-friend .meetup-dot{margin:0;}
.go-meetup .meetup-friend .is-online{background:#7fd357;box-shadow:0 0 7px #91e67255;}
.go-meetup #meetupFriends .meetup-friend small{margin:0;color:#d5d9c3;font-size:11px;}
.go-meetup .meetup-room-list .meetup-empty{color:#f7e9c8;text-align:center;padding:60px 18px;line-height:2;}
.go-meetup .meetup-friends-panel .meetup-empty{color:#d3ddcc;line-height:2;}
.go-meetup .meetup-records-panel{grid-column:1;background:#163e30ed;border:3px solid #806139;outline:1px solid #c5a568;border-radius:10px;color:#fff0d1;padding:16px 22px;}
.go-meetup .meetup-records-panel summary{cursor:pointer;font-family:'Yu Mincho',serif;font-size:20px;}
.go-meetup .meetup-records-panel #meetupRecords{padding-top:16px;display:grid;gap:8px;}
.go-meetup .meetup-records-panel .meetup-empty{color:#ded9bf;}
.go-meetup #meetupLobby button:focus-visible,.go-meetup .meetup-records-panel summary:focus-visible{outline:3px solid #f6ce72;outline-offset:3px;}
@media(max-width:1450px){.go-meetup .meetup-card{grid-template-columns:minmax(120px,1fr) auto auto 110px;gap:12px;padding:18px 14px;}.go-meetup .meetup-table-summary{grid-column:2/4;grid-row:2;text-align:left;}.go-meetup .meetup-card>button{grid-column:4;grid-row:1/3;}.go-meetup .meetup-room-name{grid-row:1/3;}.go-meetup .meetup-room-name h3{font-size:20px;}}
@media(max-width:760px){.go-meetup.meetup-lobby-view .meetup-header{height:104px;padding:6px 14px;gap:6px;}.go-meetup.meetup-lobby-view .meetup-brand{font-size:30px;gap:4px;}.go-meetup.meetup-lobby-view .meetup-brand img{width:70px;height:70px;}.go-meetup.meetup-lobby-view .meetup-brand small{font-size:10px;}.go-meetup.meetup-lobby-view #meetupAccount{max-width:100px;padding:8px;font-size:12px;}.go-meetup.meetup-lobby-view .meetup-shell{padding:0 12px 65px;}.go-meetup #meetupLobby .meetup-intro{padding:14px;gap:14px;}.go-meetup #meetupLobby .meetup-intro>div{width:100%;gap:12px;}.go-meetup #meetupLobby h1{font-size:28px;}.go-meetup #meetupLobby .meetup-intro p{font-size:13px;padding-left:12px;}.go-meetup #meetupCreateOpen{width:100%;font-size:18px;min-height:44px;padding:9px;}.go-meetup .meetup-lobby-grid{grid-template-columns:minmax(0,1fr);gap:16px;}.go-meetup .meetup-lobby-filters{gap:3px;padding:7px 7px 0;}.go-meetup .meetup-lobby-filters button{font-size:11px;padding:7px 4px;}.go-meetup .meetup-cards{padding:7px;}.go-meetup .meetup-card{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 12px;}.go-meetup .meetup-room-name{grid-column:1/-1;grid-row:1;}.go-meetup .meetup-room-name h3{font-size:21px;}.go-meetup .meetup-card .meetup-badge{grid-column:1;grid-row:2;justify-self:start;font-size:12px;}.go-meetup .meetup-occupancy{grid-column:2;grid-row:2;font-size:21px;}.go-meetup .meetup-table-summary{grid-column:1;grid-row:3;font-size:12px;}.go-meetup .meetup-card>button{grid-column:2;grid-row:3;min-height:44px;padding:8px 12px;}.go-meetup .meetup-friends-panel{min-height:0;}.go-meetup .meetup-records-panel{grid-column:1;}.go-meetup .meetup-records-panel summary{font-size:18px;}}
/* Natural lobby: continuous washi, matte wood, restrained moss accents. */
.go-meetup.meetup-lobby-view .meetup-shell{max-width:1445px;width:calc(100% - 64px);padding:56px 0 70px;}
.go-meetup .meetup-lobby-grid{grid-template-columns:minmax(0,3fr) minmax(255px,1fr);gap:20px;align-items:start;}
.go-meetup .meetup-room-list{background:#f3e8ce url('/assets/go-meetup/washi.webp') center/cover;border:10px solid #735338;border-image:url('/assets/go-meetup/green-frame.webp') 36 stretch;border-radius:0;outline:none;box-shadow:0 4px 9px #21180e50;}
.go-meetup #meetupLobby .meetup-intro{border:0;outline:0;border-radius:0;background:none;box-shadow:none;padding:20px 26px;margin:0;min-height:104px;}
.go-meetup #meetupLobby h1{font-size:42px;color:#152b20;}
.go-meetup #meetupLobby .meetup-intro p{color:#3e3628;}
.go-meetup #meetupCreateOpen,.go-meetup .meetup-card>button{background:#304534 url('/assets/go-meetup/green-frame.webp') center/100% 100%;border:0;border-radius:4px;box-shadow:none;font-family:'Yu Mincho',serif;}
.go-meetup #meetupCreateOpen:hover,.go-meetup .meetup-card>button:hover:not(:disabled){background:#304534 url('/assets/go-meetup/green-frame.webp') center/100% 100%;filter:brightness(1.15);}
.go-meetup .meetup-lobby-filters{padding:10px 18px 0;gap:2px;background:#907b5a55;border-bottom:1px solid #9b896c;}
.go-meetup .meetup-lobby-filters button{flex:0 1 23%;background:#efe2c5aa;color:#332d22;border-color:#bca989;border-bottom:0;border-radius:6px 6px 0 0;font:18px 'Yu Mincho',serif;padding:10px 14px;}
.go-meetup .meetup-lobby-filters button[aria-pressed="true"]{background:#3e573c;color:#fffae8;border-color:#728264;}
.go-meetup .meetup-cards{gap:0;padding:0 24px;}
.go-meetup .meetup-card{background:none;border:0;border-bottom:1px solid #b5a58a;border-radius:0;box-shadow:none;padding:23px 4px;gap:18px;color:#29271c;}
.go-meetup .meetup-card:last-child{border-bottom:0;}
.go-meetup .meetup-room-name h3{font-size:30px;font-weight:700;}
.go-meetup .meetup-room-name p{font:16px 'Yu Mincho',serif;}
.go-meetup .meetup-card .meetup-badge{background:#cdd0b3;border:0;padding:7px 15px;font-size:15px;}
.go-meetup .meetup-table-summary{font:16px 'Yu Mincho',serif;}
.go-meetup .meetup-friends-panel{margin-top:44px;background:#233d2d url('/assets/go-meetup/green-frame.webp') center/100% 100%;border:0;outline:0;border-radius:0;padding:34px 30px;min-height:490px;}
.go-meetup .meetup-friends-panel h2{font-size:28px;border:0;padding-bottom:0;}
.go-meetup .meetup-friend-group h3{font:18px 'Yu Mincho',serif;border-bottom:1px solid #ada887;padding-bottom:8px;margin-top:26px;}
.go-meetup .meetup-friend{font:21px 'Yu Mincho',serif;padding:14px 0;}
.go-meetup .meetup-friend .is-online{background:#9ebc7a;box-shadow:none;}
.go-meetup #meetupFriends .meetup-friend small{font-size:14px;}
.go-meetup .meetup-room-list .meetup-empty{color:#514a38;}
.go-meetup .meetup-records-panel{justify-self:start;margin-left:8%;background:#344333 url('/assets/go-meetup/green-frame.webp') center/100% 100%;border:0;outline:none;border-radius:2px;padding:25px 45px;box-shadow:3px 5px 0 #ad9570,4px 8px 0 #57432f;}
@media(max-width:1450px){.go-meetup #meetupLobby .meetup-intro{padding:18px 16px;}.go-meetup #meetupLobby .meetup-intro p{font-size:15px;padding-left:12px;}.go-meetup #meetupLobby .meetup-intro>div{gap:12px;}.go-meetup .meetup-room-name h3{font-size:21px;}.go-meetup .meetup-card{gap:12px;}.go-meetup .meetup-lobby-filters button{flex:1;font-size:15px;}}
@media(max-width:760px){.go-meetup.meetup-lobby-view .meetup-header{height:64px;padding:0 12px;}.go-meetup.meetup-lobby-view .meetup-brand{font-size:22px;}.go-meetup.meetup-lobby-view .meetup-brand img{width:46px;height:46px;}.go-meetup.meetup-lobby-view .meetup-shell{width:calc(100% - 24px);padding:24px 0 50px;}.go-meetup .meetup-lobby-grid{grid-template-columns:minmax(0,1fr);}.go-meetup #meetupLobby h1{font-size:30px;}.go-meetup #meetupLobby .meetup-intro{flex-wrap:wrap;}.go-meetup .meetup-lobby-filters{padding:7px 5px 0;}.go-meetup .meetup-lobby-filters button{font-size:12px;padding:8px 4px;}.go-meetup .meetup-cards{padding:0 14px;}.go-meetup .meetup-card{padding:18px 0;}.go-meetup .meetup-friends-panel{margin-top:0;min-height:0;}.go-meetup .meetup-records-panel{margin-left:0;padding:24px;}}
@media(min-width:1451px){.go-meetup .meetup-card{grid-template-columns:minmax(180px,1.4fr) 135px 90px minmax(160px,1fr) 165px;gap:16px;padding:22px 4px;}.go-meetup .meetup-card>button{font-size:23px;font-weight:500;}.go-meetup .meetup-card .meetup-badge{text-align:center;font-size:17px;}.go-meetup .meetup-table-summary{font-size:19px;}.go-meetup .meetup-occupancy{font-size:26px;}.go-meetup #meetupLobby .meetup-intro p{font-size:23px;}.go-meetup #meetupCreateOpen{font-size:26px;}.go-meetup #meetupLobby h1{font-size:50px;}}
/* Room workspace: quiet washi, compact seating and a board-first layout. */
.go-meetup:not(.meetup-lobby-view){background:#f5f2e9;color:#26372b;}
.go-meetup:not(.meetup-lobby-view) .meetup-shell{max-width:1600px;padding:16px 32px 28px;}
.go-meetup:not(.meetup-lobby-view) #meetupStatus{font-size:12px;min-height:0;margin:0 0 6px;color:#63745f;}
.go-meetup #meetupStatus:empty{display:none;}
.go-meetup .meetup-room-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 18px;}
.go-meetup:not(.meetup-lobby-view) .meetup-room-title-row h1,.go-meetup .meetup-room-title-row #meetupRoomMeta{margin:0;}
.go-meetup:not(.meetup-lobby-view) .meetup-room-heading{padding:0 0 18px;}
.go-meetup:not(.meetup-lobby-view) .meetup-eyebrow{display:none;}
.go-meetup:not(.meetup-lobby-view) .meetup-room-heading h1{font:700 30px 'Yu Mincho',serif;margin-bottom:6px;}
.go-meetup:not(.meetup-lobby-view) .meetup-header{font-family:'Yu Mincho',serif;}
.go-meetup .meetup-room-grid{grid-template-columns:220px minmax(0,1fr) 290px;gap:16px;grid-template-rows:auto 1fr;align-items:stretch;}
.go-meetup .meetup-tables,.go-meetup .meetup-board-panel,.go-meetup .meetup-members-section,.go-meetup .meetup-chat-section{background:#fcfaf3 url('/assets/go-meetup/washi.webp') center/900px;border:1px solid #c8bda5;border-radius:5px;}
.go-meetup .meetup-tables{padding:20px;}
.go-meetup .meetup-tables h2,.go-meetup .meetup-members-section h2,.go-meetup .meetup-chat-section h2{font:700 21px 'Yu Mincho',serif;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid #d3c9b3;}
.go-meetup .meetup-table{min-height:78px;padding:15px 12px;border-color:#d5cbb4;border-radius:4px;background:#fffdf64d;}
.go-meetup .meetup-table strong{font-size:17px;}
.go-meetup .meetup-table small{margin-top:8px;font-size:14px;}
.go-meetup .meetup-table.is-selected{background:#dce6d4;border-color:#78916b;}
.go-meetup .meetup-tables>button{margin-top:14px;}
.go-meetup .meetup-board-panel{border:3px solid #86704b;box-shadow:0 2px 5px #40311920;padding:20px 22px 12px;}
.go-meetup #meetupTableHeading{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #d3c9b3;}
.go-meetup #meetupTableHeading h2{font:700 23px 'Yu Mincho',serif;}
.go-meetup .meetup-seat-row{display:flex;align-items:stretch;gap:12px;}
.go-meetup .meetup-seat{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:1px solid #d9ceba;border-radius:4px;padding:12px;background:#fffdf54d;overflow-wrap:anywhere;}
.go-meetup .meetup-seat strong{margin-right:9px;}
.go-meetup .meetup-seat small{display:block;margin-top:3px;}
.go-meetup .meetup-seat-stone{width:25px;height:25px;flex:none;border-radius:50%;background:#292e28;border:1px solid #111;box-shadow:1px 2px 3px #0002;}
.go-meetup .meetup-seat-stone.is-white{background:#fefdf5;border-color:#b7b6ab;}
.go-meetup .meetup-seat-stone.is-random{background:linear-gradient(90deg,#292e28 50%,#fefdf5 50%);border-color:#858d7b;}
.go-meetup .meetup-seat-actions{display:flex;flex-direction:column;justify-content:center;gap:4px;}.go-meetup .meetup-seat-actions button{min-height:32px;padding:5px 10px;}
.go-meetup .meetup-condition-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-bottom:10px;border-bottom:1px solid #d3c9b3;font-size:14px;}
.go-meetup .meetup-condition-summary button{flex:none;padding:6px 12px;min-height:36px;}
.go-meetup .meetup-board{width:min(100%,max(300px,calc(100dvh - 480px)));max-width:650px;margin:12px auto;filter:drop-shadow(0 2px 3px #4b341f30);}
.go-meetup .meetup-ready-note{width:100%;text-align:center;color:#74755f;font-size:13px;border-top:1px solid #d3c9b3;padding-top:10px;margin:0;}
.go-meetup .meetup-voice{padding:22px;background:#2e4533 url('/assets/go-meetup/green-frame.webp') center/100% 100%;border:0;border-radius:4px;color:#faf4dc;}
.go-meetup .meetup-voice>.meetup-actions{align-items:stretch;flex-direction:column;gap:18px;}
.go-meetup .meetup-voice strong{font:700 21px 'Yu Mincho',serif;}
.go-meetup .meetup-voice button{color:#263c2f;background:#f5f1e6;border-color:#c5c6af;}
.go-meetup .meetup-people{padding:0;border:0;background:none;display:flex;flex-direction:column;gap:16px;}
.go-meetup .meetup-members-section,.go-meetup .meetup-chat-section{padding:20px;}
.go-meetup .meetup-chat-section{flex:1;display:flex;flex-direction:column;min-height:300px;}
.go-meetup #meetupMembers p{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:16px;overflow-wrap:anywhere;}
.go-meetup #meetupMembers small{margin-left:auto;}
.go-meetup .meetup-messages{flex:1;height:180px;max-height:360px;margin:0 0 16px;}
.go-meetup #meetupChatForm label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.go-meetup #meetupChatForm button{background:#354e39;color:#fff8df;}
.go-meetup #meetupSettingsDialog{background:#fbf7ea url('/assets/go-meetup/washi.webp') center/cover;}
@media(max-width:1200px) and (min-width:761px){.go-meetup .meetup-room-grid{grid-template-columns:170px minmax(0,1fr) 230px;gap:12px;}.go-meetup .meetup-board-panel{padding:16px 12px;}.go-meetup .meetup-seat-row{flex-wrap:wrap;gap:8px;}.go-meetup .meetup-seat-actions{flex-direction:row;width:100%;}.go-meetup .meetup-condition-summary{flex-wrap:wrap;}.go-meetup .meetup-tables,.go-meetup .meetup-members-section,.go-meetup .meetup-chat-section{padding:14px;}}
@media(max-width:760px){.go-meetup:not(.meetup-lobby-view) .meetup-shell{padding:12px 10px 150px;}.go-meetup:not(.meetup-lobby-view) .meetup-room-heading h1{font-size:24px;}.go-meetup .meetup-room-grid{display:block;}.go-meetup .meetup-board-panel{padding:12px 10px;border-width:2px;}.go-meetup .meetup-board{width:100%;}.go-meetup .meetup-seat-row{flex-wrap:wrap;gap:8px;}.go-meetup .meetup-seat{padding:10px;font-size:13px;}.go-meetup .meetup-seat-stone{width:20px;height:20px;}.go-meetup .meetup-seat-actions{width:100%;flex-direction:row;}.go-meetup .meetup-condition-summary{flex-wrap:wrap;font-size:12px;gap:6px;}.go-meetup .meetup-condition-summary button{margin-left:auto;}.go-meetup .meetup-voice{padding:12px 18px;}.go-meetup .meetup-voice>.meetup-actions{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;}.go-meetup .meetup-voice strong{font-size:15px;}.go-meetup .meetup-chat-section{min-height:350px;}}
.go-meetup:not(.meetup-lobby-view) .meetup-room-heading{padding-bottom:12px;}
.go-meetup:not(.meetup-lobby-view) .meetup-room-heading h1{line-height:1.25;}
.go-meetup #meetupTableHeading h2{line-height:1.3;}
.go-meetup #meetupTableHeading{padding-bottom:10px;margin-bottom:12px;}
.go-meetup .meetup-condition-summary{margin-top:8px;padding-bottom:8px;}
.go-meetup .meetup-board-panel,.go-meetup .meetup-tables,.go-meetup .meetup-members-section,.go-meetup .meetup-chat-section{background-image:linear-gradient(#fffdf4b3,#fffdf4b3),url('/assets/go-meetup/washi.webp');}

/* Invite destinations match the board share dialog. */
.go-meetup .meetup-social-label{margin:20px 0 8px;}
.go-meetup .meetup-social-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px;}
.go-meetup .meetup-social-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:76px;border:1px solid #93a391;border-radius:8px;background:#fffdf5;color:#183e32;text-decoration:none;font:12px Arial,sans-serif;cursor:pointer;}
.go-meetup .meetup-social-actions a:hover{background:#e9efdf;}
.go-meetup .meetup-social-actions a:focus-visible{outline:3px solid #397c61;outline-offset:2px;}
.go-meetup .meetup-social-actions svg{width:28px;height:28px;}
.go-meetup #meetupInvitex svg{fill:none;stroke:currentColor;stroke-width:1.8;}
.go-meetup #meetupInviteFallback{width:100%;margin-bottom:16px;}
@media(max-width:480px){.go-meetup .meetup-social-actions{gap:5px;}.go-meetup .meetup-social-actions a{font-size:10px;min-height:70px;}}

.go-meetup .meetup-active-room{position:fixed;z-index:40;bottom:16px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 32px));box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid #9aab90;border-radius:10px;background:#183e32;color:#fff7dc;box-shadow:0 4px 18px #0003;}
.go-meetup .meetup-active-room[hidden]{display:none;}
.go-meetup .meetup-active-room>div:first-child{min-width:0;}
.go-meetup .meetup-active-room small,.go-meetup .meetup-active-room strong{display:block;overflow-wrap:anywhere;}
.go-meetup .meetup-active-room small{font-size:12px;color:#d5dfc9;margin-bottom:4px;}
.go-meetup .meetup-active-room .meetup-actions{flex-shrink:0;}
.go-meetup.meetup-has-active-room .meetup-shell{padding-bottom:150px;}
@media(max-width:600px){.go-meetup .meetup-active-room{bottom:10px;padding:12px;gap:10px;flex-wrap:wrap;}.go-meetup .meetup-active-room .meetup-actions{margin:0;width:100%;display:flex;flex-direction:row;}.go-meetup .meetup-active-room button{flex:1;}}

.go-meetup #meetupActiveLeave{background:#fffdf3;color:#244737;border:1px solid #adbaa2;}

/* Compact voice controls, scoped to the meetup room. */
.go-meetup .meetup-voice{background:transparent;border:0;box-shadow:none;padding:8px 0;color:#244438;}
.go-meetup #meetupVoiceHost:not([hidden]){display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 12px;}
.go-meetup .community-voice-compact{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:2px 8px;background:#fffdf5;border:1px solid #a2b4a6;border-radius:7px;color:#244438;}
.go-meetup .community-voice-compact-mic{position:relative;display:flex;align-items:center;gap:6px;padding:4px 2px;border:0;background:transparent;font-size:12px;font-weight:700;white-space:nowrap;}
.go-meetup .community-voice-mic-slash{position:absolute;width:22px;height:2px;left:1px;top:50%;background:currentColor;transform:rotate(48deg);}
.go-meetup .community-voice-level{display:inline-flex;align-items:flex-end;gap:2px;padding:0 0 0 8px;border-left:1px solid #cbd4c9;height:20px;}
.go-meetup .community-voice-level i{display:block;width:4px;background:#ccd5cc;border-radius:1px;}
.go-meetup .community-voice-level .community-voice-dot{width:6px;height:6px;border-radius:50%;align-self:center;margin-right:4px;background:#93a492;}
.go-meetup .community-voice-level .is-active{background:#368357;}
.go-meetup .meetup-voice details.community-voice-details{display:block;flex:1;min-width:80px;font-size:12px;}
.go-meetup .community-voice-details>summary{cursor:pointer;padding:10px 0;white-space:nowrap;}
.go-meetup .meetup-voice details.community-voice-details[open]{flex:0 0 100%;width:100%;}
.go-meetup .community-voice-detail-content{background:#fffdf4;border:1px solid #bcc7b2;border-radius:8px;padding:12px;color:#244438;}
.go-meetup .community-voice-detail-content strong{font:700 14px sans-serif;}
.go-meetup .community-voice-detail-content details,.go-meetup .community-voice-detail-content .community-voice-hint,.go-meetup .community-voice-detail-content .community-voice-bar-heading>div:first-child strong{display:block;}
.go-meetup .community-voice-compact-warning{width:100%;font-size:12px;margin:0;color:#8d3027;}
@media(max-width:760px){.go-meetup .meetup-voice{background:#f7f5eb;padding:8px 12px;max-height:45dvh;}}

/* Voice and participants match the approved paper-panel design. */
.go-meetup .meetup-voice,.go-meetup .meetup-members-section,.go-meetup .meetup-chat-section{border:1px solid #92946e;border-radius:9px;background:linear-gradient(#faf7eecc,#faf7eecc),url('/assets/go-meetup/washi.webp') center/1100px;box-shadow:none;color:#173e30;}
.go-meetup .meetup-voice{display:flex;flex-direction:column;padding:12px 14px;gap:10px;}
.go-meetup #meetupVoiceHost{order:0;}
.go-meetup #meetupVoiceHost:not([hidden]){align-items:center;gap:8px;}
.go-meetup .community-voice-compact{flex:1;gap:10px;border:0;padding:0;background:none;min-width:0;}
.go-meetup .community-voice-compact-mic{border:1px solid #a2a398;border-radius:7px;padding:8px 9px;gap:7px;font-size:14px;min-height:39px;background:#fbf9f2;}
.go-meetup .community-voice-compact-mic svg{width:21px;height:21px;}
.go-meetup .community-voice-compact-mic[aria-pressed="true"]{background:#a6df91;border-color:#4d883d;color:#163a20;}
.go-meetup .community-voice-compact-mic[aria-pressed="true"]:hover{background:#94d77d;}
.go-meetup .community-voice-mic-slash{left:8px;width:25px;}
.go-meetup .community-voice-level{border:0;padding:0;gap:3px;height:25px;}
.go-meetup .community-voice-level i{width:6px;border-radius:3px;background:#c3c1b9;}
.go-meetup .community-voice-level .community-voice-dot{display:none;}
.go-meetup .community-voice-level i:nth-child(2){height:8px!important;}
.go-meetup .community-voice-level i:nth-child(3){height:12px!important;}
.go-meetup .community-voice-level i:nth-child(4){height:16px!important;}
.go-meetup .community-voice-level i:nth-child(5){height:20px!important;}
.go-meetup .community-voice-level i:nth-child(6){height:25px!important;}
.go-meetup .community-voice-level .is-active{background:#487a3e;}
.go-meetup .meetup-voice details.community-voice-details{flex:0 0 auto;min-width:0;font-size:13px;}
.go-meetup .community-voice-details>summary{list-style:none;font-weight:700;padding:8px 0;}
.go-meetup .community-voice-details>summary::-webkit-details-marker{display:none;}
.go-meetup .community-voice-details>summary::after{content:'›';display:inline-block;margin-left:9px;font-size:22px;vertical-align:-1px;}
.go-meetup .meetup-voice details.community-voice-details[open]{flex:0 0 100%;width:100%;}
.go-meetup .community-voice-details[open]>summary::after{transform:rotate(90deg);}
.go-meetup .meetup-voice-status{order:1;display:flex;align-items:center;gap:12px;margin:0;padding-top:10px;border-top:1px solid #d1cdbd;font:12px/1.5 sans-serif;color:#686a63;}
.go-meetup .meetup-voice-status strong{font:700 13px/1.5 sans-serif;color:#173e30;white-space:nowrap;}
.go-meetup .meetup-voice-status strong::before{content:'';display:inline-block;width:9px;height:9px;background:#aaa;border-radius:50%;margin-right:8px;}
.go-meetup .meetup-voice-status strong.is-connected::before{background:#77a659;}
.go-meetup .meetup-voice-status>span{border-left:1px solid #bbb9ac;padding-left:12px;}
.go-meetup .meetup-members-section,.go-meetup .meetup-chat-section{padding:0;overflow:hidden;}
.go-meetup .meetup-members-section h2,.go-meetup .meetup-chat-section h2{font:700 20px/1.4 sans-serif;padding:14px 16px;margin:0;border-bottom:1px solid #d1cdbd;}
.go-meetup .meetup-members-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.go-meetup .meetup-members-heading small{font:15px sans-serif;color:#244438;}
.go-meetup #meetupMembers{max-height:min(360px,50dvh);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;}
.go-meetup #meetupMembers:focus-visible{outline:2px solid #627d63;outline-offset:-2px;}
.go-meetup .meetup-member{display:grid;grid-template-columns:10px minmax(0,1fr) 102px;align-items:center;gap:12px;padding:18px 16px;min-height:78px;border-bottom:1px solid #d1cdbd;}
.go-meetup .meetup-member:last-child{border-bottom:0;}
.go-meetup .meetup-member-presence{width:9px;height:9px;border-radius:50%;background:#b7b9b0;}
.go-meetup .meetup-member-presence.is-online{background:#7eaa5c;}
.go-meetup .meetup-member-name{min-width:0;overflow-wrap:anywhere;font:700 17px/1.4 sans-serif;color:#191f1a;}
.go-meetup .meetup-member-name small{display:block;font:12px/1.5 sans-serif;color:#6a6c65;margin-top:4px;}
.go-meetup .meetup-member-name small:empty{display:none;}
.go-meetup .meetup-member-audio{display:grid;grid-template-columns:50px 42px;align-items:center;justify-items:center;gap:3px 10px;color:#6b6c65;}
.go-meetup .meetup-member-audio svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.go-meetup .meetup-member-audio small{grid-column:1;grid-row:2;text-align:center;font:11px sans-serif;white-space:nowrap;}
.go-meetup .meetup-member-meter{grid-column:2;grid-row:1/3;display:flex;align-items:flex-end;gap:3px;height:27px;}
.go-meetup .meetup-member-meter i{width:6px;height:9px;background:#c5c3bc;border-radius:3px;}
.go-meetup .meetup-member-meter i:nth-child(2){height:13px;}.go-meetup .meetup-member-meter i:nth-child(3){height:17px;}.go-meetup .meetup-member-meter i:nth-child(4){height:22px;}.go-meetup .meetup-member-meter i:nth-child(5){height:27px;}
.go-meetup .meetup-member.is-speaking{background:#e7ebdccc;}
.go-meetup .is-speaking .meetup-member-audio{color:#386d2d;}
.go-meetup .is-speaking .meetup-member-meter i{background:#386d2d;}
.go-meetup .is-speaking .meetup-member-meter i:last-child{background:#b9c6a8;}
.go-meetup .meetup-chat-section{min-height:220px;}
.go-meetup .meetup-messages{padding:0 16px;height:auto;min-height:90px;max-height:300px;flex:1;}
.go-meetup #meetupMessages article{display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;align-items:baseline;padding:12px 0;border-bottom:1px solid #d1cdbd;font-size:13px;}
.go-meetup #meetupMessages article strong{grid-column:1;grid-row:1;color:#245234;}
.go-meetup #meetupMessages article p{grid-column:2;grid-row:1;margin:0;}
.go-meetup #meetupMessages article time{grid-column:3;grid-row:1;color:#75766e;font-size:11px;}
.go-meetup #meetupChatForm{margin-top:auto;flex-shrink:0;padding:12px 16px 16px;}
.go-meetup #meetupChatForm>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.go-meetup #meetupChatForm .meetup-actions{flex-wrap:nowrap;gap:8px;}
.go-meetup #meetupChatText{min-width:0;flex:1;border:1px solid #aaa99c;border-radius:6px;background:#fffdf7;font-size:14px;height:39px;}
.go-meetup #meetupChatForm button{background:#627d63;color:#fffdf5;border:1px solid #345b3e;border-radius:6px;font-size:14px;padding:8px 13px;}
@media(min-width:1201px){.go-meetup .meetup-room-grid{grid-template-columns:190px minmax(0,1fr) 350px;}}
@media(min-width:761px) and (max-width:1200px){.go-meetup .meetup-room-grid{grid-template-columns:150px minmax(0,1fr) 320px;}}
@media(max-width:760px){.go-meetup .meetup-voice{padding:10px 14px;max-height:45dvh;}.go-meetup .meetup-member-name{font-size:16px;}}
/* Four fixed pair-Go seats, preserving the two-player layout. */
.go-meetup .meetup-seat-row.meetup-pair-seat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.go-meetup .meetup-seat-row.meetup-pair-seat-row .meetup-seat{min-width:0;overflow-wrap:anywhere;align-items:flex-start;}
.go-meetup .meetup-seat-row.meetup-pair-seat-row .meetup-seat-actions{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;}
.go-meetup .meetup-seat-row.meetup-pair-seat-row .meetup-seat button{display:block;margin-top:7px;font-size:12px;padding:5px 10px;}

/* 囲碁会の音声デバイス設定 */
.meetup-audio-settings { display: grid; gap: 12px; padding-top: 12px; }
.meetup-audio-settings label { display: grid; gap: 6px; font-weight: 600; }
.meetup-audio-settings select { width: 100%; min-width: 0; }
.meetup-audio-settings input[type="range"] { width: 100%; margin: 0; }
.meetup-audio-settings output { font-size: .85em; font-weight: normal; }
.meetup-audio-settings p { margin: 0; font-size: .85em; line-height: 1.6; }
.meetup-audio-settings p:empty { display: none; }
.meetup-audio-tests { display: grid; grid-template-columns: 1fr; gap: 8px; }
.meetup-audio-tests meter { width: 100%; height: 18px; }
.meetup-audio-settings details { border-top: 1px solid #c4c4af; padding-top: 10px; }
.meetup-audio-settings details button { margin-top: 10px; }

/* 検討盤と共通の盤面・石画像 */
.go-meetup .meetup-board { background:linear-gradient(100deg,#deb77c40,#9a612610,#f5d59830),repeating-linear-gradient(90deg,#d8aa69 0%,#e1b777 .5%,#d5a668 .833333%,#ddb176 2%,#d9af71 4.166667%); border-radius:0; }
.go-meetup .meetup-board svg { display:block; width:100%; height:auto; }
.go-meetup #goSalonAnnouncerToggle { margin:0 8px 12px 0; }
.go-meetup #goSalonAnnouncerToggle::after { content:' ON';font-weight:700; }
.go-meetup #goSalonAnnouncerToggle[aria-checked="false"]::after { content:' OFF'; }
.go-meetup .meetup-announcer-credit { font-size:11px; }

.go-meetup .meetup-board-viewport { overflow:hidden;touch-action:pan-y;position:relative; }
.go-meetup .meetup-board { transform-origin:0 0; }
.go-meetup .meetup-score { padding:12px;border:1px solid #aaa78c;border-radius:6px; }

/* Shared board preferences in the meetup room. */
.go-meetup #meetupBoardPrefsOpen{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:9px;flex-shrink:0;}
.go-meetup .meetup-settings-icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.go-meetup .meetup-board-settings{width:min(520px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:22px;box-sizing:border-box;}
.go-meetup .meetup-board-settings header,.go-meetup .meetup-board-settings footer{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.go-meetup .meetup-board-settings h2{margin:0;}.go-meetup .meetup-board-settings p,.go-meetup .meetup-board-settings small,.go-meetup #meetupBoardPrefsStatus{font-size:13px;}
.go-meetup .meetup-board-settings fieldset{border:1px solid #a6ae96;border-radius:8px;margin:18px 0;padding:14px;}
.go-meetup .meetup-board-settings legend{padding:0 6px;font-weight:bold;}.go-meetup .meetup-settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.go-meetup .meetup-board-settings label{display:block;margin:8px 0;}.go-meetup .meetup-board-settings select{width:100%;margin-top:6px;}.go-meetup .meetup-board-settings .meetup-settings-check{display:flex;align-items:center;gap:10px;}.go-meetup .meetup-settings-check input{width:18px;height:18px;margin:0;accent-color:#257656;}.go-meetup .meetup-board-settings input[type=range]{width:100%;}.go-meetup .meetup-board-settings footer{flex-wrap:wrap;}

/* Keep the preparation title and its settings together in one header row. */
.go-meetup #meetupTableHeading:has(.meetup-condition-summary){display:flex;align-items:center;gap:16px;}
.go-meetup #meetupTableHeading:has(.meetup-condition-summary) h2{flex:none;margin:0;font-size:clamp(16px,1.4vw,23px);}
.go-meetup #meetupTableHeading .meetup-condition-summary{flex:1;min-width:0;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:10px;margin:0;padding:0;border:0;}
.go-meetup #meetupTableHeading .meetup-condition-summary span{min-width:0;}
.go-meetup #meetupTableHeading .meetup-condition-summary button{margin:0;white-space:nowrap;}
@media(max-width:760px){.go-meetup #meetupTableHeading:has(.meetup-condition-summary){gap:8px;}.go-meetup #meetupTableHeading .meetup-condition-summary{gap:6px;}.go-meetup #meetupTableHeading .meetup-condition-summary button{padding:6px;font-size:12px;}}

/* Shared review: navigation below the board, editing alongside it. */
.go-meetup .meetup-review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);grid-template-rows:auto auto auto 1fr;gap:10px 18px;align-items:start;}
.go-meetup .meetup-review-layout #meetupTableHeading,.go-meetup .meetup-review-layout #meetupSetup{grid-column:1 / -1;}
.go-meetup .meetup-review-layout #meetupSetup:empty{display:none;}
.go-meetup .meetup-review-layout .meetup-board-viewport{grid-column:1;grid-row:3;min-width:0;}
.go-meetup .meetup-review-layout .meetup-board{width:100%;max-width:650px;margin:0 auto;}
.go-meetup .meetup-review-layout #meetupBoardControls{grid-column:1;grid-row:4;display:flex;flex-wrap:nowrap;gap:6px;margin:0;}
.go-meetup .meetup-review-layout #meetupBoardControls button{flex:1;min-width:0;padding:10px 4px;}
.go-meetup .meetup-review-layout #meetupReviewControls{grid-column:2;grid-row:3 / 5;min-width:0;border-left:1px solid #c8bda5;padding-left:16px;}
.go-meetup .meetup-review-layout #meetupReviewControls label:not(.meetup-inline){display:block;width:100%;}
.go-meetup .meetup-review-layout #meetupReviewControls select,.go-meetup .meetup-review-layout #meetupReviewControls textarea{width:100%;box-sizing:border-box;}
.go-meetup .meetup-review-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.go-meetup .meetup-review-actions button{flex:1 1 auto;}
@media(max-width:1200px){
 .go-meetup .meetup-review-layout{grid-template-columns:minmax(0,1fr);}
 .go-meetup .meetup-review-layout #meetupReviewControls{grid-column:1;grid-row:5;border-left:0;border-top:1px solid #c8bda5;padding:14px 0 0;}
}

/* Shared kifu review controls reuse the meetup paper/green theme. */
.go-meetup .meetup-review-layout #meetupBoardControls:has(.meetup-review-nav){display:flex;flex-wrap:wrap;align-content:start;justify-content:center;}
.go-meetup .meetup-review-nav{display:flex;width:100%;gap:5px;align-items:center;}
.go-meetup .meetup-review-nav label{margin:0;}
.go-meetup #meetupSeek{width:100%;accent-color:#386249;}
.go-meetup .meetup-mode-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
.go-meetup .meetup-mode-buttons button{padding:5px;min-height:38px;display:grid;place-items:center;font-size:18px;}
.go-meetup .meetup-mode-buttons button[aria-pressed=true],.go-meetup .meetup-tree-node[aria-current=true]{background:#d6e4d4;border-color:#386249;box-shadow:inset 0 0 0 1px #386249;}
.go-meetup .meetup-tool-stone{display:block;width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#666,#111 70%);box-shadow:0 1px 2px #0005;}
.go-meetup .meetup-tool-stone.is-white{background:radial-gradient(circle at 35% 25%,#fff,#ddd);border:1px solid #aaa;}
.go-meetup .meetup-tree{overflow:auto;max-height:230px;border:1px solid #c8bda5;background:#fffaf0;border-radius:5px;}
.go-meetup .meetup-tree-grid{display:grid;gap:8px;padding:8px;width:max-content;}
.go-meetup .meetup-tree-node{min-width:0;max-width:64px;padding:6px 2px;font-size:12px;}
.go-meetup .meetup-record-index{max-height:240px;overflow:auto;overflow-wrap:anywhere;}
.go-meetup #meetupReviewControls section{padding:8px 0;border-bottom:1px solid #d9cfba;}
.go-meetup #meetupReviewControls h3{margin:0 0 8px;font-size:14px;}
.go-meetup #meetupReviewControls details{margin:10px 0;}
.go-meetup #meetupReviewControls input:not([type=checkbox]){max-width:100%;box-sizing:border-box;}
.go-meetup .meetup-review-sharing{font-size:12px;}
.go-meetup .meetup-review-analysis small{display:block;line-height:1.5;}
.go-meetup #meetupAnalysisResult{font-size:12px;}
.go-meetup #meetupAnalysisResult ol{padding-left:24px;max-height:180px;overflow:auto;}
@media(max-width:1000px){.go-meetup .meetup-review-layout{grid-template-columns:minmax(0,1fr);}.go-meetup .meetup-review-layout #meetupReviewControls{grid-column:1;grid-row:5;border-left:0;border-top:1px solid #c8bda5;padding:14px 0 0;}}

.go-meetup .meetup-winrate-labels{display:flex;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums;}
.go-meetup .meetup-winrate-bar{height:12px;border:1px solid #a59a83;border-radius:4px;overflow:hidden;background:#fffdf7;margin-top:5px;}
.go-meetup .meetup-winrate-bar i{height:100%;display:block;background:#333;transition:width .2s;}
.go-meetup .meetup-score-lead{text-align:center;margin:8px 0;font-variant-numeric:tabular-nums;}
.go-meetup .meetup-candidate-table{max-height:220px;overflow:auto;}
.go-meetup .meetup-candidate-table table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums;}
.go-meetup .meetup-candidate-table th,.go-meetup .meetup-candidate-table td{padding:6px 3px;text-align:center;border-bottom:1px solid #ded6c5;white-space:nowrap;}
.go-meetup .meetup-candidate-table th{position:sticky;top:0;background:#eee8da;font-weight:500;}
.go-meetup .meetup-candidate-table tr:first-child td{background:#e3eddf;}
.go-meetup .meetup-candidate-table td:first-child b{display:inline-grid;place-items:center;border-radius:50%;background:#d5e5ce;width:21px;height:21px;color:#254a33;}
/* Give the shared board room before placing voice and participants underneath. */
@media(min-width:761px) and (max-width:1700px){
 .go-meetup .meetup-room-grid:has(.meetup-review-layout){grid-template-columns:160px minmax(0,1fr) 320px;grid-template-areas:"tables board board" "tables voice people";grid-template-rows:auto auto;align-items:start;}
 .go-meetup .meetup-review-layout{grid-template-columns:minmax(0,1fr) 280px;}
 .go-meetup .meetup-review-layout #meetupReviewControls{grid-column:2;grid-row:3 / 5;border-top:0;border-left:1px solid #c8bda5;padding:0 0 0 16px;}
}
@media(min-width:761px) and (max-width:1000px){
 .go-meetup .meetup-room-grid:has(.meetup-review-layout){grid-template-columns:130px minmax(0,1fr);grid-template-areas:"tables board" "voice people";}
 .go-meetup .meetup-review-layout{grid-template-columns:minmax(0,1fr);}
 .go-meetup .meetup-review-layout #meetupReviewControls{grid-column:1;grid-row:5;border-left:0;border-top:1px solid #c8bda5;padding:14px 0 0;}
}
.go-meetup #meetupPlaySeconds{width:62px;max-width:62px;padding:8px 2px;}
/* Shared review: align the controls with the Kifu Link board. */
.go-meetup .meetup-review-layout #meetupReviewControls{border:0;padding-left:0;}
.go-meetup #meetupReviewControls .meetup-review-analysis,.go-meetup #meetupReviewControls .meetup-review-tools{border:1px solid #b4c4a8;border-radius:10px;background:#fbfaf2;padding:14px;margin-bottom:10px;box-shadow:inset 0 0 0 3px #f3f4e9;}
.go-meetup #meetupReviewControls h3{font-family:serif;color:#173e30;font-size:21px;font-weight:600;margin:0 0 10px;}
.go-meetup .meetup-review-analysis{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;}
.go-meetup .meetup-review-analysis h3{grid-column:1 / -1;margin:0!important;}
.go-meetup .meetup-review-analysis .meetup-analysis-actions{grid-column:2;grid-row:2;display:flex;gap:4px;}
.go-meetup .meetup-review-analysis .meetup-inline{grid-column:1;grid-row:2;display:flex;align-items:center;gap:6px;}
.go-meetup .meetup-review-analysis .meetup-visibility{grid-column:2;grid-row:3;justify-content:flex-end;}
.go-meetup .meetup-review-analysis small,.go-meetup .meetup-review-analysis #meetupAnalysisResult{grid-column:1 / -1;}
.go-meetup .meetup-review-analysis input[type=checkbox]{accent-color:#28765a;width:17px;height:17px;}
.go-meetup .meetup-analysis-actions button:first-child{background:#e7eee2;border-color:#a9bda0;color:#173f30;font-weight:700;}
.go-meetup #meetupAnalysisResult>p:first-child{background:#e8f0e4;border-radius:4px;padding:7px;color:#365949;}
.go-meetup .meetup-candidate-table{border:1px solid #c5d1bb;border-radius:6px;background:#fffef8;padding:4px;}
.go-meetup .meetup-candidate-table th{background:#f1f5eb;}
.go-meetup .meetup-candidate-table td:first-child b{background:#e4d092;border:1px solid #859d72;}
.go-meetup .meetup-mode-buttons{display:flex;flex-wrap:wrap;gap:4px;}
.go-meetup .meetup-mode-buttons button{flex:1 1 35px;max-width:46px;min-width:33px;min-height:39px;background:#f4f8f0;border-color:#a9bda0;color:#174b39;}
.go-meetup .meetup-tree{background:#edf3e7;min-height:160px;max-height:220px;}
.go-meetup .meetup-tree-grid{gap:0;padding:20px 8px;align-items:center;}
.go-meetup .meetup-tree-node{justify-self:center;width:38px;height:38px;border-radius:50%;padding:0;font-weight:700;box-shadow:0 2px 4px #0004;}
.go-meetup .meetup-tree-node.is-black{background:linear-gradient(#555,#101413);color:white;border:1px solid #111;}
.go-meetup .meetup-tree-node.is-white{background:linear-gradient(#fff,#e9e9e4);color:#23372c;border:1px solid #aaa;}
.go-meetup .meetup-tree-node[aria-current=true]{outline:3px solid #35b77a;outline-offset:3px;}
.go-meetup .meetup-review-layout #meetupBoardControls{column-gap:6px;}
.go-meetup .meetup-review-nav button{font-size:18px;color:#285b48;}
.go-meetup #meetupReviewControls textarea{border:1px solid #bfa46e;border-radius:7px;padding:10px;background:#fffef8;}
@media(max-width:1000px){.go-meetup .meetup-review-layout #meetupReviewControls{padding:14px 0 0;border:0;}}

.go-meetup .meetup-tree-node.is-root{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(min-width:1101px) and (max-width:1700px){.go-meetup .meetup-review-layout{grid-template-columns:minmax(0,1fr) 350px;}}
.go-meetup .meetup-mode-buttons button{flex:1 1 29px;min-width:29px;padding:3px;font-size:16px;}
.go-meetup .meetup-mode-buttons button[data-review-tool=LB]{font-size:12px;}
/* The review sidebar scrolls independently when it sits beside the board. */
@media(min-width:1001px){
 .go-meetup .meetup-review-layout #meetupReviewControls{max-height:calc(100dvh - 125px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;align-self:start;}
}
/* Match the mobile Kifu Link toolbar: stone modes in the heading, marks below. */
.go-meetup #meetupReviewControls .meetup-review-tools{display:grid;grid-template-columns:repeat(6,minmax(0,42px));gap:5px;align-items:center;}
.go-meetup #meetupReviewControls .meetup-review-tools h3{grid-column:1 / 4;margin:0;white-space:nowrap;}
.go-meetup .meetup-review-tools .meetup-mode-buttons{display:contents;}
.go-meetup .meetup-review-tools .meetup-mode-buttons button{width:100%;min-width:0;max-width:none;height:40px;min-height:40px;padding:3px;}
.go-meetup .meetup-review-tools .meetup-mode-buttons button:nth-child(4){grid-column:1;}
.go-meetup .meetup-review-tools > label,.go-meetup .meetup-review-tools > .meetup-actions{grid-column:1 / -1;}
.go-meetup .meetup-review-tools .meetup-actions{display:flex;align-items:end;}
.go-meetup .meetup-tool-pair{position:relative;display:block;width:29px;height:29px;}
.go-meetup .meetup-tool-pair .meetup-tool-stone{position:absolute;left:0;top:0;width:20px;height:20px;}
.go-meetup .meetup-tool-pair .meetup-tool-stone.is-white{left:10px;top:9px;}
.go-meetup .meetup-erase-icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
/* Keep the move indicator and seek bar on one line below the navigation. */
.go-meetup .meetup-review-layout #meetupBoardControls:has(.meetup-review-nav){justify-content:flex-start;align-items:center;}
.go-meetup #meetupBoardControls:has(.meetup-review-nav)>span{flex:0 0 auto;white-space:nowrap;}
.go-meetup #meetupBoardControls:has(.meetup-review-nav)>#meetupSeek{flex:1 1 0;width:auto;min-width:0;margin:0;}
/* AI review uses the same compact structure as Kifu Link. */
.go-meetup #meetupReviewControls .meetup-review-analysis{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.go-meetup .meetup-review-analysis h3{grid-column:1;grid-row:1;}
.go-meetup .meetup-analysis-toggle{border:0;background:transparent;padding:0;color:#153d2f;font:inherit;box-shadow:none;}
.go-meetup .meetup-review-analysis .meetup-auto{grid-column:2;grid-row:1;display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;}
.go-meetup .meetup-auto input{position:absolute;opacity:0;width:1px;height:1px;}
.go-meetup .meetup-switch{display:inline-block;width:43px;height:24px;border-radius:20px;background:#bac6b4;border:1px solid #9aa98f;position:relative;}
.go-meetup .meetup-switch:after{content:"";position:absolute;width:19px;height:19px;top:1px;left:2px;border-radius:50%;background:#fff7dd;box-shadow:0 1px 2px #0005;}
.go-meetup .meetup-auto input:checked + .meetup-switch{background:#237b57;}.go-meetup .meetup-auto input:checked + .meetup-switch:after{left:20px;}
.go-meetup .meetup-auto input:focus-visible + .meetup-switch{outline:2px solid #247b59;outline-offset:2px;}
.go-meetup .meetup-review-analysis .meetup-analysis-actions{grid-column:1 / -1;grid-row:2;display:flex;gap:0;align-items:stretch;}
.go-meetup .meetup-analysis-actions [data-review-analyze]{flex:1;min-width:0;}
.go-meetup .meetup-review-analysis .meetup-visibility{display:flex;position:static;padding:0 8px;border:1px solid #a9bda0;border-left:0;align-items:center;font-size:12px;}
.go-meetup .meetup-analysis-actions [data-review-analysis-stop]{font-size:11px;padding:5px;}
.go-meetup .meetup-review-analysis #meetupAnalysisResult{grid-column:1 / -1;grid-row:3;min-width:0;}
.go-meetup .meetup-review-analysis #meetupAnalysisResult[hidden]{display:none;}
.go-meetup .meetup-chart-panel,.go-meetup .meetup-candidate-panel{border:1px solid #c6d1bd;border-radius:6px;background:#fffef8;padding:8px;margin-top:8px;}
.go-meetup .meetup-chart-heading{display:flex;justify-content:space-between;gap:3px;align-items:center;}.go-meetup .meetup-chart-heading small{font-size:10px;}
.go-meetup .meetup-chart-panel svg{display:block;width:100%;height:auto;}.go-meetup .meetup-chart-panel svg text{font-size:10px;fill:#315449;}
.go-meetup .meetup-chart-grid{stroke:#d9dfd1;stroke-dasharray:2 4;}.go-meetup .meetup-chart-zero{stroke:#ceb571;}.go-meetup .meetup-chart-line{stroke:#268160;stroke-width:2;}.go-meetup .meetup-chart-dot{fill:#f6d892;stroke:#bba14c;}
.go-meetup .meetup-chart-panel>small,.go-meetup .meetup-candidate-panel h4 small{font-size:10px;font-weight:normal;}
.go-meetup .meetup-candidate-panel h4{margin:0 0 8px;font-size:14px;}.go-meetup .meetup-candidate-panel ol{padding:0;margin:0;list-style:none;}.go-meetup .meetup-candidate-panel li{display:flex;align-items:center;gap:7px;margin:7px 0;}.go-meetup .meetup-candidate-panel li b{display:grid;place-items:center;border-radius:50%;width:25px;height:25px;background:#e5d094;border:1px solid #8ba07c;}.go-meetup .meetup-candidate-panel li span:last-child{margin-left:auto;}
/* Collapse the table list on desktop and reclaim its space for the board. */
.go-meetup .meetup-board-panel{position:relative;}
.go-meetup .meetup-tables-toggle{position:absolute;right:12px;top:9px;z-index:1;font-size:12px;padding:6px 9px;}
.go-meetup .meetup-review-layout #meetupTableHeading{padding:0 135px 5px 0;margin:0;border-bottom:1px solid #d3c9b3;}
.go-meetup .meetup-review-layout #meetupTableHeading h2{font-size:19px;margin:0;}
.go-meetup .meetup-review-layout{row-gap:6px;}
.go-meetup .meetup-review-layout .meetup-board{max-width:900px;}
@media(min-width:761px){
 .go-meetup .meetup-room-grid.meetup-tables-collapsed>.meetup-tables{display:none;}
 .go-meetup .meetup-room-grid.meetup-tables-collapsed{grid-template-columns:minmax(0,1fr) 350px;grid-template-areas:"board voice" "board people";}
}
@media(min-width:1001px) and (max-width:1700px){
 .go-meetup .meetup-room-grid.meetup-tables-collapsed:has(.meetup-review-layout){grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"board board" "voice people";}
}
@media(min-width:761px) and (max-width:1000px){
 .go-meetup .meetup-room-grid.meetup-tables-collapsed:has(.meetup-review-layout){grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"board board" "voice people";}
}
@media(max-width:760px){.go-meetup .meetup-tables-toggle{display:none;}.go-meetup .meetup-review-layout #meetupTableHeading{padding-right:0;}}
@media(min-width:761px){.go-meetup .meetup-board-panel:not(.meetup-review-layout) #meetupTableHeading{padding-right:140px;}}
/* Kifu Link mobile AI header and joined action control. */
.go-meetup #meetupReviewControls .meetup-review-analysis{padding:10px;gap:6px;}
.go-meetup #meetupReviewControls .meetup-review-analysis h3{margin:0!important;font-size:19px;}
.go-meetup #meetupReviewControls .meetup-analysis-toggle{min-height:38px;padding:4px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font:inherit;}
.go-meetup .meetup-review-analysis .meetup-auto{font-size:11px;gap:5px;}
.go-meetup .meetup-switch{width:50px;min-width:50px;height:28px;}
.go-meetup .meetup-switch:after{width:22px;height:22px;top:2px;left:3px;}
.go-meetup .meetup-auto input:checked + .meetup-switch:after{left:24px;}
.go-meetup .meetup-review-analysis .meetup-analysis-actions{border:1px solid #b4beaa;border-radius:6px;background:#eef3e9;overflow:hidden;min-height:40px;}
.go-meetup .meetup-analysis-actions [data-review-analyze]{border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px;color:#234f40;font-weight:700;}
.go-meetup .meetup-review-analysis .meetup-visibility{border:0;border-left:1px solid #b4beaa;padding:0 10px;gap:6px;color:#234f40;font-size:13px;font-weight:600;white-space:nowrap;}
.go-meetup .meetup-analysis-actions [data-review-analysis-stop]{border:0;border-left:1px solid #b4beaa;border-radius:0;background:transparent;}
.go-meetup .meetup-analysis-actions [data-review-analysis-stop][hidden]{display:none;}
/* Fit the desktop room in the viewport; each side panel scrolls independently. */
@media(min-width:1001px) and (min-height:600px){
 .go-meetup:not(.meetup-lobby-view){height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;}
 .go-meetup:not(.meetup-lobby-view) .meetup-header{flex:none;}
 .go-meetup:not(.meetup-lobby-view) .meetup-shell{box-sizing:border-box;width:100%;max-width:none;flex:1;min-height:0;display:flex;flex-direction:column;padding:6px 14px 10px;overflow:hidden;}
 .go-meetup:not(.meetup-lobby-view) #meetupStatus{flex:none;margin:0;min-height:0;font-size:11px;line-height:1.2;}
 .go-meetup:not(.meetup-lobby-view) #meetupRoom:not([hidden]){flex:1;min-height:0;display:flex;flex-direction:column;}
 .go-meetup:not(.meetup-lobby-view) .meetup-room-heading{flex:none;padding:2px 0 6px;}
 .go-meetup .meetup-room-grid:has(.meetup-review-layout){flex:1;min-height:0;grid-template-columns:160px minmax(0,1fr) 300px;grid-template-areas:"tables board voice" "tables board people";grid-template-rows:auto minmax(0,1fr);gap:8px;align-items:stretch;}
 .go-meetup .meetup-room-grid.meetup-tables-collapsed:has(.meetup-review-layout){grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"board voice" "board people";}
 .go-meetup .meetup-room-grid:has(.meetup-review-layout)>.meetup-tables{min-height:0;overflow:auto;}
 .go-meetup .meetup-room-grid:has(.meetup-review-layout)>.meetup-voice{min-height:0;max-height:30dvh;overflow:auto;}
 .go-meetup .meetup-room-grid:has(.meetup-review-layout)>.meetup-people{min-height:0;overflow-y:auto;overscroll-behavior:contain;}
 .go-meetup .meetup-room-grid .meetup-review-layout{min-height:0;height:100%;box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(230px,300px);grid-template-rows:auto 0 minmax(0,1fr) auto;gap:4px 10px;padding:8px;align-items:stretch;overflow:hidden;}
 .go-meetup .meetup-review-layout .meetup-board-viewport{min-height:0;display:flex;justify-content:center;align-items:center;}
 .go-meetup .meetup-review-layout .meetup-board{width:min(100%,calc(100dvh - 280px));max-width:900px;margin:0;flex:none;}
 .go-meetup .meetup-review-layout #meetupBoardControls{min-width:0;align-self:end;}
 .go-meetup .meetup-review-layout #meetupReviewControls{height:100%;max-height:none;min-height:0;box-sizing:border-box;overflow-y:auto;align-self:stretch;padding:0 5px 0 0;}
 .go-meetup .meetup-review-layout #meetupTableHeading{padding-right:145px;}
 .go-meetup .meetup-tables-toggle{top:5px;right:8px;}
}
@media(min-width:1001px) and (min-height:600px){
 .go-meetup .meetup-review-layout .meetup-board-viewport{container-type:size;}
 .go-meetup .meetup-review-layout .meetup-board{width:min(96%,96cqh);}
}
@media(min-width:1001px) and (min-height:600px){
 .go-meetup .meetup-room-grid:not(:has(.meetup-review-layout)){flex:1;min-height:0;grid-template-columns:160px minmax(0,1fr) 300px;grid-template-areas:"tables board voice" "tables board people";grid-template-rows:auto minmax(0,1fr);gap:8px;align-items:stretch;}
 .go-meetup .meetup-room-grid.meetup-tables-collapsed:not(:has(.meetup-review-layout)){grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"board voice" "board people";}
 .go-meetup .meetup-room-grid:not(:has(.meetup-review-layout))>.meetup-tables,.go-meetup .meetup-room-grid:not(:has(.meetup-review-layout))>.meetup-people{min-height:0;overflow-y:auto;}
 .go-meetup .meetup-room-grid:not(:has(.meetup-review-layout))>.meetup-voice{min-height:0;max-height:30dvh;overflow:auto;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout){box-sizing:border-box;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;padding:8px;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) #meetupTableHeading{flex:none;margin:0 0 4px;padding-bottom:5px;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) #meetupSetup{flex:none;max-height:30%;overflow:auto;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) .meetup-board-viewport{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) .meetup-board{width:min(96%,96cqh);max-width:900px;margin:0;flex:none;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) #meetupBoardControls,.go-meetup .meetup-board-panel:not(.meetup-review-layout) #meetupReviewControls{flex:none;max-height:24%;overflow:auto;}
}
@media(min-width:1001px) and (min-height:600px){
 .go-meetup .meetup-room-grid>.meetup-people>.meetup-members-section,.go-meetup .meetup-room-grid>.meetup-people>.meetup-chat-section{flex-shrink:0;}
}
@media(min-width:1001px) and (min-height:600px){html:has(body.go-meetup:not(.meetup-lobby-view)){height:100%;overflow:hidden;}}
@media(min-width:1001px) and (min-height:600px){.go-meetup:not(.meetup-lobby-view){position:fixed;inset:0;width:100%;box-sizing:border-box;}}
@media(min-width:1001px) and (min-height:600px){html:has(body.go-meetup:not(.meetup-lobby-view)),.go-meetup:not(.meetup-lobby-view){overflow:clip;}}
/* Keep the review board, win-rate meter and navigation aligned. */
.go-meetup .meetup-board-cluster{display:flex;align-items:stretch;justify-content:center;max-width:100%;min-width:0;}
.go-meetup .meetup-vertical-winrate{flex:none;width:42px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 3px;box-sizing:border-box;color:#173d30;font:700 13px/1.2 sans-serif;font-variant-numeric:tabular-nums;}
.go-meetup .meetup-vertical-winrate[hidden]{display:none;}
.go-meetup .meetup-vertical-meter{position:relative;flex:1;width:18px;min-height:0;overflow:hidden;background:#fdfcf4;border:1px solid #aab8a5;border-radius:11px;}
.go-meetup .meetup-vertical-meter i{position:absolute;left:0;right:0;top:0;height:50%;background:#212722;}
.go-meetup .meetup-review-layout #meetupBoardControls{width:100%;justify-self:center;margin:0 auto;}
@media(min-width:761px) and (min-height:600px){
 .go-meetup .meetup-room-grid:has(.meetup-review-layout){grid-template-columns:clamp(110px,12vw,160px) minmax(0,1fr) clamp(190px,23vw,300px);grid-template-areas:"tables board voice" "tables board people";grid-template-rows:auto minmax(0,1fr);}
 .go-meetup .meetup-room-grid.meetup-tables-collapsed:has(.meetup-review-layout){grid-template-columns:minmax(0,1fr) clamp(190px,23vw,300px);grid-template-areas:"board voice" "board people";}
 .go-meetup .meetup-room-grid .meetup-review-layout{grid-template-columns:minmax(0,1fr) clamp(180px,25vw,300px);}
}
@media(min-width:1001px) and (min-height:600px){.go-meetup .meetup-review-layout .meetup-board{width:min(calc(100cqw - 42px),100cqh);}}
@media(min-width:761px) and (max-width:1000px){.go-meetup .meetup-review-layout .meetup-board-viewport{display:flex;justify-content:center;}.go-meetup .meetup-review-layout .meetup-board{width:min(calc(100vw - 500px),650px);min-width:120px;}.go-meetup .meetup-review-layout #meetupReviewControls{grid-column:2;grid-row:3 / 5;border:0;padding:0;max-height:75vh;overflow:auto;}}
/* Playback and interval form a single control, as in Kifu Link. */
.go-meetup .meetup-review-nav{display:flex;align-items:stretch;gap:6px;}
.go-meetup .meetup-review-nav>button{flex:1;min-width:0;}
.go-meetup .meetup-playback-group{display:flex;flex:1.35;min-width:0;border:1px solid #bba46e;border-radius:6px;overflow:hidden;background:#fffdf5;}
.go-meetup .meetup-playback-group [data-playback]{flex:1;min-width:0;border:0;border-radius:0;box-shadow:none;background:transparent;}
.go-meetup .meetup-playback-group label{display:flex;align-items:stretch;flex:0 0 52px;min-width:0;border-left:1px solid #ded5bb;}
.go-meetup .meetup-playback-group #meetupPlaySeconds{width:100%;max-width:52px;border:0;background:transparent;padding:4px;font-size:12px;}
.go-meetup .meetup-plan-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;box-sizing:border-box;color:#214d3e;background:#fffdf5;border:1px solid #c7cfbd;border-radius:7px;text-decoration:none;font:inherit;}
.go-meetup .meetup-plan-link:hover{background:#e8f0e6;}
.go-meetup #meetupLeave{background:#f7e5e7;border-color:#d7aeb3;color:#813e4a;}
.go-meetup #meetupLeave:hover{background:#f0d3d8;border-color:#c58e98;}
.go-meetup #meetupLeave:focus-visible{outline:2px solid #a34e61;outline-offset:2px;}

/* 共同検討の棋譜ツリー */
.go-meetup .meetup-tree-grid{display:block;position:relative;padding:0;}
.go-meetup .meetup-tree-node{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;min-height:0;max-width:none;box-sizing:border-box;font-size:11px;z-index:1;}
.go-meetup .meetup-tree-node.is-root,.go-meetup .meetup-tree-node.is-edit{width:25px;height:25px;border-radius:6px;background:#fffaf4;color:#365247;}
.go-meetup .meetup-tree-node[aria-current=true]{outline-width:2px;outline-offset:2px;}
.go-meetup .meetup-tree-edge{position:absolute;height:2px;background:#a7b5a3;transform-origin:left center;pointer-events:none;}
.go-meetup .meetup-tree-edge.is-active{background:#2a986e;}
.meetup-tree-menu{position:fixed;z-index:10000;display:grid;min-width:180px;padding:5px;background:#fffdf6;border:1px solid #afbcaa;border-radius:6px;box-shadow:0 3px 12px #0003;}
.meetup-tree-menu button{border:0;background:transparent;color:#183e2f;text-align:left;padding:9px 12px;cursor:pointer;}
.meetup-tree-menu button:hover,.meetup-tree-menu button:focus{background:#e4eee1;}

/* 通話状態はマイクと参加者の表示で確認できる */
.go-meetup #meetupVoiceStatus{display:none;}

/* スマホのヘッダーはボタンを横書きのまま収める */
@media(max-width:760px){
 .go-meetup .meetup-header,.go-meetup.meetup-lobby-view .meetup-header{box-sizing:border-box;height:60px;padding:0 10px;gap:6px;}
 .go-meetup .meetup-brand,.go-meetup.meetup-lobby-view .meetup-brand{flex:0 0 auto;gap:4px;margin-right:auto;font-size:18px;letter-spacing:.04em;white-space:nowrap;}
 .go-meetup .meetup-brand img,.go-meetup.meetup-lobby-view .meetup-brand img{width:37px;height:37px;}
 .go-meetup .meetup-brand small,.go-meetup.meetup-lobby-view .meetup-brand small{font-size:9px;}
 .go-meetup #meetupAccount,.go-meetup.meetup-lobby-view #meetupAccount{flex:0 1 auto;min-width:0;max-width:105px;padding:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 .go-meetup .meetup-header #meetupLogin,.go-meetup .meetup-header #meetupLobbyButton{flex:0 0 auto;min-height:36px;padding:6px 8px;font-size:12px;line-height:1.2;white-space:nowrap;}
}

/* 対局準備・対局中の碁盤を表示領域に合わせる */
@media(min-width:1001px) and (min-height:600px){
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) .meetup-board-cluster{width:min(100%,100cqh,900px);flex:none;}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) .meetup-board{width:100%;}
}

/* 共同検討の見出しを対局準備の見出しと揃える */
.go-meetup .meetup-review-layout #meetupTableHeading{display:flex;align-items:center;box-sizing:border-box;min-height:42px;}
.go-meetup .meetup-review-layout #meetupTableHeading h2{margin:0;font-size:clamp(16px,1.4vw,23px);}

/* スマホでは通話操作を部屋の設定の隣に表示 */
@media(max-width:760px){
 .go-meetup .meetup-voice{display:none;}
 .go-meetup .meetup-room-heading .meetup-actions{gap:6px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost:not([hidden]){display:flex;align-items:center;flex:0 0 auto;gap:0;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact{flex:none;gap:5px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{min-height:36px;padding:5px 7px;font-size:12px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-level{gap:2px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-details{display:none;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-warning{position:absolute;top:100%;right:0;width:auto;max-width:280px;background:#fffdf4;z-index:4;}
 .go-meetup .meetup-room-heading .meetup-actions{position:relative;}
}

/* ロビーの一覧とフレンド欄を上揃えにする */
.go-meetup .meetup-records-panel[hidden]{display:none;}
.go-meetup .meetup-lobby-grid{align-items:start;gap:18px;}
.go-meetup .meetup-friends-panel{box-sizing:border-box;margin-top:0;min-height:260px;padding:28px 26px;}
.go-meetup .meetup-friends-panel h2{margin:0 0 20px;}
.go-meetup .meetup-friends-panel .meetup-empty{margin:0;line-height:1.7;}
@media(max-width:760px){
 .go-meetup .meetup-lobby-grid{gap:14px;}
 .go-meetup .meetup-friends-panel{min-height:0;padding:24px;}
 .go-meetup .meetup-friends-panel h2{font-size:22px;margin-bottom:14px;}
}

/* スマホ版の卓切り替え */
@media(max-width:760px){
 .go-meetup .meetup-tabs{display:flex;gap:0;margin:0 0 14px;padding:0;border:1px solid #c0bea8;border-radius:7px;background:#f7f4e9;box-shadow:0 2px 5px #4f493015;}
 .go-meetup .meetup-tabs button{position:relative;flex:1 1 0;min-width:0;min-height:40px;margin:0;padding:7px 3px;border:0;border-right:1px solid #c0bea8;border-radius:0;background:transparent;box-shadow:none;color:#28473a;font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;}
 .go-meetup .meetup-tabs button:last-child{border-right:0;flex-grow:1.12;}
 .go-meetup .meetup-tabs button[aria-selected="true"]{border-radius:5px;background:#6a7755;color:#fffdf2;box-shadow:0 2px 4px #44452d44;}
 .go-meetup .meetup-tabs button[aria-selected="true"]::after{content:"";position:absolute;bottom:-7px;left:8%;right:8%;height:3px;border-radius:3px;background:#8e997a;}
}

@media(max-width:760px){
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact{padding:0;border:0;background:transparent;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{gap:5px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-level{margin-left:2px;padding-left:5px;border-left:1px solid #cbd4c9;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-level i{width:4px;}
}

.go-meetup #meetupInvite{background:#21654d;border-color:#21654d;color:#fffdf4;font-weight:700;}
.go-meetup #meetupInvite:hover{background:#174e3b;border-color:#174e3b;}
.go-meetup #meetupInvite:focus-visible{outline:2px solid #21654d;outline-offset:2px;}

/* スマホでは盤の外枠を外し、画面幅を活用する */
@media(max-width:760px){
 .go-meetup:not(.meetup-lobby-view) .meetup-shell{padding-left:6px;padding-right:6px;}
 .go-meetup .meetup-room-grid .meetup-board-panel{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;}
 .go-meetup .meetup-board-viewport{width:100%;}
 .go-meetup .meetup-board-cluster{width:100%;max-width:100%;}
 .go-meetup .meetup-board-cluster .meetup-board{flex:1 1 auto;width:100%;min-width:0;max-width:650px;margin:10px auto;}
 .go-meetup .meetup-review-layout .meetup-board-cluster .meetup-board{margin:0;}
}

/* 対局準備だけを一枚のカードにまとめ、盤の表示幅は維持する */
@media(max-width:760px){
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;margin:4px 0 0;padding:12px 12px 10px;border:1px solid #c9c5ae;border-bottom:0;border-radius:10px 10px 0 0;background:#fffdf5;}
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary) h2{grid-column:1;grid-row:1;font-size:17px;line-height:1.4;}
 .go-meetup #meetupTableHeading .meetup-condition-summary{display:contents;}
 .go-meetup #meetupTableHeading .meetup-condition-summary span{grid-column:1/-1;grid-row:2;padding:8px 10px;border-radius:6px;background:#edf0e5;color:#405346;font-size:12px;line-height:1.8;overflow-wrap:anywhere;}
 .go-meetup #meetupTableHeading .meetup-condition-summary button{grid-column:2;grid-row:1;min-height:36px;padding:6px 9px;font-size:12px;border-color:#c9cdbd;background:#fffef9;}
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary)+#meetupSetup{box-sizing:border-box;padding:0 12px 12px;border:1px solid #c9c5ae;border-top:0;border-radius:0 0 10px 10px;background:#fffdf5;}
 .go-meetup #meetupSetup .meetup-seat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;}
 .go-meetup #meetupSetup .meetup-seat{min-width:0;padding:10px 8px;border:1px solid #d7dacb;border-radius:6px;background:#f5f5ed;font-size:13px;overflow-wrap:anywhere;}
 .go-meetup #meetupSetup .meetup-seat strong{display:block;margin:0 0 3px;color:#203e31;}
 .go-meetup #meetupSetup .meetup-seat-actions{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;gap:8px;margin-top:2px;}
 .go-meetup #meetupSetup .meetup-seat-actions button{flex:1;min-height:40px;padding:8px 12px;border-radius:6px;font-size:14px;}
 .go-meetup #meetupSetup .meetup-seat-actions button[hidden]{display:none;}
}

/* 対局の操作は碁盤右側の一列に配置 */
.go-meetup .meetup-board-panel.meetup-game-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(160px,23%,260px);grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;}
.go-meetup .meetup-game-layout #meetupTableHeading{grid-column:1/-1;}
.go-meetup .meetup-game-layout #meetupSetup,.go-meetup .meetup-game-layout #meetupBoardControls{display:none;}
.go-meetup .meetup-board-panel.meetup-game-layout .meetup-board-viewport{grid-column:1;grid-row:2;min-width:0;min-height:0;align-self:stretch;}
.go-meetup .meetup-board-panel.meetup-game-layout #meetupReviewControls{grid-column:2;grid-row:2;min-width:0;min-height:0;max-height:none;overflow-y:auto;display:flex;flex-direction:column;gap:0;align-self:stretch;padding:0 12px;border:1px solid #bcbda2;border-radius:8px;background:#fffdf5;box-sizing:border-box;}
.go-meetup .meetup-game-section{display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:12px 0;border:0;background:transparent;}
.go-meetup .meetup-game-section+.meetup-game-section{border-top:1px solid #c9cbb9;}
.go-meetup .meetup-game-section>p{margin:0;font-size:13px;line-height:1.65;}

.go-meetup .meetup-game-section button,.go-meetup .meetup-game-section select{width:100%;box-sizing:border-box;min-height:40px;margin:0;}
.go-meetup .meetup-game-section label{display:flex;flex-direction:column;gap:6px;}
.go-meetup .meetup-game-section [data-game-action="resign"]{background:#f7e5e1;border-color:#d7a6a0;color:#763d3b;}
.go-meetup .meetup-game-section [data-game-action="agree_score"]{background:#28543f;border-color:#28543f;color:#fff;font-weight:700;}
.go-meetup .meetup-game-section .meetup-score{padding:8px 0;border:0;border-radius:0;overflow-wrap:anywhere;font-size:13px;line-height:1.7;}
.go-meetup .meetup-game-section .meetup-score strong{font-size:20px;color:#203e31;}
.go-meetup .meetup-game-section .meetup-score p{margin:7px 0;}
@media(max-width:760px){
 .go-meetup .meetup-board-panel.meetup-game-layout{grid-template-columns:minmax(0,1fr) clamp(118px,29%,150px);gap:6px;}
 .go-meetup .meetup-game-layout .meetup-game-section{padding:10px 0;gap:6px;}
 
 .go-meetup .meetup-game-layout .meetup-game-section button{font-size:12px;padding:6px;}
 .go-meetup .meetup-game-layout #meetupReviewControls{max-height:65dvh;padding:0 7px;}
 .go-meetup .meetup-game-section .meetup-score strong{font-size:16px;}
}

.go-meetup .meetup-player-clock{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0;}.go-meetup .meetup-player-clock span{min-width:0;overflow-wrap:anywhere;}.go-meetup .meetup-player-clock strong{flex:none;font-variant-numeric:tabular-nums;}

/* 対局時計：持ち時間と秒読みを区別して表示 */
.go-meetup .meetup-clock-card{padding:4px 0 10px;min-width:0;color:#203c30;text-shadow:none;}
.go-meetup .meetup-clock-card+.meetup-clock-card{border-top:1px solid #c9cbb9;padding-top:14px;}
.go-meetup .meetup-clock-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.go-meetup .meetup-clock-heading>strong{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px;}
.go-meetup .meetup-clock-stone{width:16px;height:16px;flex:none;border-radius:50%;background:#263429;border:1px solid #263429;}
.go-meetup .meetup-clock-stone.is-white{background:#fffdf5;border-color:#8e9684;}
.go-meetup [data-clock-badge]{padding:3px 7px;border-radius:12px;background:#3c603d;color:#fff;font-size:11px;white-space:nowrap;}
.go-meetup .meetup-clock-main{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:12px 0;}
.go-meetup [data-clock-caption]{font-size:12px;color:#59614f;max-width:5em;}
.go-meetup .meetup-clock-main [data-clock]{font-size:clamp(25px,2.8vw,42px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap;}
.go-meetup .meetup-clock-detail{display:flex;justify-content:space-between;gap:6px;padding:7px 0;border-top:1px solid #dedfce;font-size:12px;flex-wrap:wrap;}
.go-meetup .meetup-clock-detail>span:first-child{color:#606650;}
.go-meetup .meetup-clock-card.is-byoyomi{background:#faf3dc;border-radius:5px;}
.go-meetup .meetup-clock-card.is-byoyomi [data-clock]{color:#956006;}
.go-meetup .meetup-clock-card.is-byoyomi [data-clock-badge]{background:#edc76a;color:#4c3d12;}
.go-meetup [data-clock-progress]{display:block;width:100%;height:6px;margin-top:8px;accent-color:#ba842a;}
.go-meetup [data-clock-progress][hidden],.go-meetup [data-clock-badge][hidden]{display:none;}
@media(max-width:760px){.go-meetup .meetup-clock-heading>strong{font-size:12px;}.go-meetup .meetup-clock-main{flex-wrap:wrap;padding:8px 0;}.go-meetup .meetup-clock-main [data-clock]{margin-left:auto;font-size:27px;}.go-meetup .meetup-clock-detail{font-size:11px;}.go-meetup [data-clock-caption]{max-width:none;}}

.go-meetup .meetup-clock-heading{display:grid;grid-template-columns:16px minmax(0,1fr);}.go-meetup .meetup-clock-heading [data-clock-badge]{grid-column:2;justify-self:start;}.go-meetup .meetup-clock-heading>strong{line-height:1.45;}
/* Post-game review: compact controls beside the board. */
.go-meetup .meetup-post-sidebar{display:flex;flex-direction:column;gap:8px;padding:10px;background:#fffef9;border:1px solid #bcc3aa;border-radius:9px;color:#193f32;min-width:0;}
.go-meetup .meetup-post-sidebar button{margin:0;min-width:0;min-height:36px;padding:6px;font-size:14px;font-weight:600;color:#214b3b;background:#f5f7ef;border:1px solid #a7b69f;box-shadow:none;}
.go-meetup .meetup-post-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.go-meetup .meetup-post-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;}
.go-meetup .meetup-post-field select{width:100%;min-width:0;box-sizing:border-box;min-height:36px;margin:0;padding:5px 9px;font-size:14px;color:#214b3b;background:#fff;border:1px solid #a7b69f;}
.go-meetup .meetup-post-stones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.go-meetup .meetup-post-stones button{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:3px;min-height:43px;}
.go-meetup .meetup-post-stones small{font-size:13px;white-space:nowrap;}
.go-meetup .meetup-post-stone,.go-meetup .meetup-post-stone-pair i{display:block;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 32% 27%,#777,#191c19 45%,#050705);box-shadow:0 2px 3px #0004;border:1px solid #393e36;box-sizing:border-box;}
.go-meetup .meetup-post-stone.is-white,.go-meetup .meetup-post-stone-pair i:last-child{background:radial-gradient(circle at 30% 25%,#fff,#eeeee5 70%,#cccfc4);border-color:#c6c8bd;}
.go-meetup .meetup-post-stone-pair{display:flex;flex-shrink:0;width:33px;height:22px;padding-right:0;}
.go-meetup .meetup-post-stone-pair i:last-child{margin-left:-7px;transform:translateY(3px);}
.go-meetup .meetup-post-marks{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;}
.go-meetup .meetup-post-marks button{font-size:23px;line-height:1;}
.go-meetup .meetup-post-sidebar button[aria-pressed="true"]{background:#e3eddf;border-color:#488663;box-shadow:inset 0 0 0 1px #488663;}
.go-meetup .meetup-post-save{display:grid;gap:6px;border-top:1px solid #bfc8b6;padding-top:9px;}
.go-meetup .meetup-post-members{border-top:1px solid #bfc8b6;padding-top:4px;}
.go-meetup .meetup-post-members>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;font-size:14px;}
.go-meetup .meetup-post-members strong{overflow-wrap:anywhere;}
.go-meetup .meetup-post-members span{flex-shrink:0;border-radius:20px;background:#e3eddf;color:#32623f;padding:3px 9px;font-size:12px;}
.go-meetup .meetup-post-members span.is-finished{background:#eeeae0;color:#55594e;}
.go-meetup .meetup-post-sidebar .meetup-post-finish{background:#f7e6e5;border:1px solid #d9a7a7;color:#83343e;}
.go-meetup .meetup-post-sidebar .meetup-post-help{font-size:12px;line-height:1.5;margin:0;color:#515d4d;}

.go-meetup .meetup-post-sidebar button:disabled{opacity:1;color:#798174;background:#efefe7;border-color:#d2d6c8;cursor:not-allowed;}
.go-meetup .meetup-post-sidebar button:focus-visible{outline:2px solid #287455;outline-offset:2px;}
.go-meetup .meetup-post-sidebar button:not(:disabled):hover{border-color:#397a59;background:#e7efdf;}

/* Mobile games: full-width board with clocks and actions below. */
@media(max-width:760px){
 .go-meetup .meetup-board-panel.meetup-game-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:8px;padding:0;border:0;border-radius:0;box-shadow:none;height:auto;overflow:visible;}
 .go-meetup .meetup-board-panel.meetup-game-layout .meetup-board-viewport{grid-column:1;grid-row:2;width:100%;height:auto;min-height:0;container-type:normal;display:block;}
 .go-meetup .meetup-game-layout .meetup-board-cluster{width:100%;max-width:none;}
 .go-meetup .meetup-board-panel.meetup-game-layout .meetup-board{width:100%;max-width:none;min-width:0;height:auto;aspect-ratio:1;margin:0;flex:1;}
 .go-meetup .meetup-board-panel.meetup-game-layout #meetupReviewControls{grid-column:1;grid-row:3;display:flex;max-height:none;height:auto;overflow:visible;padding:0;border:0;background:transparent;gap:8px;}
 .go-meetup .meetup-game-layout .meetup-game-section{padding:0;border:0;gap:8px;}
 .go-meetup .meetup-game-layout .meetup-game-section[aria-label="対局状況"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .go-meetup .meetup-game-layout .meetup-clock-card,.go-meetup .meetup-game-layout .meetup-clock-card+.meetup-clock-card{margin:0;padding:10px;border:1px solid #aeb79e;border-radius:9px;background:#fffef8;}
 .go-meetup .meetup-game-layout .meetup-clock-heading{grid-template-columns:16px minmax(0,1fr) auto;gap:5px;min-height:25px;align-items:center;}
 .go-meetup .meetup-game-layout .meetup-clock-heading [data-clock-badge]{grid-column:3;grid-row:1;font-size:10px;padding:3px 5px;}
 .go-meetup .meetup-game-layout .meetup-clock-heading>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 .go-meetup .meetup-game-layout .meetup-clock-heading>strong{font-size:14px;}
 .go-meetup .meetup-game-layout .meetup-clock-main{padding:8px 0;gap:4px;}
 .go-meetup .meetup-game-layout .meetup-clock-main [data-clock]{font-size:30px;}
 .go-meetup .meetup-game-layout .meetup-clock-detail{font-size:12px;padding:6px 0;}
 .go-meetup .meetup-game-layout .meetup-game-section[aria-label="対局状況"]>p{grid-column:1/-1;text-align:center;}
 .go-meetup .meetup-game-layout .meetup-game-section[aria-label="盤の操作"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
 .go-meetup .meetup-game-layout .meetup-game-section[aria-label="保存"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 .go-meetup .meetup-game-layout .meetup-game-section button{min-height:44px;font-size:14px;padding:8px 4px;}
 .go-meetup .meetup-game-layout .meetup-game-section[aria-label="終局確認"]{padding:10px;background:#fffef8;border:1px solid #b8bea8;border-radius:8px;}
}

.go-meetup .meetup-review-layout #meetupTableHeading.meetup-post-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px 12px;align-items:center;padding-bottom:9px;}
.go-meetup .meetup-post-heading .meetup-post-result{grid-column:3;grid-row:1;white-space:nowrap;font-size:13px;font-weight:700;color:#32563d;background:#e8eddf;padding:4px 9px;border-radius:5px;line-height:1.4;}
.go-meetup .meetup-post-players{grid-column:2;grid-row:1;display:flex;gap:18px;min-width:0;font-size:14px;}
.go-meetup .meetup-post-players>div{display:flex;align-items:center;gap:6px;min-width:0;}
.go-meetup .meetup-post-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.go-meetup .meetup-post-players [data-clock]{white-space:nowrap;font-variant-numeric:tabular-nums;}
.go-meetup .meetup-post-heading .meetup-error{grid-column:1/-1;margin:0;}
@media(max-width:760px){
 .go-meetup .meetup-review-layout #meetupTableHeading.meetup-post-heading{padding:8px 0;gap:8px;}
 .go-meetup #meetupTableHeading.meetup-post-heading h2{font-size:16px;line-height:1.4;}
 .go-meetup .meetup-post-heading .meetup-post-result{font-size:12px;max-width:115px;}
 .go-meetup .meetup-post-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:13px;}
 .go-meetup .meetup-post-players>div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:5px;}
 .go-meetup .meetup-post-players .meetup-clock-stone{width:13px;height:13px;}
}

@media(max-width:760px){
 .go-meetup .meetup-room-heading>div:first-child{width:100%;min-width:0;}
 .go-meetup .meetup-room-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;}
 .go-meetup:not(.meetup-lobby-view) .meetup-room-title-row h1{font-size:17px;line-height:1.5;margin:0;}
 .go-meetup .meetup-room-title-row #meetupRoomMeta{font-size:11px;line-height:1.5;margin:0;white-space:nowrap;}
}
/* Mobile room skin: generated felt, existing washi, playable board unchanged. */
@media(max-width:760px){
 body.go-meetup:not(.meetup-lobby-view){background:url('/assets/go-meetup/room-felt-v2.webp') center/460px;color:#f6efd9;}
 .go-meetup:not(.meetup-lobby-view) .meetup-shell{background:transparent;}
 .go-meetup:not(.meetup-lobby-view) .meetup-room-heading{padding:2px 2px 4px;gap:6px;}
 .go-meetup:not(.meetup-lobby-view) .meetup-room-title-row h1,.go-meetup .meetup-room-title-row #meetupRoomMeta{color:#faf1d9;}
 .go-meetup:not(.meetup-lobby-view) #meetupStatus{color:#f3e8cd;}
 .go-meetup .meetup-room-heading .meetup-actions{width:100%;gap:6px;}
 .go-meetup .meetup-room-heading button,.go-meetup .meetup-room-heading .meetup-plan-link,.go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{min-height:40px;border:1px solid #c7b992;border-radius:7px;background:url('/assets/go-meetup/room-washi-v2.webp') center/650px;color:#193d2f;box-shadow:inset 0 0 0 1px #fff7e3,0 2px 2px #071d2440;}
 .go-meetup .meetup-room-heading #meetupInvite{background:url('/assets/go-meetup/room-felt-v2.webp') center/460px;color:#fff4d6;border-color:#c4a86b;box-shadow:inset 0 0 0 2px #48765b,0 2px 3px #071d2460;}
 .go-meetup .meetup-room-heading #meetupLeave{background:#e5b9aa;color:#713a35;border-color:#c5927e;box-shadow:inset 0 0 0 1px #f0d2c0;}
 .go-meetup .meetup-tabs{background:url('/assets/go-meetup/room-washi-v2.webp') center/650px;border:2px solid #937247;border-radius:10px;box-shadow:0 2px 0 #513e2a,inset 0 0 0 2px #f9eacc;padding:3px;margin-bottom:14px;}
 .go-meetup .meetup-tabs button{min-height:36px;color:#343b28;border-color:#bead8c;font-family:'Yu Mincho',serif;font-size:14px;}
 .go-meetup .meetup-tabs button[aria-selected="true"]{background:url('/assets/go-meetup/room-felt-v2.webp') center/460px;border:1px solid #c8ab6c;border-radius:7px;color:#fff3d3;box-shadow:inset 0 0 0 2px #31533b;}
 .go-meetup .meetup-tabs button[aria-selected="true"]::after{height:3px;bottom:-5px;background:#d8bd7b;}
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary){padding:7px 10px 6px;background:url('/assets/go-meetup/room-washi-v2.webp') center/650px;border:2px solid #c3a16a;border-bottom:0;border-radius:12px 12px 0 0;box-shadow:inset 3px 3px 0 #fffae1,inset -3px 0 0 #ead6ac;color:#213b29;}
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary) h2{font-size:20px;font-weight:700;color:#213b29;}
 .go-meetup #meetupTableHeading .meetup-condition-summary span{background:#e1e2ca;color:#344b35;padding:6px 8px;font-size:12px;border-radius:7px;}
 .go-meetup #meetupTableHeading .meetup-condition-summary button{border-color:#b59e70;background:#fcf4df;color:#31412e;box-shadow:0 2px 3px #6c5c3820;}
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary)+#meetupSetup{padding:0 10px 8px;background:url('/assets/go-meetup/room-washi-v2.webp') center/650px;border:2px solid #c3a16a;border-top:0;border-radius:0 0 12px 12px;box-shadow:inset 3px 0 0 #fffae1,inset -3px -3px 0 #ead6ac,0 3px 5px #09271d60;color:#213b29;}
 .go-meetup #meetupSetup .meetup-seat{background:#f7f0df99;border-color:#bfb18d;padding:6px 9px;border-radius:8px;color:#4b503c;min-height:56px;box-sizing:border-box;}
 .go-meetup #meetupSetup .meetup-seat-stone{width:25px;height:25px;}
 .go-meetup #meetupSetup .meetup-seat strong{color:#203b2d;font-size:16px;}
 .go-meetup #meetupSetup .meetup-seat-actions button{min-height:42px;font-size:18px;font-family:'Yu Mincho',serif;font-weight:700;}
 .go-meetup #meetupSetup .meetup-seat-actions .meetup-primary{background:url('/assets/go-meetup/room-felt-v2.webp') center/460px;color:#fff4da;border:1px solid #618064;box-shadow:inset 0 0 0 2px #345c43,0 2px 3px #173a3030;border-radius:8px;}
 .go-meetup .meetup-board-panel>#meetupTableHeading:not(:has(.meetup-condition-summary)){color:#f4ecd4;}
 .go-meetup .meetup-board-panel>#meetupTableHeading:not(:has(.meetup-condition-summary)) h2{color:inherit;}
 .go-meetup .meetup-board-panel>#meetupBoardControls{color:#f4ecd4;}
 .go-meetup .meetup-game-layout .meetup-game-section[aria-label="対局状況"]>p{color:#f4ecd4;}
}
@media(max-width:420px){
 .go-meetup .meetup-room-heading .meetup-actions{gap:5px;flex-wrap:nowrap;}
 .go-meetup .meetup-room-heading .meetup-actions>button,.go-meetup .meetup-room-heading .meetup-plan-link{padding-left:9px;padding-right:9px;font-size:12px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost{min-width:0;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{padding-left:6px;padding-right:6px;font-size:11px;}
}

/* Second visual pass: functional action icons, no board changes. */
@media(max-width:760px){
.go-meetup #meetupInvite::before{content:"";display:inline-block;width:18px;height:18px;vertical-align:middle;margin-right:5px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10%2013%204-4m-6%207-1%201a4%204%200%200%201-6-6l4-4a4%204%200%200%201%206%200m2%204a4%204%200%200%200%206%200l4-4a4%204%200%200%200-6-6l-1%201%22%20transform%3D%22translate%281%203%29%20scale%28.85%29%22/%3E%3C/svg%3E") center/contain no-repeat;}
.go-meetup #meetupLeave::before{content:"";display:inline-block;width:18px;height:18px;vertical-align:middle;margin-right:5px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%203H4v18h5m4-15%206%206-6%206m-6-6h12%22/%3E%3C/svg%3E") center/contain no-repeat;}
.go-meetup #meetupSetup [data-seat="seat"].meetup-primary::before{content:"";display:inline-block;width:18px;height:18px;vertical-align:middle;margin-right:5px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%2014V5a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v9M4%2014h16v4H4zm2%204v4m12-4v4%22/%3E%3C/svg%3E") center/contain no-repeat;}
 .go-meetup #meetupSetup [data-seat="seat"].meetup-primary::before{width:22px;height:22px;margin-right:9px;}
 .go-meetup #meetupTableHeading:has(.meetup-condition-summary) h2{font-weight:700;letter-spacing:.02em;}
}
@media(max-width:420px){
 .go-meetup .meetup-room-heading .meetup-actions>button,.go-meetup .meetup-room-heading .meetup-plan-link{white-space:nowrap;padding-inline:6px;font-size:11px;flex-shrink:0;}
 .go-meetup .meetup-room-heading #meetupInvite::before,.go-meetup .meetup-room-heading #meetupLeave::before{width:14px;height:14px;margin-right:3px;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{padding-inline:4px;}
}
/* Generated carved wood tray. Transparent asset margins are excluded by background sizing. */
@media(max-width:760px){
 .go-meetup .meetup-tabs{background:transparent url('/assets/go-meetup/tab-tray-v1.webp') center 48%/100% 290% no-repeat;border:0;border-radius:0;box-shadow:none;padding:7px 6%;margin-bottom:6px;gap:0;overflow:visible;min-height:53px;box-sizing:border-box;}
 .go-meetup .meetup-tabs button{background:none;border:0;box-shadow:none;border-radius:5px;min-height:38px;font-weight:700;font-size:13px;padding:4px;}
 .go-meetup .meetup-tabs button[aria-selected="true"]{border:1px solid #c7ab6c;background:url('/assets/go-meetup/room-felt-v2.webp') center/460px;box-shadow:inset 0 0 0 1px #4e7150,0 2px 3px #30221355;border-radius:6px;color:#fff5d8;}
 .go-meetup .meetup-tabs button[aria-selected="true"]::after{bottom:0;left:15%;right:auto;width:70%;height:2px;background:#d9bc77;border:1px solid #efdaa5;border-radius:3px;}
 .go-meetup .meetup-room-heading .meetup-actions{display:flex;flex-wrap:nowrap;gap:5px;}
 .go-meetup .meetup-room-heading .meetup-actions>button,.go-meetup .meetup-room-heading .meetup-plan-link{white-space:nowrap;padding-inline:7px;font-size:12px;flex-shrink:0;}
 .go-meetup .meetup-room-heading #meetupVoiceHost{flex:1 1 auto;min-width:0;}
 .go-meetup .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{padding-inline:4px;font-size:11px;}
 .go-meetup .meetup-room-heading #meetupInvite::before,.go-meetup .meetup-room-heading #meetupLeave::before{width:14px;height:14px;margin-right:3px;}
}
@media(max-width:390px){
 .go-meetup .meetup-room-heading .meetup-actions>button,.go-meetup .meetup-room-heading .meetup-plan-link{padding-inline:5px;font-size:11px;}
}

/* Light panels must not inherit the ivory text of the felt room background. */
@media(max-width:760px){
 .go-meetup #meetupTablesPanel,.go-meetup .meetup-people,.go-meetup dialog{color:#203e31;}
 .go-meetup #meetupTablesPanel h2,.go-meetup #meetupTablesPanel h3,.go-meetup #meetupTablesPanel strong,.go-meetup #meetupTablesPanel button{color:#203e31;}
 .go-meetup #meetupTablesPanel small{color:#526348;}
 .go-meetup .meetup-tabs button{box-sizing:border-box;}
}
/* Tactile room controls: paper/felt faces, restrained brass rims and a pressed edge. */
.go-meetup #meetupRoom :is(.meetup-room-heading,.meetup-seat-actions,.meetup-condition-summary,.meetup-game-section,.meetup-post-actions) :is(button,.meetup-plan-link){
 border:1px solid #aa9063;border-radius:7px;
 background:#f3e7cc url('/assets/go-meetup/room-washi-v2.webp') center/600px;
 color:#203d30;box-shadow:inset 0 0 0 1px #fff8e4,inset 0 -3px 0 #c5b28b,0 2px 0 #6d5538,0 3px 5px #13271d30;
 text-shadow:0 1px 0 #fff9e8;transition:box-shadow .12s,transform .12s,filter .12s;
}
.go-meetup #meetupRoom :is(#meetupInvite,.meetup-seat-actions .meetup-primary){
 background:url('/assets/go-meetup/room-felt-v2.webp') center/460px;
 color:#fff3d4;border-color:#ba9a5f;
 box-shadow:inset 0 0 0 1px #63845a,inset 0 -3px 0 #113022,0 2px 0 #5b4328,0 4px 6px #10251c40;
 text-shadow:0 1px 1px #0a261c;
}
.go-meetup #meetupRoom #meetupLeave{
 background:linear-gradient(#d58f80cc,#d58f80cc),url('/assets/go-meetup/room-washi-v2.webp') center/600px;
 color:#542c28;border-color:#a9745b;box-shadow:inset 0 0 0 1px #f2c5ad,inset 0 -3px 0 #bd7e67,0 2px 0 #684739,0 3px 5px #13271d30;text-shadow:0 1px 0 #edbca6;
}
.go-meetup #meetupRoom #meetupVoiceHost .community-voice-compact-mic[aria-pressed="true"]{background:#39824c;color:#fffbed;border-color:#b7bd79;text-shadow:none;}
.go-meetup #meetupRoom :is(.meetup-room-heading,.meetup-seat-actions,.meetup-condition-summary,.meetup-game-section,.meetup-post-actions) :is(button,.meetup-plan-link):not(:disabled):active{
 transform:translateY(2px);box-shadow:inset 0 2px 4px #192c2840,inset 0 0 0 1px #b4a174,0 1px 0 #6d5538;
}
.go-meetup #meetupRoom :is(button,.meetup-plan-link):focus-visible{outline:2px solid #e3bc67;outline-offset:3px;}
.go-meetup #meetupRoom :is(.meetup-room-heading,.meetup-seat-actions,.meetup-condition-summary,.meetup-game-section,.meetup-post-actions) button:disabled{box-shadow:inset 0 0 0 1px #e2dac7;border-color:#b9b19c;text-shadow:none;transform:none;filter:saturate(.35);}
@media(hover:hover){
 .go-meetup #meetupRoom :is(.meetup-room-heading,.meetup-seat-actions,.meetup-condition-summary,.meetup-game-section,.meetup-post-actions) :is(button,.meetup-plan-link):not(:disabled):hover{filter:brightness(1.06);}
}
@media(prefers-reduced-motion:reduce){.go-meetup #meetupRoom :is(button,.meetup-plan-link){transition:none;}}
/* Approved illustrated mobile design: shared material palette and compact preparation card. */
@media(max-width:760px){
 body.go-meetup:not(.meetup-lobby-view){background:#103d2e url('/assets/go-meetup/room-felt-v2.webp') top center/100% auto repeat-y;}
 .go-meetup:not(.meetup-lobby-view) .meetup-header{background:#173f32b3;border-bottom:1px solid #325c4240;}
 .go-meetup .meetup-room-title-row h1{font-weight:700;}
 .go-meetup #meetupRoom #meetupTableHeading:has(.meetup-condition-summary){border:3px solid #c3a169;border-bottom:0;border-radius:10px 10px 0 0;box-shadow:inset 3px 3px 0 #fff7df,inset -3px 0 0 #ebd3a8;padding:9px 9px 6px;}
 .go-meetup #meetupRoom #meetupTableHeading:has(.meetup-condition-summary) h2{font-size:19px;font-weight:700;color:#182b22;}
 .go-meetup #meetupRoom #meetupTableHeading:has(.meetup-condition-summary)+#meetupSetup{border:3px solid #c3a169;border-top:0;border-radius:0 0 10px 10px;box-shadow:inset 3px 0 0 #fff7df,inset -3px -3px 0 #ebd3a8,0 3px 4px #071b1b60;padding:0 9px 9px;}
 .go-meetup #meetupSetup .meetup-seat{background:#fff8e533;border-color:#bba676;min-height:56px;padding:6px 9px;}
 .go-meetup #meetupSetup .meetup-seat strong{font-family:'Yu Mincho','Noto Serif JP',serif;font-weight:700;font-size:16px;color:#162d23;}
 .go-meetup #meetupRoom .meetup-seat-actions .meetup-primary{border:2px solid #b3975c;border-radius:8px;box-shadow:inset 0 0 0 1px #688365,inset 0 -2px 0 #102d21,0 2px 0 #6e5430,0 3px 5px #17291e40;}
 .go-meetup #meetupRoom #meetupTableHeading .meetup-condition-summary span{background:#dfe1c9d9;color:#253a2a;}
}
@media(max-width:760px){
 .go-meetup:not(.meetup-lobby-view) .meetup-header{height:50px;min-height:50px;}
 .go-meetup .meetup-tabs{min-height:47px;padding-block:6px;}
 .go-meetup .meetup-tabs button{min-height:34px;}
 .go-meetup #meetupRoom #meetupTableHeading:has(.meetup-condition-summary){gap:5px 6px;padding-top:6px;}
 .go-meetup #meetupRoom #meetupTableHeading .meetup-condition-summary span{line-height:1.5;padding-block:5px;}
 .go-meetup #meetupRoom #meetupTableHeading .meetup-condition-summary button{min-height:32px;padding-block:4px;}
 .go-meetup #meetupSetup .meetup-seat-row{gap:6px;}
 .go-meetup #meetupSetup .meetup-seat{min-height:50px;padding-block:4px;line-height:1.45;}
 .go-meetup #meetupSetup .meetup-seat-actions button{padding-block:5px;min-height:40px;}
}
/* Compact paper tab rail, without protruding wooden shoulders. */
@media(max-width:760px){
 .go-meetup #meetupRoom .meetup-tabs{background:#f6ecd7 url('/assets/go-meetup/room-washi-v2.webp') center/600px;border:1px solid #c0a574;border-radius:9px;padding:4px;min-height:46px;gap:3px;box-shadow:inset 0 0 0 1px #fff6de,0 2px 3px #091f1a40;}
 .go-meetup #meetupRoom .meetup-tabs button{min-height:36px;padding:6px 3px;border:0;border-radius:6px;background:transparent;color:#314632;font-family:inherit;font-size:13px;line-height:1.3;font-weight:600;box-shadow:none;text-shadow:none;}
 .go-meetup #meetupRoom .meetup-tabs button[aria-selected="true"]{background:#194c37 url('/assets/go-meetup/room-felt-v2.webp') center/460px;color:#fff6df;box-shadow:inset 0 0 0 1px #54735b,0 1px 2px #1a382f30;}
 .go-meetup #meetupRoom .meetup-tabs button[aria-selected="true"]::after{content:none;}
 .go-meetup #meetupRoom .meetup-tabs button:focus-visible{outline:2px solid #906b31;outline-offset:1px;}
}
/* Illustrated table list: compact cards with distinct live and saved states. */
.go-meetup #meetupTablesPanel{color:#203b2d;background:#faf3e3 url('/assets/go-meetup/room-washi-v2.webp') center/600px;border:1px solid #baa67b;border-radius:10px;padding:16px;}
.go-meetup .meetup-tables-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;border-bottom:1px solid #cbb994;padding-bottom:14px;margin-bottom:14px;}
.go-meetup #meetupTablesPanel h2{margin:0;color:#173c2b;font-size:23px;font-weight:700;}
.go-meetup #meetupTableCount{font:normal 15px sans-serif;white-space:nowrap;}
.go-meetup #meetupTablesPanel #meetupTableOpen{margin:0;min-height:40px;padding:7px 10px;width:auto;background:#214b35 url('/assets/go-meetup/room-felt-v2.webp') center/460px;border:2px solid #baa06e;border-radius:7px;color:#fff5da;box-shadow:inset 0 0 0 1px #657a55;}
.go-meetup #meetupTables .meetup-table{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 12px;gap:5px 10px;width:100%;min-height:86px;padding:13px 12px;margin:0 0 10px;background:#fff8ea66;border:1px solid #c5b288;border-radius:8px;color:#1b3b2d;text-align:left;box-shadow:inset 0 1px 0 #fff9ed;}
.go-meetup #meetupTables .meetup-table.is-selected{background:#dce6cfdd;border:2px solid #3f6746;padding:12px 11px;}
.go-meetup #meetupTables .meetup-table strong{grid-column:2;font-size:18px;line-height:1.5;color:#193a2b;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;justify-content:space-between;}
.go-meetup #meetupTables .meetup-table strong>span{font:normal 11px/1.5 sans-serif;border-radius:20px;background:#c4d0b4;padding:3px 9px;color:#294331;}
.go-meetup #meetupTables .meetup-table>small{grid-column:2;color:#4a5945;font-size:13px;overflow-wrap:anywhere;}
.go-meetup .meetup-table-stones{grid-column:1;grid-row:1/3;position:relative;width:34px;align-self:center;height:36px;}
.go-meetup .meetup-table-stones i{position:absolute;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#666,#111 70%);box-shadow:0 2px 3px #0004;left:0;top:1px;}
.go-meetup .meetup-table-stones i+i{background:radial-gradient(circle at 35% 25%,#fff,#e2e1d7 75%);left:12px;top:12px;}
.go-meetup .meetup-table-arrow{grid-column:3;grid-row:1/3;align-self:center;font-size:28px;color:#244a35;}
.go-meetup #meetupTables h3{border-top:1px solid #cbb994;padding-top:19px;margin:20px 0 12px;font-size:20px;color:#1c3e2e;}
.go-meetup #meetupTables .meetup-record{grid-template-columns:76px minmax(0,1fr) 12px;align-items:center;min-height:104px;}
.go-meetup #meetupTables .meetup-record .meetup-mini{width:76px;height:76px;margin:0;grid-column:1;grid-row:1/3;box-shadow:0 2px 3px #795b3425;}
.go-meetup #meetupTables .meetup-record-copy{grid-column:2;grid-row:1/3;min-width:0;}
.go-meetup #meetupTables .meetup-record-copy strong{font-size:16px;}
.go-meetup #meetupTables .meetup-record-copy small{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:5px;background:#dce4cd;color:#294633;font-size:12px;}
@media(min-width:761px){.go-meetup #meetupTables .meetup-table{grid-template-columns:minmax(0,1fr) 10px;padding:10px;}.go-meetup #meetupTables .meetup-table-stones{display:none;}.go-meetup #meetupTables .meetup-table strong,.go-meetup #meetupTables .meetup-table>small{grid-column:1;}.go-meetup #meetupTables .meetup-table-arrow{grid-column:2;}.go-meetup #meetupTables .meetup-record{grid-template-columns:48px minmax(0,1fr);gap:8px;}.go-meetup #meetupTables .meetup-record .meetup-mini{width:48px;height:48px;}.go-meetup #meetupTables .meetup-record .meetup-table-arrow{display:none;}}
/* Fill the mobile toolbar without stretching the small utility buttons. */
@media(max-width:760px){
 .go-meetup #meetupRoom .meetup-room-heading .meetup-actions{width:100%;gap:6px;}
 .go-meetup #meetupRoom .meetup-room-heading #meetupInvite{flex:1 1 auto;}
 .go-meetup #meetupRoom .meetup-room-heading #meetupVoiceHost:not([hidden]){flex:1.5 1 auto;min-width:0;}
 .go-meetup #meetupRoom .meetup-room-heading #meetupVoiceHost .community-voice-compact{flex:1 1 auto;width:100%;min-width:0;justify-content:space-between;}
 .go-meetup #meetupRoom .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{flex:1 1 auto;justify-content:center;}
 .go-meetup #meetupRoom .meetup-room-heading #meetupBoardPrefsOpen{flex:0 0 40px;width:40px;padding-inline:0;}
}
/* Shared board plan content, presented inside the meetup. */
.go-meetup :is(#plansDialog,#boardPurchaseDialog){width:min(720px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-sizing:border-box;padding:22px;background:#faf7ee;color:#173c30;border:1px solid #acb89b;border-radius:15px;}
.go-meetup :is(#plansDialog,#boardPurchaseDialog)::backdrop{background:#071e18a6;}
.go-meetup .gb-plans header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;}
.go-meetup .gb-plans h2{font-size:23px;margin:0;}.go-meetup .gb-plans h3{font-size:20px;}
.go-meetup .gb-plan-icon{width:22px;height:22px;flex:none;vertical-align:middle;}
.go-meetup .gb-plan-usage{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px;background:#e6edde;border-radius:8px;}
.go-meetup .gb-plan-usage-title,.go-meetup .gb-plan-usage-item{display:flex;align-items:center;gap:6px;}
.go-meetup .gb-plan-usage-title small{display:block;font-size:12px;}.go-meetup .gb-plan-usage-item strong{font-size:23px;}
.go-meetup .gb-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.go-meetup .gb-plan-grid>section{padding:18px;border:1px solid #bdc7ac;border-radius:10px;background:#fffdf6;}
.go-meetup .gb-plan-grid ul{padding:0;list-style:none;}.go-meetup .gb-plan-grid li{display:flex;gap:8px;margin:12px 0;}
.go-meetup .gb-plans svg{max-width:28px;max-height:28px;}
.go-meetup .gb-plan-price{font-size:22px;}.go-meetup .gb-plan-price strong{font-size:46px;}
.go-meetup .gb-plans button{min-height:40px;}.go-meetup .gb-plan-join{width:100%;background:#226748;color:#fff;border:1px solid #226748;padding:12px;}
.go-meetup .gb-plan-purchase{font-size:13px;line-height:1.7;}.go-meetup .gb-plans input[type=checkbox]{width:auto;display:inline-block;}
.go-meetup .gb-plans a{color:#23654e;}.go-meetup .gb-plans input:not([type=checkbox]){width:100%;box-sizing:border-box;}
.go-meetup .gb-plan-login-hint{font-size:12px;}.go-meetup .gb-plan-message{font-size:13px;}
.go-meetup #boardLoginForm label{display:block;margin:12px 0;}
@media(max-width:600px){.go-meetup .gb-plan-grid{grid-template-columns:1fr;}.go-meetup :is(#plansDialog,#boardPurchaseDialog){padding:16px;}}
/* Desktop table rail: readable names and horizontal record previews. */
@media(min-width:761px){
 .go-meetup #meetupRoomGrid.meetup-room-grid:not(.meetup-tables-collapsed){grid-template-columns:clamp(220px,18vw,260px) minmax(0,1fr) clamp(190px,23vw,300px);}
 .go-meetup #meetupTablesPanel{padding:12px;}
 .go-meetup #meetupTablesPanel .meetup-tables-heading{gap:12px;padding-bottom:14px;}
 .go-meetup #meetupTablesPanel h2{font-size:22px;white-space:nowrap;border:0;padding:0;}
 .go-meetup #meetupTablesPanel #meetupTableOpen{width:100%;min-height:38px;}
 .go-meetup #meetupTables .meetup-table{padding:12px;min-height:84px;grid-template-columns:minmax(0,1fr) 14px;gap:6px 8px;}
 .go-meetup #meetupTables .meetup-table strong{font-size:17px;gap:5px;}
 .go-meetup #meetupTables .meetup-table strong>span{font-size:10px;padding:2px 7px;}
 .go-meetup #meetupTables h3{font-size:17px;line-height:1.5;white-space:nowrap;margin-top:18px;padding-top:16px;}
 .go-meetup #meetupTables .meetup-record{grid-template-columns:62px minmax(0,1fr);gap:10px;min-height:90px;padding:10px;}
 .go-meetup #meetupTables .meetup-record .meetup-mini{width:62px;height:62px;}
 .go-meetup #meetupTables .meetup-record-copy strong{font-size:14px;white-space:nowrap;}
 .go-meetup #meetupTables .meetup-record-copy small{font-size:11px;padding:4px 6px;white-space:nowrap;margin-top:6px;}
}
/* Use available desktop board space instead of the former 900px ceiling. */
@media(min-width:1001px) and (min-height:600px){
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) .meetup-board-cluster{width:min(96%,96cqh);}
 .go-meetup .meetup-board-panel:not(.meetup-review-layout) .meetup-board{max-width:none;width:100%;}
}

.go-meetup .meetup-post-marks button{min-width:0;padding:6px 2px;display:flex;align-items:center;justify-content:center;}
.go-meetup .meetup-post-abc{font-size:13px;font-weight:700;}

/* Postgame navigation stays legible on the mobile felt background. */
.go-meetup #meetupBoardControls button[data-post-seek]{color:#193d2f;background:#fffdf4;border-color:#a9b69d;font-weight:600;text-shadow:none;opacity:1;}
.go-meetup #meetupBoardControls button[data-post-seek]:hover{color:#143b2b;background:#e8efdf;}
.go-meetup #meetupBoardControls button[data-post-seek]:disabled{color:#667260;background:#eceee5;opacity:1;}


/* Multi-table review actions stay outside the table selection button. */
.go-meetup .meetup-table-entry{position:relative;display:grid;margin-bottom:10px;min-width:0}
.go-meetup #meetupTables .meetup-table-entry>.meetup-table{width:100%;margin-bottom:0}
.go-meetup #meetupTables .meetup-table-entry:has(.meetup-table-finish)>.meetup-table{padding-bottom:56px}
.go-meetup .meetup-table-finish{position:absolute;right:12px;bottom:12px;z-index:1;padding:6px 14px;color:#873d49;background:#f5e3e5;border:1px solid #d7a4ad;border-radius:6px;font-size:13px}

.go-meetup #meetupTableHeading.meetup-post-heading h2{grid-column:1;grid-row:1;white-space:nowrap}

/* Keep the mute slash attached to its icon when the compact control grows. */
.go-meetup .community-voice-mic-symbol .community-voice-mic-slash{left:-2px;top:10px;width:25px;height:2px;border-radius:2px;transform:rotate(48deg);box-shadow:0 0 0 1px #fbf9f2}
.go-meetup .community-voice-mic-symbol svg{display:block;width:21px;height:21px;flex-shrink:0}
.go-meetup #meetupRoom .meetup-room-heading #meetupVoiceHost .community-voice-compact-mic{align-items:center;gap:6px;padding-inline:8px;white-space:nowrap}
.go-meetup .community-voice-compact-mic>.community-voice-level{flex-shrink:0;margin-left:2px;padding-left:6px}
/* Invitation-first meetup entrance. Existing room directory remains available below. */
.go-meetup.meetup-lobby-view .meetup-shell{max-width:1160px;width:calc(100% - 48px);padding-top:38px;}
.go-meetup .meetup-entry{color:#203e32;text-align:center;}
.go-meetup .meetup-entry-intro{margin:0 0 30px;}
.go-meetup #meetupLobby .meetup-entry-intro h1{font-family:'Yu Mincho',serif;font-size:42px;font-weight:600;letter-spacing:.09em;margin:12px 0 16px;}
.go-meetup .meetup-entry-intro p{color:#637264;margin:8px 0;font-size:15px;}

.go-meetup .meetup-entry-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;margin:auto;}
.go-meetup .meetup-entry-card{padding:28px 36px 24px;background:#faf3e2 url('/assets/go-meetup/washi.webp') center/cover;border:5px solid #796345;outline:1px solid #b4a17c;outline-offset:-9px;border-radius:8px;box-shadow:0 5px 12px #41351c17;}
.go-meetup .meetup-entry-card h2{font-family:'Yu Mincho',serif;font-size:29px;margin:8px 0 12px;color:#163e2e;}
.go-meetup .meetup-entry-card p{font-size:15px;color:#556450;margin:0 0 28px;}
.go-meetup .meetup-entry-art{height:125px;display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto 14px;width:170px;}
.go-meetup .meetup-entry-art img{width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 4px 3px #36270c25);}
.go-meetup .meetup-entry-plus{position:absolute;right:2px;bottom:6px;font-size:30px;background:#28533e;color:#fff4dc;border:2px solid #b5a176;border-radius:50%;width:40px;height:40px;line-height:36px;}
.go-meetup .meetup-entry-envelope{display:grid;place-content:center;gap:8px;width:128px;height:86px;background:#f8efd7;border:1px solid #ac9975;border-radius:4px;box-shadow:5px 6px 0 #c9b99b70;transform:rotate(5deg);font-family:'Yu Mincho',serif;font-size:20px;letter-spacing:.2em;}
.go-meetup .meetup-entry-envelope span{font-size:24px;letter-spacing:.08em;}
.go-meetup #meetupLobby .meetup-entry-card button{width:100%;min-height:55px;border:1px solid #b49a63;border-radius:5px;font-size:20px;display:flex;align-items:center;justify-content:center;gap:24px;font-family:'Yu Mincho',serif;}
.go-meetup #meetupLobby #meetupCreateOpen{color:#fff5dc;background:#184b38 url('/assets/go-meetup/room-felt-v2.webp') center/480px;}
.go-meetup #meetupJoinOpen{color:#244332;background:#e9e9d7;box-shadow:0 2px 0 #b5ad91;}
.go-meetup .meetup-entry-card small{display:block;color:#69745e;font-size:12px;margin-top:13px;}
.go-meetup .meetup-entry-note{font-size:13px;color:#697565;margin:27px 0;}
.go-meetup #meetupPublicRooms>summary{list-style:none;display:inline-block;color:#365843;padding:10px 16px;cursor:pointer;border-bottom:1px solid #bac5b3;font-size:14px;}
.go-meetup #meetupPublicRooms>summary::-webkit-details-marker{display:none;}
.go-meetup #meetupPublicRooms[open]>summary{margin-bottom:24px;}
.go-meetup #meetupPublicRooms .meetup-lobby-grid{text-align:left;grid-template-columns:minmax(0,1fr);}
.go-meetup #meetupPublicRooms .meetup-friends-panel{margin-top:0;min-height:0;}
.go-meetup #meetupPublicRooms .meetup-intro{padding:18px 24px;}
.go-meetup #meetupPublicRooms .meetup-intro h2{margin:0;font-size:23px;}
.go-meetup #meetupJoinDialog{width:min(460px,calc(100vw - 40px));box-sizing:border-box;padding:28px;color:#203e32;}
.go-meetup #meetupJoinDialog input{width:100%;box-sizing:border-box;margin-top:8px;}
.go-meetup #meetupJoinError{color:#a13d3d;}
.go-meetup #meetupBrowseRooms{margin-top:20px;}
@media(max-width:760px){
 .go-meetup.meetup-lobby-view .meetup-shell{width:calc(100% - 28px);padding-top:22px;}
 .go-meetup #meetupLobby .meetup-entry-intro h1{font-size:29px;letter-spacing:.02em;}
 .go-meetup .meetup-entry-intro{margin-bottom:22px;}
 .go-meetup .meetup-entry-intro p{font-size:13px;}
 .go-meetup .meetup-entry-cards{grid-template-columns:1fr;gap:18px;}
 .go-meetup .meetup-entry-card{padding:20px 24px;}
 .go-meetup .meetup-entry-art{height:86px;margin-bottom:8px;}
 .go-meetup .meetup-entry-art img{width:105px;height:105px;}
 .go-meetup .meetup-entry-card h2{font-size:25px;}
 .go-meetup .meetup-entry-card p{font-size:14px;margin-bottom:18px;}
 .go-meetup .meetup-entry-note{line-height:1.8;}
}

/* Reference-matched entrance: generated washi scenery and paired illustrations. */
.go-meetup.meetup-lobby-view{background:#f7f2e6 url('/assets/go-meetup/entry-background-v2.webp') center top/cover fixed;color:#20291f;}
.go-meetup.meetup-lobby-view .meetup-header{height:98px;padding:0 max(4.5vw,24px);background:#1a3529 url('/assets/go-meetup/room-felt-v2.webp') center/650px;border-bottom:5px solid #aa8856;box-shadow:0 2px 5px #55452930;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;}
.go-meetup.meetup-lobby-view .meetup-brand{font-size:48px;gap:24px;color:#faf3df;}
.go-meetup.meetup-lobby-view .meetup-brand img{width:70px;height:74px;}
.go-meetup.meetup-lobby-view .meetup-brand>span{display:flex;align-items:baseline;gap:26px;}
.go-meetup.meetup-lobby-view .meetup-brand small{font-size:20px;font-weight:400;letter-spacing:.02em;}
.go-meetup.meetup-lobby-view #meetupAccount{margin-left:auto;color:#faf3df;font-size:18px;background:none;}
.go-meetup.meetup-lobby-view #meetupLogin{min-width:120px;height:48px;margin-left:20px;border:1px solid #cabc9f;border-radius:9px;background:#f8f0de url('/assets/go-meetup/washi.webp') center/450px;color:#193e2c;font:20px 'Yu Mincho',serif;}
.go-meetup.meetup-lobby-view .meetup-shell{width:calc(100% - 48px);max-width:1104px;padding:44px 0 30px;}
.go-meetup .meetup-entry{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;color:#20251c;}
.go-meetup #meetupLobby .meetup-entry-intro h1{font-size:76px;font-weight:700;letter-spacing:.04em;line-height:1.35;margin:0 0 8px;color:#1e251c;}
.go-meetup .meetup-entry-intro p{font-size:28px;letter-spacing:.06em;color:#342e24;margin:0;}
.go-meetup .meetup-entry-intro{margin-bottom:30px;}
.go-meetup .meetup-entry-cards{max-width:none;gap:28px;}
.go-meetup .meetup-entry-card{position:relative;padding:12px 32px 20px;border:8px solid #ad8959;border-radius:17px;outline:1px solid #71532e;outline-offset:-2px;background:linear-gradient(#fffaf0b0,#fffaf0b0),url('/assets/go-meetup/washi.webp') center/cover;box-shadow:inset 0 0 0 2px #725332,inset 0 0 0 4px #e0c391,0 5px 10px #3e2e1840;}
.go-meetup .meetup-entry-art{width:100%;height:242px;margin:0 auto 0;background:url('/assets/go-meetup/entry-illustrations-v2.webp') left center/200% auto no-repeat;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 75% 90% at center,#000 48%,transparent 76%);}
.go-meetup .meetup-entry-invitation{background-position:right center;}
.go-meetup .meetup-entry-plus{right:24%;bottom:5px;width:70px;height:70px;line-height:64px;font-size:54px;border:3px solid #cbb877;box-shadow:0 2px 5px #342b2440;background:#254932;color:#fff8e4;}
.go-meetup .meetup-entry-card h2{font-size:40px;font-weight:700;line-height:1.35;color:#171c15;margin:0 0 6px;letter-spacing:.02em;}
.go-meetup .meetup-entry-card p{font-size:23px;color:#40382c;margin:0 0 16px;white-space:nowrap;}
.go-meetup #meetupLobby .meetup-entry-card button{min-height:78px;border:2px solid #405237;border-radius:16px;font-size:32px;letter-spacing:.05em;gap:18px;line-height:1.2;}
.go-meetup #meetupLobby #meetupCreateOpen{border-color:#a68b4e;box-shadow:inset 0 0 0 2px #e0cb8b,inset 0 0 0 4px #18382c;background-color:#1c3b2b;}
.go-meetup #meetupLobby #meetupJoinOpen{background:transparent;box-shadow:inset 0 0 0 2px #fff9e3;color:#173e27;}
.go-meetup .meetup-entry-card small{font-size:20px;color:#483d2e;margin-top:14px;}
.go-meetup .meetup-entry-note{font-size:22px;color:#463d30;margin:34px 0 16px;}
.go-meetup #meetupPublicRooms>summary{font-size:22px;font-weight:600;color:#1f402b;border:0;padding:24px 8px 4px;position:relative;text-decoration:underline;text-underline-offset:7px;}
.go-meetup #meetupPublicRooms>summary:before{content:'';position:absolute;width:60px;height:1px;background:#a89978;top:0;left:calc(50% - 30px);}
@media(max-width:1100px) and (min-width:761px){
.go-meetup .meetup-entry-card{padding-inline:20px;}
.go-meetup .meetup-entry-card h2{font-size:32px;}
.go-meetup .meetup-entry-card p{font-size:18px;}
.go-meetup .meetup-entry-art{height:200px;}
}
@media(max-width:760px){
.go-meetup.meetup-lobby-view .meetup-header{height:68px;padding:0 12px;border-bottom-width:3px;gap:7px;}
.go-meetup.meetup-lobby-view .meetup-brand{font-size:25px;gap:8px;}
.go-meetup.meetup-lobby-view .meetup-brand img{width:40px;height:44px;}
.go-meetup.meetup-lobby-view .meetup-brand>span{display:block;line-height:1.2;}
.go-meetup.meetup-lobby-view .meetup-brand small{display:block;font-size:10px;}
.go-meetup.meetup-lobby-view #meetupAccount{font-size:11px;padding:0;}
.go-meetup.meetup-lobby-view #meetupLogin{min-width:64px;height:36px;font-size:13px;margin-left:0;padding:6px;}
.go-meetup.meetup-lobby-view .meetup-shell{width:calc(100% - 28px);padding:26px 0;}
.go-meetup #meetupLobby .meetup-entry-intro h1{font-size:35px;letter-spacing:0;}
.go-meetup .meetup-entry-intro p{font-size:15px;letter-spacing:0;}
.go-meetup .meetup-entry-intro{margin-bottom:22px;}
.go-meetup .meetup-entry-cards{gap:20px;}
.go-meetup .meetup-entry-card{padding:10px 20px 18px;border-width:6px;}
.go-meetup .meetup-entry-art{height:180px;}
.go-meetup .meetup-entry-plus{width:54px;height:54px;line-height:48px;font-size:40px;}
.go-meetup .meetup-entry-card h2{font-size:29px;}
.go-meetup .meetup-entry-card p{font-size:16px;margin-bottom:14px;}
.go-meetup #meetupLobby .meetup-entry-card button{min-height:57px;font-size:24px;}
.go-meetup .meetup-entry-card small{font-size:15px;}
.go-meetup .meetup-entry-note{font-size:14px;margin:24px 4px 14px;}
.go-meetup #meetupPublicRooms>summary{font-size:17px;}
}

.go-meetup.meetup-lobby-view .meetup-header{background-color:#20382a;background-blend-mode:luminosity;}
.go-meetup #meetupLobby #meetupCreateOpen{background-blend-mode:luminosity;background-color:#20382a;}
.go-meetup .meetup-entry-art .meetup-entry-plus{bottom:8px;}

.go-meetup.meetup-lobby-view .meetup-header{background:#20382a url('/assets/go-meetup/entry-header-v2.webp') center/cover no-repeat;background-blend-mode:normal;}

/* Keep the entrance composition while displaying it at 80 percent. */
.go-meetup.meetup-lobby-view .meetup-header,
.go-meetup.meetup-lobby-view .meetup-shell{zoom:.8;}

/* Invitation modal: room number, link and destinations. */
.go-meetup #meetupInviteDialog{box-sizing:border-box;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px;border:1px solid #a99867;border-radius:14px;background:#fcf9ef url('/assets/go-meetup/washi.webp') center/600px;color:#193d30;box-shadow:0 16px 60px #0005;}
#meetupInviteDialog::backdrop{background:#102b23a6;backdrop-filter:blur(3px);}
#meetupInviteDialog .meetup-invite-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
#meetupInviteDialog h2{margin:0;font-family:serif;font-size:26px;color:#153c2c;}
#meetupInviteDialog .meetup-invite-emblem{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b69c63;border-radius:10px;background:#234b39;color:#f5e5b4;font-size:26px;}
#meetupInviteDialog .meetup-invite-close{margin-left:auto;border:0;background:transparent;box-shadow:none;padding:0;min-width:32px;color:#234336;font-size:30px;}
#meetupInviteDialog label{display:block;font-weight:600;margin-bottom:8px;}
#meetupInviteDialog .meetup-invite-number-row{display:flex;width:285px;max-width:100%;border:1px solid #aaa98e;border-radius:8px;background:#fffdf7;overflow:hidden;}
#meetupInviteDialog #meetupInviteNumber{width:0;flex:1;min-width:0;border:0;background:transparent;padding:8px 14px;font-size:34px;letter-spacing:.13em;font-weight:600;color:#163e2e;box-shadow:none;}
#meetupInviteDialog #meetupInviteNumberCopy{border:0;border-left:1px solid #d9d4c1;border-radius:0;background:transparent;box-shadow:none;font-size:27px;color:#244738;padding:6px 14px;}
#meetupInviteDialog .meetup-invite-password{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:5px;background:#e8e3cf;color:#5a543e;font-size:12px;}
#meetupInviteDialog .meetup-invite-password[hidden]{display:none;}
#meetupInviteDialog .meetup-invite-url-label{margin-top:22px;}
#meetupInviteDialog .meetup-invite-url-row{display:flex;gap:0;}
#meetupInviteDialog #meetupInviteUrl{min-width:0;width:0;flex:1;padding:12px;border:1px solid #aaa98e;border-radius:7px 0 0 7px;background:#fffdf7;color:#254335;text-overflow:ellipsis;}
#meetupInviteDialog #meetupInviteCopy{border-radius:0 7px 7px 0;background:#204e39;color:#fffaf0;padding:10px 16px;white-space:nowrap;box-shadow:none;}
#meetupInviteDialog #meetupInviteMessage{padding:12px 14px;margin:14px 0 20px;border-radius:8px;background:#e7eadc;color:#354f3b;font-size:13px;line-height:1.7;}
#meetupInviteDialog .meetup-social-label{border-top:1px solid #c9bea0;padding-top:18px;font-family:serif;font-size:18px;font-weight:600;}
#meetupInviteDialog .meetup-social-actions a{background:#fffdf580;min-height:84px;box-shadow:none;}
#meetupInviteDialog .meetup-invite-footer{text-align:center;border-top:1px solid #d6cfb9;padding-top:12px;}
#meetupInviteDialog .meetup-invite-footer button{background:transparent;border:0;box-shadow:none;color:#234738;padding:6px 24px;}
@media(max-width:480px){.go-meetup #meetupInviteDialog{padding:20px 16px;}#meetupInviteDialog h2{font-size:21px;}#meetupInviteDialog .meetup-invite-header{gap:8px;}#meetupInviteDialog .meetup-social-actions a{min-height:72px;}}

/* Friend features are temporarily hidden; public rooms use the full panel. */
.go-meetup #meetupPublicRooms .meetup-lobby-grid{grid-template-columns:minmax(0,1fr);}

/* Account access stays inside the meetup without leaving an active room. */
.go-meetup .meetup-header #meetupAccountOpen{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:8px;border:1px solid #c6b987;border-radius:50%;background:#fbf8ed;color:#204934;box-shadow:none;}
#meetupAccountOpen svg{width:24px;height:24px;}
.go-meetup #meetupAccountDialog{box-sizing:border-box;width:min(360px,calc(100vw - 24px));padding:20px;background:#faf7ed;color:#193e30;border:1px solid #ac9b71;border-radius:14px;}
#meetupAccountDialog header,#meetupAccountPageDialog header{display:flex;align-items:center;gap:12px;}
#meetupAccountDialog h2,#meetupAccountPageDialog h2{margin:0;flex:1;font-size:20px;}
#meetupAccountDialog header button,#meetupAccountPageDialog header button{box-shadow:none;}
#meetupAccountName{padding-bottom:12px;border-bottom:1px solid #d5ceba;overflow-wrap:anywhere;}
#meetupAccountDialog nav{display:flex;flex-direction:column;gap:8px;}
#meetupAccountDialog nav button{display:flex;justify-content:space-between;width:100%;padding:12px 14px;text-align:left;background:#fffdf7;color:#214b37;border:1px solid #c6ceb8;box-shadow:none;}
#meetupAccountDialog nav button[hidden]{display:none;}
.go-meetup #meetupAccountPageDialog{box-sizing:border-box;width:min(1100px,calc(100vw - 24px));max-width:none;height:calc(100dvh - 32px);max-height:none;padding:0;border:1px solid #b1a17a;border-radius:12px;overflow:hidden;background:#faf7ed;color:#193e30;}
#meetupAccountPageDialog[open]{display:flex;flex-direction:column;}
#meetupAccountPageDialog header{flex-shrink:0;padding:12px 16px;border-bottom:1px solid #d5ceba;}
#meetupAccountFrame{display:block;width:100%;flex:1;min-height:0;border:0;background:#faf7ed;}
#meetupAccountDialog::backdrop,#meetupAccountPageDialog::backdrop{background:#102b2380;}
@media(max-width:760px){.go-meetup .meetup-header #meetupAccountOpen{flex-basis:34px;width:34px;height:34px;padding:5px;}.go-meetup #meetupAccountPageDialog{width:calc(100vw - 12px);height:calc(100dvh - 16px);}#meetupAccountPageDialog h2{font-size:17px;}}
