:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.login-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2rem;text-align:center;max-width:400px;width:100%}.login-card h1{margin-bottom:.5rem;color:#333}.login-card p{margin-bottom:2rem;color:#666}.login-button{display:inline-block;background-color:#4285f4;color:#fff;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .2s}.login-button:hover{background-color:#3367d6}.loading{color:#666;margin:1rem 0}.error{color:#d32f2f;margin:1rem 0}.legal-links{margin-top:2rem;font-size:.85rem;color:#666}.legal-link{color:#4285f4;text-decoration:none;transition:color .2s}.legal-link:hover{color:#3367d6;text-decoration:underline}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.yarl__thumbnails{display:flex;height:100%}.yarl__thumbnails_bottom,.yarl__thumbnails_end .yarl__thumbnails_track,.yarl__thumbnails_start .yarl__thumbnails_track,.yarl__thumbnails_top{flex-direction:column}.yarl__thumbnails_wrapper{flex:1;position:relative}.yarl__thumbnails_container{background-color:var(--yarl__thumbnails_container_background_color,var(--yarl__color_backdrop,#000));flex:0 0 auto;overflow:hidden;padding:var(--yarl__thumbnails_container_padding,16px);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__thumbnails_vignette{pointer-events:none;position:absolute;--yarl__thumbnails_vignette_size:12%}@media (min-width:1200px){.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:8%}}@media (min-width:2000px){.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:5%}}.yarl__thumbnails_bottom .yarl__thumbnails_vignette,.yarl__thumbnails_top .yarl__thumbnails_vignette{background:linear-gradient(to right,var(--yarl__color_backdrop,#000) 0,transparent var(--yarl__thumbnails_vignette_size,12%) calc(100% - var(--yarl__thumbnails_vignette_size, 12%)),var(--yarl__color_backdrop,#000) 100%);height:100%;left:0;right:0}.yarl__thumbnails_end .yarl__thumbnails_vignette,.yarl__thumbnails_start .yarl__thumbnails_vignette{background:linear-gradient(to bottom,var(--yarl__color_backdrop,#000) 0,transparent var(--yarl__thumbnails_vignette_size,12%) calc(100% - var(--yarl__thumbnails_vignette_size, 12%)),var(--yarl__color_backdrop,#000) 100%);bottom:0;top:0;width:100%}.yarl__thumbnails_track{gap:var(--yarl__thumbnails_thumbnail_gap,16px);outline:none}.yarl__thumbnails_thumbnail{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--yarl__thumbnails_thumbnail_background,#000);border-color:var(--yarl__thumbnails_thumbnail_border_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));border-radius:var(--yarl__thumbnails_thumbnail_border_radius,4px);border-style:var(--yarl__thumbnails_thumbnail_border_style,solid);border-width:var(--yarl__thumbnails_thumbnail_border,1px);cursor:pointer;flex:0 0 auto;-webkit-tap-highlight-color:transparent;box-sizing:content-box;height:var(--yarl__thumbnails_thumbnail_height,80px);outline:none;overflow:hidden;padding:var(--yarl__thumbnails_thumbnail_padding,4px);position:relative;width:var(--yarl__thumbnails_thumbnail_width,120px)}.yarl__thumbnails_thumbnail_active{border-color:var(--yarl__thumbnails_thumbnail_active_border_color,var(--yarl__color_button_active,#fff))}.yarl__thumbnails_thumbnail_fadein{animation:yarl__thumbnails_thumbnail_fadein var(--yarl__thumbnails_thumbnail_fadein_duration,.5s) ease-in-out var(--yarl__thumbnails_thumbnail_fadein_delay,0s) forwards;opacity:0}.yarl__thumbnails_thumbnail_fadeout{animation:yarl__thumbnails_thumbnail_fadeout var(--yarl__thumbnails_thumbnail_fadeout_duration,.5s) ease-in-out var(--yarl__thumbnails_thumbnail_fadeout_delay,0s) forwards;cursor:unset}.yarl__thumbnails_thumbnail_placeholder{cursor:unset;visibility:hidden}.yarl__thumbnails_thumbnail:focus{box-shadow:var(--yarl__thumbnails_thumbnail_focus_box_shadow,#000 0 0 0 2px,var(--yarl__color_button,hsla(0,0%,100%,.8)) 0 0 0 4px)}.yarl__thumbnails_thumbnail:focus:not(:focus-visible){box-shadow:unset}.yarl__thumbnails_thumbnail:focus-visible{box-shadow:var(--yarl__thumbnails_thumbnail_focus_box_shadow,#000 0 0 0 2px,var(--yarl__color_button,hsla(0,0%,100%,.8)) 0 0 0 4px)}.yarl__thumbnails_thumbnail_icon{color:var(--yarl__thumbnails_thumbnail_icon_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));filter:var(--yarl__thumbnails_thumbnail_icon_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));height:var(--yarl__thumbnails_thumbnail_icon_size,32px);left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%);width:var(--yarl__thumbnails_thumbnail_icon_size,32px)}@keyframes yarl__thumbnails_thumbnail_fadein{0%{opacity:0}to{opacity:1}}@keyframes yarl__thumbnails_thumbnail_fadeout{0%{opacity:1}to{opacity:0}}.yarl__slide_captions_container{background:var(--yarl__slide_captions_container_background,rgba(0,0,0,.5));left:var(--yarl__slide_captions_container_left,0);padding:var(--yarl__slide_captions_container_padding,16px);position:absolute;right:var(--yarl__slide_captions_container_right,0);-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width, 0px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{display:-webkit-box;-webkit-hyphens:auto;hyphens:auto;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);color:var(--yarl__slide_description_color,#fff);text-align:var(--yarl__slide_description_text_align,start)}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}.photos-container{padding:0;width:100%;max-width:100%;box-sizing:border-box;margin:0}.photos-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;height:80px;border-bottom:1px solid #eaeaea}.photos-header h1{margin:0;color:#333;font-size:2rem}.header-info{display:flex;align-items:center;gap:1rem}.photo-count{color:#666;font-size:1rem}.logout-button{background-color:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.logout-button:hover{background-color:#d32f2f}.photos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(10% - 1rem),1fr));gap:1rem;padding:1rem}.photo-card{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;height:100%;display:flex;flex-direction:column;background-color:#fff;cursor:pointer;position:relative;outline:none;aspect-ratio:1 / 1.2}.photo-card:hover,.photo-card:focus{transform:translateY(-5px);box-shadow:0 5px 15px #00000026}.photo-card:hover:after,.photo-card:focus:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0000001a;pointer-events:none}.photo-card:focus-visible{outline:3px solid #4285F4;outline-offset:2px}.photo-card img{width:100%;height:0;object-fit:cover;display:block;flex-grow:1;min-height:0}.video-item{position:relative}.video-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background-color:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.video-indicator svg{width:30px;height:30px}.photo-info{padding:1rem;background-color:#fff;display:flex;flex-direction:column;gap:.25rem;z-index:2}.photo-name{margin:0;font-size:.9rem;color:#333;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-date{margin:0;font-size:.8rem;color:#666}.loading-container,.error-container,.no-photos{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);margin-top:1rem;font-size:1.2rem;color:#666;text-align:center;position:relative;z-index:1}.loading-more{text-align:center;padding:2rem;font-size:1rem;color:#666;position:relative}.loading-more:after{content:"";display:inline-block;width:1.5rem;height:1.5rem;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;margin-left:.5rem;vertical-align:middle;animation:spin 1s linear infinite}.no-more-photos{text-align:center;padding:2rem;font-size:1rem;color:#999;border-top:1px solid #eee}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.yarl__container{--yarl__color_backdrop: rgba(0, 0, 0, .9)}.yarl__slide_image{object-fit:contain}.yarl__slide_title{font-size:1rem;color:#fff;margin-top:.5rem}.lightbox-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:1rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@media (min-width: 1600px){.photos-grid{grid-template-columns:repeat(10,1fr)}}@media (max-width: 1400px){.photos-grid{grid-template-columns:repeat(8,1fr)}}@media (max-width: 1200px){.photos-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 900px){.photos-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 600px){.photos-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.photos-container{padding:0}.photos-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.photos-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:0 1rem}.header-info{width:100%;justify-content:space-between}}.virtualized-grid-container{height:calc(100vh - 80px);width:100%;padding:4px;box-sizing:border-box;overflow-x:hidden}.virtualized-grid-container [role=grid]{outline:none!important;overflow-x:hidden!important}.shimmer-card{background-color:#f0f0f0;position:relative;overflow:hidden}.shimmer-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.header-left{display:flex;align-items:center;gap:2rem}.header-right{display:flex;align-items:center;gap:1rem}.main-nav{display:flex;gap:1rem}.nav-link{background:none;border:none;color:#666;font-size:1rem;padding:.5rem 1rem;cursor:pointer;border-radius:4px;transition:all .2s}.nav-link:hover{background-color:#0000000d;color:#333}.nav-link.active{color:#4285f4;font-weight:500;position:relative}.nav-link.active:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:3px;background-color:#4285f4;border-radius:3px}.search-form{display:flex;align-items:center;background-color:#f5f5f5;border-radius:24px;padding:.25rem .5rem;transition:all .2s;width:300px}.search-form:focus-within{background-color:#fff;box-shadow:0 1px 6px #20212447}.search-input{border:none;background:none;padding:.5rem;flex-grow:1;font-size:1rem;outline:none}.search-button{background:none;border:none;color:#5f6368;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.search-button:hover{background-color:#0000000d}.explore-content{height:calc(100vh - 80px);overflow:hidden;display:flex;flex-direction:column}.search-results-header{margin-bottom:1rem;padding:0 1rem}.search-results-header h2{font-size:1.5rem;font-weight:500;color:#333;margin-bottom:.5rem}@media (max-width: 768px){.header-left{flex-direction:column;align-items:flex-start;gap:.5rem}.header-right{flex-direction:column;align-items:flex-end;gap:.5rem}.search-form{width:100%;max-width:300px}}@media (max-width: 480px){.main-nav{width:100%;justify-content:space-between}.search-form{width:100%}}.auth-success-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.auth-success-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:2rem;text-align:center;max-width:400px;width:100%}.auth-success-card h1{margin-bottom:1rem;color:#4caf50}.auth-success-card p{margin-bottom:.5rem;color:#666}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333}.app-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}#root{width:100%;margin:0 auto;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
