.gs-mon {
    width: min(1400px, calc(100% - 24px));
    margin: 0 auto;
    padding: 20px 0 42px;
}

.gs-mon-breadcrumbs {
    margin-bottom: 10px;
}

.gs-mon-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--soft);
    font-size: 11px;
}

.gs-mon-breadcrumbs li:not(:last-child)::after {
    content: "/";
    margin-left: 7px;
    color: var(--line-strong);
}

.gs-mon-breadcrumbs a:hover {
    color: var(--gold);
}

.gs-mon-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    overflow: hidden;
    min-height: 290px;
    padding: 30px 36px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background:
        radial-gradient(circle at 14% 30%, rgba(232, 188, 58, .18), transparent 28%),
        radial-gradient(circle at 23% 70%, rgba(106, 148, 196, .14), transparent 25%),
        linear-gradient(135deg, rgba(200, 74, 56, .07), transparent 48%),
        var(--panel-alpha);
    box-shadow: var(--shadow);
}

.gs-mon-hero::after {
    content: attr(data-dex);
    position: absolute;
    right: -12px;
    bottom: -62px;
    z-index: -1;
    color: rgba(255, 255, 255, .025);
    font-size: 230px;
    font-weight: 950;
    line-height: .8;
}

.gs-mon-sprites {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gs-mon-sprites figure {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 170px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(18, 14, 7, .75);
}

.gs-mon-sprites figure::before {
    content: "";
    position: absolute;
    width: 118px;
    height: 118px;
    border-radius: 50%;
    opacity: .45;
}

.gs-mon-sprites .is-gold::before {
    background: radial-gradient(circle, rgba(232, 188, 58, .5), transparent 68%);
}

.gs-mon-sprites .is-silver::before {
    background: radial-gradient(circle, rgba(106, 148, 196, .58), transparent 68%);
}

.gs-mon-sprites figure > span {
    position: absolute;
    top: 9px;
    left: 9px;
    z-index: 2;
    padding: 3px 7px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gs-mon-sprites img {
    position: relative;
    z-index: 1;
    width: 118px;
    height: 118px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 10px 10px rgba(0, 0, 0, .48));
}

.gs-mon-kicker {
    margin: 0 0 5px;
    color: var(--gold);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
}

.gs-mon-intro h1 {
    margin: 0;
    color: #fff8df;
    font-size: clamp(42px, 6vw, 78px);
    line-height: .95;
    letter-spacing: -.05em;
}

.gs-type-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
}

.gs-type-row span {
    padding: 5px 10px;
    border: 1px solid color-mix(in srgb, var(--type-color) 66%, #21170a);
    border-radius: 999px;
    background: color-mix(in srgb, var(--type-color) 18%, transparent);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.gs-type-row .gs-version-status {
    --type-color: var(--gold);
    color: var(--gold-2);
}

.gs-mon-summary {
    max-width: 850px;
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 15px;
}

.gs-mon-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.gs-mon-actions a {
    padding: 8px 11px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--surface);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.gs-mon-actions a:hover {
    border-color: var(--line-strong);
    color: #fff;
}

.gs-mon-actions .is-primary {
    border-color: var(--gold);
    background: var(--accent-soft);
    color: var(--gold-2);
}

.gs-mon-neighbors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 12px 0;
}

.gs-mon-neighbors a {
    display: grid;
    gap: 2px;
    padding: 10px 13px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
}

.gs-mon-neighbors a:last-child {
    text-align: right;
}

.gs-mon-neighbors a:hover {
    border-color: var(--line-strong);
}

.gs-mon-neighbors span {
    color: var(--soft);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.gs-mon-neighbors strong {
    color: var(--text);
    font-size: 11px;
}

.gs-mon-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
    gap: 12px;
}

.gs-mon-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 215, 108, .035), transparent 25%),
        var(--panel-alpha);
    box-shadow: var(--shadow);
}

.gs-mon-full {
    grid-column: 1 / -1;
}

.gs-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.gs-section-heading p {
    margin: 0 0 2px;
    color: var(--gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
}

.gs-section-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 20px;
}

.gs-section-heading > strong {
    color: var(--gold-2);
    font-size: 22px;
}

.gs-stat-list {
    display: grid;
    gap: 9px;
}

