/*
 * GangCity Mafia UI — production component layer v1.
 * Scope: opt-in through .gc-mafia; no legacy selectors are restyled here.
 * Profile themes may override --gc-mafia-shell-trim only.
 */

.gc-mafia-hide-section-headers .gc-mafia-section__header {
    display: none;
}

:root {
    /* Material palette — component code should prefer the semantic aliases below. */
    --gc-mafia-ink-1000: #090a0a;
    --gc-mafia-ink-950: #0f1010;
    --gc-mafia-ink-900: #141615;
    --gc-mafia-ink-850: #191b1a;
    --gc-mafia-ink-800: #1e201f;
    --gc-mafia-paper: #d3c7b1;
    --gc-mafia-bone: #ece5d9;
    --gc-mafia-copy: #c1bbb0;
    --gc-mafia-muted: #9a9892;
    --gc-mafia-faint: #73766f;
    --gc-mafia-aqua: #a9d2d5;
    --gc-mafia-aqua-bright: #c4e1e2;
    --gc-mafia-aqua-muted: #83a8aa;
    --gc-mafia-brass: #d49b4a;
    --gc-mafia-complete: #65af7a;
    --gc-mafia-oxblood: #842a2f;
    --gc-mafia-danger: #c96d65;
    --gc-mafia-tobacco: #231d18;

    /* Semantic aliases — these are the public color contract. */
    --gc-mafia-color-page: var(--gc-mafia-ink-1000);
    --gc-mafia-color-panel: var(--gc-mafia-ink-900);
    --gc-mafia-color-surface: var(--gc-mafia-ink-850);
    --gc-mafia-color-surface-raised: var(--gc-mafia-ink-800);
    --gc-mafia-color-heading: var(--gc-mafia-bone);
    --gc-mafia-color-text: var(--gc-mafia-copy);
    --gc-mafia-color-meta: var(--gc-mafia-muted);
    --gc-mafia-color-interactive: var(--gc-mafia-aqua);
    --gc-mafia-color-interactive-hover: var(--gc-mafia-aqua-bright);
    --gc-mafia-color-interactive-muted: var(--gc-mafia-aqua-muted);
    --gc-mafia-color-value: var(--gc-mafia-brass);
    --gc-mafia-color-complete: var(--gc-mafia-complete);
    --gc-mafia-color-danger: var(--gc-mafia-danger);
    --gc-mafia-shell-trim:rgba(113, 74, 37, 0.65);

    --gc-mafia-rule: rgba(211, 199, 177, .14);
    --gc-mafia-rule-strong: rgba(211, 199, 177, .24);
    --gc-mafia-interactive-surface: #172123;
    --gc-mafia-interactive-text: #b8dadd;
    --gc-mafia-interactive-border: #83a8aa;
    --gc-mafia-scrollbar-thumb: #5c7576;
    --gc-mafia-value-surface: #291e14;
    --gc-mafia-value-text: #efb866;
    --gc-mafia-value-border: #a86f31;
    --gc-mafia-value-wash: rgba(232, 201, 135, .14);
    --gc-mafia-value-shadow: rgba(232, 201, 135, .30);
    --gc-mafia-value-glint: rgba(232, 201, 135, .10);
    --gc-mafia-complete-surface: #17271d;
    --gc-mafia-complete-text: #82d6af;
    --gc-mafia-complete-border: #65af7a;
    --gc-mafia-danger-surface: #321a1b;
    --gc-mafia-danger-text: #ff746a;
    --gc-mafia-danger-border: #c96d65;
    --gc-mafia-danger-shadow: rgba(201, 109, 101, .28);
    --gc-mafia-donateur-text: #f0c040;
    --gc-mafia-donateur-border: #9b7b2f;
    --gc-mafia-super-text: #6ed78a;
    --gc-mafia-super-border: #3f8f59;

    /* Small fixed scales: 4 / 8 / 12 / 16 / 24. */
    --gc-mafia-space-1: 4px;
    --gc-mafia-space-2: 8px;
    --gc-mafia-space-3: 12px;
    --gc-mafia-space-4: 16px;
    --gc-mafia-space-5: 24px;
    --gc-mafia-radius: 3px;
    --gc-mafia-menu-target-compact: 40px;
    --gc-mafia-mobile-dock-height: 52px;
    --gc-mafia-mobile-dock-target: 48px;
    --gc-mafia-control-height: 36px;
    --gc-mafia-control-height-touch: 44px;
    --gc-mafia-workspace-header-height: 41px;
    --gc-mafia-workspace-header-height-touch: 45px;
    --gc-mafia-inline-composer-padding-block: 0px;
    --gc-mafia-inline-composer-padding-inline: 0px;
    --gc-mafia-font-display: Georgia, "Times New Roman", serif;
    --gc-mafia-font-ui: Verdana, Tahoma, Arial, sans-serif;
    --gc-mafia-type-kicker: 11px;
    --gc-mafia-type-meta: 12px;
    --gc-mafia-type-label: 12px;
    --gc-mafia-type-body: 13px;
    --gc-mafia-type-data: 13px;
    --gc-mafia-type-story: 14px;
    --gc-mafia-type-title: 24px;
    --gc-mafia-type-section: 18px;
    --gc-mafia-type-subsection: 18px;
    --gc-mafia-type-metric: 17px;
    --gc-mafia-leading-body: 1.45;
    --gc-mafia-leading-story: 1.5;
    --gc-mafia-leading-prose: 1.6;
    --gc-mafia-page-padding: 12px;
    --gc-mafia-page-gap: 8px;
    --gc-mafia-header-gap: 12px;
    --gc-mafia-header-padding-block: 8px;
    --gc-mafia-header-padding-inline: 12px;
    --gc-mafia-panel-padding-block: 12px;
    --gc-mafia-panel-padding-inline: 12px;
    --gc-mafia-stack-gap: 8px;
    --gc-mafia-layout-row-gap: 8px;
    --gc-mafia-layout-column-gap: 12px;
    --gc-mafia-table-padding-block: 8px;
    --gc-mafia-table-padding-inline: 12px;
    --gc-mafia-motion-fast: 120ms;
    --gc-mafia-motion-base: 220ms;
    --gc-mafia-motion-reveal: 360ms;
    --gc-mafia-motion-progress: 600ms;
    --gc-mafia-ease: cubic-bezier(.2, .75, .25, 1);
    --gc-mafia-shadow: 0 12px 28px rgba(0, 0, 0, .32);
}

/* Player directories: shared treatment for the member registry and online roster. */
.gc-mafia-directory {
    width: 100%;
    container-type: inline-size;
    background: transparent;
}

.gc-mafia-directory.gc-mafia-test-width-375 {
    width: 375px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.gc-mafia-directory .gc-mafia-page__inner {
    max-width: 980px;
    min-width: 0;
}

.gc-mafia-directory .gc-mafia-page__inner > * {
    min-width: 0;
}

.gc-mafia-directory__metric {
    grid-template-columns: minmax(72px, 1fr);
}

.gc-mafia-directory-panel,
.gc-mafia-directory .tbl-scroll {
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    overflow: hidden;
}

.gc-mafia-directory-panel__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-directory-panel__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-directory-panel__heading p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-directory-panel__heading > .gc-mafia-icon {
    flex: 0 0 auto;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-directory-filters {
    padding: 0;
}

.gc-mafia-directory-filters > .gc-mafia-disclosure__summary {
    min-height: 44px;
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-directory-filters > .gc-mafia-disclosure__summary .gc-mafia-icon {
    width: 16px;
    height: 16px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-directory-filter-form {
    display: grid;
    grid-template-columns: minmax(140px, .9fr) minmax(120px, .65fr) minmax(160px, 1fr) auto;
    align-items: end;
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
    margin: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
}

.gc-mafia-directory-filter-form--compact {
    grid-template-columns: minmax(220px, 1fr) auto;
}

/* De eigen padding van het filterformulier is de binnenpadding van het
   directory-filterpaneel (dat zelf padding 0 heeft). Direct in een sectie
   bezit de sectie het ritme al; dubbele padding zou de 12px-stap breken. */
.gc-mafia-section > .gc-mafia-directory-filter-form {
    padding: 0;
}

.gc-mafia-directory-filter-form label {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-directory-filter-form label > span {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-directory-filter-form select,
.gc-mafia-directory-filter-form input[type="text"] {
    width: 100%;
    min-height: 44px;
    padding: 0 var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-directory-filter-form select {
    padding-right: 36px;
    background-color: var(--gc-mafia-color-panel);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%2383a8aa' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
    appearance: none;
}

.gc-mafia-directory-filter-form select:focus,
.gc-mafia-directory-filter-form input[type="text"]:focus {
    border-color: var(--gc-mafia-interactive-border);
    outline: 2px solid rgba(169, 210, 213, .2);
    outline-offset: 1px;
}

.gc-mafia-directory-filter-actions {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-directory-filter-actions .gc-mafia-button {
    min-width: 84px;
    min-height: 44px;
    height: 44px;
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-directory .tbl-scroll {
    overflow-x: auto;
}

.gc-mafia-directory-table {
    width: 100%;
    border: 0;
    border-spacing: 0;
    background: transparent;
    table-layout: fixed;
}

.gc-mafia-directory-table td {
    box-sizing: border-box;
    min-width: 0;
    height: 46px;
    padding: var(--gc-mafia-space-3);
    border: 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: transparent;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.gc-mafia-directory-table .gc-cards-head td {
    padding-top: var(--gc-mafia-space-2);
    padding-bottom: var(--gc-mafia-space-2);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
    font-weight: bold;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-directory-table tr:last-child td {
    border-bottom: 0;
}

.gc-mafia-directory-name {
    color: var(--gc-mafia-color-heading) !important;
    font-weight: bold !important;
}

.gc-mafia-directory-rank {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gc-mafia-directory-rank__name {
    color: var(--gc-mafia-color-heading);
    font-weight: bold;
}

.gc-mafia-directory-rank__prestige {
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-label)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gc-mafia-directory-muted,
.gc-mafia-directory-cooldown {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-directory-cooldown {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-directory-online {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-life-status--danger,
.gc-mafia-life-status-link { color: var(--gc-mafia-danger-text); }
.gc-mafia-life-status--complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-life-status-link:hover { color: var(--gc-mafia-color-interactive-hover); }

.gc-mafia-directory-phone {
    width: 14px;
    height: 14px;
    margin-right: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-interactive-muted);
    vertical-align: -2px;
}

.gc-mafia-directory .tbl-scroll {
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    overflow: hidden;
}

.gc-mafia-directory-panel__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-directory-panel__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-directory-panel__heading p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-directory-panel__heading > .gc-mafia-icon {
    flex: 0 0 auto;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-directory-filters {
    padding: 0;
}

.gc-mafia-directory-filters > .gc-mafia-disclosure__summary {
    min-height: 44px;
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-directory-filters > .gc-mafia-disclosure__summary .gc-mafia-icon {
    width: 16px;
    height: 16px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-directory-filter-form {
    display: grid;
    grid-template-columns: minmax(140px, .9fr) minmax(120px, .65fr) minmax(160px, 1fr) auto;
    align-items: end;
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
    margin: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
}

.gc-mafia-directory-filter-form--compact {
    grid-template-columns: minmax(220px, 1fr) auto;
}

/* De eigen padding van het filterformulier is de binnenpadding van het
   directory-filterpaneel (dat zelf padding 0 heeft). Direct in een sectie
   bezit de sectie het ritme al; dubbele padding zou de 12px-stap breken. */
.gc-mafia-section > .gc-mafia-directory-filter-form {
    padding: 0;
}

.gc-mafia-directory-filter-form label {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-directory-filter-form label > span {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-directory-filter-form select,
.gc-mafia-directory-filter-form input[type="text"] {
    width: 100%;
    min-height: 44px;
    padding: 0 var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-directory-filter-form select {
    padding-right: 36px;
    background-color: var(--gc-mafia-color-panel);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%2383a8aa' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
    appearance: none;
}

.gc-mafia-directory-filter-form select:focus,
.gc-mafia-directory-filter-form input[type="text"]:focus {
    border-color: var(--gc-mafia-interactive-border);
    outline: 2px solid rgba(169, 210, 213, .2);
    outline-offset: 1px;
}

.gc-mafia-directory-filter-actions {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-directory-filter-actions .gc-mafia-button {
    min-width: 84px;
    min-height: 44px;
    height: 44px;
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-directory .tbl-scroll {
    overflow-x: auto;
}

.gc-mafia-directory-table {
    width: 100%;
    border: 0;
    border-spacing: 0;
    background: transparent;
    table-layout: fixed;
}

.gc-mafia-directory-table td {
    box-sizing: border-box;
    min-width: 0;
    height: 46px;
    padding: var(--gc-mafia-space-3);
    border: 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: transparent;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.gc-mafia-directory-table .gc-cards-head td {
    padding-top: var(--gc-mafia-space-2);
    padding-bottom: var(--gc-mafia-space-2);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
    font-weight: bold;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-directory-table tr:last-child td {
    border-bottom: 0;
}

.gc-mafia-directory-name {
    color: var(--gc-mafia-color-heading) !important;
    font-weight: bold !important;
}

.gc-mafia-directory-muted,
.gc-mafia-directory-cooldown {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-directory-cooldown {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-directory-online {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-directory-phone {
    width: 14px;
    height: 14px;
    margin-right: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-interactive-muted);
    vertical-align: -2px;
}

.gc-mafia-directory-legend-table {
    width: 100%;
    border: 0;
    border-spacing: 0;
    table-layout: fixed;
}

.gc-mafia-directory-legend-table td {
    width: 50%;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-directory-legend-table tr:last-child td {
    border-bottom: 0;
}

.gc-mafia-directory-legend-table a {
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-directory-legend--gold { color: #e4d36a; }
.gc-mafia-directory-legend--super { color: #6ed78a; font-weight: bold; }
.gc-mafia-directory-legend--admin { color: #df9d5d; }
.gc-mafia-directory-legend--moderator { color: #72c0c0; }
.gc-mafia-directory-legend--honorary { color: #b99ad5; }
.gc-mafia-directory-legend--regular { color: var(--gc-mafia-color-heading); }

.gc-mafia-directory-refresh {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--gc-mafia-space-1);
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-directory-refresh .gc-mafia-icon {
    width: 13px;
    height: 13px;
}

@container (max-width: 760px) {
    .gc-mafia-directory-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-directory-filter-form label:last-of-type {
        grid-column: 1 / -1;
    }

    .gc-mafia-directory-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .gc-mafia-directory .tbl-scroll {
        overflow: visible;
    }

    .gc-mafia-directory-table,
    .gc-mafia-directory-table tbody {
        display: block;
        width: 100%;
    }

    .gc-mafia-directory-table .gc-cards-head {
        display: none;
    }

    .gc-mafia-directory-table .gc-mafia-directory-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: center;
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-directory-table .gc-mafia-directory-row:last-child {
        border-bottom: 0;
    }

    .gc-mafia-directory-table .gc-mafia-directory-row > td {
        display: block;
        width: auto;
        height: auto;
        padding: var(--gc-mafia-space-2);
        border-bottom: 0;
        font-size: var(--gc-mafia-type-label);
    }

    .gc-mafia-directory-table .gc-mafia-directory-row > td[data-label]::before {
        display: block;
        margin-bottom: 2px;
        color: var(--gc-mafia-color-meta);
        content: attr(data-label);
        font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .gc-mafia-directory-table .gc-mafia-directory-name {
        grid-column: 1 / 3;
        grid-row: 1;
        padding-bottom: var(--gc-mafia-space-1);
    }

    .gc-mafia-directory-table--members .gc-mafia-directory-row > td:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2;
    }

    .gc-mafia-directory-table--members .gc-mafia-directory-row > td:nth-child(3) {
        grid-column: 2 / 4;
        grid-row: 2;
    }

    .gc-mafia-directory-table--members .gc-mafia-directory-row > td:nth-child(4) {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        text-align: right;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row {
        grid-template-rows: auto auto auto;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row > td:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row > td:nth-child(3) {
        grid-column: 2 / 4;
        grid-row: 2;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row > td:nth-child(4) {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        text-align: right;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row > td:nth-child(5) {
        grid-column: 1;
        grid-row: 3;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row > td:nth-child(6) {
        grid-column: 2;
        grid-row: 3;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-row > td:nth-child(7) {
        grid-column: 3;
        grid-row: 3;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-rank__name {
        order: 1;
    }

    .gc-mafia-directory-table--online .gc-mafia-directory-rank__prestige {
        order: 2;
    }
}

@container (max-width: 399px) {
    .gc-mafia-directory__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: var(--gc-mafia-space-3);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-directory__header .gc-mafia-content-header__title {
        font-size: var(--gc-mafia-type-title);
    }

    .gc-mafia-directory__header .gc-mafia-content-header__intro {
        font-size: var(--gc-mafia-type-label);
    }

    .gc-mafia-directory__metric {
        min-width: 58px;
        padding-left: var(--gc-mafia-space-3);
    }

    .gc-mafia-directory__metric dd {
        font-size: 16px;
    }

    .gc-mafia-directory-filter-form {
        grid-template-columns: minmax(0, 1fr);
        padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    }

    .gc-mafia-directory-filter-form label:last-of-type,
    .gc-mafia-directory-filter-actions {
        grid-column: auto;
    }

    .gc-mafia-directory-filter-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-directory-filter-actions .gc-mafia-button {
        min-width: 0;
    }

    .gc-mafia-directory-table .gc-mafia-directory-row > td {
        min-width: 0;
    }

    .gc-mafia-directory-panel__heading,
    .gc-mafia-directory-legend-table td {
        padding-right: var(--gc-mafia-space-3);
        padding-left: var(--gc-mafia-space-3);
    }
}

/* Family hub: identity stays visible while leadership, treasury and roster
   use the same quiet dossier hierarchy as other Mafia UI records. */
.gc-mafia-family-hub {
    width: 100%;
    container-type: inline-size;
    background: transparent;
}

.gc-mafia-family-hub .gc-mafia-page__inner > * {
    min-width: 0;
}

.gc-mafia-family-hub__header .gc-mafia-content-header__title a {
    color: inherit;
    text-decoration: none;
}

.gc-mafia-family-hub__identity {
    display: grid;
    width: 104px;
    height: 104px;
    place-items: center;
    overflow: hidden;
    border-left: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-value);
}

button.gc-mafia-family-hub__identity {
    padding: 0;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
    background: transparent;
    appearance: none;
    color: inherit;
    font: inherit;
    cursor: zoom-in;
}

.gc-mafia-family-hub__identity img {
    display: block;
    width: 88px;
    height: 88px;
    object-fit: contain;
}

.gc-mafia-family-hub__context {
    display: inline-flex;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    margin-top: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-interactive-muted);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-family-hub__context .gc-mafia-icon {
    width: 14px;
    height: 14px;
}

.gc-mafia-family-hub__actions {
    justify-content: flex-end;
}

.gc-mafia-family-hub__governance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-family-hub__subheading {
    margin: 0 0 var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-family-hub__facts {
    margin: 0;
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-family-hub__facts > div {
    display: grid;
    grid-template-columns: minmax(112px, .7fr) minmax(0, 1.3fr);
    align-items: center;
    gap: var(--gc-mafia-space-3);
    min-height: 44px;
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-family-hub__facts dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-family-hub__facts dd {
    min-width: 0;
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-family-hub__facts dd > strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-family-hub__facts dd small {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-family-hub__assets {
    margin-top: var(--gc-mafia-space-4);
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-family-hub__assets ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--gc-mafia-space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-family-hub__assets li {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: var(--gc-mafia-space-2);
    min-height: 44px;
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-family-hub__assets li > .gc-mafia-icon {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-family-hub__assets li strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-family-hub__muted,
.gc-mafia-family-hub__disclosure-intro,
.gc-mafia-family-hub__promotion-intro {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-family-hub__profile {
    min-width: 0;
}

.gc-mafia-family-hub__profile > :first-child {
    margin-top: 0;
}

.gc-mafia-family-hub__profile > :last-child {
    margin-bottom: 0;
}

.gc-mafia-family-hub__video {
    display: block;
    width: min(100%, 640px);
    height: auto;
    aspect-ratio: 16 / 9;
    margin: var(--gc-mafia-space-4) auto;
    border: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-family-hub__member-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-1) var(--gc-mafia-space-3);
    min-width: 0;
}

.gc-mafia-family-hub__member-list > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.gc-mafia-family-hub__honors {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-family-hub__honors article {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    gap: var(--gc-mafia-space-3);
    min-height: 72px;
    padding: var(--gc-mafia-space-3);
    border-left: 2px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-family-hub__honors img,
.gc-mafia-family-hub__honors article > .gc-mafia-icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
    color: var(--gc-mafia-color-value);
}

.gc-mafia-family-hub__honors article div {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-family-hub__honors strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-family-hub__honors span {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-family-hub__disclosure {
    overflow: hidden;
}

.gc-mafia-family-hub__disclosure > .gc-mafia-disclosure__summary {
    min-height: 44px;
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-family-hub__disclosure .gc-mafia-disclosure__body {
    display: grid;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3);
}

@container (max-width: 760px) {
    .gc-mafia-family-hub__governance,
    .gc-mafia-family-hub__assets ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-family-hub__roster td.is-number {
        text-align: left;
    }
}

@container (max-width: 399px) {
    .gc-mafia-family-hub__header {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-family-hub__identity {
        width: 100%;
        height: 64px;
        justify-items: start;
        padding-top: var(--gc-mafia-space-2);
        border-top: 1px solid var(--gc-mafia-rule);
        border-left: 0;
    }

    .gc-mafia-family-hub__identity img {
        width: 56px;
        height: 56px;
    }

    .gc-mafia-family-hub__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-family-hub__actions .gc-mafia-button {
        width: 100%;
    }

    .gc-mafia-family-hub__facts > div {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gc-mafia-space-1);
    }

    .gc-mafia-family-hub__honors {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Live competition: one dominant conflict state keeps opponent, timing and
   the next authorised family action in a single dossier flow. */
.gc-mafia-war {
    width: 100%;
    container-type: inline-size;
    background: transparent;
}

.gc-mafia-war .gc-mafia-page__inner > * {
    min-width: 0;
}

.gc-mafia-conflict {
    overflow: hidden;
    padding: 0;
    border-top: 2px solid var(--gc-mafia-rule-strong);
}

.gc-mafia-conflict[data-state="pending"] {
    border-top-color: var(--gc-mafia-value-border);
}

.gc-mafia-conflict[data-state="active"] {
    border-top-color: var(--gc-mafia-danger-border);
}

.gc-mafia-conflict__header,
.gc-mafia-war__command-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-conflict__header {
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-conflict__header h2,
.gc-mafia-war__command-header h2 {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-conflict__header p,
.gc-mafia-war__command-copy {
    margin: var(--gc-mafia-space-2) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-conflict__header > .gc-mafia-icon,
.gc-mafia-war__command-header > .gc-mafia-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-conflict[data-state="pending"] .gc-mafia-conflict__header > .gc-mafia-icon {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-conflict[data-state="active"] .gc-mafia-conflict__header > .gc-mafia-icon {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-conflict__sides {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-conflict__side {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-conflict__side > span,
.gc-mafia-conflict__versus {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-conflict__side > strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-conflict__side--opponent {
    text-align: right;
}

.gc-mafia-conflict[data-state="active"] .gc-mafia-conflict__side--opponent > strong {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-conflict__versus {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-conflict__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.gc-mafia-conflict__facts > div {
    min-width: 0;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-left: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-conflict__facts > div:first-child {
    border-left: 0;
}

.gc-mafia-conflict__facts dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-conflict__facts dd {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-conflict__facts dd.is-complete {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-war__command {
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-war__command-copy {
    max-width: 760px;
}

.gc-mafia-war__actions,
.gc-mafia-war__declare-form {
    display: flex;
    align-items: flex-end;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-4);
}

.gc-mafia-war__actions form {
    margin: 0;
}

.gc-mafia-war__actions .gc-mafia-button,
.gc-mafia-war__declare-form > .gc-mafia-button {
    min-height: 44px;
}

.gc-mafia-war__declare-form {
    display: grid;
    grid-template-columns: minmax(0, 560px) auto;
}

.gc-mafia-war__excluded {
    margin: var(--gc-mafia-space-3) 0 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-war__rules {
    overflow: hidden;
}

.gc-mafia-war__rules > .gc-mafia-disclosure__summary {
    min-height: 44px;
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-war__rules > .gc-mafia-disclosure__summary > span {
    display: grid;
    gap: 2px;
}

.gc-mafia-war__rules > .gc-mafia-disclosure__summary small {
    color: var(--gc-mafia-color-meta);
    font: normal var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-war__rules > .gc-mafia-disclosure__body {
    padding: var(--gc-mafia-space-3);
}

.gc-mafia-war__rules-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--gc-mafia-space-4);
}

.gc-mafia-war__rules-grid > section {
    min-width: 0;
    padding: var(--gc-mafia-space-3) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-war__rules-grid h3 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 17px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-war__rules-grid p {
    margin: var(--gc-mafia-space-2) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
}

.gc-mafia-war__bonuses {
    margin: var(--gc-mafia-space-2) 0 0;
}

.gc-mafia-war__bonuses > div {
    display: flex;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-2) 0;
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-war__bonuses dt {
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-war__bonuses dd {
    margin: 0;
    color: var(--gc-mafia-danger-text);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
}

@container (max-width: 620px) {
    .gc-mafia-war__rules-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container (max-width: 399px) {
    .gc-mafia-conflict__header,
    .gc-mafia-war__command {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-conflict__sides {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-conflict__side--opponent {
        text-align: left;
    }

    .gc-mafia-conflict__versus {
        padding: var(--gc-mafia-space-1) 0;
        border-top: 1px solid var(--gc-mafia-rule);
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-conflict__facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-conflict__facts > div {
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
        border-top: 1px solid var(--gc-mafia-rule);
        border-left: 0;
    }

    .gc-mafia-conflict__facts > div:first-child {
        border-top: 0;
    }

    .gc-mafia-war__actions,
    .gc-mafia-war__declare-form {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        flex-direction: column;
    }

    .gc-mafia-war__actions form,
    .gc-mafia-war__actions .gc-mafia-button,
    .gc-mafia-war__declare-form > .gc-mafia-button {
        width: 100%;
    }
}

/* Data dossiers — shared by personal dashboards and future report pages. */
.gc-mafia-data-page {
    container-type: inline-size;
}

.gc-mafia-data-page .gc-mafia-page__inner > *,
.gc-mafia-data-page [data-gc-mafia-tabs] {
    min-width: 0;
}

.gc-mafia-data-hero {
    align-items: center;
}

.gc-mafia-data-hero__identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-data-hero__identity > .gc-mafia-icon {
    width: 26px;
    height: 26px;
    color: var(--gc-mafia-color-value);
}

.gc-mafia-data-hero__rank {
    display: grid;
    min-width: 180px;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-data-hero__rank-line,
.gc-mafia-data-section__heading,
.gc-mafia-data-chart__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-data-hero__rank-line strong {
    color: var(--gc-mafia-color-heading);
    font-size: var(--gc-mafia-type-data);
}

.gc-mafia-data-hero__rank-line span {
    color: var(--gc-mafia-color-interactive);
    font-size: var(--gc-mafia-type-meta);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-data-tabs {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}

.gc-mafia-data-tabs::-webkit-scrollbar {
    display: none;
}

.gc-mafia-tabs.gc-mafia-data-tabs {
    flex-wrap: nowrap;
}

.gc-mafia-data-tabs .gc-mafia-tab {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* [hidden] moet elke componentregel verslaan. De UA-regel `[hidden]{display:none}`
   verliest namelijk van iedere class-selector met een eigen `display` (grid/flex),
   waardoor een verborgen fieldset, veld of paneel gewoon zichtbaar blijft. */
.gc-mafia [hidden] {
    display: none;
}

.gc-mafia-data-tabpanel[hidden] {
    display: none !important;
}

.gc-mafia-data-tabpanel {
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-data-section {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-data-section__heading h2,
.gc-mafia-data-chart__heading h3 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 19px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-data-section__heading p,
.gc-mafia-data-chart__heading p {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-data-chart {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-3);
    margin: 0;
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-data-chart__canvas {
    position: relative;
    height: 190px;
    min-width: 0;
}

.gc-mafia-data-chart__canvas canvas {
    width: 100% !important;
    height: 100% !important;
}

.gc-mafia-data-chart .gc-mafia-disclosure {
    margin-top: var(--gc-mafia-space-1);
}

.gc-mafia-data-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
}

.gc-mafia-data-table-wrap {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-data-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-data);
}

.gc-mafia-data-table th,
.gc-mafia-data-table td {
    min-height: 46px;
    padding: var(--gc-mafia-table-padding-block) var(--gc-mafia-table-padding-inline);
    border-bottom: 1px solid var(--gc-mafia-rule);
    text-align: left;
    vertical-align: middle;
}

.gc-mafia-data-table th {
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.gc-mafia-data-table .is-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.gc-mafia-data-table strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-data-table strong.gc-mafia-amount {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-data-table strong.gc-mafia-delta--positive { color: var(--gc-mafia-complete-text); }
.gc-mafia-data-table strong.gc-mafia-delta--negative { color: var(--gc-mafia-danger-text); }
.gc-mafia-data-table strong.gc-mafia-delta--value { color: var(--gc-mafia-value-text); }

.gc-mafia-data-table tbody tr.is-current td:first-child {
    box-shadow: inset 2px 0 var(--gc-mafia-color-interactive);
}

/* Rij-acties: een blok-form om een inline-flex knop laat een baseline-descender
   onder de knop staan, waardoor de cel niet verticaal centreert. */
.gc-mafia-data-table td form { display: flex; align-items: center; }
.gc-mafia-data-table td > .gc-mafia-button { vertical-align: middle; }
.gc-mafia-data-table__action {
    vertical-align: middle;
    text-align: center;
}
.gc-mafia-data-table th.gc-mafia-data-table__action { text-align: center; }
.gc-mafia-data-table__action form {
    min-height: 44px;
    justify-content: center;
}

/* Gevangenenregels blijven een compacte datarij: de actie-wrapper centreert
   formulier-, knop- en tekststaten zonder een tweede hoogte op de rij te stapelen. */
.gc-mafia-jail-list td {
    padding-top: var(--gc-mafia-space-2);
    padding-bottom: var(--gc-mafia-space-2);
}

.gc-mafia-jail-list .gc-mafia-data-table__action-inner {
    display: flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
}

.gc-mafia-jail-list .gc-mafia-data-table__action form {
    min-height: 0;
    margin: 0;
}

.gc-mafia-data-table__context {
    display: block;
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* Shared, compact explanation trigger. The visual mark stays small while the
   pseudo-element preserves a touch-friendly hit area without changing layout. */
.gc-mafia .gc-info-wrap {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.gc-mafia .gc-info-btn {
    position: relative;
    width: 18px;
    height: 18px;
    padding: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-interactive-text);
    font: bold 12px/16px var(--gc-mafia-font-ui);
    text-align: center;
}

.gc-mafia .gc-info-btn::before {
    position: absolute;
    inset: -10px;
    content: '';
}

.gc-mafia .gc-info-btn:hover,
.gc-mafia .gc-info-btn:focus,
.gc-mafia .gc-info-btn.open {
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-heading);
    outline: 0;
}

.gc-mafia .gc-info-btn:focus-visible {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.gc-mafia .gc-info-tooltip {
    top: calc(100% + var(--gc-mafia-space-2));
    width: min(240px, calc(100vw - 24px));
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .42);
}

.gc-info-tooltip[data-gc-info-source] {
    display: none !important;
}

.gc-mafia-info-overlay {
    position: fixed;
    z-index: 10000;
    display: none;
    width: min(240px, calc(100vw - 24px));
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    box-sizing: border-box;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
    pointer-events: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .42);
}

.gc-mafia-info-overlay.is-open {
    display: block;
}

/* A ledger normally clips its row seams to the dossier edge. A compact
   explanation is explicitly allowed to escape that edge. */
.gc-mafia-summary-ledger:has(.gc-info-wrap),
.gc-mafia-summary-item:has(.gc-info-wrap) {
    overflow: visible;
}

.gc-mafia-summary-item:has(.gc-info-btn.open),
.gc-mafia-summary-item:focus-within {
    position: relative;
    z-index: 2;
}

.gc-mafia-data-table small {
    display: block;
    margin-top: 2px;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-delta {
    color: var(--gc-mafia-color-heading);
    font-weight: bold;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-delta--positive { color: var(--gc-mafia-complete-text); }
.gc-mafia-delta--negative { color: var(--gc-mafia-danger-text); }
.gc-mafia-delta--value { color: var(--gc-mafia-value-text); }

.gc-mafia-data-bar {
    height: 7px;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: 999px;
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-data-bar > span {
    display: block;
    width: var(--gc-mafia-data-value, 0%);
    height: 100%;
    background: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-data-bar--positive > span { background: var(--gc-mafia-color-complete); }
.gc-mafia-data-bar--negative > span { background: var(--gc-mafia-color-danger); }
.gc-mafia-data-bar--value > span { background: var(--gc-mafia-color-value); }

.gc-mafia-heatmap {
    display: grid;
    grid-template-columns: repeat(24, minmax(7px, 1fr));
    gap: 3px;
}

.gc-mafia-heatmap__cell {
    aspect-ratio: 1 / 1.25;
    min-height: 18px;
    border: 1px solid rgba(169, 210, 213, .08);
    border-radius: 1px;
    background: rgba(169, 210, 213, calc(.06 + (var(--gc-mafia-heat, 0) * .58)));
}

.gc-mafia-data-loading {
    display: flex;
    min-height: 96px;
    align-items: center;
    justify-content: center;
    gap: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-data-loading__spinner {
    width: 18px;
    height: 18px;
    border: 2px solid var(--gc-mafia-rule-strong);
    border-top-color: var(--gc-mafia-color-interactive);
    border-radius: 50%;
    animation: gc-mafia-data-spin .8s linear infinite;
}

@keyframes gc-mafia-data-spin { to { transform: rotate(360deg); } }

.gc-mafia-data-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gc-mafia-data-feature {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-data-feature > .gc-mafia-icon {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-data-feature strong {
    display: block;
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-data-feature p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    line-height: 1.5;
}

@container (max-width: 620px) {
    .gc-mafia-data-grid,
    .gc-mafia-data-features {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-data-hero {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .gc-mafia-data-hero .gc-mafia-content-header__aside {
        width: 100%;
        min-width: 0;
        padding: var(--gc-mafia-space-3) 0 0;
        border-top: 1px solid var(--gc-mafia-rule);
        border-left: 0;
    }

    .gc-mafia-data-hero__rank {
        min-width: 0;
    }
}

@container (max-width: 759px) {
    .gc-mafia-data-section,
    .gc-mafia-data-chart {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-data-chart__canvas {
        height: 200px;
    }

    .gc-mafia-data-table--records thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .gc-mafia-data-table--records,
    .gc-mafia-data-table--records tbody,
    .gc-mafia-data-table--records tr,
    .gc-mafia-data-table--records td {
        display: block;
        width: 100%;
    }

    .gc-mafia-data-table--records tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: var(--gc-mafia-space-2) 0;
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-data-table--records tr:last-child {
        border-bottom: 0;
    }

    .gc-mafia-data-table--records td {
        box-sizing: border-box;
        min-width: 0;
        min-height: 0;
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
        border: 0;
        text-align: left;
    }

    .gc-mafia-directory .gc-mafia-data-table--records td.is-number {
        text-align: left;
    }

    .gc-mafia-data-table--records td::before {
        display: block;
        margin-bottom: 3px;
        color: var(--gc-mafia-color-meta);
        content: attr(data-label);
        font-size: var(--gc-mafia-type-kicker);
        font-weight: bold;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .gc-mafia-jail-list .gc-mafia-data-table__action-inner,
    .gc-mafia-jail-list .gc-mafia-data-table__action form {
        width: 100%;
        justify-content: flex-start;
    }

    .gc-mafia-jail-list .gc-mafia-data-table__action .gc-mafia-button {
        position: relative;
        width: auto;
        min-height: 36px;
    }

    /* Compact zichtbaar vlak, met behoud van het mobiele 44px-raakvlak. */
    .gc-mafia-jail-list .gc-mafia-data-table__action .gc-mafia-button::after {
        position: absolute;
        inset: -4px 0;
        content: "";
    }

    .gc-mafia-data-table--records td:first-child:nth-last-child(3),
    .gc-mafia-data-table--records td:first-child:nth-last-child(3) ~ td:first-of-type {
        grid-column: auto;
    }

    .gc-mafia-summary-ledger {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-data-page .gc-mafia-summary-item {
        min-height: 68px;
        padding: var(--gc-mafia-space-3);
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-data-page .gc-mafia-summary-item strong {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gc-mafia-data-loading__spinner {
        animation: none;
    }
}

.gc-mafia,
.gc-mafia * {
    box-sizing: border-box;
}

.gc-mafia {
    container-type: inline-size;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

@media (max-width: 799px) {
    .gc-mafia {
        --gc-mafia-type-title: 22px;
        --gc-mafia-type-metric: 16px;
        --gc-mafia-leading-prose: 1.55;
        --gc-mafia-page-padding: 8px;
        --gc-mafia-header-gap: 8px;
        --gc-mafia-panel-padding-block: 8px;
        --gc-mafia-layout-column-gap: 8px;
    }
}

@media (max-width: 399px) {
    .gc-mafia {
        --gc-mafia-type-title: 20px;
        --gc-mafia-page-padding: 6px;
    }
}

/* Legacy basis.css assigns every anchor 12px directly. A Mafia UI link inherits
   its component's type role instead, so desktop data and body copy stay 13px+. */
.gc-mafia a:link,
.gc-mafia a:visited,
.gc-mafia a:hover,
.gc-mafia a:active {
    font-family: inherit;
    font-size: inherit;
}

/* Houd de vaste format_username- en format_family-kleuren herkenbaar, maar laat
   spelers- en familienamen rustiger aansluiten op de gedempte Mafia UI-
   oppervlakken. De linkwrapper tempert ook cosmetische effecten zonder hun
   eigen kleur te vervangen. */
.gc-mafia .gc-format-username,
.gc-mafia .gc-format-family {
    opacity: .85;
}

/* basis.css zet `a:link { color:#fff }` — specificiteit (0,1,1) — en wint daarmee
   van de knopklassen (0,1,0). Een knop die als link is opgebouwd kreeg daardoor
   witte tekst i.p.v. de kleur van zijn rol. Elke variant houdt hier zijn eigen rol. */
.gc-mafia a.gc-mafia-button:link,
.gc-mafia a.gc-mafia-button:visited,
.gc-mafia a.gc-mafia-button:hover,
.gc-mafia a.gc-mafia-button:active { color: var(--gc-mafia-color-heading); }

.gc-mafia a.gc-mafia-button--primary:link,
.gc-mafia a.gc-mafia-button--primary:visited,
.gc-mafia a.gc-mafia-button--primary:hover,
.gc-mafia a.gc-mafia-button--primary:active { color: #101515; }

.gc-mafia a.gc-mafia-button--utility:link,
.gc-mafia a.gc-mafia-button--utility:visited,
.gc-mafia a.gc-mafia-button--utility:hover,
.gc-mafia a.gc-mafia-button--utility:active { color: var(--gc-mafia-color-interactive-text); }

.gc-mafia a.gc-mafia-button--danger:link,
.gc-mafia a.gc-mafia-button--danger:visited,
.gc-mafia a.gc-mafia-button--danger:hover,
.gc-mafia a.gc-mafia-button--danger:active { color: var(--gc-mafia-danger-text); }

.gc-mafia-page {
    min-width: 0;
    padding: var(--gc-mafia-page-padding);
    background: transparent;
}

.gc-mafia-page.gc-mafia-test-width-375 {
    width: 375px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 6px;
    --gc-mafia-type-title: 20px;
    --gc-mafia-type-metric: 16px;
    --gc-mafia-leading-prose: 1.55;
    --gc-mafia-header-gap: 8px;
    --gc-mafia-panel-padding-block: 8px;
    --gc-mafia-layout-column-gap: 8px;
}

.gc-mafia-page.gc-mafia-test-width-390 {
    width: 390px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 6px;
    --gc-mafia-type-title: 20px;
    --gc-mafia-type-metric: 16px;
    --gc-mafia-leading-prose: 1.55;
    --gc-mafia-header-gap: 8px;
    --gc-mafia-panel-padding-block: 8px;
    --gc-mafia-layout-column-gap: 8px;
}

.gc-mafia-page__inner {
    display: grid;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    gap: var(--gc-mafia-page-gap);
}

.gc-mafia-page__inner > *,
.gc-mafia-content-header > * {
    min-width: 0;
}

/* Viewport-fill is opt-in for communication and other workspaces whose own
   scroll surface must consume the available page viewport. The page shell,
   not a route-specific vh subtraction, owns the remaining height. */
.gc-mafia-page--viewport {
    display: flex;
    box-sizing: border-box;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
}

.gc-mafia-page--viewport > .gc-mafia-page__inner {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.gc-mafia-page--viewport .gc-mafia-page__fill {
    min-height: 0;
    height: auto;
    flex: 1 1 auto;
}

/* Desktop pages render the HUD before the page root inside the content iframe.
   Let the body allocate the remaining iframe height instead of stacking a full
   100dvh page below that HUD. Mobile keeps its existing iframe-height contract. */
@media (min-width: 800px) {
    body:has(> .gc-mafia-page--viewport) {
        display: flex;
        min-height: 0;
        height: 100vh;
        height: 100dvh;
        flex-direction: column;
        overflow: hidden;
    }

    body:has(> .gc-mafia-page--viewport) > .gc-mafia-page--viewport {
        min-height: 0;
        height: auto;
        flex: 1 1 0;
    }
}

/* Compact single-line communication composer. The 36/44px controls provide
   the target height; surrounding chrome does not add another touch layer. */
.gc-mafia-inline-composer,
.gc-mafia-inline-composer__surface,
.gc-mafia-inline-composer__control,
.gc-mafia-inline-composer__action,
.gc-mafia-inline-composer__icon-action {
    box-sizing: border-box;
}

.gc-mafia-inline-composer {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
    padding: var(--gc-mafia-inline-composer-padding-block) var(--gc-mafia-inline-composer-padding-inline);
    border-top: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-inline-composer > form {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-mafia-inline-composer__surface {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    padding: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-inline-composer__surface:focus-within {
    border-color: var(--gc-mafia-color-interactive);
}

.gc-mafia-inline-composer__control {
    min-width: 0;
    min-height: var(--gc-mafia-control-height);
    flex: 1 1 auto;
    padding: var(--gc-mafia-space-1) 0 var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-inline-composer__control::placeholder {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-inline-composer__action,
.gc-mafia-inline-composer__icon-action {
    min-height: var(--gc-mafia-control-height);
    flex: 0 0 auto;
}

.gc-mafia-inline-composer__icon-action {
    display: grid;
    width: var(--gc-mafia-control-height);
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--gc-mafia-color-meta);
    cursor: pointer;
}

.gc-mafia-inline-composer__icon-action .gc-mafia-icon {
    width: 18px;
    height: 18px;
}

@media (max-width: 799px) {
    .gc-mafia-inline-composer__control,
    .gc-mafia-inline-composer__action,
    .gc-mafia-inline-composer__icon-action {
        min-height: var(--gc-mafia-control-height-touch);
    }

    .gc-mafia-inline-composer__icon-action {
        width: var(--gc-mafia-control-height-touch);
    }
}

@container (max-width: 799px) {
    .gc-mafia-inline-composer__control,
    .gc-mafia-inline-composer__action,
    .gc-mafia-inline-composer__icon-action {
        min-height: var(--gc-mafia-control-height-touch);
    }

    .gc-mafia-inline-composer__icon-action {
        width: var(--gc-mafia-control-height-touch);
    }
}

@media (max-width: 500px) {
    .gc-mafia-inline-composer__control {
        font-size: 16px;
    }
}

/* The page shell owns vertical rhythm. Legacy tables used as direct page
   children must not add a second top margin beside the grid gap. */
.gc-mafia-page .gc-mafia-page__inner > table.center {
    margin-top: 0;
}

.gc-mafia-content-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-header-gap);
    margin: 0;
    padding: var(--gc-mafia-header-padding-block) var(--gc-mafia-header-padding-inline);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

/* Gewone dossierkoppen delen de abstracte bannertextuur. Pagina's met eigen
   artwork gebruiken de --art-variant hieronder en vallen buiten deze fallback. */
.gc-mafia-content-header:not(.gc-mafia-content-header--art) {
    background-color: var(--gc-mafia-color-panel);
    background-image:
        linear-gradient(90deg, rgba(20, 22, 21, .94) 0%, rgba(20, 22, 21, .86) 58%, rgba(20, 22, 21, .74) 100%),
        url("/images/styled/banner.webp");
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: cover, cover;
}

.gc-mafia-content-header__kicker,
.gc-mafia-kicker {
    display: block;
    margin: 0 0 var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gc-mafia-content-header__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-title)/1.12 var(--gc-mafia-font-display);
}

.gc-mafia-content-header__intro {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-content-header__aside {
    min-width: 120px;
    padding-left: var(--gc-mafia-space-4);
    border-left: 1px solid var(--gc-mafia-rule);
}

/* Optioneel dossierartwork blijft een achtergrondlaag: de tekst krijgt altijd
   een donkere leeszone en de afbeelding is nooit een losse concurrerende tile. */
.gc-mafia-content-header--art {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: var(--gc-mafia-color-panel);
    background-image: linear-gradient(90deg, rgba(20, 22, 21, .98) 0%, rgba(20, 22, 21, .91) 45%, rgba(20, 22, 21, .3) 100%), var(--gc-mafia-header-art);
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: cover, cover;
}

.gc-mafia-content-header--art > * { position: relative; z-index: 1; }
.gc-mafia-codebreak__header-art { --gc-mafia-header-art: url("/images/styled/rekening.webp"); }
.gc-mafia-bank__header-art { --gc-mafia-header-art: url("/images/styled/bank.webp"); }
.gc-mafia-pvp__header-art { --gc-mafia-header-art: url("/images/styled/vermoord.webp"); }
.gc-mafia-r66__header-art { --gc-mafia-header-art: url("/images/styled/route66.webp"); }
.gc-mafia-oc__header-art { --gc-mafia-header-art: url("/images/styled/oc.webp"); }
.gc-mafia-obay__header-art { --gc-mafia-header-art: url("/images/styled/obay.webp"); }
.gc-mafia-straatnetwerk__header-art { --gc-mafia-header-art: url("/images/styled/straatnetwerk.webp"); }
.gc-mafia-detectives__header-art { --gc-mafia-header-art: url("/images/styled/detective.webp"); }
.gc-mafia-kf__header-art { --gc-mafia-header-art: url("/images/styled/kogelfabriek.webp"); }
.gc-mafia-rld__header-art { --gc-mafia-header-art: url("/images/styled/wijkbeheer.webp"); }
.gc-mafia-credits__header-art { --gc-mafia-header-art: url("/images/styled/donatie/credits_groot.webp"); }

/* Credit purchase: recipient, optional player and package are separate steps. */
.gc-mafia-credits__purchase-form > .gc-mafia-settings__choices + .gc-mafia-field,
.gc-mafia-credits__purchase-form > .gc-mafia-field + .gc-mafia-transaction__choices {
    margin-top: var(--gc-mafia-space-4);
}

@container (max-width: 399px) {
    .gc-mafia-content-header--art { background-image: linear-gradient(90deg, rgba(20, 22, 21, .98) 0%, rgba(20, 22, 21, .91) 65%, rgba(20, 22, 21, .65) 100%), var(--gc-mafia-header-art); background-size: cover, cover; }
}

.gc-mafia-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(64px, 1fr));
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
    margin: 0;
}

.gc-mafia-metric {
    min-width: 0;
}

.gc-mafia-metric + .gc-mafia-metric {
    padding-left: var(--gc-mafia-space-3);
    border-left: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-metric dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gc-mafia-metric dd {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-value);
    font: bold var(--gc-mafia-type-metric)/1.2 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-metric dd small {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.2 var(--gc-mafia-font-ui);
    text-transform: uppercase;
}

.gc-mafia-layout {
    display: grid;
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
    min-width: 0;
}

.gc-mafia-layout--split {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    align-items: start;
}

.gc-mafia-panel {
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-notice {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-text);
}

.gc-mafia-notice--complete {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-notice--danger {
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-notice--value {
    border-color: var(--gc-mafia-value-border);
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-color-text);
}

.gc-mafia-notice--value > .gc-mafia-icon {
    color: var(--gc-mafia-value-text);
}

.gc-mafia-cooldown {
    display: grid;
    width: 100%;
    max-width: 680px;
    gap: var(--gc-mafia-space-3);
    margin: 0 auto;
}

.gc-mafia-cooldown__notice {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: var(--gc-mafia-space-3);
    margin: 0;
}

.gc-mafia-cooldown__notice > .gc-mafia-icon {
    width: 22px;
    height: 22px;
    color: var(--gc-mafia-value-text);
}

.gc-mafia-cooldown__copy,
.gc-mafia-cooldown__hint {
    margin: 0;
}

.gc-mafia-cooldown__copy {
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-cooldown__copy strong {
    color: var(--gc-mafia-value-text);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-cooldown__hint {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia .gc-suggesties {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia .gc-suggesties .gcs-head {
    margin: 0;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border-bottom: 1px solid var(--gc-mafia-rule-strong);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
}

.gc-mafia .gc-suggestie-row {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) 14px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 42px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-text);
    text-decoration: none;
}

.gc-mafia .gc-suggestie-row + .gc-suggestie-row { border-top: 1px solid var(--gc-mafia-rule); }

.gc-mafia .gc-suggestie-row:hover,
.gc-mafia .gc-suggestie-row:focus-visible {
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-heading);
    outline: 0;
}

.gc-mafia .gcs-icon,
.gc-mafia .gcs-chev {
    width: 16px;
    height: 16px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia .gcs-title { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia .gcs-hint { display: block; margin-top: 2px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }

.gc-mafia-ladder {
    width: 100%;
    max-width: 680px;
    box-sizing: border-box;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-ladder__header {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-ladder__header h2 { margin: 2px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-ladder__body { display: grid; gap: var(--gc-mafia-space-3); padding: var(--gc-mafia-space-4); }
.gc-mafia-ladder__intro { margin: 0; }
.gc-mafia-ladder__brief { margin: 0; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-ladder__brief br { display: block; content: ''; margin-top: var(--gc-mafia-space-1); }
.gc-mafia-ladder__tool { margin: 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }

.gc-mafia-ladder .gc-ladder-track { display: flex; align-items: center; margin: 0; }
.gc-mafia-ladder .gc-ladder-rung {
    display: grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    box-sizing: border-box;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1 var(--gc-mafia-font-ui);
}
.gc-mafia-ladder .gc-ladder-rung.is-current { border-color: var(--gc-mafia-interactive-border); color: var(--gc-mafia-color-interactive-text); box-shadow: inset 0 -2px var(--gc-mafia-color-interactive); }
.gc-mafia-ladder .gc-ladder-rung.is-secured { border-color: var(--gc-mafia-value-border); background: var(--gc-mafia-value-surface); color: var(--gc-mafia-value-text); }
.gc-mafia-ladder .gc-ladder-line { flex: 1 1 auto; height: 2px; margin: 0 3px; background: var(--gc-mafia-rule-strong); }
.gc-mafia-ladder .gc-ladder-line.is-filled { background: var(--gc-mafia-color-value); }

.gc-mafia-ladder .gc-ladder-bag,
.gc-mafia-ladder .gc-net-pill {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    box-sizing: border-box;
    margin: 0;
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-value-border);
    border-radius: 2px;
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-data)/1.25 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}
.gc-mafia-ladder .gc-ladder-bag .gc-mafia-icon { width: 16px; height: 16px; }
.gc-mafia-ladder .gc-raid-bagrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--gc-mafia-space-2); }
.gc-mafia-ladder .gc-net-pill { border-color: var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-panel); color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-ladder .gc-net-pill b { color: var(--gc-mafia-color-heading); }
.gc-mafia-ladder__actions { display: flex; flex-wrap: wrap; gap: var(--gc-mafia-space-2); }
.gc-mafia-ladder__actions .gc-mafia-button { flex: 1 1 210px; }
.gc-mafia-ladder__captcha { display: flex; justify-content: center; }
.gc-mafia-ladder .gc-event-card { margin: 0; border-color: var(--gc-mafia-value-border); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-value-surface); }
.gc-mafia-ladder .gc-event-title { color: var(--gc-mafia-value-text); font: normal var(--gc-mafia-type-subsection)/1.3 var(--gc-mafia-font-display); }
.gc-mafia-ladder .gc-event-story { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui); }
.gc-mafia-ladder .gc-event-stake { color: var(--gc-mafia-value-text); }
.gc-mafia-ladder .gc-event-prompt { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }

.gc-mafia-surface {
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-divider {
    height: 1px;
    margin: var(--gc-mafia-space-3) 0;
    border: 0;
    background: var(--gc-mafia-rule);
}

.gc-mafia-meta {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

/* `gc-mafia-meta` is een tekstrol, geen blokcomponent: hij brengt nooit eigen
   buitenruimte mee. Containers met een eigen gap bepalen het ritme. Alleen waar
   tekst als vrije flow stapelt (dossier, disclosure) krijgt hij bewust ruimte. */
.gc-mafia-guide > .gc-mafia-meta,
.gc-mafia-disclosure__body > .gc-mafia-meta {
    margin-top: var(--gc-mafia-stack-gap);
}
.gc-mafia-guide > .gc-mafia-meta:first-child,
.gc-mafia-disclosure__body > .gc-mafia-meta:first-child {
    margin-top: 0;
}

.gc-mafia-amount {
    color: var(--gc-mafia-color-value);
    font-family: var(--gc-mafia-font-ui);
    font-weight: bold;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: currentColor;
    vertical-align: -.2em;
}

.gc-mafia-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.gc-mafia :where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.gc-mafia-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-jail-self-actions__work {
    flex: 0 0 100%;
}

.gc-mafia-button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color var(--gc-mafia-motion-fast) ease, background var(--gc-mafia-motion-fast) ease, color var(--gc-mafia-motion-fast) ease;
}

.gc-mafia-button:hover {
    border-color: var(--gc-mafia-interactive-border);
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-button--primary {
    border-color: var(--gc-mafia-color-interactive);
    background: var(--gc-mafia-color-interactive);
    color: #101515;
}

.gc-mafia-button--primary:hover {
    border-color: var(--gc-mafia-color-interactive-hover);
    background: var(--gc-mafia-color-interactive-hover);
    color: #101515;
}

/* Quiet utility actions remain visibly interactive without competing with the primary CTA. */
.gc-mafia-button--utility {
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-button--utility:hover {
    border-color: var(--gc-mafia-color-interactive-muted);
    background: rgba(169, 210, 213, .1);
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-button--danger {
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-oxblood);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-button--danger:hover {
    border-color: #c06b63;
    background: #7f2c30;
    color: #f0c4bf;
}

.gc-mafia :is(button, input[type="button"], input[type="submit"], input[type="reset"], select):disabled,
.gc-mafia [aria-disabled="true"] {
    border-color: var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-faint);
    box-shadow: none;
    cursor: not-allowed;
    opacity: .72;
}

.gc-mafia label:has(> input:disabled),
.gc-mafia label:has(input:disabled) {
    cursor: not-allowed;
}

.gc-mafia label:has(> input:disabled) > span:not(.gc-mafia-radio-lock),
.gc-mafia label:has(input:disabled) {
    border-color: var(--gc-mafia-danger-border);
    border-style: dashed;
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia input[type="radio"]:disabled,
.gc-mafia input[type="checkbox"]:disabled {
    border-color: var(--gc-mafia-danger-border);
    cursor: not-allowed;
    opacity: .7;
}

.gc-mafia label:has(input:disabled) :is(
    .gc-mafia-transaction__choice-body,
    .gc-mafia-settings__choice-body,
    .gc-mafia-ballot__choice-body,
    .gc-mafia-catalog-item
) {
    border-color: var(--gc-mafia-danger-border);
    border-style: dashed;
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-button[disabled],
.gc-mafia-button[aria-disabled="true"] {
    border-color: var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-faint);
    cursor: not-allowed;
    opacity: .72;
}

.gc-mafia-button[aria-busy="true"] {
    cursor: wait;
}

.gc-mafia-button__spinner {
    display: none;
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: gcMafiaSpin var(--gc-mafia-motion-progress) linear infinite;
}

.gc-mafia-button[aria-busy="true"] .gc-mafia-button__spinner {
    display: inline-block;
}

.gc-mafia-dossier {
    min-width: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-dossier--danger {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-dossier__header,
.gc-mafia-dossier__footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-layout-column-gap);
}

.gc-mafia-dossier__header > .gc-mafia-stamp {
    align-self: flex-start;
}

.gc-mafia-dossier__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.2 var(--gc-mafia-font-display);
}

.gc-mafia-dossier__story {
    margin: var(--gc-mafia-space-1) 0 var(--gc-mafia-stack-gap);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-dossier__meta {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    margin: 0 0 var(--gc-mafia-stack-gap);
    color: var(--gc-mafia-value-text);
}

.gc-mafia-dossier__progress {
    margin-top: var(--gc-mafia-stack-gap);
}

.gc-mafia-dossier__footer {
    align-items: center;
    margin-top: var(--gc-mafia-stack-gap);
    padding-top: var(--gc-mafia-stack-gap);
    border-top: 1px solid var(--gc-mafia-rule);
}

/* Het formulier bezit zijn interne ritme; verborgen inputs (csrf/token)
   mogen de eerste zichtbare regel geen extra stap geven. */
.gc-mafia-form {
    margin: 0;
}

.gc-mafia-form > * {
    margin-top: 0;
    margin-bottom: 0;
}

.gc-mafia-form > * + * {
    margin-top: var(--gc-mafia-stack-gap);
}

.gc-mafia-form > [type="hidden"] + * {
    margin-top: 0;
}

/* Catalogus en inventaris: category context, ownership and stock remain
   readable records; the global HUD remains the sole balance location. */
.gc-mafia-catalog {
    container-type: inline-size;
    container-name: gc-mafia-catalog;
}

.gc-mafia-catalog__header {
    align-items: center;
}

/* Temporary table adapter for legacy catalog pages; new catalog markup uses the
   same section surface without carrying its own page CSS. */
.gc-mafia-catalog table.half {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-catalog table.half > tbody > tr > td.optieMenu,
.gc-mafia-catalog table.half > tr > td.optieMenu {
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-catalog__nav.gc-mafia-tabs {
    max-width: 100%;
}

.gc-mafia-catalog__brief,
.gc-mafia-catalog__section {
    min-width: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-catalog__brief {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-catalog__brief > .gc-mafia-icon {
    width: 24px;
    height: 24px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-catalog__brief h2,
.gc-mafia-catalog__section-title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-catalog__brief p,
.gc-mafia-catalog__copy {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-catalog__section > :first-child { margin-top: 0; }
.gc-mafia-catalog__section > :last-child { margin-bottom: 0; }

.gc-mafia-catalog__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-3);
}

/* Legacy tile markup maps to the shared product-record contract while pages
   are migrated incrementally. */
.gc-mafia-catalog .option-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--gc-mafia-space-3);
    justify-content: stretch;
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-catalog .option-tile.item-tile {
    display: grid;
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 154px;
    height: auto;
    align-content: start;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui);
    text-align: left;
}

.gc-mafia-catalog button.option-tile.item-tile:hover,
.gc-mafia-catalog button.option-tile.item-tile:focus-visible {
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-catalog .option-tile.item-tile.disabled {
    border-color: var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-faint);
    cursor: not-allowed;
    opacity: 1;
}

.gc-mafia-catalog .option-tile.item-tile .title,
.gc-mafia-catalog .option-tile.item-tile .item-name {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog .option-tile.item-tile .chance,
.gc-mafia-catalog .option-tile.item-tile .item-price,
.gc-mafia-catalog .item-price-line {
    margin: 0;
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-catalog .item-price-line s {
    color: var(--gc-mafia-color-meta);
    font-weight: normal;
}

.gc-mafia-catalog .stock-line,
.gc-mafia-catalog .option-tile.item-tile > div[style] {
    margin: 0 !important;
    color: var(--gc-mafia-color-meta) !important;
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui) !important;
}

.gc-mafia-catalog .too-expensive {
    margin: 0;
    color: var(--gc-mafia-danger-text);
    font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog .bb-risk { border-color: var(--gc-mafia-danger-border) !important; }
.gc-mafia-catalog .bb-safe { border-color: var(--gc-mafia-complete-border) !important; }

.gc-mafia-catalog .bb-badge {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.gc-mafia-catalog .bb-badge-safe { color: var(--gc-mafia-complete-text); }
.gc-mafia-catalog .bb-badge-risk { color: var(--gc-mafia-danger-text); }

.gc-mafia-catalog .submit-btn {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-color-interactive);
    border-radius: 2px;
    background: var(--gc-mafia-color-interactive);
    color: #101515;
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.gc-mafia-catalog .submit-btn:hover {
    border-color: var(--gc-mafia-color-interactive-hover);
    background: var(--gc-mafia-color-interactive-hover);
    color: #101515;
}

.gc-mafia-catalog .bb-buy-btn {
    width: 100%;
    margin-top: var(--gc-mafia-space-2);
}

.gc-mafia-catalog-item {
    display: grid;
    min-width: 0;
    min-height: 154px;
    align-content: start;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui);
    text-align: left;
}

/* Optional 16:7 identity artwork for a specific product, entitlement or
   package. Copy and controls always remain in their own readable surface. */
.gc-mafia-catalog-item--artwork {
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    padding: 0;
}

.gc-mafia-catalog-item__media {
    position: relative;
    aspect-ratio: 16 / 7;
    min-width: 0;
    overflow: hidden;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-catalog-item__media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 62%, rgba(9, 10, 10, .32));
    content: "";
    pointer-events: none;
}

.gc-mafia-catalog-item__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-mafia-catalog-item__body {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
}

/* Membership identity is stable across status, context and catalog records. */
.gc-mafia-membership {
    --gc-mafia-membership-accent: var(--gc-mafia-color-interactive-muted);
    --gc-mafia-membership-border: var(--gc-mafia-rule-strong);
    border-left: 2px solid var(--gc-mafia-membership-border);
}

.gc-mafia-membership--donateur {
    --gc-mafia-membership-accent: var(--gc-mafia-donateur-text);
    --gc-mafia-membership-border: var(--gc-mafia-donateur-border);
}

.gc-mafia-membership--super {
    --gc-mafia-membership-accent: var(--gc-mafia-super-text);
    --gc-mafia-membership-border: var(--gc-mafia-super-border);
}

.gc-mafia-membership .gc-mafia-membership__title,
.gc-mafia-membership .gc-mafia-catalog-item__title {
    color: var(--gc-mafia-membership-accent);
}

.gc-mafia-membership .gc-mafia-progress__fill {
    background: var(--gc-mafia-membership-accent);
}

/* A factual merchandising signal: more prominent than metadata, always static. */
.gc-mafia-promo-tag {
    display: inline-flex;
    width: max-content;
    min-height: 24px;
    align-items: center;
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-value-border);
    border-left: 3px solid var(--gc-mafia-color-value);
    border-radius: 1px;
    background: linear-gradient(105deg, var(--gc-mafia-value-surface), #302719);
    box-shadow: inset 0 1px 0 rgba(236, 229, 217, .08), 0 3px 10px rgba(0, 0, 0, .22);
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .11em;
    text-transform: uppercase;
}

.gc-mafia-catalog-group {
    display: grid;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
}

.gc-mafia-catalog-group + .gc-mafia-catalog-group {
    margin-top: var(--gc-mafia-space-4);
    padding-top: var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-catalog-group__header {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-catalog-group__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 17px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-catalog-group__copy {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-cosmetic-preview {
    display: grid;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-left: 2px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-cosmetic-preview__stage {
    display: grid;
    min-height: 74px;
    place-items: center;
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-page);
    text-align: center;
}

.gc-mafia-cosmetic-preview__sample {
    display: inline-block;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-heading);
    font: bold 17px/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-cosmetic-preview__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-cosmetic-preview__title {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-item__preview {
    display: grid;
    min-height: 68px;
    place-items: center;
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-page);
    text-align: center;
}

.gc-mafia-credits__cosmetic-previews,
.gc-mafia-credits__buff-groups {
    display: grid;
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-credits__buff-groups {
    grid-template-columns: minmax(0, 1fr);
}

.gc-mafia-credits__cosmetic-previews {
    margin-top: var(--gc-mafia-space-4);
}

.gc-mafia-catalog-grid,
.gc-mafia-catalog-grid.gc-mafia-catalog__items,
.gc-mafia-catalog-grid.gc-mafia-transaction__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-catalog-variant-card {
    min-height: 0;
}

.gc-mafia-catalog-variant-card .gc-mafia-catalog-item__body {
    grid-template-rows: auto minmax(3em, 1fr) auto auto;
    height: 100%;
    box-sizing: border-box;
}

.gc-mafia-catalog-variant-card .gc-mafia-settings__choices {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    margin-top: var(--gc-mafia-space-2);
}

.gc-mafia-catalog-variant {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
}

.gc-mafia-catalog-variant .gc-mafia-settings__choice-body {
    min-height: 42px;
    box-sizing: border-box;
    padding-block: var(--gc-mafia-space-2);
}

.gc-mafia-catalog-variant__meta {
    display: grid;
    gap: 2px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-1) 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-variant__meta strong {
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-variant__meta small {
    font: inherit;
}

.gc-mafia-catalog-variant-card__status {
    min-height: 1.4em;
}

.gc-mafia-catalog-variant-card .gc-mafia-settings__choice-body.disabled {
    border-color: var(--gc-mafia-rule);
    color: var(--gc-mafia-faint);
    cursor: not-allowed;
}

@media (max-width: 760px) {
    .gc-mafia-credits__cosmetic-previews,
    .gc-mafia-credits__buff-groups {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-catalog-grid,
    .gc-mafia-catalog-grid.gc-mafia-catalog__items,
    .gc-mafia-catalog-grid.gc-mafia-transaction__choices {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Purchased cosmetic motion is represented accurately, but only after an
   explicit preview action and for one cycle. */
.gc-mafia-cosmetic-preview .gc-naam-pulse,
.gc-mafia-cosmetic-preview .gc-naam-flikker,
.gc-mafia-cosmetic-preview .gc-naam-regenboog,
.gc-mafia-cosmetic-preview .gc-naam-super-shine,
.gc-mafia-cosmetic-preview .gc-glow-frame,
.gc-mafia-catalog-item__preview .gc-naam-pulse,
.gc-mafia-catalog-item__preview .gc-naam-flikker,
.gc-mafia-catalog-item__preview .gc-naam-regenboog,
.gc-mafia-catalog-item__preview .gc-naam-super-shine,
.gc-mafia-catalog-item__preview .gc-glow-frame {
    animation: none;
}

.gc-mafia-cosmetic-preview .gc-naam-pulse,
.gc-mafia-catalog-item__preview .gc-naam-pulse { text-shadow: 0 0 7px currentColor; }
.gc-mafia-cosmetic-preview .gc-naam-flikker,
.gc-mafia-catalog-item__preview .gc-naam-flikker { text-shadow: 0 0 6px currentColor; }
.gc-mafia-cosmetic-preview .gc-naam-regenboog,
.gc-mafia-catalog-item__preview .gc-naam-regenboog { color: #54e08a; }

.gc-mafia-cosmetic-preview.is-playing .gc-naam-pulse,
.gc-mafia-catalog-item__preview.is-playing .gc-naam-pulse { animation: gcNaamPulse 1.5s ease-in-out 1; }
.gc-mafia-cosmetic-preview.is-playing .gc-naam-flikker,
.gc-mafia-catalog-item__preview.is-playing .gc-naam-flikker { animation: gcNaamFlikker 3s linear 1; }
.gc-mafia-cosmetic-preview.is-playing .gc-naam-regenboog,
.gc-mafia-catalog-item__preview.is-playing .gc-naam-regenboog { animation: gcNaamRegenboog 4s linear 1; }
.gc-mafia-cosmetic-preview.is-playing .gc-naam-super-shine,
.gc-mafia-catalog-item__preview.is-playing .gc-naam-super-shine { animation: gcNaamSuperShine 3.5s linear 1; }
.gc-mafia-cosmetic-preview.is-playing .gc-glow-frame,
.gc-mafia-catalog-item__preview.is-playing .gc-glow-frame { animation: gcGlowFrame 2.4s ease-in-out 1; }

@media (prefers-reduced-motion: reduce) {
    .gc-mafia-cosmetic-preview.is-playing .gc-naam-pulse,
    .gc-mafia-cosmetic-preview.is-playing .gc-naam-flikker,
    .gc-mafia-cosmetic-preview.is-playing .gc-naam-regenboog,
    .gc-mafia-cosmetic-preview.is-playing .gc-naam-super-shine,
    .gc-mafia-cosmetic-preview.is-playing .gc-glow-frame,
    .gc-mafia-catalog-item__preview.is-playing .gc-naam-pulse,
    .gc-mafia-catalog-item__preview.is-playing .gc-naam-flikker,
    .gc-mafia-catalog-item__preview.is-playing .gc-naam-regenboog,
    .gc-mafia-catalog-item__preview.is-playing .gc-naam-super-shine,
    .gc-mafia-catalog-item__preview.is-playing .gc-glow-frame {
        animation: none;
    }
}

button.gc-mafia-catalog-item {
    width: 100%;
    cursor: pointer;
}

button.gc-mafia-catalog-item:hover,
button.gc-mafia-catalog-item:focus-visible {
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-catalog-item[aria-disabled="true"],
.gc-mafia-catalog-item.disabled {
    border-color: var(--gc-mafia-rule);
    color: var(--gc-mafia-faint);
    cursor: not-allowed;
    opacity: 1;
}

.gc-mafia-catalog-item--danger { border-color: var(--gc-mafia-danger-border); }

.gc-mafia-catalog-item__icon {
    width: 22px;
    height: 22px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia .gc-mafia-icon--inline {
    width: 1.1em;
    height: 1.1em;
    margin-right: var(--gc-mafia-space-1);
    vertical-align: -.16em;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-catalog-item__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-item__price,
.gc-mafia-catalog-item__value {
    color: var(--gc-mafia-value-text);
    font-weight: bold;
    font-variant-numeric: tabular-nums;
}

.gc-mafia-catalog-item__fact,
.gc-mafia-catalog-item__stock {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-item__status {
    color: var(--gc-mafia-danger-text);
    font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-item__status--complete { color: var(--gc-mafia-complete-text); }

.gc-mafia-catalog-quantity {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px auto;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-quantity input,
.gc-mafia-catalog select {
    width: 100%;
    min-height: 36px;
    padding: var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog-quantity .gc-mafia-button {
    min-height: 36px;
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
}

.gc-mafia-catalog__owned {
    display: grid;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-catalog__owned-title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-catalog__owned .gc-mafia-amount { color: var(--gc-mafia-value-text); }

.gc-mafia-catalog font {
    color: inherit !important;
    font-size: inherit !important;
}

.gc-mafia-catalog .gc-mafia-catalog__copy b,
.gc-mafia-catalog .gc-mafia-catalog__owned b {
    color: var(--gc-mafia-color-heading);
}

@container gc-mafia-catalog (max-width: 399px) {
    .gc-mafia-catalog__brief,
    .gc-mafia-catalog__section {
        padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    }

    .gc-mafia-catalog table.half > tbody > tr > td.optieMenu,
    .gc-mafia-catalog table.half > tr > td.optieMenu {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-catalog__items {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-catalog-item {
        min-height: 0;
    }

    .gc-mafia-catalog .option-tiles {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .gc-mafia-catalog .option-tile.item-tile {
        width: 100% !important;
        max-width: none !important;
        min-height: 0;
        height: auto !important;
        padding: var(--gc-mafia-space-3) !important;
    }

    .gc-mafia-catalog .submit-btn {
        min-height: 44px;
    }

    .gc-mafia-catalog-quantity {
        grid-template-columns: minmax(0, 1fr) 70px auto;
    }
}

/* Cataloguskeuze: records kiezen, één bestelregel boekt. */
.gc-mafia-transaction {
    min-width: 0;
}

.gc-mafia-transaction__choices {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--gc-mafia-space-3);
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-mafia-transaction__choice {
    position: relative;
    display: block;
    min-width: 0;
    cursor: pointer;
}

.gc-mafia-transaction__choice-control {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
    opacity: 0;
}

/* De native radio bedekt de hele kaart alleen als toegankelijke hit-area. Ook
   disabled blijft hij transparant; de sibling-record draagt de locked state. */
.gc-mafia input.gc-mafia-transaction__choice-control:disabled {
    opacity: 0;
}

.gc-mafia-transaction__choice .gc-mafia-catalog-item {
    position: relative;
    height: 100%;
}

.gc-mafia-transaction__choice-control:checked + .gc-mafia-catalog-item {
    border-color: var(--gc-mafia-interactive-border);
    box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive);
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-transaction__choice-control:focus-visible + .gc-mafia-catalog-item {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.gc-mafia-transaction__choice-marker {
    position: absolute;
    top: var(--gc-mafia-space-2);
    right: var(--gc-mafia-space-2);
    display: none;
    width: 18px;
    height: 18px;
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-catalog-item--artwork .gc-mafia-transaction__choice-marker {
    width: 24px;
    height: 24px;
    padding: 3px;
    border: 1px solid var(--gc-mafia-interactive-border);
    border-radius: 50%;
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-transaction__choice-control:checked + .gc-mafia-catalog-item .gc-mafia-transaction__choice-marker {
    display: block;
}

.gc-mafia-transaction__checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-interactive-border);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-transaction__checkout-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-transaction__checkout-actions [hidden] {
    display: none;
}

.gc-mafia-transaction__checkout-label {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-transaction__checkout-detail {
    display: grid;
    gap: var(--gc-mafia-space-1);
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-transaction__checkout-total {
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

/* Markt en risicotransactie: meerdere goederen blijven één bewuste boeking. */
.gc-mafia-market,
.gc-mafia-pvp {
    min-width: 0;
    container-type: inline-size;
}

.gc-mafia-market__context,
.gc-mafia-market__order,
.gc-mafia-pvp__form {
    min-width: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-market__context {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-market__context-copy {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-market__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(74px, 1fr));
    gap: var(--gc-mafia-space-2);
    min-width: 250px;
    margin: 0;
}

.gc-mafia-market__facts > div {
    min-width: 0;
    padding-left: var(--gc-mafia-space-2);
    border-left: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-market__facts dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-market__facts dd {
    margin: var(--gc-mafia-space-1) 0 0;
    overflow: hidden;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-mafia-market__facts dd.gc-mafia-market__fact--danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-market__facts dd.gc-mafia-market__fact--complete { color: var(--gc-mafia-complete-text); }

.gc-mafia-radio-options,
.gc-mafia-market__mode,
.gc-mafia-pvp__visibility,
.gc-mafia-pvp__options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-mafia-radio-options legend,
.gc-mafia-market__mode legend,
.gc-mafia-pvp__visibility legend,
.gc-mafia-pvp__options legend {
    width: 100%;
    padding: 0;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-pvp__options legend {
    margin-bottom: var(--gc-mafia-space-2);
}

.gc-mafia-radio-options label,
.gc-mafia-market__mode label,
.gc-mafia-pvp__visibility label {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: 0 var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: bold var(--gc-mafia-type-label)/1.25 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-radio-options input[type="radio"],
.gc-mafia-market__mode input,
.gc-mafia-pvp__visibility input,
.gc-mafia-crimemap .cm-aprtab input {
    appearance: none;
    display: grid;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 0;
    place-content: center;
    border: 2px solid var(--gc-mafia-rule-strong);
    border-radius: 50%;
    background: var(--gc-mafia-color-panel);
}
.gc-mafia-radio-options input[type="radio"]::before,
.gc-mafia-market__mode input::before,
.gc-mafia-pvp__visibility input::before,
.gc-mafia-crimemap .cm-aprtab input::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gc-mafia-color-interactive);
    content: '';
    transform: scale(0);
}
.gc-mafia-radio-options input[type="radio"]:checked,
.gc-mafia-market__mode input:checked,
.gc-mafia-pvp__visibility input:checked,
.gc-mafia-crimemap .cm-aprtab input:checked { border-color: var(--gc-mafia-color-interactive); }
.gc-mafia-radio-options input[type="radio"]:checked::before,
.gc-mafia-market__mode input:checked::before,
.gc-mafia-pvp__visibility input:checked::before,
.gc-mafia-crimemap .cm-aprtab input:checked::before { transform: scale(1); }
.gc-mafia-radio-options input[type="radio"]:focus-visible,
.gc-mafia-market__mode input:focus-visible,
.gc-mafia-pvp__visibility input:focus-visible,
.gc-mafia-crimemap .cm-aprtab input:focus-visible {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}
.gc-mafia-radio-options input[type="radio"]:disabled,
.gc-mafia-market__mode input:disabled,
.gc-mafia-pvp__visibility input:disabled { border-style: dashed; }
.gc-mafia-radio-options label:has(input:disabled),
.gc-mafia-market__mode label:has(input:disabled),
.gc-mafia-pvp__visibility label:has(input:disabled) {
    cursor: not-allowed;
    opacity: .55;
}
.gc-mafia-pvp__visibility label.is-locked {
    border-width: 1px;
    border-style: dashed;
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-color-meta);
    cursor: not-allowed;
    opacity: 1;
}

.gc-mafia-pvp__visibility label.is-locked input { border-color: var(--gc-mafia-danger-border); }

.gc-mafia-radio-lock {
    display: inline-flex;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    border: 0;
    background: transparent;
    color: var(--gc-mafia-danger-text);
    font: bold var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-radio-lock .gc-mafia-icon {
    width: 14px;
    height: 14px;
}
.gc-mafia-radio-options label:has(input:checked),
.gc-mafia-market__mode label:has(input:checked),
.gc-mafia-pvp__visibility label:has(input:checked) {
    border-color: var(--gc-mafia-interactive-border);
    box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive);
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-market__notice {
    margin: var(--gc-mafia-space-3) 0 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-market__notice--risk {
    padding-left: var(--gc-mafia-space-3);
    border-left: 2px solid var(--gc-mafia-danger-border);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-market__bulk-actions {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-market__context > .gc-mafia-market__notice--risk {
    grid-column: 1 / -1;
    margin-top: 0;
}

.gc-mafia-market__lines {
    margin-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-market__line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
    padding: var(--gc-mafia-space-3) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-market__line-title,
.gc-mafia-market__line-price,
.gc-mafia-market__line-stock { display: block; }
.gc-mafia-market__line-title { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-market__line-price { margin-top: 2px; color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-market__line-stock { margin-top: 2px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }

.gc-mafia-market__quantity {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-market__quantity input {
    width: 76px;
    min-height: 36px;
    box-sizing: border-box;
    padding: var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-market__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-3);
    padding-top: var(--gc-mafia-space-3);
    border-top: 2px solid var(--gc-mafia-interactive-border);
}

.gc-mafia-market__summary-title { margin: 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-market__summary-detail { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-market__insights { margin-top: var(--gc-mafia-space-3); }

.gc-mafia-checkbox {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-checkbox input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--gc-mafia-color-interactive);
}

.gc-mafia-checkbox small {
    display: block;
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-market__price-scroll {
    margin-top: var(--gc-mafia-space-3);
    overflow-x: auto;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
}

.gc-mafia-market__price-table {
    width: 100%;
    min-width: 620px;
    border-spacing: 0;
    border-collapse: collapse;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-market__price-table th,
.gc-mafia-market__price-table td {
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border-bottom: 1px solid var(--gc-mafia-rule);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.gc-mafia-market__price-table thead th {
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-market__price-table th:first-child { text-align: left; }
.gc-mafia-market__price-table tbody th { color: var(--gc-mafia-color-heading); font-weight: bold; }
.gc-mafia-market__price-table tr:last-child th,
.gc-mafia-market__price-table tr:last-child td { border-bottom: 0; }
.gc-mafia-market__price-table-current { color: var(--gc-mafia-color-interactive-text) !important; box-shadow: inset 0 -2px 0 var(--gc-mafia-color-interactive); }
.gc-mafia-market__price--complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-market__price--value { color: var(--gc-mafia-value-text); }
.gc-mafia-market__price--danger { color: var(--gc-mafia-danger-text); }

/* Effectenbeurs: bedrijf kiezen, portefeuille controleren, dan één boeking. */
.gc-mafia-beurs { container-type: inline-size; }
.gc-mafia-beurs__header-art { --gc-mafia-header-art: url("/images/styled/beurs.webp"); }
.gc-mafia-equity-market { display: grid; gap: var(--gc-mafia-space-3); min-width: 0; }
.gc-mafia-beurs__market-panel,
.gc-mafia-equity-market__portfolio-top,
.gc-mafia-portfolio-slot { width: 100%; box-sizing: border-box; }
.gc-mafia-equity-market__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-3); align-items: start; }
.gc-mafia-equity-market__companies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); }
.gc-mafia-equity-market__layout > .gc-mafia-equity-market__companies { display: block; }
.gc-mafia-equity-market__portfolio-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gc-mafia-equity-market__portfolio-top > .gc-mafia-portfolio__head { grid-column: 1 / -1; }
.gc-mafia-company-record { display: grid; gap: var(--gc-mafia-space-2); min-width: 0; padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface); }
.gc-mafia-company-record__control { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.gc-mafia-company-record.is-selected { border-color: var(--gc-mafia-interactive-border); box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); background: var(--gc-mafia-interactive-surface); }
.gc-mafia-company-record__head { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--gc-mafia-space-2); align-items: start; }
.gc-mafia-company-record__identity { display: grid; align-content: start; justify-items: start; gap: var(--gc-mafia-space-1); min-width: 0; }
.gc-mafia-company-record__head h2 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-title)/1.15 var(--gc-mafia-font-display); overflow-wrap: anywhere; }
.gc-mafia-company-record__ownership-slot { display: flex; min-height: 24px; align-items: center; }
.gc-mafia-company-record__ownership { margin: 0; }
.gc-mafia-company-record__risk { display: grid; justify-items: end; gap: 3px; color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.gc-mafia-company-record__trend { display: grid; justify-items: end; gap: 3px; color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.gc-mafia-risk-stars { display: inline-flex; gap: 2px; color: var(--gc-mafia-value-text); }
.gc-mafia-risk-stars .gc-mafia-icon { width: 13px; height: 13px; }
.gc-mafia-risk-stars .is-empty { color: var(--gc-mafia-color-meta); opacity: .38; }
.gc-mafia-equity-delta { margin: 0; font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gc-mafia-equity-delta--positive { color: var(--gc-mafia-complete-text); }
.gc-mafia-equity-delta--negative { color: var(--gc-mafia-danger-text); }
.gc-mafia-equity-delta--neutral { color: var(--gc-mafia-color-meta); }
.gc-mafia-company-record__facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(82px, 1.15fr) minmax(0, 1fr); margin: 0; border-top: 1px solid var(--gc-mafia-rule); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-company-record__facts > div { min-width: 0; padding: var(--gc-mafia-space-2) 0; }
.gc-mafia-company-record__facts > div + div { padding-left: var(--gc-mafia-space-2); border-left: 1px solid var(--gc-mafia-rule); }
.gc-mafia-company-record__facts dt,
.gc-mafia-portfolio-slot dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .06em; text-transform: uppercase; overflow-wrap: anywhere; }
.gc-mafia-company-record__facts dd,
.gc-mafia-portfolio-slot dd { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); overflow-wrap: anywhere; }
.gc-mafia-company-record__chart { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: var(--gc-mafia-space-2); min-width: 0; color: var(--gc-mafia-color-meta); }
.gc-mafia-company-record__chart > span { font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.gc-mafia-company-record__chart svg { display: block; width: 100%; height: 34px; overflow: visible; }
.gc-mafia-company-record__chart polyline { fill: none; stroke: currentColor; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.gc-mafia-company-record__chart--positive { color: var(--gc-mafia-complete-text); opacity: .76; }
.gc-mafia-company-record__chart--negative { color: var(--gc-mafia-danger-text); opacity: .7; }
.gc-mafia-company-record__chart-grid { fill: none; stroke: var(--gc-mafia-rule-strong); stroke-width: 1; vector-effect: non-scaling-stroke; }
.gc-mafia-company-record__chart-empty { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); text-align: center; }
.gc-mafia-company-record__range { display: grid; gap: var(--gc-mafia-space-1); padding: var(--gc-mafia-space-2) 0; border-top: 1px solid var(--gc-mafia-rule); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-company-record__range-labels { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--gc-mafia-space-2); align-items: end; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-company-record__range-labels span { display: grid; gap: 2px; min-width: 0; }
.gc-mafia-company-record__range-labels span:last-child { justify-items: end; text-align: right; }
.gc-mafia-company-record__range-labels b { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.25 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-company-record__range-labels strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui); text-align: center; }
.gc-mafia-company-record__range svg { display: block; width: 100%; height: 12px; overflow: visible; }
.gc-mafia-company-record__range-track { fill: var(--gc-mafia-rule-strong); }
.gc-mafia-company-record__range-split { stroke: var(--gc-mafia-color-surface); stroke-width: 1; vector-effect: non-scaling-stroke; }
.gc-mafia-company-record__range-marker { stroke: var(--gc-mafia-color-heading); stroke-width: 2; vector-effect: non-scaling-stroke; }
.gc-mafia-company-record__insight { margin: 0; padding: var(--gc-mafia-space-2); border-left: 2px solid var(--gc-mafia-color-interactive-muted); background: var(--gc-mafia-interactive-surface); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-company-record__insight-icon { width: 16px; height: 16px; margin-right: var(--gc-mafia-space-1); color: var(--gc-mafia-color-interactive-muted); vertical-align: -3px; }
.gc-mafia .gc-advies-txt-goed { color: var(--gc-mafia-complete-text); }
.gc-mafia .gc-advies-txt-neutraal { color: var(--gc-mafia-color-heading); }
.gc-mafia .gc-advies-txt-slecht { color: var(--gc-mafia-danger-text); }
.gc-mafia .gc-advies-reden { margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia .gc-advies-geldig,
.gc-mafia .gc-advies-geen { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-company-record__facts dd.gc-mafia-company-record__owned { color: var(--gc-mafia-value-text); }
.gc-mafia-beurs .gc-action { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); border-left: 2px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); }
.gc-mafia-beurs .gc-action .ic { display: inline-flex; color: var(--gc-mafia-color-meta); }
.gc-mafia-beurs .gc-action .ic .gc-mafia-icon { width: 16px; height: 16px; }
.gc-mafia-beurs .gc-action strong { display: block; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.25 var(--gc-mafia-font-ui); }
.gc-mafia-beurs .gc-action .sub { display: block; margin-top: 2px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-beurs .gc-action-instap { border-left-color: var(--gc-mafia-complete-border); background: var(--gc-mafia-complete-surface); }
.gc-mafia-beurs .gc-action-instap .ic,
.gc-mafia-beurs .gc-action-instap strong { color: var(--gc-mafia-complete-text); }
.gc-mafia-beurs .gc-action-letop { border-left-color: var(--gc-mafia-value-border); background: var(--gc-mafia-value-surface); }
.gc-mafia-beurs .gc-action-letop .ic,
.gc-mafia-beurs .gc-action-letop strong { color: var(--gc-mafia-value-text); }
.gc-mafia-beurs .gc-action-uitstap { border-left-color: var(--gc-mafia-danger-border); background: var(--gc-mafia-danger-surface); }
.gc-mafia-beurs .gc-action-uitstap .ic,
.gc-mafia-beurs .gc-action-uitstap strong { color: var(--gc-mafia-danger-text); }
.gc-mafia-company-record__actions { display: flex; flex-wrap: wrap; gap: var(--gc-mafia-space-2); }
.gc-mafia-company-record__actions .gc-mafia-button { min-height: 36px; }
.gc-mafia-portfolio { display: grid; align-content: start; gap: var(--gc-mafia-space-2); }
.gc-mafia-portfolio__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--gc-mafia-space-2); }
.gc-mafia-portfolio__head h2 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display); }
.gc-mafia-portfolio__head span { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-portfolio-slot { display: grid; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface); }
.gc-mafia-portfolio-slot h3 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-subsection)/1.2 var(--gc-mafia-font-display); overflow-wrap: anywhere; }
.gc-mafia-portfolio-slot dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.gc-mafia-portfolio-slot dl > div { min-width: 0; }
.gc-mafia-portfolio-slot dl > div + div { padding-left: var(--gc-mafia-space-2); border-left: 1px solid var(--gc-mafia-rule); }
.gc-mafia-portfolio-slot dd.gc-mafia-equity-delta--positive { color: var(--gc-mafia-complete-text); }
.gc-mafia-portfolio-slot dd.gc-mafia-equity-delta--negative { color: var(--gc-mafia-danger-text); }
.gc-mafia-portfolio-slot--empty { border-style: dashed; background: transparent; color: var(--gc-mafia-color-meta); }
.gc-mafia-portfolio-slot--empty p { margin: 0; font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-tradebar { position: sticky; bottom: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, .72fr); gap: var(--gc-mafia-space-4); align-items: stretch; margin: 0 calc(-1 * var(--gc-mafia-space-3)) calc(-1 * var(--gc-mafia-space-3)); padding: var(--gc-mafia-space-4); border-top: 2px solid var(--gc-mafia-color-interactive-muted); background: var(--gc-mafia-color-surface); box-shadow: 0 -12px 28px rgba(0,0,0,.24); z-index: 2; }
.gc-mafia-tradebar__main,
.gc-mafia-tradebar__side { display: grid; align-content: start; gap: var(--gc-mafia-space-3); min-width: 0; }
.gc-mafia-tradebar__side { padding-left: var(--gc-mafia-space-4); border-left: 1px solid var(--gc-mafia-rule); }
.gc-mafia-tradebar__head { display: grid; gap: 3px; padding-bottom: var(--gc-mafia-space-2); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-tradebar__head strong { color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-subsection)/1.15 var(--gc-mafia-font-display); }
.gc-mafia-tradebar__controls { display: grid; grid-template-columns: auto minmax(180px, 1fr); gap: var(--gc-mafia-space-4); align-items: end; }
.gc-mafia-tradebar__mode { margin: 0; padding: 0; border: 0; }
.gc-mafia-tradebar__mode legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gc-mafia-tradebar__quantity { display: grid; gap: var(--gc-mafia-space-1); min-width: 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); }
.gc-mafia-tradebar__quantity-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--gc-mafia-space-2); }
.gc-mafia-tradebar__quantity input,
.gc-mafia-tradebar__quantity .gc-mafia-button { min-height: 40px; }
.gc-mafia-trade-check { display: grid; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-trade-check h3 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-subsection)/1.2 var(--gc-mafia-font-display); }
.gc-mafia-trade-check dl { display: grid; gap: var(--gc-mafia-space-1); margin: 0; }
.gc-mafia-trade-check dl > div,
.gc-mafia-trade-ledger > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--gc-mafia-space-3); padding-top: var(--gc-mafia-space-1); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-trade-check dt,
.gc-mafia-trade-ledger span { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-trade-check dd { margin: 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); text-align: right; font-variant-numeric: tabular-nums; }
.gc-mafia-trade-ledger { display: grid; gap: var(--gc-mafia-space-1); padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface-raised); font-variant-numeric: tabular-nums; }
.gc-mafia-trade-ledger strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui); white-space: nowrap; }
.gc-mafia-trade-ledger__total { margin-top: var(--gc-mafia-space-1); padding-top: var(--gc-mafia-space-2) !important; border-top-color: var(--gc-mafia-rule-strong) !important; }
.gc-mafia-trade-ledger__total strong { color: var(--gc-mafia-value-text); font-size: var(--gc-mafia-type-body); }
.gc-mafia-trade-ledger p { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-danger-text); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-tradebar__summary { display: grid; gap: 2px; margin: 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-tradebar__summary strong { color: var(--gc-mafia-color-heading); }
.gc-mafia-tradebar__captcha { display: grid; gap: var(--gc-mafia-space-2); min-width: 0; }
.gc-mafia-tradebar__captcha-fields { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gc-mafia-space-2); min-width: 0; }
.gc-mafia-tradebar__captcha-fields img { width: 150px; max-width: 100%; height: 60px; object-fit: contain; }
.gc-mafia-tradebar__captcha-fields input { flex: 1 1 110px; width: auto; min-width: 0; min-height: 44px; }
.gc-mafia-tradebar__checkout { display: grid; gap: var(--gc-mafia-space-2); }
.gc-mafia-tradebar__checkout > .gc-mafia-button { width: 100%; min-height: 42px; white-space: nowrap; }
.gc-mafia-beurs__dismissible { position: relative; padding-right: 52px; }
.gc-mafia-beurs__dismiss { position: absolute; top: var(--gc-mafia-space-2); right: var(--gc-mafia-space-2); width: 36px; min-width: 36px; height: 36px; padding: 0; }
.gc-mafia-beurs__dismiss .gc-mafia-icon { width: 18px; height: 18px; }
.gc-mafia-beurs__alerts { display: grid; gap: var(--gc-mafia-space-3); }
.gc-mafia-beurs__alerts-head { display: flex; align-items: center; gap: var(--gc-mafia-space-2); }
.gc-mafia-beurs__alerts-head .gc-mafia-icon { width: 20px; height: 20px; color: var(--gc-mafia-color-interactive-muted); }
.gc-mafia-beurs__alerts-copy { margin: 0; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-beurs .gc-mafia-settings__gate { width: 100%; box-sizing: border-box; margin: 0; }
.gc-mafia-beurs__chart { height: 360px; }
.gc-mafia-beurs__tab { display: none; }
.gc-mafia-beurs__tab.is-active { display: grid; gap: var(--gc-mafia-space-3); }

@container (max-width: 699px) {
    .gc-mafia-equity-market__portfolio-top { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-equity-market__companies { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-equity-market__layout { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-tradebar { position: static; grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-tradebar__side { padding-top: var(--gc-mafia-space-3); padding-left: 0; border-top: 1px solid var(--gc-mafia-rule); border-left: 0; }
    .gc-mafia-tradebar__controls { grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-3); }
    .gc-mafia-beurs .gc-mafia-settings__gate { grid-template-columns: 22px minmax(0, 1fr); }
    .gc-mafia-beurs .gc-mafia-settings__gate .gc-mafia-button { grid-column: 1 / -1; width: 100%; }
    .gc-mafia-beurs__chart { height: 240px; }
}

@container (max-width: 399px) {
    .gc-mafia-company-record { padding: var(--gc-mafia-space-3); }
    .gc-mafia-company-record__head { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-company-record__risk { justify-items: start; }
    .gc-mafia-company-record__facts,
    .gc-mafia-portfolio-slot dl { grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-2); }
    .gc-mafia-company-record__facts > div + div,
    .gc-mafia-portfolio-slot dl > div + div { padding-left: 0; border-top: 1px solid var(--gc-mafia-rule); border-left: 0; }
    .gc-mafia-company-record__chart { grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-1); }
    .gc-mafia-company-record__range-labels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-mafia-company-record__range-labels strong { grid-column: 1 / -1; grid-row: 1; }
    .gc-mafia-company-record__range-labels span { grid-row: 2; }
    .gc-mafia-tradebar { grid-template-columns: minmax(0, 1fr); padding: var(--gc-mafia-space-3); }
    .gc-mafia-tradebar__mode label { min-height: 44px; flex: 1; justify-content: center; }
    .gc-mafia-tradebar__quantity input,
    .gc-mafia-tradebar__quantity .gc-mafia-button,
    .gc-mafia-tradebar__checkout > .gc-mafia-button { min-height: 44px; }
}

.gc-mafia-pvp__form { display: grid; gap: var(--gc-mafia-stack-gap); }
.gc-mafia-pvp__context {
    display: grid;
    gap: var(--gc-mafia-stack-gap);
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border-left: 2px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface);
}
.gc-mafia-pvp__context p { margin: 0; max-width: 720px; }
.gc-mafia-pvp__stock {
    display: inline-flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    width: fit-content;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}
.gc-mafia-pvp__stock .gc-mafia-icon { width: 16px; height: 16px; color: var(--gc-mafia-value-text); }
.gc-mafia-pvp__stock strong { margin-left: var(--gc-mafia-space-1); color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-pvp__target { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(0, 1.28fr); align-items: start; gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap); }
.gc-mafia-pvp__target-copy { display: grid; gap: var(--gc-mafia-space-1); }
.gc-mafia-pvp__target-copy strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__target-copy small,
.gc-mafia-pvp__target-status { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__target-status { display: block; margin-top: var(--gc-mafia-space-2); }

.gc-mafia-pvp__field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
}

.gc-mafia-pvp__field {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-pvp__field small {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-pvp__options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; row-gap: var(--gc-mafia-layout-row-gap); }
.gc-mafia-pvp__options--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    justify-content: stretch;
}
.gc-mafia-pvp__options--compact .gc-mafia-pvp__option {
    width: auto;
    max-width: 100%;
}
.gc-mafia-pvp__options--compact .gc-mafia-pvp__option > span {
    height: 100%;
    min-height: 0;
    align-content: start;
}
.gc-mafia-pvp__options--compact .gc-img-blend.tile {
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
}
.gc-mafia-pvp__options--compact .gc-img-blend.tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Een inleidende meta-regel is geen keuzetegel: die rij houdt zijn eigen hoogte. */
.gc-mafia-pvp__options:has(> .gc-mafia-meta) { grid-template-rows: auto; }
.gc-mafia-pvp__options > legend,
.gc-mafia-pvp__options > .gc-mafia-meta { grid-column: 1 / -1; }
.gc-mafia-pvp__options > .gc-mafia-meta { max-width: 610px; }
.gc-mafia-pvp__visibility { row-gap: var(--gc-mafia-layout-row-gap); }
.gc-mafia-pvp__visibility legend { margin-bottom: var(--gc-mafia-space-1); }
.gc-mafia-pvp__option { position: relative; display: block; min-width: 0; cursor: pointer; }
.gc-mafia-pvp__option > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.gc-mafia-pvp__option > span {
    display: grid;
    height: 100%;
    box-sizing: border-box;
    min-height: 110px;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}
.gc-mafia-pvp__option strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__option-copy { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__option-cost { align-self: end; color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-pvp__option-status {
    position: absolute;
    right: var(--gc-mafia-space-3);
    bottom: var(--gc-mafia-space-3);
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    color: var(--gc-mafia-color-interactive-muted);
}
.gc-mafia-pvp__option-status--warning { color: var(--gc-mafia-danger-text); }
.gc-mafia-pvp__option-status .gc-mafia-icon { width: 18px; height: 18px; }
.gc-mafia-pvp__option:has(.gc-mafia-pvp__option-status) .gc-mafia-pvp__option-cost {
    padding-right: calc(20px + var(--gc-mafia-space-2));
}
.gc-mafia-pvp__option .gc-mafia-stamp { justify-self: start; }
.gc-mafia-pvp__option-corner {
    position: absolute;
    top: var(--gc-mafia-space-3);
    right: var(--gc-mafia-space-3);
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}
.gc-mafia-pvp__option-corner .gc-mafia-stamp { justify-self: auto; }
.gc-mafia-pvp__option-mark { position: absolute; top: var(--gc-mafia-space-3); right: var(--gc-mafia-space-3); width: 18px; height: 18px; color: var(--gc-mafia-color-interactive); opacity: 0; }
.gc-mafia-pvp__option-corner .gc-mafia-pvp__option-mark { position: static; flex: 0 0 18px; }
.gc-mafia-pvp__option > input:checked + span { border-color: var(--gc-mafia-interactive-border); box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); background: var(--gc-mafia-interactive-surface); }
.gc-mafia-pvp__option > input:checked ~ .gc-mafia-pvp__option-mark,
.gc-mafia-pvp__option > input:checked + span .gc-mafia-pvp__option-corner .gc-mafia-pvp__option-mark { opacity: 1; }
.gc-mafia-pvp__option > input:focus-visible + span { outline: 2px solid var(--gc-mafia-color-interactive); outline-offset: 2px; }

.gc-mafia-pvp__option > input:disabled + span {
    border-style: dashed;
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-color-meta);
}
.gc-mafia-pvp__option:has(> input:disabled) { cursor: not-allowed; }
.gc-mafia-pvp__option > input:disabled ~ .gc-mafia-pvp__option-mark,
.gc-mafia-pvp__option > input:disabled + span .gc-mafia-pvp__option-corner .gc-mafia-pvp__option-mark { opacity: 0; }
.gc-mafia-pvp__option > input:disabled + span .gc-mafia-pvp__option-copy { color: var(--gc-mafia-color-meta); }

.gc-mafia-pvp__option.is-blocked > span {
    border-style: dashed;
    border-color: var(--gc-mafia-danger-border);
}
.gc-mafia-pvp__option.is-blocked .gc-mafia-pvp__option-copy { color: var(--gc-mafia-color-meta); }
.gc-mafia-pvp__option.is-blocked > input:checked + span {
    border-color: var(--gc-mafia-danger-border);
    box-shadow: inset 2px 0 0 var(--gc-mafia-danger-border);
}

.gc-mafia-pvp__checkbox { position: relative; min-height: 44px; align-items: start; }
.gc-mafia-pvp__checkbox + .gc-mafia-pvp__checkbox { margin-top: 0; }
.gc-mafia-pvp__checkbox > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.gc-mafia-pvp__checkbox-mark {
    display: grid;
    grid-column: 1;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
}
.gc-mafia-pvp__checkbox-mark .gc-mafia-icon { width: 14px; height: 14px; color: var(--gc-mafia-color-interactive-text); opacity: 0; }
.gc-mafia-pvp__checkbox-body { grid-column: 2; }
.gc-mafia-pvp__checkbox > input:checked + .gc-mafia-pvp__checkbox-mark { border-color: var(--gc-mafia-interactive-border); background: var(--gc-mafia-interactive-surface); }
.gc-mafia-pvp__checkbox > input:checked + .gc-mafia-pvp__checkbox-mark .gc-mafia-icon { opacity: 1; }
.gc-mafia-pvp__checkbox > input:focus-visible + .gc-mafia-pvp__checkbox-mark { outline: 2px solid var(--gc-mafia-color-interactive); outline-offset: 2px; }

.gc-mafia-pvp__briefing {
    display: grid;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-danger-border);
    border-left-width: 2px;
    background: var(--gc-mafia-danger-surface);
}
.gc-mafia-pvp__briefing[hidden] { display: none !important; }
.gc-mafia-pvp__briefing strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__briefing-copy { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-pvp__prepare[hidden] { display: none !important; }

/* PvP-uitleg en historie: één dossier met rustige secties, geen legacy
   tabelkoppen of per rij een nieuw kaartvlak. */
.gc-mafia-pvp__guide,
.gc-mafia-pvp__logs {
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-pvp__guide-intro { margin: 0; }
.gc-mafia-pvp__guide-section { padding: var(--gc-mafia-space-4) 0 0; margin-top: var(--gc-mafia-space-4); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-pvp__guide-section h2,
.gc-mafia-pvp__logs > h2 {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
}
.gc-mafia-pvp__guide-section h2 .gc-mafia-icon { color: var(--gc-mafia-color-interactive-muted); }
.gc-mafia-pvp__guide-section p { margin: var(--gc-mafia-space-2) 0 0; }
.gc-mafia-pvp__guide-section .gc-uitleg-list { margin: var(--gc-mafia-space-2) 0 0; padding-left: 20px; }
.gc-mafia-pvp__guide-section .gc-uitleg-list li + li { margin-top: var(--gc-mafia-space-2); }
.gc-mafia-pvp__guide-note { margin: var(--gc-mafia-space-2) 0 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }

.gc-mafia-pvp__rank-map { display: flex; flex-wrap: wrap; gap: var(--gc-mafia-space-1) var(--gc-mafia-space-2); margin: var(--gc-mafia-space-3) 0 0; padding: 0; list-style: none; }
.gc-mafia-pvp__rank-map li { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__rank-map li.is-current { color: var(--gc-mafia-color-interactive-text); text-decoration: underline; text-underline-offset: 3px; }

.gc-mafia-pvp__log-list { margin-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule-strong); }
.gc-mafia-pvp__log {
    display: grid;
    grid-template-columns: minmax(130px, .9fr) minmax(86px, .65fr) minmax(0, 1fr) minmax(110px, .85fr);
    gap: var(--gc-mafia-space-3);
    align-items: center;
    min-height: 46px;
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.4 var(--gc-mafia-font-ui);
}
.gc-mafia-pvp__log time,
.gc-mafia-pvp__log > span { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-pvp__log a { color: var(--gc-mafia-color-interactive-text); font-weight: bold; }
.gc-mafia-pvp__log strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }

/* Hitlist: een prijzenbord is een financieel dossier, geen verzameling losse
   alarm- en tabelvlakken. De tabel blijft scanbaar op desktop en wordt op
   componentbreedte mobiel een compacte stapel records. */
.gc-mafia-hitlist__guide,
.gc-mafia-hitlist__form,
.gc-mafia-hitlist__self,
.gc-mafia-hitlist__top,
.gc-mafia-hitlist__section {
    max-width: 860px;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
}
.gc-mafia-hitlist__guide,
.gc-mafia-hitlist__form,
.gc-mafia-hitlist__self,
.gc-mafia-hitlist__top { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
.gc-mafia-hitlist__guide { text-align: left; transition: none; }
.gc-mafia .gc-uitleg-list {
    position: static;
    width: auto;
    margin: var(--gc-mafia-space-3) 0 0;
    padding: 0 0 0 20px;
    border: 0;
    background: none;
    color: var(--gc-mafia-color-text);
    list-style: disc;
    text-align: left;
    transition: none;
}
.gc-mafia .gc-uitleg-list li { position: static; width: auto; padding: 0; line-height: 1.55; cursor: default; text-align: left; transition: none; }
.gc-mafia .gc-uitleg-list li + li { margin-top: var(--gc-mafia-space-2); }
.gc-mafia-hitlist__guide p { margin-top: 0; }
.gc-mafia-hitlist__guide .gc-uitleg-list { margin-bottom: 0; }
.gc-mafia-hitlist__self { display: grid; justify-items: start; gap: var(--gc-mafia-space-2); border-left: 2px solid var(--gc-mafia-danger-border); background: var(--gc-mafia-danger-surface); }
.gc-mafia-hitlist__self .hl-pot,
.gc-mafia-hitlist__top .hl-pot { color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-hitlist__self .hl-sub { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__top { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--gc-mafia-space-2); border-left: 2px solid var(--gc-mafia-color-interactive); }
.gc-mafia-hitlist__top .gc-mafia-kicker { width: 100%; }
.gc-mafia-hitlist__top a { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__form { display: grid; gap: var(--gc-mafia-space-3); }
.gc-mafia-hitlist__form h2,
.gc-mafia-hitlist__section h2 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-hitlist__form > p { margin: 0; color: var(--gc-mafia-color-text); }
.gc-mafia-hitlist__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-3); }
.gc-mafia-hitlist__fields label { display: grid; gap: var(--gc-mafia-space-1); color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__fields ul { margin: 0; }
.gc-mafia-hitlist__anonymous { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: var(--gc-mafia-space-2); min-height: 44px; align-items: start; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__anonymous input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--gc-mafia-color-interactive); }
.gc-mafia-hitlist__anonymous small,
.gc-mafia-hitlist__minimum { display: block; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__anonymous small { margin-top: var(--gc-mafia-space-1); }
.gc-mafia-hitlist__section { overflow: hidden; }
.gc-mafia-hitlist__section > h2 { padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-hitlist__section .tbl-scroll { margin: 0; border: 0; box-shadow: none; }
.gc-mafia-hitlist__table { width: 100%; border-collapse: collapse; }
.gc-mafia-hitlist__table .gc-cards-head td { padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); text-transform: uppercase; letter-spacing: .05em; }
.gc-mafia-hitlist__table .gc-mafia-directory-row > td { padding: var(--gc-mafia-space-3); border-bottom: 1px solid var(--gc-mafia-rule); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-data)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__table .gc-mafia-directory-row:last-child > td { border-bottom: 0; }
.gc-mafia-hitlist__table .hl-pot-cell { color: var(--gc-mafia-value-text); font-weight: bold; font-variant-numeric: tabular-nums; }
.gc-mafia-hitlist__table .hl-bijdragers,
.gc-mafia-hitlist__table .hl-sub { display: block; margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__table .hl-jaag { display: inline-block; margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-color-interactive-text); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__table .hl-bijdraag-form { display: flex; gap: var(--gc-mafia-space-1); align-items: center; }
.gc-mafia-hitlist__table .hl-bijdraag-form input { width: 86px; min-height: 32px; padding: 5px 7px; border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-hitlist__table .submit-btn { min-height: 32px; }

@container (max-width: 599px) {
    .gc-mafia-market__context,
    .gc-mafia-pvp__target { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-market__facts { min-width: 0; }
    .gc-mafia-pvp__options:not(.gc-mafia-pvp__options--compact) { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-pvp__options--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-mafia-pvp__field-grid { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-pvp__option > span { min-height: 92px; }
    .gc-mafia-pvp__log { grid-template-columns: minmax(0, 1fr) auto; gap: var(--gc-mafia-space-1) var(--gc-mafia-space-3); }
    .gc-mafia-pvp__log a { grid-row: 2; }
    .gc-mafia-pvp__log strong { grid-row: 2; justify-self: end; text-align: right; }
    .gc-mafia-hitlist__fields { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-hitlist__table,
    .gc-mafia-hitlist__table tbody,
    .gc-mafia-hitlist__table .gc-mafia-directory-row,
    .gc-mafia-hitlist__table .gc-mafia-directory-row > td { display: block; width: 100%; box-sizing: border-box; }
    .gc-mafia-hitlist__table .gc-cards-head { display: none; }
    .gc-mafia-hitlist__table .gc-mafia-directory-row { padding: var(--gc-mafia-space-3); border-bottom: 1px solid var(--gc-mafia-rule); }
    .gc-mafia-hitlist__table .gc-mafia-directory-row > td { display: grid; grid-template-columns: minmax(94px, .65fr) minmax(0, 1fr); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-1) 0; border: 0; }
    .gc-mafia-hitlist__table .gc-mafia-directory-row > td::before { content: attr(data-label); color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); text-transform: uppercase; letter-spacing: .04em; }
    .gc-mafia-hitlist__table .gc-mafia-directory-row > td:not([data-label]) { display: none; }
    .gc-mafia-hitlist__table .hl-bijdraag-form { justify-content: flex-start; }
}

@container (max-width: 399px) {
    .gc-mafia-market__context,
    .gc-mafia-market__order,
    .gc-mafia-pvp__form { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
    .gc-mafia-market__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-mafia-market__line { grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-2); }
    .gc-mafia-market__quantity { justify-content: space-between; }
    .gc-mafia-market__quantity input { flex: 1 1 auto; min-height: 44px; }
    .gc-mafia-market__quantity .gc-mafia-button,
    .gc-mafia-market__summary .gc-mafia-button,
    .gc-mafia-pvp__prepare,
    .gc-mafia-pvp__briefing .gc-mafia-button { min-height: 44px; }
    .gc-mafia-pvp__guide,
    .gc-mafia-pvp__logs { padding: var(--gc-mafia-space-3); }
    .gc-mafia-pvp__guide-section { padding-top: var(--gc-mafia-space-3); margin-top: var(--gc-mafia-space-3); }
    .gc-mafia-pvp__log { min-height: 52px; }
    .gc-mafia-market__summary { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-market__summary .gc-mafia-button,
    .gc-mafia-pvp__prepare { width: 100%; }
    .gc-mafia-market__mode label,
    .gc-mafia-pvp__visibility label { min-height: 44px; }
    .gc-mafia-pvp__briefing .gc-mafia-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-pvp__briefing .gc-mafia-button { width: 100%; }
}

/* Kaart en bestemming: een stad kiezen, voorwaarden lezen, daarna vertrekken. */
.gc-mafia-travel .gc-mafia-transaction__choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gc-mafia-travel__choice {
    display: grid;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-travel .gc-mafia-transaction__choice-control {
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.gc-mafia-travel__destination {
    grid-template-columns: 86px minmax(0, 1fr);
    min-height: 132px;
    padding: 0;
    overflow: hidden;
}

label.gc-mafia-travel__destination {
    cursor: pointer;
}

.gc-mafia-travel__image {
    display: block;
    align-self: stretch;
    min-width: 0;
    background: var(--gc-mafia-ink-1000);
}

.gc-mafia-travel__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 132px;
    object-fit: cover;
    object-position: center;
}

.gc-mafia-travel__destination-body {
    display: grid;
    align-content: start;
    gap: var(--gc-mafia-space-1);
    min-width: 0;
    padding: var(--gc-mafia-space-3);
}

.gc-mafia-travel__destination-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
}

/* Reserveer rechts ruimte voor de selectiemarkering, zodat een prijs op een
   smal bestemmingsdossier nooit onder het vinkje schuift. */
.gc-mafia-travel .gc-mafia-transaction__choice .gc-mafia-travel__destination-head {
    padding-right: calc(18px + var(--gc-mafia-space-2));
}

.gc-mafia-travel__current,
.gc-mafia-travel__access,
.gc-mafia-travel__buff,
.gc-mafia-travel__event {
    display: block;
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-travel__current,
.gc-mafia-travel__access {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-travel__buff,
.gc-mafia-travel__event--complete {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-travel__event--danger {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-travel__destination--current {
    border-color: var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-travel__auto {
    display: none;
    min-height: 44px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-travel__auto--current,
.gc-mafia-travel__choice--hawaii:has(.gc-mafia-transaction__choice-control:checked) .gc-mafia-travel__auto {
    display: flex;
}

.gc-mafia-travel__auto input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--gc-mafia-color-interactive);
}

.gc-mafia-travel__brief-copy {
    display: grid;
    gap: var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-travel__brief-heading {
    display: grid;
    gap: 2px;
}

.gc-mafia-travel__brief-heading .gc-mafia-kicker {
    margin: 0;
}

.gc-mafia-travel__brief-heading > strong {
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display);
}

.gc-mafia-travel__brief-copy p {
    margin: 0;
}

.gc-mafia-travel__brief-copy strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-travel__buff .gc-buff-info {
    margin: 0;
}

.gc-mafia-travel__notice {
    align-items: flex-start;
}

.gc-mafia-travel__timer {
    color: var(--gc-mafia-color-heading);
    font: bold 18px/1.3 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

@container gc-mafia-catalog (max-width: 399px) {
    .gc-mafia-transaction__choices {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-transaction__checkout {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-transaction__checkout .gc-mafia-button {
        width: 100%;
    }
}

@container (max-width: 520px) {
    .gc-mafia-travel .gc-mafia-transaction__choices {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 499px) {
    .gc-mafia-travel__destination {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .gc-mafia-travel__image {
        display: none;
    }
}

@media (max-width: 399px) {
    .gc-mafia-transaction__checkout {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-transaction__checkout .gc-mafia-button {
        width: 100%;
    }
}

/* Definitive decisions: consequences stay in context with the confirmation. */
.gc-mafia-section {
    min-width: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
}

/* Dezelfde doctrine als gc-mafia-page__inner, één niveau dieper: de sectie
   (en het guide-dossier) bezit het interne verticale ritme. Directe kinderen
   brengen geen eigen buitenmarge mee — browser-defaults zoals de p-marge
   vallen weg — en elk aangrenzend paar staat exact één spacingstap uit elkaar.
   Bewuste uitzonderingen per component winnen verderop in de cascade. */
.gc-mafia-section > *,
.gc-mafia-guide > * {
    margin-top: 0;
    margin-bottom: 0;
}

.gc-mafia-section > * + *,
.gc-mafia-guide > * + * {
    margin-top: var(--gc-mafia-stack-gap);
}

.gc-mafia-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-header-gap);
    margin-bottom: 0;
    padding-bottom: var(--gc-mafia-stack-gap);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-section__header h2,
.gc-mafia-comparison__heading h3,
.gc-mafia-decision__header h2 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-section__header p {
    max-width: 720px;
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
}

.gc-mafia-comparison__group {
    min-width: 0;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border-left: 2px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-comparison__group--danger {
    border-left-color: var(--gc-mafia-danger-border);
}

/* De vergelijkingsgroep bezit het interne verticale ritme (zelfde doctrine
   als de sectie-owl): kinderen brengen geen eigen buitenmarge mee. */
.gc-mafia-comparison__group > * {
    margin-top: 0;
    margin-bottom: 0;
}

.gc-mafia-comparison__group > * + * {
    margin-top: var(--gc-mafia-stack-gap);
}

.gc-mafia-comparison__heading,
.gc-mafia-decision__header {
    display: flex;
    align-items: flex-start;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-comparison__heading > .gc-mafia-icon,
.gc-mafia-decision__header > .gc-mafia-icon {
    width: 22px;
    height: 22px;
    margin-top: 2px;
    color: var(--gc-mafia-color-value);
}

.gc-mafia-comparison__group--danger .gc-mafia-comparison__heading > .gc-mafia-icon,
.gc-mafia-decision[data-state="available"] .gc-mafia-decision__header > .gc-mafia-icon {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-fact-list {
    display: grid;
    position: static;
    width: 100%;
    box-sizing: border-box;
    gap: var(--gc-mafia-space-3);
    margin: var(--gc-mafia-space-4) 0 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-fact-list > li {
    position: relative;
    min-width: 0;
    padding-left: var(--gc-mafia-space-4);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.5 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-fact-list > li::before {
    position: absolute;
    top: .65em;
    left: 0;
    width: 5px;
    height: 1px;
    background: var(--gc-mafia-value-border);
    content: "";
}

.gc-mafia-comparison__group--danger .gc-mafia-fact-list > li::before,
.gc-mafia-decision .gc-mafia-fact-list > li::before {
    background: var(--gc-mafia-danger-border);
}

.gc-mafia-fact-list strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-fact-list small {
    display: block;
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-fact-list--columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Transaction forms keep their primary confirmation after the complete ledger. */
.gc-mafia-bank-transfer__fields {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    align-items: start;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-bank-transfer__actions {
    justify-content: flex-end;
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-bank-transfer__actions .gc-mafia-button--primary {
    min-width: 260px;
    max-width: 100%;
}

.gc-mafia-bank .gc-mafia-summary-ledger + .gc-mafia-form {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-bank .gc-mafia-section > .gc-mafia-disclosure {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-comparison__note {
    margin: var(--gc-mafia-space-4) 0 0;
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-entitlements {
    display: grid;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-entitlement {
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-entitlement[data-state="owned"] {
    border-left: 2px solid var(--gc-mafia-complete-border);
}

.gc-mafia-entitlement__identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-entitlement__identity > .gc-mafia-icon {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-entitlement[data-state="owned"] .gc-mafia-entitlement__identity > .gc-mafia-icon {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-entitlement__identity strong,
.gc-mafia-entitlement__identity small {
    display: block;
}

.gc-mafia-entitlement__identity strong {
    color: var(--gc-mafia-color-heading);
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-entitlement__identity small {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-entitlement__description {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-decision {
    min-width: 0;
    padding: var(--gc-mafia-space-4);
    border-top: 2px solid var(--gc-mafia-rule-strong);
}

.gc-mafia-decision[data-state="available"] {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-decision__summary {
    margin-top: var(--gc-mafia-space-4);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-decision__summary > p {
    margin: 0;
}

.gc-mafia-decision__confirmation {
    display: grid;
    gap: var(--gc-mafia-space-4);
    margin-top: var(--gc-mafia-space-4);
    padding-top: var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-field {
    display: grid;
    max-width: 560px;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-field__label {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-field__control {
    width: 100%;
    min-height: 44px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    outline: 0;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-field__control:focus {
    border-color: var(--gc-mafia-color-interactive);
    box-shadow: 0 0 0 2px rgba(169, 210, 213, .16);
}

.gc-mafia-decision.is-ready .gc-mafia-field__control {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-field__help {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
}

/* Account and preferences: sections keep related controls together without
   turning each field into a separate card. */
.gc-mafia-settings {
    container-name: gc-mafia-settings;
    container-type: inline-size;
}

.gc-mafia-settings__stack {
    display: grid;
    gap: var(--gc-mafia-stack-gap);
}

.gc-mafia-settings__section {
    min-width: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-settings__section--danger {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-settings__section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-header-gap);
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-settings__section-header h2 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-settings__section-header p {
    max-width: 680px;
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__form {
    margin: 0;
}

.gc-mafia-settings__row {
    display: grid;
    grid-template-columns: minmax(190px, .6fr) minmax(0, 1.4fr);
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
}

.gc-mafia-settings__row + .gc-mafia-settings__row {
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-settings__label {
    min-width: 0;
}

.gc-mafia-settings__label strong,
.gc-mafia-settings__label small {
    display: block;
}

.gc-mafia-settings__label strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__label small {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__control {
    width: 100%;
    min-height: 44px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    outline: 0;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__control:focus {
    border-color: var(--gc-mafia-color-interactive);
    box-shadow: 0 0 0 2px rgba(169, 210, 213, .16);
}

.gc-mafia-settings__control[aria-invalid="true"] {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-settings__error {
    display: block;
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-danger-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-2);
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-mafia-settings__choice {
    position: relative;
    min-width: 0;
}

.gc-mafia-settings__choice-control {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.gc-mafia-settings__choice-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    min-height: 58px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    cursor: pointer;
}

.gc-mafia-settings__choice-body strong,
.gc-mafia-settings__choice-body small {
    display: block;
}

.gc-mafia-settings__choice-body strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__choice-body small {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__choice-mark {
    color: var(--gc-mafia-color-interactive);
    opacity: 0;
}

.gc-mafia-settings__choice-control:checked + .gc-mafia-settings__choice-body {
    border-color: var(--gc-mafia-interactive-border);
    box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive);
}

.gc-mafia-settings__choice-control:checked + .gc-mafia-settings__choice-body .gc-mafia-settings__choice-mark {
    opacity: 1;
}

.gc-mafia-settings__choice-control:focus-visible + .gc-mafia-settings__choice-body {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.gc-mafia-settings__save {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-settings__save-copy {
    min-width: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__save[data-state="dirty"] .gc-mafia-settings__save-copy {
    color: var(--gc-mafia-color-text);
}

.gc-mafia-settings__save .gc-mafia-button {
    min-height: 44px;
}

.gc-mafia-settings__gate {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    margin: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-value-surface);
}

.gc-mafia-settings__gate > .gc-mafia-icon {
    width: 20px;
    height: 20px;
    color: var(--gc-mafia-value-text);
}

.gc-mafia-settings__gate strong,
.gc-mafia-settings__gate small {
    display: block;
}

.gc-mafia-settings__gate strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__gate small {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-settings__gate .gc-mafia-button {
    min-height: 44px;
}

.gc-mafia-settings__gate[data-state="retained"] {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
}

.gc-mafia-settings__gate[data-state="retained"] > .gc-mafia-icon {
    color: var(--gc-mafia-complete-text);
}

@container gc-mafia-settings (max-width: 760px) {
    .gc-mafia-settings__row {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gc-mafia-space-2);
    }
}

@container gc-mafia-settings (max-width: 399px) {
    .gc-mafia-settings__section-header {
        padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    }

    .gc-mafia-settings__save,
    .gc-mafia-settings__gate {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-settings__choices {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-settings__save .gc-mafia-button,
    .gc-mafia-settings__gate .gc-mafia-button {
        width: 100%;
    }

    .gc-mafia-settings__gate {
        grid-template-columns: 20px minmax(0, 1fr);
        margin: var(--gc-mafia-space-3);
    }

    .gc-mafia-settings__gate .gc-mafia-button {
        grid-column: 1 / -1;
    }
}

/* Guidance: one active tutorial or build-up objective outside its hub. */
.gc-mafia-guidance-wrap {
    container: gc-mafia-guidance / inline-size;
}

.gc-mafia-guidance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    align-items: center;
    margin: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-left: 2px solid var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font-family: var(--gc-mafia-font-ui);
}

.gc-mafia-guidance .gc-objbar-main { min-width: 0; }

.gc-mafia-guidance .gc-objbar-tag {
    margin-bottom: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-guidance .gc-objbar-title {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-guidance .gc-objbar-why {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-guidance .gc-objbar-actions,
.gc-mafia-guidance .gc-objbar-grindfoot {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    align-items: center;
    justify-content: flex-end;
}

.gc-mafia-guidance .gc-objbar-btn,
.gc-mafia-guidance .gc-objlaunch-btn {
    min-height: 36px;
    padding: 8px var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-color-interactive);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-interactive);
    color: var(--gc-mafia-ink-1000);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-guidance .gc-objbar-link {
    min-height: 36px;
    padding: 8px var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: transparent;
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-guidance .gc-objbar-btn:hover,
.gc-mafia-guidance .gc-objlaunch-btn:hover:not(:disabled),
.gc-mafia-guidance .gc-objbar-link:hover,
.gc-mafia-guidance .gc-objbar-btn:focus-visible,
.gc-mafia-guidance .gc-objlaunch-btn:focus-visible,
.gc-mafia-guidance .gc-objbar-link:focus-visible {
    border-color: var(--gc-mafia-interactive-border);
    outline: 2px solid rgba(169, 210, 213, .2);
    outline-offset: 1px;
}

.gc-mafia-guidance .gc-objbar-here {
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-guidance .gc-objbar-bar {
    grid-column: 1 / -1;
    height: 8px;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-guidance .gc-objbar-fill {
    display: block;
    width: var(--gc-mafia-progress-value, 0%);
    height: 100%;
    background: var(--gc-mafia-color-interactive);
}

.gc-mafia-guidance .gc-objbar-grindhead {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
}
.gc-mafia-guidance .gc-objbar-rang { flex: 0 0 auto; text-align: right; }
.gc-mafia-guidance .gc-objbar-rang-pct { color: var(--gc-mafia-color-interactive-text); font: bold var(--gc-mafia-type-meta)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-guidance .gc-objbar--grind .gc-objbar-bar { width: 120px; margin-top: var(--gc-mafia-space-1); }

.gc-mafia-guidance--danger { border-left-color: var(--gc-mafia-danger-border); }
.gc-mafia-guidance--danger .gc-objbar-title { color: var(--gc-mafia-danger-text); }

.gc-mafia-guidance .gc-objbar-energy,
.gc-mafia-guidance .gc-objbar-acts {
    grid-column: 1 / -1;
    display: grid;
    gap: var(--gc-mafia-space-2);
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-guidance .gc-objbar-energy {
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    color: var(--gc-mafia-value-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-guidance .gc-objbar-energy .gc-mafia-icon { color: var(--gc-mafia-value-text); }

.gc-mafia-guidance .gc-objlaunch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}
.gc-mafia-guidance .gc-objlaunch-row:first-child { padding-top: 0; border-top: 0; }
.gc-mafia-guidance .gc-objlaunch-name { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-guidance .gc-objlaunch-btn:disabled { border-color: var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-panel); color: var(--gc-mafia-color-meta); cursor: default; }

.gc-mafia-guidance-toast {
    position: fixed;
    z-index: 10000;
    top: var(--gc-mafia-space-3);
    left: 50%;
    width: min(calc(100vw - 24px), 480px);
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-complete-border);
    border-left-width: 2px;
    background: var(--gc-mafia-complete-surface);
    box-shadow: var(--gc-mafia-shadow);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui);
    text-align: center;
    overflow-wrap: anywhere;
    transform: translateX(-50%) translateY(-6px);
    opacity: 0;
    transition: opacity var(--gc-mafia-motion-base) var(--gc-mafia-ease), transform var(--gc-mafia-motion-base) var(--gc-mafia-ease);
}
.gc-mafia-guidance-toast.is-visible { transform: translateX(-50%) translateY(0); opacity: 1; }

@container gc-mafia-guidance (max-width: 499px) {
    .gc-mafia-guidance { grid-template-columns: minmax(0, 1fr); padding: var(--gc-mafia-space-3); }
    .gc-mafia-guidance .gc-objbar-actions,
    .gc-mafia-guidance .gc-objbar-grindfoot { justify-content: stretch; }
    .gc-mafia-guidance .gc-objbar-btn,
    .gc-mafia-guidance .gc-objbar-link { flex: 1 1 100%; min-height: 44px; text-align: center; }
    .gc-mafia-guidance .gc-objbar-energy { grid-template-columns: 18px minmax(0, 1fr); }
    .gc-mafia-guidance .gc-objbar-energy .gc-objbar-link { grid-column: 1 / -1; }
    .gc-mafia-guidance .gc-objlaunch-row { align-items: stretch; flex-direction: column; }
    .gc-mafia-guidance .gc-objlaunch-btn { width: 100%; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .gc-mafia-guidance-toast { transition: none; }
}

/* Onboarding: one current objective and a readable roadmap. This component
   deliberately links to existing gameplay; it does not recreate action logic. */
.gc-mafia-onboarding {
    container-name: gc-mafia-onboarding;
    container-type: inline-size;
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-onboarding__entry,
.gc-mafia-onboarding__current,
.gc-mafia-onboarding__roadmap,
.gc-mafia-onboarding__complete {
    min-width: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-onboarding__entry,
.gc-mafia-onboarding__current,
.gc-mafia-onboarding__complete {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-onboarding__entry > .gc-mafia-icon,
.gc-mafia-onboarding__current > .gc-mafia-icon,
.gc-mafia-onboarding__complete > .gc-mafia-icon {
    width: 28px;
    height: 28px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-onboarding__complete > .gc-mafia-icon {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-onboarding__eyebrow {
    display: block;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .09em;
    text-transform: uppercase;
}

.gc-mafia-onboarding__entry h2,
.gc-mafia-onboarding__current h2,
.gc-mafia-onboarding__complete h2,
.gc-mafia-onboarding__roadmap-title {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-onboarding__entry p,
.gc-mafia-onboarding__current p,
.gc-mafia-onboarding__complete p {
    margin: var(--gc-mafia-space-2) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-onboarding__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-onboarding__current {
    border-left: 2px solid var(--gc-mafia-interactive-border);
}

.gc-mafia-onboarding__current-body {
    min-width: 0;
}

.gc-mafia-onboarding__current-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-3);
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-onboarding__current-meta strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-onboarding__current-meta .gc-mafia-icon {
    width: 16px;
    height: 16px;
    vertical-align: -.2em;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-onboarding__current .gc-mafia-button {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-onboarding__roadmap-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-onboarding__roadmap-title {
    margin: 0;
}

.gc-mafia-onboarding__roadmap-count {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-onboarding__phases,
.gc-mafia-onboarding__steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-onboarding__phase + .gc-mafia-onboarding__phase {
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-onboarding__phase-header {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 48px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
}

.gc-mafia-onboarding__phase-index,
.gc-mafia-onboarding__step-icon {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-onboarding__phase-header strong,
.gc-mafia-onboarding__step-body strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-onboarding__phase-state {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-onboarding__steps {
    padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-3) 52px;
}

.gc-mafia-onboarding__step {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: var(--gc-mafia-space-2);
    min-height: 36px;
    align-items: center;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-onboarding__step + .gc-mafia-onboarding__step {
    margin-top: var(--gc-mafia-space-1);
}

.gc-mafia-onboarding__step-icon .gc-mafia-icon {
    width: 16px;
    height: 16px;
}

.gc-mafia-onboarding__phase[data-state="complete"] .gc-mafia-onboarding__phase-index,
.gc-mafia-onboarding__phase[data-state="complete"] .gc-mafia-onboarding__step-icon,
.gc-mafia-onboarding__phase[data-state="complete"] .gc-mafia-onboarding__phase-state {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-onboarding__phase[data-state="complete"] .gc-mafia-onboarding__phase-state {
    font-weight: bold;
}

.gc-mafia-onboarding__phase[data-state="active"] .gc-mafia-onboarding__phase-header {
    box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive);
}

.gc-mafia-onboarding__phase[data-state="active"] .gc-mafia-onboarding__phase-index,
.gc-mafia-onboarding__phase[data-state="active"] .gc-mafia-onboarding__phase-state,
.gc-mafia-onboarding__step[data-state="active"] .gc-mafia-onboarding__step-icon {
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-onboarding__step[data-state="active"] .gc-mafia-onboarding__step-body strong {
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-onboarding__phase[data-state="locked"] .gc-mafia-onboarding__phase-header,
.gc-mafia-onboarding__phase[data-state="locked"] .gc-mafia-onboarding__steps {
    color: var(--gc-mafia-color-meta);
}

@container gc-mafia-onboarding (max-width: 399px) {
    .gc-mafia-onboarding__entry,
    .gc-mafia-onboarding__current,
    .gc-mafia-onboarding__complete {
        position: relative;
        display: block;
        padding: 42px var(--gc-mafia-space-3) var(--gc-mafia-space-3);
    }

    .gc-mafia-onboarding__entry > .gc-mafia-icon,
    .gc-mafia-onboarding__current > .gc-mafia-icon {
        position: absolute;
        top: var(--gc-mafia-space-3);
        left: var(--gc-mafia-space-3);
        width: 20px;
        height: 20px;
    }

    .gc-mafia-onboarding__complete > .gc-mafia-icon {
        position: absolute;
        top: var(--gc-mafia-space-3);
        left: var(--gc-mafia-space-3);
        width: 20px;
        height: 20px;
    }

    .gc-mafia-onboarding__actions,
    .gc-mafia-onboarding__current .gc-mafia-button {
        width: 100%;
    }

    .gc-mafia-onboarding__actions .gc-mafia-button,
    .gc-mafia-onboarding__current .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }

    .gc-mafia-onboarding__roadmap-header,
    .gc-mafia-onboarding__phase-header {
        padding-right: var(--gc-mafia-space-3);
        padding-left: var(--gc-mafia-space-3);
    }

    .gc-mafia-onboarding__steps {
        padding-right: var(--gc-mafia-space-3);
        padding-left: 44px;
    }
}

/* Profile migration adapter. The page keeps its legacy form names and deep
   links while its existing sections consume the shared settings material. */
.gc-mafia-profile {
    width: 100%;
}

.gc-mafia-profile__header {
    align-items: center;
}

.gc-mafia-profile__header-icon {
    width: 28px;
    height: 28px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-profile__inline-icon {
    width: 15px;
    height: 15px;
    margin-right: var(--gc-mafia-space-2);
    vertical-align: -.15em;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-profile__content {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-profile__section-notice {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) 0;
}

.gc-mafia-profile__section-body {
    min-width: 0;
}

.gc-mafia-profile__section-body > .gc-mafia-settings__form {
    margin: 0;
}

.gc-mafia-profile__content > .gc-mafia-notice,
.gc-mafia-profile .mainTxt > .gc-mafia-notice,
.gc-mafia-profile .don-savebar-msg > .gc-mafia-notice {
    margin: 0;
}

.gc-mafia-profile__editor.gc-mafia-settings__control {
    display: block;
    width: 100%;
    min-height: 180px;
    resize: vertical;
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
}

.gc-mafia-profile__counter {
    margin: var(--gc-mafia-space-1) 0 var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.gc-mafia-profile .gc-ubb-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-1);
    margin: 0;
    padding: var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule);
    border-bottom: 0;
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-profile .gc-ubb-bar + .gc-ubb-bar {
    border-top: 0;
}

.gc-mafia-profile .gc-ubb-btn,
.gc-mafia-profile .gc-ubb-smiley {
    display: inline-grid;
    min-width: 32px;
    min-height: 32px;
    place-items: center;
    box-sizing: border-box;
    margin: 0;
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-profile .gc-ubb-btn:hover,
.gc-mafia-profile .gc-ubb-smiley:hover {
    border-color: var(--gc-mafia-interactive-border);
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-profile .gc-ubb-btn:focus-visible,
.gc-mafia-profile .gc-ubb-smiley:focus-visible {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.gc-mafia-profile .gc-ubb-sel {
    width: auto;
    min-height: 32px;
    border-color: var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-profile__remove {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-profile__remove .gc-mafia-icon {
    width: 16px;
    height: 16px;
}

.gc-mafia-profile__meta {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-profile .gc-mafia-status-value {
    color: var(--gc-mafia-value-text);
}

@container gc-mafia-settings (max-width: 399px) {
    .gc-mafia-profile .gc-ubb-btn,
    .gc-mafia-profile .gc-ubb-smiley,
    .gc-mafia-profile .gc-ubb-sel {
        min-height: 44px;
    }
}

.gc-mafia-profile form > table:not([class]) {
    display: block;
    width: 100% !important;
    margin: 0 !important;
    border: 0;
    border-collapse: collapse;
    background: transparent;
    box-shadow: none;
}

.gc-mafia-profile form > table:not([class]) > tbody {
    display: grid;
}

.gc-mafia-profile form > table:not([class]) > tbody > tr {
    display: grid;
    grid-template-columns: minmax(190px, .6fr) minmax(0, 1.4fr);
    align-items: center;
    gap: var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
}

.gc-mafia-profile form > table:not([class]) > tbody > tr + tr {
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-profile form > table:not([class]) > tbody > tr > td {
    display: block;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--gc-mafia-color-text);
}

.gc-mafia-profile form > table:not([class]) > tbody > tr > td:first-child {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-profile form > table:not([class]) > tbody > tr > td[colspan] {
    grid-column: 1 / -1;
}

@container gc-mafia-settings (max-width: 760px) {
    .gc-mafia-profile form > table:not([class]) > tbody > tr {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gc-mafia-space-2);
    }
}

.gc-mafia-profile .panelp,
.gc-mafia-profile table.center,
.gc-mafia-profile table.gc-layout {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    margin: 0 !important;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-collapse: collapse;
    table-layout: fixed;
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-profile table.center + table.center {
    margin-top: calc(var(--gc-mafia-space-2) * -1) !important;
    border-top-color: transparent;
    box-shadow: none;
}

.gc-mafia-profile td.subTitle,
.gc-mafia-profile .panelp > tbody > tr:first-child > td.subTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 0;
    border-top: 2px solid var(--gc-mafia-shell-trim);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-profile td.optieMenu,
.gc-mafia-profile td.optieMenuTinted,
.gc-mafia-profile td.mainTxt,
.gc-mafia-profile td.optieMenuTitle {
    height: auto !important;
    overflow: visible;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-profile td.optieMenuTinted,
.gc-mafia-profile td.optieMenuTitle {
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-profile td.optieMenuTitle {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.35 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-profile td.mainTxt {
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-profile table.center table,
.gc-mafia-profile .panelp table {
    width: 100% !important;
    border-collapse: collapse;
}

/* Legacy preference forms still use compact nested tables. Keep their rows in
   a readable rhythm instead of letting consecutive controls touch. */
.gc-mafia-profile form > table {
    border-collapse: separate !important;
    border-spacing: 0 var(--gc-mafia-space-2);
}

.gc-mafia-profile__inline-control {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    max-width: 100%;
}

.gc-mafia-profile__layout-select {
    min-width: 240px;
}

/* Moderation: an oath-gated staff dossier with role-scoped controls. */
.gc-mafia-moderation {
    container-name: gc-mafia-moderation;
    container-type: inline-size;
}

.gc-mafia-moderation__authority {
    min-width: min(360px, 42%);
}

.gc-mafia-moderation__authority .gc-mafia-metric dd {
    font-size: var(--gc-mafia-type-label);
    line-height: 1.4;
}

.gc-mafia-moderation__section {
    scroll-margin-top: var(--gc-mafia-space-4);
}

.gc-mafia-moderation__section--restricted {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-moderation-oath {
    border-top: 2px solid var(--gc-mafia-interactive-border);
}

.gc-mafia-moderation-oath__rules {
    margin: var(--gc-mafia-space-3) 0 0;
    padding-left: 22px;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
}

.gc-mafia-moderation-oath__rules li + li {
    margin-top: var(--gc-mafia-space-2);
}

.gc-mafia-moderation-oath__rules li::marker {
    color: var(--gc-mafia-color-value);
    font-weight: bold;
}

.gc-mafia-moderation-oath__rules strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-moderation__staff-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3);
    border-left: 2px solid var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-moderation__staff-link strong,
.gc-mafia-moderation__staff-link small {
    display: block;
}

.gc-mafia-moderation__staff-link strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-moderation__staff-link small {
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-moderation__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-moderation__form .gc-mafia-field {
    max-width: none;
    min-width: 0;
}

.gc-mafia-moderation__form textarea.gc-mafia-field__control {
    min-height: 92px;
    resize: vertical;
}

.gc-mafia-moderation__form-wide {
    grid-column: 1 / -1;
}

.gc-mafia-moderation__duration {
    display: grid;
    grid-template-columns: minmax(90px, .65fr) minmax(130px, 1fr);
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-moderation__term-field > .gc-mafia-field__control,
.gc-mafia-moderation__duration > .gc-mafia-field__control {
    height: 44px;
    margin: 0;
}

.gc-mafia-moderation__scopes {
    display: block;
    margin: 0;
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-moderation__scopes legend {
    padding: 0 var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-moderation__scope-choices {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--gc-mafia-space-2);
}

.gc-mafia-moderation__scope-choices--admin {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gc-mafia-moderation__confirm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-4);
    padding-top: var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-moderation__confirm p {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-moderation__confirm .gc-mafia-button {
    flex: 0 0 auto;
}

.gc-mafia-moderation__identity {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-moderation__identity > .gc-mafia-settings__choice {
    min-width: 0;
}

.gc-mafia-moderation__subheading {
    margin: var(--gc-mafia-space-5) 0 0;
    padding-top: var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-moderation .gc-mafia-data-table {
    min-width: 780px;
}

.gc-mafia-moderation #audit .gc-mafia-data-table {
    min-width: 1040px;
}

.gc-mafia-moderation .gc-mafia-data-table td {
    padding-top: var(--gc-mafia-space-2);
    padding-bottom: var(--gc-mafia-space-2);
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.gc-mafia-moderation .gc-mafia-data-table__action form {
    min-height: 0;
}

.gc-mafia-moderation .gc-mafia-data-table td small {
    display: block;
    margin-top: var(--gc-mafia-space-1);
}

.gc-mafia-moderation__audit-count {
    color: var(--gc-mafia-color-value);
    font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui);
    white-space: nowrap;
}

.gc-mafia-moderation #moderatorruimte .gc-mafia-section__header {
    align-items: center;
}

@container gc-mafia-moderation (min-width: 400px) {
    .gc-mafia-moderation__term-field {
        grid-template-rows: auto 44px auto;
        align-content: start;
    }
}

@container gc-mafia-moderation (max-width: 760px) {
    .gc-mafia-moderation__authority {
        width: 100%;
        min-width: 0;
    }

    .gc-mafia-moderation__form,
    .gc-mafia-moderation__identity {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-moderation__form-wide {
        grid-column: auto;
    }

    .gc-mafia-moderation__confirm,
    .gc-mafia-moderation__staff-link {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-mafia-moderation__scope-choices,
    .gc-mafia-moderation__scope-choices--admin {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-moderation #moderatorruimte .gc-mafia-section__header {
        align-items: stretch;
    }

    .gc-mafia-moderation .gc-mafia-data-table,
    .gc-mafia-moderation #audit .gc-mafia-data-table {
        min-width: 0;
    }
}

@container gc-mafia-moderation (max-width: 399px) {
    .gc-mafia-moderation__duration {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-moderation__confirm .gc-mafia-button,
    .gc-mafia-moderation__identity .gc-mafia-button,
    .gc-mafia-moderation__staff-link .gc-mafia-button,
    .gc-mafia-moderation #moderatorruimte .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }

    .gc-mafia-moderation__scopes {
        padding: var(--gc-mafia-space-2);
    }

    .gc-mafia-moderation__scope-choices,
    .gc-mafia-moderation__scope-choices--admin {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-moderation .gc-mafia-data-table__action .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }
}

.gc-mafia-profile__layout-note {
    display: block;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-profile__settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-profile__settings-column {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-3);
}

@container gc-mafia-settings (max-width: 760px) {
    .gc-mafia-profile__settings-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.gc-mafia-profile__action-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-profile__recommended {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-2);
}

.gc-mafia-profile__recommended .gc-mafia-button {
    min-height: 36px;
    text-decoration: none;
}

.gc-mafia-profile input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="reset"]):not([type="button"]),
.gc-mafia-profile select,
.gc-mafia-profile textarea {
    box-sizing: border-box;
    min-height: 36px;
    max-width: 100%;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-profile textarea {
    min-height: 96px;
    resize: vertical;
}

.gc-mafia-profile input:focus,
.gc-mafia-profile select:focus,
.gc-mafia-profile textarea:focus {
    border-color: var(--gc-mafia-color-interactive);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(169, 210, 213, .16);
}

.radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
}

.radio-group input[type="radio"] {
    position: absolute;
    display: block;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.radio-group input + label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: bold var(--gc-mafia-type-label)/1.25 var(--gc-mafia-font-ui);
    cursor: pointer;
    user-select: none;
}

.radio-group input + label::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    box-sizing: border-box;
    border: 2px solid var(--gc-mafia-rule-strong);
    border-radius: 50%;
    background: transparent;
    flex: 0 0 12px;
}

.radio-group input:checked + label {
    border-color: var(--gc-mafia-interactive-border);
    box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive);
    color: var(--gc-mafia-color-heading);
}

.radio-group input:checked + label::before {
    border-color: var(--gc-mafia-color-interactive);
    background: var(--gc-mafia-color-interactive);
    box-shadow: inset 0 0 0 2px var(--gc-mafia-color-surface-raised);
}

.radio-group input:focus-visible + label {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.radio-group input:disabled + label {
    cursor: not-allowed;
    opacity: .55;
}

.gc-mafia-profile .submit-btn,
.gc-mafia-profile input[type="submit"],
.gc-mafia-profile input[type="reset"],
.gc-mafia-profile button[type="submit"] {
    min-height: 38px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-color-interactive);
    border-radius: 2px;
    background: var(--gc-mafia-color-interactive);
    color: #101515;
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}

.gc-mafia-profile input[type="reset"] {
    border-color: var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-profile .gc-layout > tbody > tr > td {
    vertical-align: top;
}

@container gc-mafia-settings (max-width: 760px) {
    .gc-mafia-profile__header-icon {
        display: none;
    }

    .gc-mafia-profile .gc-layout,
    .gc-mafia-profile .gc-layout > tbody,
    .gc-mafia-profile .gc-layout > tbody > tr,
    .gc-mafia-profile .gc-layout > tbody > tr > td {
        display: block;
        width: 100% !important;
    }

    .gc-mafia-profile .gc-layout > tbody > tr > td + td {
        margin-top: var(--gc-mafia-space-3);
    }
}

@container gc-mafia-settings (max-width: 399px) {
    .gc-mafia-profile input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="reset"]):not([type="button"]),
    .gc-mafia-profile select {
        min-height: 44px;
    }

    .gc-mafia-profile form > table,
    .gc-mafia-profile form > table > tbody,
    .gc-mafia-profile form > table > tbody > tr,
    .gc-mafia-profile form > table > tbody > tr > td {
        display: block;
        width: 100% !important;
        max-width: 100%;
    }

    .gc-mafia-profile form > table {
        border-spacing: 0 var(--gc-mafia-space-2);
    }

    .gc-mafia-profile form input[type="password"],
    .gc-mafia-profile form input[type="text"],
    .gc-mafia-profile form select,
    .gc-mafia-profile__layout-select {
        width: 100% !important;
        min-width: 0;
    }

    .gc-mafia-profile__inline-control,
    .gc-mafia-profile__action-row,
    .gc-mafia-profile__recommended {
        width: 100%;
    }

    .gc-mafia-profile__inline-control > * {
        flex: 1 1 100%;
    }

    .gc-mafia-profile__action-row .submit-btn,
    .gc-mafia-profile__action-row input[type="submit"],
    .gc-mafia-profile__action-row input[type="reset"],
    .gc-mafia-profile__recommended .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }

    .gc-mafia-profile td.subTitle,
    .gc-mafia-profile td.optieMenu,
    .gc-mafia-profile td.optieMenuTinted,
    .gc-mafia-profile td.mainTxt,
    .gc-mafia-profile td.optieMenuTitle {
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    }

    .radio-group input + label,
    .gc-mafia-profile .submit-btn,
    .gc-mafia-profile input[type="submit"],
    .gc-mafia-profile input[type="reset"],
    .gc-mafia-profile button[type="submit"] {
        min-height: 44px;
    }

    .gc-mafia-profile .submit-btn,
    .gc-mafia-profile input[type="submit"],
    .gc-mafia-profile input[type="reset"],
    .gc-mafia-profile button[type="submit"] {
        width: 100%;
    }

    .gc-mafia-profile td[align="right"] .submit-btn,
    .gc-mafia-profile td[align="right"] input[type="submit"] {
        width: 100%;
    }

    .gc-mafia-profile table.panelp,
    .gc-mafia-profile table.panelp > tbody,
    .gc-mafia-profile table.panelp > tbody > tr,
    .gc-mafia-profile table.panelp > tbody > tr > td,
    .gc-mafia-profile table.center:not(.gc-cards-sm),
    .gc-mafia-profile table.center:not(.gc-cards-sm) > tbody,
    .gc-mafia-profile table.center:not(.gc-cards-sm) > tbody > tr,
    .gc-mafia-profile table.center:not(.gc-cards-sm) > tbody > tr > td {
        display: block;
        width: 100% !important;
    }

    .gc-mafia-profile table.panelp > tbody > tr > td + td,
    .gc-mafia-profile table.center:not(.gc-cards-sm) > tbody > tr > td + td {
        border-top: 1px solid var(--gc-mafia-rule);
    }
}

/* Editorial publications: newspaper, devlog and other long-form city records. */
.gc-mafia-publication-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-5);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    border-bottom: 3px double var(--gc-mafia-rule-strong);
}

.gc-mafia-publication-header__title,
.gc-mafia-publication-article__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-title)/1.15 var(--gc-mafia-font-display);
    overflow-wrap: anywhere;
}

.gc-mafia-publication-header__lede {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-publication-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

dl.gc-mafia-publication-meta {
    flex-wrap: nowrap;
}

.gc-mafia-publication-meta div {
    min-width: 72px;
}

.gc-mafia-publication-meta dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gc-mafia-publication-meta dd {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-publication-feed {
    min-width: 0;
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-section-title {
    padding-bottom: var(--gc-mafia-stack-gap);
    border-bottom: 3px double var(--gc-mafia-rule-strong);
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
}

/* :where houdt de specificiteit op 0: de browser-marge van de h2 gaat weg,
   maar container-ritmeregels (zoals .gc-mafia-section > * + *) blijven de
   marge gewoon zetten wanneer de titel niet het eerste kind is. */
:where(.gc-mafia-section-title) {
    margin: 0;
}

.gc-mafia-publication-item + .gc-mafia-publication-item {
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-publication-item__link {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: var(--gc-mafia-space-4);
    min-width: 0;
    padding: var(--gc-mafia-space-4) 0;
    color: inherit;
    text-decoration: none;
}

.gc-mafia-publication-item__link:hover .gc-mafia-publication-item__title,
.gc-mafia-publication-item__link:focus-visible .gc-mafia-publication-item__title {
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-publication-item__media {
    display: grid;
    width: 96px;
    height: 96px;
    align-self: center;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-publication-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.gc-mafia-publication-item__media .gc-mafia-icon {
    width: 32px;
    height: 32px;
}

.gc-mafia-publication-item__body {
    min-width: 0;
}

.gc-mafia-publication-item__title {
    margin: var(--gc-mafia-space-1) 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.3 var(--gc-mafia-font-display);
    overflow-wrap: anywhere;
}

.gc-mafia-publication-item__summary {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-publication-item__cta {
    display: inline-block;
    margin-top: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-interactive);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-publication-article {
    min-width: 0;
    padding: var(--gc-mafia-space-5);
}

.gc-mafia-breadcrumbs {
    max-width: 720px;
    margin: 0 auto var(--gc-mafia-space-4);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-breadcrumbs a {
    color: var(--gc-mafia-color-interactive);
    text-decoration: none;
}

.gc-mafia-publication-article__header,
.gc-mafia-publication-article__body,
.gc-mafia-publication-article__media {
    width: 100%;
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
}

.gc-mafia-publication-article__header {
    padding-bottom: var(--gc-mafia-space-4);
    border-bottom: 3px double var(--gc-mafia-rule-strong);
}

.gc-mafia-publication-article__title {
    margin-top: var(--gc-mafia-space-2);
}

.gc-mafia-publication-article__lede {
    margin: var(--gc-mafia-space-3) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.6 var(--gc-mafia-font-ui);
}

.gc-mafia-publication-article__media {
    margin-top: var(--gc-mafia-space-4);
    margin-bottom: var(--gc-mafia-space-4);
}

.gc-mafia-publication-article__media img {
    display: block;
    max-width: 100%;
    max-height: 420px;
    margin: 0 auto;
    object-fit: contain;
}

.gc-mafia-publication-article__media--fallback {
    display: grid;
    min-height: 120px;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-publication-article__media--fallback .gc-mafia-icon {
    width: 40px;
    height: 40px;
}

.gc-mafia-prose {
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-prose) var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

/* Volledige uitleg-tabs zijn dossiers, geen gecentreerde artikelkolommen.
   De gedeelde prose-class bepaalt alleen leesstijl; publicaties kiezen zelf
   expliciet voor hun smalle leesmaat via __body. */
/* De guide is volgens de styleguide zelf een dossier: `.gc-mafia-guide.gc-mafia-prose`
   moet dus ook het dossiervlak meebrengen. Zonder dit moest elke pagina er los
   `gc-mafia-panel gc-mafia-section` bij stapelen (of een blok-eigen variant maken). */
.gc-mafia-guide {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

/* De PvP-uitleg houdt zijn eigen, iets lichtere vlak (bestaande, goedgekeurde pagina). */
.gc-mafia-pvp__guide { background: var(--gc-mafia-color-surface); }

.gc-mafia-prose b,
.gc-mafia-prose strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-prose font[color] b,
.gc-mafia-prose font[color] strong {
    color: inherit;
}

/* Een semantische rol wint van de generieke prose-regel. */
.gc-mafia-prose .gc-mafia-status-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-prose .gc-mafia-status-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-prose .gc-mafia-status-value { color: var(--gc-mafia-value-text); }

.gc-mafia-prose img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: var(--gc-mafia-space-4) auto;
}

.gc-mafia-prose__center {
    text-align: center;
}

.gc-mafia-publication-archive {
    display: flex;
    align-items: end;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-publication-archive .gc-mafia-field {
    width: 100%;
}

.gc-mafia-stamp {
    display: inline-flex;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 1px;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .1em;
    text-transform: uppercase;
    transform: rotate(-1deg);
}

.gc-mafia-stamp > .gc-mafia-icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.gc-mafia-stamp--value {
    border-color: var(--gc-mafia-value-border);
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-value-text);
}

.gc-mafia-stamp--complete {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-stamp--danger {
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-hud-token {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-value-border);
    border-radius: 2px;
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
}

.gc-mafia-hud-token__compact {
    display: none;
}

.gc-mafia-count {
    display: inline-grid;
    min-width: 20px;
    min-height: 20px;
    place-items: center;
    padding: 2px 5px;
    border: 1px solid var(--gc-mafia-value-border);
    border-radius: 10px;
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-meta)/1 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-ledger {
    border-top: 1px solid var(--gc-mafia-rule-strong);
}

/* Een ledger mag ook een ul zijn: geen lijst-inspringing of markers.
   :where houdt de specificiteit op 0, zodat container-ritmeregels
   (zoals .gc-mafia-section > * + *) de marge gewoon kunnen zetten. */
:where(ul.gc-mafia-ledger) {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-ledger__heading {
    margin: 0;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gc-mafia-ledger--inset {
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
}

.gc-mafia-ledger--inset .gc-mafia-reward-row:first-child {
    border-top: 0;
}

.gc-mafia-reward-row {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 44px;
    margin: 0;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border: 0;
    border-left: 0;
    border-top: 1px solid var(--gc-mafia-rule);
    border-radius: 0;
    background: transparent;
}

.gc-mafia-reward-row__icon {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-reward-row__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 2px;
}

.gc-mafia-reward-row__title {
    display: block;
    color: var(--gc-mafia-paper);
    font-family: var(--gc-mafia-font-ui);
    font-size: var(--gc-mafia-type-body);
    font-weight: bold;
}

.gc-mafia-reward-row__meta {
    display: block;
    margin-top: 2px;
}

.gc-mafia-reward-row__value {
    color: var(--gc-mafia-color-value);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-reward-row--progress .gc-mafia-reward-row__icon,
.gc-mafia-reward-row--progress .gc-mafia-reward-row__value {
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-reward-row--complete .gc-mafia-reward-row__icon,
.gc-mafia-reward-row--complete .gc-mafia-reward-row__value {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-reward-row--danger .gc-mafia-reward-row__icon,
.gc-mafia-reward-row--danger .gc-mafia-reward-row__value {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-result {
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 0 auto var(--gc-mafia-space-3);
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-result + .gc-mafia-toolbar {
    justify-content: center;
}

.gc-mafia-result--danger {
    border-top-color: var(--gc-mafia-danger-border);
}

.gc-mafia-result--wide {
    max-width: none;
    margin: 0;
}

.gc-mafia-result-overlay {
    position: fixed;
    z-index: 10050;
    inset: 0;
    display: grid;
    box-sizing: border-box;
    place-items: center;
    padding: var(--gc-mafia-space-3);
    overflow: auto;
    background: rgba(9, 10, 10, .78);
}

.gc-mafia-result-overlay[hidden] {
    display: none;
}

.gc-mafia-result-overlay .gc-mafia-result {
    width: min(100%, 560px);
    max-height: calc(100dvh - (var(--gc-mafia-space-3) * 2));
    margin: 0;
    overflow: auto;
    overscroll-behavior: contain;
}

.gc-mafia-result-overlay .gc-mafia-result__outcome {
    padding-right: calc(var(--gc-mafia-space-4) + 40px);
}

.gc-mafia-result-overlay__close {
    position: absolute;
    z-index: 1;
    top: var(--gc-mafia-space-2);
    right: var(--gc-mafia-space-2);
    display: grid;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    cursor: pointer;
}

.gc-mafia-result-overlay__close:hover,
.gc-mafia-result-overlay__close:focus-visible {
    border-color: var(--gc-mafia-accent-line);
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-overlay-open {
    overflow: hidden;
}

@media (max-width: 760px) {
    .gc-mafia-result-overlay__close {
        width: 44px;
        height: 44px;
    }

    .gc-mafia-result-overlay .gc-mafia-result__outcome {
        padding-right: calc(var(--gc-mafia-space-3) + 44px);
    }
}

.gc-mafia-result__outcome {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
    background: transparent;
}

.gc-mafia-result__mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-interactive-muted);
    font-size: 0;
}

.gc-mafia-result[data-gc-action-state="success"] .gc-mafia-result__mark {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-result[data-gc-action-state="failure"] .gc-mafia-result__mark {
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-result--danger .gc-mafia-result__mark {
    border-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-result__title {
    margin: 0 0 var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display);
}

.gc-mafia-result__story {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-result__story font {
    font-size: inherit;
}
.gc-mafia-result__warning {
    display: flex;
    align-items: flex-start;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-2);
    color: var(--gc-mafia-danger-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-result__warning > .gc-mafia-icon {
    width: 16px;
    height: 16px;
    margin-top: 1px;
    flex: 0 0 16px;
}

.gc-mafia-result__media {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-3) 0;
    text-align: center;
}

.gc-mafia-result__media-image {
    display: block;
    width: min(100%, 260px);
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 0;
    background: var(--gc-mafia-ink-1000);
    object-fit: contain;
}

.gc-mafia-result__consequence {
    padding: 0;
    border-top: 1px solid var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-result__consequence .gc-mafia-reward-row:first-child {
    border-top: 0;
}

.gc-mafia-result__link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 28px;
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-interactive-text);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    text-decoration: none;
}

.gc-mafia-result__link:hover {
    color: var(--gc-mafia-color-interactive-hover);
    text-decoration: underline;
}

.gc-mafia-result .gc-mafia-ledger {
    border-top-color: var(--gc-mafia-rule-strong);
}

.gcfx-heist-action-result .gc-mafia-result {
    margin: var(--gc-mafia-space-3) auto 0;
}

.gc-mafia-progress-group {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-progress-group__line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-progress {
    display: block;
    width: 100%;
    height: 8px;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-ink-1000);
}

.gc-mafia-progress__fill {
    position: relative;
    display: block;
    width: var(--gc-mafia-progress-value, 0%);
    height: 100%;
    overflow: hidden;
    background: var(--gc-mafia-color-interactive-muted);
    transition: width var(--gc-mafia-motion-progress) var(--gc-mafia-ease);
}

.gc-mafia-progress--complete .gc-mafia-progress__fill {
    background: var(--gc-mafia-color-complete);
}

.gc-mafia-progress--danger .gc-mafia-progress__fill {
    background: var(--gc-mafia-oxblood);
}

.gc-mafia-progress__fill::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -45%;
    width: 38%;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(236, 245, 245, .5), transparent);
    opacity: 0;
}

.gc-mafia-milestones {
    display: grid;
    margin-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-milestone {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 48px;
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-milestone__marker {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-meta)/1 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-milestone__body {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.gc-mafia-milestone__body strong {
    color: var(--gc-mafia-paper);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-milestone__body small,
.gc-mafia-milestone__status {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-milestone__status {
    text-align: right;
    white-space: nowrap;
}

.gc-mafia-milestone--complete .gc-mafia-milestone__marker {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-milestone--complete .gc-mafia-milestone__status {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-progress.is-glinting .gc-mafia-progress__fill::after {
    animation: gcMafiaProgressGlint var(--gc-mafia-motion-progress) ease-out 1 both;
}

/* ── Applicatieshell: meldingen en tijdelijke events ──────────────────── */
.gc-mafia-shell-notice,
.gc-mafia-shell-events .gc-evt-cell {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: var(--gc-mafia-space-2);
    padding: 6px 34px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
    text-align: center;
}

.gc-mafia-shell-notice {
    border: 1px solid var(--gc-mafia-rule-strong);
    border-left: 2px solid var(--gc-mafia-shell-trim);
}

.gc-mafia-shell-events .gc-evt-cell {
    border: 0;
    border-left: 2px solid var(--gc-mafia-shell-trim);
}

.gc-mafia-shell-notice--value {
    border-left-color: var(--gc-mafia-value-border);
}

.gc-mafia-shell-notice--interactive {
    cursor: pointer;
}

.gc-mafia-shell-notice--interactive:hover,
.gc-mafia-shell-notice--interactive:focus-within {
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-shell-notice > .gc-mafia-icon,
.gc-mafia-shell-events .gc-evt-main > .gc-mafia-icon,
.gc-mafia-shell-events #aes-se-ico .gc-mafia-icon {
    width: 16px;
    height: 16px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-shell-notice b,
.gc-mafia-shell-events b,
.gc-mafia-shell-events #aes-se-pct {
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-shell-notice__copy,
.gc-mafia-shell-events .gc-evt-detail {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-shell-notice__detail {
    color: var(--gc-mafia-value-text);
}

.gc-mafia-shell-notice__link,
.gc-mafia-shell-events u {
    color: var(--gc-mafia-color-interactive);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.gc-mafia-shell-events {
    position: relative;
}

.gc-mafia-shell-events .gc-stack-row {
    width: 100%;
}

.gc-mafia-shell-events .gc-stack-row + .gc-stack-row {
    margin-top: 2px;
}

.gc-mafia-shell-events .gc-evt-main {
    display: inline-flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 22px;
    color: var(--gc-mafia-color-text);
    text-align: center;
    text-decoration: none;
}

.gc-mafia-shell-events .gc-evt-main.gc-evt-static {
    cursor: default;
}

.gc-mafia-shell-events .is-danger .gc-evt-cell {
    border-left-color: var(--gc-mafia-danger-border);
    background: var(--gc-mafia-danger-surface);
}

.gc-mafia-shell-events .is-danger b,
.gc-mafia-shell-events .is-danger #aes-se-pct,
.gc-mafia-shell-events .is-danger #aes-se-ico .gc-mafia-icon {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia .aes-dismiss {
    position: absolute;
    top: 50%;
    right: 10px;
    display: inline-grid;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    place-items: center;
    color: var(--gc-mafia-color-meta);
    font: bold 17px/1 var(--gc-mafia-font-ui);
    text-decoration: none;
}

.gc-mafia .aes-dismiss:hover,
.gc-mafia .aes-dismiss:focus-visible {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-shell-events .gc-stack-extra {
    max-height: 0;
    margin-top: 0 !important;
    overflow: hidden;
    opacity: 0;
    transition: max-height var(--gc-mafia-motion-base) var(--gc-mafia-ease),
                opacity var(--gc-mafia-motion-base) ease;
}

.gc-mafia-shell-events.is-open .gc-stack-extra {
    max-height: 180px;
    margin-top: 2px !important;
    opacity: 1;
}

.gc-mafia-shell-events #gc-stack-chip {
    min-height: 26px;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    margin-right: 22px;
    padding: 3px 7px;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
    white-space: nowrap;
}

.gc-mafia-shell-events #gc-stack-chip:hover,
.gc-mafia-shell-events #gc-stack-chip:focus-visible {
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-shell-events #gc-stack-chip .gc-acc-arrow {
    width: 13px;
    height: 13px;
    transition: transform var(--gc-mafia-motion-base) ease;
}

.gc-mafia-shell-events.is-open #gc-stack-chip .gc-acc-arrow {
    transform: rotate(90deg);
}

/* De mobiele applicatieshell neemt tijdelijke meldingen over in zijn vaste
   topbalk. De bronmarkup blijft bestaan voor timers en live updates, maar mag
   daar geen tweede verticale bannerstack vormen. */
html.gc-mobile-shell-events-owned .gc-mafia-shell-notice,
html.gc-mobile-shell-events-owned .gc-mafia-shell-events {
    display: none !important;
}

/* ── Applicatieshell: compacte speler-HUD ──────────────────────────────── */
.gc-mafia-hud {
    display: grid;
    width: calc(100% - 16px);
    min-width: 0;
    box-sizing: border-box;
    margin-top: 8px;
    margin-right: 8px;
    margin-left: 8px;
    overflow: visible;
    container-name: gc-mafia-hud;
    container-type: inline-size;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .24);
}

@media (min-height: 801px) {
    .gc-mafia-hud {
        position: sticky;
        top: 8px;
        z-index: 30;
    }
}

/* De mobiele shell maakt deze status gelijk aan zijn kb-open status. De HUD
   neemt zo geen zichtbare hoogte in zolang het schermtoetsenbord openstaat. */
html.gc-mobile-keyboard-open .gc-mafia-hud {
    display: none;
}

.gc-mafia-hud__layout {
    display: grid;
    min-width: 0;
}

.gc-mafia-hud__meters {
    display: grid;
    grid-template-columns: minmax(300px, 2fr) repeat(2, minmax(160px, 1fr));
    min-width: 0;
}

.gc-mafia-hud__meter {
    display: grid;
    min-width: 0;
    gap: 7px;
    padding: 9px 12px 10px;
    border-right: 1px solid var(--gc-mafia-rule);
    background: linear-gradient(180deg, rgba(255, 255, 255, .018), transparent);
    color: var(--gc-mafia-color-text);
    text-decoration: none;
}

.gc-mafia-hud__meter:last-child {
    border-right: 0;
}

.gc-mafia-hud__meter-wrap {
    position: relative;
    display: grid;
    min-width: 0;
}

.gc-mafia-hud__meter--nested {
    height: 100%;
    border-right: 0;
}

.gc-mafia-hud__meter-info {
    position: absolute;
    top: 7px;
    right: 7px;
    z-index: 2;
}

.gc-mafia-hud__meter-wrap:has(.gc-mafia-hud__meter-info) .gc-mafia-hud__value-line {
    padding-right: 24px;
}

.gc-mafia-hud__meter--action {
    transition: background-color var(--gc-mafia-motion-fast) ease,
                color var(--gc-mafia-motion-fast) ease;
}

.gc-mafia-hud__meter--action:hover,
.gc-mafia-hud__meter--action:focus-visible {
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-hud__meter-heading,
.gc-mafia-hud__rank-meta,
.gc-mafia-hud__value-line {
    display: flex;
    min-width: 0;
    align-items: center;
}

.gc-mafia-hud__meter-heading {
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-hud__label {
    display: inline-flex;
    min-width: 0;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.gc-mafia-hud__label .gc-mafia-icon {
    width: 16px;
    height: 16px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-hud__label-compact {
    display: none;
}

.gc-mafia-hud__rank-meta {
    flex: 1 1 auto;
    justify-content: flex-end;
    gap: 7px;
}

.gc-mafia-hud__rank-name {
    min-width: 0;
    overflow: hidden;
    color: var(--gc-mafia-color-heading);
    font-size: var(--gc-mafia-type-label);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-mafia-hud__percentage {
    flex: 0 0 auto;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-hud__boost {
    min-height: 24px;
    padding: 2px 6px;
    border-radius: 2px;
    cursor: help;
}

.gc-mafia-hud__boost .gc-mafia-icon {
    width: 14px;
    height: 14px;
}

.gc-mafia-hud__track-anchor {
    position: relative;
    display: block;
    min-width: 0;
}

.gc-mafia-hud__progress {
    height: 7px;
    border-color: rgba(211, 199, 177, .2);
    background: #080909;
}

.gc-mafia-hud__progress .gc-mafia-progress__fill {
    background: var(--gc-mafia-color-interactive-muted) !important;
}

.gc-mafia-hud .health-bar-outer.health-kritiek .gc-mafia-progress__fill,
.gc-mafia-hud .health-bar-outer.health-stervend .gc-mafia-progress__fill {
    background: var(--gc-mafia-danger-border) !important;
}

.gc-mafia-hud .health-bar-outer.health-waarschuwing .gc-mafia-progress__fill,
.gc-mafia-hud .energie-bar-outer.energie-uitgeput .gc-mafia-progress__fill {
    background: var(--gc-mafia-value-border) !important;
}

.gc-mafia-hud .energie-bar-outer.energie-leeg .gc-mafia-progress__fill {
    background: var(--gc-mafia-danger-border) !important;
}

.gc-mafia-hud .health-bar-outer.health-kritiek,
.gc-mafia-hud .health-bar-outer.health-stervend {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-hud .health-bar-outer.health-waarschuwing,
.gc-mafia-hud .energie-bar-outer.energie-uitgeput {
    border-color: var(--gc-mafia-value-border);
    animation: none;
}

.gc-mafia-hud .energie-bar-outer.energie-leeg {
    border-color: var(--gc-mafia-danger-border);
    animation: gc-mafia-hud-danger-pulse 1.6s ease-in-out infinite;
}

.gc-mafia-hud__value-line {
    flex: 0 0 auto;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-hud__quick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-hud__quick-item {
    display: flex;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: var(--gc-mafia-space-2);
    padding: 6px 12px;
    border-right: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    text-decoration: none;
    transition: background-color var(--gc-mafia-motion-fast) ease,
                color var(--gc-mafia-motion-fast) ease;
}

.gc-mafia-hud__quick-item:last-child {
    border-right: 0;
}

.gc-mafia-hud__quick-item:hover,
.gc-mafia-hud__quick-item:focus-visible {
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-hud__quick-item > .gc-mafia-icon {
    width: 17px;
    height: 17px;
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-hud__quick-copy {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 6px;
}

.gc-mafia-hud__quick-copy strong {
    overflow: hidden;
    color: var(--gc-mafia-color-heading);
    font-size: var(--gc-mafia-type-label);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-mafia-hud__quick-copy .gc-mafia-amount {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-hud__quick-label {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
    white-space: nowrap;
}

.gc-mafia-hud .gc-info-btn {
    width: 20px;
    height: 20px;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    font: bold 11px/18px var(--gc-mafia-font-ui);
}

.gc-mafia-hud .rang-xbtip {
    flex: 0 0 auto;
}

.gc-mafia-hud .rang-xbtip .gc-info-tooltip {
    top: calc(100% + 5px);
    right: 0;
    z-index: 1100;
}

.gc-mafia-hud__tooltip-detail {
    color: var(--gc-mafia-color-meta);
}

@media (max-width: 399px) {
    .gc-mafia-shell-notice,
    .gc-mafia-shell-events .gc-evt-cell {
        min-height: 44px;
        padding: 7px 34px 7px 10px;
        text-align: left;
    }

    .gc-mafia-shell-events .gc-evt-main {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 3px 6px;
        padding: 0;
        text-align: left;
    }

    .gc-mafia-shell-notice__link {
        flex: 1 1 100%;
    }

    .gc-mafia-shell-events #gc-stack-chip {
        min-height: 32px;
        margin-right: 22px;
    }

    .gc-mafia-hud .rang-xbtip .gc-info-tooltip {
        right: -48px;
        width: min(220px, calc(100vw - 20px));
    }
}

.gc-mafia-tabs {
    display: flex;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    flex-wrap: wrap;
    gap: 2px;
    border-bottom: 1px solid var(--gc-mafia-interactive-border);
}

/* Houd native scroll intact, maar laat taps op echte controls niet wachten op
   de dubbel-tap/zoom-herkenning van mobiele browsers en app-webviews. */
.gc-mafia a,
.gc-mafia button,
.gc-mafia input[type="button"],
.gc-mafia input[type="submit"],
.gc-mafia input[type="reset"],
.gc-mafia label,
.gc-mafia summary {
    touch-action: manipulation;
}

.gc-mafia-tabs .gc-tab-morewrap {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
}

.gc-mafia-tab,
a.gc-tab.gc-mafia-tab,
a.gc-tab.gc-mafia-tab:link,
a.gc-tab.gc-mafia-tab:visited,
a.gc-tab.gc-mafia-tab:active {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    margin: 0;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    border-bottom: 0;
    border-radius: 2px 2px 0 0;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
    text-decoration: none;
}

@media (max-width: 500px) {
    .gc-mafia-tabs { flex-wrap: nowrap; }

    a.gc-tab.gc-mafia-tab,
    .gc-mafia-tabs .gc-tab-more {
        min-height: 44px;
    }

    .gc-mafia-tabs > .gc-mafia-tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

.gc-mafia-tab:hover,
.gc-mafia-tab:focus-visible,
a.gc-tab.gc-mafia-tab:hover,
a.gc-tab.gc-mafia-tab:focus-visible {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-tab.active,
.gc-mafia-tab[aria-selected="true"],
.gc-mafia-tab[aria-current="page"],
a.gc-tab.gc-mafia-tab.active,
a.gc-tab.gc-mafia-tab[aria-selected="true"],
a.gc-tab.gc-mafia-tab[aria-current="page"] {
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-interactive-text);
}

.gc-mafia-tabs .gc-tab-more {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    margin: 0;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    border-bottom: 0;
    border-radius: 2px 2px 0 0;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    text-decoration: none;
}

html.gc-mobile-shell-events-owned a.gc-tab.gc-mafia-tab,
html.gc-mobile-shell-events-owned .gc-mafia-tabs .gc-tab-more {
    min-height: 44px;
}

.gc-mafia-tabs .gc-tab-more:hover,
.gc-mafia-tabs .gc-tab-more:focus-visible,
.gc-mafia-tabs .gc-tab-more[aria-expanded="true"] {
    border-color: var(--gc-mafia-interactive-border);
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-tabs .gc-tab-moremenu {
    position: absolute;
    top: calc(100% + var(--gc-mafia-space-1));
    right: 0;
    z-index: 200;
    min-width: 150px;
    padding: var(--gc-mafia-space-1);
    border: 1px solid var(--gc-mafia-interactive-border);
    border-radius: 2px;
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-tabs .gc-tab-moremenu[hidden] { display: none; }

.gc-mafia-tabs .gc-tab-moremenu .gc-mafia-tab {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    border: 0;
    border-radius: 0;
}

/* Sequential history navigation: a ledger range, never an arcade page-number strip. */
.gc-mafia-pagination {
    display: grid;
    grid-template-columns: minmax(44px, 1fr) auto minmax(44px, 1fr);
    align-items: center;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-4);
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-pagination__step {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    text-decoration: none;
}

.gc-mafia-pagination__step--previous { justify-content: flex-start; }
.gc-mafia-pagination__step--next { justify-content: flex-end; }

a.gc-mafia-pagination__step:hover,
a.gc-mafia-pagination__step:focus-visible { color: var(--gc-mafia-color-interactive-hover); }

.gc-mafia-pagination__step.is-disabled {
    color: var(--gc-mafia-color-meta);
    cursor: default;
}

.gc-mafia-pagination__status {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    text-align: center;
    white-space: nowrap;
}

.gc-mafia-pagination__icon--previous { transform: rotate(180deg); }

@container (max-width: 399px) {
    .gc-mafia-pagination__step-label { display: none; }
}

.gc-mafia-disclosure {
    border-top: 1px solid var(--gc-mafia-rule);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-disclosure__summary {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    cursor: pointer;
    list-style: none;
}

.gc-mafia-disclosure__summary::-webkit-details-marker {
    display: none;
}

.gc-mafia-disclosure__chevron {
    transition: transform var(--gc-mafia-motion-base) var(--gc-mafia-ease);
}

.gc-mafia-disclosure[open] .gc-mafia-disclosure__chevron {
    transform: rotate(90deg);
}

.gc-mafia-disclosure__body {
    padding: var(--gc-mafia-stack-gap) var(--gc-mafia-panel-padding-inline) var(--gc-mafia-stack-gap);
    color: var(--gc-mafia-color-text);
}

/* Shared click/tap image viewer. Pages only provide a button with
   data-gc-image-viewer; one focus-managed overlay is created on demand. */
.gc-mafia-image-viewer__trigger {
    cursor: zoom-in;
}

body.gc-mafia-image-viewer-open {
    overflow: hidden;
}

.gc-mafia-image-viewer {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: none;
    align-items: center;
    justify-content: center;
    padding: var(--gc-mafia-space-4);
    background: rgba(9, 10, 10, .92);
}

.gc-mafia-image-viewer.is-open {
    display: flex;
}

.gc-mafia-image-viewer__inner {
    position: relative;
    width: min(100%, 720px);
    max-height: calc(100vh - 32px);
}

.gc-mafia-image-viewer__image {
    display: block;
    width: 100%;
    max-height: calc(100vh - 32px);
    object-fit: contain;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-image-viewer__close {
    position: absolute;
    top: var(--gc-mafia-space-2);
    right: var(--gc-mafia-space-2);
    z-index: 1;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: var(--gc-mafia-space-2);
    background: var(--gc-mafia-color-surface-raised);
}

/* Secondary action detail: shared by prison and repeatable crime actions. */
.gc-mafia-action-briefing {
    width: min(100%, 980px);
    margin: 0 auto;
    container-type: inline-size;
}

.gc-mafia-action-briefing > .gc-mafia-disclosure {
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-action-briefing .gc-mafia-disclosure__summary {
    min-height: 44px;
    padding-right: var(--gc-mafia-space-3);
}

.gc-mafia-action-briefing__summary-copy {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-action-briefing__title {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-action-briefing__summary-meta {
    overflow: hidden;
    color: var(--gc-mafia-color-meta);
    font-weight: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-mafia-action-briefing .gc-mafia-disclosure__body {
    display: grid;
    gap: var(--gc-mafia-stack-gap);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
}

.gc-mafia-action-briefing__notice,
.gc-mafia-action-briefing__copy,
.gc-mafia-action-briefing__rules,
.gc-mafia-action-briefing__buffs {
    min-width: 0;
}

.gc-mafia-action-briefing__notice {
    color: var(--gc-mafia-color-value);
    font: bold var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-action-briefing__copy,
.gc-mafia-action-briefing__rules {
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.5 var(--gc-mafia-font-ui);
}

/* Het copy-blok bezit het interne ritme; p's brengen geen browser-marge mee. */
.gc-mafia-action-briefing__copy > * {
    margin-top: 0;
    margin-bottom: 0;
}

.gc-mafia-action-briefing__copy > * + * {
    margin-top: var(--gc-mafia-stack-gap);
}

.gc-mafia-action-briefing__tip {
    margin-top: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-action-briefing__buffs {
    display: grid;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-2);
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-buff-info,
.gc-mafia-buff-info__sources {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-buff-info {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-buff-info:last-child { border-bottom: 0; }
.gc-mafia-buff-info__label { color: var(--gc-mafia-color-text); font-weight: bold; }
.gc-mafia-buff-info__value { color: var(--gc-mafia-value-text); font-variant-numeric: tabular-nums; }
.gc-mafia-buff-info__source { grid-column: 1 / -1; color: var(--gc-mafia-color-meta); }
.gc-mafia-buff-info__source a { color: var(--gc-mafia-color-interactive); }
.gc-mafia-buff-info__sources { grid-column: 1 / -1; padding-left: var(--gc-mafia-space-2); }

.gc-mafia-action-briefing__rules {
    margin-top: var(--gc-mafia-space-2);
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-action-briefing__rules h3 {
    margin: 0 0 var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gc-mafia-action-briefing__rules ul { margin: 0; padding-left: 18px; }
.gc-mafia-action-briefing__rules li + li { margin-top: var(--gc-mafia-space-1); }

@container (max-width: 399px) {
    .gc-mafia-action-briefing__summary-meta { display: none; }
    .gc-mafia-action-briefing .gc-mafia-disclosure__body { padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); }
}

/* Archive and ranking primitives — shared by statistics/directory pages. */
.gc-mafia-archive {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-3);
    margin: 0;
    color: var(--gc-mafia-color-text);
}

.gc-mafia-archive__header {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    margin: 0;
}

.gc-mafia-archive__icon {
    width: 25px;
    height: 25px;
    color: var(--gc-mafia-color-value);
}

.gc-mafia-archive__section {
    min-width: 0;
    margin: 0;
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-archive__section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    margin: 0 0 var(--gc-mafia-space-3);
}

.gc-mafia-archive__section-heading h2 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 19px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-archive__section-heading p {
    max-width: 760px;
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-summary-ledger {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-summary-item {
    min-width: 0;
    min-height: 76px;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-3) var(--gc-mafia-space-3) 42px;
    border: 0;
    border-right: 1px solid var(--gc-mafia-rule);
    border-radius: 0;
    background: transparent;
}

.gc-mafia-summary-item::before {
    display: none;
}

.gc-mafia-summary-item:last-child {
    border-right: 0;
}

.gc-mafia-summary-item .gc-mafia-icon {
    width: 17px;
    height: 17px;
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-summary-item .gc-metric-card__label {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
}

.gc-mafia-summary-item strong {
    color: var(--gc-mafia-color-heading);
    font: bold 16px/1.25 var(--gc-mafia-font-ui);
}

.gc-mafia-summary-item small {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-leaderboard {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-leaderboard .gc-leaderboard__head {
    min-height: 44px;
    border-top: 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-leaderboard .gc-leaderboard__head h3 {
    color: var(--gc-mafia-color-heading);
    font: normal 16px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-leaderboard .gc-leaderboard__head span,
.gc-mafia-leaderboard .gc-leaderboard-row__rank {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
}

.gc-mafia-leaderboard .gc-leaderboard-row {
    min-height: 46px;
    border-bottom-color: var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-data);
}

.gc-mafia-leaderboard .gc-leaderboard-row__score {
    color: var(--gc-mafia-color-heading);
    font-size: var(--gc-mafia-type-data);
}

.gc-mafia-leaderboard .gc-leaderboard-row--winner {
    background: linear-gradient(90deg, var(--gc-mafia-value-surface), transparent 78%);
}

.gc-mafia-leaderboard .gc-leaderboard-row--winner .gc-leaderboard-row__rank,
.gc-mafia-leaderboard .gc-leaderboard-row--winner .gc-leaderboard-row__score {
    color: var(--gc-mafia-value-text);
}

.gc-mafia-leaderboard .gc-leaderboard-row--self {
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive-muted);
    border-top-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-interactive-text);
}

.gc-mafia-leaderboard__self-icon {
    width: 14px;
    height: 14px;
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-disclosure > .gc-mafia-disclosure__summary::after {
    display: none !important;
}

.gc-mafia-disclosure > .gc-mafia-disclosure__summary {
    border: 0;
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-disclosure[open] > .gc-mafia-disclosure__summary {
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-cache-note,
.gc-mafia .gc-cache-note {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
    text-align: right;
}

.gc-mafia-empty {
    padding: var(--gc-mafia-space-5);
    color: var(--gc-mafia-color-meta);
    text-align: center;
}

.gc-mafia-prestige-list {
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-prestige-row {
    display: grid;
    grid-template-columns: 42px minmax(150px, 1fr) minmax(130px, .5fr) minmax(110px, .4fr);
    min-height: 46px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-prestige-row:last-child {
    border-bottom: 0;
}

.gc-mafia-prestige-row--head {
    min-height: 34px;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-motion-reveal.is-motion-active {
    animation: gcMafiaReveal var(--gc-mafia-motion-reveal) var(--gc-mafia-ease) both;
}

.gc-mafia-motion-ledger.is-motion-active .gc-mafia-reward-row {
    animation: gcMafiaLedgerIn var(--gc-mafia-motion-base) ease-out both;
    animation-delay: calc(var(--gc-mafia-row-index, 0) * 55ms);
}

.gc-mafia-motion-stamp.is-motion-active {
    animation: gcMafiaStamp var(--gc-mafia-motion-reveal) var(--gc-mafia-ease) both;
}

@keyframes gcMafiaReveal {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: none; }
}

@keyframes gcMafiaLedgerIn {
    from { opacity: 0; transform: translateX(-4px); }
    to { opacity: 1; transform: none; }
}

@keyframes gcMafiaStamp {
    from { opacity: 0; transform: rotate(-4deg) scale(1.06); }
    to { opacity: 1; transform: rotate(-1deg) scale(1); }
}

@keyframes gcMafiaProgressGlint {
    0% { left: -45%; opacity: 0; }
    18% { opacity: .62; }
    100% { left: 110%; opacity: 0; }
}

@keyframes gcMafiaSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
    .gc-mafia-layout--split {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-bank-transfer__fields {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 399px) {
    .gc-mafia-page {
        padding: var(--gc-mafia-page-padding);
    }

    .gc-mafia-content-header {
        grid-template-columns: 1fr;
        gap: var(--gc-mafia-header-gap);
        padding: var(--gc-mafia-header-padding-block) var(--gc-mafia-header-padding-inline);
    }

    .gc-mafia-content-header__title {
        font-size: var(--gc-mafia-type-title);
    }

    .gc-mafia-content-header__aside {
        padding: var(--gc-mafia-space-2) 0 0;
        border-top: 1px solid var(--gc-mafia-rule);
        border-left: 0;
    }

    .gc-mafia-button,
    .gc-mafia-tab,
    .gc-mafia-disclosure__summary,
    .gc-mafia-hud-token {
        min-height: 44px;
    }

    .gc-mafia-button--primary:not(.gc-mafia-inline-composer__action) {
        width: 100%;
    }

    .gc-mafia-dossier {
        padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    }

    .gc-mafia-dossier__header,
    .gc-mafia-dossier__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-mafia-reward-row {
        grid-template-columns: 22px minmax(0, 1fr);
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    }

    .gc-mafia-reward-row__value {
        grid-column: 2;
        justify-self: start;
    }

    .gc-mafia-reward-row > .gc-mafia-stamp,
    .gc-mafia-milestone__status {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .gc-mafia-result__outcome {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-result__mark {
        width: 32px;
        height: 32px;
    }

    .gc-mafia-result__consequence {
        padding: 0;
    }

    .gc-mafia-result__media {
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-2) 0;
    }

    .gc-mafia-result__media-image {
        width: min(100%, 210px);
    }

    .gc-mafia-result__link {
        min-height: 44px;
    }

    .gc-mafia-hud-token__full {
        display: none;
    }

    .gc-mafia-hud-token__compact {
        display: inline;
    }
}

/* The same contract responds inside narrow iframe/layout columns during review. */
@container (max-width: 760px) {
    .gc-mafia-layout--split {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-bank-transfer__fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-comparison {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container (max-width: 399px) {
    .gc-mafia-page {
        padding: var(--gc-mafia-page-padding);
    }

    .gc-mafia-content-header {
        grid-template-columns: 1fr;
        gap: var(--gc-mafia-header-gap);
        padding: var(--gc-mafia-header-padding-block) var(--gc-mafia-header-padding-inline);
    }

    .gc-mafia-content-header__title {
        font-size: var(--gc-mafia-type-title);
    }

    .gc-mafia-content-header__aside {
        padding: var(--gc-mafia-space-2) 0 0;
        border-top: 1px solid var(--gc-mafia-rule);
        border-left: 0;
    }

    .gc-mafia-button,
    .gc-mafia-tab,
    .gc-mafia-disclosure__summary,
    .gc-mafia-hud-token {
        min-height: 44px;
    }

    .gc-mafia-button--primary:not(.gc-mafia-inline-composer__action) {
        width: 100%;
    }

    .gc-mafia-section,
    .gc-mafia-decision,
    .gc-mafia-comparison__group {
        padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    }

    .gc-mafia-section__header {
        display: block;
        margin-bottom: 0;
    }

    .gc-mafia-fact-list--columns {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-decision .gc-mafia-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-mafia-decision .gc-mafia-button {
        width: 100%;
    }

    .gc-mafia-publication-header {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--gc-mafia-space-3);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-publication-header__title,
    .gc-mafia-publication-article__title {
        font-size: var(--gc-mafia-type-title);
    }

    dl.gc-mafia-publication-meta {
        padding-top: var(--gc-mafia-space-3);
        border-top: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-publication-feed,
    .gc-mafia-publication-article {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-publication-item__link {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: var(--gc-mafia-space-3);
        padding: var(--gc-mafia-space-3) 0;
    }

    .gc-mafia-publication-item__media {
        width: 72px;
        height: 72px;
    }

    .gc-mafia-publication-item__title {
        font-size: 17px;
    }

    .gc-mafia-publication-archive {
        align-items: stretch;
        flex-direction: column;
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-publication-archive .gc-mafia-button {
        width: 100%;
    }

    .gc-mafia-dossier {
        padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    }

    .gc-mafia-dossier__header,
    .gc-mafia-dossier__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-mafia-reward-row {
        grid-template-columns: 22px minmax(0, 1fr);
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    }

    .gc-mafia-reward-row__value {
        grid-column: 2;
        justify-self: start;
    }

    .gc-mafia-reward-row > .gc-mafia-stamp,
    .gc-mafia-milestone__status {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .gc-mafia-result__outcome {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-result__mark {
        width: 32px;
        height: 32px;
    }

    .gc-mafia-result__consequence {
        padding: 0;
    }

    .gc-mafia-result__media {
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-2) 0;
    }

    .gc-mafia-result__media-image {
        width: min(100%, 210px);
    }

    .gc-mafia-result__link {
        min-height: 44px;
    }

    .gc-mafia-hud-token__full {
        display: none;
    }

    .gc-mafia-hud-token__compact {
        display: inline;
    }
}

/* Persistent shell HUD: preserve every status value in two compact ledger rows. */
@container gc-mafia-hud (max-width: 760px) {
    .gc-mafia-hud__layout {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .gc-mafia-hud__meters,
    .gc-mafia-hud__quick {
        display: contents;
    }

    .gc-mafia-hud__meter,
    .gc-mafia-hud__quick-item {
        box-sizing: border-box;
        min-width: 0;
        border-right: 1px solid var(--gc-mafia-rule);
        border-bottom: 0;
    }

    .gc-mafia-hud__meter--health,
    .gc-mafia-hud__meter-wrap--energy,
    .gc-mafia-hud__quick-item--city {
        grid-row: 1;
        min-height: 34px;
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-hud__meter--health {
        grid-column: 1 / 5;
    }

    .gc-mafia-hud__meter-wrap--energy {
        grid-column: 5 / 9;
        border-right: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-hud__quick-item--city {
        grid-column: 9 / 13;
        border-right: 0;
    }

    .gc-mafia-hud__meter--rank {
        position: relative;
        grid-column: 1 / 7;
        grid-row: 2;
        min-height: 35px;
        gap: 0;
        padding: 2px 7px;
    }

    .gc-mafia-hud__quick-item--cash {
        grid-column: 7 / 10;
        grid-row: 2;
    }

    .gc-mafia-hud__quick-item--bank {
        grid-column: 10 / 13;
        grid-row: 2;
        border-right: 0;
    }

    .gc-mafia-hud__meter--health,
    .gc-mafia-hud__meter--nested {
        min-height: 34px;
        align-content: center;
        gap: 0;
        padding: 3px 6px;
    }

    .gc-mafia-hud__meter--health:has(.health-kritiek),
    .gc-mafia-hud__meter--health:has(.health-stervend) {
        background: var(--gc-mafia-danger-surface);
        color: var(--gc-mafia-danger-text);
        box-shadow: inset 0 -2px 0 var(--gc-mafia-danger-border);
        animation: gc-mafia-hud-danger-pulse 1.6s ease-in-out infinite;
    }

    .gc-mafia-hud__meter--health:has(.health-waarschuwing),
    .gc-mafia-hud__meter-wrap--energy:has(.energie-uitgeput) {
        background: var(--gc-mafia-value-wash);
        color: var(--gc-mafia-value-text);
        box-shadow: inset 0 -2px 0 var(--gc-mafia-value-border);
    }

    .gc-mafia-hud__meter-wrap--energy:has(.energie-leeg) {
        background: var(--gc-mafia-danger-surface);
        color: var(--gc-mafia-danger-text);
        box-shadow: inset 0 -2px 0 var(--gc-mafia-danger-border);
        animation: gc-mafia-hud-danger-pulse 1.6s ease-in-out infinite;
    }

    .gc-mafia-hud__meter--health:has(.health-kritiek) .gc-mafia-hud__label,
    .gc-mafia-hud__meter--health:has(.health-kritiek) .gc-mafia-hud__percentage,
    .gc-mafia-hud__meter--health:has(.health-kritiek) .gc-mafia-icon,
    .gc-mafia-hud__meter--health:has(.health-stervend) .gc-mafia-hud__label,
    .gc-mafia-hud__meter--health:has(.health-stervend) .gc-mafia-hud__percentage,
    .gc-mafia-hud__meter--health:has(.health-stervend) .gc-mafia-icon {
        color: var(--gc-mafia-danger-text);
    }

    .gc-mafia-hud__meter--health:has(.health-waarschuwing) .gc-mafia-hud__label,
    .gc-mafia-hud__meter--health:has(.health-waarschuwing) .gc-mafia-hud__percentage,
    .gc-mafia-hud__meter--health:has(.health-waarschuwing) .gc-mafia-icon,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-uitgeput) .gc-mafia-hud__label,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-uitgeput) .gc-mafia-hud__percentage,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-uitgeput) .gc-mafia-icon,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-uitgeput) .gc-info-btn {
        color: var(--gc-mafia-value-text);
    }

    .gc-mafia-hud__meter-wrap--energy:has(.energie-leeg) .gc-mafia-hud__label,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-leeg) .gc-mafia-hud__percentage,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-leeg) .gc-mafia-icon,
    .gc-mafia-hud__meter-wrap--energy:has(.energie-leeg) .gc-info-btn {
        color: var(--gc-mafia-danger-text);
    }

    .gc-mafia-hud__meter--rank .gc-mafia-hud__meter-heading {
        display: block;
    }

    .gc-mafia-hud__meter--rank .gc-mafia-hud__label {
        display: none;
    }

    .gc-mafia-hud__rank-meta {
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-rows: 31px;
        gap: 0 5px;
        align-items: center;
    }

    .gc-mafia-hud__rank-name {
        grid-column: 1;
        grid-row: 1;
        font-size: 11px;
        line-height: 16px;
    }

    .gc-mafia-hud__meter--rank .gc-mafia-hud__percentage {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        font-size: 11px;
        line-height: 16px;
    }

    .gc-mafia-hud__meter--rank .rang-xbtip {
        display: flex;
        grid-column: 3;
        grid-row: 1;
        width: auto;
        min-width: 0;
        height: 31px;
    }

    .gc-mafia-hud__rank-meta:has(> .rang-xbtip > #rang_xb_wrap[style*="none"]) {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .gc-mafia-hud__rank-meta:has(> .rang-xbtip > #rang_xb_wrap[style*="none"]) .rang-xbtip {
        display: none;
    }

    .gc-mafia-hud .gc-mafia-hud__boost {
        position: relative;
        box-sizing: border-box;
        isolation: isolate;
        width: auto;
        min-width: 35px;
        min-height: 35px;
        margin: -2px 0;
        padding: 0 4px;
        border: 0;
        background: transparent;
        font-size: 11px;
    }

    .gc-mafia-hud .gc-mafia-hud__boost::before {
        position: absolute;
        z-index: -1;
        inset: 6px 0;
        border: 1px solid var(--gc-mafia-value-border);
        border-radius: 2px;
        background: var(--gc-mafia-value-surface);
        content: "";
    }

    .gc-mafia-hud .gc-mafia-hud__boost .gc-mafia-icon {
        display: none;
    }

    .gc-mafia-hud__progress {
        height: 4px;
    }

    .gc-mafia-hud__meter--rank > .gc-mafia-hud__progress {
        display: none;
    }

    .gc-mafia-hud__meter--health .gc-mafia-hud__progress,
    .gc-mafia-hud__meter-wrap--energy .gc-mafia-hud__progress {
        display: none;
    }

    .gc-mafia-hud__meter--health .gc-mafia-hud__label-text,
    .gc-mafia-hud__meter-wrap--energy .gc-mafia-hud__label-text {
        display: none;
    }

    .gc-mafia-hud__meter--health .gc-mafia-icon,
    .gc-mafia-hud__meter-wrap--energy .gc-mafia-icon {
        display: block;
        width: 15px;
        height: 15px;
    }

    .gc-mafia-hud__label,
    .gc-mafia-hud__percentage {
        font-size: 11px;
    }

    .gc-mafia-hud__meter-wrap--energy:has(.gc-mafia-hud__meter-info) .gc-mafia-hud__value-line {
        padding-right: 22px;
    }

    .gc-mafia-hud__meter-wrap--energy .gc-mafia-hud__meter-info {
        top: 50%;
        right: 3px;
        bottom: auto;
        transform: translateY(-50%);
    }

    .gc-mafia-hud__quick-item {
        min-height: 35px;
        gap: 2px;
        padding: 2px;
    }

    .gc-mafia-hud__quick-item--city {
        min-height: 34px;
    }

    .gc-mafia-hud__quick-label {
        display: none;
    }

    .gc-mafia-hud__quick-item--cash > .gc-mafia-icon {
        display: none;
    }

    .gc-mafia-hud__quick-item--bank > .gc-mafia-icon {
        display: block;
        width: 12px;
        height: 12px;
    }

    .gc-mafia-hud__quick-copy strong {
        font-size: 11px;
    }
}

@container gc-mafia-hud (max-width: 279px) {
    .gc-mafia-hud__layout {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .gc-mafia-hud__meter--health {
        grid-column: 1 / 3;
    }

    .gc-mafia-hud__meter-wrap--energy {
        grid-column: 3 / 5;
    }

    .gc-mafia-hud__quick-item--city {
        grid-column: 5 / 7;
    }

    .gc-mafia-hud__meter--rank {
        grid-column: 1 / 7;
        grid-row: 2;
        border-right: 0;
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-hud__quick-item--cash,
    .gc-mafia-hud__quick-item--bank {
        grid-row: 3;
        min-height: 35px;
    }

    .gc-mafia-hud__quick-item--cash {
        grid-column: 1 / 4;
    }

    .gc-mafia-hud__quick-item--bank {
        grid-column: 4 / 7;
    }
}

@keyframes gc-mafia-hud-danger-pulse {
    0%, 100% { box-shadow: inset 0 -2px 0 var(--gc-mafia-danger-border); }
    50% { box-shadow: inset 0 -2px 0 var(--gc-mafia-danger-text), 0 0 8px var(--gc-mafia-danger-shadow); }
}

@media (prefers-reduced-motion: reduce) {
    .gc-mafia *,
    .gc-mafia *::before,
    .gc-mafia *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

    .gc-mafia-button__spinner {
        border-right-color: currentColor;
    }
}

/* Dagelijkse missies: dossieroverzicht op de gedeelde Mafia UI-primitives. */
.gc-mafia-daily {
    text-align: left;
}

.gc-mafia-daily .gc-mafia-page__inner {
    max-width: 980px;
    min-width: 0;
}

.gc-mafia-daily .gc-mafia-page__inner > *,
.gc-mafia-daily .dm-tab-panel,
.gc-mafia-daily .dm-card-list {
    min-width: 0;
}

.gc-mafia-daily .dm-hero {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
    margin: 0;
    border-radius: var(--gc-mafia-radius);
    background-color: var(--gc-mafia-color-panel);
}

.gc-mafia-daily .dm-loopbaan {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.gc-mafia-daily .dm-loopbaan-top {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-daily .dm-loopbaan-rang {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
    text-shadow: none;
}

.gc-mafia-daily .dm-loopbaan-rang .gc-mafia-icon {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-daily .dm-loopbaan-count,
.gc-mafia-daily .dm-loopbaan-next {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
    white-space: normal;
}

.gc-mafia-daily .dm-loopbaan .gc-mafia-progress {
    margin: var(--gc-mafia-space-2) 0 var(--gc-mafia-space-1);
}

.gc-mafia-daily .dm-loopbaan-pill {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-value-text);
}

.gc-mafia-daily .dm-tabs {
    margin: 0;
}

.gc-mafia-daily .dm-tab-panel {
    padding-top: 0;
}

.gc-mafia-daily .dm-overview {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    margin: 0 0 var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-left: 2px solid var(--gc-mafia-value-border);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-daily .dm-overview__icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-interactive-muted);
    font-size: 0;
}

.gc-mafia-daily .dm-overview__copy h2 {
    margin: 0 0 var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
    text-align: left;
}

.gc-mafia-daily .dm-overview__copy p {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
    text-align: left;
}

.gc-mafia-daily .dm-overview__copy a {
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-daily .dm-overview__stats {
    display: flex;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-daily .dm-stat {
    display: grid;
    min-width: 96px;
    gap: var(--gc-mafia-space-1);
    padding: 0 0 0 var(--gc-mafia-space-3);
    border: 0;
    border-left: 1px solid var(--gc-mafia-rule);
    border-radius: 0;
    background: transparent;
    text-align: left;
}

.gc-mafia-daily .dm-stat small {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-daily .dm-stat strong {
    margin: 0;
    color: var(--gc-mafia-color-value);
    font: bold var(--gc-mafia-type-body)/1.25 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-daily .dm-card-list {
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-daily .dm-card.gc-mafia-dossier {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: visible;
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    box-shadow: none;
    opacity: 1;
}

.gc-mafia-daily .dm-header {
    margin: 0;
}

.gc-mafia-daily .dm-title {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-daily .dm-title > .gc-mafia-stamp {
    justify-self: start;
}

.gc-mafia-daily .dm-title__main {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    overflow-wrap: anywhere;
}

.gc-mafia-daily .dm-title__icon {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-daily .dm-diff {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-meta);
    font-weight: bold;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.gc-mafia-daily .dm-desc.gc-mafia-dossier__story {
    margin: var(--gc-mafia-space-2) 0 var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-daily .dm-progress-wrap {
    margin: 0 0 var(--gc-mafia-space-3);
}

.gc-mafia-daily .dm-progress-count {
    min-width: 0;
    color: var(--gc-mafia-color-meta);
    text-align: right;
    font-weight: bold;
    font-variant-numeric: tabular-nums;
}

.gc-mafia-daily .dm-reward {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: var(--gc-mafia-space-2) 0;
    border: 0;
    border-top: 1px solid var(--gc-mafia-rule);
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-value);
}

.gc-mafia-daily .dm-reward__copy {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-daily .dm-reward__label {
    color: var(--gc-mafia-color-meta);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-daily .dm-reward__value {
    color: var(--gc-mafia-color-value);
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-daily .dm-reward .dm-trust {
    margin-left: auto;
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-daily .dm-actions {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-daily .dm-actions form {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin: 0;
}

.gc-mafia-daily .dm-btn.gc-mafia-button {
    min-height: 36px;
    border-radius: 2px;
    font-family: var(--gc-mafia-font-ui);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-daily .dm-btn.gc-mafia-button--primary {
    background: var(--gc-mafia-color-interactive);
    color: #101515;
    box-shadow: none;
}

.gc-mafia-daily .dm-btn--loading::before {
    display: none;
}

.gc-mafia-daily .dm-reroll-gericht {
    min-width: min(100%, 240px);
    margin: 0;
}

.gc-mafia-daily .dm-reroll-gericht .gc-select {
    width: 100%;
    min-height: 36px;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}
.gc-mafia-daily .dm-reroll-gericht[open] + .dm-btn.gc-mafia-button {
    margin-bottom: var(--gc-mafia-space-3);
}

.gc-mafia-daily .dm-inline-status {
    margin-top: var(--gc-mafia-space-3);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-daily .dm-card-note {
    display: flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-daily .dm-card-note--done {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-daily .dm-ct-avatar {
    width: 34px;
    height: 34px;
    margin: 0;
    border: 1px solid var(--gc-mafia-value-border);
    border-radius: 2px;
    object-fit: cover;
}

.gc-mafia-daily .dm-empty {
    padding: var(--gc-mafia-space-5) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-body);
    text-align: center;
}

.gc-mafia-daily .dm-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-daily .dm-guide-card h3 {
    margin: 0 0 var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-daily .dm-guide-card p,
.gc-mafia-daily .dm-guide-card ul.gc-uitleg-list,
.gc-mafia-daily .dm-guide-card ul.gc-uitleg-list li {
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
}

.gc-mafia-daily .dm-guide-note {
    margin: var(--gc-mafia-space-3) 0 0;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    border-left: 2px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
    line-height: 1.5;
}

@media (max-width: 700px) {
    .gc-mafia-daily .dm-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-daily .dm-overview {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .gc-mafia-daily .dm-overview__stats {
        grid-column: 1 / -1;
    }
}

@media (max-width: 430px) {
    .gc-mafia-daily .dm-reward {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .gc-mafia-daily .dm-reward__copy {
        flex: 1 1 calc(100% - 28px);
    }

    .gc-mafia-daily .dm-reward .dm-trust {
        flex: 1 1 100%;
        margin: 0 0 0 26px;
    }
}

@media (max-width: 399px) {
    .gc-mafia-daily .dm-hero {
        gap: var(--gc-mafia-space-3);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-daily .gc-mafia-content-header__aside {
        padding-top: var(--gc-mafia-space-2);
    }

    .gc-mafia-daily .dm-loopbaan-top {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .gc-mafia-daily .dm-loopbaan-rang {
        font-size: 17px;
    }

    .gc-mafia-daily .dm-loopbaan-count {
        text-align: right;
    }

    .gc-mafia-daily .dm-tabs {
        flex-wrap: nowrap;
        overflow: visible;
    }

    .gc-mafia-daily .gc-mafia-tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .gc-mafia-daily .dm-overview {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-daily .dm-overview__icon {
        width: 30px;
        height: 30px;
    }

    .gc-mafia-daily .dm-overview__stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--gc-mafia-space-2);
    }

    .gc-mafia-daily .dm-stat {
        min-width: 0;
        padding-left: var(--gc-mafia-space-2);
    }

    .gc-mafia-daily .dm-card.gc-mafia-dossier {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-daily .dm-header {
        align-items: flex-start;
        flex-direction: row;
    }

    .gc-mafia-daily .dm-title {
        flex: 1 1 auto;
    }

    .gc-mafia-daily .dm-diff {
        margin-left: auto;
        font-size: var(--gc-mafia-type-kicker);
    }

    .gc-mafia-daily .dm-actions form,
    .gc-mafia-daily .dm-btn.gc-mafia-button,
    .gc-mafia-daily .dm-reroll-gericht {
        width: 100%;
    }

    .gc-mafia-daily .dm-btn.gc-mafia-button {
        min-height: 44px;
    }
    .gc-mafia-daily .dm-reroll-gericht[open] + .dm-btn.gc-mafia-button {
        margin-bottom: 0;
    }

    .gc-mafia-daily .dm-guide-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Statistics composition: local layout over the shared archive primitives. */
.gc-mafia-statistics.gc-mafia-test-width-375 {
    width: 375px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.gc-mafia-statistics .gc-section-heading__kicker,
.gc-mafia-statistics .gc-mafia-content-header__kicker {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .12em;
}

.gc-mafia-statistics .gc-record-stat strong,
.gc-mafia-statistics .gc-title-countdown strong,
.gc-mafia-statistics .gc-casino-number {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-statistics .gc-title-holder-group + .gc-title-holder-group,
.gc-mafia-statistics .gc-metric-group + .gc-metric-group {
    border-top-color: var(--gc-mafia-rule);
}

.gc-mafia-statistics .gc-title-holder-group__heading h3,
.gc-mafia-statistics .gc-metric-group > h3 {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
}

.gc-mafia-statistics .gc-title-holder-group__heading span,
.gc-mafia-statistics .gc-title-holder-card__meta dt,
.gc-mafia-statistics .gc-title-timeline__item time {
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
}

.gc-mafia-statistics .gc-title-holder-card h3,
.gc-mafia-statistics .gc-title-timeline__item strong,
.gc-mafia-statistics .gc-title-entry h3 {
    color: var(--gc-mafia-color-heading);
    font-family: var(--gc-mafia-font-display);
}

.gc-mafia-statistics .gc-title-holder-card__desc,
.gc-mafia-statistics .gc-title-holder-card__meta dd,
.gc-mafia-statistics .gc-title-entry p,
.gc-mafia-statistics .gc-title-timeline__item p {
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-statistics .gc-title-timeline__item,
.gc-mafia-statistics .gc-title-entry,
.gc-mafia-statistics .gc-casino-table,
.gc-mafia-statistics .gc-casino-row {
    border-color: var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-statistics .gc-title-timeline__item::before,
.gc-mafia-statistics .gc-title-entry {
    border-left-color: var(--gc-mafia-rule-strong);
}

.gc-mafia-statistics .gc-title-timeline__item::before {
    background: var(--gc-mafia-color-value);
}

.gc-mafia-statistics .gc-casino-panel {
    overflow: hidden;
    border-color: var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-statistics .gc-casino-panel__icon {
    border-color: var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-statistics .gc-casino-panel__icon .gc-mafia-icon {
    width: 16px;
    height: 16px;
}

.gc-mafia-statistics .gc-casino-panel__copy strong,
.gc-mafia-statistics .gc-casino-cell--city {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-statistics .gc-casino-panel__copy small,
.gc-mafia-statistics .gc-casino-table__head span,
.gc-mafia-statistics .gc-casino-cell::before,
.gc-mafia-statistics .gc-muted,
.gc-mafia-statistics .gc-empty-state {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-statistics .gc-casino-panel__copy small {
    font-size: var(--gc-mafia-type-body);
}

.gc-mafia-statistics .gc-casino-cell {
    min-height: 42px;
    border-color: var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-statistics .gc-casino-number--positive {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-statistics .gc-casino-number--negative {
    color: var(--gc-mafia-danger-text);
}

@container (max-width: 760px) {
    .gc-mafia-statistics .gc-mafia-archive__header {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .gc-mafia-statistics .gc-mafia-archive__header .gc-mafia-content-header__aside {
        grid-column: 1 / -1;
        min-width: 0;
        width: 100%;
        padding: var(--gc-mafia-space-3);
        border-top: 1px solid var(--gc-mafia-rule);
        border-left: 0;
        background: var(--gc-mafia-color-surface-raised);
    }

    .gc-mafia-statistics .gc-leaderboard-grid,
    .gc-mafia-statistics .gc-progress-page .gc-leaderboard-grid.gc-leaderboard-grid--three,
    .gc-mafia-statistics .gc-title-timeline {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-statistics .gc-title-holder-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-statistics .gc-casino-table__head {
        display: none;
    }

    .gc-mafia-statistics .gc-casino-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: var(--gc-mafia-space-2);
    }

    .gc-mafia-statistics .gc-casino-cell {
        display: grid;
        align-content: start;
        gap: 3px;
        padding: var(--gc-mafia-space-2);
        border: 0;
    }

    .gc-mafia-statistics .gc-casino-cell::before {
        display: block;
    }

    .gc-mafia-statistics .gc-casino-cell--city,
    .gc-mafia-statistics .gc-casino-cell--owner {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
    }

    .gc-mafia-statistics .gc-casino-cell--city::before {
        display: none;
    }

    .gc-mafia-statistics .gc-casino-cell--owner {
        border-bottom: 1px solid var(--gc-mafia-rule);
    }
}

@container (max-width: 399px) {
    .gc-mafia-statistics .gc-mafia-page__inner,
    .gc-mafia-statistics .gc-section-card,
    .gc-mafia-statistics .gc-leaderboard-grid,
    .gc-mafia-statistics .gc-title-holder-grid {
        min-width: 0;
    }

    .gc-mafia-statistics .gc-mafia-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .gc-mafia-statistics .gc-mafia-tabs::-webkit-scrollbar {
        display: none;
    }

    .gc-mafia-statistics .gc-mafia-tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .gc-mafia-statistics .gc-mafia-archive__header {
        grid-template-columns: 24px minmax(0, 1fr);
    }

    .gc-mafia-statistics .gc-mafia-archive__icon {
        width: 21px;
        height: 21px;
    }

    .gc-mafia-statistics .gc-mafia-content-header__title {
        font-size: var(--gc-mafia-type-title);
    }

    .gc-mafia-statistics .gc-record-stat {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 2px var(--gc-mafia-space-3);
        text-align: left;
    }

    .gc-mafia-statistics .gc-record-stat span {
        min-width: 0;
        font-size: var(--gc-mafia-type-kicker);
        overflow-wrap: anywhere;
    }

    .gc-mafia-statistics .gc-record-stat strong {
        grid-row: 1 / 3;
        grid-column: 2;
        margin: 0;
        white-space: nowrap;
    }

    .gc-mafia-statistics .gc-record-stat small {
        margin: 0;
    }

    .gc-mafia-statistics .gc-mafia-archive__section {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-statistics .gc-mafia-summary-ledger {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-statistics .gc-metric-grid--featured.gc-mafia-summary-ledger {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-statistics .gc-mafia-summary-item {
        min-height: 72px;
        padding: var(--gc-mafia-space-3) var(--gc-mafia-space-2) var(--gc-mafia-space-2) 34px;
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-statistics .gc-mafia-summary-item:nth-child(2n) {
        border-right: 0;
    }

    .gc-mafia-statistics .gc-mafia-summary-item .gc-metric-card__icon {
        left: 9px;
    }

    .gc-mafia-statistics .gc-mafia-prestige-row--head {
        display: none;
    }

    .gc-mafia-statistics .gc-mafia-prestige-row {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-3) var(--gc-mafia-space-2);
    }

    .gc-mafia-statistics .gc-mafia-prestige-row > :last-child {
        grid-column: 2 / -1;
    }

    .gc-mafia-statistics .gc-title-holder-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-statistics .gc-casino-panel > summary {
        grid-template-columns: 28px minmax(0, 1fr) 16px;
    }

    .gc-mafia-statistics .gc-casino-panel > summary > b {
        display: none;
    }
}

@container (max-width: 340px) {
    .gc-mafia-statistics .gc-mafia-summary-ledger {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-statistics .gc-mafia-summary-item {
        border-right: 0;
    }
}

/* Status dossier: shared shell around the legacy status data sources. */
.gc-mafia-status {
    width: 100%;
    container-type: inline-size;
    background: transparent;
}

.gc-mafia-status.gc-mafia-test-width-375 {
    width: 375px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.gc-mafia-status .gc-mafia-page__inner {
    max-width: 980px;
}

.gc-mafia-status__header {
    grid-template-columns: 28px minmax(0, 1fr);
}

.gc-mafia-status__header-icon {
    width: 24px;
    height: 24px;
    color: var(--gc-mafia-color-value);
}

.gc-mafia-status-promo {
    display: grid;
    min-height: 48px;
    grid-template-columns: 18px minmax(0, 1fr) 44px;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    margin: 0;
    padding: var(--gc-mafia-space-2) 0 var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    border-left: 2px solid var(--gc-mafia-color-interactive-muted);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-status-promo > .gc-mafia-icon {
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-status-promo p {
    min-width: 0;
    margin: 0;
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-label);
    line-height: 1.45;
}

.gc-mafia-status-promo p a {
    margin-right: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-interactive-text);
    font-weight: bold;
}

.gc-mafia-status-promo p span::before {
    content: "\2014\00a0";
    color: var(--gc-mafia-color-faint);
}

.gc-mafia-status-promo button {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--gc-mafia-color-meta);
    cursor: pointer;
}

.gc-mafia-status-promo button .gc-mafia-icon {
    width: 15px;
    height: 15px;
}

.gc-mafia-status-promo button:focus-visible {
    background: var(--gc-mafia-interactive-surface);
    outline: 1px solid var(--gc-mafia-interactive-border);
    outline-offset: -1px;
}

.gc-mafia-status table.center {
    width: 100%;
    margin-top: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    border-spacing: 0;
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    table-layout: fixed;
    overflow: hidden;
}

.gc-mafia-status table.center td {
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

.gc-mafia-status table.center .subTitle {
    height: auto;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 0;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
    text-align: left;
}

.gc-mafia-status table.center .optieMenu,
.gc-mafia-status table.center .optieMenuTinted,
.gc-mafia-status table.center .optieMenuTitle {
    height: 46px;
    min-height: 46px;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: transparent;
    color: var(--gc-mafia-color-text);
    font-family: var(--gc-mafia-font-ui);
    font-size: var(--gc-mafia-type-data);
    line-height: 1.45;
}

.gc-mafia-status table.center tr:last-child > .optieMenu,
.gc-mafia-status table.center tr:last-child > .optieMenuTinted,
.gc-mafia-status table.center tr:last-child > .optieMenuTitle {
    border-bottom: 0;
}

.gc-mafia-status table.center .optieMenuTitle {
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-kicker);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-status--status .gc-layout {
    width: calc(100% + var(--gc-mafia-space-3));
    margin: 0 calc(var(--gc-mafia-space-3) / -2);
    border: 0;
    border-spacing: calc(var(--gc-mafia-space-3) / 2) 0;
    background: transparent;
}

.gc-mafia-status--status .gc-layout > tbody > tr > .gc-col {
    padding: 0;
    vertical-align: top;
}

.gc-mafia-status--status .gc-layout > tbody > tr > .gc-col > table.center:first-child {
    margin-top: 0;
}

.gc-mafia-status--status .gc-layout table.center td:first-child {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-status--status .gc-layout table.center td:last-child {
    color: var(--gc-mafia-color-heading);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-status--status .gc-layout table.center td .gc-mafia-icon {
    width: 14px;
    height: 14px;
    margin-right: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-interactive-muted);
    vertical-align: -2px;
}

.gc-mafia-status .gc-progress-track.gc-mafia-progress {
    height: 8px;
    border: 0;
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-status .gc-info-btn {
    width: 24px;
    height: 24px;
    border-color: var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-status .gc-info-tooltip {
    border-color: var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font-family: var(--gc-mafia-font-ui);
}

.gc-mafia-status .gc-pagi {
    width: auto;
    margin-right: auto;
    margin-left: auto;
    table-layout: auto;
}

.gc-mafia-status .gc-pagi td.optieMenu {
    min-width: 44px;
    padding: 0;
    text-align: center;
}

.gc-mafia-status .gc-pagi a {
    display: grid;
    min-height: 44px;
    place-items: center;
}

.gc-mafia-status-mobile-label {
    display: none;
}

.gc-mafia-status--kosten .gc-mafia-cost-row .gc-mafia-amount {
    color: var(--gc-mafia-color-value);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-status--kosten .gc-mafia-cost-row--total .optieMenuTitle:not(:first-child) {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-status--rangen .gc-mafia-rank-row--current td {
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-status-current {
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-status-complete {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-status-danger {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-status-locked {
    color: var(--gc-mafia-color-faint);
}

.gc-mafia-rank-date,
.gc-mafia-rank-duration {
    display: block;
    font-variant-numeric: tabular-nums;
}

.gc-mafia-rank-duration {
    margin-top: 2px;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-label);
    line-height: 1.35;
}

.gc-mafia-status-empty-icon {
    width: 16px;
    height: 16px;
    margin-right: var(--gc-mafia-space-2);
    color: var(--gc-mafia-danger-text);
    vertical-align: -3px;
}

.gc-mafia-status--achievements .gc-mafia-achievement-summary td:last-child span {
    color: var(--gc-mafia-color-meta) !important;
}

.gc-mafia-status--achievements .gc-mafia-achievement-summary td:last-child span:nth-of-type(2) {
    color: var(--gc-mafia-color-interactive-text) !important;
}

.gc-mafia-status--achievements .gc-mafia-achievement-summary td:last-child span:last-of-type {
    color: var(--gc-mafia-color-value) !important;
}

.gc-mafia-status-value,
.gc-mafia-status-pagination {
    text-align: right;
}

.gc-mafia-status-value {
    white-space: nowrap;
}

.gc-mafia-status-progress-table td:nth-child(1) {
    width: 30% !important;
}

.gc-mafia-status-progress-table td:nth-child(2) {
    width: 50% !important;
}

.gc-mafia-status-progress-table td:nth-child(3) {
    width: 20% !important;
}

.gc-mafia-status-note {
    color: var(--gc-mafia-color-meta) !important;
}

.gc-mafia-achievement-summary__progress,
.gc-mafia-achievement-summary__tiers {
    vertical-align: top;
}

.gc-mafia-achievement-summary__title {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-achievement-summary__meta {
    margin: 2px 0 var(--gc-mafia-space-3);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-achievement-summary__tiers {
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-label);
    line-height: 1.6;
}

.gc-mafia-tier-common {
    color: var(--gc-mafia-color-text);
}

.gc-mafia-tier-rare {
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-tier-epic {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-tier-legendary {
    color: var(--gc-mafia-color-value);
}

.gc-mafia-achievement-sort a {
    color: inherit;
}

.gc-mafia-achievement-main {
    padding: var(--gc-mafia-space-3) !important;
}

.gc-mafia-achievement-main__layout {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}

.gc-mafia-achievement-main__icon-cell {
    width: 72px;
    padding: 0;
    vertical-align: middle;
}

.gc-mafia-achievement-main__icon {
    display: inline-block;
    line-height: 0;
}

.gc-mafia-achievement-main__icon img {
    width: 64px;
    height: 64px;
    object-fit: cover;
}

.gc-mafia-achievement-list .ach-row.is-locked .gc-mafia-achievement-main__icon img {
    filter: grayscale(1) brightness(.5);
}

.gc-mafia-achievement-main__copy {
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    vertical-align: middle;
}

.gc-mafia-achievement-main__title {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-achievement-list .ach-row.is-locked .gc-mafia-achievement-main__title {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-achievement-main__description,
.gc-mafia-achievement-main__progress {
    margin-top: 3px;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-label);
    line-height: 1.4;
}

.gc-mafia-achievement-main__progress {
    font-size: var(--gc-mafia-type-kicker);
}

.gc-mafia-status-pagination {
    padding: var(--gc-mafia-space-3) !important;
    text-align: center;
}

.gc-mafia-status--achievements .ach-row > td {
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-status--achievements .ach-row:last-child > td {
    border-bottom: 0;
}

@container (max-width: 760px) {
    .gc-mafia-statistics .gc-leaderboard-row,
    .gc-mafia-statistics .gc-leaderboard-row__score,
    .gc-mafia-statistics .gc-mafia-prestige-row:not(.gc-mafia-prestige-row--head),
    .gc-mafia-status table.center .optieMenu,
    .gc-mafia-status table.center .optieMenuTinted {
        height: auto;
        font-size: var(--gc-mafia-type-label);
    }

    .gc-mafia-status--status .gc-layout,
    .gc-mafia-status--status .gc-layout > tbody,
    .gc-mafia-status--status .gc-layout > tbody > tr,
    .gc-mafia-status--status .gc-layout > tbody > tr > .gc-col {
        display: block;
        width: 100% !important;
    }

    .gc-mafia-status--status .gc-layout {
        margin: 0;
    }
}

@container (max-width: 399px) {
    .gc-mafia-status .gc-mafia-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .gc-mafia-status .gc-mafia-tabs::-webkit-scrollbar {
        display: none;
    }

    .gc-mafia-status .gc-mafia-tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .gc-mafia-status__header {
        grid-template-columns: 22px minmax(0, 1fr);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-status__header-icon {
        width: 20px;
        height: 20px;
    }

    .gc-mafia-status__header .gc-mafia-content-header__title {
        font-size: var(--gc-mafia-type-title);
    }

    .gc-mafia-status-promo {
        grid-template-columns: 16px minmax(0, 1fr) 44px;
        gap: var(--gc-mafia-space-2);
    }

    .gc-mafia-status-promo p span {
        display: block;
        margin-top: 2px;
    }

    .gc-mafia-status-promo p span::before {
        content: "";
    }

    .gc-mafia-status table.center .subTitle,
    .gc-mafia-status table.center .optieMenu,
    .gc-mafia-status table.center .optieMenuTinted,
    .gc-mafia-status table.center .optieMenuTitle {
        padding-right: var(--gc-mafia-space-3);
        padding-left: var(--gc-mafia-space-3);
    }

    .gc-mafia-status--status .gc-layout table.center td:first-child {
        width: 46%;
    }

    .gc-mafia-status--status .gc-layout table.center td:last-child {
        width: 54%;
    }

    .gc-mafia-status--status .gc-mafia-status-progress-table td:nth-child(1) {
        width: 35% !important;
    }

    .gc-mafia-status--status .gc-mafia-status-progress-table td:nth-child(2) {
        width: 30% !important;
    }

    .gc-mafia-status--status .gc-mafia-status-progress-table td:nth-child(3) {
        width: 35% !important;
    }

    .gc-mafia-status--achievements .ach-row > td:first-child {
        width: 66%;
    }

    .gc-mafia-status--achievements .ach-row > td:not(:first-child) {
        width: 17%;
        padding: var(--gc-mafia-space-2);
    }

    .gc-mafia-status--achievements .ach-row img {
        width: 56px !important;
        height: 56px !important;
    }

    .gc-mafia-status-mobile-label {
        display: block;
        margin-bottom: 3px;
        color: var(--gc-mafia-color-meta);
        font-size: var(--gc-mafia-type-kicker);
        font-weight: bold;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .gc-mafia-status--kosten .gc-mafia-cost-table > tbody > tr:first-child,
    .gc-mafia-status--rangen .gc-mafia-rank-table > tbody > tr:first-child {
        display: none;
    }

    .gc-mafia-status--kosten .gc-mafia-cost-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-status--kosten .gc-mafia-cost-row:last-child {
        border-bottom: 0;
    }

    .gc-mafia-status--kosten .gc-mafia-cost-row > td {
        display: block;
        width: auto;
        border-bottom: 0;
    }

    .gc-mafia-status--kosten .gc-mafia-cost-row > td:first-child {
        grid-column: 1 / -1;
        padding-bottom: var(--gc-mafia-space-2);
        color: var(--gc-mafia-color-heading);
        font-weight: bold;
    }

    .gc-mafia-status--kosten .gc-mafia-cost-row > td:not(:first-child) {
        padding-top: var(--gc-mafia-space-2);
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row {
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr) auto;
        align-items: center;
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row:last-child {
        border-bottom: 0;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row > td {
        display: block;
        width: auto;
        padding: var(--gc-mafia-space-2);
        border-bottom: 0;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row > td:nth-child(1) {
        grid-row: 1 / 3;
        color: var(--gc-mafia-color-faint);
        text-align: center;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row > td:nth-child(2) {
        color: var(--gc-mafia-color-heading);
        font-weight: bold;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row > td:nth-child(3) {
        grid-column: 2;
        color: var(--gc-mafia-color-meta);
        font-variant-numeric: tabular-nums;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row > td:nth-child(4) {
        grid-row: 1;
        grid-column: 3;
        text-align: right;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row > td:nth-child(5) {
        grid-row: 2;
        grid-column: 3;
        color: var(--gc-mafia-color-meta);
        text-align: right;
    }

    .gc-mafia-status--rangen .gc-mafia-rank-row .gc-mafia-status-mobile-label {
        display: inline;
        margin-right: 4px;
    }

    .gc-mafia-status--gevangenis .gc-mafia-prison-table > tbody > tr:first-child {
        display: none;
    }

    .gc-mafia-status--gevangenis .gc-mafia-prison-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-status--gevangenis .gc-mafia-prison-row:last-child {
        border-bottom: 0;
    }

    .gc-mafia-status--gevangenis .gc-mafia-prison-row > td {
        display: block;
        width: auto;
        padding: var(--gc-mafia-space-3);
        border-bottom: 0;
    }

    .gc-mafia-status--gevangenis .gc-mafia-prison-row > td:nth-child(2),
    .gc-mafia-status--gevangenis .gc-mafia-prison-row > td:nth-child(4) {
        text-align: right;
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-summary > tbody > tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-summary td {
        display: block;
        width: auto;
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-sort td:first-child {
        width: 46%;
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-sort td:not(:first-child) {
        width: 27%;
        text-align: center;
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-list .ach-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-bottom: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-list .ach-row > td {
        display: block;
        width: auto !important;
        border-bottom: 0;
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-list .ach-row > td:first-child {
        grid-column: 1 / -1;
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-list .ach-row > td:not(:first-child) {
        padding: var(--gc-mafia-space-3);
        background: var(--gc-mafia-color-surface-raised);
        font-variant-numeric: tabular-nums;
    }

    .gc-mafia-status--achievements .gc-mafia-achievement-list .ach-row > td:last-child {
        text-align: right !important;
    }
}

/* Directory overrides stay last so the exact-width container wins over base mobile defaults. */
/* Catalogus en inventaris: voertuigen, opslag en andere bezitlijsten. */
.gc-mafia-inventory {
    width: 100%;
    min-width: 0;
    container-type: inline-size;
}

.gc-mafia-inventory.gc-mafia-test-width-375 {
    width: 375px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.gc-mafia-inventory .gc-mafia-page__inner {
    display: grid;
    gap: var(--gc-mafia-space-3);
    max-width: 980px;
}

.gc-mafia-inventory__header {
    margin: 0;
}

.gc-mafia-inventory__brief,
.gc-mafia-inventory__toolbar,
.gc-mafia-inventory__transport,
.gc-mafia-inventory__aside-section {
    border: 1px solid var(--gc-mafia-rule);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-inventory__brief-copy,
.gc-mafia-inventory__rate-guide > p,
.gc-mafia-inventory__aside-note,
.gc-mafia-inventory__transport p {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__brief-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-inventory__brief-steps > div,
.gc-mafia-inventory__rate-guide {
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-inventory__brief-steps strong,
.gc-mafia-inventory__rate-guide h2,
.gc-mafia-inventory__facts > div > span,
.gc-mafia-inventory__order-meta {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-inventory__brief-steps p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__rate-guide {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-inventory__rate-guide h2 {
    margin: 0 0 var(--gc-mafia-space-2);
}

.gc-mafia-inventory__rate-guide ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--gc-mafia-space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-inventory__rate-guide li {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: var(--gc-mafia-space-2);
    border-bottom: 2px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-color-surface-raised);
    text-align: center;
}

.gc-mafia-inventory__rate-guide li strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.2 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-inventory__rate-guide li span {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__rate-guide > p {
    margin-top: var(--gc-mafia-space-2);
    font-size: var(--gc-mafia-type-label);
}

.gc-mafia-inventory__toolbar {
    overflow: hidden;
}

.gc-mafia-inventory__quick-actions,
.gc-mafia-inventory__record-actions,
.gc-mafia-inventory__selection-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-inventory__quick-actions {
    padding: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-inventory__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-inventory__main,
.gc-mafia-inventory__aside {
    display: grid;
    align-content: start;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
}

.gc-mafia-inventory__filter,
.gc-mafia-inventory__select-all {
    display: inline-flex;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    width: fit-content;
    min-height: 36px;
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__filter strong {
    color: var(--gc-mafia-color-heading);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-inventory__filter a {
    color: var(--gc-mafia-color-interactive-text);
}

.gc-mafia-inventory__notice,
.gc-mafia-inventory__empty {
    margin: 0;
}

.gc-mafia-inventory__transport {
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-inventory__transport-form {
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-inventory__transport-form label {
    display: grid;
    gap: var(--gc-mafia-space-1);
    max-width: 360px;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-inventory__transport-form select {
    min-height: 36px;
    padding: 0 var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__records {
    display: grid;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-inventory__record {
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    border-left: 2px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-inventory__record--notable {
    border-left-color: var(--gc-mafia-value-border);
}

.gc-mafia-inventory__record-head {
    display: flex;
    align-items: flex-start;
    gap: var(--gc-mafia-space-2);
    min-width: 0;
}

.gc-mafia-inventory__record-check {
    width: 18px;
    height: 18px;
    margin: var(--gc-mafia-space-1) 0 0;
    flex: 0 0 auto;
}

.gc-mafia-inventory__record-image {
    display: block;
    width: 44px;
    height: 44px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    cursor: zoom-in;
}

.gc-mafia-inventory__record-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-mafia-inventory__record-identity {
    min-width: 0;
}

.gc-mafia-inventory__record-title {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
    text-decoration: none;
}

.gc-mafia-inventory__record-title:hover {
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-inventory__record-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-1);
    margin-top: var(--gc-mafia-space-1);
}

.gc-mafia-inventory__contact,
.gc-mafia-inventory__contact-count,
.gc-mafia-inventory__order-tag {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    padding: 0 6px;
    border: 1px solid var(--gc-mafia-interactive-border);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .05em;
    text-transform: uppercase;
}

.gc-mafia-inventory__facts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--gc-mafia-space-2);
    margin: var(--gc-mafia-space-3) 0;
    padding: var(--gc-mafia-space-3) 0;
    border-top: 1px solid var(--gc-mafia-rule);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-inventory__facts > div {
    display: grid;
    gap: var(--gc-mafia-space-1);
    min-width: 0;
}

.gc-mafia-inventory__facts > div > strong {
    overflow: hidden;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gc-mafia-inventory__facts .gc-mafia-amount {
    color: var(--gc-mafia-value-text);
}

.gc-mafia-inventory__safe--yes { color: var(--gc-mafia-complete-text) !important; }
.gc-mafia-inventory__safe--no { color: var(--gc-mafia-color-meta) !important; }
.gc-mafia-inventory__damage--value strong { color: var(--gc-mafia-value-text) !important; }
.gc-mafia-inventory__damage--danger strong { color: var(--gc-mafia-danger-text) !important; }
.gc-mafia-inventory__damage--complete strong { color: var(--gc-mafia-complete-text) !important; }
.gc-mafia-inventory__damage--value .gc-mafia-progress__fill { background: var(--gc-mafia-value-text); }
.gc-mafia-inventory__damage--danger .gc-mafia-progress__fill { background: var(--gc-mafia-danger-border); }
.gc-mafia-inventory__damage--complete .gc-mafia-progress__fill { background: var(--gc-mafia-complete-border); }

.gc-mafia-inventory__record-actions .gc-mafia-button {
    min-height: 36px;
    text-transform: none;
    letter-spacing: 0;
}

.gc-mafia-inventory__selection-bar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    display: none;
    padding: var(--gc-mafia-space-3) max(var(--gc-mafia-space-3), env(safe-area-inset-right)) calc(var(--gc-mafia-space-3) + env(safe-area-inset-bottom)) max(var(--gc-mafia-space-3), env(safe-area-inset-left));
    border-top: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
    box-shadow: 0 -12px 28px rgba(0, 0, 0, .32);
}

.gc-mafia-inventory__selection-bar.is-visible { display: block; }

.gc-mafia-inventory__selection-actions {
    max-width: 980px;
    margin: 0 auto;
}

.gc-mafia-inventory__selection-count {
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__selection-more {
    width: auto;
    margin: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-inventory__selection-more > .gc-mafia-disclosure__summary {
    min-height: 36px;
    padding: 0 var(--gc-mafia-space-3);
    border: 0;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gc-mafia-inventory__selection-more > .gc-mafia-disclosure__body {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-inventory__aside-section {
    overflow: hidden;
}

.gc-mafia-inventory__aside-section > h2 {
    margin: 0;
    padding: var(--gc-mafia-space-3);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-inventory__aside-section > h2 a {
    color: inherit;
    text-decoration-color: var(--gc-mafia-interactive-border);
}

.gc-mafia-inventory__aside-body {
    padding: var(--gc-mafia-space-3);
}

.gc-mafia-inventory__order {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-inventory__order:last-of-type { border-bottom: 0; }
.gc-mafia-inventory__order > .gc-mafia-icon { color: var(--gc-mafia-color-value); }
.gc-mafia-inventory__order-title { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-inventory__order-tag { margin-left: var(--gc-mafia-space-1); color: var(--gc-mafia-value-text); border-color: var(--gc-mafia-value-border); background: var(--gc-mafia-value-surface); }
.gc-mafia-inventory__order .gc-mafia-progress { height: 6px; margin-top: var(--gc-mafia-space-2); }
.gc-mafia-inventory__order .gc-mafia-progress__fill { background: var(--gc-mafia-value-text); }
.gc-mafia-inventory__order-reward { margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-inventory__order-meta { margin-top: var(--gc-mafia-space-1); font-size: var(--gc-mafia-type-kicker); }
.gc-mafia-inventory__aside-note { margin-top: var(--gc-mafia-space-2); font-size: var(--gc-mafia-type-label); }

.gc-mafia-inventory__contact-request {
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-inventory__contact-request:last-of-type { border-bottom: 0; }
.gc-mafia-inventory__contact-count { margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-color-value); border-color: var(--gc-mafia-value-border); background: var(--gc-mafia-value-surface); }
.gc-mafia-inventory__aside-notice { margin: var(--gc-mafia-space-2) 0 0; }

.gc-mafia-inventory__maintenance { overflow: hidden; }
.gc-mafia-inventory__maintenance table { width: 100%; border-collapse: collapse; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-inventory__maintenance td { padding: var(--gc-mafia-space-2) 0; border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-inventory__maintenance td:last-child { color: var(--gc-mafia-value-text); text-align: right; font-variant-numeric: tabular-nums; }
.gc-mafia-inventory__maintenance p { margin: var(--gc-mafia-space-2) 0 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui); }

/* Codekraak en live gedeelde kluis. De code- en kaartinhoud komen uit hun
   eigen domein, maar de bediening en hiërarchie zijn gedeeld. */
.gc-mafia-codebreak,
.gc-mafia-heistboard,
.gc-mafia-contract-map,
.gc-mafia-crew-lobby {
    container-type: inline-size;
}

.gc-mafia-codebreak__context,
.gc-mafia-heistboard__context,
.gc-mafia-contract-map__context,
.gc-mafia-crew-lobby__context {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    align-items: center;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-codebreak__context strong,
.gc-mafia-heistboard__context strong,
.gc-mafia-contract-map__context strong,
.gc-mafia-crew-lobby__context strong { color: var(--gc-mafia-color-heading); }

.gc-mafia-codebreak__grid,
.gc-mafia-heistboard__grid,
.gc-mafia-crew-lobby__grid {
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-codebreak__grid { grid-template-columns: minmax(0, 1fr) minmax(230px, .78fr); }

.gc-mafia-codebreak__section,
.gc-mafia-heistboard__section,
.gc-mafia-contract-map__briefing,
.gc-mafia-crew-lobby__side {
    min-width: 0;
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-codebreak__section-title,
.gc-mafia-heistboard__section-title,
.gc-mafia-contract-map__title,
.gc-mafia-crew-lobby__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-codebreak__copy,
.gc-mafia-heistboard__copy,
.gc-mafia-contract-map__copy,
.gc-mafia-crew-lobby__copy {
    margin: var(--gc-mafia-space-2) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-codebreak__legend,
.gc-mafia-codebreak__facts,
.gc-mafia-heistboard__facts,
.gc-mafia-contract-map__facts,
.gc-mafia-crew-lobby__facts {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    margin: var(--gc-mafia-space-3) 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-code-feedback__legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-1) var(--gc-mafia-space-2);
    margin: 0 0 var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}
.gc-mafia-code-feedback__legend-item {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    white-space: nowrap;
}
.gc-mafia-code-feedback__legend .reken-green,
.gc-mafia-code-feedback__legend .reken-orange,
.gc-mafia-code-feedback__legend .reken-red {
    margin: 0;
    padding-bottom: 1px;
    border-bottom-width: 2px;
}
/* KluisService levert deze betekenisclasses voor zowel de onmiddellijke
   terugkoppeling als de poginggeschiedenis. Kleur is nadrukkelijk niet de
   enige drager: een vaste, gestreepte of gestippelde onderlijn wordt in de
   legenda altijd met de status uitgeschreven. */
.gc-mafia-codebreak .reken-green,
.gc-mafia-heistboard .reken-green,
.gc-mafia-codebreak .reken-orange,
.gc-mafia-heistboard .reken-orange,
.gc-mafia-codebreak .reken-red,
.gc-mafia-heistboard .reken-red {
    display: inline-grid;
    min-width: 1.05em;
    margin: 0 2px;
    padding: 0 1px 2px;
    border-bottom: 3px solid transparent;
    text-align: center;
}
.gc-mafia-codebreak .reken-green,
.gc-mafia-heistboard .reken-green { border-bottom-style: solid; border-bottom-color: var(--gc-mafia-complete-border); background: var(--gc-mafia-complete-surface); color: var(--gc-mafia-complete-text); }
.gc-mafia-codebreak .reken-orange,
.gc-mafia-heistboard .reken-orange { border-bottom-style: dashed; border-bottom-color: var(--gc-mafia-value-border); background: var(--gc-mafia-value-surface); color: var(--gc-mafia-value-text); }
.gc-mafia-codebreak .reken-red,
.gc-mafia-heistboard .reken-red { border-bottom-style: dotted; border-bottom-color: var(--gc-mafia-danger-border); background: var(--gc-mafia-danger-surface); color: var(--gc-mafia-danger-text); }

/* Bij een code-rotatie blijven alleen correcte posities bruikbaar. Verouderde
   negatieve hints worden rustige metadata, zonder de hele regel onleesbaar te
   maken door opacity. */
.gc-mafia-codebreak .reken-stale { color: var(--gc-mafia-color-meta); }
.gc-mafia-codebreak .reken-stale .reken-orange,
.gc-mafia-codebreak .reken-stale .reken-red { color: var(--gc-mafia-color-meta); }
.gc-mafia-codebreak .reken-stale .reken-green { color: var(--gc-mafia-complete-text); }
.gc-mafia-codebreak .reken-stale .reken-green,
.gc-mafia-codebreak .reken-stale .reken-orange,
.gc-mafia-codebreak .reken-stale .reken-red { background: transparent; }

.gc-mafia-codebreak .reken-rot-divider {
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-value-border);
    border-bottom: 1px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-value-text);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
    text-align: center;
}

.gc-mafia-codebreak__form,
.gc-mafia-heistboard__form { display: grid; gap: var(--gc-mafia-space-3); margin: 0; }
.gc-mafia-codebreak__inputs,
.gc-mafia-heistboard__inputs { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--gc-mafia-space-1); }
.gc-mafia-codebreak__action-row,
.gc-mafia-codebreak__cooldown-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: var(--gc-mafia-space-2);
    align-items: center;
}
.gc-mafia-codebreak__action-row > .gc-mafia-button { width: 100%; }
.gc-mafia-codebreak__cooldown-timer { min-width: 0; }
.gc-mafia-codebreak__tools-trigger {
    display: inline-grid;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-interactive-muted);
    cursor: pointer;
}
.gc-mafia-codebreak__tools-trigger:hover,
.gc-mafia-codebreak__tools-trigger:focus-visible {
    border-color: var(--gc-mafia-interactive-border);
    color: var(--gc-mafia-color-interactive);
}
.gc-mafia-codebreak__tools-trigger .gc-mafia-icon { width: 20px; height: 20px; }
.gc-mafia-codebreak__tool-form { display: inline-flex; margin: 0; }
.gc-mafia-codebreak__tool-action { min-height: 32px; padding: 5px var(--gc-mafia-space-2); font-size: var(--gc-mafia-type-meta); }

.gc-mafia-code-input {
    box-sizing: border-box;
    width: 38px;
    height: 42px;
    padding: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: bold 16px/1 var(--gc-mafia-font-ui);
    text-align: center;
    text-transform: uppercase;
}

.gc-mafia-code-input[readonly] { color: var(--gc-mafia-complete-text); border-color: var(--gc-mafia-complete-border); }
.gc-mafia-code-input--number { text-decoration: underline; text-underline-offset: 3px; }

.gc-mafia-codebreak__result,
.gc-mafia-heistboard__result { margin-top: var(--gc-mafia-space-3); }

.gc-mafia-codebreak__heat {
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-codebreak__heat-row {
    display: grid;
    grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr);
    gap: var(--gc-mafia-space-3);
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-codebreak__heat-row + .gc-mafia-codebreak__heat-row { margin-top: var(--gc-mafia-space-3); }
.gc-mafia-codebreak__heat-row:first-child { padding-top: 0; border-top: 0; }
.gc-mafia-codebreak__heat-row dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-codebreak__heat-row dd { min-width: 0; margin: 0; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-codebreak__heat-status--danger { color: var(--gc-mafia-danger-text); font-weight: bold; }
.gc-mafia-codebreak__heat .gc-mafia-progress-group__line strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-codebreak__heat .gc-mafia-amount { font-size: var(--gc-mafia-type-data); }
.gc-mafia-codebreak__vault-info-copy {
    margin-top: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}
.gc-mafia-codebreak__vault-info-copy strong { color: var(--gc-mafia-color-heading); }

.gc-mafia-codebreak__records,
.gc-mafia-heistboard__records,
.gc-mafia-crew-lobby__records {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--gc-mafia-rule);
    list-style: none;
}

.gc-mafia-codebreak__record,
.gc-mafia-heistboard__record,
.gc-mafia-crew-lobby__record {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--gc-mafia-space-3);
    align-items: center;
    min-height: 46px;
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-codebreak__record:last-child,
.gc-mafia-heistboard__record:last-child,
.gc-mafia-crew-lobby__record:last-child { border-bottom: 0; }
.gc-mafia-codebreak__record--stale { opacity: .72; }
.gc-mafia-codebreak__record--divider { display: block; min-height: 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }

/* Tijdelijke adapter voor de bestaande kluisgegevens tijdens de markupmigratie.
   Hij laat de servertabellen intact, maar geeft ze dezelfde dossierhiërarchie. */
.gc-mafia-codebreak table.center,
.gc-mafia-codebreak table.half {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
}
.gc-mafia-codebreak table.center + table.center,
.gc-mafia-codebreak table.half + table.half { margin-top: calc(var(--gc-mafia-space-2) * -1); }
.gc-mafia-codebreak td.subTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-bottom: 0;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}
.gc-mafia-codebreak td.optieMenu,
.gc-mafia-codebreak td.optieMenuTinted,
.gc-mafia-codebreak td.optieMenuTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}
.gc-mafia-codebreak td.optieMenuTinted { background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-codebreak td.optieMenuTitle { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.gc-mafia-codebreak .tbl-scroll { overflow: visible; }

.gc-mafia-heistboard__slots {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--gc-mafia-space-2);
    margin: var(--gc-mafia-space-3) 0 0;
}

.gc-mafia-heistboard__slot,
.gc-mafia-contract-map__selection,
.gc-mafia-crew-lobby__role {
    min-width: 0;
    min-height: 44px;
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

button.gc-mafia-heistboard__slot,
button.gc-mafia-contract-map__selection { cursor: pointer; text-align: left; }
button.gc-mafia-heistboard__slot:hover,
button.gc-mafia-contract-map__selection:hover { border-color: var(--gc-mafia-interactive-border); color: var(--gc-mafia-color-heading); }
.gc-mafia-heistboard__slot.is-active,
.gc-mafia-contract-map__selection.is-active { border-color: var(--gc-mafia-color-interactive); box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-heistboard__slot--complete { border-color: var(--gc-mafia-complete-border); color: var(--gc-mafia-complete-text); }

.gc-mafia-heistboard__timer,
.gc-mafia-contract-map__timer { color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-data)/1.2 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }

.gc-mafia-operation-brief {
    display: grid;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
}
.gc-mafia-operation-brief__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
}
.gc-mafia-operation-brief__head .gc-mafia-kicker { color: var(--gc-mafia-color-meta); }
.gc-mafia-operation-brief__timer {
    display: inline-flex;
    align-items: baseline;
    gap: var(--gc-mafia-space-1);
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.25 var(--gc-mafia-font-ui);
    white-space: nowrap;
}
.gc-mafia-operation-brief__timer strong {
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-data)/1 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}
.gc-mafia-operation-brief__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gc-mafia-space-2);
    margin: var(--gc-mafia-space-2) 0 0;
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}
.gc-mafia-operation-brief__facts > div { min-width: 0; }
.gc-mafia-operation-brief__facts dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .07em;
    text-transform: uppercase;
}
.gc-mafia-operation-brief__facts dd {
    margin: 3px 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}
.gc-mafia-operation-brief__facts .dk-num { color: var(--gc-mafia-color-interactive-text); }

.gc-mafia-operation-utilitybar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gc-mafia-space-2); margin-top: var(--gc-mafia-space-3); }
.gc-mafia-operation-utilitybar__count { margin-left: var(--gc-mafia-space-1); color: var(--gc-mafia-value-text); font-variant-numeric: tabular-nums; }
.gc-mafia-operation-dossier { flex: 1 1 240px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-operation-dossier summary { display: inline-flex; align-items: center; gap: var(--gc-mafia-space-1); color: var(--gc-mafia-color-text); cursor: pointer; }
.gc-mafia-operation-dossier > span { display: block; margin-top: var(--gc-mafia-space-2); }
.gc-mafia-operation-drawer { width: min(440px, calc(100vw - 32px)); margin: auto; padding: var(--gc-mafia-space-4); border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); box-shadow: var(--gc-mafia-shadow); }
.gc-mafia-operation-drawer::backdrop { background: rgba(0, 0, 0, .64); }
.gc-mafia-operation-drawer__head { display: flex; justify-content: space-between; gap: var(--gc-mafia-space-3); align-items: start; }
.gc-mafia-operation-drawer h4 { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display); }
.gc-mafia-operation-drawer > p { margin: var(--gc-mafia-space-3) 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-operation-drawer__item { display: flex; align-items: center; justify-content: space-between; gap: var(--gc-mafia-space-3); padding: var(--gc-mafia-space-3) 0; border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-operation-drawer__item strong, .gc-mafia-operation-drawer__item small { display: block; }
.gc-mafia-operation-drawer__item strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-operation-drawer__item small { margin-top: 3px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-operation-drawer__item.is-unavailable { opacity: .72; }

/* Dagkraak blijft real-time, maar live-status en potwijzigingen krijgen geen
   arcadeachtige permanente animatie. */
.gc-mafia-heistboard .dk-livebar,
.gc-mafia-heistboard .dk-ann,
.gc-mafia-heistboard .dk-panel { max-width: none; margin: 0; }
.gc-mafia-heistboard .dk-ann {
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-left: 2px solid var(--gc-mafia-interactive-border);
    border-radius: 0;
    background: var(--gc-mafia-color-surface-raised);
    box-shadow: none;
    text-align: left;
}
.gc-mafia-heistboard .dk-ann-lock { display: inline-flex; width: 24px; height: 24px; margin: 0 var(--gc-mafia-space-2) 0 0; color: var(--gc-mafia-color-interactive-text); vertical-align: middle; animation: none; }
.gc-mafia-heistboard .dk-ann-title { display: inline; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); letter-spacing: .08em; }
.gc-mafia-heistboard .dk-ann-cd { margin: var(--gc-mafia-space-2) 0; color: var(--gc-mafia-value-text); font: bold 22px/1.1 var(--gc-mafia-font-ui); }
.gc-mafia-heistboard .dk-ann-sub { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-heistboard .dk-ann-slots { max-width: none; margin: var(--gc-mafia-space-3) 0 0; justify-content: stretch; gap: var(--gc-mafia-space-2); }
.gc-mafia-heistboard .dk-ann-slot { min-width: 0; padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule); border-radius: 0; background: var(--gc-mafia-color-panel); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-label)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-heistboard .dk-ann-slot b { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-heistboard .dk-ann-slot .dk-ann-pot { color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-heistboard .dk-livebar { border: 1px solid var(--gc-mafia-rule-strong); border-left: 2px solid var(--gc-mafia-interactive-border); border-radius: 0; background: var(--gc-mafia-color-surface-raised); text-align: left; }
.gc-mafia-heistboard .dk-live-badge { color: var(--gc-mafia-color-interactive-text); animation: none; }
.gc-mafia-heistboard .dk-tabs { max-width: none; margin: var(--gc-mafia-space-3) 0 0; }
.gc-mafia-heistboard .dk-tab { border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-heistboard .dk-tab-active { border-color: var(--gc-mafia-color-interactive); border-bottom-color: var(--gc-mafia-color-interactive); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-heistboard .dk-tab-lock { font-size: inherit; }
.gc-mafia-heistboard .dk-tab-stat,
.gc-mafia-heistboard .dk-pot,
.gc-mafia-heistboard .dk-vmeta .dk-extra { color: var(--gc-mafia-value-text); }
.gc-mafia-heistboard .dk-vault { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gc-mafia-heistboard .dk-vault.dk-cracked { border-color: var(--gc-mafia-complete-border); box-shadow: none; }
.gc-mafia-heistboard .dk-vhead { padding: 0 0 var(--gc-mafia-space-3); background: transparent; }
.gc-mafia-heistboard .dk-vbody { padding: 0; text-align: left; }
.gc-mafia-heistboard .dk-code-input { margin: 0; }
.gc-mafia-heistboard .dk-pot.dk-bump,
.gc-mafia-heistboard .dk-tab-pulse,
.gc-mafia-heistboard .dk-vault.dk-crack-anim { animation: none; }
.gc-mafia-heistboard .dk-flash::after { animation: none; background: transparent; }
.gc-mafia-heistboard .dk-atts { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-heistboard .dk-atts td { padding: var(--gc-mafia-space-2) 0; border-top-color: var(--gc-mafia-rule); }

.gc-mafia-contract-map__layout,
.gc-mafia-crew-lobby__layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); min-width: 0; }
.gc-mafia-contract-map__map { min-width: 0; border: 1px solid var(--gc-mafia-rule-strong); border-right: 0; background: var(--gc-mafia-color-panel); }
.gc-mafia-contract-map__map svg { display: block; width: 100%; height: auto; }
.gc-mafia-contract-map__briefing { border-left: 1px solid var(--gc-mafia-rule-strong); }

.gc-mafia-contract-map__approaches { display: grid; gap: var(--gc-mafia-space-2); margin: var(--gc-mafia-space-3) 0; }
.gc-mafia-contract-map__approach { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: var(--gc-mafia-space-2); align-items: start; padding: var(--gc-mafia-space-2); border-bottom: 1px solid var(--gc-mafia-rule); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-contract-map__approach:last-child { border-bottom: 0; }
.gc-mafia-contract-map__confirm { margin-top: var(--gc-mafia-space-3); padding-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule); }

.gc-mafia-crew-lobby__roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); border: 1px solid var(--gc-mafia-rule-strong); border-right: 0; background: var(--gc-mafia-color-panel); }
.gc-mafia-crew-lobby__role { min-height: 90px; }
.gc-mafia-crew-lobby__role--open { border-style: dashed; background: transparent; }
.gc-mafia-crew-lobby__role strong { display: block; color: var(--gc-mafia-color-heading); }
.gc-mafia-crew-lobby__role small { display: block; margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-crew-lobby__role--open strong { color: var(--gc-mafia-color-interactive-text); }
.gc-mafia-crew-lobby__side { display: grid; align-content: start; gap: var(--gc-mafia-space-3); border-left: 1px solid var(--gc-mafia-rule-strong); }

/* Tijdelijke recordsadapter voor crewlobby's die hun bestaande servertabellen
   nog behouden. De inhoud blijft per state identiek; alleen de dossierhiërarchie
   en bediening volgen de gedeelde lobbytaal. */
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half {
    width: 100%;
    max-width: 980px;
    margin: 0;
    border-collapse: collapse;
    border-spacing: 0;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.subTitle,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.subTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenu,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenuTinted,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenu,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenuTinted,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenuTitle,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenuTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-text);
    vertical-align: middle;
}

.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenuTinted,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenuTinted {
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenuTitle,
.gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenuTitle {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-crew-lobby > .gc-mafia-page__inner select {
    min-height: 36px;
    padding: 6px var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    box-shadow: none;
    font: var(--gc-mafia-type-data)/1.2 var(--gc-mafia-font-ui);
    text-transform: none;
}

.gc-mafia-crew-lobby > .gc-mafia-page__inner .gv-refresh { color: var(--gc-mafia-color-interactive-text); }
.gc-mafia-crew-lobby > .gc-mafia-page__inner .gc-mafia-notice { margin-top: 0; }

@container (max-width: 399px) {
    .gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.subTitle,
    .gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.subTitle,
    .gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenu,
    .gc-mafia-crew-lobby > .gc-mafia-page__inner > table.center td.optieMenuTinted,
    .gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenu,
    .gc-mafia-crew-lobby > .gc-mafia-page__inner > table.half td.optieMenuTinted {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-crew-lobby > .gc-mafia-page__inner select {
        min-height: 44px;
    }
}

/* Crime Map houdt zijn eigen SVG-geografie, maar gebruikt voor de contract- en
   lobbylaag dezelfde rustige dossieroppervlakken. */
.gc-mafia-contract-map.cm-wrap,
.gc-mafia-crew-lobby.cm-wrap { max-width: 980px; margin: 0; border: 0; background: transparent; }
.gc-mafia-contract-map.cm-wrap.cm-wide { max-width: 980px; }
.gc-mafia-contract-map .cm-bar,
.gc-mafia-crew-lobby .cm-bar { border-color: var(--gc-mafia-rule); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-meta); }
.gc-mafia-contract-map .cm-k,
.gc-mafia-crew-lobby .cm-k { color: var(--gc-mafia-color-interactive-text); }
.gc-mafia-contract-map .cm-live,
.gc-mafia-crew-lobby .cm-live { color: var(--gc-mafia-color-value); }
.gc-mafia-contract-map .cm-mapbox { background: var(--gc-mafia-color-panel); }
.gc-mafia-contract-map .cm-brief,
.gc-mafia-crew-lobby .cml-side { background: var(--gc-mafia-color-panel); color: var(--gc-mafia-color-text); }
.gc-mafia-contract-map .cm-brief-in,
.gc-mafia-contract-map .cm-mark.sel,
.gc-mafia-contract-map .cm-here,
.gc-mafia-contract-map .cm-mark .cm-pulse,
.gc-mafia-contract-map .cm-mpulse { animation: none !important; }
.gc-mafia-contract-map .cm-mark.sel .cm-chip { filter: none; box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-crew-lobby .cml-slots { padding: var(--gc-mafia-space-4); background: var(--gc-mafia-color-panel); }
.gc-mafia-crew-lobby .cml-slot { border-color: var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); }
.gc-mafia-crew-lobby .cml-slot.open { border-color: var(--gc-mafia-rule-strong); background: transparent; }
.gc-mafia-crew-lobby .cml-rol { color: var(--gc-mafia-color-meta); }
.gc-mafia-crew-lobby .cml-who { color: var(--gc-mafia-color-heading); }
.gc-mafia-crew-lobby .cml-bonus { color: var(--gc-mafia-complete-text); }
.gc-mafia-crew-lobby .cml-buit,
.gc-mafia-crew-lobby .cml-wait { border-color: var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); }
.gc-mafia-contract-map .cm-aprtab,
.gc-mafia-contract-map .cm-slot,
.gc-mafia-contract-map .cm-lob { border-radius: var(--gc-mafia-radius); border-color: var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); }
.gc-mafia-contract-map .cm-aprtab.on { border-color: var(--gc-mafia-color-interactive); color: var(--gc-mafia-color-interactive-text); }
.gc-mafia-contract-map .cm-aprbrief { border-left-color: var(--gc-mafia-color-interactive); background: var(--gc-mafia-interactive-surface); color: var(--gc-mafia-color-text); }

@container (max-width: 760px) {
    .gc-mafia-codebreak__grid,
    .gc-mafia-contract-map__layout,
    .gc-mafia-crew-lobby__layout { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-contract-map__map,
    .gc-mafia-crew-lobby__roles { border-right: 1px solid var(--gc-mafia-rule-strong); }
    .gc-mafia-contract-map__briefing,
    .gc-mafia-crew-lobby__side { border-top: 0; border-left: 1px solid var(--gc-mafia-rule-strong); }
}

@container (max-width: 399px) {
    .gc-mafia-codebreak__section,
    .gc-mafia-heistboard__section,
    .gc-mafia-contract-map__briefing,
    .gc-mafia-crew-lobby__side { padding: var(--gc-mafia-space-3); }
    .gc-mafia-codebreak__inputs,
    .gc-mafia-heistboard__inputs { gap: 3px; }
    .gc-mafia-codebreak__tool-action { min-height: 44px; }
    .gc-mafia-codebreak__latest-result[data-gc-mafia-code-result-inline="1"] {
        margin-top: var(--gc-mafia-space-3);
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }
    .gc-mafia-codebreak__latest-result[data-gc-mafia-code-result-inline="1"] td.optieMenu {
        border-left: 2px solid var(--gc-mafia-interactive-border);
        background: var(--gc-mafia-color-surface-raised);
    }
    .gc-mafia-operation-brief { padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); }
    .gc-mafia-operation-brief__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-mafia-operation-brief__facts > div:last-child { grid-column: 1 / -1; }
    .gc-mafia-operation-utilitybar { align-items: stretch; }
    .gc-mafia-operation-utilitybar > .gc-mafia-button { width: 100%; min-height: 44px; }
    .gc-mafia-operation-dossier { flex-basis: 100%; }
    .gc-mafia-operation-drawer { width: 100%; max-width: none; margin: auto 0 0; border-right: 0; border-bottom: 0; border-left: 0; }
    .gc-mafia-operation-drawer__item { align-items: start; flex-direction: column; }
    .gc-mafia-operation-drawer__item .gc-mafia-button { width: 100%; min-height: 44px; }
    .gc-mafia-code-input { width: 36px; height: 44px; }
    .gc-mafia-heistboard__slots,
    .gc-mafia-crew-lobby__roles { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-codebreak__record,
    .gc-mafia-heistboard__record,
    .gc-mafia-crew-lobby__record { grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-1); }

    .gc-mafia-codebreak__heat-row { grid-template-columns: minmax(0, 1fr); gap: var(--gc-mafia-space-1); }

    .gc-mafia-codebreak .tbl-scroll,
    .gc-mafia-codebreak .tbl-scroll > table,
    .gc-mafia-codebreak .tbl-scroll tbody { display: block; width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
    .gc-mafia-codebreak .tbl-scroll tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
    .gc-mafia-codebreak .tbl-scroll tr:first-child { display: none; }
    .gc-mafia-codebreak .tbl-scroll td { display: block; min-width: 0; border-right: 0; }
    .gc-mafia-codebreak .tbl-scroll td:nth-child(1),
    .gc-mafia-codebreak .tbl-scroll td:nth-child(2),
    .gc-mafia-codebreak .tbl-scroll td:nth-child(3) { grid-column: 1; }
    .gc-mafia-codebreak .tbl-scroll td:nth-child(4) { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
}

@container (min-width: 960px) {
    .gc-mafia-inventory__layout { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-inventory__aside { position: static; }
}

@container (max-width: 599px) {
    .gc-mafia-inventory__brief-steps,
    .gc-mafia-inventory__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .gc-mafia-inventory__rate-guide ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-mafia-inventory__rate-guide li:last-child { grid-column: span 2; }
    .gc-mafia-inventory__selection-actions { align-items: stretch; }
    .gc-mafia-inventory__selection-actions > .gc-mafia-button { flex: 1 1 auto; min-height: 44px; }
    .gc-mafia-inventory__selection-more > .gc-mafia-disclosure__summary { min-height: 44px; }
    .gc-mafia-inventory__selection-more[open] { width: 100%; }
    .gc-mafia-inventory__selection-more > .gc-mafia-disclosure__body .gc-mafia-button { flex: 1 1 calc(50% - var(--gc-mafia-space-2)); min-height: 44px; }
}

@container (max-width: 399px) {
    .gc-mafia-inventory .gc-mafia-page__inner { gap: var(--gc-mafia-space-2); }
    .gc-mafia-inventory__brief-copy { font-size: var(--gc-mafia-type-label); }
    .gc-mafia-inventory__quick-actions { align-items: stretch; }
    .gc-mafia-inventory__quick-actions .gc-mafia-button { flex: 1 1 100%; min-height: 44px; }
    .gc-mafia-inventory__record { padding: var(--gc-mafia-space-2); }
    .gc-mafia-inventory__record-actions .gc-mafia-button { flex: 1 1 calc(50% - var(--gc-mafia-space-2)); min-height: 44px; }
    .gc-mafia-inventory__selection-actions > .gc-mafia-button { flex-basis: auto; }
    .gc-mafia-inventory__selection-more > .gc-mafia-disclosure__body .gc-mafia-button { flex-basis: 100%; }
    .gc-mafia-inventory__transport-form select { min-height: 44px; }
}

@container (max-width: 399px) {
    .gc-mafia-directory .gc-mafia-directory__header {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: var(--gc-mafia-space-3);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-directory .gc-mafia-directory__header .gc-mafia-content-header__title {
        font-size: var(--gc-mafia-type-title);
    }

    .gc-mafia-directory .gc-mafia-directory__metric {
        min-width: 58px;
        grid-template-columns: minmax(58px, 1fr);
        padding: 0 0 0 var(--gc-mafia-space-3);
        border-top: 0;
        border-left: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia-directory .tbl-scroll,
    .gc-mafia-directory .gc-mafia-directory-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
    }
}

/* Publicatie en stemmen: één rustige vraag, echte radiokeuzes en pas na de
   definitieve stem of sluiting de uitslag. Dezelfde ballot kan ook buiten de
   familiecontext worden hergebruikt. */
.gc-mafia-ballot {
    min-width: 0;
    overflow: hidden;
}

.gc-mafia-ballot__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-ballot__header > div {
    min-width: 0;
}

.gc-mafia-ballot__title {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-ballot .gc-mafia-stamp--active {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-ballot__meta {
    display: flex;
    gap: var(--gc-mafia-space-4);
    margin: 0;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-ballot__meta div {
    display: flex;
    align-items: baseline;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-ballot__meta dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-ballot__meta dd {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-ballot__form {
    margin: 0;
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-ballot__choices {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-mafia-ballot__choices legend {
    margin: 0 0 var(--gc-mafia-space-1);
    padding: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-ballot__choice {
    position: relative;
    display: block;
    min-width: 0;
    cursor: pointer;
}

.gc-mafia-ballot__choice-control {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.gc-mafia-ballot__choice-body {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    transition: border-color var(--gc-mafia-motion-fast) ease, background var(--gc-mafia-motion-fast) ease, box-shadow var(--gc-mafia-motion-fast) ease;
}

.gc-mafia-ballot__choice-body strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-ballot__choice:hover .gc-mafia-ballot__choice-body {
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-color-surface-raised);
}

.gc-mafia-ballot__choice-control:focus-visible + .gc-mafia-ballot__choice-body {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

.gc-mafia-ballot__choice-control:checked + .gc-mafia-ballot__choice-body {
    border-color: var(--gc-mafia-color-interactive);
    background: var(--gc-mafia-interactive-surface);
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive);
}

.gc-mafia-ballot__choice-mark {
    opacity: 0;
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-ballot__choice-control:checked + .gc-mafia-ballot__choice-body .gc-mafia-ballot__choice-mark {
    opacity: 1;
}

.gc-mafia-ballot__action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-4);
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-ballot__action p {
    margin: 0;
}

.gc-mafia-ballot__state {
    margin: var(--gc-mafia-space-4) var(--gc-mafia-space-4) 0;
}

.gc-mafia-ballot__results {
    display: grid;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-ballot__result {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-ballot__result-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-ballot__result-line strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-ballot__result-line span {
    flex: 0 0 auto;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-poll__header-metrics {
    max-width: 330px;
}

.gc-mafia-poll__header-metrics dd {
    max-width: 180px;
    overflow-wrap: anywhere;
}

.gc-mafia-poll__layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
}

.gc-mafia-poll__support {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-poll__archive,
.gc-mafia-poll__discussion {
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-poll__archive h2,
.gc-mafia-poll__discussion h2,
.gc-mafia-poll .gc-mafia-empty h2 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-poll__archive header p,
.gc-mafia-poll__discussion p,
.gc-mafia-poll .gc-mafia-empty p {
    margin: var(--gc-mafia-space-2) 0 0;
    color: var(--gc-mafia-color-text);
}

.gc-mafia-poll__archive-form {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-poll__discussion {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-poll__discussion > .gc-mafia-icon {
    color: var(--gc-mafia-color-interactive-muted);
}

.gc-mafia-poll__discussion a {
    display: inline-block;
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-poll .gc-mafia-empty .gc-mafia-button {
    margin-top: var(--gc-mafia-space-3);
}

@container (max-width: 760px) {
    .gc-mafia-poll__layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container (max-width: 399px) {
    .gc-mafia-poll__header-metrics {
        max-width: none;
    }

    .gc-mafia-ballot__header {
        align-items: stretch;
        flex-direction: column;
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-ballot__header .gc-mafia-stamp {
        align-self: flex-start;
    }

    .gc-mafia-ballot__title {
        font-size: var(--gc-mafia-type-section);
    }

    .gc-mafia-ballot__meta,
    .gc-mafia-ballot__form,
    .gc-mafia-ballot__results,
    .gc-mafia-poll__archive,
    .gc-mafia-poll__discussion {
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-ballot__state {
        margin: var(--gc-mafia-space-3) var(--gc-mafia-space-3) 0;
    }

    .gc-mafia-ballot__action,
    .gc-mafia-ballot__result-line {
        align-items: stretch;
        flex-direction: column;
        gap: var(--gc-mafia-space-2);
    }

    .gc-mafia-ballot__action .gc-mafia-button,
    .gc-mafia-poll__archive-form .gc-mafia-button,
    .gc-mafia-poll .gc-mafia-empty .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }

    .gc-mafia-ballot__result-line span {
        flex-basis: auto;
    }
}

/* Narrative campaigns and permanent resource contributions. These components
   are shared by family chapters, city contacts and future story campaigns. */
.gc-mafia-campaign {
    container-type: inline-size;
    display: grid;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
}

.gc-mafia-campaign__overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-4);
}

.gc-mafia-campaign__overview h2,
.gc-mafia-campaign__section-header h2,
.gc-mafia-ranking__header h2 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-campaign__overview p,
.gc-mafia-campaign__section-header p,
.gc-mafia-ranking__header p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-campaign__roadmap {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-mafia-campaign__roadmap-item {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: var(--gc-mafia-space-2);
    min-width: 0;
    min-height: 64px;
    align-content: center;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-campaign__roadmap-item[data-state="active"],
.gc-mafia-campaign__roadmap-item[data-state="available"] {
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive-muted);
    border-color: var(--gc-mafia-interactive-border);
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-campaign__roadmap-item[data-state="complete"] .gc-mafia-campaign__roadmap-icon {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-campaign__roadmap-icon {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-campaign__roadmap-copy {
    min-width: 0;
}

.gc-mafia-campaign__roadmap-copy small {
    display: block;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-campaign__roadmap-copy strong {
    display: block;
    margin-top: 2px;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-campaign__chapter-list,
.gc-mafia-campaign__mission-list,
.gc-mafia-ranking__rows {
    display: grid;
    gap: var(--gc-mafia-space-2);
    min-width: 0;
}

.gc-mafia-campaign__chapter {
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-campaign__chapter-summary {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    min-height: 56px;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    cursor: pointer;
    list-style: none;
}

.gc-mafia-campaign__chapter-summary::-webkit-details-marker {
    display: none;
}

.gc-mafia-campaign__chapter[data-state="active"],
.gc-mafia-campaign__chapter[data-state="available"] {
    border-color: var(--gc-mafia-interactive-border);
}

.gc-mafia-campaign__chapter[data-state="expired"] {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-campaign__chapter-status {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-campaign__chapter[data-state="complete"] .gc-mafia-campaign__chapter-status {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-campaign__chapter[data-state="expired"] .gc-mafia-campaign__chapter-status {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-campaign__chapter-copy {
    min-width: 0;
}

.gc-mafia-campaign__chapter-copy small {
    display: block;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-campaign__chapter-copy strong {
    display: block;
    margin-top: 2px;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-campaign__chapter-state {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    text-align: right;
}

.gc-mafia-campaign__chapter-chevron {
    color: var(--gc-mafia-color-meta);
    transition: transform var(--gc-mafia-motion-fast) ease;
}

.gc-mafia-campaign__chapter[open] .gc-mafia-campaign__chapter-chevron {
    transform: rotate(90deg);
}

/* De body bezit het ritme onder de kopregel zelf (padding-top), zodat ook
   hoofdstukken zonder brief niet tegen de summary plakken. */
.gc-mafia-campaign__chapter-body {
    display: grid;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-campaign__chapter-brief {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.6 var(--gc-mafia-font-ui);
    white-space: pre-line;
}

.gc-mafia-campaign__chapter-action {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-campaign__chapter-action p {
    min-width: 0;
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-mission {
    display: grid;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-mission__header,
.gc-mafia-mission__progress-line,
.gc-mafia-mission__fact,
.gc-mafia-contribution__source-header,
.gc-mafia-contribution__summary,
.gc-mafia-ranking__header,
.gc-mafia-ranking__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-mission__header > div {
    min-width: 0;
}

.gc-mafia-mission__title {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.3 var(--gc-mafia-font-display);
}

.gc-mafia-mission__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-mission__objective {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui);
}

.gc-mafia-mission__objective strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-mission__progress {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-mission__progress-line {
    align-items: baseline;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-mission__progress-line strong {
    color: var(--gc-mafia-color-heading);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-mission__deadline--danger {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-mission__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-mission__fact {
    align-items: baseline;
    min-width: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-mission__fact strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui);
    text-align: right;
}

.gc-mafia-mission__fact--complete strong {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-mission__briefing {
    margin: 0;
}

.gc-mafia-contribution {
    overflow: hidden;
    border: 1px solid var(--gc-mafia-danger-border);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-danger-surface);
}

.gc-mafia-contribution__heading {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-danger-border);
}

.gc-mafia-contribution__heading > .gc-mafia-icon {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-contribution__heading h4 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-contribution__heading p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-contribution__body {
    display: grid;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) var(--gc-mafia-space-4);
}

.gc-mafia-contribution__source {
    display: grid;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-contribution__source-header {
    align-items: baseline;
}

.gc-mafia-contribution__source-header h5 {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-contribution__available {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
    text-align: right;
}

.gc-mafia-contribution__available strong {
    color: var(--gc-mafia-color-value);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-contribution__form,
.gc-mafia-contribution__quantity {
    display: grid;
    gap: var(--gc-mafia-space-2);
    margin: 0;
}

.gc-mafia-contribution__quantity {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
}

.gc-mafia-contribution__quantity .gc-mafia-field {
    min-width: 0;
}

.gc-mafia-contribution__items {
    display: grid;
    max-height: 300px;
    overflow: auto;
    border: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-ink-1000);
}

.gc-mafia-contribution__select-all,
.gc-mafia-contribution__item {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 44px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.4 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-contribution__select-all {
    grid-template-columns: 20px minmax(0, 1fr);
    color: var(--gc-mafia-interactive-text);
    font-weight: bold;
}

.gc-mafia-contribution__item:last-child {
    border-bottom: 0;
}

.gc-mafia-contribution__item.is-selected {
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive-muted);
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-contribution__item input,
.gc-mafia-contribution__select-all input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--gc-mafia-color-interactive);
}

.gc-mafia-contribution__item-copy {
    min-width: 0;
}

.gc-mafia-contribution__item-copy strong,
.gc-mafia-contribution__item-copy small {
    display: block;
}

.gc-mafia-contribution__item-copy strong {
    color: var(--gc-mafia-color-heading);
}

.gc-mafia-contribution__item-copy small {
    margin-top: 2px;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-contribution__item-value {
    color: var(--gc-mafia-color-value);
    font: bold var(--gc-mafia-type-meta)/1.3 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gc-mafia-contribution__summary {
    margin-top: var(--gc-mafia-space-2);
    align-items: center;
    min-height: 44px;
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-contribution__summary strong {
    color: var(--gc-mafia-color-heading);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-contribution__empty,
.gc-mafia-contribution__locked,
.gc-mafia-contribution__breakdown {
    margin: 0;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-contribution__breakdown {
    color: var(--gc-mafia-danger-text);
}

.gc-mafia-ranking {
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-ranking__header {
    align-items: center;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-ranking__row {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) minmax(88px, auto);
    align-items: center;
    min-height: 46px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-ranking__row:last-child {
    border-bottom: 0;
}

.gc-mafia-ranking__row--self {
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive-muted);
    background: var(--gc-mafia-interactive-surface);
}

.gc-mafia-ranking__position {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-ranking__name {
    min-width: 0;
    color: var(--gc-mafia-color-heading);
    font-weight: bold;
}

.gc-mafia-ranking__detail {
    color: var(--gc-mafia-color-value);
    font-weight: bold;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.gc-mafia-ranking__meta {
    display: block;
    margin-top: 2px;
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
    font-weight: normal;
}

@container (max-width: 760px) {
    .gc-mafia-campaign__roadmap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gc-mafia-campaign__overview {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container (max-width: 399px) {
    .gc-mafia-campaign__roadmap {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-campaign__chapter-summary {
        grid-template-columns: 22px minmax(0, 1fr) 18px;
        gap: var(--gc-mafia-space-2);
        min-height: 64px;
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-campaign__chapter-state {
        grid-column: 2;
        text-align: left;
    }

    .gc-mafia-campaign__chapter-chevron {
        grid-column: 3;
        grid-row: 1 / span 2;
    }

    .gc-mafia-campaign__chapter-body,
    .gc-mafia-contribution__body {
        padding-right: var(--gc-mafia-space-3);
        padding-left: var(--gc-mafia-space-3);
    }

    .gc-mafia-campaign__chapter-action,
    .gc-mafia-mission__header,
    .gc-mafia-contribution__source-header,
    .gc-mafia-contribution__summary,
    .gc-mafia-ranking__header {
        align-items: stretch;
        flex-direction: column;
    }

    .gc-mafia-campaign__chapter-action .gc-mafia-button,
    .gc-mafia-contribution__form > .gc-mafia-button,
    .gc-mafia-contribution__summary + .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }

    .gc-mafia-mission__facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .gc-mafia-contribution__quantity {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .gc-mafia-contribution__quantity .gc-mafia-field__control,
    .gc-mafia-contribution__quantity .gc-mafia-button {
        min-height: 44px;
    }

    .gc-mafia-contribution__item {
        grid-template-columns: 20px minmax(0, 1fr);
    }

    .gc-mafia-contribution__item-value {
        grid-column: 2;
        white-space: normal;
    }

    .gc-mafia-ranking__row {
        grid-template-columns: 36px minmax(0, 1fr);
        padding: var(--gc-mafia-space-3);
    }

    .gc-mafia-ranking__detail {
        grid-column: 2;
        text-align: left;
    }
}

/* Stadscontacten: de contactindex als dossierrecords. Het portret is een
   linkerkolom met een leeszone-gradient naar het paneel; data-state stuurt
   portretfilter, rand en de interactieve inzetrand (zelfde signaal als de
   campaign-roadmap). Semantische stamps vervangen de oude losse kleuren. */
.gc-mafia-contact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-3);
    min-width: 0;
}

.gc-mafia-contact {
    position: relative;
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-contact--klikbaar {
    cursor: pointer;
}

.gc-mafia-contact[data-state="active"] {
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive-muted), var(--gc-mafia-shadow);
}

.gc-mafia-contact[data-state="claim"] {
    box-shadow: inset 3px 0 0 var(--gc-mafia-value-border), var(--gc-mafia-shadow);
}

.gc-mafia-contact[data-state="dead"],
.gc-mafia-contact[data-state="banished"] {
    border-color: var(--gc-mafia-danger-border);
}

.gc-mafia-contact__portrait {
    position: relative;
    min-height: 100%;
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-contact__portrait img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.gc-mafia-contact__portrait::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(20, 22, 21, 0) 55%, rgba(20, 22, 21, .9) 100%);
}

.gc-mafia-contact__portrait-fallback {
    display: grid;
    height: 100%;
    min-height: 120px;
    place-items: center;
}

.gc-mafia-contact__portrait-fallback .gc-mafia-icon {
    width: 40px;
    height: 40px;
    color: var(--gc-mafia-color-meta);
}

/* Kleine inline-iconen in status- en metaregels. */
.gc-mafia-icon--sm {
    width: 13px;
    height: 13px;
}

/* Relatie-tab: de verhaallaag-componenten (new.css) op de mafia-tokens.
   Bereikt = complete (groen), keuze = interactief (aqua), epiloog = waarde
   (brass), vergrendeld = meta. Gescoped op de contactpagina, want
   gc-canon-card wordt ook buiten de Mafia UI (onderwereld) gebruikt. */
.gc-mafia-contacts .gc-tl-line {
    background: var(--gc-mafia-rule-strong);
}

.gc-mafia-contacts .gc-tl-dot {
    background: var(--gc-mafia-color-surface);
    border-color: var(--gc-mafia-complete-border);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-contacts .gc-tl-tier { color: var(--gc-mafia-color-meta); }
.gc-mafia-contacts .gc-tl-titel { color: var(--gc-mafia-color-heading); }
.gc-mafia-contacts .gc-tl-tekst { color: var(--gc-mafia-color-text); }
.gc-mafia-contacts .gc-tl-gekozen { color: var(--gc-mafia-color-interactive); }

.gc-mafia-contacts .gc-tl-node.choice .gc-tl-dot {
    border-color: var(--gc-mafia-interactive-border);
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-contacts .gc-tl-node.epiloog .gc-tl-dot {
    border-color: var(--gc-mafia-value-border);
    color: var(--gc-mafia-value-text);
}

.gc-mafia-contacts .gc-tl-node.epiloog .gc-tl-tier { color: var(--gc-mafia-value-text); }

.gc-mafia-contacts .gc-tl-node.locked .gc-tl-dot {
    border-color: var(--gc-mafia-rule-strong);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-contacts .gc-tl-node.locked .gc-tl-tier,
.gc-mafia-contacts .gc-tl-node.locked .gc-tl-tekst { color: var(--gc-mafia-color-meta); }
.gc-mafia-contacts .gc-tl-node.locked .gc-tl-titel { color: var(--gc-mafia-color-text); }

.gc-mafia-contacts .gc-tl-here-pill {
    background: var(--gc-mafia-color-interactive);
    color: #101515;
}

.gc-mafia-contacts .gc-canon-tekst { color: var(--gc-mafia-color-text); }

.gc-mafia-contacts .gc-kroniek summary { color: var(--gc-mafia-color-meta); }
.gc-mafia-contacts .gc-kroniek-entry { border-top-color: var(--gc-mafia-rule); }
.gc-mafia-contacts .gc-kroniek-date { color: var(--gc-mafia-color-meta); }
.gc-mafia-contacts .gc-kroniek-txt { color: var(--gc-mafia-color-text); }

.gc-mafia-contacts .keuze-knop {
    border-color: var(--gc-mafia-interactive-border);
    border-radius: 2px;
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-interactive-text);
}

.gc-mafia-contacts .keuze-knop:hover {
    background: rgba(169, 210, 213, .1);
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-contacts .liq-lethaal summary { color: var(--gc-mafia-color-meta); }

/* Contactdiensten: één compacte primaire dienst met drie afgeleide
   toestanden. Dezelfde kaart verdiept mee met vertrouwen; er ontstaan geen
   service-submenu's of parallelle cooldownpanelen. */
.gc-mafia-contact-service-shell {
    container-type: inline-size;
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
}

.gc-mafia-contact-service__identity {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: 0 var(--gc-mafia-space-1) var(--gc-mafia-space-3);
}

.gc-mafia-contact-service__identity h3,
.gc-mafia-contact-service__header h2,
.gc-mafia-contact-service__header h3 {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: normal 22px/1.2 var(--gc-mafia-font-display);
}

.gc-mafia-contact-service__identity strong {
    color: var(--gc-mafia-value-text);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-contact-service-shell > .gc-mafia-tabs {
    margin-bottom: var(--gc-mafia-space-2);
}

.gc-mafia-contact-service__dot {
    width: 6px;
    height: 6px;
    margin-left: var(--gc-mafia-space-2);
    border-radius: 50%;
    background: var(--gc-mafia-color-interactive);
}

.gc-mafia-contact-service {
    container-type: inline-size;
    display: grid;
    gap: var(--gc-mafia-space-4);
    min-width: 0;
    padding: var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}

.gc-mafia-contact-service[data-state="available"] {
    border-color: var(--gc-mafia-interactive-border);
    box-shadow: inset 3px 0 0 var(--gc-mafia-color-interactive-muted), var(--gc-mafia-shadow);
}

.gc-mafia-contact-service[data-state="locked"] .gc-mafia-contact-service__header > .gc-mafia-icon {
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-contact-service[data-state="cooldown"] .gc-mafia-contact-service__header > .gc-mafia-icon {
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-contact-service__header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
}

.gc-mafia-contact-service__header > .gc-mafia-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.gc-mafia-contact-service__lead {
    max-width: 72ch;
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.6 var(--gc-mafia-font-ui);
}

.gc-mafia-contact-service__form {
    display: grid;
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-contact-service__choices {
    display: grid;
    gap: var(--gc-mafia-space-2);
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.gc-mafia-contact-service__choices legend {
    width: 100%;
    margin-bottom: var(--gc-mafia-space-1);
    padding: 0;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-contact-service__choices label {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    min-height: 68px;
    align-items: start;
    gap: var(--gc-mafia-space-3);
    box-sizing: border-box;
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    cursor: pointer;
}

.gc-mafia-contact-service__choices label:has(input:checked) {
    border-color: var(--gc-mafia-interactive-border);
    box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive);
}

.gc-mafia-contact-service__choices input {
    appearance: none;
    display: grid;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    place-content: center;
    border: 2px solid var(--gc-mafia-rule-strong);
    border-radius: 50%;
    background: var(--gc-mafia-color-panel);
}

.gc-mafia-contact-service__choices input::before {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gc-mafia-color-interactive);
    content: "";
    transform: scale(0);
}

.gc-mafia-contact-service__choices input:checked { border-color: var(--gc-mafia-color-interactive); }
.gc-mafia-contact-service__choices input:checked::before { transform: scale(1); }

.gc-mafia-contact-service__choices input:focus-visible {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 3px;
}

.gc-mafia-contact-service__choice-copy,
.gc-mafia-contact-service__availability > span {
    display: grid;
    gap: var(--gc-mafia-space-1);
    min-width: 0;
}

.gc-mafia-contact-service__choice-copy strong,
.gc-mafia-contact-service__availability strong {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-contact-service__choice-copy small,
.gc-mafia-contact-service__availability small {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}

.gc-mafia-contact-service__choice-copy > span {
    color: var(--gc-mafia-value-text);
    font: bold var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}

.gc-mafia-contact-service__action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-4);
    margin: 0;
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-contact-service__availability {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: var(--gc-mafia-space-2);
    min-width: 0;
    color: var(--gc-mafia-color-interactive);
}

.gc-mafia-contact-service__availability > .gc-mafia-icon {
    width: 18px;
    height: 18px;
}

.gc-mafia-contact-service__benefit {
    padding-top: var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-contact-service__benefit p {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui);
}

.gc-mafia-contact-service__benefit strong { color: var(--gc-mafia-value-text); }

.gc-mafia-contact-service__state-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gc-mafia-space-3);
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-contact-service--compact {
    align-content: start;
    gap: var(--gc-mafia-space-3);
    min-height: 190px;
}

.gc-mafia-contact-service--compact .gc-mafia-contact-service__header h3 { font-size: 18px; }

.gc-mafia-contact-service__status {
    display: grid;
    gap: var(--gc-mafia-space-2);
    margin: 0;
}

.gc-mafia-contact-service__status > div {
    display: flex;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding-top: var(--gc-mafia-space-2);
    border-top: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-contact-service__status dt { color: var(--gc-mafia-color-meta); }

.gc-mafia-contact-service__status dd {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font-weight: bold;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.gc-mafia-jail-contact-service { margin-top: var(--gc-mafia-space-4); }

@container (max-width: 520px) {
    .gc-mafia-contact-service__identity,
    .gc-mafia-contact-service__header,
    .gc-mafia-contact-service__action {
        display: grid;
        align-items: stretch;
    }

    .gc-mafia-contact-service { padding: var(--gc-mafia-space-3); }
    .gc-mafia-contact-service__choices label { min-height: 76px; }
    .gc-mafia-contact-service-shell .gc-mafia-tab { min-height: 44px; }

    .gc-mafia-contact-service__action .gc-mafia-button {
        width: 100%;
        min-height: 44px;
    }
}

@media (max-width: 760px) {
    .gc-mafia-contact-service__state-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Familiebeheer: aanvullingen op het instellingen-archetype. De editor is
   het gepadde binnenvlak van een sectie; ranks is het promotiegeld-grid;
   role is de select-plus-knop-rij in de leiderschapssectie. */
.gc-mafia-fambeheer__editor {
    display: grid;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
}

.gc-mafia-fambeheer textarea.gc-mafia-settings__control {
    resize: vertical;
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-fambeheer .gc-mafia-settings__section .gc-mafia-settings__choices {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
}

.gc-mafia-fambeheer__ranks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gc-mafia-space-3);
}

/* Alleen in een settings-sectie (die zelf geen padding heeft) levert het
   grid de binnenpadding; in een panel-sectie doet de sectie dat al. */
.gc-mafia-fambeheer .gc-mafia-settings__section .gc-mafia-fambeheer__ranks {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
}

.gc-mafia-fambeheer__ranks .gc-mafia-field {
    max-width: none;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-fambeheer__role {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-fambeheer__role .gc-mafia-settings__control {
    width: auto;
    flex: 1 1 160px;
}

.gc-mafia-fambeheer__role .gc-mafia-button {
    min-height: 44px;
}

/* Bezitting-beheer (gedeelde partial): eigen scope met paginaritme, want de
   partial rendert zowel binnen de Mafia UI (status.php) als op nog-legacy
   pandpagina's. De semantische statusrollen gelden hier ook buiten prose. */
.gc-mafia-bezit {
    display: grid;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
    text-align: left;
}

.gc-mafia-bezit__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-bezit__row .gc-mafia-field__control {
    width: auto;
    flex: 1 1 140px;
    max-width: 240px;
}

.gc-mafia-bezit .gc-mafia-status-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-bezit .gc-mafia-status-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-bezit .gc-mafia-status-value { color: var(--gc-mafia-value-text); }

/* Compacte tekstacties in tabellen: neutraal-interactief en danger. */
.gc-mafia-fambeheer__linkbtn {
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-1);
    border: 0;
    background: none;
    color: var(--gc-mafia-interactive-text);
    font: bold var(--gc-mafia-type-meta)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-fambeheer__linkbtn:hover {
    color: var(--gc-mafia-color-interactive-hover);
}

.gc-mafia-fambeheer__remove {
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-1);
    border: 0;
    background: none;
    color: var(--gc-mafia-danger-text);
    font: bold var(--gc-mafia-type-meta)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}

.gc-mafia-fambeheer__remove:hover {
    color: var(--gc-mafia-color-danger);
}

@container gc-mafia-settings (max-width: 700px) {
    .gc-mafia-fambeheer__ranks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container gc-mafia-settings (max-width: 440px) {
    .gc-mafia-fambeheer__ranks {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* De uitklapbare lethale rivaal-variant valt buiten de missie-grid;
   de details bezit daarom zijn eigen verticale ritme. In de grid levert
   de gap de buitenruimte, dus de legacy-topmarge (new.css) gaat daar uit. */
.gc-mafia-mission > .liq-lethaal {
    margin-top: 0;
}

.liq-lethaal > * + * {
    margin-top: var(--gc-mafia-space-3);
}

.gc-mafia-contact[data-state="locked"] .gc-mafia-contact__portrait img { filter: brightness(.38) saturate(.6); }
.gc-mafia-contact[data-state="dead"] .gc-mafia-contact__portrait img { filter: grayscale(.85) brightness(.5); }
.gc-mafia-contact[data-state="banished"] .gc-mafia-contact__portrait img { filter: grayscale(.6) brightness(.65); }
.gc-mafia-contact[data-state="away"] .gc-mafia-contact__portrait img { filter: brightness(.55) saturate(.7); }

.gc-mafia-contact__body {
    display: grid;
    align-content: start;
    gap: var(--gc-mafia-space-2);
    min-width: 0;
    padding: var(--gc-mafia-space-3);
}

.gc-mafia-contact__topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 20px;
}

.gc-mafia-contact__place {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gc-mafia-contact__topline .gc-mafia-stamp {
    margin-left: auto;
}

.gc-mafia-contact__tag {
    display: inline-block;
    padding: 2px var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.gc-mafia-contact__tag--complete {
    border-color: var(--gc-mafia-complete-border);
    background: var(--gc-mafia-complete-surface);
    color: var(--gc-mafia-complete-text);
}

.gc-mafia-contact__name {
    margin: 0;
    color: var(--gc-mafia-color-heading);
    font: normal 18px/1.2 var(--gc-mafia-font-display);
}

.gc-mafia-contact__intro {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}

.gc-mafia-contact__trust {
    display: grid;
    gap: var(--gc-mafia-space-1);
}

.gc-mafia-contact__trust-line {
    display: flex;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
    color: var(--gc-mafia-color-meta);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-contact__trust-line strong {
    color: var(--gc-mafia-color-text);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-contact__trust-line .gc-mafia-contact__tier--max {
    color: var(--gc-mafia-value-text);
}

.gc-mafia-contact .gc-mafia-progress--value .gc-mafia-progress__fill {
    background: var(--gc-mafia-value-border);
}

.gc-mafia-contact__status {
    display: grid;
    gap: var(--gc-mafia-space-1);
    font-size: var(--gc-mafia-type-meta);
    color: var(--gc-mafia-color-meta);
}

.gc-mafia-contact__line--mission { color: var(--gc-mafia-color-text); }
.gc-mafia-contact__line--mission b { color: var(--gc-mafia-color-heading); }
.gc-mafia-contact__line--progress { color: var(--gc-mafia-color-meta); font-variant-numeric: tabular-nums; }
.gc-mafia-contact__line--danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-contact__line--news { color: var(--gc-mafia-color-interactive); }
.gc-mafia-contact__line--return { color: var(--gc-mafia-interactive-text); }
.gc-mafia-contact__line--claim { color: var(--gc-mafia-value-text); font-weight: bold; }
.gc-mafia-contact__line--complete { color: var(--gc-mafia-complete-text); }

/* Detailpagina (stadscontact.php): hero-variant van het record, citaatblok
   en de inleverrijen van het terugkeerpad. */
.gc-mafia-contact--hero {
    grid-template-columns: 140px minmax(0, 1fr);
}

.gc-mafia-contact--hero .gc-mafia-contact__name {
    font-size: 22px;
}

.gc-mafia-contact-block {
    display: grid;
    gap: var(--gc-mafia-space-1);
    min-width: 0;
}

.gc-mafia-contact-speech {
    margin: 0;
    padding: var(--gc-mafia-space-1) var(--gc-mafia-space-3);
    border-left: 2px solid var(--gc-mafia-rule-strong);
    color: var(--gc-mafia-color-text);
    font: italic var(--gc-mafia-type-story)/var(--gc-mafia-leading-story) var(--gc-mafia-font-ui);
}

.gc-mafia-contact-lever {
    display: grid;
    min-width: 0;
}

.gc-mafia-contact-lever__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    color: var(--gc-mafia-color-text);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-contact-lever__label {
    flex: 1;
    min-width: 140px;
}

.gc-mafia-contact-lever__count {
    color: var(--gc-mafia-color-meta);
    font-variant-numeric: tabular-nums;
}

.gc-mafia-contact-lever__stock {
    color: var(--gc-mafia-color-meta);
    white-space: nowrap;
}

.gc-mafia-contact__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: var(--gc-mafia-space-1);
}

.gc-mafia-contact__footer .gc-mafia-button {
    min-height: 44px;
}

.gc-mafia-contact__footer .gc-mafia-contact__unavailable {
    color: var(--gc-mafia-faint);
    font-size: var(--gc-mafia-type-meta);
}

@container (max-width: 719px) {
    .gc-mafia-contact-list {
        grid-template-columns: minmax(0, 1fr);
    }
}

@container (max-width: 500px) {
    .gc-mafia-contact {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .gc-mafia-contact--hero {
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .gc-mafia-contact__footer .gc-mafia-button {
        width: 100%;
    }
}

/* Community-event: deadline, persoonlijke voortgang, rewardpad en ranglijst.
   De eventdatabase bepaalt inhoud en artwork, nooit de functionele UI-kleur. */
.gc-mafia-event .gc-mafia-page__inner { container-type: inline-size; }
.gc-mafia-event .evx-wrap {
    display: grid;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    gap: var(--gc-mafia-space-3);
}
.gc-mafia-event .evx-wrap * { box-sizing: border-box; }
.gc-mafia-event .evx-cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .92fr);
    align-items: start;
    gap: var(--gc-mafia-space-3);
}
.gc-mafia-event .evx-col { display: grid; min-width: 0; gap: var(--gc-mafia-space-3); }
.gc-mafia-event .evx-hero {
    margin: 0;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    border-radius: 0;
    background: var(--gc-mafia-color-panel);
    text-align: left;
    box-shadow: var(--gc-mafia-shadow);
}
.gc-mafia-event .evx-hero::before,
.gc-mafia-event .evx-hero::after { display: none; }
.gc-mafia-event .evx-title {
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-title)/1.12 var(--gc-mafia-font-display);
    letter-spacing: 0;
    text-transform: none;
    text-shadow: none;
}
.gc-mafia-event .evx-eyebrow { margin: 0 0 var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); opacity: 1; }
.gc-mafia-event .evx-gone { margin: var(--gc-mafia-space-2) 0 0; color: var(--gc-mafia-color-text); }
.gc-mafia-event .evx-gone b { color: var(--gc-mafia-color-heading); }
.gc-mafia-event .evx-count {
    display: grid;
    grid-template-columns: repeat(4, minmax(42px, 1fr));
    justify-content: stretch;
    gap: var(--gc-mafia-space-2);
    margin: 0;
}
.gc-mafia-event .evx-count .c {
    min-width: 0;
    padding: var(--gc-mafia-space-1);
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
}
.gc-mafia-event .evx-count .c b { display: block; color: var(--gc-mafia-color-value); font: bold 18px/1.2 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-event .evx-count .c span { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); }
.gc-mafia-event .evx-boost {
    margin: 0;
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-value-surface);
    text-align: left;
}
.gc-mafia-event .evx-boost .t { color: var(--gc-mafia-color-heading); }
.gc-mafia-event .evx-boost .t i,
.gc-mafia-event .evx-boost .k { color: var(--gc-mafia-value-text); }
.gc-mafia-event .evx-boost .s { color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    box-shadow: var(--gc-mafia-shadow);
}
.gc-mafia-event .evx-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: transparent;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui);
}
.gc-mafia-event .evx-bd { padding: var(--gc-mafia-space-4); }
.gc-mafia-event .evx-pill {
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-meta);
}
.gc-mafia-event .evx-ring {
    display: grid;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    place-items: center;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface);
    box-shadow: none;
}
.gc-mafia-event .evx-ring::before { display: none; }
.gc-mafia-event .evx-statustop {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: center;
    gap: var(--gc-mafia-space-3);
}
.gc-mafia-event .evx-ring .in {
    position: static;
    display: grid;
    justify-items: center;
    gap: var(--gc-mafia-space-1);
    min-width: 0;
}
.gc-mafia-event .evx-ring .in b { color: var(--gc-mafia-color-value); font: bold 20px/1 var(--gc-mafia-font-ui); }
.gc-mafia-event .evx-ring .in span {
    display: block;
    max-width: 100%;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.gc-mafia-event .evx-ring .in span,
.gc-mafia-event .evx-xpline,
.gc-mafia-event .evx-skipnote,
.gc-mafia-event .evx-fomo { color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-statusinfo .l1 b,
.gc-mafia-event .evx-xpline b { color: var(--gc-mafia-color-heading); }
.gc-mafia-event .evx-statustop + .gc-mafia-progress {
    margin-top: var(--gc-mafia-space-4);
}
.gc-mafia-event .evx-chips { gap: var(--gc-mafia-space-2); }
.gc-mafia-event .evx-skiprow,
.gc-mafia-event .evx-claimall { margin-top: var(--gc-mafia-space-3); }
.gc-mafia-event .evx-claim {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    min-height: 44px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border: 0;
    border-top: 1px solid var(--gc-mafia-rule);
    border-radius: 0;
    background: transparent;
    animation: none;
}
.gc-mafia-event .evx-claim .tx {
    display: grid;
    min-width: 0;
    gap: var(--gc-mafia-space-1);
}
.gc-mafia-event .evx-claim .tx b { display: block; }
.gc-mafia-event .evx-claim .tx span { display: block; color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-tots {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--gc-mafia-rule);
}
.gc-mafia-event .evx-tot {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    border-radius: 0;
    background: transparent;
    color: var(--gc-mafia-color-text);
}
.gc-mafia-event .evx-tot > .gc-mafia-icon { color: var(--gc-mafia-color-value); }
.gc-mafia-event .evx-tot b,
.gc-mafia-event .evx-tot.gold b { color: var(--gc-mafia-color-value); font-variant-numeric: tabular-nums; }
.gc-mafia-event .evx-legend {
    display: grid;
    justify-items: center;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: var(--gc-mafia-space-4);
    border-color: var(--gc-mafia-value-border);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    text-align: center;
}
.gc-mafia-event .evx-legend h3 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display); text-transform: none; letter-spacing: 0; }
.gc-mafia-event .evx-legend p { margin: 0; color: var(--gc-mafia-color-text); }
.gc-mafia-event .evx-legend p b { color: var(--gc-mafia-color-value); }
.gc-mafia-event .evx-badge-trigger { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
.gc-mafia-event .evx-saved {
    margin-top: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-value-border);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-value-surface);
}
.gc-mafia-event .evx-saved b { color: var(--gc-mafia-value-text); }
.gc-mafia-event .evx-action-form {
    margin: var(--gc-mafia-space-3) 0 0;
}
.gc-mafia-event .evx-tier {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: var(--gc-mafia-space-3);
    min-height: 46px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border: 0;
    border-top: 1px solid var(--gc-mafia-rule);
    background: transparent;
}
.gc-mafia-event .evx-tier .n,
.gc-mafia-event .evx-tier .st { align-self: center; color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-tier .n b { color: var(--gc-mafia-color-heading); }
.gc-mafia-event .evx-tier .rw { align-self: center; color: var(--gc-mafia-color-text); font-size: var(--gc-mafia-type-data); }
.gc-mafia-event .evx-tier.done .st { color: var(--gc-mafia-complete-text); }
.gc-mafia-event .evx-tier.ready { background: var(--gc-mafia-value-surface); box-shadow: inset 2px 0 0 var(--gc-mafia-value-border); }
.gc-mafia-event .evx-tier.now { box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-event .evx-tier.now .n b { color: var(--gc-mafia-color-interactive); }
.gc-mafia-event .evx-tier.locked .rw,
.gc-mafia-event .evx-tier.locked .n { opacity: 1; color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-tier.legend {
    position: relative;
    overflow: hidden;
    border-top-color: var(--gc-mafia-value-border);
    border-bottom: 1px solid var(--gc-mafia-value-border);
    background:
        linear-gradient(105deg, transparent 0 66%, var(--gc-mafia-value-glint) 66% 72%, transparent 72%),
        var(--gc-mafia-value-surface);
}
.gc-mafia-event .evx-tier.legend .n b,
.gc-mafia-event .evx-tier.legend .gc-mafia-icon,
.gc-mafia-event .evx-tier.legend .st { color: var(--gc-mafia-value-text); }
.gc-mafia-event .evx-tier.legend::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -25%;
    display: block;
    width: 18%;
    pointer-events: none;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(236, 229, 217, .2), transparent);
    opacity: 0;
}
.gc-mafia-event .evx-tier.legend:hover::after,
.gc-mafia-event .evx-tier.legend:focus-within::after {
    animation: gc-mafia-event-legend-reveal 560ms var(--gc-mafia-ease) 1;
}
@keyframes gc-mafia-event-legend-reveal {
    0% { left: -25%; opacity: 0; }
    20% { opacity: 1; }
    100% { left: 110%; opacity: 0; }
}
.gc-mafia-event .evx-gap,
.gc-mafia-event .evx-you { padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4); border-top: 1px solid var(--gc-mafia-rule); color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-podium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-4) var(--gc-mafia-space-4) 0;
}
.gc-mafia-event .evx-pslot {
    display: grid;
    min-width: 0;
    min-height: 104px;
    align-content: center;
    justify-items: center;
    gap: var(--gc-mafia-space-1);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule);
    border-bottom: 0;
    border-radius: 2px 2px 0 0;
    background: var(--gc-mafia-color-surface);
    text-align: center;
}
.gc-mafia-event .evx-pslot.s1 {
    min-height: 124px;
    border-color: var(--gc-mafia-value-border);
    background: var(--gc-mafia-value-surface);
}
.gc-mafia-event .evx-pslot .em { color: var(--gc-mafia-color-value); font: bold 18px/1 var(--gc-mafia-font-ui); }
.gc-mafia-event .evx-pslot .nm {
    min-width: 0;
    max-width: 100%;
    font-size: var(--gc-mafia-type-data);
    overflow-wrap: anywhere;
}
.gc-mafia-event .evx-pslot .lv,
.gc-mafia-event .evx-rank .rk { color: var(--gc-mafia-color-meta); }
.gc-mafia-event .evx-rank {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    min-height: 48px;
    align-items: center;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4);
    border-top: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
    font-size: var(--gc-mafia-type-data);
}
.gc-mafia-event .evx-rank .nm { min-width: 0; overflow-wrap: anywhere; }
.gc-mafia-event .evx-rank .lv { color: var(--gc-mafia-color-text); }
.gc-mafia-event .evx-rank.me { background: var(--gc-mafia-interactive-surface); box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-event .evx-legend .gc-img-blend::after {
    background: radial-gradient(
        ellipse closest-side at center,
        transparent 60%,
        rgba(20, 22, 21, .25) 85%,
        var(--gc-mafia-color-panel) 100%
    );
}

@container (max-width: 759px) {
    .gc-mafia-event .evx-cols { grid-template-columns: minmax(0, 1fr); }
}

@container (max-width: 399px) {
    .gc-mafia-event .evx-count { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: var(--gc-mafia-space-3); }
    .gc-mafia-event .evx-tots { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-event .evx-tier { grid-template-columns: 40px minmax(0, 1fr); }
    .gc-mafia-event .evx-tier .st { grid-column: 2; }
    .gc-mafia-event .evx-claim { align-items: stretch; }
    .gc-mafia-event .evx-claim form,
    .gc-mafia-event .evx-claim .gc-mafia-button { width: 100%; }
    .gc-mafia-event .evx-claim form { grid-column: 1 / -1; }
    .gc-mafia-event .evx-podium { gap: var(--gc-mafia-space-1); padding: var(--gc-mafia-space-3) var(--gc-mafia-space-3) 0; }
    .gc-mafia-event .evx-pslot { min-height: 112px; padding: var(--gc-mafia-space-2) var(--gc-mafia-space-1); }
    .gc-mafia-event .evx-pslot.s1 { min-height: 128px; }
    .gc-mafia-event .evx-rank { grid-template-columns: 36px minmax(0, 1fr); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); }
    .gc-mafia-event .evx-rank .lv { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
    .gc-mafia-event .evx-tier.legend:hover::after,
    .gc-mafia-event .evx-tier.legend:focus-within::after { animation: none; }
}

/* Minigames: gameplay keeps its own boards and artwork; the surrounding lobby,
   actions and records use the shared PvP dossier language. */
.gc-mafia-duel { container-type: inline-size; }
.gc-mafia-duel .gc-mafia-page__inner { max-width: 980px; }
.gc-mafia-duel__cred {
    display: grid;
    gap: 3px;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}
.gc-mafia-duel__cred strong {
    color: var(--gc-mafia-value-text);
    font: bold 22px/1 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
}
.gc-mafia-duel__lobby { padding: 0; }
.gc-mafia-duel__lobby > .gc-mafia-section__header { padding: var(--gc-mafia-space-4); }
.gc-mafia-duel__game-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--gc-mafia-space-3);
    padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-4);
}
.gc-mafia-duel__game-card {
    min-width: 0;
    max-width: none;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
}
.gc-mafia-duel__game-card .ct-portrait,
.gc-mafia-duel__game-card .ct-portrait-placeholder {
    height: 164px;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}
.gc-mafia-duel__game-card .ct-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--gc-mafia-space-2);
    padding: var(--gc-mafia-space-3);
}
.gc-mafia-duel__game-card .ct-name {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui);
}
.gc-mafia-duel__game-card .ct-intro {
    margin: 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui);
}
.gc-mafia-duel__game-card .gc-mafia-button { justify-content: center; }
.gc-mafia-duel__game-state {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui);
}
.gc-mafia-duel__game-state--active {
    color: var(--gc-mafia-color-interactive-text);
    font-weight: bold;
}
.gc-mafia-duel table.center {
    width: 100%;
    margin: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-collapse: collapse;
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
}
.gc-mafia-duel table.center td.subTitle {
    min-height: 0;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display);
}
.gc-mafia-duel table.center td.optieMenu,
.gc-mafia-duel table.center td.optieMenuTinted {
    min-height: 46px;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
    vertical-align: middle;
}
.gc-mafia-duel table.center tr:last-child td { border-bottom: 0; }
.gc-mafia-duel table.center:has(.gc-mafia-duel__challenge) {
    border: 0;
    background: transparent;
    box-shadow: none;
}
.gc-mafia-duel table.center:has(.gc-mafia-duel__challenge) td.optieMenu {
    padding: 0;
    border: 0;
    background: transparent;
}
.gc-mafia-duel__challenge-actions { align-items: end; }
.gc-mafia-duel__quick-pick {
    display: inline-flex;
    min-height: 36px;
    margin: var(--gc-mafia-space-1) var(--gc-mafia-space-1) 0 0;
}
.gc-mafia-duel .submit-btn {
    min-height: 36px;
    padding: 0 var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}
.gc-mafia-duel .submit-btn:hover,
.gc-mafia-duel .submit-btn:focus-visible {
    border-color: var(--gc-mafia-interactive-border);
    color: var(--gc-mafia-color-heading);
}
.gc-mafia-duel .submit-btn:focus-visible {
    outline: 2px solid var(--gc-mafia-color-interactive);
    outline-offset: 2px;
}

@container (max-width: 599px) {
    .gc-mafia-duel__game-grid { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-duel__game-card .ct-portrait,
    .gc-mafia-duel__game-card .ct-portrait-placeholder { height: 180px; }
}

@container (max-width: 399px) {
    .gc-mafia-duel__lobby > .gc-mafia-section__header,
    .gc-mafia-duel__game-grid { padding-right: var(--gc-mafia-space-3); padding-left: var(--gc-mafia-space-3); }
    .gc-mafia-duel__game-grid { padding-bottom: var(--gc-mafia-space-3); }
    .gc-mafia-duel table.center td.subTitle,
    .gc-mafia-duel table.center td.optieMenu,
    .gc-mafia-duel table.center td.optieMenuTinted { padding: var(--gc-mafia-space-3); }
    .gc-mafia-duel .submit-btn,
    .gc-mafia-duel__quick-pick { min-height: 44px; }
    .gc-mafia-duel__challenge-actions { align-items: stretch; }
.gc-mafia-duel__challenge-actions > .gc-mafia-button { width: 100%; }
}

/* Forum: communication records reuse the shared page, panel, field and button language. */
.gc-mafia-forum .gc-mafia-page__inner { max-width: 980px; }
.gc-mafia-forum__content {
    display: grid;
    gap: var(--gc-mafia-space-3);
}
.gc-mafia-forum table.center,
.gc-mafia-forum table.half {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-collapse: collapse;
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
}
.gc-mafia-forum table.half { max-width: 720px; }
.gc-mafia-forum td.optieMenuTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) !important;
    border-bottom: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel) !important;
    color: var(--gc-mafia-color-heading) !important;
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
    text-align: left !important;
}
.gc-mafia-forum td.optieMenu,
.gc-mafia-forum td.optieMenuTinted {
    min-height: 46px;
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) !important;
    border-bottom: 1px solid var(--gc-mafia-rule) !important;
    background: var(--gc-mafia-color-surface) !important;
    color: var(--gc-mafia-color-text) !important;
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
    vertical-align: middle;
}
.gc-mafia-forum tr:last-child > td.optieMenu,
.gc-mafia-forum tr:last-child > td.optieMenuTinted { border-bottom: 0 !important; }
.gc-mafia-forum td.optieMenuTinted { background: var(--gc-mafia-color-surface-raised) !important; }
.gc-mafia-forum td.optieMenu a,
.gc-mafia-forum td.optieMenuTinted a { color: var(--gc-mafia-color-heading); }
.gc-mafia-forum td.optieMenu a:hover,
.gc-mafia-forum td.optieMenuTinted a:hover { color: var(--gc-mafia-color-interactive-hover); }
.gc-mafia-forum .gc-form-fixed td { text-align: left !important; }
.gc-mafia-forum input[type="text"],
.gc-mafia-forum select,
.gc-mafia-forum textarea {
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui);
}
.gc-mafia-forum textarea { min-height: 148px; resize: vertical; }
.gc-mafia-forum input[type="text"]:focus,
.gc-mafia-forum select:focus,
.gc-mafia-forum textarea:focus {
    border-color: var(--gc-mafia-color-interactive);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(169, 210, 213, .16);
}
.gc-mafia-forum input[type="submit"],
.gc-mafia-forum input[type="reset"] {
    min-height: 36px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
.gc-mafia-forum input[type="submit"] {
    border-color: var(--gc-mafia-color-interactive);
    background: var(--gc-mafia-color-interactive);
    color: #101515;
}
.gc-mafia-forum .gc-ubb-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin-bottom: var(--gc-mafia-space-2);
}
.gc-mafia-forum .gc-ubb-btn { min-height: 32px; padding: 4px 8px; }
.gc-mafia-forum .gc-ubb-sel { width: auto; min-height: 32px; }
.gc-mafia-forum .forum-post-wrap { margin: 0; }
.gc-mafia-forum .forum-post-wrap table { border-left: 2px solid var(--gc-mafia-value-border); }
.gc-mafia-forum .fp-header {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) !important;
    background: var(--gc-mafia-color-panel) !important;
    color: var(--gc-mafia-color-heading);
}
.gc-mafia-forum .fp-meta {
    margin-top: 3px;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}
.gc-mafia-forum .fp-actions {
    display: inline-flex;
    float: right;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--gc-mafia-space-1);
}
.gc-mafia-forum__action-form { display: inline-flex; margin: 0; }
.gc-mafia-forum__icon-button,
.gc-mafia-forum__icon-link {
    display: inline-flex;
    width: 32px;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-meta);
    cursor: pointer;
}
.gc-mafia-forum__icon-button:hover,
.gc-mafia-forum__icon-link:hover { border-color: var(--gc-mafia-interactive-border); color: var(--gc-mafia-color-interactive-hover); }
.gc-mafia-forum__icon-button .gc-mafia-icon,
.gc-mafia-forum__icon-link .gc-mafia-icon { width: 16px; height: 16px; }
.gc-mafia-forum .forum-post { padding: var(--gc-mafia-space-4) !important; }
.gc-mafia-forum .fp-footer {
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-4) !important;
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui);
}
.gc-mafia-forum .forum-online { color: var(--gc-mafia-complete-text); font-weight: bold; }
.gc-mafia-forum .forum-offline { color: var(--gc-mafia-color-meta); }
.gc-mafia-forum .fp-avatar {
    width: 36px;
    height: 36px;
    margin-right: var(--gc-mafia-space-2);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: 2px;
    vertical-align: middle;
}
.gc-mafia-forum__state-icon { width: 16px; height: 16px; margin-left: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); vertical-align: middle; }
.gc-mafia-forum__category-icon { width: 52px; text-align: center !important; }
.gc-mafia-forum__category-icon .gc-mafia-icon { width: 20px; height: 20px; color: var(--gc-mafia-color-interactive-muted); }

@container (max-width: 599px) {
    .gc-mafia-forum table.half { max-width: none; }
    .gc-mafia-forum td.optieMenuTitle,
    .gc-mafia-forum td.optieMenu,
    .gc-mafia-forum td.optieMenuTinted { padding: var(--gc-mafia-space-3) !important; }
    .gc-mafia-forum .fp-actions { float: none; justify-content: flex-start; margin-top: var(--gc-mafia-space-2); }
    .gc-mafia-forum .gc-ubb-btn,
    .gc-mafia-forum .gc-ubb-sel { min-height: 44px; }
    .gc-mafia-forum .gc-cards-sm tr.gc-card-row {
        margin: 0;
        padding: var(--gc-mafia-space-3);
        border: 0;
        border-bottom: 1px solid var(--gc-mafia-rule);
        border-left: 2px solid var(--gc-mafia-value-border);
        border-radius: 0;
        background: var(--gc-mafia-color-surface-raised);
    }
    .gc-mafia-forum .gc-cards-sm tr.gc-card-row td {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .gc-mafia-forum .gc-cards-sm tr.gc-card-row td.gc-card-title {
        padding-bottom: var(--gc-mafia-space-2) !important;
        border-bottom: 1px solid var(--gc-mafia-rule) !important;
    }
    .gc-mafia-forum__category-table,
    .gc-mafia-forum__category-table tbody,
    .gc-mafia-forum__category-table tr,
    .gc-mafia-forum__category-table td { display: block; width: 100% !important; box-sizing: border-box; }
    .gc-mafia-forum__category-table tr:not(:first-child) {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr);
        column-gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-3);
        border-bottom: 1px solid var(--gc-mafia-rule);
    }
    .gc-mafia-forum__category-table tr:not(:first-child) td { padding: 0 !important; border: 0 !important; background: transparent !important; }
    .gc-mafia-forum__category-table .gc-mafia-forum__category-icon { grid-row: 1 / span 2; }
    .gc-mafia-forum__category-table .frm-cat-title { display: block; }
    .gc-mafia-forum__category-table tr:not(:first-child) td:last-child { margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); }
}

@container (max-width: 399px) {
    .gc-mafia-forum input[type="submit"],
    .gc-mafia-forum input[type="reset"] { width: 100%; min-height: 44px; }
    .gc-mafia-forum td[width="30%"],
    .gc-mafia-forum td[width="5%"] { width: auto !important; }
    .gc-mafia-forum .gc-form-fixed,
    .gc-mafia-forum .gc-form-fixed tbody,
    .gc-mafia-forum .gc-form-fixed tr,
    .gc-mafia-forum .gc-form-fixed td { display: block; width: 100% !important; box-sizing: border-box; }
}

/* Helpdesk: ticketrecords delen het communicatiepatroon, zonder de bestaande
   ticket- en admincontracten te veranderen. */
.gc-mafia-helpdesk { container-type: inline-size; }
.gc-mafia-helpdesk .gc-mafia-page__inner { max-width: 1080px; }
.gc-mafia-helpdesk__hint { margin: 0; }
.gc-mafia-helpdesk__hint a { color: var(--gc-mafia-color-heading); }
.gc-mafia-helpdesk__hint a:hover { color: var(--gc-mafia-color-interactive-hover); }
.gc-mafia-helpdesk__tabs { overflow-x: auto; scrollbar-width: none; }
.gc-mafia-helpdesk__tabs::-webkit-scrollbar { display: none; }

.gc-mafia-helpdesk table.center {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    border-spacing: 0;
    background: var(--gc-mafia-color-surface);
    box-shadow: var(--gc-mafia-shadow);
    overflow: hidden;
}
.gc-mafia-helpdesk table.center + table.center,
.gc-mafia-helpdesk table.center + .gc-mafia-helpdesk__ticket-layout,
.gc-mafia-helpdesk .gc-mafia-helpdesk__ticket-layout + table.center { margin-top: var(--gc-mafia-space-3) !important; }
.gc-mafia-helpdesk td.subTitle,
.gc-mafia-helpdesk td.optieMenuTitle {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) !important;
    border-bottom: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-panel) !important;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
    text-align: left !important;
}
.gc-mafia-helpdesk td.optieMenu,
.gc-mafia-helpdesk td.optieMenuTinted {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4) !important;
    border-bottom: 1px solid var(--gc-mafia-rule) !important;
    background: var(--gc-mafia-color-surface) !important;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-data)/1.45 var(--gc-mafia-font-ui);
    vertical-align: middle;
}
.gc-mafia-helpdesk tr:last-child > td.optieMenu,
.gc-mafia-helpdesk tr:last-child > td.optieMenuTinted { border-bottom: 0 !important; }
.gc-mafia-helpdesk td.optieMenuTinted { background: var(--gc-mafia-color-surface-raised) !important; }
.gc-mafia-helpdesk td.optieMenu a,
.gc-mafia-helpdesk td.optieMenuTinted a { color: var(--gc-mafia-color-heading); }
.gc-mafia-helpdesk td.optieMenu a:hover,
.gc-mafia-helpdesk td.optieMenuTinted a:hover { color: var(--gc-mafia-color-interactive-hover); }

.gc-mafia-helpdesk input[type="text"],
.gc-mafia-helpdesk select,
.gc-mafia-helpdesk textarea {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui);
}
.gc-mafia-helpdesk textarea { min-height: 130px; resize: vertical; }
.gc-mafia-helpdesk input[type="text"]:focus,
.gc-mafia-helpdesk select:focus,
.gc-mafia-helpdesk textarea:focus {
    border-color: var(--gc-mafia-interactive-border);
    outline: 2px solid rgba(169, 210, 213, .18);
    outline-offset: 1px;
}
.gc-mafia-helpdesk .submit-btn {
    min-height: 38px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-color-interactive);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-interactive);
    color: #101515;
    font: bold var(--gc-mafia-type-label)/1 var(--gc-mafia-font-ui);
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
}
.gc-mafia-helpdesk .submit-btn:hover,
.gc-mafia-helpdesk .submit-btn:focus-visible { background: var(--gc-mafia-color-interactive-hover); }
.gc-mafia-helpdesk form[method="get"] {
    display: inline-flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
}

.gc-mafia-helpdesk .gc-layout {
    display: table;
    width: 100%;
    margin: 0;
    border-spacing: var(--gc-mafia-space-3);
}
.gc-mafia-helpdesk .gc-layout > tbody > tr > td { vertical-align: top; }
.gc-mafia-helpdesk .reply-admin,
.gc-mafia-helpdesk .reply-user { padding-left: var(--gc-mafia-space-3); border-left: 3px solid var(--gc-mafia-rule-strong); }
.gc-mafia-helpdesk .reply-admin { border-left-color: var(--gc-mafia-value-border); }
.gc-mafia-helpdesk .reply-user { border-left-color: var(--gc-mafia-color-interactive-muted); }
.gc-mafia-helpdesk .reply-meta { margin-bottom: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-helpdesk .reply-meta b { color: var(--gc-mafia-color-heading); }
.gc-mafia-helpdesk .admin-badge { display: inline-flex; padding: 2px 5px; border: 1px solid var(--gc-mafia-value-border); border-radius: 999px; color: var(--gc-mafia-value-text); font: bold 10px/1 var(--gc-mafia-font-ui); letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 699px) {
    .gc-mafia-helpdesk td.subTitle,
    .gc-mafia-helpdesk td.optieMenuTitle,
    .gc-mafia-helpdesk td.optieMenu,
    .gc-mafia-helpdesk td.optieMenuTinted { padding: var(--gc-mafia-space-3) !important; }
    .gc-mafia-helpdesk .gc-layout,
    .gc-mafia-helpdesk .gc-layout > tbody,
    .gc-mafia-helpdesk .gc-layout > tbody > tr,
    .gc-mafia-helpdesk .gc-layout > tbody > tr > td { display: block; width: 100% !important; box-sizing: border-box; }
    .gc-mafia-helpdesk .gc-layout { border-spacing: 0; }
    .gc-mafia-helpdesk .gc-layout > tbody > tr > td + td { margin-top: var(--gc-mafia-space-3); }
}
@media (max-width: 399px) {
    .gc-mafia-helpdesk .gc-mafia-content-header__aside { width: 100%; }
    .gc-mafia-helpdesk .gc-mafia-content-header__aside .gc-mafia-button { width: 100%; }
    .gc-mafia-helpdesk .submit-btn { width: 100%; min-height: 44px; }
    .gc-mafia-helpdesk__fields,
    .gc-mafia-helpdesk__fields > tbody,
    .gc-mafia-helpdesk__fields > tbody > tr,
    .gc-mafia-helpdesk__fields > tbody > tr > td,
    .gc-mafia-helpdesk__metadata,
    .gc-mafia-helpdesk__metadata > tbody,
    .gc-mafia-helpdesk__metadata > tbody > tr,
    .gc-mafia-helpdesk__metadata > tbody > tr > td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }
}

/* Kansspel: één spelvlak, beperkte reveal en een leesbare in-flow boeking. */
.gc-mafia-gambling { container-type: inline-size; }
.gc-mafia-gambling .gc-mafia-page__inner { max-width: 980px; }
.gc-mafia-krassen__header { --gc-mafia-header-art: url("/images/styled/krassen.webp"); }
.gc-mafia-krassen .gc-mafia-tabs { overflow-x: auto; scrollbar-width: none; }
.gc-mafia-krassen .gc-mafia-tabs::-webkit-scrollbar { display: none; }
.gc-mafia-krassen .gc-tab-pane > table.center { width: 100% !important; margin: 0 !important; border-spacing: 0; }
.gc-mafia-krassen .gc-tab-pane td.optieMenu {
    padding: 0 !important;
    background: transparent !important;
    color: var(--gc-mafia-color-text);
}
.gc-mafia-krassen .kras-jackpot-banner {
    margin: 0 0 var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-value-border);
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
}
.gc-mafia-krassen .kras-jackpot-banner b { color: var(--gc-mafia-value-text); font-size: 18px; font-variant-numeric: tabular-nums; }
.gc-mafia-krassen .kras-jackpot-sub { display: block; margin-top: 3px; color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-krassen .kras-wrapper { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(190px, .65fr); gap: var(--gc-mafia-space-4); align-items: start; }
.gc-mafia-krassen .kras-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); }
.gc-mafia-krassen .kras-card { min-height: 92px; perspective: 600px; position: relative; }
.gc-mafia-krassen .kras-card-inner { position: relative; width: 100%; height: 100%; min-height: inherit; transition: transform var(--gc-mafia-motion-reveal) var(--gc-mafia-ease); transform-style: preserve-3d; }
.gc-mafia-krassen .kras-card.flipped .kras-card-inner { transform: rotateY(180deg); }
.gc-mafia-krassen .kras-front,
.gc-mafia-krassen .kras-back { position: absolute; inset: 0; display: grid; place-items: center; box-sizing: border-box; padding: var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); backface-visibility: hidden; text-align: center; }
.gc-mafia-krassen .kras-front { background: repeating-linear-gradient(-45deg, rgba(255,255,255,.025) 0 3px, transparent 3px 7px), var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .1em; text-transform: uppercase; }
.gc-mafia-krassen .kras-back { background: var(--gc-mafia-color-panel); color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); transform: rotateY(180deg); overflow-wrap: anywhere; }
.gc-mafia-krassen .match-highlight { border-color: var(--gc-mafia-complete-border) !important; box-shadow: inset 0 0 0 1px var(--gc-mafia-complete-border); }
.gc-mafia-krassen .jackpot-flash { border-color: var(--gc-mafia-complete-border) !important; box-shadow: inset 0 0 0 1px var(--gc-mafia-complete-border); }
.gc-mafia-krassen .near-miss { border-color: var(--gc-mafia-rule-strong) !important; box-shadow: inset 0 0 0 1px var(--gc-mafia-rule-strong); }
.gc-mafia-krassen .match-dim { opacity: .62; }
.gc-mafia-krassen .kras-info { min-width: 0; }
.gc-mafia-krassen .kras-stat { margin-bottom: var(--gc-mafia-space-2); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-krassen .kras-btn,
.gc-mafia-krassen .kras-reveal { width: 100%; margin-top: var(--gc-mafia-space-2); }
.gc-mafia-krassen .kras-reveal { display: none; }
.gc-mafia-krassen .kras-result { min-height: 44px; margin-top: var(--gc-mafia-space-3); }
.gc-mafia-krassen .kras-result:empty { display: none; }
.gc-mafia-krassen .gc-mafia-krassen__result--empty { border-color: var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); }
.gc-mafia-krassen .kras-result font { color: inherit !important; }
.gc-mafia-gambling__reward-condition { font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .06em; text-transform: uppercase; }
.gc-mafia-gambling__reward-condition.is-match { color: var(--gc-mafia-complete-text); }
.gc-mafia-gambling__reward-condition.is-direct { color: var(--gc-mafia-complete-text); }
.gc-mafia-krassen .prize-table { width: 100%; margin-top: var(--gc-mafia-space-3); }
.gc-mafia-krassen .prize-desc { margin: var(--gc-mafia-space-3) 0 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui); }

@container (max-width: 599px) {
    .gc-mafia-krassen .kras-wrapper { grid-template-columns: 1fr; }
    .gc-mafia-krassen .kras-card { min-height: 72px; }
}
@container (max-width: 399px) {
    .gc-mafia-krassen .kras-card { min-height: 58px; }
    .gc-mafia-krassen .kras-front { font-size: 10px; }
    .gc-mafia-krassen .kras-back { font-size: 11px; }
    .gc-mafia-krassen .kras-btn,
    .gc-mafia-krassen .kras-reveal { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .gc-mafia-krassen .kras-card-inner { transition: none; }
}

/* Loterij: trekkingsdossier, aankoop en eigen loten. */
.gc-mafia-loterij__header { --gc-mafia-header-art: url("/images/styled/loterij.webp"); }
.gc-mafia-loterij .gc-mafia-tabs { overflow-x: auto; scrollbar-width: none; }
.gc-mafia-loterij .gc-mafia-tabs::-webkit-scrollbar { display: none; }
.gc-mafia-loterij .gc-tab-pane { margin-top: var(--gc-mafia-space-4); }
.gc-mafia-loterij__layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); gap: var(--gc-mafia-space-4); }
.gc-mafia-loterij__purchase-panel,
.gc-mafia-loterij__prizes,
.gc-mafia-loterij__draw,
.gc-mafia-loterij__tickets { display: grid; gap: var(--gc-mafia-space-3); }
.gc-mafia-loterij__jackpot { padding-bottom: var(--gc-mafia-space-3); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-loterij__jackpot > strong { display: block; margin-top: var(--gc-mafia-space-1); color: var(--gc-mafia-value-text); font: bold 28px/1.15 var(--gc-mafia-font-display); font-variant-numeric: tabular-nums; }
.gc-mafia-loterij__jackpot p,
.gc-mafia-loterij__countdown { margin: 0; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-loterij__countdown strong,
.gc-mafia-loterij .gc-mafia-progress-group__line strong { color: var(--gc-mafia-color-heading); font-variant-numeric: tabular-nums; }
.gc-mafia-loterij__purchase-form { display: grid; gap: var(--gc-mafia-space-2); padding-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-loterij__purchase-form > label { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-loterij__purchase-actions { display: grid; grid-template-columns: 82px auto minmax(150px, 1fr); gap: var(--gc-mafia-space-2); }
.gc-mafia-loterij__purchase-actions input { min-width: 0; min-height: 36px; box-sizing: border-box; padding: 0 var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-ink-1000); color: var(--gc-mafia-color-heading); font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-loterij__purchase-actions input:focus { border-color: var(--gc-mafia-interactive-border); outline: 2px solid rgba(169, 210, 213, .2); outline-offset: 1px; }
.gc-mafia-loterij__purchase-actions .gc-mafia-button { min-height: 36px; }
.gc-mafia-loterij__prizes .gc-mafia-section__title,
.gc-mafia-loterij__draw .gc-mafia-section__title,
.gc-mafia-loterij__tickets .gc-mafia-section__title { margin: 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-section)/1.3 var(--gc-mafia-font-display); }
.gc-mafia-loterij .gc-mafia-data-table-wrap { margin: 0; }
.gc-mafia-loterij__rank { width: 34px; color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .08em; }
.gc-mafia-loterij .loterij-jackpot-row td { background: var(--gc-mafia-value-surface); }
.gc-mafia-loterij .loterij-jackpot-row td:first-child { box-shadow: inset 2px 0 var(--gc-mafia-value-border); }
.gc-mafia-loterij .draw-row-mine td { background: var(--gc-mafia-complete-surface); }
.gc-mafia-loterij .draw-row-mine td:first-child { box-shadow: inset 2px 0 var(--gc-mafia-complete-border); }
.gc-mafia-loterij .draw-num-mine { color: var(--gc-mafia-complete-text); font-weight: bold; }
.gc-mafia-loterij__section-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--gc-mafia-space-3); }
.gc-mafia-loterij__ticket-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(138px, 1fr)); gap: var(--gc-mafia-space-2); }
.gc-mafia-loterij__ticket { display: grid; min-height: 92px; align-content: center; gap: 3px; padding: var(--gc-mafia-space-3); border: 1px dashed var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-loterij__ticket.is-new { border-color: var(--gc-mafia-complete-border); background: var(--gc-mafia-complete-surface); }
.gc-mafia-loterij__ticket-tag,
.gc-mafia-loterij__ticket-status { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.gc-mafia-loterij__ticket-number { color: var(--gc-mafia-color-heading); font: bold 18px/1.2 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-loterij__ticket.is-new .gc-mafia-loterij__ticket-status { color: var(--gc-mafia-complete-text); }
@container (max-width: 599px) {
    .gc-mafia-loterij__layout { grid-template-columns: 1fr; }
}
@container (max-width: 399px) {
    .gc-mafia-loterij__purchase-actions { grid-template-columns: minmax(0, 1fr) auto; }
    .gc-mafia-loterij__purchase-actions .gc-mafia-button--primary { grid-column: 1 / -1; width: 100%; min-height: 44px; }
    .gc-mafia-loterij__ticket-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Gokkast: functionele reels met één rustige winsttoestand. */
.gc-mafia-gokkast__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); gap: var(--gc-mafia-space-4); }
.gc-mafia-gokkast__play,
.gc-mafia-gokkast__controls,
.gc-mafia-gokkast__payouts { display: grid; gap: var(--gc-mafia-space-3); }
.gc-mafia-gokkast__machine { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-ink-1000); }
.gc-mafia-gokkast__reel { display: grid; min-width: 0; min-height: 132px; place-items: center; border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); transition: border-color var(--gc-mafia-motion-fast) ease, box-shadow var(--gc-mafia-motion-fast) ease; }
.gc-mafia-gokkast__reel img { display: block; width: min(100%, 100px); height: auto; image-rendering: pixelated; }
.gc-mafia-gokkast__reel.is-win,
.gc-mafia-gokkast__reel.is-jackpot { border-color: var(--gc-mafia-complete-border); box-shadow: inset 0 0 0 1px var(--gc-mafia-complete-border); }
.gc-mafia-gokkast__reel.is-loss { border-color: var(--gc-mafia-danger-border); box-shadow: inset 0 0 0 1px var(--gc-mafia-danger-border); }
.gc-mafia-gokkast__reel.is-near-miss { opacity: .82; }
.gc-mafia-gokkast__result { min-height: 44px; box-sizing: border-box; }
.gc-mafia-gokkast__result:empty { display: none; }
.gc-mafia-gokkast__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); margin: 0; }
.gc-mafia-gokkast__facts > div { min-width: 0; padding: var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-gokkast__facts dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui); letter-spacing: .06em; text-transform: uppercase; }
.gc-mafia-gokkast__facts dd { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.gc-mafia-gokkast__facts dd.gc-mafia-status-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-gokkast__facts dd.gc-mafia-status-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-gokkast__facts dd a { color: var(--gc-mafia-color-interactive-text); text-decoration: none; }
.gc-mafia-gokkast__form { display: grid; gap: var(--gc-mafia-space-2); padding-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-gokkast__form label { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-gokkast__form input { width: 100%; min-height: 36px; box-sizing: border-box; padding: 0 var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-ink-1000); color: var(--gc-mafia-color-heading); font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-gokkast__form input:focus { border-color: var(--gc-mafia-interactive-border); outline: 2px solid rgba(169, 210, 213, .2); outline-offset: 1px; }
.gc-mafia-gokkast__payouts .gc-mafia-section-title { margin: 0; }
.gc-mafia-gokkast__symbols { width: 126px; white-space: nowrap; }
.gc-mafia-gokkast__symbols .sym-sm { width: 30px; height: 30px; margin-right: 2px; vertical-align: middle; image-rendering: pixelated; }
.gc-mafia-gokkast__symbols .sym-any { display: inline-grid; width: 28px; height: 28px; margin-right: 2px; place-items: center; border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-meta); font: bold 16px/1 var(--gc-mafia-font-ui); vertical-align: middle; }
.gc-mafia .gc-mafia-gokkast__result--near-miss { color: var(--gc-mafia-color-text); font-weight: bold; }
.gc-mafia .gc-mafia-gokkast__result--jackpot,
.gc-mafia .gc-mafia-gokkast__payout { color: var(--gc-mafia-complete-text); }
@container (max-width: 599px) {
    .gc-mafia-gokkast__layout { grid-template-columns: 1fr; }
    .gc-mafia-gokkast__reel { min-height: 96px; }
}
@container (max-width: 399px) {
    .gc-mafia-gokkast__machine { gap: var(--gc-mafia-space-1); padding: var(--gc-mafia-space-2); }
    .gc-mafia-gokkast__reel { min-height: 72px; }
    .gc-mafia-gokkast__form .gc-mafia-button { width: 100%; min-height: 44px; }
    .gc-mafia-gokkast__facts { grid-template-columns: 1fr; }
    .gc-mafia-gokkast__symbols { width: 102px; }
    .gc-mafia-gokkast__symbols .sym-sm { width: 24px; height: 24px; }
    .gc-mafia-gokkast__symbols .sym-any { width: 22px; height: 22px; font-size: 13px; }
}

/* Communicatie: postkamer, records, thread en servercomposer. */
.gc-mafia-communication { container-type: inline-size; }
.gc-mafia-communication .gc-mafia-page__inner { max-width: 980px; }
.gc-mafia-communication__tabs { overflow-x: auto; scrollbar-width: none; }
.gc-mafia-communication__tabs::-webkit-scrollbar { display: none; }
.gc-mafia-communication__capacity { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; align-items: center; gap: var(--gc-mafia-space-3); padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface); }
.gc-mafia-communication__capacity strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gc-mafia-communication table.half { width: 100% !important; margin: 0 !important; border-spacing: 0; border-collapse: separate; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-communication td.optieMenuTitle { padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3) !important; border-bottom: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-panel) !important; color: var(--gc-mafia-color-meta) !important; font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui); letter-spacing: .08em; text-transform: uppercase; }
.gc-mafia-communication td.optieMenu,
.gc-mafia-communication td.optieMenuTinted { padding: var(--gc-mafia-space-3) !important; border-bottom: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface) !important; color: var(--gc-mafia-color-text) !important; }
.gc-mafia-communication tr:last-child > td.optieMenu,
.gc-mafia-communication tr:last-child > td.optieMenuTinted { border-bottom: 0; }
.gc-mafia-communication__panel,
.gc-mafia-communication__thread,
.gc-mafia-communication__thread-head,
.gc-mafia-communication__reply,
.gc-mafia-communication__saved { overflow: hidden; border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface); }
.gc-mafia-communication__panel td.optieMenu,
.gc-mafia-communication__thread td.optieMenu { padding: 0 !important; }
.gc-mafia-communication .list-toolbar,
.gc-mafia-communication .bulkbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-communication .list-toolbar .selall { display: inline-flex; min-height: 32px; align-items: center; gap: var(--gc-mafia-space-2); color: var(--gc-mafia-color-text); font-size: var(--gc-mafia-type-meta); cursor: pointer; }
.gc-mafia-communication .list-toolbar .spacer,
.gc-mafia-communication .bulkbar .spacer { flex: 1; }
.gc-mafia-communication .list-toolbar .summary,
.gc-mafia-communication .bulkbar .count { color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-communication .list-toolbar .summary b,
.gc-mafia-communication .bulkbar .count { color: var(--gc-mafia-value-text); font-weight: bold; }
.gc-mafia-communication .list-toolbar .wisalles,
.gc-mafia-communication .bulk-btn { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui); text-decoration: none; cursor: pointer; }
.gc-mafia-communication .bulkbar { display: none; border-bottom-color: var(--gc-mafia-value-border); background: var(--gc-mafia-value-surface); }
.gc-mafia-communication .bulkbar.show { display: flex; }
.gc-mafia-communication .bulk-btn.danger { border-color: var(--gc-mafia-danger-border); background: var(--gc-mafia-danger-surface); color: var(--gc-mafia-danger-text); }
.gc-mafia-communication .bulk-btn.ghost { background: transparent; color: var(--gc-mafia-color-meta); }
.gc-mafia-communication__list { min-width: 0; overflow: hidden; border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface); }
.gc-mafia a.gc-mafia-communication__record,
.gc-mafia a.gc-mafia-communication__record:link,
.gc-mafia a.gc-mafia-communication__record:visited {
    display: grid;
    min-width: 0;
    min-height: 62px;
    box-sizing: border-box;
    align-content: center;
    gap: var(--gc-mafia-space-1);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border-top: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-text);
    text-decoration: none;
}
.gc-mafia a.gc-mafia-communication__record:first-child { border-top: 0; }
.gc-mafia a.gc-mafia-communication__record:hover,
.gc-mafia a.gc-mafia-communication__record:focus-visible { background: var(--gc-mafia-interactive-surface); color: var(--gc-mafia-color-heading); }
.gc-mafia a.gc-mafia-communication__record:focus-visible { outline: 2px solid var(--gc-mafia-color-interactive); outline-offset: -2px; }
.gc-mafia a.gc-mafia-communication__record.unread { box-shadow: inset 3px 0 var(--gc-mafia-color-interactive); }
.gc-mafia a.gc-mafia-communication__record.unread .conv-who,
.gc-mafia a.gc-mafia-communication__record.unread .conv-snip { color: var(--gc-mafia-color-heading); font-weight: bold; }
.gc-mafia-communication__record .conv-who { overflow: hidden; }
.gc-mafia-communication__record .conv-who .name { display: block; }
.gc-mafia-communication__record .conv-snip { overflow: visible; overflow-wrap: anywhere; text-overflow: clip; white-space: normal; }
.gc-mafia-communication .conv-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; min-height: 62px; border-top: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface); }
.gc-mafia-communication .conv-row:first-child { border-top: 0; }
.gc-mafia-communication .conv-row--empty { display: block; min-height: 0; }
.gc-mafia-communication .conv-row.unread { box-shadow: inset 3px 0 var(--gc-mafia-color-interactive); background: var(--gc-mafia-interactive-surface); }
.gc-mafia-communication .conv-row.is-selected { box-shadow: inset 3px 0 var(--gc-mafia-value-border); }
.gc-mafia-communication .conv-check,
.gc-mafia-communication .conv-del { display: grid; place-items: center; }
.gc-mafia-communication .conv-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--gc-mafia-color-interactive); }
.gc-mafia-communication .conv-main { display: block; min-width: 0; padding: var(--gc-mafia-space-2) 0; color: var(--gc-mafia-color-text); text-decoration: none; }
.gc-mafia-communication .conv-top,
.gc-mafia-communication .conv-bot { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: var(--gc-mafia-space-2); }
.gc-mafia-communication .conv-who { min-width: 0; color: var(--gc-mafia-color-heading); font-size: var(--gc-mafia-type-data); }
.gc-mafia-communication .msg-system-name { color: var(--gc-mafia-color-heading); }
.gc-mafia-communication .conv-who .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-mafia-communication .conv-time { flex: 0 0 auto; color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); white-space: nowrap; }
.gc-mafia-communication .conv-snip { min-width: 0; overflow: hidden; color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); text-overflow: ellipsis; white-space: nowrap; }
.gc-mafia-communication .conv-row.unread .conv-who,
.gc-mafia-communication .conv-row.unread .conv-snip { color: var(--gc-mafia-color-heading); font-weight: bold; }
.gc-mafia-communication .conv-count { display: inline-grid; min-width: 20px; min-height: 20px; place-items: center; padding: 0 5px; border: 1px solid var(--gc-mafia-value-border); border-radius: 10px; background: var(--gc-mafia-value-surface); color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-meta)/1 var(--gc-mafia-font-ui); }
.gc-mafia-communication .conv-receipt { color: var(--gc-mafia-color-interactive-muted); letter-spacing: -2px; }
.gc-mafia-communication .conv-del { color: var(--gc-mafia-color-meta); text-decoration: none; }
.gc-mafia-communication .conv-del:hover,
.gc-mafia-communication .conv-del:focus-visible { background: var(--gc-mafia-danger-surface); color: var(--gc-mafia-danger-text); }
.gc-mafia-communication .conv-del .gc-mafia-icon { width: 16px; height: 16px; }
.gc-mafia-communication .gc-mafia-empty { margin: 0; }
.gc-mafia-communication .thread-hd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--gc-mafia-space-2); }
.gc-mafia-communication .thread-hd > span { min-width: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display); }
.gc-mafia-communication .thread-hd > span a { color: var(--gc-mafia-color-interactive); font: bold var(--gc-mafia-type-meta)/1.2 var(--gc-mafia-font-ui); text-decoration: none; }
.gc-mafia-communication__thread-head td.subTitle { padding: var(--gc-mafia-space-3) !important; border-bottom: 0; background: var(--gc-mafia-color-surface) !important; color: var(--gc-mafia-color-heading) !important; }
.gc-mafia-communication__official { margin: 0; }
.gc-mafia-communication .gc-mafia-source-label { display: inline-flex; align-items: center; gap: 4px; padding: 2px 5px; border: 1px solid var(--gc-mafia-value-border); color: var(--gc-mafia-value-text); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .07em; text-transform: uppercase; vertical-align: middle; white-space: nowrap; }
.gc-mafia-communication .gc-mafia-source-label .gc-mafia-icon { width: 13px; height: 13px; }
.gc-mafia-communication .thread { display: grid; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3); }
.gc-mafia-communication .tile { padding: var(--gc-mafia-space-3); border-left: 2px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-communication .tile.newest { border-left-color: var(--gc-mafia-color-interactive-muted); }
.gc-mafia-communication .tile-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--gc-mafia-space-2); margin-bottom: var(--gc-mafia-space-1); }
.gc-mafia-communication .tile-who { color: var(--gc-mafia-color-heading); font-size: var(--gc-mafia-type-data); }
.gc-mafia-communication .tile-right { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--gc-mafia-space-2); }
.gc-mafia-communication .tile-time,
.gc-mafia-communication .tile-receipt,
.gc-mafia-communication .tile-trans-meta { color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-communication .tile-act,
.gc-mafia-communication .tile-trans { border: 0; background: transparent; color: var(--gc-mafia-color-interactive); font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui); text-decoration: none; cursor: pointer; }
.gc-mafia-communication .tile-act--danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-communication .tile-body { color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui); overflow-wrap: anywhere; }
.gc-mafia-communication .msg-quote { margin: var(--gc-mafia-space-2) 0; padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); border-left: 2px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-panel); color: var(--gc-mafia-color-meta); font-style: italic; }
.gc-mafia-communication .msg-quote-toggle,
.gc-mafia-communication .tile-toggle { border: 0; padding: 0; background: transparent; color: var(--gc-mafia-color-interactive); font: inherit; cursor: pointer; text-decoration: underline; }
.gc-mafia-communication .reply-box { display: grid; gap: var(--gc-mafia-space-2); }
.gc-mafia-communication textarea,
.gc-mafia-communication input[type="text"],
.gc-mafia-communication select { width: 100%; min-height: 36px; box-sizing: border-box; border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-ink-1000); color: var(--gc-mafia-color-heading); padding: var(--gc-mafia-space-2); font: var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-communication textarea { min-height: 112px; resize: vertical; }
.gc-mafia-communication__compose { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
.gc-mafia-communication__compose .gc-mafia-form { display: grid; gap: var(--gc-mafia-stack-gap); }
.gc-mafia-communication__compose .gc-mafia-form > * + * { margin-top: 0; }
.gc-mafia-communication .gc-mafia-form__row { display: grid; grid-template-columns: minmax(130px, .34fr) minmax(0, 1fr); align-items: start; gap: var(--gc-mafia-space-3); }
.gc-mafia-communication .gc-mafia-form__row > label { padding-top: 9px; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-communication .gc-mafia-form__row > div { display: grid; gap: var(--gc-mafia-space-2); }
.gc-mafia-communication .gc-mafia-form__row small { color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-communication .gc-mafia-form__actions { display: flex; justify-content: flex-end; padding-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-communication__saved td { vertical-align: middle; }
.gc-mafia-communication__saved td a { color: var(--gc-mafia-color-heading); text-decoration: none; }
.gc-mafia-communication .gc-pager { display: flex; justify-content: space-between; align-items: center; margin: 0; padding: var(--gc-mafia-space-3) 0 0; }
.gc-mafia-communication .gc-page { min-width: 34px; min-height: 34px; padding: var(--gc-mafia-space-1) var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); color: var(--gc-mafia-color-text); text-align: center; text-decoration: none; }
.gc-mafia-communication .gc-page.active { border-color: var(--gc-mafia-interactive-border); background: var(--gc-mafia-interactive-surface); color: var(--gc-mafia-color-interactive-text); }
.gc-mafia-communication .gc-page.disabled { color: var(--gc-mafia-color-meta); opacity: .6; }
@container (max-width: 599px) {
    .gc-mafia-communication .gc-mafia-form__row { grid-template-columns: 1fr; gap: var(--gc-mafia-space-1); }
    .gc-mafia-communication .gc-mafia-form__row > label { padding-top: 0; }
    .gc-mafia-communication .conv-row { grid-template-columns: 36px minmax(0, 1fr) 36px; }
}
@container (max-width: 399px) {
    .gc-mafia-communication .gc-mafia-content-header__aside,
    .gc-mafia-communication .gc-mafia-content-header__aside .gc-mafia-button,
    .gc-mafia-communication .gc-mafia-form__actions .gc-mafia-button { width: 100%; }
    .gc-mafia-communication__capacity { grid-template-columns: 1fr auto; }
    .gc-mafia-communication__capacity .gc-mafia-progress { grid-column: 1 / -1; grid-row: 2; }
    .gc-mafia-communication .list-toolbar .summary { width: 100%; }
    .gc-mafia-communication .list-toolbar .wisalles,
    .gc-mafia-communication .bulk-btn { flex: 1 1 100%; min-height: 44px; }
    .gc-mafia-communication .conv-row { grid-template-columns: 32px minmax(0, 1fr) 32px; }
    .gc-mafia-communication__record .conv-top { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2px; }
    .gc-mafia-communication .conv-snip { overflow-wrap: anywhere; white-space: normal; }
    .gc-mafia-communication .tile-right { justify-content: flex-start; }
    .gc-mafia-communication__compose { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
}
@media (max-width: 399px) {
    .gc-mafia-communication__record .conv-top { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2px; }
    .gc-mafia-communication__record .conv-snip { overflow-wrap: anywhere; white-space: normal; }
}

/* Poker: functionele kaarten blijven centraal, met selectie vóór Draw. */
.gc-mafia-poker__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); gap: var(--gc-mafia-space-4); }
.gc-mafia-poker__play,
.gc-mafia-poker__controls,
.gc-mafia-poker__payouts { display: grid; gap: var(--gc-mafia-space-3); }
.gc-mafia-poker__hand-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--gc-mafia-space-2); }
.gc-mafia-poker__hand-header .gc-mafia-section-title,
.gc-mafia-poker__hand-header .gc-mafia-meta { margin: 0; }
.gc-mafia-poker__hand { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--gc-mafia-space-2); min-height: 154px; padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-ink-1000); }
.gc-mafia-poker__card { display: grid; gap: var(--gc-mafia-space-1); place-items: center; margin: 0; padding: 0; border: 1px solid transparent; border-radius: var(--gc-mafia-radius); background: transparent; color: var(--gc-mafia-color-interactive-text); cursor: pointer; transition: border-color var(--gc-mafia-motion-fast) ease, box-shadow var(--gc-mafia-motion-fast) ease, transform var(--gc-mafia-motion-fast) ease; }
.gc-mafia-poker__card:disabled { cursor: default; opacity: 1; }
.gc-mafia-poker__card-face { display: block; width: 88px; height: auto; }
.gc-mafia-poker__hold-label { min-height: 14px; color: var(--gc-mafia-color-interactive-text); font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui); letter-spacing: .06em; text-transform: uppercase; }
.gc-mafia-poker__card.is-held { border-color: var(--gc-mafia-interactive-border); box-shadow: inset 0 0 0 1px var(--gc-mafia-interactive-border); transform: translateY(-4px); }
.gc-mafia-poker__card.is-replaced { border-color: var(--gc-mafia-interactive-border); }
.gc-mafia-poker__card.is-win { border-color: var(--gc-mafia-complete-border); box-shadow: inset 0 0 0 1px var(--gc-mafia-complete-border); }
.gc-mafia-poker__card.is-loss { border-color: var(--gc-mafia-danger-border); box-shadow: inset 0 0 0 1px var(--gc-mafia-danger-border); }
.gc-mafia-poker__card:not(:disabled):hover,
.gc-mafia-poker__card:not(:disabled):focus-visible { border-color: var(--gc-mafia-interactive-border); outline: 0; }
.gc-mafia-poker__card:focus-visible { outline: 2px solid rgba(169, 210, 213, .32); outline-offset: 2px; }
.gc-mafia-poker__result { min-height: 44px; box-sizing: border-box; }
.gc-mafia-poker__result:empty { display: none; }
.gc-mafia-poker__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); margin: 0; }
.gc-mafia-poker__facts > div { min-width: 0; padding: var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-poker__facts dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui); letter-spacing: .06em; text-transform: uppercase; }
.gc-mafia-poker__facts dd { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.gc-mafia-poker__facts dd.gc-mafia-status-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-poker__facts dd.gc-mafia-status-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-poker__facts dd a { color: var(--gc-mafia-color-interactive-text); text-decoration: none; }
.gc-mafia-poker__form,
.gc-mafia-poker__draw { display: grid; gap: var(--gc-mafia-space-2); padding-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-poker__form label { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-poker__form input { width: 100%; min-height: 36px; box-sizing: border-box; padding: 0 var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-ink-1000); color: var(--gc-mafia-color-heading); font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-poker__form input:focus { border-color: var(--gc-mafia-interactive-border); outline: 2px solid rgba(169, 210, 213, .2); outline-offset: 1px; }
.gc-mafia-poker__draw .gc-mafia-meta { margin: 0; }
.gc-mafia .gc-mafia-poker__payout { color: var(--gc-mafia-complete-text); }
@container (max-width: 599px) {
    .gc-mafia-poker__layout { grid-template-columns: 1fr; }
}
@container (max-width: 399px) {
    .gc-mafia-poker__hand { min-height: 118px; gap: var(--gc-mafia-space-1); padding: var(--gc-mafia-space-2); }
    .gc-mafia-poker__card-face { width: 56px; }
    .gc-mafia-poker__hold-label { font-size: 9px; }
    .gc-mafia-poker__facts { grid-template-columns: 1fr; }
    .gc-mafia-poker__form .gc-mafia-button,
    .gc-mafia-poker__draw .gc-mafia-button { width: 100%; min-height: 44px; }
}

/* Blackjack: de kaarten zijn het spelvlak; score en boeking blijven rustig daaromheen. */
.gc-mafia-blackjack__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); gap: var(--gc-mafia-space-4); }
.gc-mafia-blackjack__table,
.gc-mafia-blackjack__controls,
.gc-mafia-blackjack__rules { display: grid; gap: var(--gc-mafia-space-3); }
.gc-mafia-blackjack__seat { display: grid; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-ink-1000); }
.gc-mafia-blackjack__seat + .gc-mafia-blackjack__seat { margin-top: var(--gc-mafia-space-2); }
.gc-mafia-blackjack__seat-head { display: flex; align-items: center; justify-content: space-between; gap: var(--gc-mafia-space-3); }
.gc-mafia-blackjack__seat-head .gc-mafia-section-title { margin: 0; }
.gc-mafia-blackjack__score { color: var(--gc-mafia-value-text); font: bold 18px/1 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; }
.gc-mafia-blackjack__score.is-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-blackjack__score.is-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-blackjack__hand { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gc-mafia-space-2); min-height: 112px; }
.gc-mafia-blackjack__card { display: block; width: 88px; height: auto; border: 1px solid transparent; border-radius: var(--gc-mafia-radius); }
.gc-mafia-blackjack__card.is-win { border-color: var(--gc-mafia-complete-border); box-shadow: 0 0 0 1px var(--gc-mafia-complete-border); }
.gc-mafia-blackjack__card.is-loss { border-color: var(--gc-mafia-danger-border); box-shadow: 0 0 0 1px var(--gc-mafia-danger-border); }
.gc-mafia-blackjack__result { min-height: 44px; box-sizing: border-box; }
.gc-mafia-blackjack__result:empty { display: none; }
.gc-mafia-blackjack__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); margin: 0; }
.gc-mafia-blackjack__facts > div { min-width: 0; padding: var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-blackjack__facts dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.25 var(--gc-mafia-font-ui); letter-spacing: .06em; text-transform: uppercase; }
.gc-mafia-blackjack__facts dd { margin: var(--gc-mafia-space-1) 0 0; color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-data)/1.3 var(--gc-mafia-font-ui); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.gc-mafia-blackjack__facts dd.gc-mafia-status-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-blackjack__facts dd.gc-mafia-status-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-blackjack__facts dd a { color: var(--gc-mafia-color-interactive-text); text-decoration: none; }
.gc-mafia-blackjack__form,
.gc-mafia-blackjack__actions { display: grid; gap: var(--gc-mafia-space-2); padding-top: var(--gc-mafia-space-3); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-blackjack__form label { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-blackjack__form input { width: 100%; min-height: 36px; box-sizing: border-box; padding: 0 var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); border-radius: var(--gc-mafia-radius); background: var(--gc-mafia-ink-1000); color: var(--gc-mafia-color-heading); font: var(--gc-mafia-type-body)/1.3 var(--gc-mafia-font-ui); }
.gc-mafia-blackjack__form input:focus { border-color: var(--gc-mafia-interactive-border); outline: 2px solid rgba(169, 210, 213, .2); outline-offset: 1px; }
.gc-mafia-blackjack__actions .gc-mafia-meta,
.gc-mafia-blackjack__rules .gc-mafia-section-title,
.gc-mafia-blackjack__rules .gc-mafia-meta { margin: 0; }
.gc-mafia-blackjack__actions > div { display: flex; flex-wrap: wrap; gap: var(--gc-mafia-space-2); }
.gc-mafia .gc-mafia-blackjack__payout { color: var(--gc-mafia-complete-text); }
@container (max-width: 599px) {
    .gc-mafia-blackjack__layout { grid-template-columns: 1fr; }
}
@container (max-width: 399px) {
    .gc-mafia-blackjack__seat { padding: var(--gc-mafia-space-2); }
    .gc-mafia-blackjack__hand { min-height: 78px; gap: var(--gc-mafia-space-1); }
    .gc-mafia-blackjack__card { width: 56px; }
    .gc-mafia-blackjack__facts { grid-template-columns: 1fr; }
    .gc-mafia-blackjack__form .gc-mafia-button,
    .gc-mafia-blackjack__actions .gc-mafia-button { flex: 1 1 100%; min-height: 44px; }
}

/* Shell: ingeklapte donateurmonitor voor actieve actie-afkoelingen. */
.gc-mafia-action-monitor { display: grid; width: 100%; margin-top: 3px; color: var(--gc-mafia-color-text); container-type: inline-size; }
.gc-mafia-action-monitor [hidden] { display: none !important; }
.gc-mafia-action-monitor__jail,
.gc-mafia-action-monitor summary,
.gc-mafia-action-monitor__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--gc-mafia-space-2); box-sizing: border-box; min-height: 24px; padding: 3px var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-meta)/1.2 var(--gc-mafia-font-ui); text-decoration: none; }
.gc-mafia-action-monitor__jail { margin-bottom: 4px; border-left: 2px solid var(--gc-mafia-danger-border); background: var(--gc-mafia-danger-surface); }
.gc-mafia-action-monitor__details { border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface); }
.gc-mafia-action-monitor summary { grid-template-columns: minmax(0, 1fr) 11px; border: 0; color: var(--gc-mafia-color-heading); cursor: pointer; list-style: none; }
.gc-mafia-action-monitor summary::-webkit-details-marker { display: none; }
.gc-mafia-action-monitor__caret { width: 10px; height: 10px; color: var(--gc-mafia-color-meta); transition: transform var(--gc-mafia-motion-fast) ease; }
.gc-mafia-action-monitor__details[open] summary { border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-action-monitor__details[open] .gc-mafia-action-monitor__caret { transform: rotate(90deg); }
.gc-mafia-action-monitor__row { border-width: 0 0 1px; }
.gc-mafia-action-monitor__row:last-child { border-bottom: 0; }
.gc-mafia-action-monitor__jail > span:first-child,
.gc-mafia-action-monitor__row > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-mafia-action-monitor__time { color: var(--gc-mafia-value-text); font-weight: bold; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gc-mafia-action-monitor__jail .gc-mafia-action-monitor__time { color: var(--gc-mafia-danger-text); }
.gc-mafia-action-monitor__jail:hover,
.gc-mafia-action-monitor__jail:focus-visible,
.gc-mafia-action-monitor summary:hover,
.gc-mafia-action-monitor summary:focus-visible,
.gc-mafia-action-monitor__row:hover,
.gc-mafia-action-monitor__row:focus-visible { background: var(--gc-mafia-interactive-surface); color: var(--gc-mafia-color-heading); outline: 0; }
.gc-mafia-action-monitor__jail:focus-visible,
.gc-mafia-action-monitor summary:focus-visible,
.gc-mafia-action-monitor__row:focus-visible { box-shadow: inset 0 0 0 2px var(--gc-mafia-interactive-border); }
.gc-mafia-action-monitor--notice { display: block; box-sizing: border-box; width: 100%; margin-top: 3px; padding: var(--gc-mafia-space-2); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); text-decoration: none; }
.gc-mafia-action-monitor--notice[href]:hover,
.gc-mafia-action-monitor--notice[href]:focus-visible { border-color: var(--gc-mafia-interactive-border); color: var(--gc-mafia-color-interactive-text); outline: 0; }
@container (max-width: 399px) {
    .gc-mafia-action-monitor__jail,
    .gc-mafia-action-monitor summary,
    .gc-mafia-action-monitor__row { min-height: var(--gc-mafia-menu-target-compact); }
}
/* De smalle desktopnavigatie is geen mobiele touch-sheet. */
#gc-menu-left .gc-mafia-action-monitor__jail,
#gc-menu-left .gc-mafia-action-monitor summary,
#gc-menu-left .gc-mafia-action-monitor__row,
#gc-menu-right .gc-mafia-action-monitor__jail,
#gc-menu-right .gc-mafia-action-monitor summary,
#gc-menu-right .gc-mafia-action-monitor__row { height: 24px; min-height: 24px; padding-top: 2px; padding-bottom: 2px; }

#m-menu-left .gc-mafia-action-monitor__jail,
#m-menu-left .gc-mafia-action-monitor summary,
#m-menu-left .gc-mafia-action-monitor__row,
#m-menu-right .gc-mafia-action-monitor__jail,
#m-menu-right .gc-mafia-action-monitor summary,
#m-menu-right .gc-mafia-action-monitor__row { min-height: var(--gc-mafia-menu-target-compact); }

/* Applicatieshell: gedeelde zijmenu's. Legacy-routes en badge-ankers blijven
   intact; alleen de presentatie hangt aan de Mafia-componentlaag. */
#gc-menu-left .gc-mafia-menu,
#gc-menu-right .gc-mafia-menu,
#m-menu-left .gc-mafia-menu,
#m-menu-right .gc-mafia-menu {
    color: var(--gc-mafia-color-text);
    font: 12px/1.25 var(--gc-mafia-font-ui);
}

#gc-menu-left .gc-mafia-menu__title,
#gc-menu-right .gc-mafia-menu__title,
#m-menu-left .gc-mafia-menu__title,
#m-menu-right .gc-mafia-menu__title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 12px;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    width: 100%;
    min-height: 34px;
    margin: var(--gc-mafia-stack-gap) 0 0;
    padding: 7px 10px 7px 12px;
    border: 0;
    border-top: 2px solid var(--gc-mafia-shell-trim);
    border-left: 2px solid transparent;
    border-radius: 0;
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-heading);
    font: bold 11px/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .11em;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}

#gc-menu-left .gc-mafia-menu__title.menutitleOff,
#gc-menu-right .gc-mafia-menu__title.menutitleOff,
#m-menu-left .gc-mafia-menu__title.menutitleOff,
#m-menu-right .gc-mafia-menu__title.menutitleOff {
    background-color: var(--gc-mafia-color-surface);
    background-image:
        radial-gradient(ellipse 110% 150% at 50% 45%, rgba(15, 16, 16, .1) 35%, rgba(15, 16, 16, .68) 100%),
        linear-gradient(180deg, rgba(15, 16, 16, .58) 0%, rgba(20, 22, 21, .84) 100%),
        url("/images/styled/banner.webp");
    background-position: center, center, center;
    background-repeat: no-repeat;
    background-size: cover, cover, cover;
}

#gc-menu-left .gc-mafia-menu__title[aria-expanded="true"],
#gc-menu-right .gc-mafia-menu__title[aria-expanded="true"],
#m-menu-left .gc-mafia-menu__title[aria-expanded="true"],
#m-menu-right .gc-mafia-menu__title[aria-expanded="true"] {
    background-color: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
}

#gc-menu-left .gc-mafia-menu__title:hover,
#gc-menu-left .gc-mafia-menu__title:focus-visible,
#gc-menu-right .gc-mafia-menu__title:hover,
#gc-menu-right .gc-mafia-menu__title:focus-visible,
#m-menu-left .gc-mafia-menu__title:hover,
#m-menu-left .gc-mafia-menu__title:focus-visible,
#m-menu-right .gc-mafia-menu__title:hover,
#m-menu-right .gc-mafia-menu__title:focus-visible {
    background-color: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
    outline: 0;
}

#gc-menu-left .gc-mafia-menu__title .gc-mafia-icon,
#gc-menu-right .gc-mafia-menu__title .gc-mafia-icon,
#m-menu-left .gc-mafia-menu__title .gc-mafia-icon,
#m-menu-right .gc-mafia-menu__title .gc-mafia-icon {
    width: 11px;
    height: 11px;
    color: var(--gc-mafia-faint);
    transition: transform var(--gc-mafia-motion-base) var(--gc-mafia-ease);
}

#gc-menu-left .gc-mafia-menu__title[aria-expanded="true"] .gc-mafia-icon,
#gc-menu-right .gc-mafia-menu__title[aria-expanded="true"] .gc-mafia-icon,
#m-menu-left .gc-mafia-menu__title[aria-expanded="true"] .gc-mafia-icon,
#m-menu-right .gc-mafia-menu__title[aria-expanded="true"] .gc-mafia-icon {
    transform: rotate(90deg);
}

#gc-menu-left .gc-mafia-menu .gc-menu-item,
#gc-menu-right .gc-mafia-menu .gc-menu-item,
#m-menu-left .gc-mafia-menu .gc-menu-item,
#m-menu-right .gc-mafia-menu .gc-menu-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 29px;
    padding: 5px 10px 5px 13px;
    border: 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
    border-left: 2px solid transparent;
    background: var(--gc-mafia-color-panel);
    color: var(--gc-mafia-color-heading);
    font: 12px/1.25 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
    cursor: pointer;
}

#gc-menu-right .gc-mafia-menu .gc-mafia-menu__event,
#m-menu-right .gc-mafia-menu .gc-mafia-menu__event {
    flex-wrap: wrap;
}

#gc-menu-left .gc-mafia-menu .gc-menu-item a,
#gc-menu-right .gc-mafia-menu .gc-menu-item a,
#m-menu-left .gc-mafia-menu .gc-menu-item a,
#m-menu-right .gc-mafia-menu .gc-menu-item a {
    color: inherit;
    font: inherit;
    text-decoration: none;
}

#gc-menu-left .gc-mafia-menu .gc-menu-item:hover,
#gc-menu-left .gc-mafia-menu .gc-menu-item:focus-visible,
#gc-menu-left .gc-mafia-menu .gc-menu-item.is-current,
#gc-menu-right .gc-mafia-menu .gc-menu-item:hover,
#gc-menu-right .gc-mafia-menu .gc-menu-item:focus-visible,
#gc-menu-right .gc-mafia-menu .gc-menu-item.is-current,
#m-menu-left .gc-mafia-menu .gc-menu-item:hover,
#m-menu-left .gc-mafia-menu .gc-menu-item:focus-visible,
#m-menu-left .gc-mafia-menu .gc-menu-item.is-current,
#m-menu-right .gc-mafia-menu .gc-menu-item:hover,
#m-menu-right .gc-mafia-menu .gc-menu-item:focus-visible,
#m-menu-right .gc-mafia-menu .gc-menu-item.is-current {
    background: var(--gc-mafia-interactive-surface);
    color: var(--gc-mafia-color-heading);
    outline: 0;
}

#gc-menu-left .gc-mafia-menu .gc-menu-item.is-current,
#gc-menu-right .gc-mafia-menu .gc-menu-item.is-current,
#m-menu-left .gc-mafia-menu .gc-menu-item.is-current,
#m-menu-right .gc-mafia-menu .gc-menu-item.is-current {
    border-left-color: var(--gc-mafia-color-interactive);
}

#gc-menu-left .gc-mafia-menu__icon,
#gc-menu-right .gc-mafia-menu__icon,
#m-menu-left .gc-mafia-menu__icon,
#m-menu-right .gc-mafia-menu__icon {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    color: var(--gc-mafia-faint);
}

#gc-menu-left .gc-mafia-menu .gc-menu-item.is-current .gc-mafia-menu__icon,
#gc-menu-right .gc-mafia-menu .gc-menu-item.is-current .gc-mafia-menu__icon,
#m-menu-left .gc-mafia-menu .gc-menu-item.is-current .gc-mafia-menu__icon,
#m-menu-right .gc-mafia-menu .gc-menu-item.is-current .gc-mafia-menu__icon {
    color: var(--gc-mafia-color-interactive);
}

#gc-menu-left .gc-mafia-menu .gc-menu-item br,
#gc-menu-right .gc-mafia-menu .gc-menu-item br,
#m-menu-left .gc-mafia-menu .gc-menu-item br,
#m-menu-right .gc-mafia-menu .gc-menu-item br {
    flex-basis: 100%;
    height: 0;
}

#gc-menu-left .gc-mafia-menu__event-meta,
#gc-menu-right .gc-mafia-menu__event-meta,
#m-menu-left .gc-mafia-menu__event-meta,
#m-menu-right .gc-mafia-menu__event-meta {
    flex: 0 0 calc(100% - 21px);
    margin-left: 21px;
    color: var(--gc-mafia-color-meta);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

#gc-menu-left .gc-mafia-menu__event-details,
#gc-menu-right .gc-mafia-menu__event-details,
#m-menu-left .gc-mafia-menu__event-details,
#m-menu-right .gc-mafia-menu__event-details {
    display: grid;
    flex: 0 0 calc(100% - 21px);
    gap: 2px;
    margin-left: 21px;
}

#gc-menu-left .gc-mafia-menu__event-details .gc-mafia-menu__event-meta,
#gc-menu-right .gc-mafia-menu__event-details .gc-mafia-menu__event-meta,
#m-menu-left .gc-mafia-menu__event-details .gc-mafia-menu__event-meta,
#m-menu-right .gc-mafia-menu__event-details .gc-mafia-menu__event-meta {
    margin-left: 0;
}

#gc-menu-left .gc-mafia-menu__event-meta--value,
#gc-menu-right .gc-mafia-menu__event-meta--value,
#m-menu-left .gc-mafia-menu__event-meta--value,
#m-menu-right .gc-mafia-menu__event-meta--value {
    color: var(--gc-mafia-value-text);
}

#gc-menu-left .gc-mafia-menu .gc-badge,
#gc-menu-right .gc-mafia-menu .gc-badge,
#m-menu-left .gc-mafia-menu .gc-badge,
#m-menu-right .gc-mafia-menu .gc-badge {
    display: inline-grid;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0 0 0 2px;
    padding: 0 3px;
    border: 1px solid #f0d18a;
    border-radius: 2px;
    background: var(--gc-mafia-color-value);
    color: var(--gc-mafia-ink-950);
    font: bold 10px/1 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    text-align: center;
}

#gc-menu-left .gc-mafia-menu .gc-badge:empty,
#gc-menu-right .gc-mafia-menu .gc-badge:empty,
#m-menu-left .gc-mafia-menu .gc-badge:empty,
#m-menu-right .gc-mafia-menu .gc-badge:empty { display: none; }
#gc-menu-left .gc-mafia-menu .gc-badge-dot,
#gc-menu-right .gc-mafia-menu .gc-badge-dot,
#m-menu-left .gc-mafia-menu .gc-badge-dot,
#m-menu-right .gc-mafia-menu .gc-badge-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 2px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--gc-mafia-color-value);
    flex-shrink: 0;
}

#gc-menu-left .gc-mafia-menu .gc-zoek-wrap,
#m-menu-left .gc-mafia-menu .gc-zoek-wrap {
    padding: 8px;
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-panel);
}

#gc-menu-left .gc-mafia-menu .gc-zoek-box,
#m-menu-left .gc-mafia-menu .gc-zoek-box {
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

#gc-menu-left .gc-mafia-menu .gc-zoek-box input,
#m-menu-left .gc-mafia-menu .gc-zoek-box input {
    color: var(--gc-mafia-color-heading);
}

#gc-menu-left .gc-mafia-menu .gc-tutorial-progress,
#m-menu-left .gc-mafia-menu .gc-tutorial-progress {
    margin: 0;
    padding: 8px 10px;
    border-left: 2px solid var(--gc-mafia-color-value);
    background: var(--gc-mafia-value-surface);
}

#gc-menu-left .gc-mafia-menu .gc-tutorial-progress-label,
#m-menu-left .gc-mafia-menu .gc-tutorial-progress-label {
    color: var(--gc-mafia-value-text);
}

#gc-menu-left .gc-mafia-menu .gc-tutorial-progress-bar,
#m-menu-left .gc-mafia-menu .gc-tutorial-progress-bar {
    background: var(--gc-mafia-color-surface);
}

#gc-menu-left .gc-mafia-menu .gc-tutorial-progress-fill,
#m-menu-left .gc-mafia-menu .gc-tutorial-progress-fill {
    background: var(--gc-mafia-color-value);
}

#m-menu-left .gc-mafia-menu__title,
#m-menu-right .gc-mafia-menu__title {
    min-height: var(--gc-mafia-menu-target-compact);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
}

#m-menu-left .gc-mafia-menu .gc-menu-item,
#m-menu-right .gc-mafia-menu .gc-menu-item {
    min-height: var(--gc-mafia-menu-target-compact);
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    font-size: var(--gc-mafia-type-label);
}

#m-menu-left .gc-mafia-menu__icon,
#m-menu-right .gc-mafia-menu__icon {
    flex-basis: 16px;
    width: 16px;
    height: 16px;
}

/* Relatie en huwelijk: één wederzijdse status, met de volgende stap in hetzelfde dossier. */
.gc-mafia-relationship { container-type: inline-size; }
.gc-mafia-relationship__status { min-width: 0; overflow: hidden; }
.gc-mafia-relationship__status-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
}
.gc-mafia-relationship__status-head > div { min-width: 0; }
.gc-mafia-relationship__status-head h2 {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.2 var(--gc-mafia-font-display);
    overflow-wrap: anywhere;
}
.gc-mafia-relationship__status-head p {
    margin: var(--gc-mafia-space-2) 0 0;
    color: var(--gc-mafia-color-text);
    font: var(--gc-mafia-type-story)/1.5 var(--gc-mafia-font-ui);
}
.gc-mafia-relationship__status[data-state="received"] { box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-relationship__status[data-state="widowed"] { border-color: var(--gc-mafia-danger-border); }
.gc-mafia-relationship__identity {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    border-bottom: 1px solid var(--gc-mafia-rule);
    background: var(--gc-mafia-color-surface);
}
.gc-mafia-relationship__identity-person { min-width: 0; }
.gc-mafia-relationship__identity-person--partner { text-align: right; }
.gc-mafia-relationship__identity-person span {
    display: block;
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.gc-mafia-relationship__identity-person strong,
.gc-mafia-relationship__identity-person a {
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-body)/1.4 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}
.gc-mafia-relationship__identity-mark {
    color: var(--gc-mafia-value-text);
    font: normal var(--gc-mafia-type-section)/1 var(--gc-mafia-font-display);
}
.gc-mafia-relationship__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0 var(--gc-mafia-space-4);
}
.gc-mafia-relationship__facts > div {
    min-width: 0;
    padding: var(--gc-mafia-space-3) 0;
}
.gc-mafia-relationship__facts > div + div {
    margin-left: var(--gc-mafia-space-3);
    padding-left: var(--gc-mafia-space-3);
    border-left: 1px solid var(--gc-mafia-rule);
}
.gc-mafia-relationship__facts dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.gc-mafia-relationship__facts dd {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-data)/1.35 var(--gc-mafia-font-ui);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
.gc-mafia-relationship__facts dd.is-value { color: var(--gc-mafia-value-text); }
.gc-mafia-relationship__facts dd.is-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-relationship__form { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
.gc-mafia-relationship__form > * { margin-top: 0; margin-bottom: 0; }
.gc-mafia-relationship__form > * + * { margin-top: var(--gc-mafia-stack-gap); }
.gc-mafia-relationship__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-4);
}
.gc-mafia-relationship__actions form { display: contents; }
.gc-mafia-relationship__actions .gc-mafia-button { min-height: 40px; }
.gc-mafia-relationship__decision { margin: 0; border-width: 1px 0 0; }

@container (max-width: 599px) {
    .gc-mafia-relationship__status-head { padding: var(--gc-mafia-space-3); }
    .gc-mafia-relationship__identity { padding: var(--gc-mafia-space-3); }
    .gc-mafia-relationship__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 var(--gc-mafia-space-3); }
    .gc-mafia-relationship__facts > div:nth-child(3) { grid-column: 1 / -1; padding-top: var(--gc-mafia-space-2); border-top: 1px solid var(--gc-mafia-rule); }
    .gc-mafia-relationship__facts > div:nth-child(3) { margin-left: 0; padding-left: 0; border-left: 0; }
    .gc-mafia-relationship__form { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
    .gc-mafia-relationship__actions { align-items: stretch; padding: 0 var(--gc-mafia-space-3) var(--gc-mafia-space-3); }
    .gc-mafia-relationship__actions .gc-mafia-button { flex: 1 1 100%; min-height: 44px; }
}

@container (max-width: 399px) {
    .gc-mafia-relationship__status-head h2 { font-size: var(--gc-mafia-type-section); }
    .gc-mafia-relationship__identity { grid-template-columns: 1fr; gap: var(--gc-mafia-space-1); }
    .gc-mafia-relationship__identity-person--partner { text-align: left; }
    .gc-mafia-relationship__identity-mark { display: none; }
    .gc-mafia-relationship__facts { grid-template-columns: 1fr; }
    .gc-mafia-relationship__facts > div + div { margin-left: 0; padding-left: 0; border-top: 1px solid var(--gc-mafia-rule); border-left: 0; }
    .gc-mafia-relationship__facts > div:nth-child(3) { grid-column: auto; }
}
/* Openbaar spelersprofiel: dossieropbouw voor identiteit, feiten en onderscheidingen. */
.gc-mafia-user-profile { container-type: inline-size; }

.gc-mafia-user-profile__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gc-mafia-space-4);
}

.gc-mafia-user-profile__identity { min-width: 0; }

.gc-mafia-user-profile__identity .gc-mafia-content-header__title {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.gc-mafia-user-profile__portrait {
    width: 132px;
    height: 132px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--gc-mafia-shell-trim);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
}

.gc-mafia-user-profile__portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-mafia-user-profile__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 0 var(--gc-mafia-space-4);
}

.gc-mafia-user-profile__fact {
    min-width: 0;
    padding: var(--gc-mafia-space-3) 0;
    border-bottom: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-user-profile__fact:nth-child(odd) {
    padding-right: var(--gc-mafia-space-3);
}

.gc-mafia-user-profile__fact:nth-child(even) {
    padding-left: var(--gc-mafia-space-3);
    border-left: 1px solid var(--gc-mafia-rule);
}

.gc-mafia-user-profile__fact dt {
    color: var(--gc-mafia-color-meta);
    font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gc-mafia-user-profile__fact dd {
    margin: var(--gc-mafia-space-1) 0 0;
    color: var(--gc-mafia-color-heading);
    font: var(--gc-mafia-type-body)/1.45 var(--gc-mafia-font-ui);
    overflow-wrap: anywhere;
}

.gc-mafia-user-profile__state.is-complete { color: var(--gc-mafia-complete-text); }
.gc-mafia-user-profile__state.is-danger { color: var(--gc-mafia-danger-text); }
.gc-mafia-user-profile__state.is-muted { color: var(--gc-mafia-color-meta); }

.gc-mafia-user-profile__awards-body {
    padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4);
    text-align: center;
}

.gc-mafia-user-profile__honor-grid,
.gc-mafia-user-profile__achievement-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: var(--gc-mafia-space-4);
    padding: var(--gc-mafia-space-3) 0;
}

.gc-mafia-user-profile__honor {
    display: grid;
    width: 104px;
    justify-items: center;
    gap: var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-text);
}

.gc-mafia-user-profile__honor-image {
    display: inline-flex;
    width: 88px;
    min-height: 88px;
    align-items: center;
    justify-content: center;
}

.gc-mafia-user-profile__honor-title {
    display: block;
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui);
}

.gc-mafia-user-profile__honor > .gc-mafia-meta { display: block; font-style: italic; }
.gc-mafia-user-profile__honor-info { margin-top: var(--gc-mafia-space-1); }

.gc-mafia-user-profile__achievements-title {
    margin: var(--gc-mafia-space-2) 0 var(--gc-mafia-space-1);
    color: var(--gc-mafia-color-heading);
    font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display);
}

.gc-mafia-user-profile__awards-body > .gc-mafia-divider {
    width: min(60%, 360px);
    margin: var(--gc-mafia-space-4) auto;
    border: 0;
    border-top: 1px solid var(--gc-mafia-rule-strong);
}

.gc-mafia-user-profile__biography {
    min-height: 96px;
    padding: var(--gc-mafia-space-4);
    background-color: var(--gc-mafia-color-panel);
    overflow-wrap: anywhere;
}

.gc-mafia-user-profile__biography img,
.gc-mafia-user-profile__biography video,
.gc-mafia-user-profile__biography iframe {
    max-width: 100%;
}

.gc-mafia-user-profile__friends { padding: var(--gc-mafia-space-3) var(--gc-mafia-space-4); }
.gc-mafia-user-profile__friends p { margin: 0; }
.gc-mafia-user-profile__friends ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gc-mafia-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}
.gc-mafia-user-profile__friends a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid var(--gc-mafia-rule-strong);
    border-radius: var(--gc-mafia-radius);
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-interactive-text);
    font-weight: bold;
}

.gc-mafia-user-profile__actions { justify-content: center; }

@container (max-width: 599px) {
    .gc-mafia-user-profile__header { grid-template-columns: 1fr; }
    .gc-mafia-user-profile__portrait { width: 112px; height: 112px; }
    .gc-mafia-user-profile__facts { grid-template-columns: 1fr; padding: 0 var(--gc-mafia-space-3); }
    .gc-mafia-user-profile__fact:nth-child(odd),
    .gc-mafia-user-profile__fact:nth-child(even) { padding-right: 0; padding-left: 0; border-left: 0; }
    .gc-mafia-user-profile__biography { padding: var(--gc-mafia-space-3); }
    .gc-mafia-user-profile__actions .gc-mafia-button { flex: 1 1 100%; min-height: 44px; }
}


/* Feedback refinement: shared disabled states, scrollbars and compact layouts. */
html:has(.gc-mafia),
body:has(.gc-mafia),
.gc-mafia,
.gc-mafia-scrollbar {
    scrollbar-width: thin;
    scrollbar-color: var(--gc-mafia-scrollbar-thumb) var(--gc-mafia-color-panel);
}
html:has(.gc-mafia)::-webkit-scrollbar,
body:has(.gc-mafia)::-webkit-scrollbar,
.gc-mafia::-webkit-scrollbar,
.gc-mafia *::-webkit-scrollbar,
.gc-mafia-scrollbar::-webkit-scrollbar { width: 10px; height: 10px; }
html:has(.gc-mafia)::-webkit-scrollbar-track,
body:has(.gc-mafia)::-webkit-scrollbar-track,
.gc-mafia::-webkit-scrollbar-track,
.gc-mafia *::-webkit-scrollbar-track,
.gc-mafia-scrollbar::-webkit-scrollbar-track { background: var(--gc-mafia-color-panel); }
html:has(.gc-mafia)::-webkit-scrollbar-thumb,
body:has(.gc-mafia)::-webkit-scrollbar-thumb,
.gc-mafia::-webkit-scrollbar-thumb,
.gc-mafia *::-webkit-scrollbar-thumb,
.gc-mafia-scrollbar::-webkit-scrollbar-thumb {
    border: 2px solid var(--gc-mafia-color-panel);
    border-radius: 2px;
    background: var(--gc-mafia-scrollbar-thumb);
}
html:has(.gc-mafia)::-webkit-scrollbar-thumb:hover,
body:has(.gc-mafia)::-webkit-scrollbar-thumb:hover,
.gc-mafia::-webkit-scrollbar-thumb:hover,
.gc-mafia *::-webkit-scrollbar-thumb:hover,
.gc-mafia-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--gc-mafia-color-interactive-muted); }
html:has(.gc-mafia)::-webkit-scrollbar-corner,
body:has(.gc-mafia)::-webkit-scrollbar-corner,
.gc-mafia::-webkit-scrollbar-corner,
.gc-mafia *::-webkit-scrollbar-corner,
.gc-mafia-scrollbar::-webkit-scrollbar-corner { background: var(--gc-mafia-color-panel); }

.gc-mafia-action-monitor summary.gc-mafia-menu__title,
.gc-mafia-action-monitor__title.gc-mafia-menu__title {
    display: grid;
    margin: 0;
    grid-template-columns: minmax(0, 1fr) 12px;
    min-height: 34px;
    box-sizing: border-box;
    align-items: center;
    gap: var(--gc-mafia-space-2);
    padding: 7px 10px 7px 12px;
    border: 0;
    border-top: 2px solid var(--gc-mafia-shell-trim);
    border-left: 2px solid transparent;
    border-radius: 0;
    background: var(--gc-mafia-color-surface);
    color: var(--gc-mafia-color-heading);
    font: bold var(--gc-mafia-type-kicker)/1.2 var(--gc-mafia-font-ui);
    letter-spacing: .11em;
    text-align: left;
    text-transform: uppercase;
}
.gc-mafia-action-monitor__title.gc-mafia-menu__title { grid-template-columns: minmax(0, 1fr); }
#gc-menu-left .gc-mafia-action-monitor .gc-mafia-menu__title,
#gc-menu-right .gc-mafia-action-monitor .gc-mafia-menu__title,
#m-menu-left .gc-mafia-action-monitor .gc-mafia-menu__title,
#m-menu-right .gc-mafia-action-monitor .gc-mafia-menu__title { margin: 0; }
.gc-mafia-action-monitor summary.gc-mafia-menu__title:hover,
.gc-mafia-action-monitor summary.gc-mafia-menu__title:focus-visible {
    background: var(--gc-mafia-color-surface-raised);
    color: var(--gc-mafia-color-heading);
}
#m-menu-left .gc-mafia-action-monitor summary.gc-mafia-menu__title,
#m-menu-right .gc-mafia-action-monitor summary.gc-mafia-menu__title,
#m-menu-left .gc-mafia-action-monitor__title.gc-mafia-menu__title,
#m-menu-right .gc-mafia-action-monitor__title.gc-mafia-menu__title {
    min-height: var(--gc-mafia-menu-target-compact);
}

.gc-mafia-energy-debuff {
    display: flex;
    align-items: flex-start;
    gap: var(--gc-mafia-space-2);
    margin-top: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-value-border);
    border-left-width: 2px;
    background: var(--gc-mafia-value-surface);
    color: var(--gc-mafia-value-text);
    font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui);
}
.gc-mafia-energy-debuff .gc-mafia-icon { flex: 0 0 18px; width: 18px; height: 18px; }
.gc-mafia-energy-debuff a { color: var(--gc-mafia-color-interactive-text); }

.gc-mafia-user-profile__awards-body .gc-img-blend::after {
    background: radial-gradient(
        ellipse closest-side at center,
        transparent 60%,
        rgba(20, 22, 21, .25) 85%,
        var(--gc-mafia-color-panel) 100%
    );
}

.gc-mafia .gc-leaderboard__note {
    color: var(--gc-mafia-color-meta);
    font: var(--gc-mafia-type-data)/1.5 var(--gc-mafia-font-ui);
}
.gc-mafia .gc-bail-korting {
    color: var(--gc-mafia-complete-text);
    font-size: var(--gc-mafia-type-meta);
}

.gc-mafia-guidance-wrap > .gc-objbar-grindfoot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-2);
    margin-top: 0;
    border-left-color: var(--gc-mafia-color-interactive);
}
.gc-mafia-guidance-wrap > .gc-objbar-grindfoot[hidden] { display: none; }
.gc-mafia-guidance-wrap > .gc-objbar-grindfoot .gc-objbar-link {
    flex: 0 0 auto;
    min-height: 36px;
    padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: transparent;
    color: var(--gc-mafia-color-interactive-text);
    font: bold var(--gc-mafia-type-label)/1.2 var(--gc-mafia-font-ui);
    cursor: pointer;
}

@container (max-width: 399px) {
    .gc-mafia-pvp__options--compact { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 499px) {
    .gc-mafia-guidance-wrap > .gc-objbar-grindfoot { align-items: stretch; }
    .gc-mafia-guidance-wrap > .gc-objbar-grindfoot .gc-objbar-link { flex: 1 1 100%; min-height: 44px; }
}

/* ── Dagelijkse strategische Mega Heist ────────────────────────────────── */
.gc-mafia-mega-heist { container-type: inline-size; }
.gc-mafia-mega-heist__header { border-left: 2px solid var(--gc-mafia-color-interactive); }
.gc-mafia-mega-heist > .gc-mafia-page__inner > .gc-mafia-operation-brief { margin-top: 0; }

.gc-mafia-mega-heist__rewards {
    display: grid;
    grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr);
    gap: var(--gc-mafia-layout-row-gap) var(--gc-mafia-layout-column-gap);
    margin-top: var(--gc-mafia-space-3);
    padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline);
    border: 1px solid var(--gc-mafia-rule-strong);
    border-top: 2px solid var(--gc-mafia-shell-trim);
    background: var(--gc-mafia-color-panel);
}
.gc-mafia-mega-heist__rewards h2 { margin: 3px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-mega-heist__rewards ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.gc-mafia-mega-heist__rewards li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: var(--gc-mafia-space-2); min-height: 38px; border-bottom: 1px solid var(--gc-mafia-rule); color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__rewards li:last-child { border-bottom: 0; }
.gc-mafia-mega-heist__rewards li .gc-mafia-icon { width: 18px; height: 18px; color: var(--gc-mafia-value-text); }
.gc-mafia-mega-heist__rewards li small { color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }

.gc-mafia-mega-heist__setup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-3); margin-top: var(--gc-mafia-space-3); }
.gc-mafia-mega-heist__setup > .gc-mafia-panel { min-width: 0; margin: 0; }
.gc-mafia-mega-heist__empty { margin: 0; padding: var(--gc-mafia-space-4); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-body)/var(--gc-mafia-leading-body) var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__team-size,
.gc-mafia-mega-heist__join-form fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); min-width: 0; margin: 0; padding: 0; border: 0; }
.gc-mafia-mega-heist__team-size legend { grid-column: 1 / -1; margin-bottom: var(--gc-mafia-space-1); color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); letter-spacing: .07em; text-transform: uppercase; }
.gc-mafia-mega-heist__team-size label,
.gc-mafia-mega-heist__join-form fieldset label { display: flex; align-items: center; gap: var(--gc-mafia-space-2); min-width: 0; min-height: 52px; box-sizing: border-box; padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); cursor: pointer; }
.gc-mafia-mega-heist__team-size label:has(input:checked),
.gc-mafia-mega-heist__join-form label:has(input:checked) { border-color: var(--gc-mafia-color-interactive); box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-mega-heist__team-size input,
.gc-mafia-mega-heist__join-form input { flex: 0 0 auto; accent-color: var(--gc-mafia-color-interactive); }
.gc-mafia-mega-heist__team-size strong,
.gc-mafia-mega-heist__team-size small,
.gc-mafia-mega-heist__join-form strong,
.gc-mafia-mega-heist__join-form small { display: block; }
.gc-mafia-mega-heist__team-size strong,
.gc-mafia-mega-heist__join-form strong { color: var(--gc-mafia-color-heading); }
.gc-mafia-mega-heist__team-size small,
.gc-mafia-mega-heist__join-form small { color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-mega-heist__join-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    padding-bottom: var(--gc-mafia-space-2);
    border-bottom: 1px solid var(--gc-mafia-rule);
}
.gc-mafia-mega-heist__join-summary strong { color: var(--gc-mafia-color-heading); overflow-wrap: anywhere; }
.gc-mafia-mega-heist__join-preparation { display: grid; gap: var(--gc-mafia-space-3); min-width: 0; }
.gc-mafia-mega-heist__join-preparation > .gc-mafia-meta { margin: 0; }
.gc-mafia-mega-heist__join-list { display: grid; gap: var(--gc-mafia-space-2); padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-4); }
.gc-mafia-mega-heist__join-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gc-mafia-space-3);
    min-width: 0;
    padding: var(--gc-mafia-space-3);
    border: 1px solid var(--gc-mafia-rule-strong);
    background: var(--gc-mafia-color-surface-raised);
}
.gc-mafia-mega-heist__join-list article > span { min-width: 0; }
.gc-mafia-mega-heist__join-list strong,
.gc-mafia-mega-heist__join-list small { display: block; overflow-wrap: anywhere; }
.gc-mafia-mega-heist__join-list strong { color: var(--gc-mafia-color-heading); }
.gc-mafia-mega-heist__join-list small { margin-top: 3px; color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-mega-heist__security { min-width: 0; padding-top: var(--gc-mafia-space-2); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__captcha { display: flex; flex-wrap: wrap; align-items: end; gap: var(--gc-mafia-space-2); margin-top: var(--gc-mafia-space-2); }
.gc-mafia-mega-heist__captcha img { width: auto; max-width: 150px; height: 44px; object-fit: contain; }
.gc-mafia-mega-heist__captcha .gc-mafia-field { flex: 1 1 110px; }

.gc-mafia-mega-heist__network { margin-top: var(--gc-mafia-space-3); }
.gc-mafia-mega-heist__network-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-4); }
.gc-mafia-mega-heist__network-list article { min-width: 0; padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); border-left: 2px solid var(--gc-mafia-value-border); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-mega-heist__network-list h3 { margin: 3px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); overflow-wrap: anywhere; }
.gc-mafia-mega-heist__network-list dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); margin: var(--gc-mafia-space-3) 0 0; }
.gc-mafia-mega-heist__network-list dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); text-transform: uppercase; }
.gc-mafia-mega-heist__network-list dd { margin: 3px 0 0; color: var(--gc-mafia-color-text); font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); overflow-wrap: anywhere; }

.gc-mafia-mega-heist__guide-cities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-3); margin-top: var(--gc-mafia-space-3); }
.gc-mafia-mega-heist__guide-cities article { min-width: 0; padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-mega-heist__guide-cities h3 { margin: 3px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-mega-heist__guide-cities p { margin: var(--gc-mafia-space-2) 0 0; }
.gc-mafia-mega-heist__guide-cities dl { margin: var(--gc-mafia-space-3) 0 0; }
.gc-mafia-mega-heist__guide-cities dl > div { padding: var(--gc-mafia-space-2) 0; border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__guide-cities dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); text-transform: uppercase; }
.gc-mafia-mega-heist__guide-cities dd { margin: 3px 0 0; color: var(--gc-mafia-value-text); font-weight: bold; overflow-wrap: anywhere; }

.gc-mafia-mega-heist__legacy,
.gc-mafia-mega-heist__lobby,
.gc-mafia-mega-heist__active,
.gc-mafia-mega-heist__history { margin-top: var(--gc-mafia-space-3); }
.gc-mafia-mega-heist__lobby { border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-panel); }
.gc-mafia-mega-heist__lobby-head { display: flex; align-items: center; justify-content: space-between; gap: var(--gc-mafia-header-gap); padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); border-top: 2px solid var(--gc-mafia-shell-trim); border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__lobby-head h2 { margin: 3px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-mega-heist__lobby-head > strong { color: var(--gc-mafia-value-text); font-variant-numeric: tabular-nums; }
.gc-mafia-mega-heist__lobby-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .82fr); }
.gc-mafia-mega-heist__crew-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); min-width: 0; padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); border-right: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__crew-list .gc-mafia-crew-lobby__role { position: relative; min-height: 116px; }
.gc-mafia-mega-heist__crew-list .gc-mafia-crew-lobby__role.is-driver { border-color: var(--gc-mafia-value-border); }
.gc-mafia-mega-heist__crew-list form { margin-top: var(--gc-mafia-space-2); }
.gc-mafia-mega-heist__equipment { min-width: 0; padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-mega-heist__equipment > header h3 { margin: 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-mega-heist__equipment > header p { margin: 4px 0 var(--gc-mafia-space-2); color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__equipment-item { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3) 0; border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__equipment-item > .gc-mafia-icon { width: 18px; height: 18px; color: var(--gc-mafia-value-text); }
.gc-mafia-mega-heist__equipment-item strong,
.gc-mafia-mega-heist__equipment-item small { display: block; overflow-wrap: anywhere; }
.gc-mafia-mega-heist__equipment-item strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__equipment-item small { margin-top: 3px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__equipment-item.is-complete > .gc-mafia-icon { color: var(--gc-mafia-complete-text); }
.gc-mafia-mega-heist__equipment-item > form { grid-column: 2; display: flex; flex-wrap: wrap; align-items: end; gap: var(--gc-mafia-space-2); }
.gc-mafia-mega-heist__equipment-form .gc-mafia-field { flex: 1 1 180px; min-width: 0; }
.gc-mafia-mega-heist__lobby-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__lobby-actions .gc-mafia-meta { flex: 1 1 100%; margin: 0; }

.gc-mafia-mega-heist__active { border: 1px solid var(--gc-mafia-rule-strong); border-top: 2px solid var(--gc-mafia-shell-trim); }
.gc-mafia-mega-heist__workspace { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); }
.gc-mafia-mega-heist__side { min-width: 0; padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); border-right: 1px solid var(--gc-mafia-rule); background: var(--gc-mafia-color-panel); }
.gc-mafia-mega-heist__phases { display: grid; margin: 0; padding: 0; list-style: none; }
.gc-mafia-mega-heist__phases li { display: grid; grid-template-columns: 28px minmax(0, 1fr) 18px; align-items: center; gap: var(--gc-mafia-space-2); min-height: 52px; padding-left: var(--gc-mafia-space-2); border-bottom: 1px solid var(--gc-mafia-rule); color: var(--gc-mafia-color-meta); }
.gc-mafia-mega-heist__phases li > span { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--gc-mafia-rule-strong); font: bold var(--gc-mafia-type-meta)/1 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__phases strong,
.gc-mafia-mega-heist__phases small { display: block; }
.gc-mafia-mega-heist__phases strong { color: var(--gc-mafia-color-text); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__phases small { margin-top: 2px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__phases li[data-state="active"] { box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-mega-heist__phases li[data-state="active"] > span { border-color: var(--gc-mafia-color-interactive); color: var(--gc-mafia-color-interactive-text); }
.gc-mafia-mega-heist__phases li[data-state="complete"] .gc-mafia-icon { color: var(--gc-mafia-complete-text); }
.gc-mafia-mega-heist__active-equipment { margin-top: var(--gc-mafia-space-4); }
.gc-mafia-mega-heist__active-equipment h3 { margin: 0 0 var(--gc-mafia-space-1); color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__active-equipment ul,
.gc-mafia-mega-heist__crew ul { margin: 0; padding: 0; list-style: none; }
.gc-mafia-mega-heist__active-equipment li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-2) 0; border-bottom: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__active-equipment .gc-mafia-icon { width: 18px; height: 18px; color: var(--gc-mafia-value-text); }
.gc-mafia-mega-heist__active-equipment strong,
.gc-mafia-mega-heist__active-equipment small { display: block; }
.gc-mafia-mega-heist__active-equipment strong { color: var(--gc-mafia-color-text); font-size: var(--gc-mafia-type-label); }
.gc-mafia-mega-heist__active-equipment small { color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-mega-heist__crew { margin-top: var(--gc-mafia-space-3); }
.gc-mafia-mega-heist__crew li { display: flex; justify-content: space-between; gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-1) 0; color: var(--gc-mafia-color-meta); font-size: var(--gc-mafia-type-meta); }
.gc-mafia-mega-heist__crew strong,
.gc-mafia-mega-heist__crew small { display: block; }
.gc-mafia-mega-heist__crew strong { color: var(--gc-mafia-color-text); }

.gc-mafia-mega-heist__decision { min-width: 0; padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); background: var(--gc-mafia-color-surface-raised); }
.gc-mafia-mega-heist__decision h2 { margin: 3px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-mega-heist__decision > p { margin: var(--gc-mafia-space-2) 0 0; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-body)/1.55 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__intel { margin-top: var(--gc-mafia-space-3); padding: var(--gc-mafia-space-3); border-left: 2px solid var(--gc-mafia-value-border); background: var(--gc-mafia-color-panel); }
.gc-mafia-mega-heist__intel h3 { margin: 0 0 var(--gc-mafia-space-1); color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.35 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__intel ul { display: grid; gap: var(--gc-mafia-space-1); margin: 0; padding-left: 18px; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-label)/1.5 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__vote { display: grid; gap: var(--gc-mafia-space-3); margin-top: var(--gc-mafia-space-3); }
.gc-mafia-mega-heist__vote fieldset { display: grid; gap: var(--gc-mafia-space-2); min-width: 0; margin: 0; padding: 0; border: 0; }
.gc-mafia-mega-heist__vote legend { margin-bottom: 0; color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); letter-spacing: .07em; text-transform: uppercase; }
.gc-mafia-mega-heist__vote label { display: flex; align-items: start; gap: var(--gc-mafia-space-2); min-width: 0; min-height: 54px; box-sizing: border-box; padding: var(--gc-mafia-space-3); border: 1px solid var(--gc-mafia-rule-strong); background: var(--gc-mafia-color-panel); cursor: pointer; }
.gc-mafia-mega-heist__vote label:has(input:checked) { border-color: var(--gc-mafia-color-interactive); box-shadow: inset 2px 0 0 var(--gc-mafia-color-interactive); }
.gc-mafia-mega-heist__vote input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--gc-mafia-color-interactive); }
.gc-mafia-mega-heist__vote strong,
.gc-mafia-mega-heist__vote small { display: block; overflow-wrap: anywhere; }
.gc-mafia-mega-heist__vote strong { color: var(--gc-mafia-color-heading); font: bold var(--gc-mafia-type-label)/1.4 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__vote small { margin-top: 3px; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.45 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__vote-pending { display: grid; gap: 2px; margin: 0; padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3); border-left: 2px solid var(--gc-mafia-value-border); background: var(--gc-mafia-color-panel); }
.gc-mafia-mega-heist__vote-pending span { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); letter-spacing: .07em; text-transform: uppercase; }
.gc-mafia-mega-heist__vote-pending strong { color: var(--gc-mafia-color-heading); overflow-wrap: anywhere; }
.gc-mafia-mega-heist__vote-status { margin: 0; color: var(--gc-mafia-color-meta); font: var(--gc-mafia-type-meta)/1.5 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__vote > .gc-mafia-button { justify-self: start; }

.gc-mafia-mega-heist__history > p { padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-4); color: var(--gc-mafia-color-meta); }
.gc-mafia-mega-heist__history ol { display: grid; margin: 0; padding: 0 var(--gc-mafia-space-4) var(--gc-mafia-space-4); list-style: none; }
.gc-mafia-mega-heist__history li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--gc-mafia-space-2); padding: var(--gc-mafia-space-3) 0; border-top: 1px solid var(--gc-mafia-rule); }
.gc-mafia-mega-heist__history li > span { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--gc-mafia-rule-strong); color: var(--gc-mafia-color-meta); }
.gc-mafia-mega-heist__history li strong { color: var(--gc-mafia-color-heading); }
.gc-mafia-mega-heist__history li p { margin: 3px 0 0; color: var(--gc-mafia-color-text); font: var(--gc-mafia-type-label)/1.5 var(--gc-mafia-font-ui); }
.gc-mafia-mega-heist__history li[data-state="failed"] { border-left: 2px solid var(--gc-mafia-danger-border); padding-left: var(--gc-mafia-space-2); }
.gc-mafia-mega-heist__outcome { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--gc-mafia-space-3); padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); border: 1px solid var(--gc-mafia-rule-strong); border-left: 2px solid var(--gc-mafia-complete-border); background: var(--gc-mafia-complete-surface); }
.gc-mafia-mega-heist__outcome.is-failed { border-left-color: var(--gc-mafia-danger-border); background: var(--gc-mafia-danger-surface); }
.gc-mafia-mega-heist__outcome > .gc-mafia-icon { width: 22px; height: 22px; color: var(--gc-mafia-complete-text); }
.gc-mafia-mega-heist__outcome.is-failed > .gc-mafia-icon { color: var(--gc-mafia-danger-text); }
.gc-mafia-mega-heist__outcome h2 { margin: 3px 0 0; color: var(--gc-mafia-color-heading); font: normal var(--gc-mafia-type-section)/1.25 var(--gc-mafia-font-display); }
.gc-mafia-mega-heist__outcome p { margin: var(--gc-mafia-space-2) 0 0; color: var(--gc-mafia-color-text); line-height: 1.5; }
.gc-mafia-mega-heist__outcome dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gc-mafia-space-2); margin: var(--gc-mafia-space-3) 0 0; }
.gc-mafia-mega-heist__outcome dt { color: var(--gc-mafia-color-meta); font: bold var(--gc-mafia-type-kicker)/1.3 var(--gc-mafia-font-ui); text-transform: uppercase; }
.gc-mafia-mega-heist__outcome dd { margin: 3px 0 0; color: var(--gc-mafia-value-text); font-weight: bold; overflow-wrap: anywhere; }

@container (max-width: 760px) {
    .gc-mafia-mega-heist__rewards,
    .gc-mafia-mega-heist__setup,
    .gc-mafia-mega-heist__lobby-grid,
    .gc-mafia-mega-heist__workspace { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-mega-heist__crew-list { border-right: 0; border-bottom: 1px solid var(--gc-mafia-rule); }
    .gc-mafia-mega-heist__decision { grid-row: 1; }
    .gc-mafia-mega-heist__side { grid-row: 2; border-top: 1px solid var(--gc-mafia-rule); border-right: 0; }
}

@container (max-width: 399px) {
    .gc-mafia-mega-heist .gc-mafia-operation-brief__facts,
    .gc-mafia-mega-heist__team-size,
    .gc-mafia-mega-heist__join-form fieldset,
    .gc-mafia-mega-heist__crew-list,
    .gc-mafia-mega-heist__network-list,
    .gc-mafia-mega-heist__guide-cities,
    .gc-mafia-mega-heist__outcome dl { grid-template-columns: minmax(0, 1fr); }
    .gc-mafia-mega-heist__rewards,
    .gc-mafia-mega-heist__lobby-head,
    .gc-mafia-mega-heist__crew-list,
    .gc-mafia-mega-heist__equipment,
    .gc-mafia-mega-heist__lobby-actions,
    .gc-mafia-mega-heist__decision,
    .gc-mafia-mega-heist__side,
    .gc-mafia-mega-heist__outcome { padding: var(--gc-mafia-panel-padding-block) var(--gc-mafia-panel-padding-inline); }
    .gc-mafia-mega-heist__rewards li { grid-template-columns: 20px minmax(0, 1fr); padding: 7px 0; }
    .gc-mafia-mega-heist__rewards li small { grid-column: 2; }
    .gc-mafia-mega-heist__lobby-head { display: grid; }
    .gc-mafia-mega-heist__join-list { padding-inline: var(--gc-mafia-space-3); }
    .gc-mafia-mega-heist__join-list article { display: grid; }
    .gc-mafia-mega-heist__join-list .gc-mafia-button { width: 100%; min-height: 44px; }
    .gc-mafia-mega-heist__lobby-actions { align-items: stretch; }
    .gc-mafia-mega-heist__lobby-actions form,
    .gc-mafia-mega-heist__lobby-actions .gc-mafia-button,
    .gc-mafia-mega-heist__vote > .gc-mafia-button,
    .gc-mafia-mega-heist__create-form > .gc-mafia-button,
    .gc-mafia-mega-heist__join-form > .gc-mafia-button { width: 100%; min-height: 44px; }
    .gc-mafia-mega-heist__equipment-item { grid-template-columns: 18px minmax(0, 1fr); }
    .gc-mafia-mega-heist__equipment-item > form { grid-column: 1 / -1; }
    .gc-mafia-mega-heist__equipment-item .gc-mafia-button,
    .gc-mafia-mega-heist__equipment-item select,
    .gc-mafia-mega-heist__captcha input,
    .gc-mafia-mega-heist__team-size label,
    .gc-mafia-mega-heist__join-form label { min-height: 44px; }
    .gc-mafia-mega-heist__history ol { padding-inline: var(--gc-mafia-space-3); }
    .gc-mafia-mega-heist__vote label { min-height: 52px; }
    .gc-mafia-mega-heist__header *,
    .gc-mafia-mega-heist__rewards *,
    .gc-mafia-mega-heist__decision *,
    .gc-mafia-mega-heist__equipment * { min-width: 0; overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
    .gc-mafia-mega-heist * { scroll-behavior: auto !important; }
}

/* Een lage desktopcontentviewport houdt de pagina-identiteit en functionele
   headerinhoud, maar schrapt herhalende kicker/intro en verticale hero-ruimte. */
@media (max-height: 640px) {
    .gc-mafia .gc-mafia-content-header {
        gap: var(--gc-mafia-space-2);
        padding: var(--gc-mafia-space-2) var(--gc-mafia-space-3);
    }

    .gc-mafia .gc-mafia-content-header__kicker,
    .gc-mafia .gc-mafia-content-header__intro {
        display: none;
    }

    .gc-mafia .gc-mafia-content-header .gc-mafia-content-header__title {
        font-size: 20px;
        line-height: 1.15;
    }

    .gc-mafia .gc-mafia-content-header:has(> .gc-mafia-content-header__aside):not(.gc-mafia-archive__header) {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .gc-mafia .gc-mafia-content-header > .gc-mafia-content-header__aside {
        width: auto;
        min-width: 0;
        padding: 0 0 0 var(--gc-mafia-space-2);
        border-top: 0;
        border-left: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia .gc-mafia-family-hub__header,
    .gc-mafia .gc-mafia-user-profile__header {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .gc-mafia .gc-mafia-family-hub__context {
        display: none;
    }

    .gc-mafia .gc-mafia-family-hub__identity,
    .gc-mafia .gc-mafia-user-profile__portrait {
        width: 44px;
        height: 44px;
    }

    .gc-mafia .gc-mafia-family-hub__identity {
        justify-items: center;
        padding: 0;
        border-top: 0;
        border-left: 1px solid var(--gc-mafia-rule);
    }

    .gc-mafia .gc-mafia-family-hub__identity img {
        width: 36px;
        height: 36px;
    }
}

/* Op telefoons is de mobiele shell zelf al het oriëntatiepunt. Tot en met de
   HUD-drempel van 800px gaat de volledige dossierheader daarom uit de flow.
   Het openbare spelersprofiel houdt de kop zichtbaar: de spelersnaam daarin
   is noodzakelijke pagina-identiteit en staat niet in de mobiele shell. */
@media (max-width: 760px) and (max-height: 800px) {
    .gc-mafia .gc-mafia-content-header:not(.gc-mafia-user-profile__header) {
        display: none;
    }
}
