.gallery-grid.svelte-8w5eii{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:1rem 0}.gallery-card.svelte-8w5eii{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.gallery-card.svelte-8w5eii:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:#667eea}.gallery-card.svelte-8w5eii:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.image-container.svelte-8w5eii{position:relative;width:100%;height:200px;overflow:hidden}.image-container.svelte-8w5eii img:where(.svelte-8w5eii){width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-card.svelte-8w5eii:hover .image-container:where(.svelte-8w5eii) img:where(.svelte-8w5eii){transform:scale(1.05)}.placeholder-container.svelte-8w5eii{width:100%;height:100%;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:2px dashed #cbd5e1;transition:all .3s ease}.gallery-card.svelte-8w5eii:hover .placeholder-container:where(.svelte-8w5eii){background:linear-gradient(135deg,#f1f5f9,#d1d5db);border-color:#94a3b8}.placeholder-icon.svelte-8w5eii{color:#94a3b8;margin-bottom:.75rem;transition:color .3s ease}.gallery-card.svelte-8w5eii:hover .placeholder-icon:where(.svelte-8w5eii){color:#64748b}.placeholder-text.svelte-8w5eii{color:#64748b;font-size:.875rem;font-weight:500;margin:0;text-align:center}.image-overlay.svelte-8w5eii{position:absolute;top:12px;right:12px;background:#000000b3;color:#fff;padding:.5rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.card-content.svelte-8w5eii{padding:1.5rem}.gallery-title.svelte-8w5eii{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.gallery-meta.svelte-8w5eii{color:#667eea;font-weight:500;margin:0 0 .5rem;font-size:.95rem}.gallery-date.svelte-8w5eii{color:#888;font-size:.875rem;margin:0}.gallery-date--empty.svelte-8w5eii{color:#667eea;font-weight:500;font-style:italic}@media (max-width: 768px){.gallery-grid.svelte-8w5eii{grid-template-columns:1fr;gap:1.5rem}.gallery-card.svelte-8w5eii{margin:0 .5rem}.image-container.svelte-8w5eii{height:180px}.card-content.svelte-8w5eii{padding:1rem}.gallery-title.svelte-8w5eii{font-size:1.25rem}}.container.svelte-1uha8ag{max-width:1200px;margin:0 auto;padding:2rem 1rem;min-height:100vh}.header.svelte-1uha8ag{margin-bottom:3rem}.header-content.svelte-1uha8ag{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.title-section.svelte-1uha8ag{text-align:center;flex:1}.title-section.svelte-1uha8ag h1:where(.svelte-1uha8ag){font-size:3rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-section.svelte-1uha8ag{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.user-email.svelte-1uha8ag{color:#666;font-size:.9rem}.logout-button.svelte-1uha8ag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button.svelte-1uha8ag:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.subtitle.svelte-1uha8ag{font-size:1.2rem;color:#666;margin:0}.loading.svelte-1uha8ag{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 0}.spinner.svelte-1uha8ag{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:svelte-1uha8ag-spin 1s linear infinite;margin-bottom:1rem}@keyframes svelte-1uha8ag-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error.svelte-1uha8ag,.empty.svelte-1uha8ag{text-align:center;padding:4rem 0}.error.svelte-1uha8ag h2:where(.svelte-1uha8ag),.empty.svelte-1uha8ag h2:where(.svelte-1uha8ag){color:#e53e3e;margin-bottom:1rem}.error.svelte-1uha8ag p:where(.svelte-1uha8ag),.empty.svelte-1uha8ag p:where(.svelte-1uha8ag){color:#666;font-size:1.1rem}@media (max-width: 768px){.container.svelte-1uha8ag{padding:1rem .5rem}.header-content.svelte-1uha8ag{flex-direction:column;text-align:center}.title-section.svelte-1uha8ag h1:where(.svelte-1uha8ag){font-size:2.5rem}.subtitle.svelte-1uha8ag{font-size:1rem}.user-section.svelte-1uha8ag{align-items:center}}
