/* /Components/GameHud/CommandDock.razor.rz.scp.css */
.command-dock[b-kw4l4pva3k] {
    display: grid;
    grid-template-columns: minmax(150px, 206px) minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    width: min(680px, 100%);
    min-height: 70px;
    margin-inline: auto;
    box-sizing: border-box;
    color: var(--splanet-hud-ink, inherit);
}

.command-dock__status[b-kw4l4pva3k],
.command-dock__belt[b-kw4l4pva3k] {
    min-width: 0;
    box-sizing: border-box;
    border: 2px solid var(--splanet-hud-line, rgba(21, 39, 58, .64));
    background: rgba(247, 251, 255, .9);
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .64),
        inset 0 -4px 0 rgba(18, 38, 56, .07);
}

.command-dock__status[b-kw4l4pva3k] {
    display: grid;
    gap: 3px;
    align-content: center;
    padding: 8px 11px 8px 13px;
    border-radius: 16px 0 0 16px;
}

.command-dock__mode[b-kw4l4pva3k] {
    color: var(--splanet-my-team-hud, var(--splanet-hud-system, #168ff0));
    font-size: 8px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.command-dock__status strong[b-kw4l4pva3k],
.command-dock__status small[b-kw4l4pva3k] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.command-dock__status strong[b-kw4l4pva3k] {
    color: var(--splanet-hud-ink, #122638);
    font-size: 14px;
    font-weight: 950;
    line-height: 1.05;
}

.command-dock__status small[b-kw4l4pva3k] {
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
}

.command-dock__belt[b-kw4l4pva3k] {
    display: grid;
    grid-template-columns: repeat(4, minmax(64px, 1fr)) 56px;
    gap: 6px;
    align-items: center;
    margin-left: -2px;
    padding: 6px 7px;
    border-radius: 0 16px 16px 0;
}

.command-dock__tool[b-kw4l4pva3k] {
    position: relative;
    min-width: 0;
    height: 56px;
    padding: 4px 4px 5px;
    border: 2px solid var(--splanet-my-team-border-hairline, rgba(18, 38, 56, .16));
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(233, 242, 248, .94));
    color: var(--splanet-hud-ink, #122638);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .82),
        inset 0 -5px 0 rgba(18, 38, 56, .08),
        0 4px 8px rgba(16, 36, 56, .14);
    cursor: pointer;
    font: inherit;
}

.command-dock__tool[b-kw4l4pva3k] {
    display: grid;
    grid-template-rows: 30px 14px;
    justify-items: center;
    align-items: center;
    gap: 1px;
}

.command-dock__tool:hover[b-kw4l4pva3k],
.command-dock__tool.is-selected[b-kw4l4pva3k] {
    border-color: var(--splanet-my-team-border, rgba(18, 38, 56, .56));
    background:
        linear-gradient(180deg, #ffffff, #edf8fb);
    box-shadow:
        inset 0 0 0 2px color-mix(in srgb, var(--splanet-my-team-primary, #54cfc7) 24%, transparent),
        inset 0 -5px 0 rgba(18, 38, 56, .08),
        0 5px 10px rgba(16, 36, 56, .18),
        0 0 14px color-mix(in srgb, var(--splanet-my-team-primary, #54cfc7) 16%, transparent);
}

.command-dock__tool.is-selected[b-kw4l4pva3k] {
    transform: translateY(-1px);
}

.command-dock__tool[b-kw4l4pva3k]  .tool-icon {
    width: 29px;
    height: 29px;
}

.command-dock__tool > span[b-kw4l4pva3k] {
    max-width: 100%;
    overflow: hidden;
    color: var(--splanet-hud-ink, #122638);
    font-size: 9px;
    font-weight: 950;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.command-dock__tool b[b-kw4l4pva3k] {
    position: absolute;
    top: 4px;
    right: 4px;
    display: inline-grid;
    grid-auto-flow: column;
    align-items: center;
    gap: 2px;
    min-height: 16px;
    padding: 0 4px;
    border: 1px solid var(--splanet-my-team-border-hairline, rgba(18, 38, 56, .14));
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--splanet-hud-ink, #122638);
    font-size: 8px;
    font-weight: 950;
    line-height: 1;
}

.command-dock__tool kbd[b-kw4l4pva3k] {
    position: absolute;
    left: 5px;
    top: 5px;
    min-width: 14px;
    height: 14px;
    border: 1px solid rgba(18, 38, 56, .18);
    border-radius: 5px;
    background: rgba(255, 255, 255, .68);
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-family: inherit;
    font-size: 8px;
    font-weight: 950;
    line-height: 13px;
    text-align: center;
}

.command-dock__tool--more[b-kw4l4pva3k] {
    grid-template-rows: 30px 14px;
}

.command-dock__tool--more small[b-kw4l4pva3k] {
    position: absolute;
    right: 4px;
    top: 4px;
    min-width: 16px;
    height: 16px;
    border: 1px solid rgba(18, 38, 56, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .74);
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 8px;
    font-weight: 950;
    line-height: 14px;
    text-align: center;
}

.command-dock__tool:active[b-kw4l4pva3k] {
    transform: translateY(1px);
}

@media (max-width: 860px) {
    .command-dock[b-kw4l4pva3k],
    .command-dock.is-inspect[b-kw4l4pva3k],
    .command-dock.is-armed[b-kw4l4pva3k],
    .command-dock.is-pending[b-kw4l4pva3k],
    .command-dock.is-repeat[b-kw4l4pva3k] {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        min-height: 0;
        width: 100%;
    }

    .command-dock__status[b-kw4l4pva3k],
    .command-dock__belt[b-kw4l4pva3k] {
        margin-left: 0;
        border-radius: 14px;
    }

    .command-dock__status[b-kw4l4pva3k] {
        display: none;
    }

    .command-dock__belt[b-kw4l4pva3k] {
        grid-template-columns: repeat(4, minmax(60px, 1fr)) 54px;
        padding: 6px;
    }

    .command-dock__tool[b-kw4l4pva3k] {
        height: 54px;
    }

}
/* /Components/GameHud/ContextHudPanel.razor.rz.scp.css */
.context-hud[b-9i3sl9iq7x] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.context-cluster[b-9i3sl9iq7x] {
    display: grid;
    gap: 5px;
    width: 220px;
}

.primary-stack[b-9i3sl9iq7x] {
    display: grid;
    gap: 4px;
}

.support-row[b-9i3sl9iq7x] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
}

.context-primary[b-9i3sl9iq7x],
.context-support[b-9i3sl9iq7x] {
    position: relative;
    display: grid;
    align-items: center;
    border: 1px solid var(--splanet-my-team-border-soft, rgba(18, 38, 56, .18));
    background:
        linear-gradient(90deg,
            color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 20%, transparent) 0 34px,
            rgba(255, 255, 255, .05) 34px),
        linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(231, 241, 248, .82));
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .58),
        inset 0 -4px 0 rgba(18, 38, 56, .05),
        0 10px 22px rgba(16, 36, 56, .18);
    color: var(--splanet-hud-ink, #122638);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.context-primary[b-9i3sl9iq7x] {
    grid-template-columns: 26px minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 44px;
    padding: 6px 8px;
    border-radius: 14px;
}

.context-support[b-9i3sl9iq7x] {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 5px;
    min-height: 32px;
    padding: 4px 6px;
    border-radius: 10px;
    background:
        linear-gradient(90deg,
            color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 14%, transparent) 0 28px,
            rgba(255, 255, 255, .03) 28px),
        linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(231, 241, 248, .72));
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .48),
        inset 0 -3px 0 rgba(18, 38, 56, .04),
        0 7px 14px rgba(16, 36, 56, .14);
}

.context-primary.disclosure-trigger[b-9i3sl9iq7x] {
    grid-template-columns: 22px minmax(0, 1fr) 18px;
}

.context-primary.disclosure-trigger.active[b-9i3sl9iq7x] {
    z-index: 3;
}

.context-primary.disclosure-trigger.active[b-9i3sl9iq7x]::after {
    content: "";
    position: absolute;
    left: calc(100% + 2px);
    top: 50%;
    width: 12px;
    border-top: 2px solid var(--splanet-my-team-border, rgba(155, 141, 219, .56));
    transform: translateY(-50%);
}

.disclosure-affordance[b-9i3sl9iq7x] {
    display: grid;
    width: 18px;
    height: 22px;
    place-items: center;
    border-radius: 7px;
    color: var(--splanet-hud-ink, #122638);
    background: rgba(255, 255, 255, .54);
    box-shadow: inset 0 -2px 0 rgba(18, 38, 56, .06);
}

.disclosure-affordance .splanet-hud-icon[b-9i3sl9iq7x] {
    width: 12px;
    height: 12px;
}

.context-primary:hover[b-9i3sl9iq7x],
.context-primary.active[b-9i3sl9iq7x],
.context-primary.selected[b-9i3sl9iq7x],
.context-support:hover[b-9i3sl9iq7x],
.context-support.active[b-9i3sl9iq7x] {
    border-color: var(--splanet-my-team-border, color-mix(in srgb, var(--splanet-my-team-primary, #2aa8ff) 68%, rgba(255, 255, 255, .16)));
    box-shadow:
        0 0 0 4px color-mix(in srgb, var(--splanet-my-team-primary, #2aa8ff) 16%, transparent),
        0 14px 34px rgba(2, 12, 22, .28);
}

.context-primary.guidance[b-9i3sl9iq7x] {
    border-color: var(--splanet-my-team-border);
    box-shadow:
        0 0 0 4px var(--splanet-my-team-border-glow, rgba(124,255,198,.12)),
        inset 0 0 0 1px rgba(255, 255, 255, .58),
        0 10px 22px rgba(16, 36, 56, .18);
}

.guidance-secondary[b-9i3sl9iq7x] {
    display: inline-grid;
    grid-template-columns: 14px auto;
    justify-self: start;
    align-items: center;
    gap: 4px;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid var(--splanet-my-team-border-hairline, rgba(124, 255, 198, .28));
    border-radius: 999px;
    background: rgba(7, 22, 19, .58);
    color: #bdf7d1;
    cursor: pointer;
    font-size: 9px;
    font-weight: 950;
}

.guidance-secondary .splanet-hud-icon[b-9i3sl9iq7x] {
    width: 12px;
    height: 12px;
}

.primary-action-label[b-9i3sl9iq7x] {
    display: inline-grid;
    min-width: 40px;
    height: 24px;
    place-items: center;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--splanet-my-team-border-hairline, rgba(18, 38, 56, .14));
    background: rgba(255, 255, 255, .66);
    color: var(--splanet-hud-ink, #122638);
    font-size: 9px;
    font-weight: 950;
    line-height: 1;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .1);
}

.chip-icon[b-9i3sl9iq7x] {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    display: grid;
    place-items: center;
    color: #142331;
    font-size: 12px;
    font-weight: 950;
    box-shadow: inset 0 -4px 0 rgba(0,0,0,.13);
}

.context-primary .chip-icon[b-9i3sl9iq7x] {
    width: 26px;
    height: 26px;
    border-radius: 8px;
}

.context-support .chip-icon[b-9i3sl9iq7x] {
    width: 20px;
    height: 20px;
    border-radius: 7px;
}

.chip-icon.objective[b-9i3sl9iq7x] {
    background: linear-gradient(180deg, #f4fbff, #a8cfe8);
}

.chip-icon.units[b-9i3sl9iq7x] {
    background: linear-gradient(180deg, #77c5ff, #2f9dff);
}

.chip-icon.rules[b-9i3sl9iq7x] {
    background: linear-gradient(180deg, #b6e77a, #8ac552);
}

strong[b-9i3sl9iq7x],
small[b-9i3sl9iq7x] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.context-copy[b-9i3sl9iq7x] {
    min-width: 0;
}

strong[b-9i3sl9iq7x] {
    font-size: 10px;
    font-weight: 950;
    line-height: 1.1;
}

.context-primary strong[b-9i3sl9iq7x] {
    color: var(--splanet-hud-ink, #122638);
    font-size: 12px;
}

.context-primary small[b-9i3sl9iq7x] {
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 9px;
}

.context-support strong[b-9i3sl9iq7x] {
    color: var(--splanet-hud-ink, #122638);
    font-size: 9px;
}

.context-support small[b-9i3sl9iq7x] {
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .62));
    font-size: 7px;
}

small[b-9i3sl9iq7x] {
    margin-top: 1px;
    color: #a9bfd2;
    font-size: 8px;
    font-weight: 800;
}

.context-popover[b-9i3sl9iq7x] {
    position: absolute;
    left: 232px;
    top: 0;
    width: 310px;
}

.context-popover--selection[b-9i3sl9iq7x] {
    width: min(540px, calc(100vw - 168px));
}

.context-popover--selection[b-9i3sl9iq7x]::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 14px;
    z-index: 1;
    width: 14px;
    height: 14px;
    border-left: 2px solid var(--splanet-my-team-border, rgba(155, 141, 219, .56));
    border-bottom: 2px solid var(--splanet-my-team-border, rgba(155, 141, 219, .56));
    border-radius: 0 0 0 4px;
    background: rgba(248, 252, 255, .98);
    transform: rotate(45deg);
}

.context-popover--selection[b-9i3sl9iq7x]::after {
    content: "Details";
    position: absolute;
    left: 14px;
    top: -9px;
    z-index: 2;
    padding: 2px 7px;
    border: 1px solid rgba(18, 38, 56, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 8px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.context-popover[b-9i3sl9iq7x]  .brick-panel {
    padding-top: 20px;
}

.context-popover--selection[b-9i3sl9iq7x]  .brick-panel,
.context-popover--selection[b-9i3sl9iq7x]  .brick-panel.is-multi {
    width: 100% !important;
    max-height: min(54vh, 360px) !important;
    overflow: auto !important;
}

.context-popover--selection[b-9i3sl9iq7x]  .inspector-bar {
    grid-template-columns: minmax(0, 1fr);
}

.context-popover--selection[b-9i3sl9iq7x]  .panel-head,
.context-popover--selection[b-9i3sl9iq7x]  .summary-tile,
.context-popover--selection[b-9i3sl9iq7x]  .details-toggle,
.context-popover--selection[b-9i3sl9iq7x]  .btn-decommission {
    min-height: 42px;
}

.context-popover--selection[b-9i3sl9iq7x]  .inspector-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.context-popover--selection[b-9i3sl9iq7x]  .inspector-actions {
    min-height: 42px;
    justify-content: start;
}

.close[b-9i3sl9iq7x] {
    position: absolute;
    top: 9px;
    right: 10px;
    z-index: 2;
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 8px;
    background: rgba(226,241,255,.12);
    color: #d9ebf8;
    cursor: pointer;
    font-size: 14px;
    font-weight: 950;
    line-height: 1;
}

@media (max-width: 900px) {
    .context-hud[b-9i3sl9iq7x] {
        display: flex;
        width: 100%;
    }

    .context-cluster[b-9i3sl9iq7x] {
        grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
        grid-template-areas: "primary support";
        width: 100%;
        gap: 5px;
    }

    .primary-stack[b-9i3sl9iq7x] {
        grid-area: primary;
    }

    .support-row[b-9i3sl9iq7x] {
        grid-area: support;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .guidance-secondary[b-9i3sl9iq7x] {
        display: none;
    }

    .context-primary[b-9i3sl9iq7x] {
        grid-template-columns: 20px minmax(0, 1fr) auto;
        min-height: 34px;
        padding: 4px 6px;
        border-radius: 10px;
    }

    .context-support[b-9i3sl9iq7x] {
        grid-template-columns: 18px minmax(0, 1fr);
        min-height: 34px;
        padding: 4px 6px;
    }

    .context-primary.disclosure-trigger[b-9i3sl9iq7x] {
        grid-template-columns: 20px minmax(0, 1fr) 18px;
    }

    .context-primary.disclosure-trigger.active[b-9i3sl9iq7x]::after {
        left: 42px;
        top: auto;
        bottom: calc(100% + 4px);
        width: 0;
        height: 10px;
        border-top: 0;
        border-left: 2px solid var(--splanet-my-team-border, rgba(155, 141, 219, .56));
        transform: none;
    }

    .context-primary .chip-icon[b-9i3sl9iq7x],
    .context-support .chip-icon[b-9i3sl9iq7x] {
        width: 20px;
        height: 20px;
        border-radius: 7px;
    }

    .context-primary strong[b-9i3sl9iq7x],
    .context-support strong[b-9i3sl9iq7x] {
        font-size: 9px;
    }

    .context-primary small[b-9i3sl9iq7x],
    .context-support small[b-9i3sl9iq7x] {
        font-size: 7px;
    }

    .primary-action-label[b-9i3sl9iq7x] {
        min-width: 32px;
        height: 20px;
        padding: 0 6px;
        font-size: 8px;
    }

    .context-popover[b-9i3sl9iq7x] {
        left: 0;
        top: auto;
        bottom: 38px;
        width: 100%;
    }

    .context-popover--selection[b-9i3sl9iq7x] {
        width: 100%;
    }

    .context-popover--selection[b-9i3sl9iq7x]::before {
        left: 35px;
        top: auto;
        bottom: -7px;
        transform: rotate(-45deg);
    }

    .context-popover--selection[b-9i3sl9iq7x]::after {
        left: 12px;
        top: -8px;
    }

    .context-popover[b-9i3sl9iq7x]  .brick-panel {
        padding-top: 18px;
    }
}

@media (max-width: 620px) {
    .context-hud[b-9i3sl9iq7x] {
        display: none;
    }
}
/* /Components/GameHud/EnergyGauge.razor.rz.scp.css */
.energy-gauge[b-tef1x9m2ap] {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    min-height: 32px;
    padding: 4px 7px;
    margin-bottom: 4px;
    width: 132px;
    border: 1px solid var(--splanet-my-team-border-soft, color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 34%, rgba(226, 241, 255, .12)));
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(31, 52, 69, .88), rgba(13, 25, 37, .88));
    box-shadow:
        0 0 0 2px color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 8%, transparent),
        0 14px 34px rgba(2, 12, 22, .28),
        inset 0 1px 0 rgba(255,255,255,.08);
    color: #eaf5ff;
}

.chip-icon.energy[b-tef1x9m2ap] {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    text-shadow: 0 1px 2px rgba(0,0,0,.5);
    box-shadow: inset 0 -4px 0 rgba(0,0,0,.13);
}

strong[b-tef1x9m2ap] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 950;
    line-height: 1.1;
}

small[b-tef1x9m2ap] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 1px;
    color: #a9bfd2;
    font-size: 8px;
    font-weight: 800;
}

@media (max-width: 1024px) {
    .energy-gauge[b-tef1x9m2ap] {
        display: none;
    }
}
/* /Components/GameHud/GameHud.razor.rz.scp.css */
/* HUD-root sits on top of the game canvas; pointer-events:none lets
   clicks pass through to the canvas, and individual slots opt back into
   pointer events so their interactive children stay clickable. */
.off-hud-root[b-swto5trb57] {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 20;
    font-family: system-ui, sans-serif;
    user-select: none;
    --hud-edge: 16px;
    --hud-top-offset: 14px;
    --hud-top-left: 108px;
    --hud-top-right: 52px;
    --hud-dock-bottom: 14px;
    --hud-action-dock-height-default: 76px;
    --hud-action-dock-height: var(--tidemark-action-dock-height, var(--hud-action-dock-height-default));
    --hud-floating-clearance: 12px;
    --hud-minimap-width: clamp(236px, 20vw, 320px);
    --hud-minimap-gap: 14px;
    --hud-rail-top: 86px;
    --hud-rail-bottom-clearance: 32px;
    --hud-action-dock-bottom: calc(var(--hud-dock-bottom) + env(safe-area-inset-bottom));
    --hud-floating-bottom: calc(var(--hud-action-dock-bottom) + var(--hud-action-dock-height) + var(--hud-floating-clearance));
    --splanet-my-team-primary: #9b8ddb;
    --splanet-my-team-hud: #9b8ddb;
    --splanet-my-team-dark: #263044;
    --splanet-my-team-ghost: #d8d0ff;
    --splanet-my-team-opacity: .28;
    --splanet-my-team-border: color-mix(in srgb, var(--splanet-my-team-primary) 48%, rgba(21, 39, 58, .62));
    --splanet-my-team-border-soft: color-mix(in srgb, var(--splanet-my-team-primary) 30%, rgba(18, 38, 56, .18));
    --splanet-my-team-border-hairline: color-mix(in srgb, var(--splanet-my-team-primary) 22%, rgba(18, 38, 56, .14));
    --splanet-my-team-border-glow: color-mix(in srgb, var(--splanet-my-team-primary) 18%, transparent);
    /* Safe-area insets — keep HUD out from under iOS notch / home indicator
       and Android nav gestures. The corner offsets below (top/right/bottom/
       left: 16px) layer on top of these via env() addition. */
    padding-top: env(safe-area-inset-top);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
}

.hud-slot[b-swto5trb57] {
    position: absolute;
    pointer-events: auto;
    z-index: 1;
}

/* Top row keeps the OFF FPS chip / sidebar clear while Tidemark owns the
   game-facing HUD chrome. */
.hud-top[b-swto5trb57]          {
    top: calc(var(--hud-top-offset) + env(safe-area-inset-top));
    left: calc(var(--hud-top-left) + env(safe-area-inset-left));
    right: calc(var(--hud-top-right) + env(safe-area-inset-right));
    min-width: 0;
}
.hud-top-left[b-swto5trb57] {
    top: calc(var(--hud-rail-top) + env(safe-area-inset-top));
    left: calc(var(--hud-edge) + env(safe-area-inset-left));
    max-height: calc(100vh - var(--hud-rail-top) - var(--hud-action-dock-height) - var(--hud-dock-bottom) - var(--hud-rail-bottom-clearance) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow: visible;
}
.hud-top-right[b-swto5trb57]    { top: 112px; right: 16px; }
.hud-mobile-profile[b-swto5trb57] { display: none; }
.hud-bottom-left[b-swto5trb57]  { bottom: 16px; left: 16px; }
.hud-bottom-center[b-swto5trb57] {
    bottom: var(--hud-action-dock-bottom);
    left: calc(var(--hud-edge) + env(safe-area-inset-left));
    right: calc(var(--hud-edge) + var(--hud-minimap-width) + var(--hud-minimap-gap) + env(safe-area-inset-right));
    width: auto;
}
.hud-bottom-right[b-swto5trb57] {
    bottom: var(--hud-action-dock-bottom);
    right: calc(var(--hud-edge) + env(safe-area-inset-right));
}

@media (max-width: 1080px) {
    .hud-bottom-right[b-swto5trb57] {
        bottom: var(--hud-floating-bottom);
    }
}

/* Cinematic slide transitions live in wwwroot/css/cinematic-hud.css. */

[b-swto5trb57] .tidemark-left-rail {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: min(320px, calc(100vw - 32px));
    max-height: inherit;
}

[b-swto5trb57] .tidemark-left-rail > * {
    box-sizing: border-box;
}

/* Narrow screens keep the game view as the primary surface: one compact
   status rail near the top chrome, one short thumb dock at the bottom. */
@media (max-width: 900px) {
    .off-hud-root[b-swto5trb57] {
        --hud-edge: 10px;
        --hud-top-offset: 12px;
        --hud-profile-left: clamp(104px, 13vw, 116px);
        --hud-profile-width: clamp(128px, 18vw, 148px);
        --hud-top-left: calc(var(--hud-profile-left) + var(--hud-profile-width) + 8px);
        --hud-top-right: clamp(58px, 8vw, 72px);
        --hud-dock-bottom: 10px;
        --hud-action-dock-height-default: 80px;
        --hud-floating-clearance: 8px;
        --hud-rail-top: 70px;
    }

    .hud-top[b-swto5trb57] {
        top: calc(var(--hud-top-offset) + env(safe-area-inset-top));
        left: calc(var(--hud-top-left) + env(safe-area-inset-left));
        right: calc(var(--hud-top-right) + env(safe-area-inset-right));
    }

    .hud-mobile-profile[b-swto5trb57] {
        display: block;
        top: calc(var(--hud-top-offset) + env(safe-area-inset-top));
        left: calc(var(--hud-profile-left) + env(safe-area-inset-left));
        width: var(--hud-profile-width);
        z-index: 3;
    }

    .hud-top-right[b-swto5trb57],
    .hud-bottom-left[b-swto5trb57] {
        display: none;
    }

    .hud-top-left[b-swto5trb57] {
        top: auto;
        left: calc(var(--hud-edge) + env(safe-area-inset-left));
        right: calc(var(--hud-edge) + env(safe-area-inset-right));
        bottom: var(--hud-floating-bottom);
        max-height: min(42vh, 320px);
        overflow: visible;
    }

    .hud-bottom-right[b-swto5trb57] {
        right: calc(var(--hud-edge) + env(safe-area-inset-right));
        bottom: var(--hud-floating-bottom);
    }

    .hud-bottom-center[b-swto5trb57] {
        bottom: var(--hud-action-dock-bottom);
        left: calc(var(--hud-edge) + env(safe-area-inset-left));
        right: calc(var(--hud-edge) + env(safe-area-inset-right));
        transform: none;
        height: auto;
        width: auto;
    }

    [b-swto5trb57] .tidemark-left-rail {
        width: min(460px, calc(100vw - 270px));
        gap: 4px;
        align-items: stretch;
    }
}

@media (max-width: 680px) {
    [b-swto5trb57] .tidemark-left-rail {
        width: min(206px, calc(100vw - 204px));
    }
}

@media (max-width: 520px) {
    .off-hud-root[b-swto5trb57] {
        --hud-profile-left: 100px;
        --hud-profile-width: 112px;
        --hud-top-left: calc(var(--hud-profile-left) + var(--hud-profile-width) + 8px);
        --hud-top-right: 50px;
    }
}

@media (max-width: 380px) {
    .off-hud-root[b-swto5trb57] {
        --hud-profile-left: 92px;
        --hud-profile-width: 100px;
        --hud-top-left: calc(var(--hud-profile-left) + var(--hud-profile-width) + 8px);
        --hud-top-right: 42px;
    }
}

@media (min-width: 901px) and (max-height: 620px) {
    .off-hud-root[b-swto5trb57] {
        --hud-top-left: 220px;
        --hud-top-right: 92px;
        --hud-rail-top: 72px;
    }

    .hud-top[b-swto5trb57] {
        top: calc(var(--hud-top-offset) + env(safe-area-inset-top));
        left: calc(var(--hud-top-left) + env(safe-area-inset-left));
        right: calc(var(--hud-top-right) + env(safe-area-inset-right));
    }
}

@media (max-width: 900px) and (max-height: 560px) {
    .off-hud-root[b-swto5trb57] {
        --hud-top-offset: 8px;
        --hud-top-left: clamp(104px, 16vw, 148px);
        --hud-top-right: clamp(52px, 8vw, 70px);
        --hud-dock-bottom: 6px;
        --hud-action-dock-height-default: 68px;
        --hud-floating-clearance: 6px;
    }

    .hud-top[b-swto5trb57] {
        top: calc(var(--hud-top-offset) + env(safe-area-inset-top));
        left: calc(var(--hud-top-left) + env(safe-area-inset-left));
        right: calc(var(--hud-top-right) + env(safe-area-inset-right));
    }

    .hud-bottom-center[b-swto5trb57] {
        bottom: var(--hud-action-dock-bottom);
    }

    .hud-bottom-right[b-swto5trb57] {
        bottom: var(--hud-floating-bottom);
    }
}

@media (max-width: 620px) {
    .off-hud-root[b-swto5trb57] {
        --hud-floating-clearance: 6px;
    }
}

@media (max-width: 620px) and (max-height: 560px) {
    .off-hud-root[b-swto5trb57] {
        --hud-floating-clearance: 6px;
    }
}
/* /Components/GameHud/MinimapPanel.razor.rz.scp.css */
/* Sized for equirectangular projection: a 2:1 canvas area + header strip.
   Orthographic projection letterboxes its disc inside the same area
   (acceptable polish trade — re-projecting the panel on every toggle would
   shift HUD layout). */
.tidemark-minimap[b-hnaco5w6ib] {
    --off-minimap-canvas-fill: #edf8ff;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 7px;
    background: rgba(238, 247, 255, .96);
    border: 1px solid rgba(226, 241, 255, .14);
    border-radius: 12px;
    color: #13283a;
    font: 10px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    pointer-events: auto;
    user-select: none;
    /* Anchor the dev-mode overlay popover (position:absolute) here. */
    position: relative;
    isolation: isolate;
    box-shadow: 0 12px 26px rgba(16, 36, 56, .18), inset 0 1px 0 rgba(255,255,255,.82);
}

/* Toggle hidden state — set by F3 / sidebar button via the toggle module.
   The class lives on the root .tidemark-minimap element (not a descendant),
   so we don't use ::deep — Blazor CSS isolation scopes this rule to the
   component's b-xxx attribute and matches the same root element. */
.tidemark-minimap.tidemark-minimap--hidden[b-hnaco5w6ib] {
    display: none;
}

.tidemark-minimap-header[b-hnaco5w6ib] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    line-height: 1.2;
    color: rgba(18, 38, 56, .72);
    min-height: 18px;
    /* Allow the popover (positioned: absolute) to overflow the header
       while still trimming the legend / coord text via ellipsis. */
    position: static;
}

.tidemark-minimap-readout[b-hnaco5w6ib] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
}

.tidemark-minimap-title[b-hnaco5w6ib],
.tidemark-minimap-legend[b-hnaco5w6ib],
.tidemark-minimap-coord[b-hnaco5w6ib] {
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 2px 5px;
    border: 1px solid rgba(18, 38, 56, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .68);
    box-shadow: inset 0 -1px 0 rgba(18, 38, 56, .04);
}

.tidemark-minimap-title[b-hnaco5w6ib] {
    flex: 0 0 auto;
    padding-inline: 6px;
    color: #13283a;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.tidemark-minimap-legend[b-hnaco5w6ib] {
    display: none;
}

.tidemark-minimap-coord[b-hnaco5w6ib] {
    flex: 0 1 auto;
    max-width: 96px;
}

/* Camera-position readout — OFF's canvas-world-overlay writes camInfo posX·posZ
   into #minimapCoord every frame (and forces inline display), a debug-grade HUD
   that's noise during normal play. Off by default; !important beats OFF's inline
   style. Add the --show-coord modifier on the panel root to hand it back to OFF
   (debug hook). */
.tidemark-minimap:not(.tidemark-minimap--show-coord) .tidemark-minimap-coord[b-hnaco5w6ib] {
    display: none !important;
}

.tidemark-minimap-close-button[b-hnaco5w6ib],
[b-hnaco5w6ib] .tidemark-minimap-overlay-button {
    display: grid;
    width: 22px;
    height: 20px;
    min-width: 22px;
    place-items: center;
    padding: 0;
    border-radius: 999px;
    border: 1px solid rgba(18, 38, 56, .13);
    background: rgba(255, 255, 255, .78);
    color: rgba(18, 38, 56, .84);
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
}

.tidemark-minimap-close-button:hover[b-hnaco5w6ib],
[b-hnaco5w6ib] .tidemark-minimap-overlay-button:hover {
    color: #13283a;
    border-color: rgba(18, 38, 56, .25);
    background: rgba(255, 255, 255, .96);
}

/* Overlay button is built dynamically by overlay-menu.ts so styles live here.
   Tucked at the right edge of the header next to the coord readout. */
[b-hnaco5w6ib] .tidemark-minimap-overlay-button {
    margin-left: 6px;
    flex: 0 0 auto;
}

[b-hnaco5w6ib] .tidemark-minimap-overlay-button[aria-expanded="true"] {
    color: #fff;
    background: rgba(76, 201, 240, 0.15);
    border-color: rgba(76, 201, 240, 0.5);
}

/* Popover sits at the top-right of the minimap panel. */
[b-hnaco5w6ib] .tidemark-minimap-overlay-popover {
    position: absolute;
    top: 28px;
    right: 6px;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: rgba(247, 251, 255, 0.98);
    border: 1px solid rgba(18, 38, 56, 0.14);
    border-radius: 6px;
    padding: 8px 10px;
    color: #13283a;
    font: 11px monospace;
    pointer-events: auto;
    min-width: 160px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[b-hnaco5w6ib] .tidemark-minimap-overlay-popover-row {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    user-select: none;
}

[b-hnaco5w6ib] .tidemark-minimap-overlay-popover-row input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}


.tidemark-minimap-canvas[b-hnaco5w6ib] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    aspect-ratio: 2 / 1;
    height: auto;
    min-height: 86px;
    cursor: crosshair;
    display: block;
    border: 1px solid rgba(18, 38, 56, .16);
    border-radius: 8px;
    background: var(--off-minimap-canvas-fill);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .62),
        inset 0 4px 12px rgba(56, 118, 154, .08);
}

/* Narrow viewports keep the minimap as a small corner instrument above the
   thumb dock. Canvas stays shallow so the bottom UI does not become a wall. */
@media (max-width: 640px) {
    .tidemark-minimap-canvas[b-hnaco5w6ib] {
        height: 58px;
        min-height: 0;
    }
    .tidemark-minimap[b-hnaco5w6ib] {
        font-size: 10px;
        padding: 5px;
    }
    .tidemark-minimap-header[b-hnaco5w6ib] {
        gap: 4px;
    }
}

@media (max-width: 1024px) {
    .tidemark-minimap[b-hnaco5w6ib] {
        padding: 7px;
    }

    .tidemark-minimap-canvas[b-hnaco5w6ib] {
        min-height: 70px;
    }
}

@media (max-width: 900px) {
    .tidemark-minimap[b-hnaco5w6ib] {
        gap: 5px;
        padding: 6px;
        border-radius: 12px;
        font-size: 9px;
    }

    .tidemark-minimap-header[b-hnaco5w6ib] {
        min-height: 12px;
    }

    .tidemark-minimap-canvas[b-hnaco5w6ib] {
        height: 68px;
        min-height: 0;
        border-width: 1px;
        border-radius: 9px;
    }
}

@media (max-width: 520px) {
    .tidemark-minimap[b-hnaco5w6ib] {
        gap: 4px;
        padding: 6px;
    }

    .tidemark-minimap-canvas[b-hnaco5w6ib] {
        height: 54px;
    }
}

/* Tooltip is created by OFF's TooltipOverlay as `<div class="minimap-tooltip">`.
   The wrapper element has `position: relative` set by the overlay code, so
   the tooltip is anchored to this panel. */
[b-hnaco5w6ib] .minimap-tooltip {
    position: absolute;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 3px 6px;
    border-radius: 3px;
    font: 10px monospace;
    pointer-events: none;
    z-index: 20;
}
/* /Components/GameHud/NotificationPanel.razor.rz.scp.css */
/* Chrome-less notification stacks — no panel shell, no eyebrow. Rows carry
   their own background so the HUD has zero footprint when there is nothing
   to say. Two stacks share the same row style; the sticky stack appends a
   close button and renders rows newest-on-bottom so they don't reorder when
   a new sibling appears above (transient stack stays newest-first via the
   service's enumeration order). */

.notif-stack[b-wr93zf4vzn] {
    display: grid;
    gap: 6px;
    /* z-index parity with the prior panel so absolutely-positioned siblings
       (minimap overlay popovers etc.) can't bury rows. */
    position: relative;
    z-index: 25;
}

.notif-row[b-wr93zf4vzn] {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    border-radius: 14px;
    /* Row carries its own chrome since there is no panel wrapper any more.
       Slightly denser background + stronger shadow so the row reads as a
       discrete element when it floats over the planet. */
    background: linear-gradient(180deg, rgba(31, 52, 69, .94), rgba(13, 25, 37, .94));
    border: 1px solid rgba(226, 241, 255, .13);
    box-shadow: 0 12px 28px rgba(2, 12, 22, .35), inset 0 1px 0 rgba(255,255,255,.08);
    color: #eaf5ff;
    animation: notif-enter-b-wr93zf4vzn .18s ease-out both;
    overflow: hidden;
    position: relative;
}

.notif-row-sticky[b-wr93zf4vzn] {
    grid-template-columns: 38px minmax(0, 1fr) 26px;
}

.notif-row.is-compact[b-wr93zf4vzn] {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
    padding: 6px 8px 6px 11px;
    border-radius: 10px;
}

.notif-row-sticky.is-compact[b-wr93zf4vzn] {
    grid-template-columns: 30px minmax(0, 1fr) 22px;
}

.notif-row.is-compact .notif-icon[b-wr93zf4vzn] {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: 15px;
    box-shadow: inset 0 -4px 0 rgba(0,0,0,.12);
}

.notif-row.is-compact .notif-title[b-wr93zf4vzn] {
    font-size: 12px;
    line-height: 1.05;
}

.notif-row.is-compact .notif-sub[b-wr93zf4vzn] {
    margin-top: 1px;
    font-size: 10px;
}

.notif-row.has-team-accent[b-wr93zf4vzn] {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .30), rgba(255, 255, 255, .08) 58%),
        linear-gradient(180deg, rgba(243, 249, 255, .96), rgba(198, 216, 232, .94));
    border-color: var(--notif-accent);
    box-shadow:
        0 14px 32px rgba(2, 12, 22, .36),
        0 0 0 1px rgba(255, 255, 255, .50),
        0 0 18px color-mix(in srgb, var(--notif-accent) 22%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, .70);
    color: #0c1d2c;
}

.notif-row.has-team-accent[b-wr93zf4vzn]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--notif-accent-primary);
    box-shadow: 0 0 16px var(--notif-accent);
}

.notif-row.has-team-accent .notif-icon[b-wr93zf4vzn] {
    background: linear-gradient(180deg, #edf7ff, var(--notif-accent-primary));
    color: #102033;
}

.notif-row.has-team-accent .notif-title[b-wr93zf4vzn] {
    color: #0b1b2b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .45);
}

.notif-row.has-team-accent .notif-sub[b-wr93zf4vzn] {
    color: #294456;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
}

.notif-close[b-wr93zf4vzn] {
    appearance: none;
    border: 1px solid rgba(226, 241, 255, .2);
    background: rgba(0, 0, 0, .25);
    color: #eaf5ff;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: grid;
    place-items: center;
    transition: background .12s ease;
}

.notif-close:hover[b-wr93zf4vzn] {
    background: rgba(255, 255, 255, .14);
}

.notif-close:active[b-wr93zf4vzn] {
    background: rgba(255, 255, 255, .22);
}

@keyframes notif-enter-b-wr93zf4vzn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Exit animation: fade + slide-out + collapse the row's box so the rows
   below glide up instead of jump. max-height is generous (rows clip to
   their own padding in practice) so the start frame doesn't visibly snap.
   Keep duration in sync with NotificationPanel.razor `ExitAnimationDuration`. */
.notif-row.is-leaving[b-wr93zf4vzn] {
    animation: notif-exit-b-wr93zf4vzn .28s ease-in forwards;
    pointer-events: none;
}

@keyframes notif-exit-b-wr93zf4vzn {
    0% {
        opacity: 1;
        transform: translateX(0);
        max-height: 120px;
        margin-top: 0;
        padding-top: 9px;
        padding-bottom: 9px;
        border-width: 1px;
    }
    60% {
        opacity: 0;
        transform: translateX(10px);
        max-height: 120px;
    }
    100% {
        opacity: 0;
        transform: translateX(10px);
        max-height: 0;
        margin-top: -6px;
        padding-top: 0;
        padding-bottom: 0;
        border-width: 0;
    }
}

.notif-icon[b-wr93zf4vzn] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    font-size: 18px;
    font-weight: 950;
    background: linear-gradient(180deg, #eaf6ff, #8ab6d8);
    color: #142331;
    box-shadow: inset 0 -6px 0 rgba(0,0,0,.12);
}

.notif-body[b-wr93zf4vzn] {
    min-width: 0;
}

.notif-title[b-wr93zf4vzn],
.notif-sub[b-wr93zf4vzn] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-shadow:
        0 0 2px rgba(0, 0, 0, .95),
        0 1px 0 rgba(0, 0, 0, .9),
        0 0 6px rgba(0, 0, 0, .55);
}

.notif-title[b-wr93zf4vzn] {
    color: #f4f9ff;
    font-size: 13px;
    line-height: 1.2;
}

.notif-sub[b-wr93zf4vzn] {
    margin-top: 3px;
    color: #c9dcef;
    font-size: 11px;
    font-weight: 800;
}

.notif-row.kind-warn[b-wr93zf4vzn] {
    background: linear-gradient(180deg, rgba(140, 80, 30, .92), rgba(70, 40, 15, .92));
    border-color: rgba(255, 180, 90, .35);
}

.notif-row.kind-warn .notif-icon[b-wr93zf4vzn] {
    background: linear-gradient(180deg, #ffd9a8, #d6913a);
    color: #2b1605;
}

.notif-row.kind-ok[b-wr93zf4vzn] {
    background: linear-gradient(180deg, rgba(40, 90, 55, .92), rgba(15, 40, 25, .92));
    border-color: rgba(120, 220, 140, .35);
}

.notif-row.kind-ok .notif-icon[b-wr93zf4vzn] {
    background: linear-gradient(180deg, #b6f0c4, #4ea864);
    color: #062012;
}

.notif-row.kind-bad[b-wr93zf4vzn] {
    background: linear-gradient(180deg, rgba(110, 40, 40, .92), rgba(55, 18, 18, .92));
    border-color: rgba(255, 110, 110, .4);
}

.notif-row.kind-bad .notif-icon[b-wr93zf4vzn] {
    background: linear-gradient(180deg, #ffc1c1, #c84a4a);
    color: #2b0808;
}

.notif-row.kind-info[b-wr93zf4vzn] {
    background: linear-gradient(180deg, rgba(30, 60, 90, .92), rgba(12, 24, 38, .92));
    border-color: rgba(140, 200, 255, .3);
}

.notif-row.kind-info .notif-icon[b-wr93zf4vzn] {
    background: linear-gradient(180deg, #d6edff, #6aa7d2);
    color: #0b1b2d;
}

.notif-row.has-team-accent[b-wr93zf4vzn] {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .30), rgba(255, 255, 255, .08) 58%),
        linear-gradient(180deg, rgba(243, 249, 255, .96), rgba(198, 216, 232, .94));
    border-color: var(--notif-accent);
}

.notif-row.has-team-accent .notif-icon[b-wr93zf4vzn] {
    background: linear-gradient(180deg, #edf7ff, var(--notif-accent-primary));
    color: #102033;
}

@media (max-width: 900px) {
    .notif-stack[b-wr93zf4vzn] {
        gap: 4px;
    }

    .notif-row[b-wr93zf4vzn] {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 7px;
        padding: 6px 7px;
        border-radius: 9px;
    }

    .notif-row-sticky[b-wr93zf4vzn] {
        grid-template-columns: 30px minmax(0, 1fr) 22px;
    }

    .notif-close[b-wr93zf4vzn] {
        width: 22px;
        height: 22px;
        border-radius: 6px;
        font-size: 13px;
    }

    .notif-icon[b-wr93zf4vzn] {
        width: 30px;
        height: 30px;
        border-radius: 8px;
        font-size: 15px;
    }

    .notif-title[b-wr93zf4vzn] {
        font-size: 12px;
    }

    .notif-sub[b-wr93zf4vzn] {
        font-size: 10px;
    }
}
/* /Components/GameHud/OwnedUnitsPanel.razor.rz.scp.css */
.brick-panel[b-vxrbwbyd1o] {
    padding: 16px;
    border: 2px solid rgba(226, 241, 255, .13);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(31, 52, 69, .94), rgba(13, 25, 37, .94));
    box-shadow: 0 18px 48px rgba(2, 12, 22, .35), inset 0 1px 0 rgba(255,255,255,.08);
    color: #eaf5ff;
}

.eyebrow[b-vxrbwbyd1o] {
    margin: 0;
    color: #93abc0;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.unit-list[b-vxrbwbyd1o] {
    display: grid;
    gap: 10px;
    margin-top: 13px;
}

.unit-row[b-vxrbwbyd1o] {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 10px;
    border-radius: 16px;
    background: rgba(226,241,255,.08);
}

/* row 전체 클릭 = 카메라 포커스 (scrap 버튼은 stopPropagation). */
.unit-row.is-clickable[b-vxrbwbyd1o] {
    cursor: pointer;
    transition: background .12s ease;
}

.unit-row.is-clickable:hover[b-vxrbwbyd1o] {
    background: rgba(226, 241, 255, .14);
}

.unit-meta[b-vxrbwbyd1o] {
    min-width: 0;
}

/* Inactive(위험) 승격 — 좌측 amber accent stripe. */
.unit-row.is-warn[b-vxrbwbyd1o]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 999px;
    background: #ffd9a8;
}

/* 폐기 — compact icon 버튼. 환불 동반이라 위험색으로 시작하지 않고
   hover 시에만 경고색 (SelectedBeaconPanel .btn-decommission 패턴). */
.scrap[b-vxrbwbyd1o] {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(226, 241, 255, .16);
    border-radius: 10px;
    background: rgba(226, 241, 255, .06);
    color: #cfe1ef;
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease, color .12s ease;
}

.scrap:hover:not(:disabled)[b-vxrbwbyd1o] {
    background: rgba(255, 110, 90, .2);
    border-color: rgba(255, 150, 120, .55);
    color: #ffd0c2;
}

.scrap:disabled[b-vxrbwbyd1o] {
    opacity: .5;
    cursor: default;
}

.scrap[b-vxrbwbyd1o]  .hud-icon {
    width: 14px;
    height: 14px;
}

.unit-icon[b-vxrbwbyd1o] {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #eaf6ff, #8ab6d8);
    color: #142331;
    font-size: 20px;
    font-weight: 950;
    box-shadow: inset 0 -7px 0 rgba(0,0,0,.12);
}

.unit-icon[b-vxrbwbyd1o]  .tool-icon {
    width: 34px;
    height: 34px;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .32));
}

strong[b-vxrbwbyd1o],
small[b-vxrbwbyd1o] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

strong[b-vxrbwbyd1o] {
    color: #f4f9ff;
    font-size: 15px;
    line-height: 1.15;
}

small[b-vxrbwbyd1o] {
    margin-top: 4px;
    color: #a9bfd2;
    font-size: 12px;
    font-weight: 800;
}

b[b-vxrbwbyd1o] {
    border-radius: 999px;
    padding: 7px 9px;
    background: rgba(226,241,255,.1);
    color: #d9ebf8;
    font-size: 11px;
    font-weight: 900;
}

b.state-ok[b-vxrbwbyd1o] {
    background: rgba(120, 220, 140, .18);
    color: #b6f0c4;
}

b.state-low[b-vxrbwbyd1o] {
    background: rgba(255, 180, 90, .2);
    color: #ffd9a8;
}

b.state-dead[b-vxrbwbyd1o] {
    background: rgba(255, 110, 110, .22);
    color: #ffc1c1;
}

.empty-note[b-vxrbwbyd1o] {
    margin: 12px 0 0;
    color: #93abc0;
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .brick-panel[b-vxrbwbyd1o] {
        padding: 10px;
        border-width: 1px;
        border-radius: 10px;
        background: rgba(8, 13, 22, .86);
        box-shadow: 0 14px 34px rgba(2, 12, 22, .34), inset 0 1px 0 rgba(255,255,255,.08);
    }

    .eyebrow[b-vxrbwbyd1o] {
        font-size: 8px;
        letter-spacing: .1em;
    }

    .unit-list[b-vxrbwbyd1o] {
        gap: 6px;
        margin-top: 8px;
    }

    .unit-row[b-vxrbwbyd1o] {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 7px;
        min-height: 38px;
        padding: 6px 7px;
        border-radius: 9px;
    }

    .unit-icon[b-vxrbwbyd1o] {
        width: 30px;
        height: 30px;
        border-radius: 8px;
        font-size: 15px;
    }

    .unit-icon[b-vxrbwbyd1o]  .tool-icon {
        width: 24px;
        height: 24px;
    }

    strong[b-vxrbwbyd1o] {
        font-size: 12px;
    }

    small[b-vxrbwbyd1o] {
        margin-top: 2px;
        font-size: 10px;
    }

    b[b-vxrbwbyd1o] {
        padding: 5px 7px;
        font-size: 10px;
    }
}
/* /Components/GameHud/PaintFlowPanel.razor.rz.scp.css */
.paint-flow[b-tqq151yzxv] {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 0;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    box-sizing: border-box;
    padding: 4px 7px;
    border: 1px solid rgba(226, 241, 255, .13);
    border-radius: 12px;
    background: rgba(8, 13, 22, .76);
    box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
    color: #eaf5ff;
}

.eyebrow[b-tqq151yzxv] {
    display: none;
}

span[b-tqq151yzxv] {
    display: none;
}

strong[b-tqq151yzxv] {
    color: #f4f9ff;
    font-size: 21px;
    font-weight: 950;
    line-height: .9;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
    .paint-flow[b-tqq151yzxv] {
        grid-template-columns: 1fr;
        align-content: center;
        gap: 6px;
        min-height: 58px;
        padding: 9px 10px;
        border-radius: 16px;
    }

    .eyebrow[b-tqq151yzxv] {
        margin-bottom: 4px;
        font-size: 8px;
        letter-spacing: .1em;
    }

    span[b-tqq151yzxv] {
        display: none;
    }

    strong[b-tqq151yzxv] {
        font-size: 26px;
        line-height: .95;
    }
}

@media (max-width: 900px) {
    .paint-flow[b-tqq151yzxv] {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0;
        min-height: 46px;
        padding: 7px 9px;
        border-width: 1px;
        border-radius: 10px;
        background: rgba(8, 13, 22, .78);
        box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .eyebrow[b-tqq151yzxv] {
        display: none;
    }

    span[b-tqq151yzxv] {
        display: none;
    }

    strong[b-tqq151yzxv] {
        font-size: 22px;
        line-height: 1;
    }
}

@media (max-width: 520px) {
    .paint-flow[b-tqq151yzxv] {
        grid-template-columns: 1fr;
        min-height: 38px;
        padding: 5px 6px;
    }

    strong[b-tqq151yzxv] {
        font-size: 18px;
    }
}

@media (max-width: 380px) {
    .paint-flow[b-tqq151yzxv] {
        padding-inline: 4px;
    }

    strong[b-tqq151yzxv] {
        font-size: 15px;
    }
}

@media (min-width: 901px) and (max-height: 620px) {
    .paint-flow[b-tqq151yzxv] {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0;
        min-height: 42px;
        padding: 7px 10px;
        border-width: 1px;
        border-radius: 10px;
        background: rgba(8, 13, 22, .78);
        box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .eyebrow[b-tqq151yzxv],
    span[b-tqq151yzxv] {
        display: none;
    }

    strong[b-tqq151yzxv] {
        font-size: 23px;
        line-height: 1;
    }
}
/* /Components/GameHud/PaintToolbar.razor.rz.scp.css */
.paint-toolbar[b-ci78cs29x7] {
    --tool-button-size: 52px;
    --tool-label-height: 8px;
    --tool-group-gap: 2px;
    --toolbar-catalog-height: 73px;
    --toolbar-section-height: 73px;
    display: grid;
    grid-template-columns: max-content minmax(240px, 1fr);
    grid-template-areas: "catalog inspector";
    align-items: stretch;
    gap: 6px;
    width: fit-content;
    max-width: min(760px, calc(100vw - 24px));
    min-width: 0;
    box-sizing: border-box;
    padding: 5px;
    border: 1px solid rgba(226, 241, 255, .16);
    border-radius: 12px;
    background: rgba(8, 13, 22, .82);
    box-shadow: 0 18px 42px rgba(2, 12, 22, .42), inset 0 1px 0 rgba(255,255,255,.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #eaf5ff;
}

.paint-section[b-ci78cs29x7] {
    display: grid;
    align-content: center;
    min-width: 0;
    height: var(--toolbar-section-height);
    min-height: var(--toolbar-section-height);
    box-sizing: border-box;
    padding: 5px 7px;
    border: 1px solid rgba(226,241,255,.1);
    border-radius: 8px;
    background: rgba(47, 71, 90, .38);
}

.paint-section.tool-catalog[b-ci78cs29x7] {
    grid-area: catalog;
    position: relative;
    height: var(--toolbar-catalog-height);
    min-height: var(--toolbar-catalog-height);
    width: max-content;
    max-width: min(430px, 48vw);
    padding: 2px 4px;
    overflow: hidden;
}

.paint-section.tool-catalog[b-ci78cs29x7]::before,
.paint-section.tool-catalog[b-ci78cs29x7]::after {
    content: "";
    position: absolute;
    top: 1px;
    bottom: 1px;
    z-index: 1;
    width: 22px;
    pointer-events: none;
}

.paint-section.tool-catalog[b-ci78cs29x7]::before {
    left: 1px;
    background: linear-gradient(90deg, rgba(24, 38, 51, .78), rgba(24, 38, 51, 0));
}

.paint-section.tool-catalog[b-ci78cs29x7]::after {
    right: 1px;
    background: linear-gradient(270deg, rgba(24, 38, 51, .78), rgba(24, 38, 51, 0));
}

.tool-catalog-scroll[b-ci78cs29x7] {
    display: flex;
    align-items: stretch;
    gap: 7px;
    height: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    padding: 0 8px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(226, 241, 255, .24) transparent;
}

.tool-catalog-scroll[b-ci78cs29x7]::-webkit-scrollbar {
    height: 4px;
}

.tool-catalog-scroll[b-ci78cs29x7]::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(226, 241, 255, .24);
}

.tool-group[b-ci78cs29x7] {
    position: relative;
    display: grid;
    grid-template-rows: var(--tool-button-size);
    align-content: center;
    gap: 0;
    min-width: max-content;
    padding-right: 0;
    border-right: 1px solid rgba(226, 241, 255, .1);
    scroll-snap-align: start;
}

.tool-group:last-child[b-ci78cs29x7] {
    padding-right: 0;
    border-right: 0;
}

.tool-group-tools[b-ci78cs29x7] {
    border-right: 0;
}

.tool-group-label[b-ci78cs29x7] {
    display: none;
    align-items: center;
    height: var(--tool-label-height);
    min-height: var(--tool-label-height);
    overflow: visible;
    color: rgba(234, 245, 255, .58);
    font-size: 7px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

.paint-row[b-ci78cs29x7] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.swatches[b-ci78cs29x7] {
    min-width: 0;
}

.paint-row button[b-ci78cs29x7],
.swatches button[b-ci78cs29x7],
.paint-row[b-ci78cs29x7]  button,
.swatches[b-ci78cs29x7]  button {
    position: relative;
    width: var(--tool-button-size);
    height: var(--tool-button-size);
    border-radius: 7px;
    border: 2px solid rgba(226, 241, 255, .18);
    cursor: pointer;
    touch-action: manipulation;
    user-select: none;
    color: white;
    font-weight: 900;
    font-size: 14px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    padding: 0;
    line-height: 1;
    display: grid;
    place-items: center;
    transition: border-color 80ms, transform 80ms, box-shadow 80ms;
    flex: 0 0 auto;
    box-shadow: inset 0 -6px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.24);
}

.tool-hotkey[b-ci78cs29x7],
[b-ci78cs29x7] .tool-hotkey {
    position: absolute;
    left: 3px;
    top: 2px;
    display: grid;
    min-width: 11px;
    height: 11px;
    place-items: center;
    border-radius: 4px;
    background: rgba(2, 8, 14, .74);
    color: rgba(234, 245, 255, .92);
    font-size: 7px;
    font-weight: 950;
    line-height: 1;
    text-shadow: none;
}

.swatches button.active[b-ci78cs29x7],
.swatches[b-ci78cs29x7]  button.active {
    border-color: #2aa8ff;
    box-shadow: 0 0 0 3px rgba(50,168,255,.24), inset 0 -6px 0 rgba(0,0,0,.16);
    transform: translateY(-1px);
}

.swatches button.guidance-target[b-ci78cs29x7],
.swatches[b-ci78cs29x7]  button.guidance-target {
    border-color: rgba(124, 255, 198, .82);
    box-shadow:
        0 0 0 3px rgba(124, 255, 198, .18),
        0 0 18px rgba(124, 255, 198, .24),
        inset 0 -6px 0 rgba(0,0,0,.16);
    animation: guidance-tool-pulse-b-ci78cs29x7 1.5s ease-in-out infinite;
}

@keyframes guidance-tool-pulse-b-ci78cs29x7 {
    0%, 100% {
        box-shadow:
            0 0 0 3px rgba(124, 255, 198, .14),
            0 0 12px rgba(124, 255, 198, .16),
            inset 0 -6px 0 rgba(0,0,0,.16);
    }
    50% {
        box-shadow:
            0 0 0 4px rgba(124, 255, 198, .24),
            0 0 22px rgba(124, 255, 198, .32),
            inset 0 -6px 0 rgba(0,0,0,.16);
    }
}

.swatches button.locked[b-ci78cs29x7],
.swatches[b-ci78cs29x7]  button.locked {
    border-color: #7cffc6;
    box-shadow:
        0 0 0 3px rgba(124,255,198,.22),
        0 0 18px rgba(69,245,155,.22),
        inset 0 -6px 0 rgba(0,0,0,.16);
}

.tool-repeat-badge[b-ci78cs29x7],
[b-ci78cs29x7] .tool-repeat-badge {
    position: absolute;
    right: 3px;
    bottom: 2px;
    display: grid;
    width: 12px;
    height: 12px;
    place-items: center;
    border-radius: 999px;
    background: rgba(5, 13, 22, .88);
    color: rgba(234, 245, 255, .9);
    font-size: 10px;
    line-height: 1;
    text-shadow: none;
    box-shadow: 0 0 0 1px rgba(226, 241, 255, .24);
}

.tool-repeat-badge.is-locked[b-ci78cs29x7],
[b-ci78cs29x7] .tool-repeat-badge.is-locked {
    background: rgba(7, 22, 19, .9);
    color: #7cffc6;
    box-shadow: 0 0 0 1px rgba(124,255,198,.55);
}

.swatches button:hover[b-ci78cs29x7],
.swatches[b-ci78cs29x7]  button:hover {
    border-color: rgba(255, 255, 255, 0.5);
}

.tool-icon[b-ci78cs29x7],
[b-ci78cs29x7] .tool-icon {
    width: 44px;
    height: 44px;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .62));
}

.swatches button.active .tool-icon[b-ci78cs29x7],
.swatches[b-ci78cs29x7]  button.active .tool-icon {
    filter:
        drop-shadow(0 1px 2px rgba(0, 0, 0, .6))
        drop-shadow(0 0 7px rgba(42, 168, 255, .34));
}

.swatch-divider[b-ci78cs29x7] {
    width: 1px;
    height: 36px;
    background: rgba(255, 255, 255, 0.18);
    margin: 0 1px;
    flex: 0 0 auto;
}

.paint-section.tool-inspector[b-ci78cs29x7] {
    grid-area: inspector;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
    gap: 8px;
    padding-inline: 7px;
    overflow: hidden;
}

.paint-toolbar.has-brush-controls .paint-section.tool-inspector[b-ci78cs29x7] {
    grid-template-columns: minmax(188px, 1fr) minmax(218px, 276px);
    align-content: center;
}

.tool-inspector-main[b-ci78cs29x7] {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.tool-inspector-main .tool-icon[b-ci78cs29x7],
.tool-inspector-main[b-ci78cs29x7]  .tool-icon {
    width: 44px;
    height: 44px;
}

.camera-icon[b-ci78cs29x7] {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 8px;
    border: 1px solid rgba(226, 241, 255, .18);
    background: rgba(7, 15, 24, .62);
    color: #c8d9e8;
    font-size: 22px;
    line-height: 1;
}

.tool-inspector-text[b-ci78cs29x7] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.tool-title-row[b-ci78cs29x7] {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

.tool-name[b-ci78cs29x7] {
    min-width: 0;
    overflow: hidden;
    color: #f4f9ff;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tool-key[b-ci78cs29x7] {
    flex: 0 0 auto;
    display: grid;
    min-width: 17px;
    height: 15px;
    place-items: center;
    border-radius: 5px;
    border: 1px solid rgba(226, 241, 255, .18);
    background: rgba(2, 8, 14, .55);
    color: rgba(234, 245, 255, .86);
    font-size: 8px;
    font-weight: 950;
    line-height: 1;
}

.tool-cost-chip[b-ci78cs29x7],
.tool-state-badge[b-ci78cs29x7] {
    flex: 0 0 auto;
    display: inline-grid;
    height: 16px;
    place-items: center;
    border-radius: 999px;
    border: 1px solid rgba(226, 241, 255, .18);
    background: rgba(2, 8, 14, .55);
    color: rgba(234, 245, 255, .84);
    font-size: 10px;
    font-weight: 950;
    line-height: 1;
}

.tool-cost-chip[b-ci78cs29x7] {
    grid-auto-flow: column;
    gap: 2px;
    min-width: 20px;
    padding: 0 5px;
}

.tool-cost-chip .splanet-hud-icon[b-ci78cs29x7] {
    width: 10px;
    height: 10px;
}

.tool-state-badge[b-ci78cs29x7] {
    width: 18px;
}

.tool-state-badge.is-locked[b-ci78cs29x7] {
    border-color: rgba(124, 255, 198, .58);
    background: rgba(7, 22, 19, .7);
    color: #7cffc6;
    box-shadow: 0 0 10px rgba(69, 245, 155, .16);
}

.tool-hint[b-ci78cs29x7] {
    min-width: 0;
    overflow: hidden;
    color: #9bb4c9;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tool-meta-row[b-ci78cs29x7] {
    display: none;
    gap: 5px;
    min-width: 0;
    overflow: hidden;
}

.tool-meta-row span[b-ci78cs29x7] {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(12, 22, 33, .64);
    color: rgba(234, 245, 255, .78);
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.paint-toolbar.has-tool-inspector[b-ci78cs29x7],
.paint-toolbar.has-brush-controls[b-ci78cs29x7] {
    grid-template-columns: max-content minmax(240px, 300px);
    grid-template-areas: "catalog inspector";
}

.tool-inline-controls[b-ci78cs29x7] {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-self: center;
    gap: 4px;
    min-width: 0;
}

.tool-inline-control[b-ci78cs29x7] {
    display: grid;
    grid-template-columns: 54px minmax(86px, 1fr) 20px;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.tool-inline-label[b-ci78cs29x7] {
    display: flex;
    align-items: center;
    min-width: 0;
    color: #9bb4c9;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.tool-inline-value[b-ci78cs29x7] {
    display: grid;
    min-width: 18px;
    height: 16px;
    place-items: center;
    color: #f4f9ff;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.brush-slider[b-ci78cs29x7] {
    width: 100%;
    height: 12px;
    min-width: 0;
    accent-color: #2aa8ff;
    cursor: pointer;
}

@media (max-width: 900px) {
    .paint-toolbar[b-ci78cs29x7] {
        --tool-button-size: 47px;
        --tool-label-height: 8px;
        --tool-group-gap: 2px;
        --toolbar-section-height: 68px;
        --toolbar-catalog-height: 68px;
        grid-template-columns: max-content minmax(220px, 300px);
        grid-template-areas: "catalog inspector";
        gap: 5px;
        max-width: none;
        padding: 5px;
        min-height: 78px;
        border-radius: 10px;
    }

    .paint-section[b-ci78cs29x7] {
        padding: 5px;
        border-radius: 8px;
        background: rgba(47, 71, 90, .34);
    }

    .brush-slider[b-ci78cs29x7] {
        height: 9px;
    }

    .paint-section.tool-catalog[b-ci78cs29x7] {
        grid-area: catalog;
        width: max-content;
        max-width: min(390px, 48vw);
        padding: 2px 4px;
    }

    .tool-catalog-scroll[b-ci78cs29x7] {
        padding: 0 8px;
    }

    .tool-group-label[b-ci78cs29x7] {
        font-size: 7px;
        line-height: 1;
    }

    .paint-toolbar.has-tool-inspector .paint-section.tool-inspector[b-ci78cs29x7],
    .paint-toolbar.has-brush-controls .paint-section.tool-inspector[b-ci78cs29x7] {
        grid-area: inspector;
    }

    .paint-section.tool-inspector[b-ci78cs29x7] {
        grid-template-rows: 1fr;
        gap: 4px;
    }

    .paint-toolbar.has-brush-controls .paint-section.tool-inspector[b-ci78cs29x7] {
        grid-template-columns: minmax(162px, 1fr) minmax(192px, 236px);
    }

    .tool-inspector-main[b-ci78cs29x7] {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 8px;
    }

    .tool-inspector-main .tool-icon[b-ci78cs29x7],
    .tool-inspector-main[b-ci78cs29x7]  .tool-icon,
    .camera-icon[b-ci78cs29x7] {
        width: 40px;
        height: 40px;
    }

    .camera-icon[b-ci78cs29x7] {
        font-size: 20px;
    }

    .tool-inspector-text[b-ci78cs29x7] {
        gap: 2px;
    }

    .tool-name[b-ci78cs29x7] {
        font-size: 13px;
    }

    .tool-key[b-ci78cs29x7] {
        height: 15px;
        min-width: 17px;
        font-size: 8px;
    }

    .tool-meta-row[b-ci78cs29x7] {
        display: none;
    }

    .paint-row[b-ci78cs29x7] {
        gap: 4px;
    }

    .paint-row button[b-ci78cs29x7],
    .swatches button[b-ci78cs29x7],
    .paint-row[b-ci78cs29x7]  button,
    .swatches[b-ci78cs29x7]  button {
        border-radius: 7px;
        font-size: 12px;
    }

    .tool-icon[b-ci78cs29x7],
    [b-ci78cs29x7] .tool-icon {
        width: 39px;
        height: 39px;
    }

    .swatch-divider[b-ci78cs29x7] {
        display: none;
    }

    .tool-hint[b-ci78cs29x7] {
        font-size: 9px;
        line-height: 1.1;
    }

    .tool-inline-controls[b-ci78cs29x7] {
        gap: 3px;
    }

    .tool-inline-control[b-ci78cs29x7] {
        grid-template-columns: 48px minmax(72px, 1fr) 18px;
        gap: 5px;
    }
}

@media (max-width: 620px) {
    .paint-toolbar[b-ci78cs29x7] {
        width: min(100%, calc(100vw - 18px));
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "catalog"
            "inspector";
        gap: 5px;
    }

    .paint-section.tool-catalog[b-ci78cs29x7] {
        width: auto;
        max-width: none;
    }

    .tool-catalog-scroll[b-ci78cs29x7] {
        scrollbar-width: none;
    }

    .tool-catalog-scroll[b-ci78cs29x7]::-webkit-scrollbar {
        display: none;
    }

    .paint-section.tool-inspector[b-ci78cs29x7] {
        grid-column: auto;
    }

    .paint-toolbar.has-brush-controls .paint-section.tool-inspector[b-ci78cs29x7] {
        grid-template-columns: minmax(0, 1fr);
    }

    .tool-inline-controls[b-ci78cs29x7] {
        grid-template-columns: repeat(2, minmax(96px, 1fr));
        grid-template-rows: none;
    }

    .paint-row button[b-ci78cs29x7],
    .swatches button[b-ci78cs29x7],
    .paint-row[b-ci78cs29x7]  button,
    .swatches[b-ci78cs29x7]  button {
        width: var(--tool-button-size);
        height: var(--tool-button-size);
    }
}

@media (max-width: 900px) and (max-height: 560px) {
    .paint-toolbar[b-ci78cs29x7] {
        --tool-button-size: 42px;
        --tool-label-height: 7px;
        --tool-group-gap: 2px;
        --toolbar-section-height: 60px;
        --toolbar-catalog-height: 60px;
        min-height: 68px;
        padding: 4px;
    }

    .paint-section[b-ci78cs29x7] {
        padding: 4px 5px;
    }

    .paint-section.tool-catalog[b-ci78cs29x7] {
        padding: 3px 5px;
    }

    .paint-row button[b-ci78cs29x7],
    .swatches button[b-ci78cs29x7] {
        width: var(--tool-button-size);
        height: var(--tool-button-size);
    }

    .tool-inline-label[b-ci78cs29x7] {
        font-size: 7px;
    }
}
/* /Components/GameHud/PlacementPointerFeedback.razor.rz.scp.css */
.placement-pointer-feedback[b-ilatxhxf0y] {
    position: absolute;
    left: clamp(112px, var(--feedback-x), calc(100vw - 112px));
    top: clamp(72px, calc(var(--feedback-y) - 58px), calc(100vh - 122px));
    z-index: 5000;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    width: max-content;
    max-width: min(220px, calc(100vw - 24px));
    min-height: 44px;
    padding: 8px 10px;
    border: 2px solid rgba(223, 74, 74, .78);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(239, 246, 251, .96));
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .72),
        0 14px 30px rgba(10, 24, 38, .28);
    color: var(--splanet-hud-ink, #122638);
    pointer-events: none;
    transform: translate(-50%, -100%) scale(.98);
    animation: placement-feedback-pop-b-ilatxhxf0y 1450ms cubic-bezier(.2, .9, .2, 1) both;
}

.placement-pointer-feedback--touch[b-ilatxhxf0y],
.placement-pointer-feedback--pen[b-ilatxhxf0y] {
    top: clamp(72px, calc(var(--feedback-y) - 88px), calc(100vh - 122px));
}

.placement-pointer-feedback--blocked[b-ilatxhxf0y] {
    border-color: rgba(223, 74, 74, .82);
}

.placement-pointer-feedback--invalid[b-ilatxhxf0y] {
    border-color: rgba(232, 102, 63, .82);
}

.placement-pointer-feedback--loading[b-ilatxhxf0y] {
    border-color: rgba(224, 166, 67, .82);
}

.placement-pointer-feedback__icon[b-ilatxhxf0y] {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    background: rgba(223, 74, 74, .12);
    color: #a72828;
}

.placement-pointer-feedback--invalid .placement-pointer-feedback__icon[b-ilatxhxf0y] {
    background: rgba(232, 102, 63, .12);
    color: #9e341f;
}

.placement-pointer-feedback--loading .placement-pointer-feedback__icon[b-ilatxhxf0y] {
    background: rgba(224, 166, 67, .14);
    color: #7a4b00;
}

.placement-pointer-feedback__icon .splanet-hud-icon[b-ilatxhxf0y] {
    width: 15px;
    height: 15px;
}

.placement-pointer-feedback__copy[b-ilatxhxf0y] {
    display: grid;
    min-width: 0;
    gap: 1px;
}

.placement-pointer-feedback__copy strong[b-ilatxhxf0y],
.placement-pointer-feedback__copy small[b-ilatxhxf0y] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.placement-pointer-feedback__copy strong[b-ilatxhxf0y] {
    color: var(--splanet-hud-ink, #122638);
    font-size: 12px;
    font-weight: 950;
    line-height: 1.05;
}

.placement-pointer-feedback__copy small[b-ilatxhxf0y] {
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .64));
    font-size: 10px;
    font-weight: 900;
}

@keyframes placement-feedback-pop-b-ilatxhxf0y {
    0% {
        opacity: 0;
        transform: translate(-50%, -92%) scale(.9);
    }
    10%,
    78% {
        opacity: 1;
        transform: translate(-50%, -100%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -110%) scale(.96);
    }
}
/* /Components/GameHud/PlayerEconomyPanel.razor.rz.scp.css */
/* 전역 toy-HUD 스킨(splanet-toy-hud-skin.css)이 .brick-panel 의 배경을
   transparent 로 덮고 ::before 로 "밝은 흰색 brick" plate 를 깔며 텍스트를
   --splanet-hud-ink(어두운 남색)로 강제한다. 따라서 여기서는 박스 배경/테두리를
   주지 않고(전역이 처리), 밝은 brick 위에서 잘 읽히는 어두운/진한 색만 쓴다.
   compact corner 패널이라 padding 만 약간 조인다. */
.brick-panel[b-4uyk046fkz] {
    padding: 11px 13px;
    box-sizing: border-box;
    min-width: 168px;
}

.eyebrow[b-4uyk046fkz] {
    margin: 0;
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/* 가용(순흐름) — 첫 시선 큰 숫자. 흑자 진초록 / 적자 진빨강. */
.net[b-4uyk046fkz] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}

.net-label[b-4uyk046fkz] {
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
}

.net-val[b-4uyk046fkz] {
    font-size: 22px;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    color: var(--splanet-hud-ink, #122638);
}

.net-val small[b-4uyk046fkz] {
    font-size: 11px;
    font-weight: 800;
    opacity: .65;
    margin-left: 1px;
}

.is-surplus .net-val[b-4uyk046fkz] { color: #1b8a4c; }
.is-deficit .net-val[b-4uyk046fkz] { color: #c0392b; }

/* 부담 막대 — 트랙 = income capacity, 채움 = 유지비 점유. 밝은 brick 위라
   트랙은 어두운 반투명, 채움은 진한 색으로 또렷하게. */
.load-meter[b-4uyk046fkz] {
    position: relative;
    height: 8px;
    margin: 8px 0 9px;
    border-radius: 999px;
    background: rgba(18, 38, 56, .13);
    box-shadow: inset 0 1px 1px rgba(18, 38, 56, .12);
    overflow: hidden;
}

.load-meter i[b-4uyk046fkz] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(180deg, #8493a3, #586b7c);
    transition: width .25s ease;
}

.load-meter.is-deficit i[b-4uyk046fkz] {
    background: linear-gradient(180deg, #d6584a, #c0392b);
}

/* income / upkeep 한 줄 좌우 — 세로를 줄여 미니맵을 안 밀게. */
.flows[b-4uyk046fkz] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.flows b[b-4uyk046fkz] { font-weight: 850; }
.flows .pos[b-4uyk046fkz] { color: #1b8a4c; }
.flows .neg[b-4uyk046fkz] { color: #b45309; }

.flows span span[b-4uyk046fkz] {
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-weight: 700;
    margin-right: 4px;
}

.warn-note[b-4uyk046fkz] {
    margin: 8px 0 0;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(192, 57, 43, .12);
    color: #a5281b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.empty-note[b-4uyk046fkz] {
    margin: 8px 0 0;
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .brick-panel[b-4uyk046fkz] {
        padding: 8px 9px;
        min-width: 140px;
    }

    .net-val[b-4uyk046fkz] { font-size: 18px; }
    .eyebrow[b-4uyk046fkz] { font-size: 8px; letter-spacing: .1em; }
}
/* /Components/GameHud/PlayerIdentityPanel.razor.rz.scp.css */
.you-chip[b-9ozdj9has9] {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    min-height: 32px;
    padding: 4px 7px;
    margin-bottom: 4px;
    width: 132px;
    border: 1px solid var(--splanet-my-team-border-soft, color-mix(in srgb, var(--splanet-my-team-hud, #9b8ddb) 38%, rgba(226, 241, 255, .18)));
    border-radius: 12px;
    background:
        linear-gradient(90deg,
            color-mix(in srgb, var(--splanet-my-team-hud, #9b8ddb) 20%, transparent) 0 30px,
            rgba(255, 255, 255, .04) 30px),
        linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(231, 241, 248, .82));
    box-shadow:
        0 0 0 2px color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 8%, transparent),
        0 10px 22px rgba(16, 36, 56, .18),
        inset 0 0 0 1px rgba(255,255,255,.58),
        inset 0 -4px 0 rgba(18, 38, 56, .05);
    color: var(--splanet-hud-ink, #122638);
}

.you-chip.is-assigned[b-9ozdj9has9] {
    border-color: var(--splanet-my-team-border, color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 48%, rgba(226, 241, 255, .18)));
}

.chip-icon.you[b-9ozdj9has9] {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    box-shadow: inset 0 -4px 0 rgba(0,0,0,.13);
}

strong[b-9ozdj9has9] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--splanet-hud-ink, #122638);
    font-size: 10px;
    font-weight: 950;
    line-height: 1.1;
}

small[b-9ozdj9has9] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 1px;
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 8px;
    font-weight: 800;
}

.identity-actions[b-9ozdj9has9] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin-top: 4px;
}

.identity-action[b-9ozdj9has9] {
    min-width: 0;
    padding: 3px 6px;
    border: 1px solid var(--splanet-my-team-border-soft, color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 40%, rgba(226, 241, 255, .18)));
    border-radius: 8px;
    background:
        linear-gradient(180deg,
            color-mix(in srgb, var(--splanet-my-team-hud, #9b8ddb) 24%, rgba(58, 96, 128, .92)),
            color-mix(in srgb, var(--splanet-my-team-dark, #263044) 34%, rgba(28, 52, 74, .92)));
    color: #eaf5ff;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .02em;
    cursor: pointer;
    transition: filter .12s ease;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.identity-action:hover:not(:disabled)[b-9ozdj9has9] {
    filter: brightness(1.18);
}

.identity-action:disabled[b-9ozdj9has9] {
    opacity: .65;
    cursor: default;
}

/* 스쿼드 협동 액션 (집결/핑) — chip 하단 2분할. */
.squad-actions[b-9ozdj9has9] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin-top: 4px;
}

.squad-action[b-9ozdj9has9] {
    padding: 3px 4px;
    border: 1px solid var(--splanet-my-team-border-hairline, color-mix(in srgb, var(--splanet-my-team-primary, #9b8ddb) 28%, rgba(226, 241, 255, .15)));
    border-radius: 8px;
    background: rgba(20, 38, 56, .9);
    color: #eaf5ff;
    font-size: 8px;
    font-weight: 900;
    cursor: pointer;
    transition: filter .12s ease;
}

.squad-action:hover:not(:disabled)[b-9ozdj9has9] {
    filter: brightness(1.2);
}

.squad-action:disabled[b-9ozdj9has9] {
    opacity: .6;
    cursor: default;
}

@media (max-width: 1024px) {
    .you-chip[b-9ozdj9has9] {
        width: min(220px, 100%);
        min-height: 36px;
        grid-template-columns: 24px minmax(0, 1fr);
        padding: 5px 8px;
    }

    .identity-actions[b-9ozdj9has9],
    .squad-actions[b-9ozdj9has9] {
        display: none;
    }
}

@media (max-width: 900px) {
    .you-chip[b-9ozdj9has9] {
        position: relative;
        inset: auto;
        width: 100%;
        min-height: var(--splanet-top-chip-height, 36px);
        margin-bottom: 0;
        grid-template-columns: 22px minmax(0, 1fr);
        padding: var(--splanet-top-chip-pad-y, 5px) var(--splanet-top-chip-pad-x, 8px);
        border-radius: var(--splanet-top-chip-radius, 14px);
    }

    .you-chip strong[b-9ozdj9has9] {
        font-size: 9px;
    }

    .you-chip small[b-9ozdj9has9] {
        font-size: 7px;
    }

    .chip-icon.you[b-9ozdj9has9] {
        width: 22px;
        height: 22px;
    }
}
/* /Components/GameHud/QuickCommandPalette.razor.rz.scp.css */
.quick-command-backdrop[b-2a6ood0fto] {
    position: fixed;
    inset: 0;
    z-index: 41;
    pointer-events: auto;
    background: transparent;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.quick-command-palette[b-2a6ood0fto] {
    --palette-size: 212px;
    --inner-hole-radius: 26px;
    position: fixed;
    z-index: 42;
    width: var(--palette-size);
    height: var(--palette-size);
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    border-radius: 50%;
    color: inherit;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

.quick-command-palette *[b-2a6ood0fto],
.quick-command-palette[b-2a6ood0fto]::before,
.quick-command-palette[b-2a6ood0fto]::after {
    -webkit-touch-callout: none;
    user-select: none;
    -webkit-user-select: none;
}

.quick-command-palette[b-2a6ood0fto]::before,
.quick-command-palette[b-2a6ood0fto]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    pointer-events: none;
}

.quick-command-palette[b-2a6ood0fto]::before {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .96) 0 calc(var(--inner-hole-radius) - 4px), transparent calc(var(--inner-hole-radius) - 3px)),
        repeating-conic-gradient(from -30deg, rgba(18, 38, 56, .2) 0deg 1deg, transparent 1deg 60deg),
        conic-gradient(from -30deg,
            rgba(247, 251, 255, .94) 0deg 56deg,
            rgba(232, 241, 248, .94) 56deg 60deg,
            rgba(247, 251, 255, .94) 60deg 116deg,
            rgba(232, 241, 248, .94) 116deg 120deg,
            rgba(247, 251, 255, .94) 120deg 176deg,
            rgba(232, 241, 248, .94) 176deg 180deg,
            rgba(247, 251, 255, .94) 180deg 236deg,
            rgba(232, 241, 248, .94) 236deg 240deg,
            rgba(247, 251, 255, .94) 240deg 296deg,
            rgba(232, 241, 248, .94) 296deg 300deg,
            rgba(247, 251, 255, .94) 300deg 356deg,
            rgba(232, 241, 248, .94) 356deg 360deg);
    border: 3px solid rgba(18, 38, 56, .72);
    box-shadow:
        inset 0 0 0 5px rgba(255, 255, 255, .72),
        inset 0 -12px 0 rgba(18, 38, 56, .06),
        0 12px 22px rgba(16, 36, 56, .24);
    -webkit-mask: radial-gradient(circle at 50% 50%, transparent 0 var(--inner-hole-radius), #000 calc(var(--inner-hole-radius) + 1px) 100%);
    mask: radial-gradient(circle at 50% 50%, transparent 0 var(--inner-hole-radius), #000 calc(var(--inner-hole-radius) + 1px) 100%);
}

.quick-command-palette[b-2a6ood0fto]::after {
    inset: calc(50% - var(--inner-hole-radius));
    border: 3px solid rgba(18, 38, 56, .32);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(231, 241, 247, .72)),
        rgba(247, 251, 255, .9);
    box-shadow:
        inset 0 0 0 3px rgba(255, 255, 255, .78),
        0 4px 10px rgba(16, 36, 56, .16);
}

.quick-command-palette__items[b-2a6ood0fto] {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 50%;
}

.quick-command-palette__item[b-2a6ood0fto] {
    position: absolute;
    inset: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    cursor: pointer;
    clip-path: polygon(50% 50%, 24.5% 5.8%, 75.5% 5.8%);
    -webkit-mask: radial-gradient(circle at 50% 50%, transparent 0 var(--inner-hole-radius), #000 calc(var(--inner-hole-radius) + 1px) 100%);
    mask: radial-gradient(circle at 50% 50%, transparent 0 var(--inner-hole-radius), #000 calc(var(--inner-hole-radius) + 1px) 100%);
    opacity: 0;
    transform: rotate(var(--angle)) scale(.94);
    transform-origin: 50% 50%;
    animation: radial-command-in-b-2a6ood0fto 150ms cubic-bezier(.18,.89,.32,1.18) forwards;
    animation-delay: var(--delay);
}

.quick-command-palette__item[b-2a6ood0fto]::before {
    content: "";
    position: absolute;
    inset: 9px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .16);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .36);
}

.quick-command-palette__item:hover[b-2a6ood0fto]::before,
.quick-command-palette__item.is-active[b-2a6ood0fto]::before {
    background:
        radial-gradient(circle at 50% 22%, rgba(255, 255, 255, .64), rgba(255, 255, 255, .18) 48%, rgba(84, 207, 199, .16));
    box-shadow: inset 0 0 0 2px rgba(18, 38, 56, .22);
}

.quick-command-palette__item-content[b-2a6ood0fto] {
    position: absolute;
    left: 50%;
    top: 17.5%;
    display: grid;
    width: 54px;
    min-width: 0;
    justify-items: center;
    gap: 2px;
    transform: translate(-50%, -50%) rotate(calc(-1 * var(--angle)));
    transform-origin: 50% 50%;
    pointer-events: none;
}

.quick-command-palette__item[b-2a6ood0fto]  .tool-icon {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .26));
}

.quick-command-palette__label[b-2a6ood0fto] {
    overflow: hidden;
    width: 100%;
    font-size: 7.5px;
    font-weight: 950;
    line-height: 1.08;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-command-palette__hotkey[b-2a6ood0fto] {
    position: absolute;
    left: 4px;
    top: -1px;
    display: grid;
    min-width: 12px;
    height: 12px;
    place-items: center;
    border-radius: 999px;
    color: inherit;
    font-size: 7px;
    font-weight: 950;
    line-height: 1;
}

.quick-command-palette__hub[b-2a6ood0fto] {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.quick-command-palette__hole[b-2a6ood0fto] {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    width: calc(var(--inner-hole-radius) * 2);
    height: calc(var(--inner-hole-radius) * 2);
    appearance: none;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: default;
    transform: translate(-50%, -50%);
}

.quick-command-palette__hub span[b-2a6ood0fto] {
    display: none;
}

.quick-command-palette__hub button[b-2a6ood0fto] {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 2px solid rgba(18, 38, 56, .52);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(230, 240, 247, .94));
    color: inherit;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .85),
        inset 0 -3px 0 rgba(18, 38, 56, .08),
        0 4px 8px rgba(16, 36, 56, .18);
    cursor: pointer;
    pointer-events: auto;
}

.quick-command-palette__hub button:hover[b-2a6ood0fto] {
    background:
        linear-gradient(180deg, #fff, #edf8fb);
    box-shadow:
        inset 0 0 0 2px rgba(84, 207, 199, .22),
        inset 0 -3px 0 rgba(18, 38, 56, .08),
        0 5px 10px rgba(16, 36, 56, .2);
}

.quick-command-palette__hub button:active[b-2a6ood0fto] {
    transform: translateY(1px);
}

.quick-command-palette__back-icon[b-2a6ood0fto] {
    transform: rotate(180deg);
}

.quick-command-palette__tooltip[b-2a6ood0fto] {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 4;
    display: grid;
    box-sizing: border-box;
    width: 190px;
    max-width: min(190px, calc(100vw - 24px));
    min-height: 58px;
    gap: 4px;
    padding: 8px 11px 9px;
    border: 2px solid rgba(18, 38, 56, .64);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(235, 244, 250, .96));
    color: var(--splanet-hud-ink, #122638);
    pointer-events: none;
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .68),
        inset 0 -4px 0 rgba(18, 38, 56, .06),
        0 8px 14px rgba(16, 36, 56, .18);
    opacity: 0;
    transform: translate(-50%, calc(-100% - 8px)) scale(.96);
    animation: quick-command-tooltip-in-b-2a6ood0fto 90ms ease-out forwards;
}

.quick-command-palette__tooltip.is-below[b-2a6ood0fto] {
    top: 100%;
    transform: translate(-50%, 8px) scale(.96);
}

.quick-command-palette__tooltip strong[b-2a6ood0fto] {
    overflow: hidden;
    min-width: 0;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-command-palette__tooltip span[b-2a6ood0fto] {
    display: -webkit-box;
    overflow: hidden;
    color: #26384a;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 1.18;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.quick-command-palette__tooltip kbd[b-2a6ood0fto] {
    position: absolute;
    right: 10px;
    top: 9px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border: 1px solid currentColor;
    border-radius: 5px;
    font: inherit;
    font-size: 8px;
    font-weight: 950;
    line-height: 14px;
    text-align: center;
}

@keyframes radial-command-in-b-2a6ood0fto {
    from {
        opacity: 0;
        transform: rotate(var(--angle)) scale(.9);
    }
    to {
        opacity: 1;
        transform: rotate(var(--angle)) scale(1);
    }
}

@keyframes quick-command-tooltip-in-b-2a6ood0fto {
    to {
        opacity: 1;
    }
}

@media (max-width: 520px) {
    .quick-command-palette[b-2a6ood0fto] {
        --palette-size: min(212px, calc(100vw - 20px), calc(100vh - 20px));
        --inner-hole-radius: 26px;
    }

    .quick-command-palette__item-content[b-2a6ood0fto] {
        top: 17.5%;
        width: 54px;
    }

    .quick-command-palette__item[b-2a6ood0fto]  .tool-icon {
        width: 28px;
        height: 28px;
    }

    .quick-command-palette__label[b-2a6ood0fto] {
        font-size: 7.5px;
    }

    .quick-command-palette__tooltip[b-2a6ood0fto] {
        width: 184px;
        min-height: 56px;
        padding: 8px 10px 9px;
    }
}
/* /Components/GameHud/RankingsPanel.razor.rz.scp.css */
/* "행성 기록" 랭킹 패널 — HUD slot 밖 오버레이라 전역 toy-HUD 스킨
   (.off-hud-root .brick-panel)의 plate 가 닿지 않는다. 같은 밝은 흰 brick
   plate 를 여기서 자급하고, brick 위에서 또렷한 진한 ink 색만 쓴다
   (연한 밝은색 텍스트 금지 — 묻힌다). */

.rankings-backdrop[b-6snhy7x7wy] {
    position: fixed;
    inset: 0;
    z-index: 58;
    background: rgba(8, 18, 28, .34);
}

.rankings-panel[b-6snhy7x7wy] {
    position: fixed;
    top: 76px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 59;
    width: min(460px, calc(100vw - 24px));
    max-height: min(560px, calc(100vh - 110px));
    display: flex;
    flex-direction: column;
    padding: 12px 14px;
    box-sizing: border-box;
    /* toy-HUD brick plate (splanet-toy-hud-skin.css 의 .brick-panel::before
       와 동일 토큰) — 스킨 스코프 밖이라 직접 깐다. */
    border: 2px solid var(--splanet-my-team-border, rgba(18, 38, 56, .35));
    border-radius: 18px;
    background:
        linear-gradient(90deg, rgba(155, 141, 219, .18), rgba(255, 255, 255, 0) 90px, rgba(255, 255, 255, 0) calc(100% - 90px), rgba(84, 207, 199, .12)),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(235, 243, 249, .94));
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .68),
        inset 0 -8px 0 rgba(18, 38, 56, .06),
        0 12px 24px rgba(16, 36, 56, .18);
    color: var(--splanet-hud-ink, #122638);
}

.rankings-head[b-6snhy7x7wy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.eyebrow[b-6snhy7x7wy] {
    margin: 0;
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rankings-close[b-6snhy7x7wy] {
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 7px;
    background: rgba(18, 38, 56, .08);
    color: var(--splanet-hud-ink, #122638);
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.rankings-close:hover[b-6snhy7x7wy] { background: rgba(18, 38, 56, .16); }

.rankings-tabs[b-6snhy7x7wy] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin-top: 9px;
}

.rankings-tab[b-6snhy7x7wy] {
    padding: 6px 0;
    border: 1.5px solid rgba(18, 38, 56, .22);
    border-radius: 9px;
    background: transparent;
    color: var(--splanet-hud-ink, #122638);
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.rankings-tab.is-active[b-6snhy7x7wy] {
    background: var(--splanet-hud-ink, #122638);
    border-color: var(--splanet-hud-ink, #122638);
    color: #f4f9ff;
}

.rankings-body[b-6snhy7x7wy] {
    margin-top: 9px;
    overflow-y: auto;
    min-height: 96px;
}

.rankings-empty[b-6snhy7x7wy] {
    margin: 18px 6px;
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.rank-row[b-6snhy7x7wy] {
    display: grid;
    grid-template-columns: 18px 13px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    padding: 5px 6px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    color: var(--splanet-hud-ink, #122638);
}

/* 팀 탭은 순위 숫자 대신 스와치가 첫 칼럼 + "현재 영토%" 칼럼 추가. */
.rank-row.team-row[b-6snhy7x7wy] {
    grid-template-columns: 13px minmax(0, 1fr) auto auto auto;
}

.rank-row.is-mine[b-6snhy7x7wy] {
    background: rgba(18, 38, 56, .07);
    box-shadow: inset 2.5px 0 0 var(--splanet-hud-ink, #122638);
}

/* 개인 탭에서 스쿼드 태그로 점프해 온 직후의 시선 유도. */
.rank-row.is-focus[b-6snhy7x7wy] {
    outline: 2px solid rgba(18, 38, 56, .45);
    outline-offset: -2px;
}

.rank-no[b-6snhy7x7wy] {
    color: var(--splanet-hud-ink-muted, #586b7c);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* 전역 .swatch { grid-area: swatch } 상속이 grid 흐름을 깨지 않게 명시 복귀
   (TerritoryGauge 의 rank-row 와 같은 함정). */
.rank-row .swatch[b-6snhy7x7wy] {
    grid-area: auto;
    width: 13px;
    height: 13px;
    border-radius: 4px;
}

.rank-name[b-6snhy7x7wy] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rank-main[b-6snhy7x7wy] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 950;
}

.rank-sub[b-6snhy7x7wy] {
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 11px;
    font-weight: 750;
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rank-now[b-6snhy7x7wy] {
    color: #1b8a4c;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
}

.rank-squad-tag[b-6snhy7x7wy] {
    justify-self: end;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 1px 7px;
    border: 1px solid rgba(18, 38, 56, .25);
    border-radius: 999px;
    background: transparent;
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.rank-squad-tag:hover[b-6snhy7x7wy] {
    border-color: var(--splanet-hud-ink, #122638);
    color: var(--splanet-hud-ink, #122638);
}

/* top-N 밖 뷰어의 자기 순위 — 리스트와 구분되는 고정 footer 행. */
.rank-me-row[b-6snhy7x7wy] {
    margin-top: 5px;
    border-top: 1px dashed rgba(18, 38, 56, .2);
    border-radius: 0 0 8px 8px;
    padding-top: 7px;
}

.rankings-foot[b-6snhy7x7wy] {
    margin-top: 9px;
    padding-top: 7px;
    border-top: 1px solid rgba(18, 38, 56, .12);
    color: var(--splanet-hud-ink-muted, #586b7c);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
}

@media (max-width: 640px) {
    .rankings-panel[b-6snhy7x7wy] {
        top: 64px;
        width: calc(100vw - 16px);
        max-height: calc(100vh - 88px);
    }
}
/* /Components/GameHud/SelectedBeaconPanel.razor.rz.scp.css */
.brick-panel[b-5hmj6ukx98] {
    position: relative;
    width: min(820px, 100%);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    border: 2px solid var(--splanet-my-team-border-soft, rgba(18, 38, 56, .46));
    border-radius: 14px;
    background: rgba(248, 252, 255, .98);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .82),
        0 14px 30px rgba(16, 36, 56, .22);
    color: var(--splanet-hud-ink, #122638);
}

.brick-panel.is-multi[b-5hmj6ukx98] {
    grid-template-columns: minmax(0, 1fr);
}

.selected-beacon.brick-panel[b-5hmj6ukx98]::before {
    inset: -2px;
    border: 2px solid var(--splanet-my-team-border, rgba(155, 141, 219, .56));
    border-radius: 16px;
    background:
        linear-gradient(90deg, rgba(155, 141, 219, .1), rgba(255, 255, 255, 0) 96px, rgba(84, 207, 199, .08)),
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(242, 249, 253, .98));
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .76),
        0 16px 36px rgba(16, 36, 56, .24);
}

.panel-close[b-5hmj6ukx98] {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    width: 30px;
    height: 30px;
    border: 2px solid rgba(18, 38, 56, .16);
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
    color: var(--splanet-hud-ink, #122638);
    cursor: pointer;
    font-size: 14px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 5px 12px rgba(16, 36, 56, .12);
}

.inspector-bar[b-5hmj6ukx98] {
    display: grid;
    grid-template-columns: minmax(190px, 1.1fr) minmax(240px, 2fr) auto;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
}

.panel-head[b-5hmj6ukx98] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    min-height: 60px;
    padding: 10px 46px 10px 12px;
    border: 1px solid rgba(18, 38, 56, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .78);
}

.eyebrow[b-5hmj6ukx98] {
    margin: 0;
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

h2[b-5hmj6ukx98] {
    margin: 0;
    color: var(--splanet-hud-ink, #122638);
    font-size: 18px;
    font-weight: 950;
    line-height: 1.08;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.primary-caption[b-5hmj6ukx98] {
    margin: 3px 0 0;
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 10px;
    font-weight: 850;
    line-height: 1.25;
}

.tag[b-5hmj6ukx98] {
    margin-top: 0;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(18, 38, 56, .14);
    background: rgba(226,241,255,.1);
    color: var(--splanet-hud-ink, #122638) !important;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .42),
        0 5px 12px rgba(16, 36, 56, .12);
}

.tag-mine[b-5hmj6ukx98] {
    box-shadow: 0 0 0 1px rgba(255,255,255,.48), 0 0 18px rgba(255,255,255,.16);
}

.selection-strip[b-5hmj6ukx98] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    grid-column: 1 / -1;
    gap: 6px;
    max-height: 76px;
    margin-top: 2px;
    overflow: auto;
}

.selection-pill[b-5hmj6ukx98] {
    min-width: 0;
    height: 38px;
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 0 9px;
    border: 1px solid rgba(18, 38, 56, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .56);
    color: var(--splanet-hud-ink, #122638);
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.selection-pill.is-primary[b-5hmj6ukx98] {
    border-color: rgba(47,157,255,.78);
    background: rgba(47,157,255,.16);
    box-shadow: inset 0 0 0 1px rgba(47,157,255,.24);
}

.selection-pill i[b-5hmj6ukx98] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

.selection-pill span[b-5hmj6ukx98],
.selection-pill b[b-5hmj6ukx98] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selection-pill span[b-5hmj6ukx98] {
    min-width: 0;
    font-size: 11px;
    font-weight: 900;
}

.selection-pill b[b-5hmj6ukx98] {
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 10px;
}

.inspector-summary[b-5hmj6ukx98] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 8px;
    min-width: 0;
}

.summary-tile[b-5hmj6ukx98] {
    display: grid;
    gap: 6px;
    min-width: 0;
    min-height: 58px;
    align-content: center;
    padding: 9px 11px;
    border: 1px solid rgba(18, 38, 56, .13);
    border-radius: 12px;
    background: rgba(255, 255, 255, .76);
    box-shadow: inset 0 -3px 0 rgba(18, 38, 56, .04);
}

.summary-tile span[b-5hmj6ukx98] {
    overflow: hidden;
    color: #53697d;
    font-size: 9px;
    font-weight: 950;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.summary-tile b[b-5hmj6ukx98] {
    overflow: hidden;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    color: var(--splanet-hud-ink, #122638);
    font-size: 14px;
    font-weight: 950;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.metric[b-5hmj6ukx98] {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;
    margin-top: 0;
    color: var(--splanet-hud-ink-muted, rgba(18, 38, 56, .66));
    font-size: 11px;
    font-weight: 850;
}

.metric-primary[b-5hmj6ukx98] {
    grid-column: 1 / -1;
}

.status-line[b-5hmj6ukx98] {
    min-height: 28px;
    padding: 0 7px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .42);
}

/* Static / qualitative values have no natural 0..1 scale — drop the bar
   column rather than draw a meaningless meter. Label stretches, value
   right-aligns. */
.metric.no-bar[b-5hmj6ukx98] {
    grid-template-columns: minmax(54px, auto) 1fr;
    justify-items: stretch;
}

.metric.no-bar > b[b-5hmj6ukx98] {
    justify-self: end;
}

.meter[b-5hmj6ukx98] {
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(18, 38, 56, .12);
}

.meter i[b-5hmj6ukx98] {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.blue[b-5hmj6ukx98] { background: #2f9dff; }
.yellow[b-5hmj6ukx98] { background: #f7c844; }
.green[b-5hmj6ukx98] { background: #8ac552; }

/* Unit state inline tags — mirrors OwnedUnitsPanel coloring so the same
   semantic ("Active" / "Low supply" / "Dead") renders identically across
   panels. Inactive maps to state-low (warning) not state-dead. */
b.state-ok[b-5hmj6ukx98] {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(57, 142, 77, .2);
    background: #dff6e6;
    color: #185c2d;
}

.selected-beacon b.state-ok[b-5hmj6ukx98] {
    border: 1px solid rgba(57, 142, 77, .2) !important;
    background: #dff6e6 !important;
    color: #185c2d !important;
}

b.state-low[b-5hmj6ukx98] {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(146, 95, 28, .22);
    background: #fff0cf;
    color: #6f4418;
}

.selected-beacon b.state-low[b-5hmj6ukx98] {
    border: 1px solid rgba(146, 95, 28, .22) !important;
    background: #fff0cf !important;
    color: #6f4418 !important;
}

b.state-dead[b-5hmj6ukx98] {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(143, 35, 43, .2);
    background: #ffe0df;
    color: #8f232b;
}

.selected-beacon b.state-dead[b-5hmj6ukx98] {
    border: 1px solid rgba(143, 35, 43, .2) !important;
    background: #ffe0df !important;
    color: #8f232b !important;
}

b.state-mine[b-5hmj6ukx98] {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(18, 38, 56, .12);
    background: rgba(18, 38, 56, .06);
    color: var(--splanet-hud-ink, #122638);
}

.selected-beacon b.state-mine[b-5hmj6ukx98] {
    border: 1px solid rgba(18, 38, 56, .12) !important;
    background: rgba(18, 38, 56, .06) !important;
    color: var(--splanet-hud-ink, #122638) !important;
}

b[b-5hmj6ukx98] {
    color: var(--splanet-hud-ink, #122638);
    font-variant-numeric: tabular-nums;
}

.note[b-5hmj6ukx98] {
    display: none;
    margin: 8px 0 0;
    color: #a9bfd2;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 800;
}

.inspector-actions[b-5hmj6ukx98] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: end;
    gap: 8px;
    min-height: 0;
    min-width: 0;
}

.btn-decommission[b-5hmj6ukx98] {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(255, 150, 120, .35);
    border-radius: 11px;
    background: #fff0ed;
    color: #8c3d32;
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}

.btn-decommission:hover:not(:disabled)[b-5hmj6ukx98] {
    background: rgba(255, 110, 90, .24);
    border-color: rgba(255, 150, 120, .6);
}

.btn-decommission:disabled[b-5hmj6ukx98] {
    opacity: .55;
    cursor: default;
}

.action-error[b-5hmj6ukx98] {
    margin: 0;
    padding: 3px 8px;
    border-radius: 7px;
    background: rgba(255, 110, 110, .12);
    color: #9f3f3f;
    font-size: 11px;
    font-weight: 850;
}

.details-toggle[b-5hmj6ukx98] {
    display: inline-grid;
    grid-template-columns: 18px auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(18, 38, 56, .14);
    border-radius: 11px;
    background: rgba(255, 255, 255, .82);
    color: var(--splanet-hud-ink, #122638);
    cursor: pointer;
    font-size: 12px;
    font-weight: 950;
    box-shadow: inset 0 -3px 0 rgba(18, 38, 56, .05);
}

.details-toggle .splanet-hud-icon[b-5hmj6ukx98] {
    width: 16px;
    height: 16px;
}

.details-tray[b-5hmj6ukx98] {
    display: grid;
    gap: 8px;
    max-height: 146px;
    overflow: auto;
    padding: 10px;
    border: 1px solid rgba(18, 38, 56, .1);
    border-radius: 12px;
    background: rgba(255, 255, 255, .62);
}

.details-grid[b-5hmj6ukx98] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(92px, 1fr));
    gap: 6px 10px;
    min-width: 0;
}

@media (max-width: 640px) {
    .brick-panel[b-5hmj6ukx98] {
        width: min(430px, calc(100vw - 16px));
        grid-template-columns: minmax(0, 1fr);
        padding: 7px 8px;
        border-radius: 10px;
    }

    .brick-panel.is-multi[b-5hmj6ukx98] {
        width: min(360px, calc(100vw - 16px));
        grid-template-columns: minmax(0, 1fr);
    }

    h2[b-5hmj6ukx98] {
        font-size: 15px;
    }

    .selection-strip[b-5hmj6ukx98] {
        grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
        gap: 5px;
        margin-top: 8px;
    }

    .inspector-summary[b-5hmj6ukx98],
    .details-grid[b-5hmj6ukx98] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .selection-pill[b-5hmj6ukx98] {
        height: 30px;
        padding: 0 6px;
    }

    .metric[b-5hmj6ukx98] {
        grid-template-columns: 68px minmax(0, 1fr) 34px;
        gap: 8px;
        margin-top: 8px;
        font-size: 11px;
    }

    .note[b-5hmj6ukx98] {
        margin-top: 8px;
    }
}

@media (max-width: 900px) {
    .brick-panel[b-5hmj6ukx98],
    .brick-panel.is-multi[b-5hmj6ukx98] {
        width: 100%;
        max-height: 268px;
        overflow: auto;
        padding: 10px;
        border-width: 2px;
        border-radius: 14px;
        background: rgba(248, 252, 255, .98);
        box-shadow:
            inset 0 0 0 2px rgba(255, 255, 255, .64),
            inset 0 -4px 0 rgba(18, 38, 56, .07),
            0 10px 24px rgba(16, 36, 56, .18);
    }

    .panel-close[b-5hmj6ukx98] {
        top: 8px;
        right: 8px;
        width: 28px;
        height: 28px;
        border-radius: 10px;
    }

    .panel-head[b-5hmj6ukx98] {
        gap: 12px;
        align-items: center;
        padding-right: 42px;
    }

    .inspector-bar[b-5hmj6ukx98] {
        grid-template-columns: minmax(142px, 214px) minmax(0, 1fr) auto;
    }

    .eyebrow[b-5hmj6ukx98] {
        font-size: 8px;
        letter-spacing: 0;
    }

    h2[b-5hmj6ukx98] {
        margin-top: 0;
        font-size: 18px;
        line-height: 1.08;
    }

    .tag[b-5hmj6ukx98] {
        padding: 6px 10px;
        font-size: 12px;
    }

    .metric[b-5hmj6ukx98] {
        grid-template-columns: 62px minmax(0, 1fr) auto;
        gap: 7px;
        margin-top: 0;
        font-size: 11px;
    }

    .metric.no-bar[b-5hmj6ukx98] {
        grid-template-columns: minmax(58px, auto) 1fr;
    }

    .details-tray[b-5hmj6ukx98] {
        max-height: 150px;
    }

    .note[b-5hmj6ukx98] {
        display: none;
    }
}

@media (max-width: 640px) {
    .inspector-bar[b-5hmj6ukx98] {
        grid-template-columns: minmax(0, 1fr);
    }

    .panel-head[b-5hmj6ukx98],
    .summary-tile[b-5hmj6ukx98],
    .details-toggle[b-5hmj6ukx98],
    .btn-decommission[b-5hmj6ukx98] {
        min-height: 42px;
    }

    .inspector-actions[b-5hmj6ukx98] {
        min-height: 42px;
        justify-content: start;
    }

    .details-tray[b-5hmj6ukx98] {
        max-height: 128px;
    }
}

/* 비콘 presence — 누가 점령/방어 중인가. closure 의 귀속 데이터가 먼저 여기
   살아있는 느낌으로 쓰인다 (beacon-contribution.md). */
.presence[b-5hmj6ukx98] {
    grid-column: 1 / -1;
    margin-top: 0;
    padding-top: 6px;
    border-top: 1px solid rgba(18, 38, 56, .1);
}

.presence-row[b-5hmj6ukx98] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.1;
}

.presence-row b[b-5hmj6ukx98] {
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.presence-phase[b-5hmj6ukx98] {
    flex: none;
    min-width: 28px;
    padding: 2px 4px;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 950;
    line-height: 1;
    text-align: center;
}

.presence-phase.defend[b-5hmj6ukx98] {
    background: rgba(120, 220, 160, .18);
    color: #227c40;
}

.presence-phase.attack[b-5hmj6ukx98] {
    background: rgba(255, 180, 90, .2);
    color: #976026;
}

.presence-squad[b-5hmj6ukx98] {
    flex: none;
    margin-left: auto;
    padding: 2px 7px;
    border-radius: 6px;
    background: rgba(18, 38, 56, .08);
    color: var(--splanet-hud-ink, #122638);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/GameHud/SessionSummaryBanner.razor.rz.scp.css */
/* closure 세션 요약 — 화면 상단 중앙 one-shot 오버레이 (CompatibilityBanner 의
   top-center 패턴을 따르되 HUD 다크 톤). 접속 직후 잠깐 떴다 닫는 카드라
   레일 패널이 아니라 시선을 끄는 중앙 배치. fixed = 뷰포트 기준(상위 positioning
   무관). 상단 full-width HUD strip 아래로 내려 앉도록 top 여유. */
.session-summary[b-2hvgsdaho4] {
    position: fixed;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 55;
    display: flex;
    align-items: stretch;
    gap: 14px;
    max-width: min(440px, calc(100vw - 32px));
    padding: 10px 34px 10px 14px;
    border: 1px solid rgba(226, 241, 255, .16);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(38, 60, 80, .94), rgba(15, 28, 41, .94));
    box-shadow: 0 16px 40px rgba(2, 12, 22, .42), inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(4px);
    color: #eaf5ff;
    animation: session-summary-in-b-2hvgsdaho4 .28s ease-out;
}

@keyframes session-summary-in-b-2hvgsdaho4 {
    from { opacity: 0; transform: translate(-50%, -8px); }
    to   { opacity: 1; transform: translate(-50%, 0); }
}

.session-dismiss[b-2hvgsdaho4] {
    position: absolute;
    top: 5px;
    right: 7px;
    width: 18px;
    height: 18px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #8ba3b8;
    font-size: 16px;
    line-height: 16px;
    cursor: pointer;
}

.session-dismiss:hover[b-2hvgsdaho4] {
    color: #eaf5ff;
}

/* 두 블록(welcome-back / 지난 접속)을 가로로 — 둘 다 있으면 구분선. */
.session-block + .session-block[b-2hvgsdaho4] {
    padding-left: 14px;
    border-left: 1px solid rgba(226, 241, 255, .12);
}

.session-title[b-2hvgsdaho4] {
    display: block;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.15;
}

.session-block.welcome .session-title[b-2hvgsdaho4] {
    color: #ffd98a;
}

.session-summary small[b-2hvgsdaho4] {
    display: block;
    margin-top: 3px;
    max-width: 200px;
    color: #b8cde0;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
}

@media (max-width: 1024px) {
    .session-summary[b-2hvgsdaho4] {
        top: 56px;
        flex-direction: column;
        gap: 8px;
    }

    .session-block + .session-block[b-2hvgsdaho4] {
        padding-left: 0;
        padding-top: 8px;
        border-left: none;
        border-top: 1px solid rgba(226, 241, 255, .12);
    }
}
/* /Components/GameHud/TeamScoreboard.razor.rz.scp.css */
.team-scoreboard[b-xworvh43yk] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid rgba(226, 241, 255, .12);
    border-radius: 10px;
    background: rgba(8, 13, 22, .72);
    box-shadow: 0 14px 34px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
    color: #eaf5ff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.scoreboard-header[b-xworvh43yk] {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #93abc0;
    font-weight: 900;
    margin-bottom: 3px;
}

.row[b-xworvh43yk] {
    display: grid;
    grid-template-columns: 16px auto 1fr auto;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 800;
    padding: 3px 5px;
    border-radius: 8px;
    min-width: 0;
}

.row.is-mine[b-xworvh43yk] {
    background:
        linear-gradient(90deg,
            color-mix(in srgb, var(--splanet-my-team-primary, #2aa8ff) 18%, transparent),
            color-mix(in srgb, var(--splanet-my-team-ghost, #95d5ff) 9%, transparent));
    border: 1px solid var(--splanet-my-team-border, color-mix(in srgb, var(--splanet-my-team-primary, #2aa8ff) 52%, rgba(255, 255, 255, .12)));
    padding: 2px 4px;
    box-shadow: inset 3px 0 0 var(--splanet-my-team-primary, #2aa8ff);
}

/* Teammate names spill into a sub-line under the main row — keeps the
   main 4-column grid stable for narrow widths and only adds vertical
   height when the local player actually has teammates with units. */
.row.is-mine .teammates[b-xworvh43yk] {
    grid-column: 2 / -1;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: color-mix(in srgb, var(--splanet-my-team-ghost, #95d5ff) 72%, #93b6dc);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.swatch[b-xworvh43yk] {
    width: 16px;
    height: 16px;
    border-radius: 5px;
    box-shadow: inset 0 -3px 0 rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16);
}

.label[b-xworvh43yk] {
    color: #cfd9e6;
    font-size: 10px;
    letter-spacing: 0.04em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.online-count[b-xworvh43yk] {
    margin-left: 4px;
    font-size: 9px;
    font-weight: 700;
    color: #6fd09a;
    letter-spacing: 0.02em;
}

.pct[b-xworvh43yk] {
    text-align: right;
    color: #f4f9ff;
    font-variant-numeric: tabular-nums;
}

.energy[b-xworvh43yk] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    text-align: right;
    color: #ffd99b;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.energy .splanet-hud-icon[b-xworvh43yk] {
    width: .9em;
    height: .9em;
}

@media (max-width: 1280px), (max-height: 680px) {
    .team-scoreboard[b-xworvh43yk] {
        display: none;
    }
}
/* /Components/GameHud/TerritoryGauge.razor.rz.scp.css */
/* Planet-wide land control. Water is intentionally absent: this gauge is
   about playable territory only. */
.territory-strip[b-x7tnum2xc8] {
    position: relative;
    display: grid;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    box-sizing: border-box;
    padding: 4px 7px;
    border: 1px solid rgba(226, 241, 255, .13);
    border-radius: 12px;
    background: rgba(8, 13, 22, .76);
    color: #cfe1ef;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
    transition: background 120ms, transform 120ms;
}

.territory-strip:hover[b-x7tnum2xc8] {
    background: rgba(11, 20, 31, .86);
}

.territory-main[b-x7tnum2xc8] {
    display: grid;
    grid-template-columns: auto minmax(42px, 1fr) auto 12px;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.label[b-x7tnum2xc8],
.summary-label[b-x7tnum2xc8] {
    overflow: hidden;
    color: #93abc0;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.bar[b-x7tnum2xc8] {
    position: relative;
    display: flex;
    height: 10px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(226, 241, 255, .14);
    border-radius: 999px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 45%),
        rgba(226, 241, 255, .08);
    box-shadow:
        inset 0 2px 4px rgba(2, 12, 22, .28),
        inset 0 -3px 0 rgba(2, 12, 22, .14);
}

.seg[b-x7tnum2xc8] {
    min-width: 0;
    height: 100%;
    background: var(--seg-color);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28);
    transition: width 250ms ease-out;
}

.seg.is-empty[b-x7tnum2xc8] {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(18, 38, 56, .16) 0 6px,
            rgba(18, 38, 56, .08) 6px 12px
        );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
}

.summary[b-x7tnum2xc8] {
    display: inline-grid;
    grid-auto-flow: column;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
    font-variant-numeric: tabular-nums;
}

.summary .pct[b-x7tnum2xc8],
.legend .pct[b-x7tnum2xc8] {
    color: #e2e8f5;
    font-weight: 950;
    line-height: 1;
}

.summary .pct[b-x7tnum2xc8] {
    font-size: 13px;
}

.summary-label[b-x7tnum2xc8] {
    color: var(--splanet-my-team-hud, #93abc0);
}

.summary .pct[b-x7tnum2xc8] {
    color: color-mix(in srgb, var(--splanet-my-team-ghost, #e2e8f5) 68%, #122638);
}

.chevron[b-x7tnum2xc8] {
    display: grid;
    width: 12px;
    height: 12px;
    place-items: center;
    color: #8a96b0;
}

.legend[b-x7tnum2xc8] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    min-width: 260px;
    padding: 8px;
    border: 1px solid rgba(226, 241, 255, .16);
    border-radius: 12px;
    background: rgba(8, 13, 22, .94);
    box-shadow: 0 16px 34px rgba(2, 12, 22, .38), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.legend .row[b-x7tnum2xc8] {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    grid-template-areas:
        "swatch name pct"
        "bar meta meta";
    align-items: center;
    gap: 5px 6px;
    min-width: 0;
    padding: 6px;
    border-radius: 9px;
    background: rgba(226, 241, 255, .08);
}

.legend .row.is-mine[b-x7tnum2xc8] {
    border: 1px solid var(--splanet-my-team-border, color-mix(in srgb, var(--splanet-my-team-primary, #2aa8ff) 46%, rgba(255, 255, 255, .16)));
    background:
        linear-gradient(90deg,
            color-mix(in srgb, var(--splanet-my-team-primary, #2aa8ff) 20%, transparent),
            rgba(226, 241, 255, .08));
    box-shadow: inset 3px 0 0 var(--splanet-my-team-primary, #2aa8ff);
}

.swatch[b-x7tnum2xc8] {
    grid-area: swatch;
    width: 10px;
    height: 10px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 3px;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .14);
}

.row.is-empty .swatch[b-x7tnum2xc8] {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(226, 241, 255, .18) 0 4px,
            rgba(226, 241, 255, .08) 4px 8px
        );
}

.name[b-x7tnum2xc8] {
    grid-area: name;
    min-width: 0;
    overflow: hidden;
    color: #cfe1ef;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.online-count[b-x7tnum2xc8] {
    margin-left: 4px;
    color: #6fd09a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.legend .pct[b-x7tnum2xc8] {
    grid-area: pct;
    font-size: 10px;
}

.meta[b-x7tnum2xc8] {
    grid-area: meta;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
    color: #93abc0;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

.energy[b-x7tnum2xc8] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #ffd99b;
    font-variant-numeric: tabular-nums;
}

.energy .splanet-hud-icon[b-x7tnum2xc8] {
    width: .9em;
    height: .9em;
}

.teammates[b-x7tnum2xc8] {
    min-width: 0;
    overflow: hidden;
    color: #93b6dc;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mini-bar[b-x7tnum2xc8] {
    grid-area: bar;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(226, 241, 255, .1);
}

.mini-bar i[b-x7tnum2xc8] {
    display: block;
    height: 100%;
    min-width: 0;
    border-radius: inherit;
    background: var(--seg-color, rgba(226, 241, 255, .2));
}

.row.is-empty .mini-bar i[b-x7tnum2xc8] {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(226, 241, 255, .2) 0 5px,
            rgba(226, 241, 255, .08) 5px 10px
        );
}

@media (max-width: 900px) {
    .territory-strip[b-x7tnum2xc8] {
        min-height: 34px;
        padding: 4px 7px;
        border-width: 1px;
        border-radius: 10px;
        background: rgba(8, 13, 22, .78);
        box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .territory-main[b-x7tnum2xc8] {
        grid-template-columns: minmax(42px, 1fr) auto 12px;
        gap: 5px;
    }

    .label[b-x7tnum2xc8] {
        display: none;
    }

    .summary-label[b-x7tnum2xc8] {
        font-size: 7px;
    }

    .summary .pct[b-x7tnum2xc8] {
        font-size: 12px;
    }

    .legend[b-x7tnum2xc8] {
        min-width: 220px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .territory-strip[b-x7tnum2xc8] {
        padding: 5px 6px;
    }

    .territory-main[b-x7tnum2xc8] {
        grid-template-columns: minmax(0, 1fr) auto 8px;
        gap: 4px;
    }

    .summary-label[b-x7tnum2xc8] {
        display: none;
    }

    .bar[b-x7tnum2xc8] {
        height: 8px;
    }

    .summary .pct[b-x7tnum2xc8] {
        font-size: 11px;
    }

    .chevron[b-x7tnum2xc8] {
        width: 8px;
    }

    .legend[b-x7tnum2xc8] {
        left: auto;
        min-width: min(280px, calc(100vw - 20px));
        grid-template-columns: 1fr;
    }
}

@media (max-width: 380px) {
    .summary .pct[b-x7tnum2xc8] {
        font-size: 10px;
    }
}

/* (closure 점령 기록 랭킹은 RankingsPanel 로 이동.) */
/* /Components/GameHud/WorldChipPanel.razor.rz.scp.css */
.world-chip[b-7ndnilh6kc] {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    box-sizing: border-box;
    padding: 4px 7px;
    border: 1px solid rgba(226, 241, 255, .13);
    border-radius: 12px;
    background: rgba(8, 13, 22, .76);
    box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
    color: #eaf5ff;
}

.world-mark[b-7ndnilh6kc] {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #2d526f, #132737);
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.08), 0 6px 12px rgba(0,0,0,.2);
}

.world-mark[b-7ndnilh6kc]::before {
    content: "";
    width: 13px;
    height: 13px;
    clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
    background: linear-gradient(160deg, #f8fcff, #2f9dff);
}

.eyebrow[b-7ndnilh6kc] {
    display: none;
}

strong[b-7ndnilh6kc] {
    display: block;
    margin-top: 0;
    overflow: hidden;
    color: #f4f9ff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

span[b-7ndnilh6kc] {
    display: none;
}

@media (max-width: 640px) {
    .world-chip[b-7ndnilh6kc] {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 9px;
        min-height: 58px;
        padding: 9px 10px;
        border-radius: 16px;
    }

    .world-mark[b-7ndnilh6kc] {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .world-mark[b-7ndnilh6kc]::before {
        width: 19px;
        height: 19px;
    }

    .eyebrow[b-7ndnilh6kc] {
        font-size: 8px;
        letter-spacing: .1em;
    }

    strong[b-7ndnilh6kc] {
        margin-top: 5px;
        font-size: 17px;
    }

    span[b-7ndnilh6kc] {
        margin-top: 4px;
        font-size: 10px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 900px) {
    .world-chip[b-7ndnilh6kc] {
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 7px;
        min-height: 46px;
        padding: 7px 9px;
        border-width: 1px;
        border-radius: 10px;
        background: rgba(8, 13, 22, .78);
        box-shadow: 0 10px 26px rgba(2, 12, 22, .28), inset 0 1px 0 rgba(255,255,255,.08);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .world-mark[b-7ndnilh6kc] {
        width: 28px;
        height: 28px;
        border-radius: 8px;
        box-shadow: inset 0 0 0 3px rgba(255,255,255,.08), 0 6px 12px rgba(0,0,0,.2);
    }

    .world-mark[b-7ndnilh6kc]::before {
        width: 15px;
        height: 15px;
    }

    .eyebrow[b-7ndnilh6kc] {
        display: none;
    }

    strong[b-7ndnilh6kc] {
        margin-top: 0;
        font-size: 13px;
        line-height: 1;
    }

    span[b-7ndnilh6kc] {
        display: none;
    }
}

@media (max-width: 520px) {
    .world-chip[b-7ndnilh6kc] {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 5px;
        min-height: 38px;
        padding: 5px 6px;
    }

    .world-mark[b-7ndnilh6kc] {
        width: 22px;
        height: 22px;
        border-radius: 7px;
        box-shadow: inset 0 0 0 2px rgba(255,255,255,.08), 0 4px 8px rgba(0,0,0,.18);
    }

    .world-mark[b-7ndnilh6kc]::before {
        width: 12px;
        height: 12px;
    }

    strong[b-7ndnilh6kc] {
        font-size: 12px;
    }
}

@media (max-width: 380px) {
    .world-chip[b-7ndnilh6kc] {
        grid-template-columns: minmax(0, 1fr);
        padding-inline: 5px;
    }

    .world-mark[b-7ndnilh6kc] {
        display: none;
    }

    strong[b-7ndnilh6kc] {
        font-size: 11px;
    }
}
/* /Pages/Index.razor.rz.scp.css */
.tidemark-build-provenance[b-jrnq4w2y3q] {
    position: absolute;
    right: 8px;
    bottom: 6px;
    z-index: 50;
    color: #5a6b85;
    font: 11px/1 ui-monospace, Menlo, Consolas, monospace;
    letter-spacing: 0.02em;
    pointer-events: none;
    text-shadow: 0 0 2px #000;
    user-select: text;
}

.splanet-splash__queue[b-jrnq4w2y3q] {
    margin-top: 6px;
    min-height: 18px;
    color: rgba(230, 238, 242, .86);
    font-size: 12px;
    font-weight: 800;
    line-height: 18px;
    letter-spacing: 0;
    text-align: center;
}

.tidemark-brick-top-row[b-jrnq4w2y3q] {
    display: grid;
    grid-template-columns: minmax(132px, 184px) minmax(260px, 1fr) auto;
    grid-template-areas: "world territory records";
    gap: 5px;
    align-items: center;
    width: 100%;
    min-width: 0;
    overflow: visible;
}

.tidemark-brick-world[b-jrnq4w2y3q],
.tidemark-brick-territory[b-jrnq4w2y3q] {
    min-width: 0;
    height: 100%;
}

.tidemark-brick-world[b-jrnq4w2y3q] { grid-area: world; }
.tidemark-brick-territory[b-jrnq4w2y3q] { grid-area: territory; }

/* "행성 기록" 진입 버튼 — brick plate 는 전역 스킨이 깔아주므로 여기선
   크기/타이포만. 밝은 brick 위 진한 ink (toy-HUD 규칙). */
.tidemark-brick-records[b-jrnq4w2y3q] {
    grid-area: records;
    height: 100%;
    padding: 0 13px;
    border: none;
    color: var(--splanet-hud-ink, #122638);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    cursor: pointer;
    white-space: nowrap;
}

.tidemark-brick-right-stack[b-jrnq4w2y3q] {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.tidemark-brick-right-stack[b-jrnq4w2y3q] {
    width: clamp(236px, 20vw, 320px);
}

.tidemark-action-dock[b-jrnq4w2y3q] {
    display: grid;
    justify-items: stretch;
    gap: 6px;
    width: 100%;
}

.tidemark-left-rail[b-jrnq4w2y3q] {
    min-width: 0;
}

.tidemark-rail-profile[b-jrnq4w2y3q] {
    display: block;
}

.tidemark-left-rail[b-jrnq4w2y3q]  .brick-panel {
    width: min(338px, calc(100vw - 32px));
}

.tidemark-left-rail[b-jrnq4w2y3q]  .brick-panel.is-multi {
    width: min(360px, calc(100vw - 32px));
}

@media (max-width: 1024px) {
    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(112px, 168px) minmax(180px, 1fr) auto;
        width: 100%;
        gap: 5px;
    }

    .tidemark-brick-right-stack[b-jrnq4w2y3q] {
        width: min(260px, calc(100vw - 20px));
    }
}

@media (max-width: 900px) {
    .tidemark-build-provenance[b-jrnq4w2y3q] {
        top: auto;
        right: auto;
        bottom: calc(108px + env(safe-area-inset-bottom));
        left: calc(10px + env(safe-area-inset-left));
        opacity: .58;
    }

    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(120px, 1fr) auto;
        grid-template-areas: "territory records";
        gap: 5px;
        align-items: stretch;
        width: 100%;
    }

    .tidemark-brick-world[b-jrnq4w2y3q] {
        display: none;
    }

    .tidemark-brick-records[b-jrnq4w2y3q] {
        padding: 0 10px;
        font-size: 11px;
    }

    .tidemark-left-rail[b-jrnq4w2y3q] {
        display: block;
    }

    .tidemark-rail-profile[b-jrnq4w2y3q] {
        display: none;
    }

    .tidemark-left-rail[b-jrnq4w2y3q]  .brick-panel,
    .tidemark-left-rail[b-jrnq4w2y3q]  .brick-panel.is-multi {
        width: min(420px, calc(100vw - 20px));
        max-height: min(42vh, 320px);
        overflow: auto;
    }

    .tidemark-brick-right-stack[b-jrnq4w2y3q] {
        width: min(220px, calc(100vw - 20px));
    }
}

@media (max-width: 520px) {
    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(82px, 1fr);
        grid-template-areas: "territory";
        gap: 4px;
        width: 100%;
        min-width: 0;
    }

    .tidemark-brick-right-stack[b-jrnq4w2y3q] {
        width: min(178px, calc(100vw - 20px));
    }
}

@media (max-width: 380px) {
    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(64px, 1fr);
        grid-template-areas: "territory";
        gap: 3px;
    }

    .tidemark-brick-right-stack[b-jrnq4w2y3q] {
        width: min(160px, calc(100vw - 20px));
    }
}

@media (max-width: 340px) {
    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "territory";
    }

    .tidemark-brick-world[b-jrnq4w2y3q] {
        display: none;
    }
}

@media (min-width: 901px) and (max-height: 620px) {
    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(176px, 1fr);
        grid-template-areas: "territory";
        gap: 5px;
        align-items: stretch;
    }

    .tidemark-brick-world[b-jrnq4w2y3q] {
        display: none;
    }
}

@media (max-width: 900px) and (max-height: 560px) {
    .tidemark-brick-top-row[b-jrnq4w2y3q] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "territory";
    }

    .tidemark-brick-world[b-jrnq4w2y3q] {
        display: none;
    }

    .tidemark-left-rail[b-jrnq4w2y3q]  .brick-panel,
    .tidemark-left-rail[b-jrnq4w2y3q]  .brick-panel.is-multi {
        max-height: min(34vh, 220px);
    }
}
