.home.svelte-h7bcrl{padding:40px 48px;max-width:1200px}.home-header.svelte-h7bcrl{margin-bottom:32px}h1.svelte-h7bcrl{font-size:24px;font-weight:700;color:var(--text)}.subtitle.svelte-h7bcrl{color:var(--text-muted);margin-top:4px}.project-grid.svelte-h7bcrl{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.project-card.svelte-h7bcrl{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s;cursor:pointer}.project-card.svelte-h7bcrl:hover{border-color:var(--border-hover);transform:translateY(-1px)}.project-card-header.svelte-h7bcrl{display:flex;align-items:center;justify-content:space-between}.project-emoji.svelte-h7bcrl{font-size:24px}.project-badge.svelte-h7bcrl{font-size:11px;font-weight:700;font-family:monospace;padding:2px 8px;border-radius:999px;border:1px solid;letter-spacing:.05em}.project-title.svelte-h7bcrl{font-size:15px;font-weight:600;color:var(--text)}.project-desc.svelte-h7bcrl{font-size:13px;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta.svelte-h7bcrl{margin-top:auto;display:flex;gap:12px}.meta-item.svelte-h7bcrl{font-size:12px;color:var(--text-secondary);display:flex;gap:4px}.loading-grid.svelte-h7bcrl{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.skeleton-card.svelte-h7bcrl{height:140px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);animation:svelte-h7bcrl-pulse 1.5s ease-in-out infinite}@keyframes svelte-h7bcrl-pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state.svelte-h7bcrl{text-align:center;padding:80px 40px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon.svelte-h7bcrl{font-size:48px;margin-bottom:8px}.empty-state.svelte-h7bcrl h3:where(.svelte-h7bcrl){font-size:18px;font-weight:600}.empty-state.svelte-h7bcrl p:where(.svelte-h7bcrl){color:var(--text-muted)}
