:root{
  --bg:#0b0b0c;
  --card:#111214;
  --muted:#9aa0a6;
  --accent:#20a4f3;
  --text:#e6e6e6;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background:var(--bg); color:var(--text)}
.site-header{padding:28px 20px; text-align:center; background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent)}
.site-header h1{margin:0;font-size:28px}
.sub{color:var(--muted); margin-top:6px}
.container{max-width:1100px;margin:30px auto;padding:0 16px}
.viewer{background:var(--card); border-radius:12px; padding:12px; box-shadow:0 6px 20px rgba(0,0,0,0.6)}
.viewer-message{color:var(--muted); padding:12px}
.controls{margin-top:18px; background:#111214; padding:16px; border-radius:12px;}
.control-row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.ctrl-btn{background:#1a1c1e; color:var(--text); padding:10px 16px; border:1px solid rgba(255,255,255,0.05); border-radius:8px; cursor:pointer; transition:.15s}
.ctrl-btn:hover{background:#222428}
.gallery{margin-top:18px}
.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.thumb{background:#0f0f10;border-radius:8px;overflow:hidden;cursor:pointer;padding:8px;border:1px solid rgba(255,255,255,0.03);transition:transform .12s; text-align:center}
.thumb img{width:100%;height:100px;object-fit:cover;display:block}
.thumb .label{padding:8px 6px;color:var(--muted);font-size:13px}
.thumb:hover{transform:translateY(-6px)}
.info{margin-top:20px;color:var(--muted);font-size:14px}
.site-footer{text-align:center;padding:18px;color:var(--muted);margin-top:30px}

@media (max-width:600px){
  model-viewer{height:360px !important}
  .control-row{flex-direction:column; align-items:stretch}
}
