.geneo-editor {
    height: calc(100vh - var(--topbar-h));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    background: var(--surface-app);
}

@media (max-width: 900px) {
    .geneo-board-toolbar {
        flex-wrap: nowrap;
        min-width: 0;
        gap: 6px;
    }

    .geneo-mobile-search-trigger,
    .geneo-mobile-search-close {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--border-default);
        border-radius: var(--radius-sm);
        background: var(--surface-card);
        color: var(--text-primary);
    }

    .geneo-mobile-search-trigger {
        display: inline-flex;
    }

    .geneo-board-toolbar .app-search-field {
        display: none;
    }

    .geneo-board-toolbar-left {
        flex: 1 1 auto;
    }

    .geneo-board-toolbar-right {
        flex: 0 0 auto;
        gap: 6px;
    }

    .geneo-board-toolbar .app-sort-trigger {
        width: 40px;
        min-width: 40px;
        padding: 0;
        justify-content: center;
    }

    .geneo-board-toolbar .geneo-mobile-search-trigger svg,
    .geneo-board-toolbar .geneo-mobile-search-close svg {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        pointer-events: none;
    }

    .geneo-home-page .archive-page-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .geneo-home-page .archive-page-actions > .button {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    .geneo-board-toolbar .app-sort-current,
    .geneo-board-toolbar .app-sort-chevron {
        display: none;
    }
}

