            :root {
                --bg: #0b0f14;
                --bg-panel: #11161d;
                --bg-row: #0e1319;
                --line: #1f2a36;
                --cyan: #5eead4;
                --cyan-dim: #2c7a70;
                --amber: #f6b352;
                --text: #d7e2ea;
                --text-dim: #7b8a99;
                --radius: 10px;
            }
 
            * { box-sizing: border-box; }
 
            body {
                background: var(--bg);
                background-image:
                    radial-gradient(circle at 15% 0%, rgba(94, 234, 212, 0.06), transparent 45%),
                    radial-gradient(circle at 85% 20%, rgba(246, 179, 82, 0.05), transparent 40%);
                color: var(--text);
                font-family: "Share Tech Mono", monospace;
                min-height: 100vh;
                margin: 0;
                padding: 0;
            }
 
            .page-shell {
                max-width: 1100px;
                margin: 0 auto;
                padding: 2.5rem 1.5rem 4rem;
            }
 
            /* ---------- Header ---------- */
            .app-header {
                display: flex;
                justify-content: space-between;
                align-items: flex-end;
                flex-wrap: wrap;
                gap: 1rem;
                margin-bottom: 1.75rem;
                padding-bottom: 1.25rem;
                border-bottom: 1px solid var(--line);
            }
 
            .brand-title {
                font-family: "Orbitron", sans-serif;
                font-weight: 900;
                font-size: 2rem;
                letter-spacing: 0.06em;
                margin: 0;
                color: var(--text);
                text-transform: uppercase;
            }
 
            .brand-title .glyph {
                color: var(--cyan);
            }
 
            .brand-sub {
                font-size: 0.8rem;
                color: var(--text-dim);
                letter-spacing: 0.08em;
                margin-top: 0.25rem;
                text-transform: uppercase;
            }
 
            .btn-add {
                font-family: "Orbitron", sans-serif;
                font-weight: 700;
                font-size: 0.85rem;
                letter-spacing: 0.04em;
                color: #06151a;
                background: var(--cyan);
                border: none;
                border-radius: var(--radius);
                padding: 0.65rem 1.25rem;
                display: inline-flex;
                align-items: center;
                gap: 0.5rem;
                text-decoration: none;
                transition: transform 0.12s ease, box-shadow 0.12s ease;
                box-shadow: 0 0 0 0 rgba(94, 234, 212, 0.0);
            }
 
            .btn-add:hover {
                color: #06151a;
                transform: translateY(-1px);
                box-shadow: 0 4px 18px rgba(94, 234, 212, 0.35);
            }
 
            /* ---------- Stat strip ---------- */
            .stat-strip {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1px;
                background: var(--line);
                border: 1px solid var(--line);
                border-radius: var(--radius);
                overflow: hidden;
                margin-bottom: 1.75rem;
            }
 
            .stat-cell {
                background: var(--bg-panel);
                padding: 0.9rem 1.1rem;
            }
 
            .stat-num {
                font-family: "Orbitron", sans-serif;
                font-size: 1.5rem;
                font-weight: 700;
                color: var(--cyan);
                line-height: 1;
            }
 
            .stat-label {
                font-size: 0.7rem;
                color: var(--text-dim);
                text-transform: uppercase;
                letter-spacing: 0.08em;
                margin-top: 0.3rem;
            }
 
            /* ---------- Controls ---------- */
            .controls-row {
                display: flex;
                flex-wrap: wrap;
                gap: 0.75rem;
                margin-bottom: 1.25rem;
                align-items: center;
            }
 
            .search-wrap {
                position: relative;
                flex: 1 1 240px;
            }
 
            .search-wrap i {
                position: absolute;
                left: 0.9rem;
                top: 50%;
                transform: translateY(-50%);
                color: var(--text-dim);
            }
 
            .search-input {
                width: 100%;
                background: var(--bg-panel);
                border: 1px solid var(--line);
                border-radius: var(--radius);
                color: var(--text);
                font-family: "Share Tech Mono", monospace;
                font-size: 0.95rem;
                padding: 0.65rem 0.9rem 0.65rem 2.3rem;
            }
 
            .search-input:focus {
                outline: none;
                border-color: var(--cyan-dim);
                box-shadow: 0 0 0 3px rgba(94, 234, 212, 0.12);
            }
 
            .search-input::placeholder {
                color: var(--text-dim);
            }
 
            .platform-filters {
                display: flex;
                flex-wrap: wrap;
                gap: 0.4rem;
            }
 
            .chip {
                font-size: 0.75rem;
                letter-spacing: 0.03em;
                color: var(--text-dim);
                background: var(--bg-panel);
                border: 1px solid var(--line);
                border-radius: 999px;
                padding: 0.35rem 0.8rem;
                cursor: pointer;
                user-select: none;
                transition: all 0.12s ease;
                white-space: nowrap;
            }
 
            .chip:hover {
                border-color: var(--cyan-dim);
                color: var(--text);
            }
 
            .chip.active {
                background: var(--cyan);
                color: #06151a;
                border-color: var(--cyan);
                font-weight: 700;
            }
 
            /* ---------- Table panel ---------- */
            .table-panel {
                background: var(--bg-panel);
                border: 1px solid var(--line);
                border-radius: var(--radius);
                overflow: hidden;
            }
 
            table.spiele-table {
                width: 100%;
                margin: 0;
                border-collapse: collapse;
            }
 
            .spiele-table thead th {
                font-family: "Orbitron", sans-serif;
                font-size: 0.72rem;
                letter-spacing: 0.1em;
                text-transform: uppercase;
                color: var(--text-dim);
                font-weight: 700;
                background: #0d1218;
                padding: 0.85rem 1.1rem;
                border-bottom: 1px solid var(--line);
                position: sticky;
                top: 0;
                text-align: left;
                white-space: nowrap;
            }
 
            .spiele-table thead th.col-fertig,
            .spiele-table tbody td.col-fertig {
                text-align: center;
                width: 90px;
            }
 
            .spiele-table thead th.col-plattform,
            .spiele-table tbody td.col-plattform {
                width: 160px;
            }
 
            .spiele-table tbody td {
                padding: 0.7rem 1.1rem;
                border-bottom: 1px solid var(--line);
                vertical-align: middle;
                font-size: 0.92rem;
            }
 
            .spiele-table tbody tr:last-child td {
                border-bottom: none;
            }
 
            .spiele-table tbody tr {
                transition: background 0.1s ease;
            }
 
            .spiele-table tbody tr:hover {
                background: rgba(94, 234, 212, 0.045);
            }
 
            .game-link {
                color: var(--text);
                text-decoration: none;
                border-bottom: 1px dotted transparent;
            }
 
            .game-link:hover {
                color: var(--cyan);
                border-bottom-color: var(--cyan-dim);
            }
 
            /* Plattform-Badges, farblich nach Generation/Familie gruppiert */
            .badge-platform {
                display: inline-block;
                font-family: "Share Tech Mono", monospace;
                font-size: 0.72rem;
                font-weight: 700;
                letter-spacing: 0.04em;
                padding: 0.22rem 0.6rem;
                border-radius: 5px;
                border: 1px solid transparent;
                text-transform: uppercase;
                white-space: nowrap;
            }
 
            .badge-ps1 { background: rgba(94, 234, 212, 0.10); color: #5eead4; border-color: rgba(94, 234, 212, 0.3); }
            .badge-ps2 { background: rgba(94, 234, 212, 0.16); color: #7ff0dd; border-color: rgba(94, 234, 212, 0.4); }
            .badge-ps3 { background: rgba(94, 234, 212, 0.24); color: #a4f5e5; border-color: rgba(94, 234, 212, 0.55); }
            .badge-ps4 { background: rgba(94, 234, 212, 0.32); color: #ccfbf1; border-color: rgba(94, 234, 212, 0.7); }
            .badge-wii { background: rgba(180, 160, 255, 0.14); color: #c9bcff; border-color: rgba(180, 160, 255, 0.4); }
            .badge-xbox { background: rgba(120, 200, 120, 0.14); color: #b0e6b0; border-color: rgba(120, 200, 120, 0.4); }
            .badge-psp { background: rgba(94, 234, 212, 0.08); color: #5eead4; border-color: rgba(94, 234, 212, 0.25); }
            .badge-switch { background: rgba(255, 130, 150, 0.14); color: #ffb3c2; border-color: rgba(255, 130, 150, 0.4); }
            .badge-dreamcast { background: rgba(246, 179, 82, 0.16); color: var(--amber); border-color: rgba(246, 179, 82, 0.4); }
            .badge-unbekannt { background: rgba(123, 138, 153, 0.12); color: var(--text-dim); border-color: rgba(123, 138, 153, 0.3); }
 
            .status-done {
                color: var(--amber);
                font-size: 1rem;
            }
 
            .status-open {
                color: var(--line);
                font-size: 1rem;
            }
 
            .empty-state {
                text-align: center;
                color: var(--text-dim);
                padding: 3rem 1rem;
                font-size: 0.9rem;
            }
 
            .result-count {
                font-size: 0.78rem;
                color: var(--text-dim);
                margin-bottom: 0.6rem;
                letter-spacing: 0.03em;
            }
 
            /* ---------- Responsive: Mobile card layout ---------- */
            @media (max-width: 720px) {
                .page-shell {
                    padding: 1.5rem 1rem 3rem;
                }
 
                .brand-title {
                    font-size: 1.5rem;
                }
 
                .stat-strip {
                    grid-template-columns: 1fr 1fr;
                }
 
                .stat-strip .stat-cell:last-child {
                    grid-column: 1 / -1;
                }
 
                .spiele-table thead {
                    display: none;
                }
 
                .spiele-table, .spiele-table tbody, .spiele-table tbody tr, .spiele-table tbody td {
                    display: block;
                    width: 100%;
                }
 
                .spiele-table tbody tr {
                    padding: 0.85rem 1.1rem;
                    border-bottom: 1px solid var(--line);
                }
 
                .spiele-table tbody td {
                    border-bottom: none;
                    padding: 0.15rem 0;
                }
 
                .spiele-table tbody td.col-name {
                    font-size: 1rem;
                    margin-bottom: 0.35rem;
                }
 
                .spiele-table tbody td.col-plattform,
                .spiele-table tbody td.col-fertig {
                    display: inline-block;
                    width: auto;
                    margin-right: 0.6rem;
                }
            }
 
            @media (prefers-reduced-motion: reduce) {
                * { transition: none !important; }
            }
