/* Runtime skin layer for the Splanet Toy UI Kit.
   Frames are painted in pseudo layers so 9-slice art does not participate in
   HUD layout sizing. */

:root {
    --splanet-ui-panel-frame: url("/img/ui/splanet-toy-ui-kit-v1/panel-frame.webp");
    --splanet-ui-badge-capsule: url("/img/ui/splanet-toy-ui-kit-v1/badge-capsule.webp");
    --splanet-ui-button-square: url("/img/ui/splanet-toy-ui-kit-v1/button-square.webp");
    --splanet-ui-button-square-active: url("/img/ui/splanet-toy-ui-kit-v1/button-square-active.webp");
    --splanet-ui-button-square-pressed: url("/img/ui/splanet-toy-ui-kit-v1/button-square-pressed.webp");
    --splanet-ui-button-square-disabled: url("/img/ui/splanet-toy-ui-kit-v1/button-square-disabled.webp");
    --splanet-ui-meter-track: url("/img/ui/splanet-toy-ui-kit-v1/meter-track.webp");
    --splanet-ui-minimap-frame: url("/img/ui/splanet-toy-ui-kit-v1/minimap-frame.webp");
    --splanet-ui-command-tray: url("/img/ui/splanet-toy-ui-kit-v1/command-tray.webp");
    --splanet-ui-chip-capsule-small: url("/img/ui/splanet-toy-ui-kit-v1/chip-capsule-small.webp");
    --splanet-ui-notification-plaque: url("/img/ui/splanet-toy-ui-kit-v1/notification-plaque.webp");
    --splanet-hud-ink: #122638;
    --splanet-hud-ink-muted: #586b7c;
    --splanet-hud-panel: #f7fbff;
    --splanet-hud-panel-soft: rgba(247, 251, 255, .82);
    --splanet-hud-line: rgba(18, 38, 56, .18);
    --splanet-hud-shadow: 0 14px 30px rgba(16, 36, 56, .2);
    --splanet-hud-system: #9b8ddb;
    --splanet-hud-system-soft: rgba(155, 141, 219, .24);
    --splanet-hud-system-teal: #54cfc7;
    --splanet-hud-state-info: #6d7f91;
    --splanet-hud-state-ok: #6d7f91;
    --splanet-hud-state-warn: #8e7cc3;
    --splanet-hud-state-bad: #4f5e70;
    --splanet-hud-font: "IBM Plex Sans KR", "Apple SD Gothic Neo", system-ui, sans-serif;
    --splanet-top-chip-height: 36px;
    --splanet-top-chip-radius: 14px;
    --splanet-top-chip-pad-y: 5px;
    --splanet-top-chip-pad-x: 8px;

    /* OFF shared chrome hooks: FPS chip, right-side sidebar trigger/panel,
       and default render settings panel. Keep these game-themed without
       forcing OFF's shared widgets to know about Splanet art assets. */
    --off-hud-surface:
        linear-gradient(90deg, rgba(155, 141, 219, .16), rgba(255, 255, 255, 0) 44px, rgba(84, 207, 199, .1)),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(234, 242, 248, .93));
    --off-hud-surface-hover:
        linear-gradient(90deg, rgba(155, 141, 219, .22), rgba(255, 255, 255, .05) 44px, rgba(84, 207, 199, .16)),
        linear-gradient(180deg, #ffffff, #eef6fb);
    --off-hud-border: rgba(21, 39, 58, .64);
    --off-hud-ink: var(--splanet-hud-ink);
    --off-hud-ink-strong: #071928;
    --off-hud-backdrop: none;
    --off-hud-shadow: var(--splanet-hud-shadow);
    --off-hud-trigger-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .68),
        inset 0 -5px 0 rgba(18, 38, 56, .06),
        0 8px 16px rgba(16, 36, 56, .18);
    --off-hud-button-hover: rgba(18, 38, 56, .07);
    --off-hud-active-bg: rgba(155, 141, 219, .24);
    --off-hud-active-border: rgba(155, 141, 219, .58);
    --off-stats-mini-top: calc(12px + env(safe-area-inset-top));
    --off-stats-mini-left: calc(14px + env(safe-area-inset-left));
    --off-stats-mini-height: 34px;
    --off-stats-mini-padding: 0 12px 0 11px;
    --off-stats-mini-gap: 7px;
    --off-stats-mini-font: 800 10px/1 var(--splanet-hud-font);
    --off-stats-mini-radius: 18px;
    --off-stats-mini-border: 2px solid var(--off-hud-border);
    --off-sidebar-top: calc(12px + env(safe-area-inset-top));
    --off-sidebar-right: calc(14px + env(safe-area-inset-right));
    --off-sidebar-font: 700 12px/1.2 var(--splanet-hud-font);
    --off-sidebar-trigger-size: 38px;
    --off-sidebar-trigger-font-size: 18px;
    --off-sidebar-trigger-radius: 19px;
    --off-sidebar-panel-padding: 7px;
    --off-sidebar-panel-radius: 16px;
    --off-sidebar-button-size: 34px;
    --off-sidebar-button-radius: 12px;
    --off-settings-panel-top: 58px;
    --off-settings-panel-right: 14px;
    --off-settings-panel-width: min(440px, calc(100vw - 28px));
    --off-settings-panel-max-height: calc(100vh - 84px);
    --off-settings-panel-bg: var(--splanet-hud-panel);
    --off-settings-panel-border: 2px solid rgba(21, 39, 58, .58);
    --off-settings-panel-radius: 16px;
    --off-settings-panel-shadow: var(--splanet-hud-shadow);
    --off-settings-panel-padding: 10px;
    --off-settings-panel-ink: var(--splanet-hud-ink);
    --off-settings-panel-font: 11px/1.35 var(--splanet-hud-font);
    --off-settings-panel-title: var(--splanet-hud-system-teal);
    --off-settings-panel-summary: var(--splanet-hud-ink);
    --off-settings-panel-label: var(--splanet-hud-ink-muted);
    --off-settings-panel-value: #4d5f70;
    --off-settings-panel-muted: #7d8c9a;
    --off-settings-panel-rule: rgba(18, 38, 56, .12);
    --off-settings-panel-accent: #63c8dd;
    --off-settings-control-bg: rgba(18, 38, 56, .06);
    --off-settings-control-border: rgba(18, 38, 56, .18);
    --off-settings-row-columns: 87px 1fr 41px;
    --off-settings-row-gap: 5px;
    --off-settings-row-margin: 2px 0;
    --off-settings-label-size: 10px;
    --off-settings-value-size: 9px;
    --off-settings-title-size: 12px;
    --off-settings-header-margin: 6px;
    --off-settings-summary-size: 11px;
    --off-settings-summary-padding: 5px 2px;
    --off-settings-body-padding: 1px 0 6px 0;
    --off-settings-section-margin: 0 -3px;
    --off-settings-section-padding: 0 3px;
    --off-settings-control-height: 16px;
    --off-settings-select-height: 22px;
    --off-settings-control-padding: 1px 4px;
    --off-settings-control-radius: 6px;
    --off-settings-button-bg: rgba(18, 38, 56, .06);
    --off-settings-button-radius: 8px;
}