@media (min-width: 541px) and (max-width: 900px) {
    .geneo-board-toolbar .geneo-mobile-search-trigger,
    .geneo-board-toolbar.mobile-search-open .geneo-mobile-search-close {
        display: none;
    }

    .geneo-board-toolbar .app-search-field {
        display: flex;
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .geneo-board-toolbar .app-sort-field {
        flex: 0 0 40px;
        width: 40px;
        max-width: 40px;
    }
}

@media (max-width: 540px) {
    .geneo-board-toolbar {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
    }

    .geneo-board-toolbar-left,
    .geneo-board-toolbar-right {
        display: contents;
    }

    .geneo-board-toolbar .geneo-mobile-search-trigger,
    .geneo-board-toolbar .app-sort-field,
    .geneo-board-toolbar .app-sort-trigger,
    .geneo-board-toolbar [data-geneo-board-view] {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .geneo-board-toolbar.mobile-search-open {
        grid-template-columns: minmax(0, 1fr) 44px;
    }

    .geneo-board-toolbar.mobile-search-open .geneo-board-toolbar-right,
    .geneo-board-toolbar.mobile-search-open .geneo-mobile-search-trigger {
        display: none;
    }

    .geneo-board-toolbar.mobile-search-open .app-search-field {
        display: flex;
        width: 100%;
        min-width: 0;
    }

    .geneo-board-toolbar.mobile-search-open .geneo-mobile-search-close {
        display: inline-flex;
        width: 100%;
    }
}


.geneo-transfer-modal {
    width: min(720px, 100%);
    max-height: min(760px, 100dvh);
    display: flex;
    flex-direction: column;
}

.geneo-transfer-body {
    min-height: 0;
    overflow-y: auto;
    padding: 24px;
    display: grid;
    gap: 16px;
}

.geneo-transfer-list {
    display: grid;
    gap: 6px;
    max-height: 320px;
    overflow-y: auto;
}

.geneo-transfer-choice {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border-default);
    border-radius: 6px;
    cursor: pointer;
}

.geneo-transfer-choice:has(input:checked) {
    border-color: var(--brand-green-500);
    background: var(--surface-selected);
}

.geneo-transfer-choice span {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.geneo-transfer-preview {
    width: 48px;
    height: 48px;
    flex: none;
    overflow: hidden;
    border: 1px solid var(--border-default);
    border-radius: 4px;
}

.geneo-transfer-preview svg {
    display: block;
    width: 100%;
    height: 100%;
}

.geneo-transfer-copy {
    flex: 1;
}

.geneo-transfer-choice strong, .geneo-transfer-choice small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.geneo-transfer-choice small {
    color: var(--text-secondary);
}

.geneo-transfer-check {
    display: flex;
    align-items: center;
    gap: 8px;
}

.geneo-transfer-create {
    border-top: 1px solid var(--border-default);
    padding-top: 16px;
    display: grid;
    gap: 8px;
}

.geneo-transfer-create > div {
    display: flex;
    gap: 8px;
}

.geneo-transfer-create input {
    min-width: 0;
    flex: 1;
}

.geneo-transfer-modal .button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.geneo-board-chooser-modal {
    width: min(660px, calc(100vw - 24px));
    max-height: min(760px, calc(100dvh - 24px));
}

.geneo-board-chooser-modal .geneo-transfer-body {
    gap: 12px;
    padding: 20px 24px 24px;
}

.geneo-transfer-search {
    display: grid;
    gap: 8px;
}

.geneo-transfer-search > label {
    font-weight: 600;
}

.geneo-board-chooser-modal .geneo-transfer-list {
    max-height: min(42dvh, 408px);
    gap: 8px;
    padding: 2px;
    margin: -2px;
}

.geneo-board-chooser-modal .geneo-transfer-choice {
    min-height: 86px;
    gap: 14px;
    padding: 10px 12px;
    background: var(--surface-card);
    transition: border-color .15s, background .15s;
}

.geneo-board-chooser-modal .geneo-transfer-choice:hover {
    border-color: var(--border-strong);
    background: var(--surface-card-hover);
}

.geneo-board-chooser-modal .geneo-transfer-choice.selected {
    border-color: var(--brand-green-500);
    background: var(--surface-selected);
}

.geneo-board-chooser-modal .geneo-transfer-choice:focus-within:not(.selected) {
    outline: 2px solid var(--brand-green-500);
    outline-offset: 2px;
}

.geneo-board-chooser-modal .geneo-transfer-choice input:focus-visible {
    outline: 2px solid var(--brand-green-500);
    outline-offset: 3px;
}

.geneo-board-chooser-modal .geneo-transfer-preview {
    width: 62px;
    height: 62px;
}

.geneo-board-chooser-modal .geneo-transfer-copy {
    gap: 5px;
}

.geneo-board-chooser-modal .geneo-transfer-copy strong {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 15px;
    line-height: 1.3;
}

.geneo-board-chooser-modal .geneo-transfer-copy small {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.35;
}

.geneo-board-chooser-modal .geneo-transfer-choice input[type="radio"] {
    flex: none;
    width: 18px;
    height: 18px;
    margin: 0 2px 0 0;
    accent-color: var(--brand-green-500);
}

.geneo-transfer-empty {
    margin: 0;
    padding: 28px 12px;
    color: var(--text-secondary);
    text-align: center;
}

.geneo-transfer-create-toggle {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 44px;
    padding: 10px 2px;
    border: 0;
    border-top: 1px solid var(--border-default);
    background: transparent;
    color: var(--brand-green-500);
    text-align: left;
    font: inherit;
    font-weight: 650;
    cursor: pointer;
}

.geneo-transfer-create-toggle svg {
    width: 17px;
    height: 17px;
    flex: none;
}

.geneo-transfer-create-toggle svg:last-child {
    margin-left: auto;
    transform: rotate(90deg);
    transition: transform .15s;
}

.geneo-transfer-create-toggle.active svg:last-child {
    transform: rotate(-90deg);
}

.geneo-transfer-create-toggle:hover {
    color: var(--text-primary);
}

.geneo-transfer-create-toggle:focus-visible {
    outline: 2px solid var(--brand-green-500);
    outline-offset: 2px;
}

.geneo-board-chooser-modal .geneo-transfer-create {
    margin-top: -8px;
    padding: 0 0 4px;
    border: 0;
}

.geneo-board-chooser-modal .geneo-transfer-create[hidden] {
    display: none;
}

.geneo-board-chooser-modal .geneo-transfer-create input {
    width: 100%;
}

.geneo-board-chooser-modal .modal-footer {
    justify-content: flex-end;
}

.geneo-transfer-announcement {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.geneo-import-action {
    width: 100%;
    margin-top: 0;
}

@media (max-width: 390px) {
    .geneo-transfer-create > div {
        flex-wrap: wrap;
    }

    .geneo-transfer-create input {
        flex-basis: 100%;
    }
}

@media (max-width: 540px) {
    .geneo-transfer-modal {
        width: 100%;
        max-height: 100dvh;
        height: 100dvh;
    }

    .geneo-transfer-body {
        padding: 16px;
    }

    .geneo-board-chooser-modal {
        width: 100%;
        max-height: 100dvh;
        height: 100dvh;
    }

    .geneo-board-chooser-modal .geneo-transfer-body {
        flex: 1;
        padding: 16px;
        align-content: start;
    }

    .geneo-board-chooser-modal .geneo-transfer-list {
        max-height: none;
    }

    .geneo-board-chooser-modal .modal-footer {
        gap: 8px;
    }

    .geneo-board-chooser-modal .modal-footer .button.primary {
        flex: 1;
    }
}


.geneo-editor-toolbar {
    min-height: 58px;
    min-width: 0;
    padding: 8px var(--space-4);
    border-bottom: 1px solid var(--border-default);
    background: var(--surface-topbar);

    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-2);

    overflow: hidden;
}

.geneo-editor-toolbar-left,
.geneo-editor-toolbar-right {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.geneo-editor-toolbar-left {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    overflow: hidden;
}

.geneo-editor-toolbar-right {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.geneo-editor-toolbar .geneo-toolbar-button,
.geneo-editor-toolbar .geneo-tool {
    height: 40px;
    min-width: 0;
    padding: 0 14px;

    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--surface-card);
    color: var(--text-secondary);

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    line-height: 1;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 800;
}

.geneo-editor-toolbar .geneo-toolbar-button:hover,
.geneo-editor-toolbar .geneo-tool:hover {
    background: var(--surface-card-hover);
    border-color: var(--border-strong);
    color: var(--text-primary);
}

.geneo-editor-toolbar .geneo-toolbar-button:focus-visible,
.geneo-editor-toolbar .geneo-tool:focus-visible {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 2px;
}

.geneo-editor-toolbar .geneo-toolbar-button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.geneo-editor-toolbar .geneo-toolbar-button svg,
.geneo-editor-toolbar .geneo-tool svg,
.geneo-editor-toolbar .geneo-toolbar-object svg {
    width: 18px;
    height: 18px;
    min-width: 18px;
    max-width: 18px;
    flex: 0 0 18px;
    display: block;
    color: currentColor;
}

/* History */

.geneo-history-group {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.geneo-editor-toolbar .geneo-icon-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
    flex: 0 0 40px;
}

/* Select / Pan / Pencil */

.geneo-tool-group {
    width: 210px;
    height: 40px;
    flex: 0 0 210px;

    display: flex;
    align-items: center;
    gap: 2px;
    padding: 2px;

    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--gg-text) 1.8%, transparent);
}

.geneo-tool-group .geneo-tool {
    width: 38px;
    height: 34px;
    flex: 0 0 38px;
    padding: 0;
    gap: 0;

    border-color: transparent;
    background: transparent;

    transition:
        width 140ms ease,
        flex-basis 140ms ease,
        background-color 140ms ease;
}

.geneo-tool-group .geneo-tool-label {
    display: none;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.geneo-tool-group .geneo-tool.active {
    width: 124px;
    flex-basis: 124px;
    padding: 0 8px;
    gap: 6px;

    background: var(--surface-selected);
    color: var(--text-primary);
    border-color: color-mix(in srgb, var(--gg-primary) 24%, transparent);
}

.geneo-tool-group .geneo-tool.active .geneo-tool-label {
    display: inline;
}

.geneo-toolbar-button.primary {
    background: var(--brand-green-500);
    color: var(--on-primary);
    border-color: color-mix(in srgb, var(--gg-primary) 35%, transparent);
}

.geneo-editor-main {
    position: relative;
    min-height: 0;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--inspector-width);
}

.geneo-editor-main.inspector-collapsed {
    grid-template-columns: minmax(0, 1fr) var(--inspector-collapsed-width);
}

.geneo-canvas-viewport {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--geneo-canvas-background, var(--surface-main));
}

