*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#0a0806;
  --bg2:#120f0c;
  --bg3:#1a1612;
  --acc:#FF6B2B;
  --acc2:#FF8C55;
  --acc-glow:rgba(255,107,43,0.12);
  --acc-glow2:rgba(255,107,43,0.06);
  --txt:#ede8e3;
  --txt2:#7a7370;
  --txt3:#3d3a38;
  --bdr:rgba(255,107,43,0.1);
  --bdr2:rgba(255,107,43,0.38);
  --grn:#4ade80;
  --f:'Bebas Neue',system-ui,sans-serif;
  --fb:'Space Grotesk',system-ui,sans-serif;
  --r:12px;
  --rl:16px;
}

html{scroll-behavior:smooth}

body{
  font-family:var(--fb);
  background:var(--bg);
  color:var(--txt);
  min-height:100vh;
  overflow-x:hidden;
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:200px 200px;
  pointer-events:none;
  z-index:0;
  opacity:0.6;
}

body::after{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(255,107,43,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 100% 100%, rgba(255,107,43,0.04) 0%, transparent 50%),
    radial-gradient(ellipse 40% 30% at 0% 80%, rgba(255,107,43,0.03) 0%, transparent 50%);
  pointer-events:none;
  z-index:0;
}

#star-canvas{
  position:fixed;inset:0;
  width:100%;height:100%;
  z-index:1;pointer-events:none;
}

.cursor-glow{
  position:fixed;
  width:500px;height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,43,0.06) 0%,transparent 70%);
  pointer-events:none;z-index:2;
  transform:translate(-50%,-50%);
}

.screen{display:none;min-height:100vh;position:relative;z-index:3}
.screen.active{display:flex;flex-direction:column}

.spark{
  position:fixed;pointer-events:none;z-index:9999;
  border-radius:50%;background:var(--acc);
  animation:spark-out 0.6s ease-out forwards;
}
@keyframes spark-out{
  0%{opacity:1;transform:translate(0,0) scale(1)}
  100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0)}
}

.navbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 2rem;
  border-bottom:1px solid var(--bdr);
  background:rgba(10,8,6,0.92);
  backdrop-filter:blur(20px);
  position:sticky;top:0;z-index:100;
}

.logo{
  font-size:16px;font-weight:700;
  color:var(--txt);font-family:var(--fb);
  display:flex;align-items:center;gap:8px;
  letter-spacing:-0.02em;
}

.logo-mark{
  width:26px;height:26px;background:var(--acc);
  border-radius:6px;display:flex;
  align-items:center;justify-content:center;
  font-size:13px;font-weight:700;color:#fff;flex-shrink:0;
}

.logo-dot{color:var(--acc)}

.btn-nav{
  background:transparent;border:1px solid var(--bdr2);
  color:var(--txt2);padding:6px 16px;border-radius:8px;
  font-size:13px;font-weight:500;cursor:pointer;
  font-family:var(--fb);text-decoration:none;transition:all 0.2s;
}
.btn-nav:hover{border-color:var(--acc);color:var(--acc2)}

.btn-back{
  background:transparent;border:1px solid var(--bdr);
  color:var(--txt2);padding:6px 14px;border-radius:8px;
  font-size:13px;cursor:pointer;font-family:var(--fb);transition:all 0.2s;
}
.btn-back:hover{border-color:var(--bdr2);color:var(--txt)}

.mail-icon{
  color:var(--txt3);
  display:flex;align-items:center;
  text-decoration:none;
  transition:color 0.2s;
}
.mail-icon:hover{color:var(--acc)}

.lang-switcher{
  display:flex;align-items:center;gap:4px;margin-left:0.5rem;
}
.lang-btn{
  background:transparent;
  border:1px solid var(--bdr);
  color:var(--txt3);
  padding:4px 10px;border-radius:6px;
  font-size:12px;font-weight:600;
  cursor:pointer;font-family:var(--fb);
  transition:all 0.2s;
}
.lang-btn:hover{border-color:var(--bdr2);color:var(--txt2)}
.lang-btn.active{border-color:var(--acc);color:var(--acc)}

.nav-right{display:flex;align-items:center;gap:12px}

.hero{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;padding:2rem 2rem 2rem;
}

.hero h1{
  font-family:var(--f);
  font-size:clamp(64px,9.5vw,124px);
  font-weight:400;
  line-height:0.92;
  letter-spacing:0.02em;
  margin-bottom:1.25rem;
  text-transform:uppercase;
}

