/* Compact research-game interface — loaded after all previous mobile CSS. */
.topbar { position:relative; z-index:20; }
.top-inner { gap:10px; }
.session-info { display:flex; align-items:center; gap:12px; min-width:0; }
.session-label { font-size:15px; font-weight:850; letter-spacing:.3px; white-space:nowrap; }
.session-attempt { color:#b6d8d8; font-size:12px; font-weight:700; white-space:nowrap; }
.top-right { display:flex; align-items:center; gap:7px; }
.header-icon { min-width:40px; width:40px; height:40px; border-radius:11px; border:1px solid #62798b; color:#f4fffe; background:#2c4a62; font-weight:900; font-size:21px; display:grid; place-items:center; padding:0; }
.header-icon:hover,.header-icon[aria-expanded="true"] { background:#356377; }
.header-menu { position:relative; }
.header-menu-panel { position:absolute; right:0; top:calc(100% + 8px); display:flex; flex-direction:column; gap:10px; width:min(270px,calc(100vw - 24px)); padding:15px; border:1px solid #d4e2e5; border-radius:15px; background:#fff; box-shadow:0 18px 42px rgba(12,34,50,.27); color:#173750; z-index:40; }
.header-menu-panel[hidden] { display:none!important; }
.header-menu-panel .menu-label { color:#315366; font-size:12px; font-weight:800; }
.header-menu-panel .select-level { display:block; max-width:none; width:100%; min-height:44px; padding:8px 10px; font-size:13px; }
.menu-action { min-height:44px; text-align:left; background:#eaf4f3; color:#1c4e58; border:1px solid #cce2e1; border-radius:9px; padding:9px 11px; font-size:13px; font-weight:750; }
.menu-action:hover { background:#d8eeee; }
.map-card:not(.is-tutorial) .map-desc { display:none; }
@media (max-width:680px) {
 .topbar { height:45px; }
 .top-inner { padding:3px 9px; height:45px; min-height:45px; }
 .session-label { font-size:14px; }
 .session-attempt { font-size:11px; }
 .session-info { gap:8px; }
 .header-icon { width:38px; min-width:38px; height:38px; border-radius:9px; }
 .header-menu-panel { top:calc(100% + 7px); }
 .card-heading { min-height:32px; }
 .map-title { margin:1px 0 0; font-size:14px; }
 .counter { display:none; }
 .map-footer { display:none!important; }
 .map-card.is-tutorial .map-desc { display:block; margin:2px 0 0; min-height:0; font-size:10px; line-height:1.15; max-height:25px; overflow:hidden; }
}
@media (max-width:680px) and (max-height:740px) {
 .topbar,.top-inner { height:41px; }
 .card-heading { min-height:29px; }
 .map-card.is-tutorial .map-desc { display:none; }
}
@media (max-width:370px) {
 .session-info { gap:6px; }
 .session-label { font-size:12px; }
 .header-icon { min-width:36px; width:36px; height:36px; }
}
