*{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100%;height:-webkit-fill-available}body{width:100%;min-height:100dvh;-webkit-overflow-scrolling:touch;min-height:-webkit-fill-available;overflow-x:hidden}:root{--bg-color:#fff;--text-color:#000;--nav-bg:#fff;--nav-border:#e5e5e5;--gap:4px;--close-size:28px;--close-offset:24px;--content-padding:calc(var(--close-size) + var(--close-offset))}body{background-color:var(--bg-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden}.navbar{background-color:var(--nav-bg);z-index:1000;justify-content:space-between;align-items:center;min-height:64px;padding:8px 24px;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{letter-spacing:.5px;color:var(--text-color);align-items:center;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;text-decoration:none;display:flex}.nav-logo{object-fit:contain;width:auto;height:48px}.menu-toggle{cursor:pointer;z-index:1001;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:38px;height:38px;padding:5px;display:flex}.menu-toggle:focus,.menu-toggle:active{background:0 0;outline:none}.menu-toggle span{background-color:var(--text-color);transform-origin:50%;width:28px;height:2px;transition:all .3s;display:block}.menu-toggle.active span:first-child{transform:translateY(5px)rotate(45deg)}.menu-toggle.active span:nth-child(2){transform:translateY(-5px)rotate(-45deg)}.nav-menu{background-color:var(--nav-bg);flex-direction:column;gap:15px;padding:20px 24px;list-style:none;transition:opacity .3s;display:none;position:fixed;top:64px;left:0;right:0}.nav-menu.active{display:flex}.nav-link{color:var(--text-color);text-transform:uppercase;letter-spacing:2px;cursor:pointer;padding:10px 0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;text-decoration:none;transition:opacity .3s;display:block}.nav-link:hover,.nav-link.active{opacity:.5}main{min-height:calc(100vh - 65px);margin-top:65px}.gallery-section{padding:var(--gap);padding-bottom:0;display:none}.gallery-section.active{display:block}.gallery-grid{width:100%}.gallery-item{cursor:pointer;width:calc(50% - 4px);margin-bottom:8px;position:relative}.gallery-item img{width:100%;height:auto;transition:transform .3s;display:block}@media (hover:hover){.gallery-item:hover img{transform:scale(1.02)}}.lightbox{width:100%;height:100%;min-height:100dvh;z-index:2000;min-height:-webkit-fill-available;padding:0;padding-bottom:env(safe-area-inset-bottom);background-color:#000;margin:0;display:none;position:fixed;inset:0;overflow:hidden}.lightbox.active{display:block}.lightbox-close{cursor:pointer;z-index:2001;background:0 0;border:none;width:28px;height:28px;padding:0;position:absolute;top:20px;right:24px}.lightbox-close span{background-color:#fff;width:28px;height:1.5px;position:absolute;top:50%;left:0}.lightbox-close span:first-child{transform:rotate(45deg)}.lightbox-close span:nth-child(2){transform:rotate(-45deg)}.lightbox-close:hover{opacity:.7}.lightbox-content{min-height:100vh;padding:80px var(--content-padding)40px;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex}.lightbox-photo-container{touch-action:none;flex-direction:column;align-items:flex-end;display:flex;position:relative;overflow:hidden}.lightbox-image-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.lightbox-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;pointer-events:auto;touch-action:manipulation;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 200px)}.lightbox-image.clickable{cursor:pointer}@media (min-width:768px){.lightbox-content{padding:60px}.lightbox-image{max-width:80vw;max-height:calc(100vh - 180px)}}.lightbox-button-area{justify-content:flex-end;align-items:flex-start;min-height:56px;display:flex}.try-this-btn{color:#000;letter-spacing:.5px;cursor:pointer;background-color:#fff;border:none;margin-top:16px;padding:12px 24px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;transition:opacity .3s}.try-this-btn:active,.try-this-btn:hover{opacity:.8}.profile-modal{width:100%;height:100%;min-height:100dvh;background-color:var(--bg-color);z-index:3000;min-height:-webkit-fill-available;padding:0;padding-bottom:env(safe-area-inset-bottom);margin:0;display:none;position:fixed;inset:0;overflow-y:auto}.profile-modal.active{display:block}.profile-close{cursor:pointer;z-index:3001;background:0 0;border:none;width:28px;height:28px;padding:0;position:absolute;top:20px;right:24px}.profile-close span{background-color:var(--text-color);width:28px;height:1.5px;position:absolute;top:50%;left:0}.profile-close span:first-child{transform:rotate(45deg)}.profile-close span:nth-child(2){transform:rotate(-45deg)}.profile-close:hover{opacity:.5}.profile-content{padding:80px var(--content-padding)40px;box-sizing:border-box;flex-direction:column;align-items:center;min-height:100vh;display:flex}.profile-title{text-align:center;letter-spacing:.5px;margin-bottom:60px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:20px;font-weight:400}.photo-container{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;margin-bottom:20vh;display:flex}.photo-upload{cursor:pointer;width:100%;position:relative}.upload-placeholder{background-color:#000;justify-content:center;align-items:center;width:140px;height:140px;margin:0 auto;display:flex}.plus-icon{width:40px;height:40px;position:relative}.plus-icon:before,.plus-icon:after{content:"";background-color:#fff;position:absolute}.plus-icon:before{width:1.5px;height:40px;top:0;left:50%;transform:translate(-50%)}.plus-icon:after{width:40px;height:1.5px;top:50%;left:0;transform:translateY(-50%)}.uploaded-photo{object-fit:cover;width:100%;height:auto;display:none}.photo-upload.has-photo .upload-placeholder{display:none}.photo-upload.has-photo .uploaded-photo{display:block}.change-photo-btn{color:#fff;letter-spacing:.5px;cursor:pointer;background-color:#000;border:none;margin-top:16px;padding:12px 24px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;transition:opacity .3s;display:none}.change-photo-btn:hover{opacity:.8}.change-photo-btn.visible{display:block}.photo-upload-wrapper{flex-direction:column;align-items:flex-end;display:flex}@media (min-width:768px){.menu-toggle{display:none}.nav-menu{border:none;flex-direction:row;gap:30px;padding:0;display:flex;position:static;transform:none}.gallery-item{width:calc(50% - 4px)}}@media (min-width:1024px){.gallery-item{width:calc(33.333% - 6px)}}html{scroll-behavior:smooth}.generating-overlay{color:#fff;z-index:10;background:#000000b3;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.generating-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:50px;height:50px;margin-bottom:15px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.generating-overlay p{margin:0;font-size:16px;font-weight:500}.generating-overlay .processing-hint{opacity:.5;min-height:18px;margin-top:2px;font-size:13px;font-weight:400}.lightbox-controls{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.reset-link{letter-spacing:.5px;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;transition:opacity .2s}.reset-link:hover{opacity:.7}.lightbox-buttons{gap:10px;display:flex}.lightbox-buttons .try-this-btn{opacity:1;margin-top:0;background-color:#fff!important}.prompt-buttons{flex-flow:row-reverse wrap-reverse;justify-content:flex-start;gap:10px;width:100%;margin-top:16px;display:flex}.prompt-buttons .prompt-btn{margin-top:0;color:#000!important;opacity:1!important;background-color:#fff!important}.beta-disclaimer{color:#fff;opacity:.4;text-align:center;padding:0 20px;font-size:11px;font-weight:400;line-height:1.4;position:absolute;bottom:20px;left:0;right:0}.loading-container{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading{color:#666;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px}
