/* ============================================================
   THEME VARIABLES — GeoGuesser Profile Aesthetic
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;700&display=swap');

:root {
    --page-gutter: 24px;

    /* DARK theme — deep purple/navy GeoGuesser vibes */
    --bg-base: #0d0b14;
    --bg-grad: linear-gradient(160deg, #0d0b14 0%, #13101f 40%, #0f0d1a 100%);
    --bg-blob-1: rgba(124, 58, 237, 0.14);
    --bg-blob-2: rgba(99, 102, 241, 0.10);

    --text: #e8e6f0;
    --text-muted: #8b859e;
    --title: #a78bfa;
    --accent: #7c3aed;
    --accent-2: #6366f1;
    --gold: #f59e0b;

    --card-bg: rgba(255, 255, 255, 0.04);
    --card-bg-solid: #1a1828;
    --card-border: rgba(167, 139, 250, 0.12);
    --card-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);

    --sidebar-bg: #1a1828;
    --sidebar-text: #e8e6f0;
    --sidebar-muted: #8b859e;
    --sidebar-input-bg: rgba(255, 255, 255, 0.06);
    --sidebar-input-text: #e8e6f0;
    --sidebar-input-border: rgba(167, 139, 250, 0.18);

    --map-frame-bg: #13101f;
    --map-frame-border: rgba(167, 139, 250, 0.14);
    --map-fill: #2a2540;
    --map-stroke: #3d3660;
    --map-fill-hover: #3b3260;

    --btn-bg: linear-gradient(135deg, #7c3aed, #6366f1);
    --btn-bg-hover: linear-gradient(135deg, #8b5cf6, #818cf8);
    --btn-text: #fff;
    --btn-shadow: 0 4px 18px rgba(124, 58, 237, 0.45);

    --btn-ghost-bg: rgba(167, 139, 250, 0.08);
    --btn-ghost-border: rgba(167, 139, 250, 0.2);
    --btn-ghost-text: #e8e6f0;

    --popup-overlay: rgba(0, 0, 0, 0.75);
    --popup-bg: #1a1828;
    --popup-border: rgba(167, 139, 250, 0.15);

    --point-default: #a78bfa;
    --point-default-glow: rgba(167, 139, 250, 0.65);
    --point-capital: #60a5fa;
    --point-capital-glow: rgba(96, 165, 250, 0.7);
    --point-correct: #34d399;
    --point-wrong: #f87171;

    --pixel-border: rgba(167, 139, 250, 0.35);
    --pixel-shadow: 0 0 0 2px #0d0b14, 0 0 0 3px rgba(124, 58, 237, 0.5);
}

[data-theme="light"] {
    --bg-base: #f0eeff;
    --bg-grad: linear-gradient(160deg, #f5f3ff 0%, #ede9fe 40%, #f0eeff 100%);
    --bg-blob-1: rgba(124, 58, 237, 0.07);
    --bg-blob-2: rgba(99, 102, 241, 0.06);

    --text: #1e1b2e;
    --text-muted: #6b5f8a;
    --title: #6d28d9;
    --accent: #7c3aed;
    --accent-2: #6366f1;
    --gold: #d97706;

    --card-bg: rgba(255, 255, 255, 0.85);
    --card-bg-solid: #ffffff;
    --card-border: rgba(124, 58, 237, 0.12);
    --card-shadow: 0 8px 32px rgba(109, 40, 217, 0.08);

    --sidebar-bg: #ffffff;
    --sidebar-text: #1e1b2e;
    --sidebar-muted: #7c6fa0;
    --sidebar-input-bg: #f5f3ff;
    --sidebar-input-text: #1e1b2e;
    --sidebar-input-border: rgba(124, 58, 237, 0.2);

    --map-frame-bg: #f5f3ff;
    --map-frame-border: rgba(124, 58, 237, 0.12);
    --map-fill: #ddd6fe;
    --map-stroke: #a78bfa;
    --map-fill-hover: #c4b5fd;

    --btn-bg: linear-gradient(135deg, #7c3aed, #6366f1);
    --btn-bg-hover: linear-gradient(135deg, #6d28d9, #4f46e5);
    --btn-text: #fff;
    --btn-shadow: 0 4px 14px rgba(124, 58, 237, 0.3);

    --btn-ghost-bg: rgba(124, 58, 237, 0.10);
    --btn-ghost-border: rgba(124, 58, 237, 0.40);
    --btn-ghost-text: #3b1fa8;

    --popup-overlay: rgba(15, 10, 30, 0.45);
    --popup-bg: #ffffff;
    --popup-border: rgba(124, 58, 237, 0.14);

    --point-default: #7c3aed;
    --point-default-glow: rgba(124, 58, 237, 0.5);
    --point-capital: #2563eb;
    --point-capital-glow: rgba(37, 99, 235, 0.55);
    --point-correct: #059669;
    --point-wrong: #dc2626;

    --pixel-border: rgba(124, 58, 237, 0.3);
    --pixel-shadow: 0 0 0 2px #f0eeff, 0 0 0 3px rgba(124, 58, 237, 0.4);
}

/* ============================================================
   BASE
   ============================================================ */
* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    font-family: "Plus Jakarta Sans", "Segoe UI", Tahoma, sans-serif;
    background: var(--bg-grad);
    background-attachment: fixed;
    color: var(--text);
    padding: 0 var(--page-gutter);
    transition: background 0.5s ease, color 0.3s ease;
    position: relative;
    overflow: visible;
}

/* Декоративные размытые блики */
body::before,
body::after {
    content: "";
    position: fixed;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    filter: blur(100px);
    z-index: 0;
    pointer-events: none;
    transition: background 0.5s ease;
}
body::before {
    top: -150px;
    right: -100px;
    background: var(--bg-blob-1);
}
body::after {
    bottom: -200px;
    left: -150px;
    background: var(--bg-blob-2);
}

p { color: var(--text); margin: 0; }

/* ============================================================
   HEADER
   ============================================================ */
.container {
    width: 100%;
    position: relative;
    z-index: 2;
}

header {
    width: 100%;
    margin: 0 0 24px 0;
    padding: 16px var(--page-gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 0 0 16px 16px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: var(--card-shadow);
}

h1 {
    margin: 0;
    color: var(--title);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.5px;
    font-family: "Syne", sans-serif;
    animation: titlePop 0.8s ease;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    border: none;
    border-radius: 10px;
    font-family: "Plus Jakarta Sans", inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s;
    background: var(--btn-bg);
    color: var(--btn-text);
    box-shadow: var(--btn-shadow);
    letter-spacing: 0.01em;
}
.btn:hover { transform: translateY(-2px); background: var(--btn-bg-hover); box-shadow: 0 6px 22px rgba(124, 58, 237, 0.55); }
.btn:active { transform: translateY(0); }

.btn-ghost {
    background: var(--btn-ghost-bg);
    color: var(--btn-ghost-text);
    border: 1px solid var(--btn-ghost-border);
    box-shadow: none;
}
.btn-ghost:hover {
    background: var(--btn-ghost-border);
    transform: translateY(-2px);
    box-shadow: none;
}

.btn-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
    font-size: 17px;
    border-radius: 10px;
}

/* ============================================================
   UNIFIED HEADER BUTTONS — all pills, same ghost style
   ============================================================ */
.header-actions .btn,
.header-actions .btn-auth,
.header-actions #theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    height: 38px;
    border-radius: 999px;
    font-family: "Plus Jakarta Sans", inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid rgba(124,58,237,0.35);
    background: rgba(124,58,237,0.10);
    color: var(--color-text, #eee);
    box-shadow: none;
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
    letter-spacing: 0.01em;
    white-space: nowrap;
    width: auto;
}
.header-actions .btn:hover,
.header-actions .btn-auth:hover,
.header-actions #theme-toggle:hover {
    background: rgba(124,58,237,0.22);
    border-color: rgba(124,58,237,0.6);
    transform: translateY(-1px);
    box-shadow: none;
}
.header-actions .btn:active,
.header-actions .btn-auth:active,
.header-actions #theme-toggle:active {
    transform: translateY(0);
}

/* ============================================================
   LAYOUT
   ============================================================ */
.app-layout {
    display: flex;
    justify-content: center;
    width: 100%;
    position: relative;
    z-index: 2;
}

.main-stage {
    width: 100%;
    max-width: 100%;
    padding: 0 var(--page-gutter) 24px;
    display: grid;
    grid-template-columns: 7fr 3fr;
    gap: 24px;
    box-sizing: border-box;
}

.content { position: relative; animation: fadeIn 0.8s ease; }

/* ============================================================
   GAME UI (счёт)
   ============================================================ */
.game-ui {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}

.stat-pill {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 12px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: var(--card-shadow);
    font-weight: 600;
    color: var(--text);
}
.stat-pill .stat-icon { font-size: 20px; }
.stat-pill .stat-label { font-size: 11px; opacity: 0.6; text-transform: uppercase; letter-spacing: 1.2px; font-family: "JetBrains Mono", monospace; }
.stat-pill .stat-value { font-size: 22px; font-weight: 800; color: var(--title); font-family: "JetBrains Mono", monospace; }

/* ============================================================
   CONTROLS
   ============================================================ */
.controls {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

label {
    color: var(--text);
    font-weight: 600;
    font-size: 14px;
}

select {
    padding: 10px 14px;
    background: var(--card-bg);
    color: var(--text);
    border: 1px solid var(--card-border);
    border-radius: 10px;
    font-family: inherit;
    font-size: 14px;
    cursor: pointer;
    backdrop-filter: blur(10px);
}
select option { background: #1a1828; color: #e8e6f0; }
[data-theme="light"] select option { background: #fff; color: #1e1b2e; }

/* ============================================================
   MAP  — pixel art SVG overrides
   ============================================================ */
.map-wrapper {
    position: relative;
    width: 100%;
    background: var(--map-frame-bg);
    border: 1px solid var(--map-frame-border);
    border-radius: 14px;
    padding: 12px;
    box-shadow: var(--card-shadow), inset 0 1px 0 rgba(167, 139, 250, 0.08);
    image-rendering: pixelated;
}

.map-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
}

/* Pixel-art SVG map styling */
.map-image path,
#map-svg path,
svg.map-svg path {
    fill: var(--map-fill) !important;
    stroke: var(--map-stroke) !important;
    stroke-width: 1.5px !important;
    transition: fill 0.2s ease;
    shape-rendering: crispEdges;
}
.map-image path:hover,
#map-svg path:hover,
svg.map-svg path:hover {
    fill: var(--map-fill-hover) !important;
}
[data-theme="light"] .map-image path,
[data-theme="light"] #map-svg path,
[data-theme="light"] svg.map-svg path {
    fill: var(--map-fill) !important;
    stroke: var(--map-stroke) !important;
}
[data-theme="light"] .map-image path:hover,
[data-theme="light"] #map-svg path:hover,
[data-theme="light"] svg.map-svg path:hover {
    fill: var(--map-fill-hover) !important;
}

/* ============================================================
   LEGEND
   ============================================================ */
.legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 14px;
    padding: 12px 16px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 12px;
    backdrop-filter: blur(10px);
    font-size: 13px;
    color: var(--text);
}
.legend-item { display: inline-flex; align-items: center; gap: 8px; }
.legend-dot {
    width: 12px; height: 12px; border-radius: 50%;
    box-shadow: 0 0 8px currentColor;
}
.legend-dot.city { background: var(--point-default); color: var(--point-default); }
.legend-dot.capital { background: var(--point-capital); color: var(--point-capital); border: 2px solid #fff; width: 14px; height: 14px; }
.legend-dot.correct { background: var(--point-correct); color: var(--point-correct); }
.legend-dot.wrong { background: var(--point-wrong); color: var(--point-wrong); }

/* ============================================================
   POINTS
   ============================================================ */
.point {
    position: absolute;
    width: 9px;
    height: 9px;
    background: var(--point-default);
    cursor: pointer;
    border-radius: 50%;
    box-shadow: 0 0 8px var(--point-default-glow);
    animation: pointPulse 1.5s infinite alternate;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
    z-index: 6;
    transform: translate(-50%, -50%);
}
.point:hover { transform: translate(-50%, -50%) scale(1.6); }

/* Столицы крайов */
.point.capital {
    width: 15px;
    height: 15px;
    background: var(--point-capital);
    box-shadow: 0 0 16px var(--point-capital-glow);
    border: 2px solid #fff;
    z-index: 7;
}

/* Состояния поверх .capital */
.point.correct,
.point.capital.correct {
    background: var(--point-correct);
    box-shadow: 0 0 18px var(--point-correct);
    border-color: #fff;
    animation: pulseCorrect 1s infinite alternate;
}
.point.wrong,
.point.capital.wrong {
    background: var(--point-wrong);
    box-shadow: 0 0 18px var(--point-wrong);
    border-color: #fff;
    animation: pulseWrong 1s infinite alternate;
}

.point.no-question {
    opacity: 0.35;
    cursor: not-allowed;
    animation: none;
}

/* ============================================================
   POPUP
   ============================================================ */
.popup {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--popup-overlay);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.25s ease;
}

.popup-content {
    background: var(--popup-bg);
    border: 1px solid var(--popup-border);
    backdrop-filter: blur(20px);
    padding: 28px 30px;
    border-radius: 20px;
    color: var(--text);
    max-width: 560px;
    width: calc(100% - 40px);
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
    animation: popupIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.popup-content h2 {
    margin: 0 0 14px;
    color: var(--title);
    font-size: 22px;
}

.popup-content h3 { margin: 16px 0 8px; color: var(--text); }
.popup-content p, .popup-content li { color: var(--text); line-height: 1.6; }
.popup-content ul { padding-left: 22px; margin: 6px 0; }

.close {
    cursor: pointer;
    float: right;
    font-size: 28px;
    line-height: 1;
    color: var(--text-muted);
    transition: color 0.2s, transform 0.2s;
    user-select: none;
}
.close:hover { color: var(--point-wrong); }

#question-text {
    margin: 10px 0 16px;
    font-size: 16px;
    color: var(--text);
}

.choice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 8px;
    border-radius: 10px;
    background: var(--btn-ghost-bg);
    border: 1px solid var(--btn-ghost-border);
    transition: background 0.2s;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
    user-select: none;
}
.choice:hover { background: var(--btn-ghost-border); }
.choice.correct { background: rgba(76, 175, 80, 0.25); border-color: var(--point-correct); }
.choice.wrong { background: rgba(244, 67, 54, 0.25); border-color: var(--point-wrong); }
.choice input[type="radio"] { flex-shrink: 0; cursor: pointer; accent-color: var(--color-accent, #7c3aed); }
.choice span { flex: 1; line-height: 1.4; }

#submit-answer {
    margin-top: 14px;
    padding: 10px 22px;
    background: var(--btn-bg);
    border: none;
    color: var(--btn-text);
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    box-shadow: var(--btn-shadow);
    transition: transform 0.2s ease;
}
#submit-answer:hover { transform: translateY(-2px); }

#feedback {
    margin-top: 12px;
    font-weight: 600;
    min-height: 20px;
    color: var(--text);
}

/* ── Beautiful fill & open-answer inputs ── */
.fill-question-wrap {
    margin-bottom: 10px;
}
.fill-sentence {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text);
    margin: 0 0 14px 0;
}
.fill-blank-placeholder {
    display: inline-block;
    border-bottom: 2px solid var(--color-accent, #7c6ff7);
    min-width: 80px;
    margin: 0 3px;
    vertical-align: bottom;
    opacity: 0.5;
}
.fill-inputs-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}
.fill-input-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.fill-input-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-accent, #7c6ff7);
    min-width: 16px;
}
.fill-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
}
.fill-pencil-icon {
    position: absolute;
    left: 10px;
    color: var(--color-accent, #7c6ff7);
    font-size: 11px;
    pointer-events: none;
    opacity: 0.7;
}
input.fill-input {
    background: var(--btn-ghost-bg);
    border: 1.5px solid rgba(124,111,247,0.4);
    border-radius: 14px;
    color: var(--text);
    padding: 12px 16px 12px 36px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    outline: none;
}
input.fill-input:focus {
    border-color: var(--color-accent, #7c6ff7);
    box-shadow: 0 0 0 3px rgba(124,111,247,0.18);
    background: rgba(124,111,247,0.06);
}
input.fill-input[style*="c8e6c9"] {
    border-color: #4ade80 !important;
    background: rgba(74,222,128,0.1) !important;
    box-shadow: 0 0 0 3px rgba(74,222,128,0.15) !important;
}
input.fill-input[style*="ffcdd2"] {
    border-color: #f87171 !important;
    background: rgba(248,113,113,0.1) !important;
    box-shadow: 0 0 0 3px rgba(248,113,113,0.15) !important;
}

/* Open answer */
.open-answer-wrap {
    position: relative;
    display: flex;
    align-items: center;
    margin: 8px 0 4px;
}
.open-answer-icon {
    position: absolute;
    left: 14px;
    color: var(--color-accent, #7c6ff7);
    font-size: 14px;
    pointer-events: none;
    opacity: 0.75;
    z-index: 1;
}
input.open-answer-input {
    width: 100%;
    box-sizing: border-box;
    background: var(--btn-ghost-bg);
    border: 1.5px solid rgba(124,111,247,0.4);
    border-radius: 14px;
    color: var(--text);
    padding: 13px 16px 13px 42px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    outline: none;
}
input.open-answer-input:focus {
    border-color: var(--color-accent, #7c6ff7);
    box-shadow: 0 0 0 3px rgba(124,111,247,0.18);
    background: rgba(124,111,247,0.06);
}
input.open-answer-input[style*="c8e6c9"] {
    border-color: #4ade80 !important;
    background: rgba(74,222,128,0.1) !important;
    box-shadow: 0 0 0 3px rgba(74,222,128,0.15) !important;
}
input.open-answer-input[style*="ffcdd2"] {
    border-color: #f87171 !important;
    background: rgba(248,113,113,0.1) !important;
    box-shadow: 0 0 0 3px rgba(248,113,113,0.15) !important;
}

/* Similarity info bar */
.sim-info-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted, rgba(255,255,255,0.5));
    margin-top: 6px;
    padding: 5px 10px;
    background: var(--btn-ghost-bg);
    border-radius: 8px;
    border: 1px solid var(--btn-ghost-border);
}

/* ============================================================
   ASIDE (правая колонка)
   ============================================================ */
.aside {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.text-illustration {
    padding: 18px 20px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    backdrop-filter: blur(14px);
    box-shadow: var(--card-shadow);
    color: var(--text);
    flex: 1;
    overflow-y: auto;
}
.text-illustration h3 {
    margin: 0 0 10px;
    color: var(--title);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
}
.text-illustration p,
.text-illustration .text,
.text-illustration .text * {
    color: var(--text) !important;
    line-height: 1.65;
    font-size: 13.5px;
}

#sidebar {
    background: var(--sidebar-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: var(--card-shadow);
    color: var(--sidebar-text);
}
#sidebar h3 {
    margin: 0 0 14px;
    font-size: 14px;
    color: var(--title);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
}

.player-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
}
.player-box label {
    color: var(--sidebar-muted) !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.player-box input {
    background: var(--sidebar-input-bg) !important;
    color: var(--sidebar-input-text) !important;
    border: 1px solid var(--sidebar-input-border) !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    font-family: inherit;
    font-size: 14px;
}
.player-box button {
    padding: 10px 14px;
    border: none;
    border-radius: 8px;
    background: var(--btn-bg);
    color: var(--btn-text);
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
    transition: transform 0.2s;
    box-shadow: var(--btn-shadow);
}
.player-box button:hover { transform: translateY(-2px); }

#name-status, #session-hint {
    color: var(--sidebar-muted) !important;
    font-size: 12px !important;
}

#leaderboard {
    list-style: none;
    padding: 0;
    margin: 0;
    color: var(--sidebar-text) !important;
}
#leaderboard li {
    padding: 8px 12px;
    border-radius: 8px;
    margin-bottom: 4px;
    background: var(--btn-ghost-bg);
    border: 1px solid var(--btn-ghost-border);
    color: var(--sidebar-text);
    font-size: 13.5px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    align-items: center;
    transition: transform 0.2s, border-color 0.2s;
}
#leaderboard li:hover { transform: translateX(4px); border-color: rgba(167, 139, 250, 0.35); }
#leaderboard li.lb-header-row {
    background: transparent;
    border: none;
    font-size: 11px;
    font-weight: 700;
    opacity: 0.45;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding-bottom: 2px;
    margin-bottom: 2px;
    font-family: "JetBrains Mono", monospace;
}
#leaderboard li.lb-header-row:hover { transform: none; }
.lb-col-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-col-map, .lb-col-fast {
    text-align: right;
    min-width: 44px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    font-family: "JetBrains Mono", monospace;
    font-size: 12.5px;
}
.lb-col-fast { color: var(--gold); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
    width: 100%;
    margin-top: 32px;
    position: relative;
    z-index: 2;
}

