.ic-account,
.ic-settings-list {
    display: grid;
    gap: 1.1rem;
}
.ic-ref {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 0.85rem;
    margin: 0 0 0.7rem;
}
.ic-ref__code {
    display: inline-block;
    padding: 0.4rem 0.7rem;
    border: 1px solid rgba(248, 183, 0, 0.45);
    background: rgba(7, 11, 18, 0.55);
    color: #f8b700;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}
.ap-tab[hidden],
.ic-guild-pane[hidden] { display: none !important; }
.ic-guild-tab,
.ic-gm-tab {
    display: grid;
    gap: 1.1rem;
}
.ic-gm-tab > .ap-tab {
    display: grid;
    gap: 1.1rem;
}
.ic-gm-tab .ic-tabs { margin-bottom: 0; }
.ic-gm-tab .ic-form { max-width: 32rem; }
.ic-gm-tab .ic-form.ic-gm-search,
.ic-gm-tab .ic-form.ic-ah-search { max-width: none; }
.ic-gm-tab .ic-panel > .ic-form { max-width: none; }
.ic-gm-tab .ic-settings-split .ic-form { max-width: none; }
.ic-gm-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem 1.75rem;
    align-items: start;
}
.ic-gm-tools--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ic-gm-tab .ic-gm-tools .ic-form { max-width: none; }
.ic-gm-tab .ic-panel--danger .ic-gm-tools {
    align-items: stretch;
}
.ic-gm-tab .ic-panel--danger .ic-gm-tools > div {
    display: flex;
    flex-direction: column;
}
.ic-gm-tab .ic-panel--danger .ic-gm-tools > div > .ic-form {
    margin-top: auto;
    justify-items: start;
}
.ic-gm-tab .ic-panel--danger .ic-gm-tools > div > .ic-form > .ic-btn {
    width: max-content;
}
.ic-gm-tab .ic-panel--danger .ic-subhead {
    padding-bottom: 0;
    border-bottom: 0;
}
.ic-delay {
    width: max-content;
    max-width: 11rem;
}
.ic-delay select {
    width: auto;
    min-width: 9.5rem;
    max-width: 11rem;
}
.ic-subhead {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.55rem;
    padding: 0 0 0.4rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}
.ic-subhead .ic-heading-icon,
.ic-widget__title .ic-heading-icon,
.ic-steps h3 .ic-heading-icon,
.ic-fold__summary .ic-heading-icon,
.ic-guild-edit__title .ic-heading-icon,
.ic-ach-summary h3 .ic-heading-icon {
    width: 1.2rem;
    height: 1.2rem;
    flex-basis: 1.2rem;
}
.ic-gm-tools .ic-form + .ic-subhead { margin-top: 1.15rem; }
.ic-gm-tab .ic-table + .ic-subhead { margin-top: 1.25rem; }
.ic-search-table {
    table-layout: fixed;
    width: 100%;
}
.ic-search-table__meta {
    width: 8.25rem;
}
.ic-search-table__level {
    width: 3.5rem;
}
.ic-search-table__status {
    width: 8.5rem;
}
.ic-col-level {
    width: 1%;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ic-col-status {
    width: 1%;
    white-space: nowrap;
    padding-left: 1.2rem;
}
.ic-table--sort th.ic-th-sort.ic-col-status a {
    padding-left: 1.2rem;
}
.ic-search-table th:last-child,
.ic-search-table td:last-child {
    white-space: nowrap;
    padding-left: 1.2rem;
}
.ic-search-table td:nth-last-child(2),
.ic-search-table th:nth-last-child(2) {
    padding-right: 0.85rem;
}
.ic-gm-tools .ic-form + .ic-form { margin-top: 0.75rem; }
.ic-gm-tools .ic-muted { margin: 0 0 0.55rem; }
@media (max-width: 1100px) {
    .ic-gm-tools--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ic-skill-grid { column-count: 1; }
}
@media (max-width: 860px) {
    .ic-gm-tools,
    .ic-gm-tools--3,
    .ic-gm-tools--cards,
    .ic-gm-tools--position { grid-template-columns: 1fr; }
    .ic-skill-grid { column-count: 1; }
}
.ic-gm-ranks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.3rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.88rem;
    line-height: 1.35;
}
.ic-gm-ranks strong {
    display: inline-block;
    min-width: 7.5rem;
    margin-right: 0.4rem;
    color: #ebdec2;
    font-weight: 600;
}
#ap-online {
    display: grid;
    gap: 1.1rem;
}
#ap-online.is-loading,
.ic-gm-tab.is-loading { opacity: 0.55; pointer-events: none; }
.ic-gm-tab .ic-guild-views { margin-bottom: 0; }
.ic-gm-tab > .ic-panel,
.ic-gm-tab > #ap-online > .ic-panel,
.ic-guild-tab > .ic-panel {
    position: relative;
    z-index: 1;
    overflow: visible;
}
.ic-gm-tab > .ic-panel:has(.ic-pick.is-open),
.ic-gm-tab > #ap-online:has(.ic-pick.is-open),
.ic-account > .ic-panel:has(.ic-pick.is-open) {
    z-index: 8;
}
.ic-tabs a { cursor: pointer; }
.ic-form { display: grid; gap: 0.85rem; max-width: 28rem; }
.ic-form--inline {
    display: inline-flex;
    gap: 0.4rem;
    max-width: none;
    margin: 0 0.25rem 0 0;
    vertical-align: middle;
}
.ic-profile-tab,
.ic-account > .ap-tab[data-tab="characters"] {
    display: grid;
    gap: 1.1rem;
}
.ic-profile-tab .ic-settings-split .ic-form { max-width: none; }
.ic-profile-tab .ic-form--wide {
    max-width: 40rem;
    margin-top: 1.15rem;
}
.ic-profile-tab .ic-form--wide textarea { width: 100%; }
.ic-settings-split__col > .ic-form + .ic-form,
.ic-settings-split__col > .ic-form + .ic-sub-block {
    margin-top: 1.15rem;
}
.ic-settings-split textarea { width: 100%; }
.ic-sub-block .ic-muted { margin: 0; }
.ic-settings {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16.25rem, 17.5rem));
    gap: 1.1rem 1.5rem;
    align-items: start;
    justify-content: start;
}
.ic-settings__block { min-width: 0; }
.ic-settings .ic-form {
    max-width: 17.5rem;
    gap: 0.45rem;
}
.ic-settings .ic-form input[type="text"],
.ic-settings .ic-form input[type="email"],
.ic-settings .ic-form input[type="password"],
.ic-settings select,
.ic-settings textarea {
    width: 100%;
    padding: 0.4rem 0.55rem;
}
.ic-settings textarea {
    min-height: 6.2rem;
    resize: vertical;
}
.ic-settings .ic-muted { margin: 0.45rem 0 0; }
.ic-settings__block--wide {
    grid-column: 1 / -1;
    max-width: 36.5rem;
}
.ic-settings-extras {
    max-width: none;
    margin-top: 1.1rem;
    gap: 0.85rem;
}
.ic-settings-extras > .ic-btn { width: max-content; }
.ic-sub-list {
    list-style: none;
    margin: 0.45rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}