.geneo-canvas-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    background: var(--geneo-canvas-background, var(--surface-main));
}

.geneo-canvas-stage {
    position: relative;
    transform-origin: 0 0;
    overflow: visible;
}

.geneo-toolbar-objects {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding-left: 8px;
    border-left: 1px solid var(--border-default);
}

.geneo-toolbar-object {
    height: 40px;
    min-width: 0;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 800;
    white-space: nowrap;
}

.geneo-toolbar-object:hover {
    background: var(--surface-card-hover);
    border-color: var(--border-default);
    color: var(--text-primary);
}

.geneo-toolbar-object[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--gg-primary) 30%, transparent);
    background: var(--surface-selected);
    color: var(--text-primary);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gg-primary) 12%, transparent);
}

.geneo-toolbar-object:focus-visible {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 2px;
}

.geneo-toolbar-object svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: block;
}

.geneo-toolbar-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*
* Compact mode keeps all commands visible,
* but removes labels from simple object actions.
*/
.geneo-editor-toolbar:is([data-toolbar-density="compact"],
    [data-toolbar-density="narrow"],
    [data-toolbar-density="minimal"]) .geneo-toolbar-object {
    width: 40px;
    min-width: 40px;
    padding: 0;
    justify-content: center;
}

.geneo-editor-toolbar:is([data-toolbar-density="compact"],
    [data-toolbar-density="narrow"],
    [data-toolbar-density="minimal"]) .geneo-toolbar-object .geneo-toolbar-label {
    display: none;
}

/*
* At narrow widths, less frequent commands move
* into the explicit More menu.
*/
.geneo-editor-toolbar:is([data-toolbar-density="narrow"],
    [data-toolbar-density="minimal"]) :is([data-geneo-toolbar-item="place"],
    [data-geneo-toolbar-item="image"],
    [data-geneo-toolbar-item="content"],
    [data-geneo-toolbar-item="panel"],
    [data-geneo-toolbar-item="export"]) {
    display: none;
}

/*
* At the smallest supported width, Person and
* Connect also move into More. Shapes remains
* visibly named.
*/
.geneo-editor-toolbar[ data-toolbar-density="minimal"

] :is([data-geneo-toolbar-item="person"],
    [data-geneo-toolbar-item="connect"]) {
    display: none;
}

.geneo-editor-toolbar .geneo-toolbar-overflow {
    display: none;
}

.geneo-editor-toolbar:is([data-toolbar-density="narrow"],
    [data-toolbar-density="minimal"]) .geneo-toolbar-overflow {
    display: inline-flex;
}

.geneo-editor-toolbar[ data-toolbar-density="minimal"

] {
    padding-inline: 8px;
    gap: 4px;
}

.geneo-editor-toolbar[ data-toolbar-density="minimal"
] .geneo-editor-toolbar-left,
.geneo-editor-toolbar[ data-toolbar-density="minimal"

] .geneo-editor-toolbar-right {
    gap: 4px;
}

.geneo-editor-toolbar[ data-toolbar-density="minimal"

] .geneo-tool-group {
    width: 202px;
    flex-basis: 202px;
}

.geneo-editor-toolbar[ data-toolbar-density="minimal"

] .geneo-tool-group .geneo-tool {
    width: 34px;
    flex-basis: 34px;
}

.geneo-editor-toolbar[ data-toolbar-density="minimal"

] .geneo-tool-group .geneo-tool.active {
    width: 124px;
    flex-basis: 124px;
}

.geneo-editor-toolbar .geneo-tool-group.is-icon-only {
    width: 126px;
    flex-basis: 126px;
}

.geneo-editor-toolbar[data-toolbar-density="minimal"] .geneo-tool-group.is-icon-only {
    width: 112px;
    flex-basis: 112px;
}

.geneo-toolbar-overflow-menu {
    min-width: 220px;
}

