.bgm-player{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.bgm-label{font:600 12px var(--serif);color:var(--red);margin-right:auto}.bgm-player select{max-width:210px;min-height:32px;padding:4px 9px;color:var(--ink);background:var(--light);border:1px solid var(--line);font:11px var(--sans)}.bgm-player button{min-height:32px;border:1px solid var(--line);padding:4px 11px;background:var(--light)}.bgm-player button:disabled{opacity:.4}.bgm-volume{display:flex;align-items:center;gap:5px}.bgm-volume input{width:75px;accent-color:var(--red)}.bgm-status{color:var(--muted);font-size:10px;min-width:180px}.hall-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0;padding:22px;border:1px solid var(--line);background:#f8f2e7}.hall-intro h2{font:600 24px var(--serif);margin-bottom:7px}.hall-intro p,.hall-muted{font-size:12px;color:var(--muted)}.hall-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.hall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hall-card{min-width:0;border:1px solid var(--line);background:#f9f2e5;padding:22px;position:relative}.hall-card.podium{border-color:#aa8951;background:linear-gradient(130deg,#f7edd9,#e6dcc5)}.hall-card-top{display:flex;gap:15px;align-items:center;margin-bottom:15px}.hall-face{width:74px;height:86px;object-fit:cover;border:1px solid #aa8951}.hall-rank{font:700 27px var(--serif);color:var(--red);min-width:43px}.hall-card h3{font:600 23px var(--serif)}.hall-card p{font-size:12px;line-height:1.9;color:#636451}.hall-card-score{font:700 26px var(--serif);color:var(--red);margin:12px 0}.hall-card-score small{font:11px var(--sans);color:var(--muted);margin-left:8px}.hall-card .secondary{margin-top:15px;width:100%}.honor-summary{border:1px solid #b9a580;background:#f4ecdd;padding:22px;margin:22px 0;text-align:left}.honor-score{display:flex;align-items:baseline;gap:10px;margin:10px 0 15px}.honor-score strong{font:700 33px var(--serif);color:var(--red)}.honor-score>span{font-size:12px;color:var(--muted)}.honor-badges{display:flex;flex-wrap:wrap;gap:8px}.honor-badge{display:flex;gap:8px;align-items:center;border:1px solid #baa47d;background:#f8edda;padding:7px 10px;text-align:left;font:600 12px var(--serif)}.honor-badge>b{display:grid;place-items:center;border:1px solid #a9854e;color:#8a472f;min-width:26px;height:29px;font:700 20px var(--serif)}.honor-badge small{display:block;font:10px/1.7 var(--sans);color:#786b52}.honor-badge.locked{filter:grayscale(1);opacity:.6}.honor-summary>.text-button{margin-top:16px;font-size:12px}.score-breakdown{margin:22px 0}.score-breakdown>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:9px 0}.score-breakdown dd{margin:0;font-weight:600}.income-panel{margin:20px 0;padding:14px;border:1px solid var(--line);background:#f0e6d2}.income-panel strong{font:600 15px var(--serif)}.income-panel p{font-size:11px;margin-top:5px}.income-panel button{font-size:11px;margin-top:6px}.hall-readonly{padding:12px 18px;border:1px solid var(--line);background:#e7deca;margin:15px 0;font-size:12px}.hall-readonly button{color:var(--red);text-decoration:underline}.hall-card .honor-badge{font-size:10px;padding:4px 6px}.hall-card .honor-badge small{font-size:9px}.hall-card .honor-badge>b{font-size:16px;min-width:21px;height:24px}@media(max-width:800px){.bgm-status{width:100%;text-align:right}.bgm-label{width:100%}.hall-grid{grid-template-columns:1fr}.hall-intro{align-items:flex-start;flex-direction:column}.hall-card{padding:18px}}@media(max-width:480px){.bgm-player{justify-content:flex-start;gap:7px}.bgm-player select{max-width:170px}.bgm-volume{margin-left:auto}.bgm-status{text-align:left;min-width:0}.hall-card-top{gap:9px}.hall-rank{min-width:34px;font-size:23px}.hall-face{width:60px;height:74px}.hall-card h3{font-size:20px}.honor-summary{padding:16px}}

/* Span the mobile character grid so income text does not collapse into one stat column. */
@media(max-width:800px){
  .character-panel .income-panel{grid-column:1/-1;min-width:0;margin:14px 0 4px;}
  .character-panel .income-panel>.text-button{margin-top:8px;padding:8px 0;min-height:36px;}
}
