/* /Components/Editors/ScenarioEditorModal.razor.rz.scp.css */
.scenario-editor-backdrop[b-mxp41j4en6] {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: auto;
    padding: 2rem;
    background: rgba(0, 0, 0, 0.5);
}

.scenario-editor-modal[b-mxp41j4en6] {
    width: min(1280px, 100%);
    max-height: calc(100vh - 4rem);
    overflow: auto;
}
/* /Components/EntityView/EntityEffectsList.razor.rz.scp.css */
.xw-eeffects-section[b-vdy3ui4py0] {
    margin-bottom: 12px;
}

.xw-eeffects-section h3[b-vdy3ui4py0] {
    font-size: 0.85rem;
    margin: 0 0 6px 0;
    color: var(--xw-accent, #d4a017);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 4px;
}

.xw-eeffects-section + .xw-eeffects-section h3[b-vdy3ui4py0] {
    margin-top: 12px;
}

.xw-eeffects-empty[b-vdy3ui4py0] {
    font-size: 0.8rem;
    font-style: italic;
    opacity: 0.6;
    margin: 4px 0;
}

.xw-eeffects-source[b-vdy3ui4py0] {
    margin-bottom: 8px;
}

.xw-eeffects-source-name[b-vdy3ui4py0] {
    display: block;
    font-size: 0.8rem;
    font-weight: bold;
    margin-bottom: 2px;
}

.xw-eeffects-tags[b-vdy3ui4py0] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.xw-eeffects-tag[b-vdy3ui4py0] {
    font-size: 0.72rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 3px;
    padding: 1px 6px;
}

.xw-eeffects-gem-row[b-vdy3ui4py0] {
    margin-top: 3px;
    padding-left: 8px;
}

.xw-eeffects-gem-name[b-vdy3ui4py0] {
    display: block;
    font-size: 0.72rem;
    font-style: italic;
    color: var(--xw-accent-2, #8fd3f4);
    margin-bottom: 2px;
}

.xw-eeffects-gem-tag[b-vdy3ui4py0] {
    font-size: 0.72rem;
    background: rgba(143, 211, 244, 0.12);
    border: 1px solid rgba(143, 211, 244, 0.3);
    color: var(--xw-accent-2, #8fd3f4);
    border-radius: 3px;
    padding: 1px 6px;
}

.xw-eeffects-row[b-vdy3ui4py0] {
    display: flex;
    flex-direction: column;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.xw-eeffects-trait-name[b-vdy3ui4py0] {
    font-size: 0.8rem;
    font-weight: bold;
}

.xw-eeffects-trait-effect[b-vdy3ui4py0] {
    font-size: 0.75rem;
    opacity: 0.8;
    margin-top: 1px;
}
/* /Components/EntityView/EntityEquipmentSlot.razor.rz.scp.css */
.xw-slot[b-vrbm4icl1i] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(54px * var(--xw-win-scale, 1));
    height: calc(54px * var(--xw-win-scale, 1));
    border: 1px dashed rgba(246, 214, 173, 0.2);
    border-radius: 4px;
    background: rgba(15, 11, 10, 0.5);
    position: relative;
    cursor: var(--xw-cursor-arrow);
}

.xw-slot--filled[b-vrbm4icl1i] {
    border-style: solid;
    border-color: rgba(246, 214, 173, 0.3);
    cursor: var(--xw-cursor-hand);
}

.xw-slot--filled:hover[b-vrbm4icl1i] {
    background: rgba(246, 214, 173, 0.08);
    border-color: var(--xw-accent);
}

.xw-slot--blocked[b-vrbm4icl1i] {
    opacity: 0.4;
}

.xw-slot--dragging[b-vrbm4icl1i] {
    opacity: 0.4;
}

.xw-slot--drop-target[b-vrbm4icl1i] {
    border-color: var(--xw-accent);
    border-style: dashed;
    box-shadow: 0 0 8px rgba(239, 182, 122, 0.3);
}

.xw-slot-sprite[b-vrbm4icl1i] {
    width: calc(48px * var(--xw-win-scale, 1));
    height: calc(48px * var(--xw-win-scale, 1));
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

.xw-slot-label[b-vrbm4icl1i] {
    position: absolute;
    bottom: calc(-14px * var(--xw-win-scale, 1));
    font-size: calc(0.5rem * var(--xw-win-scale, 1));
    color: var(--xw-text-muted);
    white-space: nowrap;
    text-align: center;
    pointer-events: none;
}

.xw-slot-badge[b-vrbm4icl1i] {
    position: absolute;
    top: 2px;
    right: 2px;
    font-size: calc(0.5rem * var(--xw-win-scale, 1));
    color: var(--xw-accent);
    background: rgba(15, 11, 10, 0.8);
    padding: 0 3px;
    border-radius: 2px;
    line-height: 1.3;
}
/* /Components/EntityView/EntityPaperdoll.razor.rz.scp.css */
.xw-paperdoll-layout[b-qr5vvh23gf] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(12px * var(--xw-win-scale, 1));
    margin: 0.5rem auto;
}

.xw-paperdoll-col[b-qr5vvh23gf] {
    display: flex;
    flex-direction: column;
    gap: calc(12px * var(--xw-win-scale, 1));
    align-items: center;
}

.xw-doll-area[b-qr5vvh23gf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(10px * var(--xw-win-scale, 1));
}

.xw-doll-container[b-qr5vvh23gf] {
    position: relative;
    width: calc(128px * var(--xw-win-scale, 1));
    height: calc(128px * var(--xw-win-scale, 1));
}

.xw-doll-layer[b-qr5vvh23gf] {
    position: absolute;
    inset: 0;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}
/* /Components/EntityView/EntitySkillRow.razor.rz.scp.css */
.xw-eskill-row[b-m81xvx5cvh] {
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid rgba(246, 214, 173, 0.08);
    border-radius: 0.3rem;
    transition: background 0.15s ease;
    cursor: var(--xw-cursor-hand);
}

.xw-eskill-row:hover[b-m81xvx5cvh] {
    background: rgba(246, 214, 173, 0.06);
}

.xw-eskill-row:last-child[b-m81xvx5cvh] {
    border-bottom: none;
}

.xw-eskill-row--selected[b-m81xvx5cvh] {
    background: rgba(212, 168, 87, 0.12);
    border-left: 2px solid var(--xw-accent, #d4a857);
}

.xw-eskill-row--selected:hover[b-m81xvx5cvh] {
    background: rgba(212, 168, 87, 0.16);
}

.xw-eskill-info[b-m81xvx5cvh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.xw-eskill-level[b-m81xvx5cvh] {
    font-size: 0.8rem;
    color: var(--xw-text-muted);
}

.xw-eskill-xp-bar-row[b-m81xvx5cvh] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.2rem;
}

.xw-eskill-xp-bar[b-m81xvx5cvh] {
    flex: 1;
    height: 5px;
    background: rgba(246, 214, 173, 0.1);
    border-radius: 2px;
    overflow: hidden;
}

.xw-eskill-xp-fill[b-m81xvx5cvh] {
    height: 100%;
    background: var(--xw-accent, #d4a857);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.xw-eskill-xp-fill--ready[b-m81xvx5cvh] {
    background: #7fc97f;
    box-shadow: 0 0 4px rgba(127, 201, 127, 0.6);
}

.xw-eskill-xp-text[b-m81xvx5cvh] {
    font-size: 0.7rem;
    color: var(--xw-text-muted);
    white-space: nowrap;
    min-width: fit-content;
}

.xw-eskill-xp-max[b-m81xvx5cvh] {
    color: var(--xw-accent, #d4a857);
    font-weight: 600;
    letter-spacing: 0.05em;
}
/* /Components/EntityView/EntityStatBars.razor.rz.scp.css */
.xw-stats-pane[b-px22g6kahr] {
    display: flex;
    flex-direction: column;
    gap: calc(6px * var(--xw-win-scale, 1));
    width: 100%;
    max-width: calc(180px * var(--xw-win-scale, 1));
}

.xw-stat-row[b-px22g6kahr] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.xw-stat-label[b-px22g6kahr] {
    font-size: calc(0.6rem * var(--xw-win-scale, 1));
    font-weight: bold;
    width: calc(20px * var(--xw-win-scale, 1));
    flex-shrink: 0;
}

.xw-stat-bar[b-px22g6kahr] {
    flex: 1;
    height: calc(10px * var(--xw-win-scale, 1));
    background: rgba(15, 11, 10, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.15);
    border-radius: 2px;
    overflow: hidden;
}

.xw-stat-fill[b-px22g6kahr] {
    height: 100%;
    transition: width 0.3s ease;
}

.xw-stat-value[b-px22g6kahr] {
    font-size: calc(0.6rem * var(--xw-win-scale, 1));
    white-space: nowrap;
    min-width: calc(42px * var(--xw-win-scale, 1));
    text-align: right;
}

.xw-stat--hp .xw-stat-label[b-px22g6kahr] { color: #e05050; }
.xw-stat--hp .xw-stat-fill[b-px22g6kahr] { background: #c03030; }

.xw-stat--stamina .xw-stat-label[b-px22g6kahr] { color: #d4a843; }
.xw-stat--stamina .xw-stat-fill[b-px22g6kahr] { background: #b08a28; }

.xw-stat--mana .xw-stat-label[b-px22g6kahr] { color: #5090e0; }
.xw-stat--mana .xw-stat-fill[b-px22g6kahr] { background: #3070c0; }
/* /Components/Lobby/LobbySlotRow.razor.rz.scp.css */
/* Column layout for a lobby slot row so names and the "Managed by" text line up
   across every row and never wrap. The leading icon cell is a fixed width so the
   name column starts at the same x for both player (hero sprite) and bot (emoji) rows. */

.xw-slot-icon[b-y0m5055l0m] {
    flex: 0 0 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.xw-slot-name[b-y0m5055l0m] {
    flex: 0 0 14rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.xw-slot-manager[b-y0m5055l0m] {
    flex: 0 0 auto;
    white-space: nowrap;
}
/* /Components/Play/ConflictNpcSprite.razor.rz.scp.css */
/* Individual participant wrapper */
.xw-conflict-participant[b-oqniktfylo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    position: relative;
}

.xw-dying[b-oqniktfylo] {
    opacity: 0.4;
    filter: grayscale(80%);
}

/* NPC sprite container */
.xw-conflict-npc-container[b-oqniktfylo] {
    position: relative;
    flex-shrink: 0;
    --xw-anim-dir: -1;
}

.xw-conflict-character[b-oqniktfylo] {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

/* Overlay elements */
.xw-conflict-hit-overlay[b-oqniktfylo] {
    position: absolute;
    inset: 0;
    background: rgba(255, 80, 80, 0.6);
    pointer-events: none;
    opacity: 0;
    z-index: 2;
}

.xw-conflict-slash-overlay[b-oqniktfylo] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 3;
    background: linear-gradient(
        -45deg,
        transparent 44%,
        rgba(255, 255, 255, 0.9) 48%,
        rgba(255, 255, 255, 0.9) 52%,
        transparent 56%
    );
}

.xw-conflict-spell-overlay[b-oqniktfylo] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 4;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

/* Harvest label */
.xw-hp-label[b-oqniktfylo] {
    font-size: 0.7rem;
    color: var(--xw-text-muted);
    text-align: center;
}

/* HP / resource bars */
.xw-hp-bar-container[b-oqniktfylo] {
    position: relative;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.2);
    border-radius: 4px;
    overflow: hidden;
}

.xw-hp-bar-fill[b-oqniktfylo] {
    height: 100%;
    transition: width 0.4s ease-out;
    border-radius: 3px;
}

.xw-hp-bar-fill--npc[b-oqniktfylo] {
    background: linear-gradient(180deg, #e05555 0%, #b71c1c 100%);
}

.xw-bar-label[b-oqniktfylo] {
    position: absolute;
    inset: 0;
    text-align: center;
    font-size: 0.65rem;
    line-height: 16px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    z-index: 1;
}

.xw-resource-bar-container[b-oqniktfylo] {
    position: relative;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.15);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 1px;
}

.xw-resource-bar-fill[b-oqniktfylo] {
    height: 100%;
    transition: width 0.4s ease-out;
    border-radius: 2px;
}

.xw-resource-bar-fill--stamina[b-oqniktfylo] {
    background: linear-gradient(180deg, #ffa726 0%, #e65100 100%);
}

.xw-resource-bar-fill--mana[b-oqniktfylo] {
    background: linear-gradient(180deg, #42a5f5 0%, #1565c0 100%);
}

/* Damage numbers */
.xw-damage-number[b-oqniktfylo] {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 4.2rem;
    font-weight: bold;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    animation: xw-damage-float-b-oqniktfylo 600ms ease-out forwards;
    z-index: 10;
}

.xw-damage-miss[b-oqniktfylo] { color: #888; font-size: 3rem; font-style: italic; }
.xw-damage-weak[b-oqniktfylo] { color: #ccc; }
.xw-damage-normal[b-oqniktfylo] { color: #ff6b6b; }
.xw-damage-crit[b-oqniktfylo] { color: var(--xw-gold); font-size: 5.4rem; }
.xw-damage-heal[b-oqniktfylo] { color: #4caf50; }

@keyframes xw-damage-float-b-oqniktfylo {
    0%   { opacity: 1; transform: translateX(-50%) translateY(0); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-32px); }
}

/* Targeting */
.xw-target-arrow[b-oqniktfylo] {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 14px solid var(--xw-accent);
    margin-bottom: 0.25rem;
    animation: xw-target-bounce-b-oqniktfylo 0.8s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

@keyframes xw-target-bounce-b-oqniktfylo {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

.xw-target-highlight[b-oqniktfylo] {
    cursor: var(--xw-cursor-hand);
}

.xw-target-highlight[b-oqniktfylo]::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 2px solid var(--xw-accent);
    border-radius: 8px;
    opacity: 0.6;
    animation: xw-target-pulse-b-oqniktfylo 1.2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes xw-target-pulse-b-oqniktfylo {
    0%, 100% { opacity: 0.3; }
    50%      { opacity: 0.7; }
}

/* Animation triggers */
.xw-anim-attack-lunge[b-oqniktfylo] { animation: xw-attack-lunge-b-oqniktfylo 320ms ease-in-out; }
.xw-anim-damage-shake[b-oqniktfylo] { animation: xw-damage-shake-b-oqniktfylo 400ms ease-out; }
.xw-anim-dodge[b-oqniktfylo]        { animation: xw-dodge-b-oqniktfylo 300ms ease-in-out; }
.xw-anim-defeat[b-oqniktfylo]       { animation: xw-defeat-b-oqniktfylo 600ms ease-out forwards; }
.xw-anim-buff-pulse[b-oqniktfylo]   { animation: xw-buff-pulse-b-oqniktfylo 500ms ease-in-out; }
.xw-anim-idle-bob[b-oqniktfylo]     { animation: xw-idle-bob-b-oqniktfylo 2s ease-in-out infinite; }
.xw-anim-hit-flash[b-oqniktfylo]    { animation: xw-hit-flash-b-oqniktfylo 200ms ease-out forwards; }
.xw-anim-screen-shake[b-oqniktfylo] { animation: xw-screen-shake-b-oqniktfylo 350ms ease-out; }
.xw-anim-slash-mark[b-oqniktfylo]   { animation: xw-slash-mark-b-oqniktfylo 300ms ease-out forwards; }

.xw-anim-spell-effect[b-oqniktfylo] { opacity: 0.85; }
.xw-spell-fade-in[b-oqniktfylo]  { animation: xw-spell-fade-in-b-oqniktfylo 150ms ease-in forwards; }
.xw-spell-fade-out[b-oqniktfylo] { animation: xw-spell-fade-out-b-oqniktfylo 200ms ease-out forwards; }

/* Animation keyframes */
@keyframes xw-attack-lunge-b-oqniktfylo {
    0%   { transform: translateX(0); }
    40%  { transform: translateX(calc(var(--xw-anim-dir, 1) * 48px)); }
    100% { transform: translateX(0); }
}

@keyframes xw-damage-shake-b-oqniktfylo {
    0%, 100% { transform: translateX(0); }
    15%      { transform: translateX(-6px); }
    30%      { transform: translateX(6px); }
    45%      { transform: translateX(-4px); }
    60%      { transform: translateX(4px); }
    80%      { transform: translateX(-2px); }
}

@keyframes xw-dodge-b-oqniktfylo {
    0%   { transform: translateX(0); }
    35%  { transform: translateX(calc(var(--xw-anim-dir, 1) * -32px)); }
    100% { transform: translateX(0); }
}

@keyframes xw-defeat-b-oqniktfylo {
    0%   { opacity: 1; transform: translateY(0) rotate(0deg); }
    100% { opacity: 0; transform: translateY(24px) rotate(12deg); }
}

@keyframes xw-buff-pulse-b-oqniktfylo {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.12); }
}

@keyframes xw-idle-bob-b-oqniktfylo {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

@keyframes xw-hit-flash-b-oqniktfylo {
    0%   { opacity: 0.7; }
    100% { opacity: 0; }
}

@keyframes xw-screen-shake-b-oqniktfylo {
    0%, 100% { transform: translate(0, 0); }
    20%      { transform: translate(-4px, 2px); }
    40%      { transform: translate(4px, -2px); }
    60%      { transform: translate(-3px, 3px); }
    80%      { transform: translate(3px, -1px); }
}

@keyframes xw-slash-mark-b-oqniktfylo {
    0%   { clip-path: inset(0 100% 100% 0); opacity: 0.9; }
    50%  { clip-path: inset(0 0 0 0); opacity: 0.9; }
    100% { clip-path: inset(0 0 0 0); opacity: 0; }
}

@keyframes xw-spell-fade-in-b-oqniktfylo {
    0%   { opacity: 0; transform: scale(0.8); }
    100% { opacity: 0.85; transform: scale(1); }
}

@keyframes xw-spell-fade-out-b-oqniktfylo {
    0%   { opacity: 0.85; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.15); }
}
/* /Components/Play/ConflictPlayerSprite.razor.rz.scp.css */
/* Individual participant wrapper */
.xw-conflict-participant[b-93qpdswyto] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    position: relative;
}

.xw-dying[b-93qpdswyto] {
    opacity: 0.4;
    filter: grayscale(80%);
}

/* Sprite container */
.xw-conflict-character-container[b-93qpdswyto] {
    position: relative;
    flex-shrink: 0;
    --xw-anim-dir: 1;
}

.xw-conflict-character-layer[b-93qpdswyto] {
    position: absolute;
    inset: 0;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

/* Overlay elements */
.xw-conflict-hit-overlay[b-93qpdswyto] {
    position: absolute;
    inset: 0;
    background: rgba(255, 80, 80, 0.6);
    pointer-events: none;
    opacity: 0;
    z-index: 2;
}

.xw-conflict-slash-overlay[b-93qpdswyto] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 3;
    background: linear-gradient(
        -45deg,
        transparent 44%,
        rgba(255, 255, 255, 0.9) 48%,
        rgba(255, 255, 255, 0.9) 52%,
        transparent 56%
    );
}

.xw-conflict-spell-overlay[b-93qpdswyto] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 4;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

/* HP / resource bars */
.xw-hp-bar-container[b-93qpdswyto] {
    position: relative;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.2);
    border-radius: 4px;
    overflow: hidden;
}

.xw-hp-bar-fill[b-93qpdswyto] {
    height: 100%;
    transition: width 0.4s ease-out;
    border-radius: 3px;
}

.xw-hp-bar-fill--player[b-93qpdswyto] {
    background: linear-gradient(180deg, #4caf50 0%, #2e7d32 100%);
}

.xw-bar-label[b-93qpdswyto] {
    position: absolute;
    inset: 0;
    text-align: center;
    font-size: 0.65rem;
    line-height: 16px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    z-index: 1;
}

.xw-resource-bar-container[b-93qpdswyto] {
    position: relative;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.15);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 1px;
}

.xw-resource-bar-fill[b-93qpdswyto] {
    height: 100%;
    transition: width 0.4s ease-out;
    border-radius: 2px;
}

.xw-resource-bar-fill--stamina[b-93qpdswyto] {
    background: linear-gradient(180deg, #ffa726 0%, #e65100 100%);
}

.xw-resource-bar-fill--mana[b-93qpdswyto] {
    background: linear-gradient(180deg, #42a5f5 0%, #1565c0 100%);
}

/* Damage numbers */
.xw-damage-number[b-93qpdswyto] {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 4.2rem;
    font-weight: bold;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    animation: xw-damage-float-b-93qpdswyto 600ms ease-out forwards;
    z-index: 10;
}

.xw-damage-miss[b-93qpdswyto] { color: #888; font-size: 3rem; font-style: italic; }
.xw-damage-weak[b-93qpdswyto] { color: #ccc; }
.xw-damage-normal[b-93qpdswyto] { color: #ff6b6b; }
.xw-damage-crit[b-93qpdswyto] { color: var(--xw-gold); font-size: 5.4rem; }
.xw-damage-heal[b-93qpdswyto] { color: #4caf50; }
.xw-damage-dot[b-93qpdswyto] { color: #b044e0; }

@keyframes xw-damage-float-b-93qpdswyto {
    0%   { opacity: 1; transform: translateX(-50%) translateY(0); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-32px); }
}

/* Targeting */
.xw-target-arrow[b-93qpdswyto] {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 14px solid var(--xw-accent);
    margin-bottom: 0.25rem;
    animation: xw-target-bounce-b-93qpdswyto 0.8s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

@keyframes xw-target-bounce-b-93qpdswyto {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

.xw-target-highlight[b-93qpdswyto] {
    cursor: var(--xw-cursor-hand);
}

.xw-target-highlight[b-93qpdswyto]::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 2px solid var(--xw-accent);
    border-radius: 8px;
    opacity: 0.6;
    animation: xw-target-pulse-b-93qpdswyto 1.2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes xw-target-pulse-b-93qpdswyto {
    0%, 100% { opacity: 0.3; }
    50%      { opacity: 0.7; }
}

/* Animation triggers */
.xw-anim-attack-lunge[b-93qpdswyto] { animation: xw-attack-lunge-b-93qpdswyto 320ms ease-in-out; }
.xw-anim-damage-shake[b-93qpdswyto] { animation: xw-damage-shake-b-93qpdswyto 400ms ease-out; }
.xw-anim-dodge[b-93qpdswyto]        { animation: xw-dodge-b-93qpdswyto 300ms ease-in-out; }
.xw-anim-defeat[b-93qpdswyto]       { animation: xw-defeat-b-93qpdswyto 600ms ease-out forwards; }
.xw-anim-buff-pulse[b-93qpdswyto]   { animation: xw-buff-pulse-b-93qpdswyto 500ms ease-in-out; }
.xw-anim-idle-bob[b-93qpdswyto]     { animation: xw-idle-bob-b-93qpdswyto 2s ease-in-out infinite; }
.xw-anim-hit-flash[b-93qpdswyto]    { animation: xw-hit-flash-b-93qpdswyto 200ms ease-out forwards; }
.xw-anim-screen-shake[b-93qpdswyto] { animation: xw-screen-shake-b-93qpdswyto 350ms ease-out; }
.xw-anim-slash-mark[b-93qpdswyto]   { animation: xw-slash-mark-b-93qpdswyto 300ms ease-out forwards; }

.xw-anim-spell-effect[b-93qpdswyto] { opacity: 0.85; }
.xw-spell-fade-in[b-93qpdswyto]  { animation: xw-spell-fade-in-b-93qpdswyto 150ms ease-in forwards; }
.xw-spell-fade-out[b-93qpdswyto] { animation: xw-spell-fade-out-b-93qpdswyto 200ms ease-out forwards; }

/* Animation keyframes */
@keyframes xw-attack-lunge-b-93qpdswyto {
    0%   { transform: translateX(0); }
    40%  { transform: translateX(calc(var(--xw-anim-dir, 1) * 48px)); }
    100% { transform: translateX(0); }
}

@keyframes xw-damage-shake-b-93qpdswyto {
    0%, 100% { transform: translateX(0); }
    15%      { transform: translateX(-6px); }
    30%      { transform: translateX(6px); }
    45%      { transform: translateX(-4px); }
    60%      { transform: translateX(4px); }
    80%      { transform: translateX(-2px); }
}

@keyframes xw-dodge-b-93qpdswyto {
    0%   { transform: translateX(0); }
    35%  { transform: translateX(calc(var(--xw-anim-dir, 1) * -32px)); }
    100% { transform: translateX(0); }
}

@keyframes xw-defeat-b-93qpdswyto {
    0%   { opacity: 1; transform: translateY(0) rotate(0deg); }
    100% { opacity: 0; transform: translateY(24px) rotate(12deg); }
}

@keyframes xw-buff-pulse-b-93qpdswyto {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.12); }
}

@keyframes xw-idle-bob-b-93qpdswyto {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

@keyframes xw-hit-flash-b-93qpdswyto {
    0%   { opacity: 0.7; }
    100% { opacity: 0; }
}

@keyframes xw-screen-shake-b-93qpdswyto {
    0%, 100% { transform: translate(0, 0); }
    20%      { transform: translate(-4px, 2px); }
    40%      { transform: translate(4px, -2px); }
    60%      { transform: translate(-3px, 3px); }
    80%      { transform: translate(3px, -1px); }
}

@keyframes xw-slash-mark-b-93qpdswyto {
    0%   { clip-path: inset(0 100% 100% 0); opacity: 0.9; }
    50%  { clip-path: inset(0 0 0 0); opacity: 0.9; }
    100% { clip-path: inset(0 0 0 0); opacity: 0; }
}

@keyframes xw-spell-fade-in-b-93qpdswyto {
    0%   { opacity: 0; transform: scale(0.8); }
    100% { opacity: 0.85; transform: scale(1); }
}

@keyframes xw-spell-fade-out-b-93qpdswyto {
    0%   { opacity: 0.85; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.15); }
}
/* /Components/Play/DraggableWindow.razor.rz.scp.css */
.xw-window[b-srp9uge5p2] {
    position: absolute;
    z-index: 110;
    display: flex;
    flex-direction: column;
    background: rgba(13, 10, 8, 0.88);
    border: 2px solid var(--xw-bronze-edge, #5e3d18);
    border-radius: 3px;
    overflow: visible;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.55);
}

/* Tiny iron rivets at three corners: top-left, bottom-left, bottom-right. The
   top-right corner is skipped because the close/lock/minimize controls live
   there. Same ornament family as outer .xw-card, smaller (8px) for game-info
   density. */
.xw-window[b-srp9uge5p2]::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='5' fill='%232a2622' stroke='%234a3d30' stroke-width='1'/><circle cx='4.5' cy='4.5' r='1.2' fill='%237a6850' opacity='0.85'/></svg>"),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='5' fill='%232a2622' stroke='%234a3d30' stroke-width='1'/><circle cx='4.5' cy='4.5' r='1.2' fill='%237a6850' opacity='0.85'/></svg>"),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><circle cx='6' cy='6' r='5' fill='%232a2622' stroke='%234a3d30' stroke-width='1'/><circle cx='4.5' cy='4.5' r='1.2' fill='%237a6850' opacity='0.85'/></svg>");
    background-repeat: no-repeat;
    background-size: 8px 8px;
    background-position:
        3px 3px,
        3px calc(100% - 3px),
        calc(100% - 3px) calc(100% - 3px);
    z-index: 1;
}

.xw-window--minimized[b-srp9uge5p2] {
    height: auto !important;
}

.xw-window-titlebar[b-srp9uge5p2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(37, 26, 22, 0.95);
    padding: 0.2rem 0.4rem;
    cursor: var(--xw-cursor-move);
    user-select: none;
    border-bottom: 1px solid var(--xw-bronze-edge, #5e3d18);
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.xw-window-title[b-srp9uge5p2] {
    color: var(--xw-text);
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    line-height: 1;
}

.xw-window-controls[b-srp9uge5p2] {
    display: flex;
    gap: 0.15rem;
}

.xw-window-btn[b-srp9uge5p2] {
    background: none;
    border: none;
    color: var(--xw-text-muted);
    font-size: 0.7rem;
    cursor: var(--xw-cursor-hand);
    padding: 0.1rem 0.25rem;
    line-height: 1;
    transition: color 0.15s;
}

.xw-window-btn:hover[b-srp9uge5p2] {
    color: var(--xw-text);
}

.xw-window-body[b-srp9uge5p2] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-size: var(--xw-ui-font-size, 0.85rem);
}

/* Chat window uses a dedicated font-size setting that users can scale independently. */
.xw-window--Chat .xw-window-body[b-srp9uge5p2] {
    font-size: var(--xw-chat-font-size, 0.75rem);
}

/* Windows with item tooltips need overflow: visible so hovers extend beyond window bounds */
.xw-window--Inventory .xw-window-body[b-srp9uge5p2],
.xw-window--Character .xw-window-body[b-srp9uge5p2],
.xw-window--TeammateInventory .xw-window-body[b-srp9uge5p2],
.xw-window--TeammateInspect .xw-window-body[b-srp9uge5p2] {
    overflow: visible;
}

.xw-window-resize-handle[b-srp9uge5p2] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 18px;
    height: 18px;
    cursor: var(--xw-cursor-resize-diag1);
    color: var(--xw-text-muted);
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.5;
    user-select: none;
    z-index: 2;
}

.xw-window-resize-handle:hover[b-srp9uge5p2] {
    opacity: 1;
}

.xw-window-capture[b-srp9uge5p2] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    cursor: var(--xw-cursor-move);
}

.xw-window-capture--resize[b-srp9uge5p2] {
    cursor: var(--xw-cursor-resize-diag1);
}
/* /Components/Play/ItemTooltip.razor.rz.scp.css */
.xw-item-tooltip[b-zyqenjaetc] {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--xw-panel-2);
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    white-space: nowrap;
    z-index: 200;
    pointer-events: none;
    display: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.xw-item-tooltip-name[b-zyqenjaetc] {
    font-weight: bold;
    color: var(--xw-accent);
    font-size: 0.8rem;
    margin-bottom: 0.15rem;
}

.xw-item-tooltip-slot[b-zyqenjaetc] {
    color: var(--xw-text-muted);
    font-size: 0.7rem;
    margin-bottom: 0.2rem;
}

.xw-item-tooltip-stats[b-zyqenjaetc] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-bottom: 0.15rem;
}

.xw-item-tooltip-tag[b-zyqenjaetc] {
    color: var(--xw-text);
    font-size: 0.7rem;
    background: rgba(246, 214, 173, 0.08);
    padding: 0.05rem 0.3rem;
    border-radius: 2px;
}

.xw-item-tooltip-gem-header[b-zyqenjaetc] {
    color: var(--xw-accent-2, #8fd3f4);
    font-size: 0.7rem;
    font-weight: 600;
    margin-top: 0.15rem;
    margin-bottom: 0.1rem;
    border-top: 1px dashed var(--xw-border);
    padding-top: 0.15rem;
}

.xw-item-tooltip-gem-stats[b-zyqenjaetc] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-bottom: 0.15rem;
}

.xw-item-tooltip-gem-tag[b-zyqenjaetc] {
    color: var(--xw-accent-2, #8fd3f4);
    font-size: 0.7rem;
    background: rgba(143, 211, 244, 0.12);
    border: 1px solid rgba(143, 211, 244, 0.3);
    padding: 0.05rem 0.3rem;
    border-radius: 2px;
}

.xw-item-tooltip-skills[b-zyqenjaetc] {
    color: var(--xw-text-muted);
    font-size: 0.65rem;
    font-style: italic;
}
/* /Components/Play/PartyContextMenu.razor.rz.scp.css */
.xw-ctx-backdrop[b-blh7jdogur] {
    position: fixed;
    inset: 0;
    z-index: 125;
    background: transparent;
}

.xw-ctx-menu[b-blh7jdogur] {
    position: fixed;
    min-width: 140px;
    max-width: 240px;
    padding: 0.2rem;
    background: rgba(13, 10, 8, 0.97);
    border: 1px solid rgba(120, 95, 70, 0.6);
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    outline: none;
    max-height: calc(100vh - 16px);
    overflow-y: auto;
    transform: translate(0, 0);
    /* Clamp within viewport: if the menu's left+width would overflow, shift it back. */
    max-width: min(240px, calc(100vw - 8px));
}

.xw-ctx-item[b-blh7jdogur] {
    background: transparent;
    border: none;
    color: var(--xw-text);
    font-size: 0.75rem;
    text-align: left;
    padding: 0.3rem 0.5rem;
    border-radius: 3px;
    cursor: var(--xw-cursor-hand);
    font: inherit;
    transition: background 0.12s, color 0.12s;
}

.xw-ctx-item:hover:not(:disabled)[b-blh7jdogur] {
    background: rgba(60, 45, 35, 0.7);
    color: var(--xw-accent, #d4a857);
}

.xw-ctx-item:disabled[b-blh7jdogur] {
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-arrow);
    opacity: 0.6;
}
/* /Components/Play/QuestCompass.razor.rz.scp.css */
.xw-quest-compass[b-paj2u8h8c4] {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    font-family: monospace;
    font-size: 0.85em;
    padding: 0.15em 0.5em;
    border: 1px solid var(--xw-border, #5a4a36);
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.25);
    color: var(--xw-text, #e8d8b8);
}

.xw-quest-compass-dir[b-paj2u8h8c4] {
    font-weight: bold;
    color: #ffd47a;
    min-width: 1.5em;
    text-align: center;
}

.xw-quest-compass-dist[b-paj2u8h8c4] {
    color: var(--xw-text-muted, #c5b59b);
}

.xw-quest-compass-empty[b-paj2u8h8c4] {
    color: var(--xw-text-muted, #c5b59b);
    font-style: italic;
}
/* /Components/Play/SkillUpgradePanel.razor.rz.scp.css */
.xw-skill-upgrade-rows[b-w5c7ohfr0b] {
    display: grid;
    grid-template-columns: minmax(8.5rem, max-content) max-content max-content 1fr max-content;
    row-gap: 0.25rem;
    column-gap: 0.9rem;
    align-items: center;
}

.xw-skill-upgrade-row[b-w5c7ohfr0b] {
    display: contents;
}

.xw-skill-upgrade-row > *[b-w5c7ohfr0b] {
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(246, 214, 173, 0.1);
}

.xw-skill-upgrade-rows > .xw-skill-upgrade-row:last-of-type > *[b-w5c7ohfr0b] {
    border-bottom: none;
}

.xw-sur-name[b-w5c7ohfr0b] {
    color: var(--xw-text);
}

.xw-sur-effort[b-w5c7ohfr0b] {
    color: var(--xw-text-muted, #c5b59b);
    text-align: end;
    white-space: nowrap;
}

.xw-sur-picker[b-w5c7ohfr0b] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.xw-sur-target[b-w5c7ohfr0b] {
    min-width: 4.5ch;
    text-align: center;
    color: var(--xw-text);
    white-space: nowrap;
}

.xw-sur-cost[b-w5c7ohfr0b] {
    color: var(--xw-gold);
    font-weight: bold;
    white-space: nowrap;
}

.xw-sur-upgrade[b-w5c7ohfr0b] {
    justify-self: end;
}

.xw-sur-empty[b-w5c7ohfr0b] {
    grid-column: 1 / -1;
    color: var(--xw-text-muted, #c5b59b);
    text-align: center;
    margin: 0;
    padding: 0.5rem 0;
}

.xw-vendor-buy-btn[b-w5c7ohfr0b] {
    background: transparent;
    border: 1px solid var(--xw-accent);
    color: var(--xw-accent);
    padding: 0.25rem 0.75rem;
    border-radius: 3px;
    cursor: var(--xw-cursor-hand);
    font-size: 0.8rem;
}

.xw-vendor-buy-btn:hover:not(:disabled)[b-w5c7ohfr0b] {
    background: rgba(246, 214, 173, 0.1);
}

.xw-vendor-buy-btn:disabled[b-w5c7ohfr0b] {
    opacity: 0.3;
    cursor: var(--xw-cursor-unavailable);
}
/* /Layout/MainLayout.razor.rz.scp.css */
.xw-shell[b-ri99aprk1f] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at 14% 18%, rgba(130, 81, 42, 0.18), transparent 35%),
        radial-gradient(circle at 86% 78%, rgba(102, 46, 30, 0.2), transparent 32%),
        radial-gradient(circle at 88% 14%, rgba(107, 58, 158, 0.18), transparent 36%),
        radial-gradient(circle at 12% 82%, rgba(74, 38, 112, 0.16), transparent 34%),
        linear-gradient(180deg, #0a0b0f 0%, #120e0f 100%);
}

.xw-shell-content[b-ri99aprk1f] {
    flex: 1;
    padding: 1.5rem;
}
/* /Layout/PlayLayout.razor.rz.scp.css */
.play-shell[b-vd0rsisey6] {
    height: 100vh;
    overflow: hidden;
    background: #0a0b0f;
}

.play-main[b-vd0rsisey6] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
/* /Layout/PublicLayout.razor.rz.scp.css */
.public-shell[b-f10n0yqdjz] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background:
        radial-gradient(circle at 50% 50%, rgba(74, 38, 112, 0.32), transparent 55%),
        linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.7)),
        url('assets/splash/splashgen2.webp') center/cover no-repeat,
        linear-gradient(160deg, #09090c 0%, #120d0f 54%, #171112 100%);
    background-color: #09090c;
}

.public-main[b-f10n0yqdjz] {
    width: 100%;
    max-width: 34rem;
    position: relative;
}

.public-main[b-f10n0yqdjz]::before {
    content: "";
    position: absolute;
    inset: -1.5rem;
    border-radius: 1.4rem;
    background: radial-gradient(circle at 50% 50%, rgba(122, 76, 175, 0.28), transparent 70%);
    filter: blur(0.6rem);
    pointer-events: none;
    z-index: 0;
}

/* Positioning shell only — visible chrome comes from the inner .xw-card on each auth page. */
.public-content[b-f10n0yqdjz] {
    position: relative;
    z-index: 1;
}
/* /Layout/TopBarNav.razor.rz.scp.css */
.xw-topbar[b-ve2b6ehbgj] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.55rem 1rem;
    background:
        linear-gradient(180deg, rgba(40, 24, 56, 0.96) 0%, rgba(22, 14, 32, 0.96) 100%),
        repeating-linear-gradient(135deg,
            rgba(255, 255, 255, 0.02),
            rgba(255, 255, 255, 0.02) 2px,
            transparent 2px,
            transparent 8px);
    /* Stacked bottom rule — silver-purple over a hanging parchment hairline */
    border-bottom: 1px solid var(--xw-royal-border, rgba(190, 156, 240, 0.28));
    box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.5),
        0 2px 0 rgba(246, 214, 173, 0.12),
        0 3px 0 rgba(0, 0, 0, 0.35);
    position: sticky;
    top: 0;
    z-index: 50;
}

.brand[b-ve2b6ehbgj] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    color: inherit;
}

.brand-mark[b-ve2b6ehbgj] {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-weight: 700;
    color: #0c1118;
    background: linear-gradient(145deg, #f1c98f, #bb8452);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.3),
        0 0 0 2px var(--xw-royal, #4a2670),
        0 0 0 3px rgba(190, 156, 240, 0.35),
        0 0 0.6rem var(--xw-royal-glow, rgba(122, 76, 175, 0.22));
}

.brand-title[b-ve2b6ehbgj] {
    color: #f3e7d2;
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1;
}

.brand-subtitle[b-ve2b6ehbgj] {
    color: #c3b39a;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 0.1rem;
}

.actions[b-ve2b6ehbgj] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-left: 1.25rem;
    flex: 1;
}

.discord-link[b-ve2b6ehbgj] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #b9a7ff;
    text-decoration: none;
    padding: 0.45rem 0.85rem;
    border-radius: 0.45rem;
    font-weight: 500;
    font-size: 0.92rem;
    border: 1px solid rgba(185, 167, 255, 0.25);
    background: rgba(88, 101, 242, 0.12);
    line-height: 1.1;
}

.discord-link:hover[b-ve2b6ehbgj] {
    color: #d9cbff;
    background: rgba(88, 101, 242, 0.22);
    border-color: rgba(185, 167, 255, 0.4);
}

.user-chip[b-ve2b6ehbgj] {
    margin-left: 0;
}

.action-btn[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn,
.user-chip[b-ve2b6ehbgj]  .action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: transparent;
    border: 1px solid transparent;
    color: #d8c6ab;
    padding: 0.45rem 0.85rem;
    border-radius: 0.45rem;
    font-weight: 500;
    font-size: 0.92rem;
    text-decoration: none;
    cursor: var(--xw-cursor-hand);
    line-height: 1.1;
}

.action-btn:hover[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn:hover,
.user-chip[b-ve2b6ehbgj]  .action-btn:hover {
    color: #f9e8cd;
    background: rgba(209, 152, 88, 0.16);
}

/* Top-nav primary/secondary buttons mirror the bronze plaque chrome from app.css. */
.action-btn.primary[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn.primary {
    background: var(--xw-bronze);
    color: #1a1410;
    border: 2px solid var(--xw-bronze-edge);
    border-radius: 0.2rem;
    padding: 0.4rem 0.8rem;
    box-shadow:
        inset 1px 1px 0 rgba(255, 230, 191, 0.45),
        inset -1px -1px 0 rgba(0, 0, 0, 0.35);
}

.action-btn.primary:hover[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn.primary:hover {
    background: color-mix(in srgb, var(--xw-bronze) 92%, #fff);
    color: #1a1410;
}

.action-btn.secondary[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn.secondary {
    background: transparent;
    color: #f2c996;
    border: 2px solid var(--xw-bronze-edge);
    border-radius: 0.2rem;
    padding: 0.4rem 0.8rem;
    box-shadow: inset 1px 1px 0 rgba(255, 230, 191, 0.15);
}

.action-btn.secondary:hover[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn.secondary:hover {
    background: rgba(176, 122, 58, 0.18);
    color: #fff4e0;
    border-color: var(--xw-bronze-edge);
}

.action-btn.active[b-ve2b6ehbgj],
.actions[b-ve2b6ehbgj]  .action-btn.active {
    color: #f4ebff;
    background: linear-gradient(140deg, rgba(107, 58, 158, 0.55), rgba(74, 38, 112, 0.55));
    border-color: rgba(190, 156, 240, 0.35);
}

.caret[b-ve2b6ehbgj] {
    font-size: 0.7rem;
    opacity: 0.7;
}

.user-icon[b-ve2b6ehbgj] {
    font-size: 1.05rem;
}

/* Header dropdown styles — prefixed `xw-dd-*` to avoid Bootstrap's `.dropdown*` rules
   (Bootstrap's `.dropdown-menu` defaults to `display: none` and would hide our menu). */
.xw-dd[b-ve2b6ehbgj] {
    position: relative;
}

.xw-dd-menu[b-ve2b6ehbgj] {
    display: block;
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    min-width: 13rem;
    background: linear-gradient(180deg, #251a16 0%, #1a1412 100%);
    border: 1px solid var(--xw-royal-border, rgba(190, 156, 240, 0.28));
    border-radius: 0.45rem;
    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(74, 38, 112, 0.35);
    padding: 0.35rem;
    z-index: 60;
}

.xw-dd-menu.align-right[b-ve2b6ehbgj] {
    left: auto;
    right: 0;
}

.xw-dd-header[b-ve2b6ehbgj] {
    color: #c3b39a;
    font-size: 0.78rem;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 0.25rem;
    word-break: break-all;
}

.xw-dd-menu[b-ve2b6ehbgj]  .xw-dd-item {
    display: block;
    width: 100%;
    color: #d8c6ab;
    text-decoration: none;
    padding: 0.45rem 0.6rem;
    border-radius: 0.35rem;
    font-size: 0.9rem;
    white-space: nowrap;
}

.xw-dd-menu[b-ve2b6ehbgj]  .xw-dd-item:hover {
    color: #f9e8cd;
    background: rgba(209, 152, 88, 0.16);
}

.xw-dd-backdrop[b-ve2b6ehbgj] {
    position: fixed;
    inset: 0;
    z-index: 40;
    background: transparent;
}
/* /Pages/GlobalLobby.razor.rz.scp.css */
.xw-lobby[b-qoiymncfl2] {
    position: relative;
    min-height: calc(100vh - var(--xw-topbar-height));
    margin: -1.5rem;
    padding: 1.5rem;
    background-image: var(--xw-lobby-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.xw-lobby-overlay[b-qoiymncfl2] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    pointer-events: none;
}

.xw-lobby-grid[b-qoiymncfl2] {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 22rem);
    gap: 1.25rem;
    height: calc(100vh - var(--xw-topbar-height) - 3rem);
}

/* Dashboard layout: chat (left) + bulletin (top right) + summary (bottom right). */
.xw-dash-grid[b-qoiymncfl2] {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 26rem);
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
        "chat bulletin"
        "chat summary";
    gap: 1.25rem;
    height: calc(100vh - var(--xw-topbar-height) - 3rem);
}

.xw-dash-chat[b-qoiymncfl2] { grid-area: chat; }
.xw-dash-bulletin[b-qoiymncfl2] { grid-area: bulletin; display: flex; flex-direction: column; min-height: 0; }
.xw-dash-summary[b-qoiymncfl2] { grid-area: summary; display: flex; flex-direction: column; min-height: 0; }

.xw-dash-chat-body[b-qoiymncfl2] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 14rem);
    gap: 0.9rem;
    min-height: 0;
    margin-bottom: 0.5rem;
}

.xw-dash-presence-inline[b-qoiymncfl2] {
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    padding-left: 0.8rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.xw-dash-subhead[b-qoiymncfl2] {
    color: #f3e7d2;
    font-size: 1.05rem;
    font-weight: 400;
    margin: 0.6rem 0 0.4rem;
    line-height: 1;
}

.xw-dash-bulletin-list[b-qoiymncfl2] {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
}

.xw-dash-bulletin-item[b-qoiymncfl2] {
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.xw-dash-bulletin-item:last-child[b-qoiymncfl2] { border-bottom: none; }
.xw-dash-bulletin-item.pinned[b-qoiymncfl2] { background: rgba(176, 122, 58, 0.08); padding-left: 0.45rem; padding-right: 0.45rem; }
.xw-dash-bulletin-item.session .xw-dash-bulletin-title[b-qoiymncfl2] { color: #f1c98f; }

.xw-dash-bulletin-pin[b-qoiymncfl2] {
    color: var(--xw-accent, #cc8a4e);
    margin-right: 0.35rem;
}

.xw-dash-bulletin-title[b-qoiymncfl2] {
    color: #f3e7d2;
    font-size: 0.98rem;
    line-height: 1.3;
}

.xw-dash-bulletin-body[b-qoiymncfl2] {
    color: #c5b59b;
    font-size: 0.88rem;
    margin-top: 0.2rem;
    line-height: 1.4;
}

.xw-dash-bulletin-time[b-qoiymncfl2] {
    color: #8a7d6b;
    font-size: 0.78rem;
    margin-top: 0.25rem;
}

.xw-dash-summary-stats[b-qoiymncfl2] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.4rem;
    margin-bottom: 0.4rem;
}

.xw-dash-stat[b-qoiymncfl2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 4.25rem;
    padding: 0.5rem 0.25rem;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(94, 61, 24, 0.45);
    border-radius: 0.25rem;
}

.xw-dash-stat-num[b-qoiymncfl2] {
    color: #f3e7d2;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
}

.xw-dash-stat-label[b-qoiymncfl2] {
    color: #8a7d6b;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 0.25rem;
}

.xw-dash-stat.won .xw-dash-stat-num[b-qoiymncfl2] { color: #9ed47a; }
.xw-dash-stat.lost .xw-dash-stat-num[b-qoiymncfl2] { color: #d47a7a; }
.xw-dash-stat.neutral .xw-dash-stat-num[b-qoiymncfl2] { color: #d4c47a; }

.xw-dash-builds-list[b-qoiymncfl2] {
    list-style: decimal inside;
    margin: 0;
    padding: 0;
    color: #d8c6ab;
    font-size: 0.9rem;
    overflow-y: auto;
}

.xw-dash-builds-list li[b-qoiymncfl2] {
    padding: 0.35rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}

.xw-dash-builds-list li:last-child[b-qoiymncfl2] { border-bottom: none; }

.xw-dash-build-skills[b-qoiymncfl2] {
    color: #f3e7d2;
}

.xw-dash-build-count[b-qoiymncfl2] {
    color: #8a7d6b;
    font-size: 0.82rem;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .xw-dash-grid[b-qoiymncfl2] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: 1fr auto auto;
        grid-template-areas: "chat" "bulletin" "summary";
        height: auto;
    }
    .xw-dash-chat[b-qoiymncfl2] { min-height: 50vh; }
    .xw-dash-chat-body[b-qoiymncfl2] {
        grid-template-columns: minmax(0, 1fr);
    }
    .xw-dash-presence-inline[b-qoiymncfl2] {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
        padding-top: 0.5rem;
    }
}

.xw-lobby-section-head[b-qoiymncfl2] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    padding-bottom: 0.3rem;
    margin-bottom: 0.4rem;
}

.xw-lobby-section-head h2[b-qoiymncfl2] {
    color: #f3e7d2;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
}

/* Chat panel softens its chrome by default so the inn splash shows through a bit
   (content stays at full opacity — only the frame fades). Restores to full strength
   only when the chat input has keyboard focus (hover does not trigger). */
.xw-lobby-chat[b-qoiymncfl2] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: rgba(31, 22, 18, 0.55);
    border-color: rgba(94, 61, 24, 0.55);
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.xw-lobby-chat[b-qoiymncfl2]::before {
    opacity: 0.55;
    transition: opacity 0.18s ease;
}

.xw-lobby-chat:focus-within[b-qoiymncfl2] {
    background: var(--xw-wood);
    border-color: var(--xw-iron);
}

.xw-lobby-chat:focus-within[b-qoiymncfl2]::before {
    opacity: 1;
}

.xw-lobby-chat-body[b-qoiymncfl2] {
    flex: 1;
    overflow-y: auto;
    padding-right: 0.25rem;
    margin-bottom: 0.5rem;
}

.xw-lobby-empty[b-qoiymncfl2] {
    color: #8e7d68;
    font-style: italic;
    font-size: 0.9rem;
}

.xw-lobby-msg[b-qoiymncfl2] {
    color: #d8c6ab;
    font-size: 0.92rem;
    line-height: 1.45;
    padding: 0.1rem 0;
    word-wrap: break-word;
}

.xw-lobby-msg.system[b-qoiymncfl2] {
    color: #c3b39a;
    font-style: italic;
}

.xw-lobby-time[b-qoiymncfl2] {
    color: #8a7d6b;
    margin-right: 0.4rem;
    font-size: 0.82rem;
}

.xw-lobby-sender[b-qoiymncfl2] {
    color: var(--xw-accent, #cc8a4e);
    margin-right: 0.35rem;
    font-weight: 500;
}

.xw-lobby-system-link[b-qoiymncfl2] {
    color: #f1c98f;
    text-decoration: none;
}

.xw-lobby-system-link:hover[b-qoiymncfl2] {
    color: #fff4e0;
    text-decoration: underline;
}

.xw-lobby-system-text[b-qoiymncfl2] {
    color: #c3b39a;
}

.xw-lobby-input-row[b-qoiymncfl2] {
    display: flex;
    gap: 0.45rem;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 0.5rem;
}

.xw-lobby-input[b-qoiymncfl2] {
    flex: 1;
    background: color-mix(in srgb, var(--xw-parchment, #2a201a) 80%, #000);
    border: 1px solid var(--xw-bronze-edge, #5e3d18);
    border-radius: 0.25rem;
    color: #f3e7d2;
    padding: 0.5rem 0.65rem;
    font-size: 0.92rem;
}

.xw-lobby-input:focus[b-qoiymncfl2] {
    outline: none;
    border-color: rgba(242, 180, 120, 0.85);
    box-shadow: 0 0 0 0.18rem var(--xw-royal-glow, rgba(122, 76, 175, 0.22));
}

.xw-lobby-send[b-qoiymncfl2] {
    background: var(--xw-bronze, #b07a3a);
    border: 2px solid var(--xw-bronze-edge, #5e3d18);
    color: #1a1410;
    padding: 0.4rem 1rem;
    border-radius: 0.2rem;
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    cursor: var(--xw-cursor-hand);
    box-shadow:
        inset 1px 1px 0 rgba(255, 230, 191, 0.45),
        inset -1px -1px 0 rgba(0, 0, 0, 0.35);
    transition: background-color 0.12s ease, transform 0.05s ease;
}

.xw-lobby-send:hover:not(:disabled)[b-qoiymncfl2] {
    background: color-mix(in srgb, var(--xw-bronze, #b07a3a) 92%, #fff);
    transform: translateY(-1px);
}

.xw-lobby-send:disabled[b-qoiymncfl2] {
    opacity: 0.5;
    cursor: var(--xw-cursor-unavailable);
}

.xw-lobby-presence[b-qoiymncfl2] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.xw-lobby-presence-list[b-qoiymncfl2] {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    color: #d8c6ab;
    font-size: 0.92rem;
}

.xw-lobby-presence-list li[b-qoiymncfl2] {
    padding: 0.3rem 0.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.xw-lobby-presence-list li:last-child[b-qoiymncfl2] {
    border-bottom: none;
}
/* /Pages/Play/ActionCommandBar.razor.rz.scp.css */
.xw-ac-bar[b-r5bxlvqs1v] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
}

.xw-ac-track[b-r5bxlvqs1v] {
    position: relative;
    width: 600px;
    height: 40px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    overflow: hidden;
}

/* Zone positioning — left/width set via inline style from profile params */
.xw-ac-zone[b-r5bxlvqs1v] {
    position: absolute;
    top: 0;
    height: 100%;
}

.xw-ac-zone-good[b-r5bxlvqs1v] {
    background: rgba(255, 165, 0, 0.2);
}

.xw-ac-zone-great[b-r5bxlvqs1v] {
    background: rgba(255, 215, 0, 0.3);
}

.xw-ac-zone-perfect[b-r5bxlvqs1v] {
    background: rgba(255, 255, 100, 0.5);
}

/* Defense color overrides */
.xw-ac-defense .xw-ac-zone-good[b-r5bxlvqs1v] {
    background: rgba(100, 149, 237, 0.2);
}
.xw-ac-defense .xw-ac-zone-great[b-r5bxlvqs1v] {
    background: rgba(0, 191, 255, 0.3);
}
.xw-ac-defense .xw-ac-zone-perfect[b-r5bxlvqs1v] {
    background: rgba(0, 255, 255, 0.5);
}

/* Sweep indicator — duration/easing set via CSS custom properties from C# */
.xw-ac-indicator[b-r5bxlvqs1v] {
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 100%;
    background: white;
    border-radius: 4px;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.8);
    animation: xw-ac-sweep-b-r5bxlvqs1v var(--xw-ac-duration) var(--xw-ac-easing) forwards;
}

/* Bounce variant — overrides animation to oscillate 0 → end → 0 over the full duration.
 * Easing is forced linear so the visual path matches sweepProgressToPosition's triangle wave. */
.xw-ac-indicator-bounce[b-r5bxlvqs1v] {
    animation: xw-ac-sweep-bounce-b-r5bxlvqs1v var(--xw-ac-duration) linear forwards;
}

.xw-ac-defense .xw-ac-indicator[b-r5bxlvqs1v] {
    background: cyan;
    box-shadow: 0 0 12px rgba(0, 255, 255, 0.8);
}

@keyframes xw-ac-sweep-b-r5bxlvqs1v {
    from { transform: translateX(0); }
    to { transform: translateX(calc(600px - 8px)); }
}

@keyframes xw-ac-sweep-bounce-b-r5bxlvqs1v {
    0% { transform: translateX(0); }
    50% { transform: translateX(calc(600px - 8px)); }
    100% { transform: translateX(0); }
}

.xw-ac-complete .xw-ac-track[b-r5bxlvqs1v] {
    opacity: 0.4;
}

.xw-ac-label[b-r5bxlvqs1v] {
    font-size: 22px;
    color: var(--xw-text-muted, #c5b59b);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.xw-ac-complete .xw-ac-label[b-r5bxlvqs1v] {
    display: none;
}
/* /Pages/Play/ActionCommandChain.razor.rz.scp.css */
.xw-ac-chain-prompts[b-g0et4pmc59] {
    display: flex;
    gap: 24px;
    justify-content: center;
    align-items: center;
    padding: 8px 0;
}

.xw-ac-chain-prompt[b-g0et4pmc59] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.3);
    background: rgba(0, 0, 0, 0.4);
    transition: all 150ms ease;
}

/* Cue — prompt is about to become active */
.xw-ac-chain-cue[b-g0et4pmc59] {
    border-color: rgba(255, 200, 50, 0.6);
    background: rgba(255, 200, 50, 0.15);
}

/* Active — press Space now */
.xw-ac-chain-active[b-g0et4pmc59] {
    border-color: rgba(255, 255, 100, 0.9);
    background: rgba(255, 255, 100, 0.35);
    box-shadow: 0 0 20px rgba(255, 255, 100, 0.6);
    transform: scale(1.15);
}

/* Hit — successfully pressed */
.xw-ac-chain-hit[b-g0et4pmc59] {
    border-color: rgba(50, 205, 50, 0.9);
    background: rgba(50, 205, 50, 0.4);
    box-shadow: 0 0 16px rgba(50, 205, 50, 0.5);
}

/* Missed — failed to press in time */
.xw-ac-chain-missed[b-g0et4pmc59] {
    border-color: rgba(255, 60, 60, 0.7);
    background: rgba(255, 60, 60, 0.25);
}

/* Defense color overrides */
.xw-ac-defense .xw-ac-chain-cue[b-g0et4pmc59] {
    border-color: rgba(100, 149, 237, 0.6);
    background: rgba(100, 149, 237, 0.15);
}

.xw-ac-defense .xw-ac-chain-active[b-g0et4pmc59] {
    border-color: rgba(0, 255, 255, 0.9);
    background: rgba(0, 255, 255, 0.35);
    box-shadow: 0 0 20px rgba(0, 255, 255, 0.6);
}

.xw-ac-defense .xw-ac-chain-hit[b-g0et4pmc59] {
    border-color: rgba(0, 191, 255, 0.9);
    background: rgba(0, 191, 255, 0.4);
    box-shadow: 0 0 16px rgba(0, 191, 255, 0.5);
}
/* /Pages/Play/ActionCommandHold.razor.rz.scp.css */
.xw-ac-hold-fill[b-e2o8o34ilo] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: rgba(200, 200, 255, 0.5);
    border-radius: 3px 0 0 3px;
    transition: width 33ms linear;
}

.xw-ac-defense .xw-ac-hold-fill[b-e2o8o34ilo] {
    background: rgba(0, 191, 255, 0.5);
}
/* /Pages/Play/ActionCommandHost.razor.rz.scp.css */
.xw-conflict-timing-panel[b-usphio9mk9] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    background: rgba(13, 10, 8, 0.85);
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    padding: 1rem 2rem;
    z-index: 50;
    pointer-events: none;
}

.xw-ac-quality-display[b-usphio9mk9] {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    text-transform: uppercase;
    letter-spacing: 2px;
    animation: xw-ac-quality-pop-b-usphio9mk9 0.4s ease-out;
}
.xw-ac-quality-perfect[b-usphio9mk9] { color: #ffd700; text-shadow: 0 0 8px rgba(255, 215, 0, 0.6); }
.xw-ac-quality-great[b-usphio9mk9] { color: #4cff4c; text-shadow: 0 0 8px rgba(76, 255, 76, 0.6); }
.xw-ac-quality-good[b-usphio9mk9] { color: #e0e0e0; }

@keyframes xw-ac-quality-pop-b-usphio9mk9 {
    0% { transform: scale(1.5); opacity: 0; }
    50% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
/* /Pages/Play/ActionCommandMash.razor.rz.scp.css */
.xw-ac-mash-fill[b-oroxoi88br] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: rgba(50, 205, 50, 0.6);
    transition: width 50ms linear;
    border-radius: 3px 0 0 3px;
}

.xw-ac-defense .xw-ac-mash-fill[b-oroxoi88br] {
    background: rgba(0, 191, 255, 0.6);
}

.xw-ac-mash-counter[b-oroxoi88br] {
    font-size: 26px;
    font-weight: bold;
    color: var(--xw-text, #e8dcc8);
    letter-spacing: 2px;
}

.xw-ac-mash-timer[b-oroxoi88br] {
    width: 600px;
    height: 8px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 4px;
    animation: xw-ac-timer-b-oroxoi88br var(--xw-ac-duration) linear forwards;
}

@keyframes xw-ac-timer-b-oroxoi88br {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

.xw-ac-mash-timer[b-oroxoi88br] {
    transform-origin: left center;
}

.xw-ac-defense .xw-ac-mash-timer[b-oroxoi88br] {
    background: rgba(0, 255, 255, 0.5);
}
/* /Pages/Play/CompassWindow.razor.rz.scp.css */
.xw-compass-body[b-eb1i9hswqe] {
    height: 100%;
    overflow-y: auto;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    color: var(--xw-text, #e4d5b8);
}

.xw-compass-empty[b-eb1i9hswqe] {
    padding: 0.5rem;
    text-align: center;
    color: var(--xw-text-muted, #c5b59b);
    font-style: italic;
}

.xw-compass-table[b-eb1i9hswqe] {
    width: 100%;
    border-collapse: collapse;
}

.xw-compass-table th[b-eb1i9hswqe] {
    text-align: left;
    font-size: 0.7rem;
    font-weight: bold;
    border-bottom: 1px solid var(--xw-border, #5a4a34);
    padding: 0.15rem 0.25rem;
    color: var(--xw-text-muted, #c5b59b);
}

.xw-compass-table td[b-eb1i9hswqe] {
    padding: 0.1rem 0.25rem;
    border-bottom: 1px dotted rgba(90, 74, 52, 0.4);
}

.xw-compass-dir[b-eb1i9hswqe] {
    width: 2.5rem;
    font-weight: bold;
    color: #f4c87b;
    text-align: center;
}

.xw-compass-dist[b-eb1i9hswqe] {
    width: 3rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
/* /Pages/Play/ConflictLogPanel.razor.rz.scp.css */
.xw-clog[b-dhu92xmezm] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.35rem 0.5rem;
    font-size: var(--xw-chat-font-size, 0.75rem);
    color: var(--xw-text);
    line-height: 1.4;
    overflow-y: auto;
}

.xw-clog-empty[b-dhu92xmezm],
.xw-clog-empty-line[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-style: italic;
    padding: 0.2rem 0;
}

.xw-clog-empty[b-dhu92xmezm] {
    flex-shrink: 0;
}

.xw-clog-section[b-dhu92xmezm] {
    border: 1px solid rgba(197, 181, 155, 0.15);
    border-radius: 4px;
    padding: 0.35rem 0.45rem;
    background: rgba(0, 0, 0, 0.18);
    flex-shrink: 0;
}

.xw-clog-section--active[b-dhu92xmezm] {
    border-color: rgba(255, 153, 102, 0.45);
    background: rgba(255, 153, 102, 0.06);
}

.xw-clog-section-title[b-dhu92xmezm] {
    font-weight: 600;
    color: var(--xw-text);
    margin-bottom: 0.3rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.xw-clog-section-subtitle[b-dhu92xmezm] {
    font-weight: 600;
    color: var(--xw-text-muted);
    margin: 0.4rem 0 0.2rem 0;
    font-size: 0.95em;
}

.xw-clog-dot[b-dhu92xmezm] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--xw-text-muted);
}

.xw-clog-dot--live[b-dhu92xmezm] {
    background: #ff6b6b;
    box-shadow: 0 0 6px rgba(255, 107, 107, 0.7);
    animation: xw-clog-pulse-b-dhu92xmezm 1.4s ease-in-out infinite;
}

@keyframes xw-clog-pulse-b-dhu92xmezm {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* ── Conflict (collapsed) row ── */
.xw-clog-conflict[b-dhu92xmezm] {
    border: 1px solid rgba(197, 181, 155, 0.15);
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.12);
    overflow: hidden;
    flex-shrink: 0;
}

.xw-clog-conflict-row[b-dhu92xmezm] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 1.8rem;
    background: none;
    border: none;
    color: var(--xw-text);
    font-family: inherit;
    font-size: inherit;
    padding: 0.35rem 0.5rem;
    cursor: var(--xw-cursor-hand);
    text-align: left;
}

.xw-clog-conflict-row:hover[b-dhu92xmezm] {
    background: rgba(255, 255, 255, 0.04);
}

.xw-clog-conflict-title[b-dhu92xmezm] {
    flex: 1;
    font-weight: 500;
}

.xw-clog-conflict-meta[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.9em;
}

.xw-clog-chev[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.8em;
    width: 0.8rem;
    display: inline-block;
}

/* ── Participants ── */
.xw-clog-participants[b-dhu92xmezm] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.3rem 0.4rem 0.4rem 0.4rem;
    border-top: 1px solid rgba(197, 181, 155, 0.1);
}

.xw-clog-participant[b-dhu92xmezm] {
    border-radius: 3px;
    overflow: hidden;
    flex-shrink: 0;
}

.xw-clog-participant-row[b-dhu92xmezm] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    background: rgba(0, 0, 0, 0.18);
    border: none;
    color: var(--xw-text);
    font-family: inherit;
    font-size: inherit;
    padding: 0.35rem 0.5rem;
    cursor: var(--xw-cursor-hand);
    text-align: left;
    border-radius: 3px;
}

.xw-clog-participant-row:hover[b-dhu92xmezm] {
    background: rgba(255, 255, 255, 0.04);
}

.xw-clog-participant-row--player[b-dhu92xmezm] {
    border-left: 3px solid var(--xw-accent);
}

.xw-clog-participant-row--npc[b-dhu92xmezm] {
    border-left: 3px solid #ff9966;
}

.xw-clog-participant-name[b-dhu92xmezm] {
    flex: 1;
}

.xw-clog-participant-tag[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.xw-clog-summary[b-dhu92xmezm] {
    padding: 0.35rem 0.5rem 0.4rem 1.2rem;
    background: rgba(0, 0, 0, 0.1);
}

/* ── Turn list ── */
.xw-clog-turns[b-dhu92xmezm] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.xw-clog-turn[b-dhu92xmezm] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    row-gap: 0.2rem;
    padding: 0.2rem 0;
    flex-wrap: wrap;
}

.xw-clog-turn-num[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.85em;
    min-width: 1.8rem;
}

.xw-clog-turn--npc .xw-clog-turn-actor[b-dhu92xmezm] {
    color: #ff9966;
}

.xw-clog-turn--player .xw-clog-turn-actor[b-dhu92xmezm] {
    color: var(--xw-accent);
}

.xw-clog-turn-action[b-dhu92xmezm] {
    color: var(--xw-text);
    font-weight: 500;
}

.xw-clog-turn-arrow[b-dhu92xmezm] {
    color: var(--xw-text-muted);
}

.xw-clog-turn-target[b-dhu92xmezm] {
    color: var(--xw-text);
}

.xw-clog-turn-dmg[b-dhu92xmezm] {
    color: #ff6b6b;
    font-weight: 500;
}

.xw-clog-turn-heal[b-dhu92xmezm] {
    color: #6bff8a;
    font-weight: 500;
}

.xw-clog-turn-outcome[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.85em;
}

.xw-clog-turn-tag[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.7em;
    background: rgba(255, 153, 102, 0.15);
    padding: 0 0.25rem;
    border-radius: 2px;
    text-transform: uppercase;
}

.xw-clog-turn--dot[b-dhu92xmezm] {
    opacity: 0.85;
}

/* ── Breakdown bars ── */
.xw-clog-breakdown[b-dhu92xmezm] {
    margin-bottom: 0.4rem;
}

.xw-clog-breakdown-header[b-dhu92xmezm] {
    display: flex;
    justify-content: space-between;
    font-weight: 600;
    color: var(--xw-text-muted);
    margin-bottom: 0.2rem;
}

.xw-clog-breakdown-row[b-dhu92xmezm] {
    display: grid;
    grid-template-columns: minmax(5rem, 1fr) 2fr auto;
    align-items: center;
    gap: 0.4rem;
    padding: 0.2rem 0;
}

.xw-clog-breakdown-name[b-dhu92xmezm] {
    color: var(--xw-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xw-clog-breakdown-bar[b-dhu92xmezm] {
    display: block;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 2px;
    height: 0.5rem;
    overflow: hidden;
}

.xw-clog-breakdown-fill[b-dhu92xmezm] {
    display: block;
    height: 100%;
    background: var(--xw-accent);
    border-radius: 2px;
}

.xw-clog-breakdown-val[b-dhu92xmezm] {
    color: var(--xw-text-muted);
    font-size: 0.85em;
    white-space: nowrap;
}

/* ── Rewards ── */
.xw-clog-rewards[b-dhu92xmezm] {
    padding: 0.3rem 0.5rem 0.4rem 0.5rem;
    border-top: 1px solid rgba(197, 181, 155, 0.1);
    background: rgba(255, 215, 128, 0.04);
}

.xw-clog-reward-row[b-dhu92xmezm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding: 0.2rem 0;
}

.xw-clog-reward-label[b-dhu92xmezm] {
    color: var(--xw-text);
}

.xw-clog-reward-value[b-dhu92xmezm] {
    color: var(--xw-text);
    font-weight: 500;
}

.xw-clog-reward-value--gain[b-dhu92xmezm] {
    color: #e0c17a;
}
/* /Pages/Play/ConflictOverlay.razor.rz.scp.css */
.xw-conflict-backdrop[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    background-color: #0d0a08;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    image-rendering: pixelated;
    overflow: hidden;
}

.xw-conflict-scene[b-fhtjqwhlab] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: 6.5rem 1fr;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 1rem 4rem;
    gap: 1rem;
}

/* ── Turn banner — top center ── */

.xw-conflict-turn-banner[b-fhtjqwhlab] {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
    align-self: center;
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
    color: var(--xw-accent);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    background: rgba(13, 10, 8, 0.75);
    padding: 0.5rem 1.5rem;
    border-radius: 6px;
    letter-spacing: 0.05em;
}

/* ── Partial-bot controller indicator (visible to non-controller humans) ── */

.xw-conflict-controller-banner[b-fhtjqwhlab] {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: end;
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 3rem;
    background: rgba(13, 10, 8, 0.85);
    border: 1px solid var(--xw-border);
    color: var(--xw-text);
    padding: 0.35rem 0.8rem;
    border-radius: 4px;
    font-size: 0.85rem;
    z-index: 51;
}

/* Timing-panel + action-command quality display styles live in ActionCommandHost.razor.css
   because the markup moved out of this component (df83b215). Blazor CSS isolation scopes
   rules to the component that owns the markup, so they must travel together. */

/* ── Side containers — player side (left), NPC side (right) ── */

.xw-conflict-side[b-fhtjqwhlab] {
    display: grid;
    grid-template-columns: repeat(3, var(--xw-row-track-width, 192px));
    align-items: center;
    gap: 1rem;
    grid-row: 2;
    position: relative;
    max-width: 45vw;
}

.xw-conflict-side--players[b-fhtjqwhlab] {
    grid-column: 1;
    justify-self: start;
}

.xw-conflict-side--npcs[b-fhtjqwhlab] {
    grid-column: 3;
    justify-self: end;
}

/* Row columns — vertical stacks within a fixed-width track */
.xw-conflict-row-col[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

/* Per-row depth offset — back rank sits higher, front rank lower, producing
   a stair-step depth read regardless of which rows are populated. */
.xw-conflict-row-col--back[b-fhtjqwhlab]   { transform: translateY(-16px); }
.xw-conflict-row-col--middle[b-fhtjqwhlab] { transform: translateY(0); }
.xw-conflict-row-col--front[b-fhtjqwhlab]  { transform: translateY(16px); }

/* Empty row spacer — the grid track already reserves the column; this
   class is just a no-op marker that hides any future child content. */
.xw-row-spacer[b-fhtjqwhlab] {
    visibility: hidden;
}

/* Individual participant wrapper */
.xw-conflict-participant[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    position: relative;
}

/* Compact mode — smaller bars and badges when side has 5+ participants */
.xw-conflict-side--compact[b-fhtjqwhlab]  .xw-hp-bar-container,
.xw-conflict-side--compact[b-fhtjqwhlab]  .xw-resource-bar-container {
    height: 12px;
}

.xw-conflict-side--compact[b-fhtjqwhlab]  .xw-bar-label {
    font-size: 0.55rem;
    line-height: 12px;
}

.xw-conflict-side--compact .xw-conflict-participant[b-fhtjqwhlab] {
    gap: 0.25rem;
}

/* Dying state — grayed out, faded */
.xw-dying[b-fhtjqwhlab] {
    opacity: 0.4;
    filter: grayscale(80%);
}

/* ── Sprite containers (size set via inline style) ── */

.xw-conflict-character-container[b-fhtjqwhlab] {
    position: relative;
    flex-shrink: 0;
    --xw-anim-dir: 1;
}

.xw-conflict-character-layer[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

.xw-conflict-character[b-fhtjqwhlab] {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

.xw-conflict-npc-container[b-fhtjqwhlab] {
    position: relative;
    flex-shrink: 0;
    --xw-anim-dir: -1;
}

/* ── Action panel — screen center ── */

.xw-conflict-panel[b-fhtjqwhlab] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(180deg, rgba(37, 26, 22, 0.95) 0%, rgba(26, 20, 18, 0.98) 100%);
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    padding: 1rem 1.5rem;
    width: calc(100% - 2rem);
    max-width: 600px;
    max-height: 40vh;
    overflow-y: auto;
    z-index: 1;
}

/* Pin to bottom when the local player isn't driving the current turn
   (spectating, another player's turn, enemy turn). */
.xw-conflict-panel--bottom[b-fhtjqwhlab] {
    top: auto;
    bottom: 1rem;
    transform: translateX(-50%);
}

.xw-conflict-header[b-fhtjqwhlab] {
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--xw-border);
    padding-bottom: 0.5rem;
}

.xw-conflict-header h2[b-fhtjqwhlab] {
    margin: 0;
    font-size: 1.1rem;
    color: var(--xw-accent);
}

/* ── Action menu (unified for all conflict types) ── */

.xw-conflict-menu[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.xw-conflict-no-actions[b-fhtjqwhlab] {
    color: var(--xw-text-muted);
    font-style: italic;
    margin: 0;
}

.xw-conflict-category[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
}

.xw-conflict-category-btn[b-fhtjqwhlab] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--xw-border);
    color: var(--xw-accent);
    padding: 0.6rem 1rem;
    border-radius: 4px;
    cursor: var(--xw-cursor-hand);
    font-size: 0.95rem;
    font-weight: bold;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: background 0.15s;
}

.xw-conflict-category-btn:hover[b-fhtjqwhlab] {
    background: rgba(246, 214, 173, 0.1);
}

.xw-conflict-category-btn--expanded[b-fhtjqwhlab] {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-color: transparent;
}

.xw-conflict-actions[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--xw-border);
    border-top: none;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    overflow: hidden;
}

[b-fhtjqwhlab] .xw-conflict-action-btn {
    background: rgba(255, 255, 255, 0.03);
    border: none;
    border-bottom: 1px solid rgba(246, 214, 173, 0.08);
    color: var(--xw-text);
    padding: 0.5rem 1.5rem;
    cursor: var(--xw-cursor-hand);
    font-size: 0.9rem;
    text-align: left;
    transition: background 0.15s;
}

[b-fhtjqwhlab] .xw-conflict-action-btn:last-child {
    border-bottom: none;
}

.xw-compact-group-header[b-fhtjqwhlab] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--xw-accent);
    padding: 0.35rem 1.5rem 0.15rem;
    opacity: 0.7;
}

[b-fhtjqwhlab] .xw-conflict-action-btn:hover {
    background: rgba(246, 214, 173, 0.08);
    color: var(--xw-accent);
}

[b-fhtjqwhlab] .xw-conflict-btn--selected {
    background: rgba(246, 214, 173, 0.12);
    color: var(--xw-accent);
    outline: 1px solid rgba(246, 214, 173, 0.3);
    outline-offset: -1px;
}

/* ── Shop panel (inline within Shop category) ── */

[b-fhtjqwhlab] .xw-conflict-shop-panel {
    border: 1px solid var(--xw-border);
    border-top: none;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    padding: 1rem;
}

[b-fhtjqwhlab] .xw-conflict-shop-header {
    margin-bottom: 1rem;
}

[b-fhtjqwhlab] .xw-conflict-section h3 {
    font-size: 0.9rem;
    color: var(--xw-text-muted);
    margin: 0 0 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

[b-fhtjqwhlab] .xw-gold-display {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--xw-gold);
    margin: 0;
}

[b-fhtjqwhlab] .xw-conflict-message {
    font-size: 0.85rem;
    margin-top: 0.75rem;
    color: var(--xw-accent);
}

[b-fhtjqwhlab] .xw-conflict-message--error {
    color: #e05555;
}

[b-fhtjqwhlab] .xw-vendor-items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

[b-fhtjqwhlab] .xw-vendor-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(246, 214, 173, 0.1);
    border-radius: 4px;
}

[b-fhtjqwhlab] .xw-vendor-item-name {
    flex: 1;
    color: var(--xw-text);
}

[b-fhtjqwhlab] .xw-vendor-item-cost {
    color: var(--xw-gold);
    font-weight: bold;
    min-width: 3rem;
    text-align: right;
}

[b-fhtjqwhlab] .xw-vendor-buy-btn {
    background: transparent;
    border: 1px solid var(--xw-accent);
    color: var(--xw-accent);
    padding: 0.25rem 0.75rem;
    border-radius: 3px;
    cursor: var(--xw-cursor-hand);
    font-size: 0.8rem;
}

[b-fhtjqwhlab] .xw-vendor-buy-btn:hover:not(:disabled) {
    background: rgba(246, 214, 173, 0.1);
}

[b-fhtjqwhlab] .xw-vendor-buy-btn:disabled {
    opacity: 0.3;
    cursor: var(--xw-cursor-unavailable);
}

/* ── Close/Flee button ── */

.xw-conflict-close[b-fhtjqwhlab] {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--xw-border);
}

.xw-conflict-close-btn[b-fhtjqwhlab] {
    background: transparent;
    border: 1px solid #e05555;
    color: #e05555;
    padding: 0.4rem 1rem;
    border-radius: 3px;
    cursor: var(--xw-cursor-hand);
    font-size: 0.85rem;
    transition: background 0.15s;
}

.xw-conflict-close-btn:hover[b-fhtjqwhlab] {
    background: rgba(224, 85, 85, 0.1);
}

/* ── HP bars & damage numbers ── */

.xw-hp-bar-container[b-fhtjqwhlab] {
    position: relative;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.2);
    border-radius: 4px;
    overflow: hidden;
}

.xw-hp-bar-fill[b-fhtjqwhlab] {
    height: 100%;
    transition: width 0.4s ease-out;
    border-radius: 3px;
}

.xw-hp-bar-fill--player[b-fhtjqwhlab] {
    background: linear-gradient(180deg, #4caf50 0%, #2e7d32 100%);
}

.xw-hp-bar-fill--npc[b-fhtjqwhlab] {
    background: linear-gradient(180deg, #e05555 0%, #b71c1c 100%);
}

.xw-bar-label[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    text-align: center;
    font-size: 0.65rem;
    line-height: 16px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    z-index: 1;
}

.xw-damage-number[b-fhtjqwhlab] {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 4.2rem;
    font-weight: bold;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    animation: xw-damage-float-b-fhtjqwhlab 600ms ease-out forwards;
    z-index: 10;
}

.xw-damage-miss[b-fhtjqwhlab] {
    color: #888;
    font-size: 3rem;
    font-style: italic;
}

.xw-damage-weak[b-fhtjqwhlab] {
    color: #ccc;
}

.xw-damage-normal[b-fhtjqwhlab] {
    color: #ff6b6b;
}

.xw-damage-crit[b-fhtjqwhlab] {
    color: var(--xw-gold);
    font-size: 5.4rem;
}

.xw-damage-heal[b-fhtjqwhlab] {
    color: #4caf50;
}

.xw-damage-buff[b-fhtjqwhlab] {
    color: #4caf50;
    font-size: 3rem;
}

.xw-damage-debuff[b-fhtjqwhlab] {
    color: #b388ff;
    font-size: 3rem;
}

.xw-damage-mana[b-fhtjqwhlab] {
    color: #64b5f6;
}

.xw-damage-device[b-fhtjqwhlab] {
    color: var(--xw-gold);
}

@keyframes xw-damage-float-b-fhtjqwhlab {
    0%   { opacity: 1; transform: translateX(-50%) translateY(0); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-32px); }
}

/* ── Tier 2 overlay elements ── */

.xw-conflict-hit-overlay[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    background: rgba(255, 80, 80, 0.6);
    pointer-events: none;
    opacity: 0;
    z-index: 2;
}

.xw-conflict-slash-overlay[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 3;
    background: linear-gradient(
        -45deg,
        transparent 44%,
        rgba(255, 255, 255, 0.9) 48%,
        rgba(255, 255, 255, 0.9) 52%,
        transparent 56%
    );
}

.xw-conflict-spell-overlay[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    z-index: 4;
    image-rendering: pixelated;
    background-repeat: no-repeat;
}

.xw-anim-spell-effect[b-fhtjqwhlab] {
    opacity: 0.85;
}

.xw-spell-fade-in[b-fhtjqwhlab] {
    animation: xw-spell-fade-in-b-fhtjqwhlab 150ms ease-in forwards;
}

.xw-spell-fade-out[b-fhtjqwhlab] {
    animation: xw-spell-fade-out-b-fhtjqwhlab 200ms ease-out forwards;
}

@keyframes xw-spell-fade-in-b-fhtjqwhlab {
    0%   { opacity: 0; transform: scale(0.8); }
    100% { opacity: 0.85; transform: scale(1); }
}

@keyframes xw-spell-fade-out-b-fhtjqwhlab {
    0%   { opacity: 0.85; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.15); }
}

/* ── Tier 1 keyframes — transforms on sprite containers ── */

@keyframes xw-attack-lunge-b-fhtjqwhlab {
    0%   { transform: translateX(0); }
    40%  { transform: translateX(calc(var(--xw-anim-dir, 1) * var(--xw-lunge-dist, 48px))); }
    100% { transform: translateX(0); }
}

@keyframes xw-damage-shake-b-fhtjqwhlab {
    0%, 100% { transform: translateX(0); }
    15%      { transform: translateX(-6px); }
    30%      { transform: translateX(6px); }
    45%      { transform: translateX(-4px); }
    60%      { transform: translateX(4px); }
    80%      { transform: translateX(-2px); }
}

@keyframes xw-dodge-b-fhtjqwhlab {
    0%   { transform: translateX(0); }
    35%  { transform: translateX(calc(var(--xw-anim-dir, 1) * -32px)); }
    100% { transform: translateX(0); }
}

@keyframes xw-defeat-b-fhtjqwhlab {
    0%   { opacity: 1; transform: translateY(0) rotate(0deg); }
    100% { opacity: 0; transform: translateY(24px) rotate(12deg); }
}

@keyframes xw-buff-pulse-b-fhtjqwhlab {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.12); }
}

@keyframes xw-idle-bob-b-fhtjqwhlab {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}

/* ── Tier 2 keyframes — overlay effects ── */

@keyframes xw-hit-flash-b-fhtjqwhlab {
    0%   { opacity: 0.7; }
    100% { opacity: 0; }
}

@keyframes xw-screen-shake-b-fhtjqwhlab {
    0%, 100% { transform: translate(0, 0); }
    20%      { transform: translate(-4px, 2px); }
    40%      { transform: translate(4px, -2px); }
    60%      { transform: translate(-3px, 3px); }
    80%      { transform: translate(3px, -1px); }
}

@keyframes xw-slash-mark-b-fhtjqwhlab {
    0%   { clip-path: inset(0 100% 100% 0); opacity: 0.9; }
    50%  { clip-path: inset(0 0 0 0); opacity: 0.9; }
    100% { clip-path: inset(0 0 0 0); opacity: 0; }
}

/* ── Animation trigger classes ── */

.xw-anim-attack-lunge[b-fhtjqwhlab] { animation: xw-attack-lunge-b-fhtjqwhlab 320ms ease-in-out; }
.xw-anim-damage-shake[b-fhtjqwhlab] { animation: xw-damage-shake-b-fhtjqwhlab 400ms ease-out; }
.xw-anim-dodge[b-fhtjqwhlab]        { animation: xw-dodge-b-fhtjqwhlab 300ms ease-in-out; }
.xw-anim-defeat[b-fhtjqwhlab]       { animation: xw-defeat-b-fhtjqwhlab 600ms ease-out forwards; }
.xw-anim-buff-pulse[b-fhtjqwhlab]   { animation: xw-buff-pulse-b-fhtjqwhlab 500ms ease-in-out; }
.xw-anim-idle-bob[b-fhtjqwhlab]     { animation: xw-idle-bob-b-fhtjqwhlab 2s ease-in-out infinite; }
.xw-anim-hit-flash[b-fhtjqwhlab]    { animation: xw-hit-flash-b-fhtjqwhlab 200ms ease-out forwards; }
.xw-anim-screen-shake[b-fhtjqwhlab] { animation: xw-screen-shake-b-fhtjqwhlab 350ms ease-out; }
.xw-anim-slash-mark[b-fhtjqwhlab]   { animation: xw-slash-mark-b-fhtjqwhlab 300ms ease-out forwards; }

/* ── Targeting ── */

.xw-target-arrow[b-fhtjqwhlab] {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 14px solid var(--xw-accent);
    margin-bottom: 0.25rem;
    animation: xw-target-bounce-b-fhtjqwhlab 0.8s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

@keyframes xw-target-bounce-b-fhtjqwhlab {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

.xw-targeting-mode .xw-conflict-participant[b-fhtjqwhlab] {
    cursor: var(--xw-cursor-hand);
}

.xw-target-highlight[b-fhtjqwhlab] {
    cursor: var(--xw-cursor-hand);
}

.xw-target-highlight[b-fhtjqwhlab]::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 2px solid var(--xw-accent);
    border-radius: 8px;
    opacity: 0.6;
    animation: xw-target-pulse-b-fhtjqwhlab 1.2s ease-in-out infinite;
    pointer-events: none;
}

.xw-target-denied[b-fhtjqwhlab] {
    cursor: var(--xw-cursor-unavailable);
}

.xw-target-denied[b-fhtjqwhlab]::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 2px solid #d94b4b;
    border-radius: 8px;
    opacity: 0.6;
    animation: xw-target-pulse-b-fhtjqwhlab 1.2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes xw-target-pulse-b-fhtjqwhlab {
    0%, 100% { opacity: 0.3; }
    50%      { opacity: 0.7; }
}

.xw-targeting-prompt[b-fhtjqwhlab] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 0.6rem 1rem;
    background: rgba(13, 10, 8, 0.85);
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    color: var(--xw-accent);
    font-weight: bold;
    font-size: 0.95rem;
}

.xw-targeting-hint[b-fhtjqwhlab] {
    font-weight: normal;
    font-size: 0.8rem;
    color: var(--xw-text-muted);
}

/* ── World Conflict HUD ── */

.xw-wc-hud[b-fhtjqwhlab] {
    position: absolute;
    inset: 0;
    z-index: 100;
    pointer-events: none;
}

.xw-wc-hud > *[b-fhtjqwhlab] {
    pointer-events: auto;
}

.xw-wc-turn-banner[b-fhtjqwhlab] {
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
    color: var(--xw-accent);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    background: rgba(13, 10, 8, 0.85);
    padding: 0.5rem 1.5rem;
    border-radius: 6px;
    letter-spacing: 0.05em;
    border: 1px solid var(--xw-border);
}

/* ── NPC action announcement ── */

.xw-action-announcement[b-fhtjqwhlab] {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
    align-self: end;
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
    color: var(--xw-text);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    padding: 0.25rem 1rem;
    margin-top: 3.5rem;
}

.xw-action-announcement--world[b-fhtjqwhlab] {
    position: absolute;
    top: 4rem;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(13, 10, 8, 0.85);
    padding: 0.4rem 1.2rem;
    border-radius: 6px;
    border: 1px solid var(--xw-border);
}

.xw-wc-side-panel[b-fhtjqwhlab] {
    position: absolute;
    bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: rgba(13, 10, 8, 0.85);
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    padding: 0.75rem;
    min-width: 220px;
}

.xw-wc-side-panel--players[b-fhtjqwhlab] {
    right: calc(50% + 270px);
}

.xw-wc-side-panel--npcs[b-fhtjqwhlab] {
    left: calc(50% + 270px);
}

.xw-wc-hp-entry[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
}

.xw-wc-hp-entry--summon[b-fhtjqwhlab] {
    opacity: 0.85;
    border-left: 2px solid var(--xw-accent-secondary, #7b68ee);
    padding-left: 0.35rem;
}

.xw-wc-hp-name[b-fhtjqwhlab] {
    font-size: 1rem;
    color: var(--xw-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xw-wc-hp-bar[b-fhtjqwhlab] {
    width: 100%;
    height: 16px;
}

.xw-wc-action-panel[b-fhtjqwhlab] {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    max-width: 500px;
    width: calc(100% - 2rem);
}

.xw-wc-move-counter[b-fhtjqwhlab] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 1rem;
}

.xw-wc-move-steps[b-fhtjqwhlab] {
    color: #7ec8e3;
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* ── Responsive ── */

@media (max-width: 768px) {
    .xw-conflict-scene[b-fhtjqwhlab] {
        padding: 1rem 1.5rem;
    }
    .xw-conflict-side[b-fhtjqwhlab] {
        gap: 0.5rem;
    }
    .xw-conflict-panel[b-fhtjqwhlab] {
        max-width: 100%;
        max-height: 35vh;
    }
    .xw-conflict-turn-banner[b-fhtjqwhlab] {
        font-size: 1rem;
    }
}

/* ── Loot phase ── */

.xw-loot-panel[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 0;
}

.xw-loot-item[b-fhtjqwhlab] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.xw-loot-item-sprite[b-fhtjqwhlab] {
    flex-shrink: 0;
    image-rendering: pixelated;
}

.xw-loot-item-name[b-fhtjqwhlab] {
    font-weight: bold;
    color: #ffd700;
}

.xw-loot-item-index[b-fhtjqwhlab] {
    color: #c5b59b;
    font-size: 0.85rem;
}

.xw-loot-buttons[b-fhtjqwhlab] {
    display: flex;
    gap: 0.5rem;
}

.xw-loot-results[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.xw-loot-winner[b-fhtjqwhlab] {
    color: #4cff4c;
    font-weight: bold;
}

.xw-loot-ground[b-fhtjqwhlab] {
    color: #ff9966;
}

.xw-loot-waiting[b-fhtjqwhlab] {
    color: #c5b59b;
    font-style: italic;
}

.xw-loot-message[b-fhtjqwhlab] {
    color: #c5b59b;
}

/* ── Resource bars (stamina/mana) ── */

.xw-resource-bar-container[b-fhtjqwhlab] {
    position: relative;
    height: 16px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(246, 214, 173, 0.15);
    border-radius: 3px;
    overflow: hidden;
    margin-top: 1px;
}

.xw-resource-bar-fill[b-fhtjqwhlab] {
    height: 100%;
    transition: width 0.4s ease-out;
    border-radius: 2px;
}

.xw-resource-bar-fill--stamina[b-fhtjqwhlab] {
    background: linear-gradient(180deg, #ffa726 0%, #e65100 100%);
}

.xw-resource-bar-fill--mana[b-fhtjqwhlab] {
    background: linear-gradient(180deg, #42a5f5 0%, #1565c0 100%);
}

/* ── Action cost labels ── */

.xw-action-cost[b-fhtjqwhlab] {
    font-size: 0.75em;
    margin-left: 0.3em;
    opacity: 0.85;
}

.xw-action-cost--stamina[b-fhtjqwhlab] {
    color: #ffa726;
}

.xw-action-cost--mana[b-fhtjqwhlab] {
    color: #42a5f5;
}

.xw-action-price[b-fhtjqwhlab] {
    font-size: 0.75em;
    margin-left: 0.3em;
    color: var(--xw-text-muted);
}

/* ── Disabled action buttons ── */

[b-fhtjqwhlab] .xw-conflict-action-btn:disabled {
    opacity: 0.4;
    cursor: var(--xw-cursor-unavailable);
}

/* Phase 3 — non-combat conflict kind state (brewing Quality/Toxicity/Temperature) */
[b-fhtjqwhlab] .xw-conflict-kind-panel {
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 14px;
    background: rgba(20, 16, 12, 0.85);
    border: 1px solid rgba(197, 181, 155, 0.4);
    border-radius: 6px;
    min-width: 280px;
    z-index: 5;
}

[b-fhtjqwhlab] .xw-kind-bar-label {
    font-size: 12px;
    color: #c5b59b;
    margin-bottom: 2px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

[b-fhtjqwhlab] .xw-kind-bar-track {
    height: 12px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(197, 181, 155, 0.3);
    border-radius: 3px;
    overflow: hidden;
}

[b-fhtjqwhlab] .xw-kind-bar-fill {
    height: 100%;
    transition: width 240ms ease-out;
}

[b-fhtjqwhlab] .xw-kind-bar--quality .xw-kind-bar-fill { background: linear-gradient(90deg, #4a8c3a, #6cc24f); }
[b-fhtjqwhlab] .xw-kind-bar--toxicity .xw-kind-bar-fill { background: linear-gradient(90deg, #5a2c7a, #9b51c8); }
[b-fhtjqwhlab] .xw-kind-bar--temperature .xw-kind-bar-fill { background: linear-gradient(90deg, #b85420, #e89030); }

/* ── End-of-conflict summary ── */

.xw-conflict-summary[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

.xw-summary-banner[b-fhtjqwhlab] {
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    letter-spacing: 1px;
}

.xw-summary-banner--victory[b-fhtjqwhlab] {
    color: #4cff4c;
    background: rgba(76, 255, 76, 0.12);
    border: 1px solid rgba(76, 255, 76, 0.4);
}

.xw-summary-banner--defeat[b-fhtjqwhlab] {
    color: #ff6b6b;
    background: rgba(255, 107, 107, 0.12);
    border: 1px solid rgba(255, 107, 107, 0.4);
}

.xw-summary-banner--fled[b-fhtjqwhlab] {
    color: #c5b59b;
    background: rgba(197, 181, 155, 0.1);
    border: 1px solid rgba(197, 181, 155, 0.3);
}

.xw-summary-banner--mixed[b-fhtjqwhlab] {
    color: #e8c674;
    background: rgba(232, 198, 116, 0.12);
    border: 1px solid rgba(232, 198, 116, 0.3);
}

.xw-summary-empty[b-fhtjqwhlab] {
    color: #c5b59b;
    font-style: italic;
    text-align: center;
    margin: 0;
}

.xw-summary-section[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.xw-summary-section h3[b-fhtjqwhlab] {
    margin: 0;
    font-size: 0.95rem;
    color: #ffd700;
    border-bottom: 1px solid rgba(197, 181, 155, 0.2);
    padding-bottom: 0.15rem;
}

.xw-summary-loot[b-fhtjqwhlab],
.xw-summary-resources[b-fhtjqwhlab],
.xw-summary-xp-lines[b-fhtjqwhlab] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.xw-summary-loot li[b-fhtjqwhlab] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.xw-summary-loot-sprite[b-fhtjqwhlab] {
    flex-shrink: 0;
    image-rendering: pixelated;
}

.xw-summary-loot-name[b-fhtjqwhlab] {
    font-weight: bold;
    color: #ffd700;
}

.xw-summary-loot-winner[b-fhtjqwhlab] {
    color: #c5b59b;
    font-size: 0.9rem;
}

.xw-summary-xp-player[b-fhtjqwhlab] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-top: 0.2rem;
}

.xw-summary-xp-player-name[b-fhtjqwhlab] {
    font-weight: bold;
}

.xw-summary-xp-levelup[b-fhtjqwhlab] {
    color: #4cff4c;
    font-weight: bold;
    margin-left: 0.3rem;
}

.xw-summary-meta[b-fhtjqwhlab] {
    color: #c5b59b;
    font-size: 0.85rem;
    text-align: center;
    font-style: italic;
}

.xw-summary-footer[b-fhtjqwhlab] {
    display: flex;
    justify-content: center;
    margin-top: 0.25rem;
}

.xw-summary-continue[b-fhtjqwhlab] {
    min-width: 10rem;
    text-align: center;
}
/* /Pages/Play/Entity/EntityEffectsWindow.razor.rz.scp.css */
.xw-effects-body[b-vtyibso7kw] {
    padding: 0.4rem 0.5rem;
    overflow-y: auto;
    height: 100%;
    font-size: var(--xw-ui-font-size, 0.85rem);
}
/* /Pages/Play/Entity/EntityInventoryWindow.razor.rz.scp.css */
.xw-inventory-content[b-xyraov1add] {
    padding: 0.4rem 0.5rem;
    overflow-y: auto;
    height: 100%;
    font-size: var(--xw-ui-font-size, 0.85rem);
}

.xw-inventory-restricted[b-xyraov1add] {
    font-size: 0.75rem;
    text-align: center;
    font-style: italic;
    color: var(--xw-text-muted);
    padding: 1rem 0;
}

.xw-inventory-empty[b-xyraov1add] {
    font-size: 0.8rem;
    margin-top: 0.75rem;
    text-align: center;
}
/* /Pages/Play/Entity/EntityPaperdollWindow.razor.rz.scp.css */
/* Sub-window cross-link buttons (Inspect context — three buttons in title bar). */

.xw-inspect-subwin-btn[b-vzmmu32kb3] {
    background: transparent;
    border: 1px solid var(--xw-bronze-edge, #5e3d18);
    border-radius: 0.2rem;
    color: #f2c996;
    cursor: var(--xw-cursor-hand);
    padding: 0.1rem 0.5rem;
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    margin-right: 4px;
    box-shadow: inset 1px 1px 0 rgba(255, 230, 191, 0.12);
}

.xw-inspect-subwin-btn:first-of-type[b-vzmmu32kb3] {
    margin-left: auto;
}

.xw-inspect-subwin-btn:hover[b-vzmmu32kb3] {
    background-color: rgba(176, 122, 58, 0.18);
    color: #fff4e0;
}

/* Single cross-link button (Self context). */

.xw-inspect-effects-btn[b-vzmmu32kb3] {
    background: transparent;
    border: 1px solid var(--xw-bronze-edge, #5e3d18);
    border-radius: 0.2rem;
    color: #f2c996;
    cursor: var(--xw-cursor-hand);
    padding: 0.1rem 0.5rem;
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    margin-left: auto;
    box-shadow: inset 1px 1px 0 rgba(255, 230, 191, 0.12);
}

.xw-inspect-effects-btn:hover[b-vzmmu32kb3] {
    background-color: rgba(176, 122, 58, 0.18);
    color: #fff4e0;
}

/* Body container. */

.xw-inspect-body[b-vzmmu32kb3] {
    height: 100%;
    width: 100%;
    font-size: var(--xw-ui-font-size, 0.85rem);
}

/* Resources / Skills info line (rendered in EntityPaperdoll's ExtraInfoContent slot). */

.xw-allowed-skills[b-vzmmu32kb3] {
    font-size: calc(0.6rem * var(--xw-win-scale, 1));
    color: var(--xw-text-muted);
    text-align: center;
    max-width: calc(180px * var(--xw-win-scale, 1));
    margin-top: 4px;
}

.xw-allowed-skills-label[b-vzmmu32kb3] {
    color: var(--xw-accent);
    font-weight: bold;
    margin-right: 4px;
}
/* /Pages/Play/Entity/EntitySkillsWindow.razor.rz.scp.css */
.xw-skills-container[b-7iptot6iin] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 0.4rem 0.5rem;
    overflow-y: auto;
    height: 100%;
    font-size: var(--xw-ui-font-size, 0.85rem);
}

.xw-skills-list[b-7iptot6iin] {
    flex: 1;
    min-width: 240px;
}

[b-7iptot6iin] h3 {
    font-size: 0.85rem;
    color: var(--xw-text-muted);
    margin: 0 0 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.xw-divider[b-7iptot6iin] {
    border: none;
    border-top: 1px solid rgba(246, 214, 173, 0.1);
    margin: 0.6rem 0;
}

.xw-boons-empty[b-7iptot6iin] {
    font-size: 0.8rem;
}

[b-7iptot6iin] .xw-xp-ready {
    font-size: 0.65rem;
    color: #7fc97f;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.05rem 0.3rem;
    border-radius: 0.2rem;
    background: rgba(127, 201, 127, 0.12);
}

[b-7iptot6iin] .xw-skill-upgrade-btn {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.1rem 0.4rem;
    border-radius: 0.2rem;
    border: 1px solid rgba(127, 201, 127, 0.5);
    background: rgba(127, 201, 127, 0.18);
    color: #7fc97f;
    cursor: var(--xw-cursor-hand);
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}

[b-7iptot6iin] .xw-skill-upgrade-btn:hover {
    background: rgba(127, 201, 127, 0.32);
    color: #aee0ae;
}

/* Actions panel */

.xw-actions-panel[b-7iptot6iin] {
    min-width: 240px;
    max-width: 300px;
}

.xw-actions-empty[b-7iptot6iin] {
    font-size: 0.8rem;
}

.xw-action-row[b-7iptot6iin] {
    padding: 0.4rem 0;
    border-bottom: 1px solid rgba(246, 214, 173, 0.08);
}

.xw-action-row:last-child[b-7iptot6iin] {
    border-bottom: none;
}

.xw-action-header[b-7iptot6iin] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.xw-action-name[b-7iptot6iin] {
    font-size: 0.85rem;
}

.xw-action-level[b-7iptot6iin] {
    font-size: 0.7rem;
    color: var(--xw-text-muted);
}

.xw-action-details[b-7iptot6iin] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.2rem;
}

.xw-action-cost[b-7iptot6iin] {
    font-size: 0.7rem;
    padding: 0.1rem 0.35rem;
    border-radius: 0.2rem;
    font-weight: 500;
}

.xw-action-cost--st[b-7iptot6iin] {
    background: rgba(76, 175, 80, 0.15);
    color: #81c784;
}

.xw-action-cost--mp[b-7iptot6iin] {
    background: rgba(66, 165, 245, 0.15);
    color: #64b5f6;
}

.xw-action-gear-tag[b-7iptot6iin] {
    font-size: 0.65rem;
    padding: 0.1rem 0.35rem;
    border-radius: 0.2rem;
    background: rgba(255, 183, 77, 0.15);
    color: #ffb74d;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.xw-action-row--hidden[b-7iptot6iin] {
    opacity: 0.55;
}

.xw-action-row--hidden .xw-action-name[b-7iptot6iin] {
    font-style: italic;
    text-decoration: line-through;
    text-decoration-color: rgba(246, 214, 173, 0.4);
}

.xw-action-header-meta[b-7iptot6iin] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.xw-action-visibility-btn[b-7iptot6iin] {
    background: none;
    border: none;
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-hand);
    font-size: 0.85rem;
    padding: 0 0.2rem;
    line-height: 1;
    border-radius: 0.2rem;
    transition: color 0.15s ease, background 0.15s ease;
}

.xw-action-visibility-btn:hover[b-7iptot6iin] {
    color: var(--xw-accent, #d4a857);
    background: rgba(212, 168, 87, 0.1);
}

.xw-action-visibility-btn--hidden[b-7iptot6iin] {
    color: #ef5350;
}

.xw-action-visibility-btn--hidden:hover[b-7iptot6iin] {
    color: #ff7961;
}

.xw-action-hidden-tag[b-7iptot6iin] {
    font-size: 0.65rem;
    padding: 0.1rem 0.35rem;
    border-radius: 0.2rem;
    background: rgba(239, 83, 80, 0.15);
    color: #ef5350;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Overworld Ability Slotting */

.xw-ability-slots-row[b-7iptot6iin] {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.6rem;
}

.xw-ow-slot[b-7iptot6iin] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding: 0.3rem 0.4rem;
    border: 1px solid rgba(212, 168, 87, 0.3);
    border-radius: 0.3rem;
    background: rgba(212, 168, 87, 0.08);
    min-height: 2rem;
    position: relative;
}

.xw-ow-slot--empty[b-7iptot6iin] {
    border-style: dashed;
    background: rgba(246, 214, 173, 0.03);
}

.xw-ow-slot-name[b-7iptot6iin] {
    font-size: 0.75rem;
    color: var(--xw-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.xw-ow-slot-key[b-7iptot6iin] {
    font-size: 0.7rem;
    color: var(--xw-text-muted);
}

.xw-ow-slot-remove[b-7iptot6iin] {
    background: none;
    border: none;
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-hand);
    font-size: 0.65rem;
    padding: 0 0.15rem;
    line-height: 1;
}

.xw-ow-slot-remove:hover[b-7iptot6iin] {
    color: #ef5350;
}

.xw-ow-ability-list[b-7iptot6iin] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.xw-ow-ability-row[b-7iptot6iin] {
    padding: 0.35rem 0.5rem;
    border-radius: 0.3rem;
    cursor: var(--xw-cursor-hand);
    transition: background 0.15s ease;
    border-bottom: 1px solid rgba(246, 214, 173, 0.06);
}

.xw-ow-ability-row:hover[b-7iptot6iin] {
    background: rgba(246, 214, 173, 0.06);
}

.xw-ow-ability--locked[b-7iptot6iin] {
    opacity: 0.45;
    cursor: var(--xw-cursor-arrow);
}

.xw-ow-ability--locked:hover[b-7iptot6iin] {
    background: none;
}

.xw-ow-ability--slotted[b-7iptot6iin] {
    background: rgba(212, 168, 87, 0.1);
    border-left: 2px solid var(--xw-accent, #d4a857);
    cursor: var(--xw-cursor-arrow);
}

.xw-ow-ability--slotted:hover[b-7iptot6iin] {
    background: rgba(212, 168, 87, 0.12);
}

.xw-ow-ability-info[b-7iptot6iin] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.xw-ow-ability-name[b-7iptot6iin] {
    font-size: 0.85rem;
}

.xw-ow-ability-skill[b-7iptot6iin] {
    font-size: 0.7rem;
    color: var(--xw-text-muted);
}

.xw-ow-ability-meta[b-7iptot6iin] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.15rem;
}

.xw-ow-ability-badge[b-7iptot6iin] {
    font-size: 0.65rem;
    padding: 0.05rem 0.3rem;
    border-radius: 0.2rem;
    background: rgba(212, 168, 87, 0.2);
    color: var(--xw-accent, #d4a857);
    font-weight: 500;
}

.xw-ow-ability-lock[b-7iptot6iin] {
    font-size: 0.7rem;
    color: var(--xw-text-muted);
}

.xw-ow-ability-desc[b-7iptot6iin] {
    font-size: 0.7rem;
    margin: 0.15rem 0 0;
}

.xw-ow-empty[b-7iptot6iin] {
    font-size: 0.8rem;
}
/* /Pages/Play/ForfeitVoteOverlay.razor.rz.scp.css */
.xw-forfeit-backdrop[b-imbbc5basz] {
    position: absolute;
    inset: 0;
    z-index: 150;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
}

.xw-forfeit-panel[b-imbbc5basz] {
    background: linear-gradient(180deg, rgba(37, 26, 22, 0.98) 0%, rgba(26, 20, 18, 0.99) 100%);
    border: 1px solid var(--xw-border);
    border-radius: 0.85rem;
    box-shadow: 0 0.9rem 2rem rgba(0, 0, 0, 0.6);
    padding: 1.5rem 2rem;
    min-width: 320px;
    max-width: 420px;
    text-align: center;
}

.xw-forfeit-panel h3[b-imbbc5basz] {
    color: var(--xw-gold);
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
}

.xw-forfeit-panel p[b-imbbc5basz] {
    font-size: 0.85rem;
    margin-bottom: 0.75rem;
}

.xw-forfeit-timer[b-imbbc5basz] {
    font-size: 1.2rem;
    color: var(--xw-gold);
    margin-bottom: 0.75rem;
    font-weight: bold;
}

.xw-forfeit-tally[b-imbbc5basz] {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.xw-vote-yes[b-imbbc5basz] {
    color: #e05555;
}

.xw-vote-no[b-imbbc5basz] {
    color: #55b855;
}

.xw-vote-total[b-imbbc5basz] {
    color: var(--xw-text-muted);
}

.xw-forfeit-buttons[b-imbbc5basz] {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.xw-forfeit-waiting[b-imbbc5basz] {
    color: var(--xw-text-muted);
    font-style: italic;
    font-size: 0.8rem;
}
/* /Pages/Play/GameChatWindow.razor.rz.scp.css */
.xw-chat-tabs[b-eotes931ig] {
    display: flex;
    gap: 0.15rem;
}

.xw-chat-tab[b-eotes931ig] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--xw-text-muted);
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 0.85rem;
    letter-spacing: 0.03em;
    padding: 0.15rem 0.5rem;
    cursor: var(--xw-cursor-hand);
    transition: color 0.15s, border-color 0.15s;
}

.xw-chat-tab:hover[b-eotes931ig] {
    color: var(--xw-text);
}

.xw-chat-tab--active[b-eotes931ig] {
    color: #f2c996;
    border-bottom-color: var(--xw-bronze, #b07a3a);
}

.xw-chat-body[b-eotes931ig] {
    flex: 1;
    overflow-y: auto;
    padding: 0.35rem 0.5rem;
    font-size: var(--xw-chat-font-size, 0.75rem);
    color: var(--xw-text);
    line-height: 1.4;
    height: 100%;
}

.xw-chat-msg[b-eotes931ig] {
    padding: 0.1rem 0;
    word-wrap: break-word;
}

.xw-chat-msg--world[b-eotes931ig] {
    color: var(--xw-text);
}

.xw-chat-msg--chat[b-eotes931ig] {
    color: var(--xw-text);
}

.xw-chat-msg--bot[b-eotes931ig] {
    font-style: italic;
    opacity: 0.82;
}

.xw-chat-sender[b-eotes931ig] {
    color: var(--xw-accent);
    font-weight: 600;
    margin-right: 0.25rem;
}

.xw-chat-time[b-eotes931ig] {
    color: var(--xw-text-muted);
    font-size: calc(var(--xw-chat-font-size, 0.75rem) - 0.1rem);
    margin-right: 0.25rem;
    opacity: 0.7;
}

.xw-chat-input-row[b-eotes931ig] {
    display: flex;
    gap: 0.25rem;
    padding: 0.25rem 0.4rem 0.35rem 0.4rem;
    border-top: 1px solid rgba(197, 181, 155, 0.15);
    background: rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}

.xw-chat-input[b-eotes931ig] {
    flex: 1;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(197, 181, 155, 0.25);
    border-radius: 2px;
    color: var(--xw-text);
    font-family: inherit;
    font-size: var(--xw-chat-font-size, 0.75rem);
    padding: 0.2rem 0.4rem;
    outline: none;
    min-width: 0;
}

.xw-chat-input:focus[b-eotes931ig] {
    border-color: var(--xw-accent);
    background: rgba(0, 0, 0, 0.5);
}

.xw-chat-input[b-eotes931ig]::placeholder {
    color: var(--xw-text-muted);
    opacity: 0.6;
}

.xw-chat-send[b-eotes931ig] {
    background: rgba(197, 181, 155, 0.12);
    border: 1px solid rgba(197, 181, 155, 0.3);
    border-radius: 2px;
    color: var(--xw-text);
    font-family: inherit;
    font-size: calc(var(--xw-chat-font-size, 0.75rem) - 0.05rem);
    padding: 0.15rem 0.55rem;
    cursor: var(--xw-cursor-hand);
    transition: background 0.15s, border-color 0.15s;
}

.xw-chat-send:hover:not(:disabled)[b-eotes931ig] {
    background: rgba(197, 181, 155, 0.2);
    border-color: var(--xw-accent);
}

.xw-chat-send:disabled[b-eotes931ig] {
    opacity: 0.4;
    cursor: var(--xw-cursor-unavailable);
}
/* /Pages/Play/MinimapWindow.razor.rz.scp.css */
.xw-minimap-body[b-20ropsahef] {
    flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    height: 100%;
}

.xw-minimap-canvas[b-20ropsahef] {
    display: block;
    image-rendering: pixelated;
}
/* /Pages/Play/NotificationWindow.razor.rz.scp.css */
.xw-notif-content-area[b-1ucya3o12y] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0.6rem;
}

.xw-notif-content[b-1ucya3o12y] {
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size, 0.85rem);
    line-height: 1.5;
    white-space: pre-wrap;
}

.xw-notif-speaker[b-1ucya3o12y] {
    color: var(--xw-accent, #d4a857);
    font-weight: 600;
}

.xw-notif-ok-row[b-1ucya3o12y] {
    display: flex;
    flex-shrink: 0;
    border-top: 1px solid var(--xw-border);
}

.xw-notif-ok-btn[b-1ucya3o12y] {
    flex: 1;
    background: rgba(37, 26, 22, 0.95);
    border: none;
    color: var(--xw-text);
    padding: 0.45rem;
    font-size: 0.9rem;
    cursor: var(--xw-cursor-hand);
    transition: background 0.15s, color 0.15s;
}

.xw-notif-ok-btn:hover[b-1ucya3o12y] {
    background: rgba(60, 45, 35, 0.95);
    color: var(--xw-accent, #d4a857);
}
/* /Pages/Play/NpcInspectPanel.razor.rz.scp.css */
.xw-inspect-panel[b-3rvvvaok62] {
    min-width: 280px;
    max-width: 360px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1100;
}

.xw-inspect-vitals[b-3rvvvaok62] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.xw-inspect-bar[b-3rvvvaok62] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.xw-inspect-bar label[b-3rvvvaok62] {
    width: 30px;
    font-weight: bold;
    font-size: 0.8rem;
}

.xw-inspect-bar span[b-3rvvvaok62] {
    font-size: 0.75rem;
    white-space: nowrap;
}

.xw-inspect-bar-track[b-3rvvvaok62] {
    flex: 1;
    height: 12px;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 3px;
    overflow: hidden;
}

.xw-inspect-bar-fill[b-3rvvvaok62] {
    height: 100%;
    transition: width 0.3s;
}

.xw-inspect-bar-fill.xw-hp[b-3rvvvaok62] {
    background: var(--xw-hp, #c0392b);
}

.xw-inspect-bar-fill.xw-sta[b-3rvvvaok62] {
    background: var(--xw-stamina, #d4a017);
}

.xw-inspect-bar-fill.xw-mp[b-3rvvvaok62] {
    background: var(--xw-mana, #2980b9);
}

.xw-inspect-section[b-3rvvvaok62] {
    margin-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 6px;
}

.xw-inspect-section h3[b-3rvvvaok62] {
    font-size: 0.85rem;
    margin: 0 0 4px 0;
    color: var(--xw-accent, #d4a017);
}

.xw-inspect-row[b-3rvvvaok62] {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    padding: 2px 0;
}
/* /Pages/Play/PartyListWindow.razor.rz.scp.css */
.xw-party-body[b-edbt21k6bd] {
    flex: 1;
    overflow-y: auto;
    padding: 0.3rem;
    height: 100%;
}

.xw-party-row[b-edbt21k6bd] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.4rem;
    border-radius: 3px;
    font-size: 0.75rem;
    user-select: none;
}

.xw-party-row--other[b-edbt21k6bd] {
    cursor: var(--xw-cursor-context);
    transition: background 0.15s;
}

.xw-party-row--other:hover[b-edbt21k6bd] {
    background: rgba(60, 45, 35, 0.6);
}

.xw-party-row--self[b-edbt21k6bd] {
    cursor: var(--xw-cursor-arrow);
}

.xw-party-name[b-edbt21k6bd] {
    color: var(--xw-text);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xw-party-row--self .xw-party-name[b-edbt21k6bd] {
    color: var(--xw-accent, #d4a857);
}

.xw-party-badge[b-edbt21k6bd] {
    font-size: 0.6rem;
    color: var(--xw-text-muted);
    background: rgba(60, 45, 35, 0.5);
    padding: 0.05rem 0.3rem;
    border-radius: 3px;
}

.xw-party-badge.xw-party-badge--follow[b-edbt21k6bd] {
    color: #a8c8e8;
    background: rgba(168, 200, 232, 0.18);
}

.xw-party-status[b-edbt21k6bd] {
    font-size: 0.6rem;
    color: #c97a5a;
}
/* /Pages/Play/QuestLogWindow.razor.rz.scp.css */
.xw-quest-log-body[b-85islj155u] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    padding: 0.4em 0.6em;
    height: 100%;
    overflow-y: auto;
}

.xw-quest-log-empty[b-85islj155u] {
    color: var(--xw-text-muted, #c5b59b);
    font-style: italic;
    text-align: center;
    padding: 1em 0;
}

.xw-quest-card[b-85islj155u] {
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    padding: 0.4em 0.5em;
    border: 1px solid var(--xw-border, #5a4a36);
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.2);
}

.xw-quest-card--completed[b-85islj155u] {
    opacity: 0.6;
}

.xw-quest-card-header[b-85islj155u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5em;
}

.xw-quest-card-title[b-85islj155u] {
    font-family: "MedievalSharp", "Cinzel", Georgia, serif;
    font-size: 1em;
    color: var(--xw-text, #e8d8b8);
    letter-spacing: 0.02em;
}

.xw-quest-card-badge[b-85islj155u] {
    font-size: 0.8em;
    color: #8fd07a;
    border: 1px solid #8fd07a;
    border-radius: 3px;
    padding: 0 0.4em;
    text-transform: uppercase;
}

.xw-quest-card-desc[b-85islj155u] {
    color: var(--xw-text-muted, #c5b59b);
    font-size: 0.9em;
}
/* /Pages/Play/SettingsMenu.razor.rz.scp.css */
.xw-settings-body[b-ugc4yjiie1] {
    height: 100%;
    overflow-y: auto;
    padding: 0.85rem 1rem 1.75rem;
}

.xw-keybind-section[b-ugc4yjiie1] {
    margin-bottom: 0.5rem;
}

.xw-keybind-row[b-ugc4yjiie1] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-bottom: 0.2rem;
}

.xw-keybind-label[b-ugc4yjiie1] {
    flex: 1;
    font-size: 0.75rem;
    color: var(--xw-text);
}

.xw-keybind-key[b-ugc4yjiie1] {
    min-width: 40px;
    padding: 0.15rem 0.3rem;
    font-size: 0.7rem;
    text-align: center;
    background: rgba(37, 26, 22, 0.8);
    border: 1px solid var(--xw-border);
    border-radius: 3px;
    color: var(--xw-text);
    cursor: var(--xw-cursor-hand);
    font-family: inherit;
    transition: border-color 0.15s, background 0.15s;
}

.xw-keybind-key:hover[b-ugc4yjiie1] {
    border-color: var(--xw-accent);
}

.xw-keybind-key--listening[b-ugc4yjiie1] {
    border-color: var(--xw-accent);
    background: rgba(60, 45, 35, 0.9);
    color: var(--xw-accent);
}

.xw-keybind-error[b-ugc4yjiie1] {
    font-size: 0.7rem;
    color: #e55;
    margin-bottom: 0.3rem;
}
/* /Pages/Play/SharedStashWindow.razor.rz.scp.css */
.xw-stash-window[b-4mp2bt34sm] {
    position: absolute;
    z-index: 130;
    display: flex;
    flex-direction: column;
    background: rgba(13, 10, 8, 0.95);
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    font-size: var(--xw-ui-font-size, 0.85rem);
}

.xw-stash-titlebar[b-4mp2bt34sm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(37, 26, 22, 0.95);
    padding: 0.2rem 0.4rem;
    cursor: var(--xw-cursor-move);
    user-select: none;
    border-bottom: 1px solid var(--xw-border);
    flex-shrink: 0;
}

.xw-stash-title[b-4mp2bt34sm] {
    color: var(--xw-text-muted);
    font-size: 0.85rem;
    font-weight: 600;
}

.xw-stash-controls[b-4mp2bt34sm] { display: flex; gap: 4px; }

.xw-stash-btn[b-4mp2bt34sm] {
    background: none;
    border: none;
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-hand);
    font-size: 0.8rem;
    padding: 0 2px;
    line-height: 1;
}

.xw-stash-btn:hover[b-4mp2bt34sm] { color: var(--xw-text); }

.xw-stash-body[b-4mp2bt34sm] {
    flex: 1;
    overflow-y: auto;
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.xw-stash-section-header[b-4mp2bt34sm] {
    color: var(--xw-text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.3rem;
    border-bottom: 1px solid var(--xw-border);
    margin-bottom: 0.2rem;
}

.xw-stash-resources[b-4mp2bt34sm] {
    background: rgba(30, 22, 18, 0.6);
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    padding: 0.3rem;
}

.xw-stash-resource-grid[b-4mp2bt34sm] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.xw-stash-resource-row[b-4mp2bt34sm] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
}

.xw-stash-resource-label[b-4mp2bt34sm] {
    color: var(--xw-text-muted);
    width: 60px;
}

.xw-stash-resource-value[b-4mp2bt34sm] {
    color: var(--xw-text);
    width: 40px;
    text-align: right;
    font-weight: 600;
}

.xw-stash-resource-yours[b-4mp2bt34sm] {
    color: var(--xw-text-muted);
    font-size: 0.7rem;
}

.xw-stash-action-btn[b-4mp2bt34sm] {
    background: rgba(60, 45, 35, 0.8);
    border: 1px solid var(--xw-border);
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-hand);
    font-size: 0.7rem;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
}

.xw-stash-action-btn:hover:not(:disabled)[b-4mp2bt34sm] {
    background: rgba(80, 60, 45, 0.9);
    color: var(--xw-text);
}

.xw-stash-action-btn:disabled[b-4mp2bt34sm] {
    opacity: 0.4;
    cursor: var(--xw-cursor-arrow);
}

.xw-stash-panels[b-4mp2bt34sm] {
    display: flex;
    gap: 0.4rem;
    flex: 1;
    min-height: 0;
}

.xw-stash-panel[b-4mp2bt34sm] {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: rgba(30, 22, 18, 0.6);
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    padding: 0.3rem;
    min-height: 0;
}

.xw-stash-item-list[b-4mp2bt34sm] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.xw-stash-item[b-4mp2bt34sm] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.3rem;
    cursor: var(--xw-cursor-hand);
    border-radius: 3px;
    font-size: 0.75rem;
}

.xw-stash-item:hover[b-4mp2bt34sm] {
    background: rgba(80, 60, 45, 0.5);
}

.xw-stash-item-sprite[b-4mp2bt34sm] {
    flex-shrink: 0;
}

.xw-stash-item-name[b-4mp2bt34sm] {
    color: var(--xw-text);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.xw-stash-item-qty[b-4mp2bt34sm] {
    color: var(--xw-text-muted);
    font-size: 0.7rem;
}

.xw-stash-empty[b-4mp2bt34sm] {
    color: var(--xw-text-muted);
    font-size: 0.7rem;
    text-align: center;
    padding: 1rem;
    font-style: italic;
}

.xw-stash-qty-overlay[b-4mp2bt34sm] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.xw-stash-qty-dialog[b-4mp2bt34sm] {
    background: rgba(30, 22, 18, 0.95);
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    padding: 0.8rem;
    text-align: center;
    font-size: 0.8rem;
}

.xw-stash-qty-dialog p[b-4mp2bt34sm] {
    margin: 0 0 0.4rem;
}

.xw-stash-qty-dialog input[b-4mp2bt34sm] {
    width: 80px;
    background: rgba(13, 10, 8, 0.8);
    border: 1px solid var(--xw-border);
    color: var(--xw-text);
    padding: 0.2rem 0.4rem;
    border-radius: 3px;
    text-align: center;
    font-size: 0.8rem;
}

.xw-stash-qty-buttons[b-4mp2bt34sm] {
    display: flex;
    gap: 0.4rem;
    justify-content: center;
    margin-top: 0.4rem;
}

.xw-stash-resize-handle[b-4mp2bt34sm] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 14px;
    height: 14px;
    cursor: var(--xw-cursor-resize-diag1);
}

.xw-stash-capture[b-4mp2bt34sm] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    cursor: var(--xw-cursor-move);
}

.xw-stash-capture--resize[b-4mp2bt34sm] { cursor: var(--xw-cursor-resize-diag1); }
/* /Pages/Play/TradeRequestPopup.razor.rz.scp.css */
.xw-trade-request-backdrop[b-i3cvaie56d] {
    position: fixed;
    inset: 0;
    z-index: 135;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
}

.xw-trade-request-popup[b-i3cvaie56d] {
    background: rgba(13, 10, 8, 0.95);
    border: 1px solid var(--xw-border);
    border-radius: 8px;
    padding: 1rem 1.5rem;
    text-align: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
}

.xw-trade-request-text[b-i3cvaie56d] {
    color: var(--xw-text);
    font-size: 0.85rem;
    margin-bottom: 0.8rem;
}

.xw-trade-request-buttons[b-i3cvaie56d] {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.xw-trade-request-accept[b-i3cvaie56d] {
    background: rgba(60, 100, 60, 0.6);
    border: 1px solid #4a7a4a;
    color: var(--xw-text);
    font-size: 0.75rem;
    padding: 6px 20px;
    border-radius: 4px;
    cursor: var(--xw-cursor-hand);
}

.xw-trade-request-accept:hover[b-i3cvaie56d] { background: rgba(60, 100, 60, 0.8); }

.xw-trade-request-decline[b-i3cvaie56d] {
    background: rgba(100, 40, 40, 0.6);
    border: 1px solid #7a4a4a;
    color: var(--xw-text);
    font-size: 0.75rem;
    padding: 6px 20px;
    border-radius: 4px;
    cursor: var(--xw-cursor-hand);
}

.xw-trade-request-decline:hover[b-i3cvaie56d] { background: rgba(100, 40, 40, 0.8); }
/* /Pages/Play/TradeWindow.razor.rz.scp.css */
.xw-trade-window[b-8f7s5r555i] {
    position: absolute;
    z-index: 130;
    display: flex;
    flex-direction: column;
    background: rgba(13, 10, 8, 0.95);
    border: 1px solid var(--xw-border);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.xw-trade-titlebar[b-8f7s5r555i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(37, 26, 22, 0.95);
    padding: 0.2rem 0.4rem;
    cursor: var(--xw-cursor-move);
    user-select: none;
    border-bottom: 1px solid var(--xw-border);
    flex-shrink: 0;
}

.xw-trade-title[b-8f7s5r555i] {
    color: var(--xw-text-muted);
    font-size: calc(var(--xw-ui-font-size) + 0.05rem);
    font-weight: 600;
}

.xw-trade-controls[b-8f7s5r555i] { display: flex; gap: 4px; }

.xw-trade-btn[b-8f7s5r555i] {
    background: none;
    border: none;
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-hand);
    font-size: var(--xw-ui-font-size);
    padding: 0 2px;
    line-height: 1;
}

.xw-trade-btn:hover[b-8f7s5r555i] { color: var(--xw-text); }

.xw-trade-body[b-8f7s5r555i] {
    flex: 1;
    overflow-y: auto;
    padding: 0.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.xw-trade-offers[b-8f7s5r555i] {
    display: flex;
    gap: 0.4rem;
}

.xw-trade-offer-panel[b-8f7s5r555i] {
    flex: 1;
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    padding: 0.3rem;
    min-height: 80px;
}

.xw-trade-offer-header[b-8f7s5r555i] {
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    font-weight: 600;
    margin-bottom: 0.2rem;
    display: flex;
    align-items: center;
    gap: 4px;
}

.xw-trade-confirmed[b-8f7s5r555i] {
    color: #6c6;
    font-weight: bold;
}

.xw-trade-offer-items[b-8f7s5r555i] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.xw-trade-offer-item[b-8f7s5r555i] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px;
    border-radius: 3px;
    cursor: var(--xw-cursor-hand);
    background: rgba(255, 255, 255, 0.05);
}

.xw-trade-offer-item:hover[b-8f7s5r555i] { background: rgba(255, 255, 255, 0.1); }

.xw-trade-item-sprite[b-8f7s5r555i] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.xw-trade-item-name[b-8f7s5r555i] {
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
}

.xw-trade-item-qty[b-8f7s5r555i] {
    color: var(--xw-text-muted);
    font-size: calc(var(--xw-ui-font-size) - 0.05rem);
}

.xw-trade-offer-resources[b-8f7s5r555i] {
    margin-top: 0.2rem;
}

.xw-trade-resource[b-8f7s5r555i] {
    color: var(--xw-text-muted);
    font-size: var(--xw-ui-font-size);
    display: flex;
    gap: 4px;
}

.xw-trade-resource-inputs[b-8f7s5r555i] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 0.2rem 0;
    border-top: 1px solid var(--xw-border);
}

.xw-trade-resource-label[b-8f7s5r555i] {
    color: var(--xw-text-muted);
    font-size: var(--xw-ui-font-size);
}

.xw-trade-resource-input[b-8f7s5r555i] {
    color: var(--xw-text-muted);
    font-size: var(--xw-ui-font-size);
    display: flex;
    align-items: center;
    gap: 3px;
}

.xw-trade-resource-input input[b-8f7s5r555i] {
    width: 50px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--xw-border);
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    padding: 1px 3px;
    border-radius: 3px;
}

.xw-trade-inventories[b-8f7s5r555i] {
    display: flex;
    gap: 0.4rem;
    flex: 1;
    min-height: 0;
}

.xw-trade-inventory-panel[b-8f7s5r555i] {
    flex: 1;
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    padding: 0.3rem;
    overflow-y: auto;
}

.xw-trade-inv-header[b-8f7s5r555i] {
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.xw-trade-inv-grid[b-8f7s5r555i] {
    display: flex;
    flex-wrap: wrap;
    gap: calc(0.5rem * var(--xw-win-scale, 1));
    justify-content: center;
    align-content: start;
}

.xw-trade-inv-grid > .xw-inventory-slot[b-8f7s5r555i] {
    width: calc(48px * var(--xw-win-scale, 1));
    height: calc(76px * var(--xw-win-scale, 1));
    cursor: var(--xw-cursor-hand);
}

.xw-trade-inv-grid > .xw-inventory-slot--filled:hover[b-8f7s5r555i] {
    border-color: var(--xw-accent);
    background: rgba(15, 11, 10, 0.85);
}

.xw-trade-inv-item--offered[b-8f7s5r555i] {
    opacity: 0.4;
    pointer-events: none;
}

.xw-trade-qty-picker[b-8f7s5r555i] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0.3rem;
    background: rgba(37, 26, 22, 0.95);
    border: 1px solid var(--xw-border);
    border-radius: 4px;
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
}

.xw-trade-qty-picker input[b-8f7s5r555i] {
    width: 50px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--xw-border);
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    padding: 2px 4px;
    border-radius: 3px;
}

.xw-trade-qty-picker button[b-8f7s5r555i] {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid var(--xw-border);
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    padding: 2px 8px;
    border-radius: 3px;
    cursor: var(--xw-cursor-hand);
}

.xw-trade-footer[b-8f7s5r555i] {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 0.3rem;
    border-top: 1px solid var(--xw-border);
    flex-shrink: 0;
}

.xw-trade-confirm-btn[b-8f7s5r555i] {
    background: rgba(60, 100, 60, 0.6);
    border: 1px solid #4a7a4a;
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    padding: 4px 16px;
    border-radius: 4px;
    cursor: var(--xw-cursor-hand);
}

.xw-trade-confirm-btn:hover[b-8f7s5r555i] { background: rgba(60, 100, 60, 0.8); }

.xw-trade-confirmed-btn[b-8f7s5r555i] {
    background: rgba(60, 100, 60, 0.3);
    cursor: var(--xw-cursor-arrow);
}

.xw-trade-cancel-btn[b-8f7s5r555i] {
    background: rgba(100, 40, 40, 0.6);
    border: 1px solid #7a4a4a;
    color: var(--xw-text);
    font-size: var(--xw-ui-font-size);
    padding: 4px 16px;
    border-radius: 4px;
    cursor: var(--xw-cursor-hand);
}

.xw-trade-cancel-btn:hover[b-8f7s5r555i] { background: rgba(100, 40, 40, 0.8); }

.xw-trade-resize-handle[b-8f7s5r555i] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 16px;
    height: 16px;
    cursor: var(--xw-cursor-resize-diag1);
    text-align: center;
    line-height: 16px;
    font-size: 10px;
    color: var(--xw-text-muted);
    user-select: none;
}

.xw-trade-capture[b-8f7s5r555i] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    cursor: var(--xw-cursor-move);
}

.xw-trade-capture--resize[b-8f7s5r555i] { cursor: var(--xw-cursor-resize-diag1); }
/* /Pages/Play/TraitDrawOverlay.razor.rz.scp.css */
.xw-trait-backdrop[b-pkbrxqfpd4] {
    position: absolute;
    inset: 0;
    z-index: 140;
    background: rgba(0, 0, 0, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
}

.xw-trait-panel[b-pkbrxqfpd4] {
    background: linear-gradient(180deg, rgba(37, 26, 22, 0.98) 0%, rgba(26, 20, 18, 0.99) 100%);
    border: 1px solid var(--xw-border);
    border-radius: 0.85rem;
    box-shadow: 0 0.9rem 2rem rgba(0, 0, 0, 0.6);
    padding: 1.5rem 2rem;
    min-width: 600px;
    max-width: 800px;
    text-align: center;
}

.xw-trait-panel h3[b-pkbrxqfpd4] {
    color: var(--xw-gold);
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.xw-trait-panel p[b-pkbrxqfpd4] {
    font-size: 0.8rem;
    margin-bottom: 1rem;
}

.xw-trait-cards[b-pkbrxqfpd4] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
}

.xw-trait-card[b-pkbrxqfpd4] {
    flex: 1;
    max-width: 220px;
    background: rgba(20, 15, 12, 0.9);
    border: 2px solid var(--xw-border);
    border-radius: 0.5rem;
    padding: 1rem 0.75rem;
    cursor: var(--xw-cursor-hand);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: border-color 0.15s, transform 0.15s;
    text-align: center;
    color: var(--xw-text);
}

.xw-trait-card:hover[b-pkbrxqfpd4] {
    transform: translateY(-4px);
}

/* Specialization = blue accent */
.xw-trait-spec[b-pkbrxqfpd4] {
    border-color: #4488cc;
}

.xw-trait-spec:hover[b-pkbrxqfpd4] {
    border-color: #66aaee;
    box-shadow: 0 0 12px rgba(68, 136, 204, 0.3);
}

/* Passive = green accent */
.xw-trait-passive[b-pkbrxqfpd4] {
    border-color: #55aa55;
}

.xw-trait-passive:hover[b-pkbrxqfpd4] {
    border-color: #77cc77;
    box-shadow: 0 0 12px rgba(85, 170, 85, 0.3);
}

/* Item = amber accent */
.xw-trait-item[b-pkbrxqfpd4] {
    border-color: #cc9944;
}

.xw-trait-item:hover[b-pkbrxqfpd4] {
    border-color: #eebb66;
    box-shadow: 0 0 12px rgba(204, 153, 68, 0.3);
}

.xw-trait-type-badge[b-pkbrxqfpd4] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.7;
}

.xw-trait-name[b-pkbrxqfpd4] {
    font-size: 0.95rem;
    font-weight: bold;
    color: var(--xw-gold);
}

.xw-trait-slot[b-pkbrxqfpd4] {
    font-size: 0.7rem;
    color: #cc9944;
    font-style: italic;
}

.xw-trait-desc[b-pkbrxqfpd4] {
    font-size: 0.75rem;
    line-height: 1.3;
    opacity: 0.85;
}
/* /Pages/SessionCreate.razor.rz.scp.css */
.xw-create-shell[b-9838118f1c] {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 2.5rem;
}

.xw-create-card[b-9838118f1c] {
    width: 100%;
    max-width: 32rem;
    padding: 2rem 2.25rem 1.75rem;
}

.xw-create-header[b-9838118f1c] {
    margin-bottom: 1.5rem;
    padding-bottom: 0.25rem;
}

.xw-create-header h1[b-9838118f1c] {
    margin: 0 0 0.35rem;
    font-size: 2rem;
    letter-spacing: 0.05em;
}

.xw-create-header p[b-9838118f1c] {
    margin: 0;
    color: var(--xw-text-muted);
    font-size: 0.95rem;
}


.xw-create-field[b-9838118f1c] {
    margin-bottom: 1.5rem;
}

.xw-create-actions[b-9838118f1c] {
    display: flex;
    justify-content: flex-end;
}

.xw-create-actions .btn[b-9838118f1c] {
    min-width: 10rem;
}

.xw-create-status[b-9838118f1c] {
    margin: 0;
    color: var(--xw-text-muted);
}

.xw-create-error[b-9838118f1c] {
    margin: 1rem 0 0;
}
/* /Pages/SessionLobby.razor.rz.scp.css */
/* Lobby is centered in the splash background so a border is visible on all sides. */
.xw-lobby-page[b-c98k9gcajo] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.xw-lobby-shell[b-c98k9gcajo] {
    width: 100%;
    max-width: 1600px;
}

/* Slot rows — parchment-tinted bands with a wax-seal mark on filled slots.
   The seal is inlined as a data URL so CSS alone can place it on every row. */
.xw-slot-row[b-c98k9gcajo] {
    position: relative;
    border-radius: 0.25rem;
    padding: 0.5rem 0.75rem 0.5rem 2.5rem;
    min-height: 3.5rem;
    background: color-mix(in srgb, var(--xw-parchment, #2a201a) 70%, #000);
    border: 1px solid rgba(94, 61, 24, 0.55);
    box-shadow: inset 0 0 0 1px rgba(246, 214, 173, 0.06);
}

.xw-slot-row.xw-slot-filled[b-c98k9gcajo]::before {
    content: "";
    position: absolute;
    left: 0.55rem;
    top: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10' fill='%231e6b2e' stroke='%230e3a18' stroke-width='1'/><line x1='7' y1='7' x2='17' y2='17' stroke='%23082a10' stroke-width='1.4' stroke-linecap='round'/><line x1='17' y1='7' x2='7' y2='17' stroke='%23082a10' stroke-width='1.4' stroke-linecap='round'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    pointer-events: none;
    filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.6));
}

.xw-slot-row.xw-slot-empty[b-c98k9gcajo] {
    border-style: dashed;
    background: color-mix(in srgb, var(--xw-parchment, #2a201a) 35%, #000);
}

.xw-slot-row.xw-slot-empty[b-c98k9gcajo]::before {
    content: "";
    position: absolute;
    left: 0.55rem;
    top: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateY(-50%);
    border: 1px dashed rgba(246, 214, 173, 0.25);
    border-radius: 50%;
    pointer-events: none;
}

/* Launch button gains an outer royal-purple glow when the page is in the launching state. */
.xw-lobby-launching[b-c98k9gcajo]  .btn-primary {
    animation: xw-launch-pulse-b-c98k9gcajo 1.4s ease-in-out infinite;
}

@keyframes xw-launch-pulse-b-c98k9gcajo {
    0%, 100% {
        box-shadow:
            inset 1px 1px 0 rgba(255, 230, 191, 0.45),
            inset -1px -1px 0 rgba(0, 0, 0, 0.35),
            0 0 0 0 rgba(122, 76, 175, 0.55);
    }
    50% {
        box-shadow:
            inset 1px 1px 0 rgba(255, 230, 191, 0.45),
            inset -1px -1px 0 rgba(0, 0, 0, 0.35),
            0 0 1.4rem 0.35rem rgba(122, 76, 175, 0.55);
    }
}
/* /Pages/SessionPlay.razor.rz.scp.css */
/* Title bar action button — matches TeammateInspectPanel's Effects button */

.xw-inspect-effects-btn[b-43okgax5xe] {
    background: transparent;
    border: 1px solid rgba(246, 214, 173, 0.2);
    border-radius: 0.35rem;
    color: var(--xw-text-muted);
    cursor: var(--xw-cursor-hand);
    padding: 0.1rem 0.45rem;
    font-size: 0.7rem;
    font-family: "Spectral", Georgia, serif;
    margin-left: auto;
    margin-right: 4px;
}

.xw-inspect-effects-btn:hover[b-43okgax5xe] {
    border-color: var(--xw-accent);
    color: var(--xw-text);
}