.geneo-toolbar-overflow-menu button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-icon-only] .geneo-toolbar-label,
.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-icon-only].tool-split .tool-split-main span,
.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-icon-only][data-geneo-export] span,
.geneo-editor-toolbar[data-toolbar-density="adaptive"] .geneo-tool-group[data-geneo-icon-only] .geneo-tool-label {
    display: none;
}

.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-icon-only].geneo-toolbar-object,
.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-icon-only][data-geneo-export],
.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-icon-only].tool-split .tool-split-main {
    width: 40px;
    min-width: 40px;
    padding-inline: 0;
    justify-content: center;
}

.geneo-editor-toolbar[data-toolbar-density="adaptive"] .geneo-tool-group[data-geneo-icon-only] {
    width: 126px;
    flex-basis: 126px;
}

.geneo-editor-toolbar[data-toolbar-density="adaptive"] .geneo-tool-group[data-geneo-icon-only] .geneo-tool.active {
    width: 38px;
    flex-basis: 38px;
    padding: 0;
    gap: 0;
}

.geneo-editor-toolbar[data-toolbar-density="adaptive"] [data-geneo-hidden] {
    display: none;
}

.geneo-editor-toolbar[data-geneo-overflow="true"] .geneo-toolbar-overflow {
    display: inline-flex;
}

.tool-split {
    position: relative;
    box-sizing: border-box;
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;
    height: 40px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--gg-text) 1.8%, transparent);
}

.tool-split-main,
.tool-split-trigger {
    height: 38px;
    border: 0;
    background: transparent;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tool-split-main {
    gap: 8px;
    padding: 0 11px;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    font-weight: 800;
}

.tool-split-trigger {
    position: relative;
    width: 30px;
    padding: 0;
    margin-left: 0;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.tool-split-trigger::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: var(--border-default);
}

.tool-split-main:hover,
.tool-split-trigger:hover {
    background: var(--surface-card-hover);
    color: var(--text-primary);
}

.tool-split.active,
.tool-split:has([aria-expanded="true"]) {
    background: var(--surface-selected);
    border-color: color-mix(in srgb, var(--gg-primary) 35%, transparent);
}

.tool-split.active .tool-split-main,
.tool-split.active .tool-split-trigger,
.tool-split:has([aria-expanded="true"]) .tool-split-main,
.tool-split:has([aria-expanded="true"]) .tool-split-trigger {
    color: var(--text-primary);
}

.tool-split-main:focus-visible,
.tool-split-trigger:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--brand-green-300);
    outline-offset: 1px;
}

.tool-split.escape-dismissed .tool-split-main:focus-visible,
.tool-split.escape-dismissed .tool-split-trigger:focus-visible {
    outline: none;
}

.tool-split svg {
    width: 18px;
    height: 18px;
    display: block;
}

.tool-split-trigger svg {
    width: 14px;
    height: 14px;
    transform: rotate(90deg);
}

.tool-options-menu {
    min-width: 180px;
}

.geneo-export-menu {
    width: min(280px, calc(100vw - 16px));
}

.geneo-export-menu button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
}

.geneo-export-menu button svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.geneo-export-menu p {
    margin: 6px 10px 8px;
    color: var(--text-tertiary);
    font-size: 12px;
    line-height: 1.4;
}

.geneo-object-context-menu {
    box-sizing: border-box;
    width: min(250px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
}

.geneo-context-group + .geneo-context-group { border-top: 1px solid var(--border-default); margin-top: 5px; padding-top: 5px; }
.geneo-context-heading { padding: 6px 10px 4px; font-size: 11px; font-weight: 700; color: var(--text-tertiary); }
.geneo-object-context-menu .geneo-context-group button { display: flex; align-items: center; gap: 10px; width: 100%; font-size: 13px; }
.geneo-context-icon { display: inline-grid; place-items: center; flex: 0 0 18px; }
.geneo-context-icon svg { width: 17px; height: 17px; }
.geneo-context-icon:is(.backward, .front) { transform: rotate(-90deg); }
.geneo-context-icon:is(.forward, .back) { transform: rotate(90deg); }
.geneo-object-context-menu button:disabled { opacity: .4; cursor: default; }
.geneo-layer-row { position: relative; }
.geneo-layer-row.layer-dragging { opacity: .4; }
.geneo-layer-row:is(.layer-drop-before, .layer-drop-after)::after { content: ''; position: absolute; z-index: 4; left: 0; right: 0; height: 2px; background: var(--brand-green-300); pointer-events: none; }
.geneo-layer-row.layer-drop-before::after { top: -2px; }
.geneo-layer-row.layer-drop-after::after { bottom: -2px; }
.geneo-item-block { position: relative; min-width: 0; }
.geneo-item-block.layer-drop-after::after { content: ''; position: absolute; z-index: 4; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--brand-green-300); pointer-events: none; }
.geneo-layer-list { padding-block: 6px; }
.geneo-layer-row, .geneo-layer-row .name, .geneo-layer-subtitle { user-select: none; -webkit-user-select: none; }
.geneo-layer-row :is(input, textarea, [contenteditable="true"]) { user-select: text; -webkit-user-select: text; }
.geneo-layer-row[data-geneo-layer-connection] { color: var(--text-secondary); font-size: 12px; }
.geneo-layer-row[data-geneo-layer-connection] .geneo-layer-icon { background: transparent; color: var(--text-tertiary); }
.geneo-layer-row[data-geneo-layer-connection] .geneo-layer-icon svg { width: 14px; height: 14px; }