.t-muted{color:rgba(255,255,255,0.18);display:block}
.t-accent{
  color:var(--acc);display:block;
  text-shadow:0 0 60px rgba(255,107,43,0.5),0 0 120px rgba(255,107,43,0.2);
}
.t-white{
  color:var(--txt);display:block;
  font-size:clamp(80px,12vw,155px);
  line-height:0.88;
  margin-top:-0.04em;
}
.t-acc-inline{color:var(--acc)}

.hero-sub{
  font-size:15px;color:var(--txt2);
  line-height:1.6;max-width:360px;
  margin:0 auto 2rem;font-family:var(--fb);
}

.btn-hero{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--acc);color:#fff;border:none;
  padding:22px 60px;border-radius:100px;
  font-size:clamp(17px,2vw,21px);font-weight:700;
  font-family:var(--fb);cursor:pointer;
  letter-spacing:-0.01em;transition:all 0.25s;
  box-shadow:0 0 50px rgba(255,107,43,0.4),0 0 100px rgba(255,107,43,0.12);
  margin-bottom:0.75rem;
}
.btn-hero:hover{
  background:var(--acc2);
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 0 70px rgba(255,107,43,0.6),0 0 140px rgba(255,107,43,0.2);
}
.btn-hero:active{transform:scale(0.99)}
.btn-hero svg{transition:transform 0.2s}
.btn-hero:hover svg{transform:translateX(5px)}

.hero-note{font-size:12px;color:var(--txt3);margin-bottom:2.5rem}
.hero-note span{color:var(--txt2)}

.quiz-wrap{max-width:860px;margin:0 auto;padding:2.5rem 2rem;width:100%}

.prog-wrap{display:flex;align-items:center;gap:12px;margin-bottom:2rem}
.prog-track{flex:1;height:3px;background:var(--bg3);border-radius:20px;overflow:hidden}
.prog-fill{height:3px;background:var(--acc);border-radius:20px;transition:width 0.4s ease;box-shadow:0 0 8px rgba(255,107,43,0.5);width:0%}
.prog-txt{font-size:12px;color:var(--txt3);white-space:nowrap}

.quiz-card{
  background:rgba(18,15,12,0.97);
  border:1px solid var(--bdr);border-radius:var(--rl);
  padding:2.5rem 3rem;backdrop-filter:blur(10px);
}

.q-cat{font-size:11px;color:var(--acc);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:0.75rem}

.q-title{
  font-size:26px;font-weight:700;
  margin-bottom:2rem;line-height:1.3;
  letter-spacing:-0.01em;color:var(--txt);
  font-family:var(--fb);
}

.q-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.q-opt{
  background:var(--bg2);border:1px solid var(--bdr);
  border-radius:var(--r);padding:22px 20px;
  cursor:pointer;text-align:left;font-family:var(--fb);
  color:var(--txt);transition:all 0.18s;
  display:flex;flex-direction:column;gap:8px;
}
.q-opt:hover{border-color:var(--bdr2);background:var(--bg3);transform:translateY(-2px)}
.q-opt.selected{border-color:var(--acc);background:var(--acc-glow);box-shadow:0 0 20px rgba(255,107,43,0.1)}
.opt-label{font-size:16px;font-weight:700;color:var(--txt)}
.opt-desc{font-size:13px;color:var(--txt2);line-height:1.5}
.q-opt.selected .opt-desc{color:var(--acc2)}

.proc-wrap{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  min-height:100vh;gap:1.25rem;padding:2rem;
}
.proc-name{font-size:24px;font-weight:700;color:var(--txt);letter-spacing:-0.02em;margin-bottom:0.5rem;font-family:var(--fb)}
.proc-line{font-size:14px;color:var(--txt3);text-align:center;opacity:0;transform:translateY(8px);transition:all 0.5s ease;margin-bottom:0.4rem;font-family:var(--fb)}
.proc-line.visible{opacity:1;transform:translateY(0);color:var(--txt2)}

.results-wrap{max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem;width:100%}
.results-header{margin-bottom:1.75rem}
.results-header h2{font-size:24px;font-weight:700;margin-bottom:5px;letter-spacing:-0.02em;font-family:var(--fb)}
.results-header p{font-size:14px;color:var(--txt2)}

.games-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:14px;
  align-items:start;
  margin-bottom:1.5rem;
}

.game-card{
  background:rgba(18,15,12,0.97);
  border:1px solid var(--bdr);
  border-radius:var(--rl);overflow:hidden;
  transition:all 0.25s;position:relative;
}
.game-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,0.5)}

