/* LumiLino story-farm interface: warm enamel, cream paper and turquoise details. */
.family-start-note { margin:0 0 14px; color:#e9faf6; font-size:1rem; line-height:1.45; }
.family-start-note button { display:block; margin:6px auto 0; border:0; background:none; color:#ffe2a0; text-decoration:underline; padding:8px; font:inherit; cursor:pointer; }
.family-settings-open { width:auto!important; padding:8px 12px!important; font-size:.875rem!important; }
.family-settings { position:absolute; inset:0; z-index:60; display:flex; justify-content:center; align-items:center; padding:12px; background:#102f30df; touch-action:pan-y; }
.family-settings[hidden],.family-destination[hidden] { display:none!important; }
.family-settings-card { position:relative; width:min(100%,640px); max-height:100%; overflow:auto; padding:24px; border:1px solid #ffe1a2; border-radius:28px; background:linear-gradient(145deg,#fffdf7,#fff4df); color:#173f43; box-shadow:0 22px 70px #061d1d66, inset 0 1px #fff; font-size:1rem; line-height:1.5; text-align:left; }
.family-settings-card h2 { margin:0 48px 8px 0; font-size:1.7rem; }
.family-settings-card p { margin:10px 0; }
.family-settings-card fieldset { margin:16px 0; padding:14px; border:1px solid #8cafab; border-radius:16px; background:#ffffff94; }
.family-settings-card legend { font-weight:800; }
.family-settings-card label { display:flex; align-items:center; gap:10px; min-height:48px; font-weight:650; }
.family-settings-card fieldset p,.family-age-note { font-size:.875rem; }
.family-settings-card input[type=checkbox] { flex:none; width:24px; height:24px; accent-color:#127b7a; }
.family-settings-card input[type=range] { width:100%; height:36px; accent-color:#127b7a; }
.family-settings-card select { width:100%; min-height:48px; padding:8px; font:inherit; border:1px solid #8cafab; border-radius:8px; background:white; color:inherit; }
.family-settings-card summary { padding:12px 0; font-weight:750; cursor:pointer; }
.family-settings-card .btn { margin:6px 0; min-height:48px; }
.family-close { position:absolute; right:12px; top:12px; width:44px; height:44px; font-size:1.8rem; border:1px solid #8cafab; background:white; border-radius:50%; color:#173f43; cursor:pointer; }
.family-parent-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.family-settings-card :focus-visible { outline:4px solid #d48718; outline-offset:3px; }
.family-destination { position:absolute; top:12px; left:160px; z-index:13; display:flex; align-items:center; gap:10px; min-height:62px; background:linear-gradient(145deg,#fffdf5f5,#ffedc9ee); border:1px solid #fff; border-radius:20px; padding:7px 13px 7px 8px; color:#24463e; box-shadow:0 10px 30px #172f2733, inset 0 -2px #d9aa5f45; backdrop-filter:blur(10px); pointer-events:none; }
.family-destination img { width:48px; height:48px; padding:3px; object-fit:contain; border-radius:14px; background:#fff; box-shadow:0 2px 9px #523a2720; }
.family-destination small { display:block; font-size:.875rem; }
.family-destination strong { display:block; font-size:1rem; }
.mama-switch-character { position:absolute; z-index:12; top:83px; left:142px; min-width:118px; min-height:50px; display:grid; grid-template-columns:32px auto; align-items:center; gap:6px; padding:7px 11px; border:1px solid #fff8e5; border-radius:17px; background:linear-gradient(150deg,#fffaf0,#f6d49e); color:#36483d; box-shadow:0 8px 18px #233b3038, inset 0 -3px #a66e3438; font:inherit; font-weight:900; cursor:pointer; transition:transform .16s ease,filter .16s ease; }
.mama-switch-character[hidden] { display:none!important; }.mama-switch-character span { font-size:1.35rem; }.mama-switch-character small { font-size:.68rem; }
.mama-switch-character:hover { filter:brightness(1.04); transform:translateY(-1px); }
.mama-switch-character:active { transform:translateY(2px); }
.is-calf-control .mama-switch-character { background:linear-gradient(150deg,#f4fffb,#bdebd8); border-color:#eafff6; }
.is-calf-control #mama-recover-button { display:none!important; }
.is-family-settings .game-board-wrap { touch-action:pan-y!important; }
.is-family-calm .game-toast { transition:none; animation:none; }
.is-family-calm .mama-thought,.is-family-calm .mama-level-card { animation:none; }
.is-mama-complete #family-finish { order:3; background:#e5f1e9; color:#244b3d; }
.is-mama-complete #family-result-music { order:4; }
.is-mama-complete #family-finish,.is-mama-complete #mama-continue { min-height:54px; }
@media(max-width:700px) {
  .family-destination { left:12px; top:86px; max-width:230px; padding:5px 8px; }
  .family-destination img { width:38px; height:38px; }
  .family-destination small { display:none; }
  .family-settings-card { padding:18px; }
  .mama-switch-character { top:136px; left:7px; min-width:96px; min-height:44px; grid-template-columns:24px auto; padding:4px 6px; }
  .mama-switch-character small { font-size:.6rem; }
}
@media(prefers-reduced-motion:reduce) { .family-start-note,.mama-switch-character { animation:none; transition:none; } }

/* v108: quality override stays deliberately inside the parent settings. */
.family-quality-status { margin:8px 0 2px!important; padding:9px 11px; border-radius:10px; background:#eef8f4; font-weight:750; }
.family-quality-apply { width:100%; margin-top:10px!important; }
