:root {
    --armory-bg: #071019;
    --armory-panel: rgba(13, 29, 44, 0.94);
    --armory-panel-raised: rgba(18, 39, 58, 0.98);
    --armory-panel-soft: rgba(10, 24, 37, 0.84);
    --armory-border: rgba(130, 165, 191, 0.24);
    --armory-border-strong: rgba(213, 164, 75, 0.56);
    --armory-text: #e7edf2;
    --armory-muted: #9aabb8;
    --armory-tab-text: #b8c6d0;
    --armory-gold: #e2b45d;
    --armory-gold-bright: #ffd77c;
    --armory-blue: #77c7ed;
    --armory-green: #65c48a;
    --armory-yellow: #e6b85c;
    --armory-red: #d97878;
    --armory-dark-red: #914653;
    --armory-orange-red: #c77755;
    --armory-light-green: #8dc98d;
    --armory-cyan-green: #58b5a2;
    --armory-radius: 0.75rem;
    --armory-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.28);
}

.armory-app,
.armory-app * {
    box-sizing: border-box;
}

.armory-app {
    min-width: 0;
    min-height: 100vh;
    margin: 0;
    color: var(--armory-text);
    background:
        linear-gradient(180deg, rgba(5, 13, 21, 0.76), rgba(5, 13, 21, 0.97)),
        url('/system/img/hero-ironforge.png?v=20260808-background') center top / cover fixed;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

.armory-app .armory-site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.armory-app a {
    color: var(--armory-blue);
    border: 0;
    cursor: pointer;
    text-decoration: none;
    transition: color 160ms ease, border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.armory-app a:hover,
.armory-app a:focus-visible {
    color: var(--armory-gold-bright);
}

.armory-app button,
.armory-app input,
.armory-app select,
.armory-app progress {
    font: inherit;
}

.armory-app img {
    display: block;
    max-width: 100%;
}

.armory-app h1,
.armory-app h2,
.armory-app h3,
.armory-app h4,
.armory-app p {
    margin: 0;
    padding: 0;
}

.armory-app h1,
.armory-app h2,
.armory-app h3,
.armory-app h4 {
    color: var(--armory-text);
    border: 0;
    font-weight: 700;
    text-align: left;
}

.armory-app ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.armory-app ul li,
.armory-app ul li:first-child,
.armory-app ul li:last-child {
    padding: 0;
}

.armory-app ul li::before {
    content: none;
}

.armory-topbar {
    position: relative;
    border-bottom: 1px solid var(--armory-border);
    background: rgba(5, 14, 23, 0.9);
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.18);
}

.armory-topbar::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--armory-gold), transparent);
    content: "";
    opacity: 0.7;
}

.armory-topbar__inner,
.armory-shell,
.armory-footer__inner {
    width: min(1320px, calc(100% - 2rem));
    margin: 0 auto;
}

.armory-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.8rem;
}

.armory-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--armory-text) !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.armory-brand__mark {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid var(--armory-border-strong);
    border-radius: 0.6rem;
    color: var(--armory-gold);
    background: linear-gradient(145deg, rgba(226, 180, 93, 0.2), rgba(12, 32, 48, 0.9));
    box-shadow: inset 0 0 1rem rgba(226, 180, 93, 0.08);
}

.armory-brand__label {
    font-family: Lifecraft, "Segoe UI", Arial, sans-serif;
    font-size: 1.15rem;
    letter-spacing: 0.08em;
}

.armory-topbar__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem 1rem;
    color: var(--armory-muted);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.armory-server-home {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--armory-text) !important;
    font-weight: 700;
    text-decoration: none;
}

.armory-server-home:hover,
.armory-server-home:focus-visible {
    color: var(--armory-gold-bright) !important;
}

.armory-server-home__logo {
    width: 1.85rem;
    height: 1.85rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.armory-topbar__meta > span + span,
.armory-topbar__meta > .armory-server-home + span {
    position: relative;
    padding-left: 1rem;
}

.armory-topbar__meta > span + span::before,
.armory-topbar__meta > .armory-server-home + span::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 0.25rem;
    height: 0.25rem;
    border-radius: 50%;
    background: var(--armory-gold);
    content: "";
    transform: translateY(-50%);
}

.armory-shell {
    flex: 1;
    padding: 1.35rem 0 3rem;
}

.armory-footer {
    border-top: 1px solid var(--armory-border);
    background: rgba(4, 11, 18, 0.75);
}

.armory-footer__inner {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    color: var(--armory-muted);
    font-size: 0.8rem;
}

.armory-footer__inner a {
    color: var(--armory-muted);
}

.armory-page-heading {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(600px, 1.2fr);
    align-items: end;
    gap: 2rem;
    margin: 0;
    padding-block: clamp(2.5rem, 7vw, 5rem) 2rem;
}

.armory-page-heading h1 {
    color: var(--armory-text);
    font: 400 clamp(2.2rem, 5vw, 3.7rem)/1 Lifecraft, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0.035em;
}

.armory-page-heading__description {
    max-width: 58ch;
    margin-top: 0.8rem !important;
    color: var(--armory-muted);
}

.armory-app .page-heading__eyebrow {
    margin-bottom: 0.55rem;
    color: var(--armory-gold);
}

.armory-app .page-heading__eyebrow a,
.armory-app .page-heading__eyebrow a:visited {
    color: var(--armory-gold) !important;
}

.armory-app .page-heading__eyebrow a:hover,
.armory-app .page-heading__eyebrow a:focus-visible {
    color: var(--armory-text) !important;
}

.armory-search {
    position: relative;
    min-width: 0;
}

.armory-search__icon {
    position: absolute;
    top: 50%;
    left: 1rem;
    color: var(--armory-gold);
    pointer-events: none;
    transform: translateY(-50%);
}

.armory-app .armory-search input {
    width: 100%;
    min-height: 2.65rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.55rem;
    padding: 0.55rem 1rem 0.55rem 2.7rem;
    color: var(--armory-text);
    background: rgba(5, 16, 27, 0.78);
    box-shadow: inset 0 0 0 1px transparent;
    outline: 0;
}

.armory-app .armory-search input::placeholder {
    color: var(--armory-muted);
    opacity: 1;
}

.armory-app .armory-search input:focus {
    border-color: var(--armory-gold);
    box-shadow: 0 0 0 3px rgba(226, 180, 93, 0.13);
}

