:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#161616;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;-webkit-text-size-adjust:100%;width:100%;min-width:100%;min-height:100%;margin:0;padding:0;background:#fff!important}body{width:100%;min-width:100%;min-height:100%;margin:0;padding:0;overflow-x:hidden;color:#161616!important;background:#fff!important}#root{background:#fff;width:100%;min-height:100dvh;margin:0;padding:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}img{max-width:100%}*{box-sizing:border-box}@media (prefers-color-scheme:dark){:root,html,body,#root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:#161616!important;background:#fff!important}}.publicApp{color:#161616;background:#fff;width:100%;min-height:100dvh;overflow-x:hidden}.introImageWrapper{justify-content:center;align-items:center;width:min(100%,620px);height:100%;display:flex}.introImage{object-fit:contain;width:100%;max-width:620px;max-height:88dvh;animation:1s cubic-bezier(.16,1,.3,1) both introImageAppear;display:block}@keyframes introAppear{0%{opacity:0}to{opacity:1}}@keyframes introImageAppear{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.homeScreen{background:#fff;width:100vw;height:100dvh;animation:.9s cubic-bezier(.16,1,.3,1) both homeAppear;position:relative;overflow:hidden}.homeBackgroundImage{object-fit:cover;object-position:center center;background:#fff;width:100%;height:100%;animation:1.1s cubic-bezier(.16,1,.3,1) both homeImageAppear;display:block;position:absolute;inset:0}.homeMenuOverlay{z-index:2;padding:max(24px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));justify-content:center;align-items:center;animation:.9s cubic-bezier(.16,1,.3,1) both menuOverlayAppear;display:flex;position:absolute;inset:0}.homeMenuActions{flex-direction:column;justify-content:center;align-items:center;gap:6px;width:min(88vw,520px);animation:.9s cubic-bezier(.16,1,.3,1) both menuButtonsAppear;display:flex}.homeImageButton{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:0;width:100%;margin:0;padding:0;transition:transform .25s,filter .25s;display:block}.homeImageButtonImg{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.homeImageButton:hover{filter:brightness(1.04);transform:translateY(-3px)scale(1.015)}.homeImageButton:active{transform:scale(.97)}@keyframes homeAppear{0%{opacity:0}to{opacity:1}}@keyframes homeImageAppear{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes menuOverlayAppear{0%{opacity:0}to{opacity:1}}@keyframes menuButtonsAppear{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=520px){.homeMenuOverlay{padding:max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom))}.homeMenuActions{gap:5px;width:min(92vw,480px)}}@media (width<=360px){.homeMenuActions{gap:9px;width:94vw}}.menuScreen{width:100%;min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:#fff;justify-content:center;align-items:center;animation:.75s cubic-bezier(.16,1,.3,1) both screenEnter;display:flex}.menuContent{width:min(100%,520px)}.menuBrand{text-align:center;margin-bottom:clamp(36px,8vh,72px)}.menuEyebrow{color:#d66b21;letter-spacing:.2em;margin-bottom:12px;font-size:12px;font-weight:800;display:block}.menuBrand h1{color:#161616;letter-spacing:-.055em;margin:0;font-size:clamp(42px,12vw,68px);line-height:.96}.menuBrand p{color:#6c6c6c;max-width:390px;margin:22px auto 0;font-size:clamp(15px,4vw,18px);line-height:1.6}.menuActions{flex-direction:column;gap:14px;display:flex}.mainMenuButton{text-align:left;cursor:pointer;border-radius:22px;align-items:center;gap:16px;width:100%;min-height:88px;padding:18px;transition:transform .25s,box-shadow .25s;display:flex}.mainMenuButton:active{transform:scale(.98)}.mainMenuButtonPrimary{color:#fff;background:#161616;border:1px solid #161616;box-shadow:0 14px 34px #00000024}.mainMenuButtonSecondary{color:#161616;background:#fff;border:1px solid #e8e8e8;box-shadow:0 10px 30px #0000000f}.mainMenuIcon{background:#ffffff1f;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-size:21px;display:grid}.mainMenuButtonSecondary .mainMenuIcon{background:#f4f4f4}.mainMenuButtonText{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.mainMenuButtonText strong{font-size:16px}.mainMenuButtonText small{color:inherit;opacity:.65;font-size:12px}.mainMenuArrow{flex:none;font-size:22px;transition:transform .25s}.mainMenuButton:hover .mainMenuArrow{transform:translate(4px)}.aboutScreen{width:100%;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:#fff;animation:.65s cubic-bezier(.16,1,.3,1) both screenEnter;position:relative}.aboutBackButton{z-index:5;top:max(16px, env(safe-area-inset-top));color:#154c55;-webkit-backdrop-filter:blur(8px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe0;border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:22px;font-weight:800;display:grid;position:absolute;left:clamp(12px,4vw,26px);box-shadow:0 6px 18px #0000001f}.aboutContent{width:min(100%,640px);margin:clamp(50px,8vh,90px) auto 0}.aboutLogoWrapper{justify-content:center;align-items:center;width:100%;margin-bottom:18px;display:flex}.aboutLogo{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(42vw,220px);height:auto;display:block}.aboutContent h1{color:#161616;letter-spacing:-.05em;text-align:center;max-width:570px;margin:0 auto;font-size:clamp(38px,9vw,62px);line-height:1}.aboutLead{color:#666;text-align:center;max-width:520px;margin:24px auto 42px;font-size:17px;line-height:1.65}.aboutSteps{flex-direction:column;display:flex}.aboutStep{border-bottom:1px solid #ededed;grid-template-columns:42px 1fr;gap:16px;padding:22px 0;display:grid}.aboutStep>span{color:#d66b21;padding-top:4px;font-size:12px;font-weight:800}.aboutStep h2{color:#161616;margin:0 0 6px;font-size:18px}.aboutStep p{color:#777;margin:0;font-size:14px;line-height:1.55}.aboutGalleryButton{color:#fff;cursor:pointer;background:#161616;border:0;border-radius:999px;justify-content:space-between;align-items:center;width:100%;margin-top:34px;padding:17px 20px;font-weight:750;display:flex}.galleryScreen{background-color:#fff;background-image:url(/fondo-pantalla-dos-tropi.png);background-position:top;background-repeat:no-repeat;background-size:100%;width:100%;min-height:100dvh;animation:.65s cubic-bezier(.16,1,.3,1) both screenEnter}.galleryHeroVisual{background:0 0;width:min(100%,853px);height:min(158vw,1340px);margin:0 auto;position:relative;overflow:hidden}.galleryHeroBackground{z-index:0;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block;position:absolute;top:0;left:0}.galleryBackButton{z-index:5;top:max(16px, env(safe-area-inset-top));color:#154c55;-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#ffffffd1;border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:22px;font-weight:800;display:grid;position:absolute;left:clamp(12px,4vw,26px);box-shadow:0 6px 18px #0000001f}.galleryHeroOverlay{z-index:3;flex-direction:column;align-items:center;width:100%;padding:0 clamp(14px,4vw,30px);display:flex;position:absolute;top:min(96vw,820px);left:50%;transform:translate(-50%)}.galleryUploadImageButton{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:min(68%,520px);margin:0;padding:0;transition:transform .22s,filter .22s;display:block}.galleryUploadImageButton img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.galleryUploadImageButton:hover{filter:brightness(1.04);transform:scale(1.025)}.galleryUploadImageButton:active{transform:scale(.96)}.galleryClosedMessage{color:#666;background:#ffffffed;border-radius:999px;padding:13px 20px;font-size:clamp(12px,3.5vw,15px);font-weight:700;box-shadow:0 8px 24px #0000001a}.galleryDecorativeHeader{justify-content:space-between;align-items:center;gap:clamp(10px,3vw,24px);width:100%;margin-top:clamp(16px,3.5vw,28px);display:flex}.galleryDecorativeTitle{object-fit:contain;object-position:left center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(47%,330px);height:auto;display:block}.galleryPhotoCount{color:#fff;letter-spacing:.01em;white-space:nowrap;background:linear-gradient(135deg,#ff8a00 0%,#ff3d7f 55%,#7b2cff 100%);border:2px solid #fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:82px;min-height:44px;padding:10px 16px;font-size:clamp(14px,3.6vw,17px);font-weight:900;display:flex;box-shadow:0 6px 18px #ff3d7f40,0 2px 6px #00000024}.gallerySection{width:min(1180px,100% - 32px);padding:22px 0 max(72px, env(safe-area-inset-bottom));background:0 0;margin:0 auto}.gallery{background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.galleryStateMessage{color:#777;text-align:center;grid-column:1/-1;margin:20px 0}@keyframes screenEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=800px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (width<=520px){.menuScreen{align-items:stretch}.menuContent{min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 64px);flex-direction:column;justify-content:center;display:flex}.menuBrand{margin-bottom:40px}.mainMenuButton{border-radius:20px;min-height:82px}.galleryTopBar{width:calc(100% - 28px)}.galleryHeroVisual{height:145vw}.gallerySection{background:0 0;width:calc(100% - 20px);padding-top:14px}.gallery{gap:9px}.galleryUploadImageButton{width:min(72%,430px)}.galleryDecorativeHeader{margin-top:16px}.galleryDecorativeTitle{width:48%}.galleryPhotoCount{min-width:76px;min-height:40px;padding:8px 13px;font-size:14px}.flipCardFront,.flipCardBack{border-radius:15px}.flipHint{padding:6px 9px;font-size:10px;bottom:9px}.modalOverlay{width:100%;height:100%;padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom)) 12px;overscroll-behavior:none;touch-action:auto;justify-content:center;align-items:center;overflow:hidden}.sourceModal,.uploadModal{border-radius:22px;width:min(92vw,480px)}.expandPhotoButton{width:34px;height:34px;font-size:19px;top:8px;right:8px}.photoViewerOverlay{width:100%;height:100%;padding:max(10px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));overscroll-behavior:none;touch-action:none;overflow:hidden}.photoViewerImage{border-radius:4px;max-width:100%;max-height:100%}.uploadModal{max-height:calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px;overflow:hidden auto}.previewImage{max-height:38dvh}.descriptionInput{resize:vertical;min-height:86px}.confirmUploadButton{padding:13px 18px}.aboutContent{width:100%;margin-top:62px}.aboutLogo{width:min(46vw,180px)}.aboutContent h1{font-size:clamp(36px,10vw,48px)}.aboutLead{margin-top:18px;margin-bottom:30px;font-size:15px}.aboutStep{grid-template-columns:32px 1fr;gap:12px;padding:18px 0}.aboutStep h2{font-size:17px}.aboutStep p{font-size:13px}.memoryDescription,.memoryDivider{display:none}.flipCardBack{padding:18px}.memoryDate{text-align:center;font-size:14px}.flipBackHint{bottom:14px}.photoViewerDescription{left:50%;right:auto;bottom:max(12px, env(safe-area-inset-bottom));z-index:5001;color:#fff;-webkit-backdrop-filter:blur(10px);text-align:center;background:#000000ad;border-radius:0 0 18px 18px;width:min(92%,520px);max-width:520px;max-height:none;padding:14px 18px 18px;position:absolute;overflow:hidden;transform:translate(-50%)}.photoViewerDescriptionText{text-align:left;overflow-wrap:anywhere;word-break:break-word;width:100%;font-size:15px;line-height:1.55}.photoViewerDescriptionToggle{color:#fff;-webkit-backdrop-filter:blur(8px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#141414b8;border:1px solid #ffffff8c;border-radius:999px;font-size:12px;font-weight:700}.photoViewerDescriptionToggle.isOpen{width:fit-content;margin:0 auto 8px;padding:7px 16px;display:block;position:relative;top:auto;right:auto}.photoViewerDescriptionToggle.isClosed{z-index:5002;right:max(14px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));padding:10px 15px;position:absolute;box-shadow:0 5px 16px #0000003d}}@media (width<=360px){.mainMenuButton{padding:14px}.mainMenuIcon{width:38px;height:38px}.mainMenuButtonText strong{font-size:14px}.galleryHeroVisual{height:140vw}.gallerySection{background:0 0;width:calc(100% - 16px);padding-top:10px}.galleryHeroOverlay{padding-left:10px;padding-right:10px}.galleryUploadImageButton{width:76%}.galleryDecorativeTitle{width:48%}.galleryDecorativeHeader{gap:7px}.galleryPhotoCount{min-width:68px;min-height:36px;padding:7px 10px;font-size:12px}.memoryDate{font-size:12px}.photoViewerDescription{border-radius:0 0 16px 16px;width:94%;max-height:none;padding:12px 14px 14px;left:50%;right:auto;overflow:hidden;transform:translate(-50%)}.photoViewerDescriptionText{text-align:center;margin-top:8px;font-size:13px;line-height:1.45}.photoViewerDescriptionToggle.isOpen{margin:0 auto 7px;padding:6px 12px;font-size:11px;top:auto;right:auto}.photoViewerDescriptionToggle.isClosed{padding:9px 12px;font-size:11px;right:10px}.uploadModal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:14px;overflow:hidden auto}.previewImage{max-height:38dvh}.descriptionInput{resize:vertical;min-height:86px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.photoCard{position:relative}.flipCard{aspect-ratio:3/4;perspective:1200px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:0;width:100%;padding:0;position:relative}.flipCardInner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1);position:relative}.flipCard.isFlipped .flipCardInner{transform:rotateY(180deg)}.flipCardFront,.flipCardBack{backface-visibility:hidden;border-radius:22px;position:absolute;inset:0;overflow:hidden;box-shadow:0 12px 30px #00000014}.flipCardFront{background:#fff}.flipCardFront img{object-fit:cover;width:100%;height:100%;display:block}.expandPhotoButton{z-index:5;color:#fff;-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#00000094;border:2px solid #ffffffd9;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;font-family:Arial,sans-serif;font-size:21px;font-weight:700;line-height:1;transition:transform .2s,background .2s;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 5px 14px #00000038}.expandPhotoButton:hover{background:#000000c7;transform:scale(1.08)}.expandPhotoButton:active{transform:scale(.92)}.flipHint{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000094;border-radius:999px;width:max-content;max-width:calc(100% - 24px);padding:8px 12px;font-size:12px;font-weight:700;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.flipCardBack{color:#161616;text-align:center;background:radial-gradient(circle at top,#ffc75f33,#0000 42%),#fffaf0;flex-direction:column;justify-content:center;align-items:center;padding:26px;display:flex;transform:rotateY(180deg)}.memoryDate{letter-spacing:.03em;font-size:16px;font-weight:800}.memoryDivider{background:#d66b21;border-radius:999px;width:42px;height:2px;margin:18px 0}.memoryDescription{margin:0;font-size:18px;line-height:1.5}.memoryDescription.empty{color:#999;font-style:italic}.flipBackHint{color:#999;font-size:12px;position:absolute;bottom:18px}.modalOverlay{z-index:1000;-webkit-backdrop-filter:blur(5px);overscroll-behavior:none;touch-action:auto;background:#000000b8;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.uploadModal{width:min(92vw,480px);max-height:calc(100dvh - max(24px, env(safe-area-inset-top)) - max(24px, env(safe-area-inset-bottom)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:#fff;border-radius:24px;padding:24px;position:relative;overflow:hidden auto;box-shadow:0 30px 80px #00000040}.uploadModal h2{margin-top:0;margin-bottom:18px}.closeButton{cursor:pointer;background:#efefef;border:0;border-radius:50%;width:36px;height:36px;font-size:24px;position:absolute;top:14px;right:16px}.previewImage{object-fit:cover;border-radius:18px;width:100%;max-height:min(42dvh,420px);display:block}.descriptionLabel{justify-content:space-between;margin-top:20px;margin-bottom:8px;font-weight:700;display:flex}.descriptionLabel span{color:#999;font-size:13px;font-weight:500}.descriptionInput{resize:vertical;width:100%;min-height:100px;font:inherit;border:1px solid #ddd;border-radius:14px;padding:14px}.characterCount{text-align:right;color:#999;margin-top:5px;font-size:12px}.confirmUploadButton{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff8a00 0%,#ff3d7f 55%,#7b2cff 100%);border:2px solid #fff;border-radius:999px;width:100%;margin-top:18px;padding:15px 20px;font-family:Pacifico,cursive;font-size:17px;font-weight:400;transition:transform .2s,filter .2s;box-shadow:0 7px 20px #ff3d7f47,0 2px 7px #00000026}.confirmUploadButton:hover{filter:brightness(1.05)}.confirmUploadButton:active{transform:scale(.97)}.sourceModal{background:#fff;border-radius:24px;width:min(100%,420px);padding:28px;box-shadow:0 30px 80px #00000040}.sourceModal h2{margin:0;font-size:26px}.sourceSubtitle{color:#777;margin:8px 0 24px}.sourceButton{color:#161616;text-align:left;cursor:pointer;background:#fafafa;border:1px solid #e5e5e5;border-radius:16px;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:17px;transition:transform .2s,background .2s;display:flex}.sourceButton:hover{background:#f3f3f3;transform:translateY(-2px)}.sourceIcon{font-size:28px}.sourceButton span:last-child{flex-direction:column;gap:3px;display:flex}.sourceButton strong{font-size:15px}.sourceButton small{color:#888;font-size:13px}.cancelSourceButton{color:#777;cursor:pointer;background:0 0;border:0;width:100%;margin-top:8px;padding:13px;font-weight:600}.loadMoreContainer{justify-content:center;margin-top:32px;display:flex}.loadMoreButton{color:#fff;cursor:pointer;background:#161616;border:0;border-radius:999px;padding:14px 24px;font-weight:700}.loadMoreButton:disabled{opacity:.5;cursor:default}.eventClosedMessage{color:#666;background:#ececec;border-radius:999px;margin-top:30px;padding:14px 20px;font-weight:700;display:inline-block}.adminLoginCard button{color:#fff;background:#161616;border:0;border-radius:999px;width:100%;padding:14px;font-weight:700}.adminStatus{background:#fff;border-radius:14px;margin:25px 0;padding:16px}@media (width<=650px){.adminHeader{flex-direction:column;align-items:flex-start}}.adminLogin{background:#f5f4f1;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.adminLoginCard{background:#fff;border-radius:24px;width:min(100%,420px);padding:32px;box-shadow:0 20px 60px #0000001f}.adminLoginCard h1{margin-top:0}.adminLoginCard input{border:1px solid #ddd;border-radius:12px;width:100%;margin:20px 0 12px;padding:14px}.adminLoginCard button{color:#fff;cursor:pointer;background:#161616;border:0;border-radius:999px;width:100%;padding:14px;font-weight:700}.adminPage{width:min(1200px,100% - 32px);margin:0 auto;padding:40px 0 80px}.adminHeader{justify-content:space-between;align-items:center;gap:20px;display:flex}.adminHeader h1{margin:0}.adminLogoutButton{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:999px;padding:11px 18px}.adminStatusCard{background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin:32px 0;padding:22px;display:flex}.adminStatusCard>div{flex-direction:column;gap:5px;display:flex}.adminStatusCard span{color:#777;font-size:13px}.adminStatusCard strong{font-size:20px}.closeEventButton,.openEventButton{cursor:pointer;border:0;border-radius:999px;padding:13px 20px;font-weight:700}.closeEventButton{color:#9d2020;background:#ffe5e5}.openEventButton{color:#237231;background:#e2f6e7}.adminPhotosHeader{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.adminPhotosHeader h2{margin:0}.adminPhotosHeader span{color:#777}.adminGallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.adminPhoto{background:#fff;border-radius:18px;overflow:hidden}.adminPhoto img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.adminPhotoInfo{padding:14px}.adminPhotoInfo span{color:#777;font-size:12px}.adminPhotoInfo p{margin:8px 0}.adminPhotoInfo button{color:#9d2020;cursor:pointer;background:#ffeaea;border:0;border-radius:10px;width:100%;margin-top:10px;padding:10px}@media (width<=650px){.adminHeader,.adminStatusCard{flex-direction:column;align-items:flex-start}}.photoViewerOverlay{z-index:5000;width:100%;height:100%;padding:max(18px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overscroll-behavior:none;touch-action:none;background:#000000f5;justify-content:center;align-items:center;animation:.25s both photoViewerAppear;display:flex;position:fixed;inset:0;overflow:hidden}.photoViewerImage{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.photoViewerClose{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:5002;color:#fff;-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#141414b3;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:30px;font-weight:300;line-height:1;display:grid;position:absolute}.photoViewerDescription{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:5001;color:#fff;-webkit-backdrop-filter:blur(10px);text-align:center;background:#000000ad;border-radius:0 0 18px 18px;width:min(92%,520px);max-width:520px;max-height:none;padding:14px 18px 18px;position:absolute;overflow:hidden;transform:translate(-50%)}.photoViewerDescriptionText{text-align:center;overflow-wrap:anywhere;word-break:break-word;width:100%;margin:10px 0 0;font-size:15px;line-height:1.5}@keyframes photoViewerAppear{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.sourceModalImage{background:0 0;border-radius:28px;width:min(92vw,430px);animation:.3s modalAppear;position:relative;overflow:hidden}.sourceModalBackground{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.sourceModalImageActions{flex-direction:column;align-items:center;gap:5px;width:78%;display:flex;position:absolute;top:34%;left:50%;transform:translate(-50%)}.sourceImageButton{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:0;width:100%;margin:0;padding:0;transition:transform .2s,filter .2s;display:block}.sourceImageButton img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.sourceImageButton:hover{filter:brightness(1.03);transform:scale(1.02)}.sourceImageButton:active{transform:scale(.97)}.sourceImageCancelButton{z-index:4;color:#777;cursor:pointer;background:0 0;border:0;width:78%;margin-top:8px;padding:13px;font-weight:600;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}