/* OFF panel uses inline-style cssText with overflow-y: auto and no
 * overflow-x / box-sizing declared. Browsers then default overflow-x to
 * auto-effective (visible Y + auto X) and the panel's padding is added
 * on top of its width (content-box), so any row wider than the inner box
 * — or just the padding overflow itself — surfaces a horizontal scroll.
 * Force border-box + clip horizontally so the inline-styles can't fight
 * back, and let long content wrap inside the row instead of widening it. */
#off-settings-panel {
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

.hud-root {
    font-family: var(--splanet-hud-font);
    color: var(--splanet-hud-ink);
}

.canvas-container > .stats-mini {
    isolation: isolate;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.canvas-container > .stats-mini::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border: 1px solid rgba(18, 38, 56, .22);
    border-radius: 3px;
    background: linear-gradient(180deg, #76fff2, #54cfc7);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .8),
        0 1px 3px rgba(16, 36, 56, .18);
}

#off-sidebar {
    gap: 7px;
}

#off-sidebar-trigger,
#off-sidebar-panel,
#off-settings-panel {
    color: var(--splanet-hud-ink);
}

#off-sidebar-trigger .off-sidebar-icon,
#off-sidebar-panel .off-sidebar-icon {
    width: 17px;
    height: 17px;
}

#off-sidebar-panel {
    border: 2px solid rgba(21, 39, 58, .58);
}

#off-sidebar-panel .off-sidebar-button {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62);
}

#off-settings-panel {
    max-width: calc(100vw - 28px);
    scrollbar-color: rgba(18, 38, 56, .24) transparent;
    scrollbar-width: thin;
}

#off-settings-panel::-webkit-scrollbar {
    width: 8px;
}

#off-settings-panel::-webkit-scrollbar-track {
    background: transparent;
}

#off-settings-panel::-webkit-scrollbar-thumb {
    background: rgba(18, 38, 56, .18);
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}

#off-settings-panel input,
#off-settings-panel select,
#off-settings-panel button {
    font-family: var(--splanet-hud-font);
}

#off-settings-panel input[type="range"] {
    min-width: 0;
}

#off-settings-panel input[type="color"] {
    height: 18px !important;
    border: 1px solid rgba(18, 38, 56, .18) !important;
    border-radius: 5px;
}

.hud-root .tidemark-brick-top-row {
    grid-template-columns: minmax(132px, 184px) minmax(260px, 1fr);
    grid-template-areas: "world territory";
    gap: 5px;
    align-items: center;
    width: 100%;
}

.hud-root :is(.tidemark-brick-world, .tidemark-brick-territory) {
    height: 100%;
}

.splanet-hud-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background: currentColor;
    vertical-align: -.12em;
    -webkit-mask: var(--splanet-hud-icon-url) center / contain no-repeat;
    mask: var(--splanet-hud-icon-url) center / contain no-repeat;
}

.splanet-hud-icon-button-label {
    display: grid;
    width: 1em;
    height: 1em;
    place-items: center;
}

