@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-primary: #1a1a2e;--brand-secondary: #16213e;--bg: #0d0d0d;--gallery-bg: var(--bg);--header-bg: rgba(13, 13, 13, .85);--slideshow-bg: #000;--surface: #1a1a1a;--surface2: #242424;--text: #f0f0f0;--text-muted: #888;--accent: var(--brand-primary);--radius: 6px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.06),transparent 60%),var(--bg)}.auth-card{width:min(360px,100%);background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.2rem;text-align:center}.auth-logo{color:var(--text-muted);display:flex;justify-content:center}.auth-card h1{font-size:1.4rem;font-weight:600;letter-spacing:-.02em}.auth-fields{display:flex;flex-direction:column;gap:.7rem}.auth-fields input{width:100%;background:var(--surface2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.95rem;padding:.75rem 1rem;outline:none;transition:border-color .15s}.auth-fields input:focus{border-color:#ffffff4d}.auth-fields input::placeholder{color:var(--text-muted)}.btn-primary{background:var(--text);color:var(--bg);border:none;border-radius:var(--radius);font:inherit;font-size:.95rem;font-weight:600;padding:.8rem 1.5rem;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);font:inherit;font-size:.9rem;padding:.65rem 1.4rem;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:#2e2e2e}.auth-error{color:#f87171;font-size:.85rem}.gallery-shell{min-height:100vh;background:var(--gallery-bg)}.gal-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.8rem;padding:.7rem 1.2rem;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:inset 0 -2px 0 0 var(--brand-secondary)}.gal-header__logo{height:28px;width:auto;object-fit:contain}.gal-header__title{font-size:1rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gal-header__spacer{flex:1}.gal-header__logout{border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--text);border-radius:999px;width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}.gal-header__logout:hover{background:#ffffff1f;border-color:#ffffff4d}.gal-header__logout svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.gal-header__sort{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--text);border-radius:999px;width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.gal-header__sort:hover{background:#ffffff29;border-color:#ffffff52}.gal-header__sort svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.gal-header__slideshow{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--text);border-radius:999px;width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.gal-header__slideshow:hover{background:#ffffff29;border-color:#ffffff52}.gal-header__slideshow svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:3px;padding:3px;transition:opacity .2s}.photo-grid--loading{opacity:.6}@media (min-width: 600px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (min-width: 1200px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.photo-tile{display:block;background:var(--surface);border:none;padding:0;cursor:pointer;aspect-ratio:4/3;overflow:hidden;position:relative}.photo-tile .photo-tile__img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:transform .25s ease,opacity .25s ease;position:relative;z-index:2}.photo-tile .photo-tile__img--loaded{opacity:1}.photo-tile .photo-tile__img--portrait{object-position:center top}.photo-tile .photo-tile__skeleton{position:absolute;inset:0;background:linear-gradient(180deg,#ffffff0f,#ffffff09);animation:photo-skeleton-soft 2.6s ease-in-out infinite;z-index:1;opacity:1;transition:opacity .2s ease}.photo-tile .photo-tile__skeleton--hidden{opacity:0;pointer-events:none}.photo-tile:hover .photo-tile__img{transform:scale(1.04)}@keyframes photo-skeleton-soft{0%,to{opacity:.82}50%{opacity:.96}}.photo-tile:nth-child(3n) .photo-tile__skeleton{animation-delay:.2s}.photo-tile:nth-child(4n) .photo-tile__skeleton{animation-delay:.45s}.photo-tile:nth-child(5n) .photo-tile__skeleton{animation-delay:.7s}@media (prefers-reduced-motion: reduce){.photo-tile__skeleton{animation:none}}.load-indicator{display:flex;justify-content:center;padding:2rem}.spinner{width:28px;height:28px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--text);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state,.error-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem}.error-state{color:#f87171}.load-more{display:flex;justify-content:center;padding:2rem}.timeline-scrubber{position:fixed;right:.55rem;top:5rem;bottom:1rem;width:44px;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;-webkit-user-select:none;user-select:none}.timeline-scrubber__edge{font-size:.65rem;color:#ffffff94;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.02em}.timeline-scrubber__rail{position:relative;flex:1;width:100%;min-height:180px;display:flex;justify-content:center;touch-action:none}.timeline-scrubber__line{width:4px;height:100%;border-radius:999px;background:linear-gradient(180deg,#ffffff57,#ffffff1a);box-shadow:inset 0 0 0 1px #ffffff1a}.timeline-scrubber__thumb{position:absolute;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:radial-gradient(circle at 30% 30%,#ffffffb8,#ffffff38);box-shadow:0 6px 14px #00000059;pointer-events:none}.timeline-scrubber__bubble{position:absolute;right:calc(100% + .5rem);transform:translateY(-50%);padding:.28rem .48rem;border-radius:999px;background:#0c0c0c9e;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffffe6;font-size:.72rem;line-height:1;opacity:0;transition:opacity .14s ease;pointer-events:none}.timeline-scrubber__bubble--active{opacity:1}@media (max-width: 900px){.timeline-scrubber{display:none}}.lightbox{position:fixed;inset:0;z-index:1000;background:#000000f5;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.lightbox__close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:1.3rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}.lightbox__close:hover{background:#ffffff38}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff14;border:none;color:#fff;font-size:2.5rem;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}.lightbox__nav:hover:not(:disabled){background:#ffffff2e}.lightbox__nav:disabled{opacity:.2;cursor:default}.lightbox__nav--prev{left:.8rem}.lightbox__nav--next{right:.8rem}.lightbox__img-wrap{width:min(1880px,100vw - 16px);height:min(100vh - 16px,99vh);position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.lightbox__actions{position:absolute;left:50%;bottom:.9rem;transform:translate(-50%);z-index:14;pointer-events:auto;display:flex;align-items:center;gap:.15rem;padding:.2rem;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:linear-gradient(140deg,#fff3,#ffffff14);box-shadow:0 12px 28px #00000059;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.lightbox__action-btn{border:none;background:transparent;color:#fff;border-radius:999px;width:40px;height:40px;font:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease}.lightbox__action-btn:hover:not(:disabled){transform:translateY(-1px);background:#ffffff2e}.lightbox__action-btn:disabled{opacity:.55;cursor:default}.lightbox__action-separator{width:1px;height:22px;background:#ffffff47}.lightbox__action-svg{width:18px;height:18px;line-height:1}.lightbox__img{width:100%;height:100%;object-fit:contain;border-radius:4px;box-shadow:0 8px 48px #0009;backface-visibility:hidden;transform:translateZ(0);will-change:transform,opacity}.lightbox__img--current{position:relative}.lightbox__img-wrap.is-animating .lightbox__img{position:absolute;inset:0}.lightbox__img-wrap.is-animating .lightbox__img--current{z-index:2}.lightbox__img-wrap.is-animating .lightbox__img--outgoing{z-index:3}.lightbox__img-wrap.dir-next .lightbox__img--outgoing{animation:lightbox-slide-out-left .32s cubic-bezier(.22,.61,.36,1) forwards}.lightbox__img-wrap.dir-prev .lightbox__img--outgoing{animation:lightbox-slide-out-right .32s cubic-bezier(.22,.61,.36,1) forwards}.lightbox__img-wrap.dir-next .lightbox__img--current,.lightbox__img-wrap.dir-prev .lightbox__img--current{transform:translate(0)}@keyframes lightbox-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes lightbox-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@media (max-width: 480px){.lightbox__nav{display:none}.lightbox__img-wrap{width:100vw;height:100vh}.lightbox__actions{left:50%;bottom:.6rem}}.slideshow-modal{position:fixed;inset:0;z-index:2000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.slideshow-modal__content{background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:2rem;max-width:400px;width:100%;box-shadow:0 20px 60px #00000080;animation:slideshow-modal-enter .2s ease}@keyframes slideshow-modal-enter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.slideshow-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.slideshow-modal__header h2{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;margin:0}.slideshow-modal__close{background:transparent;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .15s}.slideshow-modal__close:hover{color:var(--text-muted)}.slideshow-modal__options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.slideshow-option{display:flex;align-items:center;gap:.75rem}.slideshow-option__label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.slideshow-option__radio{width:18px;height:18px;cursor:pointer;accent-color:var(--text)}.slideshow-option__text{font-size:.95rem;color:var(--text)}.slideshow-option--toggle{padding:.75rem;background:var(--surface2);border-radius:var(--radius)}.slideshow-option__select{width:100%;background:var(--surface2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.95rem;padding:.6rem .8rem;cursor:pointer;outline:none;transition:border-color .15s,background .15s}.slideshow-option__select:hover{background:#ffffff0d;border-color:#fff3}.slideshow-option__select:focus{border-color:#ffffff4d;background:#ffffff14}.slideshow-option__select option{background:var(--surface);color:var(--text)}.slideshow-toggle{position:relative;display:flex;align-items:center;gap:.75rem;width:100%}.slideshow-toggle__checkbox{display:none}.slideshow-toggle__switch{display:inline-block;width:44px;height:24px;background:#fff3;border-radius:12px;position:relative;transition:background .2s;cursor:pointer}.slideshow-toggle__switch:after{content:"";position:absolute;width:20px;height:20px;background:var(--text);border-radius:50%;top:2px;left:2px;transition:left .2s}.slideshow-toggle__checkbox:checked+.slideshow-toggle__switch{background:#ffffff80}.slideshow-toggle__checkbox:checked+.slideshow-toggle__switch:after{left:22px}.slideshow-modal__actions{display:flex;flex-direction:column;gap:.8rem}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);font:inherit;font-size:.95rem;font-weight:600;padding:.8rem 1.5rem;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:#ffffff14}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.slideshow-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;z-index:3000;background:var(--slideshow-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;animation:slideshow-fade-in .3s ease;margin:0;padding:0}.slideshow-fullscreen__stage{position:absolute;inset:0;overflow:hidden}@keyframes slideshow-fade-in{0%{opacity:0}to{opacity:1}}.slideshow-fullscreen__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.slideshow-fullscreen__img--fade-current-a,.slideshow-fullscreen__img--fade-current-b{z-index:2}.slideshow-fullscreen__img--fade-current-a{animation:slideshow-crossfade-in-a .7s linear}.slideshow-fullscreen__img--fade-current-b{animation:slideshow-crossfade-in-b .7s linear}.slideshow-fullscreen__img--fade-outgoing{z-index:1;animation:slideshow-crossfade-out .7s linear}.slideshow-fullscreen__img--cut{animation:none}.slideshow-fullscreen__img--slide{animation:slideshow-slide .8s ease-in-out}.slideshow-fullscreen__img--zoom{animation:slideshow-zoom .8s ease-in-out}.slideshow-fullscreen__img--blur{animation:slideshow-blur .8s ease-in-out}.slideshow-fullscreen__img--rotate{animation:slideshow-rotate .8s ease-in-out}.slideshow-fullscreen__img--flip{animation:slideshow-flip .8s ease-in-out}@keyframes slideshow-crossfade-in{0%{opacity:0}to{opacity:1}}@keyframes slideshow-crossfade-in-a{0%{opacity:0}to{opacity:1}}@keyframes slideshow-crossfade-in-b{0%{opacity:0}to{opacity:1}}@keyframes slideshow-crossfade-out{0%{opacity:1}to{opacity:0}}@keyframes slideshow-slide{0%{opacity:0;transform:translate(8%)}to{opacity:1;transform:translate(0)}}@keyframes slideshow-zoom{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideshow-blur{0%{opacity:0;filter:blur(16px)}to{opacity:1;filter:blur(0)}}.gal-header--selection{background:#1e1e3ceb;border-bottom-color:#6478ff4d}.gal-header__select{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--text);border-radius:999px;width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.gal-header__select:hover{background:#ffffff29;border-color:#ffffff52}.gal-header__select--active{background:#6478ff59;border-color:#788cffb3;color:#a0aaff}.gal-header__select svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.4}.gal-header__download-submit{position:relative;border:1px solid rgba(100,200,120,.6);background:#3ca0504d;color:#7ddd9a;border-radius:999px;width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease}.gal-header__download-submit:hover{background:#3ca05080}.gal-header__download-submit svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.gal-header__badge{position:absolute;top:-4px;right:-4px;background:#4caf72;color:#fff;border-radius:999px;font-size:.6rem;font-weight:700;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;line-height:1}.photo-grid--selection .photo-tile{cursor:pointer}.photo-tile--selected .photo-tile__img{opacity:.6}.photo-tile--selected{outline:2px solid rgba(100,160,255,.8);outline-offset:-2px}.photo-tile__check{position:absolute;top:6px;right:6px;width:20px;height:20px;color:#ffffff8c;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));pointer-events:none;transition:color .12s}.photo-tile__check svg{width:100%;height:100%}.photo-tile__check--on{color:#6eadff}.modal-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:900;padding:1rem}.modal-box{background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.8rem;width:min(420px,100%);display:flex;flex-direction:column;gap:1rem}.modal-box__title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.download-dialog__info{color:var(--text-muted);font-size:.9rem;line-height:1.5}.download-dialog__email{width:100%;background:var(--surface2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.95rem;padding:.75rem 1rem;outline:none;transition:border-color .15s}.download-dialog__email:focus{border-color:#ffffff4d}.download-dialog__email::placeholder{color:var(--text-muted)}.download-dialog__error{color:#f08080;font-size:.85rem}.download-dialog__actions{display:flex;gap:.75rem;flex-wrap:wrap}.download-dialog__pending{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.9rem}.spinner--small{width:14px;height:14px;border-width:2px}@keyframes slideshow-rotate{0%{opacity:0;transform:rotate(-4deg) scale(.98)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes slideshow-flip{0%{opacity:0;transform:perspective(1200px) rotateY(16deg) scale(.98)}to{opacity:1;transform:perspective(1200px) rotateY(0) scale(1)}}.slideshow-fullscreen__hint{position:absolute;top:1.3rem;left:50%;transform:translate(-50%);background:#0000009e;border:1px solid rgba(255,255,255,.24);color:#fff;padding:.45rem .8rem;border-radius:999px;font-size:.86rem;line-height:1.2;font-weight:500;z-index:10;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:slideshow-hint-in .2s ease}@keyframes slideshow-hint-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.slideshow-fullscreen__counter{position:absolute;bottom:1.5rem;right:1.5rem;background:#0009;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;pointer-events:none}@media (max-width: 600px){.slideshow-fullscreen__hint{top:.9rem;max-width:calc(100vw - 1.4rem);text-align:center;font-size:.8rem}.slideshow-fullscreen__counter{bottom:1rem;right:1rem;font-size:.85rem}}.slideshow-export-toast{position:fixed;top:70px;left:50%;transform:translate(-50%);background:#228b22e6;color:#fff;padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-weight:500;z-index:9999;animation:slideshow-export-toast-in .3s ease-out}.slideshow-export-toast__icon{width:20px;height:20px;flex-shrink:0}.slideshow-export-toast__message{font-size:.95rem}@keyframes slideshow-export-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.slideshow-option--separator{border-top:1px solid rgba(255,255,255,.1);margin-top:1rem;padding-top:1rem}.slideshow-option__export-btn{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.slideshow-option__export-btn:hover{background:linear-gradient(135deg,#1e88e5,#1565c0);transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.slideshow-option__export-btn:active{transform:translateY(0)}.slideshow-option__export-icon{width:18px;height:18px;flex-shrink:0}