.geneo-object-context-menu button {
    min-height: 38px;
}

.geneo-object-context-menu button:focus-visible {
    background: var(--surface-card-hover);
    color: var(--text-primary);
    outline: 2px solid var(--brand-green-300);
    outline-offset: -2px;
}

.geneo-object-context-menu button.danger:is(:hover, :focus-visible) {
    color: var(--gg-status-error-accent);
}

.tool-options-menu button {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 750;
}

.tool-options-menu button[aria-checked="true"] {
    background: var(--surface-selected);
    color: var(--text-primary);
}

.tool-options-menu button:focus-visible {
    outline: 2px solid var(--brand-green-300);
    outline-offset: -2px;
}

.tool-options-menu svg {
    width: 18px;
    height: 18px;
    display: block;
    flex: 0 0 18px;
}

.geneo-shape-options-menu {
    min-width: 216px;
}

.tool-options-menu [data-geneo-connector] {
    justify-content: center;
    min-width: 150px;
    min-height: 42px;
}

.tool-options-menu .geneo-line-sample {
    width: 88px;
    height: 16px;
    flex: 0 0 88px;
}

.geneo-editor { position: relative; }

.geneo-tool-settings {
    position: absolute;
    top: 64px;
    left: 12px;
    z-index: 60;
    box-sizing: border-box;
    width: max-content;
    max-width: calc(100vw - 24px);
    padding: 7px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface-card);
    box-shadow: var(--shadow-soft);
}

.geneo-connection-tool-panel { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.geneo-creation-tool-panel .geneo-creation-shape-choice { width: 62px; }
.geneo-creation-tool-panel .geneo-paint-swatch.is-none > span { opacity: .14; }
.geneo-creation-tool-panel .geneo-paint-swatch.is-none::after { content: ''; position: absolute; z-index: 2; left: 50%; top: 50%; width: 125%; height: 2px; background: var(--text-secondary); transform: translate(-50%, -50%) rotate(-45deg); pointer-events: none; }
.geneo-connection-tool-row { display: flex; align-items: center; gap: 5px; width: max-content; }
.geneo-connection-tool-row > .geneo-connection-purpose { width: 48px; height: 38px; padding: 0 5px; }
.geneo-connection-purpose > svg:first-child { width: 20px; height: 20px; flex: 0 0 20px; }
.geneo-connection-purpose.needs-choice { border-color: var(--brand-green-300); color: var(--brand-green-300); }
.geneo-purpose-menu { width: 380px; max-width: calc(100vw - 24px); }
.geneo-purpose-menu > button { display: flex; gap: 10px; align-items: center; text-align: left; }
.geneo-purpose-menu > button > span:not(.geneo-purpose-check) { flex: 1; min-width: 0; }
.geneo-purpose-menu > button > svg { width: 20px; height: 20px; flex: 0 0 20px; }
.geneo-purpose-menu strong, .geneo-purpose-menu small { display: block; }
.geneo-purpose-menu small { margin-top: 4px; color: var(--text-secondary); font-size: 12px; line-height: 1.4; white-space: normal; }
.geneo-purpose-check { margin-left: auto; flex: 0 0 16px; }
.geneo-purpose-check svg { width: 16px; height: 16px; }
.geneo-connection-type-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 16px; }
.geneo-connection-type-label { display: inline-flex; align-items: center; gap: 8px; color: var(--text-primary); font-size: 13px; font-weight: 600; }
.geneo-connection-type-label svg { width: 18px; height: 18px; color: var(--text-secondary); flex: 0 0 18px; }
.geneo-type-convert { width: auto; padding: 6px 8px; border: 1px solid var(--border-default); border-radius: 5px; background: transparent; color: var(--text-secondary); font: inherit; font-size: 12px; cursor: pointer; }
.geneo-type-convert:hover { background: var(--surface-card-hover); color: var(--text-primary); }
.geneo-type-convert:focus-visible { outline: 2px solid var(--brand-green-300); outline-offset: 2px; }
.geneo-connection-tool-row > button,
.geneo-connection-tool-width { box-sizing: border-box; flex: 0 0 auto; height: 38px; }
.geneo-connection-choice { display: flex; align-items: center; justify-content: center; gap: 5px; width: 88px; padding: 0 6px; border: 1px solid var(--border-default); border-radius: 5px; background: transparent; color: var(--text-primary); cursor: pointer; }
.geneo-connection-choice .geneo-line-sample { width: 55px; height: 16px; }
.geneo-connection-choice svg { pointer-events: none; }
.geneo-connection-choice > svg:last-child { width: 12px; height: 12px; color: var(--text-secondary); transform: rotate(90deg); }
.geneo-connection-tool-swatch.geneo-paint-swatch { width: 38px; height: 38px; border-radius: 5px; cursor: pointer; }
.geneo-connection-tool-width { display: flex; align-items: center; width: 68px; border: 1px solid var(--border-default); border-radius: 5px; background: var(--surface-input); color: var(--text-tertiary); }
.geneo-connection-tool-width input { box-sizing: border-box; width: 47px; height: 100%; min-width: 0; padding: 0 2px 0 9px; border: 0; outline: 0; background: transparent; color: var(--text-primary); font: inherit; }
.geneo-connection-tool-width span { padding-right: 6px; font-size: 11px; }
.geneo-connection-tool-divider { flex: 0 0 1px; height: 24px; margin: 0 2px; background: var(--border-default); }
.geneo-connection-tool-icon { display: grid; place-items: center; width: 38px; border: 0; border-radius: 5px; background: transparent; color: var(--text-secondary); cursor: pointer; }
.geneo-connection-tool-icon svg { width: 17px; height: 17px; }
.geneo-connection-tool-row > button:hover { background: var(--surface-card-hover); color: var(--text-primary); }
.geneo-connection-tool-row > button:focus-visible,
.geneo-connection-tool-width:focus-within { outline: 2px solid var(--brand-green-300); outline-offset: -2px; }
.geneo-creation-tool-panel .geneo-connection-choice .geneo-shape-option-preview { margin-right: auto; }
.geneo-panel-draft.shape-preview { border: 0; background: transparent; }
.geneo-panel-draft.shape-preview .geneo-shape-svg { width: 100%; height: 100%; }
.geneo-panel-draft.shape-preview .geneo-shape-svg :is(rect, ellipse, path) { fill: var(--geneo-node-bg); stroke: var(--geneo-node-stroke); stroke-width: var(--geneo-node-stroke-width); }
.geneo-panel-draft.shape-preview.stroke-dashed .geneo-shape-svg :is(rect, ellipse, path) { stroke-dasharray: 8 7; }
.geneo-connection-style-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.geneo-connection-style-fields > .geneo-field { min-width: 0; }
.geneo-connection-arrows { grid-column: 1 / -1; }
.geneo-connection-style-fields > .geneo-paint-row { grid-column: 1 / -1; }
.geneo-connection-date-default { grid-column: 1 / -1; }
.geneo-connection-radius-row { grid-column: 1 / -1; }
.geneo-connection-default-pattern { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-width: 0; height: var(--control-height); padding: 0 42px 0 var(--space-3); border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-input); color: var(--text-primary); cursor: pointer; }
.geneo-connection-default-pattern .geneo-line-sample { width: 120px; max-width: calc(100% - 22px); height: 16px; }
.geneo-connection-default-pattern .common-select-chevron { right: 14px; }
.geneo-connection-default-pattern:hover { background: var(--surface-card-hover); border-color: var(--border-strong); }
.geneo-connection-default-pattern:is(:hover, [aria-expanded="true"]) .common-select-chevron { color: var(--text-primary); }
.geneo-connection-default-pattern[aria-expanded="true"] .common-select-chevron svg { transform: rotate(-90deg); }
.geneo-connection-default-pattern:focus-visible { outline: 2px solid var(--brand-green-300); outline-offset: 2px; }
.geneo-connection-default-pattern:disabled { opacity: .55; cursor: not-allowed; }
.geneo-connection-arrows { min-width: 0; margin: 0; padding: 0; border: 0; }
.geneo-connection-arrows legend { margin-bottom: 8px; }
.geneo-connection-arrow-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.geneo-connection-arrow-options label { position: relative; min-width: 0; }
.geneo-connection-arrow-options input { position: absolute; opacity: 0; }
.geneo-connection-arrow-options span { display: grid; place-items: center; min-height: 36px; border: 1px solid var(--border-default); border-radius: 4px; color: var(--text-secondary); font-size: 12px; cursor: pointer; }
.geneo-connection-arrow-options input:checked + span { border-color: var(--brand-green-300); background: var(--surface-selected); color: var(--text-primary); }
.geneo-connection-arrow-options input:focus-visible + span { outline: 2px solid var(--brand-green-300); outline-offset: 2px; }

