/* ═══════════════════════════════════════════════════════   CSS Variables & Reset   ═══════════════════════════════════════════════════════ */:root {    --bg: #0d1117;    --surface: #161b22;    --border: #30363d;    --text: #c9d1d9;    --text-secondary: #8b949e;    --accent: #58a6ff;    --accent-hover: #79c0ff;    --green: #3fb950;    --orange: #d2991d;    --red: #f85149;    --purple: #a371f7;    --cyan: #39d2c0;    --yellow: #FFE600;    --pink: #FF2D78;    --lime: #BFFF00;    --card-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);    --radius: 12px;    --transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);        /* Neo-brutalist variables */    --neo-border: #ffffff;    --neo-border-dim: #444444;    --neo-surface: #1a1a1a;    --neo-surface-2: #222222;    --neo-shadow: 4px 4px 0px #ffffff;    --neo-shadow-sm: 3px 3px 0px #ffffff;    --font-mono: 'Space Mono', 'SF Mono', 'Fira Code', Consolas, monospace;}* {    margin: 0;    padding: 0;    box-sizing: border-box;}body {    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;    background: var(--bg);    color: var(--text);    min-height: 100vh;    line-height: 1.6;    background-image:        radial-gradient(ellipse at 20% 10%, rgba(88, 166, 255, 0.04) 0%, transparent 60%),        radial-gradient(ellipse at 80% 90%, rgba(163, 113, 247, 0.04) 0%, transparent 60%);}@property --logo-angle {    syntax: '<angle>';    initial-value: 0deg;    inherits: false;}/* ═══════════════════════════════════════════════════════   Header   ═══════════════════════════════════════════════════════ */.header {    background: var(--surface);    border-bottom: 1px solid var(--border);    padding: 1.25rem 1.5rem;    position: sticky;    top: 0;    z-index: 100;    backdrop-filter: blur(12px);    background: rgba(22, 27, 34, 0.85);}.header-inner {    max-width: 1400px;    margin: 0 auto;    display: flex;    flex-wrap: wrap;    align-items: center;    justify-content: space-between;    gap: 1rem;}.logo {    display: flex;    align-items: center;    gap: 0.65rem;    font-size: 1.35rem;    font-weight: 700;    letter-spacing: -0.02em;    user-select: none;}.logo-icon {    width: 38px;    height: 38px;    border-radius: 10px;    flex-shrink: 0;    padding: 3px;    background: conic-gradient(        from var(--logo-angle),        rgb(255, 0, 0),        rgb(255, 127, 0),        rgb(255, 255, 0),        rgb(0, 200, 0),        rgb(0, 0, 255),        rgb(75, 0, 130),        rgb(148, 0, 211),        rgb(255, 0, 0)    );    animation: logo-border-spin 3s linear infinite;}@keyframes logo-border-spin {    to {        --logo-angle: 360deg;    }}.stats {    display: flex;    gap: 1.5rem;    font-size: 0.875rem;    color: var(--text-secondary);}.stats span {    color: #fff;    font-weight: 600;}/* ═══════════════════════════════════════════════════════   Sticky Bar (Controls + Donation)   ═══════════════════════════════════════════════════════ */.sticky-bar {    position: sticky;    top: 73px;    z-index: 99;    background: rgba(13, 17, 23, 0.92);    backdrop-filter: blur(16px);    -webkit-backdrop-filter: blur(16px);    border-bottom: 1px solid var(--border);    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);}/* ═══════════════════════════════════════════════════════   Controls   ═══════════════════════════════════════════════════════ */.controls {    max-width: 1400px;    margin: 0 auto;    padding: 1rem 1.5rem 0.75rem;    display: flex;    flex-wrap: wrap;    gap: 0.75rem;    align-items: center;}.search-wrapper {    position: relative;    flex: 1;    min-width: 220px;    max-width: 420px;}.search-wrapper svg {    position: absolute;    left: 14px;    top: 50%;    transform: translateY(-50%);    width: 18px;    height: 18px;    color: var(--text-secondary);    pointer-events: none;}#searchInput {    width: 100%;    padding: 0.7rem 1rem 0.7rem 2.6rem;    border-radius: 50px;    border: 1px solid var(--border);    background: var(--surface);    color: #fff;    font-size: 0.95rem;    outline: none;    transition: var(--transition);}#searchInput:focus {    border-color: var(--accent);    box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.12);}#searchInput::placeholder {    color: var(--text-secondary);}.filter-chips {    display: flex;    flex-wrap: wrap;    gap: 0.45rem;}.chip {    padding: 0.5rem 1rem;    border-radius: 50px;    border: 1px solid var(--border);    background: var(--surface);    color: var(--text-secondary);    cursor: pointer;    font-size: 0.8rem;    font-weight: 500;    transition: var(--transition);    white-space: nowrap;    user-select: none;}.chip:hover {    border-color: #fff3;    color: #ddd;}.chip.active {    background: var(--accent);    border-color: var(--accent);    color: #fff;}.sort-btn {    padding: 0.5rem 1.1rem;    border-radius: 50px;    border: 1px solid var(--border);    background: var(--surface);    color: var(--text);    cursor: pointer;    font-size: 0.8rem;    font-weight: 500;    transition: var(--transition);    white-space: nowrap;    display: flex;    align-items: center;    gap: 0.35rem;}.sort-btn:hover {    border-color: #fff3;}.sort-btn.active-sort {    border-color: var(--accent);    color: var(--accent);}/* ═══════════════════════════════════════════════════════   Grid & Cards (NEOBRUTALISM STYLE)   ═══════════════════════════════════════════════════════ */.container {    max-width: 1400px;    margin: 1.75rem auto 3rem;    padding: 0 1.5rem;}.grid {    display: grid;    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));    gap: 1.25rem;}.no-results {    grid-column: 1 / -1;    text-align: center;    padding: 4rem 2rem;    color: var(--text-secondary);}.no-results h3 {    font-size: 1.6rem;    margin-bottom: 0.5rem;    color: var(--yellow);    font-family: var(--font-mono);    text-transform: uppercase;    letter-spacing: 0.05em;}/* ─── Neo-brutalist Card ─── */.card {    background: var(--neo-surface);    border: 2.5px solid var(--neo-border);    border-radius: 0px;    padding: 1.4rem;    transition: transform 0.12s ease, box-shadow 0.12s ease;    position: relative;    overflow: hidden;    display: flex;    flex-direction: column;    gap: 0.75rem;    box-shadow: var(--neo-shadow);}/* Left accent stripe */.card::before {    content: '';    position: absolute;    top: 0;    left: 0;    width: 5px;    height: 100%;    background: var(--yellow);}.card:hover {    transform: translate(-3px, -3px);    box-shadow: 7px 7px 0px #ffffff;}.card:active {    transform: translate(0, 0);    box-shadow: var(--neo-shadow);}/* ─── Card Header ─── */.card-top {    display: flex;    align-items: flex-start;    justify-content: space-between;    gap: 0.75rem;}.lang-icon {    width: 44px;    height: 44px;    border-radius: 0px;    border: 2px solid var(--neo-border);    display: flex;    align-items: center;    justify-content: center;    font-weight: 700;    font-family: var(--font-mono);    font-size: 1rem;    flex-shrink: 0;    color: #000;    box-shadow: 2px 2px 0 var(--neo-border);}.lang-name {    font-size: 1.15rem;    font-weight: 700;    font-family: var(--font-mono);    color: #fff;    letter-spacing: -0.01em;    word-break: break-word;    text-transform: uppercase;}.lang-year {    font-size: 0.72rem;    color: #000;    background: var(--yellow);    border: 1.5px solid var(--neo-border);    padding: 0.2rem 0.55rem;    border-radius: 0;    white-space: nowrap;    font-family: var(--font-mono);    font-weight: 700;    box-shadow: 2px 2px 0 var(--neo-border);}/* ─── Card Body ─── */.lang-desc {    font-size: 0.85rem;    color: #a0a0a0;    display: -webkit-box;    -webkit-line-clamp: 3;    -webkit-box-orient: vertical;    overflow: hidden;    flex-grow: 1;    line-height: 1.6;}.card-tags {    display: flex;    flex-wrap: wrap;    gap: 0.4rem;}.tag {    font-size: 0.68rem;    padding: 0.22rem 0.55rem;    border-radius: 0;    font-weight: 700;    font-family: var(--font-mono);    text-transform: uppercase;    letter-spacing: 0.05em;    white-space: nowrap;    border: 1.5px solid;}.tag-paradigm {    background: transparent;    color: var(--purple);    border-color: var(--purple);}.tag-typing {    background: transparent;    color: var(--cyan);    border-color: var(--cyan);}.tag-creator {    background: transparent;    color: var(--orange);    border-color: var(--orange);}/* ─── Card Footer ─── */.card-footer {    display: flex;    align-items: center;    justify-content: space-between;    font-size: 0.72rem;    font-family: var(--font-mono);    color: #a0a0a0;    border-top: 1.5px solid var(--neo-border-dim);    padding-top: 0.65rem;    margin-top: auto;    text-transform: uppercase;    letter-spacing: 0.04em;}/* ─── Card accent left-stripe colors ─── */.card-accent-blue::before   { background: var(--cyan); }.card-accent-green::before  { background: var(--green); }.card-accent-orange::before { background: var(--orange); }.card-accent-purple::before { background: var(--purple); }.card-accent-cyan::before   { background: var(--cyan); }.card-accent-red::before    { background: var(--red); }/* ─── Icon backgrounds ─── */.icon-blue   { background: var(--cyan);   color: #000 !important; }.icon-green  { background: var(--green);  color: #000 !important; }.icon-orange { background: var(--orange); color: #000 !important; }.icon-purple { background: var(--purple); color: #000 !important; }.icon-cyan   { background: var(--cyan);   color: #000 !important; }.icon-red    { background: var(--red);    color: #000 !important; }/* ═══════════════════════════════════════════════════════   Code Block & Copy Button   ═══════════════════════════════════════════════════════ */.code-block-wrapper {    position: relative;    margin-top: 0.6rem;}.code-block-wrapper code {    display: block;    font-family: var(--font-mono);    font-size: 0.72rem;    background: #0a0a0a;    border-radius: 0;    padding: 0.55rem 2.4rem 0.55rem 0.75rem;    color: var(--green);    overflow-x: auto;    white-space: pre-wrap;    border: 2px solid var(--neo-border-dim);    line-height: 1.55;    word-break: break-word;    box-shadow: 3px 3px 0 var(--neo-border-dim);}.copy-btn {    position: absolute;    top: 6px;    right: 6px;    background: var(--neo-surface-2);    border: 1.5px solid var(--neo-border-dim);    border-radius: 0;    color: #a0a0a0;    cursor: pointer;    padding: 5px 7px;    display: flex;    align-items: center;    justify-content: center;    transition: 0.12s ease;    z-index: 2;    line-height: 1;}.copy-btn:hover {    color: var(--yellow);    border-color: var(--yellow);    background: #000;    transform: translate(-1px, -1px);    box-shadow: 2px 2px 0 var(--yellow);}.copy-btn:active {    transform: translate(0, 0);    box-shadow: none;}.copy-btn.copied {    color: var(--green);    border-color: var(--green);    background: rgba(0, 255, 136, 0.1);    pointer-events: none;}/* ═══════════════════════════════════════════════════════   Donation Bar   ═══════════════════════════════════════════════════════ */.donation-bar {    position: static;    z-index: auto;    background: transparent;    border-top: 1px solid var(--border);    border-bottom: none;    margin: 0;    backdrop-filter: none;    box-shadow: none;    width: 100%;}.donation-inner {    max-width: 1400px;    margin: 0 auto;    padding: 0.75rem 1.5rem;    display: flex;    flex-wrap: wrap;    align-items: center;    justify-content: space-between;    gap: 0.8rem;}.donation-label {    display: flex;    align-items: center;    gap: 0.5rem;    font-size: 0.875rem;    font-weight: 500;    color: var(--text-secondary);    white-space: nowrap;}.heart-icon {    color: var(--red);    width: 18px;    height: 18px;    flex-shrink: 0;}.donation-links {    display: flex;    flex-wrap: wrap;    gap: 0.6rem;    align-items: center;}.donation-link {    display: flex;    align-items: center;    gap: 0.4rem;    padding: 0.45rem 0.9rem;    border-radius: 50px;    text-decoration: none;    font-size: 0.8rem;    font-weight: 500;    background: var(--surface);    border: 1px solid var(--border);    color: var(--text);    transition: var(--transition);    white-space: nowrap;    line-height: 1.2;}.donation-link:hover {    border-color: #fff3;    background: #1c2430;}.donation-icon {    font-size: 1rem;    line-height: 1;}/* Platform-specific accents */.trakteer:hover {    color: #d2991d;    border-color: #d2991d;}.kofi:hover {    color: #58a6ff;    border-color: #58a6ff;}.nowpayment:hover {    color: var(--purple);    border-color: var(--purple);}/* ═══════════════════════════════════════════════════════   Filter Dropdown   ═══════════════════════════════════════════════════════ */.filter-dropdown-wrapper {    position: relative;    flex-shrink: 0;}.filter-dropdown {    position: relative;}.filter-dropdown-trigger {    display: flex;    align-items: center;    gap: 0.5rem;    padding: 0.55rem 0.9rem 0.55rem 0.85rem;    border-radius: 50px;    border: 1px solid var(--border);    background: var(--surface);    color: var(--text);    cursor: pointer;    font-size: 0.85rem;    font-weight: 500;    white-space: nowrap;    transition: var(--transition);    min-width: 155px;    justify-content: space-between;    user-select: none;}.filter-dropdown-trigger:hover {    border-color: #fff3;    background: #1c2430;}.filter-dropdown-trigger:focus-visible {    outline: none;    border-color: var(--accent);    box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.15);}.filter-dropdown-trigger.is-open {    border-color: var(--accent);    color: var(--accent);    box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.12);}.filter-dropdown-icon {    width: 15px;    height: 15px;    color: var(--text-secondary);    flex-shrink: 0;    transition: color var(--transition);}.filter-dropdown-trigger.is-open .filter-dropdown-icon {    color: var(--accent);}.filter-dropdown-arrow {    width: 14px;    height: 14px;    flex-shrink: 0;    transition: transform var(--transition), color var(--transition);    color: var(--text-secondary);}.filter-dropdown-trigger.is-open .filter-dropdown-arrow {    transform: rotate(180deg);    color: var(--accent);}/* Dropdown menu */.filter-dropdown-menu {    display: none;    position: absolute;    top: calc(100% + 8px);    left: 0;    min-width: 175px;    background: var(--surface);    border: 1px solid var(--border);    border-radius: 12px;    padding: 0.4rem;    list-style: none;    z-index: 200;    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 2px 8px rgba(0, 0, 0, 0.3);    animation: dropdownFadeIn 0.15s cubic-bezier(0.4, 0, 0.2, 1);}.filter-dropdown-menu.open {    display: block;}@keyframes dropdownFadeIn {    from {        opacity: 0;        transform: translateY(-6px) scale(0.97);    }    to {        opacity: 1;        transform: translateY(0) scale(1);    }}/* Option items */.filter-option {    display: flex;    align-items: center;    gap: 0.6rem;    padding: 0.5rem 0.75rem;    border-radius: 8px;    cursor: pointer;    font-size: 0.84rem;    font-weight: 500;    color: var(--text-secondary);    transition: background var(--transition), color var(--transition);    white-space: nowrap;    user-select: none;}.filter-option:hover {    background: rgba(88, 166, 255, 0.08);    color: var(--text);}.filter-option.active {    background: rgba(88, 166, 255, 0.12);    color: var(--accent);}.filter-option-dot {    width: 7px;    height: 7px;    border-radius: 50%;    background: var(--border);    flex-shrink: 0;    transition: background var(--transition), transform var(--transition);}.filter-option:hover .filter-option-dot {    background: var(--text-secondary);}.filter-option.active .filter-option-dot {    background: var(--accent);    transform: scale(1.3);    box-shadow: 0 0 6px rgba(88, 166, 255, 0.6);}/* ═══════════════════════════════════════════════════════   Scrollbar   ═══════════════════════════════════════════════════════ */::-webkit-scrollbar {    width: 6px;    height: 6px;}::-webkit-scrollbar-track {    background: transparent;}::-webkit-scrollbar-thumb {    background: #fff1;    border-radius: 20px;}/* ═══════════════════════════════════════════════════════   Share Link Row (Neo-brutalist style)   ═══════════════════════════════════════════════════════ */.share-link-row {    display: flex;    align-items: center;    gap: 6px;    margin-top: 0.5rem;}.card-share-input {    flex: 1;    background: #0a0a0a;    border: 1.5px solid var(--neo-border-dim);    color: #a0a0a0;    padding: 6px 10px;    border-radius: 0;    font-family: var(--font-mono);    font-size: 0.67rem;    outline: none;    cursor: pointer;    transition: 0.12s ease;    min-width: 0;}.card-share-input:hover,.card-share-input:focus {    border-color: var(--cyan);    color: var(--cyan);    box-shadow: 2px 2px 0 var(--cyan);}.card-share-copy-btn {    background: transparent;    border: 1.5px solid var(--neo-border-dim);    border-radius: 0;    color: #a0a0a0;    cursor: pointer;    padding: 5px 7px;    display: flex;    align-items: center;    justify-content: center;    transition: 0.12s ease;    flex-shrink: 0;}.card-share-copy-btn:hover {    border-color: var(--yellow);    color: var(--yellow);    background: rgba(255, 230, 0, 0.08);    box-shadow: 2px 2px 0 var(--yellow);}.card-share-copy-btn.copied {    color: var(--green);    border-color: var(--green);    background: rgba(0, 255, 136, 0.1);    pointer-events: none;}/* ═══════════════════════════════════════════════════════   Responsive   ═══════════════════════════════════════════════════════ */@media (max-width: 768px) {    .header-inner {        flex-direction: column;        align-items: flex-start;    }    .sticky-bar {        top: 103px;    }    .grid {        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));        gap: 1rem;    }    .controls {        flex-direction: column;        align-items: stretch;        padding: 0.75rem 1rem 0.65rem;    }    .search-wrapper {        max-width: 100%;    }    .card {        padding: 1.1rem;    }    .code-block-wrapper code {        font-size: 0.7rem;        padding: 0.45rem 2.2rem 0.45rem 0.6rem;    }    .copy-btn {        top: 4px;        right: 4px;        padding: 4px 6px;    }    .donation-inner {        flex-direction: column;        align-items: flex-start;        gap: 0.5rem;        padding: 0.75rem 1rem;    }    .donation-links {        width: 100%;        justify-content: flex-start;    }    .filter-dropdown-wrapper {        width: 100%;    }    .filter-dropdown-trigger {        width: 100%;        min-width: unset;        border-radius: 10px;        padding: 0.65rem 1rem;    }    .filter-dropdown-menu {        width: 100%;        left: 0;        right: 0;    }}