.vibes-page{min-height:100vh;padding:60px 40px;background:var(--bg-dark)}.vibes-container{max-width:1200px;margin:0 auto}.vibes-back{display:inline-block;margin-bottom:40px;opacity:.6;transition:opacity .2s}.vibes-back:hover{opacity:1}.vibes-header{margin-bottom:50px}.vibes-title{font-family:var(--font-title);font-size:32px;font-weight:400;text-transform:uppercase;letter-spacing:4px;color:var(--text-primary);margin-bottom:12px}.vibes-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.7}.vibes-empty{padding:80px 0;text-align:center}.vibes-empty p{font-size:14px;color:var(--text-dim);font-style:italic}.vibes-masonry{-moz-columns:3;column-count:3;-moz-column-gap:16px;column-gap:16px}.vibe-card{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:border-color .2s}.vibe-card:hover{border-color:var(--text-dim)}.vibe-media{width:100%;overflow:hidden;background:#0a0a0a}.vibe-media img{height:auto}.vibe-media img,.vibe-media video{display:block;width:100%}.vibe-link{display:flex;align-items:center;gap:8px;padding:20px;text-decoration:none;color:var(--accent);transition:background .2s}.vibe-link:hover{background:rgba(255,21,22,.05)}.vibe-link-icon{font-size:18px}.vibe-link-url{font-family:var(--font-mono,"Space Mono",monospace);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vibe-info{padding:16px}.vibe-title{font-family:var(--font-title);font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:var(--text-primary);margin-bottom:6px}.vibe-description{font-size:13px;color:var(--text-secondary);line-height:1.5}@media (max-width:1024px){.vibes-masonry{-moz-columns:2;column-count:2}}@media (max-width:768px){.vibes-page{padding:40px 20px}.vibes-title{font-size:24px;letter-spacing:3px}.vibes-masonry{-moz-columns:1;column-count:1}}.portfolio-page{min-height:100vh;padding:60px 40px;background:var(--bg-dark)}.portfolio-container{max-width:900px;margin:0 auto}.portfolio-back{display:inline-block;margin-bottom:40px;opacity:.6;transition:opacity .2s}.portfolio-back:hover{opacity:1}.portfolio-header{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--border)}.portfolio-title{font-family:var(--font-title);font-size:32px;font-weight:400;text-transform:uppercase;letter-spacing:3px;color:var(--text-primary);margin-bottom:8px}.portfolio-author{font-size:14px;color:var(--text-dim);margin-bottom:16px}.portfolio-description{font-size:15px;color:var(--text-secondary);line-height:1.7;max-width:600px}.portfolio-empty{padding:60px 0;text-align:center}.portfolio-empty p{font-size:14px;color:var(--text-dim)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.portfolio-item{background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:border-color .2s}.portfolio-item:hover{border-color:var(--text-dim)}.portfolio-item-media{width:100%;aspect-ratio:16/10;overflow:hidden;background:#0a0a0a}.portfolio-item-media img,.portfolio-item-media video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portfolio-item-info{padding:20px}.portfolio-item-title{font-family:var(--font-title);font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-primary);margin-bottom:8px}.portfolio-item-description{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.portfolio-item-ref{font-family:var(--font-mono,"Space Mono",monospace);font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:1px}.portfolio-item-gallery{display:flex;gap:2px;padding:0 2px 2px}.portfolio-gallery-thumb{flex:1;aspect-ratio:1;overflow:hidden;background:#0a0a0a}.portfolio-gallery-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.portfolio-footer{margin-top:60px;padding-top:24px;border-top:1px solid var(--border);text-align:center}.portfolio-footer p{font-size:12px;color:var(--text-dim)}.portfolio-ludos-link{color:var(--accent);text-decoration:none}.portfolio-ludos-link:hover{text-decoration:underline}@media (max-width:768px){.portfolio-page{padding:40px 20px}.portfolio-title{font-size:24px;letter-spacing:2px}.portfolio-grid{grid-template-columns:1fr}}