.armory-filter-bar {
    display: grid;
    grid-template-columns: minmax(12rem, 1.6fr) repeat(3, minmax(7rem, 0.9fr)) minmax(8.5rem, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.armory-filter-control {
    min-width: 0;
}

.armory-filter-control select,
.armory-level-filter input {
    width: 100%;
    min-width: 0;
    min-height: 2.65rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.55rem;
    color: var(--armory-text);
    background-color: rgba(5, 16, 27, 0.78);
    box-shadow: inset 0 0 0 1px transparent;
    outline: 0;
}

.armory-filter-control select {
    padding: 0.55rem 1.8rem 0.55rem 0.75rem;
    cursor: pointer;
}

.armory-filter-control option {
    color: var(--armory-text);
    background: #0b1b2a;
}

.armory-level-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.3rem;
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
    color: var(--armory-muted);
}

.armory-level-filter input {
    padding: 0.55rem 0.6rem;
    appearance: textfield;
}

.armory-level-filter input::-webkit-inner-spin-button,
.armory-level-filter input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

.armory-filter-control select:focus,
.armory-level-filter input:focus {
    border-color: var(--armory-gold);
    box-shadow: 0 0 0 3px rgba(226, 180, 93, 0.13);
}

.armory-filter-reset {
    display: inline-grid;
    width: 2.65rem;
    min-width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border: 1px solid var(--armory-border);
    border-radius: 0.55rem;
    padding: 0;
    color: var(--armory-muted);
    background: rgba(5, 16, 27, 0.78);
    cursor: pointer;
}

.armory-filter-reset:hover,
.armory-filter-reset:focus-visible {
    border-color: var(--armory-border-strong);
    color: var(--armory-gold-bright);
    background: rgba(226, 180, 93, 0.1);
}

.character-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.character-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    isolation: isolate;
    overflow: hidden;
    min-width: 0;
    min-height: 7rem;
    border: 1px solid var(--armory-border);
    border-radius: var(--armory-radius);
    padding: 1rem;
    background: linear-gradient(140deg, rgba(17, 39, 58, 0.95), rgba(8, 20, 32, 0.96));
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
}

.character-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 67%;
    background-repeat: no-repeat;
    background-position: -18px -65px;
    background-size: 120% auto;
    opacity: 0.03;
    pointer-events: none;
    transition: opacity 160ms ease;
}

.character-card--alliance::before {
    background-image: url('/system/img/alliance.png?v=20260809-faction-icons');
}

.character-card--horde::before {
    background-image: url('/system/img/horde.png?v=20260809-faction-icons');
}

.character-card--horde {
    border-color: rgba(237, 130, 122, 0.22);
    background: linear-gradient(145deg, rgba(58, 13, 20, 0.95), rgba(22, 5, 9, 0.97));
}

.character-card > * {
    position: relative;
    z-index: 1;
}

.character-card:hover,
.character-card:focus-visible {
    border-color: var(--armory-border-strong);
    background: linear-gradient(140deg, rgba(27, 55, 77, 0.98), rgba(9, 24, 38, 0.98));
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.25), inset 0 0 1rem rgba(226, 180, 93, 0.05);
    transform: translateY(-2px);
}

.character-card--horde:hover,
.character-card--horde:focus-visible {
    background: linear-gradient(145deg, rgba(92, 19, 28, 0.97), rgba(34, 7, 13, 0.98));
}

.character-card:hover::before,
.character-card:focus-visible::before {
    opacity: 0.05;
}

.character-avatar,
.profile-avatar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--armory-border-strong);
    background: radial-gradient(circle at 35% 25%, rgba(226, 180, 93, 0.28), rgba(7, 22, 35, 0.95) 70%);
    color: var(--armory-gold-bright);
    font-family: Lifecraft, "Segoe UI", Arial, sans-serif;
    font-weight: 700;
}

.character-avatar {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    font-size: 1.45rem;
}

.character-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.character-card__body {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.25rem;
}