.gs-stat-row {
    display: grid;
    grid-template-columns: 74px 34px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
}

.gs-stat-row > span {
    color: var(--muted);
    font-size: 11px;
}

.gs-stat-row > strong {
    color: #fff;
    font-size: 12px;
    text-align: right;
}

.gs-stat-row i {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(0, 0, 0, .3);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.gs-stat-row b {
    display: block;
    width: calc(var(--stat-value) * 100% / 255);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--hooh), var(--gold), var(--gold-2));
}

.gs-profile-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0;
}

.gs-profile-list div {
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(92, 67, 22, .7);
    border-radius: 7px;
    background: rgba(255, 255, 255, .018);
}

.gs-profile-list dt {
    color: var(--soft);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.gs-profile-list dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    color: #fff;
    font-size: 12px;
    font-weight: 750;
}

.gs-level-card {
    background:
        radial-gradient(circle at 8% 18%, rgba(232, 188, 58, .08), transparent 24%),
        linear-gradient(180deg, rgba(255, 215, 108, .035), transparent 25%),
        var(--panel-alpha);
}

.gs-level-layout {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 14px;
}

.gs-level-controls {
    display: grid;
    align-content: start;
    gap: 9px;
}

.gs-level-control-panel,
.gs-stat-profile-panel,
.gs-stat-advanced,
.gs-level-results {
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface);
}

.gs-level-control-panel,
.gs-stat-profile-panel {
    padding: 12px;
}

.gs-level-control-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gs-level-control-heading label,
.gs-stat-profile-panel > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.gs-level-control-heading input,
.gs-stat-advanced input {
    min-width: 0;
    border: 1px solid var(--line-strong);
    border-radius: 6px;
    outline: 0;
    background: rgba(12, 9, 4, .82);
    color: #fff;
    font: inherit;
    font-variant-numeric: tabular-nums;
}

.gs-level-control-heading input {
    width: 76px;
    padding: 7px 8px;
    color: var(--gold-2);
    font-size: 15px;
    font-weight: 900;
    text-align: center;
}

.gs-level-control-heading input:focus,
.gs-stat-advanced input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 2px rgba(232, 188, 58, .12);
}

.gs-level-range {
    width: 100%;
    margin: 12px 0 8px;
    accent-color: var(--gold);
    cursor: pointer;
}

.gs-level-shortcuts,
.gs-stat-profile-buttons {
    display: grid;
    gap: 5px;
}

.gs-level-shortcuts {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gs-level-shortcuts button,
.gs-stat-profile-buttons button {
    min-width: 0;
    padding: 6px 5px;
    border: 1px solid var(--line);
    border-radius: 5px;
    background: rgba(255, 255, 255, .018);
    color: var(--soft);
    font: inherit;
    font-size: 9px;
    font-weight: 850;
    cursor: pointer;
}

.gs-level-shortcuts button:hover,
.gs-stat-profile-buttons button:hover,
.gs-level-shortcuts button.is-active,
.gs-stat-profile-buttons button.is-active {
    border-color: var(--gold);
    background: var(--accent-soft);
    color: var(--gold-2);
}

.gs-stat-profile-buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 8px;
}

.gs-stat-profile-panel p {
    margin: 8px 0 0;
    color: var(--soft);
    font-size: 9px;
}

.gs-stat-advanced {
    overflow: hidden;
}

.gs-stat-advanced summary {
    padding: 10px 12px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
}

.gs-stat-advanced[open] summary {
    border-bottom: 1px solid var(--line);
    color: var(--gold-2);
}

.gs-stat-advanced-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 11px;
}

.gs-stat-advanced fieldset {
    min-width: 0;
    margin: 0;
    padding: 9px;
    border: 1px solid rgba(92, 67, 22, .62);
    border-radius: 7px;
}

.gs-stat-advanced legend {
    padding: 0 4px;
    color: var(--soft);
    font-size: 8px;
    font-weight: 850;
    text-transform: uppercase;
}

.gs-stat-advanced label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 82px;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    color: var(--muted);
    font-size: 9px;
}

.gs-stat-advanced input {
    width: 100%;
    padding: 5px 6px;
    font-size: 10px;
    text-align: right;
}

