:root { --bg:#262421; --card:#302e2c; --fg:#e8e6e3; --muted:#9a9894; --accent:#7fa650; --accent2:#95bb62; }
* { box-sizing:border-box; }
html,body { margin:0; background:var(--bg); color:var(--fg);
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans KR",sans-serif; line-height:1.5; }
.hero { text-align:center; padding:48px 16px 16px; }
.hero h1 { margin:8px 0 4px; font-size:40px; letter-spacing:.02em; }
.hero img { border-radius:20px; }
.tag { color:var(--muted); margin:0; }
main { max-width:960px; margin:0 auto; padding:16px; }
.card { background:var(--card); border-radius:12px; padding:20px; }
.card h2,.card h3 { margin:0 0 6px; }
.primary { text-align:center; margin-bottom:16px; padding:28px 20px; }
.primary h2 { font-size:24px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; }
.muted { color:var(--muted); } .small { font-size:13px; }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.primary .actions { justify-content:center; }
.btn { display:inline-block; padding:10px 18px; border-radius:8px; background:var(--accent); color:#10140a;
  text-decoration:none; font-weight:600; }
.btn:hover { background:var(--accent2); }
.btn.ghost { background:#3d3a37; color:var(--fg); }
.btn.ghost:hover { background:#4a4642; }
.btn[aria-disabled="true"] { opacity:.5; pointer-events:none; }
details { margin-top:14px; color:var(--muted); font-size:14px; } summary { cursor:pointer; }
footer { text-align:center; padding:24px 16px 40px; }
a { color:var(--accent2); }
