/* Kin of Embers – paleta „Popiół i miedź” (docs/art_direction_v1.md w repo gry) */
@font-face {
  font-family: "Silkscreen";
  src: url("assets/fonts/silkscreen-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  font-display: swap;
}
@font-face {
  font-family: "Silkscreen";
  src: url("assets/fonts/silkscreen-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  font-display: swap;
}

:root {
  --shadow: #17191f;
  --stone: #30282a;
  --ash: #41434d;
  --dust: #a0a09a;
  --copper: #ba733d;
  --copper-light: #d79b64;
  --ember: #f1b85d;
  --cream: #f5dfc0;
  --threat: #c64b50;
  --pixel: "Silkscreen", ui-monospace, monospace;
  --text: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(ellipse at 50% 0%, #2a2224 0%, var(--shadow) 60%) fixed, var(--shadow);
  color: var(--cream);
  font: 18px/1.6 var(--text);
  overflow-x: hidden;
}
a { color: var(--ember); }
h1, h2, h3, .mark, .btn, .badge, .sub, .social a, .clip figcaption, .platform { font-family: var(--pixel); font-weight: 400; text-transform: uppercase; }

/* Unoszące się iskry (czysty CSS) */
.embers { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.embers::before, .embers::after {
  content: ""; position: absolute; left: 0; bottom: -10px; width: 3px; height: 3px;
  background: var(--ember);
  box-shadow:
    8vw 0 var(--ember), 21vw -12vh var(--copper-light), 34vw -4vh var(--ember), 47vw -20vh var(--copper),
    58vw -7vh var(--ember), 69vw -16vh var(--copper-light), 81vw -2vh var(--ember), 93vw -11vh var(--copper),
    14vw -30vh var(--copper), 40vw -38vh var(--ember), 63vw -33vh var(--copper-light), 87vw -41vh var(--ember);
  animation: rise 18s linear infinite; opacity: .7;
}
.embers::after { left: 4vw; animation-duration: 26s; animation-delay: -9s; opacity: .45; }
@keyframes rise { from { transform: translateY(0); } to { transform: translateY(-140vh); } }
@media (prefers-reduced-motion: reduce) { .embers { display: none; } }

.topbar, main, .faq { max-width: 760px; margin: 0 auto; }
.faq details { background: rgba(48, 40, 42, .75); border: 2px solid var(--ash); margin-bottom: 12px; }
.faq summary { cursor: pointer; padding: 16px 20px; font-family: var(--pixel); font-size: 13px; text-transform: uppercase; color: var(--ember); list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "+ "; color: var(--copper); }
.faq details[open] summary::before { content: "- "; }
.faq details p { margin: 0; padding: 0 20px 18px; }
.signup-form { max-width: 520px; margin: 0 auto; }

.footer { position: relative; z-index: 1; }
.topbar {
  display: flex; justify-content: flex-start; align-items: center;
  max-width: 1100px; margin: 0 auto; padding: 16px;
}
.mark { color: var(--copper-light); font-size: 14px; letter-spacing: 1px; }

main { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
section { padding: 56px 0; }

.hero { text-align: center; padding-top: 48px; }
.badge {
  display: inline-block; margin: 0 0 24px; padding: 6px 12px; font-size: 12px;
  color: var(--ember); border: 2px dashed var(--copper); letter-spacing: 1px;
}
.title {
  margin: 0; font-size: clamp(44px, 11vw, 104px); line-height: 1.05; color: var(--ember);
  text-shadow: 4px 4px 0 var(--copper), 8px 8px 0 var(--stone);
}
.tagline { font-size: clamp(20px, 3vw, 26px); color: var(--copper-light); margin: 28px 0 8px; font-style: italic; }
.lead { max-width: 640px; margin: 0 auto; color: var(--cream); opacity: .9; }
.cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
.platform { color: var(--dust); font-family: var(--pixel); font-size: 12px; margin-top: 20px; letter-spacing: 2px; }

.btn {
  display: inline-block; padding: 14px 20px; font-size: 14px; text-decoration: none;
  color: var(--cream); border: 2px solid var(--copper); background: var(--stone);
  box-shadow: 4px 4px 0 var(--shadow); transition: transform .08s, box-shadow .08s;
}
.btn:hover, .btn:focus-visible { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--shadow); }
.btn-primary { background: var(--copper); color: var(--shadow); border-color: var(--ember); }
.btn[hidden] { display: none; }

h2 { text-align: center; color: var(--copper-light); font-size: clamp(22px, 4vw, 32px); margin: 0 0 32px; }
h3 { color: var(--ember); font-size: 20px; margin: 0; }

.clip-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 320px)); justify-content: center; gap: 20px; }
.clip { margin: 0; }
.clip video {
  width: 100%; aspect-ratio: 9 / 16; display: block; background: var(--stone);
  border: 3px solid var(--ash); object-fit: cover;
}
.clip figcaption { font-family: var(--pixel); font-size: 12px; color: var(--dust); text-align: center; margin-top: 10px; }
.note { text-align: center; color: var(--dust); font-size: 15px; margin-top: 20px; }

.cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.card, .fusion {
  background: rgba(48, 40, 42, .75); border: 2px solid var(--ash); padding: 24px;
  box-shadow: 6px 6px 0 var(--shadow);
}
.card .sub { color: var(--dust); font-size: 12px; margin: 4px 0 12px; }
.card p:last-child, .fusion p:last-child { margin-bottom: 0; }
.fusion { margin-top: 20px; border-color: var(--copper); }
.fusion p { margin-top: 12px; }

.signup { text-align: center; }
.signup p { max-width: 560px; margin: 0 auto 24px; }
.signup .note { margin-top: 16px; }

.footer { text-align: center; padding: 40px 16px 48px; border-top: 2px solid var(--stone); color: var(--dust); font-size: 15px; }
.social { display: flex; gap: 24px; justify-content: center; margin-bottom: 16px; }
.social a { font-family: var(--pixel); font-size: 13px; color: var(--copper-light); }
.small { font-size: 13px; opacity: .8; }

@media (max-width: 760px) {
  body { font-size: 17px; }
  .cards { grid-template-columns: 1fr; }
  section { padding: 40px 0; }
}
