:root{--primary-color: #2563eb;--secondary-color: #10b981;--background: #ffffff;--surface: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--border: #e2e8f0;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 1rem}header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:4rem 0;text-align:center}header h1{font-size:3rem;font-weight:700;margin-bottom:.5rem}header p{font-size:1.25rem;opacity:.9}.filters{display:flex;justify-content:center;gap:1rem;margin:3rem 0;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;border:2px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:2rem;cursor:pointer;font-weight:500;transition:all .3s ease}.filter-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}.filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mockups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:4rem}.mockup-card{background:var(--surface);border-radius:1rem;overflow:hidden;box-shadow:var(--shadow);transition:all .3s ease;cursor:pointer}.mockup-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.mockup-image{width:100%;height:200px;object-fit:cover;background:linear-gradient(45deg,#f0f0f0,#e0e0e0)}.mockup-info{padding:1.5rem}.mockup-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.mockup-type{display:inline-block;padding:.25rem .75rem;background:var(--primary-color);color:#fff;border-radius:1rem;font-size:.75rem;font-weight:500;margin-bottom:.5rem}.mockup-type.type-3d{background:var(--secondary-color)}.mockup-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5}footer{background:var(--surface);padding:2rem 0;text-align:center;color:var(--text-secondary);border-top:1px solid var(--border)}@media (max-width: 768px){header h1{font-size:2rem}header p{font-size:1rem}.mockups-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.filters{margin:2rem 0}}.no-mockups{text-align:center;padding:3rem;color:var(--text-secondary)}