.character-card__level {
    color: var(--armory-gold);
    font-size: 0.67rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.character-card__title {
    display: block;
    min-width: 0;
}

.character-name {
    overflow: hidden;
    color: var(--armory-text);
    font-size: 1.04rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.character-details {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    overflow: hidden;
    color: var(--armory-muted);
    font-size: 0.82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.character-details__icon {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    border: 1px solid rgba(226, 180, 93, 0.3);
    border-radius: 0.22rem;
    object-fit: cover;
}

.character-card__arrow {
    margin-left: auto;
    color: var(--armory-muted);
    transition: transform 160ms ease, color 160ms ease;
}

.character-card:hover .character-card__arrow,
.character-card:focus-visible .character-card__arrow {
    color: var(--armory-gold-bright);
    transform: translateX(0.2rem);
}

.empty-state,
.alert {
    border: 1px solid var(--armory-border);
    border-radius: var(--armory-radius);
    padding: 1.2rem 1.35rem;
    color: var(--armory-muted);
    background: var(--armory-panel-soft);
}

.alert {
    border-color: rgba(226, 180, 93, 0.35);
    color: #e5c98e;
}

.profile-hero {
    overflow: visible;
    margin-bottom: 1.5rem;
    padding-block: clamp(2.5rem, 7vw, 5rem) 0;
}

.profile-hero__top {
    display: block;
}

.profile-kicker {
    color: var(--armory-gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.profile-identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.1rem;
    padding: 0;
}

.profile-avatar {
    width: 5.25rem;
    height: 5.25rem;
    border-radius: 0.85rem;
    font-size: 2.15rem;
}

.profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-name {
    color: var(--armory-text);
    font-family: Lifecraft, "Segoe UI", Arial, sans-serif;
    font-size: clamp(2.2rem, 5vw, 3.7rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0.035em;
    line-height: 1;
}

.profile-fact__icon {
    width: 1.875rem;
    height: 1.875rem;
    flex: 0 0 auto;
    border: 1px solid rgba(226, 180, 93, 0.4);
    border-radius: 0.25rem;
    object-fit: cover;
}

.profile-fact__icon--race {
    image-rendering: auto;
}

.profile-fact__icon--faction {
    border: 0;
    border-radius: 0;
    padding: 0.08rem;
    object-fit: contain;
}

.profile-facts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.profile-fact {
    min-width: 6.25rem;
    border-left: 1px solid var(--armory-border);
    padding-left: 0.75rem;
}

.profile-fact__label {
    display: block;
    color: var(--armory-muted);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.profile-fact__value {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.15rem;
    color: var(--armory-text);
    font-size: 0.9rem;
    font-weight: 700;
}

.profile-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 1.35rem;
    border: 1px solid rgba(130, 165, 191, 0.32);
    border-radius: var(--armory-radius);
    padding: 0.65rem 1.25rem;
    background: linear-gradient(180deg, rgba(15, 34, 51, 0.82), rgba(7, 20, 32, 0.78));
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
}

.profile-tabs > a,
.profile-tabs > span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 2.35rem;
    border: 1px solid transparent;
    border-radius: 0.45rem;
    padding: 0.4rem 0.8rem;
    color: var(--armory-tab-text);
    font-size: 0.86rem;
    font-weight: 700;
}

.profile-tabs > a:hover,
.profile-tabs > a:focus-visible,
.profile-tabs > a.is-active,
.profile-tabs > a.is-active:visited {
    border-color: rgba(226, 180, 93, 0.58);
    color: var(--armory-gold-bright) !important;
    background: linear-gradient(180deg, rgba(226, 180, 93, 0.2), rgba(119, 199, 237, 0.08));
    box-shadow: inset 0 1px rgba(255, 231, 176, 0.12), 0 0.35rem 0.9rem rgba(0, 0, 0, 0.14);
}

.profile-tabs > .is-disabled {
    cursor: not-allowed;
    opacity: 0.48;
}

.content-card {
    border: 1px solid var(--armory-border);
    border-radius: var(--armory-radius);
    padding: clamp(1rem, 2.5vw, 1.5rem);
    background: var(--armory-panel);
    box-shadow: var(--armory-shadow);
}

.section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.section-heading h2 {
    font-size: 1.35rem;
}

.section-heading p {
    color: var(--armory-muted);
    font-size: 0.84rem;
}

.equipment-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    overflow: hidden;
    border-top: 1px solid var(--armory-border-strong);
    background: linear-gradient(135deg, rgba(22, 45, 63, 0.92), rgba(7, 20, 32, 0.96));
}

.equipment-summary__item {
    display: grid;
    gap: 0.1rem;
    padding: 0.65rem 0.9rem;
    text-align: center;
}

.equipment-summary__item + .equipment-summary__item {
    border-left: 1px solid var(--armory-border);
}

.equipment-summary__label {
    color: var(--armory-muted);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.equipment-summary__value {
    color: var(--armory-gold-bright);
    font-size: 1.05rem;
    font-weight: 700;
}

.character-sheet {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.9fr) minmax(0, 1fr);
    align-items: start;
    gap: 1rem;
}

.gear-column {
    display: grid;
    gap: 0.55rem;
}

.gear-slot {
    --gear-quality-rgb: 109, 137, 153;
    display: block;
    min-width: 0;
    min-height: 4.25rem;
    border: 1px solid rgba(var(--gear-quality-rgb), 0.32);
    border-radius: 0.6rem;
    padding: 0.35rem;
    background:
        linear-gradient(120deg, rgba(var(--gear-quality-rgb), 0.1), transparent 48%),
        linear-gradient(120deg, rgba(22, 45, 63, 0.9), rgba(7, 20, 32, 0.92));
    box-shadow: inset 0 0 1.2rem rgba(var(--gear-quality-rgb), 0.035);
}

.gear-slot--quality-0 { --gear-quality-rgb: 157, 157, 157; }
.gear-slot--quality-1 { --gear-quality-rgb: 255, 255, 255; }
.gear-slot--quality-2 { --gear-quality-rgb: 30, 255, 0; }
.gear-slot--quality-3 { --gear-quality-rgb: 0, 112, 255; }
.gear-slot--quality-4 { --gear-quality-rgb: 163, 53, 238; }
.gear-slot--quality-5 { --gear-quality-rgb: 255, 128, 0; }
.gear-slot--quality-6 { --gear-quality-rgb: 229, 204, 128; }
.gear-slot--quality-7 { --gear-quality-rgb: 0, 204, 255; }

.gear-slot--empty {
    --gear-quality-rgb: 73, 105, 124;
}

.gear-item,
.gear-empty-slot {
    display: grid;
    grid-template-columns: 3.55rem minmax(0, 1fr);
    align-items: center;
    min-height: 3.55rem;
}

.gear-item {
    position: relative;
    width: 100%;
}

.gear-item__link {
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: 0.35rem;
}

.gear-item__link:focus-visible {
    outline: 2px solid var(--armory-gold-bright);
    outline-offset: 2px;
}

.gear-item > .gear-icon-frame,
.gear-item > .gear-item__content {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.gear-slot--align-right .gear-item,
.gear-slot--align-right .gear-empty-slot {
    grid-template-columns: minmax(0, 1fr) 3.55rem;
}

.gear-slot--align-right .gear-icon-frame {
    grid-column: 2;
    grid-row: 1;
}

.gear-slot--align-right .gear-item__content,
.gear-slot--align-right .gear-empty-slot__content {
    grid-column: 1;
    grid-row: 1;
    padding: 0 0.5rem 0 0.35rem;
    text-align: right;
}

.gear-icon-frame {
    display: grid;
    width: 3.1rem;
    height: 3.1rem;
    margin: 0.05rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(226, 180, 93, 0.52);
    border-radius: 0.45rem;
    background: #08121c;
}

.gear-icon-frame--empty {
    border-color: var(--armory-border);
    color: var(--armory-muted);
    font-size: 0.72rem;
}

.gear-icon-placeholder {
    color: var(--armory-muted);
    font-size: 0.72rem;
}

.gear-icon {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gear-icon--render {
    background: #02070b;
}

.gear-slot--quality-0 .gear-icon-frame {
    border-color: rgba(183, 194, 202, 0.5);
}

.gear-slot--quality-1 .gear-icon-frame {
    border-color: rgba(255, 255, 255, 0.62);
}

.gear-slot--quality-2 .gear-icon-frame {
    border-color: rgba(30, 220, 110, 0.72);
    box-shadow: 0 0 0 1px rgba(30, 220, 110, 0.12);
}

.gear-slot--quality-3 .gear-icon-frame {
    border-color: rgba(75, 164, 255, 0.82);
    box-shadow: 0 0 0 1px rgba(75, 164, 255, 0.14);
}

.gear-slot--quality-4 .gear-icon-frame {
    border-color: rgba(190, 105, 255, 0.86);
    box-shadow: 0 0 0 1px rgba(190, 105, 255, 0.14);
}

.gear-slot--quality-5 .gear-icon-frame {
    border-color: rgba(255, 128, 48, 0.86);
    box-shadow: 0 0 0 1px rgba(255, 128, 48, 0.14);
}

.gear-slot--quality-6 .gear-icon-frame,
.gear-slot--quality-7 .gear-icon-frame {
    border-color: rgba(226, 180, 93, 0.92);
    box-shadow: 0 0 0 1px rgba(226, 180, 93, 0.16);
}

.gear-item__content,
.gear-empty-slot__content {
    display: grid;
    min-width: 0;
    gap: 0.08rem;
    padding: 0 0.35rem 0 0.5rem;
}

.gear-slot__label {
    overflow: hidden;
    color: var(--armory-muted);
    font-size: 0.67rem;
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.gear-item__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.65rem;
    min-width: 0;
}

.gear-slot--align-right .gear-item__heading {
    flex-direction: row-reverse;
}

.gear-item__name {
    flex: 1 1 auto;
    overflow: hidden;
    color: rgb(var(--gear-quality-rgb));
    font-size: 0.81rem;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gear-item:hover .gear-item__name,
.gear-item:focus-within .gear-item__name {
    filter: brightness(1.2);
}

.gear-item__meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    min-height: 1rem;
}

.gear-slot--align-left .gear-item__level {
    order: 2;
    margin-left: auto;
}

.gear-slot--align-left .gear-augmentations {
    order: 1;
}

.gear-slot--align-right .gear-item__level {
    order: 1;
    margin-right: auto;
}

.gear-slot--align-right .gear-augmentations {
    order: 2;
}

.gear-item__level {
    color: var(--armory-gold);
    font-size: 0.72rem;
}

.gear-augmentations {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
}

.gear-augmentation {
    position: relative;
    z-index: 3;
    display: inline-grid;
    width: 1.05rem;
    height: 1.05rem;
    place-items: center;
    overflow: visible;
    border: 1px solid rgba(226, 180, 93, 0.42);
    border-radius: 0.2rem;
    color: var(--armory-gold-bright);
    background: rgba(3, 11, 19, 0.86);
    font-size: 0.58rem;
    line-height: 1;
    pointer-events: auto;
    text-decoration: none;
}

.gear-augmentation img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.gear-augmentation--gem {
    border-color: rgba(119, 199, 237, 0.58);
}

.gear-augmentation--enchant[data-augmentation-tooltip]::after {
    position: absolute;
    z-index: 20;
    bottom: calc(100% + 0.45rem);
    left: 50%;
    width: max-content;
    max-width: min(16rem, 70vw);
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--armory-border-strong);
    border-radius: 0.35rem;
    color: var(--armory-text);
    background: rgba(3, 11, 19, 0.98);
    box-shadow: 0 0.5rem 1.2rem rgba(0, 0, 0, 0.45);
    content: attr(data-augmentation-tooltip);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    text-align: left;
    text-transform: none;
    transform: translate(-50%, 0.2rem);
    transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease;
    visibility: hidden;
    white-space: normal;
}

.gear-augmentation--enchant[data-augmentation-tooltip]:hover::after,
.gear-augmentation--enchant[data-augmentation-tooltip]:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
    visibility: visible;
}

.gear-slot--align-left .gear-augmentation--enchant[data-augmentation-tooltip]::after {
    left: 0;
    transform: translate(0, 0.2rem);
}

.gear-slot--align-left .gear-augmentation--enchant[data-augmentation-tooltip]:hover::after,
.gear-slot--align-left .gear-augmentation--enchant[data-augmentation-tooltip]:focus-visible::after {
    transform: translate(0, 0);
}

.gear-slot--align-right .gear-augmentation--enchant[data-augmentation-tooltip]::after {
    right: 0;
    left: auto;
    transform: translate(0, 0.2rem);
}

.gear-slot--align-right .gear-augmentation--enchant[data-augmentation-tooltip]:hover::after,
.gear-slot--align-right .gear-augmentation--enchant[data-augmentation-tooltip]:focus-visible::after {
    transform: translate(0, 0);
}

.gear-augmentation:focus-visible {
    outline: 2px solid var(--armory-gold-bright);
    outline-offset: 2px;
}

.character-stats {
    margin-top: 1rem;
}

.character-stats__groups {
    display: grid;
    gap: 1.15rem;
}

.character-stat-group {
    min-width: 0;
}

.character-stat-group + .character-stat-group {
    padding-top: 1rem;
}

.character-stat-group h3 {
    margin: 0 0 0.65rem;
    color: var(--armory-gold-bright);
    font-family: "Lifecraft", Georgia, serif;
    font-size: 1.12rem;
    letter-spacing: 0.035em;
}

.character-stat-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.character-stat {
    --stat-accent: #d9b66b;
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0;
    align-items: center;
    min-width: 0;
    min-height: 3.55rem;
    border: 1px solid rgba(126, 160, 184, 0.16);
    border-radius: 0.45rem;
    background: none;
}

.armory-app .character-stat-list > .character-stat {
    padding: 0.45rem 0.65rem 0.45rem 0.45rem;
}

.character-stat__icon {
    display: grid;
    width: 2.65rem;
    height: 3rem;
    place-items: center;
    color: var(--stat-accent);
    background: none;
    border-radius: 0.35rem;
    font-size: 1.45rem;
    text-shadow: none;
    filter: none;
}

.character-stat__icon i,
.character-stat__icon i::before {
    text-shadow: none;
}

.character-stat__details {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.05;
}

.character-stat__value {
    color: var(--stat-accent);
    font-size: 1.05rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.character-stat__label {
    margin-top: 0.25rem;
    overflow: hidden;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.character-stat--health {
    --stat-accent: #35e866;
}

.character-stat--mana {
    --stat-accent: #57a7ff;
}

.character-stat--energy {
    --stat-accent: #f0cf4c;
}

.character-stat--runic {
    --stat-accent: #70dce8;
}

.character-stat--primary {
    --stat-accent: #e2b45d;
}

.character-stat--offense {
    --stat-accent: #e48766;
}

.character-stat--defense {
    --stat-accent: #74b9e8;
}

.character-stat--resistance {
    --stat-accent: #9ba6f4;
}

.gear-empty-slot__name {
    color: var(--armory-muted);
    font-size: 0.81rem;
}

.gear-empty-slot__state {
    color: rgba(159, 177, 190, 0.62);
    font-size: 0.7rem;
}

.character-focus {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 15%, rgba(226, 180, 93, 0.19), transparent 44%),
        linear-gradient(180deg, rgba(18, 42, 60, 0.97), rgba(6, 18, 30, 0.98));
    box-shadow: inset 0 0 2rem rgba(226, 180, 93, 0.04);
}

.character-focus-column {
    display: grid;
    align-content: start;
    gap: 0;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--armory-border-strong);
    border-radius: var(--armory-radius);
    background: rgba(7, 20, 32, 0.96);
    box-shadow: inset 0 0 2rem rgba(226, 180, 93, 0.04);
}

.character-model {
    position: relative;
    width: 100%;
    min-height: 24rem;
    overflow: hidden;
    border-radius: calc(var(--armory-radius) - 0.2rem);
    isolation: isolate;
}

.character-model__stage {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 24rem;
    opacity: 0;
    transition: opacity 220ms ease;
}

.character-model__stage canvas {
    display: block;
    max-width: 100%;
    border-radius: calc(var(--armory-radius) - 0.2rem);
    cursor: grab;
    touch-action: none;
}

.character-model__stage .unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}

.character-model__stage canvas:active {
    cursor: grabbing;
}

.character-model__fallback {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: grid;
    place-items: center;
    transition: opacity 180ms ease, visibility 180ms ease;
}

.character-model.is-ready .character-model__stage {
    opacity: 1;
}

.character-model.is-ready .character-model__fallback {
    visibility: hidden;
    opacity: 0;
}

.character-model__status {
    position: absolute;
    z-index: 4;
    right: 0.65rem;
    bottom: 0.55rem;
    left: 0.65rem;
    margin: 0;
    color: var(--armory-muted);
    font-size: 0.7rem;
    line-height: 1.35;
    text-align: center;
    text-shadow: 0 1px 2px #000;
}

.character-model__status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.character-model.is-failed .character-model__status {
    color: var(--armory-muted);
}

.character-model .character-focus__sigil {
    width: min(62%, 10rem);
}

.character-focus__sigil {
    position: relative;
    display: grid;
    width: min(72%, 10rem);
    aspect-ratio: 1;
    place-items: center;
    border: 2px solid rgba(226, 180, 93, 0.62);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(119, 199, 237, 0.2), rgba(5, 14, 24, 0.98) 70%),
        #07111c;
    box-shadow: 0 0 0 0.35rem rgba(226, 180, 93, 0.06), 0 1rem 2rem rgba(0, 0, 0, 0.3), inset 0 0 1.5rem rgba(226, 180, 93, 0.08);
}

.character-focus__class-icon {
    width: 68%;
    height: 68%;
    border-radius: 50%;
    object-fit: cover;
    filter: saturate(1.05) contrast(1.05);
}

.character-focus__race-icon {
    position: absolute;
    right: -0.2rem;
    bottom: 0.25rem;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    overflow: hidden;
    border: 2px solid var(--armory-gold);
    border-radius: 50%;
    background: #07111c;
    box-shadow: 0 0.35rem 0.8rem rgba(0, 0, 0, 0.45);
}

.character-focus__race-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.character-focus__placeholder {
    color: var(--armory-gold-bright);
    font-family: Lifecraft, "Segoe UI", Arial, sans-serif;
    font-size: 4.5rem;
}

.gear-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    max-width: 54rem;
    margin: 1rem auto 0;
}

