:root{
  --bg:#080504; --bg2:#0f0807; --panel:#130a09; --line:rgba(255,120,60,.14);
  --text:#f6ece8; --muted:#9b8680; --dim:#6d5b56;
  --accent:#ff5a1f; --accent2:#ff8a2b; --hot:#ff3b30;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --r:18px;
}
/* цвета тиров призов */
:root{--c:#ff8a2b;--cg:255,138,43}
[data-tier="1"]{--c:#ffd23f;--cg:255,210,63}
[data-tier="2"]{--c:#b794ff;--cg:183,148,255}
[data-tier="3"]{--c:#ff9d4d;--cg:255,157,77}
[data-tier="4"]{--c:#ff4d5e;--cg:255,77,94}
[data-tier="5"]{--c:#5aa2ff;--cg:90,162,255}
[data-tier="6"]{--c:#8a9a9f;--cg:138,154,159}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#2a1713;border-radius:10px}

#embers{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,transparent 40%,rgba(0,0,0,.65) 100%)}
main,.footer,.nav{position:relative;z-index:2}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,48px);background:linear-gradient(#080504ee,#080504aa 70%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.stuck{border-color:var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em}
.brand em{font-style:normal;font-weight:600;color:var(--accent2);font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;padding:3px 8px;border:1px solid var(--line);border-radius:999px}
.nav nav{display:flex;align-items:center;gap:6px}
.nav nav a{padding:8px 14px;color:var(--muted);font-weight:600;font-size:.92rem;border-radius:10px;transition:.2s}
.nav nav a:hover{color:var(--text);background:rgba(255,255,255,.04)}
.nav-cta{padding:9px 16px;border-radius:10px;font-weight:700;font-size:.9rem;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#1a0a05;box-shadow:0 6px 24px -8px rgba(255,90,31,.7);transition:.2s}
.nav-cta:hover{transform:translateY(-1px);filter:brightness(1.08)}

/* HERO */
.hero{position:relative;min-height:100vh;display:grid;place-items:center;padding:110px 20px 80px;overflow:hidden;text-align:center}
.hero-glow{position:absolute;inset:-20% -10% auto;height:90%;background:
  radial-gradient(ellipse 50% 55% at 50% 38%,rgba(255,90,31,.22),transparent 70%),
  radial-gradient(ellipse 35% 40% at 15% 75%,rgba(160,40,20,.25),transparent 70%),
  radial-gradient(ellipse 35% 40% at 88% 70%,rgba(255,140,40,.12),transparent 70%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,120,60,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,120,60,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%)}
.hero-emblem{position:absolute;top:50%;left:50%;width:min(780px,120vw);aspect-ratio:1;transform:translate(-50%,-52%);opacity:.5;pointer-events:none}
.hero-emblem svg{width:100%;height:100%}
.ring{transform-origin:200px 200px}
.r1{animation:spin 80s linear infinite}
.r3{animation:spin 140s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-inner{position:relative;max-width:980px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2);padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,90,31,.06);margin-bottom:26px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(255,90,31,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,90,31,0)}100%{box-shadow:0 0 0 0 rgba(255,90,31,0)}}
h1{font-size:clamp(2.6rem,8.2vw,6.4rem);line-height:.98;font-weight:900;letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance}
h1 .accent{background:linear-gradient(100deg,#ff8a2b,#ff3b30 70%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 28px rgba(255,70,30,.45))}
.lead{margin:28px auto 0;max-width:560px;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem)}
.lead b{color:var(--text);font-weight:800;background:linear-gradient(var(--accent),var(--accent)) 0 100%/100% 2px no-repeat;padding-bottom:2px}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 34px;border-radius:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;transition:transform .2s,box-shadow .2s,background .2s,filter .2s}
.btn-primary{background:linear-gradient(135deg,#ff8a2b,#ff4a1a 60%,#e5300f);color:#1a0904;box-shadow:0 14px 44px -12px rgba(255,80,30,.75),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 56px -12px rgba(255,80,30,.9),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-ghost{border:1px solid rgba(255,140,80,.28);background:rgba(255,255,255,.03);color:var(--text);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,120,60,.1);border-color:rgba(255,140,80,.5);transform:translateY(-2px)}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:24px;height:40px;border:1.5px solid rgba(255,255,255,.22);border-radius:14px}
.scroll-hint span{position:absolute;top:7px;left:50%;width:3px;height:8px;margin-left:-1.5px;background:var(--accent2);border-radius:3px;animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* SECTIONS */
.section{padding:clamp(70px,10vw,130px) 20px;position:relative}
.wrap{max-width:1180px;margin:0 auto}.wrap.narrow{max-width:1040px}
.section-head{text-align:center;margin-bottom:56px}
.kicker{font-family:var(--mono);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent2);margin-bottom:12px}
h2{font-size:clamp(1.9rem,4.6vw,3.3rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase}
.rule{display:block;width:76px;height:3px;margin:20px auto 0;background:linear-gradient(90deg,transparent,var(--accent),transparent);border-radius:3px}

/* PRIZES */
.prize-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.prize{position:relative;padding:34px 28px 30px;border-radius:var(--r);background:linear-gradient(180deg,rgba(var(--cg),.07),rgba(255,255,255,.012) 55%),var(--panel);border:1px solid rgba(var(--cg),.2);overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .35s;isolation:isolate}
.prize::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(500px 220px at var(--mx,50%) var(--my,0%),rgba(var(--cg),.16),transparent 60%);opacity:0;transition:opacity .3s}
.prize:hover{transform:translateY(-6px);border-color:rgba(var(--cg),.55);box-shadow:0 24px 60px -24px rgba(var(--cg),.55)}
.prize:hover::before{opacity:1}
.prize .place{position:absolute;top:18px;right:18px;font-family:var(--mono);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;color:var(--c);background:rgba(var(--cg),.12);border:1px solid rgba(var(--cg),.35)}
.p-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;margin-bottom:26px;color:var(--c);background:linear-gradient(145deg,rgba(var(--cg),.2),rgba(var(--cg),.04));border:1px solid rgba(var(--cg),.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.p-icon svg{width:30px;height:30px}
.prize h3{font-size:1.45rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.prize .sub{font-family:var(--mono);font-weight:700;color:var(--c);margin:8px 0 14px;font-size:.95rem}
.prize p.d{color:var(--muted);font-size:.93rem}
.prize:nth-child(1),.prize:nth-child(2){grid-column:span 1}
.prize.big::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--c),transparent)}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:36px}
.stat{padding:30px 16px 24px;text-align:center;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,90,31,.06),transparent),var(--panel)}
.stat b{display:block;font-family:var(--mono);font-size:clamp(1.5rem,3.3vw,2.5rem);font-weight:700;color:#ff4a3a;text-shadow:0 0 28px rgba(255,60,40,.5);letter-spacing:.02em;white-space:nowrap}
.stat span{display:block;margin-top:8px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:600}

/* TOOLBAR */
.toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.search{flex:1 1 360px;max-width:560px;display:flex;align-items:center;gap:12px;padding:0 18px;height:56px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--muted);transition:.2s}
.search:focus-within{border-color:rgba(255,120,60,.65);box-shadow:0 0 0 4px rgba(255,90,31,.14);color:var(--accent2)}
.search input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:1rem}
.search input::placeholder{color:var(--dim)}
.search input::-webkit-search-cancel-button{display:none}
.clear{font-size:1.5rem;line-height:1;color:var(--muted);padding:4px 8px;border-radius:8px}.clear:hover{background:rgba(255,255,255,.06);color:var(--text)}
.seg{display:flex;gap:8px}
.seg button{padding:14px 22px;border-radius:999px;font-weight:700;font-size:.9rem;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--text);transition:.2s}
.seg button:hover{border-color:rgba(255,120,60,.5)}
.seg button.on{background:linear-gradient(135deg,#ff6a1a,#ff3b30);border-color:transparent;color:#fff;box-shadow:0 8px 26px -8px rgba(255,70,30,.8)}

/* LOOKUP (результат поиска, в т.ч. не-победители) */
.lookup{display:grid;gap:10px;margin-bottom:16px}
.lk{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;border-radius:14px;border:1px solid var(--line);background:var(--panel);animation:rise .4s both}
.lk.win{border-color:rgba(var(--cg),.45);background:linear-gradient(90deg,rgba(var(--cg),.1),transparent 70%),var(--panel)}
.lk .badge{font-family:var(--mono);font-weight:700;min-width:54px;text-align:center;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.06)}
.lk.win .badge{color:var(--c);background:rgba(var(--cg),.15)}
.lk .who{font-weight:800}.lk .meta{color:var(--muted);font-size:.9rem;flex:1}
.lk button{padding:9px 16px;border-radius:10px;font-weight:700;font-size:.85rem;background:rgba(var(--cg),.15);color:var(--c);border:1px solid rgba(var(--cg),.4)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}

/* TABLE */
.table{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.thead,.row{display:grid;grid-template-columns:90px 1fr 150px minmax(190px,260px);gap:12px;align-items:center;padding:0 24px}
.thead{height:56px;background:rgba(255,90,31,.07);border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--dim)}
.r{text-align:right}
.row{height:64px;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;position:relative;transition:background .2s;animation:rise .45s both}
.row:last-child{border-bottom:0}
.row:hover{background:rgba(var(--cg),.07)}
.row::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--c);opacity:0;transition:.2s}
.row:hover::before{opacity:1}
.row .pl{display:inline-grid;place-items:center;min-width:38px;height:34px;padding:0 8px;border-radius:9px;font-family:var(--mono);font-weight:700;font-size:.9rem;color:var(--c);background:rgba(var(--cg),.14);border:1px solid rgba(var(--cg),.3)}
.row .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .cd{font-family:var(--mono);font-weight:500;text-align:right;color:#f0e2dd}
.pchip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 13px;border-radius:999px;font-size:.82rem;font-weight:700;color:var(--c);background:rgba(var(--cg),.1);border:1px solid rgba(var(--cg),.32);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skeleton{height:64px;border-bottom:1px solid rgba(255,255,255,.04);background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);background-size:200% 100%;animation:sh 1.4s infinite}
@keyframes sh{to{background-position:-200% 0}}
.empty,.updated{text-align:center;color:var(--dim);margin-top:18px;font-size:.88rem}
.empty{color:var(--muted);padding:26px}

.footer{border-top:1px solid var(--line);padding:30px 20px;color:var(--muted);font-size:.88rem;background:rgba(0,0,0,.35)}
.footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.muted{color:var(--dim)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

/* MODAL */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(var(--cg,255,90,31),.12),rgba(0,0,0,.88) 70%);backdrop-filter:blur(8px);animation:fade .3s}
@keyframes fade{from{opacity:0}}
.card{position:relative;width:min(560px,100%);border-radius:28px;padding:56px 28px 34px;text-align:center;overflow:hidden;
  background:linear-gradient(180deg,rgba(var(--cg),.1),transparent 45%),#0d0807;border:1px solid rgba(var(--cg),.4);
  box-shadow:0 0 0 1px rgba(0,0,0,.6),0 40px 120px -30px rgba(var(--cg),.55),inset 0 1px 0 rgba(255,255,255,.06);animation:pop .45s cubic-bezier(.2,1.1,.3,1)}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.94)}}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--c),transparent)}