.hud-root :is(strong, h2, .tool-name, .pct, .energy) {
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.hud-root :is(small, .eyebrow, .tool-hint, .tool-group-label, .note, .primary-caption, .label) {
    color: var(--splanet-hud-ink-muted);
    text-shadow: none;
}

.hud-root :is(
    .brick-panel,
    .team-scoreboard,
    .world-chip,
    .paint-flow,
    .you-chip,
    .energy-gauge,
    .context-chip,
    .paint-toolbar,
    .command-dock,
    .territory-strip,
    .tidemark-minimap,
    .notif-row
) {
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    color: var(--splanet-hud-ink);
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.hud-root :is(
    .brick-panel,
    .team-scoreboard,
    .world-chip,
    .paint-flow,
    .you-chip,
    .energy-gauge,
    .context-chip,
    .paint-toolbar,
    .command-dock,
    .territory-strip,
    .tidemark-minimap,
    .notif-row
)::before {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

.hud-root :is(.brick-panel, .team-scoreboard)::before {
    inset: -3px;
    border: 2px solid rgba(21, 39, 58, .68);
    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);
}

.hud-root .brick-panel {
    box-sizing: border-box;
}

.hud-root .context-popover {
    width: min(340px, calc(100vw - 188px));
}

.hud-root .context-popover .brick-panel {
    width: 100%;
    max-height: none !important;
    overflow: visible !important;
}

.hud-root .selected-beacon {
    max-height: none !important;
    overflow: visible !important;
}

.hud-root :is(.world-chip, .paint-flow, .you-chip, .energy-gauge, .context-chip)::before {
    inset: -2px;
    border: 2px solid rgba(21, 39, 58, .62);
    border-radius: 15px;
    background:
        linear-gradient(90deg, rgba(155, 141, 219, .24) 0 36px, rgba(247, 251, 255, .92) 36px),
        linear-gradient(180deg, #ffffff, #eaf1f7);
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .72),
        inset 0 -6px 0 rgba(18, 38, 56, .07),
        0 7px 14px rgba(16, 36, 56, .14);
}

.hud-root .paint-flow::before {
    background: linear-gradient(180deg, #ffffff, #eaf1f7);
}

.hud-root :is(.world-chip, .paint-flow, .territory-strip) {
    min-height: var(--splanet-top-chip-height);
    padding: var(--splanet-top-chip-pad-y) var(--splanet-top-chip-pad-x);
    border-radius: var(--splanet-top-chip-radius);
    align-self: stretch;
}

.hud-root .world-chip {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 6px;
}

.hud-root .world-mark {
    width: 24px;
    height: 24px;
    border-radius: 8px;
}

.hud-root .world-mark::before {
    width: 13px;
    height: 13px;
}

.hud-root .world-chip strong {
    font-size: 12px;
    letter-spacing: .01em;
}

.hud-root .paint-flow strong {
    font-size: 19px;
    letter-spacing: .01em;
}

.hud-root .context-chip.guidance::before {
    border-color: rgba(60, 70, 110, .86);
    box-shadow:
        0 0 0 5px rgba(155, 141, 219, .2),
        inset 0 0 0 2px rgba(255, 255, 255, .72),
        inset 0 -6px 0 rgba(18, 38, 56, .07),
        0 7px 14px rgba(16, 36, 56, .14);
}

.hud-root .context-chip {
    min-height: 34px;
}

.hud-root :is(.you-chip, .energy-gauge, .context-chip) {
    width: 140px;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    min-height: 34px;
    padding: 4px 7px;
}

.hud-root :is(.you-chip, .energy-gauge) {
    margin-bottom: 4px;
}

.hud-root .context-chip.guidance,
.hud-root .context-chip.active,
.hud-root .context-chip.selected {
    box-shadow:
        0 0 0 3px var(--splanet-hud-system-soft),
        0 8px 18px rgba(16, 36, 56, .14);
}

.hud-root :is(.world-mark, .chip-icon, .unit-icon, .notif-icon, .camera-icon, .swatch) {
    box-shadow:
        inset 0 -4px 0 rgba(18, 38, 56, .16),
        inset 0 1px 0 rgba(255, 255, 255, .42);
}

.hud-root .chip-icon {
    width: 22px;
    height: 22px;
    border-radius: 7px;
}

.hud-root :is(.chip-icon, .notif-icon, .camera-icon) .splanet-hud-icon {
    width: 64%;
    height: 64%;
}

.hud-root .world-mark,
.hud-root .chip-icon.objective {
    background: var(--splanet-hud-system);
}

.hud-root .world-mark::before {
    background: var(--splanet-hud-panel);
}

.hud-root .chip-icon.units {
    background: var(--splanet-hud-system-teal);
}

.hud-root .chip-icon.rules {
    background: #7d8492;
}

.hud-root .paint-toolbar {
    --tool-button-size: 55px;
    --toolbar-catalog-height: 75px;
    --toolbar-section-height: 75px;
    gap: 0;
    grid-template-columns: max-content minmax(420px, 480px);
    grid-template-areas: "catalog inspector";
    max-width: min(920px, calc(100vw - 18px));
    padding: 0;
    color: var(--splanet-hud-ink);
}

.hud-root .command-dock {
    grid-template-columns: minmax(174px, 1fr) minmax(188px, 232px) auto;
    gap: 0;
    width: min(640px, 100%);
    min-height: 76px;
    padding: 0;
    color: var(--splanet-hud-ink);
}

.hud-root .command-dock.is-inspect {
    grid-template-columns: minmax(0, 1fr) auto;
}

.hud-root .command-dock:is(.is-armed, .is-pending, .is-repeat) {
    width: min(760px, 100%);
}

.hud-root .command-dock.has-brush {
    grid-template-columns: minmax(154px, .9fr) minmax(176px, 224px) minmax(178px, 238px) auto;
}

.hud-root .command-dock::before {
    inset: -4px;
    border: 2px solid rgba(18, 38, 56, .62);
    border-radius: 18px;
    background:
        linear-gradient(180deg,
            rgba(255, 255, 255, .98) 0,
            rgba(247, 251, 255, .96) 42%,
            rgba(231, 241, 248, .94) 100%);
    box-shadow:
        inset 0 0 0 3px rgba(255, 255, 255, .72),
        inset 0 6px 0 rgba(255, 255, 255, .56),
        inset 0 -7px 0 rgba(18, 38, 56, .06),
        0 10px 18px rgba(16, 36, 56, .18);
}

.hud-root .command-dock:is(.is-armed, .is-pending, .is-repeat)::before {
    box-shadow:
        inset 0 0 0 3px rgba(255, 255, 255, .72),
        inset 0 6px 0 rgba(255, 255, 255, .56),
        inset 0 -7px 0 rgba(18, 38, 56, .06),
        0 10px 18px rgba(16, 36, 56, .18),
        0 0 0 2px rgba(155, 141, 219, .2);
}

.hud-root .command-dock__status,
.hud-root .command-dock__active,
.hud-root .command-dock__brush {
    min-height: 76px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--splanet-hud-ink);
    box-shadow: none;
}

.hud-root .command-dock__status {
    gap: 1px;
    padding: 13px 16px 13px 38px;
    border-radius: 16px 0 0 16px;
}

.hud-root .command-dock__active,
.hud-root .command-dock__brush {
    margin-left: 0;
}

.hud-root .command-dock__active {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 7px 12px;
    background: transparent;
}

.hud-root .command-dock__brush {
    padding: 9px 12px;
    background: transparent;
}

.hud-root .command-dock__mode {
    color: var(--splanet-hud-system);
    font-size: 8px;
    line-height: 1;
    text-shadow: none;
}

.hud-root .command-dock__status strong,
.hud-root .command-dock__active-text span {
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.hud-root .command-dock__status strong {
    font-size: 15px;
    line-height: 1.02;
}

.hud-root .command-dock__status small,
.hud-root .command-dock__active-text small,
.hud-root .command-dock__brush span {
    color: var(--splanet-hud-ink-muted);
    text-shadow: none;
}

.hud-root .command-dock__status small {
    font-size: 10px;
    line-height: 1.15;
}

.hud-root .command-dock__active .tool-icon {
    width: 44px;
    height: 44px;
    filter: drop-shadow(0 1px 2px rgba(16, 36, 56, .24));
}

.hud-root .command-dock__cost,
.hud-root .command-dock__repeat,
.hud-root .command-dock__brush b {
    border: 1px solid rgba(18, 38, 56, .14);
    background: rgba(255, 255, 255, .62);
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.hud-root .command-dock__repeat {
    color: var(--splanet-hud-system);
}

.hud-root .command-dock__actions {
    align-items: center;
    min-height: 76px;
    margin-left: 0;
    padding: 10px 21px 10px 8px;
    border: 0;
    border-radius: 0 16px 16px 0;
    background: transparent;
    box-shadow: none;
}

.hud-root .command-dock__button {
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border: 2px solid rgba(18, 38, 56, .46);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(230, 240, 247, .94));
    color: var(--splanet-hud-ink);
    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, .16);
    text-shadow: none;
}

.hud-root .command-dock__button > span:not(.splanet-hud-icon) {
    display: none;
}

.hud-root .command-dock__button--primary,
.hud-root .command-dock__button:hover {
    border-color: rgba(18, 38, 56, .56);
    background:
        linear-gradient(180deg, #ffffff, #edf8fb);
    color: var(--splanet-hud-ink);
    box-shadow:
        inset 0 0 0 2px rgba(84, 207, 199, .22),
        inset 0 -5px 0 rgba(18, 38, 56, .08),
        0 5px 10px rgba(16, 36, 56, .18);
}

.hud-root .command-dock__button:active {
    transform: translateY(1px);
}

.hud-root .command-dock__button .splanet-hud-icon {
    width: 20px;
    height: 20px;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .72));
}

@media (max-width: 760px) {
    .hud-root .command-dock,
    .hud-root .command-dock.has-brush,
    .hud-root .command-dock:is(.is-armed, .is-pending, .is-repeat) {
        grid-template-columns: minmax(0, 1fr) auto;
        width: min(640px, calc(100vw - 14px));
        min-height: 70px;
    }

    .hud-root .command-dock::before {
        inset: -4px;
    }

    .hud-root .command-dock__status,
    .hud-root .command-dock__actions {
        min-height: 70px;
    }

    .hud-root .command-dock__status {
        padding: 12px 10px 12px 30px;
    }

    .hud-root .command-dock__status strong {
        font-size: 14px;
    }

    .hud-root .command-dock__status small {
        font-size: 9px;
    }

    .hud-root .command-dock__active,
    .hud-root .command-dock__brush {
        display: none;
    }

    .hud-root .command-dock__actions {
        padding: 8px 15px 8px 4px;
    }

    .hud-root .command-dock__button {
        width: 46px;
        min-width: 46px;
        height: 46px;
    }
}

.hud-root .paint-toolbar.has-brush-controls {
    --toolbar-catalog-height: 75px;
    --toolbar-section-height: 75px;
}

.hud-root .paint-toolbar.has-tool-inspector,
.hud-root .paint-toolbar.has-brush-controls {
    grid-template-columns: max-content minmax(420px, 480px);
    grid-template-areas: "catalog inspector";
}

.hud-root .paint-toolbar::before {
    display: none;
}

.hud-root .paint-section {
    border: 2px solid var(--splanet-hud-line);
    border-radius: 0;
    background: rgba(247, 251, 255, .84);
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .64),
        inset 0 -4px 0 rgba(18, 38, 56, .07),
        0 10px 18px rgba(16, 36, 56, .14);
    color: var(--splanet-hud-ink);
}