.gs-stat-advanced fieldset p {
    margin: 9px 0 0;
    color: var(--soft);
    font-size: 8px;
}

.gs-stat-advanced output {
    color: var(--gold-2);
    font-weight: 900;
}

.gs-level-results {
    align-self: start;
    overflow: hidden;
}

.gs-level-results-head,
.gs-level-result-row {
    display: grid;
    grid-template-columns: minmax(96px, .8fr) 84px minmax(120px, 1.7fr) 88px;
    align-items: center;
    gap: 10px;
}

.gs-level-results-head {
    padding: 9px 12px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .018);
    color: var(--soft);
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.gs-level-results-head span:last-child {
    grid-column: 4;
    text-align: right;
}

.gs-level-result-row {
    min-height: 60px;
    padding: 9px 12px;
    border-top: 1px solid rgba(92, 67, 22, .48);
}

.gs-level-results-head + .gs-level-result-row {
    border-top: 0;
}

.gs-level-result-row > div {
    display: grid;
    gap: 2px;
}

.gs-level-result-row strong {
    color: #fff;
    font-size: 11px;
}

.gs-level-result-row small {
    color: var(--soft);
    font-size: 8px;
}

.gs-level-result-row output {
    color: var(--gold-2);
    font-size: 21px;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.gs-level-result-row i {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(0, 0, 0, .34);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.gs-level-result-row i b {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--hooh), var(--gold), var(--gold-2));
    transition: width .16s ease;
}

.gs-level-result-row > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.gs-stat-formula-note {
    margin: 13px 0 0;
    padding-top: 11px;
    border-top: 1px solid var(--line);
    color: var(--soft);
    font-size: 9px;
    line-height: 1.55;
}

.gs-dex-entry-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.gs-dex-entry-grid blockquote {
    position: relative;
    min-height: 135px;
    margin: 0;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface);
}

.gs-dex-entry-grid blockquote::after {
    content: "\201D";
    position: absolute;
    right: 10px;
    bottom: -28px;
    color: rgba(255, 255, 255, .04);
    font: 110px/1 Georgia, serif;
}

.gs-dex-entry-grid .is-gold {
    border-color: rgba(232, 188, 58, .42);
    background: linear-gradient(135deg, rgba(232, 188, 58, .09), transparent 60%), var(--surface);
}

.gs-dex-entry-grid .is-silver {
    border-color: rgba(106, 148, 196, .5);
    background: linear-gradient(135deg, rgba(106, 148, 196, .11), transparent 60%), var(--surface);
}

.gs-dex-entry-grid span {
    color: var(--gold-2);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gs-dex-entry-grid .is-silver span {
    color: #d9e6f5;
}

.gs-dex-entry-grid p {
    position: relative;
    z-index: 1;
    margin: 10px 0 0;
    color: var(--text);
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.55;
}

.gs-evolution-nodes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gs-evolution-nodes a {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    min-width: 190px;
    padding: 8px 12px 8px 8px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface);
}

.gs-evolution-nodes a:hover,
.gs-evolution-nodes a.is-current {
    border-color: var(--gold);
    background: var(--accent-soft);
}

.gs-evolution-nodes img {
    grid-row: 1 / 3;
    width: 70px;
    height: 70px;
    object-fit: contain;
    image-rendering: pixelated;
}

.gs-evolution-nodes span {
    align-self: end;
    color: var(--soft);
    font-size: 9px;
}

.gs-evolution-nodes strong {
    align-self: start;
    color: #fff;
    font-size: 14px;
}

.gs-evolution-edges {
    display: grid;
    gap: 7px;
    margin-top: 12px;
}

.gs-evolution-edges div {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-left: 2px solid var(--gold);
    background: rgba(232, 188, 58, .05);
    color: var(--muted);
    font-size: 11px;
}

.gs-evolution-edges strong {
    color: #fff;
}

.gs-evolution-edges em {
    color: var(--gold-2);
    font-style: normal;
}

.gs-version-location-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.gs-version-location {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
}

.gs-version-location.is-gold { border-color: rgba(232, 188, 58, .42); }
.gs-version-location.is-silver { border-color: rgba(106, 148, 196, .5); }

.gs-version-location > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 14px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 255, 255, .018);
}

