*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;font-weight:400;background:#f9f9f9;color:#1a1c1c;overflow-x:hidden;touch-action:pan-x pan-y}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:400}.app-header{background:#f9f9f9e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0 2rem;height:50px;position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:1rem}.app-header h1{font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1a1c1c}.album-heading{margin:3rem auto 3.5rem;padding:0}.album-heading-title{font-family:Manrope,sans-serif;font-size:clamp(3rem,7vw,5rem);font-weight:800;line-height:.95;color:#1a1c1c;letter-spacing:-.03em;display:block;word-break:break-word;margin-left:-.2rem}.edit-badge{display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:.2em .55em;margin-top:.5rem}.album-heading-username{font-family:Inter,sans-serif;margin-top:1.5rem;font-size:1rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#474747}.album-heading-links{margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem;max-width:560px}.album-heading-links .url-row{background:none;border:none;padding:0;gap:.35rem}.album-heading-links .url-link{flex:0 1 auto}.main{margin-top:50px;padding:1rem 2rem}.status{text-align:center;padding:2rem;opacity:.7}.upload-hero{max-width:600px;margin:3rem auto;display:flex;flex-direction:column;align-items:stretch;gap:1rem}.upload-meta{display:flex;flex-direction:column;gap:.75rem}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.8rem;opacity:.8}.input-group input{padding:.5rem;border:1px solid #333;font-size:.9rem}.input-group input:focus{outline:none;border-color:#007aff}.success-links{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.success-links p{font-size:1rem;opacity:.7}.url-row{display:flex;align-items:center;gap:.5rem;background:#f6f6f6;border:1px solid #e8e8e8;border-radius:6px;padding:.6rem .75rem}.url-label{font-size:.75rem;opacity:.5;white-space:nowrap;flex-shrink:0}.url-link{flex:1;font-size:.85rem;color:#007aff;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.url-link:hover{text-decoration:underline}.copy-button{flex-shrink:0;background:none;border:none;cursor:pointer;color:#888;padding:2px;display:flex;align-items:center;border-radius:4px;transition:color .15s ease,background .15s ease}.copy-button:hover{color:#333;background:#e0e0e0}.copy-button.copied{color:#34c759}.copy-label{font-size:.75rem;margin-left:.25rem}.upload-container{max-width:600px;margin:2rem auto;padding:1rem 0}#uppy-drag-drop,#uppy-edit-drag-drop{border:2px dashed #ccc;border-radius:8px;padding:3rem;text-align:center;background:#fafafa;transition:all .2s ease;cursor:pointer}#uppy-drag-drop:hover,#uppy-edit-drag-drop:hover{border-color:#007aff;background:#f0f7ff}#uppy-drag-drop.uppy-DragDrop--is-drag-over,#uppy-edit-drag-drop.uppy-DragDrop--is-drag-over{border-color:#007aff;background:#e6f2ff}.file-count{text-align:center;margin-top:.5rem;font-size:.9rem;opacity:.7}.upload-button{margin-top:.5rem;padding:.75rem 2rem;background:#007aff;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s ease;display:block;width:100%}.upload-button:hover{background:#0056b3}.upload-button:disabled{background:#ccc;cursor:not-allowed}.status.loading{color:#007aff}.status.error{color:#ff3b30}.photo-count{font-family:Inter,sans-serif;margin-top:.5rem;font-size:.75rem;letter-spacing:.05em;color:#777}.gallery{display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}.photo-card{flex:0 0 auto;max-width:500px;min-width:0;cursor:pointer}.photo-card img,.photo-card picture img{max-width:100%;width:auto;height:auto;display:block}.photo-card picture{display:block}.photo-info{padding:.4rem 0 0;opacity:0;transition:opacity .3s ease}.photo-card:hover .photo-info{opacity:1}.photo-filename{font-family:Inter,sans-serif;font-size:.75rem;letter-spacing:.05em;color:#474747;word-break:break-all}.lightbox{display:none;position:fixed;inset:0;background:#fff;z-index:2000;flex-direction:column;align-items:center;justify-content:center}.lightbox.active{display:flex;animation:lightboxFadeIn .1s ease-out}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;width:100%;flex:1;min-height:0;scrollbar-width:none}.lightbox-track::-webkit-scrollbar{display:none}.lightbox-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:center}.lightbox-slide img{max-width:90%;max-height:90%;object-fit:contain;touch-action:pan-x pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.lightbox:fullscreen,.lightbox:-webkit-full-screen{background:#000}.lightbox:fullscreen .lightbox-slide img,.lightbox:-webkit-full-screen .lightbox-slide img{max-width:100%;max-height:100%}.lightbox:fullscreen .lightbox-footer,.lightbox:-webkit-full-screen .lightbox-footer{display:none}.lightbox:fullscreen #lightboxFullscreen,.lightbox:-webkit-full-screen #lightboxFullscreen{display:none}.lightbox-filename{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);color:#c9c9c9;font-size:.9rem;background:#ffffffe6;padding:.5rem 1rem;border-radius:4px;max-width:90vw;text-align:center;word-break:break-all}.lightbox-top-action,.lightbox-nav{background:#0006;border:none;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;line-height:1;padding:0;margin:0}.lightbox-top-action:hover,.lightbox-nav:hover:not(.disabled){background:#000000d9}.lightbox-nav.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.lightbox-top-actions{top:1rem;right:1rem;position:absolute;display:flex;align-items:center;gap:.5rem;transition:opacity .2s ease;z-index:2002}.lightbox-top-action{position:relative;width:3rem;height:3rem}.lightbox-top-action svg{width:1.5rem;height:1.5rem;color:#fff;display:block}.lightbox.fullscreen-controls-hidden .lightbox-top-actions,.lightbox.fullscreen-controls-hidden .lightbox-nav{opacity:0;pointer-events:none}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:3.5rem;height:3.5rem;z-index:2001;padding:0}.lightbox-nav svg{width:1.5rem;height:1.5rem;color:#fff;display:block}.lightbox-nav-left{left:1rem}.lightbox-nav-right{right:1rem}.download-album-button{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.75rem 2rem;background:#000;color:#e2e2e2;border:none;border-radius:0;font-size:.75rem;font-family:inherit;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s ease}.download-album-button:hover{background:#3b3b3b}.download-album-button:disabled{background:#777;cursor:not-allowed}.download-album-button svg{flex-shrink:0}.album-settings{margin-top:.75rem}.toggle-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-label{font-size:.85rem;opacity:.7}.toggle-row input[type=checkbox]{display:none}.toggle-switch{width:36px;height:20px;background:#ccc;border-radius:10px;position:relative;transition:background .2s ease;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease}.toggle-row input:checked+.toggle-switch{background:#34c759}.toggle-row input:checked+.toggle-switch:after{transform:translate(16px)}.lightbox-footer{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;max-width:90vw;flex-shrink:0}.lightbox-footer .lightbox-filename{position:static;transform:none;background:none;padding:0;border-radius:0;color:#c9c9c9;font-size:.9rem;text-align:center;word-break:break-all}.lightbox-download{background:none;border:none;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s ease,background .15s ease;flex-shrink:0}.lightbox-download:hover{color:#333;background:#e0e0e0}@media(max-width:480px){.gallery{gap:1rem}.app-header{padding:0 1rem}.main{padding:1rem}.album-heading{margin-top:1rem}.photo-card{max-width:100%}.lightbox-slide img{max-width:100%;max-height:100%}.lightbox-footer{margin-top:.25rem}.lightbox-top-action{width:2.5rem;height:2.5rem}.lightbox-top-action svg{width:1.25rem;height:1.25rem}.lightbox-nav{width:2.5rem;height:2.5rem}.lightbox-nav svg{width:1.25rem;height:1.25rem}.lightbox-nav{display:none}}
