:root{--color-bg-start: #e8ecf4;--color-bg-end: #d4d8ec;--color-text-primary: #1a1a2e;--color-text-secondary: #3d3d6e;--color-accent: #4a6fa5;--color-accent-hover: #3a5a8a;--color-accent-light: #6a4a9a;--color-card-bg: rgba(255, 255, 255, .82);--color-card-border: rgba(74, 111, 165, .25);--color-heart: #4a7ab5;--color-category-1: #4a6fa5;--color-category-2: #5a5aa5;--color-category-3: #6a4a9a;--color-category-4: #3d5a8a;--color-category-5: #2d3a6a;--shadow-sm: 0 2px 8px rgba(26, 26, 46, .08);--shadow-md: 0 8px 24px rgba(26, 26, 46, .12);--shadow-lg: 0 16px 48px rgba(26, 26, 46, .18);--transition-smooth: all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast: all .2s ease;--header-height: 85px}@media(max-width:600px){:root{--header-height: 75px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;background:linear-gradient(135deg,var(--color-bg-start) 0%,var(--color-bg-end) 100%)}body{min-height:100vh;font-family:Quicksand,sans-serif;color:var(--color-text-primary);overflow-x:hidden;background:transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff1a}::-webkit-scrollbar-thumb{background:var(--color-accent-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.content-container{min-height:calc(100vh - var(--header-height, 85px));display:flex;flex-direction:column;position:relative;padding:1.5rem}@media(max-width:480px){.content-container{padding:1rem}}.dreamy-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;pointer-events:none}.blob{position:absolute;border-radius:50%;will-change:transform;animation:float-blob 25s infinite alternate ease-in-out}.blob-1{top:-10%;left:-10%;width:45vw;height:45vw;background:radial-gradient(circle,rgba(74,111,165,.25) 0%,transparent 70%);animation-duration:20s}.blob-2{bottom:-10%;right:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(106,74,154,.2) 0%,transparent 70%);animation-duration:28s;animation-delay:-5s}.blob-3{top:30%;left:20%;width:40vw;height:40vw;background:radial-gradient(circle,rgba(90,90,165,.2) 0%,transparent 70%);animation-duration:25s;animation-delay:-10s}.blob-4{bottom:20%;left:-5%;width:35vw;height:35vw;background:radial-gradient(circle,rgba(45,58,106,.2) 0%,transparent 70%);animation-duration:22s;animation-delay:-7s}@keyframes float-blob{0%{transform:translate(0) scale(1)}50%{transform:translate(4%,8%) scale(1.12)}to{transform:translate(-4%,-4%) scale(.92)}}.particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.particle{position:absolute;bottom:-50px;will-change:transform;animation:float-up linear infinite}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-105vh) rotate(360deg);opacity:0}}@media(prefers-reduced-motion:reduce){.blob{animation:none}.particle{animation:none;display:none}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2.5rem;height:85px;background:#e8ecf4eb;border-bottom:1px solid rgba(74,111,165,.25);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px #1a1a2e1a}.header-logo{display:flex;flex-direction:column;align-items:center;cursor:pointer;user-select:none;transition:transform var(--transition-fast)}.header-logo:hover{transform:scale(1.03)}.logo-thin{font-family:Bebas Neue,sans-serif;font-size:.85rem;letter-spacing:.18em;color:var(--color-text-secondary);line-height:1}.logo-chunky{font-family:Lilita One,sans-serif;font-size:1.2rem;color:var(--color-text-primary);line-height:.95;margin:1px 0}.header-nav{display:flex;gap:1.5rem}.nav-link{background:none;border:none;cursor:pointer;font-family:Bebas Neue,sans-serif;font-size:1.4rem;letter-spacing:.05em;color:var(--color-text-secondary);padding:.25rem .5rem;position:relative;transition:color var(--transition-fast);text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--color-text-primary)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:10%;width:80%;height:3px;background-color:var(--color-accent);border-radius:2px;animation:slide-in .3s ease forwards}@keyframes slide-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.header-actions{display:flex;align-items:center;gap:1rem;position:relative}.hamburger-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;width:42px;height:42px;border-radius:12px;transition:var(--transition-fast)}.hamburger-btn:hover{background:#7472af1f}.hamburger-line{display:block;width:24px;height:2.5px;background-color:var(--color-text-primary);border-radius:2px;transition:transform .3s ease,opacity .2s ease}.hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}@media(max-width:900px){.hamburger-btn{display:flex}.header-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#e8ecf4fa;backdrop-filter:blur(12px);border-bottom:1px solid var(--color-card-border);box-shadow:var(--shadow-md);padding:.5rem 1.5rem .8rem;transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease;z-index:150}.header-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-link{width:100%;text-align:center;padding:.85rem .5rem;font-size:1.35rem;border-bottom:1px solid rgba(74,111,165,.12)}.nav-link:last-child{border-bottom:none}.nav-link.active:after{bottom:2px}}@media(max-width:600px){.app-header{padding:.5rem 1rem;height:var(--header-height, 75px)}.logo-thin{font-size:.7rem}.logo-chunky{font-size:.95rem}}@media(max-width:480px){.app-header{padding:.4rem .6rem;gap:.3rem}.logo-thin{font-size:.6rem}.logo-chunky{font-size:.85rem}.header-actions{gap:.4rem}.hamburger-btn{width:38px;height:38px}.hamburger-line{width:20px}}@media(max-width:380px){.app-header{padding:.35rem .4rem;gap:.2rem}.header-logo .logo-thin:first-child{display:none}.logo-chunky{font-size:.75rem}}.hero-section{min-height:calc(100vh - var(--header-height, 85px));display:flex;justify-content:center;align-items:center;text-align:center;padding:2rem;padding-bottom:5vh}.hero-content{max-width:800px;display:flex;flex-direction:column;align-items:center;justify-content:center}.main-title-container{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;user-select:none}.title-thin{font-family:Bebas Neue,sans-serif;font-size:3.5rem;letter-spacing:.16em;color:var(--color-text-secondary);line-height:1.1;font-weight:300}.title-chunky{font-family:Lilita One,sans-serif;font-size:6.8rem;color:var(--color-text-primary);line-height:.92;text-shadow:0 4px 12px rgba(92,82,155,.15)}.cover-dedication{font-size:1.35rem;color:var(--color-text-secondary);max-width:500px;line-height:1.6;margin-bottom:3rem;font-weight:400}.cta-button{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);border:none;color:#fff;padding:1.1rem 2.5rem;font-family:Quicksand,sans-serif;font-size:1.25rem;font-weight:600;border-radius:50px;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.8rem;transition:var(--transition-smooth);position:relative;overflow:hidden}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:.6s}.cta-button:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-lg)}.cta-button:hover:before{left:100%}.cta-heart{animation:heart-beat 1.2s infinite}@keyframes heart-beat{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.hero-floating-book{margin-top:3rem;perspective:1200px}.hero-book-3d{width:180px;height:240px;position:relative;transform-style:preserve-3d;transform:rotateY(-15deg) rotateX(5deg);margin:0 auto;animation:book-float 4s ease-in-out infinite}@keyframes book-float{0%,to{transform:rotateY(-15deg) rotateX(5deg) translateY(0)}50%{transform:rotateY(-15deg) rotateX(5deg) translateY(-10px)}}.hero-book-spine{position:absolute;left:-1px;width:16px;height:100%;background:linear-gradient(90deg,#3d3d6e,#5a5aa5);border-radius:3px 0 0 3px;transform:translateZ(-8px) rotateY(0);transform-origin:right center}.hero-book-cover{position:absolute;width:100%;height:100%;background:linear-gradient(145deg,#4a6fa5,#6a4a9a);border-radius:4px;box-shadow:0 4px 20px #1a1a2e4d,inset 0 1px #fff3;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;transform:translateZ(8px);border:1px solid rgba(255,255,255,.15)}.hero-book-cover:before{content:"12";font-family:Lilita One,sans-serif;font-size:2.8rem;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.15);line-height:1}.hero-book-cover:after{content:"RAZONES";font-family:Bebas Neue,sans-serif;font-size:.9rem;color:#ffffffb3;letter-spacing:.15em;margin-top:.3rem}.hero-book-glow{position:absolute;top:-20px;left:-20px;width:calc(100% + 40px);height:calc(100% + 40px);background:radial-gradient(ellipse at center,rgba(74,111,165,.25) 0%,transparent 70%);pointer-events:none;animation:glow-pulse 3s ease-in-out infinite alternate}@keyframes glow-pulse{0%{opacity:.4;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.hero-book-pages{position:absolute;top:3px;left:12px;width:calc(100% - 12px);height:calc(100% - 6px);background:linear-gradient(180deg,#f0f2f8,#e8ecf4);border-radius:0 3px 3px 0;transform:translateZ(2px);box-shadow:inset 2px 0 4px #0000000f}.hero-book-pages:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(74,111,165,.06) 28px,rgba(74,111,165,.06) 29px)}@media(max-width:900px){.title-chunky{font-size:4.5rem}.title-thin{font-size:2.2rem}.hero-book-3d{width:140px;height:190px}}@media(max-width:600px){.hero-section{padding:1.5rem 1rem}.title-chunky{font-size:3.2rem}.title-thin{font-size:1.8rem}.cover-dedication{font-size:1.1rem;margin-bottom:2rem}.cta-button{padding:.9rem 2rem;font-size:1.1rem}.hero-book-3d{width:110px;height:150px}}@media(max-width:480px){.title-chunky{font-size:2.4rem}.title-thin{font-size:1.4rem}.cover-dedication{font-size:1rem;margin-bottom:1.5rem}.cta-button{padding:.75rem 1.5rem;font-size:1rem;gap:.5rem}.hero-book-3d{width:80px;height:110px}}.music-player-widget{display:flex;align-items:center;gap:.5rem;background:#ffffff85;border:1px solid var(--color-card-border);padding:.3rem .6rem;border-radius:30px;box-shadow:var(--shadow-sm);cursor:pointer;position:relative;transition:var(--transition-fast)}.music-player-widget:hover{background:#ffffffbf;box-shadow:var(--shadow-md)}.music-now-playing{display:flex;align-items:center;gap:.4rem;cursor:pointer;padding:.1rem .3rem;border-radius:20px;transition:var(--transition-fast)}.music-disc-icon{font-size:1rem;animation:none}.music-disc-icon.spinning{display:inline-block;animation:disc-spin 3s linear infinite}@keyframes disc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-now-title{font-family:Quicksand,sans-serif;font-size:.78rem;font-weight:600;color:var(--color-text-secondary);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-chevron{font-size:.75rem;color:var(--color-text-secondary);transition:transform .3s ease}.music-chevron.open{transform:rotate(180deg)}.music-controls{display:flex;align-items:center;gap:.3rem;border-left:1px solid rgba(116,114,175,.2);padding-left:.5rem;margin-left:.1rem}.music-ctrl-btn{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--color-text-secondary);padding:.45rem .55rem;border-radius:12px;transition:var(--transition-fast);min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.music-ctrl-btn:hover{background:#7472af26;color:var(--color-text-primary)}.music-toggle{background:var(--color-card-bg);border:1px solid var(--color-card-border);cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:var(--transition-smooth);position:relative;overflow:hidden;flex-shrink:0}.music-toggle:hover{transform:scale(1.1);background-color:#fff;box-shadow:var(--shadow-md)}.music-icon{font-size:1.1rem;z-index:2}.music-waves{display:none;align-items:flex-end;gap:2px;position:absolute;bottom:8px;z-index:1}.music-toggle.playing .music-icon{transform:translateY(-4px)}.music-toggle.playing .music-waves{display:flex}.music-waves span{width:3px;background-color:var(--color-accent);border-radius:1px;animation:bounce-wave .8s ease infinite alternate}.music-waves span:nth-child(1){height:6px;animation-delay:.1s}.music-waves span:nth-child(2){height:12px;animation-delay:.3s}.music-waves span:nth-child(3){height:8px;animation-delay:.2s}@keyframes bounce-wave{0%{transform:scaleY(.4)}to{transform:scaleY(1.2)}}.music-dropdown{position:absolute;top:calc(100% + 12px);right:0;min-width:280px;max-width:90vw;background:#ffffffeb;border:1px solid rgba(183,162,208,.4);border-radius:16px;box-shadow:var(--shadow-lg);padding:.8rem 0;z-index:500;display:none;animation:dropdown-appear .2s cubic-bezier(.16,1,.3,1)}@media(max-width:480px){.music-dropdown{right:-10px;min-width:240px}}@media(max-width:380px){.music-now-title,.music-chevron{display:none}.music-player-widget{padding:.2rem .4rem;gap:.3rem}.music-controls{padding-left:.3rem;margin-left:0}.music-ctrl-btn{min-width:30px;min-height:30px;font-size:.8rem;padding:.35rem .4rem}.music-toggle{width:38px;height:38px}.music-disc-icon{font-size:.9rem}}.music-dropdown.open{display:block}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.music-dropdown-header{font-family:Quicksand,sans-serif;font-size:.7rem;font-weight:700;color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;padding:0 1.2rem .5rem;border-bottom:1px solid rgba(183,162,208,.2);margin-bottom:.3rem}.music-dropdown-list{list-style:none;margin:0;padding:.3rem 0}.music-dropdown-item{display:flex;align-items:center;gap:.8rem;padding:.6rem 1.2rem;cursor:pointer;transition:var(--transition-fast);position:relative}.music-dropdown-item:hover{background:#7472af14}.music-dropdown-item.active-track{background:#7472af1f}.music-dropdown-item.active-track .music-item-num{color:var(--color-accent)}.music-item-num{font-family:Bebas Neue,sans-serif;font-size:.95rem;color:#5c529b66;min-width:20px;text-align:right}.music-item-thumb{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;overflow:hidden}.music-item-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px}.music-item-info{flex:1;min-width:0}.music-item-title{font-family:Quicksand,sans-serif;font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-item-playing-bars{display:none;align-items:flex-end;gap:2px;height:14px;flex-shrink:0}.music-dropdown-item.active-track.is-playing .music-item-playing-bars{display:flex}.music-item-playing-bars span{width:3px;background:var(--color-accent);border-radius:1px;animation:bounce-wave .8s ease infinite alternate}.music-item-playing-bars span:nth-child(1){height:6px;animation-delay:.1s}.music-item-playing-bars span:nth-child(2){height:12px;animation-delay:.3s}.music-item-playing-bars span:nth-child(3){height:8px;animation-delay:.2s}.music-see-all-btn{display:block;width:calc(100% - 2.4rem);margin:.5rem 1.2rem .3rem;padding:.6rem 1rem;background:linear-gradient(135deg,var(--color-accent-light),var(--color-accent));border:none;border-radius:12px;font-family:Quicksand,sans-serif;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;text-align:center;transition:var(--transition-fast);letter-spacing:.02em}.music-see-all-btn:hover{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));transform:translateY(-1px);box-shadow:var(--shadow-sm)}.controls-panel{background:#ffffffe0;border:1px solid var(--color-card-border);border-radius:16px;padding:1.2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem}.search-box{display:flex;align-items:center;background:#fff9;border:1px solid rgba(116,114,175,.25);border-radius:30px;padding:.5rem 1.2rem;position:relative;transition:var(--transition-fast)}.search-box:focus-within{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #7472af26}.search-icon{font-size:1rem;margin-right:.6rem;color:var(--color-text-secondary)}.search-box input{border:none;background:none;outline:none;width:100%;font-family:Quicksand,sans-serif;font-size:1rem;color:var(--color-text-primary)}.clear-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;padding:.2rem;transition:color .2s}.clear-btn:hover{color:var(--color-text-primary)}.filters-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.categories-scroll{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;max-width:70%}.category-pill{white-space:nowrap;background:#ffffff80;border:1px solid rgba(116,114,175,.15);border-radius:20px;padding:.5rem 1rem;font-family:Quicksand,sans-serif;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:var(--transition-fast)}.category-pill:hover{background:#fffffff2;transform:translateY(-2px)}.category-pill.active{background-color:var(--active-color, var(--color-accent));border-color:var(--active-color, var(--color-accent));color:#fff;box-shadow:0 4px 10px #7472af33}.pill-icon{font-size:1rem}.filter-actions{display:flex;gap:.6rem}.filter-action-btn{background:#ffffff80;border:1px solid rgba(116,114,175,.15);border-radius:20px;padding:.5rem 1rem;font-family:Quicksand,sans-serif;font-size:.9rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:var(--transition-fast)}.filter-action-btn:hover{background:#fff;border-color:var(--color-accent);color:var(--color-text-primary)}.filter-action-btn.active{background:#fff;border-color:var(--color-heart);color:var(--color-text-primary);box-shadow:0 4px 10px #4a7ab533}.fav-count{background-color:var(--color-heart);color:#fff;font-size:.75rem;padding:.1rem .4rem;border-radius:10px;min-width:18px;text-align:center}.surprise-btn{background:linear-gradient(135deg,var(--color-accent-light) 0%,var(--color-accent) 100%);color:#fff;border:none}.surprise-btn:hover{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.pdf-btn{background:linear-gradient(135deg,var(--color-accent-light) 0%,var(--color-accent) 100%);color:#fff;border:none}.pdf-btn:hover{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}@media(max-width:900px){.categories-scroll{max-width:100%}}@media(max-width:600px){.controls-panel{padding:.8rem}.filters-row{flex-direction:column;align-items:stretch;gap:.8rem}.filter-actions{justify-content:space-between}}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1a1a2e8c;display:none;justify-content:center;align-items:center;z-index:2000;opacity:0;transition:opacity .4s ease}.modal-backdrop.active{display:flex;opacity:1}.close-modal-btn{position:absolute;top:-45px;right:15px;background:#fff6;border:1px solid var(--color-card-border);color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);z-index:1002}.close-modal-btn:hover{background:#fff;color:var(--color-text-primary);transform:rotate(90deg)}.envelope-wrapper{position:relative;width:100%;max-width:550px;display:flex;flex-direction:column;align-items:center}.envelope-container{width:450px;height:320px;position:relative;cursor:pointer;perspective:1000px;margin:2rem 0}.envelope-back{position:absolute;width:100%;height:100%;background-color:#8a8abd;border-radius:10px;box-shadow:var(--shadow-md);z-index:1}.envelope-flap{position:absolute;width:100%;height:100%;background-color:#7a7ab0;border-radius:10px;clip-path:polygon(0 0,50% 55%,100% 0);z-index:5;transform-origin:top;transition:transform .6s ease}.envelope-container.open .envelope-flap{transform:rotateX(180deg);z-index:2}.envelope-front{position:absolute;width:100%;height:100%;background-color:#9a9acb;border-radius:10px;clip-path:polygon(0 30%,50% 60%,100% 30%,100% 100%,0 100%);z-index:4;box-shadow:0 -4px 10px #00000008}.letter-card{position:absolute;width:400px;height:280px;background:#fff;border-radius:8px;left:25px;top:20px;z-index:3;padding:2.2rem 2.2rem 1.2rem;box-shadow:0 4px 15px #0000001a;display:flex;flex-direction:column;justify-content:space-between;transition:transform .6s ease,top .6s ease,height .6s ease,box-shadow .6s ease;border:1px solid rgba(74,111,165,.2)}.envelope-container.open .letter-card{transform:translateY(-130px) scale(1.08);z-index:6;height:320px;box-shadow:0 12px 35px #5c529b40}.letter-stamp{position:absolute;top:15px;right:15px;font-size:1.5rem;transform:rotate(12deg)}.letter-header{font-size:.85rem;font-weight:600;color:var(--color-accent);letter-spacing:.15em;text-transform:uppercase}.letter-number{font-family:Bebas Neue,sans-serif;font-size:1.8rem;color:var(--color-text-secondary);margin-top:.4rem}.letter-body{font-family:Playfair Display,serif;font-size:1.2rem;line-height:1.5;font-style:italic;color:var(--color-text-primary);margin:.8rem 0;text-align:center}.letter-footer{font-size:.8rem;color:var(--color-text-secondary);text-align:right;border-top:1px solid #d0d4ec;padding-top:.4rem}.letter-fav-btn{align-self:center;background:none;border:1px solid #d0d4ec;border-radius:20px;padding:.3rem .8rem;font-family:Quicksand,sans-serif;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:.3rem;margin-top:.2rem;transition:var(--transition-fast)}.letter-fav-btn:hover{background:#d0d4ec;color:var(--color-text-primary)}.letter-fav-btn.is-fav{background:#e8ecf8;border-color:#b0b8da;color:var(--color-heart)}.envelope-hint{color:#fff;font-size:.95rem;text-align:center;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.2);animation:hint-glow 1.5s infinite alternate}@keyframes hint-glow{0%{opacity:.7;transform:translateY(0)}to{opacity:1;transform:translateY(-4px)}}.playlist-modal-wrapper{background:#fffffff2;backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(183,162,208,.4);box-shadow:var(--shadow-lg);padding:2rem 1.5rem;width:90%;max-width:480px;max-height:80vh;overflow-y:auto;position:relative;animation:card-fade-in .4s ease forwards}.playlist-modal-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(183,162,208,.25)}.playlist-modal-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.playlist-modal-title{font-family:Bebas Neue,sans-serif;font-size:2rem;color:var(--color-text-primary);margin:0;letter-spacing:.05em}.playlist-modal-subtitle{font-size:.85rem;color:var(--color-text-secondary);margin:.2rem 0 0}.playlist-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.playlist-modal-item{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;border-radius:12px;cursor:pointer;transition:var(--transition-fast);border:1px solid transparent}.playlist-modal-item:hover{background:#7472af14;border-color:#7472af26}.playlist-modal-item.active-track{background:#7472af1f;border-color:#7472af4d}.playlist-config-section{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(183,162,208,.25)}.playlist-config-toggle{background:none;border:none;cursor:pointer;font-family:Quicksand,sans-serif;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);padding:.4rem .6rem;border-radius:8px;transition:var(--transition-fast);width:100%;text-align:center}.playlist-config-toggle:hover{background:#7472af14;color:var(--color-text-primary)}.playlist-config-body{display:none;padding:.8rem .2rem}.playlist-config-form{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.8rem}.playlist-config-label{font-family:Quicksand,sans-serif;font-size:.78rem;font-weight:700;color:var(--color-text-secondary)}.playlist-config-row{display:flex;gap:.5rem}.playlist-config-input{flex:1;padding:.5rem .8rem;border:1px solid rgba(116,114,175,.25);border-radius:10px;font-family:Quicksand,sans-serif;font-size:.82rem;color:var(--color-text-primary);background:#ffffffb3;outline:none;transition:var(--transition-fast)}.playlist-config-input:focus{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #7472af26}.playlist-config-btn{padding:.5rem 1.2rem;background:var(--color-accent);border:none;border-radius:10px;font-family:Quicksand,sans-serif;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.playlist-config-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.playlist-config-apikey{display:flex;flex-direction:column;gap:.4rem}.playlist-config-hint{font-size:.72rem;color:var(--color-text-secondary);line-height:1.4}.playlist-config-hint a{color:var(--color-accent)}.playlist-status{font-size:.82rem;font-weight:600;padding:.4rem 0;min-height:1.5rem}.playlist-preview{display:flex;flex-direction:column;gap:.3rem;max-height:120px;overflow-y:auto;background:#ffffff80;border-radius:8px;padding:.5rem}.playlist-preview-item{font-size:.78rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-reset-btn{background:none;border:1px solid rgba(183,162,208,.3);border-radius:8px;padding:.4rem .8rem;font-family:Quicksand,sans-serif;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);width:100%;text-align:center}.playlist-reset-btn:hover{background:#b7a2d01a;color:var(--color-text-primary)}.modal-backdrop.paper-mode{overflow-y:auto;align-items:flex-start;padding:2.5rem 1rem}.modal-backdrop.paper-mode .envelope-wrapper{max-width:800px;width:92%;margin:auto}.modal-backdrop.paper-mode .envelope-container{width:100%;height:auto;cursor:default;perspective:none;margin:0;background:none;box-shadow:none;border-radius:0}.modal-backdrop.paper-mode .envelope-back,.modal-backdrop.paper-mode .envelope-flap,.modal-backdrop.paper-mode .envelope-front,.modal-backdrop.paper-mode .envelope-hint{display:none}.modal-backdrop.paper-mode .letter-card{position:static;width:100%;height:auto;min-height:480px;max-height:82vh;overflow-y:auto;transform:none!important;box-shadow:0 1px 4px #0000000a,0 4px 16px #0000000f,0 12px 48px #0000001a;border-radius:2px;padding:3.5rem 4rem;border:none;z-index:6}.modal-backdrop.paper-mode .letter-stamp{display:none}.modal-backdrop.paper-mode .letter-header{font-size:.9rem;color:var(--color-text-secondary);border-bottom:2px solid #d0d4ec;padding-bottom:1rem;margin-bottom:1.5rem;letter-spacing:.1em}.modal-backdrop.paper-mode .letter-number{font-size:2.8rem;text-align:center;margin-bottom:1rem}.modal-backdrop.paper-mode .letter-body{font-size:1.5rem;line-height:1.7;font-style:italic;text-align:left;margin:1.5rem 0;flex:1}.modal-backdrop.paper-mode .letter-footer{text-align:center;color:var(--color-text-secondary);border-top:1px solid #d0d4ec;padding-top:1rem;font-size:.85rem}.modal-backdrop.paper-mode .letter-fav-btn{align-self:center;margin-top:1.5rem}@media(max-width:600px){.envelope-container{width:320px;height:240px}.letter-card{width:280px;height:200px;left:20px}.envelope-container.open .letter-card{transform:translateY(-80px) scale(1.05);height:240px}.letter-body{font-size:.95rem}.modal-backdrop.paper-mode .envelope-wrapper{width:94%}.modal-backdrop.paper-mode .letter-card{padding:2rem 1.5rem;min-height:420px;max-height:78vh}.modal-backdrop.paper-mode .letter-header{font-size:.8rem;padding-bottom:.8rem;margin-bottom:1rem}.modal-backdrop.paper-mode .letter-number{font-size:2.2rem;margin-bottom:.8rem}.modal-backdrop.paper-mode .letter-body{font-size:1.15rem;line-height:1.65;margin:1rem 0}.modal-backdrop.paper-mode .letter-fav-btn{margin-top:1rem}.close-modal-btn{top:-40px;right:10px;width:32px;height:32px;font-size:1rem}}@media(max-width:380px){.modal-backdrop.paper-mode .letter-card{padding:1.5rem 1rem;min-height:380px;max-height:76vh}.modal-backdrop.paper-mode .letter-number{font-size:1.8rem}.modal-backdrop.paper-mode .letter-body{font-size:1rem;margin:.8rem 0}.modal-backdrop.paper-mode .letter-footer{font-size:.78rem}}