.geneo-mobile-content-tool {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
    color: var(--text-secondary);
    background: var(--surface-card);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.geneo-mobile-content-tool svg {
    width: 18px;
    height: 18px;
}

.geneo-mobile-content-tool[aria-pressed="true"] {
    color: var(--brand-green-300);
    border-color: var(--brand-green-300);
}

.geneo-mobile-content-tool:focus-visible {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .geneo-editor-toolbar .geneo-tool-group,
    .geneo-editor-toolbar .geneo-tool-group.is-icon-only,
    .geneo-editor-toolbar[data-toolbar-density="adaptive"] .geneo-tool-group[data-geneo-icon-only] {
        width: 126px;
        flex-basis: 126px;
    }

    .geneo-editor-toolbar .geneo-tool-group .geneo-tool,
    .geneo-editor-toolbar .geneo-tool-group .geneo-tool.active,
    .geneo-editor-toolbar[data-toolbar-density="adaptive"] .geneo-tool-group[data-geneo-icon-only] .geneo-tool.active {
        width: 38px;
        flex-basis: 38px;
        padding: 0;
        gap: 0;
        transition: background-color 140ms ease;
    }

    .geneo-editor-toolbar .geneo-tool-group .geneo-tool-label,
    .geneo-editor-toolbar .geneo-tool-group .geneo-tool.active .geneo-tool-label {
        display: none;
    }

    .geneo-editor-toolbar [data-geneo-toolbar-item="connect"] .tool-split-trigger {
        display: none;
    }

    .geneo-editor-toolbar [data-geneo-toolbar-item="connect"] .tool-split-main {
        width: 40px;
        min-width: 40px;
        padding: 0;
        border-radius: var(--radius-sm);
    }

    .geneo-editor-toolbar [data-geneo-toolbar-item="connect"] .tool-split-main span {
        display: none;
    }

    .geneo-editor-toolbar [data-tool-split="content"] {
        gap: 6px;
    }

    .geneo-editor-toolbar [data-tool-split="content"] .tool-split-main,
    .geneo-editor-toolbar [data-tool-split="content"] .tool-split-trigger,
    .geneo-editor-toolbar [data-tool-split="shape"] .tool-split-trigger {
        display: none;
    }

    .geneo-editor-toolbar [data-tool-split="content"] .geneo-mobile-content-tool {
        display: inline-flex;
    }

    .geneo-editor-toolbar [data-tool-split="shape"] .tool-split-main {
        width: 40px;
        min-width: 40px;
        padding: 0;
        border-radius: var(--radius-sm);
    }

    .geneo-editor-toolbar [data-tool-split="shape"] .tool-split-main span {
        display: none;
    }

    .geneo-toolbar-overflow-menu {
        max-height: calc(100dvh - 120px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}


@media (max-width: 900px) {
    .geneo-connection-tool-panel { position: absolute; top: 58px; left: 8px !important; width: calc(100% - 16px); max-width: none; padding: 6px; }
}

@media (max-width: 540px) {
    .geneo-connection-arrow-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.geneo-shape-option-preview {
    width: 22px;
    height: 18px;
    flex: 0 0 22px;
    display: block;
    border: 2px solid currentColor;
    background: color-mix(in srgb, var(--gg-primary) 12%, transparent);
}

.geneo-shape-option-preview.shape-ellipse {
    border-radius: 50%;
}

.geneo-shape-option-preview.shape-diamond {
    transform: rotate(45deg) scale(.72);
}

.geneo-shape-option-preview.shape-triangle {
    border: 0;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: currentColor;
}

.geneo-shape-option-preview.shape-hexagon {
    border: 0;
    clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
    background: currentColor;
}

.geneo-zoom-overlay {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 20;
    width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--border-default);
    background: var(--surface-card);
    border-radius: var(--radius-sm);
    padding: 6px;
    box-shadow: var(--shadow-soft);
}

.geneo-zoom-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
}

.geneo-zoom-button:hover {
    background: var(--surface-card-hover);
}

.geneo-minimap {
    position: sticky;
    left: 18px;
    bottom: 74px;
    z-index: 5;
    width: 160px;
    height: 112px;
    margin: 0 0 12px 18px;
    border: 1px solid var(--border-default);
    border-radius: 10px;
    background: var(--surface-card);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.geneo-minimap::before {
    content: "";
    position: absolute;
    inset: 12px;
    background:
        linear-gradient(90deg, transparent 0 40%, color-mix(in srgb, var(--gg-primary) 45%, transparent) 41% 43%, transparent 44%),
        radial-gradient(circle at 25% 30%, color-mix(in srgb, var(--gg-primary) 65%, transparent) 0 10px, transparent 11px),
        radial-gradient(circle at 60% 28%, color-mix(in srgb, var(--gg-accent-sepia-gold-accent) 65%, transparent) 0 11px, transparent 12px),
        radial-gradient(circle at 68% 68%, color-mix(in srgb, var(--gg-primary) 65%, transparent) 0 9px, transparent 10px),
        radial-gradient(circle at 40% 72%, color-mix(in srgb, var(--gg-accent-evidence-slate-container) 65%, transparent) 0 10px, transparent 11px);
}

.geneo-minimap::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 14px;
    width: 86px;
    height: 56px;
    border: 1px solid var(--text-secondary);
    background: color-mix(in srgb, var(--gg-text) 4%, transparent);
}

.geneo-board-panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    height: auto;
    min-height: 100%;
    overflow: visible;
}

.geneo-sidebar-section {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
}

.geneo-sidebar-section.navigation {
    gap: 0;
}

.geneo-sidebar-disclosure {
    width: 100%;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    font-weight: 800;
    text-align: left;
}

.geneo-sidebar-disclosure:hover {
    color: var(--text-primary);
}

.geneo-sidebar-disclosure:focus-visible {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 2px;
    border-radius: 5px;
}

.geneo-sidebar-disclosure-meta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--text-tertiary);
    font-size: 12px;
}