.weapon-slot--main {
    grid-column: 1;
    grid-row: 1;
}

.weapon-slot--off-hand,
.weapon-slot--ranged-as-off-hand {
    grid-column: 2;
    grid-row: 1;
}

.weapon-slot--ranged-below-main {
    grid-column: 1;
    grid-row: 2;
}

.table-scroll {
    overflow-x: auto;
    border: 1px solid var(--armory-border);
    border-radius: 0.6rem;
}

.armory-table {
    width: 100%;
    min-width: 620px;
    border-collapse: separate;
    border-spacing: 0;
    background: rgba(5, 16, 26, 0.32);
}

.armory-table th,
.armory-table td {
    padding: 0.8rem 1rem;
    text-align: left;
    vertical-align: middle;
}

.armory-table th {
    border-bottom: 1px solid var(--armory-border-strong);
    color: var(--armory-gold);
    background: rgba(226, 180, 93, 0.08);
    font-size: 0.74rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.armory-table td {
    border-bottom: 1px solid rgba(130, 165, 191, 0.12);
    color: var(--armory-text);
}

.armory-table tbody tr:last-child td {
    border-bottom: 0;
}

.armory-table tbody tr:hover td {
    background: rgba(119, 199, 237, 0.05);
}

.armory-table td:first-child {
    color: var(--armory-blue);
    font-weight: 700;
}

.standing {
    color: var(--armory-muted);
    font-size: 0.85rem;
}

.reputation-faction-link {
    color: var(--armory-text) !important;
    font-weight: 700;
    text-decoration-color: rgba(226, 180, 93, 0.45);
    text-underline-offset: 0.2em;
}

.reputation-faction-link:hover,
.reputation-faction-link:focus-visible {
    color: var(--armory-gold-bright) !important;
    text-decoration-color: currentColor;
}

.reputation-cell {
    min-width: 18rem;
}

.reputation-meter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
}

