/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}}:root{--ink:#1f2b26;--forest:#1f3029;--forest-soft:#2b4036;--cream:#f4eee5;--paper:#fbf7f1;--blush:#d7a4a1;--wine:#9f4b5c;--line:#1f2b2629}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{background:var(--cream);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Inter,Segoe UI,Helvetica,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}.hero{background:radial-gradient(circle at 11% 73%, #d7a4a126, transparent 26rem), var(--forest);min-height:100svh;color:var(--paper);padding:0 clamp(1.25rem,4vw,4.5rem) 2rem;position:relative;overflow:hidden}.hero:before{content:"";opacity:.18;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");position:absolute;inset:0}.nav-shell{z-index:2;border-bottom:1px solid #fbf7f129;grid-template-columns:1fr auto 1fr;align-items:center;min-height:6.2rem;display:grid;position:relative}.nav-shell p,.nav-year{color:#fbf7f19e;text-transform:uppercase;letter-spacing:.22em;margin:0;font-size:.68rem}.nav-year{justify-self:end}.mark{width:fit-content;color:var(--paper);align-items:center;gap:.55rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;text-decoration:none;display:flex}.mark i{background:var(--blush);width:1.2rem;height:1px;display:block;transform:rotate(-45deg)}.hero-grid{z-index:1;grid-template-columns:minmax(0,.9fr) minmax(21rem,.75fr);align-items:center;gap:clamp(3rem,8vw,8rem);width:min(82rem,100%);min-height:calc(100svh - 8.2rem);margin:0 auto;padding:clamp(2.5rem,7vh,5.5rem) 0 3rem;display:grid;position:relative}.hero-copy{max-width:43rem}.kicker{color:var(--wine);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.8rem;margin:0 0 1.5rem;font-size:.69rem;font-weight:700;line-height:1.4;display:flex}.kicker:before{content:"";background:currentColor;width:2.4rem;height:1px}.hero .kicker{color:var(--blush)}.hero h1{letter-spacing:-.065em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.2rem,8.5vw,9.2rem);font-weight:400;line-height:.79}.hero h1 span{width:min-content;color:var(--blush);letter-spacing:-.045em;margin-top:1.3rem;font-size:.55em;font-style:italic;line-height:.93;display:block}.hero-lead{color:#fbf7f1b3;max-width:36rem;margin:clamp(2rem,5vh,3.4rem) 0 0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.8}.primary-button{background:var(--paper);color:var(--forest);cursor:pointer;letter-spacing:.05em;border:0;border-radius:999px;align-items:center;gap:1.4rem;margin-top:2.2rem;padding:.55rem .55rem .55rem 1.5rem;font-size:.79rem;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.primary-button span{background:var(--wine);color:#fff;border-radius:50%;place-items:center;width:2.6rem;height:2.6rem;font-size:1.05rem;display:grid}.primary-button:hover{background:#fff;transform:translateY(-2px)}.primary-button:focus-visible,.option-button:focus-visible,.restart-button:focus-visible{outline:3px solid var(--blush);outline-offset:4px}.hero-visual{justify-self:end;width:min(100%,31rem);padding:0 1.8rem 2.2rem 0;position:relative}.hero-photo-wrap{aspect-ratio:.78;background:#c8b9a6;border-radius:48% 48% .7rem .7rem;position:relative;overflow:hidden}.hero-photo-wrap:after{content:"";pointer-events:none;background:linear-gradient(#0000 58%,#12201a52);position:absolute;inset:0}.hero-photo{object-fit:cover;object-position:center 42%;filter:contrast(1.04);width:100%;height:100%}.date-card{aspect-ratio:1;background:var(--wine);color:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:8.5rem;display:flex;position:absolute;bottom:0;right:0;transform:rotate(5deg);box-shadow:0 1.5rem 4rem #08140f47}.date-card span,.date-card small{text-transform:uppercase;letter-spacing:.22em;font-size:.58rem}.date-card strong{margin:-.15rem 0 -.35rem;font-family:Georgia,Times New Roman,serif;font-size:3.6rem;font-weight:400;line-height:1}.photo-note{color:#fbf7f18f;text-align:center;margin:1.15rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:.86rem;font-style:italic}.memory-section{background:var(--cream);padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,5rem);scroll-margin-top:0}.section-heading{grid-template-columns:.7fr 1.3fr;align-items:end;gap:2rem;width:min(76rem,100%);margin:0 auto clamp(3.5rem,7vw,7rem);display:grid}.section-heading .kicker{margin:0 0 .45rem}.section-heading h2,.quiz-intro h2,.letter-wrap h2{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400}.section-heading h2{max-width:48rem;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.98}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(1.25rem,3vw,3rem);width:min(76rem,100%);margin:0 auto;display:grid}.memory-image-wrap{aspect-ratio:.78;background:#d9d0c5;border-radius:.55rem;position:relative;overflow:hidden}.memory-image-wrap img{object-fit:cover;filter:saturate(.82)contrast(.96);width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,0,1),filter .4s}.memory-card:hover img{filter:saturate(.98)contrast();transform:scale(1.035)}.memory-copy{padding:1.2rem .2rem 0}.memory-copy h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:400}.memory-copy p{color:#1f2b269e;margin:.6rem 0 0;font-size:.83rem;line-height:1.65}.more-memories{width:min(76rem,100%);margin:clamp(5rem,10vw,9rem) auto 0}.more-memories>p{color:#1f2b267a;letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.3rem;font-size:.65rem;font-weight:700}.photo-strip{grid-template-columns:repeat(6,minmax(9rem,1fr));gap:.75rem;display:grid}.photo-strip figure{aspect-ratio:.74;background:#d9d0c5;border-radius:.45rem;margin:0;overflow:hidden}.photo-strip img{object-fit:cover;filter:saturate(.84)contrast(.98);width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.7,0,1),filter .3s}.photo-strip figure:hover img{filter:saturate()contrast();transform:scale(1.04)}.quiz-section{background:linear-gradient(#ffffff06 1px, transparent 1px), linear-gradient(90deg, #ffffff06 1px, transparent 1px), var(--forest);color:var(--paper);background-size:3.5rem 3.5rem;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5rem);scroll-margin-top:0}.quiz-intro,.quiz-shell{width:min(69rem,100%);margin:0 auto}.quiz-intro{grid-template-columns:1fr 1.5fr;align-items:end;column-gap:4rem;display:grid}.kicker-light{color:var(--blush);grid-column:1/-1}.quiz-intro h2{max-width:42rem;font-size:clamp(3.1rem,5.7vw,6rem);line-height:.95}.quiz-intro>p:last-child{color:#fbf7f199;max-width:27rem;margin:0 0 .35rem;font-size:.98rem;line-height:1.75}.quiz-shell{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf7f10b;border:1px solid #fbf7f129;border-radius:1.4rem;margin-top:clamp(3rem,7vw,6rem);overflow:hidden}.progress-row{color:#fbf7f17a;letter-spacing:.1em;border-bottom:1px solid #fbf7f11f;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.3rem 1.5rem;font-size:.62rem;display:grid}.progress-track{background:#fbf7f11f;height:2px;overflow:hidden}.progress-track i{background:var(--blush);height:100%;transition:width .5s;display:block}.question-card{min-height:34rem;padding:clamp(2rem,5vw,4.5rem);animation:.45s both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}.question-eyebrow{color:var(--blush);letter-spacing:.2em;text-transform:uppercase;margin:0 0 1rem;font-size:.65rem;font-weight:700}.question-card h3,.quiz-complete h3{letter-spacing:-.035em;max-width:50rem;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.2vw,3.9rem);font-weight:400;line-height:1.05}.options-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:3rem;display:grid}.option-button{color:#fbf7f1e0;cursor:pointer;text-align:left;background:#ffffff06;border:1px solid #fbf7f124;border-radius:.75rem;align-items:center;gap:1rem;min-height:4.6rem;padding:.8rem 1rem;transition:border .16s,background .16s,transform .16s;display:flex}.option-button span{width:2.1rem;height:2.1rem;color:var(--blush);border:1px solid #fbf7f133;border-radius:50%;flex:0 0 2.1rem;place-items:center;font-size:.65rem;display:grid}.option-button:hover{background:#ffffff0e;border-color:#d7a4a19e;transform:translateY(-1px)}.option-button.correct{background:#62947b2e;border-color:#91b6a5}.option-button.correct span{color:var(--forest);background:#91b6a5;border-color:#91b6a5}.option-button.wrong{border-color:#d7a4a1b3;animation:.26s small-shake}@keyframes small-shake{33%{transform:translate(-4px)}66%{transform:translate(4px)}}.answer-note{color:#fbf7f1ad;border-top:1px solid #fbf7f11a;align-items:flex-start;gap:1rem;min-height:4rem;margin-top:1.5rem;padding-top:1.5rem;transition:opacity .18s;display:flex}.answer-note.hidden{opacity:0;pointer-events:none}.answer-note p{max-width:48rem;margin:0;font-size:.88rem;line-height:1.65}.answer-mark{color:var(--blush)}.quiz-complete{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:34rem;padding:3rem;animation:.5s both card-in;display:flex}.quiz-complete>span{background:var(--blush);width:5rem;height:5rem;color:var(--forest);border-radius:50%;place-items:center;margin-bottom:2rem;font-family:Georgia,Times New Roman,serif;display:grid}.quiz-complete p{color:#fbf7f199;margin:1.1rem 0 0}.finale{background:var(--paper);min-height:36rem;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,5rem);position:relative;overflow:hidden}.locked-message{color:#1f2b266b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:21rem;display:flex}.locked-message span{color:var(--blush);font-family:Georgia,Times New Roman,serif;font-size:3rem}.locked-message p{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem}.finale-unlocked{background:radial-gradient(circle at 90% 15%, #d7a4a133, transparent 28rem), var(--paper)}.letter-wrap{z-index:2;width:min(53rem,100%);margin:0 auto;animation:.8s both letter-open;position:relative}@keyframes letter-open{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}.letter-wrap .kicker{justify-content:center}.letter-wrap h2{text-align:center;font-size:clamp(3.2rem,7vw,7rem);line-height:.94}.letter-text{color:#1f2b26c2;max-width:42rem;margin:clamp(3rem,7vw,5.5rem) auto 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.7vw,1.25rem);line-height:1.9}.letter-text p{margin:0 0 1.5rem}.signature{color:#1f2b268c;text-transform:uppercase;letter-spacing:.16em;flex-direction:column;align-items:flex-end;width:min(42rem,100%);margin:2.7rem auto 0;font-size:.72rem;display:flex}.signature strong{color:var(--ink);letter-spacing:-.04em;text-transform:none;text-align:right;max-width:25rem;margin-top:.2rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-style:italic;font-weight:400}.restart-button{border:0;border-bottom:1px solid var(--ink);color:var(--ink);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;margin:4rem auto 0;padding:0 0 .35rem;font-size:.7rem;font-weight:700;display:block}.heart-rain{pointer-events:none;position:absolute;inset:0;overflow:hidden}.heart-rain i{color:var(--blush);opacity:0;font-family:Georgia,Times New Roman,serif;font-size:.8rem;animation:6s linear infinite heart-fall;position:absolute;top:-2rem}.heart-rain i:first-child{animation-delay:0s;left:5%}.heart-rain i:nth-child(2){font-size:1.15rem;animation-delay:2s;left:13%}.heart-rain i:nth-child(3){animation-delay:4s;left:22%}.heart-rain i:nth-child(4){animation-delay:1s;left:31%}.heart-rain i:nth-child(5){font-size:1.1rem;animation-delay:5s;left:40%}.heart-rain i:nth-child(6){animation-delay:2.8s;left:48%}.heart-rain i:nth-child(7){animation-delay:.8s;left:57%}.heart-rain i:nth-child(8){font-size:1.25rem;animation-delay:3.6s;left:65%}.heart-rain i:nth-child(9){animation-delay:1.8s;left:73%}.heart-rain i:nth-child(10){animation-delay:4.8s;left:81%}.heart-rain i:nth-child(11){font-size:1.1rem;animation-delay:2.2s;left:89%}.heart-rain i:nth-child(12){animation-delay:5.5s;left:96%}@keyframes heart-fall{0%{opacity:0;transform:translateY(-2rem)rotate(0)}10%{opacity:.65}90%{opacity:.35}to{opacity:0;transform:translateY(80rem)rotate(180deg)}}footer{border-top:1px solid var(--line);background:var(--paper);color:#1f2b2680;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:6rem;padding:1.4rem clamp(1.25rem,4vw,4.5rem);font-size:.62rem;display:flex}footer p{margin:0}@media (width<=900px){.nav-shell{grid-template-columns:1fr 1fr}.nav-shell p{display:none}.hero-grid{grid-template-columns:1fr .85fr;gap:2rem}.hero h1{font-size:clamp(4rem,10vw,6.5rem)}.section-heading,.quiz-intro{grid-template-columns:1fr}.section-heading .kicker,.quiz-intro>p:last-child{margin-bottom:1rem}.memory-grid{gap:1.2rem}}@media (width<=680px){.hero{min-height:auto}.nav-shell{min-height:4.8rem}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:3.5rem 0 2rem}.hero-copy{z-index:2;position:relative}.hero h1{font-size:clamp(4rem,19vw,6.2rem)}.hero h1 span{width:auto;max-width:18rem}.hero-visual{justify-self:center;width:min(92%,27rem);margin:1rem auto 0;padding-right:1rem}.date-card{width:7rem}.date-card strong{font-size:3rem}.memory-section,.quiz-section,.finale{padding-left:1rem;padding-right:1rem}.section-heading{margin-bottom:3rem}.section-heading h2{font-size:3rem}.memory-grid{grid-template-columns:1fr;gap:3.4rem}.memory-card{margin-top:0}.photo-strip{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-template-columns:repeat(6,72vw);margin-right:-1rem;padding-bottom:.65rem;padding-right:1rem;overflow-x:auto}.photo-strip figure{scroll-snap-align:start}.quiz-intro h2{font-size:3.5rem}.quiz-shell{border-radius:1rem}.question-card{min-height:39rem;padding:2rem 1.2rem}.question-card h3{font-size:2.35rem}.options-grid{grid-template-columns:1fr;margin-top:2rem}.option-button{min-height:4.1rem}.answer-note{min-height:5.5rem}.letter-wrap h2{font-size:3.7rem}.letter-wrap .kicker{justify-content:flex-start}.letter-wrap h2{text-align:left}.letter-text{margin-top:3.5rem}footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
