/* Together: Search family game — warm illustrated cards, mobile first. */
.search-panel{max-width:900px;background:#fffefa;border:1px solid #e3e9e1;
  padding:16px;border-radius:21px;box-shadow:0 7px 25px #1235220c}
.search-panel h2{color:#244f3c;font-size:clamp(19px,4vw,27px);margin:5px 0 12px}
.search-panel h3{font-size:16px;color:#2b5842;margin:12px 0 8px}
.search-muted,.search-panel p{color:#65786b;font-size:12px;line-height:1.5}
.search-head{display:flex;align-items:center;justify-content:space-between;gap:15px;
  border-radius:18px;padding:20px;background:linear-gradient(110deg,#e4f4e6,#f4e8c8);margin-bottom:13px}
.search-eyebrow{font-weight:900;font-size:10px;letter-spacing:1.4px;color:#59806a}
.search-head h2{margin:8px 0;font-weight:850}
.search-head p{margin:0;max-width:450px}
.search-count{min-width:74px;min-height:74px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  font-size:24px;font-weight:900;background:#2d684e;color:white;box-shadow:0 3px 13px #26543c29}
.search-count span{font-size:10px;font-weight:700}
.search-leaders{background:#f5f8f2;border:1px solid #e1e8db;padding:14px;border-radius:15px;margin-bottom:14px}
.search-ranking{display:grid;gap:6px}
.search-rank-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;
  padding:10px 9px;background:white;border-radius:10px;border:1px solid #e8ece7;color:#33503e}
.search-rank-row strong{font-size:12px;overflow-wrap:anywhere}
.search-rank-row span:last-child{font-size:11px;font-variant-numeric:tabular-nums;color:#567663}
.search-rank-place{font-size:19px;font-weight:800;text-align:center}
.search-level-group{margin:17px 0}
.search-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.search-level{min-width:0;min-height:105px;padding:10px 6px;border:1px solid #dce4d9;
  border-radius:13px;background:#faf7ee;text-align:center;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;color:#3b6049}
.search-level:hover{background:#ecf6eb}
.search-level strong{font-size:22px;color:#3a7758}
.search-level span{font-size:12px;font-weight:850}
.search-level small{font-size:10px;color:#8a8f78}
.search-level.passed{background:#e6f4e4;border-color:#93bda4}
.search-level.passed small{color:#296c48;font-weight:850}
.search-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.search-topline button{border:0;padding:9px 12px;border-radius:11px;background:#e8efe6;
 color:#2c5f46;font-weight:800;font-size:12px}
.search-topline span{font-weight:750;font-size:12px;color:#728070}
.search-stats{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.search-stats span{font-size:12px;border:1px solid #d9e8db;background:#eff7ed;
 border-radius:11px;padding:10px;flex:1;text-align:center;white-space:nowrap}
.search-stats b{font-variant-numeric:tabular-nums;color:#2d6346}
.search-art{overflow:auto;max-width:100%;border:5px solid #765e4b;
 border-radius:17px;background:#f4dec1;overscroll-behavior-inline:contain;
 scrollbar-width:thin;touch-action:pan-x pan-y;box-shadow:inset 0 3px 13px #634a3d40}
.search-scene{display:block;min-width:680px;width:100%;height:auto;cursor:crosshair;
 user-select:none;-webkit-user-select:none}
.search-scene .search-object{filter:drop-shadow(0 3px 2px #2d35253a)}
.search-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:11px}
.search-target{border:1px solid #d0dcca;padding:9px 7px;border-radius:11px;background:#f2f6ed;
  font-size:11px;text-align:center;font-weight:750;color:#45604a}
.search-target.found{background:#d7eddb;color:#2a7144;border-color:#95c8a4;text-decoration:line-through}
.search-hint{margin:8px 2px;font-size:11px}
.search-finish{text-align:center;padding:26px 10px 20px;background:linear-gradient(110deg,#eff7e1,#fff3da);
 border-radius:18px;font-size:38px;margin-bottom:14px}
.search-finish h2{font-size:22px;margin:12px 0}
.search-finish strong{display:block;color:#216b4d;font-size:36px;font-weight:900;font-variant-numeric:tabular-nums}
.search-finish p{margin-top:7px}
.search-buttons{display:flex;gap:8px;flex-wrap:wrap}
.search-buttons button{flex:1;min-width:110px;padding:12px 10px;border-radius:11px;
 border:1px solid #aac8b2;background:#e8f2e7;color:#25563f;font-weight:750}
.search-buttons button.primary{background:#2f7254;color:white}
@media(max-width:600px){
 .search-panel{padding:10px;border-radius:15px}
 .search-head{padding:12px;gap:6px}
 .search-head h2{font-size:21px}
 .search-head p{font-size:11px}
 .search-count{min-width:58px;min-height:58px;font-size:19px}
 .search-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .search-level{min-height:86px;padding:6px 2px}
 .search-level strong{font-size:18px}
 .search-level span{font-size:10px}
 .search-level small{font-size:8px}
 .search-scene{min-width:680px}
 .search-targets{grid-template-columns:repeat(2,minmax(0,1fr))}
 .search-stats span{font-size:11px;padding:8px 4px}
}
