:root {
    --a3d-bg: #07100f;
    --a3d-panel: rgba(7, 17, 16, .94);
    --a3d-panel-2: rgba(12, 27, 24, .92);
    --a3d-line: rgba(201, 172, 100, .22);
    --a3d-gold: #d2b56c;
    --a3d-gold-bright: #f3d892;
    --a3d-jade: #41d6a0;
    --a3d-jade-dark: #167153;
    --a3d-text: #f3f2e8;
    --a3d-muted: #97aaa4;
    --a3d-danger: #ef6961;
    --a3d-shadow: 0 24px 70px rgba(0, 0, 0, .5);
}

.a3d-shell,
.a3d-shell * {
    box-sizing: border-box;
}

.a3d-shell {
    position: relative;
    width: 100%;
    color: var(--a3d-text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.a3d-shell button,
.a3d-shell input,
.a3d-shell select {
    font: inherit;
}

.a3d-search-shell {
    overflow: hidden;
    min-height: 680px;
    border: 1px solid var(--a3d-line);
    border-radius: 22px;
    background: #07100f;
    box-shadow: var(--a3d-shadow);
}

.a3d-search-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 610px;
    padding: 72px clamp(24px, 7vw, 92px) 58px;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(90deg, rgba(3, 9, 9, .97) 0%, rgba(3, 10, 9, .86) 43%, rgba(3, 9, 9, .2) 76%, rgba(3, 9, 9, .62) 100%),
        url('../images/armory-stage.png') center / cover no-repeat;
}

.a3d-search-hero::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: "";
    background: linear-gradient(180deg, transparent 62%, #07100f 100%);
    pointer-events: none;
}

.a3d-search-glow {
    position: absolute;
    z-index: -1;
    top: 48%;
    left: 20%;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    background: rgba(31, 186, 133, .12);
    filter: blur(90px);
    transform: translate(-50%, -50%);
}

.a3d-kicker {
    display: flex;
    margin-bottom: 16px;
    align-items: center;
    gap: 10px;
    color: var(--a3d-gold-bright);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .22em;
}

.a3d-search-hero h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 7vw, 82px);
    font-weight: 500;
    line-height: .96;
    letter-spacing: -.045em;
    text-shadow: 0 8px 35px rgba(0, 0, 0, .9);
}

.a3d-search-hero > p {
    max-width: 670px;
    margin: 22px 0 32px;
    color: #bdcac6;
    font-size: 16px;
    line-height: 1.75;
}

.a3d-alert {
    display: flex;
    width: min(100%, 720px);
    margin: 0 0 18px;
    padding: 13px 16px;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(239, 105, 97, .42);
    border-radius: 10px;
    background: rgba(104, 25, 23, .58);
    color: #ffd3cf;
}

.a3d-search-form {
    position: relative;
    z-index: 5;
    display: grid;
    width: min(100%, 920px);
    grid-template-columns: minmax(150px, .7fr) minmax(260px, 1.55fr) auto;
    gap: 12px;
    align-items: end;
}

.a3d-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
}