.armory-app progress.reputation-progress {
    --reputation-color: var(--armory-blue);
    display: block;
    width: 100%;
    height: 0.8rem;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: rgba(130, 165, 191, 0.16);
    appearance: none;
}

.armory-app progress.reputation-progress::-webkit-progress-bar {
    border-radius: 999px;
    background: rgba(130, 165, 191, 0.16);
}

.armory-app progress.reputation-progress::-webkit-progress-value {
    border-radius: 999px;
    background: var(--reputation-color);
}

.armory-app progress.reputation-progress::-moz-progress-bar {
    border-radius: 999px;
    background: var(--reputation-color);
}

.armory-app progress.reputation-progress--success {
    --reputation-color: var(--armory-green);
}

.armory-app progress.reputation-progress--warning {
    --reputation-color: var(--armory-yellow);
}

.armory-app progress.reputation-progress--danger {
    --reputation-color: var(--armory-red);
}

.armory-app progress.reputation-progress--hated {
    --reputation-color: var(--armory-dark-red);
}

.armory-app progress.reputation-progress--hostile {
    --reputation-color: var(--armory-red);
}

.armory-app progress.reputation-progress--unfriendly {
    --reputation-color: var(--armory-orange-red);
}

.armory-app progress.reputation-progress--neutral {
    --reputation-color: var(--armory-yellow);
}

.armory-app progress.reputation-progress--friendly {
    --reputation-color: var(--armory-light-green);
}

.armory-app progress.reputation-progress--honored {
    --reputation-color: var(--armory-green);
}

.armory-app progress.reputation-progress--revered {
    --reputation-color: var(--armory-cyan-green);
}

