:root {
    --sky-bg-deep-rgb: 2 11 20;
    --sky-panel-rgb: 0 20 33;
    --sky-line-rgb: 37 53 66;
    --sky-text-soft-rgb: 215 230 241;
    --sky-text-muted-rgb: 141 163 183;
    --sky-accent-rgb: 56 189 248;
    --sky-success-rgb: 55 214 143;
    --sky-warning-rgb: 246 179 77;
    --sky-danger-rgb: 255 102 116;
    --sky-bg: #001421;
    --sky-bg-deep: #020b14;
    --sky-panel: var(--sky-bg);
    --sky-panel-head: #061a28;
    --sky-panel-raised: rgb(7 26 41);
    --sky-line: rgb(var(--sky-line-rgb));
    --sky-line-soft: rgb(var(--sky-line-rgb) / 0.72);
    --sky-text: #f4f8fb;
    --sky-text-soft: rgb(var(--sky-text-soft-rgb) / 0.78);
    --sky-text-muted: rgb(var(--sky-text-muted-rgb) / 0.86);
    --sky-accent: #38bdf8;
    --sky-accent-soft: rgb(var(--sky-accent-rgb) / 0.24);
    --sky-accent-strong: rgb(16 96 147);
    --sky-accent-dark: rgb(8 49 78);
    --sky-success: #37d68f;
    --sky-warning: #f6b34d;
    --sky-danger: #ff6674;
    --sky-danger-dark: #c73f4d;
    --sky-page-shade: var(--sky-bg-deep);
    --sky-panel-glass: var(--sky-panel);
    --sky-panel-glass-strong: var(--sky-panel);
    --sky-raised-glass: var(--sky-panel-raised);
    --sky-accent-hover: rgb(var(--sky-accent-rgb) / 0.1);
    --sky-accent-focus: rgb(var(--sky-accent-rgb) / 0.14);
    --sky-icon-bg: rgb(var(--sky-accent-rgb) / 0.12);
    --sky-scrollbar-thumb: rgb(var(--sky-accent-rgb) / 0.36);
    --sky-button-border: rgb(var(--sky-accent-rgb) / 0.24);
    --sky-button-border-hover: rgb(var(--sky-accent-rgb) / 0.68);
    --sky-button-bg: var(--sky-panel-raised);
    --sky-button-bg-hover: var(--sky-accent-dark);
    --sky-button-bg-strong: var(--sky-accent-strong);
    --sky-shadow: 0 20px 50px rgb(0 0 0 / 0.34);
    --sky-shadow-soft: 0 18px 38px rgb(0 0 0 / 0.26);
    --sky-home-control-bg: var(--sky-panel-head);
    --sky-home-shade: var(--sky-page-shade);
    --sky-home-preview-bg: var(--sky-panel);
    --sky-auth-panel-bg: var(--sky-panel);
    --sky-field-bg: var(--sky-panel-head);
    --sky-field-bg-soft: var(--sky-panel-head);
    --sky-popover-bg: var(--sky-panel-head);
    --sky-popover-bg-soft: var(--sky-panel);
    --sky-notice-danger-border: rgb(var(--sky-danger-rgb) / 0.42);
    --sky-notice-danger-bg: rgb(92 22 32 / 0.34);
    --sky-notice-danger-text: rgb(255 196 199);
    --sky-notice-success-border: rgb(var(--sky-success-rgb) / 0.42);
    --sky-notice-success-bg: rgb(14 86 60 / 0.32);
    --sky-notice-success-text: rgb(199 255 233);
    --sky-attribution-bg: rgb(2 8 18 / 0.68);
    --sky-attribution-text: rgb(var(--sky-text-soft-rgb) / 0.7);
    --sky-attribution-link: rgb(var(--sky-accent-rgb) / 0.9);
    --sky-header-bg: var(--sky-panel-head);
    --sky-map-marker-color: rgb(100 116 139);
    --sky-map-marker-glow: rgb(100 116 139 / 0.26);
    --sky-map-marker-shadow: rgb(10 28 46 / 0.35);
    --sky-strength-track: rgb(var(--sky-bg-deep-rgb) / 0.72);
    --sky-pulse-border: rgb(var(--sky-warning-rgb) / 0.7);
    --sky-cluster-bg: var(--sky-popover-bg-soft);
    --sky-cluster-shadow: 0 0 0 5px rgb(var(--sky-accent-rgb) / 0.18);
    --sky-modal-scrim: rgb(var(--sky-bg-deep-rgb) / 0.58);
    --sky-modal-bg: var(--sky-panel);
    --sky-modal-border: var(--sky-line);
    --sky-modal-text: var(--sky-text);
    --sky-modal-text-soft: var(--sky-text-soft);
    --sky-map-marker-border: #ffffff;
    --sky-radius: 8px;
    --sky-header-height: 60px;
    --sky-header-offset: 88px;
    --sky-safe-area-bottom: env(safe-area-inset-bottom, 0px);
    --sky-game-viewport-height: 100vh;
    --sky-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --sky-display-font: "Space Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;
}

.sky-pass__content {
    display: grid;
    gap: 16px;
    padding-bottom: 28px;
}

.sky-pass__hero,
.sky-pass__checkout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px;
    border: 1px solid rgb(var(--sky-accent-rgb) / 0.24);
    border-radius: var(--sky-radius);
    background:
        linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.14), transparent 46%),
        var(--sky-panel);
    box-shadow: var(--sky-shadow-soft);
}

.sky-pass__hero {
    align-items: stretch;
    min-height: 248px;
    background:
        linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.18), transparent 42%),
        linear-gradient(90deg, rgb(250 204 21 / 0.1), transparent 68%),
        var(--sky-panel);
}

.sky-pass__hero .sky-lobby__heading {
    max-width: 780px;
    margin-bottom: 0;
    align-self: center;
}

.sky-pass__card {
    display: grid;
    align-content: center;
    gap: 12px;
    min-width: min(350px, 100%);
    padding: 20px;
    border: 1px solid rgb(250 204 21 / 0.36);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgb(250 204 21 / 0.14), transparent 48%),
        rgb(var(--sky-bg-deep-rgb) / 0.7);
    box-shadow: 0 18px 44px rgb(0 0 0 / 0.28);
}

.sky-pass__card span,
.sky-pass__card small,
.sky-pass__checkout p {
    color: var(--sky-text-muted);
    font-size: 12px;
    font-weight: 800;
}

.sky-pass__card strong,
.sky-pass__checkout h2 {
    color: var(--sky-text);
    font-family: var(--sky-display-font);
}

.sky-pass__card strong {
    display: flex;
    align-items: end;
    gap: 10px;
    font-size: 72px;
    line-height: 0.85;
}

.sky-pass__card strong small {
    padding-bottom: 8px;
    color: #facc15;
    font-size: 14px;
    line-height: 1;
    text-transform: uppercase;
}

.sky-pass__xp {
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: rgb(255 255 255 / 0.14);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08);
}

.sky-pass__xp span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #22c55e, #38bdf8, #facc15);
    box-shadow: 0 0 18px rgb(250 204 21 / 0.3);
}

.sky-pass__card em {
    color: var(--sky-text-soft);
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.sky-pass__paypal {
    width: min(360px, 100%);
}

.sky-pass__history {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--sky-line);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-bg-deep-rgb) / 0.54);
    box-shadow: var(--sky-shadow-soft);
}

.sky-pass__history-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sky-pass__history-head strong {
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-size: 14px;
}

.sky-pass__history-list {
    display: grid;
    gap: 10px;
    max-height: 320px;
    overflow: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
}

.sky-pass__history-entry {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgb(255 255 255 / 0.1);
    border-radius: 8px;
    background: rgb(255 255 255 / 0.05);
}

.sky-pass__history-entry time,
.sky-pass__history-date {
    color: var(--sky-text-soft);
    font-size: 11px;
    font-weight: 1000;
    text-transform: uppercase;
}

.sky-pass__history-entry div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.sky-pass__history-entry strong,
.sky-pass__history-entry span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sky-pass__history-entry strong {
    color: var(--sky-text);
    font-size: 13px;
}

.sky-pass__history-entry span {
    color: var(--sky-text-muted);
    font-size: 11px;
    font-weight: 800;
}

.sky-pass__history-entry em {
    flex: 0 0 auto;
    color: #facc15;
    font-size: 12px;
    font-style: normal;
    font-weight: 1000;
}

.sky-pass__timeline {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--sky-line);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-bg-deep-rgb) / 0.54);
    box-shadow: var(--sky-shadow-soft);
}

.sky-pass__track-labels {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 12px;
    padding-top: 38px;
}

.sky-pass__track-labels span {
    display: grid;
    place-items: center;
    min-height: 104px;
    color: var(--sky-text-muted);
    font-size: 11px;
    font-weight: 1000;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.sky-pass__levels {
    display: grid;
    grid-auto-columns: 168px;
    grid-auto-flow: column;
    gap: 12px;
    overflow-x: auto;
    padding: 10px 4px 22px;
    scroll-snap-type: x proximity;
    scrollbar-gutter: stable;
}

.sky-pass__level {
    position: relative;
    display: grid;
    grid-template-rows: 28px 132px 132px;
    gap: 12px;
    min-width: 0;
    scroll-snap-align: start;
}

.sky-pass__level > strong {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--sky-line);
    border-radius: 50%;
    background: rgb(var(--sky-bg-deep-rgb) / 0.8);
    color: var(--sky-text-muted);
    font-size: 12px;
}

.sky-pass__level.is-unlocked > strong {
    border-color: rgb(var(--sky-accent-rgb) / 0.7);
    color: var(--sky-text);
    box-shadow: 0 0 18px rgb(var(--sky-accent-rgb) / 0.22);
    background: rgb(var(--sky-accent-rgb) / 0.7);
}

.sky-pass__level.is-current {
    padding: 5px;
    border: 1px solid rgb(250 204 21 / 0.56);
    border-radius: 10px;
    background: linear-gradient(180deg, rgb(250 204 21 / 0.12), rgb(var(--sky-bg-deep-rgb) / 0.18));
    box-shadow: inset 0 0 0 1px rgb(250 204 21 / 0.1), 0 18px 34px rgb(0 0 0 / 0.22);
}

.sky-pass__level.is-current > strong {
    border-color: #facc15;
    background: #facc15;
    color: #0f172a;
    box-shadow: 0 0 20px rgb(250 204 21 / 0.35);
}

.sky-pass__reward {
    position: relative;
    display: grid;
    grid-template-rows: 58px 28px 14px;
    gap: 6px;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--sky-line);
    border-radius: 8px;
    background: rgb(var(--sky-panel-rgb) / 0.72);
    color: var(--sky-text);
    font: inherit;
    text-align: left;
}

.sky-pass__reward:disabled {
    cursor: default;
}

.sky-pass__reward i {
    color: var(--sky-accent);
    font-size: 20px;
}

.sky-pass__reward-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    height: 58px;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 0.12);
    border-radius: 7px;
    background:
        radial-gradient(circle at 50% 40%, rgb(var(--sky-accent-rgb) / 0.16), transparent 62%),
        rgb(var(--sky-bg-deep-rgb) / 0.42);
}

.sky-pass__reward-preview img {
    display: block;
    width: auto;
    height: auto;
    max-width: 48px;
    max-height: 48px;
    object-fit: contain;
}

.sky-pass__reward-preview > i {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    line-height: 1;
}

.sky-pass__reward-preview--banner img,
.sky-pass__reward-preview--banner > span {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
}

.sky-pass__reward-preview--banner > span,
.sky-pass__reward-preview--player_color > span {
    display: block;
    width: 100%;
    height: 100%;
}

.sky-pass__reward-preview--title strong {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    padding: 0 8px;
    background: linear-gradient(135deg, rgb(250 204 21 / 0.14), rgb(var(--sky-bg-deep-rgb) / 0.42));
    color: #fde68a;
    font-size: 11px;
    font-weight: 950;
    line-height: 1.1;
    text-align: center;
}

.sky-pass__reward-preview--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sky-text-muted);
    opacity: 0.52;
}

.sky-pass__reward-preview--empty i {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0;
    line-height: 1;
}

.sky-pass__reward > span {
    min-height: 28px;
    overflow: hidden;
    overflow-wrap: anywhere;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sky-pass__reward > em {
    display: block;
    min-height: 14px;
    overflow: hidden;
    color: var(--sky-text-muted);
    font-size: 9px;
    font-style: normal;
    font-weight: 1000;
    line-height: 14px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.sky-pass__reward::after {
    content: attr(data-tooltip);
    position: absolute;
    inset: 8px;
    z-index: 4;
    display: grid;
    align-content: center;
    text-align: center;
    padding: 10px;
    border: 1px solid rgb(var(--sky-accent-rgb) / 0.42);
    border-radius: 7px;
    background: var(--sky-bg-deep);
    color: var(--sky-text);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.14s ease, transform 0.14s ease;
    box-shadow: 0 18px 34px rgb(0 0 0 / 0.36);
}

.sky-pass__reward::before {
    content: none;
}

.sky-pass__reward:hover::after,
.sky-pass__reward:hover::before,
.sky-pass__reward:focus-visible::after,
.sky-pass__reward:focus-visible::before {
    opacity: 1;
}

.sky-pass__reward:hover::after,
.sky-pass__reward:focus-visible::after {
    transform: translateY(0);
}


.sky-pass__reward--premium {
    background:
        linear-gradient(135deg, rgb(250 204 21 / 0.12), transparent 54%),
        rgb(var(--sky-panel-rgb) / 0.72);
}

.sky-pass__reward.is-claimable {
    border-color: #facc15;
    cursor: pointer;
    box-shadow: 0 0 0 2px rgb(250 204 21 / 0.2);
}

.sky-pass__reward.is-claimed {
    border-color: rgb(134 239 172 / 0.6);
    opacity: 0.72;
}

body.sky-pass-reward-open {
    overflow: hidden;
}

.sky-pass__reward-modal {
    position: fixed;
    inset: 0;
    z-index: 240;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgb(2 8 23 / 0.74);
    backdrop-filter: blur(12px);
}

.sky-pass__reward-modal[hidden] {
    display: none;
}

.sky-pass__reward-dialog {
    position: relative;
    display: grid;
    grid-template-columns: minmax(160px, 0.48fr) minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    width: min(760px, 100%);
    padding: 24px;
    border: 1px solid rgb(250 204 21 / 0.42);
    border-radius: var(--sky-radius);
    background:
        linear-gradient(135deg, rgb(250 204 21 / 0.16), transparent 38%),
        linear-gradient(180deg, rgb(var(--sky-panel-rgb) / 0.96), rgb(var(--sky-bg-deep-rgb) / 0.94));
    box-shadow:
        0 0 0 1px rgb(255 255 255 / 0.08),
        0 34px 110px rgb(0 0 0 / 0.55);
}

.sky-pass__reward-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgb(255 255 255 / 0.14);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-bg-deep-rgb) / 0.62);
    color: var(--sky-text);
}

.sky-pass__reward-showcase {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1;
    min-height: 180px;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 0.16);
    border-radius: var(--sky-radius);
    background:
        radial-gradient(circle at 50% 38%, rgb(250 204 21 / 0.28), transparent 58%),
        rgb(var(--sky-bg-deep-rgb) / 0.54);
    box-shadow: inset 0 0 50px rgb(250 204 21 / 0.08);
}

.sky-pass__reward-showcase img {
    display: block;
    max-width: 76%;
    max-height: 76%;
    object-fit: contain;
    filter: drop-shadow(0 18px 34px rgb(0 0 0 / 0.32));
}

.sky-pass__reward-showcase > span {
    display: block;
    width: 100%;
    height: 100%;
}

.sky-pass__reward-showcase > i {
    color: #fde68a;
    font-size: 58px;
    filter: drop-shadow(0 16px 24px rgb(0 0 0 / 0.3));
}

.sky-pass__reward-showcase > strong {
    padding: 14px;
    color: #fde68a;
    font-family: var(--sky-display-font);
    font-size: 22px;
    font-weight: 1000;
    line-height: 1.05;
    text-align: center;
}

.sky-pass__reward-dialog h2 {
    margin: 8px 44px 10px 0;
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-size: clamp(34px, 6vw, 62px);
    line-height: 0.92;
}

.sky-pass__reward-dialog p {
    margin: 0;
    color: var(--sky-text-soft);
    font-size: 15px;
    font-weight: 760;
    line-height: 1.5;
}

.sky-pass__reward-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.sky-pass__reward-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgb(250 204 21 / 0.34);
    border-radius: 999px;
    background: rgb(250 204 21 / 0.1);
    color: #fde68a;
    font-size: 11px;
    font-weight: 1000;
    text-transform: uppercase;
}

.sky-pass__reward-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.sky-pass__reward-actions .sky-home__primary,
.sky-pass__reward-actions .sky-home__secondary {
    min-height: 44px;
    margin: 0;
    border-radius: var(--sky-radius);
    font-size: 13px;
}

.sky-pass__reward-actions .sky-home__secondary {
    border: 1px solid rgb(255 255 255 / 0.14);
    background: rgb(var(--sky-bg-deep-rgb) / 0.56);
    color: var(--sky-text);
    font: inherit;
    font-weight: 900;
}

.sky-lobby__color-picker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--sky-line);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-bg-deep-rgb) / 0.5);
}

.sky-lobby__color-picker > div:first-child {
    display: grid;
    gap: 3px;
}

.sky-lobby__color-picker strong {
    color: var(--sky-text);
    font-size: 15px;
}

.sky-lobby__color-options {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.sky-lobby__color-option {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 3px;
    border: 1px solid var(--sky-line);
    border-radius: 8px;
    background: rgb(var(--sky-panel-rgb) / 0.72);
    cursor: pointer;
}

.sky-lobby__color-modal[hidden] {
    display: none;
}

.sky-lobby__color-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgb(var(--sky-bg-deep-rgb) / 0.72);
}

.sky-lobby__color-dialog {
    width: min(620px, 100%);
    overflow: hidden;
    border: 1px solid var(--sky-line);
    border-radius: var(--sky-radius);
    background: var(--sky-panel);
    box-shadow: 0 30px 90px rgb(0 0 0 / 0.5);
}

.sky-lobby__color-modal-body {
    display: grid;
    gap: 14px;
    padding: 18px;
}

.sky-lobby__color-modal-body p {
    margin: 0;
    color: var(--sky-text-muted);
    font-size: 13px;
    font-weight: 800;
}

.sky-lobby__color-modal .sky-lobby__color-options {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
    gap: 10px;
}

.sky-lobby__color-modal .sky-lobby__color-option {
    width: auto;
    height: 86px;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 9px;
}

.sky-lobby__color-modal .sky-lobby__color-option strong {
    color: var(--sky-text);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
}

.sky-lobby__color-option span,
.sky-profile__color-swatch {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 6px;
}

.sky-lobby__color-option.is-selected {
    border-color: var(--sky-accent);
    box-shadow: 0 0 0 2px rgb(var(--sky-accent-rgb) / 0.24);
}

.sky-profile__hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.sky-profile__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: var(--profile-banner, linear-gradient(135deg, #0f172a, #1f2937 52%, #0ea5e9));
    opacity: 1;
}

.sky-profile__hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgb(var(--sky-bg-deep-rgb) / 0.64), rgb(var(--sky-bg-deep-rgb) / 0.26) 56%, rgb(var(--sky-bg-deep-rgb) / 0.48));
}

.sky-profile__title {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 4px;
    padding: 4px 9px;
    border: 1px solid rgb(250 204 21 / 0.38);
    border-radius: 999px;
    background: rgb(250 204 21 / 0.1);
    color: #fde68a;
    font-size: 12px;
    font-weight: 900;
}

.sky-profile__title[hidden],
.sky-profile__emblem[hidden] {
    display: none;
}

.sky-profile__emblem {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    object-fit: contain;
}

.sky-profile__hero-emblem {
    position: absolute;
    right: clamp(18px, 5vw, 72px);
    top: 50%;
    z-index: 0;
    width: min(240px, 34vw);
    height: min(240px, 34vw);
    object-fit: contain;
    opacity: 0.24;
    transform: translateY(-50%);
    filter: drop-shadow(0 24px 52px rgb(0 0 0 / 0.42));
    pointer-events: none;
}

.sky-profile__identity {
    position: relative;
    z-index: 1;
}

.sky-profile__hero-emblem[hidden] {
    display: none;
}

.sky-profile__cosmetic--banner,
.sky-profile__cosmetic--color,
.sky-profile__cosmetic--title,
.sky-profile__cosmetic--emblem {
    min-height: 112px;
}

.sky-profile__banner-swatch {
    display: block;
    width: 100%;
    height: 58px;
    border-radius: 7px;
}

.sky-profile__cosmetic-grid--compact {
    grid-template-columns: repeat(auto-fill, minmax(116px, 1fr));
}

.sky-profile__cosmetic--color .sky-profile__color-swatch {
    height: 48px;
}

.sky-profile__cosmetic--title i,
.sky-profile__cosmetic--emblem i {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 54px;
    color: var(--sky-text-muted);
    font-size: 24px;
}

@media (max-width: 820px) {
    .sky-pass__hero,
    .sky-pass__checkout,
    .sky-pass__history-head,
    .sky-lobby__color-picker {
        align-items: stretch;
        flex-direction: column;
    }

    .sky-pass__timeline {
        grid-template-columns: 1fr;
    }

    .sky-pass__track-labels {
        display: none;
    }

    .sky-pass__levels {
        grid-auto-columns: 150px;
    }

    .sky-pass__history-entry {
        grid-template-columns: 1fr auto;
    }

    .sky-pass__history-entry time,
    .sky-pass__history-date {
        grid-column: 1 / -1;
    }

    .sky-pass__reward-dialog {
        grid-template-columns: 1fr;
        max-height: min(720px, calc(100dvh - 32px));
        overflow-y: auto;
        padding: 18px;
    }

    .sky-pass__reward-showcase {
        min-height: 150px;
        aspect-ratio: 16 / 9;
    }

    .sky-pass__reward-dialog h2 {
        margin-right: 42px;
    }
}

@media (max-width: 520px) {
    .sky-pass__card strong {
        font-size: 58px;
    }

    .sky-pass__reward-modal {
        padding: 14px;
    }

    .sky-pass__reward-actions .sky-home__primary,
    .sky-pass__reward-actions .sky-home__secondary {
        width: 100%;
    }
}

@supports (height: 100dvh) {
    :root {
        --sky-game-viewport-height: 100dvh;
    }
}

@media (max-width: 760px) {
    .sky-site-footer {
        display: grid;
        justify-items: start;
        gap: 16px;
        margin-top: 26px;
        padding-bottom: 28px;
    }

    .sky-site-footer__links,
    .sky-site-footer__legal {
        justify-content: flex-start;
        max-width: none;
    }
}

.airport-game-page {
    user-select: none;
}

.airport-game-page input,
.airport-game-page textarea,
.airport-game-page select,
.airport-game-page [contenteditable="true"] {
    user-select: text;
}

.sky-result-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgb(var(--sky-bg-deep-rgb) / 0.68);
}

.sky-result-modal[hidden] {
    display: none;
}

.sky-result-modal__card {
    position: relative;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 18px;
    width: min(620px, calc(100vw - 24px));
    max-height: calc(var(--sky-game-viewport-height) - 40px);
    overflow: auto;
    padding: 18px;
    border: 1px solid var(--sky-modal-border);
    border-radius: var(--sky-radius);
    background: var(--sky-modal-bg);
    color: var(--sky-modal-text);
    box-shadow: var(--sky-shadow);
}

.sky-result-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--sky-modal-border);
    border-radius: 6px;
    background: var(--sky-panel-raised);
    color: var(--sky-modal-text);
    cursor: pointer;
}

.sky-result-modal__media {
    display: grid;
    place-items: center;
}

.sky-result-modal__media img {
    width: 100%;
    max-height: 220px;
    object-fit: contain;
}

.sky-result-modal__body {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding-right: 28px;
}

.sky-result-modal__eyebrow {
    color: var(--sky-accent);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.sky-result-modal h2 {
    margin: 0;
    color: var(--sky-modal-text);
    font: 700 22px/1.12 var(--sky-display-font);
}

.sky-result-modal p {
    margin: 0;
    color: var(--sky-modal-text-soft);
    font-size: 14px;
    line-height: 1.45;
}

.sky-result-modal__ranking {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sky-result-modal__ranking li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid var(--sky-line-soft);
    border-radius: 6px;
    background: var(--sky-panel-raised);
}

.sky-result-modal__ranking li.is-winner {
    border-color: rgb(var(--sky-warning-rgb) / 0.72);
}

.sky-result-modal__ranking span,
.sky-result-modal__ranking em {
    color: var(--sky-text-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.sky-result-modal__ranking strong {
    min-width: 0;
    overflow: hidden;
    color: var(--sky-text);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sky-result-modal__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.sky-result-modal__actions .sky-home__primary,
.sky-result-modal__actions .sky-home__secondary {
    min-height: 38px;
}

@media (max-width: 640px) {
    .sky-result-modal {
        padding: 12px;
    }

    .sky-result-modal__card {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px;
    }

    .sky-result-modal__media img {
        max-height: 150px;
    }

    .sky-result-modal__body {
        padding-right: 0;
    }

    .sky-result-modal__ranking li {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .sky-result-modal__ranking em {
        grid-column: 2;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    margin: 0;
}

.sky-player-portrait {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    border-radius: 8px;
    overflow: visible;
}

.sky-player-portrait__avatar,
.sky-player-portrait__frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
}

.sky-player-portrait__avatar {
    object-fit: cover;
    transform: scale(0.65);
    transform-origin: center;
}

.sky-player-portrait__frame {
    object-fit: contain;
    pointer-events: none;
}

.sky-player-portrait--leaderboard {
    width: 42px;
    height: 42px;
}

.sky-player-portrait--rank {
    width: 38px;
    height: 38px;
}

.sky-player-portrait--intel {
    width: 62px;
    height: 62px;
}

body {
    background: var(--sky-bg);
    color: var(--sky-text);
    font-family: var(--sky-font);
}

button,
input {
    font: inherit;
}

button,
a,
input {
    -webkit-tap-highlight-color: transparent;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

[hidden], .leaflet-bottom.leaflet-right {
    display: none !important;
}

img {
    max-width: 100%;
}

.sky-site-header {
    position: fixed;
    top: 16px;
    left: 50%;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: min(1180px, calc(100% - 44px));
    min-height: 72px;
    padding: 10px;
    border: 1px solid rgb(var(--sky-text-soft-rgb) / 0.14);
    border-radius: calc(var(--sky-radius) + 8px);
    background: linear-gradient(135deg, rgb(var(--sky-bg-deep-rgb) / 0.92), rgb(6 26 40 / 0.86));
    box-shadow: 0 18px 46px rgb(0 0 0 / 0.34);
    backdrop-filter: blur(22px);
    transform: translateX(-50%);
}

.sky-site-header__brand,
.sky-site-header__nav a,
.sky-site-header__cta,
.sky-site-header__ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    border: 1px solid rgb(var(--sky-text-soft-rgb) / 0.12);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-bg-deep-rgb) / 0.62);
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-weight: 800;
    text-decoration: none;
    backdrop-filter: blur(18px);
}

.sky-site-header__brand {
    gap: 10px;
    min-width: 0;
    overflow: hidden;
    padding: 0 14px 0 8px;
    border-color: rgb(var(--sky-accent-rgb) / 0.28);
}

.sky-site-header__brand span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sky-site-header__logo {
    width: 46px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgb(var(--sky-accent-rgb) / 0.22));
}

.sky-site-header__nav,
.sky-site-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.sky-site-header__nav {
    flex: 1;
    justify-content: center;
}

.sky-site-header__nav a,
.sky-site-header__ghost {
    padding: 0 13px;
    color: var(--sky-text-soft);
    font-size: 13px;
}

.sky-site-header__nav a:hover,
.sky-site-header__nav a.is-active,
.sky-site-header__ghost:hover {
    border-color: rgb(var(--sky-accent-rgb) / 0.42);
    background: rgb(var(--sky-accent-rgb) / 0.14);
    color: var(--sky-text);
}

.sky-site-header__cta {
    gap: 9px;
    padding: 0 16px;
    border-color: rgb(var(--sky-accent-rgb) / 0.72);
    background: linear-gradient(135deg, rgb(14 97 151), rgb(20 126 170));
    box-shadow: 0 14px 34px rgb(var(--sky-accent-rgb) / 0.18);
}

.sky-site-header__cta--play,
.sky-site-header__cta--register,
.sky-home__primary--continue {
    border-color: rgb(var(--sky-success-rgb) / 0.68);
    background: linear-gradient(135deg, rgb(22 139 86), rgb(43 184 112));
    color: #f5fff9;
    box-shadow: 0 16px 34px rgb(var(--sky-success-rgb) / 0.2);
}

.sky-site-header__cta--play:hover,
.sky-site-header__cta--register:hover,
.sky-home__primary--continue:hover {
    border-color: rgb(var(--sky-success-rgb) / 0.9);
    background: linear-gradient(135deg, rgb(26 157 96), rgb(58 205 128));
}

.sky-site-header__cta--login {
    border-color: rgb(var(--sky-accent-rgb) / 0.72);
    background: linear-gradient(135deg, rgb(14 97 151), rgb(20 126 170));
    color: var(--sky-text);
    box-shadow: 0 14px 34px rgb(var(--sky-accent-rgb) / 0.18);
}

.sky-site-header__cta--login:hover {
    border-color: rgb(var(--sky-accent-rgb) / 0.9);
    background: linear-gradient(135deg, rgb(19 116 176), rgb(34 148 196));
}

.sky-site-header__ghost {
    width: 44px;
    padding: 0;
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--sky-scrollbar-thumb) rgb(var(--sky-line-rgb) / 0.18);
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: rgb(var(--sky-bg-deep-rgb) / 0.46);
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
    border: 2px solid rgb(var(--sky-bg-deep-rgb) / 0.46);
    border-radius: 999px;
    background: var(--sky-scrollbar-thumb);
}

*::-webkit-scrollbar-thumb:hover {
    background: rgb(var(--sky-accent-rgb) / 0.58);
}

.sky-home,
.airport-game-page {
    min-height: 100vh;
    background: var(--sky-bg);
    color: var(--sky-text);
}

.sky-rules-page {
    min-height: 100vh;
    background:
        linear-gradient(180deg, rgb(2 11 20 / 0.86), rgb(0 20 33 / 0.98)),
        url("../media/other/night_world_map.jpg") center top / cover fixed;
    color: var(--sky-text);
}

.sky-rules {
    width: min(1120px, calc(100% - 36px));
    margin: 0 auto;
    padding: 128px 0 72px;
}

.sky-rules__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 28px;
    align-items: end;
    padding: 34px 0 28px;
    border-bottom: 1px solid rgb(var(--sky-text-soft-rgb) / 0.16);
}

.sky-rules__hero h1 {
    margin: 8px 0 14px;
    font-family: var(--sky-display-font);
    font-size: clamp(44px, 8vw, 92px);
    line-height: 0.92;
}

.sky-rules__hero p,
.sky-rules__lead {
    max-width: 760px;
    margin: 0;
    color: var(--sky-text-soft);
    font-size: 18px;
    line-height: 1.65;
}

.sky-rules__box,
.sky-rules__chapter,
.sky-rules__toc,
.sky-rules__note,
.sky-rules__example {
    border: 1px solid rgb(var(--sky-text-soft-rgb) / 0.14);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-bg-deep-rgb) / 0.76);
    box-shadow: var(--sky-shadow-soft);
    backdrop-filter: blur(18px);
}

.sky-rules__box {
    padding: 20px;
}

.sky-rules__box strong {
    display: block;
    font-family: var(--sky-display-font);
    font-size: 22px;
}

.sky-rules__box p {
    margin: 10px 0 18px;
    color: var(--sky-text-soft);
    line-height: 1.55;
}

.sky-rules__box dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

.sky-rules__box div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 10px;
    border-top: 1px solid rgb(var(--sky-text-soft-rgb) / 0.12);
}

.sky-rules__box dt,
.sky-rules__box dd {
    margin: 0;
    color: var(--sky-text-soft);
    font-size: 13px;
}

.sky-rules__box dd {
    color: var(--sky-text);
    text-align: right;
}

.sky-rules__toc {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin: 24px 0;
    padding: 10px;
}

