.lottery-matrix-page {
    background: #07111f;
    color: #e5eefc;
}
.lottery-matrix-page main {
    min-height: 70vh;
    background:
        radial-gradient(circle at 12% 10%, rgba(14, 165, 233, .18), transparent 32rem),
        radial-gradient(circle at 88% 20%, rgba(244, 63, 94, .12), transparent 28rem),
        #07111f;
}
.matrix-hero {
    padding: 72px 0 42px;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
}
.matrix-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
    gap: 40px;
    align-items: center;
}
.matrix-kicker {
    color: #38bdf8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
}
.matrix-hero h1 {
    margin: 14px 0;
    color: #fff;
    font-size: clamp(38px, 6vw, 72px);
    line-height: .98;
}
.matrix-hero h1 span { color: #fb7185; }
.matrix-hero p {
    max-width: 760px;
    color: #b8c7dc;
    font-size: 17px;
}
.matrix-orb {
    width: 220px;
    height: 220px;
    margin: auto;
    display: grid;
    place-items: center;
    border: 1px solid rgba(56, 189, 248, .35);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14, 165, 233, .24), rgba(15, 23, 42, .75) 60%);
    box-shadow: 0 0 70px rgba(14, 165, 233, .18);
    text-align: center;
}
.matrix-orb strong { display: block; color: #fff; font-size: 42px; }
.matrix-orb span { color: #7dd3fc; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.matrix-workspace { padding: 42px 0 70px; }
.matrix-heading {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 22px;
}
.matrix-heading h2 { margin: 6px 0 0; color: #fff; }
.matrix-heading p { margin: 0; color: #94a3b8; }
.lottery-matrix-wrap {
    overflow: auto;
    max-height: 72vh;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 18px;
    background: #0b1728;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}
.lottery-matrix {
    width: 100%;
    min-width: 1180px;
    border-collapse: separate;
    border-spacing: 0;
    color: #dbeafe;
    font-size: 12px;
}
.lottery-matrix th,
.lottery-matrix td {
    min-width: 34px;
    padding: 9px 6px;
    border-right: 1px solid rgba(148, 163, 184, .12);
    border-bottom: 1px solid rgba(148, 163, 184, .12);
    text-align: center;
}
.lottery-matrix th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #111f34;
    color: #e0f2fe;
}
.lottery-matrix th:first-child,
.lottery-matrix td:first-child {
    position: sticky;
    left: 0;
    min-width: 145px;
    text-align: left;
}
.lottery-matrix th:first-child { z-index: 4; }
.lottery-matrix td:first-child {
    z-index: 2;
    background: #0f1c2f;
    color: #fff;
    font-weight: 700;
}
.lottery-matrix tbody tr:hover td { background-color: rgba(30, 64, 175, .12); }
.lottery-matrix tbody tr:hover td:first-child { background: #142642; }
.lottery-matrix td.is-hit {
    background: linear-gradient(135deg, #fb7185, #e11d48);
    color: #fff;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.matrix-note { margin: 16px 2px 0; color: #94a3b8; }
@media (max-width: 767px) {
    .matrix-hero { padding: 48px 0 30px; }
    .matrix-hero-grid { grid-template-columns: 1fr; }
    .matrix-orb { width: 160px; height: 160px; }
    .matrix-heading { display: block; }
    .matrix-heading p { margin-top: 8px; }
    .lottery-matrix-wrap { border-radius: 12px; }
}
