
    .sel-rh {
        position: fixed; inset: 0; z-index: 60;
        display: flex; align-items: center; justify-content: center;
        padding: 20px;
        background: rgba(0,0,0,.42);
        opacity: 0; transition: opacity .5s cubic-bezier(.16,.7,.24,1);
        font-family: inherit;
    }
    .sel-rh[hidden] { display: none; }
    .sel-rh.sel-rh--da { opacity: 1; }

    .sel-rh__karte {
        position: relative;
        width: 100%; max-width: 430px;
        background: var(--bg-card, #fff);
        border-radius: 20px;
        padding: 30px 26px 24px;
        box-shadow: 0 30px 70px rgba(0,0,0,.3);
        text-align: center;
        transform: translateY(16px) scale(.98);
        transition: transform .5s cubic-bezier(.16,.7,.24,1);
    }
    .sel-rh--da .sel-rh__karte { transform: translateY(0) scale(1); }

    .sel-rh__zu {
        position: absolute; top: 10px; right: 10px;
        width: 36px; height: 36px; border: 0; border-radius: 50%;
        background: transparent; color: var(--text-tertiary, #86868b);
        cursor: pointer; display: flex; align-items: center; justify-content: center;
    }
    .sel-rh__zu:hover { background: var(--bg-secondary, #f5f5f7); }

    .sel-rh__dach {
        margin: 0 0 6px; font-size: 13px; font-weight: 700;
        letter-spacing: .08em; text-transform: uppercase;
        color: var(--accent, #FB7701);
    }
    .sel-rh__gross {
        margin: 0 0 10px; font-size: 27px; font-weight: 800; line-height: 1.2;
        letter-spacing: -.02em; color: var(--text-primary, #1d1d1f);
    }
    .sel-rh__text {
        margin: 0 0 14px; font-size: 14.5px; line-height: 1.5;
        color: var(--text-secondary, #6e6e73);
    }
    .sel-rh__regeln {
        list-style: none; margin: 0 0 18px; padding: 12px 14px;
        background: var(--bg-secondary, #f5f5f7); border-radius: 12px;
        font-size: 12.5px; line-height: 1.6; color: var(--text-secondary, #6e6e73);
        text-align: left;
    }
    .sel-rh__regeln li { padding-left: 16px; position: relative; }
    .sel-rh__regeln li::before {
        content: '·'; position: absolute; left: 5px; font-weight: 800;
        color: var(--accent, #FB7701);
    }

    .sel-rh__knoepfe { display: flex; flex-direction: column; gap: 9px; }
    .sel-rh__ja {
        background: var(--accent, #FB7701); color: #fff; border: 0;
        border-radius: 12px; padding: 15px 16px;
        font-size: 16px; font-weight: 700; cursor: pointer; font-family: inherit;
    }
    .sel-rh__ja:hover { filter: brightness(.94); }
    .sel-rh__nein {
        background: transparent; color: var(--text-secondary, #6e6e73);
        border: 0; padding: 8px; font-size: 14px; cursor: pointer;
        font-family: inherit; text-decoration: underline;
    }
    .sel-rh__bestaetigt {
        margin: 12px 0 0; font-size: 14px; font-weight: 700; color: #0a7d3c;
    }

    @media (max-width: 640px) {
        .sel-rh__karte { padding: 26px 20px 20px; }
        .sel-rh__gross { font-size: 23px; }
    }
    @media (prefers-reduced-motion: reduce) {
        .sel-rh, .sel-rh__karte { transition: none; }
    }