.site-footer {
    border-top: 1px solid rgba(255,255,255,0.07);
    padding: 32px 24px 24px;
}

.footer-inner {
    max-width: 700px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-logo {
    font-size: 1.4rem;
}

.footer-name {
    font-size: 1.1rem;
    font-weight: 800;
    background: linear-gradient(135deg, #a78bfa, #818cf8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-family: "JetBrains Mono", monospace;
}

.footer-tagline {
    color: var(--text-muted, #94a3b8);
    font-size: 0.85rem;
    letter-spacing: 0.04em;
}

.footer-divider {
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, #7c3aed, #2563eb);
    border-radius: 2px;
    margin: 4px 0;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.82rem;
    color: var(--text-muted, #94a3b8);
}

.footer-school {
    color: var(--text-muted, #94a3b8);
}

.footer-sep {
    opacity: 0.4;
}

.footer-email {
    color: #a78bfa;
    text-decoration: none;
    transition: color 0.18s;
}

.footer-email:hover {
    color: #c4b5fd;
    text-decoration: underline;
}

.footer-email strong {
    color: inherit;
}

.footer-copy {
    font-size: 0.75rem;
    color: var(--text-muted, #64748b);
    opacity: 0.5;
    margin-top: 4px;
}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes popupIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes pointPulse {
    0% { box-shadow: 0 0 6px var(--point-default-glow); }
    100% { box-shadow: 0 0 14px var(--point-default-glow); }
}
@keyframes pulseCorrect {
    0% { box-shadow: 0 0 10px var(--point-correct); }
    100% { box-shadow: 0 0 22px var(--point-correct); }
}
@keyframes pulseWrong {
    0% { box-shadow: 0 0 10px var(--point-wrong); }
    100% { box-shadow: 0 0 22px var(--point-wrong); }
}
@keyframes titlePop {
    0% { transform: scale(0.85); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
@keyframes scoreAnim {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); color: #4caf50; }
    100% { transform: scale(1); }
}
.score-anim { animation: scoreAnim 0.5s ease; display: inline-block; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 980px) {
    .main-stage { grid-template-columns: 1fr; }
    header { flex-direction: column; align-items: stretch; }
    h1 { text-align: center; font-size: 22px; }
    .header-actions { justify-content: center; }
}
@media (max-width: 520px) {
    :root { --page-gutter: 14px; }
    .btn { padding: 8px 12px; font-size: 13px; }
    .btn-icon { width: 38px; height: 38px; }
    h1 { font-size: 20px; }
}

/* ============================================================
   FAST GAME CTA (на главной странице)
   ============================================================ */
.fast-cta {
    position: relative;
    display: block;
    margin-top: 16px;
    padding: 22px 26px;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 10px 30px rgba(124, 58, 237, 0.35);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fast-cta:hover { transform: translateY(-3px); box-shadow: 0 14px 40px rgba(124, 58, 237, 0.5); }
.fast-cta:active { transform: translateY(-1px); }

.fast-cta-bg {
    position: absolute; inset: 0;
    background: linear-gradient(120deg, #7c3aed 0%, #ec4899 50%, #f97316 100%);
    background-size: 200% 200%;
    animation: ctaGradient 6s ease infinite;
    z-index: 0;
}
.fast-cta-bg::before {
    content: ""; position: absolute; inset: -50%;
    background: radial-gradient(circle at center, rgba(255,255,255,0.25) 0%, transparent 60%);
    animation: ctaPulse 3s ease infinite;
}
.fast-cta-content {
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 18px;
}
.fast-cta-icon {
    font-size: 38px;
    filter: drop-shadow(0 0 12px rgba(255,255,255,0.6));
    animation: ctaBolt 1.6s ease-in-out infinite;
}
.fast-cta-text { flex: 1; }
.fast-cta-title { font-size: 22px; font-weight: 800; letter-spacing: 0.5px; }
.fast-cta-sub { font-size: 13px; opacity: 0.9; margin-top: 2px; }
.fast-cta-arrow { font-size: 26px; transition: transform 0.25s; }
.fast-cta:hover .fast-cta-arrow { transform: translateX(6px); }

@keyframes ctaGradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
@keyframes ctaPulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.05); }
}
@keyframes ctaBolt {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.15) rotate(-8deg); }
}

/* ============================================================
   FAST GAME PAGE
   ============================================================ */
.fast-body { padding-bottom: 40px; }

.fast-main {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--page-gutter);
    position: relative;
    z-index: 2;
}

.fast-screen { display: none; animation: fadeInUp 0.4s ease both; }
.fast-screen.active { display: block; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ---------- Loading ---------- */
.loader-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 18px;
    padding: 50px;
    text-align: center;
    backdrop-filter: blur(10px);
    box-shadow: var(--card-shadow);
    color: var(--text);
}
.loader-spinner {
    width: 56px; height: 56px;
    border: 4px solid var(--btn-ghost-border);
    border-top-color: var(--title);
    border-radius: 50%;
    margin: 0 auto 18px;
    animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ---------- Reading ---------- */
.reading-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 22px;
    padding: 28px 30px;
    backdrop-filter: blur(12px);
    box-shadow: var(--card-shadow);
    color: var(--text);
}
.reading-header { margin-bottom: 18px; }
.reading-badge {
    display: inline-block;
    padding: 6px 14px;
    background: var(--btn-bg);
    color: var(--btn-text);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: var(--btn-shadow);
    margin-bottom: 12px;
}
.reading-card h2 { margin: 0; font-size: 26px; color: var(--title); }

.rules-panel {
    background: var(--btn-ghost-bg);
    border: 1px solid var(--btn-ghost-border);
    border-radius: 14px;
    padding: 14px 18px;
    margin: 18px 0 20px;
}
.rules-panel-title {
    font-weight: 700;
    color: var(--title);
    margin-bottom: 8px;
    font-size: 15px;
}
.rules-list { list-style: none; padding: 0; margin: 0; }
.rules-list li {
    padding: 4px 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--text);
}

.ukazka-text-wrap {
    max-height: 320px;
    overflow-y: auto;
    padding: 16px 18px;
    background: var(--btn-ghost-bg);
    border-radius: 12px;
    border: 1px solid var(--btn-ghost-border);
    margin-bottom: 20px;
}
.ukazka-text {
    color: var(--text) !important;
    line-height: 1.7;
    font-size: 15px;
    margin: 0;
}

.btn-large {
    padding: 14px 26px;
    font-size: 15px;
    border-radius: 14px;
    width: 100%;
    justify-content: center;
}
.btn-large.btn-ghost { width: auto; }

/* ---------- Playing: HUD ---------- */
.game-hud {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}
.hud-pill {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 12px 16px;
    backdrop-filter: blur(10px);
    text-align: center;
    color: var(--text);
    transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.hud-label { font-size: 11px; letter-spacing: 1.5px; opacity: 0.7; margin-bottom: 4px; }
.hud-value { font-size: 24px; font-weight: 800; color: var(--title); }
.streak-mult {
    margin-left: 8px;
    font-size: 16px;
    padding: 2px 10px;
    background: var(--btn-ghost-bg);
    border-radius: 999px;
    color: var(--text);
}
.streak-pill.hot {
    border-color: #f97316;
    box-shadow: 0 0 22px rgba(249, 115, 22, 0.5);
}
.streak-pill.hot .hud-value { color: #f97316; }
.streak-pill.blazing {
    border-color: #ef4444;
    box-shadow: 0 0 30px rgba(239, 68, 68, 0.6);
    animation: blaze 0.9s ease infinite alternate;
}
@keyframes blaze {
    from { box-shadow: 0 0 22px rgba(239, 68, 68, 0.5); }
    to { box-shadow: 0 0 36px rgba(239, 68, 68, 0.85); }
}

/* ---------- Timer ---------- */
.timer-wrap {
    margin-bottom: 22px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 14px 16px 12px;
    backdrop-filter: blur(10px);
}
.timer-zones {
    display: flex;
    gap: 3px;
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.8);
}
[data-theme="light"] .timer-zones { color: rgba(30, 27, 46, 0.7); }
.timer-zone {
    text-align: left;
    padding: 0 6px;
    border-radius: 4px 4px 0 0;
    line-height: 1;
}
.timer-zone.zone-10 { background: rgba(34, 197, 94, 0.25); }
.timer-zone.zone-5  { background: rgba(234, 179, 8, 0.25); }
.timer-zone.zone-2  { background: rgba(249, 115, 22, 0.3); }
.timer-zone.zone-0  { background: rgba(239, 68, 68, 0.3); }

.timer-bar {
    position: relative;
    height: 18px;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid var(--card-border);
}
[data-theme="light"] .timer-bar { background: rgba(124, 58, 237, 0.07); }

/* ── Light theme: Fast Game columns & cards ── */
[data-theme="light"] .ukazka-col {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.10);
    scrollbar-color: rgba(124, 58, 237, 0.15) transparent;
}
[data-theme="light"] .ukazka-col-text {
    color: #1e1b2e;
}
[data-theme="light"] .hud-pill {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.10);
    color: #1e1b2e;
}
[data-theme="light"] .question-card {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.10);
    color: #1e1b2e;
}
[data-theme="light"] .question-text {
    color: #1e1b2e;
}
[data-theme="light"] .choice-btn {
    background: #f5f3ff;
    border-color: rgba(124, 58, 237, 0.14);
    color: #1e1b2e;
}
[data-theme="light"] .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct) {
    background: #ede9fe;
    border-color: #7c3aed;
}
[data-theme="light"] .streak-mult {
    background: rgba(124, 58, 237, 0.06);
    color: #1e1b2e;
}

.timer-fill {
    height: 100%;
    width: 100%;
    border-radius: 999px;
    transition: background 0.3s, box-shadow 0.3s;
    background: linear-gradient(90deg, #22c55e, #4ade80);
    box-shadow: 0 0 18px rgba(34, 197, 94, 0.7);
}
.timer-fill.zone-color-10 {
    background: linear-gradient(90deg, #22c55e, #4ade80);
    box-shadow: 0 0 18px rgba(34, 197, 94, 0.7);
}
.timer-fill.zone-color-5 {
    background: linear-gradient(90deg, #eab308, #facc15);
    box-shadow: 0 0 18px rgba(234, 179, 8, 0.7);
}
.timer-fill.zone-color-2 {
    background: linear-gradient(90deg, #f97316, #fb923c);
    box-shadow: 0 0 18px rgba(249, 115, 22, 0.7);
}
.timer-fill.zone-color-0 {
    background: linear-gradient(90deg, #ef4444, #f87171);
    box-shadow: 0 0 18px rgba(239, 68, 68, 0.7);
    animation: dangerPulse 0.5s ease infinite alternate;
}
@keyframes dangerPulse {
    from { filter: brightness(1); }
    to { filter: brightness(1.3); }
}

.timer-meta {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 13px;
    color: var(--text);
}
.timer-points-now strong { color: var(--title); font-size: 16px; }
.timer-seconds { font-variant-numeric: tabular-nums; opacity: 0.8; }

/* ---------- Question card ---------- */
.question-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 18px;
    padding: 26px;
    backdrop-filter: blur(12px);
    box-shadow: var(--card-shadow);
}
.question-card.anim-in { animation: questionIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes questionIn {
    from { opacity: 0; transform: translateY(20px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.question-text {
    font-size: 18px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 18px;
    line-height: 1.5;
}

.choices-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 600px) {
    .choices-grid { grid-template-columns: 1fr; }
}

.choice-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: var(--btn-ghost-bg);
    border: 2px solid var(--btn-ghost-border);
    border-radius: 14px;
    color: var(--text);
    font-family: inherit;
    font-size: 15px;
    text-align: left;
    cursor: pointer;
    transition: transform 0.15s, background 0.2s, border-color 0.2s;
    animation: choiceIn 0.35s ease both;
}
@keyframes choiceIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct) {
    transform: translateY(-2px);
    background: var(--btn-ghost-border);
    border-color: var(--title);
}
.choice-key {
    flex-shrink: 0;
    width: 36px; height: 36px;
    background: var(--btn-bg);
    color: var(--btn-text);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800;
    font-size: 16px;
    box-shadow: var(--btn-shadow);
}
.choice-text { flex: 1; line-height: 1.4; }

.choice-btn.correct {
    background: rgba(34, 197, 94, 0.2);
    border-color: #22c55e;
    box-shadow: 0 0 22px rgba(34, 197, 94, 0.5);
    animation: correctPop 0.4s ease;
}
.choice-btn.correct .choice-key {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.6);
}
@keyframes correctPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.choice-btn.wrong {
    background: rgba(239, 68, 68, 0.2);
    border-color: #ef4444;
    animation: wrongShake 0.4s ease;
}
.choice-btn.wrong .choice-key {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}
@keyframes wrongShake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

.choice-btn.reveal-correct {
    background: rgba(34, 197, 94, 0.15);
    border-color: #22c55e;
    border-style: dashed;
}

/* ---------- Floating feedback ---------- */
.floating-feedback {
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.6);
    padding: 18px 30px;
    border-radius: 999px;
    font-size: 28px;
    font-weight: 800;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 999;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.3);
}
.floating-feedback.show { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.floating-feedback.correct {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #fff;
}
.floating-feedback.wrong {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: #fff;
    font-size: 22px;
}

/* ---------- Stats screen ---------- */
.stats-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 22px;
    padding: 36px 30px;
    backdrop-filter: blur(12px);
    box-shadow: var(--card-shadow);
    text-align: center;
    color: var(--text);
}
.stats-trophy {
    font-size: 64px;
    margin-bottom: 8px;
    animation: trophyBounce 1.4s ease infinite;
}
@keyframes trophyBounce {
    0%, 100% { transform: translateY(0) rotate(-5deg); }
    50% { transform: translateY(-10px) rotate(5deg); }
}
.stats-card h2 { color: var(--title); font-size: 28px; margin: 0 0 6px; }
.stats-subtitle { opacity: 0.8; margin-bottom: 24px !important; color: var(--text) !important; }

.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}
@media (max-width: 640px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
}
.stat-box {
    background: var(--btn-ghost-bg);
    border: 1px solid var(--btn-ghost-border);
    border-radius: 14px;
    padding: 16px 12px;
    text-align: center;
    transition: transform 0.2s;
}
.stat-box:hover { transform: translateY(-3px); }
.stat-box.correct-box { border-color: rgba(34, 197, 94, 0.5); }
.stat-box.wrong-box { border-color: rgba(239, 68, 68, 0.5); }
.stat-box-icon { font-size: 24px; margin-bottom: 6px; }
.stat-box-label { font-size: 11px; letter-spacing: 1px; opacity: 0.7; margin-bottom: 4px; }
.stat-box-value { font-size: 22px; font-weight: 800; color: var(--title); }

.stats-total-game {
    margin-bottom: 22px;
    padding: 16px;
    background: var(--btn-ghost-bg);
    border: 1px dashed var(--btn-ghost-border);
    border-radius: 12px;
    color: var(--text);
    font-size: 14px;
}
.stats-total-value {
    font-size: 32px;
    font-weight: 800;
    color: var(--title);
    margin-top: 4px;
}

.stats-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}
.stats-actions .btn { flex: 1; min-width: 200px; }

