*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#f8fafc;color:#0f172a}a{color:#2563eb;text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column}.header,.footer{display:flex;gap:16px;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0}.footer{margin-top:auto;border-top:1px solid #e2e8f0;border-bottom:none}.logo{font-weight:700;color:#0f172a}.nav{display:flex;gap:12px;flex-wrap:wrap}main{width:min(1100px,100%);margin:0 auto;padding:24px}.hero,.info,.empty,.detail{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0f172a14}.section{margin-top:32px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.category-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0f172a14;color:inherit;text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px}.card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0f172a14;color:inherit}.card img{width:100%;aspect-ratio:2 / 3;object-fit:cover;display:block}.card h3,.detail h1,.info h1,.empty h1{margin:12px 16px}.card p{margin:0 16px 12px;font-size:14px;color:#64748b}.detail{display:grid;grid-template-columns:280px 1fr;gap:24px}.detail img{width:100%;border-radius:8px}@media(max-width:768px){.detail{grid-template-columns:1fr}}