.geneo-sidebar-disclosure-meta svg {
    width: 14px;
    height: 14px;
    transform: rotate(90deg);
    transition: transform var(--ease);
}

.geneo-sidebar-disclosure[aria-expanded="true"] .geneo-sidebar-disclosure-meta svg {
    transform: rotate(-90deg);
}

.geneo-sidebar-section-body {
    position: relative;
    display: grid;
    gap: var(--space-2);
    min-width: 0;
    overflow: visible;
}

.geneo-layers {
    min-height: auto;
}

.geneo-layer-tools {
    display: flex;
    gap: var(--space-2);
    align-items: center;
    position: relative;
}

.geneo-item-filter-trigger {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border-default);
    border-radius: 6px;
    background: var(--surface-input);
    color: var(--text-secondary);
    cursor: pointer;
}

.geneo-item-filter-trigger svg { width: 17px; height: 17px; }
.geneo-item-filter-trigger:hover,
.geneo-item-filter-trigger.active,
.geneo-item-filter-trigger[aria-expanded="true"] { color: var(--brand-green-300); border-color: var(--brand-green-300); }
.geneo-item-filter-trigger:focus-visible,
.geneo-item-filter-menu :focus-visible { outline: 2px solid var(--brand-green-300); outline-offset: 2px; }

