@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap";:root{--color-bg:#fbf8f3;--color-surface:#fffdfa;--color-primary:#a44559;--color-accent:#a44559;--color-text-dark:#382e30;--color-text-muted:#786b6b;--color-border:#e8ded6;--glass-bg:var(--color-surface);--glass-border:var(--color-border);--color-glass-bg:#f5e9e6;--color-glass-border:var(--color-border);--font-primary:"DM Sans",sans-serif;--font-heading:"Playfair Display",Georgia,serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body.dark-mode{--color-bg:#211c20;--color-surface:#2d252b;--color-primary:#efa7b7;--color-accent:#efa7b7;--color-text-dark:#f6ece7;--color-text-muted:#c1afb6;--color-border:#51414a;--color-glass-bg:#413039;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--color-bg);color:var(--color-text-dark);font-family:var(--font-primary);line-height:1.7}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.2}button,a,input{-webkit-tap-highlight-color:transparent}button,.button-link{font:500 .9rem var(--font-primary);color:#fff;cursor:pointer;background:#a44559;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:16px;padding:15px 27px;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}button:hover,.button-link:hover{background:#88384a;transform:translateY(-2px)}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}a{color:inherit}img{max-width:100%}.museum-frame,.glass-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:32px;box-shadow:0 12px 35px #382e3005}::selection{color:#382e30;background:#eed0d5}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.museum-container{flex-direction:column;width:100%;display:flex}.museum-section{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:4rem 2rem;display:flex}.museum-section>section{width:100%;max-width:1200px;margin:auto}@keyframes fadeInSlideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:1s ease-out forwards fadeInSlideRight}.hero-split-container{grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;width:100%;max-width:1180px;margin:auto;padding:75px 32px 0;display:grid}.hero-text-side{padding-bottom:28px}.eyebrow{letter-spacing:2.3px;color:var(--color-primary);align-items:center;gap:12px;margin-bottom:28px;font-size:10px;font-weight:600;display:flex}.eyebrow span{background:currentColor;width:23px;height:1px}.hero-title{letter-spacing:-2px;font-size:clamp(3.3rem,5.4vw,5.1rem);line-height:1.14;position:relative}.hero-title em{color:var(--color-primary);font-weight:400}.hero-star{color:#b39458;vertical-align:top;margin-left:22px;font-size:48px;display:inline-block}.hero-subtitle{color:var(--color-text-muted);margin:27px 0 30px;font-size:15px;line-height:1.9}.hero-footnote{color:var(--color-text-muted);margin-top:17px;font-size:11px}.hero-image-side{padding:0 36px 0 22px;position:relative}.image-frame{background:var(--color-surface);border:1px solid var(--color-border);padding:12px 12px 0;transform:rotate(4deg);box-shadow:0 20px 45px #49372d16}.image-frame img{object-fit:cover;object-position:center 35%;width:100%;height:410px;display:block}.image-frame figcaption{font-family:var(--font-heading);text-align:center;padding:16px 0 19px;font-size:17px;font-style:italic}.image-frame figcaption span{color:var(--color-primary);margin-left:12px}.photo-sparkle{color:#b39458;font-size:66px;position:absolute;top:-36px;left:-10px}.photo-stamp{text-align:center;color:#874557;width:94px;height:94px;font-family:var(--font-heading);background:#f1dce0;border:1px dashed #bb7887;border-radius:50%;outline:7px solid #f1dce0;place-content:center;font-style:italic;line-height:1.4;display:grid;position:absolute;bottom:70px;right:0;transform:rotate(12deg)}.hero-bottom{border-top:1px solid var(--color-border);color:var(--color-text-muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;margin-top:25px;padding:27px 0;font-size:11px;display:flex}.hero-bottom>span:first-child{letter-spacing:2px;font-size:9px}.hero-bottom a{font-size:22px;text-decoration:none}@media (width<=700px){.hero-split-container{grid-template-columns:1fr;gap:26px;padding:46px 24px 0}.hero-text-side{text-align:center;padding:0}.eyebrow{letter-spacing:1.5px;justify-content:center;font-size:9px}.hero-title{letter-spacing:-1px;font-size:clamp(2.7rem,10vw,4rem)}.hero-star{margin-left:10px;font-size:30px}.hero-image-side{width:min(100%,400px);margin:10px auto 0;padding:0 22px}.image-frame img{height:330px}.photo-sparkle{font-size:45px;left:0}.hero-bottom{margin-top:0}.hero-bottom>span:nth-child(2),.desktop-break{display:none}}.section-title{text-align:center;color:var(--color-primary);margin-bottom:3rem;font-size:4rem;font-style:italic}.timeline{grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.memory-card{border-radius:24px;flex-direction:column;align-items:stretch;width:100%;display:flex;overflow:hidden}.memory-image-container{width:100%;height:420px;overflow:hidden}.memory-image{object-fit:cover;width:100%;height:100%;transition:transform .8s}.memory-card:hover .memory-image{transform:scale(1.05)}.memory-content{flex-direction:column;flex:1;justify-content:center;padding:1.8rem;display:flex}.memory-date{text-transform:uppercase;letter-spacing:2px;color:var(--color-accent);margin-bottom:.8rem;font-size:.85rem}.memory-content p{color:var(--color-text-muted);font-size:.95rem;line-height:1.6}.next-section-btn{text-align:center;margin-top:4rem}@media (width<=768px){.timeline{grid-template-columns:1fr}}.gallery-container{max-width:1400px;margin:0 auto;padding:4rem 2rem}.gallery-item{break-inside:avoid;border-radius:20px;width:100%;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.gallery-img{object-fit:cover;filter:brightness(.9)contrast(1.05);width:100%;transition:transform 1.2s cubic-bezier(.165,.84,.44,1),filter 1.2s;display:block}@media (width<=1200px){.gallery-grid{column-count:3}}@media (width<=900px){.gallery-grid{column-count:2;column-gap:1.5rem}.gallery-item{margin-bottom:1.5rem}}@media (width<=500px){.gallery-grid{column-count:1}}.quiz-container{flex-direction:column;align-items:center;max-width:800px;margin:0 auto;padding:4rem 2rem;display:flex}.quiz-panel{flex-direction:column;justify-content:center;width:100%;min-height:400px;padding:3rem;display:flex}.question-count{color:var(--color-accent);margin-bottom:20px;font-size:1.2rem}.question-count span{font-size:2rem;font-family:var(--font-heading);font-weight:700}.question-text{font-size:1.8rem;font-family:var(--font-heading);margin-bottom:2rem}.answer-section{flex-direction:column;gap:1rem;display:flex}.answer-btn{text-align:left;border:1px solid var(--color-glass-border);width:100%;box-shadow:none;background:#ffffff0d;padding:1rem 1.5rem;font-size:1.1rem;transition:all .3s}.answer-btn.correct{background:#2ecc7199;border-color:#2ecc71}.answer-btn.incorrect{background:#e74c3c99;border-color:#e74c3c}.score-section{text-align:center;animation:.5s ease-in fadeIn}.score-section h3{color:var(--color-accent);margin-bottom:1rem;font-size:2.5rem}.score-message{margin-bottom:2rem;font-size:1.2rem}.next-btn{margin-top:2rem}.minigame-container{text-align:center;max-width:600px;margin:0 auto;padding:4rem 2rem}.grid-container{perspective:1000px;grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.card{aspect-ratio:1;cursor:pointer;transition:transform .2s;position:relative}.card:hover{transform:scale(1.05)}.card-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{backface-visibility:hidden;border-radius:15px;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;display:flex;position:absolute}.card-front{background:var(--color-glass-bg);border:2px solid var(--color-glass-border)}.card-back{border:2px solid var(--color-primary);background:#fff3;transform:rotateY(180deg)}.win-screen{padding:4rem;animation:1s ease-in fadeIn}.win-screen h2{color:var(--color-accent);margin-bottom:1rem;font-size:3rem}.win-screen p{margin-bottom:2rem;font-size:1.5rem}@media (width<=500px){.grid-container{grid-template-columns:repeat(2,1fr)}}.scramble-container{flex-direction:column;align-items:center;gap:1.5rem;width:100%;display:flex}.scramble-subtitle{color:var(--color-text-muted);text-align:center;margin-bottom:1.5rem;font-size:1.2rem}.scramble-card{background-color:var(--color-surface);border-radius:16px;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:500px;padding:2.5rem;display:flex}.scramble-progress{color:var(--color-accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.9rem}.scramble-display{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.scramble-letter{background:var(--color-bg);border:2px solid var(--color-border);width:3rem;height:3.5rem;color:var(--color-primary);text-transform:uppercase;border-radius:8px;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #0000000d}.scramble-hint{color:var(--color-text-dark);text-align:center;margin-bottom:1rem;font-size:1rem;font-style:italic}.scramble-form{flex-direction:column;gap:1rem;width:100%;display:flex}.scramble-input{text-align:center;border:2px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text-dark);border-radius:8px;padding:1rem;font-size:1.2rem;transition:all .2s}.scramble-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #ff9a9e33}.scramble-input.error{background-color:#ffeaea;border-color:#ff5252}.scramble-input.correct{color:#2e7d32;background-color:#e8f5e9;border-color:#4caf50}.check-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:1rem;font-size:1.1rem;transition:background .2s,transform .1s}.check-btn:hover:not(:disabled){background:#ff7e84}.check-btn:active:not(:disabled){transform:scale(.98)}.check-btn:disabled{background:var(--color-border);cursor:not-allowed;opacity:.7}.error-message{color:#ff5252;margin-top:-.5rem;font-size:.9rem}.scramble-win{text-align:center;max-width:450px;padding:3rem 2rem}.scramble-win .win-emoji{margin-bottom:1rem;font-size:4rem}.scramble-win h3{color:var(--color-primary);margin-bottom:1rem;font-size:2rem}.scramble-win p{color:var(--color-text-muted);margin-bottom:2rem}.scramble-controls{margin-top:2rem}@media (width<=500px){.scramble-letter{width:2.2rem;height:2.8rem;font-size:1.5rem}}.secondgame-container{text-align:center;max-width:800px;margin:0 auto;padding:4rem 2rem}.game-area{flex-direction:column;justify-content:center;align-items:center;height:500px;display:flex;position:relative;overflow:hidden}.start-screen p{margin-bottom:2rem;font-size:1.5rem}.score-board{color:var(--color-accent);z-index:10;background:#0000004d;border-radius:20px;padding:10px 20px;font-size:1.5rem;font-weight:700;position:absolute;top:20px;right:20px}.playing-area{width:100%;height:100%;position:relative}.falling-heart{cursor:pointer;font-size:3rem;transition:transform .1s;animation-name:fallDown;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-50px}.falling-heart:active{transform:scale(.8)}@keyframes fallDown{0%{top:-50px;transform:rotate(0)}to{top:600px;transform:rotate(360deg)}}.crossword-container{text-align:center;max-width:1200px;margin:0 auto;padding:4rem 2rem}.crossword-subtitle{color:var(--color-text-muted);margin-top:-1rem;margin-bottom:2.5rem;font-size:1.2rem;font-style:italic}.crossword-layout{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:2.5rem;display:flex}.crossword-grid-wrapper{overflow-x:auto}.crossword-grid{gap:3px;width:fit-content;margin:0 auto;display:grid}.crossword-cell{border-radius:4px;width:38px;height:38px;position:relative}.crossword-cell.blank{background:0 0}.crossword-cell.active{background:#fff;border:2px solid #ff9a9e;box-shadow:0 2px 6px #ff9a9e33}.crossword-cell.hint{cursor:default;background:linear-gradient(135deg,#ffe0f0,#ffd6e8);border:2px solid #ff9a9e}.crossword-cell.hint .cell-input{color:#c2185b;cursor:default;font-weight:800}.crossword-cell.correct{background:#d4f8d4;border-color:#57b657}.crossword-cell.wrong{background:#ffe0e0;border-color:#e55}body.dark-mode .crossword-cell.active{background:#1e1432e6;border-color:#8a2be2b3}body.dark-mode .crossword-cell.correct{background:#1e501ecc;border-color:#4c4}.cell-number{color:#ff747a;pointer-events:none;z-index:1;font-size:.55rem;font-weight:700;line-height:1;position:absolute;top:2px;left:3px}body.dark-mode .cell-number{color:#c87eff}.cell-input{text-align:center;width:100%;height:100%;font-size:1rem;font-weight:700;font-family:var(--font-primary);color:var(--color-text-dark);text-transform:uppercase;cursor:pointer;caret-color:#0000;box-shadow:none;background:0 0;border:none;outline:none;padding:0}.crossword-clues{text-align:left;background:#ffffffd9;border:2px solid #ff9a9e;border-radius:20px;min-width:280px;max-width:340px;padding:1.8rem;box-shadow:0 8px 20px #ff9a9e26}body.dark-mode .crossword-clues{background:#140f23d9;border-color:#8a2be280}.clues-section{margin-bottom:1.5rem}.clues-section h4{color:#ff747a;text-transform:uppercase;letter-spacing:1px;margin-bottom:.8rem;font-size:1rem;font-weight:700}body.dark-mode .clues-section h4{color:#c87eff}.clues-section ul{margin:0;padding:0;list-style:none}.clues-section li{color:var(--color-text-dark);border-bottom:1px solid #ff9a9e33;padding:.4rem 0;font-size:.88rem;line-height:1.4}.clues-section li:last-child{border-bottom:none}.reveal-btn{width:100%;margin-top:1rem;color:#ff747a!important;box-shadow:none!important;background:#ff9a9e26!important;border:2px solid #ff9a9e!important;padding:10px 20px!important;font-size:.9rem!important}.reveal-btn:hover{background:#ff9a9e4d!important;transform:translateY(-2px)!important}.next-btn{width:100%;margin-top:.6rem;padding:10px 20px!important;font-size:.9rem!important}.crossword-win{text-align:center;max-width:500px;margin:0 auto;padding:4rem 3rem}.win-emoji{margin-bottom:1rem;font-size:4rem;animation:.5s cubic-bezier(.68,-.55,.27,1.55) popIn}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.crossword-win h3{color:#ff747a;margin-bottom:1rem;font-size:2rem}.crossword-win p{color:var(--color-text-muted);margin-bottom:2rem;font-size:1.2rem}.win-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=768px){.crossword-cell{width:28px;height:28px}.cell-input{font-size:.85rem}.crossword-layout{flex-direction:column;align-items:center;gap:1.5rem}.crossword-clues{width:100%;max-width:100%;padding:1.2rem}.crossword-container{padding:2rem 1rem}}@media (width<=500px){.crossword-cell{width:21px;height:21px}.cell-input{font-size:.7rem}.cell-number{font-size:.45rem;top:1px;left:1px}.crossword-grid-wrapper{-webkit-overflow-scrolling:touch;width:100%;padding-bottom:15px;overflow-x:auto}}.jar-container{text-align:center;position:relative}.jar-subtitle{color:var(--color-text-dark);opacity:.8;margin-bottom:2rem;font-size:1.2rem}.jar-frame{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex;position:relative;overflow:hidden}.magic-jar{cursor:pointer;width:150px;height:200px;margin-bottom:2rem;transition:transform .3s;position:relative}.magic-jar:hover{transform:scale(1.05)}.jar-lid{background:#c89664cc;border:2px solid #fff6;border-radius:10px 10px 5px 5px;width:130px;height:30px;margin:0 auto;box-shadow:inset 0 2px 5px #ffffff80}.jar-body{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff4d;border:3px solid #fff9;border-radius:20px 20px 40px 40px;width:150px;height:170px;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #ffffff80,0 10px 20px #0000001a}.jar-label{color:#ff9a9e;white-space:nowrap;pointer-events:none;background:#ffffffe6;border-radius:5px;padding:5px 15px;font-size:.9rem;font-weight:700;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0000001a}.paper-pile{filter:blur(1px);background-color:#0000;background-image:linear-gradient(45deg,#0000 40%,#ffc8c899 45%,#0000 50%),linear-gradient(-45deg,#0000 30%,#c8ffc899 35%,#0000 40%),linear-gradient(15deg,#0000 20%,#c8c8ff99 25%,#0000 30%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;height:100px;position:absolute;bottom:-20px;left:-20px;right:-20px}.shake{animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)translateY(-5px)}50%{transform:rotate(10deg)translateY(0)}75%{transform:rotate(-5deg)translateY(-2px)}}@keyframes popUp{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-pop-up{animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards popUp}.note-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#fff6;border-radius:30px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.unfolded-note{color:#333;background:#fffdf5 linear-gradient(#f0f0f0 1px,#0000 1px) 0 0/100% 2rem;border-radius:5px;width:80%;max-width:400px;padding:3rem;font-family:Outfit,sans-serif;line-height:2rem;position:relative;box-shadow:0 10px 30px #00000026}.unfolded-note:before{content:"";background:#ff64644d;width:2px;position:absolute;top:0;bottom:0;left:30px}.note-text{margin:0;padding-left:20px;font-size:1.2rem;font-style:italic;font-weight:500}.close-note{color:#999;cursor:pointer;width:30px;height:30px;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;display:flex;position:absolute;top:10px;right:10px}.close-note:hover{color:#ff9a9e;box-shadow:none;background:0 0;transform:none}.letters-container{max-width:900px;margin:0 auto;padding:4rem 2rem}.letter-frame{background:var(--color-surface);text-align:left;padding:6rem}.salutation{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:3rem;font-size:2rem}.letter-body p{color:var(--color-text-dark);margin-bottom:2rem;font-size:1.2rem;line-height:2.2}.sign-off{margin-top:4rem;font-size:1.2rem;font-style:italic}.signature{font-family:var(--font-heading);color:var(--color-accent);margin-top:1rem;font-size:2.5rem}@media (width<=768px){.letter-frame{padding:3rem}}.password-frame{text-align:center;background:var(--color-surface);max-width:450px;margin:0 auto;padding:3rem 2rem}.lock-icon{margin-bottom:1rem;font-size:3rem}.password-frame h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.8rem}.password-frame p{color:var(--color-text-muted);margin-bottom:2rem}.password-form{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.password-input{text-align:center;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text-dark);letter-spacing:.5rem;border-radius:8px;padding:1rem;font-size:1.2rem;transition:all .3s}.password-input:focus{border-color:var(--color-primary);outline:none}.password-input.error{background-color:#ffeaea;border-color:#ff5252}.unlock-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:1rem;font-size:1.1rem;transition:background .3s}.unlock-btn:hover{background:#ff7e84}.password-error{font-size:.9rem;color:#ff5252!important;margin-bottom:1rem!important}.password-hint{font-style:italic;margin-bottom:0!important;font-size:.85rem!important}.final-container{text-align:center;justify-content:center;align-items:center;min-height:80vh;padding:4rem 2rem;display:flex}.final-panel{max-width:800px;padding:4rem}.final-title{color:var(--color-primary);margin-bottom:2rem;font-size:4rem;animation:2s infinite pulse}.final-text{margin-bottom:3rem;font-size:1.5rem;line-height:1.8}.final-signature{font-size:2rem;font-family:var(--font-heading);color:var(--color-accent);font-style:italic}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.site-header{border-bottom:1px solid var(--color-border);align-items:center;gap:24px;width:100%;max-width:1180px;margin:auto;padding:24px 32px;display:flex}.brand{font:21px var(--font-heading);white-space:nowrap;text-decoration:none}.brand>span:first-child{color:var(--color-primary);margin-right:9px;font-family:Georgia,serif;font-size:26px}.brand-dot{color:var(--color-primary)}.site-header nav{gap:30px;margin-left:auto;display:flex}.site-header nav a{color:var(--color-text-muted);font-size:12px;text-decoration:none}.site-header nav a:hover{color:var(--color-primary)}.theme-toggle-btn{border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-dark);background:0 0;border-radius:50%;padding:0;font-size:21px}.theme-toggle-btn:hover{background:var(--color-glass-bg)}.skip-link{z-index:100;background:var(--color-surface);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.museum-section{border-top:1px solid var(--color-border);min-height:0;padding:80px 32px}.museum-section:nth-child(2n){background:var(--color-surface)}.museum-section>section{max-width:1060px;padding:0}.museum-section .section-title{letter-spacing:-.8px;margin:0 0 38px;font-size:clamp(2rem,3.5vw,3rem);font-style:normal}.museum-section .section-title:before{content:"A LITTLE PIECE OF US";font:500 9px var(--font-primary);letter-spacing:2.5px;color:var(--color-text-muted);margin-bottom:18px;display:block}.timeline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.memory-card,.memory-card:nth-child(2n){border-radius:7px;flex-direction:column;align-items:stretch;gap:0;padding:10px;display:flex}.memory-image-container{border-radius:3px;flex:none;width:100%;height:220px}.memory-content{justify-content:flex-start;padding:25px 15px 20px}.memory-content h3{margin-bottom:12px;font-size:23px}.memory-content p{color:var(--color-text-muted);font-size:13px}.memory-content .memory-date{letter-spacing:1.5px;color:var(--color-primary);margin-bottom:13px;font-size:9px}.next-section-btn{margin-top:36px}.gallery-grid{column-count:4;column-gap:18px;padding:0}.gallery-item{box-shadow:none;border-radius:5px;margin-bottom:18px}.gallery-img{filter:none}.gallery-item:hover .gallery-img{filter:none;transform:scale(1.025)}.museum-section>.quiz-container,.museum-section>.minigame-container,.museum-section>.secondgame-container,.museum-section>.bucket-container,.museum-section>.jar-container,.museum-section>.playlist-container{max-width:700px}.quiz-panel{min-height:0;padding:32px}.question-count,.question-count span{font:500 12px var(--font-primary)}.question-text{font-size:25px}.answer-section{grid-template-columns:1fr 1fr;gap:12px;display:grid}.answer-btn{color:var(--color-text-dark);border:1px solid var(--color-border);background:var(--color-bg);justify-content:flex-start;padding:16px;font-size:14px}.answer-btn:hover:not(:disabled){background:var(--color-glass-bg);transform:none}.answer-btn.correct{color:#205435;background:#d9eedf;border-color:#59946d}.answer-btn.incorrect{color:#802d29;background:#f8dedc;border-color:#ba6862}.grid-container{gap:14px;max-width:520px;margin:auto}.card{box-shadow:none;background:0 0;border:0;border-radius:10px;padding:0;display:block}.card:hover{background:0 0}.card-front,.card-back{border-radius:10px;padding:0}.card-front{background:var(--color-glass-bg);color:var(--color-primary)}.win-screen{padding:30px}.win-screen h2,.score-section h3{font-size:30px}.win-screen p{font-size:16px}.game-area{height:400px;padding:0}.start-screen{padding:24px}.start-screen p{font-size:18px}.score-board{background:var(--color-surface);border:1px solid var(--color-border);font-size:13px}.falling-heart{width:48px;height:48px;box-shadow:none;background:0 0;border:0;padding:0;font-size:32px}.falling-heart:hover{background:0 0}.playlist-subtitle,.bucket-subtitle{margin:-20px 0 30px;font-size:14px;font-style:normal}.jar-subtitle{margin-top:-20px;font-size:14px}.playlist-frame,.bucket-frame{padding:32px}.spotify-placeholder h3{font-size:26px}.spotify-placeholder p{color:var(--color-text-muted);font-size:14px}.vinyl-record{animation:none;box-shadow:0 8px 20px #0002}.bucket-item{gap:18px;padding:19px 0}.item-text{font-size:15px}.checkbox{border-radius:50%;width:24px;height:24px}.magic-jar{background:0 0;border:0;border-radius:0;padding:0;display:block}.magic-jar:hover{background:0 0}.jar-label{color:#994357}.jar-body{border-color:var(--color-border)}.close-note{min-width:32px;min-height:32px}.museum-section>.letters-container{max-width:780px}.letter-frame{padding:50px}.salutation{margin-bottom:24px}.letter-body p{margin-bottom:22px;font-size:16px;line-height:2}.sign-off{margin-top:30px}.signature{font-size:27px}.final-container{min-height:0}.final-panel{box-shadow:none;background:0 0;border:0;padding:25px}.final-title{font-size:clamp(2.5rem,5vw,4rem);animation:none}.final-text{font-size:17px;line-height:1.9}.final-signature{font-size:23px}.site-footer{border-top:1px solid var(--color-border);width:calc(100% - 64px);max-width:1116px;color:var(--color-text-muted);justify-content:space-between;gap:20px;margin:auto;padding:25px 0;font-size:11px;display:flex}.site-footer a{text-decoration:none}@media (width<=800px){.timeline{gap:15px}.memory-image-container{height:200px}.memory-content{padding:20px 8px}.memory-content h3{font-size:21px}.gallery-grid{column-count:3}}@media (width<=600px){.site-header{flex-wrap:wrap;gap:12px;padding:18px 20px}.brand{font-size:20px}.theme-toggle-btn{margin-left:auto}.site-header nav{order:3;justify-content:center;gap:30px;width:100%;padding-top:9px}.museum-section{padding:55px 22px}.timeline{grid-template-columns:1fr;gap:24px}.memory-image-container{height:220px}.memory-content{text-align:left;padding:22px 16px}.gallery-grid{column-count:2;column-gap:12px}.gallery-item{margin-bottom:12px}.answer-section{grid-template-columns:1fr}.quiz-panel,.bucket-frame,.playlist-frame{padding:22px}.grid-container{grid-template-columns:repeat(3,1fr);gap:9px}.letter-frame{padding:28px 23px}.unfolded-note{width:90%;padding:35px 20px}.site-footer{text-align:center;flex-direction:column;gap:10px}.final-panel{padding:0}}@media (prefers-reduced-motion:reduce){.falling-heart{animation:8s linear forwards fallDown!important}}