.sky-rules__toc a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid rgb(var(--sky-accent-rgb) / 0.18);
    border-radius: var(--sky-radius);
    color: var(--sky-text-soft);
    font-family: var(--sky-display-font);
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.sky-rules__toc a:hover {
    border-color: rgb(var(--sky-accent-rgb) / 0.52);
    background: rgb(var(--sky-accent-rgb) / 0.12);
    color: var(--sky-text);
}

.sky-rules__chapter {
    margin-top: 24px;
    padding: 26px;
}

.sky-rules__chapter > * + * {
    margin-top: 18px;
}

.sky-rules__chapter > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgb(var(--sky-text-soft-rgb) / 0.12);
}

.sky-rules__chapter > header span,
.sky-rules__example span {
    color: var(--sky-accent);
    font-family: var(--sky-display-font);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sky-rules__chapter h2 {
    margin: 0;
    font-family: var(--sky-display-font);
    font-size: clamp(26px, 4vw, 42px);
}

.sky-rules__grid,
.sky-rules__cards,
.sky-rules__columns {
    display: grid;
    gap: 14px;
}

.sky-rules__lead + .sky-rules__grid,
.sky-rules__cards + .sky-rules__columns,
.sky-rules__columns + .sky-rules__columns,
.sky-rules__note + .sky-rules__columns {
    margin-top: 18px;
}

.sky-rules__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sky-rules__cards,
.sky-rules__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sky-rules__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sky-rules__grid article,
.sky-rules__cards article,
.sky-rules__columns article {
    padding: 18px;
    border: 1px solid rgb(var(--sky-text-soft-rgb) / 0.12);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-panel-raised) / 0.72);
}

.sky-rules__grid i,
.sky-rules__cards i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-accent-rgb) / 0.13);
    color: var(--sky-accent);
}

.sky-rules__chapter h3 {
    margin: 0 0 8px;
    font-family: var(--sky-display-font);
    font-size: 18px;
}

.sky-rules__chapter p,
.sky-rules__chapter li {
    color: var(--sky-text-soft);
    line-height: 1.62;
}

.sky-rules__chapter article p:last-child,
.sky-rules__chapter article ul:last-child,
.sky-rules__chapter article ol:last-child {
    margin-bottom: 0;
}

.sky-rules__chapter ul,
.sky-rules__steps {
    margin: 0;
    padding-left: 20px;
}

.sky-rules__steps {
    display: grid;
    gap: 12px;
}

.sky-rules__steps li {
    padding-left: 4px;
}

.sky-rules__steps strong {
    color: var(--sky-text);
}

.sky-rules__note,
.sky-rules__example {
    margin-top: 16px;
    padding: 18px;
}

.sky-rules__note {
    border-color: rgb(var(--sky-warning-rgb) / 0.32);
    background: rgb(63 44 16 / 0.44);
}

.sky-rules__note strong {
    display: block;
    margin-bottom: 6px;
    color: rgb(255 221 170);
    font-family: var(--sky-display-font);
}

.sky-rules__example {
    border-color: rgb(var(--sky-accent-rgb) / 0.28);
}

.sky-rules__example p,
.sky-rules__note p {
    margin: 0;
}

.sky-home {
    & .sky-home__hero,
    & .sky-auth__shell,
    & .sky-lobby__shell {
        min-height: 100vh;
        overflow: hidden;
        background: var(--sky-bg);
    }

    & .sky-home__hero {
        position: relative;
    }

    & .sky-auth__shell,
    & .sky-lobby__shell {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        min-width: 0;
    }

    & .sky-home__hero::before,
    & .sky-lobby__shell::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 18% 24%, rgb(var(--sky-accent-rgb) / 0.2), transparent 28%),
            radial-gradient(circle at 78% 18%, rgb(var(--sky-success-rgb) / 0.1), transparent 24%),
            linear-gradient(rgb(var(--sky-accent-rgb) / 0.08) 1px, transparent 1px),
            linear-gradient(90deg, rgb(var(--sky-accent-rgb) / 0.06) 1px, transparent 1px);
        background-size: auto, auto, 54px 54px, 54px 54px;
        opacity: 0.56;
        pointer-events: none;
    }

    & .sky-home__hero::after,
    & .sky-lobby__shell::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(115deg, rgb(var(--sky-bg-deep-rgb) / 0.2), transparent 42%, rgb(var(--sky-bg-deep-rgb) / 0.38)),
            radial-gradient(circle at 50% 120%, rgb(var(--sky-accent-rgb) / 0.16), transparent 42%);
        pointer-events: none;
    }

    & .sky-auth__shell,
    & .sky-lobby__shell {
        display: grid;
        padding: 112px 22px 22px;
    }

    & .sky-home__map,
    & .sky-home__shade {
        position: absolute;
        inset: 0;
    }

    & .sky-home__map {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: saturate(1.12) contrast(1.12) brightness(0.72);
        transform: scale(1.02);
    }

    & .sky-home__map,
    & .sky-home__shade {
        z-index: 0;
    }

    & .sky-home__hero::before,
    & .sky-lobby__shell::before,
    & .sky-home__hero::after,
    & .sky-lobby__shell::after {
        z-index: 1;
    }

    & .sky-home__shade {
        background:
            linear-gradient(180deg, rgb(var(--sky-bg-deep-rgb) / 0.62), rgb(var(--sky-bg-deep-rgb) / 0.82)),
            linear-gradient(90deg, rgb(var(--sky-bg-deep-rgb) / 0.72), rgb(var(--sky-bg-deep-rgb) / 0.36) 48%, rgb(var(--sky-bg-deep-rgb) / 0.76));
    }

    & .sky-home__nav,
    & .sky-home__content,
    & .sky-home__preview,
    & .sky-lobby__content {
        position: relative;
        z-index: 2;
    }

    & .sky-home__nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        width: min(1180px, calc(100% - 44px));
        margin: 0 auto;
        padding-top: 22px;
    }

    & .sky-home__brand,
    & .sky-home__nav-action,
    & .sky-home__primary,
    & .sky-home__secondary,
    & .sky-home__join-code button,
    & .sky-auth__submit {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 42px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-home-control-bg);
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-weight: 900;
        text-decoration: none;
        box-shadow: none;
        cursor: pointer;
    }

    & .sky-home__brand {
        padding: 0 14px 0 10px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        letter-spacing: 0;
    }

    & .sky-home__nav-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 10px;
    }

    & .sky-home__brand-logo {
        width: 32px;
        height: 24px;
        object-fit: contain;
    }

    & .sky-home__nav-action,
    & .sky-home__secondary {
        padding: 0 14px;
        color: var(--sky-text-soft);
    }

    & .sky-home__content {
        width: min(900px, calc(100% - 44px));
        margin: min(12vh, 110px) auto 0;
        text-align: center;
    }

    & .sky-home__hero-logo {
        width: clamp(86px, 12vw, 132px);
        height: auto;
        margin-bottom: 18px;
        object-fit: contain;
        filter: drop-shadow(0 20px 42px rgb(var(--sky-accent-rgb) / 0.28));
    }

    & .sky-home__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--sky-accent);
        font-size: 12px;
        font-weight: 900;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    & .sky-home__content h1 {
        margin: 12px 0 16px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: clamp(54px, 9vw, 104px);
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
        text-shadow: 0 18px 42px rgb(0 0 0 / 0.48);
    }

    & .sky-home__content p {
        max-width: 620px;
        margin: 0 auto;
        color: var(--sky-text-soft);
        font-size: 18px;
        line-height: 1.5;
    }

    & .sky-home__actions,
    & .sky-home__join-code {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-top: 24px;
    }

    & .sky-home__primary,
    & .sky-home__join-code button,
    & .sky-auth__submit {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-strong);
        color: var(--sky-text);
    }

    & .sky-home__primary,
    & .sky-home__secondary {
        padding: 0 18px;
    }

    & .sky-home__primary--continue {
        border-color: rgb(var(--sky-success-rgb) / 0.68);
        background: linear-gradient(135deg, rgb(22 139 86), rgb(43 184 112));
        color: #f5fff9;
        box-shadow: 0 16px 34px rgb(var(--sky-success-rgb) / 0.2);
    }

    & .sky-home__primary--continue:hover {
        border-color: rgb(var(--sky-success-rgb) / 0.9);
        background: linear-gradient(135deg, rgb(26 157 96), rgb(58 205 128));
    }

    & .sky-home__join-code {
        width: min(420px, 100%);
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    & .sky-home__join-code input,
    & .sky-auth__form input {
        width: 100%;
        min-height: 44px;
        padding: 0 12px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-field-bg);
        color: var(--sky-text);
        font-weight: 800;
        outline: 0;
    }

    & .sky-home__join-code input:focus,
    & .sky-auth__form input:focus {
        border-color: var(--sky-button-border-hover);
        box-shadow: 0 0 0 3px var(--sky-accent-focus);
    }

    & .sky-home__notice,
    & .sky-auth__notice {
        margin: 16px 0 0;
        padding: 10px 12px;
        border: 1px solid var(--sky-notice-danger-border);
        border-radius: var(--sky-radius);
        background: var(--sky-notice-danger-bg);
        color: var(--sky-notice-danger-text);
        font-size: 13px;
        font-weight: 800;
    }

    & .sky-auth__notice--success {
        border-color: var(--sky-notice-success-border);
        background: var(--sky-notice-success-bg);
        color: var(--sky-notice-success-text);
    }

    & .sky-home__preview {
        position: absolute;
        left: 50%;
        bottom: 24px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        width: min(1040px, calc(100% - 44px));
        transform: translateX(-50%);
    }

    & .sky-home__preview article {
        min-width: 0;
        padding: 14px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-home-preview-bg);
        box-shadow: inset 0 1px 0 rgb(var(--sky-text-soft-rgb) / 0.04);
    }

    & .sky-home__preview img,
    & .sky-home__preview i {
        width: 30px;
        height: 30px;
        color: var(--sky-accent);
        object-fit: contain;
    }

    & .sky-home__preview strong {
        display: block;
        margin-top: 8px;
        color: var(--sky-text);
        font-size: 14px;
    }

    & .sky-home__preview span {
        display: block;
        margin-top: 4px;
        color: var(--sky-text-soft);
        font-size: 12px;
        line-height: 1.35;
    }
}

.sky-marketing {
    background:
        linear-gradient(180deg, var(--sky-bg-deep), var(--sky-bg) 52%, #031826);

    & .sky-home__hero {
        min-height: 860px;
        padding-top: 112px;
    }

    & .sky-home__content--marketing {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.62fr);
        align-items: center;
        gap: clamp(28px, 6vw, 76px);
        width: min(1180px, calc(100% - 44px));
        margin-top: clamp(28px, 7vh, 72px);
        text-align: left;
    }

    & .sky-home__hero-copy {
        min-width: 0;
    }

    & .sky-home__hero-logo {
        width: clamp(112px, 15vw, 188px);
        margin: 0 0 18px;
    }

    & .sky-home__content h1 {
        max-width: 820px;
        margin-top: 14px;
        font-size: clamp(44px, 7vw, 82px);
        line-height: 1;
    }

    & .sky-home__content p {
        max-width: 680px;
        margin: 0;
        font-size: clamp(17px, 2vw, 21px);
    }

    & .sky-home__actions {
        justify-content: flex-start;
    }

    & .sky-home__mission {
        display: grid;
        gap: 18px;
        min-width: 0;
        padding: 20px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.32);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(180deg, rgb(8 32 49 / 0.88), rgb(3 17 29 / 0.92)),
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.18), transparent);
        box-shadow: 0 26px 70px rgb(0 0 0 / 0.36);
        backdrop-filter: blur(18px);
    }

    & .sky-home__mission > span,
    & .sky-marketing__section-head > span,
    & .sky-marketing__band span {
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 1000;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    & .sky-home__mission > strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: clamp(22px, 3vw, 34px);
        line-height: 1.05;
    }

    & .sky-home__mission > p {
        margin: -6px 0 0;
        color: var(--sky-text-soft);
        font-size: 14px;
        line-height: 1.45;
    }

    & .sky-home__mission ul {
        display: grid;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    & .sky-home__mission li {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-height: 54px;
        padding: 10px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.76);
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.44);
    }

    & .sky-home__mission i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 34px;
        color: var(--sky-accent);
        border-radius: 6px;
        background: rgb(var(--sky-accent-rgb) / 0.12);
    }

    & .sky-home__mission li span {
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .sky-home__mission b {
        color: var(--sky-text);
        font-size: 14px;
        white-space: nowrap;
    }

    & .sky-home__mission a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.58);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-warning-rgb) / 0.16);
        color: var(--sky-text);
        font-weight: 900;
        text-decoration: none;
    }

    & .sky-season__goal {
        padding: 12px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.3);
        border-radius: 6px;
        background: rgb(var(--sky-warning-rgb) / 0.1);
    }

    & .sky-home__preview {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(1040px, calc(100% - 44px));
        margin: 52px auto 34px;
        transform: none;
    }
}

.sky-marketing__section,
.sky-marketing__band {
    position: relative;
    width: min(1180px, calc(100% - 44px));
    margin: 0 auto;
}

.sky-marketing__section {
    display: grid;
    gap: 28px;
    padding: 82px 0 70px;
}

.sky-marketing__section-head {
    display: grid;
    gap: 14px;
    max-width: 820px;
}

.sky-marketing__section h2,
.sky-marketing__band h2 {
    margin: 0;
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-size: clamp(32px, 5vw, 56px);
    line-height: 1.04;
}

.sky-marketing__section p,
.sky-marketing__band p {
    margin: 0;
    color: var(--sky-text-soft);
    font-size: 16px;
    line-height: 1.6;
}

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

.sky-marketing__feature-grid article {
    display: grid;
    align-content: start;
    gap: 11px;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--sky-line);
    border-radius: var(--sky-radius);
    background: var(--sky-panel);
    box-shadow: var(--sky-shadow-soft);
}

.sky-marketing__feature-grid i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 7px;
    background: var(--sky-icon-bg);
    color: var(--sky-accent);
    font-size: 18px;
}

.sky-marketing__feature-grid h3 {
    margin: 0;
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-size: 19px;
    line-height: 1.15;
}

.sky-marketing__feature-grid p {
    font-size: 14px;
    line-height: 1.5;
}

.sky-error-page {
    background:
        linear-gradient(180deg, var(--sky-bg-deep), var(--sky-bg) 58%, #031826);
}

.sky-error-page .sky-error {
    min-height: 760px;
    padding: 132px 22px 70px;
}

.sky-error__content {
    position: relative;
    z-index: 2;
    display: grid;
    justify-items: center;
    gap: 14px;
    width: min(820px, 100%);
    margin: clamp(52px, 9vh, 118px) auto 0;
    text-align: center;
}

.sky-error__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid rgb(var(--sky-warning-rgb) / 0.46);
    border-radius: var(--sky-radius);
    background: rgb(var(--sky-warning-rgb) / 0.12);
    color: var(--sky-warning);
    font-family: var(--sky-display-font);
    font-size: 13px;
    font-weight: 900;
}

.sky-error__logo {
    width: clamp(94px, 14vw, 150px);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 20px 42px rgb(var(--sky-accent-rgb) / 0.28));
}

.sky-error__content h1 {
    max-width: 780px;
    margin: 0;
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-size: clamp(44px, 8vw, 82px);
    line-height: 1;
}

.sky-error__content p {
    max-width: 640px;
    margin: 0;
    color: var(--sky-text-soft);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.55;
}

.sky-error__content .sky-home__eyebrow {
    color: var(--sky-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.sky-error__content .sky-error__detail {
    color: var(--sky-text-muted);
    font-size: 15px;
}

.sky-error__content .sky-home__actions {
    margin-top: 12px;
}

.sky-marketing__band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin-bottom: 54px;
    padding: 28px;
    border: 1px solid rgb(var(--sky-accent-rgb) / 0.28);
    border-radius: var(--sky-radius);
    background:
        linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.16), transparent 44%),
        var(--sky-panel);
}

.sky-marketing__band > div {
    display: grid;
    gap: 12px;
}

.sky-site-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 32px));
    margin: 34px auto 0;
    padding: 18px 0 30px;
    border-top: 1px solid var(--sky-line-soft);
    color: var(--sky-text-muted);
}

.sky-site-footer__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 220px;
}

.sky-site-footer__brand img {
    width: 46px;
    height: 32px;
    object-fit: contain;
}

.sky-site-footer__brand strong {
    display: block;
    color: var(--sky-text);
    font-family: var(--sky-display-font);
    font-weight: 900;
    line-height: 1;
}

.sky-site-footer__brand span {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 800;
    color: var(--sky-text-muted);
}

.sky-site-footer__links,
.sky-site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 14px;
    font-size: 12px;
    font-weight: 800;
}

.sky-site-footer__legal {
    justify-content: flex-end;
    max-width: 360px;
}

