/* Общий стиль веб-меню. Только CSS: ни растровых фонов, ни новых шрифтов.
   Область .menu-screen задаёт shell (чат подключает её отдельно).
   Цвета игровых canvas и сукна остаются в theme.css и games/*.js. */
:root {
  --menu-bg: #17181a;
  --menu-panel: #242528;
  --menu-panel-raised: #2c2d31;
  --menu-sunken: #1b1c1f;
  --menu-selected: #35332f;
  --menu-ink: #e8e3dc;
  --menu-muted: #aaa6a2;
  --menu-brass: #c4aa78;
  --menu-border: #ffffff12;
  --menu-action: #45413b;
  --menu-action-deep: #35322e;
  --menu-heading: var(--font);
}
:is(.menu-screen, .sheet, .rslt, .prem-panel, .kick-card) {
  color-scheme: dark;
  --bg: var(--menu-bg);
  --bg-elev: var(--menu-panel);
  --ink: var(--menu-ink);
  --ink-dim: var(--menu-muted);
  --ink-faint: #969390;
  --accent: var(--menu-brass);
  --accent-deep: #8b7651;
  --surface: #ffffff06;
  --surface-strong: #ffffff0e;
  --surface-sunken: var(--menu-sunken);
  --line: #ffffff12;
  --line-strong: #ffffff24;
  --r-sm: 5px;
  --r-md: 8px;
  --r-lg: 12px;
  color: var(--ink);
}
.menu-screen { background: var(--menu-bg); }
.menu-screen .topbar {
  background: var(--menu-bg); border-bottom-color: var(--menu-border);
  backdrop-filter: none; -webkit-backdrop-filter: none; min-height: 64px;
}
.menu-screen .topbar h2 { font: 800 23px/1.15 var(--menu-heading); letter-spacing: -.8px; }
.menu-screen .back-btn { min-width: 40px; min-height: 40px; color: var(--menu-brass); }
.menu-screen .tabbar { background: var(--menu-bg); border-top-color: var(--menu-border); backdrop-filter: none; -webkit-backdrop-filter: none; }
.menu-screen .tabbar button { min-height: 64px; padding-top: 10px; font-size: 12px; color: var(--ink-faint); }
.menu-screen .tabbar button .ico { padding: 0 16px; opacity: .65; }
.menu-screen .tabbar button.active { color: var(--menu-ink); }
.menu-screen .tabbar button.active .ico { background: none; opacity: 1; }
.menu-screen .tabbar button.active::before {
  content: ''; position: absolute; top: -1px; left: 28%; right: 28%; height: 2px;
  background: var(--menu-brass);
}
:is(.menu-screen, .sheet) .auth-tabs {
  background: none; padding: 0; gap: 16px; border-radius: 0; border-bottom: 1px solid var(--line); flex-shrink: 0;
}
:is(.menu-screen, .sheet) .auth-tabs button {
  min-height: 44px; border-radius: 0; padding: 11px 4px; border-bottom: 2px solid transparent;
  background: none; color: var(--ink-dim); box-shadow: none;
}
:is(.menu-screen, .sheet) .auth-tabs button.active { background: none; color: var(--menu-ink); border-bottom-color: var(--menu-brass); box-shadow: none; }
:is(.menu-screen, .sheet, .rslt, .prem-panel) .btn { border-radius: 5px; min-height: 44px; white-space: normal; line-height: 1.25; }
:is(.menu-screen, .sheet, .rslt, .prem-panel) .btn.primary,
:is(.menu-screen, .sheet, .rslt, .prem-panel) .btn.primary:hover:not(:disabled) {
  background: linear-gradient(180deg, var(--menu-action), var(--menu-action-deep));
  border-color: var(--line-strong); color: #f8fbff; box-shadow: inset 0 1px 0 #ffffff0c, 0 3px 0 #060d15;
}
:is(.menu-screen, .sheet, .rslt, .prem-panel) .btn.ghost { background: var(--menu-panel); border-color: var(--menu-border); color: #e8cd97; }
:is(.menu-screen, .sheet, .rslt, .prem-panel) .btn.link { background: none; color: #e8cd97; border: 0; box-shadow: none; }
:is(.menu-screen, .sheet, .rslt, .prem-panel) .btn:active:not(:disabled) { transform: translateY(1px); }
:is(.menu-screen, .sheet) .input { border-radius: 5px; min-height: 46px; font-size: 16px; background: var(--menu-sunken); }
:is(.menu-screen, .sheet) .field > label { font-size: 13px; color: #d5d0c6; }
:is(.menu-screen, .sheet, .rslt) :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--menu-brass); outline-offset: 3px;
}
.menu-screen .card { box-shadow: none; border-radius: 10px; border-color: var(--menu-border); }
.menu-screen .list { gap: 10px; }
.menu-screen .list-row { border-radius: 8px; border-color: var(--line); padding: 14px 12px; }
.menu-screen .empty { color: var(--ink-dim); padding-block: 36px; line-height: 1.5; }
.menu-screen .chip { border-radius: 4px; }
.menu-screen .scroll { overscroll-behavior: contain; }

/* Лобби: обязательный выбор игры и компактные настройки. */
.menu-screen .lb-tools { gap: 8px; margin-bottom: 16px; }
.menu-screen .lb-tools .btn { font-size: 12px; padding-inline: 10px; }
.menu-screen .lb-games-pane { padding-bottom: 88px; }
.menu-screen .fab { border-radius: 5px; min-height: 48px; left: 16px; right: 16px; bottom: 16px; width: auto; }
.menu-screen .lb-room { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: start; }
.menu-screen .lb-room > .ico-img { margin-top: 4px; }
.menu-screen .lb-room .lb-room-title { flex-wrap: wrap; gap: 5px 8px; margin-bottom: 5px; }
.menu-screen .lb-room .lb-host { margin-top: 8px; flex-wrap: wrap; gap: 5px; }
.menu-screen .lb-room .lb-host > span { overflow-wrap: anywhere; }
.menu-screen .lb-room > .btn { align-self: center; padding-inline: 12px; }
.menu-screen .trn-lobby { background: var(--menu-panel); border-left: 2px solid var(--menu-brass); }
.menu-screen .trn-lobby .grow > .row { flex-wrap: wrap; row-gap: 6px; }
.menu-screen .casino-enter { color: var(--menu-brass); padding: 12px; font-size: 26px; }

/* Все диалоги, включая создание комнаты, помещаются в телефонную колонку. */
.sheet { background: var(--menu-panel); border-color: var(--menu-border); border-radius: 12px; max-height: min(86dvh, 720px); }
.sheet > * { flex-shrink: 0; }
.sheet.bottom { max-width: 460px; border-radius: 12px 12px 0 0; }
.sheet.full { max-width: 460px; justify-content: flex-start; }
.sheet.bottom::before { background: #b59d7170; }
.sheet h2, .sheet .cr-title { font: 800 23px/1.2 var(--menu-heading); letter-spacing: -.7px; }
.sheet .cr-item {
  width: 100%; font: inherit; color: var(--ink); text-align: left; background: var(--menu-sunken);
  border: 1px solid var(--line); border-radius: 6px; min-height: 60px; padding: 14px;
}
.sheet .cr-item:hover { background: var(--menu-panel-raised); border-color: var(--menu-border); }
.sheet .cr-item .small { margin-top: 4px; line-height: 1.45; }
.sheet .cr-item .ico-img { width: 34px; height: 34px; }
.sheet .cr-field { border-radius: 6px; border-color: var(--line-strong); padding-top: 10px; }
.sheet .cr-label { background: var(--menu-panel); color: var(--menu-brass); }
.sheet :is(.cr-arrow, .cr-back) { min-width: 44px; min-height: 44px; color: var(--menu-brass); }
.sheet .cr-val { font-size: 16px; overflow-wrap: anywhere; }
.sheet .cr-summary { border-top: 1px solid var(--menu-border); padding-top: 14px; color: var(--ink-dim); font-size: 13px; line-height: 1.5; }
.sheet .cr-create { border-radius: 5px; position: sticky; bottom: 0; flex-shrink: 0; }
.sheet .qty button { min-width: 40px; min-height: 40px; }

/* Профиль, игроки, инвентарь, задания. Аватары и цвета редкости сохранены. */
.menu-screen :is(.prof-head, .user-head) { background: none; border: 0; border-bottom: 1px solid var(--menu-border); border-radius: 0; padding-bottom: 24px; }
.menu-screen :is(.prof-head, .user-head) h2 { font: 800 26px/1.2 var(--menu-heading); letter-spacing: -.8px; overflow-wrap: anywhere; }
.menu-screen .prof-instats { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 14px; }
.menu-screen .prof-stat { min-width: 0; flex: 1; }
.menu-screen .prof-stat + .prof-stat { border-left: 1px solid var(--line); }
.menu-screen .prof-logout { border-radius: 5px; min-height: 44px; }
.menu-screen .prof-id { min-height: 36px; }
.menu-screen :is(.bonus, .quests) > .row b { font-size: 17px; }
.menu-screen :is(.pass-cell, .quest-row, .bonus-status.timer, .prem-strip, .prem-head) { border-radius: 6px; }
.menu-screen .pass-cell.active { border-color: var(--menu-brass); }
.menu-screen .quests { border-color: var(--menu-border); }
.menu-screen .quest-row { gap: 10px; padding: 12px 10px; }
.menu-screen .prof-head > .row { flex-wrap: wrap; justify-content: center; }
.menu-screen .prof-id { max-width: 100%; min-width: 0; }
.menu-screen .prof-id .prof-code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-screen .pass-cell .pill:not(.off) { background: var(--gold); color: #3a2a05; }
.menu-screen .set-card { border-color: var(--menu-border); }
.menu-screen .set-card h3 { color: var(--menu-ink); font-size: 17px; }
.menu-screen .bubble { background: var(--menu-panel); border-radius: 8px 8px 8px 2px; }
.menu-screen .bubble.mine { background: var(--menu-selected); color: #f5f1e8; border-color: #5786a65c; border-radius: 8px 8px 2px 8px; }
.menu-screen .bubble.mine .meta { color: var(--menu-muted); }
.menu-screen .bubble.mine .tick.read { color: #e8cd97; }
.menu-screen .bubble.failed { background: #4b232a; border-color: var(--danger); }
.menu-screen .composer { background: var(--menu-bg); border-color: var(--menu-border); }
.menu-screen .composer .chat-input { border-radius: 5px; }
.menu-screen .composer .send { border-radius: 5px; }

/* Турнирные панели и общие окна поверх досок. */
.menu-screen .trb-actions { background: var(--menu-bg); border-color: var(--menu-border); }
.menu-screen .rm-readiness { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.menu-screen .rm-readiness .rm-count { font-size: 22px; color: var(--menu-brass); }
.menu-screen .rm-seat.empty { padding: 0; }
.menu-screen .trb-node { border-radius: 6px; }
.menu-screen .trb-node:has(.trb-seat.me) { border-color: var(--menu-brass); }
.menu-screen .trb-seat.me { background: var(--menu-selected); }
.menu-screen .trb-seat.me .nm { color: #eaf6ff; }
.menu-screen .trb-seat.empty { padding: 7px 9px; }
.menu-screen .trb-col-title { color: var(--menu-brass); }
.menu-screen .trb-row-me { border-color: var(--menu-brass); }
.menu-screen .trb-cta { border-color: var(--menu-border); }
.ntf-card, .toast, .prem-panel { background: var(--menu-panel); color: var(--menu-ink); border-radius: 10px; }
.ntf-card { max-width: 440px; border-color: var(--menu-border); }
.prem-panel { border-color: var(--menu-border); }
.rslt { left: 50%; right: auto; width: min(100%, 460px); transform: translateX(-50%); background: var(--menu-bg); }
.rslt-title { font: 800 34px/1.15 var(--menu-heading); letter-spacing: -1px; }
.rslt-card { background: var(--menu-panel); border-color: var(--menu-border); border-radius: 10px; }
.rslt :is(.rslt-friend, .rslt-rematch, .rslt-leave) { border-radius: 5px; min-height: 46px; max-width: 100%; }
.rslt-leave { background: linear-gradient(180deg, var(--menu-action), var(--menu-action-deep)); border: 1px solid var(--line-strong); }
.rslt-back, .rslt-bubble, .kick-pill { border-radius: 6px; background: var(--menu-panel); }
.tourn-bar { background: var(--menu-bg); border-color: var(--menu-border); }
.match-screen > .topbar, .match-screen .action-bar, .match-screen .rp-bar { background: var(--menu-bg); border-color: var(--menu-border); }
.match-screen .match-hud { background: #17181aed; }
.match-screen .seat { border-radius: 6px; }
.match-screen .action-bar .btn { border-radius: 5px; }
.match-screen .action-bar .btn.primary,
.match-screen .action-bar .btn.primary:hover:not(:disabled) {
  background: linear-gradient(180deg, var(--menu-action), var(--menu-action-deep)); border-color: var(--line-strong); color: #f8fbff;
}
.menu-screen :is(.roul-panel, .roul-sunken, .roul-chat) { border-radius: 8px; }
@media (max-width: 360px) {
  .menu-screen .topbar h2 { font-size: 23px; }
  .menu-screen .lb-room { grid-template-columns: 30px minmax(0, 1fr); }
  .menu-screen .lb-room > .ico-img { width: 30px; height: 30px; }
  .menu-screen .lb-room > .btn { grid-column: 2; justify-self: start; }
  .menu-screen .pass-cell.active { flex-direction: column; justify-content: center; height: 64px; gap: 3px; padding: 5px; }
  .menu-screen .pass-cell.active .rw { flex: 0 0 auto; }
  .sheet { padding: 20px 16px; }
}

@media (max-height: 650px) {
  .guest-room .rm-game { display: grid; grid-template-columns: 48px auto; text-align: left; gap: 3px 12px; align-items: center; }
  .guest-room .rm-game > .ico-img { grid-row: span 2; width: 48px; height: 48px; }
  .guest-room .rm-game > b { font-size: 24px; }
  .guest-room .rm-wrap { gap: 10px; }
  .guest-room .rm-seats { padding-block: 6px; }
  .guest-room .rm-seat .avatar { width: 44px; height: 44px; }
  .guest-room .rm-code { font-size: 32px; }
}

/* Выбор игры занимает основное содержимое лобби, список раскрывается вертикально. */
.lb-picker-intro { padding: 16px 0 18px; }
.lb-picker-intro h2 { font: 800 27px/1.15 var(--menu-heading); letter-spacing: -.8px; margin: 0 0 10px; }
.lb-picker-intro p { margin: 0; font-size: 14px; line-height: 1.5; max-width: 30ch; }
.lb-game-picker { display: grid; border: 1px solid var(--menu-border); border-radius: 8px; overflow: hidden; background: var(--menu-panel); margin-bottom: 12px; }
.lb-game-option, .lb-selected-game { display: flex; align-items: center; gap: 12px; width: 100%; color: var(--menu-ink); text-align: left; border: 0; background: transparent; cursor: pointer; font: inherit; padding: 12px; min-height: 58px; }
.lb-game-option + .lb-game-option { border-top: 1px solid var(--line); }
.lb-game-option:hover, .lb-game-option[aria-pressed="true"] { background: var(--menu-panel-raised); }
.lb-game-option > span:last-child { color: var(--menu-brass); font-size: 22px; }
.lb-selected-game { padding-inline: 0; gap: 9px; }
.lb-selected-game b { font: 800 22px/1.15 var(--menu-heading); letter-spacing: -.5px; }
.lb-selected-game .small { font-size: 11px; max-width: 6ch; }
.lb-filter-strip { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0; border-block: 1px solid var(--menu-border); }
.lb-filter { flex: 1 1 90px; min-width: 0; display: flex; flex-direction: column; gap: 2px; background: var(--menu-panel); border-radius: 4px; padding: 5px 7px 0; }
.lb-filter > span { color: var(--menu-muted); font-size: 10px; line-height: 1.2; overflow-wrap: anywhere; }
.lb-filter select { min-width: 0; width: 100%; min-height: 32px; border: 0; background: transparent; color: var(--menu-ink); font: 500 12px/1.2 var(--font); cursor: pointer; color-scheme: dark; }
.lb-filter select option { background: var(--menu-panel); }
.menu-screen .lb-tools { margin-top: 9px; margin-bottom: 14px; gap: 6px; }
.lb-reset { background: none; border: 0; color: var(--menu-brass); cursor: pointer; padding: 8px 0; font: inherit; font-size: 12px; }
.menu-screen .lb-room { grid-template-columns: 30px minmax(0, 1fr); gap: 6px 9px; padding: 12px; background: var(--menu-panel); }
.menu-screen .lb-room > .ico-img { width: 30px; height: 30px; }
.menu-screen .lb-room > .btn { grid-column: 2; justify-self: stretch; margin-top: 3px; min-height: 38px; }
.lb-seats { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: var(--menu-muted); margin-left: auto; }
.lb-params { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; margin: 10px 0; padding-block: 9px; border-block: 1px solid var(--line); }
.lb-params > div { min-width: 0; }
.lb-params dt { color: var(--menu-muted); font-size: 10px; line-height: 1.25; margin-bottom: 2px; }
.lb-params dd { margin: 0; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.cr-progress { display: flex; justify-content: space-between; align-items: center; color: var(--menu-brass); text-transform: uppercase; font-size: 10px; letter-spacing: 1.3px; }
.cr-progress > span { display: flex; gap: 4px; }
.cr-progress i { width: 23px; height: 2px; background: var(--line-strong); }
.cr-progress i.on { background: var(--menu-brass); }
.cr-game-caption { display: flex; align-items: center; gap: 8px; color: var(--menu-muted); font-size: 13px; }
.sheet .cr-wager.selected { border-color: var(--menu-brass); background: #ccb17e0e; }
.cr-choice-mark { font-size: 23px; color: var(--menu-brass); }
.cr-notice { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.5; color: var(--menu-muted); margin: 0; padding: 11px 12px; border-left: 2px solid var(--menu-brass); background: var(--menu-sunken); }
.cr-notice > svg { flex-shrink: 0; margin-top: 2px; }
.create-game-sheet .cr-title { flex: 1; }

/* Профиль: компактная личная карточка, затем собственное поле блоков. */
.menu-screen .prof-identity { display: flex; align-items: stretch; text-align: left; padding: 12px 0 0; gap: 12px; }
.menu-screen .prof-identity.has-hat { padding-top: 0; }
.prof-identity-row { display: flex; align-items: center; gap: 14px; }
.prof-identity-row > .hat-wrap { flex-shrink: 0; --avatar-size: clamp(64px, 19vw, 76px) !important; }
.prof-identity-text { flex: 1; min-width: 0; }
.prof-name { display: flex; align-items: center; gap: 7px; font: 800 23px/1.15 var(--menu-heading); letter-spacing: -.6px; overflow-wrap: anywhere; }
.prof-name b { font-weight: 500; min-width: 0; }
.menu-screen .prof-identity .prof-id { padding: 4px 0; }
.prof-edit { flex: 0 0 40px; width: 40px; height: 44px; border: 1px solid var(--menu-border); border-radius: 5px; color: var(--menu-brass); background: var(--menu-panel); cursor: pointer; }
.prof-description { line-height: 1.5; overflow-wrap: anywhere; }
.prof-share { display: flex; align-items: center; gap: 8px; padding: 9px 12px; min-height: 40px; border: 1px solid var(--menu-border); background: var(--menu-panel); color: var(--menu-brass); border-radius: 5px; text-align: left; font: inherit; font-size: 12px; cursor: pointer; }
.menu-screen .prof-identity .prof-instats { margin-top: 0; padding-block: 12px; }
.menu-screen .prof-identity .prof-stat { display: grid; grid-template-columns: 24px auto; grid-template-rows: auto auto; justify-content: center; column-gap: 9px; padding: 0 6px; border-radius: 0; }
.prof-identity .prof-stat > .ico-img { grid-row: span 2; }
.prof-identity .prof-stat > b { font-size: 21px !important; line-height: 1.1; }
.prof-identity .prof-stat > .tiny { font-size: 10px; }
.profile-blocks { display: flex; flex-direction: column; gap: 12px; }

/* Морской бой: исключительно внешние панели. Canvas, корабли, кольца и эффекты не меняются. */
.match-screen .bs-dock { background: var(--menu-bg); border-top: 1px solid var(--menu-border); border-radius: 8px 8px 0 0; color: var(--menu-ink); }
.match-screen .bs-grip { background: var(--menu-brass); opacity: .55; }
.match-screen .bs-place-head { background: var(--menu-panel); border: 1px solid var(--menu-border); border-radius: 6px; padding-block: 7px; }
.match-screen .bs-who, .match-screen .bs-pname { color: var(--menu-muted); }
.match-screen .bs-clock { border-radius: 4px; background: var(--menu-panel); border: 1px solid var(--menu-border); color: var(--menu-ink); }
.match-screen .bs-clock.low { color: var(--danger); }
.match-screen .bs-timer { color: var(--menu-brass); }
.match-screen .bs-hint { color: var(--menu-muted); }
.match-screen .bs-dock .btn { border-radius: 5px; min-height: 40px; }
.match-screen .bs-dock .btn.ghost { background: var(--menu-panel); border-color: var(--menu-border); color: var(--menu-brass); }

/* Mobile alignment is explicit: native controls otherwise inherit platform-specific text placement. */
:is(.menu-screen, .sheet, .guest-scene) .btn,
:is(.menu-screen, .sheet) .auth-tabs button { text-align: center; justify-content: center; align-items: center; }
.menu-screen .empty { width: 100%; text-align: center; justify-items: center; }
.menu-screen .empty > :is(div, p, b, h3) { width: 100%; max-width: 30ch; margin-inline: auto; text-align: center; overflow-wrap: anywhere; }
.sheet .cr-row { display: grid; grid-template-columns: 24px 38px minmax(0, 1fr) 38px 24px; gap: 0; }
.sheet .cr-ico { grid-column: 1; display: flex; align-items: center; justify-content: center; }
.sheet .cr-arrow { min-width: 38px; width: 38px; padding: 0; text-align: center; }
.sheet .cr-val { min-width: 0; width: 100%; text-align: center; }
.sheet .cr-field { padding: 9px 10px 5px; }
.sheet .cr-label { font-size: 11px; }

/* A single lobby control panel with quiet secondary actions. */
.lb-filter-area { background: var(--menu-panel); border: 1px solid var(--menu-border); border-radius: 8px; padding: 0 12px; margin-bottom: 16px; }
.lb-filter-area:has(.initial) { background: none; border: 0; padding: 0; }
.lb-selected-game { min-height: 56px; padding-block: 10px; }
.lb-selected-game b { font-size: 22px; }
.lb-game-chevron { color: var(--menu-brass); width: 28px; text-align: center; font-size: 20px; }
.lb-filter-strip { gap: 0; padding: 8px 0; border-color: var(--line); }
.lb-filter { flex: 1 1 85px; padding: 3px 7px; border-radius: 0; background: none; }
.lb-filter + .lb-filter { border-left: 1px solid var(--line); }
.lb-filter > span { min-height: 12px; font-size: 10px; }
.lb-filter select { appearance: none; -webkit-appearance: none; min-height: 32px; font-size: 12px; padding: 0 16px 0 0; background-image: linear-gradient(45deg, transparent 50%, #ccb17e 50%), linear-gradient(135deg, #ccb17e 50%, transparent 50%); background-position: calc(100% - 5px) 50%, 100% 50%; background-size: 5px 5px; background-repeat: no-repeat; text-align: left; }
.menu-screen .lb-tools { margin: 0; gap: 0; min-height: 44px; justify-content: space-between; }
.lb-tool { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px; border: 0; background: none; color: var(--menu-muted); font: 500 12px/1.2 var(--font); text-align: center; cursor: pointer; }
.lb-tool:hover { color: var(--menu-brass); }
.lb-refresh { font-size: 20px; width: 38px; }
.lb-reset { font-size: 11px; min-height: 44px; padding-right: 6px; }
.menu-screen .lb-empty { padding: 30px 10px; gap: 10px; }
.menu-screen .lb-empty b { color: var(--menu-ink); font-size: 16px; font-weight: 500; }
.menu-screen .lb-empty .small { font-size: 13px; line-height: 1.5; }
.menu-screen .lb-room { gap: 5px 9px; padding: 10px; }
.lb-params { gap: 6px 10px; padding-block: 7px; margin-block: 7px; }
.menu-screen .lb-room .lb-host { margin-top: 5px; }
.menu-screen .lb-room .lb-host .avatar { width: 24px; height: 24px; font-size: 10px; }

/* Two clear choices followed by a touch-scroll stake rail. */
.cr-wager-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sheet .cr-wager { flex-direction: column; align-items: center; gap: 5px; min-height: 90px; padding: 12px 8px; text-align: center; }
.cr-wager .cr-choice-mark { font-size: 15px; line-height: 1; }
.cr-wager .small { font-size: 11px; }
.cr-wager .grow { min-width: 0; }
.stake-picker { min-width: 0; padding-block: 10px; border-block: 1px solid var(--menu-border); }
.stake-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--menu-muted); font-size: 12px; margin-bottom: 10px; }
.stake-heading b { color: var(--menu-brass); font-size: 20px; font-variant-numeric: tabular-nums; }
.stake-rail { position: relative; display: flex; gap: 7px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding: 3px 2px 8px; scrollbar-width: thin; scrollbar-color: #a88a5466 transparent; }
.stake-option { flex: 0 0 auto; min-width: 62px; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--menu-bg); color: var(--menu-ink); font: 600 14px/1.2 var(--font-num); text-align: center; cursor: pointer; scroll-snap-align: center; }
.stake-option[aria-pressed="true"] { background: #ccb17e; border-color: #f0d39b; color: #13212d; }
.stake-hint { font-size: 10px; line-height: 1.4; color: var(--menu-muted); margin-top: 5px; text-align: center; }
.create-game-sheet { gap: 12px; }
.create-game-sheet .cr-notice { padding: 9px 10px; font-size: 11px; }
.create-game-sheet .form-error:empty { display: none; }
.create-game-sheet .cr-create { margin-top: 4px; }

/* Keep layout measurable while modules, assets and game-specific chrome settle. */
.match-screen { background-color: var(--menu-bg); position: relative; }
.match-screen.board-pending > :not(.board-boot), .match-screen.board-pending > :not(.board-boot) * { visibility: hidden !important; pointer-events: none; }
.board-boot { display: none; }
.board-pending > .board-boot { display: flex; position: absolute; inset: 0; z-index: 40; align-items: center; justify-content: center; flex-direction: column; gap: 16px; background: var(--menu-bg); color: #a8b7c6; font-size: 14px; }

.match-screen .mt-loading-card { border-radius: 8px; background: var(--menu-panel); border-color: #cbb17c38; }

/* Presence check: stable controls, a clear deadline, no flashing full-screen alarm. */
.kick-overlay.full { max-width: 460px; margin: auto; background: #17181ae8; backdrop-filter: none; -webkit-backdrop-filter: none; }
.kick-card { background: var(--menu-panel); border: 1px solid #cfb78366; border-radius: 8px; gap: 16px; padding: 24px; }
.kick-card > .avatar, .kick-card > .hat-wrap { align-self: center; }
.kick-body { margin: 0; line-height: 1.55; color: #a9bac7; font-size: 13px; }
.kick-title { font-size: 24px; }.kick-countdown { display: flex; gap: 9px; align-items: baseline; justify-content: center; color: #c2cdd4; }
.kick-countdown strong { font: 800 42px/1 var(--font); color: #f5d895; font-variant-numeric: tabular-nums; }
.kick-track { height: 4px; background: #ffffff13; overflow: hidden; width: 100%; }
.kick-progress { display: block; height: 100%; background: #d7bc7f; transition: width .25s linear; }
.kick-stay { border-radius: 5px; border: 1px solid var(--menu-brass); background: linear-gradient(var(--menu-action),var(--menu-action-deep)); color: #fff6e6; animation: none; padding: 15px; font-size: 17px; }
.kick-overlay.pill { width: min(calc(100% - 24px), 420px); }
.kick-pill { position: relative; display: flex; width: 100%; padding: 12px; border-radius: 6px; background: #242528f5; border: 1px solid #bca46a77; font-size: 12px; }
.kick-pill .small { font-size: 11px; font-weight: 400; color: #a9bac7; margin-top: 3px; }
.kick-pill .kick-left { color: #efd69e; font: 700 24px var(--font); font-variant-numeric: tabular-nums; }
.kick-pill .kick-track { position: absolute; bottom: 0; left: 0; }
.kick-request h2 { font-size: 24px; }.kick-choices { display: flex; flex-direction: column; gap: 6px; }
.kick-choice { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid #718b9c55; border-radius: 5px; background: var(--menu-sunken); color: #e4ebee; text-align: left; cursor: pointer; }
.kick-choice[aria-pressed=true] { border-color: var(--menu-brass); background: var(--menu-selected); }

/* Search controls and room results are separate visual sections. */
.lb-filter-area { margin-bottom: 22px; padding: 12px; border-color: #5e809f70; background: var(--menu-bg); border-radius: 6px; }
.lb-filter-label { display: flex; align-items: center; gap: 7px; color: #93bad8; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; }
.lb-filter-area .lb-selected-game { min-height: 46px; padding: 8px 0; }
.lb-filter-area .lb-selected-game b { font-size: 19px; }
.lb-filter-area .lb-selected-game > .ico-img { width: 25px; height: 25px; }
.lb-filter-strip { border-top: 1px solid #8da9bd22; border-bottom: 0; margin-bottom: 6px; }
.lb-filter { background: #ffffff04; }.menu-screen .lb-tools { border-top: 1px solid #8da9bd22; min-height: 36px; }
.lb-tool,.lb-reset { min-height: 36px; font-size: 11px; }.lb-refresh { font-size: 20px; }
.lb-list-heading { padding: 0 2px 10px; }.lb-list-heading:empty { display: none; }
.lb-list-heading h3 { font-size: 16px; font-weight: 800; color: #eee7d9; }
.lb-list-heading p { margin: 5px 0 0; font-size: 11px; color: #8195a7; }
.lb-result-count { color: #a9bdcb; font: 600 12px var(--font-num); }
.lb-room-list { gap: 7px; }
.lb-room-compact { width: 100%; background: var(--menu-panel); border: 1px solid #899dad38; border-radius: 5px; overflow: hidden; }
.lb-room-summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 12px; min-height: 72px; cursor: pointer; }
.lb-room-summary::-webkit-details-marker { display: none; }.lb-room-summary::marker { content: ''; }
.lb-room-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.lb-room-who b { color: #f0e8d8; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-room-who > span { font-size: 10px; color: #8197a8; }
.lb-room-facts { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex: 0 0 auto; }
.lb-room-facts strong { font-size: 11px; font-weight: 600; color: #c2d3de; }.lb-room-facts .coins { color: #e8ca86; }
.lb-room-facts > span { display: flex; gap: 4px; align-items: center; color: #9bafbd; font-size: 11px; }
.lb-room-arrow { color: #bca675; font-size: 17px; }
.lb-room-compact[open] { border-color: #bca67577; }.lb-room-compact[open] .lb-room-arrow { transform: rotate(180deg); }
.lb-room-detail { margin: 0 12px; padding-bottom: 12px; border-top: 1px solid #899dad30; }
.lb-room-detail .lb-params { border: 0; margin: 0; padding: 12px 0; }
.lb-room-detail .lb-host { margin-bottom: 10px; }.lb-room-detail .lb-host .avatar { width: 22px; height: 22px; font-size: 10px; }
.lb-room-detail .btn { min-height: 40px; }
.lb-waiting:empty { display: none; }
.lb-filter-area { margin-bottom: 4px; }
.lb-filter-area .lb-filter-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; }
.lb-filter-area .lb-filter { border: 0; padding: 5px 7px; }
.lb-list-heading { padding-bottom: 0; }
.menu-screen .lb-room-list { gap: 7px; }
.lb-other-games{display:grid;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid #71899c3d}.lb-other-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 2px}.lb-other-heading h3{margin:0;color:#f0e7d7;font:800 16px/1.2 var(--menu-heading)}.lb-other-heading p{margin:4px 0 0;color:#8298a9;font-size:10px}.lb-other-games>.list{gap:7px}.lb-other-games .lb-room-summary{min-height:64px}

/* The game selector belongs to the header; only game settings live below the tabs. */
.menu-screen .lb-topbar{position:relative;z-index:12;gap:10px;padding-inline:12px}
.lb-topbar h2{flex:0 0 auto;margin:0}.lb-top-game{flex:1;min-width:0}.lb-top-game[hidden]{display:none}
.lb-top-game-button{width:100%;min-height:42px;display:flex;align-items:center;gap:7px;border:1px solid #5e7080;border-radius:8px;padding:7px 9px;background:var(--menu-panel-raised);color:#f5e9cf;font:inherit;cursor:pointer;box-shadow:inset 0 1px #ffffff0c}
.lb-top-game-button b{flex:1;min-width:0;font:700 13px/1.2 var(--menu-heading);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-top-game-button .ico-img{flex-shrink:0}.lb-top-chevron{color:#e6c882;font-size:17px;flex:0 0 auto}
.lb-dropdown{position:absolute;left:12px;right:12px;top:calc(100% + 6px);padding:10px;background:var(--menu-panel);border:1px solid #647282;border-radius:10px;box-shadow:0 18px 42px #0009;display:flex;flex-direction:column;gap:8px;max-height:min(65vh,480px)}
.lb-dropdown-list{overflow:auto;min-height:0;overscroll-behavior:contain}.lb-dropdown .input{flex:0 0 auto;min-height:42px}.lb-dropdown .lb-game-option{border-bottom:1px solid #ffffff0b;border-radius:5px}.lb-dropdown .lb-game-option[aria-pressed=true]{background:var(--menu-selected);color:#ffe2a3}.lb-dropdown .lb-game-option[hidden]{display:none}.lb-topbar .dot-btn{margin-left:auto;flex:0 0 auto;min-width:40px;padding:8px!important}.lb-topbar .dot-btn .ico-img{width:22px;height:22px}
@media(max-width:359px){.menu-screen .lb-topbar{gap:7px}.menu-screen .lb-topbar h2{font-size:20px}.lb-top-game-button{gap:4px;padding-inline:6px}.lb-top-game-button b{font-size:11px}}

/* Sudoku separates puzzle rules from the match format. */
.sheet .cr-sudoku-type{display:block;padding:9px 10px 5px;border-color:var(--line-strong);background:var(--menu-panel)}.cr-sudoku-current{display:flex;align-items:center;gap:10px;min-height:45px;list-style:none;cursor:pointer;padding:3px 6px;color:#f3e7cb;font:700 15px var(--font)}.cr-sudoku-current::-webkit-details-marker{display:none}.cr-sudoku-current>b{flex:1;min-width:0}.cr-variant-mark{display:grid;place-items:center;flex:0 0 26px;height:26px;border:1px solid #a78e5c77;border-radius:5px;background:var(--menu-selected);color:#e1c78c;font:800 16px var(--font)}.cr-variant-arrow{font-size:20px;color:#d5b97c;transition:transform .18s}.cr-sudoku-type[open] .cr-variant-arrow{transform:rotate(180deg)}.cr-variant-options{border-top:1px solid var(--line-strong);padding:5px 0 7px}.cr-variant-group{display:block;margin:9px 7px 5px;color:var(--menu-muted);font:700 9px var(--font);text-transform:uppercase;letter-spacing:.7px}.cr-variant-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 7px;border:1px solid transparent;border-radius:5px;text-align:left;background:transparent;color:var(--menu-ink);cursor:pointer}.cr-variant-option[aria-pressed=true]{border-color:#bd9f60;background:var(--menu-selected)}.cr-variant-copy{display:grid;gap:4px;flex:1;min-width:0}.cr-variant-copy b{font:700 13px var(--font)}.cr-variant-copy small{font:500 10px/1.3 var(--font);color:var(--menu-muted)}.cr-variant-check{color:#edd393;font:800 16px var(--font)}.cr-sudoku-current:focus-visible,.cr-variant-option:focus-visible{outline:2px solid #ecd18d;outline-offset:1px}
.cr-sudoku-format{padding:10px 12px;border-left:3px solid #c4a970;background:var(--menu-panel);font:650 12px/1.4 var(--font);color:#e8d6af}

/* Puzzle settings: parameters together, one explanation, no decorative variant badges. */
.cr-puzzle-settings{border:1px solid var(--line-strong);border-radius:8px;background:var(--menu-sunken);overflow:hidden}
.sheet .cr-puzzle-settings .cr-field{margin:0;border:0;border-radius:0;padding:10px 12px;background:var(--menu-panel)}
.cr-puzzle-settings .cr-label{position:static;background:none;padding:0;font:600 11px var(--font);color:var(--menu-muted)}
.cr-puzzle-settings .cr-sudoku-current{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:5px;padding:0;min-height:46px}
.cr-puzzle-settings .cr-sudoku-current .cr-label{grid-column:1}.cr-puzzle-settings .cr-sudoku-current>b{grid-column:1;font-size:16px}.cr-puzzle-settings .cr-variant-arrow{grid-column:2;grid-row:1/3}
.cr-choice-row{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line-strong)}.cr-choice-row>span,.cr-fixed-row>span{color:var(--menu-muted);font:600 11px var(--font)}
.cr-segments{display:flex;gap:4px;padding:3px;border-radius:6px;background:var(--menu-sunken)}.cr-segments button{flex:1;min-width:0;min-height:36px;padding:7px 3px;border:1px solid transparent;border-radius:4px;background:none;color:var(--menu-muted);font:650 12px var(--font);cursor:pointer}
.cr-segments button[aria-pressed=true]{border-color:#a88f5c;background:var(--menu-selected);color:#ffdf9b;box-shadow:inset 0 -2px #cdb077}
.cr-fixed-row{display:flex;justify-content:space-between;gap:12px;padding:13px;border-top:1px solid var(--line-strong);align-items:center}.cr-fixed-row b{font-size:12px;color:#e1cfaa}
.cr-puzzle-explanation{border:1px solid var(--line-strong);border-radius:8px;padding:12px;background:var(--menu-sunken)}.cr-puzzle-explanation .sv-rules{border:0;border-radius:0;padding:0;background:none}.cr-puzzle-explanation .sv-rule-head{display:none}.cr-puzzle-explanation .sv-rules p{margin-top:0}.cr-puzzle-explanation>small{display:block;color:var(--menu-muted);font:500 10px/1.5 var(--font);margin-top:10px}.cr-puzzle-explanation>p{font:500 12px/1.5 var(--font);color:var(--menu-ink)}
.cr-mine-sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cr-mine-sizes button{display:grid;gap:6px;min-height:64px;border:1px solid var(--line-strong);border-radius:5px;background:var(--menu-panel-raised);color:#e6e2d6;padding:8px 2px;cursor:pointer}.cr-mine-sizes button[aria-pressed=true]{border:2px solid #d8bc7e;background:var(--menu-selected)}.cr-mine-sizes b{font:750 14px var(--font)}.cr-mine-sizes small{font:500 10px var(--font);color:var(--menu-muted)}
.cr-rules-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--line-strong);border-radius:7px;background:var(--menu-panel);color:#e5d1a5;font:650 13px var(--font);cursor:pointer}.cr-rules-link>span:last-child{color:var(--menu-muted);font-size:19px}.game-rules-dialog{gap:16px}.cr-rules-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.cr-rules-heading h2{font:800 22px var(--font);margin:0}.cr-rules-close{width:38px;height:38px;border:1px solid var(--line-strong);border-radius:7px;background:var(--menu-panel-raised);color:#f0dfbf;font:500 26px var(--font);cursor:pointer}.sheet .cr-mine-sizes{grid-template-columns:1fr;gap:8px}.sheet .cr-mine-sizes button{display:flex;align-items:center;gap:16px;min-height:76px;padding:12px 15px;border:1px solid var(--line-strong);border-radius:6px;background:var(--menu-panel);text-align:left}.sheet .cr-mine-sizes button[aria-pressed=true]{border:1px solid #d8bc7e;box-shadow:inset 3px 0 #d8bc7e;background:var(--menu-selected)}.cr-mine-preview{display:grid;grid-template-columns:repeat(var(--cols),5px);gap:2px;min-width:54px;justify-content:center}.cr-mine-preview i{width:5px;height:5px;background:#44464a;border-radius:1px}.cr-mine-sizes [aria-pressed=true] .cr-mine-preview i{background:#d6bd81}.cr-mine-copy{flex:1;display:grid;gap:6px}.sheet .cr-mine-sizes b{font-size:19px;letter-spacing:.5px}.sheet .cr-mine-sizes small{font-size:11px}.cr-mine-check{color:#e4cc92;font:800 20px var(--font);width:22px;text-align:center}

.cr-budget-note{margin:0;padding:9px 12px;font-size:11px;line-height:1.4;color:var(--menu-muted,#a7bac9);background:var(--menu-sunken);}

/* Matte tabletop surfaces, shared with detached dialogs above. */
.menu-screen .topbar { border-bottom-color: #ffffff09; }
.menu-screen .tabbar { background: #1b1c1f; border-top-color: #ffffff0d; }
.menu-screen :is(.card:not(.prof-head):not(.user-head), .list-row, .lb-room-compact,
  .lb-filter-area, .lb-game-picker, .settings-profile, .set-card, .set-language) {
  background: var(--menu-panel);
  border: 1px solid var(--menu-border);
  border-radius: 8px;
  box-shadow: 0 2px 5px #0004, inset 0 1px #ffffff05;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.menu-screen :is(.lb-room-compact[open], .card.selected, .list-row.selected) { border-color: #c4aa7880; }
.menu-screen .lb-room-detail { border-top-color: var(--line); }
.menu-screen :is(.lb-room-who b, .lb-list-heading h3, .lb-other-heading h3) { color: var(--menu-ink); }
.menu-screen :is(.lb-room-who > span, .lb-list-heading p, .lb-other-heading p,
  .lb-room-facts > span, .lb-result-count, .lb-filter-label) { color: var(--menu-muted); }
.menu-screen .lb-room-facts strong:not(.coins) { color: #d4cfca; }
.menu-screen .lb-filter-area:has(.initial) { background: none; border: 0; box-shadow: none; }
.menu-screen .lb-filter { background: #1e1f22; border-radius: 5px; }
.menu-screen :is(.lb-filter-strip, .lb-tools, .lb-other-games) { border-color: var(--line); }
.menu-screen .lb-top-game-button { background: #292a2e; border-color: #ffffff1d; color: var(--menu-ink); box-shadow: 0 2px 5px #0003, inset 0 1px #ffffff05; }
.menu-screen .lb-dropdown { background: #202124; border-color: #ffffff1d; box-shadow: 0 14px 32px #0008; }
.menu-screen .lb-game-option { border-color: var(--line); }
.menu-screen .lb-game-option[aria-pressed=true] { background: #303034; color: #e2cda6; box-shadow: inset 0 0 0 1px #c4aa7866; }
.menu-screen .input { background: #1b1c1f; border-color: var(--line-strong); }
.menu-screen .btn { border-radius: 7px; }
.menu-screen .btn.ghost { background: #292a2e; border-color: #ffffff16; color: #d7cbc0; box-shadow: 0 2px 4px #0003; }
.menu-screen .btn.primary,
.menu-screen .btn.primary:hover:not(:disabled) { background: var(--menu-action); border-color: var(--line-strong); color: #f3f0eb; box-shadow: 0 3px 8px #0004, inset 0 1px #ffffff0c; }
.menu-screen .fab { border-radius: 8px; }
.menu-screen :is(.prof-share, .prof-edit) { background: var(--menu-panel); border-color: var(--menu-border); color: #d6c5ac; border-radius: 7px; box-shadow: 0 2px 5px #0003; }
.menu-screen .set-language-options { background: #1b1c1f; border-color: var(--line); }
.menu-screen .set-language-options button { color: var(--menu-muted); }
.menu-screen .set-language-options button[aria-pressed=true] { background: #343538; color: var(--menu-ink); box-shadow: inset 0 0 0 1px #ffffff1d; }
.menu-screen .set-profile-mark { background: #353638; color: #d6c5ac; }
.menu-screen .trn-lobby { border-left-color: #c4aa7870; }
.menu-screen .card.trn-wait { border-color: #c4aa7866; background: #2a2927; }
@media (hover:hover) {
  .menu-screen :is(.card.tap, .list-row.tap, .list-row.person, .lb-room-compact):hover { background: var(--menu-panel-raised); border-color: #ffffff24; }
  .menu-screen .btn.ghost:hover:not(:disabled) { background: #333438; }
}
.menu-screen :is(.card.tap, .list-row.tap):active { transform: none; background: #1e1f22; box-shadow: inset 0 2px 7px #0005; }
@media (prefers-reduced-motion:reduce) {
  .menu-screen :is(.card, .list-row, .lb-room-compact, .lb-filter-area, .lb-game-picker, .settings-profile, .set-card, .set-language) { transition: none; }
}

/* Compact, initially folded search controls and an in-list room action. */
.menu-screen .lb-games-pane { padding-bottom: 20px; }
.lb-games-pane > * { flex-shrink: 0; }
.menu-screen .lb-filter-area:not(:has(.initial)) { padding: 0; overflow: hidden; margin-bottom: 16px; }
.lb-filter-toggle { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 62px; padding: 12px 14px; background: none; border: 0; border-radius: 8px; color: var(--menu-ink); text-align: left; font: inherit; cursor: pointer; }
.lb-filter-toggle > svg { color: var(--menu-muted); flex-shrink: 0; }
.lb-filter-caption { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.lb-filter-caption b { font-size: 13px; font-weight: 600; line-height: 18px; }
.lb-filter-caption small { font-size: 11px; line-height: 16px; color: var(--menu-muted); }
.lb-filter-chevron { color: var(--menu-brass); font-size: 20px; transition: transform .22s ease; }
.lb-filter-area[data-open=true] .lb-filter-chevron { transform: rotate(180deg); }
.lb-filter-content { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .24s ease, opacity .18s ease; }
.lb-filter-area[data-open=true] .lb-filter-content { grid-template-rows: 1fr; opacity: 1; }
.lb-filter-inner { min-height: 0; overflow: hidden; padding: 0 12px; }
.lb-filter-inner .lb-filter-strip { margin: 0; padding: 10px 0; gap: 8px; align-items: stretch; }
.lb-filter-inner .lb-filter { display: grid; grid-template-rows: 16px 32px; gap: 2px; padding: 8px 10px; text-align: left; }
.lb-filter-inner .lb-filter > span { font: 500 11px/16px var(--font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-filter-inner .lb-filter select { height: 32px; padding-block: 0; font: 500 12px/32px var(--font); text-align: left; }
.lb-filter-inner .lb-tools { flex-wrap: wrap; gap: 6px; padding-block: 6px; }
.lb-filter-inner .lb-tool, .lb-filter-inner .lb-reset { min-height: 36px; }
.menu-screen .lb-filter-inner .lb-tools { margin-bottom: 5px; }
.lb-create-room { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 78px; padding: 15px 14px; margin-bottom: 3px; border: 1px dashed #c4aa7870; border-radius: 8px; background: transparent; box-shadow: none; color: var(--menu-ink); text-align: left; font: inherit; cursor: pointer; transition: background .18s ease, border-color .18s ease; }
.lb-create-mark { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border: 0; border-radius: 0; background: transparent; color: #dfc89f; font: 400 26px/1 var(--font); }
.lb-create-copy { display: flex; flex-direction: column; flex: 1; gap: 5px; min-width: 0; }
.lb-create-copy b { font-size: 15px; font-weight: 650; color: #e8dcc8; }
.lb-create-copy small { font-size: 11px; line-height: 1.4; color: #aaa6a2; }
.lb-create-arrow { color: #c4aa78; font-size: 24px; }
@media(hover:hover) { .lb-create-room:hover { background: #ffffff03; border-color: #c4aa7888; } .lb-filter-toggle:hover { background: #ffffff03; } }
.lb-create-room:active { background: #ffffff06; }
@media(prefers-reduced-motion:reduce) { .lb-filter-content,.lb-filter-chevron,.lb-create-room { transition: none; } }
