:root{--bg0:#0c0a10;--bg1:#16121c;--line:rgba(212, 160, 23, 0.28);--gold:#d4a017;--text:#e8dcc8;--muted:rgba(232, 220, 200, 0.45)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:"Noto Sans SC",sans-serif;color:var(--text);background:radial-gradient(ellipse at 20% 0,rgba(80,40,20,.35),transparent 45%),radial-gradient(ellipse at 80% 100%,rgba(30,40,80,.28),transparent 40%),linear-gradient(180deg,#120e16,var(--bg0))}.wrap{max-width:720px;margin:0 auto;padding:36px 20px 48px}.brand{font-family:"Press Start 2P",cursive;font-size:11px;letter-spacing:.12em;color:var(--gold);margin-bottom:10px}h1{font-family:"Press Start 2P",cursive;font-size:clamp(18px, 4vw, 24px);line-height:1.6;margin:0 0 8px;color:#f5e6c8}.sub{margin:0 0 28px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,rgba(255,255,255,.05),transparent 42%),var(--bg1);box-shadow:0 10px 28px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:inherit;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden;cursor:pointer}.tile:hover:not(.empty){transform:translateY(-3px);border-color:rgba(212,160,23,.7);box-shadow:0 14px 32px rgba(0,0,0,.45),0 0 24px rgba(212,160,23,.12)}.tile .icon{font-size:clamp(28px, 7vw, 42px);line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}.tile .name{font-family:"Press Start 2P",cursive;font-size:clamp(8px, 2vw, 10px);text-align:center;line-height:1.5;padding:0 8px}.tile .tag{position:absolute;top:8px;right:8px;font-size:10px;color:#0c0a10;background:var(--gold);padding:2px 6px;border-radius:999px;font-weight:700}.tile.empty{opacity:.35;cursor:default;border-style:dashed;pointer-events:none}.tile.empty .icon{font-size:22px;opacity:.5}.tile.empty .name{color:var(--muted);font-family:"Noto Sans SC",sans-serif;font-size:12px}.foot{margin-top:28px;text-align:center;font-size:12px;color:var(--muted)}@media (max-width:420px){.grid{gap:10px}.wrap{padding:24px 14px 40px}}