.armory-app progress.reputation-progress--exalted {
    --reputation-color: var(--armory-blue);
}

.reputation-value {
    color: var(--armory-muted);
    font-size: 0.75rem;
    white-space: nowrap;
}

.talent-layout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.spec-tree {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 0.8rem;
    min-width: 0;
    border: 1px solid var(--armory-border);
    border-radius: var(--armory-radius);
    padding: 1.1rem;
    background: linear-gradient(150deg, rgba(20, 44, 62, 0.96), rgba(7, 19, 31, 0.96));
}

.spec-tree h3 {
    color: var(--armory-gold-bright);
    font-size: 1.15rem;
    text-align: center;
}

.spec-tree__icon {
    width: 3.5rem;
    height: 3.5rem;
    border: 1px solid var(--armory-border-strong);
    border-radius: 0.55rem;
    object-fit: cover;
}

.talent-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
    width: 100%;
    padding-top: 0.35rem;
}

.talent-node {
    display: grid;
    min-width: 0;
    min-height: 3.35rem;
    place-items: center;
    border: 1px solid var(--armory-border);
    border-radius: 0.45rem;
    padding: 0.25rem;
    color: var(--armory-muted);
    background: rgba(4, 15, 25, 0.62);
    font-size: 0.7rem;
    text-align: center;
}

.talent-icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.35rem;
    object-fit: cover;
}

.talent-empty {
    grid-column: 1 / -1;
    color: var(--armory-muted);
    font-size: 0.84rem;
    text-align: center;
}

.character-talent-profile {
    padding: clamp(0.8rem, 1.8vw, 1.15rem);
}

.character-talent-profile__heading {
    align-items: end;
    padding: 0.25rem 0.35rem 0;
}

.character-talent-profile__heading h2 {
    font: 400 clamp(2.25rem, 4vw, 2.75rem)/1 Lifecraft, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0.035em;
}

.character-spec-tabs {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0.85rem 0.35rem 0.55rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.65rem;
    padding: 0.25rem;
    background: rgba(3, 13, 22, 0.56);
}

.character-spec-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.4rem;
    border: 1px solid transparent !important;
    border-radius: 0.45rem;
    padding: 0.42rem 0.75rem;
    color: var(--armory-muted) !important;
    font-size: 0.8rem;
    font-weight: 700;
}

.character-spec-tab:hover,
.character-spec-tab:focus-visible {
    border-color: rgba(226, 180, 93, 0.3) !important;
    color: var(--armory-gold-bright) !important;
    background: rgba(226, 180, 93, 0.08);
}

.character-spec-tab.is-selected {
    border-color: rgba(226, 180, 93, 0.48) !important;
    color: var(--armory-text) !important;
    background: linear-gradient(120deg, rgba(226, 180, 93, 0.17), rgba(24, 52, 75, 0.22));
}

.character-spec-tab__active {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--armory-green);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.character-spec-tab__active::before {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0.45rem rgba(101, 196, 138, 0.65);
}

.profile-talent-calculator {
    margin-top: 0.4rem;
}

.profile-talent-calculator.is-read-only-build .talent-node {
    cursor: help;
}

.profile-talent-calculator .talent-tooltip__requirement {
    color: var(--muted);
}

.profile-talent-calculator .calculator-actions .calculator-icon-control {
    color: var(--gold-300);
}

.character-glyph-profile {
    margin: 1.35rem 0.35rem 0.25rem;
    border-top: 1px solid var(--armory-border);
    padding-top: 1.25rem;
}

.character-glyph-profile__heading {
    align-items: end;
    margin-bottom: 0.85rem;
}

.character-glyph-profile__heading h2 {
    font: 400 clamp(1.85rem, 3vw, 2.25rem)/1 Lifecraft, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0.035em;
}

.character-glyph-group + .character-glyph-group {
    margin-top: 1rem;
}

.character-glyph-group__heading {
    margin-bottom: 0.5rem !important;
    color: var(--armory-gold) !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
}

.character-glyph-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}

.character-glyph-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    min-width: 0;
    border: 1px solid rgba(119, 199, 237, 0.24);
    border-radius: 0.55rem;
    padding: 0.65rem 0.75rem;
    color: var(--armory-text);
    background: linear-gradient(120deg, rgba(50, 90, 126, 0.18), rgba(5, 17, 28, 0.72));
}

.character-glyph-card__icon {
    width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid rgba(226, 180, 93, 0.45);
    border-radius: 0.35rem;
    background: rgba(3, 10, 16, 0.8);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.42);
}

.character-glyph-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.character-glyph-card:hover,
.character-glyph-card:focus-visible {
    border-color: rgba(226, 180, 93, 0.62);
    color: var(--armory-gold-bright);
    background: linear-gradient(120deg, rgba(226, 180, 93, 0.13), rgba(5, 17, 28, 0.78));
}

.character-glyph-card__body {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
}

.character-glyph-card__body strong {
    overflow: hidden;
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.character-glyph-card__body span {
    color: var(--armory-muted);
    font-size: 0.7rem;
}

.character-glyph-card > i {
    flex: 0 0 auto;
    color: var(--armory-muted);
    font-size: 0.72rem;
}

.character-glyph-empty {
    border: 1px dashed var(--armory-border);
    border-radius: 0.55rem;
    padding: 0.9rem 1rem;
    color: var(--armory-muted);
    background: rgba(4, 15, 25, 0.4);
    font-size: 0.82rem;
}

.character-glyph-group__empty {
    border: 1px dashed var(--armory-border);
    border-radius: 0.55rem;
    padding: 0.75rem 0.9rem;
    color: var(--armory-muted);
    background: rgba(4, 15, 25, 0.4);
    font-size: 0.82rem;
}

.armory-error-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 1.5rem;
}

.armory-error-card {
    width: min(100%, 760px);
    margin: 0;
    border: 1px solid var(--armory-border);
    border-radius: var(--armory-radius);
    padding: clamp(1.25rem, 4vw, 2rem);
    background: var(--armory-panel);
    box-shadow: var(--armory-shadow);
}

.armory-error-card__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1.5rem;
    color: var(--armory-gold) !important;
    font-family: Lifecraft, "Segoe UI", Arial, sans-serif;
    font-size: 1.15rem;
}