.hud-root .paint-section + .paint-section {
    margin-left: -2px;
}

.hud-root .paint-section:first-child {
    border-radius: 16px 0 0 16px;
}

.hud-root .paint-section:last-child {
    border-radius: 0 16px 16px 0;
}

.hud-root .paint-toolbar.has-tool-inspector .paint-section.tool-catalog {
    border-radius: 16px 0 0 16px;
}

.hud-root .paint-toolbar.has-tool-inspector .paint-section.tool-inspector,
.hud-root .paint-toolbar.has-brush-controls .paint-section.tool-inspector {
    border-radius: 0 16px 16px 0;
}

.hud-root .paint-section.tool-inspector {
    background: rgba(247, 251, 255, .9);
}

.hud-root .tool-inline-controls {
    padding-left: 8px;
    border-left: 1px solid rgba(18, 38, 56, .12);
}

.hud-root .tool-inline-label {
    color: var(--splanet-hud-ink-muted);
    text-shadow: none;
}

.hud-root .tool-inline-value {
    border: 1px solid rgba(18, 38, 56, .14);
    border-radius: 5px;
    background: rgba(255, 255, 255, .62);
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.hud-root .paint-section.tool-catalog {
    padding: 4px 8px;
}

.hud-root .paint-toolbar.has-brush-controls .paint-section.tool-catalog {
    align-content: center;
}

.hud-root .tool-group {
    grid-template-rows: var(--tool-button-size);
    gap: 0;
}

.hud-root .tool-group-label {
    display: none;
}

.hud-root .tool-catalog-scroll {
    padding: 0;
    gap: 8px;
}

.hud-root .paint-section.tool-catalog::before {
    background: linear-gradient(90deg, var(--splanet-hud-panel), rgba(247, 251, 255, 0));
}

.hud-root .paint-section.tool-catalog::after {
    background: linear-gradient(270deg, var(--splanet-hud-panel), rgba(247, 251, 255, 0));
}

.hud-root .tool-catalog-scroll::-webkit-scrollbar-thumb {
    background: rgba(18, 38, 56, .28);
}

.hud-root .tool-cost-chip .splanet-hud-icon,
.hud-root .energy-gauge small .splanet-hud-icon {
    width: .95em;
    height: .95em;
}

.hud-root .tool-group {
    border-right-color: rgba(18, 38, 56, .12);
}

.hud-root :is(.paint-row button, .swatches button) {
    border: 0;
    border-radius: 14px;
    background-color: transparent !important;
    background-image: var(--splanet-ui-button-square) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    color: var(--splanet-hud-ink);
    box-shadow: none;
    text-shadow: none;
}

.hud-root .swatches button.active,
.hud-root .swatches button.locked,
.hud-root .swatches button.guidance-target {
    background-image: var(--splanet-ui-button-square-active) !important;
    box-shadow:
        0 0 0 3px var(--splanet-hud-system-soft),
        0 6px 14px rgba(16, 36, 56, .12);
}

.hud-root :is(.paint-row button:active, .swatches button:active) {
    background-image: var(--splanet-ui-button-square-pressed) !important;
}

.hud-root :is(.paint-row button:disabled, .swatches button:disabled),
.hud-root .swatches button.unavailable {
    background-image: var(--splanet-ui-button-square-disabled) !important;
}

.hud-root :is(.tool-hotkey, .tool-key, .tool-state-badge, .tool-repeat-badge, .tool-meta-row span, .tag, b) {
    border: 1px solid rgba(18, 38, 56, .14);
    background: rgba(255, 255, 255, .58);
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.hud-root .territory-strip::before {
    inset: -2px;
    border: 2px solid rgba(21, 39, 58, .64);
    border-radius: calc(var(--splanet-top-chip-radius) + 1px);
    background:
        linear-gradient(90deg, rgba(155, 141, 219, .16), rgba(255, 255, 255, 0) 58px, rgba(84, 207, 199, .1)),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(234, 242, 248, .93));
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .68),
        inset 0 -5px 0 rgba(18, 38, 56, .06),
        0 7px 14px rgba(16, 36, 56, .14);
}