.game-card.rank-1{
  border-color:var(--acc);
  box-shadow:0 0 0 1px rgba(255,107,43,0.2),0 0 40px rgba(255,107,43,0.08);
}
.game-card.rank-1:hover{box-shadow:0 0 0 1px rgba(255,107,43,0.4),0 16px 40px rgba(0,0,0,0.5),0 0 40px rgba(255,107,43,0.1)}
.game-card.rank-2,.game-card.rank-3{opacity:0.85}
.game-card.rank-2:hover,.game-card.rank-3:hover{opacity:1}

.recommended-badge{
  position:absolute;top:10px;left:10px;
  background:var(--acc);color:#fff;
  font-size:10px;font-weight:700;
  padding:3px 10px;border-radius:20px;
  letter-spacing:0.05em;text-transform:uppercase;
  z-index:2;font-family:var(--fb);
}

.game-img{width:100%;height:160px;object-fit:cover;object-position:center top;display:block;}
.game-card.rank-2 .game-img,.game-card.rank-3 .game-img{height:120px}

.game-body{padding:1rem 1.1rem}

.game-rank-badge{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.rank-num{
  width:20px;height:20px;border-radius:50%;
  background:var(--acc-glow);border:1px solid var(--bdr2);
  color:var(--acc);font-size:10px;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.rank-label{font-size:10px;color:var(--txt2);font-weight:600;letter-spacing:0.04em;text-transform:uppercase}
.game-card.rank-1 .rank-label{color:var(--acc)}

.game-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}
.game-name{font-size:15px;font-weight:700;margin-bottom:3px;letter-spacing:-0.01em;font-family:var(--fb);line-height:1.2;color:var(--txt)}
.game-card.rank-1 .game-name{font-size:17px}

.game-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.tag{font-size:10px;padding:2px 7px;border-radius:20px;border:1px solid var(--bdr);color:var(--txt2)}
.tag-indie{background:var(--acc-glow);color:var(--acc2);border-color:rgba(255,107,43,0.28)}

.game-desc{
  font-size:12px;color:var(--txt2);line-height:1.55;margin-bottom:10px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.game-card.rank-1 .game-desc{-webkit-line-clamp:4;font-size:13px}

.match-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.match-label{font-size:10px;color:var(--txt3)}
.match-track{flex:1;height:3px;background:var(--bg2);border-radius:20px;overflow:hidden}
.match-fill{height:3px;background:var(--acc);border-radius:20px;box-shadow:0 0 6px rgba(255,107,43,0.5)}
.match-pct{font-size:11px;font-weight:600;color:var(--acc);min-width:28px;text-align:right}

.game-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px}
.game-card.rank-1 .game-meta{grid-template-columns:repeat(3,1fr)}
.meta-item{background:var(--bg2);border-radius:6px;padding:6px 8px}
.meta-label{font-size:9px;color:var(--txt3);margin-bottom:1px;text-transform:uppercase;letter-spacing:0.04em}
.meta-value{font-size:11px;font-weight:600;color:var(--txt)}

.btn-store{
  display:flex;align-items:center;justify-content:center;gap:5px;
  background:transparent;border:1px solid var(--bdr2);
  color:var(--acc2);padding:7px 12px;border-radius:8px;
  font-size:12px;cursor:pointer;font-family:var(--fb);
  transition:all 0.2s;text-decoration:none;width:100%;
}
.btn-store:hover{border-color:var(--acc);background:var(--acc-glow)}
.game-card.rank-1 .btn-store{padding:10px 12px;font-size:13px}

.btn-sec{
  display:block;width:100%;background:transparent;color:var(--txt2);
  border:1px solid var(--bdr);padding:13px 24px;border-radius:var(--r);
  font-size:14px;font-weight:600;cursor:pointer;font-family:var(--fb);
  transition:all 0.2s;margin-top:1.5rem;text-align:center;
}
.btn-sec:hover{border-color:var(--bdr2);color:var(--txt)}

@media(max-width:900px){
  .games-grid{grid-template-columns:1fr}
  .game-card.rank-2,.game-card.rank-3{opacity:1}
}

@media(max-width:768px){
  .hero{padding:1.5rem 1.25rem}
  .hero h1{font-size:56px}
  .btn-hero{padding:18px 40px;font-size:17px}
  .q-opts{grid-template-columns:1fr}
  .navbar{padding:1rem 1.25rem}
  .quiz-card{padding:1.5rem}
  .q-title{font-size:20px}
}