* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #000; color: #ffffff; min-height: 100vh; overflow-x: hidden; } .starfield { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -2; background: #000; } .star { position: absolute; background: white; border-radius: 50%; animation: twinkle 4s infinite; } @keyframes twinkle { 0%, 100% { opacity: 0.3; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } } .physics-elements { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; overflow: hidden; } .atom { position: absolute; width: 120px; height: 120px; opacity: 0.3; } .nucleus { position: absolute; width: 20px; height: 20px; background: radial-gradient(circle, var(--main-pink), var(--main-pink)); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 20px rgba(248, 180, 192, 0.5); } .electron-orbit { position: absolute; border: 1px solid rgba(248, 180, 192, 0.3); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); } .electron-orbit:nth-child(2) { width: 60px; height: 60px; animation: rotate 3s linear infinite; } .electron-orbit:nth-child(3) { width: 90px; height: 90px; animation: rotate 5s linear infinite reverse; } .electron-orbit:nth-child(4) { width: 110px; height: 110px; animation: rotate 7s linear infinite; } .electron { position: absolute; width: 6px; height: 6px; background: var(--main-pink); border-radius: 50%; top: -3px; left: 50%; transform: translateX(-50%); box-shadow: 0 0 10px var(--main-pink); } @keyframes rotate { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } } .wave-pattern { position: absolute; width: 300px; height: 100px; opacity: 0.2; } .wave-path { stroke: var(--main-pink); stroke-width: 2; fill: none; filter: drop-shadow(0 0 5px var(--main-pink)); } .formula { position: absolute; font-family: 'Times New Roman', serif; font-style: italic; color: rgba(248, 180, 192, 0.3); font-size: 18px; animation: float-formula 20s infinite; text-shadow: 0 0 5px rgba(248, 180, 192, 0.3); } .formula-large { font-size: 24px; color: rgba(255, 192, 203, 0.25); } @keyframes float-formula { 0% { transform: translateY(100vh) rotate(0deg); opacity: 0; } 3% { opacity: 0.3; } 97% { opacity: 0.3; } 100% { transform: translateY(-100vh) rotate(360deg); opacity: 0; } } .newton-cradle { position: absolute; width: 200px; height: 150px; opacity: 0.3; } .cradle-frame { position: absolute; width: 100%; height: 100%; } .cradle-line { stroke: rgba(248, 180, 192, 0.4); stroke-width: 1; fill: none; } .cradle-ball { fill: var(--main-pink); filter: drop-shadow(0 0 5px rgba(248, 180, 192, 0.5)); } .cradle-ball:first-child { animation: swing-left 2s ease-in-out infinite; transform-origin: 50px 20px; } .cradle-ball:last-child { animation: swing-right 2s ease-in-out infinite; transform-origin: 150px 20px; } @keyframes swing-left { 0%, 50%, 100% { transform: rotate(0deg); } 25% { transform: rotate(-30deg); } } @keyframes swing-right { 0%, 50%, 100% { transform: rotate(0deg); } 75% { transform: rotate(30deg); } } .spring-oscillator { position: absolute; width: 60px; height: 150px; opacity: 0.3; } .spring { stroke: rgba(248, 180, 192, 0.5); stroke-width: 2; fill: none; } .mass-block { fill: var(--main-pink); animation: oscillate 1.5s ease-in-out infinite; } @keyframes oscillate { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(30px); } } .pendulum { position: absolute; width: 100px; height: 120px; opacity: 0.3; } .pendulum-string { stroke: rgba(248, 180, 192, 0.4); stroke-width: 1; } .pendulum-bob { fill: var(--main-pink); filter: drop-shadow(0 0 8px rgba(248, 180, 192, 0.6)); animation: pendulum-swing 3s ease-in-out infinite; transform-origin: 50px 10px; } @keyframes pendulum-swing { 0%, 100% { transform: rotate(-20deg); } 50% { transform: rotate(20deg); } } .pulley-system { position: absolute; width: 150px; height: 180px; opacity: 0.3; } .pulley-wheel { stroke: rgba(248, 180, 192, 0.4); stroke-width: 2; fill: none; } .pulley-rope { stroke: rgba(255, 192, 203, 0.4); stroke-width: 1; stroke-dasharray: 5, 3; animation: rope-move 3s linear infinite; } @keyframes rope-move { 0% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -8; } } .pulley-weight { fill: var(--main-pink); animation: weight-move 3s ease-in-out infinite; } @keyframes weight-move { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } .optics-prism { position: absolute; width: 150px; height: 120px; opacity: 0.3; } .prism { fill: rgba(248, 180, 192, 0.2); stroke: rgba(248, 180, 192, 0.5); stroke-width: 1; } .light-ray { stroke-width: 2; opacity: 0.8; } .ray-white { stroke: rgba(255, 255, 255, 0.6); } .ray-red { stroke: rgba(255, 100, 100, 0.6); } .ray-green { stroke: rgba(100, 255, 100, 0.6); } .ray-blue { stroke: rgba(100, 100, 255, 0.6); } .circuit-diagram { position: absolute; width: 180px; height: 140px; opacity: 0.25; } .circuit-line { stroke: rgba(248, 180, 192, 0.5); stroke-width: 2; fill: none; } .circuit-component { fill: none; stroke: rgba(248, 180, 192, 0.6); stroke-width: 2; } .electron-flow { fill: var(--main-pink); animation: electron-move 2s linear infinite; } @keyframes electron-move { 0% { transform: translateX(0); } 100% { transform: translateX(160px); } } .magnetic-field { position: absolute; width: 160px; height: 160px; opacity: 0.25; } .field-line-magnetic { stroke: rgba(248, 180, 192, 0.4); stroke-width: 1; fill: none; stroke-dasharray: 3, 3; } .magnet-pole { font-size: 20px; fill: var(--main-pink); text-anchor: middle; } .field-lines { position: absolute; width: 200px; height: 200px; opacity: 0.2; } .field-line { stroke: rgba(248, 180, 192, 0.4); stroke-width: 1; fill: none; stroke-dasharray: 5, 5; animation: dash 2s linear infinite; } @keyframes dash { to { stroke-dashoffset: -10; } } .quantum-particle { position: absolute; width: 4px; height: 4px; background: var(--main-pink); border-radius: 50%; box-shadow: 0 0 6px var(--main-pink); animation: quantum-move 10s infinite; } @keyframes quantum-move { 0%, 100% { transform: translate(0, 0); opacity: 0; } 25% { transform: translate(100px, -50px); opacity: 1; } 50% { transform: translate(-50px, -100px); opacity: 0.5; } 75% { transform: translate(50px, 50px); opacity: 1; } } .glow-particle { position: absolute; width: 2px; height: 2px; background: var(--main-pink); border-radius: 50%; box-shadow: 0 0 10px var(--main-pink), 0 0 20px var(--main-pink); animation: float-glow 20s infinite; } @keyframes float-glow { 0% { transform: translateY(100vh) translateX(0); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(-100vh) translateX(100px); opacity: 0; } } .grid-bg { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -3; background-image: linear-gradient(rgba(248, 180, 192, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(248, 180, 192, 0.05) 1px, transparent 1px); background-size: 50px 50px; animation: grid-move 20s linear infinite; } @keyframes grid-move { 0% { transform: translate(0, 0); } 100% { transform: translate(50px, 50px); } } .container { max-width: 600px; margin: 0 auto; padding: 40px 20px; position: relative; z-index: 1; } .logo-section { text-align: center; margin-bottom: 30px; animation: fadeInDown 0.8s ease-out; } .logo { width: 260px; height: 330px; margin: 0 auto 0px; display: flex; align-items: center; justify-content: center; position: relative; padding: 40px; overflow: visible; } .logo img { width: 100%; height: 100%; object-fit: contain; padding: 10px; position: relative; z-index: 2; } .hydrogen-orbit { position: absolute; width: 400px; height: 400px; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; overflow: visible; } .orbit-path { stroke: rgba(248, 180, 192, 0.3); stroke-width: 2; fill: rgba(255, 245, 245, 0.7); } .electron-container { transform-origin: 150px 150px; animation: orbit-rotation 4s linear infinite; } .electron { fill: var(--main-pink); filter: drop-shadow(0 0 15px var(--main-pink)); } @keyframes orbit-rotation { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } @keyframes shine { 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); } 100% { transform: translateX(100%) translateY(100%) rotate(45deg); } } h1 { font-size: 32px; font-weight: 700; margin-bottom: 10px; background: var(--main-pink); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .tagline { color: #999; font-size: 16px; margin-bottom: 40px; } .courses-section { margin: 40px 0; animation: fadeInUp 0.8s ease-out 0.3s both; } .section-title { color: var(--main-pink); font-size: 24px; margin-bottom: 20px; text-align: center; } .courses-container { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; padding: 10px 0 20px; margin: 0 -20px; scrollbar-width: thin; scrollbar-color: var(--main-pink) #333; position: relative; } .courses-container::-webkit-scrollbar { height: 8px; margin: 10px; } .courses-container::-webkit-scrollbar-track { background: #333; border-radius: 10px; margin: 0 20px; } .courses-container::-webkit-scrollbar-thumb { background: var(--main-pink); border-radius: 10px; border: 2px solid #333; } .courses-container::-webkit-scrollbar-thumb:hover { background: var(--main-pink); } .courses-wrapper { display: flex; gap: 20px; padding: 0 20px; width: max-content; } .course-card { background: #222222; backdrop-filter: blur(10px); border-radius: 20px; overflow: hidden; min-width: 280px; max-width: 280px; border: 1px solid rgba(248, 180, 192, 0.3); transition: all 0.3s ease; cursor: pointer; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); text-decoration: none; color: inherit; margin-bottom: 0px; } .course-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(248, 180, 192, 0.3); border-color: var(--main-pink); } .course-image { height: 200px; background: linear-gradient(135deg, var(--main-pink), var(--main-pink)); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .course-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; } .course-card:hover .course-image img { transform: scale(1.05); } .course-badge { position: absolute; top: 15px; right: 15px; background: rgba(0, 0, 0, 0.8); color: #fff; padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; backdrop-filter: blur(10px); } .course-icon { font-size: 80px; filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.3)); animation: float-icon 3s ease-in-out infinite; } @keyframes float-icon { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } .course-info { padding: 20px; } .course-info h3 { color: #fff; font-size: 20px; margin-bottom: 10px; font-weight: 600; } .course-desc { color: #999; font-size: 14px; margin-bottom: 15px; line-height: 1.5; } .course-details { display: flex; gap: 15px; margin-bottom: 20px; font-size: 13px; color: #ccc; } .course-price { display: flex; align-items: baseline; gap: 10px; padding-top: 15px; border-top: 1px solid #333; } .price-label { color: #999; font-size: 14px; } .price-amount { color: #f54a75; font-size: 28px; font-weight: 700; } .scroll-indicator { text-align: center; margin-top: 15px; color: #666; font-size: 14px; animation: pulse 2s infinite; } @keyframes pulse { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } } @media (max-width: 640px) { h1 { font-size: 28px; } .logo { width: 200px; height: 240px; padding: 30px; } .hydrogen-orbit { width: 280px; height: 280px; top: 50%; left: 50%; transform: translate(-50%, -50%); } .electron-container { transform-origin: 110px 110px; } .teacher-card { padding: 20px; } .link-button { padding: 16px 20px; font-size: 15px; } .course-card { min-width: 250px; max-width: 250px; } .scroll-indicator { font-size: 12px; } .courses-container { scrollbar-width: thin; scrollbar-color: var(--main-pink) #333; } .courses-container::-webkit-scrollbar { height: 6px; display: block !important; } .courses-container::-webkit-scrollbar-track { background: #333; border-radius: 10px; margin: 0 15px; } .courses-container::-webkit-scrollbar-thumb { background: var(--main-pink); border-radius: 10px; border: 1px solid #333; } } .teacher-card { background: #222222; border-radius: 20px; padding: 30px; margin-bottom: 30px; border: 1px solid rgba(248, 180, 192, 0.2); animation: fadeInUp 0.8s ease-out 0.2s both; position: relative; overflow: hidden; } .teacher-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--main-pink), var(--main-pink)); } .teacher-card h2 { color: var(--main-pink); margin-bottom: 15px; font-size: 24px; } .teacher-info { line-height: 1.8; color: #ccc; } .highlight { color: var(--main-pink); font-weight: 600; } .link-button { display: block; width: 100%; padding: 18px 24px; margin-bottom: 16px; background: #222222; border: 1px solid rgba(248, 180, 192, 0.3); border-radius: 15px; text-decoration: none; color: #fff; font-size: 16px; font-weight: 500; text-align: center; transition: all 0.3s ease; position: relative; overflow: hidden; animation: fadeInUp 0.8s ease-out both; } .link-button:nth-child(1) { animation-delay: 0.3s; } .link-button:nth-child(2) { animation-delay: 0.4s; } .link-button:nth-child(3) { animation-delay: 0.5s; } .link-button:nth-child(4) { animation-delay: 0.6s; } .link-button:nth-child(5) { animation-delay: 0.7s; } .link-button:nth-child(6) { animation-delay: 0.8s; } .link-button::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: rgba(248, 180, 192, 0.3); border-radius: 50%; transform: translate(-50%, -50%); transition: width 0.5s, height 0.5s; } .link-button:hover::before { width: 300px; height: 300px; } .link-button:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(248, 180, 192, 0.3); border-color: var(--main-pink); } .link-button-hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(248, 180, 192, 0.3); border-color: var(--main-pink); } .link-button-hover::before { content: ''; position: absolute; top: 50%; left: 50%; width: 300px; height: 300px; background: rgba(248, 180, 192, 0.3); border-radius: 50%; transform: translate(-50%, -50%); transition: width 0.5s, height 0.5s; } .link-button span { position: relative; z-index: 1; } .link-icon { display: inline-block; margin-right: 10px; font-size: 20px; } @keyframes fadeInDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .footer { text-align: center; margin-top: 50px; padding-top: 30px; border-top: 1px solid #333; color: #666; font-size: 14px; } @media (max-width: 640px) { h1 { font-size: 28px; } .teacher-card { padding: 20px; } .link-button { padding: 16px 20px; font-size: 15px; } } @keyframes star-float { 0% { transform: translateY(0); opacity: 0.5; } 50% { transform: translateY(-10px); opacity: 1; } 100% { transform: translateY(0); opacity: 0.5; } } @keyframes pop-in { 0% { transform: scale(0.8); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes float-up { 0% { opacity: 0; transform: translateY(30px); } 100% { opacity: 1; transform: translateY(0); } } .links-section { animation: float-up 0.8s ease-out; animation-delay: 0.3s; animation-fill-mode: both; } .partners-section { margin-top: 40px; padding: 20px; background-color: rgba(255, 255, 255, 0.5); border: 1px solid rgba(248, 180, 192, 0.3); border-radius: 15px; text-align: center; backdrop-filter: blur(10px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: all 0.3s ease; animation: fade-slide-up 0.8s ease-out; animation-delay: 0.3s; animation-fill-mode: both; } .partners-section:hover { border-color: var(--main-pink); box-shadow: 0 8px 20px rgba(248, 180, 192, 0.35), 0 0 12px rgba(255, 255, 255, 0.1); transform: translateY(-4px); } .partner-box:hover .partner-image { transform: scale(1.05); transition: transform 0.2s ease; } .partners-section .section-title { font-size: 20px; color: var(--main-pink); margin-bottom: 15px; } .partner-box { display: flex; justify-content: center; align-items: center; min-height: 120px; } .partner-image { max-height: 150px; max-width: 90%; object-fit: contain; filter: drop-shadow(0 0 6px rgba(256, 256, 256, 0.4)); } @keyframes fade-slide-up { 0% { opacity: 0; transform: translateY(30px); } 100% { opacity: 1; transform: translateY(0); } } .footer { margin-top: auto; padding-bottom: 40px; } .typewriter-soft { font-size: 18px; font-weight: 500; text-align: center; line-height: 1.8; color: #f0f0f0; white-space: pre-wrap; margin: 20px 0 4px; text-shadow: 0 0 6px rgba(255, 192, 203, 0.15); min-height: 3.8em; letter-spacing: 0.3px; position: relative; } .typewriter-soft::before { content: "“"; font-size: 36px; color: var(--main-pink); position: absolute; left: -16px; top: -8px; opacity: 0.2; } .typewriter-soft::after { content: "”"; font-size: 36px; color: var(--main-pink); position: absolute; right: -16px; bottom: -8px; opacity: 0.2; } .cursor { display: inline-block; margin-left: 2px; color: var(--main-pink); animation: blink 1s step-end infinite; font-weight: bold; text-shadow: 0 0 4px rgba(255, 192, 203, 0.3); } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } .teacher-info, .course-desc { font-size: 15px; } .course-details, .price-label { font-size: 14px; } .scroll-indicator { font-size: 14px; } .fade-in-up { opacity: 0; transform: translateY(20px); animation: fadeInUp 0.7s ease-out forwards; animation-delay: 0.3s; } :root { --main-pink: #f56a7a; --text-color: #ffffff; --bg-dark: #000000; } .features-carousel-section { max-width: 800px; width: 100%; margin: 40px auto; position: relative; } .section-title { color: var(--main-pink); font-size: 24px; margin-bottom: 40px; text-align: center; font-weight: 600; } .carousel-container { position: relative; width: 100%; padding: 0 60px; } .features-wrapper { position: relative; overflow: hidden; border-radius: 20px; min-height: 300px; } .feature-card { position: absolute; width: 100%; background: #222222; border-radius: 20px; padding: 40px; border: 1px solid rgba(248, 180, 192, 0.3); backdrop-filter: blur(10px); display: flex; flex-direction: column; align-items: center; text-align: center; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); opacity: 0; transform: translateX(100%) scale(0.8); transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1); } .feature-card.active { opacity: 1; transform: translateX(0) scale(1); z-index: 2; } .feature-card.prev { opacity: 0; transform: translateX(-100%) scale(0.8); z-index: 1; } .feature-card.next { opacity: 0.3; transform: translateX(90%) scale(0.9); z-index: 1; } .feature-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--main-pink), transparent); transform: translateX(-100%); animation: shimmer 3s infinite; } @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } .feature-icon { width: 80px; height: 80px; background: linear-gradient(135deg, var(--main-pink), #ff8fa3); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 40px; margin-bottom: 25px; box-shadow: 0 8px 25px rgba(245, 106, 122, 0.3); position: relative; animation: float-icon 3s ease-in-out infinite; } @keyframes float-icon { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } } .feature-icon::after { content: ''; position: absolute; width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle, transparent 30%, rgba(245, 106, 122, 0.2)); animation: pulse-icon 2s ease-out infinite; } @keyframes pulse-icon { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } } .feature-title { font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 15px; background: linear-gradient(135deg, #fff, var(--main-pink)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .feature-desc { font-size: 18px; line-height: 1.6; color: #ccc; margin-bottom: 25px; max-width: 500px; } .feature-points { list-style: none; text-align: left; width: 100%; max-width: 400px; } .feature-points li { padding: 8px 0; padding-left: 28px; position: relative; color: #ddd; font-size: 18px; transition: all 0.3s ease; line-height: 1.5; list-style: none; } .feature-points li::before { content: '✓'; color: var(--main-pink); font-weight: bold; font-size: 18px; margin-right: 10px; display: inline-block; vertical-align: middle; } @media (max-width: 768px) { .feature-points li::before { margin-right: 15px; font-size: 18px; } } } .feature-points li:hover { color: #fff; transform: translateX(5px); } .circular-progress { position: absolute; width: 45px; height: 45px; top: 50%; transform: translateY(-50%); cursor: pointer; transition: all 0.3s ease; } .circular-progress:hover { transform: translateY(-50%) scale(1.1); } .circular-progress.left { left: 0; } .circular-progress.right { right: 0; } .circular-progress svg { width: 100%; height: 100%; transform: rotate(-90deg); } .progress-bg { fill: none; stroke: rgba(255, 255, 255, 0.1); stroke-width: 3; } .progress-fill { fill: none; stroke: var(--main-pink); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 126; stroke-dashoffset: 126; transition: stroke-dashoffset 0.3s ease; } .progress-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 30px; height: 30px; border-radius: 50%; background: rgba(255, 255, 255, 0.05); display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, 0.6); font-size: 16px; transition: all 0.3s ease; } .circular-progress:hover .progress-center { background: rgba(248, 180, 192, 0.1); color: var(--main-pink); } .carousel-indicators { display: flex; justify-content: center; gap: 8px; margin-top: 30px; } .indicator { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative; } .indicator::after { content: ''; position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px; border-radius: 50%; border: 2px solid transparent; transition: all 0.3s ease; } .indicator:hover::after { border-color: rgba(248, 180, 192, 0.5); } .indicator.active { width: 24px; border-radius: 4px; background: var(--main-pink); } .autoplay-progress { position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 200px; height: 2px; background: rgba(255, 255, 255, 0.1); border-radius: 1px; overflow: hidden; } .autoplay-fill { height: 100%; background: var(--main-pink); width: 0; transition: width 5s linear; } .autoplay-fill.active { width: 100%; } .swipe-hint { position: absolute; bottom: 50px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.7); color: white; padding: 8px 16px; border-radius: 20px; font-size: 13px; pointer-events: none; opacity: 0; transition: opacity 0.3s; z-index: 10; } .swipe-hint.show { opacity: 1; } @media (max-width: 768px) { .carousel-container { padding: 0 50px; } .feature-card { padding: 30px 25px; } .feature-icon { width: 70px; height: 70px; font-size: 35px; margin-bottom: 20px; } .feature-title { font-size: 20px; } .feature-desc { font-size: 16px; margin-bottom: 20px; } .feature-points li { font-size: 16px; padding: 6px 0; } .circular-progress { width: 40px; height: 40px; } .swipe-hint { font-size: 12px; bottom: 40px; } } @media (max-width: 480px) { .carousel-container { padding: 0 40px; } .section-title { font-size: 20px; margin-bottom: 30px; } .feature-card { padding: 25px 20px; } .circular-progress { width: 35px; height: 35px; } } .signup-button-wrapper { display: flex; justify-content: center; position: fixed; bottom: 20px; width: 100%; z-index: 9999; } #signupButton { padding: 20px 40px; background-color: #f56a7a; color: white; border: none; border-radius: 15px; cursor: pointer; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); font-size: 18px; font-weight: bold; transition: all 0.3s ease-in-out; animation: fadeInUp 1s ease-out, bounce 1s ease-in-out infinite; } @keyframes fadeInUp { 0% { opacity: 0; transform: translateY(30px); } 100% { opacity: 1; transform: translateY(0); } } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } @keyframes blingEffect { 0% { box-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff; } 50% { box-shadow: 0 0 30px #fff, 0 0 40px #fff, 0 0 50px #fff; } 100% { box-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff; } } #signupButton:hover { animation: blingEffect 1.5s infinite alternate; } .carousel-container { position: relative; opacity: 0; transform: translateY(50px); transition: all 0.5s ease; animation: slideIn 1s ease-out forwards; } @keyframes slideIn { 0% { opacity: 0; transform: translateY(50px); } 100% { opacity: 1; transform: translateY(0); } } .carousel-item { background-color: #f0f0f0; margin: 10px; padding: 20px; border-radius: 5px; }