.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--rows{row-gap:calc(var(--react-photo-album--spacing) * 1px);flex-direction:column}.react-photo-album--rows .react-photo-album--track{--react-photo-album--track-gaps:calc(var(--react-photo-album--spacing) * (var(--react-photo-album--track-size) - 1) + 2 * var(--react-photo-album--padding) * var(--react-photo-album--track-size));justify-content:space-between}.react-photo-album--rows .react-photo-album--photo{width:calc((100% - var(--react-photo-album--track-gaps) * 1px) / (var(--react-photo-album--container-width) - var(--react-photo-album--track-gaps)) * var(--react-photo-album--photo-width) + 2px * var(--react-photo-album--padding))}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;pointer-events:auto;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);-webkit-user-select:none;-moz-user-select:none;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}}:root{--bg: #fafafa;--fg: #111;--muted: #666;--border: #e5e5e5;--accent: #2563eb;--accent-fg: #fff;--card: #fff;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06);--radius: 12px}@media (prefers-color-scheme: dark){:root{--bg: #0b0b0d;--fg: #f5f5f5;--muted: #9aa0a6;--border: #23252a;--card: #15161a;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 28px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,transparent);position:sticky;top:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}.brand{font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.grow{flex:1}.search-wrap{position:relative;flex:1 1 320px;max-width:480px;margin-left:.75rem}.search{font:inherit;width:100%;padding:.5rem 2rem .5rem .9rem;background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:999px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search::placeholder{color:var(--muted)}.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.search-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;border-radius:999px}.search-clear:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 10%,transparent)}@media (max-width: 640px){.search-wrap{flex-basis:100%;order:99;margin-left:0;margin-top:.5rem}}.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--fg);padding:.5rem .9rem;border-radius:999px;transition:transform .05s ease,background .15s ease,border-color .15s ease}button:hover:not(:disabled){border-color:color-mix(in srgb,var(--fg) 30%,var(--border))}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.primary:hover:not(:disabled){filter:brightness(1.05)}button.ghost{background:transparent}button.big{padding:.85rem 1.25rem;font-size:1rem}button.icon{width:36px;height:36px;padding:0;border-radius:999px;font-size:1.4rem;line-height:1}.content{flex:1;padding:1rem}.empty{padding:3rem 1rem;text-align:center;color:var(--muted)}.badge{position:absolute;top:8px;left:8px;background:var(--accent);color:var(--accent-fg);font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;letter-spacing:.02em;pointer-events:none;text-transform:lowercase}.badge-matched{background:var(--accent);color:var(--accent-fg)}.badge-partial{background:#d97706;color:#fff}.badge-unmatched{background:#0000008c;color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:var(--card);color:var(--fg);border-radius:var(--radius);box-shadow:var(--shadow);width:min(560px,100%);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;padding:.75rem .75rem .75rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.05rem;flex:1}.modal-body{padding:1rem 1.25rem 1.25rem;overflow:auto}.tabs{display:flex;gap:.25rem;padding:.5rem 1rem 0}.tab{border-radius:8px 8px 0 0;border-bottom:2px solid transparent;background:transparent;border:none;color:var(--muted);padding:.6rem .9rem}.tab:hover{color:var(--fg)}.tab.active{color:var(--fg);border-bottom-color:var(--accent);border-radius:0}.camera{display:flex;flex-direction:column;gap:1rem;align-items:center}.camera-video{width:100%;max-height:60dvh;border-radius:var(--radius);background:#000;transform:scaleX(-1);object-fit:cover}.upload .dropzone{display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:var(--radius);padding:2rem 1rem;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.upload .dropzone:hover{border-color:var(--accent);color:var(--fg)}.upload .dropzone input{display:none}.error{margin-top:.75rem;background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444;padding:.6rem .9rem;border-radius:8px;font-size:.9rem}