.ic-sub-list li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    justify-content: space-between;
    min-width: 0;
}
.ic-sub-list a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #f8b700;
}
.ic-btn--tiny {
    padding: 0.2rem 0.55rem;
    font-size: 0.8rem;
    line-height: 1.2;
}
.ic-btn--tiny .ic-dash-icon {
    width: 0.9rem;
    height: 0.9rem;
    flex: 0 0 0.9rem;
}
.bbp-signature {
    margin-top: 0.85rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(90, 93, 112, 0.35);
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.88rem;
    font-style: italic;
    line-height: 1.4;
}
.bbp-signature a { color: #f8b700; }
.ic-settings-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
}
.ic-settings-split__col {
    min-width: 0;
    padding-right: 1.5rem;
}
.ic-settings-split__col + .ic-settings-split__col {
    padding-right: 0;
    padding-left: 1.5rem;
    border-left: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-settings-split h2,
.ic-settings h2,
.ap-tab > h2,
.ic-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin: 0 0 var(--head-gap, 1.35rem);
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
    color: #fff;
    font-size: 1.15rem;
    letter-spacing: 0;
    text-transform: none;
}
.ic-settings h2 {
    margin: 0 0 0.55rem;
    padding: 0 0 0.4rem;
    font-size: 1.05rem;
}
.ic-section-head h2 {
    margin: 0;
    padding: 0;
    border: 0;
    flex: 0 0 auto;
    color: inherit;
    font-size: inherit;
}
.ic-section-head .ic-help { margin-left: auto; }
.ic-section-head .ic-guild-switch {
    display: block;
    margin: 0;
    max-width: 16rem;
    flex: 0 1 16rem;
}
.ic-section-head .ic-guild-switch select {
    width: 100%;
    min-height: 2.2rem;
}
.ic-stats .ic-guild-switch {
    position: relative;
    margin: 0;
    max-width: 100%;
}
.ic-stats .ic-guild-switch > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    max-width: 100%;
    cursor: pointer;
    list-style: none;
    font: inherit;
    color: inherit;
}
.ic-stats .ic-guild-switch > summary::-webkit-details-marker { display: none; }
.ic-stats .ic-guild-switch > summary::after {
    content: "";
    flex: 0 0 auto;
    width: 0.42rem;
    height: 0.42rem;
    margin-top: -0.15rem;
    border-right: 2px solid var(--gold, #f8b700);
    border-bottom: 2px solid var(--gold, #f8b700);
    transform: rotate(45deg);
}
.ic-stats .ic-guild-switch[open] > summary::after {
    margin-top: 0.2rem;
    transform: rotate(-135deg);
}
.ic-guild-switch__drop {
    position: absolute;
    left: 0;
    top: calc(100% + 0.4rem);
    z-index: 24;
    min-width: max(100%, max-content);
    max-width: min(32rem, 80vw);
    padding: 0.35rem 0;
    background: rgba(8, 12, 20, 0.96);
    border: 1px solid rgba(232, 197, 71, 0.18);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.ic-guild-switch__drop a {
    display: block;
    padding: 0.48rem 0.9rem;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
}
.ic-guild-switch__drop a:hover,
.ic-guild-switch__drop a.is-current {
    color: var(--gold, #f8b700);
}
.ic-guild-tab > .ic-panel:has(.ic-guild-switch[open]) {
    z-index: 8;
}
.ic-settings-split .ic-form { max-width: none; }
@media (max-width: 860px) {
    .ic-settings-split { grid-template-columns: 1fr; }
    .ic-settings-split__col {
        padding: 0 0 1.15rem;
        border: 0;
    }
    .ic-settings-split__col + .ic-settings-split__col {
        padding: 1.15rem 0 0;
        border-left: 0;
        border-top: 1px solid rgba(90, 93, 112, 0.4);
    }
    .ic-danger-row,
    .ic-danger-row:has(> :nth-child(2)) { grid-template-columns: 1fr; }
}
.ic-form label { display: grid; gap: 0.3rem; font-weight: 600; color: #ebdec2; }
.ic-form .ic-label-bare { font-weight: 500; }
.ic-form input[type="text"],
.ic-form input[type="email"],
.ic-form input[type="password"],
.ic-form input[type="number"],
.ic-form input[type="search"],
.ic-form textarea,
.ic-form select {
    font: inherit;
    padding: 0.55rem 0.7rem;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    background: #111218;
    color: #f3eee2;
    box-sizing: border-box;
}
.ic-gm-tab .ic-form textarea {
    width: 100%;
    max-width: 100%;
    min-height: 4.5rem;
    resize: vertical;
}
.ic-form select {
    padding-right: 2.15rem;
}
.ic-form input:focus,
.ic-form textarea:focus,
.ic-form select:focus {
    outline: 0;
    border-color: #f8b700;
}
.ic-danger-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
}
.ic-danger-row:has(> :nth-child(2)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.ic-guild-pane[data-guild-view="settings"] {
    display: grid;
    gap: 1.1rem;
}
.ic-panel.ic-panel--danger.ic-fold {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding-top: 0.85rem;
    padding-bottom: 0.9rem;
    transition: padding 0.32s ease, background-color 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease;
}
.ic-panel.ic-panel--danger.ic-fold:has(.ic-fold__box.is-open),
.ic-panel.ic-panel--danger.ic-fold:has(.ic-fold__box[open]):not(:has(.ic-fold__box.is-folding)) {
    padding-top: 1.35rem;
    padding-bottom: 1.4rem;
    border-color: rgba(180, 48, 48, 0.7);
    background: rgba(72, 18, 20, 0.62);
    box-shadow: 0 12px 32px rgba(40, 0, 0, 0.45);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
}
.ic-fold {
    transition: padding 0.32s ease, background-color 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease;
}
.ic-fold__box { margin: 0; }
.ic-fold__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid transparent;
    color: #f07171;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    list-style: none;
    transition: padding-bottom 0.32s ease, margin-bottom 0.32s ease, border-color 0.32s ease;
}
.ic-fold__summary::-webkit-details-marker { display: none; }
.ic-fold__summary::marker { content: none; }
.ic-fold__summary::after {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.15rem;
    height: 1.15rem;
    margin-left: auto;
    flex-shrink: 0;
    border: 1.5px solid rgba(240, 113, 113, 0.5);
    border-radius: 50%;
    color: #f07171;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
    transition: transform 0.32s ease, border-color 0.32s ease;
}
.ic-fold__box[open]:not(.is-folding) .ic-fold__summary,
.ic-fold__box.is-open .ic-fold__summary {
    margin-bottom: var(--head-gap, 1.35rem);
    padding-bottom: 0.85rem;
    border-bottom-color: rgba(180, 48, 48, 0.5);
}
.ic-fold__box[open]:not(.is-folding) .ic-fold__summary::after,
.ic-fold__box.is-open .ic-fold__summary::after {
    transform: rotate(45deg);
    border-color: rgba(240, 113, 113, 0.85);
}
.ic-fold__body { overflow: hidden; }
.ic-fold .ic-form,
.ic-fold__form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.75rem 1rem;
    max-width: none;
}
.ic-fold .ic-form label,
.ic-fold__form label {
    flex: 1 1 12rem;
    max-width: 18rem;
    min-width: 0;
}
.ic-fold .ic-form .ic-btn,
.ic-fold__form .ic-btn {
    flex: 0 0 auto;
    white-space: nowrap;
}
.ic-check { display: flex !important; align-items: center; gap: 0.5rem; font-weight: 500; }
.ic-notice {
    margin: 1.25rem 0;
    padding: 0.85rem 1.1rem;
    border: 1px solid rgba(248, 183, 0, 0.5);
    border-radius: var(--control-radius, 8px);
    background: rgba(248, 183, 0, 0.14);
    color: #f3eee2;
    font-weight: 600;
    line-height: 1.45;
    scroll-margin-top: calc(var(--nav-sticky-top, 2.15rem) + var(--nav-height, 4.5rem) + 1rem);
}
.ic-tabs + .ic-notice,
.ic-guild-views + .ic-notice,
.ic-account__head + .ic-notice {
    margin-top: 1.35rem;
}
.ic-flash {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background: rgba(6, 10, 18, 0.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.ic-flash__card {
    width: min(34rem, 100%);
    text-align: center;
    padding: 2.1rem 1.8rem 1.8rem;
}
.ic-flash__card h1 {
    display: block;
    margin: 0 0 0.85rem;
    padding: 0;
    border: 0;
    font-size: 1.7rem;
    color: #fff;
}
.ic-flash__card p {
    margin: 0 0 1.5rem;
    color: #ebdec2;
    font-size: 1.08rem;
    line-height: 1.5;
}
.ic-notice--info { border-color: rgba(248, 183, 0, 0.5); background: rgba(248, 183, 0, 0.14); }
.ic-notice--warn { border-color: #d00; background: rgba(180, 40, 40, 0.2); }
.ic-account__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin: 0 0 var(--head-gap, 1.35rem);
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-account__head + *,
.ic-account > .ic-panel > .ap-tab > :first-child,
.ic-account > .ic-panel > .ic-guild-views,
.ic-account > .ic-panel > .ap-tab[data-tab="guild"] > .ic-guild-views,
.ic-settings-split h2 + *,
.ic-settings h2 + *,
.ic-avatar-picker__bar + *,
.ic-fold__summary + * {
    margin-top: 0;
}
.ic-account > .ic-panel > .ap-tab > .ic-table:first-child thead th {
    padding-top: 0;
}
.ic-account > .ic-panel > .ic-guild-views,
.ic-account > .ic-panel > .ic-tabs {
    margin-bottom: 0;
}
.ic-account > .ic-panel > .ic-guild-views {
    align-items: center;
    overflow: visible;
}
.ic-account > .ic-panel:has(> .ic-guild-views) {
    overflow: visible;
}
.ic-heading-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}
.ic-heading-icon {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 1.5rem;
    object-fit: cover;
    border-radius: 4px;
}
.ic-panel > h1:first-child:has(.ic-heading-label),
.ic-panel > h2:first-child:has(.ic-heading-label),
.ic-panel-title h2:has(.ic-heading-label),
.ic-widget__title:has(.ic-heading-label),
.ic-news-heading:has(.ic-heading-label),
.ic-home-news .ic-news-heading:has(.ic-heading-label),
.ic-guild-edit__title:has(.ic-heading-label),
.ic-gossip h2:has(.ic-heading-label),
.ic-ach-summary h3:has(.ic-heading-label),
.ic-fold__summary:has(.ic-heading-label) {
    align-items: center;
}
.ic-news-heading:has(.ic-heading-label),
.ic-guild-edit__title:has(.ic-heading-label),
.ic-gossip h2:has(.ic-heading-label),
.ic-ach-summary h3:has(.ic-heading-label) {
    display: flex;
    gap: 0.55rem;
}
.ic-account__head h1,
.ic-account__head h2 {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: #fff;
    font-size: 1.35rem;
    letter-spacing: 0;
    text-transform: none;
}
.ic-character > .ic-panel > .ic-account__head {
    align-items: baseline;
    margin-bottom: 0.7rem;
    padding-bottom: 0.55rem;
}
.ic-character > .ic-panel > .ic-account__head > .ic-chip {
    align-self: center;
}
.ic-character__title {
    display: inline-flex;
    align-items: baseline;
    gap: 0.5rem;
    min-width: 0;
}
.ic-character__title .ic-faction-icon {
    width: 1.15em;
    height: 1.15em;
    align-self: center;
    position: relative;
    top: 0.08em;
}
.ic-account__head .ic-character__title h1 {
    flex: 0 1 auto;
    line-height: 1.2;
    padding-bottom: 0.15rem;
    border-bottom: 2px solid transparent;
}
.ic-account__head h1.ic-class-1 { color: #c79c6e; }
.ic-account__head h1.ic-class-2 { color: #f58cba; }
.ic-account__head h1.ic-class-3 { color: #abd473; }
.ic-account__head h1.ic-class-4 { color: #fff569; }
.ic-account__head h1.ic-class-5 { color: #fff; }
.ic-account__head h1.ic-class-6 { color: #c41f3b; }
.ic-account__head h1.ic-class-7 { color: #0070de; }
.ic-account__head h1.ic-class-8 { color: #69ccf0; }
.ic-account__head h1.ic-class-9 { color: #9482c9; }
.ic-account__head h1.ic-class-11 { color: #ff7d0a; }
.ic-account__head .ic-char-sheet__tabs {
    margin: 0 auto 0 0;
    padding-bottom: 0;
    align-items: baseline;
}
.ic-account__head .ic-char-sheet__tabs a {
    font-size: 1rem;
    line-height: 1.2;
}
.ic-character__title .ic-toon-switch > summary {
    align-items: baseline;
    gap: 0.4rem;
}
.ic-character__title .ic-toon-switch > summary::after {
    margin-top: 0;
    align-self: center;
}
.ic-account__head .ic-help {
    margin-left: auto;
}
.ic-account__head .ic-tabs {
    margin: 0;
}
.ic-toon-switch {
    position: relative;
}
.ic-toon-switch > summary {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    list-style: none;
}
.ic-toon-switch > summary::-webkit-details-marker { display: none; }
.ic-toon-switch > summary::after {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    margin-top: -0.15rem;
    border-right: 2px solid var(--gold, #f8b700);
    border-bottom: 2px solid var(--gold, #f8b700);
    transform: rotate(45deg);
}
.ic-toon-switch[open] > summary::after {
    margin-top: 0.2rem;
    transform: rotate(-135deg);
}
.ic-toon-switch__drop {
    position: absolute;
    left: 0;
    top: calc(100% + 0.55rem);
    z-index: 24;
    min-width: 16rem;
    padding: 0.35rem 0;
    background: rgba(8, 12, 20, 0.96);
    border: 1px solid rgba(232, 197, 71, 0.18);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.ic-toon-switch__drop a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.48rem 0.9rem;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    font-weight: 600;
}
.ic-toon-switch__drop a:hover { color: var(--gold, #f8b700); }
.ic-toon-switch__drop a.is-current { color: var(--gold, #f8b700); }
.ic-toon-switch__toon { flex: 1; min-width: 0; }
.ic-tabs,
.ic-guild-views,
.ic-dash-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    margin: 0 0 1.2rem;
    position: relative;
}
.ic-tabs > .ic-glider,
.ic-guild-views > .ic-glider,
.ic-dash-tabs > .ic-glider {
    top: 0;
    left: 0;
    height: 2px;
    background: var(--gold, #f8b700);
    border-radius: 1px;
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), width 0.38s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.25s ease;
}
.ic-guild-views > .ic-guild-views__sep {
    flex: 0 0 auto;
    align-self: stretch;
    width: 1px;
    min-height: 1.15rem;
    margin: 0.1rem 0.35rem 0.45rem;
    background: rgba(90, 93, 112, 0.7);
}
.ic-tabs a,
.ic-guild-views a,
.ic-dash-tabs a {
    position: relative;
    z-index: 1;
    color: var(--gold);
    font-weight: 700;
    text-decoration: none;
    padding-bottom: 0.35rem;
    border-bottom: 2px solid transparent;
    transition: color 0.28s ease;
}
.ic-tabs a:hover,
.ic-guild-views a:hover,
.ic-dash-tabs a:hover { color: #fff; }
.ic-tabs a.is-active,
.ic-guild-views a.is-active,
.ic-dash-tabs a.is-active {
    color: #fff;
}
.ic-tabs.has-glider a.is-active,
.ic-guild-views.has-glider a.is-active,
.ic-dash-tabs.has-glider a.is-active {
    border-bottom-color: transparent;
}
.ic-panel > .ic-dash-tabs:first-child {
    margin: 0 0 var(--head-gap, 1.35rem);
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-dash-body {
    overflow: hidden;
}
.ic-dash-body.is-resizing {
    transition: height 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.ic-dash-pane[hidden] { display: none !important; }
.ap-tab.is-fading,
.ic-gm-tab.is-fading,
.ic-guild-pane.is-fading,
.ic-dash-pane.is-fading {
    opacity: 0;
    transition: opacity 0.16s ease;
}
.ap-tab.is-entering,
.ic-gm-tab.is-entering,
.ic-guild-pane.is-entering,
.ic-dash-pane.is-entering {
    animation: ic-tab-in 0.32s ease;
}
@keyframes ic-tab-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .ic-tabs > .ic-glider,
    .ic-guild-views > .ic-glider,
    .ic-dash-tabs > .ic-glider,
    .ap-tab.is-fading,
    .ap-tab.is-entering,
    .ic-gm-tab.is-fading,
    .ic-gm-tab.is-entering,
    .ic-guild-pane.is-fading,
    .ic-guild-pane.is-entering,
    .ic-dash-pane.is-fading,
    .ic-dash-pane.is-entering,
    .ic-dash-body.is-resizing,
    .ic-fold,
    .ic-fold__summary,
    .ic-fold__summary::after,
    .ic-fold__body { transition: none; animation: none; }
}
.ic-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
    gap: 0;
    margin: 0;
    max-width: none;
    border: 1px solid rgba(90, 93, 112, 0.5);
    border-radius: 6px;
    overflow: visible;
    background: rgba(8, 10, 16, 0.45);
}
.ic-stats > div {
    position: relative;
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.5rem;
    row-gap: 0.08rem;
    align-items: center;
    min-width: 0;
    min-height: 0;
    padding: 0.42rem 1.35rem 0.42rem 0.65rem;
    border-right: 1px solid rgba(90, 93, 112, 0.28);
    border-bottom: 1px solid rgba(90, 93, 112, 0.28);
    background: rgba(12, 14, 22, 0.55);
    box-shadow: inset 3px 0 0 rgba(248, 183, 0, 0.55);
}
.ic-stats > div:hover,
.ic-stats > div:focus-within {
    z-index: 4;
}
.ic-stats .ic-help {
    position: absolute;
    top: 0.28rem;
    right: 0.28rem;
    margin: 0;
    width: 0.95rem;
    height: 0.95rem;
}
.ic-stats .ic-help::after {
    font-size: 0.6rem;
}
.ic-stats dt {
    display: contents;
}
.ic-stats .ic-dash-icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    color: rgba(255, 210, 74, 0.9);
}
.ic-stats .ic-dash-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
.ic-stats .ic-dash-label {
    grid-column: 2;
    grid-row: 1;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-transform: uppercase;
    color: rgba(255, 210, 74, 0.78);
}
.ic-stats dd {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.ic-stats > div > p {
    grid-column: 2;
    grid-row: 3;
    margin: 0.15rem 0 0;
}
.ic-stats > div.is-ok dd { color: #9ee08f; }
.ic-stats > div.is-off dd { color: rgba(243, 238, 226, 0.55); }
.ic-stats > div.is-span {
    grid-column: 1 / -1;
    grid-template-columns: 1.25rem auto minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: center;
    min-height: 0;
    padding: 0.42rem 1.35rem 0.42rem 0.65rem;
    box-shadow: inset 3px 0 0 rgba(248, 183, 0, 0.7);
    background: rgba(248, 183, 0, 0.08);
}
.ic-stats > div.is-span .ic-dash-icon,
.ic-stats > div.is-span-3 .ic-dash-icon,
.ic-stats > div.is-wide .ic-dash-icon {
    grid-row: 1;
    align-self: center;
}
.ic-stats > div.is-span .ic-dash-label,
.ic-stats > div.is-span-3 .ic-dash-label,
.ic-stats > div.is-wide .ic-dash-label {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
}
.ic-stats > div.is-span dd {
    grid-column: 3;
    grid-row: 1;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: #ebdec2;
}
.ic-stats--stack { grid-template-columns: 1fr; }
.ic-stats--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ic-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ic-stats--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ic-stats--2 > div:nth-child(2n),
.ic-stats--3 > div:nth-child(3n),
.ic-stats--4 > div:nth-child(4n),
.ic-stats--stack > div,
.ic-stats > div.is-span { border-right: 0; }
.ic-stats > div.is-wide {
    grid-column: 1 / -1;
    border-right: 0;
    grid-template-columns: 1.25rem auto minmax(0, 1fr);
    grid-template-rows: auto;
    align-items: start;
}
.ic-stats--4 > .is-span-3 {
    grid-column: span 3;
    border-right: 0;
    grid-template-columns: 1.25rem auto minmax(0, 1fr);
    grid-template-rows: auto;
}
.ic-stats > div.is-span-3 dd,
.ic-stats > div.is-wide dd {
    grid-column: 3;
    grid-row: 1;
}
.ic-mod-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.12rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ic-mod-list li {
    position: relative;
    min-width: 0;
    padding-left: 0.9em;
}
.ic-mod-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--gold, #f8b700);
}
.ic-mod-list a {
    font-weight: 600;
    text-decoration: none;
}
@media (max-width: 1100px) {
    .ic-stats--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ic-stats--4 > div:nth-child(4n) { border-right: 1px solid rgba(90, 93, 112, 0.28); }
    .ic-stats--4 > div:nth-child(2n) { border-right: 0; }
    .ic-stats--4 > .is-span-3 { grid-column: span 1; }
    .ic-mod-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .ic-stats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ic-stats--3 > div:nth-child(3n) { border-right: 1px solid rgba(90, 93, 112, 0.28); }
    .ic-stats--3 > div:nth-child(2n) { border-right: 0; }
}
@media (max-width: 640px) {
    .ic-stats--2,
    .ic-stats--3,
    .ic-stats--4 { grid-template-columns: 1fr; }
    .ic-stats--2 > div,
    .ic-stats--3 > div,
    .ic-stats--4 > div { border-right: 0; }
    .ic-stats--4 > .is-span-3 { grid-column: 1 / -1; }
    .ic-mod-list { grid-template-columns: 1fr; }
}
.ic-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.ic-table th, .ic-table td { text-align: left; padding: 0.35rem 0.5rem; border-bottom: 1px solid rgba(90, 93, 112, 0.4); color: #f3eee2; }
.ic-table th { color: #fff; font-size: 0.78rem; }
.ic-table--sort th.ic-th-sort { padding: 0; }
.ic-table--sort th.ic-th-sort a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.5rem;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}
.ic-table--sort th.ic-th-sort a:hover,
.ic-table--sort th.ic-th-sort.is-asc a,
.ic-table--sort th.ic-th-sort.is-desc a { color: var(--gold, #f8b700); }
.ic-table--sort th.ic-th-sort a::after {
    content: '';
    display: inline-block;
    border: 4px solid transparent;
    opacity: 0;
}
.ic-table--sort th.ic-th-sort a:hover::after,
.ic-table--sort th.ic-th-sort.is-asc a::after {
    border-bottom-color: currentColor;
    border-top-color: transparent;
    transform: translateY(-2px);
    opacity: 1;
}
.ic-table--sort th.ic-th-sort.is-desc a::after {
    border-top-color: currentColor;
    border-bottom-color: transparent;
    transform: translateY(2px);
    opacity: 1;
}
.ic-table tbody tr { opacity: 1; }
.ic-guild-name {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
}
.ic-guild-tabard {
    display: block;
    width: 24px;
    height: 28px;
    flex-shrink: 0;
}
.ic-guild-name:hover,
.ic-guild-name:focus-visible {
    color: var(--gold, #f8b700);
    text-decoration: underline;
    text-decoration-color: var(--gold, #f8b700);
}
.ic-table tbody tr:has(a.ic-guild-name):hover td,
.ic-table tbody tr:has(a.ic-char-name):hover td {
    background: rgba(248, 183, 0, 0.06);
}
.ic-char-name {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: inherit;
    text-decoration: none;
}
a.ic-char-name {
    cursor: pointer;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
}
a.ic-char-name:hover,
a.ic-char-name:focus-visible {
    text-decoration: underline;
    text-decoration-color: var(--gold, #f8b700);
    filter: brightness(1.18);
}
.ic-account-cell {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
    vertical-align: middle;
}
.ic-account-cell a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.ic-account-cell .ic-gm-badge {
    flex: 0 0 auto;
    align-self: center;
    margin: 0;
}
.ic-account-cell .ic-type-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
    flex: 0 0 auto;
}
.ic-account-cell__name {
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
}
.ic-account-cell a:hover .ic-account-cell__name,
.ic-account-cell a:focus-visible .ic-account-cell__name {
    color: var(--gold, #f8b700);
    text-decoration: underline;
    text-decoration-color: var(--gold, #f8b700);
}
.ic-char-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: inherit;
    text-decoration: none;
}
a.ic-char-meta {
    cursor: pointer;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
}
a.ic-char-meta:hover,
a.ic-char-meta:focus-visible {
    color: var(--gold, #f8b700);
    text-decoration: underline;
    text-decoration-color: var(--gold, #f8b700);
}
.ic-stats a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
}
.ic-stats a:hover,
.ic-stats a:focus-visible {
    color: var(--gold, #f8b700);
    text-decoration: underline;
    text-decoration-color: var(--gold, #f8b700);
}
.ic-stats .ic-account-cell a:hover,
.ic-stats .ic-account-cell a:focus-visible {
    color: inherit;
    text-decoration: none;
}
.ic-character__identity a.ic-char-meta { display: inline; }
.ic-character__account {
    color: inherit;
}
.ic-type-icon,
.ic-faction-icon {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;
}
.ic-type-icon { border-radius: 3px; }
.ic-char-sheet__tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.85rem;
    margin-left: auto;
}
.ic-char-sheet__tabs a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--gold, #f8b700);
    font-weight: 700;
    text-decoration: none;
    padding-bottom: 0.15rem;
    border-bottom: 2px solid transparent;
}
.ic-char-sheet__tabs a:hover { color: #fff; }
.ic-char-sheet__tabs a.is-active {
    color: #fff;
    border-bottom-color: var(--gold, #f8b700);
}
.ic-char-sheet__unspent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.15rem;
    padding: 0.05rem 0.35rem;
    border-radius: 999px;
    background: #c41f3b;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
}
.ic-char-sheet__pane[hidden] { display: none !important; }
.ic-char-sheet__main { min-width: 0; }
.ic-character__sheet {
    min-width: 0;
    padding: 0.85rem 1rem 1rem;
    background: rgba(8, 12, 20, 0.45);
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 4px;
}
.ic-character__sheet-meta {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: #fff;
    font-weight: 600;
}
.ic-character__sheet-meta a.ic-char-meta { display: inline; }
.ic-character__sheet-sep {
    margin: 0 0.4rem;
    color: rgba(243, 238, 226, 0.45);
    font-weight: 700;
}
.ic-character__sheet-rank {
    color: #fff;
    font-weight: 600;
}
.ic-character__sheet-guild {
    margin-left: 0.3rem;
    color: var(--gold, #f8b700);
    font-weight: 600;
}
.ic-character__sheet-guild a { color: inherit; }
.ic-character__sheet-meta + .ic-paper-stats {
    margin-top: 0.7rem;
}
.ic-paper-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.15rem;
    margin-top: 0;
}
.ic-paper-stats__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.55rem;
    margin: 0 0 0.4rem;
}
.ic-paper-stats__cats button {
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gold, #f8b700);
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0 0 0.1rem;
    cursor: pointer;
}
.ic-paper-stats__cats button:hover { color: #fff; }
.ic-paper-stats__cats button.is-active {
    color: #fff;
    border-bottom-color: var(--gold, #f8b700);
}
.ic-paper-stats__label {
    margin: 0 0 0.4rem;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}
.ic-paper-stats__list {
    margin: 0;
    display: grid;
    gap: 0.12rem;
}
.ic-paper-stats__list[hidden] { display: none !important; }
.ic-paper-stats__list > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.65rem;
    padding: 0.22rem 0.35rem;
    margin: 0 -0.35rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.28);
    color: #fff;
    font-size: 0.88rem;
}
.ic-paper-stats__list > div[data-stat-tip],
.ic-resist li[data-stat-tip] {
    cursor: help;
}
.ic-paper-stats__list dt {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-weight: 600;
    color: rgba(243, 238, 226, 0.82);
}
.ic-paper-stats__list dd {
    margin: 0;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}
.ic-paper-stats__list > div.is-primary {
    background: rgba(248, 183, 0, 0.14);
    border-bottom-color: rgba(248, 183, 0, 0.4);
    border-radius: 3px;
}
.ic-paper-stats__list > div.is-primary dt,
.ic-paper-stats__list > div.is-primary dd {
    color: var(--gold, #f8b700);
}
.ic-paper-stats__list > div.is-secondary {
    background: rgba(243, 238, 226, 0.07);
    border-radius: 3px;
}
.ic-paper-stats__list > div.is-secondary dt,
.ic-paper-stats__list > div.is-secondary dd {
    color: #fff;
}
.ic-stat-role {
    display: inline-flex;
    align-items: center;
    padding: 0.04rem 0.38rem;
    border-radius: 999px;
    background: var(--gold, #f8b700);
    color: #181001;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.3;
}
.is-secondary .ic-stat-role {
    background: rgba(201, 162, 39, 0.35);
    color: #f3eee2;
}
.ic-resist-block {
    margin-top: 0.85rem;
}
.ic-resist-block .ic-paper-stats__label {
    margin-bottom: 0.4rem;
}
.ic-resist {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ic-resist li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #fff;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    font-size: 0.82rem;
}
.ic-resist img {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    border: 1px solid rgba(90, 93, 112, 0.55);
}
.ic-unit-stats {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 0.35rem 1.35rem;
    align-items: center;
    margin: 0.75rem 0 0.15rem;
}
.ic-unit-stats .ic-skill-row {
    grid-template-columns: auto 8.5rem;
    min-height: 2.45rem;
    height: 2.45rem;
    padding: 0;
    box-sizing: border-box;
    border-bottom: 0;
    column-gap: 0.5rem;
}
.ic-unit-stats .ic-skill-link {
    display: flex;
    align-items: center;
    height: 100%;
    color: #fff;
    font-weight: 600;
}
.ic-unit-stats .ic-wow-bar {
    width: 8.5rem;
    max-width: 8.5rem;
    height: 1.5rem;
    align-self: center;
}
.ic-character__sheet-meta + .ic-unit-stats + .ic-paper-stats,
.ic-unit-stats + .ic-paper-stats {
    margin-top: 0.7rem;
}
.ic-char-sheet__pane--skills .ic-skill-block:first-child { margin-top: 0; }
.ic-char-sheet__pane--skills .ic-skill-block .ic-subhead {
    margin-bottom: 0.45rem;
}
.ic-char-sheet__pane--skills .ic-skill-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-count: auto;
    column-gap: 1.25rem;
    row-gap: 0;
    align-content: start;
}
.ic-char-sheet__pane--skills .ic-skill-row {
    grid-template-columns: minmax(6rem, 9.5rem) minmax(0, 1fr);
    min-height: 2.45rem;
    height: 2.45rem;
    padding: 0;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(90, 93, 112, 0.35);
}
.ic-char-sheet__pane--skills .ic-skill-row .ic-skill-link {
    display: flex;
    align-items: center;
    height: 100%;
}
.ic-char-sheet__pane--skills .ic-wow-bar {
    height: 1.5rem;
    align-self: center;
}
.ic-pet-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 0.75rem;
}
.ic-pet-card {
    display: flex;
    gap: 0.7rem;
    padding: 0.75rem 0.85rem;
    background: rgba(8, 12, 20, 0.45);
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 4px;
}
.ic-pet-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    border: 1px solid rgba(90, 93, 112, 0.55);
    flex-shrink: 0;
}
.ic-pet-card__body { min-width: 0; }
.ic-pet-card h3 {
    margin: 0;
    color: #fff;
    font-size: 1rem;
}
.ic-pet-card p { margin: 0.2rem 0 0; }
.ic-pet-card__happy { font-weight: 700; }
.ic-pet-card__happy--happy { color: #6ee05c; }
.ic-pet-card__happy--content { color: #f0d85c; }
.ic-pet-card__happy--unhappy { color: #f06a6a; }
.ic-currency-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
    max-width: 28rem;
}
.ic-currency-list > li > .ic-currency,
.ic-currency-list > .ic-currency {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.4rem 0.15rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.35);
    color: inherit;
    text-decoration: none;
}
.ic-currency img {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    border: 2px solid #c8ccd4;
    background: #111218;
}
.ic-currency.q2 img { border-color: #3cc830; }
.ic-currency.q3 img { border-color: #2aa8e0; }
.ic-currency.q4 img { border-color: #b058e8; }
.ic-currency__name { font-weight: 700; color: #fff; }
.ic-currency__qty {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    color: var(--gold, #f8b700);
}
.ic-talent-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    margin: 0 0 0.85rem;
}
.ic-talent-specs button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font: inherit;
    font-weight: 700;
    color: var(--gold, #f8b700);
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0 0 0.15rem;
    cursor: pointer;
}
.ic-talent-specs button.is-active {
    color: #fff;
    border-bottom-color: var(--gold, #f8b700);
}
.ic-talents__unspent {
    color: rgba(243, 238, 226, 0.7);
    font-size: 0.88rem;
    font-weight: 700;
}
.ic-talents__unspent.is-hot { color: #ffd24a; }
.ic-presence {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
}
.ic-presence.is-on {
    color: #3dcc6b;
    font-weight: 800;
}
.ic-presence.is-off {
    color: rgba(255, 255, 255, 0.38);
    font-weight: 600;
}
.ic-presence .ic-dot { flex-shrink: 0; }
.ic-status-mark {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
    font-weight: 700;
}
.ic-status-mark--on { color: #3dcc6b; }
.ic-status-mark--off { color: #c44; }
.ic-status-mark .ic-dot { flex-shrink: 0; }
.ic-character__layout {
    display: grid;
    grid-template-columns: minmax(24rem, 30rem) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}
.ic-paperdoll {
    display: grid;
    grid-template-columns: 48px minmax(4rem, 1fr) 48px;
    gap: 0.35rem 0.65rem;
}
.ic-paperdoll__col { display: grid; gap: 0.35rem; }
.ic-paperdoll__body {
    position: relative;
    min-height: 33rem;
    height: 33rem;
    overflow: hidden;
    background-color: #0a0c12;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 4px;
}
.ic-paperdoll__body canvas {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    background: transparent;
    touch-action: none;
}
.ic-paperdoll__loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    margin: 0;
}
.ic-paperdoll__reset {
    position: absolute;
    right: 0.45rem;
    bottom: 0.45rem;
    z-index: 2;
    padding: 0.2rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffd24a;
    background: rgba(10, 12, 20, 0.72);
    border: 1px solid rgba(201, 162, 39, 0.55);
    border-radius: var(--control-radius, 8px);
    cursor: pointer;
}
.ic-paperdoll__reset:hover {
    color: #fff;
    border-color: #ffd24a;
}
.ic-paperdoll__hands {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.2rem;
}
.ic-paperdoll__hint {
    grid-column: 1 / -1;
    margin: 0.15rem 0 0;
    text-align: center;
    font-size: 0.82rem;
}
.ic-item {
    display: block;
    width: 44px;
    height: 44px;
    overflow: hidden;
    background: #111218;
    border: 2px solid #5a5d70;
    border-radius: 6px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ic-item--empty { border-color: #3d3f4a; background: #111218; }
.ic-item--empty img { opacity: 0.95; }
.ic-item.q0 {
    border-color: #8a9098;
    box-shadow: inset 0 1px 0 rgba(210, 214, 220, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item.q1 {
    border-color: #c8ccd4;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item.q2 {
    border-color: #3cc830;
    box-shadow: inset 0 1px 0 rgba(200, 255, 180, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item.q3 {
    border-color: #2aa8e0;
    box-shadow: inset 0 1px 0 rgba(190, 235, 255, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item.q4 {
    border-color: #b058e8;
    box-shadow: inset 0 1px 0 rgba(230, 200, 255, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item.q5 {
    border-color: #e87820;
    box-shadow: inset 0 1px 0 rgba(255, 220, 180, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item.q6,
.ic-item.q7 {
    border-color: #e0c048;
    box-shadow: inset 0 1px 0 rgba(255, 245, 180, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-item:hover { filter: brightness(1.12); }
.ic-character__facts {
    display: grid;
    gap: 1rem;
    min-width: 0;
    margin-top: 1.25rem;
}
.ic-character__stats { margin: 0; }
.ic-talents,
.ic-dungeons { min-width: 0; }
.ic-talents .ic-subhead,
.ic-dungeons .ic-subhead {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
}
.ic-talents__counts {
    color: var(--gold, #f8b700);
    font-size: 0.92rem;
}
.ic-talents__wh {
    margin-left: auto;
    font-size: 0.82rem;
    font-weight: 600;
}
.ic-talent-trees {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
    gap: 0.45rem;
}
.ic-talent-tree {
    min-width: 11.5rem;
    padding: 0.4rem 0.4rem 0.5rem;
    background-color: #0a0c12;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    border: 1px solid rgba(90, 93, 112, 0.5);
    border-radius: 4px;
    box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.45);
}
.ic-talent-tree h4 {
    display: flex;
    justify-content: space-between;
    gap: 0.35rem;
    margin: 0 0 0.4rem;
    color: #fff;
    font-size: 0.78rem;
    text-shadow: 0 1px 2px #000;
}
.ic-talent-tree h4 span { color: var(--gold, #f8b700); }
.ic-talent-grid {
    display: grid;
    grid-template-columns: repeat(4, 2rem);
    grid-template-rows: repeat(11, 2rem);
    row-gap: 1.2rem;
    column-gap: 0.85rem;
    justify-content: center;
    justify-items: center;
}
.ic-talent {
    position: relative;
    display: block;
    width: 2rem;
    height: 2rem;
    border: 1px solid #3d3f4a;
    border-radius: 3px;
    background: #111218;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.55);
}
.ic-talent img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ic-talent span {
    position: absolute;
    right: -2px;
    bottom: -2px;
    padding: 0 0.18rem;
    border-radius: 2px;
    background: rgba(10, 12, 20, 0.88);
    color: #ebdec2;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
}
.ic-talent.is-off { opacity: 0.42; filter: grayscale(0.7); }
.ic-talent.is-on { border-color: #3cc830; }
.ic-talent.is-on span { color: #6fe05c; }
.ic-talent.is-max { border-color: #f8b700; }
.ic-talent.is-max span { color: #f8b700; }
.ic-talent:hover { filter: brightness(1.15); opacity: 1; }
.ic-glyphs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.15rem;
}
.ic-glyphs__group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}
.ic-glyphs__label {
    margin-right: 0.2rem;
    color: #ebdec2;
    font-size: 0.78rem;
    font-weight: 700;
}
.ic-glyph {
    display: block;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border: 2px solid #c8ccd4;
    border-radius: 6px;
    background: #111218;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45);
}
.ic-glyphs__group:last-child .ic-glyph { border-color: #8a9098; }
.ic-glyph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ic-dungeons h4 {
    margin: 0.65rem 0 0.3rem;
    color: #fff;
    font-size: 0.88rem;
}
.ic-dungeons h4:first-of-type { margin-top: 0.15rem; }
.ic-dungeons ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.45rem;
}
.ic-dungeons li {
    padding: 0.12rem 0.45rem;
    border: 1px solid rgba(60, 200, 48, 0.45);
    border-radius: 999px;
    background: rgba(60, 200, 48, 0.12);
    color: #d8f5d0;
    font-size: 0.78rem;
}
@media (max-width: 860px) {
    .ic-character__layout { grid-template-columns: 1fr; }
    .ic-char-sheet__tabs { margin-left: 0; }
    .ic-paper-stats { grid-template-columns: 1fr; }
    .ic-unit-stats { grid-template-columns: repeat(2, max-content); }
    .ic-char-sheet__pane--skills .ic-skill-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ic-talent-grid {
        grid-template-columns: repeat(4, 2.15rem);
        grid-template-rows: repeat(11, 2.15rem);
        row-gap: 1.25rem;
        column-gap: 0.9rem;
    }
    .ic-talent { width: 2.15rem; height: 2.15rem; }
}
.ic-char-gm {
    position: relative;
    z-index: 1;
    overflow: visible;
}
.ic-character > .ic-char-gm:has(.ic-pick.is-open) { z-index: 8; }
.ic-char-gm .ic-form { max-width: 32rem; }
.ic-char-gm .ic-gm-tools .ic-form { max-width: none; }
.ic-char-gm .ic-table { margin-top: 1rem; }
.ic-char-gm .ic-table a[href*="wowhead.com"],
.ic-skill-link {
    color: var(--gold, #f8b700);
    text-decoration: none;
}
.ic-char-gm .ic-table a[href*="wowhead.com"]:hover,
.ic-skill-link:hover { text-decoration: underline; }
.wowhead-tooltip-powered { display: none !important; }
.wowhead-tooltip {
    position: fixed !important;
    z-index: 999999;
    box-sizing: border-box;
    padding: 0.65rem 0.8rem;
    color: var(--ink, #f3eee2) !important;
    font-family: var(--font, "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    background: rgba(12, 14, 20, 0.97) !important;
    border: 1px solid rgba(248, 183, 0, 0.45) !important;
    border-radius: 6px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.wowhead-tooltip,
.wowhead-tooltip * {
    font-family: var(--font, "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
}
.wowhead-tooltip table,
.wowhead-tooltip td,
.wowhead-tooltip th {
    background-image: none !important;
    background-color: transparent !important;
}
.wowhead-tooltip > table > tbody > tr:last-child,
.wowhead-tooltip > table > tbody > tr:first-child > th {
    display: none !important;
}
.wowhead-tooltip td,
.wowhead-tooltip th {
    color: inherit;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    background: none !important;
}
.wowhead-tooltip > table {
    background: transparent !important;
    border-radius: 0 !important;
}
.wowhead-tooltip > table > tbody > tr:first-child > td {
    padding: 0 !important;
    background: none !important;
}
.wowhead-tooltip table.shrink td,
.wowhead-tooltip table.shrink th,
.wowhead-tooltip table.shrink b {
    font-size: inherit !important;
    line-height: inherit !important;
}
.wowhead-tooltip b {
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}
.wowhead-tooltip a { text-decoration: none; }
.wowhead-tooltip .whtt-tooltip-icon {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid rgba(90, 93, 112, 0.55);
}
.ic-skill-tooltip {
    position: fixed;
    z-index: 999999;
    max-width: 16rem;
    padding: 0.55rem 0.75rem;
    color: var(--ink, #f3eee2);
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.4;
    background: rgba(12, 14, 20, 0.97);
    border: 1px solid rgba(248, 183, 0, 0.45);
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
    pointer-events: none;
}
.ic-skill-tooltip b {
    display: block;
    margin-bottom: 0.15rem;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
}
.ic-skill-tooltip__meta {
    color: rgba(243, 238, 226, 0.72);
    font-size: 0.78rem;
}
.ic-skill-tooltip__value {
    margin-top: 0.2rem;
    color: var(--gold, #f8b700);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) {
    .wowhead-tooltip { transition: none; }
}
.ic-skill-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
}
.ic-skill-icon {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
    border-radius: 3px;
    border: 1px solid rgba(90, 93, 112, 0.55);
    background: #111218;
    flex-shrink: 0;
}
.ic-skill-block { margin-top: 1.15rem; }
.ic-skill-block .ic-subhead { margin-bottom: 0.35rem; }
.ic-skill-grid {
    column-count: 2;
    column-gap: 1.5rem;
    margin-top: 0;
}
.ic-skill-row {
    display: grid;
    grid-template-columns: 10.5rem minmax(4.5rem, 1fr) 13rem;
    align-items: center;
    column-gap: 0.55rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid rgba(90, 93, 112, 0.35);
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
.ic-char-gm__pane[data-gm-tab="reputation"] .ic-skill-row {
    grid-template-columns: 10.5rem minmax(4.5rem, 1fr) 15.5rem;
}
.ic-char-gm__pane[data-gm-tab="moderate"] > .ic-skill-block:first-child {
    margin-top: 0;
}
.ic-mod-row {
    display: grid;
    grid-template-columns: minmax(8.5rem, 13rem) minmax(0, 1fr) 1.3rem;
    align-items: center;
    column-gap: 0.55rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(90, 93, 112, 0.35);
    overflow: visible;
}
.ic-mod-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    color: #fff;
}
.ic-mod-copy {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}
.ic-mod-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-weight: 600;
}
.ic-mod-row > .ic-help {
    margin-left: 0;
    justify-self: end;
    z-index: 8;
}
.ic-mod-copy .ic-muted {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
}
.ic-mod-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.55rem;
    min-width: 0;
}
.ic-char-gm__pane[data-gm-tab="moderate"] .ic-form > input[type="hidden"] {
    display: none;
}
.ic-mod-actions .ic-form {
    flex: 0 1 auto;
}
.ic-mod-sep {
    flex: 0 0 auto;
    align-self: stretch;
    width: 1px;
    min-height: 1.8rem;
    margin: 0.15rem 0.1rem;
    background: rgba(90, 93, 112, 0.55);
}
.ic-skill-row .ic-skill-link {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}
.ic-skill-link__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}
.ic-skill-block .ic-skill-link,
.ic-skill-block .ic-skill-link__name {
    font-size: 0.78rem;
    font-weight: 600;
}
.ic-skill-block .ic-wow-bar__label {
    font-size: 0.7rem;
}
.ic-skill-link .ic-help {
    flex-shrink: 0;
}
.ic-wow-bar {
    position: relative;
    width: 100%;
    min-width: 0;
    height: 26px;
    overflow: hidden;
    background: #0a0c12;
    border: 1px solid #3d4250;
    border-radius: 3px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.75);
}
.ic-wow-bar__fill {
    display: block;
    height: 100%;
    max-width: 100%;
    background: linear-gradient(180deg, #5ec8f0 0%, #1a94d0 48%, #0a5a90 100%);
    box-shadow: inset 0 1px 0 rgba(190, 235, 255, 0.4);
}
.ic-wow-bar--hated .ic-wow-bar__fill {
    background: linear-gradient(180deg, #f06a6a 0%, #c41c1c 48%, #6e0c0c 100%);
    box-shadow: inset 0 1px 0 rgba(255, 190, 190, 0.4);
}
.ic-wow-bar--hostile .ic-wow-bar__fill {
    background: linear-gradient(180deg, #ff7a6a 0%, #e02818 48%, #8a140c 100%);
    box-shadow: inset 0 1px 0 rgba(255, 200, 190, 0.4);
}
.ic-wow-bar--unfriendly .ic-wow-bar__fill {
    background: linear-gradient(180deg, #f0a058 0%, #d06010 48%, #8a3a08 100%);
    box-shadow: inset 0 1px 0 rgba(255, 220, 180, 0.4);
}
.ic-wow-bar--neutral .ic-wow-bar__fill {
    background: linear-gradient(180deg, #f0d85c 0%, #c9a010 48%, #7a6408 100%);
    box-shadow: inset 0 1px 0 rgba(255, 245, 180, 0.4);
}
.ic-wow-bar--friendly .ic-wow-bar__fill {
    background: linear-gradient(180deg, #78e858 0%, #28b018 48%, #14680c 100%);
    box-shadow: inset 0 1px 0 rgba(200, 255, 180, 0.4);
}
.ic-wow-bar--honored .ic-wow-bar__fill {
    background: linear-gradient(180deg, #58e888 0%, #18b848 48%, #0a7030 100%);
    box-shadow: inset 0 1px 0 rgba(190, 255, 210, 0.4);
}
.ic-wow-bar--revered .ic-wow-bar__fill {
    background: linear-gradient(180deg, #48e8c0 0%, #12b888 48%, #087058 100%);
    box-shadow: inset 0 1px 0 rgba(190, 255, 230, 0.4);
}
.ic-wow-bar--health .ic-wow-bar__fill {
    background: linear-gradient(180deg, #6ee05c 0%, #2ea01c 48%, #14680c 100%);
}
.ic-wow-bar--mana .ic-wow-bar__fill {
    background: linear-gradient(180deg, #5ec8f0 0%, #1a94d0 48%, #0a5a90 100%);
}
.ic-wow-bar--rage .ic-wow-bar__fill {
    background: linear-gradient(180deg, #f06a6a 0%, #c41c1c 48%, #6e0c0c 100%);
}
.ic-wow-bar--energy .ic-wow-bar__fill {
    background: linear-gradient(180deg, #f0d85c 0%, #c9a010 48%, #7a6408 100%);
}
.ic-wow-bar--runic .ic-wow-bar__fill {
    background: linear-gradient(180deg, #5ee8f0 0%, #18b8c8 48%, #0a6878 100%);
}
.ic-wow-bar--exalted .ic-wow-bar__fill {
    background: linear-gradient(180deg, #5ee8f0 0%, #18b8c8 48%, #0a6878 100%);
    box-shadow: inset 0 1px 0 rgba(190, 245, 255, 0.4);
}
.ic-wow-bar__label {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    pointer-events: none;
    color: var(--ink, #f3eee2);
    font-size: 0.78rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-shadow: 0 1px 2px #000, 0 0 4px #000;
}
.ic-skill-value {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.72);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    padding-bottom: 0.2rem;
}
.ic-skill-row .ic-form {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem 0.5rem;
    align-items: center;
    max-width: none;
    margin-left: 0;
    width: 100%;
    min-width: 0;
}
.ic-skill-row > label {
    width: 100%;
    min-width: 0;
}
.ic-skill-row > label,
.ic-skill-row .ic-form > label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
}
.ic-skill-row .ic-form input[type="number"],
.ic-skill-row > label input[type="number"],
.ic-skill-row .ic-form select,
.ic-skill-row > label select {
    font: inherit;
    width: 4.5rem;
    min-width: 4.5rem;
    min-height: 2rem;
    padding: 0.35rem 0.45rem;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    background: #111218;
    color: #f3eee2;
}
.ic-skill-row .ic-form select,
.ic-skill-row > label select {
    min-width: 7.5rem;
    width: auto;
}
.ic-skill-row > label input:disabled,
.ic-skill-row > label select:disabled {
    opacity: 0.55;
    color: rgba(243, 238, 226, 0.45);
    background: #0a0c12;
    cursor: not-allowed;
}
.ic-skill-row .ic-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 4.5rem;
    min-height: 2rem;
    margin-left: 0;
    padding: 0.25rem 0.6rem;
    font-size: 0.82rem;
}
.ic-char-gm .ic-table .ic-form {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem 0.55rem;
    align-items: end;
    max-width: none;
    margin: 0;
    width: max-content;
    margin-left: auto;
}
.ic-char-gm .ic-table .ic-form > label {
    display: grid;
    gap: 0.15rem;
    font-size: 0.82rem;
    font-weight: 600;
}
.ic-char-gm .ic-quest-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.35rem 1.15rem;
    margin: 0.85rem 0 0;
    text-align: right;
}
.ic-char-gm .ic-quest-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.ic-char-gm .ic-quest-legend strong {
    color: #f3eee2;
    font-weight: 700;
}
.ic-char-gm .ic-quest-legend img {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 3px;
}
.ic-char-gm .ic-quest-status {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}
.ic-char-gm .ic-quest-status__row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.ic-char-gm .ic-quest-status__label {
    flex: 0 0 7.5rem;
    width: 7.5rem;
    line-height: 2rem;
}
.ic-char-gm .ic-table .ic-row-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 0;
    align-items: center;
    border-radius: var(--control-radius, 8px);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}
.ic-char-gm .ic-table .ic-row-actions .ic-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    width: auto;
    max-width: none;
    margin: 0;
}
.ic-char-gm .ic-row-actions .ic-chip {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    box-sizing: border-box;
    margin: 0;
    height: 2rem;
    min-height: 2rem;
    padding: 0 0.75rem 0 0.42rem;
    border: 1px solid #5a5d70;
    border-top-color: #7a7e90;
    border-bottom-color: #2a2c36;
    border-radius: 0;
    background: linear-gradient(180deg, #2c3040 0%, #181b24 48%, #0c0e14 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(0, 0, 0, 0.5);
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.7);
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1;
    color: var(--gold, #f8b700) !important;
}
.ic-char-gm .ic-row-actions .ic-form:first-child .ic-chip {
    border-radius: var(--control-radius, 8px) 0 0 var(--control-radius, 8px);
}
.ic-char-gm .ic-row-actions .ic-form:last-child .ic-chip {
    border-radius: 0 var(--control-radius, 8px) var(--control-radius, 8px) 0;
}
.ic-char-gm .ic-table .ic-row-actions .ic-form + .ic-form .ic-chip {
    margin-left: -1px;
    border-left-color: #1a1c24;
    box-shadow:
        inset 1px 0 0 rgba(255, 255, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(0, 0, 0, 0.5);
}
.ic-char-gm .ic-row-actions .ic-chip img {
    display: block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    object-fit: cover;
    border-radius: 3px;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.22),
        0 1px 2px rgba(0, 0, 0, 0.55);
    pointer-events: none;
}
.ic-char-gm .ic-row-actions .ic-chip:hover,
.ic-char-gm .ic-table .ic-row-actions .ic-form + .ic-form .ic-chip:hover {
    position: relative;
    z-index: 1;
    color: #ffd24a !important;
    border-color: #f8b700;
    background: linear-gradient(180deg, #3a3f52 0%, #1e222e 48%, #101218 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 210, 74, 0.28),
        inset 0 -1px 0 rgba(0, 0, 0, 0.5);
}
.ic-char-gm .ic-row-actions .ic-chip:active,
.ic-char-gm .ic-table .ic-row-actions .ic-form + .ic-form .ic-chip:active {
    border-color: #f8b700;
    background: linear-gradient(180deg, #0c0e14 0%, #161820 52%, #242836 100%);
    box-shadow:
        inset 0 2px 5px rgba(0, 0, 0, 0.7),
        inset 0 1px 0 rgba(0, 0, 0, 0.45);
}
.ic-char-gm .ic-row-actions .ic-chip:focus-visible {
    outline: 2px solid #f8b700;
    outline-offset: 2px;
}
.ic-char-gm .ic-row-actions .ic-chip--danger {
    color: #e07070 !important;
    border-color: #8a4545;
    border-top-color: #b06060;
    border-bottom-color: #4a2020;
}
.ic-char-gm .ic-row-actions .ic-chip--danger:hover,
.ic-char-gm .ic-table .ic-row-actions .ic-form + .ic-form .ic-chip--danger:hover {
    color: #ff8a8a !important;
    border-color: #e07070;
    background: linear-gradient(180deg, #3a2428 0%, #1e1418 48%, #120c0e 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 140, 140, 0.22),
        inset 0 -1px 0 rgba(0, 0, 0, 0.5);
}
.ic-char-gm .ic-row-actions .ic-chip--danger:active,
.ic-char-gm .ic-table .ic-row-actions .ic-form + .ic-form .ic-chip--danger:active {
    border-color: #e07070;
    background: linear-gradient(180deg, #120c0e 0%, #1a1012 52%, #2c1a1e 100%);
}
.ic-char-gm .ic-table .ic-btn {
    min-height: 2rem;
    padding: 0.25rem 0.6rem;
    font-size: 0.82rem;
}
.ic-char-gm .ic-table input[type="number"],
.ic-char-gm .ic-table select {
    font: inherit;
    width: auto;
    min-width: 5.5rem;
    min-height: 2rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    background: #111218;
    color: #f3eee2;
    box-sizing: border-box;
}
.ic-char-gm > .ic-gm-result { margin: 0 0 1.1rem; }
.ic-char-gm__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    margin: 0 0 1.15rem;
}
.ic-char-gm__tabs button {
    font: inherit;
    font-weight: 700;
    color: var(--gold, #f8b700);
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0 0 0.15rem;
    cursor: pointer;
}
.ic-char-gm__tabs button.is-active {
    color: #fff;
    border-bottom-color: var(--gold, #f8b700);
}
.ic-char-gm__pane[hidden] { display: none !important; }
.ic-char-gm__pane > .ic-muted:first-child { margin: 0 0 0.85rem; }
.ic-char-gm__pane > .ic-gm-tools + .ic-gm-tools,
.ic-char-gm__pane > .ic-gm-tools + .ic-gm-block { margin-top: 0.9rem; }
.ic-gm-block {
    padding: 0.9rem 0 0;
    background: none;
    border: 0;
    border-radius: 0;
}
.ic-gm-block > .ic-muted:first-child { margin: 0 0 0.75rem; }
.ic-gm-block .ic-gm-fn {
    background: rgba(90, 93, 112, 0.38);
}
.ic-char-gm__pane .ic-gm-tools .ic-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.65rem;
    align-items: end;
    max-width: none;
    margin: 0;
}
.ic-char-gm__pane .ic-gm-tools .ic-form + .ic-form { margin-top: 0.65rem; }
.ic-char-gm__pane .ic-gm-tools .ic-muted + .ic-form { margin-top: 0.55rem; }
.ic-char-gm__pane .ic-gm-tools .ic-subhead + .ic-form,
.ic-char-gm__pane .ic-gm-tools .ic-subhead + .ic-muted + .ic-form,
.ic-char-gm__pane .ic-gm-tools .ic-subhead + .ic-gm-fn .ic-form { margin-top: 0; }
.ic-gm-fn {
    padding: 0.8rem 0.9rem 0.9rem;
    background: rgba(90, 93, 112, 0.38);
    border: 1px solid rgba(90, 93, 112, 0.55);
    border-radius: 8px;
}
.ic-gm-fn + .ic-gm-fn { margin-top: 0.75rem; }
.ic-gm-guilds-create {
    margin: 0 0 1.15rem;
    max-width: 40rem;
}
.ic-gm-guilds-create .ic-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
    gap: 0.75rem 1rem;
}
.ic-gm-guilds-create .ic-form > label {
    flex: none;
    width: auto;
    min-width: 0;
}
.ic-gm-guilds-create .ic-form input[type="text"],
.ic-gm-guilds-create .ic-pick {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.ic-gm-guilds-create .ic-form > .ic-btn {
    grid-column: 1 / -1;
    flex: none;
    width: max-content;
    margin-left: 0;
}
.ic-gm-tools .ic-gm-fn + .ic-subhead { margin-top: 1.25rem; }
.ic-char-gm__pane .ic-gm-tools .ic-subhead + .ic-gm-fn,
.ic-char-gm__pane .ic-gm-tools .ic-subhead + .ic-muted + .ic-gm-fn {
    margin-top: 0.7rem;
}
.ic-gm-fn__title {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.55rem;
    padding: 0 0 0.5rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.35);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
}
.ic-gm-fn__icon {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: cover;
    border-radius: 3px;
}
.ic-gm-fn .ic-muted { margin: 0 0 0.55rem; }
.ic-gm-fn .ic-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.65rem;
    align-items: end;
    max-width: none;
    margin: 0;
}
.ic-gm-fn .ic-form > label {
    flex: 1 1 8rem;
    min-width: 0;
}
.ic-gm-fn .ic-form > .ic-btn {
    flex: 0 0 11.25rem;
    width: 11.25rem;
    margin-left: auto;
}
.ic-gm-fn > .ic-form + .ic-form {
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid rgba(90, 93, 112, 0.3);
}
@media (max-width: 860px) {
    .ic-gm-fn .ic-form > label,
    .ic-gm-fn .ic-form > .ic-btn {
        flex: 1 1 100%;
        width: 100%;
        margin-left: 0;
    }
    .ic-gm-guilds-create .ic-form {
        grid-template-columns: minmax(0, 1fr);
    }
    .ic-gm-guilds-create .ic-form > .ic-btn {
        width: max-content;
    }
}
.ic-gm-fn--flags {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem 0.65rem;
}
.ic-gm-fn--flags .ic-gm-fn__title,
.ic-gm-fn--flags > .ic-muted {
    grid-column: 1 / -1;
}
.ic-char-gm__pane .ic-gm-tools .ic-gm-fn--flags > .ic-form,
.ic-char-gm__pane .ic-gm-tools .ic-gm-fn--flags > .ic-form + .ic-form {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.ic-char-gm__pane .ic-gm-tools .ic-gm-fn--flags > .ic-form > .ic-btn {
    flex: 1 1 auto;
    width: 100%;
    margin-left: 0;
}
button.ic-btn.ic-btn--icon,
.ic-btn.ic-btn--icon,
.ic-chip.ic-chip--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    line-height: 1;
}
.ic-btn .ic-dash-icon,
.ic-chip .ic-dash-icon {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 1.05rem;
    grid-column: auto;
    grid-row: auto;
    color: currentColor;
}
.ic-btn .ic-dash-icon svg,
.ic-chip .ic-dash-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
button.ic-btn.ic-btn--icon img,
.ic-btn.ic-btn--icon img,
.ic-chip.ic-chip--icon img {
    display: block;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    object-fit: cover;
    border-radius: 3px;
}
.ic-gm-tools--cards,
.ic-gm-tools--position {
    gap: 0.75rem 0.85rem;
    align-items: stretch;
}
.ic-gm-tools--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ic-gm-tools--position { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ic-gm-fn--span { grid-column: 1 / -1; }
.ic-gm-tools--cards > .ic-gm-fn,
.ic-gm-tools--position > .ic-gm-fn {
    display: flex;
    flex-direction: column;
    margin-top: 0;
}
.ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.75rem;
    align-items: center;
    padding: 0.7rem 0.85rem;
}
.ic-gm-fn--inline .ic-gm-fn__title {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 0;
    border: 0;
}
.ic-gm-fn--inline > .ic-muted {
    grid-column: 1;
    grid-row: 2;
    margin: 0.2rem 0 0;
}
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline > .ic-form,
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline > .ic-muted + .ic-form {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin: 0;
    align-self: center;
}
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline .ic-form > .ic-btn {
    flex: 0 0 11.25rem;
    width: 11.25rem;
    min-width: 11.25rem;
    margin-left: 0;
    box-sizing: border-box;
    min-height: 2.75rem;
    padding: 0.7rem 1.35rem;
    font-size: 0.95rem;
}
@media (max-width: 860px) {
    .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline {
        grid-template-columns: 1fr;
    }
    .ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline > .ic-form,
    .ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline > .ic-muted + .ic-form {
        grid-column: 1;
        grid-row: auto;
        margin-top: 0.55rem;
    }
    .ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn.ic-gm-fn--inline .ic-form > .ic-btn {
        width: 100%;
    }
}
.ic-gm-guild-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
}
.ic-gm-guild-row .ic-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
    max-width: none;
    margin: 0;
}
.ic-char-gm__pane .ic-gm-tools .ic-gm-guild-row .ic-form + .ic-form {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.ic-gm-guild-row > .ic-btn {
    flex: 0 0 11.25rem;
    width: 11.25rem;
    box-sizing: border-box;
    min-height: 2.75rem;
    padding: 0.7rem 1.35rem;
    font-size: 0.95rem;
}
.ic-gm-fn__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.15rem;
}
.ic-gm-fn__btns > .ic-btn {
    flex: 1 1 10rem;
    margin: 0;
}
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn > .ic-form,
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn > .ic-muted + .ic-form,
.ic-char-gm__pane .ic-gm-tools--position > .ic-gm-fn > .ic-form,
.ic-char-gm__pane .ic-gm-tools--position > .ic-gm-fn > .ic-muted + .ic-form {
    margin-top: auto;
}
.ic-char-gm__pane .ic-gm-tools--position > .ic-gm-fn:not(.ic-gm-fn--span) .ic-form > .ic-btn {
    flex: 1 1 auto;
    width: 100%;
    margin-left: 0;
}
.ic-gm-tools--cards > .ic-gm-fn--split,
.ic-gm-tools--cards > .ic-gm-fn--flags {
    display: grid;
    align-items: end;
}
.ic-gm-tools--cards > .ic-gm-fn--split {
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem 0.85rem;
}
.ic-gm-fn--split .ic-gm-fn__title,
.ic-gm-fn--split > .ic-muted,
.ic-gm-fn--span.ic-gm-fn--flags .ic-gm-fn__title,
.ic-gm-fn--span.ic-gm-fn--flags > .ic-muted {
    grid-column: 1 / -1;
}
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn--split > .ic-form,
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn--split > .ic-form + .ic-form,
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn--span.ic-gm-fn--flags > .ic-form,
.ic-char-gm__pane .ic-gm-tools--cards > .ic-gm-fn--span.ic-gm-fn--flags > .ic-form + .ic-form {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}
.ic-gm-tools--cards > .ic-gm-fn--span.ic-gm-fn--flags {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1100px) {
    .ic-gm-tools--position { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ic-gm-tools--cards > .ic-gm-fn--span.ic-gm-fn--flags { grid-template-columns: 1fr 1fr; }
}
.ic-char-gm__pane .ic-gm-tools .ic-form > label {
    flex: 1 1 8rem;
    min-width: 0;
}
.ic-char-gm__pane .ic-gm-tools .ic-form > label:has(input[type="number"]) {
    flex: 0 1 7.5rem;
}
.ic-money__name {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.ic-money__name img {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 3px;
}
.ic-money-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.65rem;
    align-items: end;
}
.ic-money-row .ic-money {
    flex: 0 1 5.25rem;
    min-width: 0;
}
.ic-money-row .ic-money input {
    width: 100%;
}
.ic-char-gm__pane .ic-gm-tools .ic-form > .ic-money-row {
    flex: 1 1 auto;
    min-width: 0;
}
.ic-char-gm__pane .ic-gm-tools .ic-form > label.ic-money {
    flex: 0 1 5.25rem;
}
.ic-char-gm__pane .ic-gm-tools .ic-form > .ic-btn {
    flex: 0 0 11.25rem;
    width: 11.25rem;
    margin-left: auto;
    box-sizing: border-box;
    min-height: 2.75rem;
    padding: 0.7rem 1.35rem;
    font-size: 0.95rem;
}
.ic-char-gm__pane .ic-gm-tools .ic-form > .ic-btn + .ic-btn {
    margin-left: 0;
}
.ic-char-gm .ic-table .ic-form > .ic-btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 4.5rem;
    margin-left: 0;
}
@media (max-width: 860px) {
    .ic-char-gm__pane .ic-gm-tools .ic-form > label,
    .ic-char-gm__pane .ic-gm-tools .ic-form > label:has(input[type="number"]),
    .ic-char-gm__pane .ic-gm-tools .ic-form > .ic-money-row,
    .ic-char-gm__pane .ic-gm-tools .ic-form > .ic-btn {
        flex: 1 1 100%;
        width: 100%;
        margin-left: 0;
    }
    .ic-gm-fn--flags,
    .ic-gm-tools--cards > .ic-gm-fn--split,
    .ic-gm-tools--cards > .ic-gm-fn--span.ic-gm-fn--flags { grid-template-columns: 1fr; }
    .ic-gm-tools--cards,
    .ic-gm-tools--position { grid-template-columns: 1fr; }
    .ic-skill-grid { column-count: 1; }
    .ic-char-gm .ic-table .ic-form {
        flex-wrap: wrap;
        width: 100%;
        margin-left: 0;
    }
    .ic-char-gm .ic-table .ic-row-actions .ic-form {
        flex-wrap: nowrap;
        width: auto;
        margin: 0;
    }
    .ic-mod-row {
        grid-template-columns: minmax(0, 1fr) 1.3rem;
    }
    .ic-mod-actions { grid-column: 1 / -1; }
    .ic-mod-row > .ic-help { grid-row: 1; }
}
.ic-steps { display: grid; gap: 1.25rem; padding: 0; list-style: none; counter-reset: step; }
.ic-steps li {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr);
    column-gap: 0.75rem;
    align-items: start;
}
.ic-steps li::before {
    counter-increment: step;
    content: counter(step);
    grid-column: 1;
    grid-row: 1;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: #f8b700;
    color: rgba(24, 15, 1, 0.8);
    display: grid;
    place-items: center;
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 700;
}
.ic-steps li > * { grid-column: 2; }
.ic-steps h3 {
    margin: 0;
    min-height: 1.8rem;
    display: flex;
    align-items: center;
    font-size: 1.05rem;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}
.ic-muted { color: rgba(255, 255, 255, 0.72); font-size: 0.9rem; }
.ic-setup__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem 1rem;
    margin: 0 0 0.85rem;
}
.ic-setup__head h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.75rem;
    margin: 0;
    flex: 1 1 auto;
}
.ic-setup__count {
    color: var(--gold, #f8b700);
    font-size: 0.92rem;
    font-weight: 700;
}
.ic-setup__hide-form { margin: 0; }
.ic-setup__hide {
    appearance: none;
    border: 1px solid rgba(248, 183, 0, 0.45);
    border-radius: var(--control-radius, 8px);
    background: transparent;
    color: var(--gold, #f8b700);
    padding: 0.28rem 0.75rem;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
}
.ic-setup__hide:hover { color: #ffd24a; border-color: #ffd24a; }
.ic-setup__bar {
    height: 6px;
    margin: 0 0 1rem;
    overflow: hidden;
    background: #111218;
    border: 1px solid rgba(90, 93, 112, 0.7);
    border-radius: 2px;
}
.ic-setup__bar span {
    display: block;
    height: 100%;
    background: linear-gradient(180deg, #70d070, #20a028);
}
.ic-setup__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}
.ic-setup__list li {
    display: grid;
    grid-template-columns: 1.6rem minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
    padding: 0.55rem 0.15rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.35);
}
.ic-setup__list li:last-child { border-bottom: 0; }
.ic-setup__tick {
    display: grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    color: #0c1a10;
    font-size: 0.82rem;
    font-weight: 800;
    border: 2px solid rgba(90, 93, 112, 0.85);
    border-radius: 50%;
    background: transparent;
}
.ic-setup__list li.is-done .ic-setup__tick {
    color: #0c1a10;
    background: #3dcc6b;
    border-color: #3dcc6b;
}
.ic-setup__copy strong { color: #fff; }
.ic-setup__copy p { margin: 0.15rem 0 0; color: rgba(255, 255, 255, 0.72); font-size: 0.88rem; }
.ic-setup__list li.is-done .ic-setup__copy strong { color: #b7e6c4; }
.ic-setup__go {
    color: var(--gold, #f8b700);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.ic-setup__go:hover { color: #ffd24a; }
.ic-avatar--photo img { object-fit: cover; }
.ic-avatar-picker__gravatar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem 1rem;
    margin: 0 0 0.85rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-avatar-picker__gravatar .ic-muted { margin: 0; flex: 1 1 12rem; }
.ic-avatar-picker__gravatar .ic-btn.is-current {
    box-shadow: 0 0 0 1px #f8b700;
}
.ic-avatar-picker__gravatar .ic-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.ic-charpane__head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.ic-charpane__head img { width: 72px; height: 72px; object-fit: contain; }
.ic-panel > h1:has(.ic-avatar) { align-items: center; }
.ic-avatar {
    display: inline-flex;
    padding: 0;
    margin: 0;
    border: 2px solid rgba(248, 183, 0, 0.7);
    border-radius: 4px;
    background: #111218;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.45);
    cursor: pointer;
    text-decoration: none;
}
.ic-avatar img { display: block; width: 56px; height: 56px; object-fit: contain; }
.ic-charpane__head .ic-avatar img { width: 72px; height: 72px; }
.ic-avatar:hover { border-color: #f8b700; filter: brightness(1.08); }
.ic-avatar-picker {
    width: min(46rem, calc(100% - 1.5rem));
    max-height: min(82vh, 42rem);
    padding: 1.1rem 1.15rem 1.2rem;
    color: #f3eee2;
    background: rgba(18, 20, 26, 0.96);
    border: 1px solid rgba(232, 197, 71, 0.28);
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
}
.ic-avatar-picker::backdrop { background: rgba(6, 10, 18, 0.72); }
.ic-avatar-picker__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 var(--head-gap, 1.35rem);
    padding: 0 0 0.85rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-avatar-picker__bar h2 { margin: 0; font-size: 1.15rem; color: #fff; }
.ic-avatar-picker__close {
    font: 700 0.85rem inherit;
    color: #f8b700;
    background: none;
    border: 0;
    cursor: pointer;
}
.ic-avatar-picker__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0 0 0.75rem;
}
.ic-avatar-picker__cats button {
    padding: 0.28rem 0.65rem;
    font: 700 0.82rem inherit;
    color: #ebdec2;
    background: transparent;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    cursor: pointer;
}
.ic-avatar-picker__cats button.is-active {
    color: #f8b700;
    border-color: #f8b700;
}
.ic-avatar-picker__filter {
    width: 100%;
    margin: 0 0 0.75rem;
    padding: 0.45rem 0.65rem;
    font: inherit;
    color: #f3eee2;
    background: #111218;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
}
.ic-avatar-picker__filter:focus { outline: 0; border-color: #f8b700; }
.ic-avatar-picker__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
    gap: 0.4rem;
    max-height: 26rem;
    overflow: auto;
    padding: 0.15rem;
}
.ic-avatar-picker__icon {
    display: flex;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 3px;
    background: #111218;
    cursor: pointer;
}
.ic-avatar-picker__icon img { display: block; width: 48px; height: 48px; object-fit: contain; }
.ic-avatar-picker__icon:hover,
.ic-avatar-picker__icon.is-current { border-color: #f8b700; }
.ic-class-1, .ic-char-name.ic-class-1 { color: #c79c6e; }
.ic-class-2, .ic-char-name.ic-class-2 { color: #f58cba; }
.ic-class-3, .ic-char-name.ic-class-3 { color: #abd473; }
.ic-class-4, .ic-char-name.ic-class-4 { color: #fff569; }
.ic-class-5, .ic-char-name.ic-class-5 { color: #fff; }
.ic-class-6, .ic-char-name.ic-class-6 { color: #c41f3b; }
.ic-class-7, .ic-char-name.ic-class-7 { color: #0070de; }
.ic-class-8, .ic-char-name.ic-class-8 { color: #69ccf0; }
.ic-class-9, .ic-char-name.ic-class-9 { color: #9482c9; }
.ic-class-11, .ic-char-name.ic-class-11 { color: #ff7d0a; }
.ic-ach__points {
    margin: 0 0.55rem 0 auto;
    color: #ffd24a;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}
.ic-ach__tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.85rem;
}
.ic-ach__tabs { display: flex; gap: 0.4rem; }
.ic-ach__tabs button {
    font: inherit;
    font-weight: 700;
    color: var(--gold);
    background: rgba(10, 12, 20, 0.55);
    border: 1px solid rgba(201, 162, 39, 0.45);
    border-radius: var(--control-radius, 8px);
    padding: 0.3rem 0.75rem;
    cursor: pointer;
}
.ic-ach__tabs button.is-active {
    color: #181001;
    background: #f8b700;
    border-color: #f8b700;
}
.ic-ach__search {
    flex: 1 1 12rem;
    font: inherit;
    padding: 0.4rem 0.65rem;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    background: #111218;
    color: #f3eee2;
}
.ic-ach__search:focus { outline: 0; border-color: #f8b700; }
.ic-ach__body {
    display: grid;
    grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr);
    gap: 0.85rem;
    min-height: 22rem;
}
.ic-ach__cats {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.4rem;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 4px;
}
.ic-ach-cat {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    width: 100%;
    text-align: left;
    font: inherit;
    font-size: 0.88rem;
    color: #ebdec2;
    background: transparent;
    border: 0;
    border-radius: 2px;
    padding: 0.28rem 0.45rem;
    cursor: pointer;
}
.ic-ach-cat:hover { background: rgba(248, 183, 0, 0.12); color: #fff; }
.ic-ach-cat.is-active { background: rgba(248, 183, 0, 0.28); color: #ffd24a; font-weight: 700; }
.ic-ach-cat__twist { width: 0.8rem; color: #f8b700; }
.ic-ach__main {
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 4px;
    padding: 0.6rem 0.75rem;
}
.ic-ach-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
.ic-ach-item {
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 3px;
    background: rgba(17, 18, 24, 0.85);
}
.ic-ach-item.is-earned,
.ic-ach-item.is-stat { border-color: rgba(248, 183, 0, 0.55); }
.ic-ach-item__row {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    width: 100%;
    padding: 0.45rem 0.55rem;
    font: inherit;
    color: inherit;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}
.ic-ach-item__row img { border-radius: 3px; }
.ic-ach-item:not(.is-earned):not(.is-stat) img { filter: grayscale(1) brightness(0.7); }
.ic-ach-item__name { display: block; font-weight: 700; color: #9d9d9d; }
.ic-ach-item.is-earned .ic-ach-item__name,
.ic-ach-item.is-stat .ic-ach-item__name { color: #ffd24a; }
.ic-ach-item__desc { display: block; color: rgba(255, 255, 255, 0.72); font-size: 0.85rem; }
.ic-ach-item.is-stat .ic-ach-item__desc { color: #f3eee2; }
.ic-ach-item__pts { color: #ffd24a; font-weight: 700; min-width: 1.5rem; text-align: right; }
.ic-ach-item__detail { padding: 0 0.7rem 0.7rem 3.4rem; }
.ic-ach-item__reward { color: #1eff00; margin: 0 0 0.4rem; }
.ic-ach-crit { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; }
.ic-ach-crit li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
}
.ic-ach-crit li::before { content: "□ "; color: #5a5d70; }
.ic-ach-crit li.is-done::before { content: "■ "; color: #f8b700; }
.ic-ach-summary h3 { margin: 0 0 0.45rem; font-size: 1rem; }
.ic-ach-recent { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.15rem; }
.ic-ach-recent__row {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    margin: 0 -0.35rem;
    padding: 0.28rem 0.35rem;
    border-radius: 3px;
    cursor: help;
}
.ic-ach-recent__row:hover { background: rgba(248, 183, 0, 0.12); }
.ic-ach-recent__name { color: #ffd24a; font-weight: 700; }
.ic-ach-tip {
    position: fixed;
    z-index: 90;
    width: min(38rem, calc(100vw - 1.5rem));
    max-width: calc(100vw - 1.5rem);
    max-height: none;
    overflow: visible;
    padding: 0.7rem 0.85rem;
    background: rgba(10, 12, 20, 0.97);
    border: 1px solid rgba(248, 183, 0, 0.55);
    border-radius: 6px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: none;
    transition: opacity 0.18s ease, visibility 0s linear 0.18s;
}
.ic-ach-tip.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity 0.18s ease, visibility 0s linear 0s;
}
.ic-ach-tip[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
    .ic-ach-tip {
        transition: none;
        transform: none;
    }
}
.ic-ach-tip__head {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
    margin-bottom: 0.45rem;
}
.ic-ach-tip__head img { border-radius: 3px; }
.ic-ach-tip__name { margin: 0; color: #ffd24a; font-weight: 800; line-height: 1.25; }
.ic-ach-tip__pts { margin: 0.15rem 0 0; color: #fff; font-size: 0.82rem; font-weight: 700; }
.ic-ach-tip__desc { margin: 0 0 0.4rem; color: #f3eee2; font-size: 0.88rem; line-height: 1.4; }
.ic-ach-tip__reward { margin: 0 0 0.4rem; color: #1eff00; font-size: 0.85rem; }
.ic-ach-tip__crit { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.18rem 1rem; }
.ic-ach-tip__crit:has(> li:nth-child(7)) { grid-template-columns: 1fr 1fr; }
.ic-ach-tip__crit li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.82rem;
    color: #ebdec2;
}
.ic-ach-tip__crit li::before { content: "□ "; color: #5a5d70; }
.ic-ach-tip__crit li.is-done::before { content: "■ "; color: #f8b700; }
.ic-ach-tip__earned { margin: 0.5rem 0 0; color: #ffd24a; font-size: 0.82rem; font-weight: 700; }
.ic-ach-bar { margin-bottom: 0.65rem; }
.ic-ach-bar__label { display: flex; justify-content: space-between; gap: 0.75rem; font-size: 0.88rem; margin-bottom: 0.2rem; }
.ic-ach-bar__track {
    height: 0.55rem;
    background: #111218;
    border: 1px solid #5a5d70;
    border-radius: 2px;
    overflow: hidden;
}
.ic-ach-bar__track span { display: block; height: 100%; background: linear-gradient(180deg, #f8b700, #c98900); }
@media (max-width: 860px) {
    .ic-ach__body { grid-template-columns: 1fr; }
}
.ic-guild-switch { max-width: 22rem; margin-bottom: 1rem; }

.ic-realm-raw {
    margin: 1.1rem 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.88rem;
}
.ic-realm-raw summary {
    cursor: pointer;
    color: var(--gold, #f8b700);
    font-weight: 700;
}
.ic-realm-raw .ic-gm-output { margin: 0.65rem 0 0; max-height: 12rem; }
.ic-gm-output {
    margin: 0 0 1rem;
    padding: 0.7rem 0.85rem;
    max-height: 18rem;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #ebdec2;
    background: #111218;
    border: 1px solid rgba(90, 93, 112, 0.45);
}
.ic-gm-search {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
    max-width: none;
    margin: 0 0 1.2rem;
}
.ic-gm-search.ic-gm-search--nav {
    align-items: center;
    flex-wrap: nowrap;
    margin: 0 0 0 auto;
    flex: 1 1 18rem;
    max-width: 26rem;
    min-width: 12rem;
    position: relative;
    z-index: 2;
}
.ic-gm-search.ic-gm-search--nav > label:not(.ic-gm-per) {
    flex: 1 1 auto;
    max-width: none;
    margin: 0;
}
.ic-gm-search.ic-gm-search--nav input[type="search"] {
    min-height: 2.2rem;
}
.ic-gm-search.ic-gm-search--nav .ic-btn {
    min-height: 2.2rem;
    height: 2.2rem;
    padding: 0 0.95rem;
}
.ic-gm-search > label:not(.ic-gm-per) {
    flex: 1 1 16rem;
    max-width: 28rem;
    margin: 0;
}
.ic-gm-search input[type="search"],
.ic-gm-search input[type="text"] {
    min-height: 2.6rem;
    width: 100%;
}
.ic-gm-search .ic-btn,
.ic-gm-search a.ic-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 2.6rem;
    height: 2.6rem;
    padding: 0 1.15rem;
    box-sizing: border-box;
    line-height: 1;
    flex: 0 0 auto;
}
.ic-panel > .ic-panel-title:first-child {
    display: flex;
    align-items: center;
    gap: 0.65rem 0.85rem;
    margin: 0 0 var(--head-gap, 1.35rem);
    padding: 0 0 0.85rem;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-panel > .ic-panel-title:first-child h2 {
    margin: 0;
    padding: 0;
    border: 0;
    flex: 0 0 auto;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}
.ic-panel > .ic-panel-title:first-child + * { margin-top: 0; }
.ic-panel-title .ic-gm-per-form {
    display: flex;
    align-items: center;
    margin: 0 0 0 auto;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
}
.ic-panel-title .ic-help { margin-left: auto; flex: 0 0 auto; }
.ic-panel-title:has(.ic-gm-per-form) .ic-help { margin-left: 0; }
.ic-panel-title h2 { min-width: 0; }
.ic-gm-per {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
    margin-left: auto;
    white-space: nowrap;
    font-weight: 600;
    color: #ebdec2;
}
.ic-panel-title .ic-gm-per {
    margin-left: 0;
    font-size: 0.82rem;
}
.ic-gm-per select {
    width: auto;
    min-width: 3.6rem;
    min-height: 2rem;
    padding: 0.25rem 0.4rem;
}
.ic-panel.ic-gm-result {
    border-color: rgba(248, 183, 0, 0.9);
    background: linear-gradient(180deg, rgba(248, 183, 0, 0.28) 0%, rgba(40, 28, 8, 0.72) 100%);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 220, 120, 0.35);
}
.ic-panel.ic-gm-result > h2:first-child {
    color: #ffd24a;
    border-bottom-color: rgba(248, 183, 0, 0.55);
}
.ic-gm-result__summary {
    margin: 0 0 0.75rem;
    color: #fff;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.4;
}
.ic-gm-result .ic-muted { color: rgba(255, 210, 74, 0.8); }
.ic-gm-result .ic-gm-output {
    margin-bottom: 0;
    max-height: 24rem;
    color: #ffd24a;
    background: rgba(6, 10, 18, 0.55);
    border-color: rgba(248, 183, 0, 0.4);
}
.ic-gm-example { margin: 0 0 0.85rem; }
.ic-gm-example__chat,
.ic-gm-example__screen,
.ic-gm-example__box {
    margin: 0.35rem 0 0;
    padding: 0.55rem 0.8rem;
}
.ic-gm-example__chat {
    background: #111218;
    border-left: 3px solid #f8b700;
    color: #ffd24a;
}
.ic-gm-example__chat span { color: #f8b700; font-weight: 800; margin-right: 0.35rem; }
.ic-gm-example__screen {
    text-align: center;
    color: #ffd24a;
    font-weight: 800;
    letter-spacing: 0.03em;
    background: rgba(248, 183, 0, 0.12);
    border: 1px solid rgba(248, 183, 0, 0.4);
}
.ic-gm-example__box {
    text-align: center;
    background: #1a1c28;
    border: 1px solid #5a5d70;
    color: #f3eee2;
}
.ic-guild-toolbar h2 { margin: 0; align-self: flex-end; padding-bottom: 0.15rem; }
.ic-pick { position: relative; display: block; overflow: visible; }
.ic-pick__input {
    width: 100%;
    padding-right: 2.1rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23f8b700' d='M1 1l5 5 5-5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
    background-size: 0.7rem 0.45rem;
}
.ic-gm-filter {
    padding-right: 2.35rem;
    appearance: none;
    -webkit-appearance: none;
}
.ic-gm-filter::-webkit-search-decoration,
.ic-gm-filter::-webkit-search-cancel-button,
.ic-gm-filter::-webkit-search-results-button {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}
.ic-pick.is-filled .ic-pick__input,
.ic-pick.is-filled .ic-gm-filter,
.ic-pick:has(.ic-pick__clear:not([hidden])) .ic-pick__input,
.ic-pick:has(.ic-pick__clear:not([hidden])) .ic-gm-filter {
    background-image: none;
}
.ic-pick__clear {
    position: absolute;
    right: 0.4rem;
    top: 50%;
    z-index: 6;
    display: block;
    width: 1.35rem;
    height: 1.35rem;
    margin: 0;
    padding: 0;
    overflow: hidden;
    transform: translateY(-50%);
    border: 2px solid rgba(248, 183, 0, 0.85);
    border-radius: 50%;
    background: rgba(18, 20, 26, 0.95);
    color: #f8b700;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    pointer-events: auto;
}
.ic-pick__clear::before,
.ic-pick__clear::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 2px;
    margin: -1px 0 0 -4px;
    background: currentColor;
    border-radius: 1px;
}
.ic-pick__clear::before { transform: rotate(45deg); }
.ic-pick__clear::after { transform: rotate(-45deg); }
.ic-pick__clear[hidden] { display: none !important; }
.ic-pick__clear:hover {
    background: rgba(248, 183, 0, 0.22);
    color: #ffd24a;
    border-color: #ffd24a;
}
.ic-pick.is-open .ic-pick__input { border-color: #f8b700; }
.ic-pick__menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 0.35rem);
    z-index: 40;
    max-height: 17rem;
    overflow: auto;
    padding: 0.35rem 0;
    background: rgba(8, 12, 20, 0.94);
    border: 1px solid rgba(232, 197, 71, 0.18);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.ic-pick__opt {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem 0.7rem;
    width: 100%;
    margin: 0;
    padding: 0.48rem 0.9rem;
    border: 0;
    background: none;
    color: rgba(255, 255, 255, 0.86);
    text-align: left;
    font: inherit;
    cursor: pointer;
}
.ic-pick__opt:has(.ic-pick__name) {
    grid-template-columns: minmax(0, 1fr);
}
.ic-pick__opt:has(> .ic-type-icon):has(.ic-pick__name) {
    grid-template-columns: auto minmax(0, 1fr);
}
.ic-pick__opt:hover,
.ic-pick__opt.is-on {
    background: rgba(248, 183, 0, 0.1);
    color: #fff;
}
.ic-pick__opt .ic-type-icon,
.ic-pick__opt .ic-faction-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}
.ic-pick__who { min-width: 0; }
.ic-pick__who .ic-char-name {
    display: inline;
    font-weight: 700;
}
.ic-pick__name { font-weight: 700; }
.ic-pick__name.q0 { color: #9d9d9d; }
.ic-pick__name.q1 { color: #fff; }
.ic-pick__name.q2 { color: #1eff00; }
.ic-pick__name.q3 { color: #0070dd; }
.ic-pick__name.q4 { color: #a335ee; }
.ic-pick__name.q5 { color: #ff8000; }
.ic-pick__name.q6,
.ic-pick__name.q7 { color: #e6cc80; }
.ic-pick__meta {
    display: block;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.78rem;
    font-weight: 600;
}
.ic-pick__flags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.25rem 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.45);
}
.ic-pick__flags.is-on { color: #3dcc6b; }
.ic-pick__empty {
    display: block;
    padding: 0.65rem 0.9rem;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.88rem;
}
.ic-account .ic-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem 1rem;
    margin: 0.85rem 0 0;
}
.ic-account .ic-pager__count {
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.88rem;
}
.ic-account .ic-pager__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.55rem;
}
.ic-account .ic-pager a,
.ic-account .ic-pager [aria-current="page"] {
    color: var(--gold, #f8b700);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.88rem;
    padding: 0.1rem 0.15rem 0.2rem;
    border-bottom: 2px solid transparent;
}
.ic-account .ic-pager a:hover { color: #ffd24a; }
.ic-account .ic-pager [aria-current="page"] {
    color: #fff;
    border-bottom-color: var(--gold, #f8b700);
}
.ic-account .ic-pager__gap {
    color: rgba(255, 255, 255, 0.42);
    font-weight: 700;
}
.ic-guild-grid {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}
.ic-guild-side-form {
    margin-top: 1.25rem;
    max-width: 22rem;
    gap: 0.4rem;
}
.ic-guild-side-form__label {
    margin: 0 0 0.15rem;
    color: #ebdec2;
    font-weight: 600;
}
.ic-guild-side-form .ic-check .ic-muted {
    font-weight: 500;
    font-size: 0.88rem;
}
.ic-guild-side-form .ic-btn {
    margin-top: 0.35rem;
    width: auto;
    justify-self: start;
}
.ic-guild-copy { display: grid; gap: 1.15rem; }
.ic-guild-edit__title {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
    cursor: pointer;
}
.ic-guild-edit__open {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0.4rem 0.55rem;
    text-align: left;
    font: inherit;
    line-height: 1.45;
    color: #f3eee2;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--control-radius, 8px);
    cursor: pointer;
}
.ic-guild-edit__open[hidden],
.ic-guild-edit__form[hidden] {
    display: none;
}
.ic-guild-edit__open.is-empty { color: rgba(255, 255, 255, 0.52); }
.ic-guild-edit__open:hover,
.ic-guild-edit__title:hover {
    color: #ffd24a;
}
.ic-guild-edit__open:hover {
    border-color: rgba(248, 183, 0, 0.45);
    background: rgba(248, 183, 0, 0.08);
}
.ic-guild-edit.is-editing .ic-guild-edit__open { display: none; }
.ic-guild-edit:not(.is-editing) .ic-guild-edit__form { display: none; }
.ic-guild-edit__form .ic-form { margin: 0; }
.ic-guild-edit__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.ic-guild-form { max-width: none; }
.ic-guild-form .ic-btn {
    width: auto;
    justify-self: start;
}
.ic-guild-bank-money {
    margin: 0 0 1rem;
}
.ic-guild-bank-money .ic-btn {
    flex: 0 0 auto;
    min-height: 2.6rem;
}
.ic-tabard .ic-guild-form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem 1.25rem;
    align-items: start;
    max-width: none;
}
.ic-tabard__stage {
    width: 11.5rem;
    padding: 0.45rem;
    background: rgba(8, 12, 20, 0.55);
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 4px;
}
.ic-tabard__canvas {
    display: block;
    width: 100%;
    height: auto;
}
.ic-tabard__controls { min-width: 0; display: grid; gap: 0.75rem; }
.ic-tabard__field { min-width: 0; }
.ic-tabard__label {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}
.ic-tabard__spin {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.ic-tabard__nudge {
    width: 1.7rem;
    height: 1.7rem;
    padding: 0;
    color: var(--gold, #f8b700);
    background: #111218;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    font: inherit;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
}
.ic-tabard__nudge:hover { border-color: #f8b700; }
.ic-tabard__spin-val {
    min-width: 2.2rem;
    text-align: center;
    font-weight: 700;
    color: #fff;
}
.ic-tabard__emblem-now {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    background: #111218;
    background-size: 1024px 1024px;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    cursor: pointer;
}
.ic-tabard__emblem-now:hover,
.ic-tabard__emblem-now.is-open { border-color: #f8b700; }
.ic-tabard__swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
}
.ic-tabard__swatch {
    width: 1.15rem;
    height: 1.15rem;
    padding: 0;
    border: 1px solid rgba(0, 0, 0, 0.45);
    border-radius: 2px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
    cursor: pointer;
}
.ic-tabard__swatch:hover { transform: scale(1.12); }
.ic-tabard__swatch.is-on {
    box-shadow: 0 0 0 2px #f8b700;
    border-color: #f8b700;
}
.ic-tabard__icons {
    display: grid;
    grid-template-columns: repeat(auto-fill, 2rem);
    gap: 0.2rem;
    max-height: 12rem;
    overflow: auto;
    margin-top: 0.45rem;
    padding: 0.35rem;
    background: rgba(8, 12, 20, 0.55);
    border: 1px solid rgba(90, 93, 112, 0.45);
}
.ic-tabard__icon {
    width: 2rem;
    height: 2rem;
    padding: 0;
    background-color: #111218;
    background-size: 1024px 1024px;
    border: 1px solid transparent;
    cursor: pointer;
}
.ic-tabard__icon:hover,
.ic-tabard__icon.is-on { border-color: #f8b700; }
.ic-tabard .ic-btn { margin-top: 0.35rem; }
@media (max-width: 860px) {
    .ic-tabard .ic-guild-form { grid-template-columns: 1fr; }
}
.ic-guild-rank > form:first-of-type {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
    max-width: 32rem;
}
.ic-guild-rank > form:first-of-type label {
    flex: 1 1 14rem;
}
.ic-guild-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.85rem 1.25rem;
    margin: 0 0 1rem;
}
.ic-guild-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 1.1rem;
}
.ic-guild-toolbar .ic-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem 0.65rem;
    max-width: none;
    margin: 0;
}
.ic-guild-toolbar .ic-form label { margin: 0; }
.ic-guild-toolbar .ic-form input[type="text"] { width: 12rem; }
.ic-guild-toolbar .ic-btn { width: auto; }
.ic-guild-toolbar__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.85rem;
    margin: 0 0 0.15rem;
}
.ic-guild-toolbar__count {
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.9rem;
}
.ic-guild-filter {
    font: inherit;
    width: 13rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    background: #111218;
    color: #f3eee2;
}
.ic-guild-filter:focus {
    outline: 0;
    border-color: #f8b700;
}
.ic-guild-roster { overflow-x: auto; }
.ic-guild-table .ic-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    max-width: none;
    margin: 0;
}
.ic-guild-table .ic-form input[type="text"],
.ic-guild-table .ic-form select {
    min-width: 0;
    padding: 0.32rem 0.45rem;
    font-size: 0.88rem;
}
.ic-guild-table button.ic-chip {
    appearance: none;
    background: none;
    border: 0;
    box-shadow: none;
    padding: 0 0.1rem;
    color: var(--gold, #f8b700);
    cursor: pointer;
}
.ic-guild-table--roster {
    min-width: 54rem;
}
.ic-guild-table--roster th {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.52);
    white-space: nowrap;
}
.ic-guild-table--roster td {
    vertical-align: middle;
    padding: 0.62rem 0.7rem;
}
.ic-guild-table--roster tbody tr[data-name]:hover td {
    background: rgba(248, 183, 0, 0.06);
}
.ic-guild-table--roster tr.is-online td:nth-child(2) {
    box-shadow: inset 3px 0 0 #3dcc6b;
}
.ic-guild-table--roster .ic-guild-group th,
.ic-guild-table--roster .ic-guild-group td {
    padding: 0.7rem 0.7rem 0.4rem;
    background: transparent;
    border-bottom-color: rgba(248, 183, 0, 0.28);
    vertical-align: middle;
}
.ic-guild-table--roster .ic-guild-group .ic-guild-group__title {
    color: var(--gold, #f8b700);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}
.ic-guild-table--roster .ic-guild-group {
    cursor: pointer;
}
.ic-guild-table--roster .ic-guild-group td {
    color: #f3eee2;
    font-size: 0.88rem;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}
.ic-guild-table--roster .ic-guild-group:first-child th,
.ic-guild-table--roster .ic-guild-group:first-child td { padding-top: 0.2rem; }
.ic-guild-group__count {
    color: rgba(255, 255, 255, 0.48);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    margin-left: 0.4rem;
}
.ic-guild-toon { display: grid; gap: 0.1rem; }
.ic-guild-toon .ic-char-name { font-weight: 700; }
.ic-guild-toon__meta {
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.8rem;
}
.ic-guild-lvl {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #fff;
    text-align: right;
    white-space: nowrap;
}
.ic-guild-table--roster thead th.ic-guild-check,
.ic-guild-table--roster tbody th.ic-guild-check,
.ic-guild-table--roster tbody td.ic-guild-check {
    width: 2.15rem;
    min-width: 2.15rem;
    padding-left: 0.5rem;
    padding-right: 0.15rem;
    text-align: center;
    vertical-align: middle;
}
.ic-guild-table--roster .ic-guild-check input {
    display: block;
    width: 0.95rem;
    height: 0.95rem;
    margin: 0 auto;
    accent-color: var(--gold, #f8b700);
    cursor: pointer;
}
.ic-guild-table--roster th:nth-child(3) { text-align: right; }
.ic-guild-table--roster .ic-form select { min-width: 6.75rem; width: 100%; max-width: 9.5rem; }
.ic-guild-table--roster .ic-guild-group .ic-form {
    display: none;
}
.ic-guild-table--roster .ic-guild-group.is-multi .ic-form {
    display: flex;
}
html.ic-guild-bulk-focus .ic-page::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 22;
    background: rgba(6, 10, 18, 0.62);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    pointer-events: none;
}
html.ic-guild-bulk-focus .ic-main,
html.ic-guild-bulk-focus .ic-account,
html.ic-guild-bulk-focus .ic-gm-tab,
html.ic-guild-bulk-focus .ic-guild-tab,
html.ic-guild-bulk-focus .ic-guild-tab > .ic-panel,
html.ic-guild-bulk-focus .ic-guild-pane[data-guild-view="members"],
html.ic-guild-bulk-focus .ic-guild-roster {
    position: relative;
    z-index: 23;
}
html.ic-guild-bulk-focus .ic-account > .ic-panel,
html.ic-guild-bulk-focus .ic-guild-tab > .ic-panel > :not(.ic-guild-pane),
html.ic-guild-bulk-focus .ic-guild-pane[data-guild-view="members"] > :not(.ic-guild-roster),
html.ic-guild-bulk-focus .ic-guild-table--roster thead,
html.ic-guild-bulk-focus .ic-guild-table--roster tbody tr:not(.is-bulk-focus) > * {
    filter: blur(3px);
    opacity: 0.38;
    pointer-events: none;
    transition: filter 0.18s ease, opacity 0.18s ease;
}
html.ic-guild-bulk-focus .ic-guild-table--roster tr.is-bulk-focus > * {
    background: rgba(18, 20, 26, 0.96);
}
html.ic-guild-bulk-focus .ic-guild-table--roster tr.is-bulk-focus.is-online td:nth-child(2) {
    box-shadow: inset 3px 0 0 #3dcc6b;
}
@media (prefers-reduced-motion: reduce) {
    html.ic-guild-bulk-focus .ic-page::after {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(6, 10, 18, 0.76);
    }
    html.ic-guild-bulk-focus .ic-account > .ic-panel,
    html.ic-guild-bulk-focus .ic-guild-tab > .ic-panel > :not(.ic-guild-pane),
    html.ic-guild-bulk-focus .ic-guild-pane[data-guild-view="members"] > :not(.ic-guild-roster),
    html.ic-guild-bulk-focus .ic-guild-table--roster thead,
    html.ic-guild-bulk-focus .ic-guild-table--roster tbody tr:not(.is-bulk-focus) > * {
        filter: none;
    }
}
.ic-guild-table--roster .ic-guild-group .ic-form select {
    min-width: 6.25rem;
    padding: 0.22rem 0.4rem;
    font-size: 0.8rem;
}
.ic-guild-table--roster .ic-guild-group .ic-guild-note {
    min-width: 6.5rem;
    padding: 0.22rem 0.4rem;
    font-size: 0.8rem;
}
.ic-guild-note { width: 100%; min-width: 8rem; }
.ic-guild-rank-label { color: var(--gold, #f8b700); font-weight: 700; }
.ic-guild-status { white-space: nowrap; font-size: 0.88rem; }
.ic-guild-status.is-on { color: #3dcc6b; font-weight: 700; }
.ic-guild-status.is-off { color: rgba(255, 255, 255, 0.48); }
.ic-guild-kick {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    color: rgba(232, 120, 120, 0.78);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
}
.ic-guild-kick:hover { color: #ff7a7a; }

.ic-guild-inline { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.25rem; }
.ic-guild-rank {
    padding: 0 0 1.25rem;
    margin: 0 0 1.25rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-guild-rights {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 0.35rem 1rem;
    margin: 0.35rem 0 0.85rem;
}
.ic-guild-bank { columns: 2; gap: 1rem; padding-left: 1.1rem; }
.ic-guild-danger { margin-top: 1.5rem; }
.ic-btn--small {
    padding: 0.25rem 0.55rem;
    font-size: 0.85rem;
    width: auto;
}
@media (max-width: 860px) {
    .ic-guild-grid { grid-template-columns: 1fr; }
    .ic-guild-bank { columns: 1; }
    .ic-settings {
        grid-template-columns: 1fr;
    }
    .ic-settings .ic-form,
    .ic-form {
        max-width: none;
    }
    .ic-form input[type="text"],
    .ic-form input[type="email"],
    .ic-form input[type="password"],
    .ic-form input[type="number"],
    .ic-form input[type="search"],
    .ic-form textarea,
    .ic-form select {
        width: 100%;
        max-width: 100%;
    }
    .ic-table input,
    .ic-table select,
    .ic-table textarea {
        width: auto;
        max-width: 100%;
    }
    .ic-account__head h1 {
        font-size: 1.15rem;
        overflow-wrap: anywhere;
    }
    .ic-tabs,
    .ic-guild-views,
    .ic-dash-tabs,
    .ic-char-gm__tabs {
        gap: 0.4rem 0.85rem;
    }
    .ic-gm-search--nav {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
        margin-left: 0;
    }
    .ic-tabs > .ic-glider,
    .ic-guild-views > .ic-glider,
    .ic-dash-tabs > .ic-glider { display: none; }
    .ic-tabs.has-glider a.is-active,
    .ic-guild-views.has-glider a.is-active,
    .ic-dash-tabs.has-glider a.is-active {
        border-bottom-color: var(--gold, #f8b700);
    }
    .ic-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .ic-guild-switch { max-width: 100%; }
    .ic-guild-switch__drop { max-width: calc(100vw - 2.5rem); }
    .ic-toon-switch__drop {
        min-width: 0;
        width: max-content;
        max-width: calc(100vw - 2.5rem);
    }
    .ic-guild-toolbar .ic-form { width: 100%; }
    .ic-guild-toolbar .ic-form input[type="text"],
    .ic-guild-filter { width: 100%; }
    .ic-guild-rights { grid-template-columns: 1fr; }
    .ic-paperdoll {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
    }
    .ic-paperdoll__body {
        min-height: min(33rem, 70vh);
        height: min(33rem, 70vh);
    }
}

.ic-census {
    display: grid;
    gap: 1.1rem;
}
.ic-census-insights {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 1.25rem;
}
.ic-census-insights li {
    position: relative;
    padding-left: 0.95rem;
    color: #ebdec2;
    line-height: 1.4;
}
.ic-census-insights li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--gold, #f8b700);
}
.ic-census-charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem 1.5rem;
}
.ic-pie-card__body {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 0.85rem 1.1rem;
    align-items: center;
}
.ic-pie {
    width: 8.5rem;
    height: 8.5rem;
    border-radius: 50%;
    border: 1px solid rgba(90, 93, 112, 0.45);
    box-shadow: inset 0 0 0 6px #0a0c12, 0 8px 20px rgba(0, 0, 0, 0.35);
}
.ic-pie-legend {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.22rem;
}
.ic-pie-legend li {
    display: grid;
    grid-template-columns: 0.7rem 18px minmax(0, 1fr) 3.4rem 3.2rem;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    font-size: 0.84rem;
}
.ic-pie-legend img {
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 3px;
    border: 1px solid rgba(90, 93, 112, 0.5);
}
.ic-pie-swatch {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, 0.35);
}
.ic-pie-legend__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    font-weight: 600;
}
.ic-pie-legend__pct {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: var(--gold, #f8b700);
    font-weight: 700;
}
.ic-pie-legend .ic-muted {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.ic-census-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}
.ic-census-bars {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.4rem;
}
.ic-census-bars li {
    display: grid;
    grid-template-columns: 9.5rem minmax(0, 1fr) 3.5rem;
    align-items: center;
    gap: 0.55rem;
}
.ic-census-bars__label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 600;
}
.ic-census-bars__label img {
    width: 18px;
    height: 18px;
    border-radius: 3px;
    border: 1px solid rgba(90, 93, 112, 0.5);
    flex-shrink: 0;
}
.ic-census-bars__track {
    height: 0.7rem;
    background: #0a0c12;
    border: 1px solid #3d4250;
    border-radius: 2px;
    overflow: hidden;
}
.ic-census-bars__track span {
    display: block;
    height: 100%;
    background: linear-gradient(180deg, #f8b700, #c98900);
}
.ic-census-bars__n {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-size: 0.84rem;
    color: rgba(243, 238, 226, 0.78);
}
.ic-census-bars + .ic-subhead {
    margin-top: 1.25rem;
}
.ic-census-list {
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.28rem;
}
.ic-census-list li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
}
.ic-census .ic-stats p.ic-muted {
    margin: 0.2rem 0 0;
    font-size: 0.78rem;
}
@media (max-width: 1100px) {
    .ic-census-charts,
    .ic-census-insights,
    .ic-census-split { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    .ic-pie-card__body { grid-template-columns: 1fr; justify-items: center; }
    .ic-pie-legend { width: 100%; }
    .ic-census-bars li { grid-template-columns: 6.5rem minmax(0, 1fr) 3rem; }
}

.ic-place-hits {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
}
.ic-place__meta { margin: 0.15rem 0 0.85rem; }
.ic-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.4rem;
    margin: -0.55rem 0 0.95rem;
    font-size: 0.92rem;
    color: var(--muted, #b8b3a6);
}
.ic-crumbs a {
    color: #f8b700;
    text-decoration: none;
}
.ic-crumbs a:hover { text-decoration: underline; }
.ic-crumbs__sep { opacity: 0.55; }
.ic-crumbs__here { color: var(--beige, #ebdec2); }
.ic-crumbs__meta { color: var(--muted, #b8b3a6); }
.ic-map-tip {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: fixed;
    z-index: 100000;
    max-width: 18rem;
    padding: 0.45rem 0.7rem 0.45rem 0.45rem;
    color: #f3eee2;
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: none;
    background: rgba(12, 14, 20, 0.97);
    border: 1px solid rgba(248, 183, 0, 0.45);
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
    pointer-events: none;
}
.ic-map-tip[hidden] { display: none; }
.ic-map-tip__icon {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 3px;
    object-fit: cover;
}
.ic-map-tip__body { min-width: 0; }
.ic-map-tip__name {
    color: #f8b700;
    font-weight: 600;
}
.ic-map-tip__players {
    color: var(--muted, #b8b3a6);
    font-size: 0.78rem;
    font-weight: 500;
}
.ic-place__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.1rem;
    align-items: start;
}
.ic-place__layout.has-focus {
    grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 22rem);
}
.ic-place__players {
    grid-column: 1 / -1;
    min-width: 0;
    overflow-x: auto;
}
.ic-place__toggles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.85rem;
    margin: 0 0 0.55rem;
    font-size: 0.82rem;
    color: var(--beige, #ebdec2);
}
.ic-place__toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    cursor: pointer;
}
.ic-place__stage {
    position: relative;
    border: 1px solid #c98900;
    background: #070b12;
    overflow: hidden;
    aspect-ratio: 1002 / 668;
}
.ic-place__art {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
}
.ic-place__art--empty {
    min-height: 16rem;
    background:
        linear-gradient(180deg, rgba(248, 183, 0, 0.08), transparent 40%),
        #10141a;
}
.ic-place-pin {
    display: block;
    position: absolute;
    width: 16px;
    height: 16px;
    margin: 0;
    border-radius: 50%;
    border: 2px solid #fff3b0;
    background: #f8b700;
    box-shadow: 0 0 0 1px #000, 0 1px 4px rgba(0, 0, 0, 0.7);
    transform: translate(-50%, -50%);
    z-index: 6;
    padding: 0;
    cursor: pointer;
    box-sizing: border-box;
}
.ic-place-pin--player {
    background: #9ad;
    border-color: #fff;
    z-index: 40;
}
.ic-place-pin--alliance { background: #4a90d9; border-color: #fff; }
.ic-place-pin--horde { background: #c44; border-color: #fff; }
.ic-place-pin--player.is-on {
    box-shadow: 0 0 0 1px #000, 0 0 0 3px #7cfc00, 0 1px 5px #000;
}
.ic-place-pin.is-focus,
.ic-place-pin--player.is-focus {
    width: 16px;
    height: 16px;
    background: #f8b700;
    border-color: #fff;
    z-index: 41;
}
.ic-place-pin--fp {
    background: #7ec8e3;
    border-color: #d8f4ff;
    border-radius: 2px;
}
.ic-place-pin--inn { background: #e0a400; }
.ic-place-pin--quest {
    background: #f8b700;
    border-radius: 1px;
    transform: translate(-50%, -50%) rotate(45deg);
}
.ic-place-pin--mail { background: #c9b896; border-color: #eee; }
.ic-place-pin--icon,
.ic-place-pin--fp.ic-place-pin--icon,
.ic-place-pin--inn.ic-place-pin--icon,
.ic-place-pin--mail.ic-place-pin--icon {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.ic-place__status .ic-table { font-size: 0.88rem; }
.ic-place__status tr.is-focus td {
    background: rgba(248, 183, 0, 0.12);
}
@media (max-width: 1100px) {
    .ic-place__layout,
    .ic-place__layout.has-focus { grid-template-columns: 1fr; }
    .ic-place__players { grid-column: auto; }
}

.ic-zones__continents {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin: 0 0 0.85rem;
}
.ic-zones__continents a {
    padding: 0.2rem 0.55rem;
    border: 1px solid rgba(201, 137, 0, 0.35);
    color: var(--beige, #ebdec2);
    text-decoration: none;
}
.ic-zones__continents a.is-active,
.ic-zones__continents a:hover {
    border-color: #f8b700;
    color: #f8b700;
}
.ic-zones__stage {
    position: relative;
    border: 1px solid #c98900;
    background: #070b12;
    overflow: hidden;
    aspect-ratio: 1002 / 668;
}
.ic-zones__art {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
}
.ic-zones__hit {
    position: absolute;
    display: block;
    z-index: 3;
    box-sizing: border-box;
    background: transparent;
}
.ic-zones__hit:hover,
.ic-zones__hit:focus {
    background: transparent;
    box-shadow: none;
    outline: none;
}
.ic-zones__label {
    position: absolute;
    left: 50%;
    top: 0.55rem;
    transform: translateX(-50%);
    z-index: 4;
    pointer-events: none;
    padding: 0.15rem 0.7rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.05rem;
    letter-spacing: 0.06em;
    color: #f8b700;
    text-shadow: 0 0 4px #000, 0 1px 2px #000;
}
.ic-zones__hint { margin: 0.55rem 0 0; }

.ic-ah-search {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
    align-items: end;
    gap: 0.55rem 0.7rem;
    margin: 0 0 1.1rem;
}
.ic-ah-search > label:not(.ic-gm-per) {
    flex: none;
    max-width: none;
    margin: 0;
}
.ic-ah-search input[type="search"],
.ic-ah-search input[type="number"],
.ic-ah-search input[type="text"],
.ic-ah-search select {
    min-height: 2.2rem;
    width: 100%;
}
.ic-ah-search .ic-btn {
    min-height: 2.2rem;
    height: 2.2rem;
    justify-self: start;
}
.ic-ah-qualities {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.55rem;
    margin: 0.85rem 0 0;
    padding: 0;
    list-style: none;
}
.ic-ah-quality {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.18rem 0.55rem;
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 999px;
    color: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}
.ic-ah-quality span {
    color: rgba(243, 238, 226, 0.62);
    font-weight: 600;
}
.ic-ah-quality.is-on,
.ic-ah-quality:hover {
    border-color: var(--gold, #f8b700);
}
.ic-ah-quality.q0 { color: #9d9d9d; }
.ic-ah-quality.q1 { color: #fff; }
.ic-ah-quality.q2 { color: #1eff00; }
.ic-ah-quality.q3 { color: #0070dd; }
.ic-ah-quality.q4 { color: #a335ee; }
.ic-ah-quality.q5 { color: #ff8000; }
.ic-ah-quality.q6,
.ic-ah-quality.q7 { color: #e6cc80; }
.ic-ah-quality--expired { color: #e07070; }
.ic-ah {
    display: grid;
    grid-template-columns: 13.5rem minmax(0, 1fr);
    gap: 1rem 1.35rem;
    align-items: start;
}
.ic-ah-cats {
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
    padding: 0.15rem 1rem 0 0;
    border-right: 1px solid rgba(90, 93, 112, 0.4);
    min-width: 0;
}
.ic-ah-cats a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.55rem;
    padding: 0.28rem 0.45rem;
    color: #ebdec2;
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 3px;
}
.ic-ah-cats a span {
    color: rgba(243, 238, 226, 0.5);
    font-size: 0.78rem;
    font-weight: 600;
}
.ic-ah-cats a:hover,
.ic-ah-cats a.is-active {
    color: var(--gold, #f8b700);
    background: rgba(248, 183, 0, 0.08);
}
.ic-ah-cats a.is-active span { color: var(--gold, #f8b700); }
.ic-ah-cats__sub {
    padding-left: 1.1rem !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
}
.ic-ah-list { min-width: 0; overflow-x: auto; }
.ic-ah-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 700;
    text-decoration: none;
    max-width: 22rem;
}
.ic-ah-item img {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border: 1px solid rgba(90, 93, 112, 0.55);
    background: #111218;
}
.ic-ah-item__name { min-width: 0; }
.ic-ah-item__count {
    color: rgba(243, 238, 226, 0.62);
    font-weight: 600;
    font-size: 0.8rem;
}
.ic-ah-item.q0 { color: #9d9d9d; }
.ic-ah-item.q1 { color: #fff; }
.ic-ah-item.q2 { color: #1eff00; }
.ic-ah-item.q3 { color: #0070dd; }
.ic-ah-item.q4 { color: #a335ee; }
.ic-ah-item.q5 { color: #ff8000; }
.ic-ah-item.q6,
.ic-ah-item.q7 { color: #e6cc80; }
.ic-ah-item.q0 img { border-color: #9d9d9d; }
.ic-ah-item.q2 img { border-color: #1eff00; }
.ic-ah-item.q3 img { border-color: #0070dd; }
.ic-ah-item.q4 img { border-color: #a335ee; }
.ic-ah-item.q5 img { border-color: #ff8000; }
.ic-ah-item.q6 img,
.ic-ah-item.q7 img { border-color: #e6cc80; }
.ic-ah-money {
    display: inline-flex;
    align-items: baseline;
    gap: 0.32rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    white-space: nowrap;
}
.ic-ah-money--empty {
    color: rgba(243, 238, 226, 0.4);
    font-weight: 600;
}
.ic-ah-money__g { color: #f8b700; }
.ic-ah-money__g::after { content: "g"; margin-left: 0.08em; font-size: 0.78em; }
.ic-ah-money__s { color: #cfd4dc; }
.ic-ah-money__s::after { content: "s"; margin-left: 0.08em; font-size: 0.78em; }
.ic-ah-money__c { color: #c67a3a; }
.ic-ah-money__c::after { content: "c"; margin-left: 0.08em; font-size: 0.78em; }
.ic-ah-col-money { white-space: nowrap; }
.ic-ah-col-money .ic-muted {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
}
.ic-ah-time--short { color: #e07070; }
.ic-ah-time--medium { color: #f8b700; }
.ic-ah-time--long { color: #ebdec2; }
.ic-ah-time--verylong { color: #9ee08f; }
.ic-ah-time--expired { color: #e07070; font-weight: 700; }
.ic-ah-table tr.is-expired td { opacity: 0.62; }
.ic-ah-src {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.05rem 0.35rem;
    border: 1px solid rgba(90, 93, 112, 0.45);
    border-radius: 3px;
    color: rgba(243, 238, 226, 0.55);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
}
.ic-ah-src--bot { color: #69ccf0; border-color: rgba(105, 204, 240, 0.35); }
.ic-ah-src--ahbot { color: #f8b700; border-color: rgba(248, 183, 0, 0.45); }
.ic-ah-house {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-weight: 600;
}
.ic-ah-house--alliance { color: #4c8dff; }
.ic-ah-house--horde { color: #c45a1b; }
.ic-settings-split .ic-panel-title {
    display: flex;
    align-items: center;
    gap: 0.65rem 0.85rem;
    margin: 0 0 0.85rem;
    padding: 0 0 0.75rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.4);
}
.ic-settings-split .ic-panel-title h2 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.15rem;
}
@media (max-width: 1100px) {
    .ic-ah { grid-template-columns: 11.5rem minmax(0, 1fr); }
}
@media (max-width: 860px) {
    .ic-ah {
        grid-template-columns: 1fr;
    }
    .ic-ah-cats {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0 0 0.75rem;
        border-right: 0;
        border-bottom: 1px solid rgba(90, 93, 112, 0.4);
    }
    .ic-ah-cats__sub { padding-left: 0.45rem !important; }
}

.ic-pop__meta {
    display: flex;
    gap: 1.25rem;
    margin: 0 0 0.35rem;
    color: var(--muted, #b8b3a6);
    font-size: 0.84rem;
}
.ic-pop__chart {
    display: block;
    width: 100%;
    height: auto;
}
.ic-pop__chart line {
    stroke: rgba(255, 255, 255, 0.08);
    stroke-width: 1;
}
.ic-pop__chart text {
    fill: var(--muted, #b8b3a6);
    font-family: inherit;
    font-size: 11px;
}
.ic-pop__area {
    fill: rgba(248, 183, 0, 0.16);
    stroke: none;
}
.ic-pop__line {
    fill: none;
    stroke: var(--gold, #f8b700);
    stroke-width: 2;
    stroke-linejoin: round;
    stroke-linecap: round;
}
.ic-pop__chart circle {
    fill: var(--gold, #f8b700);
}

.ic-downloads { display: grid; gap: 0.35rem; }
.ic-dl-path {
    margin: 0 0 0.75rem;
    color: var(--muted, #b8b3a6);
    font-size: 0.82rem;
    font-weight: 600;
}
.ic-dl-path span { margin: 0 0.35rem; color: rgba(248, 183, 0, 0.8); }
.ic-dl-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 0.75rem;
    margin: 0 0 0.75rem;
}
.ic-dl-filter {
    font: inherit;
    flex: 1 1 12rem;
    min-width: 12rem;
    max-width: 22rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid #5a5d70;
    border-radius: var(--control-radius, 8px);
    background: #111218;
    color: #f3eee2;
    box-sizing: border-box;
}
.ic-dl-cats { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ic-dl-cats button {
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--beige, #ebdec2);
    background: transparent;
    border: 1px solid rgba(90, 93, 112, 0.55);
    border-radius: 999px;
    padding: 0.18rem 0.65rem;
    cursor: pointer;
}
.ic-dl-cats button.is-active,
.ic-dl-cats button:hover {
    color: #fff;
    border-color: var(--gold, #f8b700);
}
.ic-dl-empty {
    margin: 0;
    padding: 1.5rem 1rem;
    border: 1px solid rgba(90, 93, 112, 0.55);
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.72);
    background: rgba(8, 10, 16, 0.35);
}
.ic-dl-browser {
    display: grid;
    grid-template-columns: max-content 10px minmax(12rem, 1fr);
    min-height: 22rem;
    border: 1px solid rgba(90, 93, 112, 0.55);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(8, 10, 16, 0.35);
}
.ic-dl-split {
    position: relative;
    z-index: 1;
    cursor: col-resize;
    touch-action: none;
    user-select: none;
    background: transparent;
}
.ic-dl-split::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    transform: translateX(-50%);
    background: rgba(90, 93, 112, 0.9);
}
.ic-dl-split:hover::before,
.ic-dl-split:focus-visible::before,
.ic-dl-browser.is-dragging .ic-dl-split::before {
    width: 3px;
    background: var(--gold, #f8b700);
}
.ic-dl-split:focus-visible {
    outline: none;
}
.ic-dl-browser.is-dragging,
.ic-dl-browser.is-dragging * {
    cursor: col-resize;
    user-select: none;
}
.ic-dl-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.ic-dl-head,
.ic-dl-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.8rem 5.6rem;
    gap: 0.65rem;
    align-items: center;
}
.ic-dl-head {
    padding: 0.4rem 0.75rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.45);
    color: var(--muted, #b8b3a6);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.ic-dl-head span:nth-child(n+2),
.ic-dl-ver,
.ic-dl-size { text-align: right; }
.ic-dl-list { min-width: 0; }
.ic-dl-item {
    padding: 0.48rem 0.75rem;
    border-bottom: 1px solid rgba(90, 93, 112, 0.22);
    color: inherit;
    text-decoration: none;
}
.ic-dl-item[hidden] { display: none; }
.ic-dl-item:hover { background: rgba(255, 255, 255, 0.04); color: inherit; }
.ic-dl-item.is-active { background: rgba(248, 183, 0, 0.12); }
.ic-dl-item:focus-visible {
    outline: 2px solid #f8b700;
    outline-offset: -2px;
}
.ic-dl-name {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
}
.ic-dl-name__text { min-width: 0; }
.ic-dl-name strong,
.ic-dl-name__text > span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ic-dl-name strong { color: #fff; font-weight: 700; }
.ic-dl-name__text > span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.75rem;
}
.ic-dl-ver,
.ic-dl-size {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
}
.ic-dl-ico {
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.45rem;
    border: 1px solid rgba(248, 183, 0, 0.75);
    border-radius: 2px 6px 2px 2px;
    background:
        linear-gradient(135deg, transparent 0.38rem, #c98900 0.38rem) top right / 0.48rem 0.48rem no-repeat,
        linear-gradient(180deg, #3a3218, #14120c);
}
.ic-dl-ico--lg {
    width: 1.7rem;
    height: 2.15rem;
    border-radius: 2px 8px 2px 2px;
    background:
        linear-gradient(135deg, transparent 0.55rem, #c98900 0.55rem) top right / 0.7rem 0.7rem no-repeat,
        linear-gradient(180deg, #3a3218, #14120c);
}
.ic-dl-ico.ic-dl-ico--img {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 3px;
    background: none;
    object-fit: cover;
}
.ic-dl-ico--lg.ic-dl-ico--img {
    width: 3rem;
    height: 3rem;
    border-radius: 4px;
}
.ic-dl-none,
.ic-dl-status {
    margin: 0;
    padding: 0.45rem 0.75rem;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.78rem;
}
.ic-dl-status { margin-top: auto; border-top: 1px solid rgba(90, 93, 112, 0.28); }
.ic-dl-detail {
    min-width: 0;
    padding: 0.85rem 1rem 1rem;
    background: rgba(0, 0, 0, 0.18);
}
.ic-dl-pane {
    margin: 0 0 0.75rem;
    color: var(--muted, #b8b3a6);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.ic-dl-detail__file {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}
.ic-dl-detail h2 {
    margin: 0;
    font-size: 1.15rem;
    letter-spacing: 0;
    text-transform: none;
    overflow-wrap: anywhere;
}
.ic-dl-kind {
    margin: 0.15rem 0 0;
    color: var(--gold, #f8b700);
    font-size: 0.78rem;
    font-weight: 700;
}
.ic-dl-actions { margin: 0 0 0.9rem; }
.ic-dl-meta {
    display: grid;
    gap: 0.32rem;
    margin: 0 0 0.9rem;
}
.ic-dl-meta div {
    display: grid;
    grid-template-columns: 5.6rem minmax(0, 1fr);
    gap: 0.5rem;
}
.ic-dl-meta dt {
    margin: 0;
    color: var(--muted, #b8b3a6);
    font-size: 0.82rem;
    font-weight: 600;
}
.ic-dl-meta dd {
    margin: 0;
    font-size: 0.88rem;
    overflow-wrap: anywhere;
}
.ic-dl-detail h3 {
    margin: 0.85rem 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted, #b8b3a6);
}
.ic-dl-notes p,
.ic-dl-install {
    margin: 0 0 0.45rem;
    color: #ebdec2;
    font-size: 0.9rem;
}
@media (max-width: 860px) {
    .ic-dl-browser { grid-template-columns: 1fr; }
    .ic-dl-split { display: none; }
    .ic-dl-detail { border-top: 1px solid rgba(90, 93, 112, 0.45); }
    .ic-dl-filter { max-width: none; }
}


