/* ============================================================
   stand.css — FULL НЕЙРОСЛОП EDITION ✨🚀💎
   Powered by Нейродвижок 3000™ • Empowering excellence
   Drop-in replacement — targets the classes the PHP already emits.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap');

body {
    margin: 0;
    padding: 28px;
    font-family: 'Poppins', 'Segoe UI', system-ui, sans-serif;
    color: #ffffff;
    background: linear-gradient(135deg, #6d28d9 0%, #4f46e5 40%, #0ea5e9 100%);
    background-attachment: fixed;
    min-height: 100vh;
}

/* ---- Заголовок страницы ---- */
p.header {
    font-size: 34px;
    font-weight: 800;
    text-align: center;
    margin: 0 0 22px;
    background: linear-gradient(90deg, #fff, #fde047, #fff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 2px 24px rgba(253, 224, 71, .4);
}
p.header::before { content: "🏆 "; }
p.header::after  { content: " 🚀"; }

/* ---- Форма фильтра ---- */
.filter_form { margin: 0; }
.filter_form input[type=text] {
    padding: 9px 16px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .15);
    color: #fff;
    font-size: 14px;
    outline: none;
    backdrop-filter: blur(8px);
}
.filter_form input[type=text]::placeholder { color: rgba(255,255,255,.7); }

/* ---- Таблица результатов ---- */
table.results {
    width: 100%;
    border-collapse: separate;
    border-spacing: 4px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 18px;
    padding: 10px;
    box-shadow: 0 20px 60px rgba(109, 40, 217, .5);
}

/* заголовки колонок */
table.results td[class$="_header"] {
    padding: 10px 12px;
    font-weight: 800;
    color: #fde047;
    text-align: center;
    letter-spacing: .5px;
}

/* заголовки контестов и задач */
td.contest {
    padding: 10px;
    text-align: center;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, rgba(244,114,182,.35), rgba(167,139,250,.35));
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 12px;
}
td.problem {
    padding: 8px 10px;
    text-align: center;
    font-size: 12px;
    color: rgba(255,255,255,.9);
    background: rgba(255,255,255,.08);
    border-radius: 10px;
}
td.problem.obligatory {
    background: rgba(250, 204, 21, .25);
    border: 1px solid #facc15;
    box-shadow: 0 0 12px rgba(250,204,21,.4);
}

/* ---- Ячейки участника ---- */
td.name     { padding: 11px 12px; font-weight: 600; }
td.rank     { padding: 11px 12px; font-weight: 800; font-size: 16px; text-align: center; }
td.solved,
td.exam_solved,
td.attempts { padding: 11px 12px; text-align: center; }
td.remaining{ padding: 11px 12px; text-align: center; }

/* оценка / баллы — градиентная таблетка */
td.mark, td.score {
    padding: 11px 12px;
    text-align: center;
}
td.mark::before, td.score::before { content: ""; }
td[class^="mark"], td[class^="score"] { }
td.mark, td.score {
    font-weight: 700;
}

/* строки-участники */
table.results tr:has(td.name) {
    background: rgba(255, 255, 255, .06);
}

/* ---- Вердикты (эмодзи через ::before) ---- */
td.verdict { padding: 8px; text-align: center; font-size: 12px; }
td.verdict > * , td.verdict { border-radius: 10px; }

td.verdict.OK {
    background: rgba(52, 211, 153, .35);
    border: 1px solid #34d399;
    box-shadow: 0 0 10px rgba(52,211,153,.4);
    color: #fff; font-weight: 700;
}
td.verdict.OK::before { content: "✅ "; }

td.verdict.AC, td.verdict.PR {
    background: rgba(167, 139, 250, .35);
    border: 1px solid #a78bfa;
    color: #fff;
}
td.verdict.AC::before, td.verdict.PR::before { content: "⏳ "; }

td.verdict.WA, td.verdict.PE {
    background: rgba(251, 113, 133, .35);
    border: 1px solid #fb7185;
    color: #fff;
}
td.verdict.WA::before, td.verdict.PE::before { content: "❌ "; }

td.verdict.TL {
    background: rgba(250, 204, 21, .35);
    border: 1px solid #facc15;
    color: #fff;
}
td.verdict.TL::before { content: "⏰ "; }

td.verdict.RT, td.verdict.ML {
    background: rgba(239, 68, 68, .35);
    border: 1px solid #ef4444;
    color: #fff;
}
td.verdict.RT::before { content: "💥 "; }
td.verdict.ML::before { content: "🧠 "; }

td.verdict.RJ {
    background: rgba(251, 146, 60, .4);
    border: 1px solid #fb923c;
    color: #fff; font-weight: 700;
}
td.verdict.RJ::before { content: "🚫 "; }

