/* Wspolna typografia i uklad dla Chromium, Firefox oraz WebKit. */
@font-face {
  font-family: 'RawCraft Inter';
  src: url('fonts/inter-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root { --font: 'RawCraft Inter', 'Segoe UI', Arial, sans-serif; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; overflow-x: clip; }
body { overflow-x: clip; }
.world-backdrop { contain: strict; }
body { font-optical-sizing: none; }
button,input,select,textarea { font-family: var(--font); }
.header .brand img { mix-blend-mode: normal; }
.hero-copy,.shop-banner-copy,.profile-info,.contact-box,.topup-selector,.topup-summary { min-width: 0; }
.home-intro .hero-inner { box-sizing: border-box; }
.home-intro .hero-title.nova-title { font-weight: 760; }
.header .desktop-nav { min-width: 0; }
.header .mobile-nav[hidden] { display: none; }
.header .mobile-nav {
  position: absolute; top: calc(100% + 8px); right: 24px; left: auto;
  width: min(340px,calc(100% - 40px)); max-height: calc(100svh - 118px);
  margin: 0; padding: 9px; overflow-y: auto; overscroll-behavior: contain;
  background: #121c23fa; border: 1px solid #d7ba4e40; border-radius: 13px;
  box-shadow: 0 14px 38px #0007; transform-origin: top right;
}
.header .mobile-nav:not([hidden]) { animation: navigation-open .22s ease-out; }
.header .mobile-nav a { display: flex; align-items: center; min-height: 44px; margin: 0; padding: 10px 14px; font-size: 13px; }
@keyframes navigation-open { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }

/* Efekt tarczy dzieli rozmiar i srodek z ikona, takze w mobilnej kolumnie. */
.home-intro .intro-benefits .benefits .benefit-icon { flex-shrink: 0; }
.home-intro .benefits [data-benefit-motion='shield'] > .icon { transform-box: view-box; transform-origin: 50% 50%; }
.home-intro .benefits .benefit-shield-wave {
  inset: 0; width: 100%; height: 100%; max-width: none;
  transform-box: border-box; transform-origin: 50% 50%;
}
.benefit-shield-wave path { vector-effect: non-scaling-stroke; stroke-width: 1; }
@keyframes nova-shield-wave {
  0%,32% { opacity: 0; transform: scale(.9); }
  46% { opacity: .65; }
  84%,100% { opacity: 0; transform: scale(1.22); }
}

/* Krotki czas pod glowa; stala wysokosc nie przesuwa przycisku sklepu. */
.home-intro .activity-panel .recent-purchases { container: purchases / inline-size; height: auto; min-height: 100px; grid-template-rows: auto 28px; gap: 8px; margin-bottom: 12px; }
.nova-purchase-avatars { align-items: flex-start; scroll-behavior: auto; gap: 8px; min-width: 0; }
.nova-purchase-item { flex-basis: calc((100% - 24px)/4); gap: 5px; }
.nova-purchase-time { display: block; color: #c9c7b5; font-size: 9px; line-height: 16px; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
@container purchases (max-width: 260px) { .nova-purchase-item { flex-basis: calc((100% - 16px)/3); } }
.home-intro .activity-panel .recent-empty { grid-row: 1/-1; margin: 5px 0; font-size: 12px; line-height: 1.65; }
.home-intro .activity-panel .activity-link { gap: 7px; min-height: 41px; padding-inline: 9px; font-size: 11px; }
.activity-link > .nova-line-icon { width: 20px; height: 20px; }
.activity-link-arrow { padding-left: 7px; }
.recent-carousel-controls button { height: 28px; width: 32px; }
.recent-entry-pending .nova-purchase-face,.recent-entry-pending .nova-purchase-time { opacity: 0; }
.buyer-entering .nova-purchase-face {
  will-change: transform,opacity;
  animation: recent-head-arrive .62s cubic-bezier(.22,.8,.28,1) var(--buyer-enter-delay,0ms) backwards;
}
.buyer-entering .nova-purchase-time {
  animation: recent-time-arrive .4s ease-out calc(var(--buyer-enter-delay,0ms) + .12s) backwards;
}
@keyframes recent-head-arrive {
  0% { opacity: 0; transform: translate3d(0,9px,0) rotate(-6deg) scale(.82); }
  68% { opacity: 1; transform: translate3d(0,-1px,0) rotate(1deg) scale(1.025); }
  100% { opacity: 1; transform: translate3d(0,0,0) rotate(0) scale(1); }
}
@keyframes recent-time-arrive { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  .recent-entry-pending .nova-purchase-face,.recent-entry-pending .nova-purchase-time { opacity: 1; }
  .buyer-entering .nova-purchase-face,.buyer-entering .nova-purchase-time { animation: none; will-change: auto; }
}

@media (min-width: 601px) and (max-width: 1279px) {
  .home-intro .hero { min-height: 0; }
  .home-intro .hero-inner {
    display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 28px;
    width: calc(100% - 64px); min-height: max(690px,85svh);
    align-items: center; padding: 140px 0 130px;
  }
  .home-intro .hero-copy { grid-column: 1; grid-row: 1; width: 100%; max-width: none; }
  .home-intro .hero-copy .hero-title.nova-title { font-size: clamp(36px,3.8vw,47px); }
  .home-intro .hero-copy .nova-title-line { white-space: normal; }
  .home-intro .hero-inner .activity-panel { grid-column: 2; grid-row: 1; position: relative; top: auto; right: auto; width: 280px; max-width: 100%; margin: 0; justify-self: end; align-self: center; }
  .home-intro .hero-copy .hero-buttons { flex-wrap: wrap; }
  .home-intro .hero-copy .hero-buttons .button { min-width: 0; min-height: 46px; padding-inline: 16px; font-size: 12px; }
  .home-intro .intro-benefits { width: calc(100% - 64px); }
}
@media (min-width: 601px) and (max-width: 1100px) {
  .home-intro .hero-inner { grid-template-columns: minmax(0,1fr); gap: 36px; padding-top: 130px; padding-bottom: 105px; }
  .home-intro .hero-copy { grid-column: 1; grid-row: auto; max-width: 650px; }
  .home-intro .hero-art { background-size: auto 760px; background-position: 70% top; }
  .home-intro .hero-inner .activity-panel { grid-column: 1; grid-row: auto; width: 300px; }
  .home-intro .hero-copy .hero-title.nova-title { font-size: clamp(36px,5vw,44px); }
}
@media (max-width: 1279px) {
  .header .header-actions,.header .account-nav { position: static; }
  .header .account-dropdown { top: calc(100% + 10px); right: 10px; width: min(310px,calc(100% - 20px)); }
  .header .menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 11px; }
  .header .menu-toggle > .icon { display: block; width: 22px; height: 22px; }
}
@media (max-width: 600px) {
  .header .mobile-nav { right: 16px; width: min(340px,calc(100% - 32px)); }
  .header .header-actions { gap: 3px; }
  .header .profile-button { min-height: 44px; }
  .home-intro .hero-inner .activity-panel { padding: 19px 17px 16px; }
  .home-intro .activity-panel .activity-heading { gap: 9px; padding-bottom: 16px; min-height: 65px; }
  .home-intro .activity-panel .activity-heading .activity-icon { flex-basis: 37px; width: 37px; height: 40px; }
  .home-intro .activity-panel .activity-heading .activity-icon > .icon { width: 37px; height: 40px; }
  .home-intro .activity-panel .activity-heading strong { font-size: 24px; }
  .home-intro .activity-panel .activity-heading > div > span { font-size: 10px; }
  .home-intro .activity-panel .live-label { font-size: 10px; gap: 5px; }
  .home-intro .activity-panel .activity-link { font-size: 11px; }
  .home-intro .benefits .benefit-shield-wave { width: 29px; height: 31px; inset: 2px auto auto 2.5px; }
  .topup-presets button { min-height: 44px; }
  .topup-number-wrap input { font-size: 27px; }
  .topup-bonus-callout { flex-wrap: wrap; }
  .contact-box .button { max-width: 100%; }
}
@media (max-width: 360px) {
  .header .header-inner { width: calc(100% - 22px); }
  .header .profile-button { padding-inline: 2px; gap: 5px; }
  .header .profile-button .account-trigger-identity { display: grid; }
  .header .profile-button .account-trigger-identity > span { display: block; }
  .home-intro .hero-inner { width: calc(100% - 32px); }
  .hero-copy .nova-kicker { gap: 8px; letter-spacing: 1px; }
  .home-intro .activity-panel .activity-heading strong { font-size: 21px; }
  .home-intro .activity-panel .activity-heading { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) { .header .mobile-nav:not([hidden]) { animation: none; } }
