    /* 1. Google Fonts
   ------------------------------------------------------------ */
    @import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500&family=Bebas+Neue&family=Exo+2:wght@300;400;500;600&family=Rajdhani:wght@400;600;700&family=Share+Tech+Mono&display=swap');
    @import url('https://fonts.googleapis.com/css2?family=Aldrich&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Reem+Kufi:wght@400..700&display=swap');


    /* Page shell */
    /* .wn-container.secon-terminal {
        background: var(--wn-bg);
        color: var(--wn-text);
        font-family: 'Exo 2', sans-serif;
        padding: 20px;
        max-width: 900px;
        margin: 40px auto;
        border: 1px solid rgba(255, 255, 255, 0.05);
    } */

    .wn-container .visually-hidden {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* 2. Variables CSS

    ------------------------------------------------------------ */

    .wn-container {
        --wn-primary: #FF4E45;
        --wn-primary-bg: #35232f;
        --wn-primary-rgb: 255, 78, 69;
        --wn-primary-light: #ff7a73;
        --wn-yellow: #fdc700;
        --wn-yellow-bg: #392f28;
        --wn-yellow-rgb: 253, 199, 0;
        --wn-yellow-light: #ffe066;
        --wn-violet: #6039ea;
        --wn-violet-bg: #2f264f;
        --wn-violet-rgb: 96, 57, 234;
        --wn-violet-light: #8a6eff;
        --wn-rose: #f14169;
        --wn-rose-bg: #3a2434;
        --wn-rose-rgb: 241, 65, 105;
        --wn-rose-light: #ff6e91;
        --wn-green: #41cd89;
        --wn-green-bg: #1c3238;
        --wn-green-rgb: 65, 205, 137;
        --wn-green-light: #6ee8b0;
        --wn-dark-blue: #3948ce;
        --wn-dark-blue-bg: #3f3666;
        --wn-dark-blue-rgb: 30, 144, 255;
        --wn-dark-blue-light: #5e7dff;
        --wn-bg: #1e1e2d;
        --wn-text: #c5c5d6;
        --wn-text-muted: #6a6a7a;
        --wn-surface-deep: #14141c;
        --wn-accent: var(--wn-blue);
        --wn-accent-bg: var(--wn-blue-bg);
        --wn-accent-rgb: var(--wn-blue-rgb);
        --decree-collapse-height: 100px;
        color: var(--wn-text);
        font-family: 'Exo 2', 'Barlow', sans-serif;
        font-weight: 300;
        font-size: 15px;
        line-height: 1.75;
        --wn-blue: #2980b9;
        --wn-blue-light: #3da8e8;
        --wn-blue-bg: #1a2c3d;
        --wn-blue-rgb: 41, 128, 185;
        --wn-accent-light: var(--wn-blue-light);
    }

    .wn-container .wn-accent-yellow,

    .wn-container.wn-accent-yellow {
        --wn-accent: var(--wn-yellow);
        --wn-accent-light: var(--wn-yellow-light);
        --wn-accent-bg: var(--wn-yellow-bg);
        --wn-accent-rgb: var(--wn-yellow-rgb);
    }

    .wn-container .wn-accent-violet,

    .wn-container.wn-accent-violet {
        --wn-accent: var(--wn-violet);
        --wn-accent-light: var(--wn-violet-light);
        --wn-accent-bg: var(--wn-violet-bg);
        --wn-accent-rgb: var(--wn-violet-rgb);
    }

    .wn-container .wn-accent-rose,

    .wn-container.wn-accent-rose {
        --wn-accent: var(--wn-rose);
        --wn-accent-light: var(--wn-rose-light);
        --wn-accent-bg: var(--wn-rose-bg);
        --wn-accent-rgb: var(--wn-rose-rgb);
    }

    .wn-container .wn-accent-green,

    .wn-container.wn-accent-green {
        --wn-accent: var(--wn-green);
        --wn-accent-light: var(--wn-green-light);
        --wn-accent-bg: var(--wn-green-bg);
        --wn-accent-rgb: var(--wn-green-rgb);
    }

    .wn-container .wn-accent-red,

    .wn-container.wn-accent-red {
        --wn-accent: var(--wn-primary);
        --wn-accent-light: var(--wn-primary-light);
        --wn-accent-bg: var(--wn-primary-bg);
        --wn-accent-rgb: var(--wn-primary-rgb);
    }

    .wn-container .wn-accent-blue,

    .wn-container.wn-accent-blue {
        --wn-accent: var(--wn-blue);
        --wn-accent-light: var(--wn-blue-light);
        --wn-accent-bg: var(--wn-blue-bg);
        --wn-accent-rgb: var(--wn-blue-rgb);
    }

    /* 3. Typographie par balise

    ------------------------------------------------------------ */

    /* --- Headings --- */

    .wn-container h1 {
        font-family: 'Bebas Neue', cursive;
        font-size: clamp(32px, 5vw, 52px);
        text-transform: uppercase;
        letter-spacing: 5px;
        color: #fff;
        margin: 0 0 16px;
        line-height: 1.1;
    }

    .wn-container h2 {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 26px;
        text-transform: uppercase;
        color: #fff;
        margin: 0 0 20px;
        position: relative;
        padding-bottom: 14px;
    }

    .wn-container h2::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 80px;
        height: 3px;
        background: var(--wn-accent);
        box-shadow: 0 0 12px rgba(var(--wn-accent-rgb), 0.6), 0 0 30px rgba(var(--wn-accent-rgb), 0.2);
        border-radius: 2px;
    }

    .wn-container h3 {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 20px;
        text-transform: uppercase;
        letter-spacing: 3px;
        color: #fff;
        margin: 0 0 12px;
    }

    .wn-container h4 {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 600;
        font-size: 17px;
        text-transform: uppercase;
        color: #e0e0ec;
        margin: 0 0 10px;
    }

    .wn-container h5 {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 4px;
        color: rgba(255, 255, 255, 0.4);
        margin: 0 0 8px;
    }

    .wn-container h6 {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 4px;
        color: rgba(255, 255, 255, 0.3);
        margin: 0 0 6px;
    }

    /* --- Body text --- */

    .wn-container p {
        font-family: 'Exo 2', 'Barlow', sans-serif;
        font-size: 15px;
        font-weight: 300;
        line-height: 1.75;
        color: #c5c5d6;
        margin: 0 0 16px;
    }

    .wn-container strong {
        color: #ffffffee;
        font-weight: 700;
    }

    .wn-container a {
        color: var(--wn-accent);
        text-decoration: none;
        transition: filter 0.2s;
    }

    .wn-container a:hover {
        filter: brightness(1.3);
    }

    .wn-container code {
        font-family: 'Share Tech Mono', monospace;
        font-size: 13px;
        background: rgba(var(--wn-accent-rgb), 0.1);
        border: 1px solid rgba(var(--wn-accent-rgb), 0.2);
        color: var(--wn-accent);
        padding: 2px 6px;
        border-radius: 3px;
    }

    .wn-container pre {
        font-family: 'Share Tech Mono', monospace;
        font-size: 13px;
        background: rgba(0, 0, 0, 0.35);
        border-left: 3px solid var(--wn-accent);
        padding: 16px 20px;
        overflow-x: auto;
        border-radius: 0 4px 4px 0;
        margin: 0 0 16px;
        line-height: 1.6;
        color: #c5c5d6;
    }

    .wn-container pre code {
        background: none;
        border: none;
        padding: 0;
        color: inherit;
    }

    .wn-container mark {
        background: rgba(253, 199, 0, 0.2);
        color: #fdc700;
        padding: 1px 4px;
        border-radius: 2px;
    }

    .wn-container small {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.4);
    }

    /* 4. Balises semantiques — composants automatiques

    ------------------------------------------------------------ */

    /* --- article = Card --- */

    .wn-container article {
        position: relative;
        background: rgba(0, 0, 0, 0.25);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 4px;
        padding: 24px;
        margin-bottom: 24px;
        animation: wn-fadeUp 0.5s ease both;
    }

    .wn-container article::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 3px;
        height: 100%;
        background: var(--wn-accent);
        border-radius: 4px 0 0 4px;
        box-shadow: 0 0 10px rgba(var(--wn-accent-rgb), 0.5);
    }

    /* --- aside = Note / callout --- */

    .wn-container aside {
        background: var(--wn-accent-bg);
        border-left: 3px solid var(--wn-accent);
        padding: 16px 20px;
        margin-bottom: 20px;
        border-radius: 0 4px 4px 0;
        color: #d0d0e0;
    }

    /* --- blockquote = Citation with decorative quote --- */

    .wn-container blockquote {
        position: relative;
        border-left: 3px solid var(--wn-accent);
        background: rgba(0, 0, 0, 0.15);
        padding: 16px 20px 16px 40px;
        margin: 0 0 16px;
        font-style: italic;
        color: rgba(255, 255, 255, 0.7);
        border-radius: 0 4px 4px 0;
    }

    .wn-container blockquote::before {
        content: '';
        position: absolute;
        top: 10px;
        left: 12px;
        width: 25px;
        height: 25px;
        -webkit-mask: url('https://wneo.fr/styles/fa/duotone/quote-left.svg?v=5.15.3') no-repeat center / contain;
        mask: url('https://wneo.fr/styles/fa/duotone/quote-left.svg?v=5.15.3') no-repeat center / contain;
        background-color: rgba(var(--wn-accent-rgb), 0.15);
    }

    .wn-container blockquote p {
        margin-bottom: 0;
    }

    /* --- section = Spacing only --- */

    .wn-container section {
        margin-bottom: 32px;
    }

    /* --- header = Centered with divider --- */

    .wn-container header {
        text-align: center;
        padding: 16px 0 20px;
        margin-bottom: 24px;
        position: relative;
    }

    .wn-container header::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 200px;
        height: 3px;
        transform: translateX(-50%);
        background: var(--wn-accent);
        box-shadow: 0 0 12px rgba(var(--wn-accent-rgb), 0.6), 0 0 30px rgba(var(--wn-accent-rgb), 0.2);
        border-radius: 2px;
    }

    .wn-container header h2::after {
        left: 50%;
        transform: translateX(-50%);
    }

    /* --- footer --- */

    .wn-container footer {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        text-align: center;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding-top: 16px;
        margin-top: 32px;
        color: rgba(255, 255, 255, 0.35);
    }

    /* --- nav = Flexbox horizontal --- */

    .wn-container nav {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 2px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        padding-bottom: 12px;
        margin-bottom: 24px;
    }

    .wn-container nav a {
        border-bottom: none;
    }

    .wn-container nav a:hover {
        color: var(--wn-accent);
    }

    /* --- details / summary --- */

    .wn-container details {
        background: rgba(0, 0, 0, 0.2);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 4px;
        margin-bottom: 12px;
        overflow: hidden;
    }

    .wn-container summary {
        padding: 12px 16px;
        cursor: pointer;
        font-family: 'Rajdhani', sans-serif;
        font-weight: 600;
        font-size: 15px;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #e0e0ec;
        list-style: none;
        display: flex;
        align-items: center;
        gap: 8px;
        transition: background 0.2s;
    }

    .wn-container summary:hover {
        background: rgba(255, 255, 255, 0.03);
    }

    .wn-container summary::before {
        content: '+';
        font-family: 'Share Tech Mono', monospace;
        color: var(--wn-accent);
        font-size: 16px;
        flex-shrink: 0;
        width: 16px;
        text-align: center;
    }

    .wn-container details[open]>summary::before {
        content: '\2212';
    }

    .wn-container summary::-webkit-details-marker {
        display: none;
    }

    .wn-container details> :not(summary) {
        padding: 8px 16px 8px;
    }

    /* --- figure / figcaption --- */

    .wn-container figure {
        margin: 0 0 20px;
    }

    .wn-container figure img {
        max-width: 100%;
        height: auto;
        display: block;
        border-radius: 4px;
    }

    .wn-container figcaption {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        text-align: center;
        color: rgba(255, 255, 255, 0.4);
        margin-top: 8px;
    }

    /* --- hr = Gradient divider --- */

    .wn-container hr {
        border: none;
        height: 1px;
        background: rgba(255, 255, 255, 0.08);
        margin: 28px 0;
    }

    /* 5. Listes

    ------------------------------------------------------------ */

    /* ul — custom marker */

    .wn-container ul {
        list-style: none;
        margin: 0 0 16px;
    }

    .wn-container ul>li {
        position: relative;
        padding-left: 16px;
        margin-bottom: 6px;
    }

    .wn-container ul>li::before {
        content: '\203A';
        position: absolute;
        left: 0;
        color: var(--wn-accent);
        font-weight: 700;
        font-size: 18px;
        line-height: 1.5;
    }

    /* ol — counter with leading zero */

    .wn-container ol {
        list-style: none;
        counter-reset: wn-ol;
        padding-left: 20px;
        margin: 0 0 16px;
    }

    .wn-container ol>li {
        position: relative;
        padding-left: 36px;
        margin-bottom: 8px;
        counter-increment: wn-ol;
    }

    .wn-container ol>li::before {
        content: counter(wn-ol, decimal-leading-zero);
        position: absolute;
        left: 0;
        font-family: 'Share Tech Mono', monospace;
        font-size: 13px;
        color: var(--wn-accent);
        font-weight: 700;
        top: 2px;
    }

    /* Nested lists */

    .wn-container ul ul,

    .wn-container ol ol,

    .wn-container ul ol,

    .wn-container ol ul {
        margin-top: 6px;
        margin-bottom: 6px;
        font-size: 0.92em;
    }

    /* 6. Tables

    ------------------------------------------------------------ */

    .wn-container table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 0;
        margin-bottom: 24px;
    }

    .wn-container th {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 2px;
        color: rgba(255, 255, 255, 0.75);
        text-align: left;
        padding: 10px 16px;
        border-bottom: 1px solid rgba(var(--wn-accent-rgb), 0.5);
    }

    .wn-container td {
        padding: 12px 16px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        font-size: 14px;
    }

    .wn-container tr:hover td {
        background: rgba(255, 255, 255, 0.02);
        transition: background 0.2s;
    }

    /* Striped variant */

    .wn-container .wn-table-striped tbody>tr:nth-child(even):not(.legislation-bill-row):not(.legislation-amendment-row) td {
        background: rgba(0, 0, 0, 0.15);
    }

    .wn-container .wn-table-striped tr:hover td {
        background: rgba(255, 255, 255, 0.05);
    }

    .wn-container .legislation-table.wn-table-striped:not(.amendments-table) tbody>tr.legislation-bill-row.is-stripe-even td {
        background: rgba(0, 0, 0, 0.15);
    }

    .wn-container .legislation-table.wn-table-striped:not(.amendments-table) tbody>tr.legislation-bill-row.is-stripe-odd td {
        background: transparent;
    }

    .wn-container .legislation-table.wn-table-striped:not(.amendments-table) tbody>tr.legislation-bill-row:hover td {
        background: rgba(255, 255, 255, 0.05);
    }

    .wn-container .legislation-table tbody>tr.legislation-amendment-row.is-stripe-even td {
        background:
            linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)),
            rgba(40, 100, 160, 0.1);
    }

    .wn-container .legislation-table tbody>tr.legislation-amendment-row.is-stripe-odd td {
        background:
            linear-gradient(rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.06)),
            rgba(40, 100, 160, 0.1);
    }

    /* Modal amendments table: independent zebra */
    .wn-container .amendments-table.wn-table-striped tbody>tr.amendment-table-row:nth-child(even) td {
        background: rgba(0, 0, 0, 0.15);
    }

    .wn-container .amendments-table.wn-table-striped tbody>tr.amendment-table-row:nth-child(odd) td {
        background: rgba(0, 0, 0, 0.05);
    }

    /* 7. Hero image

    ------------------------------------------------------------ */

    .wn-container .wn-hero {
        position: relative;
        overflow: hidden;
        border-radius: 4px 4px 0 0;
        margin-bottom: 24px;
        max-height: 300px;
    }

    .wn-container .wn-hero img {
        width: 100%;
        height: 300px;
        object-fit: cover;
        display: block;
    }

    .wn-container .wn-hero::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 50%;
        background: linear-gradient(to top, var(--wn-bg), transparent);
        pointer-events: none;
    }

    .wn-container .wn-hero-overlay {
        position: absolute;
        bottom: 20px;
        left: 24px;
        right: 24px;
        z-index: 1;
        color: #fff;
    }

    /* header used as hero — override header divider with hero gradient */

    .wn-container header.wn-hero::after {
        width: auto;
        height: 60%;
        transform: none;
        background: linear-gradient(to top, var(--wn-bg), transparent);
        border-radius: 0;
        box-shadow: none;
    }

    .wn-container header.wn-hero .wn-hero-overlay h1 {
        color: var(--wn-accent);
        text-shadow: 0 0 20px rgba(var(--wn-accent-rgb), 0.4);
    }

    /* 8. Composants par classes

    ------------------------------------------------------------ */

    /* .wn-card — same as article */

    .wn-container .wn-card {
        position: relative;
        background: rgba(0, 0, 0, 0.25);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 4px;
        padding: 24px;
        margin-bottom: 24px;
        animation: wn-fadeUp 0.5s ease both;
    }

    .wn-container .wn-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 3px;
        height: 100%;
        background: var(--wn-accent);
        border-radius: 4px 0 0 4px;
        box-shadow: 0 0 10px rgba(var(--wn-accent-rgb), 0.5);
    }

    /* .wn-block — brutalist style with L-corner decorations */

    .wn-container .wn-block {
        position: relative;
        background: linear-gradient(90deg, rgba(var(--wn-accent-rgb), 0.07), transparent 70%);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 0;
        padding: 24px 24px 24px 28px;
        margin-bottom: 24px;
        overflow: hidden;
        animation: wn-fadeUp 0.5s ease both;
        border-left: 3px solid var(--wn-accent);
        box-shadow: -3px 0 12px rgba(var(--wn-accent-rgb), 0.15), inset 120px 0 120px -120px rgba(var(--wn-accent-rgb), 0.04);
    }

    /* L-corner decorations — top-left and bottom-right */

    .wn-container .wn-block::after {
        content: '';
        position: absolute;
        width: 18px;
        height: 18px;
        border-style: solid;
        border-color: var(--wn-accent);
        z-index: 3;
        bottom: -1px;
        right: -1px;
        border-width: 0 2px 2px 0;
    }

    /* Glow-bar on left edge (added via inner shadow since pseudo-elements are used for corners) */

    /* .wn-alert */

    .wn-container .wn-alert {
        background: var(--wn-accent-bg);
        border-left: 3px solid var(--wn-accent);
        padding: 14px 20px;
        margin-bottom: 20px;
        border-radius: 0 4px 4px 0;
        font-size: 14px;
    }

    /* .wn-callout — typed callouts with FA icons */

    .wn-container .wn-callout-info,

    .wn-container .wn-callout-success,

    .wn-container .wn-callout-warning,

    .wn-container .wn-callout-danger {
        position: relative;
        padding: 16px 20px 16px 44px;
        margin-bottom: 20px;
        border-radius: 0 4px 4px 0;
        font-size: 14px;
        line-height: 1.6;
    }

    .wn-container .wn-callout-info::before,

    .wn-container .wn-callout-success::before,

    .wn-container .wn-callout-warning::before,

    .wn-container .wn-callout-danger::before {
        content: '';
        position: absolute;
        left: 16px;
        top: 20px;
        width: 15px;
        height: 15px;
    }

    /* Info */

    .wn-container .wn-callout-info {
        background: rgba(59, 130, 246, 0.08);
        border-left: 3px solid #3b82f6;
    }

    .wn-container .wn-callout-info::before {
        -webkit-mask: url('https://wneo.fr/styles/fa/duotone/info-circle.svg?v=5.15.3') no-repeat center / contain;
        mask: url('https://wneo.fr/styles/fa/duotone/info-circle.svg?v=5.15.3') no-repeat center / contain;
        background-color: #3b82f6;
    }

    /* Success */

    .wn-container .wn-callout-success {
        background: rgba(65, 205, 137, 0.08);
        border-left: 3px solid var(--wn-green);
    }

    .wn-container .wn-callout-success::before {
        -webkit-mask: url('https://wneo.fr/styles/fa/duotone/check-circle.svg?v=5.15.3') no-repeat center / contain;
        mask: url('https://wneo.fr/styles/fa/duotone/check-circle.svg?v=5.15.3') no-repeat center / contain;
        background-color: var(--wn-green);
    }

    /* Warning */

    .wn-container .wn-callout-warning {
        background: rgba(253, 199, 0, 0.08);
        border-left: 3px solid var(--wn-yellow);
    }

    .wn-container .wn-callout-warning::before {
        -webkit-mask: url('https://wneo.fr/styles/fa/duotone/exclamation-triangle.svg?v=5.15.3') no-repeat center / contain;
        mask: url('https://wneo.fr/styles/fa/duotone/exclamation-triangle.svg?v=5.15.3') no-repeat center / contain;
        background-color: var(--wn-yellow);
    }

    /* Danger */

    .wn-container .wn-callout-danger {
        background: rgba(255, 78, 69, 0.08);
        border-left: 3px solid var(--wn-primary);
    }

    .wn-container .wn-callout-danger::before {
        -webkit-mask: url('https://wneo.fr/styles/fa/duotone/exclamation-circle.svg?v=5.15.3') no-repeat center / contain;
        mask: url('https://wneo.fr/styles/fa/duotone/exclamation-circle.svg?v=5.15.3') no-repeat center / contain;
        background-color: var(--wn-primary);
    }

    /* .wn-badge */

    .wn-container .wn-badge {
        display: inline-block;
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 2px;
        background: rgba(var(--wn-accent-rgb), 0.15);
        color: var(--wn-accent);
        border: 1px solid rgba(var(--wn-accent-rgb), 0.3);
        padding: 3px 10px;
        border-radius: 2px;
        vertical-align: middle;
    }

    /* .wn-toc — Table of contents */

    .wn-container .wn-toc {
        display: block;
        background: rgba(0, 0, 0, 0.25);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-top: 3px solid var(--wn-accent);
        border-radius: 0;
        padding: 24px;
        margin-bottom: 24px;
        font-family: 'Exo 2', 'Barlow', sans-serif;
        font-size: 15px;
        text-transform: none;
        letter-spacing: normal;
    }

    .wn-container .wn-toc>h3 {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 4px;
        color: rgba(255, 255, 255, 0.4);
        margin: 0 0 20px;
    }

    .wn-container .wn-toc .wn-toc-columns {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .wn-container .wn-toc .wn-toc-col h5 {
        margin-bottom: 12px;
    }

    .wn-container .wn-toc .wn-toc-col ol {
        margin: 0;
        padding-left: 12px;
    }

    .wn-container .wn-toc .wn-toc-col ol li {
        margin-bottom: 4px;
    }

    .wn-container .wn-toc .wn-toc-col ol li a {
        font-family: 'Exo 2', 'Barlow', sans-serif;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.6);
        border-bottom: none;
        transition: color 0.2s;
    }

    .wn-container .wn-toc .wn-toc-col ol li a:hover {
        color: var(--wn-accent);
        filter: none;
    }

    /* .wn-columns — 2 columns, responsive */

    .wn-container .wn-columns {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        margin-bottom: 24px;
    }

    /* .wn-columns-3 — 3 columns */

    .wn-container .wn-columns-3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-bottom: 24px;
    }

    /* Stagger animation on column children */

    .wn-container .wn-columns>*:nth-child(1),

    .wn-container .wn-columns-3>*:nth-child(1) {
        animation-delay: 0s;
    }

    .wn-container .wn-columns>*:nth-child(2),

    .wn-container .wn-columns-3>*:nth-child(2) {
        animation-delay: 0.1s;
    }

    .wn-container .wn-columns>*:nth-child(3),

    .wn-container .wn-columns-3>*:nth-child(3) {
        animation-delay: 0.2s;
    }

    .wn-container .wn-columns>*:nth-child(4),

    .wn-container .wn-columns-3>*:nth-child(4) {
        animation-delay: 0.3s;
    }

    .wn-container .wn-columns>*:nth-child(5),

    .wn-container .wn-columns-3>*:nth-child(5) {
        animation-delay: 0.4s;
    }

    .wn-container .wn-columns>*:nth-child(6),

    .wn-container .wn-columns-3>*:nth-child(6) {
        animation-delay: 0.5s;
    }

    /* 9. Classes utilitaires

    ------------------------------------------------------------ */

    /* Text colors */

    .wn-container .wn-red {
        color: var(--wn-primary) !important;
    }

    .wn-container .wn-yellow {
        color: var(--wn-yellow) !important;
    }

    .wn-container .wn-violet {
        color: var(--wn-violet) !important;
    }

    .wn-container .wn-rose {
        color: var(--wn-rose) !important;
    }

    .wn-container .wn-green {
        color: var(--wn-green) !important;
    }

    /* Background colors */

    .wn-container .wn-bg-red {
        background: var(--wn-primary-bg) !important;
    }

    .wn-container .wn-bg-yellow {
        background: var(--wn-yellow-bg) !important;
    }

    .wn-container .wn-bg-violet {
        background: var(--wn-violet-bg) !important;
    }

    .wn-container .wn-bg-rose {
        background: var(--wn-rose-bg) !important;
    }

    .wn-container .wn-bg-green {
        background: var(--wn-green-bg) !important;
    }

    /* Text utilities */

    .wn-container .wn-text-center {
        text-align: center !important;
    }

    .wn-container .wn-text-mono {
        font-family: 'Share Tech Mono', monospace !important;
    }

    .wn-container .wn-text-sm {
        font-size: 12px !important;
    }

    .wn-container .wn-text-lg {
        font-size: 18px !important;
    }

    .wn-container .wn-uppercase {
        text-transform: uppercase !important;
    }

    .wn-container .wn-eyebrow {
        font-family: 'Share Tech Mono', monospace !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 4px !important;
        color: rgba(255, 255, 255, 0.4) !important;
    }

    /* Spacing — margin-top */

    .wn-container .wn-mt-0 {
        margin-top: 0 !important;
    }

    .wn-container .wn-mt-1 {
        margin-top: 8px !important;
    }

    .wn-container .wn-mt-2 {
        margin-top: 16px !important;
    }

    .wn-container .wn-mt-3 {
        margin-top: 32px !important;
    }

    /* Spacing — margin-bottom */

    .wn-container .wn-mb-0 {
        margin-bottom: 0 !important;
    }

    .wn-container .wn-mb-1 {
        margin-bottom: 8px !important;
    }

    .wn-container .wn-mb-2 {
        margin-bottom: 16px !important;
    }

    .wn-container .wn-mb-3 {
        margin-bottom: 32px !important;
    }

    /* 10. Animations

    ------------------------------------------------------------ */

    @keyframes wn-fadeUp {

        from {

            opacity: 0;

            transform: translateY(16px);

        }



        to {

            opacity: 1;

            transform: translateY(0);

        }

    }

    /* Respect reduced motion */

    @media (prefers-reduced-motion: reduce) {



        .wn-container article,

        .wn-container .wn-card,

        .wn-container .wn-block,

        .wn-container .wn-columns>*,

        .wn-container .wn-columns-3>* {

            animation: none !important;

        }



        .wn-container a,

        .wn-container summary,

        .wn-container tr {

            transition: none !important;

        }

    }

    /* 11. Responsive

    ------------------------------------------------------------ */

    @media (max-width: 600px) {



        .wn-container .wn-columns,

        .wn-container .wn-columns-3 {

            grid-template-columns: 1fr;

        }



        .wn-container article,

        .wn-container .wn-card,

        .wn-container .wn-block,

        .wn-container aside,

        .wn-container blockquote {

            padding: 16px;

        }



        .wn-container .wn-toc .wn-toc-columns {

            grid-template-columns: 1fr;

        }



        .wn-container nav {

            gap: 12px;

        }



        .wn-container h1 {

            letter-spacing: 3px;

        }





    }

    .wn-container .ly-chapter {
        position: relative;
        text-align: center;
        margin: 48px 0 32px;
        padding: 28px 24px;
        background: linear-gradient(135deg, rgba(var(--wn-accent-rgb), 0.12) 0%, rgba(var(--wn-accent-rgb), 0.04) 50%, transparent 100%);
        border-top: 1px solid rgba(var(--wn-accent-rgb), 0.3);
        border-bottom: 1px solid rgba(var(--wn-accent-rgb), 0.15);
        overflow: hidden;
    }

    .wn-container .ly-chapter::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--wn-accent) 20%, var(--wn-accent-light) 50%, var(--wn-accent) 80%, transparent);
        box-shadow: 0 0 20px rgba(var(--wn-accent-rgb), 0.5);
    }

    .wn-container .ly-chapter::after {
        content: attr(data-num);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-family: 'Bebas Neue', cursive;
        font-size: 120px;
        color: rgba(var(--wn-accent-rgb), 0.06);
        letter-spacing: 10px;
        pointer-events: none;
        user-select: none;
        white-space: nowrap;
    }

    .wn-container .ly-chapter-num {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        letter-spacing: 6px;
        color: rgba(var(--wn-accent-rgb), 0.7);
        text-transform: uppercase;
        margin-bottom: 6px;
        display: block;
    }

    .wn-container .ly-chapter-title {
        font-family: 'Bebas Neue', cursive;
        font-size: clamp(28px, 4vw, 46px);
        color: #fff;
        letter-spacing: 8px;
        text-transform: uppercase;
        line-height: 1;
        margin: 0;
        text-shadow: 0 0 30px rgba(var(--wn-accent-rgb), 0.4);
        position: relative;
        z-index: 1;
    }

    .wn-container .ly-chapter-title::after {
        background: none !important;
        box-shadow: none !important;
    }

    .wn-container .ly-section-title {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 22px;
        text-transform: uppercase;
        letter-spacing: 3px;
        color: #fff;
        margin: 32px 0 12px;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .wn-container .ly-section-title::before {
        content: '';
        display: inline-block;
        width: 4px;
        height: 22px;
        background: var(--wn-accent);
        box-shadow: 0 0 10px rgba(var(--wn-accent-rgb), 0.6);
        flex-shrink: 0;
    }

    .wn-container .ly-intro-grid {
        display: grid;
        grid-template-columns: 55% 1fr;
        gap: 0;
        margin-bottom: 0;
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 4px;
        overflow: hidden;
    }

    .wn-container .ly-intro-col {
        padding: 24px;
    }

    .wn-container .ly-intro-col+.ly-intro-col {
        border-left: 1px solid rgba(255, 255, 255, 0.07);
    }

    .wn-container .ly-intro-col h4 {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 16px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: #fff;
        margin: 0 0 10px;
    }

    .wn-container .ly-tier-list {
        list-style: none;
        padding: 0;
        margin: 0 0 16px;
    }

    .wn-container .ly-tier-item {
        padding: 8px 16px 6px;
        margin-bottom: 4px;
        border-radius: 3px;
        position: relative;
        font-size: 14px;
        background: rgba(0, 0, 0, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.04);
        transition: background 0.2s;
        list-style: none !important;
    }

    .wn-container .ly-tier-item::before {
        content: '' !important;
    }

    .wn-container .ly-tier-item:hover {
        background: rgba(0, 0, 0, 0.25);
    }

    .wn-container .ly-tier-badge {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 2px 8px;
        border-radius: 2px;
        white-space: nowrap;
        flex-shrink: 0;
        border: 1px solid currentColor;
        opacity: 0.9;
    }

    .wn-container .ly-tier-name {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 15px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .wn-container .ly-tier-req {
        font-family: 'Exo 2', sans-serif;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.45);
        font-weight: 300;
        margin-left: auto;
    }

    .wn-container .ly-tier-desc {
        font-family: 'Exo 2', sans-serif;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.6);
        border-top: 1px solid rgba(255, 255, 255, 0.07);
        margin-top: 6px;
    }

    .wn-container .ly-tier-data .ly-tier-desc {
        margin-top: 0;
        padding-top: 5px;
    }

    .wn-container .ly-tier-item img {
        max-width: 140px;
        min-width: 100px;
        height: auto;
        display: block;
        gap: 5px;
        align-self: center;
    }

    .wn-container .display-flex {
        display: flex;
        align-items: baseline;
        gap: 16px;
    }

    .wn-container .ly-tier-item.t0 .ly-tier-badge,

    .wn-container .ly-tier-item.t0 .ly-tier-name {
        color: #c8c8c8;
    }

    .wn-container .ly-tier-item.t0 {
        border-left: 3px solid #c8c8c8;
    }

    .wn-container .ly-tier-item.t1 .ly-tier-badge,

    .wn-container .ly-tier-item.t1 .ly-tier-name {
        color: #e67e22;
    }

    .wn-container .ly-tier-item.t1 {
        border-left: 3px solid #e67e22;
    }

    .wn-container .ly-tier-item.t2 .ly-tier-badge,

    .wn-container .ly-tier-item.t2 .ly-tier-name {
        color: #3498db;
    }

    .wn-container .ly-tier-item.t2 {
        border-left: 3px solid #3498db;
    }

    .wn-container .ly-tier-item.t3 .ly-tier-badge,

    .wn-container .ly-tier-item.t3 .ly-tier-name {
        color: #2ecc71;
    }

    .wn-container .ly-tier-item.t3 {
        border-left: 3px solid #2ecc71;
    }

    .wn-container .ly-tier-item.t4 .ly-tier-badge,

    .wn-container .ly-tier-item.t4 .ly-tier-name {
        color: #1e8449;
    }

    .wn-container .ly-tier-item.t4 {
        border-left: 3px solid #1e8449;
    }

    .wn-container .ly-tier-item.t5 .ly-tier-badge,

    .wn-container .ly-tier-item.t5 .ly-tier-name {
        color: #9b59b6;
    }

    .wn-container .ly-tier-item.t5 {
        border-left: 3px solid #9b59b6;
    }

    .wn-container .ly-tier-item.t6 .ly-tier-badge,

    .wn-container .ly-tier-item.t6 .ly-tier-name {
        color: #e74c3c;
    }

    .wn-container .ly-tier-item.t6 {
        border-left: 3px solid #e74c3c;
    }

    .wn-container .ly-tier-item.cmru .ly-tier-badge,

    .wn-container .ly-tier-item.cmru .ly-tier-name {
        color: #d60326;
    }

    .wn-container .ly-tier-item.cmru {
        border-left: 3px solid #d60326;
    }

    .wn-container .ly-tier-item.cwu .ly-tier-badge,

    .wn-container .ly-tier-item.cwu .ly-tier-name {
        color: #dfdfdf;
    }

    .wn-container .ly-tier-item.cwu {
        border-left: 3px solid #dfdfdf;
    }

    .wn-container .ly-tier-item.ucb .ly-tier-badge,

    .wn-container .ly-tier-item.ucb .ly-tier-name {
        color: #386cce;
    }

    .wn-container .ly-tier-item.ucb {
        border-left: 3px solid #386cce;
    }

    .wn-container .ly-exam-warning {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        background: rgba(231, 76, 60, 0.1);
        border: 1px solid rgba(231, 76, 60, 0.35);
        border-radius: 3px;
        padding: 10px 16px;
        margin: 8px 0;
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: #e74c3c;
        text-align: center;
    }

    .wn-container .ly-tier-banner {
        position: relative;
        background: rgba(0, 0, 0, 0.25);
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 4px;
        margin-bottom: 20px;
        overflow: hidden;
        animation: wn-fadeUp 0.5s ease both;
    }

    .wn-container .display-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 16px;
    }

    .wn-container .ly-tier-banner-header {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 14px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    .wn-container .ly-tier-banner-header .ly-tier-label {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 3px;
        text-transform: uppercase;
        opacity: 0.7;
    }

    .wn-container .ly-tier-banner-header .ly-tier-title {
        font-family: 'Bebas Neue', cursive;
        font-size: 22px;
        letter-spacing: 4px;
        color: #fff;
    }

    .wn-container .ly-tier-banner-header .ly-tier-num {
        font-family: 'Share Tech Mono', monospace;
        font-size: 28px;
        letter-spacing: -1px;
        opacity: 0.15;
        margin-left: auto;
        color: #fff;
    }

    .wn-container .ly-tier-banner-body {
        padding: 16px 20px;
    }

    .wn-container .ly-reward-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 7px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        font-size: 13.5px;
        line-height: 1.55;
        color: #c5c5d6;
    }

    .wn-container .ly-reward-item:last-child {
        border-bottom: none;
    }

    .wn-container .ly-reward-item::before {
        content: '›';
        color: rgba(255, 255, 255, 0.25);
        font-size: 16px;
        flex-shrink: 0;
        line-height: 0.7;
        margin-top: 2px;
    }

    .wn-container .ly-tier-banner.t1 .ly-reward-item::before {
        color: rgba(230, 126, 34, 0.5);
    }

    .wn-container .ly-tier-banner.t2 .ly-reward-item::before {
        color: rgba(52, 152, 219, 0.5);
    }

    .wn-container .ly-tier-banner.t3 .ly-reward-item::before {
        color: rgba(46, 204, 113, 0.5);
    }

    .wn-container .ly-tier-banner.t4 .ly-reward-item::before {
        color: rgba(30, 132, 73, 0.5);
    }

    .wn-container .ly-tier-banner.t5 .ly-reward-item::before {
        color: rgba(155, 89, 182, 0.5);
    }

    .wn-container .ly-tier-banner.t6 .ly-reward-item::before {
        color: rgba(231, 76, 60, 0.5);
    }

    .wn-container .ly-tier-banner.t-societe .ly-reward-item::before {
        color: rgba(211, 84, 0, 0.5);
    }

    .wn-container .ly-cost {
        display: inline-flex;
        align-items: center;
        gap: 3px;
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        color: #e74c3c;
        background: rgba(231, 76, 60, 0.12);
        border: 1px solid rgba(231, 76, 60, 0.3);
        padding: 1px 7px;
        border-radius: 2px;
        white-space: nowrap;
        flex-shrink: 0;
        margin-left: auto;
    }

    .wn-container .ly-free {
        display: inline-flex;
        align-items: center;
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        color: #2ecc71;
        background: rgba(46, 204, 113, 0.1);
        border: 1px solid rgba(46, 204, 113, 0.25);
        padding: 1px 7px;
        border-radius: 2px;
        white-space: nowrap;
        flex-shrink: 0;
        margin-left: auto;
    }

    .wn-container .ly-tier-banner.t1 {
        border-left: 3px solid #e67e22;
    }

    .wn-container .ly-tier-banner.t1 .ly-tier-banner-header {
        background: rgba(230, 126, 34, 0.08);
        border-bottom-color: rgba(230, 126, 34, 0.2);
    }

    .wn-container .ly-tier-banner.t1 .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t1 .ly-tier-banner-header .ly-tier-title {
        color: #e67e22;
    }

    .wn-container .ly-tier-banner.t2 {
        border-left: 3px solid #3498db;
    }

    .wn-container .ly-tier-banner.t2 .ly-tier-banner-header {
        background: rgba(52, 152, 219, 0.08);
        border-bottom-color: rgba(52, 152, 219, 0.2);
    }

    .wn-container .ly-tier-banner.t2 .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t2 .ly-tier-banner-header .ly-tier-title {
        color: #3498db;
    }

    .wn-container .ly-tier-banner.t3 {
        border-left: 3px solid #2ecc71;
    }

    .wn-container .ly-tier-banner.t3 .ly-tier-banner-header {
        background: rgba(46, 204, 113, 0.08);
        border-bottom-color: rgba(46, 204, 113, 0.2);
    }

    .wn-container .ly-tier-banner.t3 .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t3 .ly-tier-banner-header .ly-tier-title {
        color: #2ecc71;
    }

    .wn-container .ly-tier-banner.t4 {
        border-left: 3px solid #1e8449;
    }

    .wn-container .ly-tier-banner.t4 .ly-tier-banner-header {
        background: rgba(30, 132, 73, 0.08);
        border-bottom-color: rgba(30, 132, 73, 0.2);
    }

    .wn-container .ly-tier-banner.t4 .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t4 .ly-tier-banner-header .ly-tier-title {
        color: #1e8449;
    }

    .wn-container .ly-tier-banner.t5 {
        border-left: 3px solid #9b59b6;
    }

    .wn-container .ly-tier-banner.t5 .ly-tier-banner-header {
        background: rgba(155, 89, 182, 0.08);
        border-bottom-color: rgba(155, 89, 182, 0.2);
    }

    .wn-container .ly-tier-banner.t5 .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t5 .ly-tier-banner-header .ly-tier-title {
        color: #9b59b6;
    }

    .wn-container .ly-tier-banner.t6 {
        border-left: 3px solid #e74c3c;
    }

    .wn-container .ly-tier-banner.t6 .ly-tier-banner-header {
        background: rgba(231, 76, 60, 0.08);
        border-bottom-color: rgba(231, 76, 60, 0.2);
    }

    .wn-container .ly-tier-banner.t6 .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t6 .ly-tier-banner-header .ly-tier-title {
        color: #e74c3c;
    }

    .wn-container .ly-tier-banner.t-societe {
        border-left: 3px solid #d35400;
    }

    .wn-container .ly-tier-banner.t-societe .ly-tier-banner-header {
        background: rgba(211, 84, 0, 0.08);
        border-bottom-color: rgba(211, 84, 0, 0.2);
    }

    .wn-container .ly-tier-banner.t-societe .ly-tier-banner-header .ly-tier-label,

    .wn-container .ly-tier-banner.t-societe .ly-tier-banner-header .ly-tier-title {
        color: #d35400;
    }

    .wn-container .ly-cert-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-bottom: 24px;
        counter-reset: cert;
    }

    .wn-container .ly-cert-card {
        background: rgba(0, 0, 0, 0.2);
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-top: 2px solid var(--wn-primary);
        border-radius: 0 0 4px 4px;
        padding: 16px;
        animation: wn-fadeUp 0.5s ease both;
        position: relative;
        overflow: hidden;
        counter-increment: cert;
    }

    .wn-container .ly-cert-card::after {
        content: counter(cert, decimal-leading-zero);
        position: absolute;
        bottom: -10px;
        right: 8px;
        font-family: 'Bebas Neue', cursive;
        font-size: 72px;
        letter-spacing: 2px;
        color: rgba(255, 255, 255, 0.04);
        pointer-events: none;
        line-height: 1;
    }

    .wn-container .ly-cert-card-title {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--wn-primary);
        margin-bottom: 8px;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .wn-container .ly-cert-card-title::before {
        content: '✦';
        font-size: 8px;
        color: var(--wn-primary);
    }

    .wn-container .ly-cert-card p {
        font-size: 13px;
        line-height: 1.6;
        margin: 0;
        color: rgba(197, 197, 214, 0.85);
    }

    .wn-container .ly-wip {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: #e74c3c;
        border: 1px solid rgba(231, 76, 60, 0.4);
        padding: 6px 16px;
        border-radius: 2px;
        background: rgba(231, 76, 60, 0.07);
        margin: 8px auto;
    }

    .wn-container .ly-wip-wrap {
        display: flex;
        justify-content: center;
        margin: 12px 0;
    }

    .wn-container .ly-quote-attr {
        display: block;
        text-align: right;
        font-style: italic;
        font-size: 12px;
        color: rgba(255, 255, 255, 0.35);
        margin-top: 8px;
        font-family: 'Share Tech Mono', monospace;
        letter-spacing: 0.5px;
    }

    .wn-container .ly-subtitle {
        font-style: italic;
        font-size: 13px;
        color: rgba(197, 197, 214, 0.55);
        margin-bottom: 24px;
        letter-spacing: 0.5px;
    }

    .wn-container .ly-admin-note {
        background: rgba(var(--wn-accent-rgb), 0.07);
        border-left: 3px solid rgba(var(--wn-accent-rgb), 0.5);
        border-radius: 0 4px 4px 0;
        padding: 14px 20px;
        margin-bottom: 20px;
        font-style: italic;
        font-size: 13.5px;
        color: rgba(255, 255, 255, 0.6);
    }

    .wn-container .ly-admin-note strong {
        color: rgba(41, 128, 185, 0.9);
        font-style: normal;
    }

    .wn-container .ly-page-nav {
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
        margin-bottom: 32px;
    }

    .wn-container .ly-page-nav a {
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.45);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-bottom: none;
        padding: 6px 14px;
        border-radius: 3px 3px 0 0;
        transition: all 0.2s;
        text-decoration: none;
    }

    .wn-container .ly-page-nav a:hover {
        color: var(--wn-accent-light);
        border-color: rgba(41, 128, 185, 0.4);
        background: rgba(41, 128, 185, 0.06);
        filter: none;
    }

    .wn-container .ly-phil-num {
        font-family: 'Bebas Neue', cursive;
        font-size: 48px;
        color: rgba(41, 128, 185, 0.18);
        line-height: 1;
        float: left;
        margin: -4px 16px 0 0;
        letter-spacing: 2px;
    }

    @media (max-width: 640px) {

        .wn-container .ly-cert-grid {

            grid-template-columns: 1fr;

        }



        .wn-container .ly-intro-grid {

            grid-template-columns: 1fr;

        }



        .wn-container .ly-intro-col+.ly-intro-col {

            border-left: none;

            border-top: 1px solid rgba(255, 255, 255, 0.07);

        }



        .wn-container .ly-tier-item {

            flex-wrap: wrap;

        }



        .wn-container .ly-tier-req {

            margin-left: 0;

            width: 100%;

            padding-left: 0;

        }



        .wn-container .ly-reward-item {

            flex-wrap: wrap;

        }



        .wn-container .ly-cost,

        .wn-container .ly-free {

            margin-left: 0;

        }

    }

    /* 12. Tabs
   ------------------------------------------------------------ */

    .wn-container .tab-content {
        display: none;
        animation: wn-fadeUp 0.4s ease;
        min-height: 240px;
    }

    .wn-container .tab-content.active {
        display: block;
    }

    .wn-container .terminal-nav {
        display: flex;
        gap: 10px;
        margin-bottom: 25px;
        border-bottom: 1px solid rgba(var(--wn-accent-rgb), 0.3);
        padding-bottom: 10px;
        justify-content: center;
    }

    .wn-container .terminal-btn {
        background: transparent;
        border: 1px solid rgba(var(--wn-accent-rgb), 0.5);
        color: var(--wn-accent);
        font-family: 'Share Tech Mono', monospace;
        padding: 8px 15px;
        cursor: pointer;
        transition: all 0.3s ease;
        text-transform: uppercase;
        font-weight: 500;
        letter-spacing: 1px;
    }

    .wn-container .terminal-btn.active,

    .wn-container .terminal-btn:hover {
        background: var(--wn-accent);
        color: #fff;
        border-color: var(--wn-accent);
        box-shadow: 0 0 15px rgba(var(--wn-accent-rgb), 0.5);
        transform: translateY(-1px);
    }

    .wn-container .terminal-btn:not(.active) {
        opacity: 0.85;
    }

    .wn-container .terminal-btn:not(.active):hover {
        opacity: 1;
    }

    /* 13. Seats
   ------------------------------------------------------------ */

    .wn-container .secon-border-box {
        position: relative;
        z-index: 1;
    }

    .wn-container .seat-tooltip-box {
        position: absolute;
        top: 260px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 3;
        pointer-events: none;
        min-height: 48px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: max-content;
        max-width: min(360px, calc(100% - 24px));
        box-sizing: border-box;
    }

    .wn-container .seat-tooltip-idle {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.22);
        text-align: center;
        padding: 8px 10px;
    }

    .wn-container .seat-tooltip-card {
        --tip-color: #888;
        min-width: 220px;
        width: max-content;
        max-width: 100%;
        box-sizing: border-box;
        text-align: center;
        padding: 6px 12px;
        border-radius: 3px;
        background: rgba(0, 0, 0, 0.22);
        border: 1px solid rgba(255, 255, 255, 0.05);
        position: relative;
    }

    .wn-container .seat-tooltip-name {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: rgba(232, 232, 240, 0.82);
        line-height: 1.25;
        margin: 0 0 3px;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .wn-container .seat-tooltip-name.is-vacant {
        color: rgba(255, 255, 255, 0.32);
        font-weight: 500;
    }

    .wn-container .seat-tooltip-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 6px 10px;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .wn-container .seat-tooltip-party {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        flex: 0 1 auto;
        min-width: 0;
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-weight: 400;
        color: color-mix(in srgb, var(--tip-color) 55%, rgba(197, 197, 214, 0.55));
        line-height: 1.2;
    }

    .wn-container .seat-tooltip-party-label {
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: left;
    }

    .wn-container .seat-tooltip-swatch {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        flex-shrink: 0;
        background: var(--tip-color);
        opacity: 0.85;
    }

    .wn-container .seat-tooltip-coalition,
    .wn-container .seat-tooltip-wing {
        display: inline-block;
        flex: 0 1 auto;
        min-width: 0;
        font-family: 'Share Tech Mono', monospace;
        font-size: 9px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        line-height: 1.3;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        opacity: 0.9;
    }

    .wn-container .seat-tooltip-coalition {
        color: color-mix(in srgb, var(--tip-coalition, rgba(255, 255, 255, 0.35)) 50%, rgba(197, 197, 214, 0.4));
    }

    .wn-container .seat-tooltip-wing {
        color: color-mix(in srgb, var(--tip-wing, rgba(255, 255, 255, 0.35)) 55%, rgba(197, 197, 214, 0.45));
    }

    /* 14. Parties
   ------------------------------------------------------------ */

    .wn-container .party-box {
        background: rgba(0, 0, 0, 0.25);
        margin-bottom: 14px;
    }

    .wn-container #party-legend {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        max-height: 54px;
        gap: 6px 12px;
        margin-top: auto;
        border-top: 1px solid rgba(255, 255, 255, 0.07);
        padding: 8px 16px;
        overflow-x: hidden;
        overflow-y: auto;
        line-height: normal;
        min-height: 0;
        flex-shrink: 1;
        position: relative;
        z-index: 1;
        transition: max-height 0.2s ease, padding 0.2s ease;
    }

    .wn-container .party-column {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
        margin-bottom: 24px;
    }

    /* 15. Filters
   ------------------------------------------------------------ */

    .wn-container .drawer-toggle-btn {
        background: rgba(var(--wn-accent-rgb), 0.08);
        border: 1px solid rgba(var(--wn-accent-rgb), 0.3);
        color: var(--wn-accent);
        font-family: 'Share Tech Mono', monospace;
        padding: 10px 16px;
        cursor: pointer;
        width: 100%;
        text-align: left;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 13px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        transition: 0.2s ease;
        border-radius: 4px;
        margin-bottom: 16px;
    }

    .wn-container .drawer-toggle-btn:hover {
        background: rgba(var(--wn-accent-rgb), 0.15);
    }

    .wn-container .sort-control-bar {
        display: none;
        flex-direction: column;
        gap: 12px;
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.08);
        padding: 16px 18px;
        margin-bottom: 16px;
        border-radius: 4px;
        font-family: 'Share Tech Mono', monospace;
        font-size: 13px;
        animation: wn-fadeUp 0.3s ease;
    }

    .wn-container .sort-control-bar.open {
        display: flex;
    }

    .wn-container .sort-row {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .wn-container .sort-label {
        color: #6a6a7a;
        text-transform: uppercase;
        letter-spacing: 1px;
        min-width: 130px;
    }

    .wn-container .sort-options {
        display: flex;
        gap: 20px;
    }

    .wn-container .sort-link {
        color: #a5a5b6;
        cursor: pointer;
        user-select: none;
        transition: color 0.2s;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

    .wn-container .sort-link:hover,

    .wn-container .sort-link.active {
        color: var(--wn-accent);
    }

    .wn-container .filter-cloud {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
    }

    .wn-container .tag-filter-cloud {
        max-height: 88px;
        overflow-y: auto;
        align-content: flex-start;
        padding-right: 6px;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.15) rgba(0, 0, 0, 0.1);
    }

    .wn-container .interactive-pill {
        background: rgba(255, 255, 255, 0.03);
        border: 1px solid rgba(255, 255, 255, 0.12);
        color: #8a8a9a;
        padding: 2px 9px;
        border-radius: 3px;
        cursor: pointer;
        user-select: none;
        transition: 0.15s ease;
        font-size: 11px;
        text-transform: uppercase;
    }

    .wn-container .interactive-pill:hover {
        border-color: rgba(var(--wn-accent-rgb), 0.5);
        color: var(--wn-accent);
    }

    .wn-container .interactive-pill.selected {
        background: rgba(var(--wn-accent-rgb), 0.12);
        border-color: var(--wn-accent);
        color: var(--wn-accent);
    }

    .wn-container .view-mode-container {
        display: flex;
        gap: 8px;
        background: rgba(0, 0, 0, 0.2);
        padding: 3px;
        border-radius: 4px;
        border: 1px solid rgba(255, 255, 255, 0.05);
    }

    .wn-container .mode-toggle-btn {
        background: transparent;
        border: none;
        color: #6a6a7a;
        font-family: 'Share Tech Mono', monospace;
        padding: 4px 12px;
        cursor: pointer;
        font-size: 11px;
        text-transform: uppercase;
        border-radius: 2px;
        transition: 0.2s;
    }

    .wn-container .mode-toggle-btn:hover {
        color: var(--wn-accent);
    }

    .wn-container .mode-toggle-btn.active {
        background: rgba(var(--wn-accent-rgb), 0.15);
        color: var(--wn-accent);
        border: 1px solid rgba(var(--wn-accent-rgb), 0.25);
    }

    .wn-container .dynamic-section-title {
        font-family: 'Share Tech Mono', monospace;
        color: var(--wn-accent);
        font-size: 13px;
        margin-top: 28px;
        margin-bottom: 12px;
        text-transform: uppercase;
        letter-spacing: 2px;
        border-bottom: 1px dashed rgba(var(--wn-accent-rgb), 0.2);
        padding-bottom: 5px;
    }

    /* 16. Decrees
   ------------------------------------------------------------ */

    .wn-container .decree-desc-wrapper {
        position: relative;
        overflow: hidden;
        transition: max-height 0.35s ease;
        margin-bottom: 8px;
    }

    .wn-container .decree-desc-wrapper.collapsed {
        max-height: var(--decree-collapse-height, 100px);
    }

    .wn-container .decree-desc-content {
        font-size: 13.5px;
        line-height: 1.7;
        color: var(--wn-text);
        margin: 0;
    }

    .wn-container .decree-desc-content.is-empty {
        color: var(--wn-text-muted);
        font-style: italic;
        opacity: 0.85;
    }

    .wn-container .decree-fade-overlay {
        position: absolute;
        inset: auto 0 0 0;
        height: 72px;
        background: linear-gradient(to bottom, rgba(22, 22, 34, 0), rgba(22, 22, 34, 1));
        pointer-events: none;
        transition: opacity 0.3s ease;
        z-index: 1;
        opacity: 1;
    }

    .wn-container .decree-toggle-btn {
        font-family: 'Share Tech Mono', monospace;
        font-size: 12px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--wn-accent);
        background: rgba(30, 30, 45, 0.9);
        border: 1px solid rgba(var(--wn-accent-rgb), 0.5);
        padding: 8px 20px;
        border-radius: 3px;
        cursor: pointer;
        text-align: center;
        transition: all 0.2s ease;
        position: static;
        display: block;
        margin: 10px auto 0;
        transform: none;
        min-width: 140px;
    }

    .wn-container .decree-toggle-btn:hover {
        background: rgba(30, 30, 45, 0.95);
        border-color: var(--wn-accent);
        color: #fff;
        box-shadow: 0 0 12px rgba(var(--wn-accent-rgb), 0.3);
    }

    .wn-container .ly-tier-banner .decree-stamp {
        position: absolute;
        top: 125px;
        right: 18px;
        font-family: 'Bebas Neue', cursive;
        font-size: 48px;
        color: rgba(255, 255, 255, 0.05);
        pointer-events: none;
        z-index: 1;
    }

    /* 17. Status
   ------------------------------------------------------------ */

    .wn-container .status {
        padding: 4px 14px;
        border-radius: 2px;
        font-size: 12px;
        font-family: 'Share Tech Mono', monospace;
        letter-spacing: 1px;
        text-transform: uppercase;
        text-shadow: 0 0 2px currentColor;
        box-sizing: border-box;
    }

    .wn-container .status-active,
    .wn-container .status-passed,
    .wn-container .status-approved,
    .wn-container .status-accepted,
    .wn-container .status-enforced {
        background: rgba(65, 205, 137, 0.15);
        color: #41cd89;
    }

    .wn-container .status-pending,
    .wn-container .status-proposed {
        background: rgba(41, 128, 185, 0.15);
        color: #2980b9;
    }

    .wn-container .status-rejected,
    .wn-container .status-denied {
        background: rgba(209, 33, 33, 0.15);
        color: #d12121;
    }

    .wn-container .status-inactive,
    .wn-container .status-unenforced {
        background: rgba(107, 114, 128, 0.3);
        color: #888;
    }

    .wn-container .status-withdrawn {
        background: rgba(130, 35, 255, 0.08);
        color: #8223ff;
    }

    .wn-container .status-rescinded,
    .wn-container .status-overturned,
    .wn-container .status-repealed {
        background: rgba(100, 44, 11, 0.15);
        color: rgb(255, 81, 0);
    }

    .wn-container .status-vetoed,
    .wn-container .status-overruled {
        background: rgba(255, 57, 57, 0.08);
        color: #ff6161;
    }

    .wn-container .status-expired {
        background: rgba(107, 114, 128, 0.15);
        color: #9ca3af;
    }

    .wn-container .status-on-hold {
        background: rgba(253, 199, 0, 0.12);
        color: #fdc700;
    }

    .wn-container .latest-entry-title {
        display: block;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .wn-container .latest-entry-meta {
        display: block;
        width: 100%;
        font-size: 10px;
        text-transform: uppercase;
        line-height: 1.4;
        font-weight: 400;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .wn-container .latest-entry-meta-prefix {
        color: #c5c5d6;
        opacity: 0.7;
    }

    .wn-container .latest-entry-status .status {
        padding: 0;
        border-radius: 0;
        font-size: inherit;
        font-family: inherit;
        font-weight: inherit;
        letter-spacing: inherit;
        text-transform: inherit;
        text-shadow: none;
        background: transparent !important;
        vertical-align: baseline;
    }

    /* 18. Modal
   ------------------------------------------------------------ */

    .wn-container #bill-modal {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        display: none;
        align-items: flex-start;
        justify-content: center;
        z-index: 1000;
        overscroll-behavior: contain;
    }

    .wn-container #bill-modal.is-open {
        display: flex;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .wn-container .bill-modal-close {
        position: absolute;
        top: 18px;
        right: 22px;
        font-size: 26px;
        color: var(--wn-text-muted);
        background: none;
        border: none;
        cursor: pointer;
        z-index: 10;
        line-height: 1;
        padding: 0;
    }

    .wn-container .bill-modal-close:hover {
        color: var(--wn-text);
    }

    .wn-container .modal-content {
        padding: 24px 28px 24px 24px;
        position: relative;
        box-sizing: border-box;
        width: 100%;
        max-height: 55vh;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        scrollbar-color: rgba(255, 255, 255, 0.15) rgba(0, 0, 0, 0.1);
    }

    .wn-container #modal-tags-container {
        max-height: 85px;
    }

    .wn-container #bill-modal .ly-tier-banner {
        background: var(--wn-bg);
        border: solid 1px var(--wn-accent);
        width: 100%;
        max-width: 860px;
    }

    .wn-container #decrees-content .ly-tier-banner {
        min-height: 250px;
        display: flex;
        flex-direction: column;
    }

    .wn-container #decrees-content .ly-tier-banner-body {
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .wn-container .modal-scroll-limit {
        max-height: 50px;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }

    .wn-container #dynamic-tables-container tbody tr {
        cursor: pointer;
    }

    .wn-container #dynamic-tables-container tbody tr.legislation-amendment-row {
        cursor: pointer;
    }

    .wn-container .ly-tier-banner-body .modal-content {
        padding: 0 12px 0 0;
        scrollbar-gutter: stable;
    }

    .wn-container .modal-box-top {
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.08);
        padding: 20px;
        border-radius: 4px;
        margin-bottom: 20px;
    }

    .wn-container .modal-metadata-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 20px;
        margin-top: 8px;
    }

    .wn-container .modal-box-close {
        padding: 14px 24px;
        display: flex;
        justify-content: space-between;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        background: rgba(0, 0, 0, 0.1);
        align-items: center;
        gap: 20px;
    }

    .wn-container .modal-box-close-start,
    .wn-container .modal-box-close-end {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .wn-container .modal-box-close-end {
        margin-left: auto;
    }

    /* 19. Committees
   ------------------------------------------------------------ */

    .wn-container .member-pill {
        display: inline-block;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 2px;
        padding: 2px 8px;
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        color: rgba(255, 255, 255, 0.5);
        margin: 2px;
        letter-spacing: 0.5px;
    }

    .wn-container .member-pill.chair {
        background: rgba(var(--wn-accent-rgb), 0.08);
        border-color: rgba(var(--wn-accent-rgb), 0.3);
        color: var(--wn-accent);
    }

    .wn-container .chair::after {
        content: " ★";
    }

    .wn-container .decree-stamp {
        font-family: 'Bebas Neue', cursive;
        font-size: 48px;
        color: rgba(255, 255, 255, 0.05);
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        letter-spacing: 3px;
        pointer-events: none;
        user-select: none;
        line-height: 1;
    }

    .wn-container #committees-content .ly-tier-title {
        color: white;
    }

    .wn-container .ly-tier-banner.t6 .ly-tier-banner-body .member-pill.chair {
        color: rgb(231, 76, 60);
        background: rgba(231, 77, 60, 0.08);
        border: rgba(231, 76, 60, 0.3);
    }

    /* 20. Roster
   ------------------------------------------------------------ */

    .wn-container .overseer-row td,

    .wn-container .overseer-row {
        background-color: rgba(var(--wn-yellow-rgb), 0.02);
        box-shadow: inset 0 1px 0 rgba(var(--wn-yellow-rgb), 1), 0 1px 0 rgba(var(--wn-yellow-rgb), 1);
    }

    .wn-container .overseer-row td:first-child {
        border-left: 1px solid rgba(var(--wn-yellow-rgb), 1);
    }

    .wn-container .overseer-row td:last-child {
        border-right: 1px solid rgba(var(--wn-yellow-rgb), 1);
    }

    .wn-container .chairperson-row td,

    .wn-container .chairperson-row {
        background-color: rgba(var(--wn-rose-rgb), 0.02);
        box-shadow: inset 0 1px 0 rgba(var(--wn-rose-rgb), 1), 0 1px 0 rgba(var(--wn-rose-rgb), 1);
    }

    .wn-container .chairperson-row td:first-child {
        border-left: 1px solid rgba(var(--wn-rose-rgb), 1);
    }

    .wn-container .chairperson-row td:last-child {
        border-right: 1px solid rgba(var(--wn-rose-rgb), 1);
    }

    /* 21. Panels
   ------------------------------------------------------------ */

    .wn-container .top-panel {
        display: flex;
        background: rgba(0, 0, 0, 0.25);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 4px;
        margin-bottom: 14px;
    }

    .wn-container .top-panel-item {
        padding: 10px 14px;
        text-align: center;
        flex: 1;
        border-right: 1px solid rgba(255, 255, 255, 0.05);
    }

    .wn-container .top-panel-value {
        display: block;
        font-size: 14px;
        letter-spacing: 2px;
        font-family: 'Rajdhani', sans-serif;
        font-weight: 600;
    }

    .wn-container .top-panel-label {
        display: block;
        font-size: 9px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.3);
        margin-bottom: 3px;
        font-family: 'Share Tech Mono', monospace;
    }

    .wn-container .scrollbar-political {
        scrollbar-width: none;
        scrollbar-color: rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
        -ms-overflow-style: none;
        overflow-y: auto;
    }

    .wn-container .scrollbar-political::-webkit-scrollbar {
        display: none;
    }

    .wn-container .hover:hover {
        background: rgba(255, 255, 255, 0.012);
        transition: background 0.2s;
    }

    /* 24. Fixes
   ------------------------------------------------------------ */

    .wn-container .secon-border-box .ly-tier-item {
        min-height: 40px;
    }

    .wn-container .seat-map-panel {
        position: relative;
        display: flex;
        flex-direction: column;
        border-right: rgba(255, 255, 255, 0.07) solid 1px;
        grid-row: 1 / -1;
        min-height: 0;
    }

    .wn-container #coalition-legend {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px 12px;
        margin: 8px 20px;
    }

    .wn-container #modal-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 8px;
        text-transform: capitalize;
        margin-top: 4px;
        font-size: 13px;
    }

    .wn-container .special-red {
        color: #c52237;
    }

    .wn-container .standing-blue {
        color: #1e90ff;
    }

    .wn-container .temporary-green {
        color: #32cd32;
    }

    .wn-container .status-pinned {
        background: rgba(197, 34, 55, 0.2);
        color: #f5a7b0;
        border: 1px solid rgb(197, 34, 56);
    }

    .wn-container .pinned .member-pill.chair {
        background: rgba(197, 34, 55, 0.2);
        color: #f5a7b0;
        border-color: rgb(197, 34, 56);
    }

    .wn-container .modal-tag {
        display: inline-block;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-radius: 3px;
        padding: 2px 9px;
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        color: rgba(255, 255, 255, 0.55);
        letter-spacing: 0.5px;
        text-transform: uppercase;
        user-select: none;
    }

    .wn-container #modal-link-container,
    .wn-container #modal-amendment-link-container {
        display: none;
    }

    .wn-container #modal-link-container.is-visible,
    .wn-container #modal-amendment-link-container.is-visible {
        display: block;
    }

    .wn-container .modal-box-close a.terminal-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        margin: 0;
        text-decoration: none;
        line-height: 1.4;
        vertical-align: middle;
        appearance: none;
        -webkit-appearance: none;
    }

    .wn-container .modal-box-close a.terminal-btn:hover,
    .wn-container .modal-box-close a.terminal-btn:focus-visible {
        filter: none;
        text-decoration: none;
    }

    .wn-container .bill-modal-shell {
        position: relative;
        width: 100%;
        max-width: 860px;
        display: flex;
        flex-direction: column;
        margin-top: 10vh;
        animation: wn-fadeUp 0.5s ease both;
    }

    .wn-container #modal-description,
    .wn-container .amendment-change-text {
        margin: 10px 0 0;
        line-height: 1.75;
        background: rgba(0, 0, 0, 0.1);
        border-radius: 6px;
        min-height: 80px;
        padding: 10px;
        font-size: 13.5px;
    }

    .wn-container .amendment-change-text {
        max-height: 120px;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-gutter: stable;
        scrollbar-color: rgba(255, 255, 255, 0.15) rgba(0, 0, 0, 0.1);
    }

    .wn-container .amendment-change-text::-webkit-scrollbar {
        width: 8px;
    }

    .wn-container .amendment-change-text::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.02);
    }

    .wn-container .amendment-change-text::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.15);
        border-radius: 4px;
    }

    .wn-container #modal-description-container.is-empty #modal-description,
    .wn-container .amendment-drill-body.is-empty .amendment-change-text {
        color: var(--wn-text-muted);
    }

    .wn-container #modal-description-container.is-empty #modal-description-label {
        opacity: 0.85;
    }

    .wn-container .bill-modal-tabs {
        display: flex;
        gap: 6px;
        padding-left: 18px;
        margin-bottom: -1px;
        position: relative;
        z-index: 2;
    }

    .wn-container .bill-modal-tab {
        appearance: none;
        border: 1px solid var(--wn-accent);
        border-bottom: none;
        border-radius: 8px 8px 0 0;
        background: var(--wn-surface-deep);
        color: rgba(255, 255, 255, 0.55);
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 8px 18px;
        width: 120px;
        min-width: 120px;
        box-sizing: border-box;
        cursor: pointer;
        box-shadow: none;
        transition: background 0.2s, color 0.2s;
    }

    .wn-container .bill-modal-tab:hover {
        color: var(--wn-accent);
        background: #181820;
        box-shadow: none;
    }

    .wn-container .bill-modal-tab.active {
        background: var(--wn-bg);
        color: var(--wn-accent);
        box-shadow: none;
    }

    .wn-container #bill-modal .bill-modal-shell>.ly-tier-banner {
        margin-bottom: 0;
        animation: none;
    }

    @media (prefers-reduced-motion: reduce) {
        .wn-container .bill-modal-shell {
            animation: none;
        }
    }

    .wn-container .modal-panel {
        display: none;
    }

    .wn-container .modal-panel.active {
        display: block;
    }

    .wn-container .votes-summary {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        margin-bottom: 16px;
    }

    .wn-container .votes-stat {
        text-align: center;
        padding: 12px 10px;
        border-radius: 4px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        background: rgba(0, 0, 0, 0.2);
    }

    .wn-container .votes-stat-count {
        font-family: 'Bebas Neue', cursive;
        font-size: 36px;
        letter-spacing: 2px;
        line-height: 1;
        display: block;
        margin-bottom: 4px;
    }

    .wn-container .votes-stat-label {
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 2px;
        text-transform: uppercase;
        opacity: 0.7;
    }

    .wn-container .votes-stat.aye .votes-stat-count {
        color: #41cd89;
    }

    .wn-container .votes-stat.abstain .votes-stat-count {
        color: gray;
    }

    .wn-container .votes-stat.nay .votes-stat-count {
        color: #ff6161;
    }

    .wn-container .votes-bar {
        display: flex;
        height: 10px;
        border-radius: 3px;
        overflow: hidden;
        margin-bottom: 20px;
        border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .wn-container .votes-bar-seg {
        height: 100%;
        min-width: 0;
        transition: width 0.25s ease;
    }

    .wn-container .votes-bar-seg.aye {
        background: #41cd89;
    }

    .wn-container .votes-bar-seg.abstain {
        background: rgb(76, 76, 114);
    }

    .wn-container .votes-bar-seg.nay {
        background: #ff6161;
    }

    .wn-container .votes-columns {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .wn-container .votes-column {
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 4px;
        background: rgba(0, 0, 0, 0.15);
        min-height: 120px;
        overflow: hidden;
    }

    .wn-container .votes-column-header {
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 2px;
        text-transform: uppercase;
        padding: 8px 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        text-align: center;
    }

    .wn-container .votes-column.aye .votes-column-header {
        color: rgba(65, 205, 137, 0.5);
        background: rgba(65, 205, 137, 0.08);
    }

    .wn-container .votes-column.abstain .votes-column-header {
        color: rgba(250, 250, 250, 0.5);
        background: rgba(76, 76, 114, 0.08);
    }

    .wn-container .votes-column.nay .votes-column-header {
        color: rgba(255, 97, 97, 0.5);
        background: rgba(255, 97, 97, 0.08);
    }

    .wn-container .votes-column-body {
        padding: 8px;
        display: flex;
        flex-direction: column;
        gap: 4px;
        max-height: 220px;
        overflow-y: auto;
        scrollbar-width: thin;
    }

    .wn-container .vote-name {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        padding: 4px 8px;
        color: #c5c5d6;
    }

    .wn-container .vote-name-dot {
        flex-shrink: 0;
        font-size: 10px;
        line-height: 1;
    }

    /* Legislation amendments accordion */
    .wn-container .legislation-table .legislation-expand-col {
        width: 36px;
        padding-left: 0;
        padding-right: 10px;
        text-align: center;
        vertical-align: middle;
    }

    .wn-container .legislation-amend-toggle {
        appearance: none;
        background: transparent;
        border: none;
        color: rgba(255, 255, 255, 0.55);
        cursor: pointer;
        padding: 5px 12px;
        line-height: 1;
        border-radius: 4px;
    }

    .wn-container .legislation-amend-caret {
        display: inline-block;
        font-size: 10px;
        transition: transform 0.2s ease;
    }

    .wn-container .legislation-bill-row {
        text-transform: capitalize;
    }

    .wn-container .legislation-bill-row.is-expanded .legislation-amend-caret {
        transform: rotate(180deg);
    }

    .wn-container .legislation-table .legislation-title-cell {
        max-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: var(--wn-text);
        font-weight: 500;
    }

    .wn-container .legislation-table tbody {
        color: var(--wn-text);
    }

    .wn-container .legislation-amendment-row td {
        color: #b8b8c8;
    }

    .wn-container .legislation-amendment-row:hover td {
        background:
            linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05)),
            rgba(18, 36, 94, 0.2) !important;
    }

    .wn-container .legislation-amendment-type {
        text-align: left;
    }

    .wn-container .legislation-bill-row+.legislation-amendment-row td {
        border-top: 1px solid rgba(var(--wn-accent-rgb), 0.25);
    }

    .wn-container .legislation-amendment-row:has(+.legislation-bill-row) td {
        border-bottom: 1px solid rgba(var(--wn-accent-rgb), 0.5);
    }

    .wn-container .amendments-panel {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .wn-container .amendments-table-wrap {
        border-radius: 4px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.07);
    }

    .wn-container .amendments-table-wrap td {
        border-bottom: none;
    }

    .wn-container .amendments-table {
        margin: 0;
    }

    .wn-container .amendment-table-row {
        color: #c5c5d6;
    }

    .wn-container .amendments-table tbody tr.amendment-table-row:hover td {
        background: rgba(255, 255, 255, 0.05) !important;
    }

    .wn-container .amendments-table tbody tr.amendment-table-row.is-targeted td {
        background: rgba(255, 255, 255, 0.03) !important;
    }

    .wn-container .amendment-drill-body {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .wn-container .amendment-drill-body.has-votes {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        column-gap: 20px;
        row-gap: 10px;
    }

    .wn-container .amendment-drill-body .amendment-change-label {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    .wn-container .amendment-drill-body .amendment-change-text {
        grid-column: 1;
        grid-row: 2;
    }

    .wn-container .amendment-drill-body.has-votes .amendment-change-text {
        margin-top: 0;
    }

    .wn-container .amendment-votes-block.modal-box-top,
    .wn-container .amendment-votes-spacer {
        grid-column: 2;
        grid-row: 2;
        height: 100px;
        min-width: 0;
        box-sizing: border-box;
        align-self: start;
    }

    .wn-container .amendment-votes-block.modal-box-top {
        margin-bottom: 0;
        text-align: center;
        overflow: hidden;
    }

    .wn-container .amendment-votes-spacer {
        visibility: hidden;
        pointer-events: none;
    }

    .wn-container .amendment-votes-tally {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 6px;
        align-items: start;
    }

    .wn-container .amendment-vote-cell {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        min-width: 0;
    }

    .wn-container .amendment-vote-count {
        font-size: 16px;
        line-height: 1.2;
        letter-spacing: 0.5px;
    }

    .wn-container .amendment-vote-label {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.4);
    }

    .wn-container .amendment-vote-cell.aye .amendment-vote-count {
        color: #41cd89;
    }

    .wn-container .amendment-vote-cell.abstain .amendment-vote-count {
        color: gray;
    }

    .wn-container .amendment-vote-cell.nay .amendment-vote-count {
        color: #ff6161;
    }

    .wn-container .amendment-details-link {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .wn-container .amendment-drill-view {
        display: flex;
        flex-direction: column;
    }

    .wn-container .amendment-drill-meta-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .wn-container .amendment-drill-meta-grid.has-type {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    @media (max-width: 640px) {

        .wn-container .modal-metadata-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .wn-container .votes-summary,
        .wn-container .votes-columns {
            grid-template-columns: 1fr;
        }

        .wn-container .amendment-drill-meta-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .wn-container .amendment-drill-body.has-votes {
            grid-template-columns: 1fr;
            row-gap: 16px;
        }

        .wn-container .amendment-drill-body.has-votes .amendment-votes-block.modal-box-top,
        .wn-container .amendment-drill-body.has-votes .amendment-votes-spacer {
            grid-column: 1;
            grid-row: 3;
        }

        .wn-container .bill-modal-tabs {
            overflow-x: auto;
            padding-right: 12px;
        }
    }

    .wn-container .decree-desc-block {
        position: relative;
    }

    .wn-container .decree-desc-wrapper:not(.collapsed) .decree-fade-overlay {
        opacity: 0;
    }

    .wn-container #seatMap {
        margin-bottom: 14px;
    }

    .wn-container #seatMap circle {
        transform-box: fill-box;
        transform-origin: center;
        transition: transform 0.25s ease, opacity 0.25s ease, filter 0.25s ease;
        cursor: pointer;
        filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.15));
    }

    .wn-container #seatMap circle:hover {
        transform: scale(1.04);
    }

    .wn-container #seatMap circle.seat-focused:not(.seat-selected) {
        transform: scale(1.04);
        opacity: 0.9;
        filter: saturate(80%) !important;
    }

    .wn-container #seatMap circle.seat-focused:not(.seat-selected):hover {
        transform: scale(1.08);
    }

    .wn-container #seatMap circle.seat-selected {
        transform: scale(1.10);
        opacity: 1 !important;
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.4)) drop-shadow(0 0 12px rgba(255, 255, 255, 0.18));
        filter: brightness(1.25) !important;
    }

    .wn-container #seatMap circle.seat-selected:hover {
        transform: scale(1.12);
    }

    .wn-container #seatMap circle.seat-dimmed {
        opacity: 0.35 !important;
        transform: scale(0.9);
        filter: none;
    }

    .wn-container #seatMap circle.seat-dimmed:hover {
        transform: scale(1);
    }

    .wn-container #party-legend .party-legend-item {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 13px;
        transition: opacity 0.2s ease, background 0.15s ease, padding 0.15s ease;
    }

    .wn-container #party-legend .party-legend-swatch {
        width: 11px;
        height: 11px;
        border-radius: 50%;
        flex-shrink: 0;
        box-sizing: border-box;
    }

    .wn-container #party-legend .party-legend-item[data-legend-kind="coalition-member"] .party-legend-swatch {
        border: 1.5px solid var(--legend-coalition-stroke, rgba(255, 255, 255, 0.45));
        box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.25);
    }

    .wn-container #party-legend .party-legend-item[data-legend-kind="wing"] .party-legend-swatch {
        border: 1.5px solid var(--legend-party-stroke, rgba(255, 255, 255, 0.45));
        box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.25);
    }

    .wn-container #party-legend .party-legend-item[data-legend-kind="wing"] .party-legend-label {
        color: rgba(197, 197, 214, 0.65);
        font-size: 13px;
    }

    .wn-container #party-legend .party-legend-item.legend-dimmed {
        opacity: 0.25;
    }

    .wn-container #party-legend .party-legend-coalition {
        display: contents;
    }

    .wn-container #party-legend .party-legend-coalition-members {
        display: none;
    }

    .wn-container #party-legend .party-legend-coalition.revealed .party-legend-coalition-summary {
        display: none;
    }

    .wn-container #party-legend .party-legend-coalition.revealed .party-legend-coalition-members {
        display: contents;
    }

    .wn-container #party-legend .party-legend-party-with-wings {
        display: contents;
    }

    .wn-container #party-legend .party-legend-wings {
        display: none;
    }

    .wn-container #party-legend .party-legend-party-with-wings.wings-revealed .party-legend-wings,
    .wn-container #party-legend .party-legend-party-with-wings.wings-forced .party-legend-wings {
        display: contents;
    }

    /* When showLegendWings is off, wing-select only reveals the active wing chip */
    .wn-container #party-legend .party-legend-party-with-wings.wings-forced:not(.wings-revealed) .party-legend-item[data-legend-kind="wing"]:not(.legend-wing-forced) {
        display: none;
    }

    /* .wn-container #party-legend.has-wings-revealed {
        max-height: 52px;
    } */

    .wn-container #party-boxes {
        --party-logo-size: 40px;
        --party-logo-stack-size: 30px;
        --party-caret-w: 28px;
    }

    .wn-container .party-row {
        display: block;
        margin: 0;
        padding: 8px 10px;
        border-radius: 3px;
        border: 1px solid rgba(255, 255, 255, 0.04);
        transition: opacity 0.2s ease, background 0.2s ease, border-color 0.2s ease;
        box-sizing: border-box;
        background: #191927;
    }

    .wn-container .party-row:hover {
        background: rgba(255, 255, 255, 0.012);
        transition: background 0.2s;
    }

    .wn-container #party-boxes>.party-row,
    .wn-container #party-boxes>.party-coalition,
    .wn-container #party-boxes>.party-with-wings {
        margin: 6px 10px;
    }

    .wn-container .party-row-body {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        min-width: 0;
    }

    .wn-container .party-row-media {
        flex: 0 0 var(--party-logo-size);
        width: var(--party-logo-size);
        height: var(--party-logo-size);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .wn-container .party-row-logo {
        width: 100%;
        height: 100%;
        max-width: var(--party-logo-size);
        max-height: var(--party-logo-size);
        min-width: 0 !important;
        object-fit: contain;
        display: block;
    }

    .wn-container .party-row-main {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .wn-container .party-row-name {
        font-family: 'Rajdhani', sans-serif;
        font-weight: 700;
        font-size: 14px;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #e8e8f0;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .wn-container .party-row-meta {
        display: flex;
        align-items: center;
        gap: 2px;
        flex-shrink: 0;
        margin-left: auto;
    }

    .wn-container .party-row-seats {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        white-space: nowrap;
        color: color-mix(in srgb, var(--party-color, #888) 55%, rgba(197, 197, 214, 0.55));
        padding: 0;
        background: none;
        border: none;
        line-height: 1.2;
        opacity: 0.85;
    }

    .wn-container .party-caret-slot {
        width: var(--party-caret-w);
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .wn-container .party-caret-slot .roster-toggle-btn {
        padding: 4px 0;
        line-height: 1;
    }

    .wn-container .party-row-meta--nested {
        padding-right: 10px;
    }


    .wn-container .party-row-meta:has(.party-coalition-toggle),
    .wn-container .party-row-meta:has(.party-wing-toggle) {
        padding-right: 0;
    }

    .wn-container .party-row-desc {
        font-family: 'Exo 2', sans-serif;
        font-size: 13px;
        color: rgba(255, 255, 255, 0.6);
        border-top: 1px solid rgba(255, 255, 255, 0.07);
        margin-top: 8px;
        padding-top: 8px;
    }

    .wn-container #party-boxes .party-roster-item.party-roster-dimmed {
        opacity: 0.25;
    }

    .wn-container #party-boxes .party-roster-item.party-roster-focused {
        opacity: 1;
        background: rgba(25, 25, 25, 0.05);
        border-color: rgba(255, 255, 255, 0.08);
    }

    .wn-container #party-boxes .party-coalition.party-roster-dimmed,
    .wn-container #party-boxes .party-with-wings.party-roster-dimmed {
        opacity: 0.25;
        transition: opacity 0.2s ease;
    }

    .wn-container #party-boxes .party-coalition.party-roster-focused,
    .wn-container #party-boxes .party-with-wings.party-roster-focused {
        opacity: 1;
    }

    .wn-container #party-boxes .party-with-wings.party-roster-dimmed>.party-roster-item,
    .wn-container #party-boxes .party-with-wings.party-roster-dimmed .party-wing-row,
    .wn-container #party-boxes .party-coalition.party-roster-dimmed>.party-roster-item,
    .wn-container #party-boxes .party-coalition.party-roster-dimmed .party-with-wings,
    .wn-container #party-boxes .party-coalition.party-roster-dimmed .party-wing-row {
        opacity: 1;
    }

    .wn-container .party-coalition-members,
    .wn-container .party-wings-list {
        display: none;
        padding: 4px 0 2px 12px;
        border-left: 1px solid rgba(255, 255, 255, 0.07);
        margin: 0 0 0 12px;
        border-bottom-left-radius: 4px;
    }

    .wn-container .party-coalition.open .party-coalition-members,
    .wn-container .party-with-wings.open .party-wings-list {
        display: block;
    }

    .wn-container .party-coalition-members>.party-row,
    .wn-container .party-coalition-members>.party-with-wings,
    .wn-container .party-wings-list>.party-row {
        margin: 4px 0;
    }

    .wn-container .party-coalition-members>.party-row,
    .wn-container .party-coalition-members>.party-with-wings>.party-row,
    .wn-container .party-wings-list>.party-row {
        padding: 8px 10px;
        background: rgba(0, 0, 0, 0.15);
    }

    .wn-container .party-coalition-members .party-row-media,
    .wn-container .party-wings-list .party-row-media {
        --party-logo-size: 32px;
    }

    .wn-container .party-coalition-members .party-row-name {
        font-size: 12px;
    }

    .wn-container #party-boxes .party-wing-row.party-wing-selectable {
        cursor: pointer;
        transition: background 0.15s ease, border-color 0.15s ease, opacity 0.2s ease;
    }

    .wn-container #party-boxes .party-wing-row.party-wing-selectable:hover {
        /* background: rgba(0, 0, 0, 0.15); */
        /* border-color: rgba(255, 255, 255, 0.07); */
        border-color: color-mix(in srgb, var(--party-color, #888) 25%, rgba(255, 255, 255, 0.12));

    }

    .wn-container #party-boxes .party-wing-row.party-roster-focused:hover {
        border-color: color-mix(in srgb, var(--party-color, #888) 45%, rgba(255, 255, 255, 0.12));
    }

    .wn-container #party-boxes .party-wing-row.party-roster-focused {
        opacity: 1;
        background: rgba(25, 25, 25, 0.08);
        border-color: color-mix(in srgb, var(--party-color, #888) 45%, rgba(255, 255, 255, 0.12));
        /* box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--party-color, #888) 35%, transparent); */
    }

    .wn-container #party-boxes .party-wing-row.party-roster-dimmed {
        opacity: 0.35;
    }

    .wn-container .party-wing-row .party-row-body {
        align-items: center;
        gap: 12px;
    }

    .wn-container .party-wing-row .party-row-media {
        align-self: center;
    }

    .wn-container .party-wing-row .party-row-main {
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 2px;
        min-width: 0;
    }

    .wn-container .party-wing-row-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-width: 0;
        width: 100%;
    }

    .wn-container .party-wing-row .party-row-name {
        font-size: 11px;
        letter-spacing: 0.5px;
        color: rgba(232, 232, 240, 0.82);
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .wn-container .party-wing-row .party-row-seats {
        flex: 0 0 auto;
        padding-right: 10px;
    }

    .wn-container .party-wing-row-bottom {
        font-family: 'Share Tech Mono', monospace;
        font-size: 9px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        color: color-mix(in srgb, var(--party-color, #888) 45%, rgba(197, 197, 214, 0.5));
        line-height: 1.2;
        white-space: nowrap;
    }

    .wn-container .party-coalition-members .party-wings-list {
        margin-left: 10px;
    }

    .wn-container .party-coalition .coalition-logo-single {
        width: 100%;
        height: 100%;
        max-width: var(--party-logo-size);
        max-height: var(--party-logo-size);
        min-width: 0 !important;
        object-fit: contain;
        display: block;
    }

    .wn-container .party-coalition .coalition-logo-stack {
        position: relative;
        width: 100%;
        height: 100%;
        flex-shrink: 0;
    }

    .wn-container .party-coalition .coalition-logo-stack img {
        position: absolute;
        top: 50%;
        width: var(--party-logo-stack-size);
        height: var(--party-logo-stack-size);
        min-width: 0 !important;
        max-width: var(--party-logo-stack-size) !important;
        max-height: var(--party-logo-stack-size) !important;
        object-fit: contain;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.35);
        border: 1px solid rgba(255, 255, 255, 0.12);
        transform: translateY(-50%);
    }

    .wn-container .party-coalition .coalition-logo-stack img:nth-child(1) {
        left: 0;
        z-index: 3;
    }

    .wn-container .party-coalition .coalition-logo-stack img:nth-child(2) {
        left: 12px;
        z-index: 2;
    }

    .wn-container .party-coalition .coalition-logo-stack img:nth-child(3) {
        left: 24px;
        z-index: 1;
    }

    .wn-container .party-coalition .coalition-logo-more {
        position: absolute;
        top: 50%;
        right: -2px;
        transform: translateY(-50%);
        z-index: 4;
        min-width: 18px;
        height: 18px;
        padding: 0 3px;
        border-radius: 9px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: 'Share Tech Mono', monospace;
        font-size: 8px;
        letter-spacing: 0.5px;
        color: rgba(255, 255, 255, 0.75);
        background: rgba(0, 0, 0, 0.55);
        border: 1px solid rgba(255, 255, 255, 0.14);
        box-sizing: border-box;
    }

    .wn-container .party-coalition .party-row-media:has(.coalition-logo-stack[data-count="2"]) {
        flex-basis: 48px;
        width: 48px;
    }

    .wn-container .party-coalition .party-row-media:has(.coalition-logo-stack[data-count="3"]),
    .wn-container .party-coalition .party-row-media:has(.coalition-logo-stack.has-overflow) {
        flex-basis: 56px;
        width: 56px;
    }

    .wn-container .party-coalition .party-row-media:has(.coalition-logo-stack.has-overflow) {
        flex-basis: 68px;
        width: 68px;
    }

    .wn-container h3.session-title {
        position: relative;
        display: inline-block;
        font-size: 22px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.8);
        letter-spacing: 8px;
        padding-bottom: 8px;
    }

    .wn-container h3.session-title::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%);
        width: 110%;
        height: 2px;
        background: var(--wn-accent);
        box-shadow: 0 0 12px rgba(var(--wn-accent-rgb), 0.6), 0 0 30px rgba(var(--wn-accent-rgb), 0.2);
        border-radius: 2px;
        opacity: 0.7;
    }

    .wn-container h3.session-num {
        font-size: 22px;
        margin-bottom: 0;
        letter-spacing: 12px;
        color: rgba(255, 255, 255, 0.8) !important;
    }

    .wn-container .party-box .ly-tier-item,
    .wn-container .party-box {
        background: none;
    }

    .wn-container .overview-container {
        background: rgba(0, 0, 0, 0.25);
        border: solid 1px rgba(255, 255, 255, 0.07);
        border-radius: 4px;
        padding: 12px;
    }


    .wn-container .roster-table {
        width: 100%;
        border-collapse: separate;
        color: #c5c5d6 !important;
        font-family: 'Exo 2', sans-serif;
        font-size: 14px;
        margin-bottom: 0 !important;
    }

    .wn-container .roster-table tbody tr.roster-section td {
        padding: 6px 4px 8px;
        background: transparent;
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        font-family: 'Share Tech Mono', monospace;
        font-size: 11px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: #c5c5d6;
    }

    .wn-container .roster-table tbody tr.roster-section:not(:first-child) td {
        padding-top: 14px;
    }

    .wn-container .roster-table tbody tr.roster-member td {
        padding: 8px 12px;
        vertical-align: middle;
        background: rgba(0, 0, 0, 0.15);
        border-top: 1px solid rgba(255, 255, 255, 0.04);
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        font-family: 'Exo 2', sans-serif;
        font-size: 14px;
    }

    .wn-container .roster-table tbody tr.roster-member td:first-child {
        border-left: 1px solid rgba(255, 255, 255, 0.04);
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
        text-align: center;
    }

    .wn-container .roster-table tbody tr.roster-member td:last-child {
        border-right: 1px solid rgba(255, 255, 255, 0.04);
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        text-align: center;
    }

    .wn-container .roster-table tbody tr.roster-member:hover td {
        background: rgba(255, 255, 255, 0.03);
    }

    .wn-container .roster-table .col-rank {
        width: 1%;
        white-space: nowrap;
        padding-right: 4px;
    }

    .wn-container .roster-table .col-name {
        width: 18%;
    }

    .wn-container .roster-table .col-cid {
        width: 6%;
        white-space: nowrap;
        font-family: 'Share Tech Mono', monospace;
        color: #c5c5d6;
    }

    .wn-container .roster-table .col-party {
        width: auto;
        font-size: 13px;
        color: #c5c5d6;
        text-align: right;
    }

    .wn-container .roster-table .col-affiliation {
        width: auto;
        text-align: right;
        white-space: nowrap;
        line-height: 1.35;
    }

    .wn-container .roster-table .roster-affil-coalition {
        font-size: 12px;
        text-transform: capitalize;
        color: color-mix(in srgb, var(--coalition-color, #888) 90%, rgba(197, 197, 214, 0.55));
        opacity: 0.9;
    }

    .wn-container .roster-table .roster-affil-wing {
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 0.8px;
        text-transform: uppercase;
        color: color-mix(in srgb, var(--wing-color, #888) 55%, rgba(197, 197, 214, 0.55));
        opacity: 0.85;
        margin-top: 2px;
    }

    .wn-container .roster-table .roster-affil-wing::before {
        content: '';
    }

    .wn-container .roster-rank-badge {
        display: inline-block;
        font-family: 'Share Tech Mono', monospace;
        font-size: 10px;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        padding: 2px 6px;
        border-radius: 2px;
        background: rgba(255, 255, 255, 0.06);
        color: #c5c5d6;
        min-width: 92px;
        text-align: center;
        box-sizing: border-box;
    }

    .wn-container .roster-rank-badge.chair {
        background: rgba(var(--wn-rose-rgb), 0.15);
        color: rgba(255, 200, 220, 0.9);
        border: 1px solid rgba(var(--wn-rose-rgb), 0.35);
    }

    .wn-container #overview section {
        margin-bottom: 24px;
    }

    .wn-container #overview h3 {
        color: #c5c5d6;
    }

    .wn-container #overview section:not(.overview-container) {
        padding: 12px;
    }

    .wn-container .update-block {
        padding: 10px;
        background: rgba(0, 0, 0, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 3px;
        transition: 0.3s ease;
    }

    .wn-container .assembly-executive {
        display: grid;
        grid-template-columns: 35fr 65fr;
        gap: 20px;
        text-align: left;
        margin-bottom: 12px;
    }

    .wn-container .assembly-block {
        border-radius: 4px;
        transition: 0.3s ease;
        background: rgba(0, 0, 0, 0.15);
    }

    .wn-container .split {
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
        padding-bottom: 4px;
        line-height: normal;
        margin-bottom: 14px;
    }

    .wn-container .split h3 {
        margin-block: 0;
    }

    .wn-container .roster-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .wn-container .roster-header h3 {
        margin: 0;
    }

    .wn-container .roster-toggle-btn {
        background: none;
        border: none;
        color: var(--wn-accent);
        padding: 6px 12px;
        cursor: pointer;
        font-size: 13px;
        transition: 0.5s ease;
    }

    .wn-container .roster-toggle-btn.party {
        color: rgba(255, 255, 255, 0.6);
    }

    .wn-container .roster-panel {
        display: none;
        margin-top: 12px;
    }

    .wn-container .roster-panel.open {
        display: block;
        animation: wn-fadeUp 0.5s ease;
    }

    .wn-container .top-panel-item .top-panel-value {
        font-size: 17px;
    }

    .wn-container .seat-container-background {
        position: relative;
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        background: linear-gradient(to top, rgba(30, 30, 45, 0.4), transparent);
    }

    .wn-container .seat-container-background:before {
        content: "";
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background: url('https://i.ibb.co/Jjy4798p/mad.png') no-repeat top center;

        background-size: 100% auto;
        opacity: 0.3;
        pointer-events: none;
        z-index: 0;
    }

    /* 22. Graph
   ------------------------------------------------------------ */

    .wn-container .graph-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        overflow: hidden;
        border: rgba(var(--wn-accent-rgb), 0.3) solid 1px;
        border-radius: 4px;
    }

    .wn-container .party-header,
    .wn-container .chamber-header {
        text-align: center;
        background: #161622;
        z-index: -1;
        padding-top: 2px;
        line-height: normal;
        border-bottom: solid 1px rgba(255, 255, 255, 0.07);
        margin: 0 0 4px !important;
    }

    .wn-container .graph-container .party-column {
        display: flex;
        flex-direction: column;
        grid-column: 2;
        grid-row: 1;
        height: 0;
        min-height: 100%;
        overflow: hidden;
        margin-bottom: 0;
        gap: 0;
        grid-template-columns: unset;
    }

    .wn-container .graph-container .party-column .party-header {
        flex-shrink: 0;
    }

    .wn-container .graph-container .party-column #party-boxes {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        display: block;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .wn-container .graph-container .party-column #party-boxes::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .wn-container #party-legend {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .wn-container #party-legend::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .wn-container .centered {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center;
    }

    .wn-container #overview h3.session-header {
        position: relative;
        display: inline-block;
        font-size: 42px;
        font-weight: 700;
        line-height: 1;
        color: #c5c5d6;
        letter-spacing: 12px;
        padding-bottom: 8px;
        margin-bottom: 0;
        font-family: 'Rajdhani', sans-serif;
    }

    .wn-container #overview h3.session-header::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%);
        width: 110%;
        height: 2px;
        background: var(--wn-accent);
        box-shadow: 0 0 12px rgba(var(--wn-accent-rgb), 0.6), 0 0 30px rgba(var(--wn-accent-rgb), 0.2);
        border-radius: 2px;
        opacity: 0.7;
    }

    .wn-container #overview h3.session-subhead {
        font-size: 22px;
        font-weight: 300;
        line-height: 1;
        margin-bottom: 0;
        padding-top: 12px;
        letter-spacing: 8px;
        font-family: 'Share Tech Mono', monospace;
        opacity: 0.75;
    }

    /* 23. Redirects
   ------------------------------------------------------------ */

    .wn-container .overview-container>a:has(.admin-redirect) {
        display: block;
        text-decoration: none;
        color: inherit;
    }

    .wn-container .admin-redirect {
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        text-align: center;
        background: linear-gradient(to top, rgba(30, 30, 45, 0.4), transparent);
        border: 1px solid rgba(255, 255, 255, 0.07);
        border-radius: 4px;
        padding: 4px 6px;
        height: auto;
        min-height: 55px;
        cursor: pointer;
        transition: background 0.2s ease, border-color 0.2s ease;
    }

    .wn-container .admin-redirect:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: url('https://combineoverwiki.net/images/6/6f/HLA_CP_Onlook.jpg');
        background-size: cover;
        background-position: center;
        opacity: 0.15;
        pointer-events: none;
        transition: opacity 0.2s ease, transform 0.35s ease;
    }

    .wn-container .admin-redirect:after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(100deg, rgba(22, 22, 34, 0.66) 0%, rgba(22, 22, 34, 0.33) 48%, rgba(22, 22, 34, 0.08) 100%);
        pointer-events: none;
        z-index: 0;
    }

    .wn-container .admin-redirect.admin-redirect-2:before {
        background-image: url('https://combineoverwiki.net/images/1/19/HLA_CSBarrier_CZ.jpg');
        opacity: 0.15;
    }

    .wn-container .admin-redirect:hover:before {
        opacity: 0.05;
        transform: scale(1.01);
    }

    .wn-container .admin-redirect:hover {
        background: rgba(255, 255, 255, 0.012);
        border-color: rgba(var(--wn-accent-rgb), 0.35);
    }

    .wn-container .admin-redirect h3 {
        position: relative;
        z-index: 1;
        line-height: 1.1;
        text-align: center;
        font-size: 18px;
        letter-spacing: 4px;
        margin: 0;
        transition: color 0.2s ease;
        font-family: 'Rajdhani', sans-serif;
    }

    .wn-container #overview .admin-redirect:hover h3,
    .wn-container #overview .admin-redirect h3:hover {
        color: var(--wn-accent);
    }

    .wn-container #overview .admin-redirect a {
        border-bottom: unset;
    }

    .wn-container .redirect-grid {
        display: grid;
        grid-template-columns: 55fr 45fr;
        gap: 20px;
        margin-bottom: 12px;
    }

    .wn-container .admin-redirect .subheader {
        font-size: 10px;
        letter-spacing: 2.5px;
        color: rgba(255, 255, 255, 0.4);
        margin-top: 2px;
        font-family: 'Share Tech Mono', monospace;
    }