.a3d-field > span {
    color: var(--a3d-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.a3d-field select,
.a3d-input-wrap input {
    width: 100%;
    height: 54px;
    outline: none;
    border: 1px solid rgba(203, 183, 125, .25);
    border-radius: 10px;
    background: rgba(5, 13, 12, .88);
    color: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.a3d-field select {
    padding: 0 40px 0 16px;
    cursor: pointer;
}

.a3d-input-wrap {
    position: relative;
}

.a3d-input-wrap > i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 17px;
    color: var(--a3d-gold);
    transform: translateY(-50%);
}

.a3d-input-wrap input {
    padding: 0 16px 0 46px;
}

.a3d-field select:focus,
.a3d-input-wrap input:focus {
    border-color: rgba(65, 214, 160, .7);
    background: rgba(5, 17, 14, .98);
    box-shadow: 0 0 0 4px rgba(65, 214, 160, .1);
}

.a3d-primary-button {
    display: inline-flex;
    height: 54px;
    padding: 0 23px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    border: 1px solid #72e0b8;
    border-radius: 10px;
    background: linear-gradient(135deg, #27a97b, #116347);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: 0 10px 30px rgba(15, 120, 84, .28), inset 0 1px rgba(255, 255, 255, .18);
    cursor: pointer;
    transition: transform .2s ease, filter .2s ease;
}

.a3d-primary-button:hover {
    color: #fff;
    filter: brightness(1.12);
    transform: translateY(-2px);
}

.a3d-suggestions {
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    overflow: hidden;
    border: 1px solid rgba(210, 181, 108, .3);
    border-radius: 12px;
    background: rgba(4, 12, 11, .98);
    box-shadow: 0 24px 50px rgba(0, 0, 0, .5);
}

.a3d-suggestion {
    display: flex;
    width: 100%;
    padding: 12px 14px;
    align-items: center;
    gap: 11px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    background: transparent;
    color: #fff;
    text-align: left;
    cursor: pointer;
}

.a3d-suggestion:last-child {
    border-bottom: 0;
}

.a3d-suggestion:hover,
.a3d-suggestion:focus {
    outline: none;
    background: rgba(65, 214, 160, .1);
}

.a3d-suggestion-level {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border: 1px solid rgba(210, 181, 108, .32);
    border-radius: 50%;
    background: #12221e;
    color: var(--a3d-gold-bright);
    font-size: 11px;
    font-weight: 800;
}

.a3d-suggestion-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.a3d-suggestion-copy strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.a3d-suggestion-copy small {
    color: var(--a3d-muted);
    font-size: 10px;
}

.a3d-suggestion-state {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #5f6c68;
}

.a3d-suggestion-state.is-online {
    background: var(--a3d-jade);
    box-shadow: 0 0 10px var(--a3d-jade);
}

.a3d-feature-row {
    display: grid;
    width: min(100%, 820px);
    margin-top: 42px;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.a3d-feature-row > div {
    display: flex;
    align-items: center;
    gap: 11px;
}

.a3d-feature-row i {
    display: grid;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    place-items: center;
    border: 1px solid rgba(210, 181, 108, .25);
    border-radius: 10px;
    background: rgba(12, 32, 27, .72);
    color: var(--a3d-gold-bright);
}

.a3d-feature-row span {
    display: flex;
    color: #82958f;
    font-size: 10px;
    line-height: 1.5;
    flex-direction: column;
}

.a3d-feature-row strong {
    color: #eaece5;
    font-size: 12px;
}

.a3d-search-footer {
    display: flex;
    min-height: 70px;
    padding: 18px 28px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 28px;
    border-top: 1px solid rgba(210, 181, 108, .12);
    background: #07100f;
    color: #758a83;
    font-size: 11px;
}

.a3d-search-footer i {
    margin-right: 6px;
    color: var(--a3d-jade);
}

.a3d-search-footer code {
    color: #bdc8c4;
}

/* Profile header */
.a3d-profile-shell {
    overflow: hidden;
    border: 1px solid var(--a3d-line);
    border-radius: 20px;
    background: var(--a3d-bg);
    box-shadow: var(--a3d-shadow);
}

.a3d-profile-header {
    display: flex;
    min-height: 118px;
    padding: 22px 28px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid var(--a3d-line);
    background:
        linear-gradient(90deg, rgba(14, 36, 31, .98), rgba(6, 15, 14, .98)),
        radial-gradient(circle at 20%, rgba(65, 214, 160, .2), transparent 55%);
}

.a3d-profile-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 18px;
}

.a3d-avatar-frame {
    position: relative;
    display: grid;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    place-items: center;
    border: 1px solid rgba(240, 215, 145, .55);
    border-radius: 50%;
    background: #08110f;
    box-shadow: 0 0 0 5px rgba(210, 181, 108, .08), 0 10px 30px rgba(0, 0, 0, .4);
}

.a3d-avatar-frame img {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    object-fit: cover;
}

.a3d-level-badge {
    position: absolute;
    right: -5px;
    bottom: -2px;
    display: grid;
    min-width: 27px;
    height: 27px;
    padding: 0 5px;
    place-items: center;
    border: 2px solid #10221d;
    border-radius: 50%;
    background: var(--a3d-gold);
    color: #172019;
    font-size: 10px;
    font-weight: 900;
}

.a3d-status-line {
    display: flex;
    margin-bottom: 2px;
    align-items: center;
    gap: 9px;
}

.a3d-status,
.a3d-realm-pill {
    color: #99aaa5;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.a3d-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.a3d-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #66746f;
}

.a3d-status.is-online {
    color: #78e0b9;
}

.a3d-status.is-online i {
    background: var(--a3d-jade);
    box-shadow: 0 0 10px var(--a3d-jade);
}

.a3d-realm-pill {
    padding-left: 9px;
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.a3d-character-name {
    overflow: hidden;
    max-width: 530px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 500;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.a3d-profile-identity p {
    margin: 4px 0 0;
    color: #aab8b3;
    font-size: 12px;
}

.a3d-profile-identity p span {
    margin: 0 4px;
    color: rgba(210, 181, 108, .6);
}

.a3d-compact-search {
    width: min(320px, 35vw);
}

.a3d-compact-search .a3d-input-wrap input {
    height: 44px;
    background: rgba(1, 8, 7, .68);
}

/* Class colors */
.a3d-class-1 { color: #c79c6e; }
.a3d-class-2 { color: #f58cba; }
.a3d-class-3 { color: #abd473; }
.a3d-class-4 { color: #fff569; }
.a3d-class-5 { color: #ffffff; }
.a3d-class-6 { color: #c41f3b; }
.a3d-class-7 { color: #0070de; }
.a3d-class-8 { color: #69ccf0; }
.a3d-class-9 { color: #9482c9; }
.a3d-class-10 { color: #00ff96; }
.a3d-class-11 { color: #ff7d0a; }

/* Armory stage */
.a3d-stage {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 760px;
    padding: 90px 24px 98px;
    grid-template-columns: minmax(205px, 1fr) minmax(330px, 1.7fr) minmax(205px, 1fr);
    gap: clamp(12px, 2vw, 30px);
    background:
        linear-gradient(180deg, rgba(2, 8, 7, .24), rgba(3, 9, 8, .12) 45%, rgba(3, 9, 8, .88) 100%),
        url('../images/armory-stage.png') center / cover no-repeat;
}

.a3d-stage::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: radial-gradient(circle at center 48%, transparent 0, rgba(1, 6, 5, .08) 38%, rgba(1, 6, 5, .6) 100%);
    pointer-events: none;
}

.a3d-stage-vignette {
    position: absolute;
    z-index: -1;
    inset: 0;
    box-shadow: inset 0 0 130px rgba(0, 0, 0, .78);
    pointer-events: none;
}

.a3d-stage-topbar {
    position: absolute;
    z-index: 8;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    height: 74px;
    padding: 0 25px;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(210, 181, 108, .14);
    background: linear-gradient(180deg, rgba(2, 9, 8, .88), rgba(2, 9, 8, .42));
    backdrop-filter: blur(8px);
}

.a3d-stage-title {
    display: flex;
    align-items: center;
    gap: 11px;
}

.a3d-stage-rune {
    display: grid;
    width: 37px;
    height: 37px;
    place-items: center;
    border: 1px solid rgba(210, 181, 108, .36);
    border-radius: 50%;
    background: rgba(12, 36, 29, .78);
    color: var(--a3d-gold-bright);
}

.a3d-stage-title div {
    display: flex;
    flex-direction: column;
}

.a3d-stage-title small {
    color: var(--a3d-jade);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .2em;
}

.a3d-stage-title strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 500;
}

.a3d-stage-actions {
    display: flex;
    gap: 7px;
}

.a3d-stage-actions button {
    display: inline-flex;
    height: 36px;
    padding: 0 12px;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(210, 181, 108, .24);
    border-radius: 8px;
    background: rgba(3, 12, 10, .72);
    color: #bac6c2;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
}

.a3d-stage-actions button:hover {
    border-color: rgba(65, 214, 160, .62);
    background: rgba(20, 78, 59, .7);
    color: #fff;
}

.a3d-stage-actions button:disabled {
    opacity: .45;
    cursor: wait;
    filter: saturate(.35);
}

.a3d-paperdoll {
    position: relative;
    z-index: 4;
    display: flex;
    align-self: center;
    flex-direction: column;
    gap: 7px;
}

.a3d-paperdoll-left .a3d-item-card {
    flex-direction: row;
}

.a3d-paperdoll-right .a3d-item-card {
    flex-direction: row-reverse;
    text-align: right;
}

.a3d-item-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 60px;
    padding: 7px;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    background: linear-gradient(110deg, rgba(3, 11, 10, .94), rgba(14, 28, 24, .84));
    box-shadow: 0 8px 25px rgba(0, 0, 0, .28);
    backdrop-filter: blur(8px);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.a3d-item-card:hover {
    z-index: 6;
    border-color: rgba(210, 181, 108, .45);
    background: rgba(14, 37, 31, .96);
    transform: translateY(-1px);
}

.a3d-item-card.is-empty {
    opacity: .54;
}

.a3d-item-icon {
    position: relative;
    overflow: hidden;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 1px solid #5d625d;
    border-radius: 8px;
    background: #0a1110;
    box-shadow: inset 0 0 10px rgba(0, 0, 0, .7);
}

.a3d-item-icon::after {
    position: absolute;
    inset: 0;
    content: "";
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
    pointer-events: none;
}

.a3d-item-icon a {
    position: absolute;
    z-index: 3;
    inset: 0;
}

.a3d-item-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.a3d-item-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.a3d-item-copy small {
    color: #71837d;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.a3d-item-copy strong {
    overflow: hidden;
    color: #dadfdc;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.a3d-item-copy span {
    color: #91a29d;
    font-size: 8px;
}

.a3d-item-card.is-uncommon .a3d-item-icon { border-color: #1eff00; }
.a3d-item-card.is-rare .a3d-item-icon { border-color: #478bff; }
.a3d-item-card.is-epic .a3d-item-icon { border-color: #b048f8; box-shadow: 0 0 14px rgba(163, 53, 238, .2); }
.a3d-item-card.is-legendary .a3d-item-icon { border-color: #ff8000; box-shadow: 0 0 14px rgba(255, 128, 0, .25); }
.a3d-item-card.is-artifact .a3d-item-icon { border-color: #e6cc80; }
.a3d-item-card.is-heirloom .a3d-item-icon { border-color: #00ccff; }
.a3d-item-card.is-uncommon .a3d-item-copy strong { color: #8cff79; }
.a3d-item-card.is-rare .a3d-item-copy strong { color: #80acff; }
.a3d-item-card.is-epic .a3d-item-copy strong { color: #c981ff; }
.a3d-item-card.is-legendary .a3d-item-copy strong { color: #ffa247; }

.a3d-model-column {
    position: relative;
    z-index: 3;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.a3d-model-wrap {
    position: relative;
    width: 100%;
    height: 560px;
    min-width: 0;
}

.a3d-model {
    position: absolute;
    z-index: 3;
    inset: 0;
    overflow: hidden;
    opacity: 1;
    transition: opacity .35s ease;
}

.a3d-model canvas,
.a3d-model > div {
    width: 100% !important;
    max-width: 100%;
}

.a3d-model-fallback {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: grid;
    place-items: center;
    transition: opacity .5s ease;
}

.a3d-model-fallback img {
    position: relative;
    z-index: 2;
    width: min(54%, 250px);
    max-height: 58%;
    border: 1px solid rgba(210, 181, 108, .22);
    border-radius: 50%;
    object-fit: cover;
    opacity: .62;
    filter: saturate(.7) contrast(1.08);
    box-shadow: 0 0 70px rgba(51, 205, 150, .2);
}

.a3d-fallback-aura {
    position: absolute;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(65, 214, 160, .2);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(65, 214, 160, .16), transparent 68%);
    box-shadow: 0 0 0 24px rgba(65, 214, 160, .025), 0 0 0 48px rgba(210, 181, 108, .025);
    animation: a3d-pulse 3s ease-in-out infinite;
}

.a3d-model-state {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 34px;
    left: 0;
    display: flex;
    align-items: center;
    color: #d8e0dc;
    text-align: center;
    pointer-events: none;
    flex-direction: column;
    transition: opacity .35s ease;
}

.a3d-model-state strong {
    margin-top: 9px;
    font-size: 10px;
    letter-spacing: .06em;
}

.a3d-model-state small {
    margin-top: 4px;
    color: #758982;
    font-size: 8px;
}

.a3d-loader {
    display: flex;
    gap: 4px;
}

.a3d-loader i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--a3d-jade);
    animation: a3d-loader 1s ease-in-out infinite;
}

.a3d-loader i:nth-child(2) { animation-delay: .14s; }
.a3d-loader i:nth-child(3) { animation-delay: .28s; }

.a3d-model-wrap.is-ready .a3d-model-fallback,
.a3d-model-wrap.is-ready .a3d-model-state {
    opacity: 0;
}

.a3d-model-wrap.is-loading .a3d-model {
    pointer-events: none;
}

.a3d-model-wrap.is-failed .a3d-model {
    opacity: 0;
    pointer-events: none;
}

.a3d-model-wrap.is-failed .a3d-loader {
    display: none;
}

.a3d-model-wrap.is-failed .a3d-model-state {
    bottom: 18px;
    padding: 0 24px;
}

.a3d-model-wrap.is-failed .a3d-model-state strong {
    color: #efc6a1;
    line-height: 1.5;
}

.a3d-character-plaque {
    display: flex;
    min-width: 210px;
    min-height: 48px;
    padding: 8px 16px;
    align-items: center;
    justify-content: center;
    gap: 17px;
    border: 1px solid rgba(210, 181, 108, .28);
    border-radius: 30px;
    background: rgba(3, 12, 10, .85);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45), inset 0 1px rgba(255, 255, 255, .04);
    backdrop-filter: blur(8px);
}

.a3d-character-plaque div {
    display: flex;
    align-items: center;
    text-align: center;
    flex-direction: column;
}

.a3d-character-plaque small {
    color: #75877f;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.a3d-character-plaque strong {
    color: var(--a3d-gold-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.05;
}

.a3d-character-plaque > span {
    width: 1px;
    height: 25px;
    background: rgba(210, 181, 108, .2);
}

.a3d-weapons {
    position: absolute;
    z-index: 6;
    right: 50%;
    bottom: 22px;
    display: grid;
    width: min(700px, calc(100% - 48px));
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    transform: translateX(50%);
}

.a3d-weapons .a3d-item-copy strong {
    max-width: 120px;
}

/* Lower dashboard */
.a3d-dashboard {
    display: grid;
    padding: 28px;
    grid-template-columns: 1.35fr .85fr;
    gap: 20px;
    border-top: 1px solid rgba(210, 181, 108, .16);
    background:
        radial-gradient(circle at 8% 0%, rgba(30, 129, 94, .13), transparent 40%),
        #07100f;
}

.a3d-panel {
    overflow: hidden;
    border: 1px solid rgba(210, 181, 108, .16);
    border-radius: 14px;
    background: linear-gradient(150deg, rgba(13, 31, 27, .92), rgba(5, 13, 12, .96));
    box-shadow: 0 14px 35px rgba(0, 0, 0, .22);
}

.a3d-panel > header {
    display: flex;
    min-height: 72px;
    padding: 16px 18px;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(210, 181, 108, .12);
}

.a3d-panel > header > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(210, 181, 108, .28);
    border-radius: 10px;
    background: rgba(210, 181, 108, .08);
    color: var(--a3d-gold-bright);
}

.a3d-panel > header div {
    display: flex;
    flex-direction: column;
}

.a3d-panel > header small {
    color: var(--a3d-jade);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .18em;
}

.a3d-panel h2 {
    margin: 0;
    color: #f2f0e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 500;
}

.a3d-stat-grid {
    display: grid;
    padding: 8px 18px 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.a3d-stat-grid > div {
    display: flex;
    min-width: 0;
    padding: 14px 10px;
    flex-direction: column;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
}

.a3d-stat-grid > div:nth-last-child(-n+3) {
    border-bottom: 0;
}

.a3d-stat-grid span,
.a3d-pvp-grid span {
    color: #748780;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.a3d-stat-grid strong {
    overflow: hidden;
    margin-top: 3px;
    color: #e5e8e4;
    font-size: 15px;
    text-overflow: ellipsis;
}

.a3d-pvp-hero {
    display: flex;
    min-height: 112px;
    padding: 22px;
    align-items: center;
    justify-content: center;
    gap: 17px;
    background: radial-gradient(circle, rgba(180, 50, 54, .16), transparent 68%);
}

.a3d-pvp-hero > i {
    color: #e0bc73;
    font-size: 34px;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5));
}

.a3d-pvp-hero div {
    display: flex;
    flex-direction: column;
}

.a3d-pvp-hero small {
    color: #8d9c97;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
}

.a3d-pvp-hero strong {
    color: #fff1cf;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1;
}

.a3d-pvp-grid {
    display: grid;
    padding: 0 18px 18px;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.a3d-pvp-grid > div {
    display: flex;
    min-height: 58px;
    padding: 10px 12px;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .055);
    border-radius: 8px;
    background: rgba(255, 255, 255, .018);
    flex-direction: column;
}

.a3d-pvp-grid strong {
    color: #dedfd9;
    font-size: 15px;
}

.a3d-pvp-grid .is-green { color: var(--a3d-jade); }
.a3d-pvp-grid .is-muted { color: #7e8b87; }

.a3d-profile-footer {
    display: flex;
    min-height: 62px;
    padding: 16px 28px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(210, 181, 108, .12);
    background: #050d0c;
    color: #6e827b;
    font-size: 10px;
}

.a3d-profile-footer a {
    color: var(--a3d-gold-bright);
    font-weight: 700;
}

.a3d-profile-footer i {
    margin-right: 6px;
}

@keyframes a3d-loader {
    0%, 100% { opacity: .25; transform: translateY(0); }
    50% { opacity: 1; transform: translateY(-4px); }
}

@keyframes a3d-pulse {
    0%, 100% { opacity: .55; transform: scale(.96); }
    50% { opacity: 1; transform: scale(1.04); }
}

@media (max-width: 1120px) {
    .a3d-stage {
        grid-template-columns: 190px minmax(280px, 1fr) 190px;
        gap: 10px;
        padding-right: 15px;
        padding-left: 15px;
    }

    .a3d-item-copy strong {
        max-width: 114px;
    }

    .a3d-model-wrap {
        height: 520px;
    }
}

@media (max-width: 900px) {
    .a3d-search-form {
        grid-template-columns: .75fr 1.25fr;
    }

    .a3d-primary-button {
        grid-column: 1 / -1;
    }

    .a3d-feature-row {
        grid-template-columns: 1fr;
    }

    .a3d-profile-header {
        align-items: stretch;
        flex-direction: column;
    }

    .a3d-compact-search {
        width: 100%;
    }

    .a3d-stage {
        min-height: 1050px;
        padding: 84px 16px 175px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .a3d-model-column {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .a3d-model-wrap {
        height: 500px;
    }

    .a3d-paperdoll {
        align-self: stretch;
    }

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

    .a3d-paperdoll-right {
        grid-column: 2;
        grid-row: 2;
    }

    .a3d-paperdoll-right .a3d-item-card {
        flex-direction: row;
        text-align: left;
    }

    .a3d-weapons {
        bottom: 18px;
        grid-template-columns: repeat(2, 1fr);
    }

    .a3d-dashboard {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .a3d-search-shell,
    .a3d-profile-shell {
        border-radius: 12px;
    }

    .a3d-search-hero {
        min-height: 650px;
        padding: 50px 18px 45px;
        background-position: 58% center;
    }

    .a3d-search-hero h1 {
        font-size: 46px;
    }

    .a3d-search-form {
        grid-template-columns: 1fr;
    }

    .a3d-primary-button {
        grid-column: auto;
    }

    .a3d-search-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .a3d-profile-header {
        padding: 18px;
    }

    .a3d-avatar-frame {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
    }

    .a3d-avatar-frame img {
        width: 54px;
        height: 54px;
    }

    .a3d-profile-identity {
        align-items: flex-start;
        gap: 13px;
    }

    .a3d-character-name {
        max-width: calc(100vw - 150px);
        font-size: 31px;
    }

    .a3d-profile-identity p {
        font-size: 10px;
        line-height: 1.5;
    }

    .a3d-stage-topbar {
        height: 66px;
        padding: 0 13px;
    }

    .a3d-stage-actions button {
        width: 35px;
        padding: 0;
        justify-content: center;
    }

    .a3d-stage-actions span {
        display: none;
    }

    .a3d-stage {
        min-height: 1440px;
        padding: 70px 10px 282px;
        grid-template-columns: 1fr;
        gap: 14px;
        background-position: center top;
    }

    .a3d-model-column,
    .a3d-paperdoll-left,
    .a3d-paperdoll-right {
        grid-column: 1;
    }

    .a3d-model-column { grid-row: 1; }
    .a3d-paperdoll-left { grid-row: 2; }
    .a3d-paperdoll-right { grid-row: 3; }

    .a3d-model-wrap {
        height: 430px;
    }

    .a3d-item-card,
    .a3d-paperdoll-right .a3d-item-card {
        min-height: 57px;
        flex-direction: row;
        text-align: left;
    }

    .a3d-item-copy strong {
        max-width: none;
    }

    .a3d-weapons {
        bottom: 14px;
        width: calc(100% - 20px);
        grid-template-columns: 1fr;
    }

    .a3d-dashboard {
        padding: 16px 10px;
    }

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

    .a3d-stat-grid > div:nth-last-child(-n+3) {
        border-bottom: 1px solid rgba(255, 255, 255, .055);
    }

    .a3d-stat-grid > div:nth-last-child(-n+2) {
        border-bottom: 0;
    }

    .a3d-profile-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .a3d-shell *,
    .a3d-shell *::before,
    .a3d-shell *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
