:root{--paper:#fcf8f2;--cream:#fffdf9;--pink:#f7eddd;--pink2:#efddbf;--rose:#b3873b;--wine:#634e2a;--ink:#2a2824;--muted:#65625c;--silver:#bcb8bd;--line:#e2d9cb;--shadow:0 22px 60px rgba(69,29,49,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 'DM Sans',sans-serif;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.12}h2{font-size:clamp(2.4rem,5vw,4.7rem);letter-spacing:-.04em}h2 em,h1 em{color:var(--rose);font-weight:500}p{line-height:1.68}[hidden],.site[hidden],.gate[hidden],.mobile-nav[hidden]{display:none!important}:focus-visible{outline:3px solid var(--rose);outline-offset:4px}::selection{background:var(--pink2);color:var(--wine)}.container{width:min(1190px,calc(100% - 48px));margin-inline:auto}.eyebrow,.kicker{font-size:.73rem;line-height:1.4;letter-spacing:.16em;font-weight:800;color:var(--rose)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 21px;border:1px solid transparent;border-radius:5px;font-size:.89rem;font-weight:800;text-decoration:none;text-align:center;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{color:#fff;background:var(--wine)}.button-dark:hover{background:#7c6031}.button-light{color:var(--wine);background:#fefcfa;border-color:#fefcfa}

/* Password entrance */
.gate{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;overflow:auto;background:var(--cream)}.gate-image{position:relative;min-height:100dvh;overflow:hidden;background:#e8d7b9}.gate-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 48%}.gate-stamp{position:absolute;left:30px;bottom:30px;background:var(--cream);color:var(--wine);padding:11px 16px;box-shadow:7px 7px 0 var(--wine);font-weight:800;letter-spacing:.13em;font-size:.72rem}.gate-panel{display:grid;place-items:center;min-width:0;padding:45px clamp(25px,5vw,90px);background:radial-gradient(circle at 100% 0,#faf4eb 0,transparent 38%),var(--paper)}.gate-inner{width:min(460px,100%)}.gate-star{font:3.6rem Georgia,serif;line-height:1;color:var(--rose);margin:28px 0 15px}.gate h1{font-size:clamp(3rem,5.1vw,5.5rem);letter-spacing:-.065em}.gate p{font-size:1.04rem;color:var(--muted);margin:21px 0 29px;max-width:430px}.gate form label{display:block;font-size:.83rem;font-weight:800;color:var(--wine);margin-bottom:8px}.gate-fields{display:flex;gap:8px}.gate input{min-width:0;flex:1;background:#fff;border:1px solid #c5bbaa;border-radius:5px;padding:14px 15px;font-weight:700;letter-spacing:.07em}.gate-fields button{border:0;background:var(--wine);color:white;border-radius:5px;padding:12px 22px;white-space:nowrap;font-weight:800;min-height:52px}.gate-error{display:block;min-height:1.7em;margin-top:8px;color:#996e26;font-size:.85rem;font-weight:700}.gate small{display:block;margin-top:29px;color:var(--muted);font-size:.8rem}

/* Header stays in document flow. Mobile navigation is a separate sibling. */
.site-header{height:76px;padding:0 max(24px,calc((100vw - 1190px)/2));display:flex;align-items:center;gap:26px;background:var(--cream);border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--wine);white-space:nowrap}.wordmark-initial{font:600 2.5rem/1 'Playfair Display',serif;letter-spacing:-.1em}.wordmark-name{font-size:.95rem;font-weight:800;letter-spacing:.22em;line-height:1.15}.wordmark-name small{display:block;font-size:.57rem;letter-spacing:.17em;margin-top:4px;color:var(--muted)}.header-caption{font-size:.63rem;font-weight:800;letter-spacing:.1em;color:var(--muted);white-space:nowrap;margin-inline:auto}.header-caption span{color:var(--rose);padding-inline:5px}.desktop-nav{display:flex;gap:21px;align-items:center}.desktop-nav a{text-decoration:none;font-size:.79rem;font-weight:800;color:var(--wine);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}.mobile-nav{display:none}

/* Main cover */
.hero{background:linear-gradient(130deg,#faf4e9,#f7eddd 55%,#efe5d3);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .83fr;gap:clamp(40px,8vw,120px);align-items:center;padding-top:76px;padding-bottom:87px}.hero-copy{min-width:0}.hero h1{font-size:clamp(3.6rem,6.8vw,7rem);font-weight:600;letter-spacing:-.075em;margin:18px 0 24px}.hero h1 em{font-style:italic}.hero p{max-width:510px;font-size:1.04rem;color:#4d473d}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:27px}.text-link{font-size:.9rem;font-weight:800;text-underline-offset:5px;color:var(--wine)}.hero-side-note{display:block;margin-top:60px;color:#776c5a;font-size:.67rem;font-weight:800;letter-spacing:.18em}.hero-photo{position:relative;aspect-ratio:4/5;max-width:440px;justify-self:center;align-self:center;background:white;border:10px solid white;transform:rotate(2.5deg);box-shadow:22px 26px 0 #caba9f,28px 35px 45px #64533532}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.photo-ticket{position:absolute;right:-20px;bottom:25px;padding:11px 15px;background:#fffdf6;color:var(--wine);font-size:.68rem;letter-spacing:.1em;font-weight:800;line-height:1.4;box-shadow:5px 5px 0 var(--rose);transform:rotate(-7deg)}

/* Countdown */
.countdown{background:var(--wine);color:white;padding:54px 0 58px}.countdown-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.countdown .eyebrow{color:#f0e0c5}.countdown h2{font-size:clamp(2.7rem,4.5vw,4.5rem);margin:10px 0}.countdown h2 em{color:#f0dfc3}.countdown p{color:#f4eee4}.calendar-links{display:flex;gap:17px;align-items:center;margin-top:19px;flex-wrap:wrap}.calendar-links a{font-weight:700;font-size:.88rem;text-underline-offset:5px}.countdown small{display:block;color:#e6ddcd;margin-top:13px;font-size:.76rem}.clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #ae9a78;padding:28px 15px 16px;background:#ffffff0a}.clock>div{text-align:center;min-width:0;border-right:1px solid #ffffff3b}.clock>div:nth-child(4){border-right:0}.clock strong{font:500 clamp(2.2rem,4.3vw,4.2rem)/1 'Playfair Display',serif;font-variant-numeric:tabular-nums;display:block}.clock span{display:block;font-size:.75rem;color:#f3e7d1;margin-top:5px}.clock p{grid-column:1/-1;border-top:1px solid #ffffff3b;text-align:center;font-size:.76rem;letter-spacing:.1em;font-weight:800;padding-top:13px;margin-top:22px}

.section{padding:102px 0}.section-heading{margin-bottom:35px}.section-heading h2{margin:10px 0}.section-heading p{color:var(--muted);max-width:600px}.party{background:var(--paper)}.party-grid{display:grid;grid-template-columns:.83fr 1fr;gap:clamp(45px,8vw,115px);align-items:center}.party-photo{position:relative;max-width:430px;aspect-ratio:4/5;background:white;border:9px solid white;box-shadow:var(--shadow);transform:rotate(-2deg)}.party-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.hand-note{position:absolute;bottom:24px;right:-32px;background:#f9f3e9;padding:10px 12px;font:italic 600 1rem 'Playfair Display',serif;color:var(--wine);transform:rotate(7deg);box-shadow:4px 4px 0 #d4bf9b}.party h2{margin:13px 0 21px}.party-copy>p{color:var(--muted);max-width:530px}.party-details{margin:30px 0 26px}.party-details>div{display:grid;grid-template-columns:110px 1fr;gap:15px;border-top:1px solid var(--line);padding:16px 0}.party-details dt{font-size:.68rem;letter-spacing:.15em;font-weight:800;color:var(--rose)}.party-details dd{margin:0;font-weight:700;color:var(--wine)}.party-details dd span{font-size:.84rem;color:var(--muted);font-weight:500}

.portraits{background:#f7f0e5;overflow:hidden}.portrait-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portrait-strip figure{min-width:0;padding:7px 7px 10px;background:white;box-shadow:3px 7px 15px #6e5a3720}.portrait-strip figure:nth-child(odd){transform:rotate(-2deg)}.portrait-strip figure:nth-child(even){transform:rotate(2deg)}.portrait-strip img{height:270px;width:100%;object-fit:cover;object-position:center 45%}.portrait-strip .face-crop img{object-position:center 47%}.portrait-strip .study-crop img{object-position:center 52%}.portrait-strip figcaption{font:600 1rem 'Playfair Display',serif;color:var(--wine);text-align:center;padding-top:9px}

.games{background:#fffaf5}.game-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.game-card{background:white;border:1px solid var(--line);border-radius:12px;padding:clamp(23px,3vw,34px);box-shadow:0 12px 32px #483a210d;min-width:0}.card-number{font-size:.66rem;font-weight:800;letter-spacing:.17em;color:var(--rose)}.game-card h3{font-size:clamp(1.7rem,2.4vw,2.2rem);margin:8px 0 12px}.game-card>p{color:var(--muted)}#exam-disclaimer{display:block;color:#796f5d;margin:11px 0 0;font-size:.76rem}.progress-track{height:8px;background:#f1ebe1;border-radius:20px;margin:19px 0 14px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--rose);transition:width .25s}.runner-note{font-size:.85rem!important;font-weight:700;color:var(--wine)!important;min-height:1.5em;margin-bottom:10px!important}.runner-field{height:206px;position:relative;overflow:hidden;touch-action:manipulation;background:linear-gradient(#fefcf9,#f6eee1);border:1px solid #e6dac6;border-radius:8px}.runner-field:after{content:'';position:absolute;left:0;right:0;bottom:34px;border-bottom:2px solid var(--wine)}.runner-status,.runner-score{position:absolute;top:11px;z-index:2;background:#fefcfadc;padding:5px 8px;font-size:.74rem;font-weight:800;color:var(--wine)}.runner-status{left:11px;max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runner-score{right:11px}.runner-player{position:absolute;left:18%;bottom:36px;width:34px;height:48px;background:var(--wine);color:#faf4ea;display:grid;place-items:center;border-radius:3px 7px 2px 2px;font:1.45rem 'Playfair Display',serif;z-index:3}.runner-obstacle{position:absolute;left:110%;bottom:36px;font-size:1.7rem;line-height:1;z-index:2}.runner-field>button{position:absolute;inset:0;z-index:4;background:transparent;border:0;font-weight:800;color:var(--wine)}.runner-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px}.runner-actions small{font-size:.8rem;color:var(--muted)}.quiz-meta{font-size:.77rem;color:var(--rose);font-weight:800;margin:25px 0 10px}.quiz-question{font:600 1.2rem/1.4 'Playfair Display',serif;min-height:64px}.quiz-choices{display:grid;gap:8px}.quiz-choices button{min-height:46px;text-align:left;border:1px solid var(--line);background:#fefcfa;border-radius:6px;padding:10px 12px;color:var(--ink)}.quiz-choices button:hover{border-color:var(--rose)}.quiz-choices button.correct{background:#e7f3e5;border-color:#6da15f}.quiz-choices button.wrong{background:#f8f0e3;border-color:#cca460}.quiz-feedback{min-height:1.7em;font-size:.85rem;color:var(--wine)!important;font-weight:800;margin:12px 0}.leader-note{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;font-size:.84rem;color:var(--muted)}.leader-note b{color:var(--wine)}



.memories{background:#fffaf5}.memories-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(35px,6vw,95px);align-items:center}.memories h2{margin:12px 0 20px}.memories p{max-width:520px;color:var(--muted)}.photo-upload{margin-top:29px;border:1px dashed #cdbfa7;padding:24px;background:#fff}.upload-mark{font:2.4rem/1 Georgia,serif;color:var(--rose)}.photo-upload h3{font-size:1.3rem;margin:8px 0}.photo-upload p{font-size:.87rem;line-height:1.55}.photo-upload label{display:inline-block;background:var(--wine);color:white;padding:12px 18px;border-radius:4px;font-weight:800;margin:16px 0 8px;cursor:pointer}.photo-upload label.locked{background:#989082;cursor:not-allowed}.photo-upload input{position:absolute;opacity:0;width:1px;height:1px}.photo-upload small{display:block;font-size:.74rem;color:var(--muted)}.memory-image{position:relative;max-width:430px;aspect-ratio:4/5;min-width:0}.memory-image>img{width:100%;height:100%;object-fit:cover;object-position:center 44%;border:8px solid white;box-shadow:var(--shadow);transform:rotate(2deg)}.upload-list{position:absolute;inset:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;pointer-events:none}.upload-list img{width:100%;height:140px;object-fit:cover;border:4px solid white;box-shadow:0 5px 10px #382e1c44}

.gifts{background:linear-gradient(130deg,#f9f2e7,#eee4d2)}.gift-panel{text-align:center;background:#fefcf9;border:1px solid #d9ccb5;padding:clamp(35px,6vw,70px) 25px;box-shadow:15px 15px 0 #dfcfb5}.gift-panel h2{margin:12px 0 20px}.gift-panel p{max-width:650px;margin-inline:auto;color:var(--muted)}.iban-placeholder{display:inline-block;margin:24px 0 14px;padding:10px 16px;border:1px solid var(--rose);font-size:.75rem;letter-spacing:.1em;font-weight:800;color:var(--wine)}.gift-panel small{display:block;color:var(--muted);font-size:.78rem}.footer{text-align:center;background:var(--wine);padding:42px 24px;color:#fcfaf5}.footer-s{font:3rem 'Playfair Display',serif}.footer p{font-size:.82rem;color:#eee5d6;margin-top:10px}

@media(max-width:1050px){.header-caption{display:none}.site-header{justify-content:space-between}.hero-grid{gap:40px}.portrait-strip img{height:230px}}
@media(max-width:820px){.gate{grid-template-columns:.95fr 1.05fr}.gate-panel{padding:30px}.gate h1{font-size:3.4rem}.gate-fields{flex-direction:column}.hero-grid{gap:25px}.hero h1{font-size:clamp(3.3rem,7.5vw,5rem)}.countdown-grid,.party-grid,.memories-grid{grid-template-columns:1fr}.party-photo{max-width:380px}.game-grid{grid-template-columns:1fr}.portrait-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 0 25px;scrollbar-width:thin}.portrait-strip figure{flex:0 0 190px;scroll-snap-align:start}.portrait-strip img{height:255px}}
@media(max-width:640px){html{scroll-padding-top:14px}.site{padding-bottom:calc(69px + env(safe-area-inset-bottom))}.container{width:min(100% - 36px,540px)}.gate{display:block;position:fixed;min-height:100dvh;overflow-y:auto}.gate-image{min-height:0;height:38dvh}.gate-image img{object-position:center 52%}.gate-stamp{left:15px;bottom:12px;font-size:.61rem;padding:7px 10px;box-shadow:4px 4px 0 var(--wine)}.gate-panel{display:block;min-height:62dvh;padding:27px 23px 45px}.gate-inner{margin:auto}.gate-star{display:none}.gate .kicker{font-size:.65rem}.gate h1{font-size:clamp(2.8rem,11.5vw,4rem);line-height:1.04;margin-top:11px}.gate p{font-size:.9rem;margin:12px 0 18px}.gate-fields{flex-direction:row}.gate-fields input{width:0;font-size:.85rem;padding:11px}.gate-fields button{min-height:48px;padding:10px 15px}.gate small{margin-top:16px}.site-header{height:68px;padding:0 18px;gap:10px}.wordmark-initial{font-size:2.1rem}.wordmark-name{font-size:.85rem}.wordmark-name small{font-size:.53rem}.desktop-nav{display:none}.header-caption{display:block;margin:0 0 0 auto;max-width:107px;text-align:right;white-space:normal;line-height:1.35;font-size:.56rem;letter-spacing:.06em}.header-caption span{padding-inline:2px}.mobile-nav:not([hidden]){position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(62px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);background:#fefcfaed;border-top:1px solid #e2d9cb;box-shadow:0 -8px 30px #40331d21;backdrop-filter:blur(12px)}.mobile-nav a{display:grid;place-items:center;text-decoration:none;color:var(--wine);font-size:.69rem;font-weight:800;min-height:60px;text-align:center}.mobile-nav a:active{background:#f6efe4}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding:39px 0 59px;gap:30px}.hero h1{font-size:clamp(3.1rem,12vw,4.7rem);margin:12px 0 14px}.hero p{font-size:.94rem}.hero-side-note{display:none}.hero-actions{margin-top:20px;gap:16px}.hero-actions .button{min-width:165px}.hero-photo{width:min(78%,330px);aspect-ratio:4/4.7;margin:auto;border-width:7px;box-shadow:12px 15px 0 #caba9f,18px 23px 30px #6453352b}.hero-photo img{object-position:center 52%}.photo-ticket{right:-22px;bottom:20px;font-size:.58rem;padding:8px}.countdown{padding:43px 0 47px}.countdown-grid{gap:25px}.countdown h2{font-size:2.9rem}.countdown p{font-size:.9rem}.clock{padding:18px 5px 13px}.clock strong{font-size:clamp(1.85rem,8vw,2.8rem)}.clock span{font-size:.65rem}.clock p{font-size:.67rem;letter-spacing:0}.section{padding:70px 0}.section-heading{margin-bottom:26px}.section-heading h2,.party h2,.memories h2,.gift-panel h2{font-size:clamp(2.4rem,10vw,3.5rem)}.section-heading p{font-size:.92rem}.party-grid{gap:39px}.party-photo{width:min(80%,350px);aspect-ratio:4/4.7;justify-self:center}.party-details>div{grid-template-columns:75px 1fr;gap:10px}.party-details dd span{font-size:.8rem}.hand-note{font-size:.85rem;right:-19px}.portrait-strip{margin-inline:-18px;padding-inline:18px;scroll-padding-left:18px}.portrait-strip figure{flex-basis:205px}.game-card{padding:23px 17px}.runner-field{height:185px}.runner-status{max-width:60%;font-size:.66rem}.runner-score{font-size:.69rem}.runner-actions .button{min-width:145px;touch-action:manipulation}.clue-grid{grid-template-columns:1fr}.clue-grid article{min-height:185px}.clue-grid h3{margin:15px 0 7px}.clue-grid button{margin-top:20px}.memories-grid{gap:38px}.memory-image{width:min(85%,360px);justify-self:center}.gift-panel{width:min(100% - 52px,500px);box-shadow:8px 8px 0 #dfcfb5;padding-inline:18px}.footer{padding-bottom:40px}}
@media(max-width:370px){.header-caption{font-size:.49rem;max-width:83px}.mobile-nav a{font-size:.63rem}.hero h1{font-size:3rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.gate-fields{flex-direction:column}.gate-fields input{width:100%}.clock strong{font-size:1.7rem}.runner-actions small{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.portrait-strip .face-crop,.portrait-strip .study-crop{overflow:hidden}.portrait-strip .face-crop img,.portrait-strip .study-crop img{max-width:none;width:180%;margin-left:-50%;object-position:center 46%}.portrait-strip .study-crop img{object-position:center 41%}

/* Supplied collage artwork stays complete inside its portrait card. */
.portrait-strip .story-collage img{object-fit:contain;background:#fcfaf5}

/* Ivory paper and warm gold, coordinated with Silvia’s invitation. */
:root{--paper:#faf7ef;--cream:#fffdf7;--pink:#f3e8cf;--pink2:#e5ce9e;--rose:#94600f;--wine:#654516;--ink:#28251e;--muted:#686151;--silver:#c9b88e;--line:#e0d3b9;--shadow:0 22px 60px rgba(76,57,20,.13)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gate-panel{background:radial-gradient(ellipse at top right,#eddbb2,transparent 65%),var(--paper)}
.gate-inner{border-top:1px solid #b88a3c;border-bottom:1px solid #b88a3c;padding:30px 0}
.gate-star{color:#b88a3c}.gate input{font-size:20px;letter-spacing:.35em;background:#fffdf7;border-color:#c7ac75;min-height:54px}.gate input:focus{outline:2px solid #aa7828;outline-offset:3px}.gate-fields button{background:linear-gradient(120deg,#98671c,#624312)}
.hero{background:linear-gradient(130deg,#fffdf7,#f1e5cb 60%,#e8d3a9)}
.countdown{background:#493820}.countdown .eyebrow,.countdown h2 em{color:#e8c77e}
.runner-player{width:34px;height:48px;border-radius:45%;overflow:hidden;background:#f7eedb;border:2px solid #a5772f;box-shadow:0 2px 5px #49382033}
.runner-player img{position:absolute;max-width:none;width:76px;height:auto;left:-23px;top:-45px;pointer-events:none}
.iban-box{display:flex;flex-direction:column;align-items:center;gap:13px;margin:26px auto 20px;max-width:100%;padding:22px 12px;border-block:1px solid var(--line)}
.iban-label{font-size:.75rem;font-weight:700;letter-spacing:.13em;color:var(--rose)}
.iban-box code{font-size:clamp(.8rem,3.55vw,1.2rem);letter-spacing:.015em;max-width:100%;overflow-wrap:anywhere;user-select:all;color:var(--wine)}
#copy-status{font-size:.85rem;min-height:1.5em;color:var(--wine)}
@media(max-width:640px){.gate-inner{padding:21px 0}.gate-panel{padding-top:22px}.gate p{font-size:1rem}.gate-fields input{font-size:20px}}

.quiz-instruction{font-size:.9rem;color:var(--muted);margin:0 0 16px}.quiz-choices button.selected{background:#f2e4c7;border:2px solid var(--rose);padding:9px 11px;color:var(--wine)}.quiz-choices button.selected:before{content:'✓ ';font-weight:800}.quiz-identity{display:grid;gap:8px;margin-top:20px}.quiz-identity label{font-weight:700;font-size:.9rem;color:var(--wine)}.quiz-identity input{width:100%;min-width:0;min-height:48px;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:var(--cream);color:var(--ink)}.quiz-identity button{margin-top:12px}.quiz-identity p{color:#9b332a;font-size:.85rem}#quiz-next:disabled{opacity:.5;cursor:not-allowed;transform:none}
/* =========================================================
   ALBUM FOTO CONDIVISO
   ========================================================= */

.memory-image {
  position: relative;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
}

/* La foto di Silvia rimane come copertina
   finché nessun invitato ha caricato foto */
.memory-image > img {
  display: block;
  width: 100%;
  transition:
    opacity .35s ease,
    visibility .35s ease;
}

/* Quando esistono foto condivise,
   nascondiamo la copertina senza cambiare
   le dimensioni della sezione */
.memory-image.has-shared-photos > img {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


/* CONTENITORE PRINCIPALE */

.memory-image #upload-list {
  position: absolute !important;
  z-index: 5;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  display: block !important;

  overflow: hidden !important;

  border-radius: inherit;
}

/* Se non ci sono foto non mostriamo
   il contenitore vuoto */
.memory-image:not(.has-shared-photos) #upload-list {
  display: none !important;
}


/* ALBUM */

.shared-album {
  position: relative;

  width: 100%;
  height: 100%;

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      #f5eee3,
      #fffaf2
    );

  border: 1px solid rgba(117, 75, 22, .16);

  box-shadow:
    0 20px 60px rgba(69, 45, 18, .10);
}


/* BINARIO CHE SCORRE */

.shared-album-track {
  display: flex;

  width: 100%;
  height: 100%;

  transform: translate3d(0, 0, 0);

  transition:
    transform .75s
    cubic-bezier(.22, .76, .25, 1);

  will-change: transform;
}


/* SINGOLA PAGINA DELL'ALBUM */

.shared-album-slide {
  position: relative;

  flex: 0 0 100%;
  min-width: 100%;

  height: 100%;

  margin: 0;

  padding: 14px;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      145deg,
      #f7f0e5,
      #fffaf3
    );
}


/* FOTO */

.shared-album-slide img {
  display: block;

  width: 100%;
  height: 100%;

  max-width: 100%;
  max-height: 100%;

  object-fit: contain;

  border: 6px solid #fff;

  box-shadow:
    0 10px 32px
    rgba(46, 31, 15, .14);

  background: #f4ede3;
}


/* PICCOLA OMBRA IN BASSO */

.shared-album::after {
  content: "";

  position: absolute;
  z-index: 2;

  left: 0;
  right: 0;
  bottom: 0;

  height: 105px;

  pointer-events: none;

  background:
    linear-gradient(
      to top,
      rgba(37, 27, 16, .22),
      transparent
    );
}


/* FRECCE */

.album-arrow {
  position: absolute;
  z-index: 10;

  top: 50%;

  width: 42px;
  height: 42px;

  padding: 0;

  display: grid;
  place-items: center;

  transform: translateY(-50%);

  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 50%;

  background: rgba(255, 252, 245, .86);

  color: #624017;

  font-family: Georgia, serif;
  font-size: 29px;
  line-height: 1;

  cursor: pointer;

  box-shadow:
    0 8px 26px
    rgba(33, 25, 15, .13);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  transition:
    transform .2s ease,
    background .2s ease;
}

.album-arrow:hover {
  background: #fff;

  transform:
    translateY(-50%)
    scale(1.06);
}

.album-arrow-prev {
  left: 18px;
}

.album-arrow-next {
  right: 18px;
}


/* CONTATORE */

.album-counter {
  position: absolute;
  z-index: 10;

  left: 18px;
  bottom: 17px;

  min-width: 52px;

  padding: 7px 11px;

  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 100px;

  background: rgba(35, 27, 17, .58);

  color: #fff;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;

  text-align: center;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}


/* PALLINI */

.album-dots {
  position: absolute;
  z-index: 10;

  left: 50%;
  bottom: 22px;

  display: flex;
  align-items: center;
  gap: 7px;

  transform: translateX(-50%);
}

.album-dot {
  width: 7px;
  height: 7px;

  padding: 0;

  border: 0;
  border-radius: 50%;

  background: rgba(255, 255, 255, .55);

  cursor: pointer;

  transition:
    width .25s ease,
    background .25s ease,
    border-radius .25s ease;
}

.album-dot.active {
  width: 22px;

  border-radius: 100px;

  background: #fff;
}


/* MOBILE */

@media (max-width: 700px) {

  .shared-album-slide {
    padding: 8px;
  }

  .shared-album-slide img {
    border-width: 4px;
  }

  .album-arrow {
    width: 36px;
    height: 36px;

    font-size: 25px;
  }

  .album-arrow-prev {
    left: 10px;
  }

  .album-arrow-next {
    right: 10px;
  }

  .album-counter {
    left: 11px;
    bottom: 12px;

    padding: 6px 9px;

    font-size: 11px;
  }

  .album-dots {
    bottom: 17px;
    gap: 5px;
  }

}
/* =========================================================
   SCORRIMENTO MANUALE ALBUM
   ========================================================= */

.shared-album {
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
}

.shared-album.is-dragging {
  cursor: grabbing;
}

.shared-album-slide,
.shared-album-slide img {
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}