.armory-error-code {
    margin-bottom: 0.35rem !important;
    color: var(--armory-gold);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.armory-error-card h1 {
    color: var(--armory-text);
    font-size: clamp(1.6rem, 4vw, 2.3rem);
}

.armory-error-card h4 {
    margin-bottom: 1rem;
    color: var(--armory-gold-bright);
    font-size: 1.2rem;
}

.armory-error-message,
.armory-error-details {
    margin-top: 0.8rem;
    color: var(--armory-muted);
}

.armory-error-message p,
.armory-error-details p {
    margin-top: 0.65rem;
}

.armory-error-details strong {
    color: var(--armory-text);
}

.armory-error-card code {
    display: block;
    overflow-x: auto;
    margin-top: 0.9rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.45rem;
    padding: 0.8rem 0.9rem;
    color: var(--armory-blue);
    background: rgba(4, 14, 24, 0.7);
    font-family: Consolas, Monaco, monospace;
    font-size: 0.84rem;
}

.armory-error-trace {
    margin-left: 1rem !important;
    border-left: 2px solid var(--armory-border-strong);
    padding-left: 0.8rem;
    color: var(--armory-muted);
}

.armory-error-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1.5rem;
    border: 1px solid rgba(226, 180, 93, 0.36) !important;
    border-radius: 0.45rem;
    padding: 0.55rem 0.8rem;
    color: var(--armory-gold-bright) !important;
    background: rgba(226, 180, 93, 0.1);
    font-weight: 700;
}