.gs-version-location.is-gold > header { background: linear-gradient(90deg, rgba(232, 188, 58, .11), transparent); }
.gs-version-location.is-silver > header { background: linear-gradient(90deg, rgba(106, 148, 196, .13), transparent); }

.gs-version-location header span {
    color: var(--soft);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.gs-version-location header h3 {
    margin: 2px 0 0;
    color: #fff;
    font-size: 16px;
}

.gs-version-location header dl {
    display: flex;
    gap: 5px;
    margin: 0;
}

.gs-version-location header dl div {
    min-width: 46px;
    padding: 5px;
    border: 1px solid var(--line);
    border-radius: 5px;
    text-align: center;
}

.gs-version-location header dt {
    color: var(--soft);
    font-size: 7px;
    text-transform: uppercase;
}

.gs-version-location header dd {
    margin: 1px 0 0;
    color: var(--text);
    font-size: 11px;
    font-weight: 850;
}

.gs-location-details + .gs-location-details {
    border-top: 1px solid var(--line);
}

.gs-location-details summary,
.gs-tm-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 13px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

.gs-location-details summary span,
.gs-tm-details summary span {
    color: var(--gold-2);
    font-size: 9px;
}

.gs-table-scroll {
    max-height: 540px;
    overflow: auto;
    border-top: 1px solid var(--line);
}

.gs-table-scroll table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

.gs-table-scroll th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 7px 8px;
    background: #20170b;
    color: var(--soft);
    font-size: 8px;
    text-align: left;
    text-transform: uppercase;
}

.gs-table-scroll td {
    padding: 8px;
    border-top: 1px solid rgba(92, 67, 22, .48);
    color: var(--muted);
    vertical-align: top;
}

.gs-table-scroll td:first-child {
    min-width: 120px;
}

.gs-table-scroll td small {
    display: block;
    margin-top: 2px;
    color: var(--soft);
    font-size: 8px;
}

.gs-table-scroll a {
    color: var(--gold-2);
    font-weight: 800;
}

.gs-table-scroll a:hover {
    text-decoration: underline;
}

.gs-special-source-list {
    display: grid;
    gap: 6px;
    padding: 0 11px 11px;
}

.gs-special-source-list a {
    display: grid;
    gap: 2px;
    padding: 9px 10px;
    border: 1px solid rgba(92, 67, 22, .62);
    border-radius: 7px;
    background: rgba(255, 255, 255, .018);
}

.gs-special-source-list a:hover {
    border-color: var(--gold);
}

.gs-special-source-list span {
    color: var(--gold);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.gs-special-source-list strong {
    color: #fff;
    font-size: 11px;
}

.gs-special-source-list small {
    color: var(--soft);
    font-size: 9px;
}

.gs-no-location {
    margin: 12px;
    padding: 18px;
    border: 1px dashed var(--line);
    border-radius: 8px;
    color: var(--muted);
    text-align: center;
}

.gs-no-location strong {
    color: var(--gold-2);
    font-size: 15px;
}

.gs-no-location p {
    margin: 6px 0 0;
    font-size: 10px;
}

.gs-location-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
    color: var(--soft);
    font-size: 10px;
}

.gs-location-note .panel-glyph {
    width: 22px;
    height: 22px;
}

.gs-move-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.gs-move-grid article {
    min-width: 0;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--move-color) 42%, var(--line));
    border-radius: 8px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--move-color) 9%, transparent), transparent 58%), var(--surface);
}

.gs-pokedex-move-head {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}

.gs-pokedex-move-head > div {
    min-width: 0;
}

.gs-pokedex-move-head > div > span {
    color: var(--move-color);
    font-size: 9px;
    font-weight: 900;
}

.gs-pokedex-move-icon {
    position: relative;
    display: grid;
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--move-color) 72%, var(--line));
    border-radius: 8px;
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .17), transparent 58%),
        color-mix(in srgb, var(--move-color) 12%, rgba(235, 230, 215, .08));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .035), 0 3px 10px rgba(0, 0, 0, .2);
}

.gs-pokedex-move-icon.is-compact {
    width: 42px;
    height: 42px;
    border-radius: 6px;
}

.gs-pokedex-move-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
    filter:
        drop-shadow(1px 0 0 rgba(255, 255, 255, .13))
        drop-shadow(-1px 0 0 rgba(255, 255, 255, .08));
}