td.verdict.IG, td.verdict.DQ {
    background: rgba(148, 163, 184, .3);
    border: 1px solid rgba(148, 163, 184, .6);
    color: #fff;
}
td.verdict.IG::before { content: "🙈 "; }
td.verdict.DQ::before { content: "⛔ "; }
td.verdict.CF {
    background: rgba(239, 68, 68, .5);
    border: 1px solid #ef4444;
    color: #fff; font-weight: 800;
}
td.verdict.CF::before { content: "🔥 "; }

td.verdict.CE {
    background: rgba(148, 163, 184, .3);
    border: 1px solid rgba(148, 163, 184, .6);
    color: #fff;
}
td.verdict.CE::before { content: "🛠 "; }

/* ссылки в ячейках вердиктов главной таблицы (обёртка вокруг +/-) — ненавязчивые */
td.verdict a { color: #fff; text-decoration: none; }
td.verdict a:hover { text-decoration: underline; }

/* «view» в лентах — слоп-пилюля вместо дешёвой подписи 👁 */
.subm_list a {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 15px;
    border-radius: 999px;
    font-size: 12px; font-weight: 700;
    color: #fff; text-decoration: none;
    background: linear-gradient(135deg, #f472b6, #a78bfa);
    box-shadow: 0 3px 12px rgba(244, 114, 182, .45);
    transition: transform .15s ease, box-shadow .15s ease;
}
.subm_list a::before { content: "👁"; }
.subm_list a:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(244, 114, 182, .65);
}

/* ---- Ленты посылок — компактный neuroslop-фид 📡 ---- */

/* обёртка <div> вокруг таблицы = скролл-контейнер с неоновым скроллбаром */
div:has(> table.subm_list) {
    position: relative;
    max-height: 300px;
    overflow-y: auto;
    margin: 22px 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, .3);
    box-shadow: 0 12px 40px rgba(109, 40, 217, .45);
    scrollbar-width: thin;
    scrollbar-color: #f472b6 rgba(255, 255, 255, .12);
}
div:has(> table.subm_list)::-webkit-scrollbar { width: 10px; }
div:has(> table.subm_list)::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .08);
    border-radius: 999px; margin: 6px;
}
div:has(> table.subm_list)::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #f472b6, #a78bfa);
    border-radius: 999px;
    box-shadow: 0 0 10px rgba(244, 114, 182, .6);
}
/* мягкое затухание у нижней кромки — намёк «есть ещё» */
div:has(> table.subm_list)::after {
    content: "";
    position: sticky; bottom: 0; left: 0;
    display: block; height: 26px; margin-top: -26px;
    pointer-events: none;
    background: linear-gradient(transparent, rgba(79, 70, 229, .55));
    border-radius: 0 0 18px 18px;
}

table.subm_list {
    width: 100%;
    border-collapse: separate;
    border-spacing: 3px;
    padding: 6px;
    background: none; border: none; box-shadow: none; margin: 0;
}

/* залипающий светящийся заголовок с живым индикатором */
.subm_list_header {
    position: sticky; top: 0; z-index: 2;
    text-align: center;
    font-weight: 800; color: #fde047; font-size: 17px;
    padding: 12px 10px;
    background: rgba(79, 70, 229, .9);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(79, 70, 229, .5);
}
.subm_list_header::before {
    content: "🔴 ";
    animation: slop-pulse 1.4s ease-in-out infinite;
}
@keyframes slop-pulse { 0%,100%{opacity:1} 50%{opacity:.25} }

/* компактные строки */
.subm_list .time         { padding: 5px 12px; opacity: .8; font-size: 12px; white-space: nowrap; }
.subm_list .contest_name { padding: 5px 12px; font-size: 12px; }
.subm_list .user_name    { padding: 5px 12px; font-weight: 600; font-size: 12px; }
.subm_list td.verdict    { padding: 4px 8px; }

/* ---- Легенда вердиктов 🧭 (HTML печатает PHP, см. сниппет) ---- */
.verdict_legend {
    display: flex; flex-wrap: wrap; gap: 10px;
    justify-content: center;
    margin: 20px 0;
}
.verdict_legend .leg {
    padding: 7px 16px;
    border-radius: 999px;
    font-size: 13px; font-weight: 600;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .4);
    backdrop-filter: blur(6px);
    box-shadow: 0 3px 12px rgba(109, 40, 217, .25);
}
.verdict_legend .leg.OK { background: rgba(52, 211, 153, .35);  border-color: #34d399; }
.verdict_legend .leg.WA { background: rgba(251, 113, 133, .35); border-color: #fb7185; }
.verdict_legend .leg.PR { background: rgba(167, 139, 250, .35); border-color: #a78bfa; }
.verdict_legend .leg.TL { background: rgba(250, 204, 21, .35);  border-color: #facc15; }
.verdict_legend .leg.ML { background: rgba(239, 68, 68, .35);   border-color: #ef4444; }
.verdict_legend .leg.RJ { background: rgba(251, 146, 60, .4);   border-color: #fb923c; }
.verdict_legend .leg.CE { background: rgba(148, 163, 184, .3);  border-color: rgba(148, 163, 184, .6); }