/**
 * Goalie Solitaire — /games/solitaire/
 * Card design source: docs/design/goalie-solitaire-cards-2026-06.html
 * Sizing is driven by --gs-cw (card width) set from JS on resize;
 * everything else derives from it.
 */

/* The whole page is a dark surface (like the site's dark heroes) so every
   text color below is explicit — readability can't depend on what the body
   or a browser dark mode does. */
body.ingoal-goalie-solitaire { background: var(--ig-navy, #0A1628); }

.gs-page {
    max-width: 1340px;
    margin: 0 auto;
    padding: var(--ig-space-xl, 32px) 24px 80px;
    font-family: var(--ig-font-ui, 'Inter', sans-serif);
    background: linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 320px);
}

.gs-hero { text-align: center; margin-bottom: 22px; }
.gs-hero__title {
    font-family: var(--ig-font-heading, 'Inter', sans-serif);
    font-size: var(--ig-text-5xl, 42px);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    margin: 0 0 8px;
}
.gs-hero__sub {
    font-size: 16px;
    line-height: 1.5;
    color: var(--ig-ice, #8FB8DE);
    max-width: 620px;
    margin: 0 auto;
}

/* ---------------- HUD ---------------- */
.gs-hud {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.gs-btn {
    font-family: var(--ig-font-ui, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    color: #fff;
    background: var(--ig-accent-blue, #31487A);
    border: 1px solid rgba(143,184,222,.35);
    border-radius: var(--ig-radius-sm, 4px);
    padding: 10px 18px;
    min-height: 44px;
    cursor: pointer;
}
.gs-btn:hover { background: #3e5a96; }
.gs-btn:disabled { opacity: .45; cursor: default; }
.gs-btn:disabled:hover { background: var(--ig-accent-blue, #31487A); }
.gs-hud__stats {
    margin-left: auto;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 17px;
    letter-spacing: 2px;
    color: var(--ig-ice, #8FB8DE);
    font-variant-numeric: tabular-nums;
}
.gs-hud__record { color: #ffffff; }
.gs-hud__memberdecks {
    font-size: 12px;
    font-weight: 600;
    color: var(--ig-ice, #8FB8DE);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.gs-hud__memberdecks:hover { color: #ffffff; }
.gs-hud__season { display: flex; align-items: center; gap: 8px; }
.gs-hud__season-label {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--ig-ice, #8FB8DE);
}
.gs-hud__season select {
    font-family: var(--ig-font-ui, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: rgba(143,184,222,.12);
    border: 1px solid rgba(143,184,222,.35);
    border-radius: var(--ig-radius-sm, 4px);
    padding: 10px 12px;
    min-height: 44px;
    cursor: pointer;
}
.gs-hud__season select option { color: var(--ig-text-primary, #1a2332); }

/* ---------------- Rink board ---------------- */
.gs-board-wrap { position: relative; }
.gs-board {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    background:
        radial-gradient(circle at 50% 64%, transparent 118px, rgba(180,30,40,.10) 119px, rgba(180,30,40,.10) 122px, transparent 123px),
        linear-gradient(180deg, transparent 0%, transparent 61.6%, rgba(180,30,40,.13) 61.7%, rgba(180,30,40,.13) 62.3%, transparent 62.4%),
        linear-gradient(180deg, transparent 0%, transparent 38%, rgba(49,72,122,.14) 38.1%, rgba(49,72,122,.14) 39.1%, transparent 39.2%, transparent 84%, rgba(49,72,122,.14) 84.1%, rgba(49,72,122,.14) 85.1%, transparent 85.2%),
        linear-gradient(165deg, #eef4fa 0%, #dde9f3 55%, #d3e2ef 100%);
    box-shadow: inset 0 2px 18px rgba(10,22,40,.10), 0 10px 30px rgba(10,22,40,.12);
}
.gs-noscript { padding: 60px 20px; text-align: center; color: var(--ig-text-secondary, #5a6678); }

/* Empty slots (stock recycle, foundations, empty tableau columns) */
.gs-slot {
    position: absolute;
    border: 2px dashed rgba(49,72,122,.35);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}
.gs-slot__suit { font-size: 20px; }
.gs-slot__suit--red { color: rgba(214,64,69,.55); }
.gs-slot__suit--blk { color: rgba(10,22,40,.45); }
.gs-slot__name {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 10px;
    letter-spacing: 1.5px;
    color: var(--ig-accent-blue, #31487A);
}
.gs-slot__recycle { font-size: 18px; color: rgba(49,72,122,.5); }
.gs-slot--drop { border-color: rgba(49,72,122,.8); background: rgba(143,184,222,.18); }

/* ---------------- Cards ---------------- */
.gs-card {
    position: absolute;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    will-change: transform;
    transition: transform .28s cubic-bezier(.25,.9,.3,1.15), box-shadow .2s ease;
    box-shadow: 0 4px 12px rgba(10,22,40,.25), 0 1px 3px rgba(10,22,40,.14);
    color: #fff;
}
.gs-card.gs-dragging { transition: none; box-shadow: 0 16px 34px rgba(10,22,40,.4); cursor: grabbing; }
.gs-card.gs-no-anim { transition: none; }

/* face-up */
.gs-card__face {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(155deg, rgba(143,184,222,.10) 0%, rgba(143,184,222,0) 35%),
        repeating-linear-gradient(115deg, rgba(255,255,255,.022) 0px, rgba(255,255,255,.022) 2px, transparent 2px, transparent 9px),
        linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 100%);
    border: 1px solid rgba(143,184,222,.25);
    border-radius: 8px;
}
.gs-card__face::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--team2, #AC162C), var(--team, #041E42));
}
.gs-card__idx {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Bebas Neue', sans-serif;
    line-height: .85;
    z-index: 3;
}
.gs-card__idx--tl { top: 3px; left: 6px; }
/* Single corner index in-game: the bottom-right one is always covered in a
   tableau and collides with the name bar on exposed cards. */
.gs-card__idx--br { display: none; }
.gs-card__idx .r { font-size: calc(var(--gs-cw, 110px) * .21); }
.gs-card__idx .s { font-size: calc(var(--gs-cw, 110px) * .17); line-height: 1; }
.gs-card--red .gs-card__idx { color: #FF6359; }
.gs-card--blk .gs-card__idx { color: #EDF4FA; }
.gs-card__photo {
    position: absolute;
    inset: 16% 6% 21%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.gs-card__photo img {
    width: 82%;
    display: block;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,.45));
    pointer-events: none;
}
.gs-card__name {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    text-align: center;
    background: rgba(10,22,40,.78);
    border-top: 1px solid rgba(143,184,222,.2);
    padding: 3% 4% 3.5%;
    line-height: 1.25;
}
.gs-card__name .last {
    font-family: 'Bebas Neue', sans-serif;
    font-size: calc(var(--gs-cw, 110px) * .15);
    letter-spacing: 1px;
    line-height: 1;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-card__name .sv {
    font-size: calc(var(--gs-cw, 110px) * .09);
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--gs-accent, #8FB8DE);
}

/* face-down (Lattice back, locked 2026-06-10).
   --gs-accent is the season's "print run" color, set from JS per deck. */
.gs-card__back {
    position: absolute;
    inset: 0;
    border-radius: 8px;
    background:
        repeating-linear-gradient(45deg, color-mix(in srgb, var(--gs-accent, #8FB8DE) 15%, transparent) 0px, color-mix(in srgb, var(--gs-accent, #8FB8DE) 15%, transparent) 1.5px, transparent 1.5px, transparent 11px),
        repeating-linear-gradient(-45deg, color-mix(in srgb, var(--gs-accent, #8FB8DE) 15%, transparent) 0px, color-mix(in srgb, var(--gs-accent, #8FB8DE) 15%, transparent) 1.5px, transparent 1.5px, transparent 11px),
        linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 100%);
    border: 1px solid color-mix(in srgb, var(--gs-accent, #8FB8DE) 35%, transparent);
}
.gs-card__back .inner {
    position: absolute;
    inset: 6%;
    border: 1px solid color-mix(in srgb, var(--gs-accent, #8FB8DE) 45%, transparent);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gs-card__back .gem {
    background: linear-gradient(180deg, #11203a, var(--ig-navy, #0A1628));
    border: 1px solid color-mix(in srgb, var(--gs-accent, #8FB8DE) 55%, transparent);
    transform: rotate(45deg);
    width: 36%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gs-card__back .gem span {
    transform: rotate(-45deg);
    font-family: 'Bebas Neue', sans-serif;
    font-size: calc(var(--gs-cw, 110px) * .1);
    letter-spacing: 1px;
    color: #EDF4FA;
    text-align: center;
    line-height: 1.05;
}
.gs-card__back .gem span small {
    display: block;
    font-size: calc(var(--gs-cw, 110px) * .065);
    color: var(--gs-accent, #8FB8DE);
    letter-spacing: 1px;
}
.gs-card--down .gs-card__face { display: none; }
.gs-card--up .gs-card__back { display: none; }

/* ----- Seasonal back patterns (.gs-back--* set on the board from JS).
   Each season is a distinct print run: pattern + accent travel together.
   `lattice` above is the default (2025-26 launch deck). ----- */

/* SUNBURST (gold years) — art-deco rays, circle crest */
.gs-back--sunburst .gs-card__back {
    background:
        repeating-conic-gradient(from 0deg at 50% 50%,
            color-mix(in srgb, var(--gs-accent, #D9B673) 14%, transparent) 0deg 5deg,
            transparent 5deg 14deg),
        radial-gradient(circle at 50% 50%, rgba(17,32,58,0) 0%, rgba(10,22,40,.65) 78%),
        linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 100%);
}
.gs-back--sunburst .gs-card__back .inner {
    border-style: double;
    border-width: 3px;
}
.gs-back--sunburst .gs-card__back .gem {
    transform: none;
    border-radius: 50%;
    width: 42%;
    border-width: 2px;
}
.gs-back--sunburst .gs-card__back .gem span { transform: none; }

/* ARGYLE (green years) — wide diamond weave with thread lines */
.gs-back--argyle .gs-card__back {
    background:
        repeating-linear-gradient(45deg,
            color-mix(in srgb, var(--gs-accent, #7FC79B) 30%, transparent) 0 1px,
            transparent 1px 14px),
        repeating-linear-gradient(-45deg,
            color-mix(in srgb, var(--gs-accent, #7FC79B) 30%, transparent) 0 1px,
            transparent 1px 14px),
        repeating-linear-gradient(45deg,
            color-mix(in srgb, var(--gs-accent, #7FC79B) 12%, transparent) 0 14px,
            transparent 14px 28px),
        repeating-linear-gradient(-45deg,
            color-mix(in srgb, var(--gs-accent, #7FC79B) 12%, transparent) 0 14px,
            transparent 14px 28px),
        linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 100%);
}
.gs-back--argyle .gs-card__back .inner { border-width: 2px; }

/* MESH (violet years) — goal-net mesh behind a square gem */
.gs-back--mesh .gs-card__back {
    background:
        repeating-linear-gradient(0deg,
            color-mix(in srgb, var(--gs-accent, #C39BD3) 22%, transparent) 0 1px,
            transparent 1px 7px),
        repeating-linear-gradient(90deg,
            color-mix(in srgb, var(--gs-accent, #C39BD3) 22%, transparent) 0 1px,
            transparent 1px 7px),
        linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 100%);
}
.gs-back--mesh .gs-card__back .inner {
    border-width: 3px; /* the goal frame */
    border-radius: 3px;
    inset: 8%;
}
.gs-back--mesh .gs-card__back .gem {
    transform: none;
    border-radius: 3px;
    width: 46%;
    aspect-ratio: 1.4;
}
.gs-back--mesh .gs-card__back .gem span { transform: none; }

/* CHEVRON (copper years) — zigzag stripes */
.gs-back--chevron .gs-card__back {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--gs-accent, #E8A87C) 16%, transparent) 25%, transparent 25%),
        linear-gradient(225deg, color-mix(in srgb, var(--gs-accent, #E8A87C) 16%, transparent) 25%, transparent 25%),
        linear-gradient(315deg, color-mix(in srgb, var(--gs-accent, #E8A87C) 16%, transparent) 25%, transparent 25%),
        linear-gradient(45deg,  color-mix(in srgb, var(--gs-accent, #E8A87C) 16%, transparent) 25%, transparent 25%),
        linear-gradient(180deg, #11203a 0%, var(--ig-navy, #0A1628) 100%);
    background-size: 24px 24px, 24px 24px, 24px 24px, 24px 24px, 100% 100%;
}
.gs-back--chevron .gs-card__back .gem { border-width: 2px; }

/* win state */
.gs-won-banner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background: rgba(10,22,40,.55);
    z-index: 500;
}
.gs-won-banner h2 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 54px;
    letter-spacing: 4px;
    color: #fff;
    margin: 0;
    text-shadow: 0 4px 18px rgba(0,0,0,.4);
}
.gs-won-banner .gs-btn { min-width: 160px; }

/* ---------------- Rotate prompt (small portrait screens) ---------------- */
.gs-rotate[hidden] { display: none; }
.gs-rotate {
    position: absolute;
    inset: 0;
    z-index: 600;
    border-radius: 20px;
    background: var(--ig-navy, #0A1628);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.gs-rotate__inner { color: #fff; padding: 30px; }
.gs-rotate__icon { font-size: 44px; display: block; margin-bottom: 10px; color: var(--ig-ice, #8FB8DE); }
.gs-rotate__inner p { font-size: 15px; line-height: 1.5; margin: 0; max-width: 240px; }

/* ---------------- /games/ hub cards ---------------- */
.gs-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
    max-width: 980px;
    margin: 0 auto;
}
.gs-hub-card {
    border: 1px solid rgba(143,184,222,.25);
    border-radius: var(--ig-radius-lg, 12px);
    background: rgba(143,184,222,.07);
    padding: 26px 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.gs-hub-card h2 {
    font-family: var(--ig-font-heading, 'Inter', sans-serif);
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.25;
}
.gs-hub-card p {
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255,255,255,.75);
    margin: 0;
    flex: 1;
}
.gs-hub-card__cta { align-self: flex-start; margin-top: 4px; text-decoration: none; }
.gs-hub-card__badge {
    align-self: flex-start;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 13px;
    letter-spacing: 2px;
    color: #1B102F;
    background: linear-gradient(180deg, #E8CD8A, #C9A654);
    padding: 3px 10px;
    border-radius: 4px;
}
.gs-hub-card--soon { border-style: dashed; }
.gs-hub-card--vault { border-style: dashed; }
.gs-hub-card__redacted { display: flex; flex-direction: column; gap: 9px; padding: 4px 0 2px; }
.gs-hub-card__redacted span {
    display: block;
    height: 16px;
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(143,184,222,.32), rgba(143,184,222,.12));
    filter: blur(3px);
}
.gs-hub-card__redacted span:nth-child(1) { width: 62%; }
.gs-hub-card__redacted span:nth-child(2) { width: 84%; }
.gs-hub-card__redacted span:nth-child(3) { width: 48%; }
.gs-hub-card__cta--disabled {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    color: rgba(255,255,255,.45);
}

/* ---------------- Member leaderboards (hub) ---------------- */
.gs-leader { max-width: 980px; margin: 36px auto 0; }
.gs-leader__title {
    font-family: var(--ig-font-heading, 'Inter', sans-serif);
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px;
}
.gs-leader__sub { font-size: 13px; color: rgba(255,255,255,.65); margin: 0 0 16px; }
.gs-leader__sub a { color: var(--ig-ice, #8FB8DE); }
.gs-leader__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.gs-leader__board {
    border: 1px solid rgba(143,184,222,.25);
    border-radius: var(--ig-radius-md, 8px);
    background: rgba(143,184,222,.06);
    padding: 14px 18px;
}
.gs-leader__board h3 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 19px;
    letter-spacing: 1.5px;
    color: var(--ig-ice, #8FB8DE);
    margin: 0 0 8px;
}
.gs-leader__board h3 span { display: block; font-size: 11px; color: rgba(255,255,255,.45); letter-spacing: 1px; }
.gs-leader__board ol { margin: 0; padding: 0 0 0 22px; }
.gs-leader__board li { font-size: 13px; color: rgba(255,255,255,.85); padding: 3px 0; }
.gs-leader__board li .n { color: #ffffff; }
.gs-leader__board li .v {
    float: right;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 15px;
    color: var(--ig-ice, #8FB8DE);
    font-variant-numeric: tabular-nums;
}

/* ---------------- CTA (subscribe + email capture) ---------------- */
.gs-cta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    max-width: 980px;
    margin: 30px auto 0;
}
.gs-cta__panel {
    flex: 1 1 380px;
    border: 1px solid rgba(143,184,222,.25);
    border-radius: var(--ig-radius-lg, 12px);
    background: rgba(143,184,222,.07);
    padding: 26px 28px;
}
.gs-cta__panel h2 {
    font-family: var(--ig-font-heading, 'Inter', sans-serif);
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 8px;
    line-height: 1.3;
}
.gs-cta__panel p {
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255,255,255,.75);
    margin: 0 0 14px;
}
.gs-btn--cta { background: var(--ig-accent-blue, #31487A); padding: 12px 22px; }
.gs-cta__actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.gs-cta__gift { font-size: 13px; color: var(--ig-ice, #8FB8DE); }
.gs-cta__fields { display: flex; gap: 10px; flex-wrap: wrap; }
.gs-cta__fields input[type="email"] {
    flex: 1 1 200px;
    padding: 14px 16px;
    min-height: 48px;
    font-size: 14px;
    font-family: var(--ig-font-ui, 'Inter', sans-serif);
    border: 1px solid rgba(143,184,222,.35);
    border-radius: var(--ig-radius-sm, 4px);
    background: rgba(255,255,255,.95);
    color: var(--ig-text-primary, #1a2332);
}
.gs-cta__feedback { font-size: 13px; line-height: 1.4; margin-top: 10px; min-height: 1em; }
.gs-cta__feedback--success { color: #7fd99a; }
.gs-cta__feedback--error { color: #ff8d85; }
.gs-cta__trust { font-size: 11.5px; color: rgba(255,255,255,.45); margin-top: 10px; }

/* ---------------- Deck list (crawlable content + internal links) ---------------- */
.gs-decklist { max-width: 980px; margin: 36px auto 0; }
.gs-decklist h2 {
    font-family: var(--ig-font-heading, 'Inter', sans-serif);
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
    margin: 0 0 6px;
}
.gs-decklist__intro { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.7); margin: 0 0 20px; max-width: 720px; }
.gs-decklist__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.gs-decklist__col {
    border: 1px solid rgba(143,184,222,.2);
    border-radius: var(--ig-radius-md, 8px);
    background: rgba(143,184,222,.05);
    padding: 16px 18px;
}
.gs-decklist__col h3 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 19px;
    letter-spacing: 2px;
    color: var(--ig-ice, #8FB8DE);
    margin: 0 0 10px;
}
.gs-decklist__col h3 span { color: rgba(255,255,255,.5); }
.gs-decklist__col ol { list-style: none; margin: 0; padding: 0; }
.gs-decklist__row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 8px;
    margin: 0 -8px;
    font-size: 13px;
    line-height: 1.3;
    border-radius: 7px;
    transition: background .15s ease;
}
.gs-decklist__row:hover { background: rgba(143,184,222,.12); }
.gs-decklist__row--ace {
    background: rgba(143,184,222,.10);
    border: 1px solid rgba(143,184,222,.3);
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 5px;
}
.gs-decklist__pos {
    font-size: 10.5px;
    font-weight: 600;
    color: rgba(255,255,255,.38);
    width: 24px;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}
.gs-decklist__thumb {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    background: rgba(143,184,222,.15);
    border: 1px solid rgba(143,184,222,.3);
    flex-shrink: 0;
}
.gs-decklist__row--ace .gs-decklist__thumb { width: 38px; height: 38px; border-color: rgba(143,184,222,.55); }
.gs-decklist__name {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gs-decklist__name:hover { color: var(--ig-ice, #8FB8DE); }
.gs-decklist__row--ace .gs-decklist__name { font-weight: 700; }
.gs-decklist__meta { margin-left: auto; font-size: 11px; color: rgba(255,255,255,.5); white-space: nowrap; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.gs-decklist__chip {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 13px;
    line-height: 1;
    letter-spacing: .5px;
    color: #EDF4FA;
    background: linear-gradient(180deg, #16263f, var(--ig-navy, #0A1628));
    border: 1px solid rgba(143,184,222,.35);
    border-radius: 4px;
    padding: 5px 5px 4px;
    min-width: 30px;
    text-align: center;
    flex-shrink: 0;
}
.gs-decklist__chip--red { color: #FF6359; }

/* ---------------- About ---------------- */
.gs-about { max-width: 720px; margin: 26px auto 0; }
.gs-about details {
    border: 1px solid var(--ig-border-color, #e2e6ec);
    border-radius: var(--ig-radius-md, 8px);
    padding: 14px 18px;
    background: #fff;
}
.gs-about summary {
    font-weight: 600;
    color: var(--ig-navy, #0A1628);
    cursor: pointer;
}
.gs-about p {
    font-family: var(--ig-font-body, 'Merriweather', serif);
    font-size: 15px;
    line-height: 1.65;
    color: var(--ig-text-primary, #1a2332);
    margin: 12px 0 0;
}
.gs-about a { color: var(--ig-accent-blue, #31487A); }

@media (prefers-reduced-motion: reduce) {
    .gs-card { transition: none; }
}

@media (max-width: 700px) {
    .gs-page { padding-left: 10px; padding-right: 10px; }
    .gs-hero__title { font-size: 30px; }
    .gs-hero__sub { font-size: 14px; }
}
