.guest-page [hidden]{display:none!important}
.guest-credits{display:flex;align-items:center;gap:24px;padding:20px 24px;margin-bottom:20px;border:1px solid #d1ddc8;border-radius:20px;background:linear-gradient(120deg,#eaf0e4,#fffef9)}.credit-total{margin:6px 0 0}.credit-total b{font:3.5rem/1 'Cormorant Garamond',serif;color:#28552f}.credit-total span{font-size:.8rem}.guest-credits>div:first-child{min-width:130px}.guest-credits p:not(.credit-total):not(.overline){font-size:.75rem;line-height:1.5}.guest-credits .text-button{padding-left:0}@media(max-width:500px){.guest-credits{gap:14px;padding:18px}.guest-credits>div:first-child{min-width:95px}}
.selected-file button.edit-selected-photo{position:static;width:100%;height:44px;margin-top:5px;border-radius:8px;background:#eaf0e4;font-size:.65rem}
.guest-skill-icon{display:block;width:32px;height:32px;object-fit:contain;image-rendering:pixelated;border-radius:3px}
.contribute-layout>*{min-width:0}
.guest-page main{width:min(100%,1080px);padding-bottom:52px}.guest-page .hero{padding:48px 10px 26px}.guest-page .hero h1{font-size:clamp(3.6rem,10vw,6rem);margin:14px 0}.guest-page .hero .ornament{margin-top:16px}
.guest-page h2{font-size:2.15rem;line-height:1.06}.guest-page button,.guest-page input{font-family:Montserrat,Arial,sans-serif}.guest-page button,.album-nav a{min-height:44px}.guest-page button:focus-visible,.guest-page a:focus-visible,.guest-page label:focus-within{outline:3px solid #745086;outline-offset:4px}
.guest-page .identify{max-width:690px;margin:0 auto 28px}.guest-page .identify h2{font-size:2.5rem}.guest-page .guest-list button b{white-space:normal;overflow-wrap:anywhere}.page-status{text-align:center;line-height:1.6;max-width:600px;margin:auto}
.guest-welcome{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0 20px}.welcome-person{display:flex;align-items:center;gap:14px;min-width:0}.guest-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border:1px solid #d1dccb;border-radius:50%;background:#e8eddf;font:1.8rem 'Cormorant Garamond',serif}.hello{margin:5px 0 0;font-size:1rem;overflow-wrap:anywhere}.hello span{display:block;font-size:.72rem;color:var(--muted);margin-top:4px}.text-button{border:0;background:transparent;color:var(--forest);padding:8px 12px;font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.text-button:disabled{opacity:.45;cursor:default}
.album-nav{display:flex;gap:8px;flex-wrap:wrap;padding:7px;background:#eaf0e4;border:1px solid #d6dfce;border-radius:18px;margin-bottom:24px}.album-nav a{flex:1;display:grid;place-items:center;text-align:center;color:var(--forest);text-decoration:none;padding:10px 12px;font-size:.78rem;font-weight:600;border-radius:12px}.album-nav a:first-child{background:var(--paper);box-shadow:0 3px 10px #28552f0a}.album-nav a:hover{background:#fffef9}
.contribute-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:20px;align-items:start}.guest-page .panel{padding:28px;border-radius:22px;box-shadow:0 10px 35px #28552f08}.guest-page .upload-panel{margin:0}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-label>span{font-size:.68rem;color:#745086;border:1px solid #e0d5e6;border-radius:50%;display:grid;place-items:center;width:27px;height:27px}.guest-page .lead{font-size:.84rem;line-height:1.7;margin:14px 0 20px}
.guest-page .picker{min-height:115px;flex-direction:column;text-align:center;padding:22px 12px;background:#f5f5ed;border:1px dashed #a2b294;border-radius:16px;position:relative}.guest-page .picker-icon{background:#e5ebdf;box-shadow:none;font-size:1.6rem}.picker input{display:block!important;position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.guest-page .picker:focus-within{outline:2px solid #28552f;outline-offset:3px}.guest-page .picker small{font-size:.65rem;line-height:1.5}.guest-page .primary{font-size:.79rem;min-height:48px;border-radius:13px;box-shadow:0 5px 15px #28552f1a}.guest-page .message{font-size:.76rem;line-height:1.6;overflow-wrap:anywhere;min-height:0}.message:empty{display:none}
.guest-page .selection{font-family:Montserrat,Arial,sans-serif;color:var(--forest);margin-top:16px}.selected-files{display:flex;gap:9px;overflow:auto;padding:5px 3px 10px}.selected-file{position:relative;flex:0 0 90px;width:90px;margin:0}.selected-file img,.selected-file .file-placeholder{display:grid;place-items:center;width:90px;height:78px;object-fit:cover;border-radius:9px;background:#e9ede5}.selected-file figcaption{font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px}.selected-file button{position:absolute;right:-4px;top:-5px;width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:#fffef9ee;color:#28552f;font-size:1.2rem;cursor:pointer}
.album-tips{background:linear-gradient(140deg,#fffef9,#f3eef5)!important}.album-tips a{display:inline-flex;align-items:center;text-decoration:none;min-height:44px}.secondary-button{border:1px solid #aabb9e;background:#fffef9;border-radius:12px;padding:12px 18px;color:#28552f;font-weight:600;font-size:.75rem;cursor:pointer}.secondary-button:disabled{opacity:.45;cursor:default}
.guest-page .gallery-section{margin-top:38px;border-top:1px solid #d8dfd0;padding-top:28px;scroll-margin-top:20px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.gallery-heading h2{font-size:2.8rem;margin-top:7px}.album-count{font-size:.74rem;color:var(--muted);margin:10px 0 0}.refresh{width:44px;height:44px;font-size:1.3rem;border:1px solid #c7d3bd;border-radius:50%;cursor:pointer;flex-shrink:0}.refresh.loading{opacity:.5}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 12px;flex-wrap:wrap}.album-filters{display:flex;gap:7px;flex-wrap:wrap}.album-filters button{border:1px solid #d6ddcd;border-radius:24px;padding:9px 14px;font-size:.7rem;color:#4d6245;background:#fffef9;cursor:pointer}.album-filters button[aria-pressed=true]{color:white;background:#28552f;border-color:#28552f}.album-filters button:disabled{opacity:.45;cursor:default}.gallery-message{font-size:.74rem;line-height:1.6;color:#745086;margin:10px 0 18px}.gallery-message:empty{display:none}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.album-photo{display:block;text-decoration:none;color:#28552f;background:#fffef9;border:1px solid #dfe4d6;border-radius:15px;overflow:hidden;min-width:0;transition:transform .2s,box-shadow .2s}.album-photo:hover{transform:translateY(-3px);box-shadow:0 10px 30px #28552f15}.photo-visual{position:relative;aspect-ratio:4/3;background:#e9ede4;overflow:hidden;display:grid;place-items:center}.photo-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.album-photo:hover img{transform:scale(1.025)}.photo-fallback{font-size:.8rem;color:#65735f;padding:16px;text-align:center}.photo-info{display:block;padding:12px 14px;font-size:.74rem;line-height:1.5;overflow-wrap:anywhere}.photo-info small{display:block;font-size:.64rem;color:#6d7865}.photo-badge{position:absolute;left:9px;bottom:9px;background:#fffef9e8;color:#28552f;border-radius:20px;padding:5px 9px;font-size:.62rem}.load-more{display:block;margin:24px auto 0}
.guest-page .memory-carousel{height:clamp(300px,70vw,610px)}.guest-page .memory-slide img{object-fit:contain;background:#e6ebdf}.carousel-pause{display:block;margin:10px auto}.guest-page .empty{border:1px dashed #c4d0ba;border-radius:18px;padding:35px 20px}.guest-page #uploadSection{scroll-margin-top:20px}.guest-page #printOffersHost>.panel{margin-top:20px}.guest-page #quizControlsHost{margin-top:12px}.guest-page .upload-overlay{background:#254a2c}.guest-page .upload-progress h2{color:white}.guest-page .upload-progress .overline{color:#ded4e7}.guest-page .live-toast{max-width:calc(100vw - 28px)}
@media(max-width:700px){.contribute-layout{grid-template-columns:1fr}.guest-page main{padding-left:16px;padding-right:16px}.guest-page .hero{padding:30px 5px 20px}.guest-page .hero h1{font-size:4.25rem}.guest-page .hero .tagline{font-size:1.1rem}.guest-page .panel{padding:23px}.guest-welcome{gap:6px}.guest-welcome .text-button{font-size:.65rem;padding:8px 4px}.guest-avatar{flex-basis:40px;height:40px}.welcome-person{gap:10px}.welcome-person .overline{font-size:.55rem}.album-nav{gap:3px;padding:5px}.album-nav a{padding:8px 5px;font-size:.62rem}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photo-info{font-size:.68rem;padding:10px}.photo-info small{font-size:.58rem}.album-filters button{padding:8px 10px;font-size:.63rem}.gallery-heading h2{font-size:2.4rem}.guest-page .gallery-section{margin-top:27px}.gallery-toolbar>.text-button{margin-left:auto}.guest-page .identify h2{font-size:2.25rem}.guest-page .guest-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guest-page *{animation:none!important;transition:none!important}}
@media(max-width:700px){.guest-page .hero h1{font-size:clamp(2.8rem,12vw,4.25rem)}}
.push-invitation{box-sizing:border-box;width:min(92vw,480px);max-height:90dvh;overflow:auto;padding:clamp(24px,6vw,40px);border:1px solid #cbbc9e;border-radius:24px;background:#fffdf7;color:#354738;box-shadow:0 20px 80px #24392d40;font:inherit}
.push-invitation::backdrop{background:#263b30a8;backdrop-filter:blur(5px)}
.push-invitation h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1.2;margin:16px 0}
.push-invitation p{line-height:1.65}.push-invitation-help{font-size:.9rem}
.push-invitation-actions{display:grid;gap:12px;margin-top:24px}
.push-invitation [hidden]{display:none!important}
.push-device-help{margin-top:18px;border-top:1px solid #dce1d5;padding-top:16px;line-height:1.65}
.push-device-help summary{cursor:pointer;font-weight:600}
.push-device-label{font-size:.85rem;color:#526749}
.push-device-help ol,.push-invitation ol{padding-left:22px}
.push-device-help li,.push-invitation li{margin:10px 0}