#geneoItemFilterMenu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 20; }
.geneo-item-filter-menu {
    width: min(260px, calc(100vw - 32px));
    max-height: min(460px, 65vh);
    overflow-y: auto;
    padding: 8px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface-card);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: 2px;
}
.geneo-item-filter-menu[hidden] { display: none; }
.geneo-item-filter-heading { padding: 10px 8px 4px; color: var(--text-tertiary); font-size: 12px; font-weight: 700; }
.geneo-item-filter-menu label { display: flex; align-items: center; gap: 10px; min-height: 32px; padding: 4px 8px; border-radius: 5px; color: var(--text-primary); cursor: pointer; }
.geneo-item-filter-menu label:hover { background: var(--surface-card-hover); }
.geneo-item-filter-menu input { accent-color: var(--brand-green-500); }
.geneo-item-filter-clear { margin-top: 8px; padding: 8px; border: 0; border-top: 1px solid var(--border-default); background: transparent; color: var(--brand-green-300); text-align: left; cursor: pointer; }
.geneo-item-group-label { padding: 11px 7px 5px; color: var(--text-tertiary); font-size: 12px; font-weight: 700; }
.geneo-item-empty { display: grid; gap: 10px; padding: 16px 7px; color: var(--text-secondary); font-size: 13px; }
.geneo-item-empty button { width: fit-content; padding: 0; border: 0; background: transparent; color: var(--brand-green-300); cursor: pointer; }

.geneo-object-search {
    height: 34px;
    min-width: 0;
    flex: 1 1 auto;
    border: 1px solid var(--border-default);
    background: var(--surface-card);
    border-radius: 8px;
    color: var(--text-primary);
    padding: 0 var(--space-3);
    outline: none;
}

.geneo-layer-list {
    display: grid;
    gap: 2px;
}

.geneo-layer-row {
    min-height: 36px;
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-secondary);
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0 7px;
    text-align: left;
    min-width: 0;
}

.geneo-layer-row:hover {
    background: color-mix(in srgb, var(--gg-text) 3.5%, transparent);
    color: var(--text-primary);
}

.geneo-layer-row.selected {
    background: var(--surface-selected);
    border-color: color-mix(in srgb, var(--gg-primary) 12%, transparent);
    color: var(--text-primary);
}

.geneo-layer-row .name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.geneo-layer-identity { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.geneo-layer-identity .name { display: block; }
.geneo-layer-subtitle { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-tertiary); font-size: 11px; }
.geneo-layer-row:has(.geneo-layer-subtitle) { min-height: 46px; }
.geneo-layer-toggle:disabled { opacity: .4; cursor: default; }

.geneo-layer-row .name[data-geneo-layer-rename-handle] {
    cursor: text;
}

.geneo-layer-name-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 28px;
    border: 1px solid var(--brand-green-300);
    border-radius: 6px;
    background: var(--surface-input);
    color: var(--text-primary);
    padding: 0 7px;
    font: inherit;
    outline: 0;
}

.geneo-layer-name-input:focus {
    box-shadow:
        0 0 0 2px color-mix(in srgb, var(--gg-primary) 20%, transparent);
}

.geneo-layer-icon {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--gg-text) 5%, transparent);
    color: var(--brand-green-300);
    flex: 0 0 auto;
}

.geneo-layer-row[data-geneo-layer-type="person"] .geneo-layer-icon { color: var(--gg-accent-heritage-green-accent); background: var(--gg-accent-heritage-green-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="image"] .geneo-layer-icon { color: var(--gg-accent-rose-sepia-accent); background: var(--gg-accent-rose-sepia-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="sticky"] .geneo-layer-icon { color: var(--gg-accent-investigation-purple-accent); background: var(--gg-accent-investigation-purple-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="text"] .geneo-layer-icon { color: var(--gg-accent-evidence-slate-accent); background: var(--gg-accent-evidence-slate-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="place"] .geneo-layer-icon { color: var(--gg-accent-map-cyan-accent); background: var(--gg-accent-map-cyan-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="drawing"] .geneo-layer-icon { color: var(--gg-accent-creative-blue-accent); background: var(--gg-accent-creative-blue-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="shape"] .geneo-layer-icon { color: var(--gg-accent-chronicle-copper-accent); background: var(--gg-accent-chronicle-copper-subtle-container); }
.geneo-layer-row[data-geneo-layer-type="panel"] .geneo-layer-icon { color: var(--gg-accent-sepia-gold-accent); background: var(--gg-accent-sepia-gold-subtle-container); }

.geneo-layer-icon svg,
.geneo-layer-toggle svg {
    width: 16px;
    height: 16px;
    display: block;
}

.geneo-layer-actions {
    display: none;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
}

.geneo-layer-row:is(:hover, .selected, :focus-within) .geneo-layer-actions {
    display: flex;
}

.geneo-layer-toggle {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 1px solid transparent;
    background: transparent;
    color: var(--text-tertiary);
    border-radius: 6px;
    display: grid;
    place-items: center;
    line-height: 0;
    flex: 0 0 auto;
}

.geneo-layer-toggle:focus-visible {
    outline: 2px solid var(--brand-green-300);
    outline-offset: 1px;
}

.geneo-layer-toggle:hover {
    background: var(--surface-card-hover);
    color: var(--text-primary);
    border-color: var(--border-default);
}