.sky-site-footer__disclaimer {
    flex: 1 0 100%;
    margin: -4px 0 0;
    color: var(--sky-text-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.sky-site-footer a,
.sky-legal__panel a,
.sky-support__terms a {
    color: var(--sky-accent);
    text-decoration: none;
}

.sky-site-footer a:hover,
.sky-legal__panel a:hover,
.sky-support__terms a:hover {
    text-decoration: underline;
}

.sky-legal {
    min-height: 100vh;
}

.sky-legal__content {
    position: relative;
    z-index: 2;
    width: min(920px, calc(100% - 32px));
    margin: 0 auto;
    padding: 116px 0 56px;
}

.sky-legal__panel {
    border: 1px solid var(--sky-line-soft);
    border-radius: var(--sky-radius);
    background: var(--sky-panel);
    box-shadow: var(--sky-shadow);
    padding: clamp(22px, 4vw, 42px);
}

.sky-legal__panel h1,
.sky-legal__panel h2 {
    margin: 0;
    color: var(--sky-text);
    font-family: var(--sky-display-font);
}

.sky-legal__panel h1 {
    margin-top: 8px;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 0.98;
}

.sky-legal__panel h2 {
    margin-top: 30px;
    font-size: 20px;
}

.sky-legal__panel p,
.sky-legal__panel li {
    color: var(--sky-text-soft);
    font-size: 15px;
    line-height: 1.72;
}

.sky-legal__panel ul {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
    padding-left: 20px;
}

.sky-legal__updated {
    margin: 12px 0 24px;
    color: var(--sky-text-muted);
    font-size: 13px;
    font-weight: 800;
}

.sky-lobby {
    & .sky-lobby__shell {
        align-content: start;
    }

    & .sky-lobby__nav {
        width: min(1180px, 100%);
        padding-top: 0;
    }

    & .sky-lobby__content {
        width: min(1180px, 100%);
        margin: 58px auto 0;
    }

    & .sky-lobby__heading {
        margin-bottom: 18px;
    }

    & .sky-lobby__hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
        gap: 16px;
        margin-bottom: 16px;
        padding: 22px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.26);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.16), transparent 48%),
            linear-gradient(90deg, rgb(var(--sky-success-rgb) / 0.08), transparent 66%),
            var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-lobby__hero .sky-lobby__heading {
        align-self: center;
        margin-bottom: 0;
    }

    & .sky-lobby__heading h1 {
        margin: 10px 0 0;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: clamp(34px, 6vw, 64px);
        line-height: 1.12;
        letter-spacing: 0;
    }

    & .sky-lobby__heading p {
        max-width: 680px;
        margin: 12px 0 0;
        color: var(--sky-text-soft);
        font-size: 15px;
        font-weight: 750;
        line-height: 1.5;
    }

    & .sky-lobby__start {
        display: grid;
        align-content: center;
        gap: 10px;
        min-width: 0;
        padding: 16px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.72);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.58);
    }

    & .sky-lobby__start strong {
        overflow: hidden;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 24px;
        line-height: 1.05;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-lobby__start small {
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 850;
        line-height: 1.35;
    }

    & .sky-lobby__start .sky-home__primary {
        width: 100%;
        justify-content: center;
        margin-top: 4px;
    }

    & .sky-lobby__start-links {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 8px;
    }

    & .sky-lobby__start-links a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: 38px;
        padding: 8px 10px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 6px;
        background: rgb(var(--sky-panel-rgb) / 0.56);
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 950;
        text-decoration: none;
    }

    & .sky-lobby__start-links a:hover {
        border-color: var(--sky-button-border-hover);
        color: var(--sky-text);
    }

    & .sky-lobby__season-strip {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 14px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.32);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.32);
    }

    & .sky-lobby__season-strip div {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    & .sky-lobby__season-strip strong,
    & .sky-lobby__season-strip small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-lobby__season-strip strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 16px;
        line-height: 1.1;
    }

    & .sky-lobby__season-strip small {
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 800;
    }

    & .sky-lobby__season-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        flex: 0 0 auto;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.36);
        border-radius: 6px;
        background: rgb(var(--sky-warning-rgb) / 0.12);
        color: #fde68a;
        text-decoration: none;
    }

    & .sky-lobby__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
        gap: 14px;
        align-items: start;
    }

    & .sky-lobby__current,
    & .sky-lobby__panel {
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-lobby__current {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 14px;
        padding: 18px;
        border-color: rgb(var(--sky-success-rgb) / 0.58);
        background: linear-gradient(135deg, rgb(var(--sky-success-rgb) / 0.18), var(--sky-panel));
        box-shadow: 0 22px 48px rgb(var(--sky-success-rgb) / 0.18);
    }

    & .sky-lobby__season {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 14px;
        padding: 18px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.5);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(135deg, rgb(var(--sky-warning-rgb) / 0.16), rgb(var(--sky-accent-rgb) / 0.08)),
            var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-lobby__current h2,
    & .sky-lobby__season h2,
    & .sky-lobby__panel h2 {
        margin: 4px 0 0;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 22px;
        line-height: 1.15;
        letter-spacing: 0;
    }

    & .sky-lobby__current p {
        max-width: 680px;
        margin: 8px 0 0;
        color: var(--sky-text-soft);
        font-size: 14px;
        line-height: 1.45;
    }

    & .sky-lobby__season p {
        max-width: 720px;
        margin: 8px 0 0;
        color: var(--sky-text-soft);
        font-size: 14px;
        line-height: 1.45;
    }

    & .sky-lobby__label {
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 1000;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    & .sky-lobby__panel {
        min-width: 0;
        overflow: hidden;
    }

    & .sky-lobby__panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 72px;
        padding: 14px;
        border-bottom: 1px solid var(--sky-line);
        background: var(--sky-panel-head);
    }

    & .sky-lobby__icon-action,
    & .sky-lobby__row-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border: 1px solid var(--sky-button-border);
        border-radius: 6px;
        background: var(--sky-button-bg);
        color: var(--sky-text-soft);
        text-decoration: none;
    }

    & .sky-lobby__icon-action:hover,
    & .sky-lobby__row-action:hover {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .sky-lobby__public-actions {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 10px;
        padding: 12px 14px;
        border-bottom: 1px solid var(--sky-line-soft);
    }

    & .sky-lobby__public-actions .sky-home__secondary {
        min-height: 40px;
        padding: 10px;
        font-size: 13px;
        white-space: normal;
    }

    & .sky-lobby__table-wrap {
        overflow-x: auto;
    }

    & .sky-lobby__table {
        width: 100%;
        border-collapse: collapse;
        min-width: 680px;
    }

    & .sky-lobby__table th,
    & .sky-lobby__table td {
        padding: 13px 14px;
        border-bottom: 1px solid var(--sky-line-soft);
        color: var(--sky-text-soft);
        font-size: 13px;
        text-align: left;
        white-space: nowrap;
    }

    & .sky-lobby__table th {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.45px;
        text-transform: uppercase;
    }

    & .sky-lobby__table td strong {
        color: var(--sky-text);
        font-weight: 1000;
    }

    & .sky-lobby__table tr.is-active-game td {
        background: rgb(var(--sky-success-rgb) / 0.08);
    }

    & .sky-lobby__status-pill {
        display: inline-flex;
        align-items: center;
        min-height: 22px;
        margin-right: 8px;
        padding: 0 8px;
        border: 1px solid rgb(var(--sky-success-rgb) / 0.5);
        border-radius: 999px;
        color: rgb(174 255 209);
        font-size: 10px;
        font-weight: 1000;
        text-transform: uppercase;
    }

    & .sky-lobby__table td:last-child {
        width: 52px;
        text-align: right;
    }

    & .sky-lobby__empty {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 10px 12px;
        padding: 16px 18px 18px;
        color: var(--sky-text-soft);
    }

    & .sky-admin__content {
        gap: 18px;
    }

    & .sky-admin__hero {
        max-width: 920px;
    }

    & .sky-admin__stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }

    & .sky-admin__stats article {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 6px 12px;
        align-items: center;
        min-width: 0;
        padding: 16px;
        border: 1px solid var(--sky-line-soft);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-bg-deep-rgb) / 0.62);
        box-shadow: 0 16px 42px rgb(0 0 0 / 0.22);
        backdrop-filter: blur(18px);
    }

    & .sky-admin__stats i {
        grid-row: span 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-accent-rgb) / 0.16);
        color: rgb(125 211 252);
    }

    & .sky-admin__stats span {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.42px;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .sky-admin__stats strong {
        overflow: hidden;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 22px;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-admin__table {
        min-width: 1040px;
    }

    & .sky-admin__table td {
        vertical-align: middle;
    }

    & .sky-admin__table td small {
        display: block;
        margin-top: 5px;
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
    }

    & .sky-admin__pill {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 28px;
        padding: 0 10px;
        border: 1px solid rgb(var(--sky-text-soft-rgb) / 0.18);
        border-radius: 999px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.48);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 1000;
        text-transform: uppercase;
    }

    & .sky-admin__pill.is-premium {
        border-color: rgb(var(--sky-success-rgb) / 0.52);
        background: rgb(var(--sky-success-rgb) / 0.12);
        color: rgb(174 255 209);
    }

    & .sky-admin__pill.is-free {
        border-color: rgb(148 163 184 / 0.32);
    }

    & .sky-admin__pill.is-muted {
        color: var(--sky-text-muted);
    }

    & .sky-admin__notice {
        margin: 0;
        padding: 12px 14px;
        border: 1px solid var(--sky-line-soft);
        border-radius: var(--sky-radius);
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 800;
        backdrop-filter: blur(18px);
    }

    & .sky-admin__notice.is-success {
        border-color: rgb(var(--sky-success-rgb) / 0.42);
        background: rgb(var(--sky-success-rgb) / 0.12);
    }

    & .sky-admin__notice.is-error {
        border-color: rgb(248 113 113 / 0.5);
        background: rgb(127 29 29 / 0.22);
    }

    & .sky-admin__inline-form {
        display: inline-flex;
        margin: 0;
    }

    & .sky-admin__grant {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 34px;
        padding: 0 11px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.42);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-accent-rgb) / 0.14);
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 12px;
        font-weight: 1000;
        white-space: nowrap;
    }

    & .sky-admin__grant:not(:disabled):hover {
        border-color: rgb(var(--sky-accent-rgb) / 0.72);
        background: rgb(var(--sky-accent-rgb) / 0.24);
    }

    & .sky-news__feed {
        display: grid;
        gap: 12px;
    }

    & .sky-news__item {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 18px;
        padding: 18px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-news__meta {
        display: grid;
        align-content: start;
        gap: 8px;
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 800;
    }

    & .sky-news__meta span {
        color: var(--sky-accent);
        text-transform: uppercase;
    }

    & .sky-news__item h2 {
        margin: 0 0 10px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 22px;
        letter-spacing: 0;
    }

    & .sky-news__item h2 a {
        color: inherit;
        text-decoration: none;
    }

    & .sky-news__item h2 a:hover {
        color: var(--sky-accent);
    }

    & .sky-news__item p {
        max-width: 760px;
        margin: 0;
        color: var(--sky-text-soft);
        font-size: 14px;
        line-height: 1.55;
    }

    & .sky-news__item ul {
        margin: 0;
        padding-left: 18px;
        color: var(--sky-text-soft);
        line-height: 1.55;
    }

    & .sky-news__read,
    & .sky-news__back {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        width: fit-content;
        margin-top: 14px;
        color: var(--sky-accent);
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
    }

    & .sky-news__read:hover,
    & .sky-news__back:hover {
        color: var(--sky-text);
    }

    & .sky-news__back {
        margin: 0 0 16px;
    }

    & .sky-news__article-head,
    & .sky-news__article-body {
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-news__article-head {
        display: grid;
        gap: 14px;
        padding: 22px;
    }

    & .sky-news__article-head h1 {
        max-width: 900px;
        margin: 0;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: clamp(34px, 5vw, 56px);
        line-height: 1.06;
        letter-spacing: 0;
    }

    & .sky-news__article-head p {
        max-width: 760px;
        margin: 0;
        color: var(--sky-text-soft);
        font-size: 16px;
        line-height: 1.55;
    }

    & .sky-news__article-body {
        margin-top: 12px;
        padding: 22px;
        color: var(--sky-text-soft);
        font-size: 16px;
        line-height: 1.7;
    }

    & .sky-news__article-body h2,
    & .sky-news__article-body h3 {
        margin: 26px 0 10px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        letter-spacing: 0;
    }

    & .sky-news__article-body h2:first-child,
    & .sky-news__article-body h3:first-child {
        margin-top: 0;
    }

    & .sky-news__article-body p {
        max-width: 820px;
        margin: 0 0 16px;
    }

    & .sky-news__article-body ul {
        max-width: 820px;
        margin: 0 0 16px;
        padding-left: 20px;
    }

    & .sky-news__article-body strong {
        color: var(--sky-text);
    }

    & .sky-lobby__empty i {
        color: var(--sky-accent);
        font-size: 20px;
    }

    & .sky-lobby__empty p {
        margin: 0;
        font-size: 14px;
        line-height: 1.45;
    }

    & .sky-lobby__empty-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        grid-column: 2;
    }

    & .sky-lobby__panel--side {
        padding-bottom: 0;
    }

    & .sky-lobby__panel--side .sky-lobby__panel-head {
        min-height: 58px;
        padding: 12px 14px;
    }

    & .sky-lobby__panel--side .sky-lobby__panel-head h2 {
        font-size: 22px;
        line-height: 1.08;
    }

    & .sky-lobby__side-body {
        display: grid;
        gap: 8px;
        padding: 12px;
    }

    & .sky-lobby__side-section {
        display: grid;
        gap: 10px;
        padding: 12px;
        border: 1px solid var(--sky-line-soft);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-bg-deep-rgb) / 0.26);
    }

    & .sky-lobby__side-section--ai {
        border-color: rgb(var(--sky-accent-rgb) / 0.3);
        background:
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.12), transparent 58%),
            rgb(var(--sky-bg-deep-rgb) / 0.28);
    }

    & .sky-lobby__side-section--collapsed {
        padding: 0;
    }

    & .sky-lobby__side-section--collapsed summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 48px;
        padding: 0 12px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 14px;
        font-weight: 900;
        list-style: none;
        cursor: pointer;
    }

    & .sky-lobby__side-section--collapsed summary::-webkit-details-marker {
        display: none;
    }

    & .sky-lobby__side-section--collapsed summary span {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        min-width: 0;
    }

    & .sky-lobby__side-section--collapsed summary span i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent);
        font-size: 13px;
    }

    & .sky-lobby__side-section--collapsed[open] summary > i {
        transform: rotate(180deg);
    }

    & .sky-lobby__side-section--collapsed[open] summary {
        border-bottom: 1px solid var(--sky-line-soft);
    }

    & .sky-lobby__side-section--collapsed .sky-lobby__create-private {
        width: auto;
    }

    & .sky-lobby__side-section-head {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 10px;
        align-items: start;
    }

    & .sky-lobby__side-section-head > i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent);
        font-size: 15px;
    }

    & .sky-lobby__side-section h3 {
        margin: 0;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 16px;
        line-height: 1.15;
    }

    & .sky-lobby__side-section p {
        margin: 4px 0 0;
        color: var(--sky-text-soft);
        font-size: 12px;
        line-height: 1.4;
    }

    & .sky-lobby__side-section--collapsed > p,
    & .sky-lobby__side-section--collapsed > form {
        box-sizing: border-box;
        width: auto;
        margin-right: 12px;
        margin-left: 12px;
    }

    & .sky-lobby__side-section--collapsed > p {
        max-width: none;
        margin-top: 12px;
    }

    & .sky-lobby__side-section--collapsed > form {
        margin-top: 8px;
        margin-bottom: 12px;
    }

    & .sky-lobby__create-private {
        display: grid;
        gap: 14px;
        width: 100%;
        margin: 0;
    }

    & .sky-lobby__mode-choice {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 0;
        margin: 0;
        border: 0;
    }

    & .sky-lobby__mode-choice legend {
        grid-column: 1 / -1;
        padding: 0 0 2px;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.45px;
        text-transform: uppercase;
    }

    & .sky-lobby__mode-choice label {
        min-width: 0;
        cursor: pointer;
    }

    & .sky-lobby__mode-choice input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    & .sky-lobby__mode-choice span {
        display: grid;
        gap: 3px;
        min-height: 56px;
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.34);
    }

    & .sky-lobby__mode-choice strong {
        color: var(--sky-text);
        font-size: 13px;
        line-height: 1.15;
    }

    & .sky-lobby__mode-choice small {
        color: var(--sky-text-soft);
        font-size: 12px;
        line-height: 1.2;
    }

    & .sky-lobby__mode-choice input:checked + span {
        border-color: var(--sky-accent);
        background: rgb(var(--sky-accent-rgb) / 0.16);
        box-shadow: 0 0 0 1px rgb(var(--sky-accent-rgb) / 0.18) inset;
    }

    & .sky-lobby__wide-action,
    & .sky-lobby__join-code {
        width: 100%;
        margin: 0;
    }

    & .sky-lobby__create-private .sky-lobby__wide-action {
        width: 100%;
        margin: 0;
        border: 1px solid var(--sky-button-border);
        cursor: pointer;
    }

    & .sky-lobby__bot-count {
        display: grid;
        gap: 8px;
    }

    & .sky-lobby__bot-count span {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.45px;
        text-transform: uppercase;
    }

    & .sky-lobby__bot-count select {
        min-height: 42px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        box-sizing: border-box;
        width: 100%;
        background: rgb(var(--sky-bg-deep-rgb) / 0.72);
        color: var(--sky-text);
        font: inherit;
        font-weight: 800;
        padding: 0 10px;
    }

    & .sky-lobby__wide-action {
        box-sizing: border-box;
        min-height: 40px;
        font-size: 13px;
    }

    & .sky-lobby__join-code {
        grid-template-columns: minmax(0, 1fr) 44px;
        justify-content: stretch;
        gap: 8px;
    }

    & .sky-lobby__join-code input {
        min-height: 44px;
        padding: 0 12px;
        font-size: 14px;
    }

    & .sky-lobby__join-code button {
        width: 44px;
        min-height: 44px;
        font-size: 16px;
    }

    & .sky-lobby__bot-count select {
        min-height: 40px;
        font-size: 14px;
    }

    & .sky-profile__content {
        display: grid;
        gap: 16px;
    }

    & .sky-profile__hero {
        display: flex;
        align-items: center;
        gap: 28px;
        min-height: 220px;
        padding: 28px 32px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.24);
        border-radius: var(--sky-radius);
        background: var(--profile-banner, linear-gradient(135deg, #0f172a, #1f2937 52%, #0ea5e9));
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-profile__identity {
        display: flex;
        align-items: center;
        gap: 28px;
        min-width: 0;
    }

    & .sky-profile__portrait {
        position: relative;
        flex: 0 0 auto;
        width: 132px;
        height: 132px;
        border-radius: 8px;
        overflow: visible;
    }

    & .sky-profile__portrait-avatar {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
        transform: scale(0.65);
        transform-origin: center;
    }

    & .sky-profile__portrait-frame {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        pointer-events: none;
    }

    & .sky-profile__hero .sky-lobby__heading {
        margin-bottom: 0;
    }

    & .sky-profile__hero-actions {
        display: none;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 10px;
    }

    & .sky-profile__joined {
        margin: 4px 0 0;
        color: var(--sky-text-muted);
        font-size: 13px;
        font-weight: 800;
    }

    & .sky-profile__supporter {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin: 8px 0 0;
        color: #f9a8d4;
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .sky-profile__public-link {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        width: fit-content;
        min-height: 30px;
        margin-top: 10px;
        padding: 0 10px;
        border: 1px solid var(--sky-button-border);
        border-radius: 6px;
        background: var(--sky-button-bg);
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 900;
        text-decoration: none;
    }

    & .sky-profile__public-link:hover {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .sky-profile__stats {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 12px;
    }

    & .sky-profile__stats article,
    & .sky-profile__breakdown article,
    & .sky-profile__game-card {
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-profile__stats article {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 5px 10px;
        align-items: center;
        min-width: 0;
        min-height: 88px;
        padding: 15px;
    }

    & .sky-profile__stats i {
        grid-row: span 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 7px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent);
    }

    & .sky-profile__stats span,
    & .sky-profile__breakdown span,
    & .sky-profile__game-card span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.4px;
        text-transform: uppercase;
    }

    & .sky-profile__stats strong {
        overflow: hidden;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 22px;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

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

    & .sky-profile__breakdown article {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 54px;
        padding: 12px 14px;
        background: var(--sky-panel);
    }

    & .sky-profile__breakdown strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 22px;
        line-height: 1;
    }

    & .sky-profile__cosmetics {
        display: grid;
        gap: 0;
    }

    & .sky-profile__cosmetic-columns {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
        padding: 22px;
    }

    & .sky-profile__cosmetic-columns > div {
        display: grid;
        align-content: start;
        gap: 14px;
        min-width: 0;
    }

    & .sky-profile__cosmetic-columns > div > strong {
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .sky-profile__cosmetic-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
        gap: 10px;
        max-height: 310px;
        overflow: auto;
        padding-right: 4px;
        scrollbar-gutter: stable;
    }

    & .sky-profile__cosmetic {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        gap: 6px;
        min-width: 0;
        min-height: 118px;
        padding: 8px;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.52);
        color: var(--sky-text-muted);
        font: inherit;
        font-size: 11px;
        font-weight: 800;
        text-align: center;
        cursor: pointer;
    }

    & .sky-profile__cosmetic img {
        width: 100%;
        aspect-ratio: 1;
        border-radius: 7px;
        object-fit: cover;
    }

    & .sky-profile__cosmetic--frame img {
        object-fit: contain;
    }

    & .sky-profile__cosmetic--frame img {
        background: linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.22), rgb(var(--sky-bg-deep-rgb) / 0.8));
    }

    & .sky-profile__cosmetic--banner {
        min-height: 74px;
    }

    & .sky-profile__cosmetic--banner .sky-profile__banner-swatch {
        min-height: 52px;
    }

    & .sky-profile__cosmetic--emblem i,
    & .sky-profile__cosmetic--title i {
        align-self: center;
        justify-self: center;
    }

    & .sky-profile__cosmetic.is-selected {
        border-color: var(--sky-accent);
        color: var(--sky-text);
        box-shadow: 0 0 0 2px rgb(var(--sky-accent-rgb) / 0.24);
    }

    & .sky-profile__cosmetic.is-locked {
        opacity: 0.42;
        cursor: not-allowed;
    }

    & .sky-profile__cosmetic-status {
        min-height: 18px;
        margin: -8px 22px 18px;
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 800;
    }

    & .sky-support__content,
    & .sky-support__steps {
        display: grid;
        gap: 16px;
    }

    & .sky-support__content {
        padding-bottom: 28px;
    }

    & .sky-support__hero,
    & .sky-support__checkout {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        padding: 20px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.24);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.14), transparent 45%),
            var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-support__hero .sky-lobby__heading {
        margin-bottom: 0;
        max-width: 760px;
    }

    & .sky-support__current {
        display: grid;
        gap: 5px;
        min-width: 150px;
        padding: 14px;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.56);
        text-align: right;
    }

    & .sky-support__current span,
    & .sky-support__tier span,
    & .sky-support__gift span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .sky-support__current strong,
    & .sky-support__tier strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 28px;
        line-height: 1;
    }

    & .sky-support__steps {
        grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    }

    & .sky-support__panel,
    & .sky-support__checkout {
        min-width: 0;
    }

    & .sky-support__panel .sky-lobby__panel-head {
        min-height: 96px;
        padding: 20px 22px;
    }

    & .sky-support__panel .sky-lobby__panel-head > div,
    & .sky-support__checkout > div:first-child {
        display: grid;
        gap: 9px;
    }

    & .sky-support__panel .sky-lobby__label,
    & .sky-support__checkout .sky-lobby__label {
        display: inline-grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.5);
        border-radius: 50%;
        background: rgb(var(--sky-accent-rgb) / 0.12);
        color: var(--sky-accent);
        font-size: 16px;
        line-height: 1;
        box-shadow: 0 0 22px rgb(var(--sky-accent-rgb) / 0.16);
    }

    & .sky-support__panel h2,
    & .sky-support__checkout h2 {
        font-size: 32px;
        line-height: 1.02;
    }

    & .sky-support__tiers {
        display: grid;
        gap: 12px;
        padding: 18px;
    }

    & .sky-support__tier,
    & .sky-support__gift,
    & .sky-support__tabs button {
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.52);
        color: var(--sky-text);
        font: inherit;
        cursor: pointer;
    }

    & .sky-support__tier {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px 18px;
        min-height: 118px;
        padding: 20px;
        text-align: left;
    }

    & .sky-support__tier em {
        grid-column: 1 / -1;
        color: var(--sky-text-muted);
        font-size: 15px;
        font-style: normal;
        font-weight: 700;
        line-height: 1.35;
    }

    & .sky-support__tier.is-selected,
    & .sky-support__gift.is-selected {
        border-color: var(--sky-accent);
        box-shadow: 0 0 0 2px rgb(var(--sky-accent-rgb) / 0.22);
    }

    & .sky-support__tabs {
        display: flex;
        gap: 12px;
        padding: 18px 18px 14px;
    }

    & .sky-support__tabs button {
        min-height: 44px;
        padding: 0 18px;
        color: var(--sky-text-muted);
        font-size: 14px;
        font-weight: 900;
    }

    & .sky-support__tabs button.is-active {
        border-color: var(--sky-accent);
        color: var(--sky-text);
    }

    & .sky-support__gift-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
        gap: 14px;
        max-height: min(52vh, 560px);
        overflow: auto;
        padding: 0 18px 18px;
        scrollbar-gutter: stable;
    }

    & .sky-support__gift {
        display: grid;
        grid-template-rows: minmax(0, 1fr) minmax(32px, auto) auto;
        gap: 9px;
        min-height: 190px;
        padding: 10px;
        text-align: center;
    }

    & .sky-support__gift img {
        width: 100%;
        aspect-ratio: 1;
        border-radius: 7px;
        object-fit: cover;
    }

    & .sky-support__gift span {
        align-self: start;
        min-height: 30px;
        line-height: 1.15;
    }

    & .sky-support__gift em {
        color: #86efac;
        font-size: 10px;
        font-style: normal;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .sky-support__checkout > div:first-child {
        max-width: 560px;
    }

    & .sky-support__checkout h2 {
        margin: 4px 0 8px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
    }

    & .sky-support__checkout p,
    & .sky-support__status {
        margin: 0;
        color: var(--sky-text-muted);
        font-size: 13px;
        font-weight: 700;
    }

    & .sky-support__terms {
        margin-top: 12px;
        line-height: 1.5;
    }

    & .sky-support__status[data-tone="success"] {
        color: #86efac;
    }

    & .sky-support__status[data-tone="warning"] {
        color: #facc15;
    }

    & .sky-support__status[data-tone="error"] {
        color: #fda4af;
    }

    & .sky-support__paypal {
        width: min(360px, 100%);
    }

    & .sky-support__success {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 16px;
        padding: 20px;
        border: 1px solid rgb(134 239 172 / 0.5);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(135deg, rgb(134 239 172 / 0.16), transparent 46%),
            rgb(var(--sky-bg-deep-rgb) / 0.76);
        box-shadow:
            0 0 0 1px rgb(134 239 172 / 0.1),
            0 24px 80px rgb(0 0 0 / 0.34);
    }

    & .sky-support__success[hidden] {
        display: none;
    }

    & .sky-support__success-icon {
        display: grid;
        place-items: center;
        width: 58px;
        height: 58px;
        border: 1px solid rgb(134 239 172 / 0.52);
        border-radius: 50%;
        background: rgb(22 163 74 / 0.2);
        color: #bbf7d0;
        font-size: 24px;
        box-shadow: 0 0 30px rgb(134 239 172 / 0.22);
    }

    & .sky-support__success h2 {
        margin: 4px 0 8px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: clamp(28px, 5vw, 48px);
        line-height: 0.95;
    }

    & .sky-support__success p {
        max-width: 700px;
        margin: 0;
        color: var(--sky-text-muted);
        font-size: 14px;
        font-weight: 750;
    }

    & .sky-support__success-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 16px;
    }

    & .sky-support__success-actions .sky-home__secondary {
        min-height: 42px;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.44);
        color: var(--sky-text);
        font: inherit;
        font-size: 13px;
        font-weight: 900;
        cursor: pointer;
    }

    & .sky-support__confetti {
        position: fixed;
        inset: 0;
        z-index: 1000;
        pointer-events: none;
        overflow: hidden;
    }

    & .sky-support__confetti span {
        position: absolute;
        top: -20px;
        left: var(--x);
        width: 8px;
        height: 14px;
        border-radius: 2px;
        opacity: 0.95;
        animation: sky-support-confetti var(--duration) cubic-bezier(0.14, 0.76, 0.28, 1) var(--delay) forwards;
    }

    & .sky-profile__achievements > .sky-lobby__panel-head > strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 24px;
        line-height: 1;
    }

    & .sky-profile__badge-board {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
        gap: 10px;
        padding: 16px;
        border-bottom: 1px solid var(--sky-line-soft);
    }

    & .sky-profile__badge {
        --badge-border: var(--sky-accent);
        --badge-fill: var(--sky-accent-strong);
        --badge-accent: var(--sky-text);
        display: inline-grid;
        grid-template-columns: 54px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        min-width: 0;
        min-height: 70px;
        padding: 10px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.72);
        border-radius: 8px;
        background:
            linear-gradient(135deg, color-mix(in srgb, var(--badge-fill) 28%, transparent), transparent 58%),
            var(--sky-panel-raised);
    }

    & .sky-profile__badge.is-locked {
        opacity: 0.48;
        filter: saturate(0.45);
    }

    & .sky-profile__badge--compact {
        grid-template-columns: 42px;
        justify-content: center;
        min-height: 42px;
        padding: 0;
        border: 0;
        background: transparent;
        opacity: 1;
        filter: none;
    }

    & .sky-profile__badge-mark {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 54px;
        height: 54px;
        flex: 0 0 auto;
        color: var(--badge-accent);
    }

    & .sky-profile__badge--compact .sky-profile__badge-mark {
        width: 42px;
        height: 42px;
    }

    & .sky-profile__badge-base {
        position: absolute;
        inset: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--badge-border);
        font-size: 43px;
        --fa-primary-color: var(--badge-fill);
        --fa-secondary-color: var(--badge-border);
        --fa-primary-opacity: 1;
        --fa-secondary-opacity: 1;
    }

    & .sky-profile__badge--compact .sky-profile__badge-base {
        font-size: 34px;
    }

    & .sky-profile__badge-icon {
        position: relative;
        z-index: 1;
        max-width: 22px;
        color: var(--badge-accent);
        font-size: 17px;
        line-height: 1;
        text-shadow: 0 1px 2px rgb(0 0 0 / 0.38);
    }

    & .sky-profile__badge--compact .sky-profile__badge-icon {
        font-size: 14px;
    }

    & .sky-profile__badge-copy {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .sky-profile__badge-copy strong {
        overflow: hidden;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 15px;
        line-height: 1.05;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-profile__badge-copy em {
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-style: normal;
        font-weight: 900;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .sky-profile__achievement-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        padding: 16px;
    }

    & .sky-profile__unique-head {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 16px 0;
    }

    & .sky-profile__unique-head strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 18px;
        line-height: 1;
    }

    & .sky-profile__unique-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        padding: 12px 16px 16px;
    }

    & .sky-profile__achievement-card {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
        min-width: 0;
        padding: 12px;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: var(--sky-panel);
    }

    & .sky-profile__achievement-card.is-unlocked {
        border-color: color-mix(in srgb, var(--badge-border) 62%, var(--sky-line));
        background:
            linear-gradient(135deg, color-mix(in srgb, var(--badge-fill) 18%, transparent), transparent 60%),
            var(--sky-panel);
    }

    & .sky-profile__achievement-card > div {
        display: grid;
        gap: 6px;
        min-width: 0;
    }

    & .sky-profile__achievement-card > div > span {
        color: var(--badge-border);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.4px;
        text-transform: uppercase;
    }

    & .sky-profile__achievement-card strong {
        overflow: hidden;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 16px;
        line-height: 1.1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-profile__achievement-card p {
        display: -webkit-box;
        min-height: 32px;
        margin: 0;
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 750;
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    & .sky-profile__achievement-progress {
        height: 7px;
        overflow: hidden;
        border-radius: 999px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.72);
    }

    & .sky-profile__achievement-progress span {
        display: block;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--badge-fill), var(--badge-border));
    }

    & .sky-profile__achievement-card em {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 11px;
        font-style: normal;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-profile__stats em {
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-style: normal;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-profile__grid {
        display: grid;
        grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
        gap: 16px;
        min-height: 0;
    }

    & .sky-profile__grid--public {
        grid-template-columns: 1fr;
    }

    & .sky-profile__panel {
        min-width: 0;
    }

    & .sky-profile__cards {
        display: grid;
        gap: 12px;
        padding: 16px;
    }

    & .sky-profile__game-card {
        display: grid;
        gap: 14px;
        padding: 14px;
    }

    & .sky-profile__game-card > div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    & .sky-profile__game-card > div strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 20px;
        line-height: 1;
        white-space: nowrap;
    }

    & .sky-profile__game-card ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    & .sky-profile__game-card li {
        display: grid;
        gap: 3px;
        min-width: 0;
        padding: 8px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 5px;
        background: var(--sky-raised-glass);
    }

    & .sky-profile__game-card li strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 13px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-profile__table td span {
        display: block;
        margin-top: 2px;
        color: var(--sky-text-muted);
        font-size: 11px;
    }

    & .sky-report__content {
        display: grid;
        gap: 16px;
    }

    & .sky-report__hero {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 18px;
        padding: 20px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.24);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.14), transparent 45%),
            var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-report__hero .sky-lobby__heading {
        margin-bottom: 0;
    }

    & .sky-report__outcome {
        display: grid;
        justify-items: end;
        gap: 5px;
        min-width: 170px;
    }

    & .sky-report__outcome span,
    & .sky-report__stats span,
    & .sky-report__events span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.4px;
        text-transform: uppercase;
    }

    & .sky-report__outcome strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 38px;
        line-height: 1;
    }

    & .sky-report__outcome em {
        color: var(--sky-accent);
        font-size: 13px;
        font-style: normal;
        font-weight: 1000;
    }

    & .sky-report__stats {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 12px;
    }

    & .sky-report__stats article {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 5px 10px;
        align-items: center;
        min-width: 0;
        min-height: 84px;
        padding: 14px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel);
        box-shadow: var(--sky-shadow-soft);
    }

    & .sky-report__stats i {
        grid-row: span 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 7px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent);
    }

    & .sky-report__stats strong {
        overflow: hidden;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 21px;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-report__panel {
        min-width: 0;
    }

    & .sky-report__chart-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 14px 16px 0;
    }

    & .sky-report__chart-tabs button {
        min-height: 34px;
        padding: 0 12px;
        border: 1px solid var(--sky-button-border);
        border-radius: 6px;
        background: var(--sky-button-bg);
        color: var(--sky-text-soft);
        font-family: var(--sky-display-font);
        font-size: 12px;
        font-weight: 900;
        cursor: pointer;
    }

    & .sky-report__chart-tabs button.is-active,
    & .sky-report__chart-tabs button:hover {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .sky-report__chart-wrap {
        position: relative;
        padding: 14px 16px 8px;
    }

    & .sky-report__chart-wrap canvas {
        display: block;
        width: 100%;
        height: auto;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.82);
    }

    & .sky-report__chart-tooltip {
        position: absolute;
        z-index: 8;
        display: grid;
        gap: 4px;
        max-width: min(300px, calc(100% - 16px));
        padding: 10px 12px;
        border: 1px solid var(--sky-button-border-hover);
        border-radius: 8px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.96);
        box-shadow: 0 14px 34px rgb(0 0 0 / 0.32);
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        pointer-events: none;
    }

    & .sky-report__chart-tooltip[hidden] {
        display: none;
    }

    & .sky-report__chart-tooltip strong {
        font-size: 13px;
        line-height: 1.1;
    }

    & .sky-report__chart-tooltip span,
    & .sky-report__chart-tooltip em {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-style: normal;
        line-height: 1.25;
    }

    & .sky-report__legend {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 14px;
        padding: 0 16px 16px;
    }

    & .sky-report__legend button {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 30px;
        padding: 0 10px;
        border: 1px solid var(--sky-line);
        border-radius: 999px;
        background: var(--sky-button-bg);
        color: var(--sky-text-soft);
        font-family: var(--sky-display-font);
        font-size: 12px;
        font-weight: 850;
        cursor: pointer;
    }

    & .sky-report__legend button.is-active {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .sky-report__legend button:not(.is-active) {
        opacity: 0.48;
    }

    & .sky-report__legend i {
        width: 10px;
        height: 10px;
        border-radius: 999px;
        box-shadow: 0 0 0 3px rgb(255 255 255 / 0.07);
    }

    & .sky-report__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
        gap: 16px;
        align-items: start;
    }

    & .sky-report__table td strong {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    & .sky-report__table td strong span {
        width: 10px;
        height: 10px;
        margin: 0;
        border-radius: 999px;
        background: var(--player-color);
    }

    & .sky-report__table td small {
        display: block;
        margin-top: 2px;
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
    }

    & .sky-report__table td small.sky-report__score-penalty {
        color: #fb7185;
        font-weight: 900;
    }

    & .sky-report__table tr.is-self td {
        background: rgb(var(--sky-accent-rgb) / 0.07);
    }

    & .sky-report__events {
        display: grid;
        gap: 8px;
        margin: 0;
        padding: 16px;
        list-style: none;
    }

    & .sky-report__events li {
        display: grid;
        gap: 4px;
        padding: 11px 12px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 7px;
        background: var(--sky-raised-glass);
        box-shadow: inset 3px 0 0 var(--player-color);
    }

    & .sky-report__events strong {
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 1000;
    }

    & .sky-report__events em {
        color: var(--sky-text-soft);
        font-size: 12px;
        font-style: normal;
        font-weight: 780;
        line-height: 1.35;
    }

    & .sky-leaderboard__content {
        gap: 18px;
    }

    & .sky-leaderboard__hero {
        max-width: 760px;
    }

    & .sky-leaderboard__hero p {
        max-width: 660px;
        margin: 10px 0 0;
        color: var(--sky-text-soft);
        font-size: 15px;
        line-height: 1.55;
    }

    & .sky-leaderboard__season-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 14px;
    }

    & .sky-leaderboard__season-meta span {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 34px;
        padding: 7px 10px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.72);
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.42);
        color: var(--sky-text-soft);
        font-size: 13px;
        font-weight: 850;
    }

    & .sky-leaderboard__season-meta i {
        color: var(--sky-warning);
    }

    & .sky-leaderboard__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    & .sky-leaderboard__board {
        overflow: hidden;
    }

    & .sky-leaderboard__board-title {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
    }

    & .sky-leaderboard__board-title > i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 7px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent);
    }

    & .sky-leaderboard__description {
        margin: 0;
        padding: 12px 14px;
        border-bottom: 1px solid var(--sky-line-soft);
        color: var(--sky-text-soft);
        font-size: 13px;
        line-height: 1.45;
    }

    & .sky-leaderboard__list {
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    & .sky-leaderboard__list li {
        display: grid;
        grid-template-columns: 44px 42px minmax(0, 1fr) minmax(132px, auto);
        grid-template-areas:
            "rank avatar player score"
            "rank avatar meta final";
        gap: 8px 10px;
        align-items: center;
        padding: 12px 14px;
        border-bottom: 1px solid var(--sky-line-soft);
    }

    & .sky-leaderboard__list li:last-child {
        border-bottom: 0;
    }

    & .sky-leaderboard__list li.is-podium {
        background: rgb(var(--sky-warning-rgb) / 0.07);
    }

    & .sky-leaderboard__rank {
        grid-area: rank;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: var(--sky-raised-glass);
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-weight: 900;
    }

    & .sky-player-portrait--leaderboard {
        grid-area: avatar;
    }

    & .sky-leaderboard__player {
        grid-area: player;
        min-width: 0;
    }

    & .sky-leaderboard__player a {
        color: inherit;
        text-decoration: none;
    }

    & .sky-leaderboard__player a:hover {
        color: var(--sky-accent);
    }

    & .sky-leaderboard__player strong,
    & .sky-leaderboard__score,
    & .sky-leaderboard__final-rank {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-weight: 900;
    }

    & .sky-leaderboard__player strong {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .sky-leaderboard__player small {
        display: block;
        margin-top: 3px;
        color: var(--sky-text-muted);
        font-size: 11px;
    }

    & .sky-leaderboard__score {
        grid-area: score;
        justify-self: end;
        white-space: nowrap;
    }

    & .sky-leaderboard__final-rank {
        grid-area: final;
        justify-self: end;
        display: inline-grid;
        grid-template-columns: auto auto;
        align-items: baseline;
        gap: 6px;
        min-width: 0;
        padding: 5px 8px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.38);
        border-radius: 6px;
        background: rgb(var(--sky-accent-rgb) / 0.09);
        color: var(--sky-accent);
        font-size: 14px;
        line-height: 1;
        text-align: center;
    }

    & .sky-leaderboard__final-rank.is-final-1 {
        border-color: rgb(246 179 77 / 0.56);
        background: rgb(246 179 77 / 0.13);
        color: #fbbf24;
    }

    & .sky-leaderboard__final-rank.is-final-2 {
        border-color: rgb(203 213 225 / 0.48);
        background: rgb(148 163 184 / 0.12);
        color: #dbeafe;
    }

    & .sky-leaderboard__final-rank.is-final-3 {
        border-color: rgb(251 146 60 / 0.5);
        background: rgb(194 88 44 / 0.13);
        color: #fdba74;
    }

    & .sky-leaderboard__final-rank span {
        color: var(--sky-text-muted);
        font-size: 8px;
        font-weight: 1000;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    & .sky-leaderboard__meta {
        grid-area: meta;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    & .sky-leaderboard__meta span {
        padding: 4px 7px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 5px;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 800;
    }

    & .sky-leaderboard__meta span:nth-child(1) {
        border-color: rgb(var(--sky-success-rgb) / 0.26);
        color: rgb(187 247 208 / 0.9);
    }

    & .sky-leaderboard__meta span:nth-child(2) {
        border-color: rgb(var(--sky-accent-rgb) / 0.28);
        color: rgb(186 230 253 / 0.9);
    }

    & .sky-leaderboard__meta span:nth-child(3) {
        border-color: rgb(168 85 247 / 0.28);
        color: rgb(221 214 254 / 0.9);
    }
}

@keyframes sky-support-confetti {
    0% {
        transform: translate3d(0, -20px, 0) rotate(0deg);
    }

    100% {
        transform: translate3d(var(--dx), 110vh, 0) rotate(var(--rotate));
        opacity: 0;
    }
}

.sky-auth {
    & .sky-auth__nav {
        width: min(1180px, 100%);
        padding-top: 0;
    }

    & .sky-auth__panel {
        position: relative;
        z-index: 1;
        align-self: center;
        width: min(460px, 100%);
        margin: 0 auto 8vh;
        padding: 24px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-auth-panel-bg);
        box-shadow: var(--sky-shadow);
    }

    & .sky-auth__panel--wide {
        width: min(760px, 100%);
    }

    & .sky-auth__panel h1 {
        margin: 8px 0 20px;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 42px;
        line-height: 1;
        letter-spacing: 0;
    }

    & .sky-auth__form {
        display: grid;
        gap: 14px;
    }

    & .sky-auth__form--split {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    & .sky-auth__fieldset {
        display: grid;
        gap: 14px;
        min-width: 0;
    }

    & .sky-auth__fieldset > strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 15px;
    }

    & .sky-auth__form label {
        display: grid;
        gap: 7px;
    }

    & .sky-auth__form label > span {
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 900;
    }

    & .sky-auth__hint,
    & .sky-auth__switch {
        min-height: 17px;
        color: var(--sky-text-muted);
        font-size: 12px;
        line-height: 1.35;
    }

    & .sky-auth__hint.is-valid {
        color: var(--sky-success);
    }

    & .sky-auth__hint.is-invalid,
    & .sky-auth__notice {
        color: var(--sky-notice-danger-text);
    }

    & .sky-auth__strength {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
    }

    & .sky-auth__strength > span {
        height: 10px;
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: 999px;
        background: var(--sky-strength-track);
    }

    & .sky-auth__strength > span > span {
        display: block;
        width: 20%;
        height: 100%;
        border-radius: inherit;
        background: var(--sky-danger);
        transition: width 0.16s ease, background 0.16s ease;
    }

    & .sky-auth__strength[data-score="2"] > span > span {
        background: var(--sky-warning);
    }

    & .sky-auth__strength[data-score="3"] > span > span,
    & .sky-auth__strength[data-score="4"] > span > span {
        background: var(--sky-success);
    }

    & .sky-auth__strength strong {
        color: var(--sky-text-soft);
        font-size: 12px;
        white-space: nowrap;
    }

    & .sky-auth__submit {
        min-height: 46px;
        margin-top: 4px;
        padding: 0 18px;
    }

    & .sky-auth__form--split .sky-auth__submit {
        grid-column: 1 / -1;
        justify-self: end;
        min-width: 180px;
    }

    & .sky-auth__switch {
        margin: 16px 0 0;
    }

    & .sky-auth__switch a {
        color: var(--sky-text);
        font-weight: 900;
    }
}

.airport-game-page {
    overflow: hidden;

    & .airport-game {
        position: relative;
        --sky-dashboard-bottom: 65px;
        --sky-dashboard-height: 270px;
        --sky-map-control-gap: 12px;
        min-height: var(--sky-game-viewport-height);
        background: var(--sky-bg);
    }

    & .airport-game__map-panel {
        position: relative;
        width: 100vw;
        height: var(--sky-game-viewport-height);
        overflow: hidden;
        border: 0;
        border-radius: 0;
        background: var(--sky-bg-deep);
    }

    & .airport-game__map,
    & .airport-game__leaflet {
        position: absolute;
        inset: 0;
    }

    & .airport-game__map {
        overflow: hidden;
        cursor: grab;
        touch-action: none;
        user-select: none;
        -webkit-user-select: none;
    }

    & .airport-game__map.is-dragging {
        cursor: grabbing;
    }

    & .airport-game__leaflet {
        z-index: 1;
        background: var(--sky-bg-deep);
    }

    & .airport-game__leaflet.leaflet-container,
    & .airport-game__leaflet .leaflet-container {
        width: 100%;
        height: 100%;
        background: var(--sky-bg-deep);
        font-family: inherit;
    }

    & .airport-game__leaflet .leaflet-control-attribution {
        background: var(--sky-attribution-bg);
        color: var(--sky-attribution-text);
        font-size: 10px;
    }

    & .airport-game__leaflet .leaflet-control-attribution a {
        color: var(--sky-attribution-link);
    }

    & .airport-game__hud,
    & .airport-game__map-shortcuts,
    & .airport-game__map-layers,
    & .airport-game__strategy-legend,
    & .airport-game__module-nav,
    & .airport-game__module-drawer,
    & .airport-game__event-feed,
    & .airport-game__bottom-dashboard,
    & .airport-game__overview-panel {
        position: absolute;
        z-index: 30;
    }

    & .airport-game__map-shortcuts {
        top: calc(var(--sky-header-offset) + ((var(--sky-game-viewport-height) - var(--sky-header-offset) - var(--sky-dashboard-bottom) - var(--sky-dashboard-height)) / 2) - 84px);
        right: 16px;
        z-index: 52;
        display: grid;
        gap: 10px;
    }

    & .airport-game__map-shortcut,
    & .airport-game__map-layer-toggle,
    & .airport-game__map-layer-menu button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        background: transparent;
        color: var(--sky-text-soft);
        cursor: pointer;
    }

    & .airport-game__map-shortcut {
        position: relative;
        width: 50px;
        height: 50px;
        border: 1px solid var(--sky-line);
        border-radius: 50%;
        background: var(--sky-panel-glass);
        box-shadow: var(--sky-shadow);
        color: var(--sky-text-soft);
        font-size: 19px;
        text-decoration: none;
    }

    & .airport-game__map-layers {
        top: calc(var(--sky-header-offset) + ((var(--sky-game-viewport-height) - var(--sky-header-offset) - var(--sky-dashboard-bottom) - var(--sky-dashboard-height)) / 2) + 16px);
        right: 16px;
        z-index: 52;
        transform: translateY(-50%);
    }

    & .airport-game__map-layer-toggle {
        font-size: 20px;
    }

    & .airport-game__map-shortcut:hover,
    & .airport-game__map-shortcut.is-active,
    & .airport-game__map-contracts:hover,
    & .airport-game__map-contracts.is-active {
        background: var(--sky-accent-hover);
        color: var(--sky-text);
    }

    & .airport-game__map-shortcut strong,
    & .airport-game__map-contracts strong {
        position: absolute;
        top: -2px;
        right: -2px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        border-radius: 999px;
        background: var(--sky-success);
        color: var(--sky-bg-deep);
        font-size: 10px;
        font-weight: 1000;
        line-height: 1;
    }

    & [data-airport-buyout-badge] {
        border: 1px solid rgb(255 255 255 / 0.42);
        background: #f43f5e;
        color: #fff;
        box-shadow: 0 8px 18px rgb(244 63 94 / 0.35);
    }

    & .airport-game__map-layer-toggle:hover,
    & .airport-game__map-layer-toggle.is-active,
    & .airport-game__map-layer-menu button:hover,
    & .airport-game__map-layer-menu button.is-active {
        background: var(--sky-accent-hover);
        color: var(--sky-text);
    }

    & .airport-game__map-layer-menu button.is-active i {
        color: var(--sky-success);
    }

    & .airport-game__map-layer-menu {
        position: absolute;
        top: 50%;
        right: 60px;
        display: grid;
        width: 214px;
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-popover-bg);
        box-shadow: var(--sky-shadow);
        transform: translateY(-50%);
    }

    & .airport-game__map-layer-menu button {
        justify-content: flex-start;
        gap: 10px;
        min-height: 42px;
        padding: 0 12px;
        border-bottom: 1px solid var(--sky-line-soft);
        font-size: 12px;
        font-weight: 900;
        text-align: left;
    }

    & .airport-game__map-layer-menu button:last-child {
        border-bottom: 0;
    }

    & .airport-game__map-layer-menu button i {
        width: 18px;
        color: var(--sky-accent);
        text-align: center;
    }

    & .airport-game__map-layer-menu button span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__strategy-legend {
        right: 16px;
        bottom: calc(var(--sky-dashboard-bottom) + var(--sky-dashboard-height) + var(--sky-map-control-gap) + 108px);
        z-index: 49;
        display: grid;
        gap: 7px;
        width: min(230px, calc(100vw - 32px));
        padding: 12px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-popover-bg);
        box-shadow: var(--sky-shadow);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 800;
        pointer-events: none;
    }

    & .airport-game__strategy-legend[hidden] {
        display: none;
    }

    & .airport-game__strategy-legend strong {
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 950;
    }

    & .airport-game__strategy-legend span {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__strategy-legend i {
        width: 12px;
        height: 12px;
        flex: 0 0 auto;
        border: 2px solid currentColor;
        border-radius: 50%;
        background: currentColor;
        opacity: .86;
    }

    & .airport-game__strategy-legend .is-structure {
        color: #94a3b8;
        background: transparent;
    }

    & .airport-game__strategy-legend .is-underdefended {
        color: #fde047;
        background: transparent;
        border-width: 3px;
    }

    & .airport-game__strategy-legend .is-opportunity {
        color: #38bdf8;
        background: transparent;
    }

    & .airport-game__strategy-legend .is-pending {
        color: #f59e0b;
        background: transparent;
        border-style: dashed;
    }

    & .airport-game__strategy-legend .is-offense {
        color: #7c3aed;
    }

    & .airport-game__strategy-legend .is-threat {
        color: #ef4444;
    }

    & .airport-game__strategy-legend .is-unknown {
        color: #64748b;
        background: transparent;
        border-style: dashed;
    }

    & .airport-game__hud--top {
        top: 0;
        left: 0;
        right: 0;
        z-index: 55;
        padding: 10px;
        display: grid;
        grid-template-columns: minmax(238px, 0.9fr) minmax(520px, 4fr) auto;
        align-items: stretch;
        min-height: var(--sky-header-height);
        border-bottom: 1px solid var(--sky-line);
        background: var(--sky-header-bg);
        box-shadow: var(--sky-shadow-soft);
    }

    & .airport-game__brand {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        min-height: var(--sky-header-height);
        padding: 0 20px;
        border-right: 1px solid var(--sky-line);
    }

    & .airport-game__brand-logo {
        width: 58px;
        height: 34px;
        object-fit: contain;
    }

    & .airport-game__brand h1 {
        margin: 0;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 22px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
    }

    & .airport-game__brand-subtitle {
        display: block;
        margin-top: 6px;
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.6px;
        line-height: 1.1;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__start-waiting {
        position: fixed;
        top: calc(var(--sky-header-offset) + 14px);
        left: 50%;
        z-index: 64;
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        align-items: center;
        gap: 14px;
        width: min(760px, calc(100vw - 28px));
        padding: 14px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.58);
        border-radius: 8px;
        background:
            linear-gradient(135deg, rgb(var(--sky-warning-rgb) / 0.22), rgb(var(--sky-accent-rgb) / 0.1)),
            rgb(3 17 28 / 0.98);
        box-shadow: 0 24px 70px rgb(0 0 0 / 0.58), inset 0 1px 0 rgb(255 255 255 / 0.08);
        color: var(--sky-text);
        transform: translateX(-50%);
    }

    & .airport-game__start-waiting[hidden] {
        display: none;
    }

    & .airport-game__start-waiting-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.44);
        border-radius: 8px;
        background: rgb(var(--sky-warning-rgb) / 0.14);
        color: var(--sky-warning);
        font-size: 20px;
    }

    & .airport-game__start-waiting span {
        display: block;
        margin-bottom: 4px;
        color: var(--sky-warning);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.4px;
        line-height: 1;
        text-transform: uppercase;
    }

    & .airport-game__start-waiting strong {
        display: block;
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 18px;
        line-height: 1.15;
    }

    & .airport-game__start-waiting p {
        margin: 5px 0 0;
        color: var(--sky-text-soft);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.35;
    }

    & .airport-game__start-waiting-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 42px;
        padding: 0 14px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.42);
        border-radius: 6px;
        background: rgb(var(--sky-accent-rgb) / 0.12);
        color: var(--sky-accent);
        font-size: 12px;
        font-weight: 900;
        text-decoration: none;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__start-waiting-action:hover,
    & .airport-game__start-waiting-action:focus-visible {
        border-color: rgb(var(--sky-accent-rgb) / 0.72);
        background: rgb(var(--sky-accent-rgb) / 0.18);
        color: var(--sky-accent-strong);
    }

    & .airport-game__header-stats {
        display: grid;
        grid-template-columns: repeat(6, minmax(118px, 1fr));
        min-width: 0;
    }

    & .airport-game__hud-stat {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
        gap: 8px;
        min-width: 0;
        min-height: var(--sky-header-height);
        padding: 0 18px;
        border-right: 1px solid var(--sky-line);
        background: transparent;
    }

    & .airport-game__hud-stat span {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.4px;
        line-height: 1;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__hud-stat strong {
        min-width: 0;
        overflow: hidden;
        color: var(--sky-text);
        font-size: 18px;
        font-weight: 800;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__hud-stat small {
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__hud-stat--money strong,
    & .airport-game__hud-stat--positive strong {
        color: var(--sky-success);
    }

    & .airport-game__hud-stat--negative strong {
        color: var(--sky-danger);
    }

    & .is-positive {
        color: var(--sky-success) !important;
    }

    & .is-negative {
        color: var(--sky-danger) !important;
    }

    & .airport-game__hud-stat--time {
        gap: 6px;
    }

    & .airport-game__hud-stat--time small {
        color: var(--sky-accent);
        font-size: 10px;
        font-weight: 900;
    }

    & .airport-game__game-progress {
        width: 100%;
        height: 3px;
        overflow: hidden;
        border-radius: 999px;
        background: rgb(var(--sky-line-rgb) / 0.82);
    }

    & .airport-game__game-progress i {
        display: block;
        width: 0%;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--sky-warning), var(--sky-accent));
        transition: width 0.25s ease;
    }

    & .airport-game__hud-stat--billing {
        position: relative;
        border-right-color: rgb(var(--sky-warning-rgb) / 0.34);
    }

    & .airport-game__hud-stat--billing small {
        font-size: 10px;
    }

    & .airport-game__hud-stat--billing.is-billing-due,
    & .airport-game__hud-stat--billing.is-billing-warning {
        background: rgb(var(--sky-warning-rgb) / 0.13);
    }

    & .airport-game__hud-stat--billing.is-billing-due strong,
    & .airport-game__hud-stat--billing.is-billing-warning strong {
        color: var(--sky-warning);
    }

    & .airport-game__hud-stat--billing.is-billing-danger,
    & .airport-game__hud-stat--billing.is-billing-critical {
        background: rgb(var(--sky-danger-rgb) / 0.16);
        box-shadow: inset 0 -3px 0 var(--sky-danger);
    }

    & .airport-game__hud-stat--billing.is-billing-danger strong,
    & .airport-game__hud-stat--billing.is-billing-critical strong {
        color: var(--sky-danger);
    }

    & .airport-game__hud-stat--billing.is-billing-critical::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgb(var(--sky-danger-rgb) / 0.64);
        pointer-events: none;
    }

    & .airport-game__header-actions {
        display: grid;
        grid-template-columns: repeat(5, 48px);
        align-items: stretch;
        min-height: var(--sky-header-height);
    }

    & .airport-game__header-action {
        position: relative;
    }

    & .airport-game__header-button {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: var(--sky-header-height);
        border: 0;
        border-left: 1px solid var(--sky-line);
        background: transparent;
        color: var(--sky-text-soft);
        font-size: 18px;
        text-decoration: none;
        cursor: pointer;
        transition: background 0.15s ease, color 0.15s ease;
    }

    & .airport-game__header-button > strong {
        position: absolute;
        top: 8px;
        right: 7px;
        display: grid;
        min-width: 16px;
        height: 16px;
        place-items: center;
        padding: 0 4px;
        border: 1px solid rgb(255 255 255 / 0.42);
        border-radius: 999px;
        background: #f43f5e;
        color: #fff;
        font-size: 9px;
        font-weight: 1000;
        line-height: 1;
        box-shadow: 0 8px 18px rgb(244 63 94 / 0.35);
    }

    & .airport-game__header-button:hover,
    & .airport-game__header-button.is-active {
        background: var(--sky-accent-hover);
        color: var(--sky-text);
    }

    & .airport-game__search {
        position: absolute;
        top: calc(var(--sky-header-offset) + 14px);
        left: 50%;
        z-index: 65;
        display: grid;
        gap: 8px;
        width: min(520px, calc(100vw - 32px));
        max-height: min(520px, calc(var(--sky-game-viewport-height) - var(--sky-header-offset) - 120px));
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-popover-bg);
        box-shadow: var(--sky-shadow);
        transform: translateX(-50%);
        overflow: hidden;
        overflow-y: scroll;
    }

    & .airport-game__search-head {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) 34px;
        align-items: center;
        min-height: 42px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 6px;
        background: var(--sky-field-bg);
        color: var(--sky-text-muted);
    }

    & .airport-game__search-head > i {
        justify-self: center;
        color: var(--sky-accent);
        font-size: 14px;
    }

    & .airport-game__search-head input {
        min-width: 0;
        height: 40px;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--sky-text);
        font-size: 14px;
        font-weight: 800;
    }

    & .airport-game__search-head input::placeholder {
        color: var(--sky-text-muted);
    }

    & .airport-game__search-head button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border: 0;
        border-left: 1px solid var(--sky-line-soft);
        background: transparent;
        color: var(--sky-text-soft);
        cursor: pointer;
    }

    & .airport-game__search-head button:hover {
        color: var(--sky-text);
    }

    & .airport-game__search-results {
        display: grid;
        gap: 6px;
        overflow: auto;
        padding-right: 2px;
    }

    & .airport-game__search-result {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) minmax(64px, auto);
        align-items: center;
        gap: 10px;
        min-height: 58px;
        padding: 8px;
        border: 1px solid transparent;
        border-radius: 6px;
        background: transparent;
        color: var(--sky-text);
        text-align: left;
        cursor: pointer;
        transition: background 0.15s ease, border-color 0.15s ease;
    }

    & .airport-game__search-result:hover,
    & .airport-game__search-result.is-active {
        border-color: var(--sky-button-border);
        background: var(--sky-accent-hover);
    }

    & .airport-game__search-flag {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 24px;
        overflow: hidden;
        border-radius: 4px;
        background: var(--sky-icon-bg);
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
    }

    & .airport-game__search-flag img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    & .airport-game__search-main,
    & .airport-game__search-meta {
        display: grid;
        min-width: 0;
        gap: 5px;
    }

    & .airport-game__search-main strong,
    & .airport-game__search-main small,
    & .airport-game__search-meta strong,
    & .airport-game__search-meta small {
        min-width: 0;
        overflow: hidden;
        line-height: 1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__search-main strong {
        font-size: 13px;
        font-weight: 900;
    }

    & .airport-game__search-main small,
    & .airport-game__search-meta small {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__search-meta {
        justify-items: end;
    }

    & .airport-game__search-meta strong {
        color: var(--sky-accent);
        font-size: 12px;
        font-weight: 900;
    }

    & .airport-game__search-empty {
        display: grid;
        min-height: 72px;
        place-items: center;
        color: var(--sky-text-soft);
        font-size: 13px;
        font-weight: 800;
    }

    & .airport-game__header-menu {
        position: absolute;
        top: calc(100% + 10px);
        right: 6px;
        z-index: 70;
        width: min(280px, calc(100vw - 20px));
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-popover-bg);
        box-shadow: var(--sky-shadow);
    }

    & .airport-game__header-menu--compact {
        display: grid;
        min-height: 64px;
        align-items: stretch;
        color: var(--sky-text-soft);
        font-size: 13px;
        font-weight: 800;
    }

    & .airport-game__notifications {
        display: grid;
        gap: 8px;
        width: 100%;
        max-height: 320px;
        overflow: auto;
    }

    & .airport-game__notifications > span {
        display: grid;
        min-height: 44px;
        place-items: center;
        color: var(--sky-text-soft);
    }

    & .airport-game__notification {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 10px;
        align-items: center;
        min-height: 58px;
        padding: 9px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 8px;
        background:
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.10), transparent 62%),
            rgb(var(--sky-panel-rgb) / 0.62);
        color: var(--sky-text);
    }

    & .airport-game__notification.is-success {
        border-color: rgb(134 239 172 / 0.42);
        background:
            linear-gradient(135deg, rgb(34 197 94 / 0.16), transparent 62%),
            rgb(var(--sky-panel-rgb) / 0.62);
    }

    & .airport-game__notification.is-season {
        border-color: rgb(250 204 21 / 0.42);
        background:
            linear-gradient(135deg, rgb(250 204 21 / 0.16), transparent 62%),
            rgb(var(--sky-panel-rgb) / 0.62);
    }

    & .airport-game__notification > i {
        display: grid;
        width: 34px;
        height: 34px;
        place-items: center;
        border-radius: 7px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.54);
        color: var(--sky-accent);
        font-size: 15px;
    }

    & .airport-game__notification-copy {
        display: grid;
        min-width: 0;
        gap: 4px;
    }

    & .airport-game__notification-copy strong,
    & .airport-game__notification-copy span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__notification-copy strong {
        font-size: 12px;
        font-weight: 950;
    }

    & .airport-game__notification-copy span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__header-menu--main {
        display: grid;
        gap: 6px;
    }

    & .airport-game__header-menu--main a,
    & .airport-game__header-menu--main button {
        display: grid;
        grid-template-columns: 20px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        min-height: 40px;
        padding: 0 10px;
        border: 0;
        border-radius: 6px;
        background: transparent;
        color: var(--sky-text-soft);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
        text-align: left;
        text-decoration: none;
        cursor: pointer;
    }

    & .airport-game__header-menu--main a:hover,
    & .airport-game__header-menu--main button:hover {
        background: var(--sky-accent-hover);
        color: var(--sky-text);
    }

    & .airport-game__overview-panel {
        top: var(--sky-header-offset);
        left: 8px;
        z-index: 35;
        display: grid;
        gap: 10px;
        width: 222px;
        max-height: min(430px, calc(var(--sky-game-viewport-height) - 164px));
        overflow: auto;
        color: var(--sky-text);
        scrollbar-width: thin;
        scrollbar-color: var(--sky-scrollbar-thumb) transparent;
    }

    & .airport-game__overview-airports,
    & .airport-game__overview-airlines {
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel);
    }

    & .airport-game__overview-head {
        padding: 10px 16px;
        border-bottom: 1px solid var(--sky-line);
        background: var(--sky-panel-head);
        font-size: 14px;
        font-weight: 500;
    }

    & .airport-game__overview-head span,
    & .airport-game__overview-section-head span {
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.4px;
        text-transform: uppercase;
    }

    & .airport-game__overview-section {
        display: grid;
        gap: 8px;
        min-width: 0;
        padding: 10px 16px;
        background: var(--sky-panel);
    }

    & .airport-game__overview-section-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        color: var(--sky-text-muted);
    }

    & .airport-game__overview-section-head button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
        border: 1px solid transparent;
        border-radius: 4px;
        background: transparent;
        color: var(--sky-text-muted);
        cursor: pointer;
        transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
    }

    & .airport-game__overview-section-head button:hover {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .airport-game__overview-section.is-collapsed {
        gap: 0;
    }

    & .airport-game__overview-section.is-collapsed > :not(.airport-game__overview-section-head) {
        display: none !important;
    }

    & .airport-game__overview-list {
        display: grid;
        gap: 0;
        min-width: 0;
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
    }

    & .airport-game__overview-row {
        display: grid;
        grid-template-columns: 18px 38px minmax(0, 1fr) 18px 28px;
        align-items: center;
        gap: 6px;
        width: 100%;
        min-width: 0;
        padding: 8px;
        border: 0;
        border-bottom: 1px solid var(--sky-line);
        background: transparent;
        color: inherit;
        text-align: left;
    }

    & button.airport-game__overview-row {
        cursor: pointer;
        transition: background 0.15s ease;
    }

    & button.airport-game__overview-row:hover {
        background: var(--sky-accent-hover);
    }

    & .airport-game__overview-row:last-child {
        border-bottom: 0;
    }

    & .airport-game__overview-row--airline {
        grid-template-columns: 18px minmax(0, 1fr) minmax(58px, auto);
    }

    & .airport-game__overview-row strong,
    & .airport-game__overview-row span,
    & .airport-game__overview-score {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__overview-row strong {
        color: var(--sky-text);
        font-size: 11px;
        font-weight: 1000;
    }

    & .airport-game__overview-row span {
        color: var(--sky-text-soft);
        font-size: 10px;
        font-weight: 800;
    }

    & .airport-game__overview-flag,
    & .airport-game__overview-airline-logo {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        object-fit: contain;
    }

    & .airport-game__overview-flag {
        height: 13px;
        border-radius: 2px;
        object-fit: cover;
    }

    & .airport-game__overview-flag--fallback {
        height: 16px;
        background: var(--sky-accent-soft);
        color: var(--sky-accent);
        font-size: 8px;
        font-weight: 1000;
    }

    & .airport-game__overview-metric-icon {
        color: var(--sky-accent);
        font-size: 13px;
    }

    & .airport-game__overview-score {
        color: var(--sky-text-soft);
        font-size: 10px;
        font-style: normal;
        font-weight: 1000;
        text-align: right;
    }

    & .airport-game__overview-score--excellent,
    & .airport-game__overview-score--good {
        color: var(--sky-success);
    }

    & .airport-game__overview-score--warning {
        color: var(--sky-warning);
    }

    & .airport-game__overview-score--danger {
        color: var(--sky-danger);
    }

    & .airport-game__overview-empty {
        display: block;
        padding: 8px;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-align: center;
    }

    & .airport-game__overview-action,
    & .airport-game__compact-button,
    & .airport-game__context-action,
    & .airport-game__modal-action,
    & .airport-game__unique-upgrade button,
    & .airport-game__airline-row button {
        min-height: 30px;
        border: 1px solid var(--sky-button-border);
        border-radius: 4px;
        background: var(--sky-panel-raised);
        color: var(--sky-text-soft);
        font: inherit;
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.4px;
        text-decoration: none;
        cursor: pointer;
        transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
    }

    & .airport-game__overview-action:hover,
    & .airport-game__overview-action.is-active,
    & .airport-game__overview-action:focus-visible,
    & .airport-game__compact-button:hover,
    & .airport-game__compact-button:focus-visible,
    & .airport-game__context-action:hover,
    & .airport-game__context-action:focus-visible,
    & .airport-game__unique-upgrade button:hover,
    & .airport-game__unique-upgrade button:focus-visible,
    & .airport-game__airline-row button:hover {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.16);
        color: var(--sky-text);
    }

    & .airport-game__overview-action:active,
    & .airport-game__compact-button:active,
    & .airport-game__context-action:active,
    & .airport-game__unique-upgrade button:active,
    & .airport-game__airline-row button:active {
        transform: translateY(1px);
    }

    & .airport-game__overview-action {
        width: 100%;
    }

    & .airport-game__module-nav {
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        z-index: 42;
        display: grid;
        grid-template-columns: repeat(8, minmax(66px, 1fr));
        gap: 6px;
        padding: 6px 6px calc(6px + var(--sky-safe-area-bottom));
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius) 0 0 var(--sky-radius);
        background: var(--sky-panel-glass);
        box-shadow: var(--sky-shadow);
    }

    & .airport-game__module-nav button {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-width: 0;
        min-height: 44px;
        border: 0;
        border-radius: 5px;
        background: transparent;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 900;
        cursor: pointer;
    }

    & .airport-game__module-nav button:hover,
    & .airport-game__module-nav button.is-active {
        background: var(--sky-accent-hover);
        color: var(--sky-text);
    }

    & .airport-game__module-nav button span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__module-nav button[data-finance-nav].is-billing-due,
    & .airport-game__module-nav button[data-finance-nav].is-billing-warning {
        background: rgb(var(--sky-warning-rgb) / 0.15);
        color: var(--sky-warning);
    }

    & .airport-game__module-nav button[data-finance-nav].is-billing-danger,
    & .airport-game__module-nav button[data-finance-nav].is-billing-critical {
        background: rgb(var(--sky-danger-rgb) / 0.18);
        color: var(--sky-danger);
    }

    & .airport-game__module-nav button[data-finance-nav] strong {
        position: absolute;
        top: 4px;
        right: 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        border-radius: 999px;
        background: var(--sky-warning);
        color: var(--sky-bg-deep);
        font-size: 10px;
        font-weight: 1000;
        line-height: 1;
    }

    & .airport-game__module-nav button[data-finance-nav].is-billing-danger strong,
    & .airport-game__module-nav button[data-finance-nav].is-billing-critical strong {
        background: var(--sky-danger);
        color: #ffffff;
    }

    & .airport-game__module-drawer {
        top: var(--sky-header-offset);
        right: 16px;
        z-index: 55;
        display: none;
        width: min(520px, calc(100vw - 32px));
        max-height: calc(var(--sky-game-viewport-height) - 160px);
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel-glass-strong);
        box-shadow: var(--sky-shadow);
    }

    & .airport-game__module-drawer.is-open {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
    }

    & .airport-game__module-drawer.is-open.is-panel-finance {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    & .airport-game__module-head,
    & .airport-game__event-feed-head,
    & .airport-game__dashboard-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 44px;
        padding: 10px 12px;
        border-bottom: 1px solid var(--sky-line);
        background: var(--sky-panel-head);
    }

    & .airport-game__module-head strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
    }

    & .airport-game__module-head button,
    & .airport-game__event-feed-head button,
    & .airport-game__dashboard-head button,
    & .airport-game__module-section-head button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: 1px solid var(--sky-line);
        border-radius: 5px;
        background: var(--sky-panel-raised);
        color: var(--sky-text-soft);
        cursor: pointer;
    }

    & [data-event-filter-toggle].is-filtered {
        border-color: var(--sky-accent);
        background: var(--sky-accent-hover);
        color: var(--sky-accent);
    }

    & .airport-game__dashboard-head span {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.6px;
        line-height: 1.1;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__dashboard-head span strong {
        display: inline-flex;
        align-items: center;
        margin-left: 6px;
        padding: 2px 6px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 4px;
        background: var(--sky-panel-raised);
        color: var(--sky-accent);
        font-size: 10px;
        line-height: 1;
        vertical-align: middle;
    }

    & .airport-game__dashboard-head span strong:empty {
        display: none;
    }

    & .airport-game__dashboard-actions {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 6px;
    }

    & .airport-game__event-filter {
        position: absolute;
        top: 50px;
        right: 10px;
        z-index: 25;
        display: grid;
        gap: 6px;
        width: max-content;
        min-width: 170px;
        max-width: min(240px, calc(100% - 20px));
        padding: 8px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        box-shadow: 0 14px 30px rgb(0 0 0 / 0.24);
    }

    & .airport-game__event-filter[hidden] {
        display: none;
    }

    & .airport-game__event-filter label {
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 28px;
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 800;
        cursor: pointer;
    }

    & .airport-game__event-filter input {
        width: 14px;
        height: 14px;
        accent-color: var(--sky-accent);
    }

    & .airport-game__contracts {
        display: grid;
        gap: 12px;
    }

    & .airport-game__contracts-empty {
        display: grid;
        justify-items: center;
        gap: 8px;
        padding: 20px 14px;
        border: 1px dashed var(--sky-line-strong);
        border-radius: 8px;
        background: var(--sky-panel-raised);
        color: var(--sky-text-muted);
        text-align: center;
    }

    & .airport-game__contracts-empty i {
        color: var(--sky-accent);
        font-size: 20px;
    }

    & .airport-game__contracts-empty strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 18px;
    }

    & .airport-game__contracts-empty span {
        max-width: 260px;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.35;
    }

    & .airport-game__contracts-summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(76px, auto) minmax(92px, auto);
        gap: 10px;
        align-items: stretch;
        padding: 12px;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: var(--sky-panel-raised);
    }

    & .airport-game__contracts-summary-main,
    & .airport-game__contracts-summary-stat {
        display: grid;
        min-width: 0;
        align-content: center;
        gap: 5px;
    }

    & .airport-game__contracts-summary-stat {
        justify-items: end;
        padding-left: 10px;
        border-left: 1px solid var(--sky-line-soft);
        text-align: right;
    }

    & .airport-game__contracts-summary span,
    & .airport-game__contract-card small,
    & .airport-game__contract-meta span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
        line-height: 1.25;
    }

    & .airport-game__contracts-summary strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 15px;
        line-height: 1.12;
    }

    & .airport-game__contracts-summary-main strong {
        overflow-wrap: anywhere;
    }

    & .airport-game__contracts-summary-stat strong {
        font-size: 22px;
    }

    & .airport-game__contracts-list {
        display: grid;
        gap: 10px;
    }

    & .airport-game__contracts-group {
        display: grid;
        gap: 8px;
    }

    & .airport-game__contracts-group > span {
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 1000;
        letter-spacing: 0.6px;
        text-transform: uppercase;
    }

    & .airport-game__contract-card {
        display: grid;
        gap: 10px;
        padding: 12px;
        border: 1px solid var(--sky-line);
        border-radius: 8px;
        background: rgb(6 24 39 / 0.78);
    }

    & .airport-game__contract-card.is-ready {
        border-color: rgb(var(--sky-success-rgb) / 0.5);
        background: linear-gradient(135deg, rgb(var(--sky-success-rgb) / 0.13), rgb(6 24 39 / 0.86));
    }

    & .airport-game__contract-card.is-tender {
        border-color: rgb(var(--sky-warning-rgb) / 0.3);
        background: linear-gradient(135deg, rgb(var(--sky-warning-rgb) / 0.09), rgb(6 24 39 / 0.82));
    }

    & .airport-game__contract-card.is-claimed {
        opacity: 0.72;
    }

    & .airport-game__contract-card.is-upcoming,
    & .airport-game__contract-card.is-expired {
        background: rgb(6 24 39 / 0.55);
    }

    & .airport-game__contract-card.is-expired {
        opacity: 0.58;
    }

    & .airport-game__contract-head {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
    }

    & .airport-game__contract-head i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 7px;
        background: var(--sky-panel-head);
        color: var(--sky-accent);
    }

    & .airport-game__contract-head h3 {
        margin: 0;
        overflow: hidden;
        color: var(--sky-text);
        font-size: 14px;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__contract-reward {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 2px;
        color: var(--sky-success);
        font-size: 12px;
        font-weight: 1000;
        line-height: 1.05;
        white-space: nowrap;
    }

    & .airport-game__contract-reward small {
        color: rgba(219, 245, 255, 0.72);
        font-size: 10px;
        font-weight: 800;
    }

    & .airport-game__contract-schedule {
        display: inline-flex;
        width: fit-content;
        max-width: 100%;
        align-items: center;
        gap: 6px;
        padding: 5px 8px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 7px;
        background: rgb(255 255 255 / 0.05);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__contract-schedule i {
        color: var(--sky-accent);
    }

    & .airport-game__contract-progress {
        display: grid;
        gap: 6px;
    }

    & .airport-game__contract-progress-bar {
        height: 8px;
        overflow: hidden;
        border-radius: 999px;
        background: rgb(255 255 255 / 0.08);
    }

    & .airport-game__contract-progress-bar i {
        display: block;
        width: var(--contract-progress, 0%);
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--sky-accent), var(--sky-success));
    }

    & .airport-game__contract-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        justify-content: space-between;
    }

    & .airport-game__contract-meta span {
        display: inline-flex;
        align-items: center;
        min-height: 24px;
        padding: 4px 8px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 999px;
        background: rgb(255 255 255 / 0.05);
        white-space: nowrap;
    }

    & .airport-game__contract-rank {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 2px 10px;
        align-items: center;
        padding: 8px 10px;
        border: 1px solid rgb(var(--sky-warning-rgb) / 0.22);
        border-radius: 7px;
        background: rgb(var(--sky-warning-rgb) / 0.08);
    }

    & .airport-game__contract-rank span {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__contract-rank strong {
        grid-row: span 2;
        color: var(--sky-warning);
        font-size: 16px;
        font-weight: 1000;
    }

    & .airport-game__contract-rank em {
        min-width: 0;
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-style: normal;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__contract-scoring {
        display: grid;
        grid-template-columns: 16px minmax(0, 1fr);
        gap: 7px;
        align-items: start;
        padding: 7px 9px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.18);
        border-radius: 7px;
        background: rgb(var(--sky-accent-rgb) / 0.07);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 800;
        line-height: 1.35;
    }

    & .airport-game__contract-scoring i {
        margin-top: 1px;
        color: var(--sky-accent);
    }

    & .airport-game__contract-meta strong {
        display: inline-flex;
        align-items: center;
        min-height: 24px;
        padding: 4px 8px;
        border-radius: 999px;
        background: rgb(var(--sky-accent-rgb) / 0.1);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__contract-card button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 36px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 900;
        cursor: pointer;
    }

    & .airport-game__contract-card button:not(:disabled):hover {
        border-color: rgb(var(--sky-success-rgb) / 0.55);
        background: rgb(var(--sky-success-rgb) / 0.16);
    }

    & .airport-game__contract-card button:disabled {
        cursor: default;
        opacity: 0.64;
    }

    & .airport-game__module-body {
        display: grid;
        grid-template-rows: minmax(0, 1fr);
        min-height: 0;
        overflow: auto;
        padding: 14px;
    }

    & .airport-game__module-drawer.is-panel-finance .airport-game__module-body {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
    }

    & .airport-game__module-section-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-width: 0;
    }

    & .airport-game__module-section {
        position: relative;
        display: grid;
        gap: 14px;
        min-height: 0;
        overflow: auto;
    }

    & .airport-game__module-section[data-game-panel="routes"] {
        max-width: 100%;
        min-width: 0;
        overflow: visible;
    }

    & .airport-game__module-section[hidden] {
        display: none;
    }

    & .airport-game__module-section--finance {
        align-content: start;
        display: grid;
        grid-template-rows: none;
        gap: 10px;
        min-height: auto;
        overflow: visible;
    }

    & .airport-game__market-ops {
        display: grid;
        gap: 12px;
        min-height: 0;
    }

    & .airport-game__market-ops-summary {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    & .airport-game__market-ops-summary div,
    & .airport-game__market-op,
    & .airport-game__market-ops-empty {
        border: 1px solid var(--sky-line-soft);
        border-radius: 6px;
        background: var(--sky-raised-glass);
    }

    & .airport-game__market-ops-summary div {
        display: grid;
        gap: 4px;
        padding: 10px;
    }

    & .airport-game__market-ops-summary span,
    & .airport-game__market-op header span,
    & .airport-game__market-op em,
    & .airport-game__market-op small,
    & .airport-game__market-op li {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-style: normal;
    }

    & .airport-game__market-ops-summary strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
        font-size: 16px;
    }

    & .airport-game__market-ops-list {
        display: grid;
        gap: 8px;
    }

    & .airport-game__market-ops-group {
        display: grid;
        gap: 8px;
    }

    & .airport-game__market-ops-group > span {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.45px;
        text-transform: uppercase;
    }

    & .airport-game__market-op {
        display: grid;
        gap: 8px;
        padding: 10px;
        cursor: pointer;
        transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    }

    & .airport-game__market-op:hover,
    & .airport-game__market-op:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.12);
    }

    & .airport-game__market-op.is-offense {
        border-color: rgb(var(--sky-success-rgb) / 0.32);
    }

    & .airport-game__market-op.is-defense {
        border-color: rgb(var(--sky-danger-rgb) / 0.36);
    }

    & .airport-game__market-op.is-offense:hover,
    & .airport-game__market-op.is-offense:focus-visible,
    & .airport-game__market-op.is-defense:hover,
    & .airport-game__market-op.is-defense:focus-visible,
    & .airport-game__market-op.is-neutral:hover,
    & .airport-game__market-op.is-neutral:focus-visible {
        border-color: var(--sky-button-border-hover);
    }

    & .airport-game__market-op header,
    & .airport-game__market-op-body p {
        display: grid;
        gap: 3px;
        margin: 0;
    }

    & .airport-game__market-op header strong,
    & .airport-game__market-op-body b {
        color: var(--sky-text);
    }

    & .airport-game__market-op ul {
        display: grid;
        gap: 4px;
        margin: 8px 0 0;
        padding: 0;
        list-style: none;
    }

    & .airport-game__market-op li strong {
        color: var(--sky-text);
    }

    & .airport-game__market-op-action {
        width: fit-content;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin-top: 2px;
        padding: 7px 10px;
        border: 1px solid rgb(var(--sky-danger-rgb) / 0.34);
        border-radius: 8px;
        background: rgb(var(--sky-danger-rgb) / 0.1);
        color: var(--sky-danger);
        font-size: 12px;
        font-weight: 850;
        cursor: pointer;
    }

    & .airport-game__market-op-action:disabled {
        cursor: not-allowed;
        opacity: .48;
    }

    & .airport-game__market-ops-empty {
        display: grid;
        place-items: center;
        gap: 8px;
        min-height: 220px;
        padding: 24px;
        color: var(--sky-text-muted);
        text-align: center;
    }

    & .airport-game__market-ops-empty i {
        color: var(--sky-accent);
        font-size: 24px;
    }

    & .airport-game__market-ops-empty strong {
        color: var(--sky-text);
        font-family: var(--sky-display-font);
    }

    & .airport-game__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.6px;
        text-transform: uppercase;
    }

    & .airport-game__muted,
    & .airport-game__empty {
        color: var(--sky-text-muted);
    }

    & .airport-game__selected,
    & .airport-game__owned,
    & .airport-game__countries,
    & .airport-game__players,
    & .airport-game__advisor,
    & .airport-game__leaderboard,
    & .airport-game__finance,
    & .airport-game__airline-list {
        display: grid;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__airlines-panel {
        display: grid;
        gap: 14px;
        min-width: 0;
    }

    & .airport-game__country-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    & .airport-game__country-summary div,
    & .airport-game__country-row {
        border: 1px solid var(--sky-line);
        border-radius: 7px;
        background: var(--sky-raised-glass);
    }

    & .airport-game__country-summary div {
        padding: 10px;
    }

    & .airport-game__country-summary span,
    & .airport-game__country-main small,
    & .airport-game__country-stats em,
    & .airport-game__country-note {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__country-summary strong {
        display: block;
        margin-top: 4px;
        color: var(--sky-text);
        font-size: 15px;
    }

    & .airport-game__country-note {
        margin: 0;
        line-height: 1.45;
    }

    & .airport-game__country-row {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-width: 0;
        padding: 10px;
    }

    & .airport-game__country-row.is-conquered {
        border-color: rgb(var(--sky-success-rgb) / 0.38);
        background: rgb(var(--sky-success-rgb) / 0.10);
    }

    & .airport-game__country-main {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__country-main strong,
    & .airport-game__country-main small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__country-main i {
        display: block;
        height: 4px;
        overflow: hidden;
        border-radius: 999px;
        background: rgb(255 255 255 / 0.08);
    }

    & .airport-game__country-main i::before {
        content: "";
        display: block;
        width: var(--country-progress, 0%);
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, var(--sky-accent), var(--sky-success));
    }

    & .airport-game__country-stats {
        display: grid;
        gap: 3px;
        justify-items: end;
        white-space: nowrap;
    }

    & .airport-game__country-stats b {
        color: var(--sky-text);
        font-size: 12px;
    }

    & .airport-game__airlines-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 16px;
        padding-bottom: 2px;
    }

    & .airport-game__airlines-head > div {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__airlines-head strong {
        color: var(--sky-text);
        font-size: 20px;
        font-weight: 950;
        line-height: 1.1;
    }

    & .airport-game__airlines-head em {
        justify-self: end;
        color: var(--sky-success);
        font-size: 18px;
        font-style: normal;
        font-weight: 950;
        white-space: nowrap;
    }

    & .airport-game__airlines-note {
        max-width: 760px;
        margin: 0;
        color: var(--sky-text-soft);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.45;
    }

    & .airport-game__selected-title {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 12px;
    }

    & .airport-game__selected-title strong,
    & .airport-game__management-head strong {
        color: var(--sky-text);
        font-size: 18px;
    }

    & .airport-game__selected-code,
    & .airport-game__management-head em {
        color: var(--sky-accent);
        font-style: normal;
        font-weight: 900;
    }

    & .airport-game__selected-grid,
    & .airport-game__finance-summary,
    & .airport-game__management-summary,
    & .airport-game__fullscreen-bar-stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    & .airport-game__mini-stat,
    & .airport-game__finance-summary div,
    & .airport-game__management-summary div,
    & .airport-game__fullscreen-bar-stats div {
        display: grid;
        gap: 5px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-raised-glass);
    }

    & .airport-game__mini-stat span,
    & .airport-game__finance-summary span,
    & .airport-game__management-summary span,
    & .airport-game__fullscreen-bar-stats span {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__mini-stat strong,
    & .airport-game__finance-summary strong,
    & .airport-game__management-summary strong,
    & .airport-game__fullscreen-bar-stats strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 15px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-actions,
    & .airport-game__fullscreen-bar-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        color: var(--sky-text-soft);
        font-size: 12px;
    }

    & .airport-game__finance-actions {
        padding: 8px 10px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.62);
        border-radius: 7px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.20);
    }

    & .airport-game__finance-actions > span {
        min-width: min(100%, 240px);
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 850;
        line-height: 1.35;
    }

    & .airport-game__finance-risk {
        display: grid;
        gap: 10px;
        padding: 12px;
        border: 1px solid rgb(var(--sky-success-rgb) / 0.42);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-success-rgb) / 0.10);
    }

    & .airport-game__finance-risk.is-risk-warning {
        border-color: rgb(var(--sky-warning-rgb) / 0.46);
        background: rgb(var(--sky-warning-rgb) / 0.12);
    }

    & .airport-game__finance-risk.is-risk-danger,
    & .airport-game__finance-risk.is-risk-critical {
        border-color: rgb(var(--sky-danger-rgb) / 0.54);
        background: rgb(var(--sky-danger-rgb) / 0.14);
    }

    & .airport-game__finance-risk > div:first-child {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 28px;
        align-items: center;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__finance-risk span,
    & .airport-game__finance-risk dt {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__finance-risk strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 16px;
        font-weight: 900;
        text-align: right;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-risk button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.62);
        border-radius: 5px;
        background: rgb(255 255 255 / 0.045);
        color: var(--sky-text-soft);
        cursor: pointer;
    }

    & .airport-game__finance-risk button:hover,
    & .airport-game__finance-risk button:focus-visible {
        border-color: rgb(var(--sky-accent-rgb) / 0.5);
        color: var(--sky-text);
    }

    & .airport-game__finance-risk p {
        margin: 0;
        color: var(--sky-text-soft);
        font-size: 12px;
        line-height: 1.45;
    }

    & .airport-game__finance-risk dl {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin: 0;
    }

    & .airport-game__finance-risk dl div {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__finance-risk dd {
        margin: 0;
        overflow: hidden;
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-breakdown {
        min-height: 0;
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-bg-deep-rgb) / 0.26);
    }

    & .airport-game__finance-breakdown summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto 18px;
        align-items: center;
        gap: 10px;
        min-width: 0;
        min-height: 44px;
        padding: 8px 12px;
        cursor: pointer;
        list-style: none;
    }

    & .airport-game__finance-breakdown summary::-webkit-details-marker {
        display: none;
    }

    & .airport-game__finance-breakdown summary span,
    & .airport-game__finance-breakdown-group > b {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__finance-breakdown summary strong {
        overflow: hidden;
        color: var(--sky-success);
        font-size: 13px;
        font-weight: 950;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-breakdown summary strong.is-negative {
        color: var(--sky-danger);
    }

    & .airport-game__finance-breakdown summary i {
        color: var(--sky-text-muted);
        font-size: 12px;
        transition: transform 0.18s ease;
    }

    & .airport-game__finance-breakdown[open] summary i {
        transform: rotate(180deg);
    }

    & .airport-game__finance-breakdown-body {
        display: grid;
        gap: 6px;
        max-height: none;
        overflow: visible;
        padding: 0 8px 8px;
    }

    & .airport-game__finance-breakdown-list,
    & .airport-game__finance-breakdown-group {
        display: grid;
        gap: 6px;
        min-width: 0;
    }

    & .airport-game__finance-breakdown-group {
        padding-top: 2px;
    }

    & .airport-game__finance-breakdown-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-width: 0;
        min-height: 42px;
        padding: 6px 8px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.62);
        border-radius: 7px;
        background: rgb(255 255 255 / 0.045);
    }

    & .airport-game__finance-breakdown-row.is-compact {
        min-height: 38px;
        padding: 5px 8px;
        background: rgb(255 255 255 / 0.03);
    }

    & .airport-game__finance-breakdown-row span {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    & .airport-game__finance-breakdown-row strong,
    & .airport-game__finance-breakdown-row small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-breakdown-row strong {
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 900;
    }

    & .airport-game__finance-breakdown-row small {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 800;
    }

    & .airport-game__finance-breakdown-row em {
        color: var(--sky-success);
        font-size: 12px;
        font-style: normal;
        font-weight: 950;
        white-space: nowrap;
    }

    & .airport-game__finance-breakdown-row.is-negative em {
        color: var(--sky-danger);
    }

    & .airport-game__finance-ledger {
        display: grid;
        grid-template-rows: auto minmax(0, auto);
        max-height: none;
        min-height: 0;
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-bg-deep-rgb) / 0.18);
    }

    & .airport-game__finance-ledger-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-height: 34px;
        padding: 8px 10px;
        border-bottom: 1px solid rgb(var(--sky-line-rgb) / 0.58);
        background: rgb(255 255 255 / 0.035);
    }

    & .airport-game__finance-ledger-head span {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__finance-ledger .airport-game__finance {
        align-content: start;
        max-height: clamp(220px, 46vh, 420px);
        min-height: 0;
        overflow: auto;
        padding: 8px;
    }

    & [data-finance-panel].is-billing-due .airport-game__finance-actions,
    & [data-finance-panel].is-billing-warning .airport-game__finance-actions {
        border-color: rgb(var(--sky-warning-rgb) / 0.34);
        background: rgb(var(--sky-warning-rgb) / 0.08);
        color: rgb(255 221 158);
    }

    & [data-finance-panel].is-billing-danger .airport-game__finance-actions,
    & [data-finance-panel].is-billing-critical .airport-game__finance-actions {
        border-color: rgb(var(--sky-danger-rgb) / 0.40);
        background: rgb(var(--sky-danger-rgb) / 0.10);
        color: rgb(255 202 207);
    }

    & [data-finance-panel].is-billing-warning [data-action="pay-all-invoices"],
    & [data-finance-panel].is-billing-danger [data-action="pay-all-invoices"],
    & [data-finance-panel].is-billing-critical [data-action="pay-all-invoices"] {
        border-color: rgb(var(--sky-danger-rgb) / 0.58);
        background: var(--sky-danger-dark);
        color: #ffffff;
    }

    & .airport-game__invoice-list {
        display: grid;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__invoice-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 40px;
        align-items: start;
        gap: 12px;
        min-width: 0;
        padding: 14px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.68);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-bg-deep-rgb) / 0.26);
    }

    & .airport-game__invoice-row.is-overdue {
        border-color: rgb(var(--sky-danger-rgb) / 0.46);
        background: rgb(var(--sky-danger-rgb) / 0.10);
    }

    & .airport-game__invoice-main,
    & .airport-game__invoice-title {
        min-width: 0;
    }

    & .airport-game__invoice-main {
        display: grid;
        gap: 6px;
    }

    & .airport-game__invoice-title {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    & .airport-game__invoice-title strong,
    & .airport-game__invoice-title em {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__invoice-title strong {
        color: var(--sky-text);
        font-size: 15px;
        font-weight: 950;
    }

    & .airport-game__invoice-title em {
        color: var(--sky-warning);
        font-size: 12px;
        font-style: normal;
        font-weight: 950;
    }

    & .airport-game__invoice-row.is-overdue .airport-game__invoice-title em {
        color: var(--sky-danger);
    }

    & .airport-game__invoice-main small {
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 800;
        line-height: 1.35;
    }

    & .airport-game__invoice-amounts {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin: 0;
        min-width: 0;
    }

    & .airport-game__invoice-amounts div {
        display: grid;
        gap: 4px;
        min-width: 0;
        padding: 8px 10px;
        border: 1px solid rgb(var(--sky-line-rgb) / 0.46);
        border-radius: 7px;
        background: rgb(255 255 255 / 0.035);
    }

    & .airport-game__invoice-amounts dt,
    & .airport-game__invoice-amounts dd {
        overflow: hidden;
        margin: 0;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__invoice-amounts dt {
        color: var(--sky-text-muted);
        font-size: 9px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__invoice-amounts dd {
        color: var(--sky-text);
        font-size: 14px;
        font-weight: 950;
    }

    & .airport-game__invoice-amounts dd.is-negative {
        color: var(--sky-danger);
    }

    & .airport-game__icon-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: 1px solid var(--sky-button-border);
        border-radius: 4px;
        background: var(--sky-panel-raised);
        color: var(--sky-text-soft);
        cursor: pointer;
    }

    & .airport-game__icon-button:hover,
    & .airport-game__icon-button:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .airport-game__icon-button:disabled {
        cursor: not-allowed;
        opacity: 0.48;
    }

    & .airport-game__finance-row,
    & .airport-game__log-row,
    & .airport-game__owned-row,
    & .airport-game__player-row,
    & .airport-game__airline-row {
        display: grid;
        justify-items: start;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-raised-glass);
    }

    & .airport-game__finance-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    & .airport-game__log-row {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    & .airport-game__log-empty {
        padding: 10px;
        border: 1px dashed var(--sky-line);
        border-radius: var(--sky-radius);
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 800;
        text-align: center;
    }

    & .airport-game__owned-row {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        text-align: left;
    }

    & .airport-game__owned-sort {
        position: relative;
        display: grid;
        gap: 6px;
        min-width: 0;
        padding: 9px 10px 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-raised-glass);
        color: var(--sky-text-soft);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__owned-sort::after {
        content: "";
        position: absolute;
        right: 22px;
        bottom: 25px;
        width: 7px;
        height: 7px;
        border-right: 2px solid var(--sky-text-soft);
        border-bottom: 2px solid var(--sky-text-soft);
        transform: rotate(45deg);
        pointer-events: none;
    }

    & .airport-game__owned-sort select {
        appearance: none;
        min-width: 0;
        width: 100%;
        min-height: 38px;
        padding: 0 34px 0 12px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 800;
        text-transform: none;
    }

    & .airport-game__player-row {
        grid-template-columns: 14px minmax(0, 1fr) auto;
    }

    & .airport-game__airline-row {
        grid-template-columns: 48px minmax(0, 1fr) minmax(134px, auto);
        gap: 14px;
        min-height: 86px;
        padding: 14px;
    }

    & .airport-game__airline-actions {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        min-width: 134px;
    }

    & .airport-game__airline-actions button {
        min-height: 44px;
        width: 100%;
        padding-inline: 14px;
        white-space: nowrap;
    }

    & .airport-game__airline-main {
        display: grid;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__airline-title {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__airline-title strong {
        min-width: 0;
        overflow-wrap: anywhere;
        font-size: 15px;
        line-height: 1.15;
    }

    & .airport-game__airline-title span {
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 950;
        letter-spacing: 0.4px;
    }

    & .airport-game__airline-tags,
    & .airport-game__airline-metrics {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        min-width: 0;
    }

    & .airport-game__airline-tags span,
    & .airport-game__airline-metrics span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-height: 24px;
        padding: 4px 8px;
        border: 1px solid rgb(255 255 255 / 0.10);
        border-radius: 999px;
        background: rgb(255 255 255 / 0.05);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 850;
        line-height: 1.2;
        white-space: nowrap;
    }

    & .airport-game__airline-metrics span {
        border-color: rgb(var(--sky-accent-rgb) / 0.16);
        background: rgb(var(--sky-accent-rgb) / 0.07);
        color: var(--sky-text);
    }

    & .airport-game__airline-metrics b {
        color: var(--sky-text-muted);
        font-size: 9px;
        font-weight: 950;
        text-transform: uppercase;
    }

    & .airport-game__airline-note {
        margin: 0;
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 800;
        line-height: 1.35;
    }

    & .airport-game__airline-explain {
        margin: 0;
        color: var(--sky-modal-text-soft);
        font-size: 12px;
        font-weight: 800;
        line-height: 1.45;
    }

    & .airport-game__airline-breakdown {
        display: grid;
        gap: 6px;
        min-width: 0;
    }

    & .airport-game__airline-advice {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__airline-advice-card {
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-raised-glass);
    }

    & .airport-game__airline-advice-card.is-primary {
        border-color: rgb(var(--sky-accent-rgb) / 0.48);
        background: rgb(var(--sky-accent-rgb) / 0.12);
    }

    & .airport-game__airline-advice-card span {
        display: block;
        margin-bottom: 4px;
        color: var(--sky-accent);
        font-size: 10px;
        font-weight: 950;
        text-transform: uppercase;
    }

    & .airport-game__airline-advice-card strong {
        display: block;
        color: var(--sky-modal-text);
        font-size: 13px;
        font-weight: 950;
        line-height: 1.2;
    }

    & .airport-game__airline-advice-card p {
        margin: 5px 0 0;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 750;
        line-height: 1.35;
    }

    & .airport-game__airline-breakdown-row {
        display: grid;
        grid-template-columns: minmax(110px, 0.72fr) minmax(84px, auto) minmax(0, 1.4fr);
        align-items: center;
        gap: 8px;
        min-width: 0;
        padding: 8px 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-raised-glass);
    }

    & .airport-game__airline-breakdown-row span {
        min-width: 0;
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 950;
        text-transform: uppercase;
    }

    & .airport-game__airline-breakdown-row strong {
        color: var(--sky-modal-text);
        font-size: 12px;
        font-weight: 950;
        white-space: nowrap;
    }

    & .airport-game__airline-breakdown-row em {
        min-width: 0;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-style: normal;
        font-weight: 750;
        line-height: 1.3;
    }

    & .airport-game__airline-row.is-rival-owned {
        border-color: color-mix(in srgb, var(--sky-warning) 34%, var(--sky-line));
        background: color-mix(in srgb, var(--sky-warning) 9%, var(--sky-raised-glass));
    }

    & .airport-game__airline-row.is-owned {
        border-color: rgb(var(--sky-accent-rgb) / 0.42);
        background: rgb(var(--sky-accent-rgb) / 0.09);
    }

    & .airport-game__finance-row strong,
    & .airport-game__log-row strong,
    & .airport-game__owned-row strong,
    & .airport-game__player-row strong,
    & .airport-game__airline-row strong {
        color: var(--sky-text);
        font-size: 12px;
    }

    & .airport-game__owned-flag {
        width: 30px;
        height: 22px;
        border: 1px solid rgb(255 255 255 / 0.14);
        border-radius: 4px;
        object-fit: cover;
        box-shadow: 0 6px 14px rgb(0 0 0 / 0.18);
    }

    & .airport-game__owned-flag--fallback {
        display: grid;
        place-items: center;
        background: rgb(255 255 255 / 0.08);
        color: var(--sky-text-soft);
        font-size: 9px;
        font-weight: 900;
    }

    & .airport-game__owned-main {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    & .airport-game__owned-main strong,
    & .airport-game__owned-main small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__owned-main small {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__owned-stats {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 6px;
        min-width: 0;
    }

    & .airport-game__owned-stats span {
        padding: 4px 7px;
        border: 1px solid rgb(255 255 255 / 0.1);
        border-radius: 999px;
        background: rgb(255 255 255 / 0.06);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 800;
        white-space: nowrap;
    }

    & .airport-game__owned-stats b {
        color: var(--sky-text-muted);
        font-size: 9px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__finance-row span,
    & .airport-game__log-row span,
    & .airport-game__owned-row span,
    & .airport-game__player-row span,
    & .airport-game__airline-row span {
        color: var(--sky-text-soft);
        font-size: 12px;
        line-height: 1.35;
    }

    & .airport-game__owned-row .airport-game__owned-stats span {
        color: var(--sky-text-soft);
        font-size: 11px;
    }

    & .airport-game__airline-search-wrap {
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-height: 40px;
        padding: 0 12px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-text-soft);
    }

    & .airport-game__airline-search-wrap:focus-within {
        border-color: var(--sky-button-border-hover);
        box-shadow: 0 0 0 2px color-mix(in srgb, var(--sky-accent) 18%, transparent);
        color: var(--sky-text);
    }

    & .airport-game__airline-search {
        width: 100%;
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--sky-text);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
    }

    & .airport-game__airline-search::placeholder {
        color: var(--sky-text-muted);
        font-weight: 700;
    }

    & .airport-game__finance-row em {
        color: var(--sky-success);
        font-style: normal;
        font-weight: 900;
    }

    & .airport-game__finance-row.is-cost em {
        color: var(--sky-danger);
    }

    & .airport-game__log-row i,
    & .airport-game__log-airline,
    & .airport-game__airline-logo {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 5px;
        background: var(--sky-accent-hover);
        color: var(--sky-accent);
        overflow: hidden;
    }

    & .airport-game__airline-logo {
        width: 48px;
        height: 48px;
        border-radius: 8px;
        align-self: start;
    }

    & .airport-game__log-airline img,
    & .airport-game__airline-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    & .airport-game__airline-logo--modal {
        width: 38px;
        height: 38px;
        flex: 0 0 auto;
        background: var(--sky-icon-bg);
    }

    & .airport-game__log-row.is-player-event {
        border-color: color-mix(in srgb, var(--event-player-color, var(--sky-line)) 78%, var(--sky-line));
        background:
            linear-gradient(90deg, var(--event-player-bg, transparent), transparent 62%),
            var(--sky-raised-glass);
        box-shadow: inset 4px 0 0 var(--event-player-color, var(--sky-line));
    }

    & .airport-game__log-row.is-player-event i,
    & .airport-game__log-row.is-player-event .airport-game__log-airline {
        background: var(--event-player-color, var(--sky-accent));
        color: #fff;
        box-shadow: 0 0 0 3px var(--event-player-bg, transparent);
    }

    & .airport-game__log-player-name {
        color: var(--event-player-color, var(--sky-accent));
        font-weight: 950;
    }

    & .airport-game__log-amount {
        font-weight: 950;
        white-space: nowrap;
    }

    & .airport-game__log-amount.is-positive {
        color: var(--sky-success);
    }

    & .airport-game__log-amount.is-negative {
        color: var(--sky-danger);
    }

    & .airport-game__log-row.is-chat {
        border-color: var(--chat-player-color, var(--sky-line));
        box-shadow: inset 3px 0 0 var(--chat-player-color, transparent);
    }

    & .airport-game__player-color {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--player-color, var(--sky-accent));
    }

    & .airport-game__advisor {
        gap: 10px;
    }

    & .airport-game__advisor-card {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 12px;
        min-width: 0;
        padding: 12px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-raised-glass);
        box-shadow: inset 3px 0 0 var(--advisor-color, var(--sky-accent));
    }

    & .airport-game__advisor-card[data-advisor-airport] {
        cursor: pointer;
        transition: border-color 0.16s ease, transform 0.16s ease, background 0.16s ease;
    }

    & .airport-game__advisor-card[data-advisor-airport]:hover,
    & .airport-game__advisor-card[data-advisor-airport]:focus-visible {
        border-color: var(--advisor-color);
        background: color-mix(in srgb, var(--advisor-color) 8%, var(--sky-raised-glass));
        transform: translateY(-1px);
        outline: none;
    }

    & .airport-game__advisor-card.is-primary {
        --advisor-color: var(--sky-accent);
    }

    & .airport-game__advisor-card.is-warning {
        --advisor-color: rgb(var(--sky-warning-rgb));
        border-color: rgb(var(--sky-warning-rgb) / 0.46);
    }

    & .airport-game__advisor-card.is-danger {
        --advisor-color: rgb(var(--sky-danger-rgb));
        border-color: rgb(var(--sky-danger-rgb) / 0.54);
    }

    & .airport-game__advisor-card.is-stable {
        --advisor-color: rgb(var(--sky-success-rgb));
        border-color: rgb(var(--sky-success-rgb) / 0.42);
    }

    & .airport-game__advisor-card > i {
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: color-mix(in srgb, var(--advisor-color) 18%, transparent);
        color: var(--advisor-color);
        font-size: 15px;
    }

    & .airport-game__advisor-card div {
        display: grid;
        gap: 5px;
        min-width: 0;
    }

    & .airport-game__advisor-card strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 14px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__advisor-card p {
        margin: 0;
        color: var(--sky-text-soft);
        font-size: 12px;
        line-height: 1.45;
    }

    & .airport-game__advisor-card span {
        color: var(--advisor-color);
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__action-report {
        display: grid;
        gap: 16px;
    }

    & .airport-game__action-report header {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
    }

    & .airport-game__action-report header > i {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: var(--sky-accent-hover);
        color: var(--sky-accent);
        font-size: 18px;
    }

    & .airport-game__action-report header span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__action-report header strong {
        display: block;
        color: var(--sky-text);
        font-size: 20px;
        font-weight: 950;
        line-height: 1.15;
    }

    & .airport-game__action-report dl {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 0;
    }

    & .airport-game__action-report dl div {
        display: grid;
        gap: 5px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-raised-glass);
    }

    & .airport-game__action-report dt {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__action-report dd {
        margin: 0;
        overflow: hidden;
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__leaderboard {
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    & .airport-game__rank {
        --rank-medal-color: var(--sky-accent);
        --rank-medal-bg: var(--sky-accent-hover);
        position: relative;
        display: grid;
        grid-template-columns: 54px 42px minmax(0, 1fr) minmax(138px, auto);
        align-items: center;
        gap: 12px;
        min-width: 0;
        overflow: hidden;
        padding: 12px;
        border: 1px solid rgb(255 255 255 / 0.12);
        border-radius: var(--sky-radius);
        background:
            linear-gradient(90deg, rgb(var(--sky-bg-deep-rgb) / 0.76), rgb(var(--sky-bg-deep-rgb) / 0.34) 58%, rgb(var(--sky-bg-deep-rgb) / 0.6)),
            var(--rank-banner, var(--sky-raised-glass));
        cursor: pointer;
        transition: border-color var(--sky-transition), transform var(--sky-transition), background var(--sky-transition);
    }

    & .airport-game__rank > * {
        position: relative;
        z-index: 2;
    }

    & .airport-game__rank:hover,
    & .airport-game__rank:focus-visible {
        border-color: rgb(255 255 255 / 0.24);
        outline: none;
        transform: translateY(-1px);
    }

    & .airport-game__rank.is-rank-gold {
        --rank-medal-color: #d4af37;
        --rank-medal-bg: rgb(212 175 55 / 0.18);
    }

    & .airport-game__rank.is-rank-silver {
        --rank-medal-color: #c0c0c0;
        --rank-medal-bg: rgb(192 192 192 / 0.16);
    }

    & .airport-game__rank.is-rank-bronze {
        --rank-medal-color: #cd7f32;
        --rank-medal-bg: rgb(205 127 50 / 0.16);
    }

    & .airport-game__rank.is-self {
        border-color: rgb(var(--sky-accent-rgb) / 0.28);
    }

    & .airport-game__rank.is-lost {
        --rank-medal-color: rgb(var(--sky-danger-rgb));
        --rank-medal-bg: rgb(var(--sky-danger-rgb) / 0.12);
        background:
            linear-gradient(90deg, rgb(var(--sky-bg-deep-rgb) / 0.82), rgb(var(--sky-danger-rgb) / 0.1) 56%, rgb(var(--sky-bg-deep-rgb) / 0.62)),
            var(--rank-banner, var(--sky-raised-glass));
        opacity: 0.82;
    }

    & .airport-game__rank.is-lost .airport-game__rank-player strong {
        color: var(--sky-text-muted);
        text-decoration: line-through;
        text-decoration-thickness: 2px;
        text-decoration-color: rgb(var(--sky-danger-rgb) / 0.72);
    }

    & .airport-game__rank.is-lost .airport-game__rank-score span {
        color: rgb(var(--sky-danger-rgb) / 0.86);
    }

    & .airport-game__rank.is-left {
        --rank-medal-color: rgb(148 163 184);
        --rank-medal-bg: rgb(148 163 184 / 0.12);
        background:
            linear-gradient(90deg, rgb(var(--sky-bg-deep-rgb) / 0.84), rgb(148 163 184 / 0.12) 54%, rgb(var(--sky-bg-deep-rgb) / 0.66)),
            var(--rank-banner, var(--sky-raised-glass));
        opacity: 0.72;
    }

    & .airport-game__rank.is-left .airport-game__rank-player strong {
        color: var(--sky-text-muted);
    }

    & .airport-game__rank.is-left .airport-game__rank-score span {
        color: rgb(148 163 184 / 0.88);
    }

    & .airport-game__rank-medal {
        display: grid;
        grid-template-columns: 1fr;
        place-items: center;
        gap: 4px;
        width: 44px;
        height: 48px;
        border: 1px solid rgb(255 255 255 / 0.12);
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.48);
        color: var(--rank-medal-color);
    }

    & .airport-game__rank-medal i {
        font-size: 15px;
    }

    & .airport-game__rank-medal strong {
        color: var(--rank-medal-color);
        font-size: 12px;
        font-weight: 1000;
        line-height: 1;
    }

    & .airport-game__rank-player {
        display: grid;
        grid-template-columns: 14px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        min-width: 0;
    }

    & .airport-game__rank .sky-player-portrait--rank {
        width: 42px;
        height: 42px;
        border: 2px solid var(--rank-medal-color);
        box-shadow:
            0 0 0 2px rgb(var(--sky-bg-deep-rgb) / 0.74),
            0 10px 22px rgb(0 0 0 / 0.28);
    }

    & .airport-game__rank-emblem {
        position: absolute;
        right: 72px;
        top: 50%;
        z-index: 1;
        width: 108px;
        height: 108px;
        object-fit: contain;
        opacity: 0.22;
        transform: translateY(-50%);
        pointer-events: none;
    }

    & .airport-game__rank-player > div {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__rank-player strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 14px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__rank-player em {
        display: inline-flex;
        margin-left: 6px;
        color: var(--sky-accent);
        font-size: 10px;
        font-style: normal;
        font-weight: 1000;
        text-transform: uppercase;
    }

    & .airport-game__rank-player span {
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 700;
        line-height: 1.35;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__rank-player .airport-game__rank-title {
        display: inline-flex;
        width: fit-content;
        max-width: 100%;
        min-height: 17px;
        padding: 2px 7px;
        border: 1px solid rgb(250 204 21 / 0.34);
        border-radius: 999px;
        background: rgb(250 204 21 / 0.12);
        color: #fde68a;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.1;
        text-overflow: ellipsis;
    }

    & .airport-game__rank-metrics {
        display: grid;
        justify-items: end;
        gap: 8px;
        min-width: 0;
        padding-right: 4px;
    }

    & .airport-game__rank-score,
    & .airport-game__rank-health {
        display: grid;
        justify-items: end;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__rank-score span,
    & .airport-game__rank-health span {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__rank-score strong,
    & .airport-game__rank-health strong {
        color: var(--sky-text);
        font-size: 16px;
        font-weight: 1000;
        line-height: 1;
        white-space: nowrap;
    }

    & .airport-game__rank-health strong {
        font-size: 12px;
        color: var(--sky-success);
    }

    & .airport-game__rank-penalty {
        color: #fb7185;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.1;
        text-align: right;
        white-space: nowrap;
    }

    & .airport-game__rank-health.is-health-warning strong {
        color: var(--sky-warning);
    }

    & .airport-game__rank-health.is-health-danger strong,
    & .airport-game__rank-health.is-health-critical strong,
    & .airport-game__rank-health.is-health-lost strong {
        color: var(--sky-danger);
    }

    & .airport-game__rank-health.is-health-left strong {
        color: rgb(203 213 225);
    }

    & .airport-game__intel-modal {
        display: grid;
        gap: 14px;
        min-width: min(560px, calc(100vw - 32px));
    }

    & .airport-game__intel-modal header {
        display: grid;
        grid-template-columns: 62px minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid var(--sky-line);
    }

    & .airport-game__intel-modal header strong {
        color: var(--sky-text);
        font-size: 18px;
        font-weight: 1000;
    }

    & .airport-game__intel-modal header em {
        margin-left: 6px;
        color: var(--sky-accent);
        font-size: 10px;
        font-style: normal;
        font-weight: 1000;
        text-transform: uppercase;
    }

    & .airport-game__intel-modal header p {
        margin: 2px 0 0;
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 800;
    }

    & .airport-game__intel-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 34px;
        padding: 0 12px;
        border: 1px solid var(--sky-line-strong);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 900;
        text-decoration: none;
        white-space: nowrap;
    }

    & .airport-game__intel-link:not(.is-disabled):hover {
        border-color: var(--sky-accent);
        color: var(--sky-accent);
    }

    & .airport-game__intel-link.is-disabled {
        color: var(--sky-text-muted);
    }

    & .airport-game__intel-summary {
        margin: 0;
        color: var(--sky-text-soft);
        font-size: 13px;
        font-weight: 800;
        line-height: 1.45;
    }

    & .airport-game__intel-about,
    & .airport-game__intel-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    & .airport-game__intel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    & .airport-game__intel-about div,
    & .airport-game__intel-grid div {
        display: grid;
        gap: 5px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: rgb(255 255 255 / 0.045);
    }

    & .airport-game__intel-about span,
    & .airport-game__intel-grid span {
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__intel-about strong,
    & .airport-game__intel-grid strong {
        overflow-wrap: anywhere;
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 1000;
    }

    & .airport-game__event-feed {
        top: var(--sky-header-offset);
        right: 16px;
        z-index: 34;
        width: 360px;
        max-height: 44px;
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel-glass);
        box-shadow: var(--sky-shadow);
    }

    & .airport-game__event-feed.is-expanded {
        max-height: min(460px, calc(var(--sky-game-viewport-height) - 170px));
    }

    & .airport-game__event-feed .airport-game__log {
        display: grid;
        gap: 8px;
        max-height: 400px;
        overflow: auto;
        padding: 10px;
    }

    & .airport-game__bottom-dashboard {
        left: 8px;
        right: 8px;
        bottom: var(--sky-dashboard-bottom);
        z-index: 33;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: end;
        gap: 8px;
        pointer-events: none;
    }

    & .airport-game__dashboard-panel {
        position: relative;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        min-width: 0;
        min-height: var(--sky-dashboard-height);
        max-height: var(--sky-dashboard-height);
        overflow: hidden;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-panel-glass);
        box-shadow: var(--sky-shadow);
        pointer-events: auto;
    }

    & .airport-game__dashboard-panel .airport-game__dashboard-head {
        cursor: grab;
    }

    & .airport-game__dashboard-panel.is-dashboard-dragging {
        opacity: 0.94;
        cursor: grabbing;
        transform: translateY(-8px) scale(1.015);
        box-shadow: 0 28px 70px rgb(0 0 0 / 0.48);
        pointer-events: none;
    }

    & .airport-game__bottom-dashboard.is-dashboard-sorting .airport-game__dashboard-panel:not(.is-dashboard-dragging) {
        transition: transform 0.17s cubic-bezier(0.2, 0, 0, 1);
    }

    & .airport-game__dashboard-placeholder {
        min-width: 0;
        min-height: 53px;
        border: 1px dashed rgb(var(--sky-accent-rgb) / 0.58);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-accent-rgb) / 0.08);
        box-shadow: inset 0 0 0 1px rgb(var(--sky-bg-deep-rgb) / 0.5);
        pointer-events: none;
    }

    & .airport-game__dashboard-panel[hidden] {
        display: none;
    }

    & .airport-game__dashboard-panel.is-collapsed {
        grid-template-rows: auto;
        min-height: 53px;
        max-height: 53px;
    }

    & .airport-game__dashboard-panel.is-collapsed > :not(.airport-game__dashboard-head) {
        display: none !important;
    }

    & .airport-game__finance-overview {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 10px 10px 0;
    }

    & .airport-game__finance-overview div {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__finance-overview span {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 900;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__finance-overview strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 13px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-overview div:first-child strong,
    & .airport-game__finance-overview div:nth-child(3) strong {
        color: var(--sky-success);
    }

    & .airport-game__finance-overview div:nth-child(2) strong {
        color: var(--sky-danger);
    }

    & .airport-game__chart-wrap {
        min-height: 0;
        height: 92px;
        padding: 4px 10px 10px;
    }

    & .airport-game__chart-wrap canvas {
        width: 100% !important;
        height: 100% !important;
    }

    & .airport-game__finance-preview {
        display: grid;
        grid-template-rows: repeat(3, minmax(0, 1fr));
        gap: 6px;
        min-height: 0;
        padding: 8px 10px 10px;
    }

    & .airport-game__finance-preview-row {
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        min-height: 0;
        overflow: hidden;
        border-bottom: 1px solid rgb(var(--sky-line-rgb) / 0.42);
    }

    & .airport-game__finance-preview-row:last-child {
        border-bottom: 0;
    }

    & .airport-game__finance-preview-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: baseline;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__finance-preview-head span {
        overflow: hidden;
        color: var(--sky-text-soft);
        font-size: 12px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-preview-head strong {
        overflow: hidden;
        color: var(--sky-success);
        font-family: var(--sky-display-font);
        font-size: 15px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__finance-preview-head strong.is-negative {
        color: var(--sky-danger);
    }

    & .airport-game__finance-preview-head strong.is-positive {
        color: var(--sky-success);
    }

    & .airport-game__finance-preview canvas {
        width: 100%;
        height: 100%;
        min-height: 32px;
        border-radius: 4px;
        background: linear-gradient(180deg, rgb(var(--sky-accent-rgb) / 0.08), rgb(var(--sky-bg-deep-rgb) / 0.1));
    }

    & .airport-game__dashboard-panel--activity .airport-game__log {
        display: grid;
        align-content: start;
        gap: 8px;
        min-height: 0;
        overflow: auto;
        padding: 10px;
        scrollbar-width: thin;
        scrollbar-color: var(--sky-scrollbar-thumb) transparent;
    }

    & .airport-game__dashboard-panel--activity .airport-game__log-row {
        padding: 8px;
    }

    & .airport-game__module-section--log {
        height: 100%;
        min-height: 0;
        grid-template-rows: auto minmax(0, 1fr) auto;
        overflow: hidden;
    }

    & .airport-game__log--module {
        display: grid;
        gap: 8px;
        min-height: 0;
        max-height: min(520px, calc(var(--sky-game-viewport-height) - 260px));
        overflow: auto;
        padding-right: 4px;
    }

    & .airport-game__chat {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 42px;
        gap: 8px;
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid var(--sky-line);
    }

    & .airport-game__chat input {
        width: 100%;
        min-width: 0;
        height: 42px;
        padding: 0 12px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-field-bg);
        color: var(--sky-text);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
        outline: 0;
    }

    & .airport-game__chat input:focus {
        border-color: var(--sky-button-border-hover);
        box-shadow: 0 0 0 3px var(--sky-accent-focus);
    }

    & .airport-game__chat button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border: 1px solid var(--sky-button-border-hover);
        border-radius: var(--sky-radius);
        background: var(--sky-button-bg-strong);
        color: var(--sky-text);
        cursor: pointer;
    }

    & .airport-game__top-routes,
    & .airport-game__quick-actions {
        display: grid;
        align-content: start;
        gap: 6px;
        min-height: 0;
        margin: 0;
        overflow: auto;
        padding: 10px;
        scrollbar-width: thin;
        scrollbar-color: var(--sky-scrollbar-thumb) transparent;
    }

    & .airport-game__top-routes {
        list-style: none;
        counter-reset: route;
    }

    & .airport-game__top-routes li {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        min-height: 28px;
        padding: 6px 8px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 5px;
        background: var(--sky-raised-glass);
    }

    & .airport-game__top-routes li > span {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__top-routes strong {
        overflow: hidden;
        color: var(--sky-text);
        font-size: 12px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__top-routes strong i {
        color: var(--sky-text-muted);
        font-size: 10px;
    }

    & .airport-game__top-routes em {
        display: inline-flex;
        align-items: baseline;
        gap: 4px;
        color: var(--sky-text-soft);
        font-size: 11px;
        font-style: normal;
        font-weight: 1000;
        white-space: nowrap;
    }

    & .airport-game__top-routes em small {
        color: var(--sky-text-muted);
        font-size: 9px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__heatmap {
        position: relative;
        min-height: 0;
        overflow: hidden;
        background:
            radial-gradient(circle at 50% 42%, rgb(var(--sky-accent-rgb) / 0.16), transparent 44%),
            var(--sky-bg-deep);
    }

    & .airport-game__heatmap::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(rgb(var(--sky-accent-rgb) / 0.07) 1px, transparent 1px),
            linear-gradient(90deg, rgb(var(--sky-accent-rgb) / 0.06) 1px, transparent 1px);
        background-size: 34px 34px;
        mix-blend-mode: screen;
        opacity: 0.34;
        pointer-events: none;
    }

    & .airport-game__heatmap-map {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: fill;
        filter: saturate(1.15) contrast(1.1) brightness(0.72);
        opacity: 0.82;
    }

    & .airport-game__heatmap-stage {
        position: absolute;
        left: 50%;
        top: 48%;
        width: 100%;
        aspect-ratio: 2 / 1;
        max-height: calc(100% - 42px);
        transform: translate(-50%, -50%);
    }

    & .airport-game__heatmap-stage .airport-game__heatmap-map,
    & .airport-game__heatmap-stage .airport-game__heatmap-layer,
    & .airport-game__heatmap-stage .airport-game__heatmap-empty {
        position: absolute;
        inset: 0;
    }

    & .airport-game__heatmap-layer {
        overflow: hidden;
    }

    & .airport-game__heatmap-viewport {
        position: absolute;
        z-index: 3;
        min-width: 10px;
        min-height: 8px;
        border: 2px solid rgb(var(--sky-danger-rgb));
        border-radius: 3px;
        background: rgb(var(--sky-danger-rgb) / 0.08);
        box-shadow:
            0 0 0 1px rgb(255 255 255 / 0.18),
            0 0 12px rgb(var(--sky-danger-rgb) / 0.42);
        pointer-events: none;
    }

    & .airport-game__heatmap-spot {
        position: absolute;
        left: var(--x);
        top: var(--y);
        width: var(--size);
        height: var(--size);
        border-radius: 50%;
        opacity: var(--alpha);
        transform: translate(-50%, -50%);
        pointer-events: auto;
        cursor: pointer;
    }

    & .airport-game__heatmap-spot::before,
    & .airport-game__heatmap-spot i {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
    }

    & .airport-game__heatmap-spot::before {
        background: radial-gradient(circle, rgb(255 102 116 / 0.88) 0 10%, rgb(246 179 77 / 0.7) 28%, rgb(55 214 143 / 0.32) 54%, transparent 76%);
        filter: blur(3px);
    }

    & .airport-game__heatmap-spot:focus-visible {
        outline: 2px solid rgb(var(--sky-accent-rgb));
        outline-offset: 4px;
    }

    & .airport-game__heatmap-spot i {
        inset: 40%;
        background: rgb(246 179 77 / 0.72);
        box-shadow: 0 0 5px rgb(255 102 116 / 0.42);
    }

    & .airport-game__heatmap-empty,
    & .airport-game__heatmap-legend {
        position: absolute;
        z-index: 2;
    }

    & .airport-game__heatmap-empty {
        left: 50%;
        top: 50%;
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 900;
        text-transform: uppercase;
        transform: translate(-50%, -50%);
    }

    & .airport-game__heatmap-legend {
        left: 10px;
        right: 10px;
        bottom: 10px;
        display: grid;
        grid-template-columns: auto minmax(70px, 1fr) auto;
        align-items: center;
        gap: 8px;
        color: var(--sky-text-soft);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__heatmap-legend i {
        height: 8px;
        border-radius: 999px;
        background: linear-gradient(90deg, rgb(36 92 199), rgb(55 214 143), rgb(246 179 77), rgb(255 102 116));
        box-shadow: 0 0 16px rgb(var(--sky-accent-rgb) / 0.18);
    }

    & .airport-game__dashboard-empty {
        grid-template-columns: minmax(0, 1fr) !important;
        color: var(--sky-text-muted);
        font-size: 12px;
        font-weight: 800;
    }

    & .airport-game__quick-action {
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr) minmax(92px, auto);
        align-items: center;
        gap: 8px;
        min-height: 46px;
        padding: 7px 9px;
        border: 1px solid var(--sky-button-border);
        border-radius: 5px;
        background: var(--sky-button-bg);
        color: var(--sky-text-soft);
        cursor: pointer;
        transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
    }

    & .airport-game__quick-action:hover {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        color: var(--sky-text);
    }

    & .airport-game__quick-action i {
        color: var(--sky-accent);
        text-align: center;
    }

    & .airport-game__quick-action span,
    & .airport-game__quick-action strong {
        overflow: hidden;
        font-size: 11px;
        font-weight: 900;
        text-overflow: ellipsis;
    }

    & .airport-game__quick-action span {
        display: grid;
        gap: 2px;
    }

    & .airport-game__quick-action span > small {
        overflow: hidden;
        color: var(--sky-text-muted);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__quick-action strong {
        color: var(--sky-text);
        text-align: right;
        white-space: nowrap;
    }

    & .airport-game__map-tooltip,
    & .airport-game__context-menu {
        position: absolute;
        z-index: 60;
        max-width: 280px;
        padding: 10px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-popover-bg);
        color: var(--sky-text);
        box-shadow: var(--sky-shadow);
    }

    & .airport-game__map-tooltip {
        display: none;
        pointer-events: none;
    }

    & .airport-game__map-tooltip strong {
        display: block;
        font-size: 13px;
    }

    & .airport-game__map-tooltip span,
    & .airport-game__map-tooltip em {
        display: block;
        margin-top: 4px;
        color: var(--sky-text-soft);
        font-size: 12px;
        font-style: normal;
    }

    & .airport-game__map-tooltip--airport {
        width: min(260px, calc(100vw - 28px));
        padding: 7px 9px;
        border-color: rgb(255 255 255 / 0.28);
        background: rgb(7 18 32 / 0.96);
        box-shadow: 0 10px 28px rgb(0 0 0 / 0.42);
    }

    & .airport-game__map-tooltip--airport strong {
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 900;
    }

    & .airport-game__map-tooltip--airport span,
    & .airport-game__map-tooltip--airport em {
        margin-top: 3px;
        font-size: 10px;
        line-height: 1.25;
    }

    & .airport-game__context-menu {
        display: grid;
        gap: 6px;
        width: min(240px, calc(100% - 16px));
    }

    & .airport-game__context-menu > strong {
        color: var(--sky-text);
        font-size: 12px;
    }

    & .airport-game__context-menu > strong span,
    & .airport-game__context-menu > em,
    & .airport-game__context-note {
        color: var(--sky-text-muted);
        font-size: 11px;
        font-style: normal;
    }

    & .airport-game__context-note--market {
        display: grid;
        gap: 3px;
        padding: 7px;
        border: 1px solid var(--sky-line-soft);
        border-radius: 7px;
        background: rgb(255 255 255 / 0.05);
        color: var(--sky-text-soft);
    }

    & .airport-game__context-note--campaign.is-defense {
        border-color: rgb(var(--sky-danger-rgb) / 0.46);
        background: rgb(var(--sky-danger-rgb) / 0.12);
    }

    & .airport-game__context-note--campaign.is-defense b {
        color: var(--sky-danger);
    }

    & .airport-game__context-note--campaign.is-offense {
        border-color: rgb(var(--sky-success-rgb) / 0.42);
        background: rgb(var(--sky-success-rgb) / 0.12);
    }

    & .airport-game__context-note--campaign.is-offense b {
        color: var(--sky-success);
    }

    & .airport-game__context-note--campaign.is-neutral {
        border-color: rgb(var(--sky-accent-rgb) / 0.34);
        background: rgb(var(--sky-accent-rgb) / 0.08);
    }

    & .airport-game__context-note--market b,
    & .airport-game__context-note--market em,
    & .airport-game__context-note--market small {
        min-width: 0;
        overflow-wrap: anywhere;
        font-style: normal;
    }

    & .airport-game__context-note--market b {
        color: var(--sky-text);
        font-size: 11px;
    }

    & .airport-game__context-note--market small {
        color: var(--sky-text-muted);
        font-size: 10px;
        line-height: 1.35;
    }

    & .airport-game__context-note--market em {
        color: var(--sky-accent);
        font-size: 10px;
        font-weight: 900;
    }

    & .airport-game__context-action {
        position: relative;
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        align-items: center;
        gap: 2px 7px;
        min-height: 42px;
        padding: 7px;
        text-align: left;
    }

    & .airport-game__context-action i {
        grid-row: 1 / 3;
        color: var(--sky-accent);
    }

    & .airport-game__context-action span,
    & .airport-game__context-action strong,
    & .airport-game__context-action small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__context-action strong {
        color: var(--sky-text);
        font-size: 11px;
    }

    & .airport-game__context-action small {
        grid-column: 2 / 4;
        color: var(--sky-text-muted);
        font-size: 10px;
    }

    & .airport-game__action-tooltip {
        position: absolute;
        z-index: 86;
        width: min(280px, calc(100vw - 32px));
        padding: 9px 10px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.38);
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.97);
        box-shadow: var(--sky-shadow);
        color: var(--sky-text-soft);
        font-size: 11px;
        font-weight: 800;
        line-height: 1.45;
        pointer-events: none;
    }

    & .airport-game__airport {
        --airport-owner-color: var(--sky-map-marker-color);
        --airport-owner-glow: var(--sky-map-marker-glow);
        display: grid;
        width: 40px;
        height: 40px;
        place-items: center;
        border: 0;
        background: transparent;
        cursor: pointer;
        touch-action: manipulation;
    }

    & .airport-game__market-structure-icon {
        border: 0;
        background: transparent;
    }

    & .airport-game__market-structure-icon span {
        display: grid;
        place-items: center;
        width: 28px;
        height: 28px;
        border: 2px solid #ffffff;
        border-radius: 50%;
        background: var(--market-color);
        color: #ffffff;
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--market-color) 24%, transparent), 0 5px 12px rgb(10 28 46 / 0.35);
        font-size: 12px;
    }

    & .airport-game__leaflet .leaflet-tooltip {
        z-index: 860;
        border: 1px solid rgb(255 255 255 / 0.28);
        border-radius: 6px;
        background: rgb(7 18 32 / 0.96);
        box-shadow: 0 10px 28px rgb(0 0 0 / 0.42);
        color: var(--sky-text);
        font-family: inherit;
        font-size: 12px;
        font-weight: 900;
        letter-spacing: 0;
        white-space: nowrap;
    }

    & .airport-game__leaflet .leaflet-tooltip-top::before {
        border-top-color: rgb(7 18 32 / 0.96);
    }

    & .airport-game__strategy-pin {
        border: 0;
        background: transparent;
        pointer-events: none;
    }

    & .airport-game__strategy-pin span {
        --strategy-pin-color: #38bdf8;
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border: 2px solid #ffffff;
        border-radius: 50%;
        background: var(--strategy-pin-color);
        color: #ffffff;
        box-shadow: 0 0 0 4px color-mix(in srgb, var(--strategy-pin-color) 24%, transparent), 0 5px 14px rgb(10 28 46 / 0.42);
        font-size: 12px;
        pointer-events: none;
    }

    & .airport-game__strategy-pin.is-underdefended span {
        --strategy-pin-color: #fde047;
        border-color: #111827;
        color: #111827;
        box-shadow:
            0 0 0 5px rgb(255 255 255 / 0.68),
            0 0 0 11px rgb(253 224 71 / 0.36),
            0 0 22px rgb(253 224 71 / 0.82),
            0 5px 16px rgb(10 28 46 / 0.52);
        transform: scale(1.16);
    }

    & .airport-game__strategy-pin.is-opportunity span {
        --strategy-pin-color: #38bdf8;
    }

    & .airport-game__airport::before {
        content: "";
        width: var(--airport-owned-size, 16px);
        height: var(--airport-owned-size, 16px);
        border: var(--airport-owned-border, 2px) solid var(--airport-owner-color);
        border-radius: 50%;
        background:
            radial-gradient(circle at 35% 30%, rgb(255 255 255 / 0.7) 0 13%, transparent 15%),
            var(--airport-owner-color);
        box-shadow: 0 0 0 4px var(--airport-owner-glow), 0 4px 10px var(--sky-map-marker-shadow);
        transform: scale(var(--airport-marker-scale, 1));
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    & .airport-game__airport.is-owned-shape::before {
        border-radius: 0;
        background:
            linear-gradient(150deg, rgb(255 255 255 / 0.22), transparent 46%),
            var(--airport-owner-color);
        box-shadow:
            0 0 0 2px rgb(255 255 255 / 0.92),
            0 2px 0 rgb(0 0 0 / 0.22),
            0 0 0 6px var(--airport-owned-glow),
            0 6px 14px var(--sky-map-marker-shadow);
        clip-path: polygon(50% 4%, 96% 92%, 4% 92%);
    }

    & .airport-game__airport.is-owned-l10::before {
        clip-path: polygon(12% 12%, 88% 12%, 88% 88%, 12% 88%);
    }

    & .airport-game__airport.is-owned-l20::before {
        clip-path: polygon(50% 3%, 96% 37%, 78% 94%, 22% 94%, 4% 37%);
        box-shadow: 0 0 0 2px rgb(255 255 255 / 0.92), 0 2px 0 rgb(0 0 0 / 0.22), 0 0 0 6px var(--airport-owned-glow), 0 6px 15px var(--sky-map-marker-shadow);
    }

    & .airport-game__airport.is-owned-l30::before {
        clip-path: polygon(25% 6%, 75% 6%, 98% 50%, 75% 94%, 25% 94%, 2% 50%);
        box-shadow: 0 0 0 2px rgb(255 255 255 / 0.92), 0 2px 0 rgb(0 0 0 / 0.22), 0 0 0 7px var(--airport-owned-glow), 0 7px 17px var(--sky-map-marker-shadow);
        filter: saturate(1.12);
    }

    & .airport-game__airport.is-owned-l40::before {
        clip-path: polygon(32% 3%, 68% 3%, 97% 32%, 97% 68%, 68% 97%, 32% 97%, 3% 68%, 3% 32%);
        box-shadow: 0 0 0 2px rgb(255 255 255 / 0.94), 0 2px 0 rgb(0 0 0 / 0.22), 0 0 0 8px var(--airport-owned-glow), 0 8px 20px var(--sky-map-marker-shadow);
        filter: saturate(1.22) brightness(1.06);
    }

    & .airport-game__airport.is-owned-l50::before {
        clip-path: polygon(50% 0, 62% 32%, 98% 32%, 69% 53%, 81% 96%, 50% 70%, 19% 96%, 31% 53%, 2% 32%, 38% 32%);
        box-shadow: 0 0 0 2px rgb(255 255 255 / 0.96), 0 2px 0 rgb(0 0 0 / 0.22), 0 0 0 9px var(--airport-owned-glow), 0 10px 22px var(--sky-map-marker-shadow);
        filter: saturate(1.34) brightness(1.12);
    }

    & .airport-game__airport:hover::before,
    & .airport-game__airport.is-selected::before {
        transform: scale(calc(var(--airport-marker-scale, 1) * 1.42));
    }

    & .airport-game__airport:hover,
    & .airport-game__airport.is-selected {
        z-index: 4;
    }

    & .airport-game__airport.is-busy::after {
        content: "";
        position: absolute;
        inset: 6px;
        border: 2px solid var(--sky-pulse-border);
        border-radius: 50%;
        animation: airportPulse 1.2s linear infinite;
        pointer-events: none;
    }

    & .airport-game__airport.is-destroyed::before {
        filter: grayscale(0.9) brightness(0.72);
        box-shadow: 0 0 0 5px rgb(220 38 38 / 0.38), 0 0 18px rgb(220 38 38 / 0.65);
    }

    & .airport-game__cluster {
        display: grid;
        width: 36px;
        height: 36px;
        place-items: center;
        border: 1px solid var(--sky-button-border-hover);
        border-radius: 50%;
        background: var(--sky-cluster-bg);
        color: var(--sky-text);
        font-size: 12px;
        font-weight: 900;
        box-shadow: var(--sky-cluster-shadow);
    }

    & .airport-game__cluster--market {
        border-color: rgb(148 163 184 / 0.72);
        background: rgb(15 23 42 / 0.92);
        box-shadow: 0 0 0 5px rgb(148 163 184 / 0.18), 0 5px 14px rgb(10 28 46 / 0.45);
    }

    & .airport-game__cluster--strategy {
        border-color: rgb(253 224 71 / 0.82);
        background: rgb(15 23 42 / 0.86);
        color: #fef9c3;
        box-shadow: 0 0 0 5px rgb(253 224 71 / 0.22), 0 0 20px rgb(253 224 71 / 0.38), 0 5px 14px rgb(10 28 46 / 0.45);
        pointer-events: none;
    }

    & .airport-game__cluster--strategy span {
        pointer-events: none;
    }

    & .airport-game__route-line {
        fill: none;
        stroke-linecap: round;
        vector-effect: non-scaling-stroke;
    }

    & .airport-game__route-line.is-traffic {
        stroke-dasharray: 1px var(--traffic-gap, 22px);
        stroke-dashoffset: 0;
        animation: routeTrafficFlow var(--traffic-duration, 8s) linear infinite;
        pointer-events: none;
    }

    & .airport-game__route-line.is-thin {
        opacity: 0.52;
    }

    & .airport-game__route-line.is-strained,
    & .airport-game__route-line.is-saturated {
        opacity: 0.72;
    }

    & .airport-game__route-line.is-loss:not(.is-traffic) {
        stroke-dasharray: 8px 9px;
        opacity: 0.78;
    }

    & .airport-game__route-line.is-selected {
        opacity: 0.96;
    }

    & .airport-game__leaflet .airport-game__route-tooltip {
        max-width: min(292px, calc(100vw - 28px));
        max-height: min(320px, calc(var(--sky-game-viewport-height) - 190px));
        border-color: rgb(var(--sky-accent-rgb) / 0.36);
        background: rgb(var(--sky-bg-deep-rgb) / 0.97);
        overflow: hidden;
        white-space: normal;
    }

    & .airport-game__route-tooltip-content {
        display: grid;
        gap: 6px;
        min-width: min(236px, calc(100vw - 62px));
    }

    & .airport-game__route-tooltip-content strong {
        display: flex;
        align-items: center;
        gap: 7px;
        color: var(--sky-text);
        font-size: 11px;
        line-height: 1.25;
    }

    & .airport-game__route-tooltip-status {
        justify-self: start;
        padding: 2px 6px;
        border: 1px solid rgb(var(--sky-success-rgb) / 0.36);
        border-radius: 999px;
        background: rgb(var(--sky-success-rgb) / 0.12);
        color: var(--sky-success);
        font-size: 9px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__route-tooltip-content.is-thin .airport-game__route-tooltip-status,
    & .airport-game__route-tooltip-content.is-strained .airport-game__route-tooltip-status,
    & .airport-game__route-tooltip-content.is-saturated .airport-game__route-tooltip-status {
        border-color: rgb(var(--sky-warning-rgb) / 0.42);
        background: rgb(var(--sky-warning-rgb) / 0.13);
        color: var(--sky-warning);
    }

    & .airport-game__route-tooltip-content.is-loss .airport-game__route-tooltip-status {
        border-color: rgb(var(--sky-danger-rgb) / 0.42);
        background: rgb(var(--sky-danger-rgb) / 0.13);
        color: var(--sky-danger);
    }

    & .airport-game__route-tooltip-content dl {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 5px 10px;
        margin: 0;
    }

    & .airport-game__route-tooltip-content dl div {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    & .airport-game__route-tooltip-content dt,
    & .airport-game__route-tooltip-content dd {
        margin: 0;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    & .airport-game__route-tooltip-content dt {
        color: var(--sky-text-muted);
        font-size: 9px;
        font-weight: 800;
        text-transform: uppercase;
    }

    & .airport-game__route-tooltip-content dd {
        color: var(--sky-text);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__route-tooltip-content em {
        color: var(--sky-text-soft);
        font-size: 10px;
        font-style: normal;
        line-height: 1.25;
    }

    & .airport-game__route-advice {
        display: block;
        padding: 6px 7px;
        border: 1px solid rgb(255 255 255 / 0.12);
        border-radius: 6px;
        background: rgb(255 255 255 / 0.04);
        color: var(--sky-text-soft);
        font-size: 10px;
        line-height: 1.28;
    }

    & .airport-game__missile-trail {
        stroke-linecap: round;
        stroke-dasharray: 10px 12px;
        filter: drop-shadow(0 0 8px rgb(249 115 22 / 0.7));
        vector-effect: non-scaling-stroke;
    }

    & .airport-game__global-alerts {
        position: absolute;
        top: calc(var(--sky-header-offset) + 12px);
        right: 18px;
        z-index: 45;
        display: grid;
        gap: 10px;
        width: min(360px, calc(100% - 36px));
        pointer-events: none;
    }

    & .airport-game__global-alerts[hidden] {
        display: none;
    }

    & .airport-game__global-alert {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) 30px;
        gap: 10px;
        align-items: center;
        justify-self: end;
        width: 100%;
        padding: 12px;
        border: 1px solid rgb(248 113 113 / 0.72);
        border-radius: 8px;
        background: rgb(127 29 29 / 0.72);
        color: #fecaca;
        box-shadow: 0 16px 42px rgb(0 0 0 / 0.34);
        backdrop-filter: blur(10px);
        pointer-events: auto;
        transform: translateX(0);
        transform-origin: right center;
        transition: transform 0.24s ease, opacity 0.18s ease, box-shadow 0.22s ease;
    }

    & .airport-game__global-alert.is-entering {
        animation: globalAlertSlideOpen 0.22s ease both;
    }

    & .airport-game__global-alert.is-collapsed {
        overflow: visible;
        cursor: pointer;
        transform: translateX(calc(100% - 58px));
    }

    & .airport-game__global-alert.is-collapsed .airport-game__global-alert-body,
    & .airport-game__global-alert.is-collapsed .airport-game__global-alert-toggle {
        opacity: 0;
        pointer-events: none;
    }

    & .airport-game__global-alert.is-bonus {
        border-color: rgb(74 222 128 / 0.72);
        background: rgb(20 83 45 / 0.72);
        color: #bbf7d0;
    }

    & .airport-game__global-alert > i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border: 1px solid currentColor;
        border-radius: 50%;
        color: inherit;
    }

    & .airport-game__global-alert-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border: 1px solid currentColor;
        border-radius: 6px;
        background: transparent;
        color: inherit;
        cursor: pointer;
    }

    & .airport-game__global-alert-toggle i {
        pointer-events: none;
    }

    & .airport-game__global-alert strong,
    & .airport-game__global-alert span {
        display: block;
        min-width: 0;
    }

    & .airport-game__global-alert strong {
        color: inherit;
        font-size: 13px;
        line-height: 1.2;
    }

    & .airport-game__global-alert span {
        margin-top: 3px;
        color: color-mix(in srgb, currentColor 82%, white);
        font-size: 12px;
        line-height: 1.35;
    }

    & .airport-game__modal {
        position: absolute;
        inset: 0;
        z-index: 80;
        display: grid;
        place-items: center;
        padding: 24px;
        background: var(--sky-modal-scrim);
    }

    & .airport-game__modal-card {
        position: relative;
        width: min(620px, 100%);
        max-width: calc(100vw - 24px);
        max-height: calc(var(--sky-game-viewport-height) - 48px);
        overflow-x: hidden;
        overflow-y: auto;
        padding: 18px;
        border: 1px solid var(--sky-line);
        border-radius: var(--sky-radius);
        background: var(--sky-modal-bg);
        color: var(--sky-modal-text);
        box-shadow: var(--sky-shadow);
    }

    & .airport-game__modal-card.is-management,
    & .airport-game__modal-card.is-route {
        width: min(980px, 100%);
    }

    & .airport-game__modal-card.is-leave,
    & .airport-game__modal-card.is-lost,
    & .airport-game__modal-card.is-purchase,
    & .airport-game__modal-card.is-flash {
        width: min(540px, 100%);
    }

    & .airport-game__modal-close {
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text);
        cursor: pointer;
    }

    & .airport-game__modal-card.is-locked .airport-game__modal-close {
        display: none;
    }

    & .airport-game__modal-tutorial,
    & .airport-game__modal-lost,
    & .airport-game__modal-flash {
        display: grid;
        grid-template-columns: 160px minmax(0, 1fr);
        align-items: center;
        gap: 18px;
    }

    & .airport-game__modal-tutorial img,
    & .airport-game__modal-lost img,
    & .airport-game__modal-flash img {
        width: 100%;
        max-height: 230px;
        object-fit: contain;
    }

    & .airport-game__speech-bubble,
    & .airport-game__modal-leave {
        display: grid;
        gap: 12px;
    }

    & .airport-game__speech-bubble strong,
    & .airport-game__modal-leave strong {
        color: var(--sky-modal-text);
        font-size: 20px;
        line-height: 1.1;
    }

    & .airport-game__speech-bubble p,
    & .airport-game__modal-leave p {
        margin: 0;
        color: var(--sky-modal-text-soft);
        font-size: 13px;
        line-height: 1.45;
    }

    & .airport-game__final-invoice-penalty {
        padding: 8px 10px;
        border: 1px solid rgb(251 113 133 / 0.42);
        border-radius: 8px;
        background: rgb(251 113 133 / 0.12);
        color: #fecdd3;
        font-weight: 800;
    }

    & .airport-game__final-invoice-penalty strong {
        color: #fff1f2;
        font-size: inherit;
    }

    & .airport-game__tutorial-progress {
        justify-self: start;
        padding: 3px 8px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 999px;
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__tutorial-layer {
        position: fixed;
        inset: 0;
        z-index: 12000;
        pointer-events: none;
    }

    & .airport-game__tutorial-veil {
        position: absolute;
        inset: 0;
        background: rgb(2 8 14 / 0.42);
        pointer-events: none;
    }

    & .airport-game__tutorial-spotlight {
        position: fixed;
        border: 2px solid var(--sky-accent);
        border-radius: 10px;
        box-shadow:
            0 0 0 9999px rgb(2 8 14 / 0.34),
            0 0 0 6px rgb(var(--sky-accent-rgb) / 0.18),
            0 0 34px rgb(var(--sky-accent-rgb) / 0.42);
        transition: left 180ms ease, top 180ms ease, width 180ms ease, height 180ms ease;
        pointer-events: none;
    }

    & .airport-game__tutorial-card {
        position: fixed;
        display: grid;
        gap: 11px;
        max-height: calc(var(--sky-game-viewport-height) - 28px);
        overflow: auto;
        padding: 14px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-modal-bg);
        box-shadow: 0 22px 70px rgb(0 0 0 / 0.5);
        color: var(--sky-modal-text);
        pointer-events: auto;
    }

    & .airport-game__tutorial-card-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    & .airport-game__tutorial-card-head img {
        width: 52px;
        height: 52px;
        object-fit: contain;
    }

    & .airport-game__tutorial-card > strong {
        color: var(--sky-modal-text);
        font-size: 18px;
        line-height: 1.15;
    }

    & .airport-game__tutorial-card p {
        margin: 0;
        color: var(--sky-modal-text-soft);
        font-size: 13px;
        line-height: 1.45;
    }

    & .airport-game__modal-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 10px;
    }

    & .airport-game__modal-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 0 12px;
        border-color: var(--sky-accent-strong);
        border-radius: 6px;
        background: var(--sky-button-bg-strong);
        color: var(--sky-text);
        font-size: 13px;
    }

    & .airport-game__modal-action:hover,
    & .airport-game__modal-action:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.16);
        color: var(--sky-text);
    }

    & .airport-game__modal-action:disabled {
        cursor: not-allowed;
        opacity: 0.45;
    }

    & .airport-game__modal-action--secondary {
        border-color: var(--sky-modal-border);
        background: transparent;
        color: var(--sky-modal-text-soft);
    }

    & .airport-game__modal-action--danger {
        border-color: var(--sky-danger-dark);
        background: var(--sky-danger-dark);
        color: var(--sky-text);
    }

    & .airport-game__modal-management {
        display: grid;
        gap: 12px;
        min-width: 0;
        color: var(--sky-modal-text);
    }

    & .airport-game__management-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 12px 18px;
        padding-right: 48px;
    }

    & .airport-game__management-title {
        display: grid;
        gap: 6px;
        min-width: 0;
    }

    & .airport-game__management-title-main {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__management-title-main strong {
        min-width: 0;
        color: var(--sky-modal-text);
        font-size: 24px;
        line-height: 1.1;
        overflow-wrap: anywhere;
    }

    & .airport-game__management-title-main span {
        display: inline-flex;
        align-items: center;
        min-height: 24px;
        padding: 3px 8px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.36);
        border-radius: 6px;
        background: rgb(var(--sky-accent-rgb) / 0.1);
        color: var(--sky-accent);
        font-size: 14px;
        font-weight: 1000;
        line-height: 1;
    }

    & .airport-game__management-country {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
        color: var(--sky-modal-text-soft);
        font-size: 12px;
        font-weight: 800;
        line-height: 1.2;
    }

    & .airport-game__management-country img,
    & .airport-game__management-country span {
        width: 20px;
        height: 14px;
        flex: 0 0 auto;
        border-radius: 3px;
        box-shadow: 0 0 0 1px rgb(255 255 255 / 0.14);
    }

    & .airport-game__management-country img {
        display: block;
        object-fit: cover;
    }

    & .airport-game__management-country span {
        display: inline-grid;
        place-items: center;
        background: rgb(var(--sky-accent-rgb) / 0.12);
        color: var(--sky-accent);
        font-size: 8px;
        font-weight: 1000;
        line-height: 1;
    }

    & .airport-game__management-country small {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    & .airport-game__management-head > em {
        justify-self: end;
        max-width: 130px;
        padding-top: 3px;
        color: var(--sky-accent);
        font-size: 18px;
        line-height: 1.15;
        text-align: right;
    }

    & .airport-game__management-section {
        display: grid;
        gap: 10px;
    }

    & .airport-game__modal-management > .airport-game__management-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    & .airport-game__modal-management > .airport-game__management-summary div {
        padding: 8px 9px;
        border-radius: 8px;
    }

    & .airport-game__modal-management > .airport-game__management-summary strong {
        font-size: 13px;
    }

    & .airport-game__management-section-head {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 12px;
    }

    & .airport-game__management-section-head strong {
        color: var(--sky-modal-text);
        font-size: 14px;
    }

    & .airport-game__management-section-head span {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
        text-align: right;
    }

    & .airport-game__management-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    & .airport-game__management-action {
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr) minmax(92px, auto);
        align-items: center;
        gap: 10px;
        min-width: 0;
        min-height: 56px;
        padding: 10px 12px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text);
        font: inherit;
        text-align: left;
        cursor: pointer;
        transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease;
    }

    & .airport-game__management-action:hover,
    & .airport-game__management-action:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.14);
        outline: none;
        transform: translateY(-1px);
    }

    & .airport-game__management-action:disabled {
        cursor: not-allowed;
        opacity: 0.48;
        transform: none;
    }

    & .airport-game__management-action i {
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        border-radius: 8px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
        font-size: 15px;
    }

    & .airport-game__management-action span {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    & .airport-game__management-action strong,
    & .airport-game__management-action small,
    & .airport-game__management-action em {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__management-action strong {
        color: var(--sky-modal-text);
        font-size: 13px;
        font-weight: 1000;
        line-height: 1.15;
    }

    & .airport-game__management-action small {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
        line-height: 1.15;
    }

    & .airport-game__management-action em {
        justify-self: end;
        max-width: 132px;
        padding: 5px 8px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.28);
        border-radius: 999px;
        background: rgb(var(--sky-accent-rgb) / 0.1);
        color: var(--sky-accent);
        font-size: 12px;
        font-style: normal;
        font-weight: 1000;
        line-height: 1;
        text-align: right;
    }

    & .airport-game__management-action em.is-positive {
        border-color: rgb(var(--sky-success-rgb) / 0.32);
        background: rgb(var(--sky-success-rgb) / 0.12);
        color: var(--sky-success);
    }

    & .airport-game__silo-management .airport-game__management-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    & .airport-game__management-actions--upgrades {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    & .airport-game__management-section--detail {
        padding: 12px;
        border: 1px solid var(--sky-modal-border);
        border-radius: var(--sky-radius);
        background: rgb(var(--sky-bg-deep-rgb) / 0.28);
    }

    & .airport-game__airport-detail-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    & .airport-game__airport-detail-card {
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 5px 9px;
        align-items: center;
        min-width: 0;
        min-height: 74px;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text);
        cursor: help;
        text-align: left;
        transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease;
    }

    & .airport-game__airport-detail-card:hover,
    & .airport-game__airport-detail-card:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.16);
        outline: none;
        transform: translateY(-1px);
    }

    & .airport-game__airport-detail-card i {
        grid-row: 1 / 3;
        display: grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 7px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
        font-size: 14px;
    }

    & .airport-game__airport-detail-card span,
    & .airport-game__airport-detail-card strong {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__airport-detail-card span {
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__airport-detail-card strong {
        color: var(--sky-modal-text);
        font-size: 14px;
        font-weight: 1000;
    }

    & .airport-game__airport-alerts {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__airport-impact {
        display: inline-grid;
        grid-template-columns: 22px minmax(0, auto) auto;
        align-items: center;
        gap: 7px;
        max-width: 100%;
        min-height: 32px;
        padding: 5px 8px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 999px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.38);
        color: var(--sky-modal-text);
        cursor: help;
    }

    & .airport-game__airport-impact i {
        display: grid;
        place-items: center;
        width: 22px;
        height: 22px;
        border-radius: 999px;
        background: rgb(255 255 255 / 0.08);
        font-size: 11px;
    }

    & .airport-game__airport-impact span,
    & .airport-game__airport-impact strong {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__airport-impact span {
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 900;
    }

    & .airport-game__airport-impact strong {
        color: var(--sky-modal-text);
        font-size: 11px;
        font-weight: 1000;
    }

    & .airport-game__airport-impact.is-negative {
        border-color: rgb(var(--sky-danger-rgb) / 0.42);
        background: rgb(var(--sky-danger-rgb) / 0.1);
    }

    & .airport-game__airport-impact.is-negative i,
    & .airport-game__airport-impact.is-negative strong {
        color: var(--sky-danger);
    }

    & .airport-game__airport-impact.is-warning {
        border-color: rgb(245 158 11 / 0.42);
        background: rgb(245 158 11 / 0.1);
    }

    & .airport-game__airport-impact.is-warning i,
    & .airport-game__airport-impact.is-warning strong {
        color: var(--sky-warning);
    }

    & .airport-game__airport-impact.is-positive {
        border-color: rgb(var(--sky-success-rgb) / 0.42);
        background: rgb(var(--sky-success-rgb) / 0.1);
    }

    & .airport-game__airport-impact.is-positive i,
    & .airport-game__airport-impact.is-positive strong {
        color: var(--sky-success);
    }

    & .airport-game__management-upgrade-plan {
        display: grid;
        align-content: start;
        gap: 9px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text);
    }

    & .airport-game__management-upgrade-main {
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 8px;
        align-items: center;
        min-width: 0;
    }

    & .airport-game__management-upgrade-main i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
        font-size: 13px;
    }

    & .airport-game__management-upgrade-main span {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__management-upgrade-main strong,
    & .airport-game__management-upgrade-main small,
    & .airport-game__management-upgrade-main em {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    & .airport-game__management-upgrade-main strong {
        color: var(--sky-modal-text);
        font-size: 12px;
    }

    & .airport-game__management-upgrade-main small {
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 800;
        line-height: 1.25;
    }

    & .airport-game__management-upgrade-main em {
        grid-column: 1 / -1;
        justify-self: stretch;
        min-height: 28px;
        padding: 6px 8px;
        border-radius: 6px;
        background: rgb(var(--sky-success-rgb) / 0.1);
        color: var(--sky-success);
        font-size: 11px;
        font-style: normal;
        font-weight: 900;
        text-align: left;
    }

    & .airport-game__management-upgrade-preview {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        margin: 0;
    }

    & .airport-game__management-upgrade-preview div {
        display: grid;
        gap: 3px;
        min-width: 0;
        padding: 7px;
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.28);
    }

    & .airport-game__management-upgrade-preview dt {
        color: var(--sky-modal-text-soft);
        font-size: 9px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__management-upgrade-preview dd {
        min-width: 0;
        margin: 0;
        overflow: hidden;
        color: var(--sky-modal-text);
        font-size: 11px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__management-upgrade-controls {
        display: grid;
        grid-template-columns: 32px minmax(68px, 1fr) 32px;
        gap: 6px;
        align-items: center;
    }

    & .airport-game__management-upgrade-controls button,
    & .airport-game__management-upgrade-controls strong {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-button-bg);
        color: var(--sky-modal-text);
        font-size: 10px;
        font-weight: 900;
    }

    & .airport-game__management-upgrade-controls button {
        cursor: pointer;
        transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.08s ease;
    }

    & .airport-game__management-upgrade-controls button:hover,
    & .airport-game__management-upgrade-controls button:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.18);
        color: var(--sky-text);
    }

    & .airport-game__management-upgrade-controls button:active {
        transform: translateY(1px);
    }

    & .airport-game__management-upgrade-controls button:disabled {
        cursor: not-allowed;
        opacity: 0.52;
        transform: none;
    }

    & .airport-game__management-upgrade-submit {
        gap: 6px;
        color: var(--sky-success);
    }

    & .airport-game__management-upgrade-controls [data-management-upgrade-set-max],
    & .airport-game__management-upgrade-controls .airport-game__management-upgrade-submit {
        grid-column: span 3;
    }

    & .airport-game__route-management {
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-panel-raised);
    }

    & .airport-game__route-management-summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        min-width: 0;
        cursor: pointer;
        list-style: none;
    }

    & .airport-game__route-management-summary::-webkit-details-marker {
        display: none;
    }

    & .airport-game__route-management-summary span {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    & .airport-game__route-management-summary strong {
        color: var(--sky-modal-text);
        font-size: 14px;
    }

    & .airport-game__route-management-summary small {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 850;
    }

    & .airport-game__route-management-summary > i {
        color: var(--sky-modal-text-soft);
        font-size: 12px;
        transition: transform 0.15s ease;
    }

    & .airport-game__route-management[open] .airport-game__route-management-summary > i {
        transform: rotate(180deg);
    }

    & .airport-game__route-management-create {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        min-width: 0;
        min-height: 44px;
        margin-top: 10px;
        padding: 8px 10px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.34);
        border-radius: 6px;
        background: rgb(var(--sky-accent-rgb) / 0.1);
        color: var(--sky-modal-text);
        cursor: pointer;
        font: inherit;
        text-align: left;
    }

    & .airport-game__route-management-metrics {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 10px;
    }

    & .airport-game__route-management-metrics div {
        display: grid;
        gap: 3px;
        min-width: 0;
        padding: 8px 9px;
        border: 1px solid rgb(148 163 184 / 0.16);
        border-radius: 6px;
        background: rgb(var(--sky-bg-deep-rgb) / 0.28);
    }

    & .airport-game__route-management-metrics span,
    & .airport-game__route-management-metrics strong {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__route-management-metrics span {
        color: var(--sky-modal-text-soft);
        font-size: 9px;
        font-weight: 950;
        text-transform: uppercase;
    }

    & .airport-game__route-management-metrics strong {
        color: var(--sky-modal-text);
        font-size: 12px;
        font-weight: 1000;
    }

    & .airport-game__route-management-create:hover,
    & .airport-game__route-management-create:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.16);
    }

    & .airport-game__route-management-create:disabled {
        cursor: not-allowed;
        opacity: 0.55;
    }

    & .airport-game__route-management-create i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
    }

    & .airport-game__route-management-create span,
    & .airport-game__route-management-create em {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__route-management-create span {
        font-size: 12px;
        font-weight: 950;
    }

    & .airport-game__route-management-create em {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-style: normal;
        font-weight: 900;
    }

    & .airport-game__route-management-list {
        display: grid;
        gap: 8px;
        max-height: min(330px, calc(var(--sky-game-viewport-height) - 430px));
        min-height: 0;
        margin-top: 10px;
        overflow: auto;
        padding-right: 2px;
    }

    & .airport-game__route-management-row {
        display: grid;
        grid-template-columns: 34px minmax(0, 1.1fr) minmax(230px, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-width: 0;
        padding: 9px;
        border: 1px solid rgb(148 163 184 / 0.2);
        border-radius: 6px;
        background: rgb(2 14 24 / 0.42);
    }

    & .airport-game__route-management-row.is-loss {
        border-color: rgb(248 113 113 / 0.36);
    }

    & .airport-game__route-management-row.is-thin,
    & .airport-game__route-management-row.is-strained,
    & .airport-game__route-management-row.is-saturated {
        border-color: rgb(245 158 11 / 0.34);
    }

    & .airport-game__route-management-row > i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
    }

    & .airport-game__route-management-main {
        display: grid;
        gap: 4px;
        min-width: 0;
        padding: 6px 7px;
        border: 1px solid transparent;
        border-radius: 6px;
        background: transparent;
        color: inherit;
        cursor: pointer;
        text-align: left;
        transition: border-color 0.15s ease, background 0.15s ease;
    }

    & .airport-game__route-management-main:hover,
    & .airport-game__route-management-main:focus-visible {
        border-color: rgb(var(--sky-accent-rgb) / 0.32);
        background: rgb(var(--sky-accent-rgb) / 0.08);
        outline: none;
    }

    & .airport-game__route-management-main strong,
    & .airport-game__route-management-main small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__route-management-main strong {
        color: var(--sky-modal-text);
        font-size: 13px;
        font-weight: 950;
    }

    & .airport-game__route-management-main small {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__route-management-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        min-width: 0;
        margin: 0;
    }

    & .airport-game__route-management-stats div {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    & .airport-game__route-management-stats dt,
    & .airport-game__route-management-stats dd {
        min-width: 0;
        margin: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__route-management-stats dt {
        color: var(--sky-modal-text-soft);
        font-size: 9px;
        font-weight: 950;
        text-transform: uppercase;
    }

    & .airport-game__route-management-stats dd {
        color: var(--sky-modal-text);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__route-management-sell {
        display: grid;
        grid-template-columns: 14px auto;
        align-items: center;
        gap: 4px 6px;
        min-width: 94px;
        padding: 8px 9px;
        border: 1px solid rgb(248 113 113 / 0.36);
        border-radius: 6px;
        background: rgb(127 29 29 / 0.2);
        color: #fecaca;
        cursor: pointer;
        font: inherit;
        text-align: left;
    }

    & .airport-game__route-management-sell:hover,
    & .airport-game__route-management-sell:focus-visible {
        border-color: rgb(248 113 113 / 0.7);
        background: rgb(127 29 29 / 0.32);
        box-shadow: 0 0 0 3px rgb(248 113 113 / 0.12);
    }

    & .airport-game__route-management-sell:disabled {
        cursor: not-allowed;
        opacity: 0.5;
    }

    & .airport-game__route-management-sell i {
        grid-row: 1 / 3;
        font-size: 12px;
    }

    & .airport-game__route-management-sell span {
        font-size: 11px;
        font-weight: 950;
    }

    & .airport-game__route-management-sell em {
        color: var(--sky-success);
        font-size: 10px;
        font-style: normal;
        font-weight: 950;
    }

    & .airport-game__route-management-empty {
        margin: 10px 0 0;
        padding: 12px;
        border: 1px dashed var(--sky-modal-border);
        border-radius: 6px;
        color: var(--sky-modal-text-soft);
        font-size: 12px;
        font-weight: 800;
        text-align: center;
    }

    & .airport-game__player-routes {
        display: grid;
        gap: 10px;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    & .airport-game__player-routes-head {
        align-items: center;
    }

    & .airport-game__player-routes-create {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-width: 132px;
        padding: 0 10px;
        white-space: nowrap;
    }

    & .airport-game__player-routes-create span {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    & .airport-game__player-routes-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        margin-top: 0;
    }

    & .airport-game__player-routes-list {
        max-height: none;
        margin-top: 0;
        overflow: visible;
        padding-right: 0;
    }

    & .airport-game__player-route-row {
        grid-template-columns: minmax(0, 1fr) minmax(158px, 0.62fr) 78px;
        gap: 8px;
        max-width: 100%;
        min-width: 0;
        padding: 8px;
    }

    & .airport-game__player-route-main {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__player-route-airports {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr);
        align-items: center;
        gap: 5px;
        min-width: 0;
    }

    & .airport-game__player-route-airports > i {
        color: var(--sky-modal-text-soft);
        font-size: 12px;
        text-align: center;
    }

    & .airport-game__player-route-airport {
        display: grid;
        grid-template-columns: 24px minmax(0, 1fr);
        align-items: center;
        gap: 6px;
        min-width: 0;
        padding: 4px;
        border: 1px solid transparent;
        border-radius: 6px;
        background: transparent;
        color: inherit;
        cursor: pointer;
        font: inherit;
        text-align: left;
    }

    & .airport-game__player-route-airport:hover,
    & .airport-game__player-route-airport:focus-visible {
        border-color: rgb(var(--sky-accent-rgb) / 0.32);
        background: rgb(var(--sky-accent-rgb) / 0.08);
        outline: none;
    }

    & .airport-game__player-route-airport .airport-game__owned-flag {
        width: 24px;
        height: 17px;
        border-radius: 4px;
    }

    & .airport-game__player-route-airport span,
    & .airport-game__player-route-airport strong,
    & .airport-game__player-route-airport small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__player-route-airport span {
        display: grid;
        gap: 2px;
    }

    & .airport-game__player-route-airport strong {
        color: var(--sky-modal-text);
        font-size: 12px;
        font-weight: 1000;
    }

    & .airport-game__player-route-airport small {
        color: var(--sky-modal-text-soft);
        font-size: 9px;
        font-weight: 850;
    }

    & .airport-game__player-route-main > small {
        min-width: 0;
        overflow: hidden;
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__player-route-row .airport-game__route-management-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
        min-width: 0;
    }

    & .airport-game__player-route-row .airport-game__route-management-stats dt {
        font-size: 8px;
    }

    & .airport-game__player-route-row .airport-game__route-management-stats dd {
        font-size: 10px;
    }

    & .airport-game__player-route-sell {
        min-width: 0;
        width: 78px;
        padding: 7px;
    }

    & .airport-game__route-picker {
        gap: 12px;
    }

    & .airport-game__route-picker-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-width: 0;
    }

    & .airport-game__route-picker-toolbar label {
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-width: 0;
        min-height: 40px;
        padding: 0 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text-soft);
    }

    & .airport-game__route-picker-toolbar input {
        min-width: 0;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--sky-modal-text);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
    }

    & .airport-game__route-picker-toolbar input::placeholder {
        color: var(--sky-modal-text-soft);
    }

    & .airport-game__route-picker-toolbar > span,
    & .airport-game__route-picker-summary span {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
        white-space: nowrap;
    }

    & .airport-game__route-picker-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-width: 0;
        padding: 8px 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-raised-glass);
    }

    & .airport-game__route-picker-summary strong {
        color: var(--sky-success);
        font-size: 13px;
        font-weight: 950;
    }

    & .airport-game__route-picker-list {
        display: grid;
        gap: 8px;
        max-height: min(380px, calc(var(--sky-game-viewport-height) - 320px));
        min-height: 120px;
        overflow: auto;
        padding-right: 2px;
    }

    & .airport-game__route-picker-row {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        min-width: 0;
        min-height: 58px;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text);
        cursor: pointer;
        text-align: left;
    }

    & .airport-game__route-picker-row:hover,
    & .airport-game__route-picker-row:focus-visible {
        border-color: var(--sky-button-border-hover);
        background: var(--sky-button-bg-hover);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.16);
    }

    & .airport-game__route-picker-row:disabled {
        cursor: not-allowed;
        opacity: 0.55;
    }

    & .airport-game__route-picker-row.is-full span {
        text-decoration: line-through;
    }

    & .airport-game__route-picker-row i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
    }

    & .airport-game__route-picker-row span {
        display: grid;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__route-picker-row strong,
    & .airport-game__route-picker-row small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__route-picker-row strong {
        color: var(--sky-modal-text);
        font-size: 13px;
        font-weight: 950;
    }

    & .airport-game__route-picker-row small {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__route-picker-metrics {
        display: grid;
        justify-items: end;
        gap: 4px;
        min-width: 0;
    }

    & .airport-game__route-picker-row em {
        color: var(--sky-success);
        font-size: 12px;
        font-style: normal;
        font-weight: 950;
        white-space: nowrap;
    }

    & .airport-game__route-picker-metrics small {
        display: inline-flex;
        align-items: center;
        min-height: 20px;
        padding: 2px 7px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.26);
        border-radius: 999px;
        background: rgb(var(--sky-accent-rgb) / 0.08);
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 950;
        line-height: 1;
        white-space: nowrap;
    }

    & .airport-game__route-picker-metrics small.is-at-optimal {
        border-color: rgb(250 204 21 / 0.34);
        background: rgb(250 204 21 / 0.1);
        color: #fde68a;
    }

    & .airport-game__route-picker-metrics small.is-over-optimal {
        border-color: rgb(248 113 113 / 0.38);
        background: rgb(127 29 29 / 0.18);
        color: #fecaca;
    }

    & .airport-game__route-picker-row.is-disabled em {
        color: var(--sky-modal-text-soft);
    }

    & .airport-game__route-picker-empty {
        display: grid;
        place-items: center;
        min-height: 120px;
        padding: 16px;
        border: 1px dashed var(--sky-modal-border);
        border-radius: 6px;
        color: var(--sky-modal-text-soft);
        font-size: 13px;
        font-weight: 800;
        text-align: center;
    }

    & .airport-game__airline-hub-panel {
        display: grid;
        gap: 8px;
        min-width: 0;
    }

    & .airport-game__airline-hub-picker {
        position: relative;
        display: grid;
        gap: 6px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: var(--sky-radius);
        background: var(--sky-panel-raised);
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__airline-hub-picker select {
        width: 100%;
        min-width: 0;
        min-height: 38px;
        padding: 0 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-modal-bg);
        color: var(--sky-modal-text);
        font-size: 13px;
        font-weight: 800;
        text-transform: none;
    }

    & .airport-game__airline-hub-preview {
        display: grid;
        gap: 8px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: var(--sky-radius);
        background: var(--sky-raised-glass);
    }

    & .airport-game__airline-hub-preview-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        min-width: 0;
    }

    & .airport-game__airline-hub-preview-head span,
    & .airport-game__airline-hub-preview-grid span {
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
    }

    & .airport-game__airline-hub-preview-head strong {
        color: var(--sky-modal-text);
        font-size: 14px;
        font-weight: 950;
        white-space: nowrap;
    }

    & .airport-game__airline-hub-preview-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }

    & .airport-game__airline-hub-preview-grid div {
        display: grid;
        gap: 3px;
        min-width: 0;
        padding: 8px;
        border: 1px solid var(--sky-line);
        border-radius: 6px;
        background: var(--sky-panel-raised);
    }

    & .airport-game__silo-target-picker {
        display: grid;
        gap: 10px;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: var(--sky-radius);
        background: var(--sky-panel-raised);
    }

    & .airport-game__silo-target-picker label {
        display: grid;
        grid-template-columns: 18px minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-width: 0;
        padding: 0 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-modal-bg);
        color: var(--sky-modal-text-soft);
    }

    & .airport-game__silo-target-picker input {
        min-width: 0;
        min-height: 38px;
        border: 0;
        outline: 0;
        background: transparent;
        color: var(--sky-modal-text);
        font: inherit;
        font-size: 13px;
        font-weight: 800;
    }

    & .airport-game__silo-target-picker input::placeholder {
        color: var(--sky-modal-text-soft);
    }

    & .airport-game__silo-target-picker select {
        width: 100%;
        min-width: 0;
        min-height: 220px;
        padding: 6px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: var(--sky-modal-bg);
        color: var(--sky-modal-text);
        font-size: 12px;
        font-weight: 800;
    }

    & .airport-game__silo-target-picker option {
        padding: 7px 8px;
    }

    & .airport-game__buyout-offer {
        gap: 18px;
    }

    & .airport-game__buyout-hero {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        align-items: center;
        gap: 14px;
        padding: 14px 56px 14px 14px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.32);
        border-radius: 8px;
        background:
            linear-gradient(135deg, rgb(var(--sky-accent-rgb) / 0.16), transparent 58%),
            var(--sky-panel-raised);
    }

    & .airport-game__buyout-hero > i {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.35);
        border-radius: 8px;
        background: rgb(var(--sky-accent-rgb) / 0.14);
        color: var(--sky-accent);
        font-size: 20px;
    }

    & .airport-game__buyout-hero div {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    & .airport-game__buyout-hero span {
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 950;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    & .airport-game__buyout-hero strong {
        min-width: 0;
        color: var(--sky-modal-text);
        font-size: 26px;
        line-height: 1.05;
        overflow-wrap: anywhere;
    }

    & .airport-game__buyout-hero em {
        min-width: 0;
        color: var(--sky-modal-text-soft);
        font-size: 13px;
        font-style: normal;
        font-weight: 800;
        overflow-wrap: anywhere;
    }

    & .airport-game__buyout-metrics {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    & .airport-game__buyout-metrics div {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 4px 10px;
        align-items: center;
        min-width: 0;
        padding: 12px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-panel-raised);
    }

    & .airport-game__buyout-metrics div.is-highlight {
        border-color: rgb(var(--sky-accent-rgb) / 0.42);
        background: rgb(var(--sky-accent-rgb) / 0.1);
    }

    & .airport-game__buyout-metrics i {
        grid-row: 1 / 4;
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        border-radius: 7px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
    }

    & .airport-game__buyout-metrics span,
    & .airport-game__buyout-metrics strong,
    & .airport-game__buyout-metrics small {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__buyout-metrics span {
        color: var(--sky-modal-text-soft);
        font-size: 10px;
        font-weight: 950;
        text-transform: uppercase;
    }

    & .airport-game__buyout-metrics strong {
        color: var(--sky-modal-text);
        font-size: 17px;
        font-weight: 1000;
    }

    & .airport-game__buyout-metrics small {
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__buyout-input {
        display: grid;
        gap: 8px;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
    }

    & .airport-game__buyout-amount {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.44);
        border-radius: 8px;
        background: var(--sky-modal-bg);
        box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.04);
        overflow: hidden;
    }

    & .airport-game__buyout-amount:focus-within {
        border-color: var(--sky-accent);
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.18);
    }

    & .airport-game__buyout-amount input {
        width: 100%;
        min-width: 0;
        min-height: 50px;
        border: 0;
        outline: 0;
        padding: 0 14px;
        background: transparent;
        color: var(--sky-modal-text);
        font: inherit;
        font-size: 20px;
        font-weight: 1000;
        appearance: textfield;
        text-transform: none;
    }

    & .airport-game__buyout-amount input::-webkit-outer-spin-button,
    & .airport-game__buyout-amount input::-webkit-inner-spin-button {
        margin: 0;
        appearance: none;
    }

    & .airport-game__buyout-amount strong {
        padding: 0 14px;
        color: var(--sky-accent);
        font-size: 13px;
        font-weight: 1000;
    }

    & .airport-game__buyout-presets {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    & .airport-game__buyout-presets button {
        min-height: 30px;
        padding: 0 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 6px;
        background: transparent;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 900;
    }

    & .airport-game__buyout-presets button:hover,
    & .airport-game__buyout-presets button:focus-visible {
        border-color: var(--sky-accent);
        background: rgb(var(--sky-accent-rgb) / 0.12);
        color: var(--sky-modal-text);
    }

    & .airport-game__buyout-error {
        margin: 0;
        padding: 10px 12px;
        border: 1px solid rgb(239 68 68 / 0.35);
        border-radius: 8px;
        background: rgb(239 68 68 / 0.12);
        color: rgb(254 202 202);
        font-size: 12px;
        font-weight: 850;
        overflow-wrap: anywhere;
    }

    & .airport-game__buyout-center {
        gap: 18px;
    }

    & .airport-game__buyout-center-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    & .airport-game__buyout-center-section {
        display: grid;
        align-content: start;
        gap: 10px;
        min-width: 0;
    }

    & .airport-game__buyout-center-section > header {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--sky-modal-text);
        font-size: 13px;
        font-weight: 950;
    }

    & .airport-game__buyout-center-section > header span {
        display: grid;
        place-items: center;
        min-width: 24px;
        height: 24px;
        padding: 0 7px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.34);
        border-radius: 999px;
        background: rgb(var(--sky-accent-rgb) / 0.12);
        color: var(--sky-accent);
        font-size: 11px;
    }

    & .airport-game__buyout-card-list {
        display: grid;
        gap: 10px;
    }

    & .airport-game__buyout-card {
        display: grid;
        gap: 10px;
        min-width: 0;
        padding: 12px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-panel-raised);
    }

    & .airport-game__buyout-card.is-pending {
        border-color: rgb(var(--sky-accent-rgb) / 0.36);
    }

    & .airport-game__buyout-card-main {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        min-width: 0;
    }

    & .airport-game__buyout-card-code {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        border: 1px solid rgb(var(--sky-accent-rgb) / 0.32);
        border-radius: 8px;
        background: rgb(var(--sky-accent-rgb) / 0.1);
        color: var(--sky-accent);
        font-size: 11px;
        font-weight: 1000;
    }

    & .airport-game__buyout-card-main div,
    & .airport-game__buyout-card-price,
    & .airport-game__buyout-card-grid span {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    & .airport-game__buyout-card-main strong,
    & .airport-game__buyout-card-price strong,
    & .airport-game__buyout-card-grid strong {
        min-width: 0;
        color: var(--sky-modal-text);
        font-weight: 1000;
        overflow-wrap: anywhere;
    }

    & .airport-game__buyout-card-main small,
    & .airport-game__buyout-card-price span,
    & .airport-game__buyout-card-grid small {
        min-width: 0;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 850;
        overflow-wrap: anywhere;
    }

    & .airport-game__buyout-card-price {
        padding: 10px;
        border-radius: 7px;
        background: rgb(var(--sky-accent-rgb) / 0.1);
    }

    & .airport-game__buyout-card-price strong {
        color: var(--sky-accent);
        font-size: 20px;
    }

    & .airport-game__buyout-card-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    & .airport-game__buyout-card-grid span {
        padding: 8px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 7px;
        background: rgb(255 255 255 / 0.025);
    }

    & .airport-game__buyout-card-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 8px;
    }

    & .airport-game__buyout-card-actions .airport-game__modal-action {
        min-height: 38px;
        padding: 0 14px;
        font-size: 13px;
    }

    & .airport-game__buyout-empty {
        margin: 0;
        padding: 14px;
        border: 1px dashed var(--sky-modal-border);
        border-radius: 8px;
        color: var(--sky-modal-text-soft);
        font-size: 13px;
        font-weight: 800;
    }

    & .airport-game__silo-target-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
    }

    & .airport-game__silo-target-actions span {
        min-width: 0;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        font-weight: 800;
    }

    & .airport-game__airline-hub-preview-grid strong {
        overflow: hidden;
        color: var(--sky-modal-text);
        font-size: 12px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__airline-hub-preview .airport-game__modal-action {
        justify-self: stretch;
    }

    & .airport-game__airline-hub-current {
        justify-self: start;
        color: var(--sky-modal-text-soft);
        font-size: 12px;
        font-weight: 900;
    }

    & .airport-game__unique-upgrades {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    & .airport-game__unique-upgrade {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 8px 10px;
        align-items: start;
        min-width: 0;
        padding: 10px;
        border: 1px solid var(--sky-modal-border);
        border-radius: 8px;
        background: var(--sky-panel-raised);
    }

    & .airport-game__unique-upgrade i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 6px;
        background: var(--sky-icon-bg);
        color: var(--sky-accent-strong);
        font-size: 13px;
    }

    & .airport-game__unique-upgrade > div {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    & .airport-game__unique-upgrade strong {
        min-width: 0;
        overflow: hidden;
        color: var(--sky-modal-text);
        font-size: 12px;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__unique-upgrade p {
        display: -webkit-box;
        margin: 0;
        overflow: hidden;
        color: var(--sky-modal-text-soft);
        font-size: 11px;
        line-height: 1.3;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    & .airport-game__unique-upgrade span {
        min-width: 0;
        overflow: hidden;
        color: var(--sky-success);
        font-size: 11px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    & .airport-game__unique-upgrade button {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        min-height: 34px;
        padding: 0 10px;
        transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, transform 0.08s ease;
    }

    & .airport-game__unique-upgrade button:hover,
    & .airport-game__unique-upgrade button:focus-visible {
        box-shadow: 0 0 0 3px rgb(var(--sky-accent-rgb) / 0.18);
    }

    & .airport-game__unique-upgrade button:active {
        transform: translateY(1px);
    }

    & .airport-game__unique-upgrade button:disabled {
        cursor: not-allowed;
        opacity: 0.56;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .airport-game-page {
        & .airport-game__route-line.is-traffic {
            animation: none;
        }
    }
}

@keyframes airportPulse {
    from {
        opacity: 0.8;
        transform: scale(0.6);
    }

    to {
        opacity: 0;
        transform: scale(1.35);
    }
}

@keyframes routeTrafficFlow {
    to {
        stroke-dashoffset: var(--traffic-offset, -23px);
    }
}

@keyframes globalAlertSlideOpen {
    from {
        opacity: 0.82;
        transform: translateX(22px) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

@media (max-width: 1180px) {
    :root {
        --sky-header-height: 64px;
        --sky-header-offset: 144px;
    }

    .sky-marketing {
        & .sky-home__content--marketing {
            grid-template-columns: 1fr;
            align-items: start;
            margin-top: 34px;
        }

        & .sky-home__mission {
            width: min(560px, 100%);
        }
    }

    .sky-marketing__feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sky-rules__toc {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .airport-game-page {
        & .airport-game {
            --sky-dashboard-height: 192px;
        }

        & .airport-game__hud--top {
            grid-template-columns: minmax(0, 1fr) auto;
            grid-template-rows: 64px 64px;
        }

        & .airport-game__brand {
            min-height: 64px;
            border-right: 0;
        }

        & .airport-game__header-actions {
            grid-template-columns: repeat(5, 48px);
            min-height: 64px;
        }

        & .airport-game__header-button {
            height: 64px;
        }

        & .airport-game__header-stats {
            grid-column: 1 / -1;
            grid-row: 2;
            overflow-y: hidden;
            border-top: 1px solid var(--sky-line);
        }

        & .airport-game__hud-stat {
            min-height: 64px;
            padding: 0 12px;
        }

        & .airport-game__event-feed {
            width: min(360px, calc(100vw - 32px));
        }

        & .airport-game__bottom-dashboard {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        & .airport-game__dashboard-panel--heatmap {
            display: none;
        }

        & .airport-game__dashboard-panel {
            min-height: 164px;
            max-height: 192px;
        }
    }
}

@media (max-width: 980px) {
    .sky-rules__hero,
    .sky-rules__grid,
    .sky-rules__cards,
    .sky-rules__columns {
        grid-template-columns: 1fr;
    }

    .sky-home {
        & .sky-support__steps {
            grid-template-columns: 1fr;
        }

        & .sky-support__hero,
        & .sky-support__checkout {
            align-items: stretch;
            flex-direction: column;
        }

        & .sky-support__current {
            text-align: left;
        }

        & .sky-support__gift-grid {
            grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
            max-height: none;
        }

        & .sky-report__stats {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        & .sky-report__grid {
            grid-template-columns: 1fr;
        }
    }

    .airport-game-page {
        & .airport-game__bottom-dashboard {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        & .airport-game__dashboard-panel--routes {
            display: none;
        }

        & .airport-game__management-actions--upgrades,
        & .airport-game__modal-management > .airport-game__management-summary {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
}

@media (max-width: 760px) {
    :root {
        --sky-header-height: 58px;
        --sky-header-offset: 148px;
    }

    .sky-site-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        top: 10px;
        width: calc(100% - 24px);
        min-height: 0;
        gap: 8px;
        padding: 10px;
    }

    .sky-site-header__brand {
        justify-content: flex-start;
        min-height: 42px;
    }

    .sky-site-header__logo {
        width: 40px;
        height: 28px;
    }

    .sky-site-header__nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .sky-site-header__actions {
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: 6px;
        max-width: 100%;
    }

    .sky-site-header__nav a,
    .sky-site-header__cta,
    .sky-site-header__ghost {
        min-height: 38px;
        font-size: 12px;
        white-space: nowrap;
    }

    .sky-site-header__cta {
        padding: 0 12px;
    }

    .sky-site-header__cta--login,
    .sky-site-header__cta--register {
        gap: 7px;
        padding: 0 10px;
        min-width: 0;
    }

    .sky-rules {
        width: calc(100% - 24px);
        padding-top: 150px;
    }

    .sky-rules__hero {
        padding-top: 18px;
    }

    .sky-rules__hero h1 {
        font-size: clamp(42px, 16vw, 72px);
    }

    .sky-rules__hero p,
    .sky-rules__lead {
        font-size: 16px;
    }

    .sky-rules__toc {
        grid-template-columns: 1fr 1fr;
    }

    .sky-rules__chapter {
        padding: 18px;
    }

    .sky-rules__chapter > header {
        display: grid;
        align-items: start;
    }

    .sky-home {
        & .sky-home__nav {
            width: calc(100% - 24px);
            padding-top: 12px;
            align-items: flex-start;
        }

        & .sky-home__brand,
        & .sky-home__nav-action {
            min-height: 38px;
            padding: 0 10px;
            font-size: 12px;
        }

        & .sky-home__nav-links {
            gap: 6px;
        }

        & .sky-home__content {
            width: calc(100% - 24px);
            margin-top: 110px;
        }

        & .sky-profile__hero,
        & .sky-profile__identity,
        & .sky-support__hero,
        & .sky-support__checkout {
            align-items: stretch;
            flex-direction: column;
        }

        & .sky-profile__hero-actions {
            justify-content: stretch;
        }

        & .sky-profile__hero-actions .sky-home__primary,
        & .sky-profile__hero-actions .sky-home__secondary {
            justify-content: center;
        }

        & .sky-profile__cosmetic-columns {
            grid-template-columns: 1fr;
        }

        & .sky-support__panel .sky-lobby__panel-head {
            min-height: 86px;
            padding: 18px;
        }

        & .sky-support__panel .sky-lobby__label,
        & .sky-support__checkout .sky-lobby__label {
            width: 28px;
            height: 28px;
            font-size: 14px;
        }

        & .sky-support__panel h2,
        & .sky-support__checkout h2 {
            font-size: 26px;
        }

        & .sky-support__tabs {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .sky-support__tabs button {
            justify-content: center;
        }

        & .sky-support__tier {
            min-height: 0;
            padding: 16px;
        }

        & .sky-support__gift-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        & .sky-support__gift {
            min-height: 0;
        }

        & .sky-home__content h1 {
            font-size: 48px;
        }

        & .sky-home__content p {
            font-size: 15px;
        }

        & .sky-home__actions,
        & .sky-home__join-code {
            display: grid;
            grid-template-columns: 1fr;
        }

        & .sky-home__preview {
            position: relative;
            left: auto;
            bottom: auto;
            grid-template-columns: 1fr;
            width: calc(100% - 24px);
            margin: 36px auto 20px;
            transform: none;
        }

        & .sky-report__hero {
            display: grid;
        }

        & .sky-report__outcome {
            justify-items: start;
        }

        & .sky-report__stats {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .sky-report__chart-wrap {
            overflow-x: auto;
        }

        & .sky-report__chart-wrap canvas {
            min-width: 720px;
        }
    }

    .sky-marketing {
        & .sky-home__hero {
            min-height: 0;
            overflow: visible;
            padding: 132px 0 18px;
        }

        & .sky-home__content--marketing {
            width: calc(100% - 24px);
            margin-top: 18px;
            gap: 24px;
        }

        & .sky-home__content h1 {
            font-size: clamp(38px, 12vw, 52px);
        }

        & .sky-home__content p {
            font-size: 16px;
        }

        & .sky-home__mission {
            padding: 14px;
        }

        & .sky-home__mission li {
            grid-template-columns: 34px minmax(0, 1fr);
        }

        & .sky-home__mission b {
            grid-column: 2;
        }
    }

    .sky-marketing__section,
    .sky-marketing__band {
        width: calc(100% - 24px);
    }

    .sky-marketing__section {
        padding: 48px 0 42px;
    }

    .sky-marketing__feature-grid,
    .sky-marketing__band {
        grid-template-columns: 1fr;
    }

    .sky-marketing__band {
        padding: 18px;
    }

    .sky-marketing__band .sky-home__primary {
        width: 100%;
    }

    .sky-lobby {
        & .sky-lobby__shell {
            padding: 132px 12px 12px;
        }

        & .sky-lobby__content {
            margin-top: 38px;
        }

        & .sky-lobby__hero {
            grid-template-columns: 1fr;
            padding: 16px;
        }

        & .sky-lobby__heading p {
            font-size: 14px;
        }

        & .sky-lobby__start {
            padding: 14px;
        }

        & .sky-lobby__season-strip {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 38px;
        }

        & .sky-lobby__grid {
            grid-template-columns: 1fr;
        }

        & .sky-lobby__current,
        & .sky-lobby__season {
            display: grid;
            align-items: start;
        }

        & .sky-lobby__current .sky-home__primary,
        & .sky-lobby__season .sky-home__secondary {
            width: 100%;
        }

        & .sky-news__item {
            grid-template-columns: 1fr;
        }

        & .sky-news__article-head,
        & .sky-news__article-body {
            padding: 16px;
        }

        & .sky-lobby__panel-head {
            min-height: 66px;
            padding: 12px;
        }

        & .sky-lobby__current h2,
        & .sky-lobby__panel h2 {
            font-size: 18px;
        }

        & .sky-profile__stats {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .sky-admin__stats {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .sky-profile__breakdown {
            grid-template-columns: 1fr;
        }

        & .sky-profile__badge-board,
        & .sky-profile__achievement-list,
        & .sky-profile__unique-list {
            grid-template-columns: 1fr;
        }

        & .sky-profile__hero {
            display: grid;
            align-items: start;
            padding: 16px;
        }

        & .sky-profile__hero-actions {
            justify-content: stretch;
        }

        & .sky-profile__hero-actions .sky-home__primary,
        & .sky-profile__hero-actions .sky-home__secondary {
            width: 100%;
        }

        & .sky-profile__grid {
            grid-template-columns: 1fr;
        }

        & .sky-profile__game-card ul {
            grid-template-columns: 1fr;
        }

        & .sky-leaderboard__grid {
            grid-template-columns: 1fr;
        }

        & .sky-leaderboard__board {
            overflow: visible;
        }

        & .sky-leaderboard__description {
            padding: 10px 12px;
            font-size: 12px;
        }

        & .sky-leaderboard__list li {
            grid-template-columns: 38px 42px minmax(0, 1fr);
            grid-template-areas:
                "rank avatar player"
                "score score final"
                "meta meta meta";
            align-items: center;
            gap: 9px;
            padding: 12px;
        }

        & .sky-leaderboard__score {
            grid-area: score;
            justify-self: stretch;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 34px;
            padding: 0 10px;
            border: 1px solid rgb(var(--sky-accent-rgb) / 0.32);
            border-radius: 6px;
            background: rgb(var(--sky-accent-rgb) / 0.1);
            color: var(--sky-accent);
            font-size: 14px;
        }

        & .sky-leaderboard__final-rank {
            grid-area: final;
            justify-self: stretch;
            min-width: 0;
            min-height: 34px;
            align-content: center;
            justify-content: center;
            padding: 5px 8px;
            font-size: 16px;
        }

        & .sky-leaderboard__meta {
            grid-area: meta;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 6px;
        }

        & .sky-leaderboard__meta span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 0;
            min-height: 30px;
            padding: 5px 6px;
            text-align: center;
            white-space: normal;
            overflow-wrap: anywhere;
        }

        & .sky-leaderboard__player strong {
            white-space: normal;
            overflow-wrap: anywhere;
        }

        & .sky-leaderboard__player small {
            line-height: 1.3;
        }
    }

    .sky-auth {
        & .sky-auth__shell {
            padding: 132px 12px 12px;
        }

        & .sky-auth__panel {
            padding: 18px;
        }

        & .sky-auth__panel h1 {
            font-size: 34px;
        }

        & .sky-auth__form--split {
            grid-template-columns: 1fr;
        }

        & .sky-auth__form--split .sky-auth__submit {
            justify-self: stretch;
        }
    }

    .airport-game-page {
        & .airport-game {
            --sky-dashboard-bottom: calc(78px + var(--sky-safe-area-bottom));
            --sky-dashboard-height: 0px;
        }

        & .airport-game__hud--top {
            grid-template-columns: minmax(0, 1fr) auto;
            grid-template-rows: 58px 74px;
            min-height: 132px;
        }

        & .airport-game__brand {
            grid-template-columns: 42px minmax(0, 1fr);
            min-height: 58px;
            gap: 9px;
            padding: 0 10px;
        }

        & .airport-game__brand-logo {
            width: 42px;
            height: 26px;
        }

        & .airport-game__brand h1 {
            font-size: 18px;
        }

        & .airport-game__brand-subtitle {
            font-size: 9px;
        }

        & .airport-game__header-actions {
            grid-template-columns: repeat(5, 42px);
            min-height: 58px;
        }

        & .airport-game__header-button {
            width: 42px;
            height: 58px;
            font-size: 16px;
        }

        & .airport-game__start-waiting {
            top: calc(var(--sky-header-offset) + 10px);
            grid-template-columns: 40px minmax(0, 1fr);
            gap: 10px;
            width: calc(100vw - 20px);
            padding: 12px;
        }

        & .airport-game__start-waiting-icon {
            width: 40px;
            height: 40px;
            font-size: 17px;
        }

        & .airport-game__start-waiting strong {
            font-size: 15px;
        }

        & .airport-game__start-waiting p {
            font-size: 12px;
        }

        & .airport-game__start-waiting-action {
            grid-column: 1 / -1;
            width: 100%;
            min-height: 38px;
        }

        & .airport-game__search {
            top: calc(var(--sky-header-offset) + 10px);
            width: calc(100vw - 20px);
            max-height: min(430px, calc(var(--sky-game-viewport-height) - var(--sky-header-offset) - 92px - var(--sky-safe-area-bottom)));
        }

        & .airport-game__search-result {
            grid-template-columns: 30px minmax(0, 1fr) minmax(54px, auto);
            gap: 8px;
        }

        & .airport-game__search-flag {
            width: 30px;
            height: 22px;
        }

        & .airport-game__header-stats {
            grid-template-columns: repeat(6, 136px);
            overflow-x: auto;
            overflow-y: hidden;
            overscroll-behavior-x: contain;
            scrollbar-width: thin;
        }

        & .airport-game__hud-stat {
            gap: 5px;
            min-height: 74px;
            max-height: 74px;
            padding: 0 10px;
        }

        & .airport-game__hud-stat strong {
            font-size: 16px;
        }

        & .airport-game__hud-stat small {
            font-size: 11px;
        }

        & .airport-game__overview-panel {
            display: none;
        }

        & .airport-game__airlines-head {
            align-items: start;
            grid-template-columns: 1fr;
            gap: 8px;
        }

        & .airport-game__airlines-head em {
            justify-self: start;
        }

        & .airport-game__airline-breakdown-row {
            grid-template-columns: minmax(0, 1fr);
            align-items: start;
            gap: 4px;
        }

        & .airport-game__airline-advice {
            grid-template-columns: minmax(0, 1fr);
        }

        & .airport-game__airline-breakdown-row strong {
            white-space: normal;
        }

        & .airport-game__airlines-note {
            font-size: 12px;
        }

        & .airport-game__airline-row {
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 12px;
            min-height: 0;
            padding: 12px;
        }

        & .airport-game__airline-logo {
            width: 42px;
            height: 42px;
        }

        & .airport-game__airline-actions {
            grid-column: 1 / -1;
            min-width: 0;
        }

        & .airport-game__airline-actions button {
            width: 100%;
        }

        & .airport-game__airline-tags span,
        & .airport-game__airline-metrics span {
            white-space: normal;
        }

        & .airport-game__global-alerts {
            top: calc(var(--sky-header-offset) + 8px);
            right: 10px;
            width: min(340px, calc(100vw - 30px));
            justify-items: end;
            pointer-events: none;
        }

        & .airport-game__global-alert.is-collapsed {
            transform: translateX(calc(100% - 58px));
        }

        & .airport-game__map-shortcuts {
            top: calc(var(--sky-header-offset) + ((var(--sky-game-viewport-height) - var(--sky-header-offset) - var(--sky-dashboard-bottom) - var(--sky-dashboard-height)) / 2) - 78px);
            right: 10px;
            gap: 8px;
        }

        & .airport-game__map-shortcut {
            width: 46px;
            height: 46px;
            font-size: 16px;
        }

        & .airport-game__map-layers {
            top: calc(var(--sky-header-offset) + ((var(--sky-game-viewport-height) - var(--sky-header-offset) - var(--sky-dashboard-bottom) - var(--sky-dashboard-height)) / 2) + 14px);
            right: 10px;
        }

        & .airport-game__map-layer-toggle {
            font-size: 19px;
        }

        & .airport-game__map-layer-menu {
            right: 58px;
            width: min(208px, calc(100vw - 82px));
        }

        & .airport-game__module-nav {
            grid-template-columns: repeat(8, 72px);
            overflow-x: auto;
            justify-content: start;
        }

        & .airport-game__module-nav button {
            flex-direction: column;
            gap: 4px;
        }

        & .airport-game__module-drawer,
        & .airport-game__event-feed {
            left: 10px;
            right: 10px;
            width: auto;
        }

        & .airport-game__bottom-dashboard {
            left: 10px;
            right: 10px;
            bottom: var(--sky-dashboard-bottom);
            display: block;
            pointer-events: none;
        }

        & .airport-game__dashboard-panel--finance-preview,
        & .airport-game__dashboard-panel--activity,
        & .airport-game__dashboard-panel--routes,
        & .airport-game__dashboard-panel--heatmap {
            display: none;
        }

        & .airport-game__dashboard-panel--actions {
            display: none;
        }

        & .airport-game__dashboard-panel--actions .airport-game__dashboard-head {
            min-height: 46px;
        }

        & .airport-game__quick-actions {
            grid-template-columns: 1fr;
            max-height: min(34vh, 254px);
            padding: 8px;
        }

        & .airport-game__quick-action {
            min-height: 44px;
            grid-template-columns: 30px minmax(0, 1fr);
        }

        & .airport-game__quick-action strong {
            grid-column: 2;
            text-align: left;
        }

        & .airport-game__finance-overview {
            grid-template-columns: 1fr;
            gap: 5px;
        }

        & .airport-game__chart-wrap {
            height: 58px;
        }

        & .airport-game__selected-grid,
        & .airport-game__finance-summary,
        & .airport-game__management-summary,
        & .airport-game__management-actions,
        & .airport-game__route-picker-toolbar,
        & .airport-game__airline-hub-panel {
            grid-template-columns: 1fr;
        }

        & .airport-game__management-upgrade-main,
        & .airport-game__management-upgrade-preview {
            grid-template-columns: 1fr;
        }

        & .airport-game__management-upgrade-main i {
            display: none;
        }

        & .airport-game__management-upgrade-main em {
            text-align: left;
        }

        & .airport-game__management-upgrade-controls {
            grid-template-columns: 34px minmax(72px, 1fr) 34px;
        }

        & .airport-game__management-upgrade-controls [data-management-upgrade-set-max],
        & .airport-game__management-upgrade-controls .airport-game__management-upgrade-submit {
            grid-column: span 3;
        }

        & .airport-game__modal {
            padding: 10px;
        }

        & .airport-game__modal-card {
            width: calc(100vw - 20px);
            max-width: calc(100vw - 20px);
            max-height: calc(var(--sky-game-viewport-height) - 20px);
            padding: 14px;
        }

        & .airport-game__modal-card.is-management {
            width: calc(100vw - 20px);
        }

        & .airport-game__modal-content,
        & .airport-game__modal-management,
        & .airport-game__management-section,
        & .airport-game__management-summary,
        & .airport-game__airport-detail-grid,
        & .airport-game__buyout-metrics,
        & .airport-game__buyout-center-grid,
        & .airport-game__buyout-hero,
        & .airport-game__management-actions,
        & .airport-game__management-action {
            min-width: 0;
            max-width: 100%;
        }

        & .airport-game__management-action strong,
        & .airport-game__management-action small,
        & .airport-game__management-action em,
        & .airport-game__route-management-create span,
        & .airport-game__route-management-create em,
        & .airport-game__route-management-main strong,
        & .airport-game__route-management-main small,
        & .airport-game__route-management-stats dd,
        & .airport-game__player-route-airport strong,
        & .airport-game__player-route-airport small,
        & .airport-game__route-picker-row strong,
        & .airport-game__route-picker-row small,
        & .airport-game__route-picker-row em,
        & .airport-game__management-summary strong {
            white-space: normal;
            overflow-wrap: anywhere;
        }

        & .airport-game__management-action {
            grid-template-columns: 34px minmax(0, 1fr);
        }

        & .airport-game__management-action em {
            grid-column: 2;
            justify-self: start;
            max-width: 100%;
            text-align: left;
        }

        & .airport-game__airport-detail-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .airport-game__buyout-metrics {
            grid-template-columns: 1fr;
        }

        & .airport-game__buyout-center-grid {
            grid-template-columns: 1fr;
        }

        & .airport-game__buyout-hero {
            padding-right: 44px;
        }

        & .airport-game__airport-impact {
            grid-template-columns: 22px minmax(0, 1fr);
            border-radius: 8px;
        }

        & .airport-game__airport-impact strong {
            grid-column: 2;
        }

        & .airport-game__route-management-row {
            grid-template-columns: 34px minmax(0, 1fr);
            align-items: start;
        }

        & .airport-game__player-route-row {
            grid-template-columns: minmax(0, 1fr);
        }

        & .airport-game__player-route-airports,
        & .airport-game__player-route-main,
        & .airport-game__player-route-row .airport-game__route-management-stats,
        & .airport-game__player-route-row .airport-game__route-management-sell {
            grid-column: 1;
        }

        & .airport-game__player-routes-metrics {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .airport-game__route-management-create {
            grid-template-columns: 30px minmax(0, 1fr);
        }

        & .airport-game__route-management-create em {
            grid-column: 2;
        }

        & .airport-game__route-management-stats,
        & .airport-game__route-management-sell {
            grid-column: 2;
        }

        & .airport-game__route-management-stats {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .airport-game__route-management-sell {
            width: fit-content;
        }

        & .airport-game__route-picker-row {
            grid-template-columns: 34px minmax(0, 1fr);
        }

        & .airport-game__route-picker-metrics {
            grid-column: 2;
            justify-items: start;
        }

        & .airport-game__owned-row {
            grid-template-columns: 30px minmax(0, 1fr);
        }

        & .airport-game__owned-stats {
            grid-column: 2;
            justify-content: flex-start;
        }

        & .airport-game__management-section-head {
            display: grid;
            gap: 3px;
        }

        & .airport-game__airline-hub-preview-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        & .airport-game__management-section-head span {
            text-align: left;
        }

        & .airport-game__management-head {
            grid-template-columns: 1fr;
            gap: 8px;
        }

        & .airport-game__management-head > em {
            justify-self: start;
            max-width: none;
            text-align: left;
        }

        & .airport-game__rank {
            grid-template-columns: 48px 42px minmax(0, 1fr);
        }

        & .airport-game__rank-metrics {
            grid-column: 3;
            justify-items: start;
        }

        & .airport-game__rank > .airport-game__rank-score {
            grid-column: 3;
        }

        & .airport-game__rank-emblem {
            right: 18px;
            width: 92px;
            height: 92px;
        }

        & .airport-game__rank-score,
        & .airport-game__rank-health {
            justify-items: start;
        }

        & .airport-game__modal-tutorial,
        & .airport-game__modal-lost,
        & .airport-game__modal-flash,
        & .airport-game__unique-upgrade {
            grid-template-columns: 1fr;
        }
    }
}

@media (max-width: 430px) {
    .airport-game {
        & .airport-game__airport-detail-grid,
        & .airport-game__buyout-metrics,
        & .airport-game__buyout-card-grid {
            grid-template-columns: 1fr;
        }

        & .airport-game__buyout-hero {
            grid-template-columns: 40px minmax(0, 1fr);
        }

        & .airport-game__buyout-hero > i {
            width: 40px;
            height: 40px;
        }

        & .airport-game__buyout-hero strong {
            font-size: 20px;
        }
    }

    .sky-site-header__brand {
        flex: 0 0 48px;
        width: 48px;
        padding: 0 4px;
    }

    .sky-site-header__brand span {
        display: none;
    }

    .sky-site-header__actions {
        min-width: 0;
    }

    .sky-site-header__cta--login,
    .sky-site-header__cta--register {
        font-size: 11px;
        padding: 0 8px;
    }

    .sky-home {
        & .sky-leaderboard__hero h1 {
            font-size: 36px;
            line-height: 1;
        }

        & .sky-leaderboard__hero p {
            font-size: 14px;
        }

        & .sky-leaderboard__board-title {
            grid-template-columns: 34px minmax(0, 1fr);
        }

        & .sky-leaderboard__board-title > i {
            width: 34px;
            height: 34px;
        }

        & .sky-leaderboard__list li {
            grid-template-columns: 36px 38px minmax(0, 1fr);
            grid-template-areas:
                "rank avatar player"
                "score score score"
                "final final final"
                "meta meta meta";
            gap: 8px;
            padding: 10px;
        }

        & .sky-player-portrait--leaderboard {
            width: 38px;
            height: 38px;
        }

        & .sky-leaderboard__rank {
            width: 32px;
            height: 32px;
            font-size: 12px;
        }

        & .sky-leaderboard__score,
        & .sky-leaderboard__final-rank {
            justify-self: stretch;
        }

        & .sky-leaderboard__meta {
            grid-template-columns: 1fr;
        }

        & .sky-admin__stats {
            grid-template-columns: 1fr;
        }

        & .sky-admin__stats strong {
            font-size: 20px;
        }
    }
}

@media (max-width: 560px) {
    .airport-game {
        & .airport-game__contracts-summary {
            grid-template-columns: 1fr 1fr;
        }

        & .airport-game__contracts-summary-main {
            grid-column: 1 / -1;
        }

        & .airport-game__contracts-summary-stat {
            align-items: start;
            justify-items: start;
            padding-top: 9px;
            padding-left: 0;
            border-top: 1px solid var(--sky-line-soft);
            border-left: 0;
            text-align: left;
        }
    }
}

@media (max-width: 760px) {
    .airport-game-page .airport-game__invoice-row {
        grid-template-columns: minmax(0, 1fr) 32px;
    }

    .airport-game-page .airport-game__invoice-amounts {
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .airport-game-page .airport-game__unique-upgrades,
    .airport-game-page .airport-game__management-actions--upgrades,
    .airport-game-page .airport-game__route-management-metrics {
        grid-template-columns: 1fr;
    }
}
