:root {
    color-scheme: dark;
    --compatibility-bg: #050607;
    --compatibility-panel: #14181b;
    --compatibility-panel-hover: #192126;
    --compatibility-line: #2a3035;
    --compatibility-text: #f2f5f7;
    --compatibility-muted: #9aa2a8;
    --compatibility-blue: #28b7f1;
    --compatibility-blue-soft: #0e2935;
    --compatibility-radius: 18px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--compatibility-bg);
    color: var(--compatibility-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

button,
a {
    font: inherit;
}

[hidden] {
    display: none !important;
}

.compatibilityChooser {
    width: min(100% - 32px, 980px);
    margin: 0 auto;
    padding: clamp(28px, 5vw, 64px) 0;
}

.compatibilityChooserHeader {
    margin-bottom: 28px;
    text-align: center;
}

.compatibilityChooserHeader h2 {
    margin: 0;
    font-size: clamp(30px, 4.4vw, 48px);
    font-weight: 500;
    letter-spacing: -.035em;
}

.compatibilityResult h3 {
	margin-bottom: 15px;
	font-weight: 400;
}

.compatibilityChooserHeader p {
    margin: 10px 0 0;
    color: var(--compatibility-muted);
    font-size: 16px;
    line-height: 1.5;
}

.compatibilityProgress {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.compatibilityProgress li {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #747d83;
    font-size: 13px;
}

.compatibilityProgress li + li::before {
    content: "";
    width: 28px;
    height: 1px;
    margin-right: 1px;
    background: #32383d;
}

.compatibilityProgress i {
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border: 1px solid #41484d;
    border-radius: 50%;
    background: #111416;
    font-style: normal;
}

.compatibilityProgress li.is-current,
.compatibilityProgress li.is-complete {
    color: var(--compatibility-text);
}

.compatibilityProgress li.is-current i,
.compatibilityProgress li.is-complete i {
    border-color: var(--compatibility-blue);
    background: var(--compatibility-blue);
    color: #fff;
}

.compatibilityPanel {
    padding: clamp(20px, 4vw, 34px);
    border: 1px solid #242a2e;
    border-radius: var(--compatibility-radius);
    background: #0c0f11;
    box-shadow: 0 24px 65px rgb(0 0 0 / 38%), inset 0 1px 0 rgb(255 255 255 / 3%);
    animation: compatibilityPanelIn .45s cubic-bezier(.22, 1, .36, 1) both;
}

.compatibilityPanel:focus {
    outline: 0;
}

.compatibilityPanel fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.compatibilityPanel legend,
.compatibilityResult h3 {
    width: 100%;
    margin: 0 0 15px;
    padding: 0;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: -.025em;
    text-align: center;
}

.compatibilityInstruction,
.compatibilityResultSummary {
    margin: 0 0 24px;
    color: var(--compatibility-muted);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}

.compatibilityInstruction {
    margin: 0 0 20px 0;
    font-size: 15px;
}

.compatibilityOptions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.compatibilityOptions.devices {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.compatibilityChoice {
    min-height: 122px;
    padding: 17px 12px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: var(--compatibility-panel);
    color: var(--compatibility-text);
    cursor: pointer;
    transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.compatibilityChoice:hover,
.compatibilityChoice:focus-visible {
    border-color: rgb(40 183 241 / 65%);
    background: var(--compatibility-blue-soft);
    box-shadow: 0 12px 28px rgb(0 0 0 / 25%), 0 0 0 1px rgb(40 183 241 / 7%);
    outline: 0;
    transform: translateY(-2px);
}

.compatibilityChoice.is-selected {
    border-color: var(--compatibility-blue);
    background: var(--compatibility-blue-soft);
}

.compatibilityChoice strong {
    display: block;
    margin-top: 11px;
    font-size: 16px;
    font-weight: 550;
}

.compatibilityChoice small {
    display: block;
    margin-top: 4px;
    color: var(--compatibility-muted);
    font-size: 12px;
}

.screenIcon {
    position: relative;
    display: block;
    width: 70px;
    height: 38px;
    margin: 0 auto;
}

.screenIcon i {
    position: absolute;
    bottom: 5px;
    width: 40px;
    height: 28px;
    border: 2px solid var(--compatibility-blue);
    border-radius: 4px;
    background: rgb(40 183 241 / 5%);
}

.screenIcon i::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    width: 10px;
    border-bottom: 2px solid var(--compatibility-blue);
    transform: translateX(-50%);
}

.screenIcon.single i {
    left: 15px;
}

.screenIcon.duo i:first-child {
    left: 1px;
}

.screenIcon.duo i:last-child {
    right: 1px;
}

.screenIcon.triple i:nth-child(1) {
    left: 0;
    bottom: 1px;
}

.screenIcon.triple i:nth-child(2) {
    left: 15px;
    bottom: 8px;
    z-index: 1;
}

.screenIcon.triple i:nth-child(3) {
    right: 0;
    bottom: 1px;
}

.deviceIcon {
    display: grid;
    width: 54px;
    height: 42px;
    margin: 0 auto;
    place-items: center;
    border: 2px solid var(--compatibility-blue);
    border-radius: 6px;
    color: var(--compatibility-blue);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .03em;
}

.deviceIcon::after {
    content: "";
    width: 24px;
    margin-top: 4px;
    border-bottom: 2px solid var(--compatibility-blue);
}

.compatibilityPanelActions,
.compatibilityResultActions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

.compatibilityButton,
.compatibilityFullLink {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border: 1px solid #3b4247;
    border-radius: 999px;
    background: #15191c;
    color: var(--compatibility-text);
    text-decoration: none;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.compatibilityButton:hover,
.compatibilityButton:focus-visible {
    border-color: #667078;
    background: #20262a;
    outline: 0;
}

.compatibilityFullLink {
    border-color: var(--compatibility-blue);
    background: var(--compatibility-blue);
    color: #031016;
    font-weight: 550;
}

.compatibilityFullLink:hover,
.compatibilityFullLink:focus-visible {
    border-color: #62cdf8;
    background: #62cdf8;
    outline: 0;
}

.compatibilityResultTableScroll {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--compatibility-line);
    border-radius: 12px;
    background: #101315;
    -webkit-overflow-scrolling: touch;
}

.compatibilityResultTable {
    width: 100%;
    min-width: 520px;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    font-size: 14px;
}

.compatibilityResultTable th,
.compatibilityResultTable td {
    height: 44px;
    padding: 9px 12px;
    border-right: 1px solid var(--compatibility-line);
    border-bottom: 1px solid var(--compatibility-line);
    text-align: center;
}

.compatibilityResultTable tr:last-child > * {
    border-bottom: 0;
}

.compatibilityResultTable tr > *:last-child {
    border-right: 0;
}

.compatibilityResultTable thead th {
    background: #171c20;
    color: #e9eef1;
    font-weight: 550;
}

.compatibilityResultTable tbody td {
    background: #13171a;
}

.compatibilityResultTable tbody tr:nth-child(even) td {
    background: #101315;
}

.compatibilityResultTable .resolutionCell {
    width: 155px;
    background: #0d1012;
    color: var(--compatibility-blue);
    font-weight: 550;
    text-align: left;
    white-space: nowrap;
}

.compatibilityResultTable .yes,
.compatibilityResultTable .no {
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
    font-style: normal;
}

.compatibilityResultTable .yes {
    border-radius: 6px;
    background: var(--compatibility-blue);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.compatibilityResultTable .no {
    color: #727b81;
    font-size: 17px;
}

@keyframes compatibilityPanelIn {
    from {
opacity: 0;
transform: translateY(12px) scale(.99);
    }
    to {
opacity: 1;
transform: translateY(0) scale(1);
    }
}

@media (max-width: 720px) {
    .compatibilityOptions.devices {
grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .compatibilityChooser {
width: min(100% - 20px, 980px);
    }

    .compatibilityPanel {
padding: 18px 12px;
    }

    .compatibilityOptions {
grid-template-columns: 1fr;
    }

    .compatibilityOptions.devices {
grid-template-columns: 1fr 1fr;
    }

    .compatibilityChoice {
min-height: 105px;
    }

    .compatibilityProgress li span {
display: none;
    }

    .compatibilityProgress li + li::before {
width: 34px;
    }

    .compatibilityResultActions {
flex-direction: column-reverse;
    }

    .compatibilityButton,
    .compatibilityFullLink {
width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .compatibilityPanel {
animation: none;
    }

    .compatibilityChoice {
transition: none;
    }
}