.gs-pokedex-move-icon > b {
    position: absolute;
    right: -5px;
    bottom: -4px;
    min-width: 28px;
    padding: 3px 4px;
    border: 1px solid #c99f27;
    border-radius: 4px;
    background: #34280d;
    color: #ffe58d;
    font: 900 6px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: -.03em;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .48);
}

.gs-pokedex-move-icon > b.is-hm {
    border-color: #7ea9d5;
    background: #17283c;
    color: #e6f2ff;
}

.gs-move-grid h3 {
    margin: 3px 0 0;
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gs-move-grid p {
    min-height: 28px;
    margin: 4px 0 8px;
    color: var(--soft);
    font-size: 9px;
}

.gs-move-grid dl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin: 0;
}

.gs-move-grid dl div {
    padding: 4px;
    border: 1px solid rgba(92, 67, 22, .55);
    border-radius: 4px;
    text-align: center;
}

.gs-move-grid dt {
    color: var(--soft);
    font-size: 7px;
    text-transform: uppercase;
}

.gs-move-grid dd {
    margin: 1px 0 0;
    color: var(--text);
    font-size: 9px;
    font-weight: 800;
}

.gs-tm-details {
    margin-top: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
}

.gs-tm-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 0 10px 10px;
}

.gs-tm-grid :is(div, a) {
    display: grid;
    gap: 1px;
    padding: 8px;
    border-left: 2px solid var(--move-color);
    background: rgba(255, 255, 255, .018);
}

.gs-tm-grid > a {
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.gs-tm-move-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.gs-tm-grid a:hover {
    background: color-mix(in srgb, var(--move-color) 12%, rgba(255, 255, 255, .02));
}

.gs-tm-grid strong {
    overflow: hidden;
    color: #fff;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gs-tm-grid span {
    color: var(--move-color);
    font-size: 8px;
    font-weight: 800;
}

.gs-tm-grid small {
    color: var(--soft);
    font-size: 8px;
}

.gs-muted-copy {
    margin: 8px 0 0;
    color: var(--soft);
    font-size: 11px;
}

@media (max-width: 1050px) {
    .gs-mon-hero { grid-template-columns: 250px minmax(0, 1fr); padding: 24px; }
    .gs-mon-grid { grid-template-columns: 1fr 1fr; }
    .gs-level-layout { grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); }
    .gs-move-grid,
    .gs-tm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .gs-mon { width: calc(100% - 16px); padding-top: 14px; }
    .gs-mon-hero { grid-template-columns: 1fr; }
    .gs-mon-sprites { max-width: 320px; }
    .gs-mon-grid { grid-template-columns: 1fr; }
    .gs-mon-full { grid-column: auto; }
    .gs-level-layout { grid-template-columns: 1fr; }
    .gs-version-location-grid,
    .gs-dex-entry-grid { grid-template-columns: 1fr; }
    .gs-move-grid,
    .gs-tm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .gs-mon-hero { padding: 20px 16px; }
    .gs-mon-sprites figure { min-height: 145px; }
    .gs-mon-sprites img { width: 96px; height: 96px; }
    .gs-mon-intro h1 { font-size: 42px; }
    .gs-mon-neighbors { grid-template-columns: 1fr; }
    .gs-mon-neighbors a:last-child { text-align: left; }
    .gs-mon-card { padding: 14px; }
    .gs-profile-list { grid-template-columns: 1fr; }
    .gs-level-shortcuts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .gs-stat-profile-buttons,
    .gs-stat-advanced-grid { grid-template-columns: 1fr; }
    .gs-level-results-head { display: none; }
    .gs-level-result-row {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 7px 12px;
    }
    .gs-level-result-row > div { grid-column: 1; grid-row: 1; }
    .gs-level-result-row output { grid-column: 2; grid-row: 1; }
    .gs-level-result-row > span { grid-column: 3; grid-row: 1; }
    .gs-level-result-row i { grid-column: 1 / -1; grid-row: 2; }
    .gs-version-location > header { align-items: flex-start; flex-direction: column; }
    .gs-table-scroll { max-height: 440px; }
    .gs-move-grid,
    .gs-tm-grid { grid-template-columns: 1fr; }
}
