.kp-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000;opacity:1;transition:opacity 0.7s ease;pointer-events:all}.kp-splash.kp-splash--exit{opacity:0;pointer-events:none}.kp-splash__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.5vw,12px);width:100%;max-width:680px;padding:0 28px}.kp-logo-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transform:translateY(8px);animation:kpLogoIn 0.9s cubic-bezier(0.16,0.8,0.3,1) 0.15s forwards}.kp-logo-text{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(1.6rem,4.2vw,2.4rem);letter-spacing:0.12em;color:#EDE7DA;margin:0;position:relative;overflow:hidden}.kp-logo-text::after{content:attr(data-text);position:absolute;inset:0;background:linear-gradient( 90deg,transparent 0%,#C9AA71 45%,#C9AA71 50%,#C9AA71 55%,transparent 100% );-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 100%;animation:kpShimmer 2s ease-in-out infinite}.kp-keyboard-group{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.kp-keyboard{direction:ltr;display:flex;align-items:stretch;width:100%;max-width:340px;height:clamp(28px,4.5vw,38px);gap:2px;opacity:0;transform:rotate(180deg);animation:kpKeyboardIn 0.8s ease 0.55s forwards}.kp-keyboard-reflection{direction:ltr;display:flex;align-items:stretch;width:100%;max-width:340px;height:clamp(28px,4.5vw,38px);gap:2px;opacity:0;transform:rotate(180deg) scaleY(-1);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 68%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 68%);filter:saturate(1.8);animation:kpReflectionIn 0.8s ease 0.55s forwards}.kp-key{flex:1 1 0;border:1px solid #232838;border-top:none;border-radius:0 0 2px 2px;background:transparent;transition:background-color 0.25s ease,box-shadow 0.25s ease,border-color 0.25s ease,transform 0.18s ease}.kp-key--black{align-self:flex-start;height:50%;background-color:#171a24;border-color:#2c3140}.kp-key.is-active{background-color:#C9AA71;border-color:#C9AA71;box-shadow:0 0 2px rgba(242,220,174,0.6)}.kp-key.is-pressing{transform:translateY(2px) scaleY(0.92)}.kp-keyboard-reflection .kp-key,.kp-keyboard-reflection .kp-key--black{align-self:center;height:6px;border:none;background:transparent;border-radius:50%;filter:blur(1px)}.kp-keyboard-reflection .kp-key.is-active{background-color:#C9AA71;box-shadow:none}@keyframes kpLogoIn{to{opacity:1;transform:translateY(0)}}@keyframes kpKeyboardIn{to{opacity:1}}@keyframes kpReflectionIn{to{opacity:0.75}}@keyframes kpShimmer{0%{background-position:200% center}100%{background-position:-200% center}}@media (max-width:767px){.kp-splash__inner{position:fixed !important;top:50svh !important;left:50% !important;transform:translate(-50%,-50%) !important;width:90% !important;max-width:400px !important;display:flex !important;flex-direction:column !important;align-items:center !important;gap:12px !important;padding:0 !important}.kp-keyboard{height:35px !important;max-width:241px !important;width:241px !important;transform:rotate(180deg) translateX(6%) !important;margin-left:auto !important;margin-right:auto !important;animation-delay:0s !important;animation-duration:0.15s !important}.kp-keyboard-reflection{height:14px !important;max-width:241px !important;width:241px !important;transform:rotate(180deg) scaleY(-1) translateX(6%) !important;margin-left:auto !important;margin-right:auto !important;animation-delay:0s !important;animation-duration:0.15s !important}.kp-key,.kp-keyboard-reflection .kp-key,.kp-keyboard-reflection .kp-key--black{flex:0 0 7px !important;width:7px !important;min-width:0 !important}.kp-keyboard-group{display:block !important;width:241px !important;max-width:100% !important;margin:0 auto !important}.kp-keyboard-group .kp-keyboard,.kp-keyboard-group .kp-keyboard-reflection{width:100% !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important}}@media (max-width:480px){.kp-keyboard{gap:1px !important}.kp-keyboard-reflection{gap:1px !important}}@media (prefers-reduced-motion:reduce){.kp-logo-wrap,.kp-keyboard,.kp-keyboard-reflection{animation:none !important;opacity:1 !important;transform:none !important}.kp-logo-text::after{animation:none}.kp-key{transition:none}}