/* Lifeved Brain Games — player shell styles */
.bgp{max-width:760px;margin:0 auto;}

/* ---- start panel ---- */
.bgp-start-head{text-align:center;padding:18px 8px 8px;}
.bgp-glyph{width:74px;height:74px;border-radius:20px;margin:0 auto 16px;display:grid;place-items:center;font-size:1.8rem;color:#fff;
  background:linear-gradient(135deg,var(--accent2),var(--accent));box-shadow:var(--shadow);}
.bgp-start-head h1{font-size:clamp(1.6rem,4.5vw,2.4rem);margin:0 0 8px;}
.bgp-sub{color:var(--ink-soft);max-width:520px;margin:0 auto;font-size:1.02rem;}
.bgp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px 22px;margin:16px 0;box-shadow:var(--shadow-sm);}
.bgp-card h3{margin:0 0 8px;font-size:1.12rem;display:flex;align-items:center;gap:9px;}
.bgp-card h3 i{color:var(--accent);}
.bgp-hint{color:var(--ink-mute);font-size:.9rem;margin:0 0 14px;}
.bgp-steps{margin:6px 0 0;padding-left:20px;color:var(--ink-soft);}
.bgp-steps li{padding:4px 0;line-height:1.5;}

.bgp-timers{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}
.bgp-timer{cursor:pointer;background:var(--surface-2);border:1.5px solid var(--line);border-radius:13px;padding:14px 10px;text-align:center;transition:.16s;font-family:inherit;}
.bgp-timer b{display:block;font-size:1.05rem;color:var(--ink);}
.bgp-timer span{display:block;font-size:.74rem;color:var(--ink-mute);margin-top:3px;}
.bgp-timer:hover{border-color:var(--accent2);}
.bgp-timer.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff);box-shadow:0 4px 14px rgba(47,125,123,.15);}

.bgp-modes{display:flex;flex-wrap:wrap;gap:9px;}
.bgp-mode{cursor:pointer;background:var(--surface-2);border:1.5px solid var(--line);border-radius:30px;padding:9px 16px;font-weight:600;font-size:.86rem;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px;transition:.16s;font-family:inherit;}
.bgp-mode:hover{border-color:var(--accent2);}
.bgp-mode.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);}

.bgp-startbtns{text-align:center;margin:22px 0 8px;}
.bgp-soon{background:var(--warn-bg);border:1px solid #f0dcb8;color:#7c5a1e;border-radius:13px;padding:16px 18px;margin-bottom:14px;font-size:.92rem;line-height:1.5;}
.bgp-benefits{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:18px 0 6px;}
.bgp-blabel{font-size:.82rem;color:var(--ink-mute);font-weight:600;}
.bgp-chip{font-size:.78rem;background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:5px 12px;color:var(--ink-soft);}

/* ---- stage ---- */
.bgp-stage{margin-top:8px;}
.bgp-topbar{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:9px 12px;box-shadow:var(--shadow-sm);position:sticky;top:8px;z-index:20;}
.bgp-status{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;}
.bgp-timer-read{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6px;}
.bgp-timer-read.warn{color:var(--danger);}
.bgp-score{display:flex;flex-direction:column;align-items:center;line-height:1;}
.bgp-score-now{font-size:1.3rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;}
.bgp-score-best{font-size:.7rem;color:var(--ink-mute);margin-top:2px;}
.bgp-topctrls{display:flex;gap:6px;}
.bgp-ctrl{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;display:grid;place-items:center;font-size:1rem;transition:.15s;}
.bgp-ctrl:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.bgp-statusline{text-align:center;min-height:0;color:var(--accent);font-weight:600;margin:10px 0 0;}
.bgp-statusline:empty{display:none;}
.bgp-mount{margin:14px 0;display:flex;justify-content:center;}
.bgp-controlbar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:6px;}

/* ---- play modes ---- */
.bgp.mode-kids .bgp-mount{font-size:1.15rem;}
.bgp.mode-senior .bgp-mount{font-size:1.2rem;}
.bgp.mode-senior .bgp-ctrl,.bgp.mode-kids .bgp-ctrl{width:46px;height:46px;font-size:1.15rem;}
.bgp.mode-calm{--accent:#5f9a7f;--accent2:#7fc0a0;}

/* ---- night dim ---- */
.bgp-night{position:fixed;inset:0;background:rgba(10,16,18,.34);pointer-events:none;z-index:9000;mix-blend-mode:multiply;}
.bgp-night[hidden]{display:none;}

/* ---- modal ---- */
.bgp-modal{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;padding:22px;
  background:rgba(15,30,29,.5);backdrop-filter:blur(4px);}
.bgp-modal[hidden]{display:none;}
.bgp-modal.open{display:flex;}
.bgp-modal-card{background:var(--surface);border-radius:20px;max-width:380px;width:100%;padding:30px 26px;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.3);animation:bgpPop .22s ease;max-height:86vh;overflow-y:auto;}
.bgp-help-list{text-align:left;margin:0 0 6px;padding-left:22px;color:var(--ink-soft);}
.bgp-help-list li{padding:5px 0;line-height:1.5;}
@keyframes bgpPop{from{transform:scale(.92);opacity:0;}to{transform:scale(1);opacity:1;}}
.bgp-modal-ic{width:58px;height:58px;border-radius:16px;margin:0 auto 14px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent));}
.bgp-modal-card h3{margin:0 0 8px;font-size:1.3rem;}
.bgp-modal-card p{color:var(--ink-soft);margin:0 0 20px;line-height:1.55;}
.bgp-modal-btns{display:flex;flex-direction:column;gap:9px;}
.bgp-modal-btns button{cursor:pointer;border:none;border-radius:50px;padding:13px 18px;font-weight:700;font-size:.92rem;font-family:inherit;transition:.15s;}
.bgp-mb-primary{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;}
.bgp-mb-primary:hover{filter:brightness(1.05);}
.bgp-mb-soft{background:var(--surface-2);border:1px solid var(--line)!important;color:var(--ink-soft);}
.bgp-mb-soft:hover{background:var(--bg-soft);}

/* generic board helpers usable by game modules */
.bg-board{--cell:64px;display:grid;gap:6px;background:var(--surface);padding:10px;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow-sm);}
.bg-cell{width:var(--cell);height:var(--cell);border-radius:11px;border:none;background:var(--surface-2);font-size:1.6rem;font-weight:800;cursor:pointer;display:grid;place-items:center;transition:.12s;color:var(--ink);}
.bg-cell:hover{background:color-mix(in srgb,var(--accent) 12%,#fff);}
@media(max-width:520px){.bg-board{--cell:clamp(46px,18vw,64px);}}
