/* 푸드트럭 픽셀 에셋 갤러리 — 따뜻한 다이너 무드 + 투명 체커보드 */
:root{
  --bg:#1a1320; --panel:#241a2e; --ink:#f7ecdf; --mut:#b59cc4;
  --hot:#ff5a3c; --gold:#ffc14d; --mint:#4ecca3; --line:#3a2c47;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(120% 80% at 50% -10%,#2a1d38 0%,var(--bg) 60%);
  color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased}

/* 헤더 */
.hero{padding:38px 20px 22px;text-align:center;max-width:860px;margin:0 auto}
.badge{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--line);border-radius:999px;padding:5px 14px}
.hero h1{font-size:clamp(28px,6vw,46px);margin:.35em 0 .15em}
.sub{color:var(--mut);font-size:15px;line-height:1.65;margin:.4em auto 0;max-width:640px}
.sub b{color:var(--ink)}
.pipe{margin:18px auto 0;display:inline-block;font-size:12.5px;color:var(--mint);
  background:#16241e;border:1px solid #244a3a;border-radius:10px;padding:8px 14px;font-weight:600}

/* 컨트롤 */
.controls{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;
  position:sticky;top:0;z-index:5;padding:12px;
  background:rgba(26,19,32,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.seg{display:inline-flex;flex-wrap:wrap;justify-content:center;background:var(--panel);
  border:1px solid var(--line);border-radius:11px;padding:4px;gap:2px}
.seg button{border:0;background:transparent;color:var(--mut);font-weight:700;font-size:13.5px;
  padding:8px 13px;border-radius:8px;cursor:pointer;transition:.15s}
.seg button.on{background:var(--hot);color:#fff;box-shadow:0 2px 10px rgba(255,90,60,.4)}
.stagelabel{color:var(--mut);font-size:13px}
.hint{text-align:center;color:var(--mut);font-size:12.5px;margin:14px 16px 0}
.hint b{color:var(--gold)}

/* 그리드 */
.grid{max-width:1200px;margin:18px auto 40px;padding:0 16px;
  display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 14px 16px}
.card h3{margin:2px 4px 12px;font-size:16px;color:var(--gold)}
.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.shot{margin:0}
.frame{aspect-ratio:1;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  /* 투명 체커보드 */
  background-image:
    linear-gradient(45deg,#2c2238 25%,transparent 25%),
    linear-gradient(-45deg,#2c2238 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#2c2238 75%),
    linear-gradient(-45deg,transparent 75%,#2c2238 75%);
  background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0;background-color:#352a44}
.frame.raw{background:#0e0a12}            /* 원본은 단색 배경(흰배경 PNG라 흰 사각) */
.frame img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;cursor:zoom-in;
  transition:transform .15s}
.frame img:hover{transform:scale(1.06)}
.frame.missing{position:relative}
.frame.missing img{display:none}
.frame.missing::after{content:"⏳";font-size:22px;opacity:.5}
figcaption{text-align:center;color:var(--mut);font-size:11px;margin-top:5px;font-variant-numeric:tabular-nums}

/* 라이트박스 */
.lightbox{position:fixed;inset:0;display:none;place-items:center;flex-direction:column;
  background:rgba(10,7,14,.92);z-index:50;cursor:zoom-out;padding:24px}
.lightbox.show{display:flex}
.lightbox img{max-width:90vw;max-height:78vh;image-rendering:pixelated;
  background-color:#352a44;background-image:
    linear-gradient(45deg,#2c2238 25%,transparent 25%),linear-gradient(-45deg,#2c2238 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#2c2238 75%),linear-gradient(-45deg,transparent 75%,#2c2238 75%);
  background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;border-radius:12px}
.lightbox .cap{color:var(--mut);margin-top:14px;font-size:14px}

/* 푸터 */
footer{text-align:center;color:var(--mut);font-size:13px;padding:24px 16px 40px;border-top:1px solid var(--line)}
footer code{color:var(--mint)}
.links a{color:var(--gold);text-decoration:none}
.links a:hover{text-decoration:underline}