.armory-error-card__link:hover,
.armory-error-card__link:focus-visible {
    border-color: var(--armory-gold) !important;
    background: rgba(226, 180, 93, 0.18);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.achievement-summary,
.honor-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.achievement-summary__item,
.honor-stat {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.15rem 0.7rem;
    min-height: 5.4rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.65rem;
    padding: 0.85rem 1rem;
    background: linear-gradient(145deg, rgba(24, 52, 75, 0.9), rgba(9, 23, 36, 0.92));
}

.achievement-summary__item > i,
.honor-stat > i {
    grid-row: 1 / span 2;
    color: var(--armory-gold);
    font-size: 1.45rem;
}

.achievement-summary__item span,
.honor-stat span {
    color: var(--armory-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.achievement-summary__item strong,
.honor-stat strong {
    color: var(--armory-text);
    font-size: clamp(1.15rem, 2.5vw, 1.65rem);
    line-height: 1.1;
}

.honor-stat--featured {
    border-color: rgba(226, 180, 93, 0.48);
    background: linear-gradient(145deg, rgba(93, 69, 28, 0.45), rgba(12, 29, 43, 0.96));
}

.achievement-tools {
    display: flex;
    align-items: stretch;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.achievement-search {
    display: flex;
    align-items: center;
    width: min(32rem, 100%);
    border: 1px solid var(--armory-border);
    border-radius: 0.55rem;
    color: var(--armory-muted);
    background: rgba(4, 14, 23, 0.75);
}

.achievement-search:focus-within {
    border-color: var(--armory-border-strong);
    box-shadow: 0 0 0 3px rgba(226, 180, 93, 0.08);
}

.achievement-search i {
    margin-left: 0.85rem;
}

.achievement-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0.72rem 0.85rem;
    color: var(--armory-text);
    background: transparent;
}

.achievement-search input::placeholder {
    color: var(--armory-muted);
}

.achievement-reset {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.55rem;
    padding: 0.5rem 0.8rem;
    color: var(--armory-tab-text);
    background: rgba(9, 23, 36, 0.82);
    cursor: pointer;
}

.achievement-reset:hover,
.achievement-reset:focus-visible {
    border-color: var(--armory-border-strong);
    color: var(--armory-gold-bright);
}

.achievement-results {
    margin-bottom: 0.85rem !important;
    color: var(--armory-muted);
    font-size: 0.78rem;
}

.achievement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

.achievement-card {
    display: grid;
    grid-template-columns: 3.6rem minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
    min-height: 6.4rem;
    border: 1px solid var(--armory-border) !important;
    border-radius: 0.65rem;
    padding: 0.75rem;
    color: var(--armory-text) !important;
    background: linear-gradient(145deg, rgba(17, 39, 58, 0.92), rgba(7, 20, 32, 0.94));
}

.achievement-card:hover,
.achievement-card:focus-visible {
    border-color: rgba(226, 180, 93, 0.5) !important;
    color: var(--armory-text) !important;
    background: linear-gradient(145deg, rgba(28, 53, 72, 0.97), rgba(10, 27, 42, 0.97));
    transform: translateY(-1px);
}

.achievement-card__icon {
    display: grid;
    width: 3.6rem;
    height: 3.6rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(226, 180, 93, 0.48);
    border-radius: 0.55rem;
    color: var(--armory-gold);
    background: rgba(3, 11, 18, 0.88);
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.36);
}

.achievement-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.achievement-card__body,
.achievement-card__heading {
    display: flex;
    min-width: 0;
}

.achievement-card__body {
    flex-direction: column;
    gap: 0.28rem;
}

.achievement-card__heading {
    align-items: start;
    justify-content: space-between;
    gap: 0.65rem;
}

.achievement-card__heading strong {
    color: var(--armory-gold-bright);
    font-size: 0.96rem;
    line-height: 1.3;
}

.achievement-card__points {
    flex: 0 0 auto;
    border: 1px solid rgba(226, 180, 93, 0.28);
    border-radius: 999px;
    padding: 0.1rem 0.4rem;
    color: var(--armory-gold);
    font-size: 0.68rem;
    font-weight: 700;
}

.achievement-card__description {
    color: var(--armory-tab-text);
    font-size: 0.82rem;
    line-height: 1.4;
}

.achievement-card__earned {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    color: var(--armory-muted);
    font-size: 0.72rem;
}

.achievement-card__earned i {
    color: var(--armory-green);
}

.honor-section + .honor-section {
    margin-top: 1.2rem;
}

.honor-section {
    border-top: 1px solid var(--armory-border);
    padding-top: 1.2rem;
}

.honor-section__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.honor-section__heading h3 {
    font-size: 1.05rem;
}

.honor-section__heading > span {
    color: var(--armory-muted);
    font-size: 0.78rem;
}

.honor-periods,
.arena-team-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.honor-period {
    display: grid;
    grid-template-columns: minmax(5rem, 0.7fr) repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--armory-border);
    border-radius: 0.65rem;
    padding: 0.8rem 1rem;
    background: var(--armory-panel-soft);
}

.honor-period > span {
    color: var(--armory-gold);
    font-weight: 700;
}

.honor-period > div {
    display: flex;
    flex-direction: column;
}

.honor-period strong {
    font-size: 1.1rem;
}

.honor-period small {
    color: var(--armory-muted);
    font-size: 0.68rem;
    text-transform: uppercase;
}

.honor-empty {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    border: 1px dashed var(--armory-border);
    border-radius: 0.65rem;
    padding: 1rem;
    color: var(--armory-muted);
    background: rgba(5, 16, 26, 0.48);
}

.honor-empty > i {
    width: 2rem;
    color: var(--armory-gold);
    font-size: 1.35rem;
    text-align: center;
}

.honor-empty div {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.honor-empty strong {
    color: var(--armory-text);
}

.arena-team-card {
    border: 1px solid var(--armory-border);
    border-radius: 0.65rem;
    padding: 1rem;
    background: linear-gradient(145deg, rgba(17, 39, 58, 0.9), rgba(7, 20, 32, 0.94));
}

.arena-team-card > div:first-child {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    margin-bottom: 0.8rem;
}

.arena-team-card > div:first-child span {
    color: var(--armory-gold);
    font-size: 0.75rem;
    font-weight: 700;
}

.arena-team-card > div:first-child strong {
    font-size: 1.05rem;
}

.arena-team-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0;
}

.arena-team-card dl div {
    display: flex;
    flex-direction: column;
}

.arena-team-card dt {
    color: var(--armory-muted);
    font-size: 0.68rem;
    text-transform: uppercase;
}

.arena-team-card dd {
    margin: 0;
    color: var(--armory-text);
    font-weight: 700;
}

.battle-result {
    display: inline-flex;
    border-radius: 999px;
    padding: 0.12rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
}

.battle-result--win {
    color: var(--armory-light-green);
    background: rgba(101, 196, 138, 0.12);
}

.battle-result--loss {
    color: var(--armory-red);
    background: rgba(217, 120, 120, 0.12);
}

@media (max-width: 800px) {
    .achievement-grid,
    .honor-periods,
    .arena-team-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .achievement-summary,
    .honor-summary {
        grid-template-columns: 1fr;
    }

    .achievement-tools {
        align-items: stretch;
    }

    .achievement-search {
        flex: 1 1 auto;
    }

    .achievement-reset span {
        display: none;
    }

    .honor-period {
        grid-template-columns: 1fr 1fr;
    }

    .honor-period > span {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1200px) {
    .armory-page-heading {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

@media (max-width: 1100px) {
    .character-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .armory-filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .armory-search {
        grid-column: 1 / -1;
    }

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

@media (max-width: 980px) {
    .character-sheet {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .character-focus-column {
        grid-column: 1 / -1;
        grid-row: 1;
        width: min(100%, 25rem);
        justify-self: center;
    }

    .gear-column--left {
        grid-column: 1;
        grid-row: 2;
    }

    .gear-column--right {
        grid-column: 2;
        grid-row: 2;
    }

    .character-glyph-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .armory-topbar__inner,
    .armory-footer__inner,
    .armory-shell {
        width: min(100% - 1.25rem, 1320px);
    }

    .armory-topbar__inner {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        padding: 0.85rem 0;
    }

    .armory-topbar__meta {
        justify-content: flex-start;
    }

    .armory-page-heading {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .profile-identity {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .profile-facts {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .profile-fact:first-child {
        border-left: 0;
        padding-left: 0;
    }

    .armory-footer__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .armory-shell {
        padding-top: 1.35rem;
    }

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

    .character-spec-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: calc(100% - 0.7rem);
    }

    .character-spec-tab {
        justify-content: center;
    }

    .profile-hero__top {
        display: block;
    }

    .profile-tabs {
        padding-right: 0.65rem;
        padding-left: 0.65rem;
    }

    .profile-tabs > a,
    .profile-tabs > span {
        flex: 1 1 calc(50% - 0.35rem);
        justify-content: center;
    }

    .character-sheet {
        grid-template-columns: 1fr;
    }

    .character-focus-column,
    .gear-column--left,
    .gear-column--right {
        grid-column: 1;
        grid-row: auto;
    }

    .gear-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gear-slot {
        min-height: 9rem;
        padding: 0.55rem;
        text-align: center;
    }

    .gear-item,
    .gear-empty-slot {
        grid-template-columns: 1fr;
        justify-items: center;
        min-height: 0;
    }

    .gear-column .gear-slot--align-right .gear-item,
    .gear-column .gear-slot--align-right .gear-empty-slot {
        grid-template-columns: 1fr;
    }

    .gear-column .gear-slot--align-right .gear-icon-frame {
        grid-column: 1;
        grid-row: 1;
    }

    .gear-item__content,
    .gear-empty-slot__content {
        justify-items: center;
        width: 100%;
        padding: 0.35rem 0.1rem 0;
    }

    .gear-column .gear-slot--align-right .gear-item__content,
    .gear-column .gear-slot--align-right .gear-empty-slot__content {
        grid-column: 1;
        grid-row: 2;
        padding: 0.35rem 0.1rem 0;
        text-align: center;
    }

    .gear-column .gear-item__heading {
        width: 100%;
    }

    .gear-item__name {
        max-width: 100%;
    }

    .gear-bottom {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .gear-bottom .weapon-slot {
        grid-column: 1;
        grid-row: auto;
    }

    .gear-bottom .gear-slot {
        min-height: 4.25rem;
        text-align: left;
    }

    .gear-bottom .gear-item,
    .gear-bottom .gear-empty-slot {
        grid-template-columns: 3.55rem minmax(0, 1fr);
        justify-items: stretch;
        min-height: 3.55rem;
    }

    .gear-bottom .gear-item__content,
    .gear-bottom .gear-empty-slot__content {
        justify-items: start;
        width: auto;
        padding: 0 0.35rem 0 0.5rem;
    }

    .gear-bottom .gear-slot--align-right .gear-item,
    .gear-bottom .gear-slot--align-right .gear-empty-slot {
        grid-template-columns: minmax(0, 1fr) 3.55rem;
    }

    .gear-bottom .gear-slot--align-right .gear-icon-frame {
        grid-column: 2;
        grid-row: 1;
    }

    .gear-bottom .gear-slot--align-right .gear-item__content,
    .gear-bottom .gear-slot--align-right .gear-empty-slot__content {
        grid-column: 1;
        grid-row: 1;
        justify-items: end;
        padding: 0 0.5rem 0 0.35rem;
        text-align: right;
    }

    .character-glyph-grid {
        grid-template-columns: 1fr;
    }

    .reputation-meter {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .reputation-cell {
        min-width: 12rem;
    }
}