.card-rays{position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(var(--cg),.09) 0 6deg,transparent 6deg 18deg);mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 38%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 38%);animation:spin 60s linear infinite;pointer-events:none}
.card-body{position:relative}
.card-body.swap{animation:swap .35s ease}
@keyframes swap{from{opacity:0;transform:translateX(var(--dir,24px))}}
.x{position:absolute;top:16px;right:16px;z-index:2;width:38px;height:38px;border-radius:50%;font-size:1.4rem;line-height:1;color:var(--muted);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);transition:.2s}
.x:hover{color:#fff;background:rgba(255,255,255,.12);transform:rotate(90deg)}
.autoplay{position:absolute;top:16px;left:16px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--muted);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);transition:.2s}
.autoplay:hover{color:#fff;background:rgba(255,255,255,.12)}
.autoplay .i-pause{display:none}.autoplay[aria-pressed="true"] .i-pause{display:block}.autoplay[aria-pressed="true"] .i-play{display:none}
.autoplay[aria-pressed="true"]{color:var(--c);border-color:rgba(var(--cg),.5)}
.m-icon{width:64px;height:64px;margin:0 auto 6px;display:grid;place-items:center;color:var(--c)}
.m-icon svg{width:44px;height:44px;filter:drop-shadow(0 0 14px rgba(var(--cg),.6))}
.m-place{font-size:clamp(4rem,14vw,6.2rem);font-weight:900;line-height:1;color:var(--c);text-shadow:0 0 44px rgba(var(--cg),.7);letter-spacing:-.03em}
.m-label{font-family:var(--mono);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.m-name{font-size:clamp(1.8rem,6vw,2.7rem);font-weight:800;margin-top:22px;word-break:break-word;letter-spacing:-.01em}
.m-rule{display:block;height:1px;margin:28px 8% 26px;background:linear-gradient(90deg,transparent,rgba(var(--cg),.7),transparent)}
.m-info{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.box{padding:18px 12px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.box span{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:600;margin-bottom:10px}
.box b{display:block;font-family:var(--mono);font-size:1.25rem;font-weight:700}
.box b.chip{display:inline-block;font-family:var(--sans);font-size:.88rem;padding:8px 14px;border-radius:999px;color:var(--c);background:rgba(var(--cg),.12);border:1px solid rgba(var(--cg),.4)}
.m-count{margin-top:24px;font-family:var(--mono);font-size:.82rem;color:var(--dim);letter-spacing:.12em}
.progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.04);opacity:0}
.progress i{display:block;height:100%;width:0;background:var(--c)}
.card.playing .progress{opacity:1}
.card.playing .progress i{animation:fill var(--dur,4s) linear forwards}
@keyframes fill{to{width:100%}}
.nav-arrow{position:absolute;top:50%;z-index:3;width:52px;height:52px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;color:var(--text);background:rgba(20,12,10,.8);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);transition:.2s}
.nav-arrow:hover{background:rgba(255,90,31,.2);border-color:rgba(255,120,60,.6);transform:scale(1.07)}
.nav-arrow.prev{left:max(14px,calc(50% - 360px))}.nav-arrow.next{right:max(14px,calc(50% - 360px))}

@media (max-width:980px){
  .prize-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .nav nav a{display:none}
  .prize-grid{grid-template-columns:1fr}
  .thead,.row{grid-template-columns:56px 1fr 92px;padding:0 14px;gap:8px}
  .thead span:nth-child(4),.row .pz{display:none}
  .row{height:60px}
  .btn{padding:15px 26px;width:100%;justify-content:center}
  .cta{flex-direction:column;align-items:stretch;max-width:340px;margin-inline:auto}
  .brand em{display:none}
  .nav-arrow{top:auto;bottom:22px;margin:0}
  .nav-arrow.prev{left:calc(50% - 64px)}.nav-arrow.next{right:calc(50% - 64px)}
  .card{padding:52px 18px 28px;margin-bottom:60px}
  .seg button{padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* PENDING: конкурс не завершён / база недоступна */
[hidden]{display:none!important}
body.is-pending .stats,body.is-pending .toolbar,body.is-pending #lookup,body.is-pending #table,body.is-pending #empty,body.is-pending #updated{display:none!important}
.pending{max-width:720px;margin:0 auto;padding:56px 32px 44px;text-align:center;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,90,31,.09),transparent 60%),var(--panel);position:relative;overflow:hidden;animation:rise .6s both}
.pending::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.pending-icon{width:84px;height:84px;margin:0 auto 26px;display:grid;place-items:center;border-radius:50%;color:var(--accent2);background:radial-gradient(circle,rgba(255,90,31,.2),transparent 70%);border:1px solid rgba(255,120,60,.35);animation:flip 6s ease-in-out infinite}
@keyframes flip{0%,40%{transform:rotate(0)}60%,100%{transform:rotate(180deg)}}
.pending h3{font-size:clamp(1.6rem,4.4vw,2.4rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase}
.pending p{max-width:480px;margin:16px auto 0;color:var(--muted)}
.pending-live{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--dim)}
.pending-live i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
