.app{position:relative;width:100%;min-height:100vh;overflow:hidden}.progress-indicator{position:fixed;top:0;left:0;width:100%;height:3px;background:#fff3;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-bar{height:100%;background:linear-gradient(90deg,#6eb5ff,#4a90e2,#b8d4f1);transition:width .3s ease;box-shadow:0 0 10px #6eb5ff80}.progress-text{position:fixed;top:10px;right:15px;font-size:11px;color:#4a90e2e6;font-weight:600;z-index:101;text-shadow:0 1px 3px rgba(0,0,0,.1);letter-spacing:.5px;padding:4px 10px;background:#ffffff4d;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 768px){.progress-indicator{height:2px}.progress-text{font-size:10px;top:8px;right:10px;padding:3px 8px}}.background-gradient{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite,initialFlash 1.5s ease-out;z-index:0}@keyframes initialFlash{0%{filter:brightness(1) saturate(1)}40%{filter:brightness(1.6) saturate(1.8) hue-rotate(-10deg)}to{filter:brightness(1) saturate(1)}}.scroll-container{position:relative;width:100%;height:100vh;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y proximity;z-index:10;perspective:1000px}.scenes-wrapper{position:relative;width:100%;min-height:100vh;padding:100px 20px}.scene-block{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:60px 20px;scroll-snap-align:center;transform-style:preserve-3d}@media (max-width: 768px){.scene-block{align-items:flex-start;padding-top:25vh}}.intro-text{text-align:center;padding:40px}.intro-text h1{font-family:Cormorant Garamond,serif;font-size:4rem;font-weight:300;color:#333;margin-bottom:40px;letter-spacing:2px;text-shadow:0 2px 20px rgba(184,212,241,.4);min-height:2.4em;display:flex;align-items:center;justify-content:center}.typing-text{display:block;text-align:center;line-height:1.2;animation:fadeIn .5s ease-out}.typing-text .line{display:block}.letter-btn{position:relative;display:inline-block;padding:18px 50px;font-size:1.2rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #6eb5ff33;transition:all .3s ease;margin:60px 0 40px;text-decoration:none;animation:pulse 5s ease-in-out infinite}.letter-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #6eb5ff66;animation:none}@keyframes pulse{0%,to{box-shadow:0 8px 32px #6eb5ff33;border-color:#6eb5ff80}50%{box-shadow:0 8px 38px #4a90e273,0 0 25px #4a90e24d;border-color:#4a90e2bf}}.letter-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#4a90e2,#6eb5ff);color:#fff;font-size:.75rem;font-weight:600;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #4a90e266;animation:badgePop .5s ease-out 1s both}@keyframes badgePop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.scroll-hint{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:300;color:#999;letter-spacing:3px;text-transform:lowercase;animation:bounce 2s infinite;margin-bottom:100px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.letter-card{max-width:700px;width:100%;padding:60px;background:#fff6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px #6eb5ff33,inset 0 1px #fffc;position:relative;transform-style:preserve-3d;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0px,rgba(255,255,255,.05) 1px,transparent 1px,transparent 2px)}.letter-card:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,#b8d4f11a,#a8c8e81a,#b8d4f11a);border-radius:20px;z-index:-1;filter:blur(10px)}.her-quote{margin-bottom:40px;position:relative;padding-left:30px}.quote-mark{position:absolute;left:-10px;top:-20px;font-family:Cormorant Garamond,serif;font-size:6rem;color:#6eb5ff4d;line-height:1}.her-quote p{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-style:italic;color:#555;line-height:1.6;font-weight:300}.quote-underline{width:100px;height:2px;background:linear-gradient(to right,#6eb5ff99,#6eb5ff00);margin-top:20px;border-radius:2px;transform:skew(-10deg)}.my-response{padding:30px;background:#ffffff4d;border-left:3px solid rgba(110,181,255,.5);border-radius:10px}.my-response p{font-family:Montserrat,sans-serif;font-size:1.2rem;line-height:1.9;color:#333;font-weight:300}@media (max-width: 768px){.intro-text h1,.typing-text{font-size:2.5rem}.letter-btn{padding:15px 40px;font-size:1rem;margin:30px 0}.letter-badge{width:20px;height:20px;font-size:.7rem;top:-6px;right:-6px}.letter-card{padding:40px 30px;margin:0 10px}.her-quote p{font-size:1.4rem}.my-response p{font-size:1rem}.quote-mark{font-size:4rem;left:-5px}}@media (max-width: 480px){.intro-text h1{font-size:2rem}.letter-card{padding:30px 20px}.her-quote{padding-left:20px}.her-quote p{font-size:1.2rem}.my-response p{font-size:.95rem}}.letter-card:hover{box-shadow:0 12px 48px #6eb5ff4d,inset 0 1px #ffffffe6;transform:translateY(-5px);transition:all .5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}*{transition:opacity .3s ease,transform .3s ease}.floating-particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particle{position:absolute;background:radial-gradient(circle,#b8d4f199,#a8c8e833);border-radius:50%;filter:blur(1px);box-shadow:0 0 10px #6eb5ff80}.snowflakes-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.snowflake{position:fixed;top:-100px;color:#a8d8ff;text-shadow:0 0 5px rgba(168,216,255,.6);-webkit-user-select:none;user-select:none;pointer-events:none;font-weight:400;animation:fall linear infinite;will-change:transform,opacity}@keyframes fall{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}5%{opacity:var(--opacity, .5)}75%{opacity:var(--opacity, .5)}to{transform:translateY(calc(100vh + 100px)) translate(var(--drift, 0)) rotate(360deg);opacity:0}}.christmas-lights{position:fixed;top:0;left:0;width:100%;height:100px;pointer-events:none;z-index:9999}.tree{position:fixed;top:10px;font-size:60px;filter:drop-shadow(0 0 15px rgba(0,200,0,.8)) brightness(1.2);animation:treeGlow 3s ease-in-out infinite;z-index:10000;pointer-events:none}.tree-left{left:30px}.tree-right{right:30px}@keyframes treeGlow{0%,to{filter:drop-shadow(0 0 15px rgba(0,200,0,.8)) brightness(1.2);transform:scale(1)}50%{filter:drop-shadow(0 0 30px rgba(0,255,0,1)) brightness(1.4);transform:scale(1.05)}}.lights-wire{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.light{position:absolute;top:15px;transform:translate(-50%);pointer-events:none}.light-bulb{width:12px;height:16px;border-radius:50%/60% 60% 40% 40%;position:relative;filter:brightness(1.2);pointer-events:none}.light-bulb:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:6px;height:4px;background:#333;border-radius:2px}.light-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;filter:blur(10px);opacity:.3;pointer-events:none}@media (max-width: 768px){.christmas-lights{height:80px}.light{top:12px}.light-bulb{width:10px;height:14px}.light-glow{width:25px;height:25px}}.final-scene{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px;position:relative}.back-to-letters-btn{position:absolute;top:30px;left:30px;padding:12px 30px;font-size:1rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #6eb5ff33;transition:all .3s ease;z-index:10}.back-to-letters-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #6eb5ff4d}.invitation{text-align:center;max-width:600px;animation:fadeInUp .8s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.final-message{font-family:Cormorant Garamond,serif;font-size:1.8rem;line-height:1.8;color:#333;margin-bottom:60px;font-weight:300}.final-message .subtle{font-size:1.2rem;opacity:.7;font-style:italic;display:inline-block;margin-top:20px}.photo-container{margin:40px 0;display:flex;justify-content:center}.our-photo{max-width:100%;width:400px;height:auto;border-radius:20px;box-shadow:0 8px 32px #6eb5ff4d;border:2px solid rgba(255,255,255,.6);object-fit:cover}.take-flowers-btn{padding:18px 50px;font-size:1.2rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #6eb5ff33;transition:all .3s ease}.flower-choice{text-align:center;max-width:700px;animation:fadeInUp .8s ease}.flower-message{font-family:Cormorant Garamond,serif;font-size:1.8rem;line-height:1.8;color:#333;margin-bottom:40px;font-weight:300}.flower-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:600px;margin:0 auto}.flower-btn{padding:18px 50px;font-size:1.2rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #6eb5ff33;transition:all .3s ease;text-align:center}.flower-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #6eb5ff4d}.delivery-choice{text-align:center;max-width:600px;animation:fadeInUp .8s ease}.delivery-message{font-family:Cormorant Garamond,serif;font-size:1.8rem;line-height:1.8;color:#333;margin-bottom:50px;font-weight:300}.delivery-buttons{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}.delivery-btn{padding:18px 50px;font-size:1.2rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #6eb5ff33;transition:all .3s ease;min-width:150px}.thanks-container{display:flex;align-items:center;justify-content:center;min-height:300px;animation:fadeInUp .8s ease}.thanks-message{text-align:center;animation:fadeInUp .8s ease .3s both}.thanks-message p{font-family:Cormorant Garamond,serif;font-size:2rem;color:#333;margin:10px 0}.thanks-message .respect{font-size:1.3rem;opacity:.7;font-style:italic;font-weight:300}@media (max-width: 768px){.final-scene{padding:20px}.final-message{font-size:1.4rem;margin-bottom:30px}.photo-container{margin:30px 0}.our-photo{width:100%;max-width:320px;border-radius:15px}.take-flowers-btn{padding:15px 40px;font-size:1rem}.flower-message{font-size:1.4rem;margin-bottom:30px}.flower-grid{grid-template-columns:repeat(1,1fr);gap:15px;max-width:100%}.flower-btn{padding:15px 40px;font-size:1rem}.delivery-message{font-size:1.4rem;margin-bottom:40px}.delivery-buttons{gap:20px}.delivery-btn{padding:15px 40px;font-size:1rem;min-width:130px}.thanks-message p{font-size:1.5rem}.thanks-message .respect{font-size:1.1rem}}.letter-page-full{position:fixed;top:0;left:0;width:100%;height:100vh;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite;overflow-y:auto;z-index:1000}.letter-full-container{max-width:800px;margin:0 auto;padding:100px 20px 60px;min-height:100vh}.back-btn{padding:12px 30px;font-size:1rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #6eb5ff33;transition:all .3s ease;margin-bottom:30px;position:relative;z-index:10}.letter-title{font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300;text-align:center;color:#4a90e2;letter-spacing:2px;margin-bottom:10px;text-shadow:0 2px 20px rgba(110,181,255,.3)}.letter-subtitle{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:300;text-align:center;color:#999;letter-spacing:1px;margin-bottom:40px}.letter-full-date{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:300;text-align:center;color:#4a90e2;letter-spacing:1px;margin-top:-10px;margin-bottom:30px}.letter-full-text{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:60px 50px;box-shadow:0 20px 60px #0000001a;font-family:Cormorant Garamond,serif;font-size:1.3rem;line-height:1.9;color:#333;font-weight:300}.letter-full-text p{margin-bottom:20px}.letter-full-text h1{font-size:2.2rem;font-weight:400;color:#4a90e2;margin:40px 0 20px;padding-bottom:15px;border-bottom:2px solid rgba(110,181,255,.3)}.letter-full-text h2{font-size:1.9rem;font-weight:400;color:#4a90e2;margin:35px 0 18px;padding-bottom:12px;border-bottom:1px solid rgba(110,181,255,.2)}.letter-full-text h3{font-size:1.6rem;font-weight:400;color:#5aa3e8;margin:30px 0 15px}.letter-full-text h4{font-size:1.4rem;font-weight:400;color:#5aa3e8;margin:25px 0 12px}.letter-full-text h5,.letter-full-text h6{font-size:1.3rem;font-weight:400;color:#6eb5ff;margin:20px 0 10px}.letter-full-text ul,.letter-full-text ol{margin:20px 0;padding-left:35px}.letter-full-text ul li,.letter-full-text ol li{margin-bottom:10px;line-height:1.8}.letter-full-text ul li::marker{color:#4a90e2}.letter-full-text ol li::marker{color:#4a90e2;font-weight:500}.letter-full-text ul ul,.letter-full-text ol ol,.letter-full-text ul ol,.letter-full-text ol ul{margin:10px 0}.letter-full-text code{background:#6eb5ff1a;padding:3px 8px;border-radius:6px;font-family:Courier New,monospace;font-size:.9em;color:#4a90e2;border:1px solid rgba(110,181,255,.2)}.letter-full-text pre{background:#6eb5ff14;border:1px solid rgba(110,181,255,.2);border-radius:12px;padding:20px;margin:25px 0;overflow-x:auto;box-shadow:0 4px 15px #6eb5ff1a}.letter-full-text pre code{background:transparent;padding:0;border:none;color:#333;font-size:.95em;line-height:1.6}.letter-full-text blockquote{margin:25px 0;padding:20px 25px;border-left:4px solid #4a90e2;background:#b8d4f126;border-radius:0 12px 12px 0;font-style:italic;color:#555}.letter-full-text blockquote p{margin-bottom:10px}.letter-full-text blockquote p:last-child{margin-bottom:0}.letter-full-text hr{border:none;height:2px;background:linear-gradient(to right,transparent,rgba(110,181,255,.4),transparent);margin:40px 0}.letter-full-text a{color:#4a90e2;text-decoration:none;border-bottom:1px solid rgba(110,181,255,.3);transition:all .3s ease}.letter-full-text a:hover{color:#6eb5ff;border-bottom-color:#6eb5ff}.letter-full-text strong{font-weight:500;color:#4a90e2}.letter-full-text em{font-style:italic;color:#5aa3e8}.letter-full-text table{width:100%;border-collapse:collapse;margin:25px 0;background:#ffffff80;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #6eb5ff1a}.letter-full-text table thead{background:#6eb5ff26}.letter-full-text table th{padding:15px;text-align:left;font-weight:500;color:#4a90e2;border-bottom:2px solid rgba(110,181,255,.3)}.letter-full-text table td{padding:12px 15px;border-bottom:1px solid rgba(110,181,255,.1)}.letter-full-text table tr:last-child td{border-bottom:none}.letter-full-text table tr:hover{background:#6eb5ff0d}.letter-full-text del{color:#999;text-decoration:line-through}.letter-full-text input[type=checkbox]{margin-right:8px;cursor:pointer;accent-color:#4a90e2}@media (max-width: 768px){.letter-full-text h1{font-size:1.8rem;margin:30px 0 15px}.letter-full-text h2{font-size:1.5rem;margin:25px 0 12px}.letter-full-text h3{font-size:1.3rem;margin:20px 0 10px}.letter-full-text ul,.letter-full-text ol{padding-left:25px}.letter-full-text pre{padding:15px;margin:20px 0;font-size:.85em}.letter-full-text blockquote{padding:15px 20px;margin:20px 0}.letter-full-text table{font-size:.9rem}.letter-full-text table th,.letter-full-text table td{padding:10px}}.next-letter-btn{display:block;margin:40px auto 0;padding:15px 45px;font-size:1.1rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #6eb5ff33;transition:all .3s ease}.next-letter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #6eb5ff4d}.letters-list{display:flex;flex-direction:column;gap:20px;max-width:600px;margin:0 auto}.letter-item{display:flex;align-items:center;gap:20px;padding:25px 35px;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(110,181,255,.3);border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px #6eb5ff33;font-family:Montserrat,sans-serif}.letter-item:hover{transform:translateY(-3px);box-shadow:0 12px 35px #6eb5ff4d;border-color:#6eb5ff80}.letter-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#6eb5ff,#4a90e2);border-radius:50%;font-weight:600;color:#fff;font-size:1.1rem;flex-shrink:0}.letter-item-title{flex:1;text-align:left;font-size:1.2rem;color:#333;font-weight:400;display:flex;align-items:center;gap:8px}.lock-icon{width:16px;height:16px;flex-shrink:0;filter:brightness(0) saturate(100%) invert(50%) sepia(75%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(90%);opacity:.7}.letter-date{font-size:.85rem;color:#4a90e2;font-weight:300;flex-shrink:0;margin-right:10px;font-family:Montserrat,sans-serif}.letter-arrow{font-size:1.5rem;color:#4a90e2;flex-shrink:0;transition:transform .3s ease}.letter-item:hover .letter-arrow{transform:translate(5px)}.letter-item.pinned{background:linear-gradient(135deg,#6eb5ff33,#b8d4f140);border:3px solid rgba(74,144,226,.7);box-shadow:0 12px 40px #4a90e266;position:relative;animation:pinGlow 3s ease-in-out infinite}.letter-item.pinned:hover{border-color:#4a90e2e6;box-shadow:0 16px 50px #4a90e280}@keyframes pinGlow{0%,to{box-shadow:0 12px 40px #4a90e266}50%{box-shadow:0 12px 40px #4a90e28c}}.pin-icon{width:18px;height:18px;margin-right:8px;flex-shrink:0;filter:brightness(0) saturate(100%) invert(50%) sepia(75%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(90%)}.flowers-btn{display:block;margin:60px auto 0;padding:18px 50px;font-size:1.2rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #6eb5ff33;transition:all .3s ease}.flowers-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #6eb5ff66}@media (max-width: 768px){.letter-full-container{padding:20px 15px 40px}.back-btn{padding:10px 25px;font-size:.9rem;margin-bottom:20px}.letter-title{font-size:2rem;margin-bottom:30px}.letter-full-text{padding:40px 30px;font-size:1.1rem;line-height:1.7}.letters-list{gap:15px}.letter-item{padding:20px 25px;gap:15px}.letter-number{width:35px;height:35px;font-size:1rem}.letter-item-title{font-size:1.05rem}.letter-arrow{font-size:1.3rem}.flowers-btn{margin:40px auto 0;padding:15px 40px;font-size:1rem}.letter-subtitle{font-size:.9rem}.letter-full-date{font-size:.8rem;margin-top:-5px;margin-bottom:20px}.letter-date{font-size:.75rem}.next-letter-btn{padding:12px 35px;font-size:1rem;margin-top:30px}}.letter-page{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.letter-page-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.letter-page-content{position:relative;max-width:800px;width:90%;max-height:80vh;background:#fffffff2;border-radius:20px;padding:60px 50px;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.close-letter-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:#b8d4f133;border-radius:50%;font-size:24px;color:#4a90e2;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-letter-btn:hover{background:#b8d4f166;transform:scale(1.1)}.letter-page-text{font-family:Cormorant Garamond,serif;font-size:1.3rem;line-height:1.9;color:#333;font-weight:300}.letter-page-text p{margin-bottom:20px}@media (max-width: 768px){.letter-page-content{width:95%;padding:50px 30px;max-height:85vh}.letter-page-text{font-size:1.1rem;line-height:1.7}.close-letter-btn{top:15px;right:15px;width:35px;height:35px;font-size:20px}}.letter-header{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:10px}.letter-tag{padding:6px 16px;background:linear-gradient(135deg,#b8d4f14d,#a8c8e84d);border:1px solid rgba(110,181,255,.5);border-radius:20px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:400;color:#4a90e2;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #6eb5ff33}.letter-item-content{flex:1;display:flex;align-items:center;gap:12px}.letter-tag-small{padding:4px 12px;background:linear-gradient(135deg,#b8d4f140,#a8c8e840);border:1px solid rgba(110,181,255,.4);border-radius:15px;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:400;color:#4a90e2;letter-spacing:.5px;flex-shrink:0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.writing-status{font-size:.85rem;color:#6eb5ff;font-weight:400;font-style:italic;opacity:.8;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.5}}@media (max-width: 768px){.letter-header{gap:10px}.letter-item-content{flex-direction:column;align-items:flex-start;gap:8px}.letter-tag-small{font-size:.65rem;padding:3px 10px}.writing-status{font-size:.75rem}}.diary-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;gap:20px}.reverse-btn{padding:10px 20px;font-size:.9rem;font-family:Montserrat,sans-serif;font-weight:400;background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:25px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #6eb5ff33;transition:all .3s ease;white-space:nowrap}.reverse-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6eb5ff4d;background:#b8d4f14d}.tag-filter-dropdown{display:flex;align-items:center;gap:12px;margin-bottom:30px;padding:15px 20px;background:#fff6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;box-shadow:0 4px 20px #0000000d}.tag-filter-label{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;color:#4a90e2;white-space:nowrap}.tag-select{flex:1;padding:10px 16px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;color:#4a90e2;background:#ffffffe6;border:2px solid rgba(110,181,255,.3);border-radius:10px;cursor:pointer;transition:all .3s ease;outline:none;box-shadow:0 2px 10px #0000000d}.tag-select:hover{border-color:#6eb5ff99;box-shadow:0 4px 15px #6eb5ff33}.tag-select:focus{border-color:#4a90e2;box-shadow:0 4px 20px #6eb5ff4d}.list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;gap:20px}.create-letter-btn{padding:12px 24px;font-size:.95rem;font-family:Montserrat,sans-serif;font-weight:500;background:linear-gradient(135deg,#6eb5ff33,#b8d4f14d);border:2px solid rgba(110,181,255,.4);border-radius:25px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #6eb5ff33;transition:all .3s ease;white-space:nowrap}.create-letter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6eb5ff4d;background:linear-gradient(135deg,#6eb5ff4d,#b8d4f166)}.letter-top-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:15px}.letter-action-btns{display:flex;gap:10px}.edit-btn{padding:10px 20px;font-size:.85rem;font-family:Montserrat,sans-serif;font-weight:400;background:#87cefa33;border:2px solid rgba(135,206,250,.5);border-radius:25px;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.edit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #87cefa4d;background:#87cefa4d}.delete-btn{padding:10px 20px;font-size:.85rem;font-family:Montserrat,sans-serif;font-weight:400;background:#ff634733;border:2px solid rgba(255,99,71,.5);border-radius:25px;color:#e74c3c;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.delete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #ff63474d;background:#ff63474d}.loading-message,.error-message{text-align:center;padding:20px;font-family:Montserrat,sans-serif;font-size:1rem;color:#4a90e2;margin:20px 0}.error-message{background:#ff63471a;border:1px solid rgba(255,99,71,.3);border-radius:10px;color:#e74c3c}@media (max-width: 768px){.diary-header{flex-direction:column;align-items:stretch;gap:15px}.reverse-btn{width:100%;padding:12px 20px;font-size:1rem}.tag-filter-dropdown{flex-direction:column;align-items:stretch;padding:12px 15px;gap:8px;margin-bottom:20px}.tag-filter-label{font-size:.85rem}.tag-select{width:100%;padding:10px 14px;font-size:.85rem}.list-header{flex-direction:column;align-items:stretch;gap:15px}.create-letter-btn{width:100%;padding:14px 20px}.letter-top-controls{flex-direction:column;align-items:stretch}.letter-action-btns{width:100%}.edit-btn,.delete-btn{flex:1;padding:12px 18px;font-size:.9rem}}.password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.password-modal-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(110,181,255,.4);border-radius:25px;padding:40px;max-width:450px;width:90%;box-shadow:0 10px 50px #6eb5ff4d;position:relative;animation:slideUp .3s ease}.password-modal-close{position:absolute;top:20px;right:20px;background:#6eb5ff1a;border:2px solid rgba(110,181,255,.3);border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all .3s ease;font-size:1.5rem;color:#4a90e2;display:flex;align-items:center;justify-content:center}.password-modal-close:hover{background:#6eb5ff33;transform:rotate(90deg)}.password-modal-title{font-size:1.8rem;font-weight:600;color:#4a90e2;margin-bottom:15px;text-align:center;font-family:Montserrat,sans-serif}.password-modal-hint{font-size:1rem;color:#0009;text-align:center;margin-bottom:25px;font-family:Montserrat,sans-serif;line-height:1.5}.password-modal-content form{display:flex;flex-direction:column;gap:15px}.password-input{width:100%;padding:15px 20px;font-size:1.1rem;font-family:Montserrat,sans-serif;border:2px solid rgba(110,181,255,.3);border-radius:15px;background:#fffc;color:#333;transition:all .3s ease;outline:none}.password-input:focus{border-color:#6eb5ff99;box-shadow:0 0 0 3px #6eb5ff1a}.password-input.error{border-color:#ff634799;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.password-error-text{color:#e74c3c;font-size:.9rem;font-family:Montserrat,sans-serif;margin:-10px 0 0 5px;animation:fadeIn .2s ease}.password-submit-btn{padding:15px 30px;font-size:1.1rem;font-family:Montserrat,sans-serif;font-weight:500;background:linear-gradient(135deg,#4a90e2,#6eb5ff);border:none;border-radius:15px;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #6eb5ff4d}.password-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #6eb5ff66;background:linear-gradient(135deg,#3d7ec8,#5aa3e8)}.password-submit-btn:active{transform:translateY(0)}@media (max-width: 768px){.password-modal-overlay{align-items:flex-start;padding-top:15vh}.password-modal-content{padding:30px 25px;width:95%;max-height:70vh;overflow-y:auto}.password-modal-title{font-size:1.5rem;margin-bottom:10px}.password-modal-hint{font-size:.9rem;margin-bottom:20px}.password-input{padding:12px 18px;font-size:1rem}.password-submit-btn{padding:12px 25px;font-size:1rem}.password-modal-close{width:35px;height:35px;top:15px;right:15px;font-size:1.3rem}}.letter-media-section{margin:30px 0}.media-item{margin-bottom:25px}.letter-media-img{width:100%;max-width:700px;height:auto;border-radius:15px;box-shadow:0 10px 40px #00000026;display:block;margin:0 auto;transition:transform .3s ease}.letter-media-img:hover{transform:scale(1.02)}.custom-video-container{position:relative;width:100%;max-width:700px;margin:0 auto;border-radius:15px;overflow:hidden;box-shadow:0 10px 40px #00000026;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.custom-video-container:hover{transform:scale(1.01);box-shadow:0 15px 50px #00000040}.letter-media-video{width:100%;height:auto;display:block;background:#000;outline:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.letter-media-video:focus{outline:none}.letter-media-video::-moz-focus-inner{border:0}.video-play-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0000001a,#0000004d);z-index:2;transition:opacity .3s ease}.video-play-button{transition:transform .3s ease;filter:drop-shadow(0 5px 15px rgba(0,0,0,.5))}.video-play-overlay:hover .video-play-button{transform:scale(1.1)}.video-play-button svg circle{transition:all .3s ease}.video-play-overlay:hover .video-play-button svg circle{stroke-width:4;fill:#000c}.video-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:2;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}.custom-video-container:active .video-pause-indicator{opacity:1;animation:pausePulse .3s ease}@keyframes pausePulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.custom-audio-container{width:100%;max-width:600px;margin:0 auto;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(110,181,255,.3);border-radius:20px;padding:20px 25px;box-shadow:0 10px 40px #6eb5ff33;transition:all .3s ease}.custom-audio-container:hover{box-shadow:0 12px 50px #6eb5ff4d;border-color:#6eb5ff80}.audio-controls{display:flex;align-items:center;gap:15px}.audio-play-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#4a90e2,#6eb5ff);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6eb5ff66;flex-shrink:0}.audio-play-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #6eb5ff80;background:linear-gradient(135deg,#5aa3e8,#7cc4ff)}.audio-play-btn:active{transform:scale(.95)}.audio-progress-section{display:flex;align-items:center;gap:12px;flex:1}.audio-time{font-family:Montserrat,sans-serif;font-size:.85rem;color:#4a90e2;font-weight:500;min-width:40px;text-align:center}.audio-progress-bar{flex:1;height:6px;background:#6eb5ff33;border-radius:10px;cursor:pointer;position:relative;overflow:hidden;transition:all .2s ease}.audio-progress-bar:hover{height:8px;background:#6eb5ff40}.audio-progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#6eb5ff);border-radius:10px;transition:width .1s linear;box-shadow:0 0 10px #6eb5ff80}.audio-volume-section{display:flex;align-items:center;gap:8px;color:#4a90e2;flex-shrink:0}.audio-volume-slider{width:80px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#6eb5ff33;border-radius:10px;outline:none;cursor:pointer;transition:all .2s ease}.audio-volume-slider:hover{background:#6eb5ff40}.audio-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:linear-gradient(135deg,#4a90e2,#6eb5ff);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #6eb5ff66;transition:all .2s ease}.audio-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 12px #6eb5ff99}.audio-volume-slider::-moz-range-thumb{width:16px;height:16px;background:linear-gradient(135deg,#4a90e2,#6eb5ff);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px #6eb5ff66;transition:all .2s ease}.audio-volume-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 3px 12px #6eb5ff99}.media-caption{text-align:center;font-family:Montserrat,sans-serif;font-size:.9rem;color:#666;font-style:italic;margin-top:10px;padding:0 20px}.letter-media-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin:40px 0;padding:30px;background:#ffffff80;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.letter-media-gallery .media-item{margin-bottom:0}.letter-media-gallery .letter-media-img,.letter-media-gallery .letter-media-video{max-width:100%}@media (max-width: 768px){.letter-media-section{margin:20px 0}.letter-media-gallery{grid-template-columns:1fr;gap:20px;padding:20px;margin:30px 0}.letter-media-img,.letter-media-video{border-radius:10px}.media-caption{font-size:.85rem;padding:0 10px}.custom-audio-container{padding:15px 18px}.audio-controls{gap:10px}.audio-play-btn{width:42px;height:42px}.audio-time{font-size:.75rem;min-width:35px}.audio-volume-section{display:none}.audio-progress-section{gap:8px}}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite}.home-container{max-width:600px;width:100%;padding-top:40px}.home-header{text-align:center;margin-bottom:60px}.home-title{font-size:3rem;font-weight:700;color:#4a90e2;margin-bottom:10px;text-shadow:0 2px 20px rgba(110,181,255,.3)}.home-subtitle{font-family:Playfair Display,serif;font-size:1.1rem;color:#0009;font-weight:400}.home-menu{display:flex;flex-direction:column;gap:20px}.menu-item{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:20px;padding:30px;cursor:pointer;transition:all .3s ease;text-align:left;box-shadow:0 4px 20px #6eb5ff26;display:flex;align-items:center;gap:20px}.menu-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #6eb5ff4d;border-color:#6eb5ff80}.menu-icon{width:60px;height:60px;flex-shrink:0;filter:brightness(0) saturate(100%) invert(50%) sepia(75%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(90%);transition:all .3s ease}.menu-item:hover .menu-icon{filter:brightness(0) saturate(100%) invert(50%) sepia(85%) saturate(2000%) hue-rotate(180deg) brightness(100%) contrast(95%);transform:scale(1.1)}.menu-title{font-size:1.5rem;font-weight:600;color:#4a90e2;margin:0}.menu-description{font-size:1rem;color:#0009;margin:0}.quote-btn{width:100%;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:20px;padding:20px 30px;margin-bottom:30px;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 4px 20px #6eb5ff26;font-size:1.1rem;color:#4a90e2;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px}.quote-icon{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(50%) sepia(75%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(90%);transition:all .3s ease}.quote-btn:hover{transform:translateY(-3px);box-shadow:0 8px 30px #6eb5ff40;border-color:#6eb5ff80}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(110,181,255,.4);border-radius:25px;padding:40px;max-width:600px;width:90%;box-shadow:0 10px 50px #6eb5ff4d;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:20px;right:20px;background:#6eb5ff1a;border:2px solid rgba(110,181,255,.3);border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all .3s ease;font-size:1.5rem;color:#4a90e2;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#6eb5ff33;transform:rotate(90deg)}.modal-title{font-size:1.8rem;font-weight:600;color:#4a90e2;margin-bottom:30px;text-align:center}.quote-text{font-family:Playfair Display,serif;font-size:1.5rem;font-style:italic;color:#333;margin:0 0 20px;text-align:center;line-height:1.6}.quote-author{font-size:1.1rem;color:#4a90e2;text-align:right;font-weight:500;margin:0}.home-footer{text-align:center;margin-top:60px;padding-top:30px;border-top:1px solid rgba(0,0,0,.1)}.home-footer p{color:#0006;font-size:.9rem}@media (max-width: 768px){.home-title{font-size:2.5rem}.home-subtitle{font-size:1rem}.menu-item{padding:25px}.menu-icon{width:50px;height:50px}.menu-title{font-size:1.3rem}.quote-btn{font-size:1rem;padding:15px 25px}.modal-content{padding:30px;width:95%}.modal-title{font-size:1.5rem}.quote-text{font-size:1.2rem}.quote-author{font-size:1rem}}.schedule-page{min-height:100vh;padding:20px;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite}.schedule-container{max-width:800px;margin:0 auto;padding-top:100px;padding-bottom:40px}.schedule-header{text-align:center;margin-bottom:40px}.schedule-header h1{font-size:2.5rem;font-weight:700;color:#4a90e2;margin-bottom:10px;text-shadow:0 2px 20px rgba(110,181,255,.3)}.schedule-header p{font-size:1.1rem;color:#0009}.schedule-list{display:flex;flex-direction:column;gap:15px}.schedule-item{display:flex;align-items:center;gap:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:15px;padding:20px 25px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6eb5ff1a}.schedule-item:hover{transform:translateY(-3px);box-shadow:0 8px 25px #6eb5ff40;border-color:#6eb5ff80}.schedule-time{font-size:1.1rem;font-weight:600;color:#4a90e2;min-width:60px}.schedule-content{flex:1;display:flex;flex-direction:column;gap:5px}.schedule-title{font-size:1.1rem;font-weight:600;color:#333}.schedule-description{font-size:.95rem;color:#0009}.schedule-arrow{font-size:1.2rem;color:#4a90e2;opacity:.5;transition:all .3s ease}.schedule-item:hover .schedule-arrow{opacity:1;transform:translate(5px)}@media (max-width: 768px){.schedule-header h1{font-size:2rem}.day-toggle{flex-direction:column;gap:10px}.toggle-btn{width:100%}.schedule-item{flex-direction:column;align-items:flex-start;gap:10px}.schedule-time{min-width:auto}.schedule-arrow{display:none}}.dictionary-page{min-height:100vh;padding:20px;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite}.dictionary-container{max-width:800px;margin:0 auto;padding-top:100px;padding-bottom:40px}.dictionary-header{text-align:center;margin-bottom:40px}.dictionary-header h1{font-size:2.5rem;font-weight:700;color:#4a90e2;margin-bottom:10px;text-shadow:0 2px 20px rgba(110,181,255,.3)}.dictionary-header p{font-size:1.1rem;color:#0009}.day-toggle{display:flex;gap:15px;justify-content:center;margin-bottom:40px}.toggle-btn{padding:12px 30px;font-size:1rem;font-weight:500;background:#ffffffe6;border:2px solid rgba(110,181,255,.3);border-radius:50px;color:#0009;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 4px 15px #6eb5ff1a}.toggle-btn:hover{border-color:#6eb5ff80;transform:translateY(-2px);box-shadow:0 6px 20px #6eb5ff33}.toggle-btn.active{background:linear-gradient(135deg,#4a90e2,#6eb5ff);color:#fff;border-color:transparent;box-shadow:0 6px 25px #6eb5ff66}.dictionary-list{display:flex;flex-direction:column;gap:15px}.dictionary-item{display:flex;align-items:center;gap:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:15px;padding:20px 25px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6eb5ff1a}.dictionary-item:hover{transform:translateY(-3px);box-shadow:0 8px 25px #6eb5ff40;border-color:#6eb5ff80}.dictionary-time{font-size:1.1rem;font-weight:600;color:#4a90e2;min-width:60px}.dictionary-content{flex:1;display:flex;flex-direction:column;gap:5px}.dictionary-word{font-size:1.1rem;font-weight:600;color:#333}.dictionary-translation{font-size:.95rem;color:#0009}.dictionary-arrow{font-size:1.2rem;color:#4a90e2;opacity:.5;transition:all .3s ease}.dictionary-item:hover .dictionary-arrow{opacity:1;transform:translate(5px)}@media (max-width: 768px){.dictionary-header h1{font-size:2rem}.day-toggle{flex-direction:column;gap:10px}.toggle-btn{width:100%}.dictionary-item{flex-direction:column;align-items:flex-start;gap:10px}.dictionary-time{min-width:auto}.dictionary-arrow{display:none}}.uni-page{min-height:100vh;padding:20px;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite}.uni-container{max-width:800px;margin:0 auto;padding-top:100px;padding-bottom:40px}.uni-header{text-align:center;margin-bottom:50px}.uni-header h1{font-size:2.5rem;font-weight:700;color:#4a90e2;margin-bottom:10px;text-shadow:0 2px 20px rgba(110,181,255,.3)}.tagline{font-size:1.2rem;color:#0009;font-weight:500}.uni-content{display:flex;flex-direction:column;gap:30px}.uni-section{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:20px;padding:30px;box-shadow:0 4px 20px #6eb5ff26}.uni-section h2{font-size:1.5rem;font-weight:600;color:#4a90e2;margin-bottom:20px;border-bottom:2px solid rgba(110,181,255,.3);padding-bottom:10px}.uni-section p{color:#000000b3;line-height:1.6;font-size:1.05rem}.role-card h3{color:#4a90e2;font-size:1.2rem;margin-bottom:15px}.role-card ul{list-style:none;padding:0}.role-card li{padding:8px 0 8px 25px;position:relative;color:#000000b3}.role-card li:before{content:"→";position:absolute;left:0;color:#4a90e2;font-weight:700}.tech-stack{display:flex;flex-wrap:wrap;gap:10px}.tech-tag{background:linear-gradient(135deg,#4a90e2,#6eb5ff);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;box-shadow:0 2px 10px #6eb5ff4d}.status-card{display:flex;flex-direction:column;gap:15px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.1)}.status-item:last-child{border-bottom:none}.status-label{font-weight:600;color:#333}.status-value{color:#000000b3}.status-live{font-weight:600;color:#4caf50}.milestone{background:linear-gradient(135deg,#4a90e21a,#6eb5ff1a);border-color:#6eb5ff66}.milestone blockquote{margin:0;padding:0;font-size:1.1rem;font-style:italic;color:#333;line-height:1.6}@media (max-width: 768px){.uni-header h1{font-size:2rem}.tagline{font-size:1rem}.uni-section{padding:20px}.uni-section h2{font-size:1.3rem}.status-item{flex-direction:column;align-items:flex-start;gap:5px}}.music-page{min-height:100vh;padding:20px;background:linear-gradient(135deg,#e8f4f8,#d0e8f2,#b8d4f1,#a8c8e8,#e8f4f8);background-size:400% 400%;animation:gradientShift 30s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.music-container{max-width:800px;margin:0 auto;padding-top:100px;padding-bottom:200px}.back-btn{background:#b8d4f133;border:2px solid rgba(110,181,255,.5);border-radius:50px;padding:12px 30px;font-size:1rem;color:#4a90e2;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #6eb5ff33;transition:all .3s ease;margin-bottom:30px;position:relative;z-index:10}.back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 30px #6eb5ff4d}.music-header{text-align:center;margin-bottom:50px}.music-header h1{font-size:2.5rem;font-weight:700;color:#4a90e2;margin-bottom:10px;text-shadow:0 2px 20px rgba(110,181,255,.3)}.music-header p{font-size:1.1rem;color:#0009}.fixed-player{position:fixed;bottom:0;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:2px solid rgba(110,181,255,.4);padding:20px;box-shadow:0 -8px 30px #6eb5ff4d;z-index:1000;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fixed-player-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:15px}.player-track-info{display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center}.player-track-name{font-size:1.5rem;font-weight:600;color:#333}.player-artist-name{font-size:.95rem;color:#4a90e2;font-weight:400}.player-controls{display:flex;align-items:center;gap:20px;justify-content:center}.control-btn{background:#6eb5ff1a;border:2px solid rgba(110,181,255,.3);cursor:pointer;transition:all .3s ease;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center}.control-icon{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(50%) sepia(75%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(90%);transition:all .3s ease}.play-icon{width:28px;height:28px}.control-btn.play-pause{width:60px;height:60px;background:linear-gradient(135deg,#4a90e2,#6eb5ff)!important;border:none;box-shadow:0 4px 15px #6eb5ff66}.control-btn.play-pause .control-icon{filter:brightness(0) invert(1)}.control-btn.play-pause:hover{box-shadow:0 6px 20px #6eb5ff80;transform:scale(1.05)}.control-btn.play-pause:active,.control-btn.play-pause:focus{background:linear-gradient(135deg,#4a90e2,#6eb5ff)!important;color:#fff!important;outline:none}.control-btn:active,.control-btn:focus{outline:none}.control-btn:hover{background:#6eb5ff33;border-color:#6eb5ff80;transform:scale(1.1)}.player-progress{display:flex;align-items:center;gap:15px;width:100%}.progress-bar{flex:1;height:6px;background:#6eb5ff33;border-radius:10px;cursor:pointer;position:relative;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#6eb5ff);border-radius:10px;transition:width .1s linear;box-shadow:0 0 10px #6eb5ff80}.time-current,.time-duration{font-size:.9rem;color:#4a90e2;font-weight:500;min-width:40px;text-align:center}.music-item.playing{border-color:#6eb5ff99;background:#4a90e20d;box-shadow:0 8px 25px #6eb5ff4d}.music-list{display:flex;flex-direction:column;gap:15px}.music-item{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:15px;padding:15px 25px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6eb5ff1a}.music-item:hover{transform:translateY(-3px);box-shadow:0 8px 25px #6eb5ff40;border-color:#6eb5ff80}.music-content{flex:1;display:flex;flex-direction:column;gap:5px}.music-track{font-size:1.1rem;font-weight:600;color:#333}.music-artist{font-size:.9rem;font-weight:500;color:#4a90e2}.music-mood{font-size:.9rem;color:#00000080;font-style:italic}.music-icon{font-size:1.5rem;color:#4a90e2;opacity:.5;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.music-icon-img{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(50%) sepia(75%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(90%);transition:all .3s ease}.music-item:hover .music-icon{opacity:1;transform:scale(1.2)}.empty-state{text-align:center;padding:60px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(110,181,255,.3);border-radius:20px;box-shadow:0 4px 20px #6eb5ff26}.empty-state p{font-size:1.1rem;color:#00000080;margin-bottom:10px}.empty-hint{font-size:.9rem;color:#4a90e2;font-family:Courier New,monospace}@media (max-width: 768px){.music-header h1{font-size:2rem}.music-item{padding:12px 20px}.music-track{font-size:1rem}.fixed-player{padding:15px}.control-btn{width:45px;height:45px;font-size:1.3rem}.control-btn.play-pause{width:55px;height:55px;font-size:1.6rem}.player-progress{gap:10px}.time-current,.time-duration{font-size:.8rem;min-width:35px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Montserrat,sans-serif;overflow-x:hidden;background:#e8f4f8;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#6eb5ff1a}::-webkit-scrollbar-thumb{background:#6eb5ff80;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6eb5ffb3}
