.main-layout{background:linear-gradient(135deg,#e5d1d0 0% 100%);min-height:100vh}.header{text-align:center;background:#a86c6c;border-radius:0}.header__title{color:#fff;letter-spacing:2px;font-weight:300}@media (max-width:480px){.header__title{letter-spacing:1.5px;font-size:2rem}}.header__avatar{border:2px solid #fff3;width:80px;height:80px;box-shadow:0 4px 15px #0000001a}.header__name{color:#fff;font-weight:500}.header__welcome-message{color:#fffc;max-width:280px;margin:0 auto;font-size:.9rem}@media (max-width:480px){.header__welcome-message{padding:0 1rem;font-size:.9rem}}.header__navigation{margin-top:1.5rem}@media (max-width:480px){.header__navigation{margin-top:1rem}}.header__navigation-chipset{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}@media (max-width:480px){.header__navigation-chipset{gap:.5rem}}.header__navigation-chip{color:#fff;letter-spacing:.5px;backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;padding:.5rem 1rem;transition:all .3s;font-weight:500}@media (max-width:480px){.header__navigation-chip{padding:.4rem .8rem;font-size:.875rem}}.header__navigation-chip:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-2px);box-shadow:0 4px 12px #a86c6c4d}.header__navigation-chip--active{color:#a86c6c;background:#ffffffe6;border-color:#ffffffe6;font-weight:600;box-shadow:0 4px 16px #0000001a}.header__navigation-chip--active:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.name-modal{text-align:center}.name-modal__title{color:#a86c6c;font-weight:400}.name-modal__subtitle{color:#a86c6c;font-weight:600}.name-modal__description{color:#666;max-width:400px}.name-modal__input,.name-modal__alert{max-width:350px}.mud-dialog-content{padding:2rem!important}.name-modal-header{color:#5d4e75;text-align:center;margin-bottom:1rem;font-weight:600}.name-modal-description{color:#666;text-align:center;max-width:400px;margin:0 auto 2rem;line-height:1.5}.name-modal-input{max-width:350px;margin:0 auto}.name-modal-button{text-transform:none;letter-spacing:.5px;border-radius:8px;max-width:350px;margin:1rem auto 0;transition:all .3s;font-weight:600}.name-modal-icon{color:#a86c6c;margin-bottom:1rem;font-size:4rem}.qr-code-container{display:flex;animation:fadeInUp .6s ease-out;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items: center;max-width:600px;margin:2rem auto;padding:2rem;box-shadow:0 8px 32px #0000001a}.qr-code-wrapper{display:flex;background:#fff;border-radius:12px;justify-content:center;align-items: center;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 16px #00000014}.qr-code-wrapper svg{width:500px}.qr-code-title{text-align:center;letter-spacing:.5px;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.qr-code-description{text-align:center;max-width:400px;margin-bottom:2rem;line-height:1.6}.download-section{display:flex;flex-direction:column;align-items: center;gap:1rem;width:100%}.qr-download-button{text-transform:none;letter-spacing:.5px;background:linear-gradient(135deg,#94615f 0%,#7a5153 100%);border:none;border-radius:8px;padding:.8rem 2rem;transition:all .3s;font-weight:600;box-shadow:0 4px 16px #a86c6c4d;color:#fff!important}.qr-download-button:hover{background:linear-gradient(135deg,#94615f 0%,#7a5153 100%);transform:translateY(-2px);box-shadow:0 8px 24px #a86c6c66}.qr-copy-button{text-transform:none;letter-spacing:.5px;border-radius:8px;padding:.8rem 2rem;transition:all .3s;font-weight:600;background:0 0!important}.qr-copy-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #a86c6c4d;color:#fff!important}@media (max-width:768px){.qr-code-container{border-radius:12px;margin:1rem;padding:1.5rem}.qr-code-wrapper{margin-bottom:1.5rem;padding:1rem}.qr-code-wrapper svg{width:300px}.qr-code-title{font-size:1.3rem}.qr-code-description{margin-bottom:1.5rem;font-size:.9rem}.qr-download-button,.qr-copy-button{width:100%;max-width:280px;padding:1rem}}@media (max-width:480px){.qr-code-container{margin:.5rem;padding:1rem}.qr-code-wrapper svg{width:220px}.qr-code-title{font-size:1.2rem}.qr-download-button{font-size:.9rem}}.grid-controls-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%}.grid-controls-container::-webkit-scrollbar{display:none}.grid-controls-chipset{display:flex;flex-wrap:nowrap;justify-content:center;gap:8px;min-width:max-content;padding:0 20px}@media (max-width:480px){.grid-controls-chipset{justify-content:flex-start;padding:0 4px}}.grid-controls-chip{white-space:nowrap;flex-shrink:0;min-width:48px;transition:all .2s}.grid-controls-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px #a86c6c33}.grid-controls-chip.mud-chip-selected{font-weight:600;box-shadow:0 2px 8px #a86c6c4d;color:#fff!important;background-color:#a86c6c!important}.grid-controls-chip.mud-chip-clickable:not(.mud-chip-selected){border:1px solid #0000;color:#e5d1d0!important;background-color:#e5d1d0!important}.grid-controls-chip.mud-chip-clickable:not(.mud-chip-selected):hover{border-color:#a86c6c4d;color:#a86c6c!important;background-color:#e5d1d0!important}@media (min-width:768px){.grid-controls-container:before,.grid-controls-container:after{display:none}.grid-controls-chipset{flex-wrap:wrap;justify-content:start}}.download-page-container{max-width:500px;margin:2rem auto}@media (max-width:768px){.download-page-container{margin:.5rem;padding:1.5rem 1rem}}@media (max-width:480px){.download-page-container{margin:.25rem;padding:1rem .75rem}}.download-content-stack{width:100%;max-width:400px}@media (max-width:768px){.download-content-stack{max-width:none}}.download-info-container{text-align:center;margin-bottom:1rem}@media (max-width:768px){.download-info-container{width:100%}}.download-info-alert{width:100%;max-width:400px}@media (max-width:768px){.download-info-alert{max-width:none;margin:1rem 0!important}}@media (max-width:480px){.download-info-alert .mud-alert-message{font-size:.8rem;line-height:1.4}}.download-form-container{width:100%;max-width:400px}@media (max-width:768px){.download-form-container{max-width:none}}.download-email-input .mud-input-control{width:100%}@media (max-width:768px){.download-email-input{width:100%}}.download-submit-button{max-width:none;min-height:48px}@media (max-width:768px){.download-submit-button{width:100%;padding:1rem;font-size:1rem}}@media (max-width:480px){.download-submit-button{padding:.9rem;font-size:.9rem}}.download-status-alert{width:100%;max-width:400px}@media (max-width:768px){.download-status-alert{max-width:none;margin:1rem 0!important}}.photo-upload{position:relative;text-align:center;background:linear-gradient(135deg,#a86c6c 0% 100%);border-radius:8px}.photo-upload__icon{color:#fff;font-size:2rem}.photo-upload__text{color:#fff;text-align:center;font-weight:500}.photo-upload__description{color:#fffc;text-align:center}.photo-upload__file-input{position:absolute;opacity:0;cursor:pointer;z-index:10;width:100%;height:100%;top:0;left:0}.photo-gallery{min-height:60vh}.photo-gallery__loading-container{display:flex;justify-content:center;align-items: center;height:400px}.photo-gallery__main-container{position:relative;display:flex;justify-content:center;align-items: center;width:100%;max-width:800px}.photo-gallery__nav-button{position:absolute;z-index:10;background:#ffffffe6;box-shadow:0 2px 8px #00000026}.photo-gallery__nav-button--left{left:-50px}.photo-gallery__nav-button--right{right:-50px}.photo-gallery__main-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:70vh;box-shadow:0 8px 32px #0000004d}.photo-gallery__info-panel{width:100%;max-width:800px}.photo-gallery__info-content{display:flex;flex-direction:column;gap:8px}@media (min-width:768px){.photo-gallery__info-content{flex-direction:row;align-items: center;gap:16px}}.photo-gallery__filename{word-break:break-all;margin-bottom:4px}@media (min-width:768px){.photo-gallery__filename{flex:none;margin-bottom:0}}.photo-gallery__meta-info{display:flex;flex-direction:column;gap:4px}@media (min-width:768px){.photo-gallery__meta-info{flex-direction:row;flex:1;gap:16px}}.photo-gallery__thumbnails{display:flex;overflow-x:auto;flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%}.photo-gallery__thumbnail{cursor:pointer;border-radius:4px;transition:all .2s}.photo-gallery__video-container{position:relative;display:flex;justify-content:center;align-items: center;max-width:90vw;max-height:80vh}.photo-gallery__video-container video{background-color:#000}.photo-gallery__main-video{border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 8px 32px #0000004d}.photo-grid{overflow-y:auto;height:70vh}.photo-grid__row{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:12px;padding:6px}.photo-grid__container{transition:transform .2s ease-in-out}.photo-grid__container:hover{transform:scale(1.02)}.photo-card{overflow:hidden;box-shadow:0 2px 8px var(--shadow-medium);animation:fadeInUp .5s ease-out;border-radius:8px;height:100%;transition:all .2s}.photo-card:hover{box-shadow:0 8px 25px var(--shadow-dark);transform:scale(1.03)}.photo-card:hover .photo-card__overlay{opacity:1}.photo-card__content{height:100%}.photo-card__image-container{position:relative;overflow:hidden;cursor:pointer;border-radius:8px}.photo-card__placeholder{background:linear-gradient(45deg,var(--color-placeholder-light),var(--color-placeholder-dark));display:flex;animation:pulse 1.5s ease-in-out infinite alternate;justify-content:center;align-items: center;width:100%;height:100%}.photo-card__image{object-fit:cover;width:100%;height:100%;transition:all .3s}.photo-card__image video{object-fit:cover;border-radius:8px;width:100%;height:100%}.photo-card__filename{font-size:.7rem}.photo-card__overlay{position:absolute;background:var(--black-40);display:flex;opacity:0;justify-content:center;align-items: center;transition:opacity .2s ease-in-out;inset:0}.photo-card:first-child{animation-delay:50ms}.photo-card:nth-child(2){animation-delay:.1s}.photo-card:nth-child(3){animation-delay:.15s}.photo-card:nth-child(4){animation-delay:.2s}.photo-card:nth-child(5){animation-delay:.25s}.photo-card:nth-child(6){animation-delay:.3s}.photo-card:nth-child(7){animation-delay:.35s}.photo-card:nth-child(8){animation-delay:.4s}@keyframes pulse{0%{opacity:.6}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.video-overlay{pointer-events:none;z-index:1}.video-indicator{position:absolute;color:#fff;background:#000000b3;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:500;top:8px;right:8px}
