/* ==========================================================================
   BILL STATS — cartoon gamified tracker
   Skala: mobilni = puna širina, desktop = duplo veće (root 20px + 1280 kolona)
   ========================================================================== */

:root{
  --ink:#141021;
  --ink-soft:#3a3350;
  --paper:#fff6e5;
  --paper-2:#ffeccd;
  --sky:#7fd4ff;
  --sky-2:#c8ecff;

  --hot:#ff6b35;
  --lava:#ff8a00;
  --gold:#ffc53d;
  --grape:#a77bff;
  --mint:#3ddc97;
  --blood:#d62828;

  --line:4px;
  --r:18px;
  --pop:0 var(--line) 0 var(--ink);
  --pop-lg:0 8px 0 var(--ink);

  --f-display:'Bangers', 'Impact', system-ui, sans-serif;
  --f-body:'Nunito', ui-rounded, system-ui, -apple-system, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ font-size:16px; scroll-behavior:smooth; -webkit-text-size-adjust:100%; background:#260404; }
@media (min-width:1000px){ html{ font-size:19px; } }
@media (min-width:1400px){ html{ font-size:21px; } }

body{
  margin:0;
  font-family:var(--f-body);
  font-weight:700;
  color:var(--ink);
  overflow-x:hidden;
  background:
    linear-gradient(180deg,
      #6ec6ff 0%, #a9e2ff 8%, #e9f6ff 16%,
      var(--paper) 26%, var(--paper) 52%,
      var(--paper-2) 62%, #ffd79a 70%,
      #ff9f47 78%, #cf3c10 86%, #6d1005 93%, #260404 100%);
}

img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3{ margin:0; font-family:var(--f-display); font-weight:400; letter-spacing:.02em; line-height:.95; }
button{ font:inherit; }

.wrap{
  width:100%;
  max-width:1280px;      /* desktop = ~2x mobilne kolone */
  margin-inline:auto;
  padding-inline:clamp(14px, 4vw, 44px);
}

/* ---------- ambijent: sunce + oblaci u gornjem delu ---------- */
.worldbg{ position:absolute; inset:0 0 auto 0; height:190vh; overflow:hidden; pointer-events:none; z-index:0; }
.worldbg__sun{
  position:absolute; top:4vh; left:6vw; width:clamp(90px,14vw,210px); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle at 40% 38%, #fff7c2, var(--gold) 62%, #ffab00);
  border:var(--line) solid var(--ink); box-shadow:0 0 0 14px rgba(255,197,61,.28), 0 0 0 30px rgba(255,197,61,.14);
  animation:bob 7s ease-in-out infinite;
}
@media (max-width:899px){
  .worldbg__sun{ top:1.5vh; left:auto; right:5vw; width:clamp(56px,17vw,110px); box-shadow:0 0 0 9px rgba(255,197,61,.26), 0 0 0 20px rgba(255,197,61,.12); }
  .cloud--1{ top:26vh; right:4vw; }
}
.worldbg__smoke{
  position:absolute; left:0; right:0; bottom:0; height:38vh;
  background:radial-gradient(60% 100% at 50% 100%, rgba(255,138,0,.22), transparent 70%);
}
.cloud{
  position:absolute; background:#fff; border:var(--line) solid var(--ink); border-radius:999px;
  box-shadow:inset 0 -8px 0 rgba(20,16,33,.08); opacity:.62;
}
.cloud::before,.cloud::after{
  content:''; position:absolute; background:#fff; border:var(--line) solid var(--ink); border-radius:50%;
}
.cloud--1{ width:clamp(120px,18vw,260px); height:clamp(46px,6vw,86px); top:9vh; right:6vw; animation:drift 26s linear infinite; }
.cloud--1::before{ width:55%; height:150%; top:-62%; left:10%; }
.cloud--1::after{ width:42%; height:120%; top:-42%; right:14%; }
.cloud--2{ width:clamp(90px,13vw,190px); height:clamp(36px,5vw,64px); top:88vh; left:5vw; animation:drift 34s linear infinite reverse; }
.cloud--2::before{ width:58%; height:145%; top:-58%; left:16%; }
.cloud--2::after{ width:40%; height:115%; top:-38%; right:10%; }
.cloud--3{ width:clamp(100px,15vw,210px); height:clamp(40px,5vw,70px); top:118vh; right:10vw; animation:drift 30s linear infinite; }
.cloud--3::before{ width:56%; height:150%; top:-60%; left:12%; }
.cloud--3::after{ width:44%; height:118%; top:-40%; right:12%; }
.cloud::before,.cloud::after{ z-index:-1; }

@keyframes drift{ from{ transform:translateX(-3vw); } 50%{ transform:translateX(3vw); } to{ transform:translateX(-3vw); } }
@keyframes bob{ 0%,100%{ transform:translateY(0) rotate(0); } 50%{ transform:translateY(-10px) rotate(6deg); } }

main{ position:relative; z-index:1; }

/* ======================= MERAČ VISINE ======================= */
.rail{
  position:fixed; z-index:40; right:clamp(10px,1.4vw,22px); top:50%; transform:translateY(-50%);
  width:74px; display:none; flex-direction:column; align-items:center; gap:8px;
  background:rgba(255,246,229,.92); border:var(--line) solid var(--ink); border-radius:999px;
  padding:12px 8px 14px; box-shadow:var(--pop-lg); backdrop-filter:blur(6px);
}
@media (min-width:1100px){ .rail{ display:flex; } }
.rail__title{ font-family:var(--f-display); font-size:.62rem; letter-spacing:.08em; }
.rail__track{
  position:relative; width:22px; height:min(46vh,380px); border-radius:999px; margin-bottom:26px;
  border:3px solid var(--ink); overflow:visible;
  background:linear-gradient(180deg,#cfefff 0%,#fff6e5 42%,#ffc53d 66%,#ff6b35 84%,#8a1c07 100%);
}
.rail__fill{
  position:absolute; left:0; right:0; bottom:0; height:calc(var(--p,0) * 100%);
  border-radius:999px;
  background:linear-gradient(0deg,#ff4d00,#ffc53d 55%,#8be9ff);
  transition:height .9s cubic-bezier(.2,.9,.25,1);
}
.rail__ticks{ position:absolute; inset:0; }
.rail__ticks i{ position:absolute; left:-7px; right:-7px; height:3px; background:var(--ink); opacity:.32; border-radius:2px; }
.rail__me{
  position:absolute; left:50%; bottom:calc(var(--p,0) * 100%);
  transform:translate(-50%,50%); width:44px; height:44px;
  transition:bottom .9s cubic-bezier(.2,.9,.25,1);
}
.rail__me img{ width:100%; height:100%; border-radius:50%; border:3px solid var(--ink); background:#fff; object-fit:cover; box-shadow:0 0 0 5px rgba(255,197,61,.5); }
.rail__jet{
  position:absolute; left:50%; top:100%; width:12px; height:20px; transform:translateX(-50%);
  background:linear-gradient(180deg,var(--gold),var(--hot),transparent);
  border-radius:0 0 60% 60%; filter:blur(.5px); animation:jet .22s steps(2) infinite;
}
@keyframes jet{ 0%{ transform:translateX(-50%) scaleY(.75); } 100%{ transform:translateX(-50%) scaleY(1.15); } }
.rail__hell{ position:absolute; left:50%; bottom:-25px; transform:translateX(-50%); font-size:1.05rem; line-height:1; }
.rail__read{ display:flex; align-items:baseline; gap:3px; font-family:var(--f-display); }
.rail__read b{ font-size:1.05rem; }
.rail__read span{ font-size:.6rem; opacity:.7; }
.rail__zone{ font-size:.5rem; font-weight:900; text-align:center; letter-spacing:.04em; line-height:1.15; }

/* mobilni: rail postaje donja traka preko cele širine */
@media (max-width:1099px){
  .rail{
    display:flex; flex-direction:row; align-items:center; gap:10px;
    top:auto; bottom:0; left:0; right:0; width:100%; transform:none;
    border-radius:0; border-width:var(--line) 0 0 0; box-shadow:none;
    padding:8px clamp(12px,4vw,20px) calc(8px + env(safe-area-inset-bottom));
  }
  .rail__title{ display:none; }
  .rail__track{ flex:1; width:auto; height:16px; margin-bottom:0; background:linear-gradient(90deg,#8a1c07,#ff6b35 18%,#ffc53d 38%,#fff6e5 62%,#cfefff 100%); }
  .rail__fill{ inset:0 auto 0 0; width:calc(var(--p,0) * 100%); height:100%; background:linear-gradient(90deg,#ff4d00,#ffc53d 55%,#8be9ff); transition:width .9s cubic-bezier(.2,.9,.25,1); }
  .rail__ticks i{ left:auto; right:auto; top:-5px; bottom:-5px; width:3px; height:auto; }
  .rail__me{ bottom:50%; left:calc(var(--p,0) * 100%); transform:translate(-50%,50%); width:34px; height:34px; transition:left .9s cubic-bezier(.2,.9,.25,1); }
  .rail__jet{ left:0; top:50%; width:16px; height:10px; transform:translate(-100%,-50%); background:linear-gradient(270deg,var(--gold),var(--hot),transparent); border-radius:60% 0 0 60%; animation:none; }
  .rail__hell{ position:static; transform:none; }
  .rail__zone{ font-size:.55rem; max-width:84px; }
  body{ padding-bottom:64px; }
}

/* ======================= TIPOGRAFIJA / DELJENE KOMPONENTE ======================= */
.h2{ font-size:clamp(2.2rem,7vw,3.6rem); text-shadow:var(--line) var(--line) 0 var(--ink); color:#fff; }
.sub{ margin:.5rem 0 0; font-size:.95rem; max-width:46ch; opacity:.85; }

.kicker{
  display:inline-flex; align-items:center; gap:8px; font-size:.7rem; font-weight:900; letter-spacing:.12em;
  background:var(--ink); color:#fff; padding:7px 14px; border-radius:999px; box-shadow:0 3px 0 rgba(0,0,0,.25);
}
.kicker__dot{ width:9px; height:9px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 0 rgba(61,220,151,.8); animation:pulse 1.8s infinite; }
@keyframes pulse{ 70%{ box-shadow:0 0 0 10px rgba(61,220,151,0); } 100%{ box-shadow:0 0 0 0 rgba(61,220,151,0); } }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--f-display); font-size:1.05rem; letter-spacing:.03em;
  padding:.62em 1.2em; border-radius:14px; border:var(--line) solid var(--ink);
  cursor:pointer; text-decoration:none; box-shadow:var(--pop);
  transition:transform .08s ease, box-shadow .08s ease;
}
.btn:active{ transform:translateY(var(--line)); box-shadow:0 0 0 var(--ink); }
.btn--primary{ background:var(--gold); color:var(--ink); }
.btn--ghost{ background:#fff; color:var(--ink); }
.btn--big{ font-size:1.3rem; padding:.7em 1.5em; }

.tag{
  font-family:var(--f-display); font-size:.78rem; letter-spacing:.04em;
  padding:.28em .8em; border-radius:999px; border:3px solid var(--ink); box-shadow:0 3px 0 var(--ink); background:#fff;
}
.tag--epic{ background:var(--grape); color:#fff; }
.tag--legend{ background:var(--gold); }

/* ======================= HERO ======================= */
.hero{ padding-block:clamp(28px,6vw,72px) clamp(20px,4vw,40px); }
.hero__grid{ display:grid; gap:clamp(22px,4vw,48px); grid-template-columns:1fr; align-items:center; }
@media (min-width:900px){ .hero__grid{ grid-template-columns:1.15fr .85fr; } }

.hero__name{
  font-size:clamp(3.4rem,13vw,7rem); line-height:.82; margin:.35em 0 .12em;
  color:#fff; text-shadow:5px 5px 0 var(--ink), 10px 10px 0 rgba(20,16,33,.2);
}
.hero__name span{ color:var(--gold); }
.hero__role{ margin:0 0 1rem; font-size:clamp(.95rem,2.6vw,1.15rem); font-weight:900; }
.hero__role b{ color:var(--hot); }

.hero__facts{ list-style:none; margin:0 0 1.2rem; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.hero__facts li{
  display:flex; align-items:center; gap:7px; font-size:.8rem; background:#fff;
  border:3px solid var(--ink); border-radius:999px; padding:.34em .9em; box-shadow:0 3px 0 var(--ink);
}

.hero__score{
  display:flex; flex-wrap:wrap; align-items:center; gap:clamp(12px,3vw,24px);
  background:var(--ink); color:#fff; border-radius:var(--r); padding:clamp(14px,3vw,22px);
  border:var(--line) solid var(--ink); box-shadow:var(--pop-lg);
}
.hero__score-num{ font-family:var(--f-display); font-size:clamp(3rem,11vw,5rem); line-height:.85; color:var(--gold); text-shadow:0 0 22px rgba(255,197,61,.45); font-variant-numeric:tabular-nums; }
.hero__score-lbl{ font-size:.66rem; letter-spacing:.2em; opacity:.75; }
.hero__score-side{ display:flex; flex-direction:column; gap:7px; }
.lvl{
  font-family:var(--f-display); font-size:1.25rem; background:var(--hot); color:#fff;
  padding:.18em .7em; border-radius:10px; border:3px solid #fff; text-align:center;
}
.hero__score-zone{ font-size:.72rem; font-weight:900; letter-spacing:.06em; opacity:.9; max-width:20ch; }

.hero__bar{ margin-top:14px; }
.hero__bar-track{ height:20px; border-radius:999px; background:#fff; border:3px solid var(--ink); overflow:hidden; box-shadow:0 3px 0 var(--ink); }
.hero__bar-fill{ height:100%; width:0; border-radius:999px; background:repeating-linear-gradient(135deg,var(--gold) 0 12px,var(--hot) 12px 24px); transition:width 1.2s cubic-bezier(.2,.9,.25,1); }
.hero__bar-meta{ display:flex; justify-content:space-between; font-size:.7rem; margin-top:6px; font-weight:900; }

.hero__cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }

/* avatar */
.hero__right{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.avatar{ position:relative; width:min(78vw,320px); aspect-ratio:1; }
.avatar__halo{
  position:absolute; left:50%; top:-8%; transform:translateX(-50%);
  width:62%; height:16%; border-radius:50%; border:7px solid var(--gold);
  box-shadow:0 0 26px rgba(255,197,61,.85); animation:bob 3.6s ease-in-out infinite;
}
.avatar__ring{
  position:absolute; inset:-6%; border-radius:50%;
  background:conic-gradient(var(--gold),var(--hot),var(--grape),var(--mint),var(--gold));
  animation:spin 9s linear infinite; filter:blur(1px);
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.avatar__img{
  position:absolute; inset:0; width:100%; height:100%; border-radius:50%;
  border:var(--line) solid var(--ink); background:#fff; object-fit:cover; z-index:2;
  animation:float 5s ease-in-out infinite;
}
@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.avatar__jets{ position:absolute; left:50%; bottom:-16%; transform:translateX(-50%); display:flex; align-items:flex-start; gap:16px; z-index:1; }
.avatar__jets i{
  width:18px; height:78px; border-radius:0 0 50% 50%; transform-origin:top center;
  background:linear-gradient(180deg,#fff6c2,var(--gold),var(--hot),transparent);
  animation:flick .18s steps(2) infinite;
}
.avatar__jets i:nth-child(2){ height:104px; width:22px; animation-delay:.06s; }
.avatar__jets i:nth-child(3){ animation-delay:.12s; }
@keyframes flick{ 0%{ transform:scaleY(.72); opacity:.85; } 100%{ transform:scaleY(1.12); opacity:1; } }
.avatar__stamp{
  position:absolute; right:-6%; top:6%; z-index:3; transform:rotate(11deg);
  font-family:var(--f-display); font-size:1.3rem; line-height:1; text-align:center;
  color:var(--mint); background:var(--ink); padding:.3em .6em; border-radius:10px;
  border:3px solid var(--mint); box-shadow:0 4px 0 rgba(0,0,0,.3);
}
.avatar__stamp small{ display:block; font-family:var(--f-body); font-size:.4rem; letter-spacing:.14em; color:#fff; opacity:.75; }
.avatar__base{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }

.scrollhint{ text-align:center; margin-top:clamp(20px,4vw,40px); font-size:.78rem; letter-spacing:.14em; font-weight:900; opacity:.7; animation:bob 2.4s ease-in-out infinite; }

/* ======================= MESECI ======================= */
.months{ display:flex; flex-direction:column; gap:clamp(26px,5vw,56px); padding-block:clamp(20px,4vw,40px); }

.month{
  background:#fff; border:var(--line) solid var(--ink); border-radius:calc(var(--r) + 8px);
  box-shadow:var(--pop-lg); overflow:hidden;
}
.month--locked{ background:repeating-linear-gradient(135deg,#f4f1ea 0 18px,#eae6dd 18px 36px); }

.month__head{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:clamp(10px,2vw,22px); padding:clamp(16px,3vw,26px); border-bottom:var(--line) solid var(--ink); background:var(--paper-2); }
.month--august .month__head{ background:linear-gradient(120deg,#ffd9a0,#ffeccd); }
.month--september .month__head{ background:linear-gradient(120deg,#c9f3ff,#e6fbff); }
.month--october .month__head{ background:linear-gradient(120deg,#e7e2f7,#f4f1ff); }

.month__title{ font-size:clamp(2.1rem,6.5vw,3.3rem); text-shadow:3px 3px 0 var(--ink); color:#fff; }
.month__meta{ display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.chip{ font-size:.68rem; font-weight:900; letter-spacing:.06em; background:#fff; border:3px solid var(--ink); border-radius:999px; padding:.3em .8em; box-shadow:0 3px 0 var(--ink); }
.chip--live{ background:var(--mint); }
.chip--done{ background:var(--sky); }
.chip--locked{ background:#d9d4ca; }
.month__xp{ margin-left:auto; text-align:right; }
.month__xp b{ display:block; font-family:var(--f-display); font-size:clamp(1.8rem,5vw,2.6rem); line-height:.9; color:var(--hot); font-variant-numeric:tabular-nums; }
.month__xp span{ font-size:.62rem; letter-spacing:.16em; opacity:.7; }
.month__tag{ width:100%; margin:0; font-size:.88rem; font-style:italic; opacity:.8; }

.quests{ display:grid; gap:clamp(12px,2vw,18px); padding:clamp(14px,3vw,26px); grid-template-columns:1fr; }
@media (min-width:760px){ .quests{ grid-template-columns:1fr 1fr; } }

.quest{
  position:relative; display:flex; flex-direction:column; gap:9px;
  background:var(--paper); border:var(--line) solid var(--ink); border-radius:var(--r);
  padding:clamp(13px,2.2vw,20px); box-shadow:var(--pop);
  transition:transform .12s ease, box-shadow .12s ease;
  cursor:pointer; opacity:0; transform:translateY(22px);
}
.quest.in{ opacity:1; transform:translateY(0); transition:opacity .5s ease, transform .5s cubic-bezier(.2,.9,.25,1); }
.quest.in:hover{ transform:translateY(-4px) rotate(-.4deg); box-shadow:0 10px 0 var(--ink); }
.quest.pop{ animation:pop .35s ease; }
@keyframes pop{ 50%{ transform:scale(1.04) rotate(.8deg); } }

.quest--legendary{ grid-column:1/-1; background:linear-gradient(135deg,#fff3d0,#ffe0a3); border-color:#8a5a00; box-shadow:0 8px 0 #8a5a00, 0 0 34px rgba(255,197,61,.5); }
.quest--legendary::after{
  content:'★ LEGENDARY DROP'; position:absolute; top:-3px; right:14px;
  font-family:var(--f-display); font-size:.72rem; letter-spacing:.08em; color:#fff;
  background:#8a5a00; padding:.2em .7em; border-radius:0 0 10px 10px;
}

.quest__top{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.quest__cat{ font-size:.62rem; font-weight:900; letter-spacing:.1em; padding:.24em .65em; border-radius:999px; border:2px solid var(--ink); color:#fff; }
.quest__rar{ font-family:var(--f-display); font-size:.72rem; letter-spacing:.06em; padding:.1em .55em; border-radius:6px; border:2px solid var(--ink); }
.quest__xp{ margin-left:auto; font-family:var(--f-display); font-size:1.35rem; color:var(--hot); font-variant-numeric:tabular-nums; }
.quest__xp small{ font-size:.5em; opacity:.6; }
.quest__title{ font-size:clamp(1.15rem,3.4vw,1.55rem); }
.quest__desc{ margin:0; font-size:.82rem; font-weight:700; line-height:1.5; opacity:.85; }
.quest__note{ margin:0; font-size:.74rem; font-weight:900; color:#8a5a00; background:rgba(255,255,255,.7); border-left:5px solid var(--gold); padding:.5em .7em; border-radius:0 8px 8px 0; }
.quest__bar{ height:11px; border-radius:999px; background:#fff; border:2px solid var(--ink); overflow:hidden; }
.quest__bar i{ display:block; height:100%; width:0; border-radius:999px; transition:width .9s cubic-bezier(.2,.9,.25,1); }

.month__locked{ padding:clamp(22px,5vw,44px); text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px; }
.month__locked .lock{ font-size:3rem; filter:grayscale(.2); animation:bob 3s ease-in-out infinite; }
.month__locked p{ margin:0; font-size:.88rem; max-width:44ch; opacity:.75; }

/* ======================= DASHBOARD ======================= */
.dash{ padding-block:clamp(34px,7vw,80px); }
.dash__head{ margin-bottom:clamp(18px,3vw,32px); }
.dash__head .h2{ text-shadow:var(--line) var(--line) 0 var(--ink), 0 0 30px rgba(255,138,0,.4); }
.dash__head .sub{ color:var(--ink); font-weight:800; }

.dash__grid{ display:grid; gap:clamp(12px,2vw,20px); grid-template-columns:1fr; }
@media (min-width:820px){ .dash__grid{ grid-template-columns:1fr 1fr; } }

.card{
  background:#fff; border:var(--line) solid var(--ink); border-radius:var(--r);
  padding:clamp(15px,2.6vw,24px); box-shadow:var(--pop-lg);
}
.card--big{ background:var(--ink); color:#fff; }
@media (min-width:820px){ .card--big{ grid-column:1/-1; } .card--wide{ grid-column:1/-1; } }
.card__h{ font-size:1.3rem; margin-bottom:.7em; letter-spacing:.04em; }

.verdict{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; }
.verdict__num{ font-family:var(--f-display); font-size:clamp(4rem,17vw,9rem); line-height:.82; color:var(--gold); text-shadow:0 0 40px rgba(255,197,61,.55); font-variant-numeric:tabular-nums; }
.verdict__lbl{ font-size:.7rem; letter-spacing:.24em; opacity:.7; }
.verdict__stamp{
  margin-top:.5em; font-family:var(--f-display); font-size:clamp(1.8rem,6vw,3.2rem);
  color:var(--mint); border:5px solid var(--mint); border-radius:14px; padding:.1em .5em;
  transform:rotate(-3deg); box-shadow:0 0 30px rgba(61,220,151,.35);
}
.verdict__txt{ max-width:58ch; margin:1em 0 0; font-size:.86rem; line-height:1.6; font-weight:700; opacity:.9; }

.bars{ display:flex; flex-direction:column; gap:11px; }
.bar__top{ display:flex; align-items:center; gap:7px; font-size:.72rem; font-weight:900; margin-bottom:4px; }
.bar__top b{ margin-left:auto; font-family:var(--f-display); font-size:1rem; font-variant-numeric:tabular-nums; }
.bar__track{ height:16px; border-radius:999px; background:var(--paper-2); border:3px solid var(--ink); overflow:hidden; }
.bar__fill{ display:block; height:100%; width:0; border-radius:999px; transition:width 1.1s cubic-bezier(.2,.9,.25,1); }

.stats{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.stat{ background:var(--paper); border:3px solid var(--ink); border-radius:12px; padding:.7em .8em; box-shadow:0 3px 0 var(--ink); }
.stat b{ display:block; font-family:var(--f-display); font-size:1.7rem; line-height:1; color:var(--hot); font-variant-numeric:tabular-nums; }
.stat span{ font-size:.6rem; letter-spacing:.1em; font-weight:900; opacity:.7; }

.badges{ display:grid; grid-template-columns:repeat(auto-fill,minmax(128px,1fr)); gap:10px; }
.badge{
  display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center;
  background:var(--paper); border:3px solid var(--ink); border-radius:14px; padding:.8em .5em; box-shadow:0 4px 0 var(--ink);
  transition:transform .12s ease;
}
.badge:hover{ transform:translateY(-3px) rotate(-1deg); }
.badge i{ font-style:normal; font-size:1.8rem; line-height:1; }
.badge b{ font-family:var(--f-display); font-size:.86rem; letter-spacing:.03em; }
.badge span{ font-size:.58rem; font-weight:800; opacity:.65; line-height:1.3; }
.badge--locked{ filter:grayscale(1); opacity:.45; }

/* ======================= PAKAO ======================= */
.hell{ position:relative; margin-top:clamp(30px,6vw,70px); padding-top:clamp(60px,14vw,180px); color:#fff; overflow:hidden; }
.hell__scene{ position:absolute; inset:auto 0 0 0; height:min(62vh,520px); z-index:0; }
.hell__svg{ width:100%; height:100%; display:block; }

.bub{ animation:bubble 3.4s ease-in-out infinite; }
.bub--b{ animation-duration:2.6s; animation-delay:.4s; }
.bub--c{ animation-duration:4.1s; animation-delay:.9s; }
.bub--d{ animation-duration:3s; animation-delay:1.4s; }
@keyframes bubble{ 0%,100%{ transform:translateY(0) scale(1); opacity:.8; } 50%{ transform:translateY(-16px) scale(1.25); opacity:.35; } }

.demon{ transform-origin:center bottom; animation:peek 3.2s ease-in-out infinite; }
.demon--b{ animation-duration:4.4s; animation-delay:.5s; }
.demon--c{ animation-duration:2.8s; animation-delay:1.1s; }
@keyframes peek{ 0%,100%{ transform:translateY(10px) rotate(-2deg); } 50%{ transform:translateY(-8px) rotate(3deg); } }

.flames{ position:absolute; inset:auto 0 0 0; height:34%; display:flex; align-items:flex-end; gap:0; pointer-events:none; }
.flames span{
  flex:1; height:100%;
  background:linear-gradient(0deg,#fff3b0 0%,var(--gold) 22%,var(--hot) 52%,rgba(214,40,40,.55) 78%,transparent 100%);
  border-radius:50% 50% 12% 12%/70% 70% 12% 12%;
  transform-origin:bottom center; mix-blend-mode:screen; opacity:.85;
  animation:burn 1.1s ease-in-out infinite alternate;
}
@keyframes burn{ from{ transform:scaleY(.55) scaleX(.9) skewX(-4deg); } to{ transform:scaleY(1.15) scaleX(1.05) skewX(5deg); } }

.hell__copy{ position:relative; z-index:2; text-align:center; display:flex; flex-direction:column; align-items:center; gap:clamp(16px,3vw,28px); padding-bottom:clamp(40px,8vw,90px); }

.hell__sign{ display:inline-flex; flex-direction:column; align-items:center; transform:rotate(-2deg); }
.hell__sign-top{ font-size:.72rem; letter-spacing:.34em; opacity:.8; }
.hell__title{
  font-size:clamp(2.4rem,9vw,6rem); color:var(--gold);
  text-shadow:4px 4px 0 #3d0a06, 0 0 40px rgba(255,107,53,.8);
}
.hell__sign-bot{ font-size:.72rem; font-style:italic; opacity:.75; }

.hell__lede{ max-width:56ch; margin:0; font-size:clamp(.88rem,2.4vw,1rem); line-height:1.65; opacity:.92; }

.hell__meter{
  width:min(100%,760px); background:rgba(20,4,4,.72); border:var(--line) solid var(--gold);
  border-radius:var(--r); padding:clamp(14px,2.6vw,22px); backdrop-filter:blur(4px);
  box-shadow:0 0 40px rgba(255,107,53,.35);
}
.hell__meter-head{ display:flex; justify-content:space-between; align-items:baseline; font-size:.7rem; letter-spacing:.16em; margin-bottom:9px; }
.hell__meter-head b{ font-family:var(--f-display); font-size:1.8rem; color:var(--gold); letter-spacing:0; }
.hell__meter-track{ height:24px; border-radius:999px; background:#2a0505; border:3px solid var(--gold); overflow:hidden; }
.hell__meter-fill{ height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,var(--blood),var(--hot) 40%,var(--gold) 70%,#8be9ff); transition:width 1.3s cubic-bezier(.2,.9,.25,1); }
.hell__meter-foot{ display:flex; justify-content:space-between; gap:8px; font-size:.6rem; font-weight:900; margin-top:8px; opacity:.85; flex-wrap:wrap; }

.hell__verdict{
  max-width:60ch; font-size:clamp(.9rem,2.5vw,1.05rem); line-height:1.6;
  background:rgba(255,246,229,.95); color:var(--ink); border:var(--line) solid var(--ink);
  border-radius:var(--r); padding:clamp(14px,2.6vw,22px); box-shadow:var(--pop-lg); transform:rotate(.6deg);
}
.hell__verdict b{ color:var(--hot); }

.foot{ position:relative; z-index:2; text-align:center; padding:clamp(28px,5vw,48px) 16px clamp(300px,46vw,470px); font-size:.72rem; }
.foot p{ display:inline-block; margin:.25em auto; background:rgba(20,4,4,.6); border-radius:999px; padding:.4em 1em; backdrop-filter:blur(3px); }
.foot a{ color:var(--gold); }
.foot__small{ opacity:.6; }

/* ======================= FX (leteći +XP, konfete) ======================= */
.fx{ position:fixed; inset:0; pointer-events:none; z-index:60; overflow:hidden; }
.fx__xp{ position:absolute; font-family:var(--f-display); font-size:1.6rem; color:var(--gold); text-shadow:2px 2px 0 var(--ink); animation:floatUp 1.1s ease-out forwards; }
@keyframes floatUp{ to{ transform:translateY(-90px) scale(1.25); opacity:0; } }
.fx__conf{ position:absolute; width:11px; height:16px; border:2px solid var(--ink); animation:fall 2.6s linear forwards; }
@keyframes fall{ to{ transform:translateY(110vh) rotate(760deg); opacity:.15; } }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.15s !important; }
  html{ scroll-behavior:auto; }
}

/* ======================= GATE — overlay sa PLAY dugmetom (samo desktop) ======================= */
.gate{
  position:fixed; inset:0; z-index:100; display:grid; place-items:center;
  padding:24px; text-align:center;
  background:
    radial-gradient(120% 90% at 50% 120%, rgba(255,138,0,.5), transparent 62%),
    linear-gradient(180deg, #0a1730 0%, #2b0a0a 58%, #5d0f04 100%);
  backdrop-filter:blur(6px);
  opacity:1; transition:opacity .45s ease;
}
.gate[hidden]{ display:none; }
.gate--out{ opacity:0; pointer-events:none; }

.gate__card{
  display:flex; flex-direction:column; align-items:center; gap:.85rem;
  background:var(--paper); color:var(--ink);
  border:var(--line) solid var(--ink); border-radius:calc(var(--r) + 10px);
  padding:clamp(26px,3.4vw,44px) clamp(28px,4vw,60px);
  box-shadow:0 10px 0 var(--ink), 0 0 70px rgba(255,138,0,.45);
  transform:rotate(-.8deg); max-width:32rem;
}
.gate__kicker{
  font-size:.66rem; font-weight:900; letter-spacing:.18em;
  background:var(--ink); color:#fff; padding:.4em 1em; border-radius:999px;
}
.gate__title{
  font-family:var(--f-display); font-size:clamp(2.6rem,5vw,4.2rem); line-height:.88;
  color:var(--hot); text-shadow:4px 4px 0 var(--ink);
}
.gate__txt{ margin:0; font-size:.84rem; line-height:1.55; opacity:.8; }

.gate__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  margin-top:.5rem; cursor:pointer;
  font-family:var(--f-display); font-size:1.75rem; letter-spacing:.06em;
  color:var(--ink); background:var(--gold);
  border:var(--line) solid var(--ink); border-radius:16px;
  padding:.5em 1.4em; box-shadow:0 8px 0 var(--ink);
  transition:transform .09s ease, box-shadow .09s ease;
  animation:gatePulse 1.9s ease-in-out infinite;
}
.gate__btn:hover{ background:#ffd766; }
.gate__btn:active{ transform:translateY(8px); box-shadow:0 0 0 var(--ink); animation:none; }
.gate__tri{
  width:0; height:0; border-style:solid;
  border-width:.46em 0 .46em .78em; border-color:transparent transparent transparent var(--ink);
}
@keyframes gatePulse{ 0%,100%{ box-shadow:0 8px 0 var(--ink), 0 0 0 0 rgba(255,197,61,.55); }
                      70%{ box-shadow:0 8px 0 var(--ink), 0 0 0 26px rgba(255,197,61,0); } }

.gate__skip{
  margin-top:.2rem; cursor:pointer; background:none; border:0;
  font-family:var(--f-body); font-weight:800; font-size:.7rem;
  letter-spacing:.06em; color:var(--ink); opacity:.5; text-decoration:underline;
}
.gate__skip:hover{ opacity:.85; }

@media (prefers-reduced-motion:reduce){ .gate__btn{ animation:none; } }