.hud-root .tidemark-minimap::before {
    inset: -3px;
    z-index: -2;
    border: 14px solid transparent;
    border-image: var(--splanet-ui-minimap-frame) 92 102 86 102 fill / 12px 14px / 0 stretch;
    border-radius: 13px;
    filter: drop-shadow(0 8px 16px rgba(16, 36, 56, .16));
}

.hud-root .tidemark-minimap::after {
    content: "";
    position: absolute;
    inset: 5px;
    z-index: -1;
    border-radius: 9px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(235, 245, 252, .98));
    box-shadow:
        inset 0 0 0 1px rgba(18, 38, 56, .08),
        inset 0 -4px 0 rgba(18, 38, 56, .04);
}

.hud-root .tidemark-minimap {
    --off-minimap-canvas-fill: #e9f7ff;
    padding: 9px;
    background: transparent;
    isolation: isolate;
}

.hud-root .tidemark-minimap-header {
    color: var(--splanet-hud-ink-muted);
}

.hud-root :is(.tidemark-minimap-title, .tidemark-minimap-legend, .tidemark-minimap-coord) {
    border: 1px solid rgba(18, 38, 56, .11);
    background: rgba(255, 255, 255, .72);
    color: var(--splanet-hud-ink-muted);
    text-shadow: none;
}

