@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--accent-primary:#0f172a;--accent-hover:#334155;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#0f172a14;--border-focus:#0f172a33;--glass-bg:#ffffffd9;--glass-border:#0f172a0d;--glass-blur:blur(16px);--font-serif:"Playfair Display", serif;--font-sans:"Outfit", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -4px #00000006;--shadow-xl:0 20px 25px -5px #0000000d, 0 8px 10px -6px #00000006;--shadow-premium:0 20px 40px -10px #00000014;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce:all .5s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-header{z-index:100;background:var(--glass-bg);width:100%;-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);transition:var(--transition-smooth);position:fixed;top:0;left:0}.nav-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex}.logo{font-family:var(--font-serif);letter-spacing:1px;color:var(--accent-primary);font-size:1.5rem;font-weight:700}.nav-links{align-items:center;gap:2.5rem;list-style:none;display:flex}.nav-link{letter-spacing:.5px;color:var(--text-secondary);transition:var(--transition-smooth);cursor:pointer;padding:.25rem 0;font-size:.95rem;font-weight:500;position:relative}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link:after{content:"";background-color:var(--accent-primary);width:0;height:2px;transition:var(--transition-bounce);position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-btn{border:1px solid var(--border-focus);color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:6px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500}.nav-btn:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.main-content{flex:1;padding-top:80px}.hero-physics-container{background:radial-gradient(circle at 50% 0%, #fff 0%, var(--bg-secondary) 100%);justify-content:center;align-items:center;width:100%;height:85vh;display:flex;position:relative;overflow:hidden}.hero-physics-canvas{pointer-events:auto;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;text-align:center;pointer-events:none;max-width:900px;padding:0 2rem;position:relative}.physics-word-container{pointer-events:none;flex-wrap:wrap;justify-content:center;display:inline-flex}.physics-letter{font-family:var(--font-serif);letter-spacing:2px;color:var(--text-primary);transform-origin:50%;will-change:transform;-webkit-user-select:none;user-select:none;pointer-events:auto;text-shadow:var(--shadow-sm);font-size:6rem;font-weight:700;display:inline-block;position:absolute}@media (width<=768px){.physics-letter{font-size:3.5rem}}.hero-subtitle{color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;margin-top:15rem;font-size:1.1rem;font-weight:400}.hero-cta-container{pointer-events:auto;margin-top:2.5rem}.btn-primary{background:var(--accent-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);transition:var(--transition-smooth);border:none;border-radius:8px;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:1rem;font-weight:500;display:inline-flex}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:.85rem 2rem;font-weight:500}.btn-secondary:hover{border-color:var(--border-focus);background:var(--bg-secondary)}.portfolio-section{max-width:1400px;margin:0 auto;padding:6rem 2rem}.section-header{justify-content:space-between;align-items:flex-end;margin-bottom:4rem;padding-bottom:1.5rem;display:flex}.section-title{font-family:var(--font-serif);color:var(--text-primary);font-size:3rem;font-weight:600}.section-subtitle{color:var(--text-secondary);max-width:500px;font-size:1.1rem}.album-filters{flex-wrap:wrap;gap:1rem;margin-bottom:3rem;display:flex}.filter-btn{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:var(--transition-smooth);box-shadow:var(--shadow-sm);background:#fff;border-radius:30px;padding:.6rem 1.5rem;font-weight:500}.filter-btn:hover{border-color:var(--border-focus);color:var(--text-primary);transform:translateY(-1px)}.filter-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.filter-btn.locked{align-items:center;gap:.5rem;display:inline-flex}.masonry-grid{columns:3;column-gap:1.5rem;width:100%}@media (width<=992px){.masonry-grid{columns:2}}@media (width<=600px){.masonry-grid{columns:1}}.grid-item{background:var(--bg-tertiary);cursor:pointer;opacity:0;width:100%;box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:1.5rem;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);display:inline-block;position:relative;overflow:hidden;transform:translateY(20px)scale(.98)}.grid-item.animate-in{opacity:1;transform:translateY(0)scale(1)}.grid-item:hover{box-shadow:var(--shadow-xl);z-index:10}.grid-img{width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block}.grid-item:hover .grid-img{transform:scale(1.03)}.grid-overlay{opacity:0;background:linear-gradient(#0000 50%,#0009 100%);align-items:flex-end;width:100%;height:100%;padding:1.5rem;transition:opacity .4s;display:flex;position:absolute;top:0;left:0}.grid-item:hover .grid-overlay{opacity:1}.photo-title{font-family:var(--font-sans);color:#fff;font-size:1.1rem;font-weight:500;transition:transform .4s;transform:translateY(10px)}.grid-item:hover .photo-title{transform:translateY(0)}.lightbox{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#fffffff2;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.lightbox-content{flex-direction:column;align-items:center;max-width:90%;max-height:90%;display:flex;position:relative}.lightbox-img{max-width:100%;max-height:85vh;box-shadow:var(--shadow-premium);border-radius:4px}.lightbox-caption{color:var(--text-secondary);margin-top:1rem;font-size:1rem}.lightbox-close{color:var(--text-primary);cursor:pointer;opacity:.6;transition:var(--transition-smooth);background:0 0;border:none;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;display:flex;position:absolute;top:-2.5rem;right:0}.lightbox-close:hover{opacity:1}.lightbox .btn-icon{border:1px solid var(--border-color);color:var(--text-primary);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80}.lightbox .btn-icon:hover{background:#fff}.password-gateway{border:1px solid var(--border-color);text-align:center;max-width:450px;box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;margin:6rem auto;padding:3rem 2.5rem}.gateway-icon{color:var(--text-primary);background:var(--bg-tertiary);border-radius:50%;margin-bottom:1.5rem;padding:1rem;display:inline-block}.gateway-title{font-family:var(--font-serif);margin-bottom:.75rem;font-size:1.75rem}.gateway-desc{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.form-group{text-align:left;margin-bottom:1.5rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:var(--transition-smooth);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;padding:.85rem 1.25rem;font-size:1rem}.form-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #0f172a1a}.btn-block{justify-content:center;width:100%}.error-msg{color:#ef4444;margin-top:1rem;font-size:.9rem}.admin-container{max-width:1400px;margin:0 auto;padding:3rem 2rem}.admin-header{justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1.5rem;display:flex}.admin-title-container{align-items:center;gap:1rem;display:flex}.admin-title-container h1{font-family:var(--font-serif);font-size:2.5rem;font-weight:600}.admin-tab-container{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:2rem;padding-bottom:1px;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:.75rem 1rem;font-size:1rem;font-weight:500;position:relative}.admin-tab.active{color:var(--text-primary)}.admin-tab.active:after{content:"";background:var(--accent-primary);width:100%;height:2px;position:absolute;bottom:-2px;left:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.admin-card{border:1px solid var(--border-color);transition:var(--transition-smooth);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}.admin-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-focus);transform:translateY(-3px)}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.badge-public{color:#166534;background:#dcfce7}.badge-private{color:#92400e;background:#fef3c7}.badge-hidden{color:#475569;background:#f1f5f9}.card-stats{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.card-actions{gap:.75rem;display:flex}.btn-icon{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;width:36px;height:36px;transition:var(--transition-smooth);box-shadow:var(--shadow-sm);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-focus)}.btn-icon.danger:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.upload-zone{border:2px dashed var(--border-color);text-align:center;background:var(--bg-secondary);cursor:pointer;transition:var(--transition-smooth);border-radius:12px;padding:4rem 2rem}.upload-zone:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.progress-bar-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;width:100%;height:8px;margin-top:1.5rem;overflow:hidden}.progress-bar{background:var(--accent-primary);height:100%;transition:width .3s}.links-table-container{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;overflow:hidden}.links-table{border-collapse:collapse;text-align:left;width:100%}.links-table th,.links-table td{border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.links-table th{background:var(--bg-secondary);color:var(--text-secondary);font-size:.85rem;font-weight:600}.links-table td{font-size:.95rem}.copy-link{color:var(--accent-primary);cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.copy-link:hover{text-decoration:underline}.main-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);padding:4rem 2rem;font-size:.95rem}.main-footer a{color:var(--text-secondary);transition:var(--transition-smooth);font-weight:500}.main-footer a:hover{color:var(--text-primary)}.polaroid{width:140px;height:180px;box-shadow:var(--shadow-md);transform-origin:50%;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;z-index:5;background:#fff;border:1px solid #0000000d;padding:10px 10px 40px;transition:transform .6s cubic-bezier(.175,.885,.32,1.275),box-shadow .6s;position:absolute}.polaroid img{object-fit:cover;pointer-events:none;background:var(--bg-tertiary);width:100%;height:100%}.polaroid:hover{box-shadow:var(--shadow-xl)}.polaroid-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9998;opacity:0;pointer-events:none;background:#ffffffd9;width:100%;height:100%;transition:opacity .4s;position:fixed;top:0;left:0}.polaroid-backdrop.active{opacity:1;pointer-events:auto}.polaroid.polaroid-active{cursor:default;z-index:9999!important;pointer-events:auto!important;box-shadow:0 15px 30px #0003!important}.polaroid.polaroid-active:before{content:"";z-index:-1;background:linear-gradient(135deg,#1f1f1f 0%,#0a0a0a 100%);border-radius:15px 15px 0 0;width:60px;height:60vh;margin-left:-30px;animation:.6s cubic-bezier(.175,.885,.32,1.275) forwards gloveArmRise;position:absolute;top:90%;left:50%;box-shadow:inset 2px 2px 5px #ffffff0d,inset -3px -3px 6px #000c,0 6px 15px #000000b3}.polaroid.polaroid-active:after{content:"";z-index:10;transform-origin:bottom;opacity:0;background:linear-gradient(135deg,#2a2a2a 0%,#111 100%);border-radius:10px;width:18px;height:43px;margin-left:8px;animation:.6s cubic-bezier(.175,.885,.32,1.275) forwards gloveThumbRise;position:absolute;bottom:-13px;left:50%;transform:rotate(-15deg);box-shadow:inset 1px 1px 2px #ffffff1a,-2px 2px 5px #000c}@keyframes gloveArmRise{0%{opacity:0;transform:translateY(100vh)}10%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes gloveThumbRise{0%{opacity:0;transform:translateY(100vh)rotate(-15deg)}10%{opacity:1}to{opacity:1;transform:translateY(0)rotate(-15deg)}}@media (width<=768px){.polaroid.polaroid-active{width:85vw!important;height:60vh!important;padding:10px 10px 60px!important}.polaroid.polaroid-active:before{width:140px;margin-left:-70px}.polaroid.polaroid-active:after{width:45px;height:100px;margin-left:20px;bottom:-30px}}
