*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--font-serif:var(--font-serif),"Cormorant Garamond",serif;--font-sans:var(--font-sans),"Inter",sans-serif}body{font-family:var(--font-sans);color:var(--text-dark);background:radial-gradient(circle at 10% 20%,#fdf9f6 0,#f6ebe9 90.1%);background-attachment:fixed;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.glass-card{background:var(--glass-bg);backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);border:1px solid var(--glass-border);border-radius:24px;box-shadow:var(--glass-shadow);padding:2rem;margin-bottom:0;transition:transform var(--transition-speed) var(--spring-easing),background-color var(--transition-speed) var(--spring-easing),border-color var(--transition-speed) var(--spring-easing),box-shadow var(--transition-speed) var(--spring-easing)}.app-header{position:-webkit-sticky;position:sticky;top:16px;z-index:1000;margin-bottom:1.5rem;padding:.75rem 1.25rem!important;border-radius:20px!important;border:1px solid hsla(0,0%,100%,.5)!important;background:hsla(0,0%,100%,.75)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;box-shadow:0 4px 20px rgba(0,0,0,.04),0 2px 6px rgba(0,0,0,.02)!important;transition:all var(--transition-speed) var(--spring-easing)!important}.app-header-inner{display:flex;justify-content:space-between;align-items:center;width:100%}.app-logo-area{gap:.65rem}.app-logo-area,.logo-icon-wrap{display:flex;align-items:center}.logo-icon-wrap{width:32px;height:32px;border-radius:8px;background:rgba(197,160,89,.1);justify-content:center;border:1px solid rgba(197,160,89,.15)}.logo-icon{color:var(--primary);font-size:.95rem}.app-main-title{font-family:var(--font-sans);font-size:1.1rem;font-weight:600;color:var(--text-dark);letter-spacing:-.3px;margin:0}.app-header-status{display:flex;align-items:center;gap:.65rem}.app-folder-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:550;color:var(--text-light);background:rgba(0,0,0,.03);padding:.3rem .65rem;border-radius:10px}.badge-name{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.switch-folder-btn{min-height:30px!important;padding:0 .8rem!important;font-size:.76rem!important;border-radius:8px!important;gap:.3rem!important}.app-header-subtitle{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text-light);font-weight:500}.app-header-subtitle i{color:var(--primary);font-size:.78rem}@media (max-width:768px){.app-header{top:calc(8px + env(safe-area-inset-top, 0px));margin-bottom:1rem;border-radius:16px!important;padding:.6rem 1rem!important}.badge-name{max-width:75px}}:root{--primary:#c5a059;--primary-hover:#b08d48;--secondary:#8b5e66;--background-start:#fbf9f6;--background-end:#f4e8e5;--text-dark:#1d1d1f;--text-light:#6e6e73;--glass-bg:hsla(0,0%,100%,.72);--glass-bg-hover:hsla(0,0%,100%,.85);--glass-border:hsla(0,0%,100%,.45);--glass-border-focus:hsla(0,0%,100%,.65);--glass-shadow:0 12px 36px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.03);--glass-shadow-deep:0 20px 48px rgba(0,0,0,.1),0 8px 24px rgba(0,0,0,.04);--spring-easing:cubic-bezier(0.16,1,0.3,1);--transition-speed:350ms}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--primary);color:#fff;border:1px solid hsla(0,0%,100%,.2);padding:0 1.75rem;min-height:46px;font-family:var(--font-sans);font-weight:500;font-size:.95rem;border-radius:14px;cursor:pointer;box-shadow:0 4px 12px rgba(197,160,89,.15);transition:all var(--transition-speed) var(--spring-easing);text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px rgba(197,160,89,.25)}.btn:active{transform:scale(.97) translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-secondary{background-color:hsla(0,0%,100%,.6);color:var(--text-dark);border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.02)}.btn-secondary:hover{background-color:hsla(0,0%,100%,.9);border-color:rgba(0,0,0,.15);color:var(--text-dark);transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.04)}.btn-secondary:active{transform:scale(.97) translateY(0)}.action-bar-container{display:flex;gap:.65rem;margin-bottom:2rem;align-items:center;width:100%;flex-wrap:wrap}.action-bar-btn{padding:0 1.25rem!important}.action-bar-btn,.action-upload-btn{font-size:.88rem!important;min-height:42px!important;border-radius:12px!important}.action-upload-btn{padding:0 1.5rem!important;background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%)!important;box-shadow:0 4px 12px rgba(197,160,89,.2)!important}@keyframes pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateX(-50%) translateY(100px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.skeleton{animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.04) 75%);background-size:200% 100%}.skeleton-card{border-radius:12px;overflow:hidden;background:hsla(0,0%,100%,.1);box-shadow:0 4px 12px rgba(0,0,0,.01)}.skeleton-thumb{width:100%;animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,hsla(0,0%,100%,.02) 25%,hsla(0,0%,100%,.06) 50%,hsla(0,0%,100%,.02) 75%);background-size:200% 100%}.empty-state,.error-state{text-align:center;padding:4rem 2rem;color:var(--text-light)}.empty-state i,.error-state i{font-size:3rem;color:var(--primary);margin-bottom:1.5rem;opacity:.7}.empty-state h3,.error-state h3{font-family:var(--font-serif);font-size:1.8rem;font-weight:400;margin-bottom:.5rem;color:var(--text-dark)}.upload-zone{border:2px dashed rgba(197,160,89,.35);border-radius:24px;padding:3.5rem 2rem;text-align:center;cursor:pointer;background:hsla(0,0%,100%,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all var(--transition-speed) var(--spring-easing);position:relative;overflow:hidden;box-shadow:var(--glass-shadow)}.upload-zone.dragover,.upload-zone:hover{border-color:var(--primary);background:hsla(0,0%,100%,.7);transform:translateY(-2px);box-shadow:var(--glass-shadow-deep)}.upload-zone:active{transform:scale(.98) translateY(0)}.upload-icon{font-size:3.2rem;color:var(--primary);margin-bottom:1.25rem;transition:transform var(--transition-speed) var(--spring-easing);filter:drop-shadow(0 4px 10px rgba(197,160,89,.15))}.upload-zone:hover .upload-icon{transform:translateY(-6px) scale(1.05)}.upload-zone h3{font-family:var(--font-serif);font-size:1.85rem;font-weight:300;margin-bottom:.5rem;color:var(--text-dark);letter-spacing:-.3px}.upload-zone p{color:var(--text-light);font-size:.95rem;margin-bottom:1.75rem;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.4}.upload-list-container{margin-top:2rem;animation:listFadeIn .4s var(--spring-easing)}@keyframes listFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.upload-list-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:400;color:var(--text-dark);margin-bottom:1.25rem;display:flex;align-items:center;gap:.65rem}.upload-item{display:flex;align-items:center;gap:1.15rem;background:hsla(0,0%,100%,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.5);border-radius:16px;padding:.9rem 1.25rem;margin-bottom:.85rem;box-shadow:0 4px 12px rgba(0,0,0,.02);animation:uploadItemSlideIn .35s var(--spring-easing)}@keyframes uploadItemSlideIn{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}.upload-item-icon{font-size:1.6rem;color:var(--primary);width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.02)}.upload-item-details{flex:1 1;min-width:0}.upload-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.upload-item-name{font-weight:550;font-size:.92rem;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-item-status{font-size:.82rem;font-weight:600}.upload-item-status.uploading{color:var(--primary)}.upload-item-status.success{color:#34c759}.upload-item-status.error{color:#ff3b30}.progress-bar-bg{height:6px;background-color:rgba(0,0,0,.04);border-radius:4px;overflow:hidden;width:100%}.progress-bar-fill{height:100%;background-color:var(--primary);width:0;border-radius:4px;transition:width .35s var(--spring-easing)}.progress-bar-fill.success{background-color:#34c759}.progress-bar-fill.error{background-color:#ff3b30}.gallery-header{justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:.5rem}.gallery-header,.gallery-title{display:flex;align-items:center}.gallery-title{font-family:var(--font-serif);font-size:1.85rem;font-weight:400;color:var(--text-dark);letter-spacing:-.3px}.filter-tabs{display:flex;background:rgba(0,0,0,.04);padding:3px;border-radius:14px}.filter-tab{border:none;background:transparent;padding:.45rem 1.15rem;font-size:.88rem;font-weight:550;border-radius:12px;cursor:pointer;color:var(--text-light);transition:all var(--transition-speed) var(--spring-easing);display:inline-flex;align-items:center;gap:.35rem}.filter-tab.active{background:#fff;color:var(--text-dark);box-shadow:0 4px 10px rgba(0,0,0,.06)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:6px;gap:6px}.gallery-item{position:relative;aspect-ratio:1/1;background-color:rgba(0,0,0,.03);cursor:pointer;overflow:hidden;border-radius:8px;border:1px solid rgba(0,0,0,.03);transition:transform var(--transition-speed) var(--spring-easing),border-radius var(--transition-speed) var(--spring-easing),box-shadow var(--transition-speed) var(--spring-easing)}.gallery-item:hover{transform:scale(1.025);box-shadow:0 10px 24px rgba(0,0,0,.1);z-index:2}.gallery-thumb{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--spring-easing)}.gallery-item:hover .gallery-thumb{transform:scale(1.04)}.video-badge{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:3px 7px;border-radius:12px;font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:4px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.1);letter-spacing:.2px}.video-badge i{font-size:.72rem}.item-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65) 0,rgba(0,0,0,.2) 60%,transparent);opacity:0;display:flex;flex-direction:column;justify-content:flex-end;padding:.85rem;transition:opacity .25s var(--spring-easing);z-index:1}.gallery-item:hover .item-overlay{opacity:1}.item-overlay-content{color:#fff;width:100%}.item-title{font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.15rem}.item-size-info{font-size:.7rem;color:hsla(0,0%,100%,.75)}@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:2px}.gallery-item{border-radius:0;border:none}.gallery-item:hover{transform:none;box-shadow:none}.gallery-item:hover .gallery-thumb{transform:none}.video-badge{bottom:5px;right:5px;padding:2px 5px;font-size:.65rem}}.gallery-item.selected{transform:scale(.92)!important;border-radius:14px!important;border:2px solid var(--primary)!important;box-shadow:0 8px 24px rgba(197,160,89,.25)!important}.item-select-checkbox{position:absolute;top:8px;left:8px;z-index:3;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.3);border:1.5px solid hsla(0,0%,100%,.75);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;opacity:0;transition:all var(--transition-speed) var(--spring-easing);box-shadow:0 2px 6px rgba(0,0,0,.15)}.gallery-item.in-selection-mode .item-select-checkbox,.gallery-item:hover .item-select-checkbox,.item-select-checkbox.checked{opacity:1}.item-select-checkbox.checked{background:var(--primary);border-color:#fff;color:#fff;transform:scale(1.08)}.floating-selection-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(0);background:hsla(0,0%,100%,.82);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.55);box-shadow:var(--glass-shadow-deep);border-radius:20px;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:999;width:92%;max-width:500px;animation:slideSelectionUp .4s var(--spring-easing) forwards}@keyframes slideSelectionUp{0%{transform:translateX(-50%) translateY(100px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.selection-info{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-dark);font-size:.95rem}.selection-badge{background:var(--primary);color:#fff;min-width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;padding:0 6px;box-shadow:0 2px 8px rgba(197,160,89,.3)}.selection-actions{display:flex;gap:.5rem;align-items:center}.selection-actions .btn{padding:0 1.2rem;min-height:38px;font-size:.85rem;border-radius:10px;box-shadow:none}.selection-actions .btn-secondary{background:transparent;border:1px solid rgba(0,0,0,.1)}.selection-actions .btn-secondary:hover{background:rgba(0,0,0,.05);transform:none}.selection-actions .btn:hover{transform:translateY(-1px)}@media (max-width:480px){.floating-selection-bar{bottom:calc(16px + env(safe-area-inset-bottom, 0px));width:94%;padding:.6rem .85rem;gap:.5rem}.selection-info span:not(.selection-badge){display:none}.selection-actions{flex:1 1;justify-content:flex-end;gap:.4rem}.selection-actions .btn{padding:0 .85rem;min-height:36px;font-size:.8rem}}.lightbox{position:fixed;inset:0;background-color:#000;z-index:2000;display:none;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .35s var(--spring-easing);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.lightbox.active{display:flex;opacity:1}.lightbox-content{position:relative;max-width:95%;max-height:80vh;display:flex;justify-content:center;align-items:center;z-index:10;outline:none}.lightbox-media{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,.6);animation:lightboxSpringZoom .4s var(--spring-easing)}@keyframes lightboxSpringZoom{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-caption{color:#fff;font-family:var(--font-sans);font-size:.95rem;margin-top:1.25rem;text-align:center;max-width:85%;word-break:break-all;z-index:10;line-height:1.4;text-shadow:0 2px 4px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:calc(16px + env(safe-area-inset-top, 0px));right:16px;color:hsla(0,0%,100%,.75);background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.15);font-size:1.4rem;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1020;transition:all .25s var(--spring-easing);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox-close:hover{color:#fff;background:hsla(0,0%,100%,.22);transform:scale(1.08)}.lightbox-close:active{transform:scale(.9)}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);color:hsla(0,0%,100%,.65);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.1);font-size:1.3rem;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s var(--spring-easing);z-index:1015;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox-arrow:hover{color:#fff;background:hsla(0,0%,100%,.18);transform:translateY(-50%) scale(1.08)}.lightbox-arrow:active{transform:translateY(-50%) scale(.92)}.lightbox-arrow-left{left:24px}.lightbox-arrow-right{right:24px}.lightbox-mobile-overlay-arrow{display:none;position:absolute;top:50%;transform:translateY(-50%);color:hsla(0,0%,100%,.9);background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.15);font-size:1.1rem;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;z-index:1015;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .2s ease}.lightbox-mobile-overlay-arrow:active{transform:translateY(-50%) scale(.88);background:rgba(0,0,0,.55)}.lightbox-mobile-overlay-left{left:8px}.lightbox-mobile-overlay-right{right:8px}.lightbox-counter{position:absolute;top:calc(16px + env(safe-area-inset-top, 0px));left:20px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.85);padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:550;z-index:1020;letter-spacing:.5px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox-swipe-hint{position:absolute;bottom:calc(120px + env(safe-area-inset-bottom, 0px));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1020;opacity:0;transition:opacity .5s ease;pointer-events:none}.lightbox-swipe-hint.visible{opacity:1;animation:swipeHintPulse 2.5s ease forwards}@keyframes swipeHintPulse{0%{opacity:0;transform:translateX(-50%) translateY(5px)}15%{opacity:1;transform:translateX(-50%) translateY(0)}75%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-5px)}}.swipe-hint-dots{display:flex;gap:5px;align-items:center}.swipe-dot{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.4);transition:all .3s ease}.swipe-dot.active{background:#fff;width:18px;border-radius:3px}.swipe-dot-more{color:hsla(0,0%,100%,.5);font-size:.7rem;line-height:1}.swipe-hint-text{font-size:.72rem;color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:1.5px;font-weight:500}.lightbox-pagination-dots{display:none;gap:5px;align-items:center;justify-content:center;z-index:1020;padding:.35rem 0}.pagination-dot{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.35);transition:all .3s ease}.pagination-dot.active{background:#fff;width:18px;border-radius:3px}.pagination-dot-more{color:hsla(0,0%,100%,.5);font-size:.7rem;line-height:1}.lightbox-toolbar{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom, 0px));display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center;z-index:1020;padding:.25rem .5rem;width:90%;max-width:600px}.lightbox-toolbar .btn{background:hsla(0,0%,100%,.12)!important;color:#fff!important;border:1px solid hsla(0,0%,100%,.15)!important;font-size:.82rem!important;min-height:38px!important;padding:0 1.15rem!important;border-radius:20px!important;box-shadow:none!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.lightbox-toolbar .btn:hover{background:hsla(0,0%,100%,.22)!important;transform:translateY(-2px)!important;border-color:hsla(0,0%,100%,.3)!important}.lightbox-toolbar .btn:active{transform:scale(.95)!important}.lightbox-toolbar button[style*="background: rgba(198, 40, 40"]{background:rgba(255,59,48,.8)!important;border-color:rgba(255,59,48,.2)!important}.lightbox-toolbar button[style*="background: rgba(198, 40, 40"]:hover{background:rgba(255,59,48,.95)!important}.lightbox-toolbar a[style*="background: var(--primary)"]{background:rgba(197,160,89,.85)!important;border-color:rgba(197,160,89,.2)!important}.lightbox-toolbar a[style*="background: var(--primary)"]:hover{background:rgba(197,160,89,.95)!important}.lightbox-mobile-arrow{display:none;width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;align-items:center;justify-content:center;color:#fff}.lightbox-media{cursor:zoom-in;transition:transform .3s var(--spring-easing)}.lightbox-media.zoomed{cursor:-webkit-grab;cursor:grab;max-width:200%!important;max-height:200vh!important}.lightbox-content.zoomed{overflow:visible;max-width:95vw;max-height:80vh;display:block}.lightbox-content.zoomed #lightboxMediaContainer{display:inline-block;overflow:visible}@media (max-width:768px){.lightbox-content{max-width:100%;max-height:65vh}.lightbox-media{max-height:60vh;border-radius:0}.lightbox-arrow{display:none}.lightbox-mobile-overlay-arrow,.lightbox-pagination-dots{display:flex}.lightbox-close{right:12px;width:36px;height:36px}.lightbox-close,.lightbox-counter{top:calc(12px + env(safe-area-inset-top, 0px))}.lightbox-counter{left:12px}.lightbox-toolbar{bottom:calc(12px + env(safe-area-inset-bottom, 0px));flex-wrap:wrap;width:96%;padding:0 8px;justify-content:center;gap:.35rem}.lightbox-toolbar .btn{flex:0 0 auto;font-size:.75rem!important;padding:0 .85rem!important;min-height:34px!important}.lightbox-caption{font-size:.8rem;max-width:92%;margin-bottom:.5rem}}@media (max-width:480px){.lightbox-mobile-overlay-arrow{width:38px;height:38px;font-size:.95rem}.lightbox-mobile-overlay-left{left:4px}.lightbox-mobile-overlay-right{right:4px}.lightbox-toolbar .btn{font-size:.7rem!important;padding:0 .7rem!important;min-height:32px!important}}footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(197,160,89,.15);color:var(--text-light);font-size:.9rem}footer p{margin-bottom:.5rem}footer a{color:var(--primary);text-decoration:none}footer a:hover{text-decoration:underline}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:var(--text-dark);color:#fff;padding:.75rem 1.5rem;border-radius:30px;font-size:.9rem;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:2000;opacity:0;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}input[type=password]:focus,input[type=text]:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(197,160,89,.15)!important;background:#fff!important}.modal-backdrop{position:fixed;inset:0;background:rgba(15,10,12,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1500;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{max-width:420px;width:100%;text-align:center;padding:2.5rem 2rem;animation:modalSlideUp .35s var(--spring-easing);position:relative}@keyframes modalSlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-wrapper{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at 50% 50%,#fdf9f6 0,#f6ebe9 100%)}.auth-card{max-width:400px;width:100%;text-align:center;padding:3.5rem 2.5rem;box-shadow:var(--glass-shadow-deep);transform:translateY(0);animation:authFadeIn .5s var(--spring-easing)}@keyframes authFadeIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-icon-container{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-lock-circle{width:68px;height:68px;border-radius:50%;background:hsla(0,0%,100%,.85);border:1px solid hsla(0,0%,100%,.6);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(197,160,89,.12)}.auth-lock-icon{font-size:1.6rem;color:var(--primary)}.auth-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:300;color:var(--text-dark);margin-bottom:.5rem;letter-spacing:-.5px}.auth-subtitle{color:var(--text-light);font-size:.95rem;margin-bottom:2.2rem;line-height:1.4}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-input-wrapper{position:relative;width:100%}.auth-input{width:100%;padding:.85rem 1rem;border-radius:14px;border:1px solid rgba(0,0,0,.08);outline:none;font-size:1.1rem;text-align:center;background:hsla(0,0%,100%,.5);letter-spacing:2px;transition:all var(--transition-speed) var(--spring-easing)}.auth-input::placeholder{letter-spacing:0;font-size:.95rem;color:#a1a1a6}.auth-error-msg{color:#c62828;font-size:.85rem;font-weight:500;margin-top:-.25rem;animation:authWiggle .4s ease}@keyframes authWiggle{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.auth-submit-btn{width:100%;margin-top:.25rem}.onboarding-card{max-width:550px;margin:0 auto 2.5rem;padding:2.5rem 2rem;border-radius:28px;box-shadow:var(--glass-shadow)}.onboarding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;width:100%}.onboarding-icon-container{width:48px;height:48px;border-radius:50%;background:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.5);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.02)}.onboarding-icon{font-size:1.3rem;color:var(--primary)}.onboarding-dots{display:flex;gap:.5rem}.onboarding-dot{width:8px;height:8px;border-radius:50%;background-color:rgba(0,0,0,.1);cursor:pointer;transition:all .3s var(--spring-easing)}.onboarding-dot.active{background-color:var(--primary);width:24px;border-radius:4px}.onboarding-step-view{animation:onboardingSlideIn .4s var(--spring-easing);text-align:center}@keyframes onboardingSlideIn{0%{transform:translateX(15px);opacity:0}to{transform:translateX(0);opacity:1}}.onboarding-title{font-family:var(--font-serif);font-weight:300;font-size:1.85rem;color:var(--text-dark);margin-bottom:.5rem;letter-spacing:-.3px}.onboarding-subtitle{color:var(--text-light);font-size:.95rem;line-height:1.45;margin-bottom:2rem}.onboarding-input-group{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:1.5rem}.onboarding-input.text-field{width:100%;padding:.85rem 1.25rem;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:hsla(0,0%,100%,.5);font-size:1rem;outline:none;text-align:center;transition:all var(--transition-speed) var(--spring-easing)}.onboarding-checkbox{position:absolute;opacity:0;width:0;height:0}.onboarding-checkbox-wrapper{margin:1rem 0 2rem;width:100%}.onboarding-checkbox-label{display:flex;align-items:flex-start;gap:.85rem;cursor:pointer;text-align:left}.checkbox-custom-display{flex-shrink:0;width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.12);background:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;transition:all .2s var(--spring-easing)}.onboarding-checkbox:checked+.checkbox-custom-display{background:var(--primary);border-color:var(--primary)}.checkbox-label-text{display:flex;flex-direction:column;line-height:1.35}.checkbox-main-title{font-size:.95rem;font-weight:500;color:var(--text-dark)}.checkbox-description{font-size:.8rem;color:var(--text-light);margin-top:.15rem}.onboarding-info-bar{display:flex;gap:.6rem;background:rgba(197,160,89,.06);border:1px solid rgba(197,160,89,.15);padding:.85rem 1rem;border-radius:12px;text-align:left;font-size:.82rem;color:var(--primary-hover);margin-bottom:2rem;align-items:flex-start}.onboarding-info-bar i{margin-top:.1rem;font-size:.95rem}.onboarding-action-area{display:flex;justify-content:center;width:100%}.onboarding-action-area.multi-button{display:flex;gap:.75rem}.onboarding-next-btn,.onboarding-submit-btn{flex:1 1}.onboarding-back-btn{flex:0 0 100px}@media (max-width:768px){.modal-backdrop{align-items:flex-end!important;padding:0!important}.modal-card{max-width:100%!important;width:100%!important;margin:0!important;border-radius:28px 28px 0 0!important;padding:2.2rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom, 16px))!important;animation:modalMobileSlideUp .4s var(--spring-easing)!important;box-shadow:0 -8px 32px rgba(0,0,0,.08)!important}.modal-card:before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:38px;height:5px;background-color:rgba(0,0,0,.12);border-radius:3px;display:block}}@keyframes modalMobileSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:1.5rem;gap:1.5rem}.folder-card{position:relative;background:hsla(0,0%,100%,.45);border:1px solid hsla(0,0%,100%,.45);border-radius:24px;padding:1.5rem 1rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;height:200px;box-shadow:var(--glass-shadow);transition:all var(--transition-speed) var(--spring-easing);text-align:center}.folder-card:active{transform:scale(.96);background:hsla(0,0%,100%,.6)}.folder-card:hover{transform:translateY(-5px);background:var(--glass-bg-hover);border-color:rgba(197,160,89,.4);box-shadow:var(--glass-shadow-deep)}.folder-share-btn{position:absolute;top:12px;right:12px;background:hsla(0,0%,100%,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-dark);border:1px solid hsla(0,0%,100%,.5);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;font-size:.85rem;box-shadow:0 4px 12px rgba(0,0,0,.06);transition:all var(--transition-speed) var(--spring-easing)}.folder-share-btn:hover{transform:scale(1.12);background:#fff;color:var(--primary);box-shadow:0 6px 16px rgba(197,160,89,.15)}.folder-share-btn:active{transform:scale(.9)}.folder-thumb-area{width:100%;height:80px}.folder-avatar-circle,.folder-thumb-area{position:relative;display:flex;align-items:center;justify-content:center}.folder-avatar-circle{width:76px;height:76px;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.08);border:2px solid #fff}.folder-avatar-initial{font-family:var(--font-sans);color:#fff;font-weight:600;font-size:2.1rem;text-shadow:0 2px 4px rgba(0,0,0,.1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.folder-avatar-subicon{bottom:-4px;right:-4px;background:#fff;color:var(--text-dark);width:24px;height:24px;border-radius:50%;box-shadow:0 4px 8px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.04)}.folder-avatar-subicon,.folder-lock-badge{position:absolute;display:flex;align-items:center;justify-content:center;font-size:.75rem}.folder-lock-badge{top:0;left:calc(50% - 48px);background:#ffeef0;border:1.5px solid #ffccd3;color:#ff3b30;width:26px;height:26px;border-radius:50%;box-shadow:0 4px 10px rgba(255,59,48,.15);z-index:2;animation:lockScale .4s var(--spring-easing)}@keyframes lockScale{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.folder-info{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%}.folder-name{font-size:.95rem;font-weight:600;color:var(--text-dark);line-height:1.3;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;padding:0 .25rem}.folder-meta{display:flex;justify-content:center;width:100%}.private-badge,.public-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:550}.private-badge{background:rgba(139,94,102,.08);color:var(--secondary)}.public-badge{background:rgba(76,217,100,.08);color:#2e7d32}.folder-header-icon{margin-right:.65rem;color:var(--primary)}.breadcrumb-root:hover{color:var(--primary)!important;text-decoration:none!important;opacity:.85}@media (hover:none){.item-overlay{opacity:1;background:linear-gradient(0deg,rgba(0,0,0,.65) 0,rgba(0,0,0,.15) 50%,transparent)}}@media (max-width:768px){.container{padding:1rem .75rem}.wedding-title{font-size:1.8rem}.wedding-subtitle{font-size:1rem}.header-wrapper{margin-bottom:1.5rem}.glass-card{padding:1.25rem;border-radius:12px;margin-bottom:1.25rem}.upload-zone{padding:2rem 1rem}.upload-zone h3{font-size:1.3rem}.upload-zone p{font-size:.85rem;margin-bottom:1rem}.upload-icon{font-size:2.2rem}.gallery-header{flex-direction:column;align-items:stretch;gap:.75rem}.gallery-title{font-size:1.5rem}.filter-tabs{justify-content:center}.filter-tab{padding:.4rem 1rem;font-size:.85rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.folder-thumb-area{display:none!important}.folder-card{height:110px!important;justify-content:center!important;gap:.5rem!important;padding:1rem;border-radius:12px}.folder-name{font-size:1rem}.folder-meta{font-size:.75rem;gap:.5rem}.lightbox-content{max-width:96%;max-height:70vh}.lightbox-media{max-height:65vh}.lightbox-close{top:.75rem;right:.75rem;width:40px;height:40px;font-size:1.5rem}.lightbox-counter{top:.75rem;left:.75rem;font-size:.8rem}.lightbox-caption{font-size:.85rem;max-width:92%;margin-top:.75rem}.btn{padding:.65rem 1.25rem;font-size:.9rem}.upload-item-name{font-size:.8rem}.upload-list-title{font-size:1.1rem}.empty-state,.error-state{padding:2.5rem 1rem}.empty-state i,.error-state i{font-size:2.2rem}.empty-state h3,.error-state h3{font-size:1.4rem}footer{margin-top:2rem;padding-top:1rem;font-size:.8rem}.toast{max-width:90vw;font-size:.85rem;padding:.65rem 1.25rem}}@media (max-width:480px){.container{padding:.75rem .5rem}.wedding-title{font-size:1.5rem;letter-spacing:0}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.gallery-item{border-radius:8px}.folder-card{height:95px!important;padding:.75rem!important}.folder-name{font-size:.9rem}.gallery-title{font-size:1.2rem}.glass-card{padding:1rem}.lightbox-content{max-width:100%;padding:0 .25rem}.lightbox-media{max-height:55vh;border-radius:0}.lightbox-caption{font-size:.8rem;max-width:96%}}@media (max-width:768px){.action-bar-container{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-gap:.45rem!important;gap:.45rem!important;padding:.5rem 0 .85rem!important;margin-bottom:1.25rem!important;width:100%!important}.action-bar-btn,.action-upload-btn{white-space:nowrap!important;font-size:.78rem!important;padding:.55rem .5rem!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.35rem!important;border-radius:10px!important;min-height:40px!important}.action-bar-btn span,.action-upload-btn span{font-size:.75rem}}@media (max-width:400px){.action-bar-container{grid-template-columns:repeat(2,1fr)!important;gap:.35rem!important}.action-bar-btn,.action-upload-btn{font-size:.72rem!important;padding:.5rem .35rem!important}}