.hud-root .tidemark-minimap-title {
    color: var(--splanet-hud-ink);
}

.hud-root .tidemark-minimap-legend {
    display: none;
}

.hud-root :is(.tidemark-minimap-close-button, .tidemark-minimap-overlay-button) {
    border: 1px solid rgba(18, 38, 56, .14);
    background: rgba(255, 255, 255, .82);
    color: var(--splanet-hud-ink);
    box-shadow: 0 2px 5px rgba(16, 36, 56, .1);
    text-shadow: none;
}

.hud-root .tidemark-minimap-canvas {
    border: 2px solid rgba(18, 38, 56, .14);
    background: var(--off-minimap-canvas-fill);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .68),
        inset 0 5px 12px rgba(56, 118, 154, .09),
        0 2px 6px rgba(16, 36, 56, .1);
}

.hud-root .territory-strip .bar,
.hud-root .meter {
    border: 1px solid rgba(18, 38, 56, .16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .84), rgba(221, 234, 244, .7));
    box-shadow:
        inset 0 2px 4px rgba(18, 38, 56, .14),
        inset 0 -2px 0 rgba(18, 38, 56, .06);
}

.hud-root .territory-strip .territory-main {
    grid-template-columns: auto minmax(48px, 1fr) auto 11px;
    gap: 5px;
}

.hud-root .territory-strip .bar {
    height: 9px;
}

.hud-root .territory-strip .summary .pct {
    font-size: 12px;
}

.hud-root .territory-strip :is(.label, .summary-label, .name) {
    color: var(--splanet-hud-ink-muted);
    text-shadow: none;
}

.hud-root .territory-strip :is(.summary .pct, .legend .pct) {
    color: var(--splanet-hud-ink);
}

.hud-root .territory-strip .seg:not(.is-empty) {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .42),
        inset 0 -3px 0 rgba(18, 38, 56, .16);
}

.hud-root .territory-strip .seg.is-empty,
.hud-root .territory-strip .row.is-empty .mini-bar i,
.hud-root .territory-strip .row.is-empty .swatch {
    background:
        repeating-linear-gradient(
            -45deg,
            rgba(18, 38, 56, .18) 0 5px,
            rgba(18, 38, 56, .07) 5px 10px
        );
}

.hud-root .territory-strip .legend {
    border: 2px solid rgba(18, 38, 56, .14);
    border-radius: 12px;
    background: var(--splanet-hud-panel);
    color: var(--splanet-hud-ink);
    box-shadow: var(--splanet-hud-shadow);
}

.hud-root .territory-strip .legend .row {
    background: rgba(18, 38, 56, .06);
}

.hud-root .territory-strip .mini-bar {
    background: rgba(18, 38, 56, .1);
    box-shadow: inset 0 1px 2px rgba(18, 38, 56, .12);
}

.hud-root .territory-strip .mini-bar i {
    background: var(--seg-color, rgba(18, 38, 56, .2));
}

.hud-root .notif-row::before {
    inset: -3px;
    border: 2px solid rgba(21, 39, 58, .62);
    border-radius: 16px;
    background:
        linear-gradient(90deg, rgba(155, 141, 219, .18), rgba(247, 251, 255, .94) 54px),
        linear-gradient(180deg, #ffffff, #eaf1f7);
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, .68),
        inset 0 -6px 0 rgba(18, 38, 56, .06),
        0 8px 18px rgba(16, 36, 56, .16);
}

.hud-root .notif-row:is(.kind-info, .kind-ok, .kind-warn, .kind-bad) {
    background: transparent;
    border-color: transparent;
}

.hud-root .notif-row.has-team-accent:is(.kind-info, .kind-ok, .kind-warn, .kind-bad) {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--notif-accent-primary) 24%, transparent), rgba(255, 255, 255, .20) 52px, rgba(255, 255, 255, .06)),
        linear-gradient(180deg, rgba(248, 252, 255, .97), rgba(218, 232, 244, .96));
    border-color: color-mix(in srgb, var(--notif-accent-primary) 62%, rgba(21, 39, 58, .55));
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .68),
        inset 0 -5px 0 rgba(18, 38, 56, .05),
        0 12px 24px rgba(4, 16, 30, .36),
        0 0 18px color-mix(in srgb, var(--notif-accent-primary) 22%, transparent);
}

.hud-root .notif-row.has-team-accent::before {
    inset: 0 auto 0 0;
    width: 6px;
    border: 0;
    border-radius: 14px 0 0 14px;
    background: var(--notif-accent-primary);
    box-shadow: 0 0 14px color-mix(in srgb, var(--notif-accent-primary) 65%, transparent);
}