@media (max-width: 560px) {
    .game-hud { grid-template-columns: 1fr; }
    .reading-card, .stats-card { padding: 22px 18px; }
    .reading-card h2 { font-size: 22px; }
}


/* ===========================================================================
   DIFFICULTY SELECT SCREEN
   =========================================================================== */
.difficulty-card {
    max-width: 560px;
    margin: 40px auto;
    background: var(--card-bg, rgba(255,255,255,0.06));
    border-radius: 20px;
    padding: 36px 28px;
    text-align: center;
    box-shadow: 0 8px 40px rgba(0,0,0,0.3);
}

.difficulty-title {
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: 6px;
    letter-spacing: -0.5px;
}

.difficulty-subtitle {
    color: var(--text-muted, #94a3b8);
    margin-bottom: 28px;
    font-size: 0.95rem;
}

.diff-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

@media (max-width: 520px) {
    .diff-grid { grid-template-columns: 1fr; }
}

.diff-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 22px 12px;
    border-radius: 14px;
    border: 2px solid transparent;
    background: var(--btn-ghost-bg);
    cursor: pointer;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
    color: inherit;
}

.diff-btn:hover {
    transform: translateY(-3px);
    border-color: rgba(167, 139, 250, 0.4);
    box-shadow: 0 6px 24px rgba(124, 58, 237, 0.2);
}

.diff-btn.selected {
    border-color: var(--title);
    box-shadow: 0 0 18px rgba(167, 139, 250, 0.35);
}

.diff-btn--medium { background: rgba(167, 139, 250, 0.08); }
.diff-btn--hard   { background: rgba(248, 113, 113, 0.08); }

.diff-icon  { font-size: 2rem; }
.diff-label { font-size: 1.1rem; font-weight: 700; }
.diff-time  { font-size: 1.3rem; font-weight: 800; color: var(--title); font-family: "JetBrains Mono", monospace; }
.diff-desc  { font-size: 0.78rem; color: var(--text-muted); }

/* ===========================================================================
   STREAK BACKGROUND — body classes shift the whole page background
   Cards/questions untouched (they use card-bg vars).
   Fire effect via a separate fixed pseudo-layer (#streak-fire-canvas).
   =========================================================================== */

#streak-bg-overlay,
.streak-flash { display: none !important; }

/* Solid base background per streak level — clean saturated colors */
body.streak-bg-1 {
    background: linear-gradient(135deg, #1a1400 0%, #2d2100 50%, #3d2d00 100%) !important;
}
body.streak-bg-2 {
    background: linear-gradient(135deg, #1f1000 0%, #3a1800 50%, #522200 100%) !important;
}
body.streak-bg-3 {
    background: linear-gradient(135deg, #200800 0%, #3e0f00 50%, #601800 100%) !important;
}
body.streak-bg-4 {
    background: linear-gradient(135deg, #1c0200 0%, #3b0600 50%, #5e0c00 100%) !important;
}
body.streak-bg-5 {
    background: linear-gradient(135deg, #180000 0%, #370000 50%, #5a0400 100%) !important;
}

/* Fire canvas — sits at the BOTTOM of the screen only */
#streak-fire-canvas {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 55vh;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 1.5s ease;
}

body.streak-bg-3 #streak-fire-canvas,
body.streak-bg-4 #streak-fire-canvas,
body.streak-bg-5 #streak-fire-canvas {
    opacity: 1;
}


/* ===========================================================================
   STREAK BADGE — floats around screen, shakes harder with higher streak
   =========================================================================== */
.streak-badge-popup {
    position: fixed;
    pointer-events: none;
    z-index: 1000;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    border-radius: 14px;
    padding: 10px 20px;
    white-space: nowrap;
    opacity: 0;
    transform: scale(0.5);
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
    box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}

/* Streak-level colours */
.streak-badge-popup.s1 { background: rgba(250,204,21,0.92);  color: #1a1a1a; font-size: 1.1rem; }
.streak-badge-popup.s2 { background: rgba(251,146,60,0.92);  color: #1a1a1a; font-size: 1.25rem; }
.streak-badge-popup.s3 { background: rgba(249,115,22,0.95);  color: #fff;    font-size: 1.45rem; }
.streak-badge-popup.s4 { background: rgba(239,68,68,0.95);   color: #fff;    font-size: 1.7rem; }
.streak-badge-popup.s5 { background: rgba(220,38,38,1.00);   color: #fff;    font-size: 2.0rem; }

/* Animations — shake intensity grows with streak */
.streak-badge-popup.s1 { animation: badgeFloat 0.9s cubic-bezier(0.22,1,0.36,1) forwards; }
.streak-badge-popup.s2 { animation: badgeFloat 0.9s cubic-bezier(0.22,1,0.36,1) forwards; }
.streak-badge-popup.s3 { animation: badgeShake3 0.9s cubic-bezier(0.22,1,0.36,1) forwards; }
.streak-badge-popup.s4 { animation: badgeShake4 0.8s cubic-bezier(0.22,1,0.36,1) forwards; }
.streak-badge-popup.s5 { animation: badgeShake5 0.75s cubic-bezier(0.22,1,0.36,1) forwards; }

@keyframes badgeFloat {
    0%   { opacity: 0; transform: scale(0.5) translateY(0); }
    25%  { opacity: 1; transform: scale(1.1) translateY(-12px); }
    70%  { opacity: 1; transform: scale(1.0) translateY(-20px); }
    100% { opacity: 0; transform: scale(0.9) translateY(-34px); }
}

@keyframes badgeShake3 {
    0%   { opacity: 0; transform: scale(0.6) translateY(0) rotate(0deg); }
    20%  { opacity: 1; transform: scale(1.15) translateY(-10px) rotate(-3deg); }
    40%  { transform: scale(1.1) translateY(-16px) rotate(3deg); }
    60%  { transform: scale(1.0) translateY(-20px) rotate(-2deg); }
    100% { opacity: 0; transform: scale(0.9) translateY(-36px) rotate(0deg); }
}

@keyframes badgeShake4 {
    0%   { opacity: 0; transform: scale(0.5) translateY(0) rotate(0deg); }
    15%  { opacity: 1; transform: scale(1.2) translateY(-8px)  rotate(-5deg); }
    30%  { transform: scale(1.15) translateY(-14px) rotate(5deg); }
    45%  { transform: scale(1.1)  translateY(-18px) rotate(-4deg); }
    60%  { transform: scale(1.05) translateY(-22px) rotate(3deg); }
    100% { opacity: 0; transform: scale(0.9) translateY(-38px) rotate(0deg); }
}

@keyframes badgeShake5 {
    0%   { opacity: 0; transform: scale(0.4) translateY(0) rotate(0deg); }
    10%  { opacity: 1; transform: scale(1.3) translateY(-6px)  rotate(-8deg); }
    22%  { transform: scale(1.25) translateY(-12px) rotate(8deg); }
    34%  { transform: scale(1.2)  translateY(-16px) rotate(-7deg); }
    46%  { transform: scale(1.15) translateY(-20px) rotate(6deg); }
    58%  { transform: scale(1.1)  translateY(-24px) rotate(-5deg); }
    100% { opacity: 0; transform: scale(0.95) translateY(-40px) rotate(0deg); }
}


/* ── Streak mode: make cards opaque so fire doesn't bleed through ── */
body.streak-bg-1 .question-card,
body.streak-bg-2 .question-card,
body.streak-bg-3 .question-card,
body.streak-bg-4 .question-card,
body.streak-bg-5 .question-card {
    background: rgba(20, 10, 5, 0.88) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

body.streak-bg-1 .choice-btn,
body.streak-bg-2 .choice-btn,
body.streak-bg-3 .choice-btn,
body.streak-bg-4 .choice-btn,
body.streak-bg-5 .choice-btn {
    background: rgba(30, 15, 5, 0.82) !important;
    border-color: rgba(255, 140, 40, 0.25) !important;
}
body.streak-bg-1 .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct),
body.streak-bg-2 .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct),
body.streak-bg-3 .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct),
body.streak-bg-4 .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct),
body.streak-bg-5 .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct) {
    background: rgba(50, 25, 5, 0.90) !important;
    border-color: rgba(255, 140, 40, 0.5) !important;
}

/* Header and HUD also more opaque */
body.streak-bg-3 header,
body.streak-bg-4 header,
body.streak-bg-5 header {
    background: rgba(20, 8, 0, 0.82) !important;
    backdrop-filter: blur(16px);
}

/* ── ALL panels fully opaque during any streak level ───────────────────── */
body[class*="streak-bg-"] header,
body[class*="streak-bg-"] .hud-pill,
body[class*="streak-bg-"] .timer-wrap,
body[class*="streak-bg-"] .question-card,
body[class*="streak-bg-"] .stats-card {
    background: rgba(18, 8, 2, 0.92) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

body[class*="streak-bg-"] .choice-btn {
    background: rgba(28, 12, 3, 0.88) !important;
    border-color: rgba(200, 100, 20, 0.30) !important;
}
body[class*="streak-bg-"] .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct) {
    background: rgba(50, 22, 4, 0.95) !important;
    border-color: rgba(255, 140, 40, 0.55) !important;
}

/* ── Light theme: fix text visibility during streak backgrounds ──────── */
[data-theme="light"] body.streak-bg-1,
[data-theme="light"] body.streak-bg-2,
[data-theme="light"] body.streak-bg-3,
[data-theme="light"] body.streak-bg-4,
[data-theme="light"] body.streak-bg-5 {
    color: #fff;
}

[data-theme="light"] body[class*="streak-bg-"] .question-card,
[data-theme="light"] body[class*="streak-bg-"] .stats-card {
    color: #f0eaff !important;
}

[data-theme="light"] body[class*="streak-bg-"] .question-text,
[data-theme="light"] body[class*="streak-bg-"] .ukazka-col-text,
[data-theme="light"] body[class*="streak-bg-"] .hud-label,
[data-theme="light"] body[class*="streak-bg-"] .hud-value,
[data-theme="light"] body[class*="streak-bg-"] .timer-zones {
    color: #f0eaff !important;
}

[data-theme="light"] body[class*="streak-bg-"] .choice-btn {
    color: #f0eaff !important;
}

[data-theme="light"] body[class*="streak-bg-"] .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct) {
    color: #fff !important;
}

[data-theme="light"] body[class*="streak-bg-"] .ukazka-col {
    color: #f0eaff !important;
}

[data-theme="light"] body[class*="streak-bg-"] .hud-pill {
    color: #f0eaff !important;
}

[data-theme="light"] body[class*="streak-bg-"] header {
    color: #f0eaff !important;
}

[data-theme="light"] body[class*="streak-bg-"] .streak-mult {
    color: #fbbf24 !important;
}

/* ── End-of-round cinematic: panels fade out ─────────────────────────── */
.game-cinematic-out {
    animation: panelFadeOut 1.0s ease forwards !important;
}
@keyframes panelFadeOut {
    0%   { opacity: 1; transform: translateY(0) scale(1); }
    60%  { opacity: 0.15; transform: translateY(-12px) scale(0.98); }
    100% { opacity: 0; transform: translateY(-24px) scale(0.96); pointer-events: none; }
}

/* No-streak end: simple clean fade */
.game-fade-out {
    animation: simpleFade 0.7s ease forwards !important;
}
@keyframes simpleFade {
    from { opacity: 1; }
    to   { opacity: 0; }
}

/* Fire canvas full-screen during cinematic */
#streak-fire-canvas.cinematic {
    height: 100vh !important;
    top: 0 !important;
    bottom: 0 !important;
    transition: height 1.2s ease !important;
}


/* ============================================================
   GAME TWO-COLUMN LAYOUT
   ============================================================ */
.game-layout {
    display: grid;
    grid-template-columns: 1fr 680px;
    gap: 20px;
    align-items: start;
}

/* Left column — ukážka text */
.ukazka-col {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 18px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: var(--card-shadow);
    padding: 20px;
    position: sticky;
    top: 20px;
    max-height: calc(100vh - 120px);
    margin-left: calc(-1 * var(--page-gutter));
    padding-left: calc(20px + var(--page-gutter));
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.15) transparent;
}

.ukazka-col-header {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--title);
    margin-bottom: 14px;
    text-transform: uppercase;
}

.ukazka-col-text {
    font-size: 14px;
    line-height: 1.8;
    color: var(--text);
    opacity: 0.88;
    white-space: pre-wrap;
}

/* Right column — game area */
.game-col {
    min-width: 0;
}

/* Opaque ukážka col during streak */
body[class*="streak-bg-"] .ukazka-col {
    background: rgba(18, 8, 2, 0.92) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

/* Mobile: stack vertically */
@media (max-width: 820px) {
    .game-layout {
        grid-template-columns: 1fr;
    }
    .ukazka-col {
        position: static;
        max-height: 180px;
    }
}

/* Ukážka toggle button */
.ukazka-col-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ukazka-toggle-btn {
    display: none;
    background: none;
    border: none;
    color: var(--text-muted, rgba(255,255,255,0.4));
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 6px;
    font-size: 12px;
    transition: color 0.15s;
}
.ukazka-toggle-btn:active { color: var(--title); }
.ukazka-col.ukazka-collapsed .ukazka-col-text {
    display: none;
}
.ukazka-col.ukazka-collapsed {
    max-height: none !important;
    padding-bottom: 12px;
}

@media (max-width: 600px) {
    /* Fast game: normal page scroll, no fixed height tricks */
    .fast-body { overflow: auto; height: auto; }
    .fast-main { padding: 0 8px; height: auto; overflow: visible; }
    #screen-playing.fast-screen.active {
        display: block;
    }
    #screen-playing .game-layout {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    /* Ukážka: show full text, no inner scroll */
    #screen-playing .ukazka-col {
        max-height: none !important;
        overflow-y: visible !important;
        height: auto !important;
    }
    #screen-playing .ukazka-col.ukazka-collapsed {
        max-height: 40px !important;
        overflow: hidden !important;
    }
    #screen-playing .game-col {
        overflow: visible;
    }
    /* Hide HUD pills on mobile */
    .game-hud { display: none !important; }

    .ukazka-toggle-btn { display: flex; align-items: center; justify-content: center; }

    /* Compact reading screen on mobile */
    #screen-reading .reading-card { padding: 14px 14px; }
    #screen-reading .rules-panel { padding: 10px 12px; margin: 10px 0 12px; }
    #screen-reading .rules-list li { font-size: 12px; padding: 2px 0; }
    #screen-reading .ukazka-text-wrap { max-height: 200px; margin-bottom: 12px; }
    #screen-reading .btn-large { padding: 12px 16px; font-size: 14px; }
}

