:root {
    color-scheme: dark;
    --bg: #121212;
    --surface: #191919;
    --surface-strong: #212121;
    --surface-raised: #313131;
    --surface-soft: rgba(255, 255, 255, .06);
    --border: #8888;
    --border-strong: rgba(255, 255, 255, .47);
    --text: #fafafa;
    --muted: #aaa;
    --muted-soft: #aaaa;
    --subtle: #757575;
    --primary: #90caf9;
    --primary-highlight: #bbdefb;
    --primary-press: #7abef5;
    --secondary: #5b6fff;
    --delta: #d384ff;
    --theta: #5b6fff;
    --alpha: #00d3c2;
    --low-beta: #87ff9d;
    --mid-beta: #ffe732;
    --high-beta: #ff7914;
    --gamma: #ff3a69;
    --success: #4bb543;
    --warning: #ff7914;
    --danger: #f44336;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@keyframes gradient-animation {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 18% 8%, rgba(144, 202, 249, .18), transparent 30rem),
        radial-gradient(circle at 82% 14%, rgba(91, 111, 255, .12), transparent 28rem),
        linear-gradient(145deg, #121212 0%, #191919 52%, #212121 100%);
    color: var(--text);
}

button,
input,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

.site-header {
    padding: 38px 0 30px;
}

.page-label {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero,
.page-shell {
    width: min(1120px, calc(100vw - 36px));
    margin: 0 auto;
}

.hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.eyebrow,
.filter-label {
    color: var(--primary);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

h1,
h2,
h3,
p,
dl {
    margin-top: 0;
}

h1 {
    max-width: 980px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 0;
    font-size: 45px;
    line-height: 1.1;
    letter-spacing: 0;
    text-align: left;
}

.title-brand {
    background: linear-gradient(45deg, #d384ff, #5b6fff, #5fccff, #3ff4ff, #00d3c2, #87ff9d, #ffe732, #ffcd2f, #ff7914, #ff3a69, #3abff0, #ff8480, #ecb339, #ff4040);
    background-size: 300% 300%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-animation 8s ease infinite;
    text-shadow: 0 0 20px rgba(91, 111, 255, .1);
}

.lede {
    max-width: 680px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.55;
}

.page-shell {
    padding-bottom: 70px;
}

.filters {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 30px;
    padding: 10px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.filter-group,
.filter-grid label {
    display: block;
}

.chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.chip {
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-weight: 400;
}

.chip:hover,
.chip.active {
    border-color: rgba(144, 202, 249, .72);
    background: rgba(144, 202, 249, .14);
    color: var(--text);
}

.chip-all {
    border-color: rgba(255, 255, 255, .32);
    color: var(--muted);
}

.chip-all:hover,
.chip-all.active {
    border-color: rgba(255, 255, 255, .47);
    background: rgba(255, 255, 255, .08);
    color: var(--text);
}

.chip.project-brainassistant {
    border-color: rgba(144, 202, 249, .52);
    color: var(--primary-highlight);
}

.chip.project-brainassistant:hover,
.chip.project-brainassistant.active {
    border-color: rgba(144, 202, 249, .78);
    background: rgba(144, 202, 249, .14);
    color: var(--text);
}

.chip.project-games {
    border-color: rgba(135, 255, 157, .5);
    color: var(--low-beta);
}

.chip.project-games:hover,
.chip.project-games.active {
    border-color: rgba(135, 255, 157, .78);
    background: rgba(135, 255, 157, .13);
    color: #c9ffd3;
}

.filter-grid {
    display: flex;
    align-items: center;
    grid-template-columns: minmax(160px, 220px) minmax(220px, 1fr);
    gap: 12px;
    margin-left: auto;
}

select,
input[type="search"] {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    outline: none;
}

select {
    min-width: 150px;
    padding-right: 34px;
    appearance: none;
    background:
        linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%),
        var(--surface);
    background-position:
        calc(100% - 18px) 19px,
        calc(100% - 13px) 19px,
        0 0;
    background-size:
        5px 5px,
        5px 5px,
        100% 100%;
    background-repeat: no-repeat;
}

select:focus,
input[type="search"]:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(144, 202, 249, .18);
}

.feed {
    display: grid;
    gap: 20px;
}

.release-list {
    display: grid;
    gap: 16px;
}

.release-card {
    --date-accent-rgb: 211, 132, 255;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .06), transparent),
        rgba(25, 25, 25, .96);
    box-shadow: 0 18px 60px rgba(0, 0, 0, .22);
}

.release-card:nth-child(7n + 1) {
    --date-accent-rgb: 211, 132, 255;
}

.release-card:nth-child(7n + 2) {
    --date-accent-rgb: 91, 111, 255;
}

.release-card:nth-child(7n + 3) {
    --date-accent-rgb: 0, 211, 194;
}

.release-card:nth-child(7n + 4) {
    --date-accent-rgb: 135, 255, 157;
}

.release-card:nth-child(7n + 5) {
    --date-accent-rgb: 255, 231, 50;
}

.release-card:nth-child(7n + 6) {
    --date-accent-rgb: 255, 121, 20;
}

.release-card:nth-child(7n) {
    --date-accent-rgb: 255, 58, 105;
}

.release-card[hidden] {
    display: none;
}

.release-date {
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 2px;
    min-height: 78px;
    padding: 10px 8px;
    border: 1px solid rgba(var(--date-accent-rgb), .38);
    border-radius: 8px;
    background: rgba(var(--date-accent-rgb), .1);
    color: var(--muted);
    text-transform: uppercase;
}

.release-date strong {
    color: var(--text);
    font-size: 24px;
    line-height: 1;
}

.release-date span {
    font-size: 13px;
    font-weight: 900;
}

.release-body {
    min-width: 0;
}

.release-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.release-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.release-version {
    flex: 0 0 auto;
    color: var(--subtle);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.project-pill {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 400;
}

.project-pill {
    border: 1px solid rgba(144, 202, 249, .38);
    background: rgba(144, 202, 249, .12);
    color: var(--primary-highlight);
}

.project-pill.project-games {
    border-color: rgba(135, 255, 157, .38);
    background: rgba(135, 255, 157, .12);
    color: var(--low-beta);
}

.release-card h3 {
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 1.2;
}

.release-content ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
    color: var(--muted);
    line-height: 1.55;
}

.release-content li::marker {
    color: var(--primary);
}

.empty-state {
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
}

.error-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
}

