/* 按已确认的磨砂设计稿统一背景、色彩与控件；计分区沿用原排布。 */
:root {
  color-scheme: light;
  --bg: #eff2f4;
  --ink: #26352e;
  --muted: #65716a;
  --faint: var(--muted);
  --accent: #3f6650;
  --accent-deep: #31523f;
  --accent-soft: #e8f0e9;
  --positive: var(--accent);
  --negative: #b3534a;
  --warning: #7b5c2e;
  --glass: rgba(255,255,255,.4);
  --glass-strong: rgba(255,255,255,.86);
  --glass-edge: rgba(255,255,255,.48);
  --control: rgba(255,255,255,.5);
  --control-edge: rgba(47,71,56,.16);
  --control-shadow: 0 2px 6px -3px rgba(40,58,81,.2), inset 0 1px 0 rgba(255,255,255,.8);
  --chip: rgba(72,100,83,.065);
  --line: rgba(47,71,56,.11);
  --panel-radius: 24px;
  --shadow: 0 12px 32px -24px rgba(42,58,81,.16), 0 2px 8px -5px rgba(42,58,81,.07);
  --rim: inset 0 1px 0 rgba(255,255,255,.5);
}
body { background: var(--bg); line-height: 1.45; }
/* 入场后释放 opacity 合成层，让内部玻璃能采样页面背景。 */
.view-enter { animation-fill-mode: backwards; }
.ambient { inset: -60px; background: linear-gradient(135deg,rgba(192,212,228,.72),transparent 45%),linear-gradient(28deg,rgba(216,228,216,.65),transparent 44%),linear-gradient(165deg,transparent 40%,rgba(230,220,211,.45) 66%,rgba(205,224,230,.6)); filter: blur(32px); }
.ambient i { display: none; }
.ambient::before, .ambient::after { content: none; }
.glass {
  background: var(--glass);
  border-color: var(--glass-edge);
  box-shadow: var(--shadow), var(--rim);
  -webkit-backdrop-filter: blur(42px) saturate(1.2);
  backdrop-filter: blur(42px) saturate(1.2);
}
.glass::before { content: none; }
.brand-mark { color: var(--ink); background: var(--control); border-color: var(--glass-edge); box-shadow: var(--rim); }
.brand h1 { font-size: 20px; letter-spacing: .025em; }
.brand p { letter-spacing: .035em; }
.icon-button, .room-code { background: var(--control); border-color: var(--control-edge); color: var(--ink); box-shadow: var(--control-shadow); }
.topbar > .icon-button[data-action="rules"] { background: transparent; border: 0; box-shadow: none; }
.room-code { color: var(--muted); }
.score-card { background: var(--glass); }
.score-card::after { content: none; }
.score-card > * { position: relative; z-index: 1; }
.role-tag { color: var(--muted); background: var(--chip); }
.live-dot { background: var(--muted); box-shadow: 0 0 0 3px var(--chip); }
.live-dot.active { background: #c5524e; box-shadow: 0 0 0 3px rgba(197,82,78,.1); }
.live-dot.offline { background: #a87945; box-shadow: 0 0 0 3px rgba(168,121,69,.1); }
.primary-button { background: var(--accent); border: 0; box-shadow: none; font-weight: 550; }
.secondary-button, .quiet-button { background: var(--control); border-color: var(--control-edge); box-shadow: var(--control-shadow); }
.segmented, .form-field input { background: var(--chip); border-color: var(--line); }
.form-field input { border-color: var(--control-edge); box-shadow: inset 0 1px 3px rgba(40,58,81,.035); }
.form-field input::placeholder { color: var(--faint); }
.segmented button[aria-selected="true"], .segmented button[aria-pressed="true"] { background: rgba(255,255,255,.76); color: var(--ink); }
.hand-tile, .tian-group { background: rgba(255,255,255,.6); border-color: var(--control-edge); box-shadow: var(--control-shadow); }
.hand-tile[aria-pressed="true"], .tian-group.chosen { background: rgba(255,255,255,.74); border-color: #42664f; box-shadow: inset 0 0 0 1px rgba(66,102,79,.12), var(--control-shadow); }
.mode-label, .special-label { font-size: 13px; color: var(--ink); }
.tian-art > span:last-child { color: var(--ink); font-size: 13px; }
.point-picker .point-button, .tian-button { background: rgba(255,255,255,.72); border-color: var(--control-edge); color: var(--ink); box-shadow: var(--control-shadow); }
.point-picker .point-button[aria-pressed="true"], .tian-button[aria-pressed="true"] { background: linear-gradient(140deg,#4c745a,#385a43); border-color: #42664f; color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 4px 9px -7px rgba(31,66,43,.6); }
.tian-button[aria-pressed="true"] small { color: rgba(255,255,255,.82); }
.instant-status, .instant-status.saved { background: transparent; color: var(--muted); border: 0; min-height: 32px; margin: 0; padding: 4px 0; }
.instant-status.saved { color: var(--accent-deep); }
.instant-status.saved > svg { color: var(--positive); }
.selection-summary { background: var(--chip); color: var(--muted); border-color: var(--line); }
.instant-status b, .option-label strong { color: var(--ink); }
.avatar, .avatar.dealer { background: var(--control); color: var(--muted); border-color: var(--line); box-shadow: none; }
.status-chip, .status-chip.done, .round-circle { background: var(--chip); color: var(--muted); }
.bottom-nav {
  width: min(calc(100% - 64px),328px);
  border-radius: 38px;
  padding: 7px;
  gap: 5px;
  bottom: calc(14px + env(safe-area-inset-bottom));
  background: rgba(251,252,250,.42);
  border-color: rgba(255,255,255,.7);
  box-shadow: 0 7px 22px -15px rgba(36,58,43,.25),inset 0 1px 0 rgba(255,255,255,.8);
  -webkit-backdrop-filter: blur(44px) saturate(1.2);
  backdrop-filter: blur(44px) saturate(1.2);
}
.bottom-nav::before { content: none; }
.nav-item { min-height: 48px; border-radius: 27px; position: relative; }
.nav-item svg { width: 22px; height: 22px; stroke-width: 1.65; }
.nav-item[aria-current="page"] { color: #fff; background: linear-gradient(140deg,#4c745a,#385a43); box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 4px 10px -8px rgba(31,66,43,.5); }
.setting-row > svg { color: var(--muted); }
.rules-row b, .waiting-card .waiting-icon, .transition-label svg { color: var(--ink); }
.statistics-stamp { background: var(--chip); border-color: var(--control-edge); color: var(--muted); }
.distribution-track { background: var(--chip); }
.distribution-track i { background: var(--muted); }
.chart-line { stroke: var(--ink); }
.chart-area { fill: var(--chip); }
.chart-dot { fill: var(--ink); stroke: rgba(255,255,255,.95); }
.chart-grid, .chart-zero { stroke: var(--line); }
.ended-banner, .reconcile, .rules-list, .choice-player { background: var(--control); border-color: var(--control-edge); }
.choice-player { box-shadow: var(--control-shadow); }
.choice-player[aria-pressed="true"] { background: rgba(66,102,79,.07); border-color: rgba(66,102,79,.3); }
.sheet-overlay { background: rgba(28,42,33,.24); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.sheet { background: rgba(248,250,249,.86); border-color: var(--glass-edge); box-shadow: 0 12px 40px -20px rgba(32,52,36,.25); -webkit-backdrop-filter: blur(42px) saturate(1.2); backdrop-filter: blur(42px) saturate(1.2); }
.sheet-handle { background: var(--chip); }
.sheet-header h2 { font-size: 18px; font-weight: 600; }
.sheet-header .icon-button { background: transparent; box-shadow: none; }
.sheet :is(.table-list,.rules-list,.reconcile) { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
.sheet .table-row, .sheet .choice-player { min-height: 66px; padding: 12px 2px; gap: 10px; }
.sheet .choice-player { margin-top: 0; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.sheet .choice-player[aria-pressed="true"] { background: var(--accent-soft); }
.sheet .choice-player .member-info .member-name, .sheet .table-row .member-name { font-size: 14px; color: var(--ink); font-weight: 550; margin-top: 0; }
.sheet :is(.table-row,.choice-player) .avatar { width: 32px; height: 32px; background: #e7ede7; font-size: 12px; }
.toast { background: var(--glass-strong); border-color: var(--glass-edge); box-shadow: var(--shadow), var(--rim); }
.transition-overlay { background: rgba(236,241,247,.34); }
.transition-label { background: rgba(255,255,255,.74); border-color: var(--glass-edge); box-shadow: var(--shadow), var(--rim); }
.qr-wrap { border-color: var(--control-edge); box-shadow: var(--shadow); }
.hero-intro h1 em { color: var(--ink); }
.home-shell { width: min(100%,460px); padding-bottom: max(32px,env(safe-area-inset-bottom)); }
.home-shell .topbar { margin-bottom: 0; }
.home-shell .home-topbar { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 0; padding: 6px 0 16px; }
.home-topbar .hero-wordmark { grid-column: 2; }
.home-topbar > .icon-button { grid-column: 3; }
.home-shell .hero-intro { padding: 0; text-align: center; }
.home-shell .hero-intro h1 { margin: 4px 0 8px; font-family: -apple-system,BlinkMacSystemFont,'SF Pro Display','PingFang SC','Helvetica Neue',sans-serif; font-size: 36px; font-weight: 600; letter-spacing: .04em; text-indent: .04em; line-height: 1.25; }
.home-shell .hero-art { height: 216px; margin: 0 0 12px; }
.joker-hero-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 9px 12px rgba(38,53,46,.12)); pointer-events: none; }
.home-shell .entry-card { padding: 20px; border-radius: 28px; }
.home-shell .segmented { border: 0; background: rgba(255,255,255,.26); }
.home-shell .segmented button { border-radius: 15px; }
.home-shell .segmented button[aria-selected="true"] { background: rgba(255,255,255,.82); box-shadow: 0 3px 10px -7px rgba(38,53,46,.24),inset 0 1px 0 #fff; }
.home-shell .form-field { margin: 18px 0; }
.home-shell .form-field > span { margin-bottom: 7px; font-size: 12px; }
.home-shell .form-field input { min-height: 50px; border-radius: 16px; background: rgba(255,255,255,.46); border-color: rgba(47,71,56,.12); box-shadow: inset 0 1px 1px rgba(255,255,255,.65); }
.home-shell .entry-card .primary-button { min-height: 50px; border-radius: 16px; }
.home-shell .resume-room { margin-bottom: 14px; }
.art-halo { background: rgba(204,218,237,.35); }
.art-score, .hero-art .art-score { background: rgba(255,255,255,.65); color: var(--positive); box-shadow: var(--shadow), var(--rim); }
.hero-card { color: var(--ink); background: linear-gradient(140deg,rgba(255,255,255,.75),rgba(238,244,251,.23)); box-shadow: var(--shadow), var(--rim); }
.hero-card.back { background: linear-gradient(140deg,rgba(198,215,237,.56),rgba(255,255,255,.12)); }
.hand-heading { margin-bottom: 8px; }
.hand-heading .text-link { padding: 0; }
.hand-heading .text-link svg { width: 20px; height: 20px; }
.quick-heading { padding-top: 0; margin-top: 16px; border-top: 0; }
.page-heading:has(h2:only-child) { margin-bottom: 24px; }
.paper-playing-card { filter: drop-shadow(0 3px 3px rgba(35,49,70,.14)); }
.score-particle { background: #8b9cab; }

/* 内容以排版分区；磨砂表面集中于操作、导航和弹层。 */
.room-shell :is(.score-card, .table-list, .ledger-totals,
  .round-history, .account-card, .statistics-banner, .statistics-players,
  .statistics-summary, .chart-card, .round-record, .distribution-card) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  padding: 0;
}
.room-shell { padding-top: max(10px,env(safe-area-inset-top)); }
.room-shell .topbar { min-height: 44px; margin-bottom: 6px; }
.room-shell .top-actions { gap: 0; }
.room-shell .room-code { padding: 4px 8px; font-size: 12px; font-weight: 550; letter-spacing: .06em; }
.room-shell .topbar :is(.icon-button,.room-code) { background: transparent; border: 0; box-shadow: none; }
.room-shell .table-list .icon-button { background: transparent; border: 0; box-shadow: none; }
.icon-button.danger-text { color: var(--negative); }
.room-shell .score-card { padding: 4px 16px 8px; }
.score-card .player-label { font-size: 14px; }
.score-card .role-tag { background: transparent; border-radius: 0; padding: 0 0 0 8px; border-left: 1px solid var(--line); }
.score-main { grid-template-columns: minmax(0,1fr) 120px; gap: 20px; padding-top: 8px; }
.score-number { font-size: min(60px,calc(240px / var(--score-digits,1))); }
.score-pending { font-size: 13px; }
.round-note { padding: 0 16px 4px; border-bottom: 0; }
.desk-entry { margin-top: 8px; }
.desk-shell .hand-panel { padding: 12px 16px; border: 0; border-radius: 24px; background: var(--glass); box-shadow: 0 10px 30px -22px rgba(48,64,78,.25),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.45); }
.hand-panel::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: .04; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E"); }
.hand-heading { margin-bottom: 6px; }
.hand-heading-copy { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.hand-heading-copy .instant-status { flex: 0 1 auto; min-width: 0; min-height: 28px; padding: 4px 9px; margin: 0; justify-content: flex-start; gap: 5px; border-radius: 20px; background: var(--accent-soft); color: var(--accent-deep); font-size: 11px; font-weight: 550; }
.hand-heading-copy .instant-status.pending { background: #f0e9da; color: #71552c; }
.hand-heading-copy .instant-status.pending::before { content: ''; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.hand-heading-copy .instant-status > svg { width: 12px; height: 12px; }
.hand-heading h2 { letter-spacing: -.02em; }
.round-note .dealer-switch-button { min-width: 64px; min-height: 36px; padding: 6px 14px; border: 1px solid rgba(63,102,80,.17); border-radius: 18px; background: rgba(255,255,255,.55); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); color: var(--accent-deep); font-weight: 550; }
.home-shell .hero-wordmark { display: flex; justify-content: center; margin: 6px 0 14px; line-height: 1; }
.hero-wordmark svg { display: block; width: 184px; max-width: 60vw; height: auto; aspect-ratio: 1497 / 460; stroke: none; }
.home-shell .home-topbar .hero-wordmark { margin: 0; min-width: 0; }
.home-topbar .hero-wordmark svg { max-width: 100%; }
.hand-panel .hand-tile:active, .hand-panel .point-button:active, .hand-panel .tian-button:active { transform: scale(.96); }
.mode-grid { gap: 6px; }
.mode-button.hand-tile {
  position: relative;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 6px 2px;
  min-height: 72px;
  flex-flow: row wrap;
  border-radius: 14px;
}
.mode-button.hand-tile[aria-pressed="true"] {
  background: transparent;
  box-shadow: none;
}
.mode-button.hand-tile[aria-pressed="true"] .mode-caption::after { content: ''; position: absolute; left: calc(50% - 9px); bottom: -4px; width: 18px; height: 2px; border-radius: 2px; background: var(--accent); opacity: .65; }
.mode-caption { position: relative; display: flex; align-items: baseline; justify-content: center; gap: 4px; white-space: nowrap; }
.mode-caption .mode-label { flex-basis: auto; font-size: 13px; font-weight: 550; line-height: 1.45; }
.mode-multiple { font-size: 11px; font-weight: 400; }
.mode-button .paper-fan { height: 45px; padding: 2px 5px; }
.hand-panel .paper-playing-card { transform: rotate(-7deg); transform-origin: 50% 85%; filter: drop-shadow(0 2px 2px rgba(40,53,45,.09)); }
.hand-panel .paper-playing-card:nth-child(2) { transform: translateY(-1px); }
.hand-panel .paper-playing-card:nth-child(3) { transform: rotate(7deg); }
.mode-button[aria-pressed="true"] .paper-playing-card:first-child { transform: rotate(-10deg) translateY(-1px); }
.mode-button[aria-pressed="true"] .paper-playing-card:nth-child(3) { transform: rotate(10deg) translateY(-1px); }
.mode-button .paper-playing-card, .tian-art .paper-playing-card, .special-tile .paper-playing-card { width: 30px; height: 42px; }
.mode-button .paper-playing-card + .paper-playing-card, .special-tile .paper-playing-card + .paper-playing-card { margin-left: -19px; }
.tian-art .paper-playing-card + .paper-playing-card { margin-left: -17px; }
.tian-group, .tian-group.chosen {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.quick-heading { border-top: 1px solid var(--line); margin-top: 10px; padding-top: 10px; }
.quick-heading h3 { color: var(--muted); font-size: 12px; font-weight: 500; }
.tian-grid { gap: 12px; margin-top: 6px; }
.tian-art { padding: 0; min-height: 46px; gap: 7px; }
.tian-art > span:last-child { font-size: 13px; font-weight: 550; letter-spacing: 0; }
.tian-art .paper-fan { height: 45px; padding: 2px 1px; }
.tian-actions { margin-top: 3px; justify-content: center; gap: 10px; }
.tian-button {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
  isolation: isolate;
}
.tian-button::before { content: ''; position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; border-radius: 50%; background: var(--chip); transform: translate(-50%,-50%); z-index: -1; }
.tian-button[aria-pressed="true"] { background: transparent; color: white; box-shadow: none; }
.tian-button[aria-pressed="true"]::before { background: var(--accent); box-shadow: 0 3px 8px -6px rgba(37,73,47,.55); }
.point-picker .point-grid { column-gap: 4px; row-gap: 2px; }
.point-picker .point-button {
  position: relative;
  isolation: isolate;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  font-size: 20px;
}
.point-picker .point-button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: -1;
  transform: translate(-50%,-50%);
  background: var(--chip);
}
.point-picker .point-button[aria-pressed="true"] { background: transparent; color: #fff; box-shadow: none; }
.point-picker .point-button[aria-pressed="true"]::before { background: var(--accent); box-shadow: 0 3px 8px -6px rgba(37,73,47,.55); }
.special-grid { gap: 6px 10px; margin-top: 10px; }
.special-tile.hand-tile { min-height: 56px; background: transparent; border: 0; border-radius: 14px; box-shadow: none; padding: 5px 4px; }
.special-label { font-weight: 550; }
.special-label small { font-size: 11px; }
.tile-check { width: 14px; height: 14px; }
.tile-check svg { width: 10px; height: 10px; stroke-width: 1.65; }
.special-tile .paper-fan { height: 45px; padding: 0; }
.special-tile.hand-tile[aria-pressed="true"] { background: var(--accent-soft); box-shadow: none; }
.desk-table > .section-heading { margin-top: 20px; margin-bottom: 0; min-height: 38px; }
.desk-table .section-heading h2 { font-size: 14px; }
.desk-table .table-row { min-height: 66px; padding: 12px 2px; gap: 10px; }
.desk-table .avatar { width: 32px; height: 32px; font-size: 12px; background: #e7ede7; }
.desk-table .member-name { font-size: 14px; }
.desk-table .member-hand { margin-top: 2px; font-size: 13px; }
.room-shell .section-heading { min-height: 38px; }
.room-shell .section-heading h2 { font-size: 14px; font-weight: 600; letter-spacing: 0; }
.room-shell .page-heading h2 { font-size: 25px; }
.room-shell .table-list .table-row, .statistics-player { min-height: 66px; padding: 12px 2px; gap: 10px; }
.room-shell :is(.table-row,.statistics-player) .avatar { width: 32px; height: 32px; font-size: 12px; background: #e7ede7; }
.room-shell .member-name, .statistics-player-info > p { font-size: 14px; font-weight: 550; }
.room-shell .member-hand { font-size: 13px; }
.statistics-player-info > div, .statistics-player-score small { font-size: 12px; }
.dealer-controls { margin-top: 12px; }
.dealer-action-line { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; }
.dealer-action-line .dealer-progress { justify-content: flex-start; min-height: 48px; padding: 4px 0; font-size: 13px; white-space: nowrap; }
.dealer-progress svg { width: 14px; height: 14px; }
.dealer-action-line .primary-button { min-width: 124px; }
.dealer-controls .primary-button { background: var(--accent); border: 0; border-radius: 16px; box-shadow: none; }
.dealer-controls .primary-button:disabled { opacity: 1; background: #e1e7e0; color: #7b867b; }
.avatar, .avatar.dealer { border: 0; border-radius: 50%; background: var(--chip); }
.status-chip, .status-chip.done { background: transparent; padding-right: 0; font-size: 13px; }
.room-shell .ledger-totals { padding: 4px 0 20px; border-bottom: 1px solid var(--line); }
.ledger-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 12px; }
.room-shell .round-history { border-bottom: 1px solid var(--line); margin-top: 0; }
.history-header { padding: 16px 0; }
.history-detail { padding-left: 0; padding-right: 0; }
.round-history.open .history-header { background: transparent; }
.statistics-player { padding-left: 2px; padding-right: 2px; }
.room-shell .statistics-banner { padding: 4px 0 20px; border-bottom: 1px solid var(--line); }
.room-shell .statistics-summary { padding: 4px 0 20px; }
.statistics-scope { display: flex; align-items: center; gap: 6px; margin: -12px 0 12px; font-size: 12px; color: var(--muted); }
.statistics-scope .text-link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; }
.statistics-scope svg { width: 17px; height: 17px; }
.room-shell .chart-card { padding: 4px 0; }
.room-shell .round-record { padding: 12px 0; }
.round-record + .round-record { padding-left: 20px; border-left: 1px solid var(--line); }
.room-shell .distribution-card { padding: 0; }
.distribution-extra > summary, .member-management > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; cursor: pointer; list-style: none; }
.distribution-extra > summary::-webkit-details-marker, .member-management > summary::-webkit-details-marker { display: none; }
.distribution-extra > summary::after, .member-management > summary::after { content: ''; flex: 0 0 6px; width: 6px; height: 6px; margin-left: auto; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.distribution-extra[open] > summary::after, .member-management[open] > summary::after { transform: rotate(225deg); }
.distribution-extra > summary { font-size: 13px; color: var(--muted); }
.distribution-extra .distribution-row { color: var(--muted); }
.member-management { margin-top: 20px; border-top: 1px solid var(--line); }
.member-management > summary { font-size: 14px; font-weight: 550; }
.member-management > summary > span { margin-left: auto; font-size: 12px; color: var(--muted); font-weight: 400; }
.member-management > summary::after { margin-left: 0; }
.member-management .table-row:first-child { border-top: 1px solid var(--line); }
.qr-error { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.qr-error .small-link { min-height: 44px; padding: 8px; }
.room-shell .account-card { padding: 0; }

@media (min-width:650px) { body { background: var(--bg); } }
@media (min-width:980px) { .desk-entry { margin-top: 0; } .desk-table > .section-heading { margin-top: 0; } }
@media (max-height:740px) and (max-width:649px) {
  .home-shell { padding-top: max(12px,env(safe-area-inset-top)); }
  .home-shell .hero-intro h1 { font-size: 34px; }
  .home-shell .hero-art { height: 176px; margin-bottom: 8px; }
}
@media (max-height:660px) and (max-width:649px) {
  .home-shell .hero-art { height: 136px; }
  .home-shell .entry-card { padding: 18px; }
  .home-shell .form-field { margin: 12px 0; }
}
@media (max-width:359px) {
  .mode-label, .special-label, .tian-art > span:last-child { font-size: 12px; }
  .mode-caption { gap: 3px; }
  .mode-caption .mode-label { font-size: 12px; }
  .mode-multiple { font-size: 10px; }
  .bottom-nav { width: calc(100% - 30px); }
  .room-shell .score-card, .round-note { padding-left: 12px; padding-right: 12px; }
  .score-main { grid-template-columns: minmax(0,1fr) 112px; gap: 12px; }
  .score-number { font-size: min(54px,calc(240px / var(--score-digits,1))); }
  .mode-grid { gap: 6px; }
  .desk-shell .hand-panel { padding-left: 12px; padding-right: 12px; }
  .mode-button.hand-tile { padding: 6px 2px; }
  .mode-button .paper-fan { height: 45px; padding: 2px 5px; }
  .tian-grid { gap: 12px; }
  .special-grid { column-gap: 6px; }
  .special-tile.hand-tile { gap: 5px; padding-left: 2px; padding-right: 2px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass, .score-card, .bottom-nav, .sheet { background: rgba(250,251,253,.96); }
  .desk-shell .hand-panel { background: rgba(250,251,253,.96); }
}