/* keep fire canvas z-index correct */
#streak-fire-canvas {
    z-index: 1 !important;
}

/* ===================== AUTH PANEL ===================== */
#auth-panel {
    margin-bottom: 12px;
}

.auth-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.auth-tab {
    flex: 1;
    padding: 7px 0;
    border: 1px solid var(--color-border, #444);
    border-radius: 8px;
    background: transparent;
    color: var(--color-text, #eee);
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
}

.auth-tab.active {
    background: var(--color-accent, #7c3aed);
    border-color: var(--color-accent, #7c3aed);
    color: #fff;
}

.auth-tab:not(.active):hover {
    background: var(--color-surface-hover, rgba(255,255,255,0.07));
}

.auth-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.auth-form input {
    padding: 8px 10px;
    border: 1px solid var(--color-border, #444);
    border-radius: 8px;
    background: var(--color-surface, rgba(255,255,255,0.05));
    color: var(--color-text, #eee);
    font-size: 0.88rem;
    outline: none;
    transition: border-color 0.15s;
}

.auth-form input:focus {
    border-color: var(--color-accent, #7c3aed);
}

.auth-btn {
    padding: 9px 12px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
    transition: opacity 0.15s, background 0.15s;
}

.auth-btn:hover { opacity: 0.88; }

.auth-btn-primary {
    background: var(--color-accent, #7c3aed);
    color: #fff;
}

.auth-btn-ghost {
    background: transparent;
    border: 1px solid var(--color-border, #555);
    color: var(--color-text, #ccc);
    font-size: 0.82rem;
    padding: 6px 10px;
    margin-top: 4px;
}

.auth-status {
    font-size: 0.8rem;
    min-height: 18px;
    color: var(--color-correct, #43a047);
}

/* Logged-in user row */
.auth-user-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.auth-avatar {
    font-size: 1.8rem;
    line-height: 1;
}

.auth-user-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.auth-user-name {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--color-text, #eee);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auth-user-email {
    font-size: 0.75rem;
    color: var(--color-text-muted, #999);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Leaderboard medal styling */
#leaderboard li:nth-child(2) { color: #ffd700; font-weight: 700; }
#leaderboard li:nth-child(3) { color: #c0c0c0; font-weight: 600; }
#leaderboard li:nth-child(4) { color: #cd7f32; font-weight: 600; }

/* ===== HEADER AUTH WIDGET ===== */
#header-auth-widget {
    display: flex;
    align-items: center;
    gap: 6px;
}

#header-auth-logged-out {
    display: flex;
    align-items: center;
    gap: 6px;
}

#header-auth-logged-in {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-auth {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    font-size: 14px;
    font-family: inherit;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    background: var(--color-accent, #7c3aed);
    color: #fff;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity .15s;
    box-shadow: 0 2px 8px rgba(124,58,237,0.25);
    white-space: nowrap;
}

.btn-auth:hover { transform: translateY(-2px); opacity: 0.9; }
.btn-auth:active { transform: translateY(0); }

.btn-auth-outline {
    background: transparent;
    border: 1.5px solid var(--color-accent, #7c3aed);
    color: var(--color-accent, #7c3aed);
    box-shadow: none;
}

.btn-auth-ghost {
    background: transparent;
    color: var(--color-text-muted, #aaa);
    font-size: 1rem;
    padding: 8px 12px;
    box-shadow: none;
}

.header-avatar {
    font-size: 1.2rem;
}

.header-username {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-text, #eee);
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== LEADERBOARD BLUR OVERLAY ===== */
#leaderboard-wrap {
    position: relative;
    min-height: 120px;
}

#leaderboard-blur-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    z-index: 10;
    border-radius: 10px;
}

#leaderboard-wrap > ul {
    transition: filter .3s;
}

#leaderboard-blur-overlay ~ ul,
#leaderboard-wrap:has(#leaderboard-blur-overlay[style*="flex"]) #leaderboard {
    filter: blur(6px);
    pointer-events: none;
    user-select: none;
}

/* When overlay is visible, blur the list */
#leaderboard-wrap:has(#leaderboard-blur-overlay:not([style*="display: none"])) #leaderboard {
    filter: blur(6px);
    pointer-events: none;
    user-select: none;
}

.lb-blur-msg {
    background: var(--color-surface, rgba(30,30,40,0.92));
    border: 1.5px solid var(--color-border, rgba(255,255,255,0.08));
    border-radius: 14px;
    padding: 20px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 24px rgba(0,0,0,0.3);
}

.lb-blur-msg span {
    font-size: 2rem;
}

.lb-blur-msg p {
    font-size: 0.88rem;
    color: var(--color-text-muted, #bbb);
    margin: 0;
}

/* ===== AUTH MODAL REDESIGN ===== */
.auth-modal-card {
    position: relative;
    background: var(--color-bg, #13121a);
    border: 1px solid rgba(124,58,237,0.25);
    border-radius: 24px;
    padding: 36px 40px 32px;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 24px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04);
    animation: authModalIn 0.25s cubic-bezier(.4,0,.2,1);
}

@keyframes authModalIn {
    from { opacity: 0; transform: translateY(16px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.auth-modal-close {
    position: absolute;
    top: 16px;
    right: 18px;
    background: rgba(255,255,255,0.06);
    border: none;
    color: var(--color-text-muted, #aaa);
    font-size: 1.1rem;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
    line-height: 1;
}
.auth-modal-close:hover { background: rgba(255,255,255,0.12); color: #fff; }

.auth-modal-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}
.auth-modal-logo { font-size: 1.6rem; }
.auth-modal-logo-text {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--color-text, #eee);
    letter-spacing: -0.3px;
}

.auth-modal-tabs {
    display: flex;
    background: rgba(255,255,255,0.04);
    border-radius: 12px;
    padding: 4px;
    gap: 4px;
    margin-bottom: 28px;
    border: 1px solid rgba(255,255,255,0.06);
}

.auth-modal-tab {
    flex: 1;
    padding: 9px 0;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: var(--color-text-muted, #888);
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
    font-family: inherit;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.auth-modal-tab.active {
    background: var(--color-accent, #7c3aed);
    color: #fff;
    box-shadow: 0 2px 12px rgba(124,58,237,0.35);
}
.auth-modal-tab:not(.active):hover {
    background: rgba(255,255,255,0.07);
    color: var(--color-text, #eee);
}

.auth-modal-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.auth-modal-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--color-text, #eee);
    margin: 0 0 6px;
    letter-spacing: -0.3px;
}

.auth-modal-sub {
    font-size: 0.83rem;
    color: var(--color-text-muted, #888);
    margin: 0;
    line-height: 1.5;
    opacity: 0.65;
}

/* Group title + subtitle together so the gap between them and fields is consistent */
.auth-modal-header-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    right: 0;
}

.auth-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}

.auth-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-text-muted, #aaa);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.auth-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.auth-input-icon {
    position: absolute;
    left: 12px;
    font-size: 1rem;
    pointer-events: none;
    line-height: 1;
}

.auth-input-wrap input {
    width: 100%;
    padding: 11px 12px 11px 38px;
    border: 1.5px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
    color: var(--color-text, #eee);
    font-size: 0.9rem;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    box-sizing: border-box;
}
.auth-input-wrap input::placeholder { color: rgba(255,255,255,0.25); }
.auth-input-wrap input:focus {
    border-color: var(--color-accent, #7c3aed);
    background: rgba(124,58,237,0.06);
    box-shadow: 0 0 0 3px rgba(124,58,237,0.15);
}

.auth-modal-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 20px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #7c3aed 0%, #9f5aff 100%);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    margin-top: 4px;
    transition: transform 0.2s, box-shadow 0.2s, opacity 0.15s;
    box-shadow: 0 4px 20px rgba(124,58,237,0.4);
    letter-spacing: 0.1px;
}
.auth-modal-submit:hover { transform: translateY(-2px); box-shadow: 0 6px 28px rgba(124,58,237,0.5); }
.auth-modal-submit:active { transform: translateY(0); }

.auth-submit-arrow {
    font-size: 1.1rem;
    transition: transform 0.2s;
}
.auth-modal-submit:hover .auth-submit-arrow { transform: translateX(3px); }

.auth-modal-status {
    font-size: 0.82rem;
    min-height: 18px;
    color: var(--color-wrong, #e53935);
    text-align: center;
    margin-top: -2px;
}
.auth-modal-status.info {
    color: var(--color-text-muted, #888);
}

/* ===== EMAIL CONFIRM TOAST ===== */
.email-toast {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    animation: toastSlideIn 0.35s cubic-bezier(.4,0,.2,1);
    max-width: 480px;
    width: calc(100% - 32px);
}

@keyframes toastSlideIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-20px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.email-toast-inner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: linear-gradient(135deg, #1a1040 0%, #2a1060 100%);
    border: 1.5px solid rgba(124,58,237,0.5);
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04);
    width: 100%;
}

.email-toast-icon {
    font-size: 2.2rem;
    flex-shrink: 0;
    line-height: 1;
}

.email-toast-body {
    flex: 1;
    min-width: 0;
}

.email-toast-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    right: 0;
}

.email-toast-msg {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.65);
    line-height: 1.5;
}

.email-toast-close {
    background: rgba(255,255,255,0.08);
    border: none;
    color: rgba(255,255,255,0.5);
    font-size: 1rem;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    margin-top: 1px;
}
.email-toast-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

/* ===== PROFILE CARD ===== */
.profile-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(124,58,237,0.3);
    margin-bottom: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.04);
}

.profile-card-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(124,58,237,0.2) 0%, rgba(16,14,30,0.95) 60%);
    z-index: 0;
}
.profile-card-bg::before {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(124,58,237,0.35) 0%, transparent 70%);
    border-radius: 50%;
}

.profile-card-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 20px 16px;
}

.profile-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.profile-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7c3aed, #9f5aff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    box-shadow: 0 4px 16px rgba(124,58,237,0.5);
    border: 2px solid rgba(255,255,255,0.15);
    overflow: hidden;
}

.profile-rank-badge {
    position: absolute;
    bottom: -4px;
    right: -4px;
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    color: #1a1000;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 5px;
    border-radius: 8px;
    border: 1.5px solid rgba(0,0,0,0.3);
    box-shadow: 0 2px 6px rgba(245,158,11,0.4);
    display: none;
    align-items: center;
    white-space: nowrap;
}

.profile-info {
    flex: 1;
    min-width: 0;
}

.profile-name {
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.2px;
}

.profile-email {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.45);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
}

.profile-stats {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: stretch;
    border-top: 1px solid rgba(255,255,255,0.07);
    background: rgba(0,0,0,0.2);
}

.profile-stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 14px 8px;
}

.profile-stat-divider {
    width: 1px;
    background: rgba(255,255,255,0.07);
    align-self: stretch;
    margin: 10px 0;
}

.profile-stat-icon {
    font-size: 1.1rem;
    line-height: 1;
}

.profile-stat-val {
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.5px;
}

.profile-stat-label {
    font-size: 0.65rem;
    font-weight: 600;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.profile-logout-btn {
    position: relative;
    z-index: 1;
    display: block;
    width: calc(100% - 32px);
    margin: 0 16px 16px;
    padding: 9px 0;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    background: rgba(255,255,255,0.05);
    color: rgba(255,255,255,0.5);
    font-size: 0.8rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    letter-spacing: 0.2px;
}
.profile-logout-btn:hover {
    background: rgba(239,68,68,0.15);
    border-color: rgba(239,68,68,0.3);
    color: #fca5a5;
}

/* ===== HEADER PROFILE BUTTON ===== */
.header-profile-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px 4px 4px;
    height: 38px;
    border: 1.5px solid rgba(124,58,237,0.35);
    border-radius: 999px;
    background: rgba(124,58,237,0.10);
    color: var(--color-text, #eee);
    cursor: pointer;
    font-family: "Plus Jakarta Sans", inherit;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
    white-space: nowrap;
    box-shadow: none;
}
.header-profile-btn:hover {
    background: rgba(124,58,237,0.22);
    border-color: rgba(124,58,237,0.6);
    transform: translateY(-1px);
}

.header-profile-avatar {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7c3aed, #9f5aff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
    overflow: hidden;
}

.header-profile-chevron {
    font-size: 0.7rem;
    opacity: 0.6;
    margin-left: -2px;
}

/* ===== PROFILE MODAL ===== */
.profile-modal-card {
    position: relative;
    background: var(--color-bg, #13121a);
    border: 1px solid rgba(124,58,237,0.25);
    border-radius: 24px;
    width: 100%;
    max-width: 440px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.04);
    animation: authModalIn 0.25s cubic-bezier(.4,0,.2,1);
}

/* ===== FULLSCREEN PROFILE ===== */
.profile-modal-fullscreen {
    align-items: stretch !important;
    padding: 0 !important;
}

.pm-fullscreen-card {
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100vh;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    overflow: hidden;
    animation: none !important;
}

.pm-close-fs {
    position: fixed !important;
    top: 18px !important;
    right: 24px !important;
    z-index: 100;
    width: 40px !important;
    height: 40px !important;
    font-size: 1.4rem !important;
    background: rgba(255,255,255,0.08) !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(255,255,255,0.12) !important;
    backdrop-filter: blur(8px);
}

.pm-close-fs:hover {
    background: rgba(255,255,255,0.15) !important;
}

/* ── LEFT column ── */
.pm-col-left {
    flex: 0 0 40%;
    width: 40%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    border-right: 1px solid rgba(255,255,255,0.07);
    background: #0f0d1c;
}

.pm-col-left .profile-modal-body {
    flex: 1;
}

/* ── improved banner ── */
.profile-modal-banner {
    position: relative;
    background: linear-gradient(135deg, #2e1065 0%, #4c1d95 45%, #6d28d9 100%);
    padding: 28px 24px 22px;
    display: flex;
    align-items: center;
    gap: 16px;
    overflow: hidden;
}

.profile-modal-banner-blob {
    position: absolute;
    top: -50px; right: -50px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.10) 0%, transparent 70%);
    pointer-events: none;
}

.profile-modal-avatar-big {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    border: 2.5px solid rgba(255,255,255,0.35);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.8rem; font-weight: 900; color: #fff;
    flex-shrink: 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.35);
    overflow: hidden;
}

.profile-modal-banner-info { flex: 1; min-width: 0; }

.profile-modal-username {
    font-size: 1.3rem; font-weight: 800;
    color: #fff; letter-spacing: -0.2px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.profile-modal-email {
    font-size: 0.74rem; color: rgba(255,255,255,0.5);
    margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ── stats strip ── */
.profile-modal-stats {
    display: flex; align-items: stretch;
    background: rgba(255,255,255,0.03);
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.pm-stat {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; gap: 2px; padding: 14px 8px;
}

.pm-stat-sep { width: 1px; background: rgba(255,255,255,0.07); margin: 10px 0; }

.pm-stat-val {
    font-size: 1.25rem; font-weight: 800;
    color: #fff; letter-spacing: -0.5px; line-height: 1;
}

.pm-stat-lbl {
    font-size: 0.65rem; font-weight: 600;
    color: rgba(255,255,255,0.38);
    text-transform: uppercase; letter-spacing: 0.5px;
}

/* ── body / form area ── */
.profile-modal-body {
    padding: 20px 22px 24px;
    display: flex; flex-direction: column; gap: 10px;
}

.pm-section-title {
    font-size: 0.7rem; font-weight: 700;
    color: #7c3aed;
    text-transform: uppercase; letter-spacing: 1px;
    margin-bottom: -2px;
    display: flex; align-items: center; gap: 7px;
}

.pm-section-title::after {
    content: ''; flex: 1; height: 1px;
    background: rgba(124,58,237,0.25);
}

.pm-divider {
    height: 1px;
    background: rgba(255,255,255,0.06);
    margin: 4px 0;
}

.pm-field-hint {
    font-size: 0.76rem; min-height: 16px;
    margin-top: 2px; transition: color 0.2s;
}

.pm-nick-check {
    position: absolute; right: 12px;
    font-size: 1rem; font-weight: 700;
    pointer-events: none;
}

.pm-btn-secondary {
    background: rgba(124,58,237,0.12) !important;
    box-shadow: none !important;
    border: 1.5px solid rgba(124,58,237,0.35);
}
.pm-btn-secondary:hover {
    background: rgba(124,58,237,0.25) !important;
    transform: translateY(-2px);
}

/* ── RIGHT column ── */
.pm-col-right {
    flex: 0 0 60%;
    width: 60%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 28px 28px 24px;
    overflow-y: auto;
    background: #0b0916;
    position: relative;
}

.pm-col-right::before {
    content: "";
    position: absolute;
    top: -100px; right: -100px;
    width: 380px; height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(124,58,237,0.12) 0%, transparent 70%);
    pointer-events: none;
}

/* ── char header ── */
.pm-char-header {
    width: 100%;
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px;
    position: relative; z-index: 1;
}

.pm-char-title {
    font-size: 1rem; font-weight: 800;
    color: #fff; letter-spacing: 0.3px;
}

.pm-char-coins-badge {
    display: flex; align-items: center; gap: 6px;
    background: rgba(245,158,11,0.12);
    border: 1.5px solid rgba(245,158,11,0.3);
    border-radius: 20px; padding: 4px 12px;
    font-size: 0.9rem; font-weight: 800; color: #fbbf24;
}

/* ── character showcase stage ── */
.pm-char-stage {
    position: relative; z-index: 1;
    display: flex; flex-direction: column;
    align-items: center; justify-content: flex-end;
    margin-bottom: 16px; flex-shrink: 0;
    min-height: 200px;
    width: 100%;
    padding: 16px 20px;
    border-radius: 16px;
    overflow: hidden;
}

.pm-char-stage-bg {
    position: absolute; bottom: -8px; left: 50%;
    transform: translateX(-50%);
    width: 180px; height: 70px;
    background: radial-gradient(ellipse, rgba(124,58,237,0.4) 0%, transparent 70%);
    border-radius: 50%;
    filter: blur(12px);
}

.char-preview-canvas-big {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    position: relative; z-index: 1;
    filter: drop-shadow(0 8px 28px rgba(124,58,237,0.55));
    animation: charFloat 4s ease-in-out infinite;
    transition: filter 0.3s;
}

@keyframes charFloat {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-7px); }
}

.char-preview-canvas-big:hover {
    filter: drop-shadow(0 12px 36px rgba(124,58,237,0.8));
}

.pm-char-name-badge {
    margin-top: 10px;
    font-size: 1rem; font-weight: 800;
    color: #fff; letter-spacing: 0.2px;
    text-align: center;
    position: relative; z-index: 1;
}

/* ── skins label ── */
.pm-skins-label {
    font-size: 0.7rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px;
    color: rgba(255,255,255,0.3);
    align-self: flex-start;
    margin-bottom: 10px;
    position: relative; z-index: 1;
    display: flex; align-items: center; gap: 8px;
    width: 100%;
}

.pm-skins-label::after {
    content: ''; flex: 1; height: 1px;
    background: rgba(255,255,255,0.07);
}

/* ── rarity section headers ── */
.pm-rarity-header {
    font-size: 0.62rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2px;
    margin: 12px 0 7px;
    display: flex; align-items: center; gap: 7px;
    width: 100%; position: relative; z-index: 1;
}

.pm-rarity-header[data-rarity="free"]      { color: #9ca3af; }
.pm-rarity-header[data-rarity="common"]    { color: #4ade80; }
.pm-rarity-header[data-rarity="rare"]      { color: #60a5fa; }
.pm-rarity-header[data-rarity="epic"]      { color: #c084fc; }
.pm-rarity-header[data-rarity="legendary"] { color: #fb923c; }
.pm-rarity-header[data-rarity="secret"]    { color: #e2e8f0; }

.pm-rarity-header::after {
    content: ''; flex: 1; height: 1px; opacity: 0.35;
    background: currentColor;
}

/* ── rarity grid container ── */
.pm-rarity-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    width: 100%;
    position: relative; z-index: 1;
}

/* ── skin card — fullscreen version ── */
.skin-shop-grid-fs {
    display: contents; /* rarity rows handle layout */
    width: 100%;
    position: relative; z-index: 1;
}

.skin-card-fs {
    display: flex; flex-direction: column;
    align-items: center; gap: 4px;
    padding: 10px 6px;
    border-radius: 12px;
    background: rgba(255,255,255,0.035);
    border: 1.5px solid rgba(255,255,255,0.07);
    cursor: pointer;
    transition: transform 0.2s cubic-bezier(.34,1.56,.64,1),
                border-color 0.2s, box-shadow 0.2s, background 0.2s;
    position: relative; overflow: hidden;
}

.skin-card-fs::before {
    content: '';
    position: absolute; inset: 0; border-radius: 12px;
    opacity: 0; transition: opacity 0.2s;
    pointer-events: none;
}

.skin-card-fs[data-rarity="free"]::before      { background: radial-gradient(circle at 50% 0%, rgba(156,163,175,.10), transparent 65%); }
.skin-card-fs[data-rarity="common"]::before    { background: radial-gradient(circle at 50% 0%, rgba(74,222,128,.10), transparent 65%); }
.skin-card-fs[data-rarity="rare"]::before      { background: radial-gradient(circle at 50% 0%, rgba(96,165,250,.12), transparent 65%); }
.skin-card-fs[data-rarity="epic"]::before      { background: radial-gradient(circle at 50% 0%, rgba(192,132,252,.14), transparent 65%); }
.skin-card-fs[data-rarity="legendary"]::before { background: radial-gradient(circle at 50% 0%, rgba(251,146,60,.16), transparent 65%); }

.skin-card-fs:hover {
    transform: translateY(-4px) scale(1.04);
    background: rgba(124,58,237,0.07);
}
.skin-card-fs:hover::before { opacity: 1; }

.skin-card-fs[data-rarity="free"]:hover      { border-color: rgba(156,163,175,0.5); }
.skin-card-fs[data-rarity="common"]:hover    { border-color: rgba(74,222,128,0.5); }
.skin-card-fs[data-rarity="rare"]:hover      { border-color: rgba(96,165,250,0.55); }
.skin-card-fs[data-rarity="epic"]:hover      { border-color: rgba(192,132,252,0.6); }
.skin-card-fs[data-rarity="legendary"]:hover { border-color: rgba(251,146,60,0.6); }

.skin-card-fs.skin-active {
    transform: scale(1.03);
    border-width: 2px;
}
.skin-card-fs[data-rarity="free"].skin-active      { border-color: #9ca3af; background: rgba(156,163,175,.08); }
.skin-card-fs[data-rarity="common"].skin-active    { border-color: #4ade80; background: rgba(74,222,128,.07); }
.skin-card-fs[data-rarity="rare"].skin-active      { border-color: #60a5fa; background: rgba(96,165,250,.08); }
.skin-card-fs[data-rarity="epic"].skin-active      { border-color: #c084fc; background: rgba(192,132,252,.10); box-shadow: 0 0 18px rgba(192,132,252,0.3); }
.skin-card-fs[data-rarity="legendary"].skin-active { border-color: #fb923c; background: rgba(251,146,60,.10); box-shadow: 0 0 18px rgba(251,146,60,0.35); }

/* skin card inner elements */
.skin-card-fs .skin-preview { position: relative; z-index: 1; }
.skin-card-fs .skin-preview canvas { transition: transform 0.2s; }
.skin-card-fs:hover .skin-preview canvas { transform: scale(1.08) translateY(-2px); }

.skin-card-fs .skin-name {
    font-size: 0.68rem; font-weight: 700;
    color: rgba(255,255,255,0.9); letter-spacing: 0.2px;
    text-align: center; position: relative; z-index: 1;
}

.skin-card-fs .skin-desc {
    font-size: 0.58rem; color: rgba(255,255,255,0.38);
    text-align: center; line-height: 1.3;
    position: relative; z-index: 1;
    display: none; /* shown on hover via JS or keep hidden to save space */
}

.skin-card-fs .skin-rarity {
    font-size: 0.55rem; font-weight: 800;
    letter-spacing: 1px; text-transform: uppercase;
    padding: 2px 7px; border-radius: 20px;
    position: relative; z-index: 1;
}

.skin-card-fs .skin-btn {
    font-size: 0.65rem; padding: 4px 10px;
    border-radius: 8px; font-weight: 700;
    width: 100%; text-align: center;
    position: relative; z-index: 1;
    transition: background 0.15s, transform 0.1s;
}

.skin-card-fs .skin-btn:active { transform: scale(0.96); }

/* equip checkmark badge */
.skin-card-fs.skin-active::after {
    content: '✓';
    position: absolute; top: 5px; right: 6px;
    width: 16px; height: 16px; border-radius: 50%;
    font-size: 9px; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    z-index: 2;
}
.skin-card-fs[data-rarity="common"].skin-active::after  { background: #4ade80; color: #052e16; }
.skin-card-fs[data-rarity="rare"].skin-active::after    { background: #60a5fa; color: #0c2d6e; }
.skin-card-fs[data-rarity="epic"].skin-active::after    { background: #c084fc; color: #3b0764; }
.skin-card-fs[data-rarity="free"].skin-active::after    { background: #9ca3af; color: #111827; }
.skin-card-fs[data-rarity="legendary"].skin-active::after { background: #fb923c; color: #431407; }
.skin-card-fs[data-rarity="secret"].skin-active::after  { background: #fff; color: #111; }

@media (max-width: 700px) {
    .pm-fullscreen-card {
        flex-direction: column !important;
        overflow: visible !important;
        height: auto !important;
        min-height: 100vh;
    }
    .profile-modal-fullscreen {
        overflow-y: auto !important;
        align-items: flex-start !important;
    }
    .pm-col-left, .pm-col-right {
        flex: none !important;
        width: 100% !important;
        overflow-y: visible !important;
        height: auto !important;
        max-height: none !important;
    }
    .pm-col-left { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); }
    .pm-rarity-row { grid-template-columns: repeat(3, 1fr); }
}

/* Banner */
.profile-modal-banner {
    position: relative;
    background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 50%, #9f5aff 100%);
    padding: 32px 28px 28px;
    display: flex;
    align-items: center;
    gap: 18px;
    overflow: hidden;
}

.profile-modal-banner-blob {
    position: absolute;
    top: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%);
    pointer-events: none;
}

.profile-modal-avatar-big {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255,255,255,0.2);
    border: 3px solid rgba(255,255,255,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 900;
    color: #fff;
    flex-shrink: 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    letter-spacing: -1px;
    overflow: hidden;
}

.profile-modal-banner-info {
    flex: 1;
    min-width: 0;
}

.profile-modal-username {
    font-size: 1.4rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-modal-email {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.55);
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Stats */
.profile-modal-stats {
    display: flex;
    align-items: stretch;
    background: rgba(124,58,237,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.pm-stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 16px 8px;
}

.pm-stat-sep {
    width: 1px;
    background: rgba(255,255,255,0.07);
    margin: 12px 0;
}

.pm-stat-val {
    font-size: 1.3rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.5px;
    line-height: 1;
}

.pm-stat-lbl {
    font-size: 0.68rem;
    font-weight: 600;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* Body */
.profile-modal-body {
    padding: 24px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pm-section-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: -4px;
}

.pm-divider {
    height: 1px;
    background: rgba(255,255,255,0.07);
    margin: 6px 0;
}

.pm-field-hint {
    font-size: 0.76rem;
    min-height: 16px;
    margin-top: 2px;
    transition: color 0.2s;
}

.pm-nick-check {
    position: absolute;
    right: 12px;
    font-size: 1rem;
    font-weight: 700;
    pointer-events: none;
}

.pm-btn-secondary {
    background: rgba(124,58,237,0.15) !important;
    box-shadow: none !important;
    border: 1.5px solid rgba(124,58,237,0.4);
}
.pm-btn-secondary:hover {
    background: rgba(124,58,237,0.28) !important;
    transform: translateY(-2px);
}

/* ============================================================
   CHARACTER & SKIN SHOP
   ============================================================ */
.char-shop-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 12px 0 4px;
}

.char-preview-canvas {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(124,58,237,0.15), rgba(99,102,241,0.1));
    border: 2px solid rgba(124,58,237,0.3);
    padding: 8px;
}

.char-shop-label {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.5;
    align-self: flex-start;
}

.skin-shop-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    width: 100%;
}

.skin-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 4px;
    border-radius: 10px;
    background: rgba(255,255,255,0.04);
    border: 1.5px solid rgba(255,255,255,0.08);
    cursor: pointer;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
    position: relative;
}

.skin-card:hover {
    transform: translateY(-2px);
    border-color: rgba(124,58,237,0.5);
    box-shadow: 0 4px 16px rgba(124,58,237,0.2);
}

.skin-card.skin-active {
    border-color: #7c3aed;
    background: rgba(124,58,237,0.15);
    box-shadow: 0 0 12px rgba(124,58,237,0.4);
}

.skin-preview {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 58px;
    overflow: hidden;
}

.skin-preview canvas {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}

.skin-rarity {
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 1px 5px;
    border-radius: 4px;
    text-transform: uppercase;
}

.skin-name {
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
    color: var(--sidebar-text, #e2e8f0);
}

.skin-desc {
    font-size: 0.6rem;
    text-align: center;
    opacity: 0.5;
    line-height: 1.2;
    min-height: 24px;
}

.skin-btn {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 3px 6px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
    white-space: nowrap;
}

.skin-btn.equipped {
    background: rgba(124,58,237,0.3);
    color: #c4b5fd;
    cursor: default;
}

.skin-btn.owned {
    background: rgba(99,102,241,0.25);
    color: #a5b4fc;
}

.skin-btn.owned:hover {
    background: rgba(99,102,241,0.45);
    transform: scale(1.05);
}

.skin-btn.buy {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #1c1003;
}

.skin-btn.buy:hover {
    opacity: 0.85;
    transform: scale(1.05);
}

/* Leaderboard name col with avatar */
#leaderboard .lb-col-name {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Avatar canvases — header (canvas 56px → display 28px) */
.header-profile-avatar canvas {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    border-radius: 50%;
    width: 28px !important;
    height: 28px !important;
    display: block;
    flex-shrink: 0;
}

/* Avatar canvases — sidebar (canvas 104px → display 52px) */
.profile-avatar canvas {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    border-radius: 50%;
    width: 52px !important;
    height: 52px !important;
    display: block;
}

/* Avatar canvases — profile modal big (canvas 144px → display 72px) */
.profile-modal-avatar-big canvas {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    border-radius: 50%;
    width: 72px !important;
    height: 72px !important;
    display: block;
    overflow: hidden;
}

/* ===== PLAYER PROFILE MODAL ===== */
.pp-card {
    display: flex;
    flex-direction: row;
    width: min(720px, calc(100vw - 32px));
    max-height: min(520px, calc(100vh - 48px));
    background: var(--popup-bg, #1a1828);
    border: 1px solid rgba(255,255,255,0.09);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 28px 70px rgba(0,0,0,0.5);
    animation: popupIn 0.3s cubic-bezier(0.34,1.56,0.64,1);
    position: relative;
    z-index: 1;
}

.pp-card-wrap {
    position: relative;
    overflow: visible;
    display: inline-block;
}

.pp-close-btn {
    position: absolute;
    top: 12px; right: 12px;
    background: rgba(255,255,255,0.08);
    border: 2px solid rgba(255,255,255,0.18);
    border-radius: 50%;
    width: 34px; height: 34px;
    font-size: 1.25rem;
    cursor: pointer;
    color: var(--text, #fff);
    line-height: 1;
    display: flex; align-items: center; justify-content: center;
    z-index: 100;
    transition: background 0.18s, transform 0.15s;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.pp-close-btn:hover { background: rgba(255,255,255,0.15); }

/* ── Player profile skins collection ── */
.pp-skins-section {
    padding: 12px 16px 16px;
    border-top: 1px solid rgba(255,255,255,0.06);
    margin-top: auto;
}
[data-theme="light"] .pp-skins-section {
    border-top-color: rgba(124, 58, 237, 0.1);
}
.pp-skins-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255,255,255,0.35);
    margin-bottom: 8px;
    font-weight: 600;
}
.pp-skins-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.pp-skin-thumb {
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.1);
    overflow: hidden;
    cursor: default;
    transition: border-color 0.15s, transform 0.15s;
    flex-shrink: 0;
}
.pp-skin-thumb:hover { transform: scale(1.12); border-color: rgba(255,255,255,0.3); }
.pp-skin-thumb.pp-skin-active {
    border-color: #a78bfa;
    box-shadow: 0 0 8px rgba(167,139,250,0.5);
}
.pp-skin-thumb canvas { display: block; }

/* ── Footer email copy button ── */
.footer-email {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    color: #a78bfa;
    transition: color 0.18s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.footer-email:hover { color: #c4b5fd; text-decoration: underline; }
.footer-email strong { color: inherit; }

/* ── Secret skin card shimmer ── */
.skin-card-fs[data-rarity="legendary"] {
    box-shadow: 0 0 0 1px rgba(251,146,60,0.4), 0 4px 20px rgba(251,146,60,0.2);
}
.skin-card-fs[data-rarity="secret"] {
    box-shadow: 0 0 0 1px rgba(255,255,255,0.15), 0 4px 20px rgba(0,0,0,0.6);
    filter: brightness(0.6);
    position: relative;
}
.skin-card-fs[data-rarity="secret"].skin-active,
.skin-card-fs[data-rarity="secret"]:has(.skin-btn.owned) {
    filter: brightness(1);
    box-shadow: 0 0 0 1px rgba(255,255,255,0.5), 0 4px 20px rgba(139,92,246,0.5);
    animation: secretGlow 2s ease-in-out infinite alternate;
}
@keyframes secretGlow {
    from { box-shadow: 0 0 0 1px rgba(255,255,255,0.4), 0 4px 20px rgba(139,92,246,0.4); }
    to   { box-shadow: 0 0 0 2px rgba(255,255,255,0.7), 0 8px 32px rgba(139,92,246,0.8); }
}

/* LEFT column */
.pp-left {
    flex: 0 0 58%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    background: var(--color-bg, #13121a);
    border-right: 1px solid rgba(255,255,255,0.07);
}

.pp-banner {
    padding: 28px 24px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    background: linear-gradient(135deg, rgba(124,58,237,0.15) 0%, transparent 60%);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.pp-banner-blob {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 10% 50%, rgba(99,102,241,0.12) 0%, transparent 60%);
    pointer-events: none;
}
.pp-avatar {
    border-radius: 50%;
    border: 3px solid rgba(124,58,237,0.5);
    flex-shrink: 0;
    position: relative; z-index: 1;
}
.pp-banner-info { position: relative; z-index: 1; }
.pp-username {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text, #fff);
    letter-spacing: -0.01em;
}
.pp-rank-badge {
    font-size: 0.82rem;
    color: var(--accent, #a78bfa);
    margin-top: 3px;
    font-weight: 600;
}

.pp-stats {
    display: flex;
    align-items: center;
    padding: 16px 24px;
    gap: 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.pp-stat { flex: 1; text-align: center; }
.pp-stat-val {
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--accent, #a78bfa);
}
.pp-stat-lbl {
    font-size: 0.72rem;
    color: var(--text-muted, rgba(255,255,255,0.45));
    margin-top: 3px;
}
.pp-stat-sep {
    width: 1px;
    height: 36px;
    background: rgba(255,255,255,0.08);
    flex-shrink: 0;
}

.pp-bio-wrap {
    padding: 18px 24px 24px;
    flex: 1;
}
.pp-bio-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--text-muted, rgba(255,255,255,0.4));
    margin-bottom: 8px;
}
.pp-bio-text {
    font-size: 0.92rem;
    color: var(--text, #fff);
    line-height: 1.6;
    opacity: 0.85;
    white-space: pre-wrap;
    word-break: break-word;
}

/* RIGHT column */
.pp-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
    position: relative;
    background: linear-gradient(160deg, #0f0d1a 0%, #1a1028 50%, #120d1e 100%);
    overflow: hidden;
}
[data-theme="light"] .pp-right {
    background: linear-gradient(160deg, #ede9fe 0%, #f5f3ff 50%, #e8e4fc 100%);
}
[data-theme="light"] .pp-char-label {
    color: rgba(30, 27, 46, 0.4);
}
[data-theme="light"] .pp-right-bg {
    background: radial-gradient(ellipse at 70% 30%, rgba(124, 58, 237, 0.12) 0%, transparent 60%);
}
.pp-right-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 70% 30%, rgba(124,58,237,0.18) 0%, transparent 60%);
    pointer-events: none;
}
.pp-char-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.3);
    margin-bottom: 12px;
    position: relative; z-index: 1;
}
.pp-char-canvas {
    position: relative; z-index: 1;
    image-rendering: pixelated;
    filter: drop-shadow(0 8px 24px rgba(124,58,237,0.35));
}

@media (max-width: 600px) {
    .pp-card {
        flex-direction: column;
        max-height: calc(100vh - 32px);
        border-radius: 18px;
    }
    .pp-left { flex: none; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); }
    .pp-right { min-height: 180px; padding: 16px; }
}

/* ============================================================
   PIXEL ART MAP — grid overlay + SVG treatment
   ============================================================ */

/* Grid overlay gives the map a pixel-art feel */
.map-wrapper::after {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 10px;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(167, 139, 250, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(167, 139, 250, 0.04) 1px, transparent 1px);
    background-size: 8px 8px;
    z-index: 5;
}

[data-theme="light"] .map-wrapper::after {
    background-image:
        linear-gradient(rgba(124, 58, 237, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(124, 58, 237, 0.05) 1px, transparent 1px);
}

/* Subtle corner pixel decoration */
.map-wrapper::before {
    content: "";
    position: absolute;
    top: 6px; left: 6px; right: 6px; bottom: 6px;
    border-radius: 10px;
    pointer-events: none;
    box-shadow:
        inset 2px 2px 0 rgba(167, 139, 250, 0.18),
        inset -2px -2px 0 rgba(167, 139, 250, 0.08);
    z-index: 4;
}

[data-theme="light"] .map-wrapper::before {
    box-shadow:
        inset 2px 2px 0 rgba(124, 58, 237, 0.15),
        inset -2px -2px 0 rgba(124, 58, 237, 0.06);
}

/* Point dots get pixel-art styling */
.point {
    border-radius: 2px !important; /* square pixels */
    box-shadow: var(--pixel-shadow), 0 0 8px var(--point-default-glow) !important;
}
.point.capital {
    border-radius: 3px !important;
    box-shadow: var(--pixel-shadow), 0 0 14px var(--point-capital-glow) !important;
}
.point.correct {
    border-radius: 3px !important;
    box-shadow: var(--pixel-shadow), 0 0 16px var(--point-correct) !important;
}
.point.wrong {
    border-radius: 3px !important;
    box-shadow: var(--pixel-shadow), 0 0 16px var(--point-wrong) !important;
}

/* ============================================================
   GLOBAL LIGHT THEME OVERRIDES
   ============================================================ */
[data-theme="light"] .site-footer {
    border-top-color: rgba(124, 58, 237, 0.1);
}

[data-theme="light"] .footer-divider {
    background: linear-gradient(90deg, #7c3aed, #6366f1);
}

[data-theme="light"] .pp-left {
    background: #f5f3ff;
    border-right-color: rgba(124, 58, 237, 0.1);
}

[data-theme="light"] .pp-banner {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, transparent 60%);
    border-bottom-color: rgba(124, 58, 237, 0.1);
}

[data-theme="light"] .pp-stats {
    border-bottom-color: rgba(124, 58, 237, 0.1);
}

[data-theme="light"] .pp-stat-sep {
    background: rgba(124, 58, 237, 0.1);
}

[data-theme="light"] .pp-card {
    background: #f5f3ff;
    border-color: rgba(124, 58, 237, 0.12);
}

/* ============================================================
   AUTH MODAL — light theme overrides
   ============================================================ */
[data-theme="light"] .auth-modal-card {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.14);
}

/* ============================================================
   POPUP light theme
   ============================================================ */
[data-theme="light"] .popup-content {
    background: #ffffff;
    border-color: rgba(124, 58, 237, 0.14);
    box-shadow: 0 24px 60px rgba(109, 40, 217, 0.15);
}

/* ============================================================
   SCROLLBAR — pixel-art themed
   ============================================================ */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: rgba(124, 58, 237, 0.35);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(124, 58, 237, 0.55); }
[data-theme="light"] ::-webkit-scrollbar-thumb { background: rgba(124, 58, 237, 0.25); }

/* ============================================================
   SELECTION COLOR
   ============================================================ */
::selection {
    background: rgba(124, 58, 237, 0.35);
    color: var(--text);
}


/* ============================================================
   FONT AWESOME ICON INTEGRATION
   ============================================================ */

/* Smooth rendering for FA icons */
.fa-solid, .fa-regular, .fa-brands {
    line-height: 1;
    vertical-align: middle;
}

/* Header title icon */
h1 .fa-rocket {
    color: var(--color-accent, #7c3aed);
    font-size: 0.9em;
}

/* Auth modal logo icon */
.auth-modal-logo .fa-rocket {
    font-size: inherit;
}

/* Input icon alignment */
.auth-input-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
}
.auth-input-icon .fa-solid {
    opacity: 0.5;
    font-size: 0.85rem;
}

/* Heading icons in modals */
h2 .fa-solid, h3 .fa-solid {
    opacity: 0.8;
    font-size: 0.9em;
}

/* Section titles with icons */
.pm-section-title .fa-solid {
    opacity: 0.7;
    font-size: 0.85em;
}

/* Syne font for section headings */
h2, h3, .auth-modal-title, .stats-card h2, .reading-card h2 {
    font-family: "Syne", "Plus Jakarta Sans", sans-serif;
}

/* Tighten tracking on Syne headings */
h2 { letter-spacing: -0.3px; }
h3 { letter-spacing: 0px; }

/* UKÁŽKA label and sidebar headers — use Syne */
#sidebar h3, .text-illustration h3, .hud-label, .stat-pill .stat-label {
    font-family: "Plus Jakarta Sans", sans-serif;
    letter-spacing: 1.5px;
}

/* ============================================================
   LIGHT THEME — header buttons explicit contrast fix
   ============================================================ */
[data-theme="light"] .header-actions .btn,
[data-theme="light"] .header-actions .btn-auth,
[data-theme="light"] .header-actions #theme-toggle,
[data-theme="light"] .header-profile-btn {
    background: rgba(124, 58, 237, 0.10);
    border-color: rgba(109, 40, 217, 0.45);
    color: #3b1fa8;
}
[data-theme="light"] .header-actions .btn:hover,
[data-theme="light"] .header-actions .btn-auth:hover,
[data-theme="light"] .header-actions #theme-toggle:hover,
[data-theme="light"] .header-profile-btn:hover {
    background: rgba(124, 58, 237, 0.18);
    border-color: rgba(109, 40, 217, 0.70);
}

[data-theme="light"] .header-username,
[data-theme="light"] .header-profile-chevron {
    color: #3b1fa8;
}

/* Light theme — logout button visibility fix */
[data-theme="light"] .btn-auth-ghost {
    color: #5b21b6;
    border-color: rgba(109, 40, 217, 0.45);
    background: rgba(124, 58, 237, 0.10);
}
[data-theme="light"] .btn-auth-ghost:hover {
    background: rgba(124, 58, 237, 0.18);
    border-color: rgba(109, 40, 217, 0.70);
    color: #3b1fa8;
}

/* ============================================================
   HEADER COINS WIDGET — theme-aware
   ============================================================ */
.header-coins-widget {
    display: none;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 0.9rem;
    font-weight: 700;
    /* dark theme defaults */
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #eee;
}
.header-coins-widget .fa-coins {
    color: #f59e0b;
}

[data-theme="light"] .header-coins-widget {
    background: rgba(124, 58, 237, 0.10);
    border-color: rgba(109, 40, 217, 0.45);
    color: #3b1fa8;
}
[data-theme="light"] .header-coins-widget .fa-coins {
    color: #d97706;
}

/* ============================================================
   FA ICON POLISH — consistent icon sizing & colors
   ============================================================ */

/* Zone colored dots for rules list (replacing emoji circles) */
.zone-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    vertical-align: middle;
    flex-shrink: 0;
}
.zone-dot.zone-green  { background: #4ade80; }
.zone-dot.zone-yellow { background: #facc15; }
.zone-dot.zone-orange { background: #fb923c; }
.zone-dot.zone-red    { background: #f87171; }

/* FA icons inside stat-box-icon */
.stat-box-icon .fa-solid {
    font-size: 24px;
    line-height: 1;
}
.stat-box-icon .fa-coins    { color: #f59e0b; }
.stat-box-icon .fa-circle-check { color: #34d399; }
.stat-box-icon .fa-circle-xmark { color: #f87171; }
.stat-box-icon .fa-fire      { color: #fb923c; }
.stat-box-icon .fa-stopwatch { color: #60a5fa; }
.stat-box-icon .fa-chart-bar { color: #a78bfa; }

/* stats-trophy FA icon */
.stats-trophy .fa-solid {
    font-size: 2.5rem;
    color: #f59e0b;
    filter: drop-shadow(0 0 12px rgba(245,158,11,0.5));
}

/* profile-stat-icon FA */
.profile-stat-icon .fa-solid {
    font-size: 1.1rem;
    opacity: 0.75;
}
.profile-stat-icon .fa-map    { color: #60a5fa; }
.profile-stat-icon .fa-trophy { color: #f59e0b; }

/* pp popup stat labels */
.pp-stat-lbl .fa-solid {
    opacity: 0.75;
    font-size: 0.85em;
}

/* email-toast-icon FA */
.email-toast-icon .fa-solid {
    font-size: 2.2rem;
    color: #60a5fa;
}

/* footer logo FA */
.footer-logo .fa-solid {
    font-size: inherit;
    color: var(--accent);
}

/* pm-char-coins-badge FA */
.pm-char-coins-badge .fa-coins {
    color: #f59e0b;
    font-size: 0.9em;
}

/* pm-char-title FA */
.pm-char-title .fa-solid {
    opacity: 0.75;
    font-size: 0.9em;
}

/* leaderboard blur overlay FA */
.lb-blur-msg .fa-solid {
    font-size: 1.8rem;
    color: var(--accent);
    margin-bottom: 8px;
    display: block;
}

/* pp-bio-label and pp-skins-label FA */
.pp-bio-label .fa-solid,
.pp-skins-label .fa-solid {
    opacity: 0.7;
    font-size: 0.85em;
    margin-right: 3px;
}

/* rules panel title FA */
.rules-panel-title .fa-solid {
    color: var(--accent);
    margin-right: 4px;
}

/* ukazka-col-header FA */
.ukazka-col-header .fa-solid {
    opacity: 0.75;
    font-size: 0.9em;
    margin-right: 4px;
}

/* hud-label FA coins */
.hud-label .fa-coins {
    color: #f59e0b;
    font-size: 0.85em;
}

/* ============================================================
   PROFILE LEFT COLUMN — REDESIGN OVERRIDE
   ============================================================ */

/* ── Left column base ── */
.pm-col-left {
    background: #0c0b18 !important;
    border-right: 1px solid rgba(124,58,237,0.12) !important;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(124,58,237,0.3) transparent;
}
.pm-col-left::-webkit-scrollbar { width: 4px; }
.pm-col-left::-webkit-scrollbar-thumb { background: rgba(124,58,237,0.3); border-radius: 99px; }

/* ── Banner ── */
.profile-modal-banner {
    background: linear-gradient(150deg, #1a0a3d 0%, #2e1065 40%, #4c1d95 80%, #6d28d9 100%) !important;
    padding: 28px 24px 24px !important;
    border-bottom: 1px solid rgba(124,58,237,0.2) !important;
    position: relative;
}
.profile-modal-banner::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(159,90,255,0.5), transparent);
}
.profile-modal-banner-blob {
    width: 260px !important;
    height: 260px !important;
    top: -80px !important;
    right: -80px !important;
    background: radial-gradient(circle, rgba(159,90,255,0.18) 0%, transparent 65%) !important;
}

/* Avatar ring glow */
.profile-modal-avatar-big {
    width: 68px !important;
    height: 68px !important;
    border: 2.5px solid rgba(159,90,255,0.7) !important;
    box-shadow: 0 0 0 4px rgba(124,58,237,0.2), 0 4px 20px rgba(0,0,0,0.5) !important;
    font-size: 1.9rem !important;
}

.profile-modal-username {
    font-size: 1.25rem !important;
    letter-spacing: -0.4px !important;
}
.profile-modal-email {
    font-size: 0.73rem !important;
    color: rgba(255,255,255,0.45) !important;
    margin-top: 4px !important;
}

/* ── Stats strip ── */
.profile-modal-stats {
    background: rgba(0,0,0,0.25) !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    gap: 0 !important;
}
.pm-stat {
    padding: 14px 8px !important;
    position: relative;
}
.pm-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0; top: 20%; bottom: 20%;
    width: 1px;
    background: rgba(255,255,255,0.07);
}
.pm-stat-sep { display: none !important; }
.pm-stat-val {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #fff 30%, #c4b5fd 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pm-stat-lbl {
    font-size: 0.62rem !important;
    color: rgba(255,255,255,0.35) !important;
    letter-spacing: 0.6px !important;
}

/* ── Body ── */
.profile-modal-body {
    padding: 20px 20px 24px !important;
    gap: 0 !important;
    background: transparent !important;
}

/* Section cards */
.pm-section-title {
    font-size: 0.63rem !important;
    font-weight: 700 !important;
    color: rgba(159,90,255,0.8) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    margin: 18px 0 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.pm-section-title:first-child { margin-top: 4px !important; }
.pm-section-title::after {
    content: '' !important;
    flex: 1 !important;
    height: 1px !important;
    background: linear-gradient(90deg, rgba(124,58,237,0.35), transparent) !important;
}
.pm-section-title .fa-solid {
    color: rgba(159,90,255,0.7);
    font-size: 0.7rem;
}

/* Card wrappers around each section */
.profile-modal-body .auth-field {
    margin-bottom: 8px !important;
    gap: 5px !important;
}

/* Labels */
.profile-modal-body .auth-label {
    font-size: 0.71rem !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.4) !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
}

/* Inputs */
.profile-modal-body .auth-input-wrap input,
.profile-modal-body textarea {
    background: rgba(255,255,255,0.04) !important;
    border: 1.5px solid rgba(255,255,255,0.07) !important;
    border-radius: 10px !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 0.875rem !important;
    transition: border-color 0.18s, background 0.18s, box-shadow 0.18s !important;
}
.profile-modal-body .auth-input-wrap input:hover,
.profile-modal-body textarea:hover {
    border-color: rgba(124,58,237,0.3) !important;
    background: rgba(255,255,255,0.055) !important;
}
.profile-modal-body .auth-input-wrap input:focus,
.profile-modal-body textarea:focus {
    border-color: rgba(124,58,237,0.7) !important;
    background: rgba(124,58,237,0.07) !important;
    box-shadow: 0 0 0 3px rgba(124,58,237,0.12) !important;
}
.profile-modal-body .auth-input-icon .fa-solid {
    color: rgba(159,90,255,0.5) !important;
}

/* Textarea bio */
.profile-modal-body textarea {
    padding: 10px 13px !important;
    border-radius: 10px !important;
    border-width: 1.5px !important;
}

/* Primary button */
.profile-modal-body .auth-modal-submit:not(.pm-btn-secondary) {
    background: linear-gradient(135deg, #6d28d9 0%, #9f5aff 100%) !important;
    border-radius: 10px !important;
    font-size: 0.85rem !important;
    padding: 11px 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    box-shadow: 0 2px 16px rgba(124,58,237,0.35) !important;
}
.profile-modal-body .auth-modal-submit:not(.pm-btn-secondary):hover {
    box-shadow: 0 4px 24px rgba(124,58,237,0.55) !important;
    transform: translateY(-1px) !important;
}

/* Secondary buttons */
.profile-modal-body .pm-btn-secondary {
    background: rgba(124,58,237,0.1) !important;
    border: 1.5px solid rgba(124,58,237,0.28) !important;
    border-radius: 10px !important;
    font-size: 0.85rem !important;
    padding: 11px 18px !important;
    font-weight: 600 !important;
    color: rgba(200,170,255,0.9) !important;
    letter-spacing: 0.1px !important;
    box-shadow: none !important;
}
.profile-modal-body .pm-btn-secondary:hover {
    background: rgba(124,58,237,0.22) !important;
    border-color: rgba(124,58,237,0.5) !important;
    transform: translateY(-1px) !important;
}

/* Arrows in buttons */
.profile-modal-body .auth-submit-arrow {
    opacity: 0.7;
    font-size: 1rem !important;
}

/* Dividers */
.pm-divider {
    background: rgba(255,255,255,0.05) !important;
    margin: 14px 0 !important;
}

/* Status message */
#pm-status {
    border-radius: 8px;
    padding: 6px 10px;
    background: rgba(255,255,255,0.03);
}

/* ── Logout button (sidebar profile card) ── */
.profile-logout-btn {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: calc(100% - 32px) !important;
    margin: 0 16px 16px !important;
    padding: 9px 0 !important;
    background: rgba(239,68,68,0.08) !important;
    border: 1px solid rgba(239,68,68,0.2) !important;
    border-radius: 10px !important;
    color: rgba(252,165,165,0.75) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    cursor: pointer !important;
    letter-spacing: 0.2px !important;
    transition: background 0.18s, border-color 0.18s, color 0.18s !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
.profile-logout-btn:hover {
    background: rgba(239,68,68,0.18) !important;
    border-color: rgba(239,68,68,0.4) !important;
    color: #fca5a5 !important;
}

/* Bio counter */
#pm-bio-count {
    color: rgba(159,90,255,0.8);
}

/* Nick hint text */
.pm-field-hint {
    font-size: 0.74rem !important;
    color: rgba(255,255,255,0.3) !important;
}

/* ============================================================
   END REDESIGN OVERRIDE
   ============================================================ */

/* ============================================================
   PML — PROFILE LEFT COLUMN FULL REDESIGN
   ============================================================ */

/* ── Column wrapper ── */
.pm-col-left {
    flex: 0 0 38% !important;
    width: 38% !important;
    background: #0b0a17 !important;
    border-right: 1px solid rgba(120,60,230,0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(120,60,230,0.25) transparent;
}
.pm-col-left::-webkit-scrollbar { width: 3px; }
.pm-col-left::-webkit-scrollbar-thumb { background: rgba(120,60,230,0.3); border-radius: 99px; }

/* ── Hero Banner ── */
.pml-hero {
    position: relative;
    padding: 32px 24px 28px;
    display: flex;
    align-items: center;
    gap: 18px;
    overflow: hidden;
    flex-shrink: 0;
}
.pml-hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #12082e 0%, #1e0d45 35%, #2d1260 65%, #3b1878 100%);
    z-index: 0;
}
.pml-hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 110% -10%, rgba(139,92,246,0.35) 0%, transparent 60%),
        radial-gradient(ellipse 50% 80% at -20% 110%, rgba(79,70,229,0.2) 0%, transparent 60%);
}
.pml-hero-glow {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(139,92,246,0.6) 40%, rgba(167,139,250,0.8) 50%, rgba(139,92,246,0.6) 60%, transparent 100%);
    z-index: 1;
}
.pml-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    z-index: 1;
}
.pml-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4c1d95, #7c3aed);
    border: 2.5px solid rgba(167,139,250,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.9rem;
    font-weight: 900;
    color: #fff;
    overflow: hidden;
    box-shadow: 0 0 0 5px rgba(124,58,237,0.15), 0 8px 32px rgba(0,0,0,0.5);
}
.pml-avatar-ring {
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    border: 1.5px solid rgba(167,139,250,0.2);
    pointer-events: none;
}
.pml-hero-info {
    flex: 1;
    min-width: 0;
    z-index: 1;
}
.pml-username {
    font-size: 1.3rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}
.pml-email {
    font-size: 0.74rem;
    color: rgba(167,139,250,0.55);
    margin-top: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Stats Cards ── */
.pml-stats {
    display: flex;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(0,0,0,0.3);
    border-bottom: 1px solid rgba(255,255,255,0.05);
    flex-shrink: 0;
}
.pml-stat-card {
    flex: 1;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: border-color 0.2s, background 0.2s;
}
.pml-stat-card:hover {
    background: rgba(124,58,237,0.07);
    border-color: rgba(124,58,237,0.2);
}
.pml-stat-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: rgba(124,58,237,0.15);
    border: 1px solid rgba(124,58,237,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: #a78bfa;
    flex-shrink: 0;
}
.pml-stat-icon--gold {
    background: rgba(245,158,11,0.12);
    border-color: rgba(245,158,11,0.25);
    color: #fbbf24;
}
.pml-stat-body {
    min-width: 0;
}
.pml-stat-val {
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    letter-spacing: -0.4px;
}
.pml-stat-lbl {
    font-size: 0.65rem;
    color: rgba(255,255,255,0.35);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 3px;
    font-weight: 600;
}

/* ── Body ── */
.pml-body {
    flex: 1;
    padding: 16px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ── Cards ── */
.pml-card {
    background: rgba(255,255,255,0.025);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color 0.2s;
}
.pml-card:hover {
    border-color: rgba(124,58,237,0.2);
}
.pml-card-header {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-size: 0.72rem;
    font-weight: 700;
    color: rgba(167,139,250,0.8);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    background: rgba(124,58,237,0.05);
}
.pml-card-header i {
    font-size: 0.7rem;
    opacity: 0.8;
}
.pml-card-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ── Fields ── */
.pml-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pml-label {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255,255,255,0.38);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.pml-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.pml-input-icon {
    position: absolute;
    left: 13px;
    font-size: 0.8rem;
    color: rgba(167,139,250,0.45);
    pointer-events: none;
    z-index: 1;
}
.pml-input {
    width: 100%;
    padding: 10px 12px 10px 37px;
    background: rgba(255,255,255,0.04);
    border: 1.5px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    color: #e2e0ff;
    font-size: 0.875rem;
    font-family: inherit;
    outline: none;
    transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
    box-sizing: border-box;
}
.pml-input::placeholder { color: rgba(255,255,255,0.2); }
.pml-input:hover {
    border-color: rgba(124,58,237,0.3);
    background: rgba(255,255,255,0.05);
}
.pml-input:focus {
    border-color: rgba(139,92,246,0.65);
    background: rgba(124,58,237,0.07);
    box-shadow: 0 0 0 3px rgba(124,58,237,0.12);
}
.pml-textarea {
    width: 100%;
    padding: 10px 13px;
    background: rgba(255,255,255,0.04);
    border: 1.5px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    color: #e2e0ff;
    font-size: 0.875rem;
    font-family: inherit;
    outline: none;
    resize: none;
    box-sizing: border-box;
    transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
    line-height: 1.5;
}
.pml-textarea::placeholder { color: rgba(255,255,255,0.2); }
.pml-textarea:hover {
    border-color: rgba(124,58,237,0.3);
    background: rgba(255,255,255,0.05);
}
.pml-textarea:focus {
    border-color: rgba(139,92,246,0.65);
    background: rgba(124,58,237,0.07);
    box-shadow: 0 0 0 3px rgba(124,58,237,0.12);
}
.pml-bio-counter {
    text-align: right;
    font-size: 0.68rem;
    color: rgba(167,139,250,0.45);
    font-weight: 500;
}

/* ── Buttons ── */
.pml-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 16px;
    border: none;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    letter-spacing: 0.1px;
    transition: transform 0.15s, box-shadow 0.15s, background 0.15s, border-color 0.15s;
}
.pml-btn i { font-size: 0.75rem; opacity: 0.8; transition: transform 0.2s; }
.pml-btn:hover i { transform: translateX(3px); }

.pml-btn--primary {
    background: linear-gradient(135deg, #6d28d9 0%, #8b5cf6 50%, #9f5aff 100%);
    color: #fff;
    box-shadow: 0 3px 16px rgba(124,58,237,0.35);
}
.pml-btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(124,58,237,0.55);
}
.pml-btn--primary:active { transform: translateY(0); }

.pml-btn--ghost {
    background: rgba(124,58,237,0.1);
    border: 1.5px solid rgba(124,58,237,0.25);
    color: rgba(196,181,253,0.9);
}
.pml-btn--ghost:hover {
    background: rgba(124,58,237,0.2);
    border-color: rgba(124,58,237,0.45);
    transform: translateY(-1px);
}
.pml-btn--ghost:active { transform: translateY(0); }

/* ── Status ── */
.pml-status {
    font-size: 0.82rem;
    min-height: 0;
    color: rgba(167,139,250,0.8);
    text-align: center;
    border-radius: 8px;
    transition: all 0.2s;
}
.pml-status:not(:empty) {
    padding: 8px 12px;
    background: rgba(124,58,237,0.08);
    border: 1px solid rgba(124,58,237,0.15);
}

/* ── Logout ── */
.pml-logout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    padding: 10px 16px;
    background: rgba(239,68,68,0.07);
    border: 1.5px solid rgba(239,68,68,0.15);
    border-radius: 10px;
    color: rgba(252,165,165,0.75);
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    letter-spacing: 0.1px;
    transition: background 0.18s, border-color 0.18s, color 0.18s, transform 0.15s;
    margin-top: 4px;
}
.pml-logout-btn:hover {
    background: rgba(239,68,68,0.16);
    border-color: rgba(239,68,68,0.38);
    color: #fca5a5;
    transform: translateY(-1px);
}
.pml-logout-btn:active { transform: translateY(0); }

/* ── nick check ── */
.pm-nick-check {
    position: absolute;
    right: 12px;
    font-size: 0.95rem;
    font-weight: 700;
    pointer-events: none;
    z-index: 1;
}
.pm-field-hint {
    font-size: 0.74rem;
    min-height: 14px;
    color: rgba(255,255,255,0.3);
    transition: color 0.2s;
}

/* ── Responsive ── */
@media (max-width: 700px) {
    .pm-col-left {
        flex: none !important;
        width: 100% !important;
        overflow-y: visible !important;
        height: auto !important;
    }
}
/* ============================================================
   END PML REDESIGN
   ============================================================ */

/* ============================================================
   LIGHT THEME — Profile Modal & Skin Shop
   ============================================================ */

/* Profile fullscreen card */
[data-theme="light"] .pm-fullscreen-card {
    background: #f4f2ff;
}

/* Left column */
[data-theme="light"] .pm-col-left {
    background: #ffffff;
    border-right: 1px solid rgba(124,58,237,0.15);
}

/* Right column */
[data-theme="light"] .pm-col-right {
    background: #f4f2ff;
}

/* Profile modal card (non-fullscreen) */
[data-theme="light"] .profile-modal-card {
    background: #ffffff;
    box-shadow: 0 24px 80px rgba(109,40,217,0.15);
}

/* Stats strip */
[data-theme="light"] .profile-modal-stats {
    background: rgba(124,58,237,0.04);
    border-bottom: 1px solid rgba(124,58,237,0.12);
}

[data-theme="light"] .pm-stat-val {
    color: #1e1b2e;
}

[data-theme="light"] .pm-stat-lbl {
    color: rgba(30,27,46,0.45);
}

[data-theme="light"] .pm-stat-sep {
    background: rgba(124,58,237,0.12);
}

/* Body inputs, hints, dividers */
[data-theme="light"] .profile-modal-body {
    color: #1e1b2e;
}

[data-theme="light"] .pm-divider {
    background: rgba(124,58,237,0.10);
}

[data-theme="light"] .pm-field-hint {
    color: rgba(30,27,46,0.45);
}

[data-theme="light"] .pm-close-fs {
    background: rgba(30,27,46,0.07) !important;
    border-color: rgba(30,27,46,0.15) !important;
    color: #1e1b2e;
}

[data-theme="light"] .pm-close-fs:hover {
    background: rgba(30,27,46,0.12) !important;
}

/* Skin shop grid */
[data-theme="light"] .skin-shop-grid-fs {
    background: transparent;
}

[data-theme="light"] .skin-card-fs {
    background: #ffffff;
    border: 1.5px solid rgba(124,58,237,0.18);
    box-shadow: 0 2px 12px rgba(109,40,217,0.08);
}

[data-theme="light"] .skin-card-fs:hover {
    border-color: rgba(124,58,237,0.45);
    box-shadow: 0 4px 20px rgba(109,40,217,0.15);
}

[data-theme="light"] .skin-card-fs.skin-active {
    border-color: #7c3aed;
    background: rgba(124,58,237,0.06);
}

[data-theme="light"] .skin-name {
    color: #1e1b2e;
}

[data-theme="light"] .skin-btn {
    background: rgba(124,58,237,0.10);
    color: #3b1fa8;
    border: 1px solid rgba(124,58,237,0.30);
}

[data-theme="light"] .skin-btn.owned {
    background: rgba(67,160,71,0.12);
    color: #2e7d32;
    border-color: rgba(67,160,71,0.35);
}

[data-theme="light"] .skin-btn.equipped {
    background: rgba(124,58,237,0.15);
    color: #5b21b6;
    border-color: rgba(124,58,237,0.45);
}

[data-theme="light"] .skin-btn.buy {
    background: #7c3aed;
    color: #fff;
    border-color: #6d28d9;
}

[data-theme="light"] .skin-btn.buy:hover {
    background: #6d28d9;
}

/* Right-column preview area */
[data-theme="light"] .pm-char-preview-wrap {
    background: rgba(124,58,237,0.06);
    border: 1.5px solid rgba(124,58,237,0.15);
}

[data-theme="light"] .pm-char-name-badge {
    background: rgba(124,58,237,0.10);
    color: #3b1fa8;
}

[data-theme="light"] .pm-skins-label {
    color: rgba(30,27,46,0.55);
}

/* ============================================================
   LIGHT THEME — Streak backgrounds in fast game
   Overrides the dark !important gradients with warm light tones
   ============================================================ */

[data-theme="light"] body.streak-bg-1 {
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 50%, #fde68a 100%) !important;
}

[data-theme="light"] body.streak-bg-2 {
    background: linear-gradient(135deg, #fff7ed 0%, #fed7aa 50%, #fdba74 100%) !important;
}

[data-theme="light"] body.streak-bg-3 {
    background: linear-gradient(135deg, #fff1f2 0%, #fecdd3 50%, #fda4af 100%) !important;
}

[data-theme="light"] body.streak-bg-4 {
    background: linear-gradient(135deg, #fdf4ff 0%, #f5d0fe 50%, #e879f9 100%) !important;
}

[data-theme="light"] body.streak-bg-5 {
    background: linear-gradient(135deg, #eff6ff 0%, #bfdbfe 50%, #818cf8 100%) !important;
}

/* Keep question cards readable during streaks in light mode */
[data-theme="light"] body[class*="streak-bg-"] .question-card,
[data-theme="light"] body[class*="streak-bg-"] .stats-card {
    background: rgba(255,255,255,0.82) !important;
    border-color: rgba(124,58,237,0.20) !important;
}

[data-theme="light"] body[class*="streak-bg-"] .question-text,
[data-theme="light"] body[class*="streak-bg-"] .ukazka-col-text,
[data-theme="light"] body[class*="streak-bg-"] .hud-label,
[data-theme="light"] body[class*="streak-bg-"] .hud-value,
[data-theme="light"] body[class*="streak-bg-"] .timer-zones {
    color: #1e1b2e !important;
}

[data-theme="light"] body[class*="streak-bg-"] .choice-btn {
    background: rgba(255,255,255,0.80) !important;
    color: #1e1b2e !important;
    border-color: rgba(124,58,237,0.22) !important;
}

[data-theme="light"] body[class*="streak-bg-"] .choice-btn:hover:not(.correct):not(.wrong):not(.reveal-correct) {
    background: rgba(124,58,237,0.12) !important;
    border-color: rgba(124,58,237,0.45) !important;
}

[data-theme="light"] body[class*="streak-bg-"] .ukazka-col {
    background: rgba(255,255,255,0.72) !important;
    border-color: rgba(124,58,237,0.18) !important;
}

[data-theme="light"] body[class*="streak-bg-"] header {
    background: rgba(255,255,255,0.75) !important;
    border-bottom-color: rgba(124,58,237,0.15) !important;
}

[data-theme="light"] body[class*="streak-bg-"] .hud-pill {
    background: rgba(255,255,255,0.75) !important;
    border-color: rgba(124,58,237,0.18) !important;
}

[data-theme="light"] body[class*="streak-bg-"] .streak-mult {
    background: rgba(124,58,237,0.15) !important;
    color: #5b21b6 !important;
}
/* ============================================================
   END LIGHT THEME ADDITIONS
   ============================================================ */

/* ============================================================
   PROMO CODE SECTION
   ============================================================ */
.pm-promo-section {
  margin: 18px 0 8px 0;
  padding: 16px;
  background: rgba(124, 58, 237, 0.08);
  border: 1px solid rgba(124, 58, 237, 0.25);
  border-radius: 14px;
}

.pm-promo-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #c4b5fd;
  margin-bottom: 10px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pm-promo-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pm-promo-input {
  flex: 1;
  background: rgba(0,0,0,0.35);
  border: 1.5px solid rgba(124,58,237,0.35);
  border-radius: 9px;
  color: #f3f0ff;
  font-size: 0.9rem;
  padding: 8px 12px;
  font-family: 'Courier New', monospace;
  letter-spacing: 0.08em;
  outline: none;
  transition: border-color 0.2s;
}
.pm-promo-input:focus {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.2);
}
.pm-promo-input::placeholder {
  color: rgba(196,181,253,0.4);
  letter-spacing: 0.02em;
  font-family: inherit;
}
.pm-promo-input.promo-input-error {
  border-color: #ef4444 !important;
  animation: shake 0.3s ease;
}

.pm-promo-btn {
  background: linear-gradient(135deg, #7c3aed, #5b21b6);
  color: #fff;
  border: none;
  border-radius: 9px;
  padding: 8px 16px;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
  white-space: nowrap;
}
.pm-promo-btn:hover { opacity: 0.88; transform: translateY(-1px); }
.pm-promo-btn:active { transform: translateY(0); }

.pm-promo-msg {
  min-height: 18px;
  margin-top: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  transition: color 0.2s;
}

@keyframes shake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}
/* ============================================================
   END PROMO CODE SECTION
   ============================================================ */

/* ── IT Lab Exclusive Stage Overlay ── */
.itlab-stage-overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    pointer-events: none;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(150deg, #130830 0%, #0a0518 60%, #0e0620 100%);
    border: 1px solid rgba(124,58,237,0.3);
}

/* Grid pattern */
.itlab-stage-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(100,60,220,0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(100,60,220,0.10) 1px, transparent 1px);
    background-size: 18px 18px;
    pointer-events: none;
    z-index: 0;
}

/* Diagonal cross lines */
.itlab-stage-overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(80,40,180,0.07) 0%, transparent 50%),
        linear-gradient(225deg, rgba(80,40,180,0.07) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

/* Big "IT" background text */
.itlab-bg-text {
    position: absolute;
    top: -10px;
    left: -8px;
    font-family: 'Rajdhani', 'Arial Black', sans-serif;
    font-weight: 900;
    font-size: clamp(90px, 40%, 160px);
    line-height: 1;
    color: rgba(80,50,190,0.07);
    pointer-events: none;
    user-select: none;
    letter-spacing: -0.05em;
    z-index: 0;
}

/* IT Valley Košice — top left corner */
.itlab-corner-itv {
    position: absolute;
    top: 12px;
    left: 14px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 7px;
}

.itlab-corner-itv-mark {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.itlab-corner-itv-mark span {
    display: block;
    height: 2px;
    background: rgba(160,130,255,0.45);
    border-radius: 1px;
    transform-origin: left;
}

.itlab-corner-itv-mark span:nth-child(1) { width: 18px; }
.itlab-corner-itv-mark span:nth-child(2) { width: 14px; transform: skewX(-15deg); }
.itlab-corner-itv-mark span:nth-child(3) { width: 10px; transform: skewX(-25deg); }

.itlab-corner-itv-words {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.itlab-corner-itv-words .w1 {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.18em;
    color: rgba(180,155,255,0.55);
    text-transform: uppercase;
}

.itlab-corner-itv-words .w2 {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.28em;
    color: rgba(140,115,220,0.40);
    text-transform: uppercase;
}

/* KSK circle — top right */
.itlab-corner-ksk {
    position: absolute;
    top: 12px;
    right: 14px;
    z-index: 2;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid rgba(140,110,255,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.itlab-corner-ksk span {
    font-family: 'Rajdhani', sans-serif;
    font-size: 8px;
    font-weight: 700;
    color: rgba(165,140,255,0.55);
    letter-spacing: 0.05em;
}

/* "Creativity" top-right vertical area */
.itlab-creativity-label {
    position: absolute;
    top: 46px;
    right: 14px;
    z-index: 2;
    text-align: right;
}

.itlab-creativity-label .cl1 {
    display: block;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    font-size: 9px;
    letter-spacing: 0.32em;
    color: rgba(155,130,255,0.45);
    text-transform: uppercase;
}

.itlab-creativity-label .cl2 {
    display: block;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    font-size: 20px;
    letter-spacing: 0.06em;
    color: rgba(130,100,255,0.32);
    line-height: 1;
    text-transform: uppercase;
}

/* Bottom glow */
.itlab-bottom-glow {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: radial-gradient(ellipse at center bottom, rgba(110,60,240,0.25) 0%, transparent 70%);
    pointer-events: none;
    z-index: 1;
}

/* Scan line animation */
.itlab-scan {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(120,80,255,0.10);
    pointer-events: none;
    z-index: 1;
    animation: itlabScan 5s linear infinite;
}

@keyframes itlabScan {
    0%   { top: 0; }
    100% { top: 100%; }
}

/* Bottom divider line */
.itlab-divider {
    position: absolute;
    bottom: 52px;
    left: 20px;
    right: 20px;
    height: 0.5px;
    background: linear-gradient(90deg, transparent, rgba(110,80,230,0.35), transparent);
    z-index: 2;
}

/* Bottom tag */
.itlab-tag {
    position: absolute;
    bottom: 32px;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 2;
}

.itlab-tag span {
    display: inline-block;
    background: rgba(70,45,160,0.25);
    border: 0.5px solid rgba(110,80,220,0.4);
    border-radius: 4px;
    padding: 2px 10px;
    font-family: 'Courier New', monospace;
    font-size: 8px;
    letter-spacing: 0.14em;
    color: rgba(175,150,255,0.65);
    white-space: nowrap;
    text-transform: uppercase;
}

.itlab-overlay-logo {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50%;
    height: 80%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 2;
}

.itlab-overlay-logo--lab {
    background-image: url('data:image/png;base64,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');
    left: 0;
}

.itlab-overlay-logo--valley {
    background-image: url('./assets/biele_it-valley.png');
    right: 0;
}

/* ============================================================
   MOBILE v3 — телефон ≤600px
   ============================================================ */
@media screen and (max-width: 600px) {

body { padding: 0 !important; padding-bottom: 72px !important; }
.container { padding: 0 !important; }

/* --- ШАПКА: slim, sticky, кнопки не налезают --- */
header {
    position: sticky !important;
    top: 0 !important;
    z-index: 300 !important;
    height: 56px !important;
    padding: 0 8px 0 12px !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: none !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    overflow: hidden !important;
}

h1 {
    font-size: 15px !important;
    white-space: nowrap !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.header-actions {
    gap: 3px !important;
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
}

/* Все кнопки шапки: 44×44, только иконка */
.header-actions .btn,
.header-actions .btn-auth,
.header-actions #theme-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
}

/* Скрыть текст — только иконки */
.header-actions span:not([class*="fa"]):not([class*="icon"]):not(.header-username):not(.header-coins-display):not(#theme-icon),
#rules-btn > span,
#header-login-btn > span:last-of-type,
#header-register-btn > span:last-of-type {
    display: none !important;
}

/* На мобиле — в шапке только кнопка темы */
#rules-btn,
#header-auth-widget,
#header-coins-widget {
    display: none !important;
}

/* Монеты */
.header-coins-widget {
    height: 36px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    border-radius: 18px !important;
    gap: 4px !important;
}

/* Профиль */
.header-profile-btn {
    width: auto !important;
    height: 44px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
}
.header-profile-chevron { display: none !important; }
.header-username { font-size: 12px !important; max-width: 60px !important; overflow: hidden !important; text-overflow: ellipsis !important; }

/* --- LAYOUT --- */
.main-stage {
    grid-template-columns: 1fr !important;
    padding: 10px 10px 20px !important;
    gap: 10px !important;
}

/* --- SELECT --- */
.controls { margin-bottom: 8px !important; }
.controls select {
    height: 46px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    padding: 0 12px !important;
}

/* --- КАРТА: точки круглые и маленькие --- */
.map-wrapper { padding: 8px !important; border-radius: 12px !important; }

/* Отменяем пиксельный стиль квадратов */
.point,
.point.capital,
.point.correct,
.point.wrong {
    border-radius: 50% !important;
}

/* Маленькие точки */
.point {
    width: 10px !important;
    height: 10px !important;
}
.point.capital {
    width: 16px !important;
    height: 16px !important;
}

/* Большая зона касания */
.point::after {
    content: '' !important;
    position: absolute !important;
    inset: -14px !important;
    border-radius: 50% !important;
}

/* --- ЛЕГЕНДА --- */
.legend {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    font-size: 11px !important;
    padding: 8px 10px !important;
    gap: 10px !important;
}
.legend::-webkit-scrollbar { display: none !important; }
.legend-item { flex-shrink: 0 !important; }

/* --- FAST CTA --- */
.fast-cta { padding: 14px 16px !important; border-radius: 14px !important; margin-top: 10px !important; }
.fast-cta-title { font-size: 15px !important; }
.fast-cta-sub { font-size: 11px !important; }

/* --- ОТВЕТЫ fast game --- */
.choices-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
.choice-btn {
    padding: 16px !important;
    min-height: 58px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
}
.choice-key {
    width: 38px !important;
    height: 38px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
    flex-shrink: 0 !important;
}

/* --- ОТВЕТЫ index --- */
.choice {
    padding: 14px 16px !important;
    min-height: 54px !important;
    font-size: 14px !important;
    border-radius: 14px !important;
    margin-bottom: 8px !important;
}

/* --- POPUP снизу --- */
.popup:not(.profile-modal-fullscreen) { align-items: flex-end !important; padding: 0 !important; }
.popup-content {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 22px 16px 28px !important;
    max-height: 92vh !important;
}
.popup-content h2 { font-size: 17px !important; padding-right: 28px !important; }
#submit-answer {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 14px !important;
    margin-top: 14px !important;
}
input.fill-input {
    height: 52px !important;
    font-size: 16px !important;
    border-radius: 14px !important;
    padding: 12px 16px 12px 36px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
input.open-answer-input {
    height: 52px !important;
    font-size: 16px !important;
    border-radius: 14px !important;
    padding: 13px 16px 13px 42px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide back-to-map button in fast game on mobile */
.fast-back-btn { display: none !important; }

/* --- AUTH bottom sheet --- */
#auth-modal { align-items: flex-end !important; }
.auth-modal-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 24px 16px 32px !important;
    max-height: 95vh !important;
    overflow-y: auto !important;
}
.auth-modal-submit { height: 52px !important; font-size: 16px !important; border-radius: 14px !important; }
.auth-modal-tab { height: 44px !important; font-size: 14px !important; }

/* --- СЛОЖНОСТЬ (diff) --- */
.diff-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
.diff-btn {
    flex-direction: row !important;
    align-items: center !important;
    padding: 16px 18px !important;
    gap: 14px !important;
    min-height: 68px !important;
    border-radius: 14px !important;
    text-align: left !important;
}
.diff-icon { font-size: 1.6rem !important; flex-shrink: 0 !important; }
.diff-label { font-size: 1rem !important; font-weight: 700 !important; }
.diff-time { font-size: 1rem !important; }
.diff-desc { font-size: 0.72rem !important; }

/* --- STAT PILLS --- */
.stat-pill { padding: 12px !important; border-radius: 12px !important; }
.stat-pill .stat-label { font-size: 10px !important; }
.stat-pill .stat-value { font-size: 22px !important; }

/* --- SIDEBAR --- */
#sidebar { padding: 14px !important; border-radius: 12px !important; }
#sidebar h3 { font-size: 11px !important; letter-spacing: 1.5px !important; }
#leaderboard li { padding: 9px 11px !important; font-size: 12px !important; }

/* --- TEXT ILLUSTRATION --- */
.text-illustration { padding: 14px !important; border-radius: 12px !important; font-size: 13px !important; }
.text-illustration h3 { font-size: 11px !important; margin-bottom: 6px !important; }

/* --- BOTTOM NAV --- */
.mobile-bottom-nav { display: flex !important; }

} /* end media 600px */

/* ===== НИЖНЯЯ НАВИГАЦИЯ ===== */
.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    height: 62px;
    background: var(--card-bg-solid);
    border-top: 1px solid var(--card-border);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    z-index: 250;
    align-items: center;
    justify-content: space-around;
    padding: 0 4px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.mobile-nav-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex: 1;
    height: 58px;
    border: none;
    background: none;
    border-radius: 10px;
    color: var(--text-muted);
    cursor: pointer;
    font-family: inherit;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition: color 0.15s, background 0.15s, transform 0.1s;
}
.mobile-nav-btn:active {
    color: var(--title);
    background: rgba(124,58,237,0.12);
    transform: scale(0.92);
}
.mobile-nav-btn i { font-size: 21px; line-height: 1; }
.mobile-nav-btn span { font-size: 9px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.mobile-nav-btn--skins { color: var(--color-accent, #7c6ff7) !important; }

/* ===== TOUCH ===== */
@media (hover: none) and (pointer: coarse) {
    .btn:hover { transform: none !important; }
    .btn:active { transform: scale(0.95) !important; }
    .choice-btn:hover { transform: none !important; }
    .choice-btn:active:not(.correct):not(.wrong) { background: var(--btn-ghost-border) !important; }
    .diff-btn:hover { transform: none !important; }
    .diff-btn:active { transform: scale(0.97) !important; }
    * { -webkit-tap-highlight-color: transparent; }
    a, button, .point, .choice-btn, .diff-btn { touch-action: manipulation; }
}

/* ===== LANDSCAPE ===== */
@media (max-height: 500px) and (orientation: landscape) {
    .mobile-bottom-nav { display: none !important; }
    body { padding-bottom: 0 !important; }
    .popup { align-items: center !important; }
    .popup-content {
        border-radius: 16px !important;
        margin: 0 12px !important;
        width: calc(100% - 24px) !important;
        max-height: 88vh !important;
    }
}