.hud-root :is(.notif-title, .notif-sub) {
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.hud-root .notif-row.has-team-accent .notif-sub {
    color: #294456;
}

.hud-root .notif-icon {
    color: var(--splanet-hud-ink);
}

.hud-root .notif-icon .splanet-hud-icon {
    width: 58%;
    height: 58%;
}

.hud-root .notif-row.kind-info .notif-icon {
    background: var(--splanet-hud-state-info);
}

.hud-root .notif-row.kind-ok .notif-icon,
.hud-root b.state-ok {
    background: var(--splanet-hud-state-ok);
}

.hud-root .notif-row.kind-warn .notif-icon,
.hud-root b.state-low {
    background: var(--splanet-hud-state-warn);
}

.hud-root .notif-row.kind-bad .notif-icon,
.hud-root b.state-dead {
    background: var(--splanet-hud-state-bad);
}

.hud-root :is(.panel-close, .close, .notif-close, .tidemark-minimap-close-button),
.hud-root .tidemark-minimap-overlay-button {
    border: 2px solid rgba(18, 38, 56, .16);
    border-radius: 9px;
    background: var(--splanet-hud-panel);
    color: var(--splanet-hud-ink);
    box-shadow:
        inset 0 -3px 0 rgba(18, 38, 56, .12),
        0 3px 0 rgba(18, 38, 56, .12);
}

.hud-root :is(.tidemark-minimap-close-button, .tidemark-minimap-overlay-button) {
    width: 22px;
    min-width: 22px;
    height: 20px;
    border-radius: 999px;
    box-shadow: 0 2px 5px rgba(16, 36, 56, .1);
}

.hud-root :is(.panel-close, .close, .notif-close, .tidemark-minimap-close-button, .tidemark-minimap-overlay-button) .splanet-hud-icon {
    width: 13px;
    height: 13px;
}

.quick-command-palette {
    --inner-hole-radius: 26px;
    font-family: var(--splanet-hud-font);
    color: var(--splanet-hud-ink);
    filter: drop-shadow(0 9px 16px rgba(16, 36, 56, .2));
}

.quick-command-palette::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, .18) 0deg 1deg, transparent 1deg 60deg),
        conic-gradient(from -30deg,
            rgba(247, 251, 255, .95) 0deg 56deg,
            rgba(222, 235, 244, .95) 56deg 60deg,
            rgba(247, 251, 255, .95) 60deg 116deg,
            rgba(222, 235, 244, .95) 116deg 120deg,
            rgba(247, 251, 255, .95) 120deg 176deg,
            rgba(222, 235, 244, .95) 176deg 180deg,
            rgba(247, 251, 255, .95) 180deg 236deg,
            rgba(222, 235, 244, .95) 236deg 240deg,
            rgba(247, 251, 255, .95) 240deg 296deg,
            rgba(222, 235, 244, .95) 296deg 300deg,
            rgba(247, 251, 255, .95) 300deg 356deg,
            rgba(222, 235, 244, .95) 356deg 360deg);
    border: 3px solid rgba(18, 38, 56, .72);
    box-shadow:
        inset 0 0 0 5px rgba(255, 255, 255, .74),
        inset 0 -12px 0 rgba(18, 38, 56, .06),
        0 12px 22px rgba(16, 36, 56, .24);
}

.quick-command-palette::after {
    border: 3px solid rgba(18, 38, 56, .34);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(231, 241, 247, .74)),
        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__item::before {
    inset: 13px;
    background: rgba(255, 255, 255, .12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3);
}

.quick-command-palette__item:hover::before,
.quick-command-palette__item.is-active::before {
    background:
        radial-gradient(circle at 50% 24%, rgba(255, 255, 255, .68), 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 {
    top: 17.5%;
    width: 54px;
    color: var(--splanet-hud-ink);
    isolation: isolate;
    text-shadow: none;
}

.quick-command-palette__item-content::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 12px;
    z-index: -1;
    display: none;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    border: 2px solid rgba(18, 38, 56, .42);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(232, 241, 248, .92));
    filter: drop-shadow(0 5px 8px rgba(16, 36, 56, .16));
    transform: translate(-50%, -50%);
}

.quick-command-palette__item.is-active .quick-command-palette__item-content::before,
.quick-command-palette__item:hover .quick-command-palette__item-content::before {
    background:
        linear-gradient(180deg, #ffffff, #edf8fb);
}

.quick-command-palette__item:active .quick-command-palette__item-content::before {
    transform: translate(-50%, calc(-50% + 1px));
}

.quick-command-palette__item .tool-icon {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 3px 4px rgba(16, 36, 56, .28));
}

.quick-command-palette__label {
    display: block;
    margin-top: 3px;
    color: var(--splanet-hud-ink);
    font-size: 7.5px;
    font-weight: 950;
    line-height: 1.05;
    text-shadow: none;
}

.quick-command-palette__hotkey {
    left: 4px;
    top: -1px;
    min-width: 12px;
    height: 12px;
    font-size: 7px;
    border: 1px solid rgba(18, 38, 56, .14);
    border-radius: 5px;
    background: rgba(255, 255, 255, .78);
    color: var(--splanet-hud-ink);
    text-shadow: none;
}

.quick-command-palette__hub button {
    width: 24px;
    height: 24px;
    border: 2px solid rgba(18, 38, 56, .5);
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(230, 240, 247, .94));
    color: var(--splanet-hud-ink);
    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);
}

.quick-command-palette__hub button:hover {
    background:
        linear-gradient(180deg, #ffffff, #edf8fb);
    color: var(--splanet-hud-ink);
    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 {
    transform: translateY(1px);
}

.quick-command-palette__tooltip {
    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);
    width: 190px;
    max-width: min(190px, calc(100vw - 24px));
    min-height: 58px;
    padding: 8px 11px 9px;
    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);
    text-shadow: none;
}

