body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.welcome-page{align-items:center;background:linear-gradient(135deg,#ff9a8b,#a8e6cf);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;justify-content:center;opacity:1;overflow:hidden;position:relative;transform:translateX(0);transition:all .6s cubic-bezier(.25,.46,.45,.94)}.welcome-page.transitioning{opacity:0;transform:translateX(-100vw)}.ribbon-container{height:100%;pointer-events:none;position:absolute;width:100%}.ribbon{background:linear-gradient(45deg,#ff6b6b,#ee5a24);height:40px;position:absolute;transform-origin:center;width:200px}.ribbon:before{border-style:solid;content:"";height:0;position:absolute;width:0}.ribbon-top-left{left:-50px;transform:rotate(-45deg)}.ribbon-top-left,.ribbon-top-right{box-shadow:0 4px 8px #0003;top:50px}.ribbon-top-right{right:-50px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:50px;box-shadow:0 4px 8px #0003;left:-50px;transform:rotate(45deg)}.ribbon-bottom-right{bottom:50px;box-shadow:0 4px 8px #0003;right:-50px;transform:rotate(-45deg)}.welcome-content{text-align:center;z-index:10}.birthday-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#fce4ec 25%,#f8bbd9 60%,#f48fb1);border:3px solid #ffffff4d;border-radius:30px;box-shadow:0 20px 40px #00000026;margin:0 auto;max-width:500px;padding:60px 40px}.birthday-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffeb3b,#ff9800);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;margin-bottom:20px;text-shadow:2px 2px 4px #0000004d}.birthday-name{color:#2c2c54;font-family:Times New Roman,Times,serif;font-size:3.5rem;font-weight:700;margin-bottom:30px;text-shadow:2px 2px 4px #0000001a}.birthday-decoration{display:flex;font-size:2.5rem;gap:20px;justify-content:center;margin:30px 0}.balloon,.cake{animation:bounce 2s infinite;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))}.balloon:first-child{animation-delay:0s}.cake{animation-delay:.5s}.balloon:nth-child(3){animation-delay:1s}.birthday-subtitle{color:#666;font-family:Times New Roman,Times,serif;font-size:1.3rem;font-weight:500;margin-bottom:40px}.enter-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 8px 20px #667eea4d;color:#fff;cursor:pointer;font-size:1.4rem;font-weight:600;letter-spacing:1px;padding:24px 48px;text-transform:uppercase;transition:all .3s ease}.enter-button:hover{box-shadow:0 12px 30px #667eea66;transform:translateY(-3px)}.enter-button:active{transform:translateY(-1px)}.confetti-container{height:100%;overflow:hidden;pointer-events:none;position:absolute;width:100%}.confetti{animation:confetti-fall 3s linear infinite;font-size:1.5rem;position:absolute}.confetti-1{animation-delay:0s;left:5%}.confetti-2{animation-delay:.5s;left:15%}.confetti-3{animation-delay:1s;left:25%}.confetti-4{animation-delay:1.5s;left:35%}.confetti-5{animation-delay:2s;left:45%}.confetti-6{animation-delay:.3s;left:55%}.confetti-7{animation-delay:.8s;left:65%}.confetti-8{animation-delay:1.3s;left:75%}.confetti-9{animation-delay:1.8s;left:85%}.confetti-10{animation-delay:2.3s;left:95%}.confetti-11{animation-delay:.7s;left:10%}.confetti-12{animation-delay:1.2s;left:20%}.confetti-13{animation-delay:1.7s;left:30%}.confetti-14{animation-delay:2.2s;left:40%}.confetti-15{animation-delay:.1s;left:50%}.confetti-16{animation-delay:.6s;left:60%}.confetti-17{animation-delay:1.1s;left:70%}.confetti-18{animation-delay:1.6s;left:80%}.confetti-19{animation-delay:2.1s;left:90%}.confetti-20{animation-delay:.4s;left:12%}@keyframes confetti-fall{0%{top:-10%;transform:rotate(0deg)}to{top:110%;transform:rotate(1turn)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.final-card-content{align-items:center;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.final-message{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border:3px solid #fff6;border-radius:30px;box-shadow:0 25px 50px #0003;height:70%;margin:0 auto;max-width:800px;overflow-y:auto;padding:80px 60px;position:relative;text-align:center;width:60%;z-index:10}.final-decoration{display:flex;font-size:3rem;gap:30px;justify-content:center;margin:25px 0}.gift,.heart,.sparkle,.star{animation:pulse 2s infinite;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))}.star:first-child{animation-delay:0s}.heart{animation-delay:.3s}.star:nth-child(3){animation-delay:.6s}.sparkle:first-child{animation-delay:.1s}.gift{animation-delay:.4s}.sparkle:nth-child(3){animation-delay:.7s}.final-title{-webkit-text-fill-color:#0000;animation:glow 3s infinite alternate;background:linear-gradient(135deg,#ff6b6b,#ee5a24,#feca57,#ff9ff3);-webkit-background-clip:text;background-clip:text;font-size:5.5rem;font-weight:800;margin-bottom:20px}.final-subtitle,.final-title{font-family:Times New Roman,Times,serif;text-shadow:2px 2px 4px #0000001a}.final-subtitle{animation:fadeInUp 1s ease-out;color:#2c2c54;font-size:4.5rem;font-weight:700;margin-bottom:40px}.wish-separator{animation:twinkle 2s infinite;font-size:2.5rem;margin:40px 0}.final-wish{-webkit-text-fill-color:#0000;animation:slideInLeft 1.2s ease-out;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:600;margin-bottom:40px;text-shadow:1px 1px 2px #0000001a}.final-note,.final-wish{font-family:Times New Roman,Times,serif}.final-note{animation:fadeIn 2s ease-out;color:#666;font-size:1.4rem;font-style:italic;font-weight:500;margin-top:40px}.floating-hearts{height:100%;overflow:hidden;pointer-events:none;position:absolute;width:100%}.floating-heart{animation:float-up 4s linear infinite;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.2));font-size:1.8rem;position:absolute}.heart-1{animation-delay:0s;left:5%}.heart-2{animation-delay:.8s;left:15%}.heart-3{animation-delay:1.6s;left:25%}.heart-4{animation-delay:2.4s;left:35%}.heart-5{animation-delay:3.2s;left:45%}.heart-6{animation-delay:.4s;left:55%}.heart-7{animation-delay:1.2s;left:65%}.heart-8{animation-delay:2s;left:75%}.heart-9{animation-delay:2.8s;left:85%}.heart-10{animation-delay:3.6s;left:95%}.heart-11{animation-delay:1s;left:10%}.heart-12{animation-delay:1.8s;left:30%}.heart-13{animation-delay:2.6s;left:50%}.heart-14{animation-delay:3.4s;left:70%}.heart-15{animation-delay:.2s;left:90%}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes glow{0%{filter:brightness(1) saturate(1)}to{filter:brightness(1.2) saturate(1.3)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}@keyframes float-up{0%{bottom:-10%;opacity:0;transform:translateX(0) rotate(0deg)}10%{opacity:1}90%{opacity:1}to{bottom:110%;opacity:0;transform:translateX(20px) rotate(1turn)}}.App{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;overflow:hidden;position:relative}.card-indicator{display:flex;gap:24px;left:50%;position:fixed;top:10%;transform:translateX(-50%);z-index:1000}.indicator-dot{background:#fff6;border:none;border-radius:50%;cursor:pointer;height:16px;transition:all .3s ease;width:16px}.indicator-dot.active{background:#fff;transform:scale(1.2)}.indicator-dot:hover{background:#ffffffb3}.nav-arrow{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 8px 20px #00000026;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;top:50%;transform:translateY(-50%);transition:all .3s ease;width:60px;z-index:1000}.nav-arrow:hover{background:#fff;box-shadow:0 12px 30px #00000040;transform:translateY(-50%) scale(1.1)}.nav-arrow:active{transform:translateY(-50%) scale(.95)}.nav-arrow-left{left:30px}.nav-arrow-right{right:30px}.nav-arrow span{color:#333;font-size:28px;font-weight:700;line-height:1}.card-container,.nav-arrow span{-webkit-user-select:none;user-select:none}.card-container{cursor:grab;display:flex;height:100vh;opacity:1;transform:translateX(0);transition:all .6s cubic-bezier(.25,.46,.45,.94);width:400vw}.card-container.entering{opacity:0;transform:translateX(100vw)}.card-container.entered{opacity:1;transform:translateX(0)}.card-container:active{cursor:grabbing}.card-container.direct-jump{opacity:.3}.card{align-items:center;display:flex;flex-shrink:0;height:100vh;justify-content:center;position:relative;width:100vw}.card:first-child{background:linear-gradient(135deg,#ff9a8b,#a8e6cf)}.card:nth-child(2){background:linear-gradient(135deg,#e3f2fd,#bbdefb 50%,#90caf9)}.card:nth-child(3){background:linear-gradient(135deg,#e3f2fd,#f8bbd9 50%,#ffcdd2)}.card:nth-child(4){background:linear-gradient(135deg,#a8edea,#fed6e3)}.card-content{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f8f9faf2;border-radius:25px;box-shadow:0 25px 50px #00000026;display:flex;flex-direction:column;height:70%;justify-content:center;max-width:800px;overflow-y:auto;padding:60px 50px;text-align:center;width:60%}.card-title{color:#333;font-family:SimSun,宋体,NSimSun,serif;font-size:4rem;font-weight:700;margin-bottom:50px;text-shadow:2px 2px 4px #0000001a}.books-list{display:flex;flex:1 1;flex-direction:column;gap:25px;justify-content:center}.book-item{display:flex;flex-direction:column;gap:10px}.book-link{color:inherit;text-decoration:none;transition:transform .3s ease}.book-link:hover{transform:translateY(-5px)}.book-card{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e3f2fd 50%,#fff3e0);border-radius:18px;box-shadow:0 12px 30px #0000002e;cursor:pointer;display:flex;gap:20px;justify-content:space-between;padding:25px;transition:all .3s ease}.book-card:hover{box-shadow:0 18px 40px #00000047;transform:scale(1.02)}.book-info{flex:1 1;text-align:left}.book-card h3{color:#333;font-family:KaiTi,楷体,STKaiti,BiauKai,serif;font-size:1.6rem;font-weight:600;margin:0;text-shadow:none}.book-cover{border-radius:10px;box-shadow:0 6px 18px #00000059;flex-shrink:0;height:100px;overflow:hidden;width:75px}.cover-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.book-card:hover .cover-image{transform:scale(1.05)}.book-recommendation{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:2px solid #f093fb;border-radius:12px;box-shadow:0 12px 25px #0003;max-height:200px;opacity:0;overflow-y:auto;padding:15px;pointer-events:none;position:absolute;right:0;top:-15px;transform:translateY(10px);transition:all .3s ease;visibility:hidden;width:336px;z-index:1000}.book-link:hover .book-recommendation{opacity:1;transform:translateY(0);visibility:visible}.book-recommendation h5{border-bottom:1px solid #f093fb;color:#f093fb;font-size:1rem;font-weight:700;margin-bottom:8px;padding-bottom:5px;text-align:center}.book-recommendation p{color:#555;font-size:1rem;line-height:1.5;margin:0;text-align:left}.personal-experience-container{display:flex;justify-content:flex-end;margin-top:10px;position:relative}.personal-experience-trigger{background:#fff;border:1px solid #ddd;border-radius:20px;box-shadow:0 6px 15px #0003;color:#000;cursor:pointer;font-family:SimSun,宋体,NSimSun,serif;font-size:.95rem;font-weight:600;padding:8px 20px;transition:all .3s ease}.personal-experience-trigger:hover{background:#f8f8f8;box-shadow:0 10px 25px #0000004d;transform:translateY(-2px)}.hover-tip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border:2px solid #f093fb;border-radius:15px;bottom:60px;box-shadow:0 15px 35px #00000040;max-height:400px;opacity:0;overflow-y:auto;padding:20px;position:absolute;right:0;transform:translateY(10px);transition:all .3s ease;visibility:hidden;width:350px;z-index:1000}.hover-tip:hover,.personal-experience-trigger:hover+.hover-tip{opacity:1;transform:translateY(0);visibility:visible}.hover-tip h4{border-bottom:2px solid #f093fb;color:#333;font-family:SimSun,宋体,NSimSun,serif;font-size:1.2rem;font-weight:700;margin-bottom:15px;padding-bottom:8px}.hover-tip ul{list-style:none;margin:0;padding:0;text-align:left}.hover-tip li{color:#555;font-family:SimSun,宋体,NSimSun,serif;font-size:.9rem;line-height:1.5;margin-bottom:8px;padding-left:15px;position:relative;text-align:left}.hover-tip li:before{color:#f093fb;content:"•";font-weight:700;left:0;position:absolute}.hover-tip .category-title{border-left:3px solid #f093fb;color:#f093fb;font-family:SimSun,宋体,NSimSun,serif;font-size:1rem;font-weight:600;margin:15px 0 8px;padding-left:10px}.read-icon{filter:drop-shadow(1px 1px 2px rgba(0,0,0,.3));font-size:1.8rem}.navigation-hint{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:25px;bottom:30px;box-shadow:0 5px 15px #0000001a;display:none;left:50%;padding:15px 25px;position:fixed;transform:translateX(-50%);z-index:1000}.navigation-hint p{color:#666;font-size:.9rem;font-weight:500;margin:0}@media (max-width:768px){.birthday-message{margin:0 20px;padding:40px 30px}.birthday-title{font-size:3rem}.birthday-name{font-size:2.5rem}.birthday-decoration{font-size:2rem}.birthday-subtitle{font-family:Times New Roman,Times,serif;font-size:1.1rem}.enter-button{font-size:1.1rem;padding:15px 30px}.final-message{padding:50px 40px;width:85%}.final-title{font-size:4rem}.final-subtitle,.final-title{font-family:Times New Roman,Times,serif}.final-subtitle{font-size:3.2rem}.final-wish{font-family:Times New Roman,Times,serif;font-size:2.2rem}.final-decoration{font-size:2.5rem;gap:25px}.card-content{padding:40px 30px;width:85%}.card-title{font-family:SimSun,宋体,NSimSun,serif;font-size:3rem;margin-bottom:40px}.book-card{gap:15px;padding:20px}.book-card h3{font-family:KaiTi,楷体,STKaiti,BiauKai,serif;font-size:1.3rem}.book-cover{height:80px;width:60px}.navigation-hint{display:none}.nav-arrow{height:50px;width:50px}.nav-arrow-left{left:20px}.nav-arrow-right{right:20px}.nav-arrow span{font-size:24px}.hover-tip{font-size:.9rem;max-height:350px;padding:15px;width:280px}.hover-tip h4{font-size:1.1rem;margin-bottom:12px}.hover-tip .category-title{font-size:.95rem;margin:12px 0 6px}.hover-tip li{font-size:.85rem;line-height:1.4;margin-bottom:6px}}@media (max-width:480px){.birthday-message{margin:0 15px;padding:30px 20px}.birthday-title{font-size:2.5rem}.birthday-name{font-size:2rem}.birthday-decoration{font-size:1.8rem;gap:15px}.birthday-subtitle{font-family:Times New Roman,Times,serif;font-size:1rem}.enter-button{font-size:1rem;padding:12px 24px}.final-message{padding:40px 25px;width:90%}.final-title{font-size:3.2rem}.final-subtitle,.final-title{font-family:Times New Roman,Times,serif}.final-subtitle{font-size:2.5rem}.final-wish{font-family:Times New Roman,Times,serif;font-size:1.8rem}.final-decoration{font-size:2rem;gap:20px}.floating-heart{font-size:1.5rem}.card-content{height:85%;max-height:none;padding:20px 15px;width:95%}.card-title{font-family:SimSun,宋体,NSimSun,serif;font-size:2.2rem;margin-bottom:20px}.books-list{gap:15px}.book-card{flex-direction:column;gap:8px;padding:12px}.book-card,.book-info{text-align:center}.book-card h3{font-family:KaiTi,楷体,STKaiti,BiauKai,serif;font-size:1.1rem}.book-cover{height:67px;width:50px}.nav-arrow{height:45px;width:45px}.nav-arrow-left{left:15px}.nav-arrow-right{right:15px}.nav-arrow span{font-size:20px}.hover-tip{bottom:50px;font-size:.8rem;left:50%;max-height:300px;max-width:280px;padding:12px;position:fixed;right:auto;transform:translateX(-50%);width:calc(100vw - 40px)}.hover-tip:hover,.personal-experience-trigger:hover+.hover-tip{transform:translateX(-50%) translateY(0)}.hover-tip h4{font-size:1rem;margin-bottom:10px;padding-bottom:6px}.hover-tip .category-title{font-size:.9rem;margin:10px 0 5px;padding-left:8px}.hover-tip li{font-size:.8rem;line-height:1.3;margin-bottom:5px;padding-left:12px}.personal-experience-trigger{font-size:.85rem;padding:6px 16px}}
/*# sourceMappingURL=main.562a9180.css.map*/