.access-form{flex-direction:column;gap:.75rem;width:100%;display:flex}.access-form input{color:#f0f0f0;background:#141414;border:1px solid #2a2a2a;border-radius:8px;outline:none;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s}.access-form input:focus-visible{border-color:#4a9eff}.access-form input:disabled{opacity:.5}.access-form button{color:#fff;cursor:pointer;background:#4a9eff;border:none;border-radius:8px;padding:.85rem;font-size:1rem;font-weight:500;transition:background .2s}.access-form button:hover:not(:disabled){background:#3a8ae5}.access-form button:disabled{opacity:.5;cursor:not-allowed}.access-form .error{color:#ff4a4a;text-align:center;font-size:.875rem}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.shake{animation:.4s ease-in-out shake}.landing{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.landing-card{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px;padding:3rem 2rem;animation:.8s ease-out fadeIn;display:flex}.landing-icon{opacity:.7;font-size:2.5rem}.landing-title{letter-spacing:-.02em;font-family:Playfair Display,Georgia,serif;font-size:2.5rem;font-weight:600}.landing-tagline{color:#888;margin-bottom:.5rem;font-size:.9rem}.landing-admin{color:#555;margin-top:2rem;font-size:.75rem;text-decoration:none;transition:color .2s}.landing-admin:hover{color:#888}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.react-photo-album{display:flex}.react-photo-album,.react-photo-album *{box-sizing:border-box}.react-photo-album--track{align-items:flex-start;display:flex}.react-photo-album--photo{padding:calc(var(--react-photo-album--padding) * 1px);position:relative}.react-photo-album--image{width:100%;height:auto;aspect-ratio:var(--react-photo-album--photo-width) / var(--react-photo-album--photo-height);display:block}.react-photo-album--button{cursor:pointer;border:initial;background:initial}.react-photo-album--masonry{justify-content:space-between}.react-photo-album--masonry .react-photo-album--track{justify-content:flex-start;row-gap:calc(var(--react-photo-album--spacing) * 1px);width:calc((100% - var(--react-photo-album--spacing) * 1px * (var(--react-photo-album--columns) - 1)) / var(--react-photo-album--columns));flex-direction:column}.react-photo-album--masonry .react-photo-album--photo{width:100%}.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{opacity:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999);position:fixed;inset:0;overflow:hidden}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;outline:none;position:absolute;inset:0;overflow:hidden}.yarl__carousel{height:100%;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%));flex:none;place-content:center;align-items:stretch;display:flex}.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{place-content:center;align-items:center;display:flex}.yarl__slide{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%);flex:1;position:relative;overflow:hidden}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;max-height:100%}.yarl__slide_image_cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.yarl__slide_image_loading{opacity:0}@media screen and (width>=800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;-webkit-transform:translateZ(0)}}.yarl__slide_placeholder{line-height:0;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,#fffc));animation:1s linear yarl__delayed_fadein}.yarl__slide_loading line{animation:1s linear infinite yarl__stroke_opacity}.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{padding:var(--yarl__toolbar_padding,8px);justify-content:flex-end;display:flex;position:absolute;inset:0 0 auto auto}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,#fffc);cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px #000c));margin:var(--yarl__button_margin,0);padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent;outline:none;line-height:0}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,#fffc)}.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,#fff6);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{overscroll-behavior:none;height:100%;overflow:hidden}@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}}.gallery-header{z-index:10;background:#0a0a0a;border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.gallery-header h1{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:600}.gallery-header button{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;padding:.4rem 1rem;font-size:.85rem;transition:color .2s,border-color .2s}.gallery-header button:hover{color:#f0f0f0;border-color:#555}.gallery-main{max-width:1400px;margin:0 auto;padding:1rem}.gallery-empty{text-align:center;color:#888;margin-top:4rem;font-size:1.1rem}.gallery-spinner{border:3px solid #2a2a2a;border-top-color:#4a9eff;border-radius:50%;width:32px;height:32px;margin:2rem auto;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-login{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.admin-login-card{width:100%;max-width:380px;animation:.8s ease-out fadeIn}.admin-login-card h1{text-align:center;margin-bottom:1.5rem;font-family:Playfair Display,Georgia,serif;font-size:2rem}.admin-login-card form{flex-direction:column;gap:.75rem;display:flex}.admin-login-card input{color:#f0f0f0;background:#141414;border:1px solid #2a2a2a;border-radius:8px;outline:none;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s}.admin-login-card input:focus-visible{border-color:#4a9eff}.admin-login-card button{color:#fff;cursor:pointer;background:#4a9eff;border:none;border-radius:8px;padding:.85rem;font-size:1rem;font-weight:500;transition:background .2s}.admin-login-card button:hover:not(:disabled){background:#3a8ae5}.admin-login-card button:disabled{opacity:.5;cursor:not-allowed}.admin-login-hint{color:#888;text-align:center;font-size:.9rem}.admin-login-error{color:#ff4a4a;text-align:center;font-size:.875rem}.stats{flex-direction:column;gap:2rem;display:flex}.stats-section h3{color:#ccc;margin-bottom:.75rem;font-size:1rem;font-weight:500}.stats-big{font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:600}.stats-label{color:#888;font-size:.85rem}.stats-empty{color:#666;font-size:.9rem}.stats table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.stats th,.stats td{text-align:left;border-bottom:1px solid #1a1a1a;padding:.5rem .75rem;font-size:.85rem}.stats th{color:#888;font-weight:500}.stats tbody tr:nth-child(2n){background:#111}.admin-header{border-bottom:1px solid #2a2a2a;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.admin-header h1{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:600}.admin-header button{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;padding:.4rem 1rem;font-size:.85rem}.admin-header button:hover{color:#f0f0f0;border-color:#555}.admin-main{flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;padding:1.5rem;display:flex}.admin-card{background:#141414;border:1px solid #2a2a2a;border-radius:12px;padding:1.5rem}.admin-card h2{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;font-weight:500;display:flex}.admin-refresh{color:#4a9eff;cursor:pointer;background:0 0;border:none;font-size:1.1rem}.admin-code-display{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-code-value{letter-spacing:.05em;font-family:monospace;font-size:1.25rem}.admin-code-status{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.admin-code-status.active{color:#4ade80;background:#1a3a1a}.admin-code-status.revoked{color:#ff4a4a;background:#3a1a1a}.admin-code-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-code-actions input{color:#f0f0f0;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:6px;outline:none;flex:1;min-width:120px;padding:.5rem .75rem;font-size:.85rem}.admin-code-actions input:focus-visible{border-color:#4a9eff}.admin-code-actions button{color:#f0f0f0;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;transition:background .2s}.admin-code-actions button:hover:not(:disabled){background:#2a2a2a}.admin-code-actions button:disabled{opacity:.4;cursor:not-allowed}.admin-code-actions button.danger{color:#ff4a4a;border-color:#3a1a1a}.admin-code-actions button.danger:hover{background:#2a1010}.admin-spinner{border:3px solid #2a2a2a;border-top-color:#4a9eff;border-radius:50%;width:32px;height:32px;margin:2rem auto;animation:.6s linear infinite spin}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#f0f0f0;background:#0a0a0a;font-family:Inter,system-ui,sans-serif}