.quick-command-palette__tooltip strong {
    color: var(--splanet-hud-ink);
    font-size: 12px;
}

.quick-command-palette__tooltip span {
    color: #26384a;
    font-size: 9.5px;
    line-height: 1.18;
}

.quick-command-palette__tooltip kbd {
    border-color: rgba(18, 38, 56, .18);
    background: rgba(255, 255, 255, .72);
    color: var(--splanet-hud-ink);
    box-shadow: inset 0 -1px 0 rgba(18, 38, 56, .1);
}

.quick-command-palette__hub .splanet-hud-icon {
    width: 14px;
    height: 14px;
}

.quick-command-palette__back-icon {
    transform: rotate(180deg);
}

.hud-root .tidemark-minimap-canvas {
    border: 2px solid rgba(18, 38, 56, .18);
    border-radius: 10px;
    background: var(--off-minimap-canvas-fill);
}

.hud-root .tidemark-minimap-overlay-popover,
.hud-root .minimap-tooltip {
    border: 2px solid rgba(18, 38, 56, .14);
    border-radius: 10px;
    background: var(--splanet-hud-panel);
    color: var(--splanet-hud-ink);
    box-shadow: var(--splanet-hud-shadow);
}

.hud-root .brush-slider {
    accent-color: var(--splanet-hud-system);
}

.compat-banner {
    border: 0 !important;
    background: transparent !important;
    color: var(--splanet-hud-ink) !important;
    box-shadow: var(--splanet-hud-shadow) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.compat-banner :is(.compat-banner__title, .compat-banner__list, .compat-banner__footer, code) {
    color: var(--splanet-hud-ink) !important;
}

@media (max-width: 900px) {
    .hud-root .paint-toolbar,
    .hud-root .paint-toolbar.has-tool-inspector,
    .hud-root .paint-toolbar.has-brush-controls {
        --tool-button-size: 47px;
        --toolbar-catalog-height: 68px;
        --toolbar-section-height: 68px;
    }

    .hud-root .tidemark-left-rail {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .hud-root .tidemark-left-rail > .selected-beacon {
        order: 1;
    }

    .hud-root .tidemark-left-rail > .context-hud {
        order: 2;
    }

    .hud-root .tidemark-brick-top-row {
        grid-template-columns: minmax(84px, 142px) minmax(120px, 1fr);
        gap: 5px;
        width: 100%;
    }

    .hud-root :is(.brick-panel, .team-scoreboard)::before {
        border-width: 2px;
        border-image: none;
        border-radius: 14px;
    }

    .hud-root :is(.world-chip, .paint-flow, .you-chip, .energy-gauge, .context-chip)::before {
        border-width: 2px;
        border-image: none;
        border-radius: 13px;
    }

    .hud-root .context-chip {
        width: auto;
        min-width: 0;
    }

    .hud-root .context-popover {
        width: 100%;
    }

    .hud-root .paint-toolbar {
        padding: 0;
    }

    .hud-root .paint-toolbar::before {
        inset: -3px;
        border-width: 2px;
        border-radius: 16px;
    }

    .hud-root .paint-section {
        border-width: 2px;
    }

    .hud-root .paint-toolbar,
    .hud-root .paint-toolbar.has-tool-inspector,
    .hud-root .paint-toolbar.has-brush-controls {
        --toolbar-catalog-height: 68px;
        --toolbar-section-height: 68px;
        grid-template-columns: max-content minmax(360px, 420px);
    }

    .hud-root .notif-row::before {
        border-width: 12px 18px;
        border-image-width: 8px 16px;
        border-radius: 13px;
    }

    .hud-root .tidemark-minimap::before {
        inset: -3px;
        border-width: 14px;
        border-image-width: 12px 14px;
        border-radius: 13px;
    }

    .hud-root .tidemark-minimap {
        padding: 8px;
    }
}

@media (max-width: 900px) and (max-height: 560px) {
    .hud-root .paint-toolbar,
    .hud-root .paint-toolbar.has-tool-inspector,
    .hud-root .paint-toolbar.has-brush-controls {
        --tool-button-size: 42px;
        --toolbar-catalog-height: 60px;
        --toolbar-section-height: 60px;
    }
}

@media (max-width: 620px) {
    .hud-root .paint-toolbar,
    .hud-root .paint-toolbar.has-tool-inspector,
    .hud-root .paint-toolbar.has-brush-controls {
        grid-template-columns: minmax(184px, 42vw) minmax(0, 1fr);
        grid-template-areas: "catalog inspector";
        width: 100%;
        max-width: calc(100vw - 20px);
    }

    .hud-root .paint-section.tool-catalog {
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .hud-root .paint-toolbar.has-brush-controls .paint-section.tool-inspector {
        grid-template-columns: minmax(86px, .82fr) minmax(148px, 1.18fr);
        gap: 5px;
    }

    .hud-root .tool-inline-controls {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: repeat(2, 16px);
        padding-left: 6px;
    }

    .hud-root .tool-inline-control {
        grid-template-columns: 38px minmax(42px, 1fr) 18px;
        gap: 4px;
    }

    .hud-root .tool-hint {
        font-size: 8px;
    }
}

@media (max-width: 520px) {
    .hud-root .tidemark-brick-top-row {
        grid-template-columns: minmax(72px, 118px) minmax(82px, 1fr);
        gap: 4px;
    }
}
