*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0c0c;--surface:#141414;--border:#222;--text:#d8d8d8;--text-muted:#777;--text-dim:#444;--price-color:#b8e8b8;--tag-bg:#1a1a1a}html,body,#root{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5}.page{max-width:1100px;margin:0 auto;padding:0 20px 80px}.header{border-bottom:1px solid var(--border);margin-bottom:48px;padding:56px 0 40px}.header h1{letter-spacing:-.5px;color:var(--text);margin-bottom:8px;font-size:clamp(22px,5vw,32px);font-weight:400}.header p{color:var(--text-muted);max-width:420px;font-size:15px}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2px;display:grid}.card{background:var(--surface);border:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.card-photo{aspect-ratio:4/3;background:#111;position:relative;overflow:hidden}.card-photo img{object-fit:cover;width:100%;height:100%;transition:opacity .2s;display:block}.card-photo .photo-placeholder{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.card-body{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex}.card-title{color:var(--text);letter-spacing:-.2px;font-size:17px;font-weight:500}.card-description{color:var(--text-muted);font-size:14px;line-height:1.55}.card-meta{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.tag{color:var(--text-muted);background:var(--tag-bg);border:1px solid var(--border);letter-spacing:.02em;border-radius:2px;padding:3px 8px;font-size:12px}.card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px;display:flex}.price{color:var(--price-color);letter-spacing:-.3px;font-size:20px;font-weight:500}.price-original{color:var(--text-dim);margin-left:6px;font-size:13px;text-decoration:line-through}.claim{color:var(--text-muted);white-space:nowrap;font-size:13px}.footer{border-top:1px solid var(--border);color:var(--text-dim);margin-top:72px;padding-top:24px;font-size:13px}@media (width<=600px){.header{margin-bottom:28px;padding:36px 0 28px}.grid{grid-template-columns:1fr;gap:2px}.card-footer{flex-direction:column;align-items:flex-start;gap:6px}}
