:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--secondary-color:#fb923c;--secondary-hover:#f97316;--bg-color:#f8fafc;--text-color:#1e293b;--text-light:#64748b;--card-bg:#fff;--border-color:#e2e8f0;--success-color:#10b981}body{background-color:var(--bg-color);color:var(--text-color);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}.app-container{max-width:1200px;margin:0 auto;padding:0 20px 40px}.navbar{border-bottom:3px solid var(--primary-color);justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding:1.5rem 0;display:flex}.nav-brand{color:var(--primary-color);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:700;text-decoration:none;display:flex}.nav-brand img{width:auto;height:32px}.nav-links{gap:2rem;display:flex}.nav-links a{color:var(--text-color);font-size:.95rem;font-weight:600;text-decoration:none;transition:color .3s;position:relative}.nav-links a:hover{color:var(--primary-color)}.nav-links a:after{content:"";background:var(--primary-color);width:0;height:2px;transition:width .3s;position:absolute;bottom:-6px;left:0}.nav-links a:hover:after{width:100%}.gallery-container,.library-container{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.gallery-header,.library-header{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;display:flex}.gallery-title-section,.library-title-section{flex:1}.gallery-container h1,.library-container h1{color:var(--primary-color);letter-spacing:-.03em;margin:0 0 .5rem;font-size:2.5rem;font-weight:800}.gallery-container>p:not(.no-results),.library-container>p:not(.no-results),.gallery-header p,.library-header p{color:var(--text-light);margin:0;font-size:1.05rem}.search-container{background:var(--card-bg);border-left:4px solid var(--primary-color);border-radius:16px;align-items:center;gap:1rem;margin-bottom:2.5rem;padding:2rem;display:flex;box-shadow:0 1px 3px #00000014}.search-input-wrapper{border:1px solid var(--border-color);background:#f1f5f9;border-radius:10px;flex:1;align-items:center;gap:.75rem;padding:0 1rem;transition:border-color .3s,background-color .3s;display:flex}.search-input-wrapper:focus-within{border-color:var(--primary-color);background:#fff}.search-icon{color:var(--text-light);font-size:1.2rem}.search-input{color:var(--text-color);background:0 0;border:none;outline:none;flex:1;padding:.75rem 0;font-size:1rem}.search-input::placeholder{color:var(--text-light)}.category-filter{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background:#fff;border-radius:10px;min-width:150px;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:border-color .3s,background-color .3s}.category-filter:hover{border-color:var(--primary-color)}.category-filter:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #2563eb1a}.btn-search{background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-search:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-search:active{transform:translateY(0)}.btn-cross-nav{background:var(--secondary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.btn-cross-nav:hover{background:var(--secondary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #fb923c4d}.card-grid{grid-template-columns:repeat(2,1fr);gap:2rem;max-width:700px;margin-top:0;margin-left:auto;margin-right:auto;display:grid}.image-grid,.video-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:0;display:grid}.card,.image-card,.video-card{background:var(--card-bg);border:1px solid var(--border-color);color:inherit;cursor:pointer;border-radius:14px;padding:0;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 2px 8px #00000014}.card:hover,.image-card:hover,.video-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.image-card img,.video-card video{border-radius:0;width:100%;display:block}.image-card img{object-fit:cover;height:220px}.video-card video{aspect-ratio:16/9;background-color:#1a1a1a}.card-body,.video-info{padding:1.25rem}.card-body h3,.video-info h3{color:var(--text-color);margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.card-body p,.video-info p{color:var(--text-light);margin:0 0 1rem;font-size:.95rem}.category-tag{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50px;margin-bottom:.5rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:inline-block}.nav-card{text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:3rem 2rem;transition:all .3s;box-shadow:0 2px 8px #00000014}.nav-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.nav-card a{background:var(--primary-color);color:#fff;border-radius:10px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.nav-card a:hover{background:var(--primary-hover);transform:translateY(-2px)}button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}button:hover{opacity:.9;transform:translateY(-1px)}.no-results{text-align:center;color:var(--text-light);grid-column:1/-1;padding:3rem;font-size:1.1rem}.image-preview-section{border:1px solid var(--border-color);text-align:center;background:#fff;border-radius:16px;margin-top:4rem;padding:2.5rem}.preview-image{border-radius:8px;max-width:100%;margin:1.5rem auto;display:block;box-shadow:0 4px 6px #0000000d}button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:opacity .2s}button:hover{opacity:.9}.close-btn{background:#64748b;margin-top:1rem}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border-radius:16px;flex-direction:column;max-width:90vw;max-height:90vh;padding:2rem;animation:.2s ease-out slideIn;display:flex;position:relative;box-shadow:0 20px 25px -5px #0003}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close{width:2.5rem;height:2.5rem;color:var(--text-color);cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.5rem;transition:background .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{background:#cbd5e1}.modal-body{flex-direction:column;align-items:center;gap:1.5rem;max-height:80vh;display:flex;overflow-y:auto}.modal-body h2{text-align:center;margin:0;font-size:1.5rem}.modal-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:60vh;box-shadow:0 4px 6px #0000001a}.modal-video{background-color:#000;border-radius:8px;width:100%;max-width:100%;max-height:60vh}.modal-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;display:flex}.btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{color:var(--primary-color);border:2px solid var(--primary-color);cursor:pointer;background:0 0;border-radius:10px;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-secondary:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}@media (max-width:768px){.modal-content{max-width:95vw;max-height:95vh;padding:1.5rem}.modal-body{max-height:85vh}.modal-image,.modal-video{max-height:50vh}.modal-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.search-container{flex-direction:column}.category-filter{width:100%}.gallery-header,.library-header{flex-direction:column}.btn-cross-nav{align-self:flex-start}.card-grid,.image-grid,.video-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.gallery-container h1,.library-container h1{font-size:1.75rem}}.home-container{text-align:center;padding:3rem 0;animation:.5s ease-out fadeIn}.home-hero{margin-bottom:4rem}.home-logo{max-width:200px;height:auto;margin-bottom:2rem;animation:.6s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.home-container h1{color:var(--primary-color);letter-spacing:-.03em;margin:0 0 1rem;font-size:3rem;font-weight:800;line-height:1.2}.home-container>p{color:var(--text-light);max-width:700px;margin:0 auto 3rem;font-size:1.15rem;line-height:1.7}.nav-card-icon{margin-bottom:1rem;font-size:3rem}.nav-card h2{color:var(--primary-color);margin:1rem 0 .75rem;font-size:1.6rem;font-weight:700}.nav-card p{color:var(--text-light);margin:0 0 1.5rem;font-size:1rem}.nav-card-action{color:var(--primary-color);font-size:.95rem;font-weight:600;transition:transform .3s;display:inline-block}.nav-card:hover .nav-card-action{transform:translate(4px)}.nav-card{border-top:4px solid var(--primary-color);position:relative}.nav-card:nth-child(2){border-top-color:var(--secondary-color)}.nav-card:nth-child(2) h2,.nav-card:nth-child(2) .nav-card-action{color:var(--secondary-color)}.toast{z-index:2000;border-radius:12px;max-width:400px;padding:1rem 1.5rem;animation:.3s cubic-bezier(.4,0,.2,1) slideInRight;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 24px #00000026}@keyframes slideInRight{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}.toast-success{background:var(--success-color);color:#fff}.toast-error{color:#fff;background:#ef4444}.toast-info{background:var(--primary-color);color:#fff}.toast-content{align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;display:flex}.toast-icon{font-size:1.2rem;font-weight:700}.toast-message{flex:1}@media (max-width:768px){.home-container h1{font-size:2rem}.home-container>p{font-size:1rem}.home-logo{max-width:150px}.toast{max-width:none;bottom:1rem;left:1rem;right:1rem}}