.error-shell h1 {
    font-size: 32px;
    line-height: 1.2;
}

@media (max-width: 640px) {
    .site-header {
        padding: 24px 0 28px;
    }

    .page-label {
        font-size: 12px;
    }

    .hero,
    .page-shell {
        width: min(100% - 24px, 1120px);
    }

    h1 {
        align-items: flex-start;
        font-size: 36px;
    }

    .hero {
        align-items: flex-start;
    }

    .filter-grid {
        grid-template-columns: 1fr;
    }

    .release-card {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "date heading"
            "title title"
            "content content";
        gap: 10px 12px;
        padding: 16px;
        align-items: start;
    }

    .filters {
        position: static;
        flex-direction: column;
        align-items: stretch;
    }

    .filter-grid {
        width: 100%;
        margin-left: 0;
        flex-direction: column;
        align-items: stretch;
    }

    .release-date {
        grid-area: date;
        width: auto;
        min-height: 30px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 5px 8px;
        align-self: start;
    }

    .release-date strong {
        color: var(--muted);
        font-size: 11px;
        font-weight: 900;
    }

    .release-date span {
        font-size: 11px;
    }

    .release-body {
        display: contents;
    }

    .release-heading-row {
        grid-area: heading;
        align-items: center;
        gap: 10px;
        margin-bottom: 0;
        min-height: 30px;
    }

    .release-version {
        padding-top: 3px;
    }

    .release-card h3 {
        grid-area: title;
        margin-top: 2px;
    }

    .release-content {
        grid-area: content;
    }
}
