| |
| |
| |
| |
| |
|
|
| #splash { |
| position: fixed; inset: 0; z-index: 6000; |
| background: |
| radial-gradient(900px 600px at 85% 10%, rgba(220, 20, 60, 0.06), transparent 60%), |
| radial-gradient(800px 600px at 10% 90%, rgba(220, 20, 60, 0.05), transparent 60%), |
| #FFFFFF; |
| overflow: hidden; |
| cursor: pointer; |
| opacity: 1; |
| transition: opacity 0.55s ease; |
| } |
| #splash.phase-out { opacity: 0; pointer-events: none; } |
|
|
| |
| .splash-blob { |
| position: absolute; border-radius: 50%; filter: blur(70px); |
| opacity: 0; transition: opacity 1.2s ease; |
| } |
| .splash-blob.b1 { |
| width: 420px; height: 420px; left: 50%; top: 38%; |
| transform: translate(-78%, -50%); |
| background: radial-gradient(circle, rgba(255, 77, 109, 0.35), transparent 65%); |
| } |
| .splash-blob.b2 { |
| width: 360px; height: 360px; left: 50%; top: 52%; |
| transform: translate(-12%, -50%); |
| background: radial-gradient(circle, rgba(142, 11, 38, 0.25), transparent 65%); |
| } |
| #splash.phase-text .splash-blob { opacity: 1; } |
|
|
| |
| #splash-svg { position: absolute; inset: 0; width: 100%; height: 100%; } |
|
|
| #trail { |
| stroke: url(#trail-grad); |
| stroke-width: 5; |
| fill: none; |
| stroke-linecap: round; |
| filter: drop-shadow(0 2px 10px rgba(220, 20, 60, 0.35)); |
| transition: opacity 0.6s ease; |
| } |
| #splash.phase-logo #trail { |
| opacity: 0.22; |
| stroke-dasharray: 7 12 !important; |
| transition: opacity 0.6s ease, stroke-dasharray 0.6s ease; |
| } |
|
|
| #plane { |
| filter: drop-shadow(0 0 14px rgba(255, 61, 96, 0.75)) |
| drop-shadow(0 4px 8px rgba(122, 9, 32, 0.3)); |
| transition: opacity 0.3s ease; |
| } |
| #splash.phase-logo #plane { opacity: 0; } |
|
|
| |
| .net { opacity: 0; transition: opacity 0.9s ease; } |
| #splash.phase-net .net { opacity: 1; } |
| .net-line { |
| stroke: rgba(220, 20, 60, 0.18); stroke-width: 1.6; fill: none; |
| stroke-dasharray: 240; stroke-dashoffset: 240; |
| } |
| #splash.phase-net .net-line { animation: net-draw 1.6s ease forwards; } |
| @keyframes net-draw { to { stroke-dashoffset: 0; } } |
| .net-node { |
| fill: #fff; stroke: #DC143C; stroke-width: 2.5; |
| transform-box: fill-box; transform-origin: center; |
| opacity: 0; scale: 0; |
| } |
| #splash.phase-net .net-node { animation: node-pop 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.4) forwards; } |
| .net-node:nth-of-type(odd) { animation-delay: 0.25s !important; } |
| @keyframes node-pop { to { opacity: 1; scale: 1; } } |
| .net-ring { |
| fill: none; stroke: rgba(220, 20, 60, 0.3); stroke-width: 1.5; |
| transform-box: fill-box; transform-origin: center; opacity: 0; |
| } |
| #splash.phase-net .net-ring { animation: ring-pulse 2.2s ease-out infinite; } |
| @keyframes ring-pulse { |
| 0% { opacity: 0.7; scale: 0.4; } |
| 100% { opacity: 0; scale: 2.1; } |
| } |
|
|
| |
| .splash-particle { |
| position: absolute; width: 6px; height: 6px; border-radius: 50%; |
| background: radial-gradient(circle at 35% 30%, #FF5C7C, #A60D2E); |
| opacity: 0; |
| } |
| #splash.phase-net .splash-particle { |
| animation: particle-float 3.2s ease-in-out var(--pd, 0s) infinite; |
| } |
| @keyframes particle-float { |
| 0%, 100% { opacity: 0; transform: translateY(8px) scale(0.6); } |
| 35% { opacity: 0.75; transform: translateY(-6px) scale(1); } |
| 70% { opacity: 0.35; transform: translateY(-14px) scale(0.85); } |
| } |
|
|
| |
| .splash-center { |
| position: absolute; inset: 0; |
| display: flex; align-items: center; justify-content: center; |
| pointer-events: none; |
| } |
| .splash-glass { |
| padding: 34px 52px; border-radius: 28px; text-align: center; |
| background: rgba(255, 255, 255, 0.45); |
| border: 1px solid rgba(255, 255, 255, 0.7); |
| backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); |
| box-shadow: 0 24px 70px rgba(122, 9, 32, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9); |
| opacity: 0; transform: translateY(22px) scale(0.96); |
| transition: opacity 0.7s cubic-bezier(0.2, 0.8, 0.3, 1), |
| transform 0.7s cubic-bezier(0.2, 0.8, 0.3, 1); |
| } |
| #splash.phase-text .splash-glass { opacity: 1; transform: none; } |
|
|
| .splash-title { |
| font-family: 'Plus Jakarta Sans', system-ui, sans-serif; |
| font-size: clamp(2.4rem, 7vw, 4rem); font-weight: 800; |
| letter-spacing: -0.02em; line-height: 1.05; |
| display: flex; gap: 0.28em; justify-content: center; |
| } |
| .splash-title .st-word { |
| display: inline-block; |
| background: linear-gradient(120deg, #16181D 20%, #DC143C 75%, #7A0920 100%); |
| -webkit-background-clip: text; background-clip: text; color: transparent; |
| opacity: 0; transform: translateY(105%); |
| filter: blur(6px); |
| } |
| .splash-title .st-ai { |
| background: linear-gradient(120deg, #FF4D6D 0%, #DC143C 50%, #7A0920 100%); |
| -webkit-background-clip: text; background-clip: text; |
| } |
| #splash.phase-text .st-word { |
| animation: word-rise 0.75s cubic-bezier(0.2, 0.8, 0.25, 1) forwards; |
| } |
| #splash.phase-text .st-word:nth-child(2) { animation-delay: 0.12s; } |
| @keyframes word-rise { |
| to { opacity: 1; transform: none; filter: blur(0); } |
| } |
| .splash-title-clip { overflow: hidden; display: inline-flex; gap: 0.28em; } |
|
|
| .splash-tag { |
| margin-top: 12px; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; |
| font-size: 0.95rem; font-weight: 600; letter-spacing: 0.28em; |
| text-transform: uppercase; color: #6B7280; |
| opacity: 0; transform: translateY(8px); |
| transition: opacity 0.7s ease 0.45s, transform 0.7s ease 0.45s, |
| letter-spacing 0.9s ease 0.45s; |
| } |
| #splash.phase-text .splash-tag { opacity: 1; transform: none; letter-spacing: 0.34em; } |
|
|
| |
| .splash-logochip { |
| position: absolute; top: 14px; left: 22px; |
| display: flex; align-items: center; gap: 10px; |
| background: #fff; padding: 8px 16px 8px 9px; border-radius: 14px; |
| box-shadow: 0 8px 30px rgba(22, 24, 29, 0.10); |
| font-family: 'Plus Jakarta Sans', system-ui, sans-serif; |
| font-weight: 800; font-size: 1.05rem; |
| opacity: 0; transform: scale(0.4) translate(-12px, -12px); |
| transform-origin: top left; |
| } |
| .splash-logochip .lm { |
| width: 32px; height: 32px; border-radius: 10px; |
| display: flex; align-items: center; justify-content: center; |
| background: linear-gradient(135deg, #FF4D6D 0%, #DC143C 45%, #8E0B26 100%); |
| box-shadow: 0 4px 12px rgba(220, 20, 60, 0.4); |
| } |
| .splash-logochip .lm svg { width: 16px; height: 16px; } |
| .splash-logochip .lt { |
| background: linear-gradient(120deg, #16181D 30%, #DC143C 100%); |
| -webkit-background-clip: text; background-clip: text; color: transparent; |
| } |
| #splash.phase-logo .splash-logochip { |
| animation: chip-land 0.55s cubic-bezier(0.2, 0.9, 0.3, 1.35) forwards; |
| } |
| @keyframes chip-land { |
| 0% { opacity: 0; transform: scale(0.4) translate(-12px, -12px); } |
| 100% { opacity: 1; transform: none; } |
| } |
|
|
| |
| .splash-pulse { |
| position: absolute; top: 30px; left: 60px; |
| width: 18px; height: 18px; border-radius: 50%; |
| border: 2.5px solid rgba(220, 20, 60, 0.55); |
| opacity: 0; pointer-events: none; |
| } |
| #splash.phase-pulse .splash-pulse { animation: activation 0.9s cubic-bezier(0.1, 0.6, 0.3, 1) forwards; } |
| .splash-pulse.p2 { border-width: 1.5px; } |
| #splash.phase-pulse .splash-pulse.p2 { animation-delay: 0.18s; } |
| @keyframes activation { |
| 0% { opacity: 0.9; transform: scale(1); } |
| 100% { opacity: 0; transform: scale(70); } |
| } |
|
|
| |
| .splash-skip { |
| position: absolute; bottom: 26px; right: 26px; |
| border: 1.5px solid #E9EAEE; background: rgba(255, 255, 255, 0.7); |
| backdrop-filter: blur(8px); |
| border-radius: 999px; padding: 9px 18px; cursor: pointer; |
| font-family: 'Plus Jakarta Sans', system-ui, sans-serif; |
| font-size: 0.76rem; font-weight: 700; color: #6B7280; |
| opacity: 0; animation: skip-in 0.6s ease 1.2s forwards; |
| } |
| .splash-skip:hover { color: #DC143C; border-color: #DC143C; } |
| @keyframes skip-in { to { opacity: 1; } } |
|
|
| @media (max-width: 820px) { |
| .splash-glass { padding: 26px 30px; margin: 0 18px; } |
| } |
|
|
| @media (prefers-reduced-motion: reduce) { |
| #splash { display: none; } |
| } |
|
|