:root { color-scheme: dark; font-family: Arial, "Microsoft YaHei", sans-serif; background:#0d0c0b; color:#f5f1ea; }
* { box-sizing:border-box; }
html, body { margin:0; min-width:320px; background:#0d0c0b; }
a { color:inherit; }
.shell { width:min(1180px, calc(100% - 32px)); margin:0 auto; }
.top { padding:30px 0 18px; }
.eyebrow,.id { margin:0; color:#f6c453; font-size:12px; letter-spacing:.22em; }
h1 { margin:10px 0 0; font-size:clamp(28px,5vw,52px); line-height:1.15; }
.sub { max-width:760px; margin:16px 0 0; color:#a8a29a; line-height:1.8; }
.back { display:inline-flex; margin:22px 0 0; color:#b9b1a8; text-decoration:none; }
.back:hover { color:#f6c453; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:18px 0 60px; }
.card { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:#171514; text-decoration:none; transition:.18s ease; }
.card:hover { border-color:rgba(246,196,83,.8); transform:translateY(-2px); }
.card img { display:block; width:100%; height:260px; object-fit:contain; padding:20px; background:#23201d; }
.card-body { padding:18px; }
.name { margin:8px 0 0; font-size:20px; }
.meta { margin:12px 0 0; color:#a8a29a; font-size:14px; line-height:1.7; }
.viewer-wrap { overflow:hidden; margin-top:18px; border:1px solid rgba(255,255,255,.12); border-radius:26px; background:#171514; box-shadow:0 24px 80px rgba(0,0,0,.35); }
model-viewer.viewer { display:block; width:100%; height:min(70vh,760px); min-height:440px; background:#e8e3dc; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.info { padding:26px 28px 30px; }
.info .id { font-size:13px; }
.info h1 { margin-top:10px; font-size:clamp(30px,5vw,46px); }
.facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.fact-label { color:#77716b; font-size:13px; }
.fact-value { margin-top:4px; color:#eee8df; line-height:1.7; }
.footer { padding:30px 0 44px; color:#6f6a64; font-size:13px; }
@media (max-width:760px) {
  .shell { width:min(100% - 24px,640px); }
  .grid { grid-template-columns:1fr; gap:14px; }
  .card img { height:230px; }
  model-viewer.viewer { height:66vh; min-height:420px; }
  .info { padding:22px 20px 26px; }
  .facts { grid-template-columns:1fr; gap:14px; }
}
