:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0f0f0f;--surface: #1a1a1a;--border: rgba(255, 255, 255, .08);--text: #fafafa;--muted: rgba(255, 255, 255, .55);--accent: #e8a045;--accent-hover: #f0b465}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2.25rem;font-weight:700;letter-spacing:-.03em;margin:0 0 .25rem}.subtitle{color:var(--muted);font-size:1rem;margin:0}.category-nav{display:flex;justify-content:center;gap:.75rem;margin-bottom:2.5rem;flex-wrap:wrap}.nav-pill{padding:.5rem 1.25rem;border-radius:2rem;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-size:.9rem;font-weight:500;transition:background .2s,border-color .2s}.nav-pill:hover{background:#ffffff0f;border-color:var(--accent)}.category{margin-bottom:3rem}.category-title{font-size:1.4rem;font-weight:600;letter-spacing:-.02em;margin:0 0 1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.hat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem}.hat-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden;transition:transform .2s,border-color .2s}.hat-card:hover{transform:translateY(-4px);border-color:#ffffff26}.hat-image{aspect-ratio:1;display:grid;place-items:center}.hat-emoji{font-size:3rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.hat-info{padding:.75rem 1rem 1rem}.hat-info h3{margin:0 0 .35rem;font-size:.9rem;font-weight:600}.hat-price{display:block;color:var(--accent);font-weight:700;font-size:.95rem;margin-bottom:.65rem}.add-btn{width:100%;padding:.45rem;border:1px solid var(--border);border-radius:.4rem;background:transparent;color:var(--text);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.add-btn:hover{background:var(--accent);border-color:var(--accent);color:#000}.footer{text-align:center;padding-top:2rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}
