/* Main-column geometry is measured once per animation frame by workspace-layout.js.
   Navigation and composer remain in normal flow; only focused panels float. */
.lime-top-nav { flex: none; order: 0; }
.layout:not(.sidebar-collapsed) .sidebar:has(.primary-nav-collapsed) #sidebar-list-heading {
  margin-top: 12px;
}
/* Fullscreen blur grows with the number of physical pixels, not the number of
   controls. At wall-display sizes use the same surfaces without a costly blur. */
@media (min-width: 3840px) {
  body :is(.settings-panel, .ar-spatial-tabs, .mini-player) {
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    box-shadow: none;
  }
}
/* A shared viewport-sized flag avoids restarting/reversing the stripe in each
   panel. SVG normalized coordinates keep its band corner-to-corner at any ratio.
   Readable dark glass covers the flag only on application chrome, never media. */
:root[data-palette="republic"] {
  /* National flag construction, white:black:white = 1:4:1. One shared
     viewport image preserves stripe continuity across application surfaces. */
  --republic-flag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 18' preserveAspectRatio='none'%3E%3Cpath fill='%23da1a35' d='M0 0H30V18H0Z'/%3E%3Cpath fill='white' d='M0 0L20.824734 18H30L9.175266 0Z'/%3E%3Cpath fill='%23000' d='M1.52921 0L22.353945 18H28.470789L7.646055 0Z'/%3E%3C/svg%3E");
}
/* The Republic scene is drawn once by styles-trinbago.css. Repeating the flag
   on each glass surface restarts its diagonal stripes at panel boundaries. */
:root[data-palette="republic"] body { background-color: #02050c; }
.navigation-dock { position: relative; box-sizing:border-box; flex: none; order: 1; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; gap: 4px; padding: 4px 10px; border-bottom: 1px solid var(--border); background: var(--bg-raised); z-index: 13; }
.navigation-dock { border:0; border-bottom:1px solid transparent; border-radius:0; background:transparent; box-shadow:none; }
.navigation-dock[hidden] { display: none; }
.navigation-dock .primary-nav { grid-column: 1; grid-row: 1; display: grid; grid-auto-flow: column; grid-template-columns: none; grid-template-rows: repeat(var(--tab-grid-rows, 2), calc(34px * var(--tab-chip-scale, 1))); grid-auto-columns: minmax(calc(72px * var(--tab-chip-scale, 1)), 1fr); overflow: auto; min-width: 0; max-height: none; margin: 0; padding: 4px 0; border: 0; }
.tab-chip-size-control { position:relative; display:block; flex:none; width:100%; max-width:none; height:8px; min-height:8px; margin:5px 0 8px; padding:0; border:1px solid color-mix(in srgb,var(--border) 80%,transparent); border-radius:999px; background:color-mix(in srgb,var(--bg-raised) 70%,transparent); cursor:ew-resize; touch-action:none; box-sizing:border-box; }
.tab-chip-size-control::after { content:""; position:absolute; width:34px; height:4px; left:calc(50% - 17px); top:1px; border-radius:999px; background:#459fff; }
.tab-chip-size-control:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tab-chip-size-control[hidden] { display: none; }
#primary-nav .nav-tab { font-size: calc(.78rem * var(--tab-chip-scale, 1)); padding: calc(4px * var(--tab-chip-scale, 1)) calc(8px * var(--tab-chip-scale, 1)); flex-basis: calc(72px * var(--tab-chip-scale, 1)); }
#primary-nav.nav-icons-only .nav-tab { width:32px; min-width:32px; max-width:32px; flex:0 0 32px; justify-content:center; overflow:hidden; font-size:0 !important; padding:3px; }
#primary-nav.nav-icons-only .nav-tab::before { font-size:16px; margin:0; }
/* The section banner already owns its inset; do not stack a header bottom gap. */
.sidebar-header { padding-bottom: 0; }
.sidebar-list-heading { margin-top: 0; }
.navigation-dock-resizer { position: relative; display: block; grid-column: 1 / -1; grid-row: 1; align-self:start; flex: none; height: var(--drag-bar-width, 10px); min-height: var(--drag-bar-width, 10px); width: 100%; cursor: ns-resize; touch-action: none; border-radius: 0; background: rgb(24 27 36 / 46%); transition: background .16s ease, height .16s ease; }
.layout.sidebar-collapsed .navigation-dock-resizer { margin-inline: -10px; width: calc(100% + 20px); }
.navigation-dock-resizer::after, .sow-surface-resizer::after { content: ""; position: absolute; height: 4px; left: 25%; right: 25%; top: calc(50% - 2px); background: #459fff; border-radius: 999px; }
.navigation-dock-resizer:focus-visible { outline: 2px solid var(--accent); }
:is(.sidebar-resize-handle, .navigation-dock-resizer, .sow-surface-resizer, .saved-layouts-resizer, .mw-splitter, .floating-player-resize-handle, .content-cell-resize-handle):not(:hover):not(:focus-visible):not(.dragging) {
  background-color: rgb(24 27 36 / 46%);
}
:is(.sidebar-resize-handle, .navigation-dock-resizer, .sow-surface-resizer, .saved-layouts-resizer)::after { opacity: .76; }
.sow-surface-resizer { position: fixed; z-index: 11; height: var(--drag-bar-width, 10px); min-height: var(--drag-bar-width, 10px); cursor: ns-resize; touch-action: none; background: rgb(24 27 36 / 46%); border-radius: 0; transition: background .16s ease, height .16s ease; }
.sow-surface-resizer:focus-visible { outline: 2px solid var(--accent); }
body.sow-surface-resizing, body.sow-surface-resizing * { user-select: none !important; -webkit-user-select: none !important; }
body.sow-surface-resizing .main > .composer { display: flex; height: var(--sow-drag-height, 0px); min-height: 0; overflow: hidden; }
.wave-view-shell.settings-panel { inset: auto; display: flex; flex-direction: column; overflow: auto; }
/* One scroll owner keeps Wave usable in short/narrow Multi windows. Let its
   audio cards retain natural height instead of shrinking beneath the chrome. */
.wave-view-shell.settings-panel > * { flex-shrink: 0; }
.wave-view-shell.settings-panel > .wave-view-scroll { flex: 1 0 auto; overflow: visible; }
body.tab-grid-resizing, body.tab-grid-resizing * { user-select: none !important; -webkit-user-select: none !important; }
.navigation-dock .nav-tab { width: auto; min-width: 0; }
.goal-confirmation { display: flex; align-items: flex-start; gap: 10px; padding: 10px 4px; border-bottom: 1px solid var(--border); }
.goal-confirmation[hidden] { display: none; }
.goal-confirmation input { flex: 0 0 auto; margin-top: 3px; }
.goal-confirmation > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.goal-confirmation > small { flex: 0 1 150px; font-size: .65rem; color: var(--text-muted); overflow-wrap: anywhere; }
@media (max-width: 400px) { .goal-confirmation { flex-wrap: wrap; } .goal-confirmation > small { flex-basis: 100%; padding-left: 24px; } }
.panel-multitask-workspace { order: 2; }
.lime-multitask-card.mw-live-tree { display: flex; flex-direction: column; min-height: 220px; }
.mw-live-tree > .lime-multitask-history { display: none; }
.mw-live-tree > .job-scroll { flex: 1 1 0; min-height: 0; min-width: 0; width: 100%; }
.mw-live-tree > .lime-multitask-header { flex: none; }
.main > .job-scroll { order: 2; }
.main > .latest-btn { order: 3; }
.main > .composer { order: 4; }
.main > .composer-collapse-btn { position: fixed; z-index: 10001; }
body.single-tab-active:not(.composer-over-tab) .main > .composer { display: none; }
#composer-open-tree { align-self: flex-start; flex: none; }
body:not(.panel-multitasking):not(.ar-session-active) .main > .settings-panel:not(.hidden):not(.mw-fullscreen-active) {
  left: var(--workspace-left); top: var(--workspace-top); transform: none;
  width: var(--workspace-width); height: var(--workspace-height); max-width: none; max-height: var(--workspace-height);
  box-sizing: border-box; border-radius: var(--radius, 16px); padding-bottom: 64px;
}
.panel-multitask-workspace.mw-single { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; }
.panel-multitask-workspace.mw-single > .mw-window:not(.hidden) { width: 100%; min-width: 0; height: auto; min-height: 0; }
.lime-top-nav-actions { flex: 0 0 auto; display: flex; align-items: center; margin-left: auto; z-index: 14; background: var(--bg-raised); }
#profile-avatar-top { box-sizing:border-box; width:38px; height:38px; padding:2px; display:inline-grid; place-items:center; overflow:hidden; line-height:0; }
#profile-avatar-top .profile-avatar { display:grid; place-items:center; box-sizing:border-box; width:100%; height:100%; margin:0; line-height:1; text-align:center; border:0; box-shadow:none; background:transparent; }
#profile-avatar-top .profile-avatar img { object-position:50% 50%; border:0; box-shadow:none; outline:0; }
#settings-btn, #profile-avatar-top { border: 2px solid var(--profile-status-color, #d99a32); border-radius: 50%; box-shadow: 0 0 0 2px color-mix(in srgb, var(--profile-status-color, #d99a32) 18%, transparent); }
.status-screen-reader { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.lime-top-nav-chips { min-width: 0; flex: 1 1 0; }
.lime-top-nav-chips > button { flex: 0 0 auto; white-space: nowrap; }
.lime-top-nav-sidebar, .lime-collapsed-brand { flex-shrink: 0; }
.navigation-dock .nav-scroll-hint { display: none; }
.tab-dock-overflow-hint {
  position: absolute; z-index: 2; right: 14px; bottom: 26px;
  padding: 3px 8px; border: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
  border-radius: 999px; background: color-mix(in srgb, var(--bg-raised) 92%, transparent);
  box-shadow: 0 2px 8px #0005; font-size: 11px; line-height: 1.2;
  color: var(--text-muted); pointer-events: none;
}
.tab-dock-overflow-hint[hidden] { display: none; }
.saved-layouts-resizer {
  position: fixed; z-index: 10002; right: 0; width: var(--drag-bar-width, 10px); min-width: var(--drag-bar-width, 10px); min-height: 48px;
  cursor: ew-resize; touch-action: none; border-radius: 0;
  background: rgb(24 27 36 / 46%);
  transition: background .16s ease, width .16s ease;
}
.saved-layouts-resizer::after {
  content: ""; position: absolute; width: 4px; top: 25%; bottom: 25%; left: calc(var(--drag-bar-width, 10px) / 2 - 2px);
  border-radius: 999px; background: #459fff;
}
.saved-layouts-resizer:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.layout.sidebar-collapsed .lime-top-nav { padding-right: calc(14px + var(--drag-bar-width, 10px)); }
.saved-layouts-drawer {
  position: fixed; z-index: 10003; top: max(8px, env(safe-area-inset-top)); right: calc(var(--drag-bar-width, 10px) + 2px);
  bottom: max(8px, env(safe-area-inset-bottom)); width: min(340px, calc(100vw - 42px));
  display: flex; flex-direction: column; gap: 10px; padding: 12px;
  overflow: auto; border: 1px solid var(--border); border-radius: 16px;
  background: color-mix(in srgb, var(--bg-raised) 96%, transparent); box-shadow: 0 16px 48px #0008;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.saved-layouts-drawer[hidden] { display: none; }
.saved-layouts-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.saved-layouts-drawer > input { width: 100%; box-sizing: border-box; }
.saved-layouts-status { min-height: 1.2em; margin: 0; }
.saved-layouts-list { display: flex; flex-direction: column; gap: 10px; }
.saved-layout-card { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 4px 10px; padding: 9px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); }
.saved-layout-card > :not(.saved-layout-preview) { grid-column: 2; }
.saved-layout-card > small { color: var(--text-muted); }
.saved-layout-card > div:last-child { display: flex; flex-wrap: wrap; gap: 4px; }
.saved-layout-card button { min-height: 28px; padding: 4px 7px; font-size: .72rem; }
.saved-layout-preview { grid-column: 1; grid-row: 1 / span 3; display: grid; grid-template-columns: 14px 1fr; gap: 3px; min-height: 58px; padding: 4px; border-radius: 8px; background: color-mix(in srgb, var(--accent) 10%, var(--bg-raised)); }
.saved-layout-preview.sidebar-off { grid-template-columns: 0 1fr; }
.preview-sidebar { border-radius: 4px; background: color-mix(in srgb, var(--text-muted) 40%, transparent); }
.preview-tiles { display: grid; gap: 2px; }
.preview-grid { grid-template-columns: repeat(2, 1fr); }
.preview-vertical { grid-template-columns: 1fr; }
.preview-horizontal { grid-auto-flow: column; grid-auto-columns: 1fr; }
.preview-freeform { position: relative; }
.preview-freeform > i { position: absolute; width: 58%; height: 55%; }
.preview-freeform > i:nth-child(2n) { inset: auto 0 0 auto; }
.preview-single { grid-template-columns: 1fr; }
.preview-tiles > i { min-width: 5px; min-height: 8px; border-radius: 2px; background: color-mix(in srgb, var(--accent) 72%, var(--bg)); }
body.saved-layouts-resizing, body.saved-layouts-resizing * { user-select: none !important; -webkit-user-select: none !important; }
.main > .settings-panel > :is(.mw-drag-handle, .mw-resize-handle) { display: none; }
.lime-top-nav-title { flex: 0 1 auto; max-width: min(36vw, 420px); margin-left: 0; order: 10; }
.lime-top-nav > .lime-top-nav-title.hidden { display: none !important; }
#global-chip-actions { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; justify-items: stretch; }
#global-chip-actions > .tabs-chip { min-width: 0; justify-content: center; padding-inline: 4px; }
#global-chip-actions > .primary-nav, #global-chip-actions > .voice-top-stop { grid-column: 1 / -1; }
/* A single set of navigation controls follows the panel; Multi's layout is
   a dependent control, not a second global mode. */
.layout:not(.sidebar-collapsed) .lime-top-nav-chips,
.lime-top-nav-chips.hidden { display: none !important; }
body:not(.panel-multitasking) :is(#multi-layout-toggle, #multi-layout-toggle-top) { display: none !important; }
body:not(.panel-multitasking).workspace-controls-revealed #multi-layout-toggle-top { display: inline-flex !important; }
body:not(.panel-multitasking) #global-chip-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.panel-multitasking :is(#multi-window-toggle, #multi-window-toggle-top) { border-top-right-radius: 6px; border-bottom-right-radius: 6px; }
body.panel-multitasking :is(#multi-layout-toggle, #multi-layout-toggle-top) { margin-left: -6px; border-top-left-radius: 6px; border-bottom-left-radius: 6px; border-left-color: transparent; background: var(--etti-control-surface); }
.multi-layout-select { appearance: auto; -webkit-appearance: auto; cursor: pointer; min-width: 118px; text-align: center; }
.multi-history-panel { position: relative; z-index: 40; margin: 8px 0; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: color-mix(in srgb, var(--bg-raised) 94%, var(--accent)); box-shadow: 0 10px 28px #0006; }
.multi-history-panel[hidden] { display: none; }
.multi-history-panel > header, .multi-history-panel > footer { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.multi-history-panel > header { justify-content: space-between; margin-bottom: 8px; }
.multi-history-list { display: grid; gap: 6px; max-height: min(42vh, 360px); overflow: auto; }
.multi-history-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 8px; border: 1px solid color-mix(in srgb, var(--border) 80%, transparent); border-radius: 8px; }
.multi-history-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.multi-history-panel > footer { margin-top: 9px; }
/* Multi tile headers own their Lime close action. Keep the global title
   control out of the way while the tiled workspace is active. */
body.panel-multitasking .lime-top-nav > .lime-top-nav-title { display: none !important; }
.users-expiry-fields { display: flex; flex-wrap: wrap; gap: 8px; }
.users-expiry-fields > * { flex: 1 1 100px; min-width: 0; }
.users-expiry-fields[hidden], #users-invite-expiry-date-fields[hidden] { display: none; }
.panel-multitask-workspace.mw-grid-many:not(.layout-horizontal):not(.layout-vertical) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-rows: minmax(220px, 1fr); }
.panel-multitask-workspace.mw-grid-many:not(.layout-horizontal):not(.layout-vertical) > .mw-window { grid-column: auto; min-width: 0; overflow: auto; }
.panel-multitask-workspace.layout-freeform { position: relative; display: block; min-height: 420px; overflow: auto; }
.panel-multitask-workspace.layout-freeform > .mw-window:not(.hidden) {
  position: absolute; left: var(--mw-free-left, 18px); top: var(--mw-free-top, 18px);
  width: var(--mw-free-width, min(560px, 55%)); height: var(--mw-free-height, min(520px, 62%));
  min-width: 220px; min-height: 180px; z-index: var(--mw-free-z, 1); margin: 0;
}
.panel-multitask-workspace:not(.layout-freeform) > .mw-window > :is(.mw-layer-handle, .mw-aspect-handle) { display: none; }
.mw-layer-handle, .mw-aspect-handle { position: absolute; z-index: 8; top: 7px; width: 28px; height: 28px; padding: 0; border-radius: 8px; }
.mw-layer-handle { right: 74px; }
.mw-layer-handle::before { content: "⇧"; }
.mw-aspect-handle { right: 42px; }
.mw-aspect-handle::before { content: "◇"; }
.mw-window.mw-aspect-locked .mw-aspect-handle::before { content: "◆"; }
body.ar-session-active .settings-panel.ar-spatial-open:not(.hidden) { position: fixed; z-index: 30; left: max(14px, env(safe-area-inset-left)); top: 80px; right: 320px; bottom: 24px; width: auto; height: auto; max-height: none; min-height: 0; border-radius: 24px; transform: translate3d(var(--ar-tilt-x, 0px), var(--ar-tilt-y, 0px), 0); }
#ar-home { display: flex; flex-direction: column; align-items: flex-start; color: #fff; pointer-events: auto; background: #071426aa; }
#ar-home strong { font-size: 1.5rem; letter-spacing: .1em; }
.ar-hud { z-index: 5; }
@media (max-width: 760px) { body.ar-session-active .settings-panel.ar-spatial-open:not(.hidden) { top: calc(76px + 24dvh); right: 10px; bottom: 18px; left: 10px; } }
.wave-view-header #wave-home { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; padding: 0; border: 0; background: transparent; }
#wave-home strong { font-size: 2rem; letter-spacing: .08em; }
#wave-home .brand-slogan { font-size: .7rem; letter-spacing: .22em; margin-top: 5px; }
#wave-view-microphone[aria-pressed="true"] { border-color: var(--danger); color: var(--danger); }
#emulation-body .emulation-filter-tools > .game-option { flex: 0 1 170px; height: auto; min-height: 0; display: flex; flex-direction: column; gap: 4px; padding-block: 0; }
#emulation-body .emulation-filter-tools input[type="range"] { flex: 0 0 24px; height: 24px; min-height: 24px; margin: 0; }
@media (max-width: 600px) {
  .lime-top-nav { flex-wrap: wrap; gap: 4px; padding: 5px 8px; }
  .lime-top-nav-chips { max-width: 100%; flex: 1 1 auto; }
  .lime-top-nav-title { max-width: 50vw; font-size: .75rem; }
}
/* A narrow split pane must expose the full Multi control set. Put the
   segmented group on its own scrollable row so Grid/Vertical/Horizontal/
   Freeform remain reachable instead of being squeezed behind the title. */
@media (max-width: 760px) {
  .lime-top-nav { flex-wrap: wrap; }
  .lime-top-nav-chips {
    flex: 1 0 100%;
    width: 100%;
    max-width: none;
    order: 5;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .lime-top-nav-chips > .tabs-chip { flex: 0 0 auto; }
  /* Keep profile/menu controls after Multi and Fruit chips at narrow widths.
     The segmented chip row may scroll, but utility actions must not jump
     ahead of it onto the first line. */
  .lime-top-nav-actions { order: 6; margin-left: auto; }
}
@media (max-width: 320px), (max-height: 360px) {
  .lime-top-nav { flex-wrap: nowrap; gap: 3px; padding: 3px; }
  .lime-top-nav-title, .lime-top-nav-favourite { display: none; }
  .lime-collapsed-brand-name { font-size: 1rem; }
  .lime-collapsed-brand .brand-slogan { font-size: .45rem; }
  .lime-top-nav .ghost-btn { padding: 6px; min-width: 28px; }
  .navigation-dock { padding: 2px 4px; }
  .settings-panel { padding: 8px; }
  .settings-header { flex-wrap: wrap; gap: 4px; }
  .composer { max-height: 40dvh; overflow: auto; padding-inline: 6px; padding-bottom: 64px; }
  .panel-multitask-workspace > .lime-multitask-card { padding: 4px; }
  .lime-multitask-header { padding: 4px; gap: 4px; font-size: .8rem; }
  .lime-multitask-header .ghost-btn { padding: 5px; min-width: 28px; min-height: 28px; }
  .mw-live-tree #empty-state { padding: 8px; gap: 6px; justify-content: flex-start; }
  .mw-live-tree #empty-state h2 { font-size: 1rem; margin: 0; }
  .mw-live-tree #empty-state p { font-size: .8rem; margin: 4px 0; }
  .composer textarea { min-height: 48px; }
  .panel-multitask-workspace { grid-auto-rows: minmax(160px, 1fr); }
}
/* Status meaning is independent of the user's decorative palette. Fixed paired
   surface/text colours retain contrast even with arbitrary custom themes. */
.badge[data-status], .roadmap-work-group[data-status] > summary {
  --chip-surface: #263445; --chip-text: #f1f5f9;
  color: var(--chip-text); background: var(--chip-surface);
  border: 1px solid currentColor;
}
.badge[data-status="COMPLETE"], .badge[data-status^="COMPLETE_"],
.badge[data-status="COMPLETED"], .roadmap-work-group[data-status="COMPLETE"] > summary {
  --chip-surface: #125332; --chip-text: #dcfce7;
}
.badge[data-status="IN_PROGRESS"], .badge[data-status="RUNNING"],
.roadmap-work-group[data-status="IN_PROGRESS"] > summary {
  --chip-surface: #183c7c; --chip-text: #dbeafe;
}
.badge[data-status="PARTIAL"], .roadmap-work-group[data-status="PARTIAL"] > summary {
  --chip-surface: #7a3412; --chip-text: #ffedd5;
}
.badge[data-status="BLOCKED"], .badge[data-status="EVIDENCE-GATED"],
.roadmap-work-group[data-status="BLOCKED"] > summary {
  --chip-surface: #56217b; --chip-text: #f3e8ff;
}
.badge[data-status="NEEDS_REVIEW"], .roadmap-work-group[data-status="NEEDS_REVIEW"] > summary {
  --chip-surface: #634b08; --chip-text: #fef9c3;
}
.badge[data-status="FAILED"], .badge[data-status="ERROR"] {
  --chip-surface: #7c1e2a; --chip-text: #ffe4e6;
}
.badge[data-status="NOT_STARTED"], .roadmap-work-group[data-status="NOT_STARTED"] > summary {
  --chip-surface: #15545a; --chip-text: #cffafe;
}
.badge[data-status="FUTURE"], .roadmap-work-group[data-status="FUTURE"] > summary {
  --chip-surface: #374151; --chip-text: #f3f4f6;
}
.roadmap-work-group[data-status] > summary { border-radius: .65rem; padding: .35rem .65rem; margin-block: .4rem; }
.roadmap-work-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.roadmap-work-filters > :is(input, select) { min-width: 120px; flex: 1 1 145px; width: auto; }
.roadmap-work-catalogue[data-layout="horizontal"] .roadmap-work-group > :not(summary) { display: flex; flex-wrap: nowrap; gap: 10px; overflow-x: auto; align-items: stretch; }
.roadmap-work-catalogue[data-layout="horizontal"] .roadmap-work-item { flex: 0 0 min(80vw, 420px); }
.roadmap-work-catalogue[data-layout="grid"] .roadmap-work-group > :not(summary) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 10px; align-items: stretch; }
.roadmap-work-catalogue[data-layout="grid"] .roadmap-work-item { min-width: 0; }
.roadmap-packet-labels { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 6px; }
.roadmap-delivery-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 6px; }
.roadmap-delivery-badge { font-size: .75rem; }
.roadmap-delivery-badge.ok { border-color: color-mix(in srgb, var(--state-ok, #58d68d) 60%, var(--border)); }
.roadmap-delivery-badge.unknown { opacity: .78; }
.execution-mode-badge { margin-inline-start: .4rem; font-size: .72rem; vertical-align: middle; }
.roadmap-topic { color: #dbeafe; background: #183c7c; border: 1px solid #93c5fd; cursor: pointer; }

/* Track dimensions belong to grid-controls. Panes may scroll, never overflow
   their allocated row into the next pane; horizontal is stable at every width. */
.panel-multitask-workspace:not(.layout-freeform) { display:grid; grid-auto-flow:row; align-content:start; align-items:stretch; gap:10px; overflow:auto; }
.panel-multitask-workspace:not(.layout-freeform) { inset:0 !important; padding:0; box-sizing:border-box; min-width:0; max-width:100%; }
.panel-multitask-workspace:not(.layout-freeform) { width:100%; max-inline-size:100%; }
.panel-multitask-workspace.layout-horizontal { grid-auto-flow:column; overflow-x:hidden; padding:0; }
.panel-multitask-workspace.layout-horizontal { align-content:stretch; }
.panel-multitask-workspace:not(.layout-freeform) > .mw-window:not(.hidden):not(.mw-fullscreen-active) {
  box-sizing:border-box; position:relative; inset:auto; transform:none; grid-column:auto !important;
  width:100%; height:100%; min-width:0; min-height:0; max-height:100%; padding:8px;
  overflow:auto; overscroll-behavior:contain;
}
.mw-splitter { position:absolute; z-index:26; pointer-events:auto; margin:0; padding:0; border:0; border-radius:0; min-width:0; min-height:0; touch-action:none; background:transparent; }
.mw-splitter { user-select:none; -webkit-user-select:none; }
/* Keep the full gap as a stable hit target, but paint an adjustable centered track.
   The inset stops at pane corners so perpendicular splitters meet cleanly. */
.mw-splitter::before { content:""; position:absolute; pointer-events:none; border-radius:999px; transition:background .14s ease; }
.mw-splitter[aria-orientation="vertical"]::before {
  top:5px; bottom:5px; left:50%; width:var(--mw-splitter-size,10px); transform:translateX(-50%);
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 42%,transparent),rgb(24 27 36 / 78%) 50%,color-mix(in srgb,var(--accent) 42%,transparent));
}
.mw-splitter[aria-orientation="horizontal"]::before {
  left:5px; right:5px; top:50%; height:var(--mw-splitter-size,10px); transform:translateY(-50%);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 42%,transparent),rgb(24 27 36 / 78%) 50%,color-mix(in srgb,var(--accent) 42%,transparent));
}
.mw-splitter:focus-visible,.mw-splitter:hover { outline:2px solid var(--accent); }
.mw-splitter:focus-visible::before,.mw-splitter:hover::before { background:var(--accent); }
/* Every ETTI resize/reorder bar is a gesture surface. Keep the first
   pointer-down from selecting the label underneath; active gesture classes
   provide the same protection for the rest of the drag. */
:is(.sidebar-resize-handle, .navigation-dock-resizer, .sow-surface-resizer, .saved-layouts-resizer, .mw-chrome, .mw-drag-handle, .mw-resize-handle, .floating-player-resize-handle, .content-cell-resize-handle) {
  user-select:none;
  -webkit-user-select:none;
}
.mw-window > .mw-chrome { position:sticky; top:0; left:0; right:0; z-index:27; display:flex; flex-wrap:nowrap; align-items:center; gap:4px; min-height:36px; margin:0 0 8px; padding:0 4px 4px; box-sizing:border-box; max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; background:var(--bg-raised); border-bottom:1px solid var(--border); }
.mw-window > .mw-chrome::-webkit-scrollbar { display:none; }
.mw-window > .mw-chrome { min-width:0; width:100%; cursor:grab; }
.mw-window > .mw-chrome.mw-dragging { cursor:grabbing; }
.mw-chrome > :is(h2,h3,strong) { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0; font-size:.9rem; }
.mw-chrome .actions { display:flex; flex-wrap:nowrap; gap:3px; }
.mw-chrome .actions { min-width:0; max-width:100%; flex:0 1 auto; overflow-x:auto; scrollbar-width:none; }
.mw-chrome .actions::-webkit-scrollbar { display:none; }
.mw-chrome.mw-chrome-swapped > :is(h2,h3,strong) { order: 2; }
.mw-chrome.mw-chrome-swapped > .actions { flex-direction:row-reverse; order: 1; margin-inline-start: 0; margin-inline-end: auto; }
.mw-chrome-swap, .mw-chrome-dock-action { width:40px; min-width:40px; flex:0 0 40px; box-sizing:border-box; }
.mw-direction-pair { display:inline-flex; align-items:center; justify-content:center; gap:1px; font-size:1.05em; line-height:1; white-space:nowrap; }
.mw-direction-arrow { color:var(--text); opacity:.72; }
.mw-direction-arrow.is-current { color:var(--ok); opacity:1; text-shadow:0 0 5px color-mix(in srgb,var(--ok) 46%,transparent); }
.mw-chrome button { min-width:28px; min-height:32px; padding:3px 5px; }
.mw-chrome button:is(.mw-chrome-swap,.mw-chrome-dock-action) { min-width:40px; width:40px; min-height:32px; padding:2px; flex:0 0 40px; box-sizing:border-box; overflow:visible; }
.mw-chrome .mw-drag-handle { position:relative; inset:auto; flex:0 0 88px; transform:none; width:88px; max-width:88px; height:44px; min-width:44px; min-width:88px; margin:0; order:0; box-sizing:border-box; }
.mw-chrome .mw-drag-handle::after { inset:8px; height:auto; border-radius:0; }
.mw-chrome .mw-drag-handle { position:absolute; width:88px; height:44px; min-width:88px; max-width:88px; padding:0; opacity:.82; pointer-events:auto; overflow:visible; background:transparent; box-shadow:none; }
.mw-chrome .mw-drag-handle::after { display:block; left:8px; right:8px; top:16px; height:12px; border-radius:999px; background:transparent; box-shadow:none; }
.mw-chrome .mw-drag-handle { opacity:0; pointer-events:none; }
.mw-chrome .mw-drag-handle:focus-visible { opacity:1; outline:2px solid var(--accent); outline-offset:-2px; }
.mw-chrome-dock { width:36px; min-width:36px; height:32px; padding:2px; flex:none; }
.mw-chrome-dock-compat { display:none !important; }
.mw-window[data-chrome-side="bottom"] { display:flex; flex-direction:column; }
.mw-window[data-chrome-side="bottom"] > * { flex-shrink:0; }
.mw-window[data-chrome-side="bottom"] > .mw-chrome { top:auto; bottom:calc(-1 * var(--sow-chip-clearance,76px) + 6px); order:100; margin-top:auto; margin-bottom:0; }
.mw-window[data-chrome-side="left"] > .mw-chrome,.mw-window[data-chrome-side="right"] > .mw-chrome { width:42px; max-width:42px; flex-direction:column; align-items:center; float:left; margin-right:8px; }
.mw-window[data-chrome-side="right"] > .mw-chrome { float:right; margin-left:8px; margin-right:0; }
.mw-window[data-chrome-side="left"] > :not(.mw-chrome):not(.mw-resize-handle):not(.mw-layer-handle):not(.mw-aspect-handle) { margin-left:52px; }
.mw-window[data-chrome-side="right"] > :not(.mw-chrome):not(.mw-resize-handle):not(.mw-layer-handle):not(.mw-aspect-handle) { margin-right:52px; }
.mw-window:is([data-chrome-side="left"],[data-chrome-side="right"]) > .mw-chrome .actions { flex-direction:column; }
.mw-window:is([data-chrome-side="left"],[data-chrome-side="right"]) > .mw-chrome > :is(h2,h3,strong) { writing-mode:vertical-rl; max-height:140px; }
.panel-multitask-workspace:not(.layout-freeform) > .mw-window > .mw-resize-handle { display:none; }
.panel-multitask-workspace.layout-freeform > .mw-window { padding:8px; box-sizing:border-box; }
.layout-freeform .mw-resize-handle { z-index:28; border-radius:0; opacity:.45; }
.layout-freeform .mw-resize-n,.layout-freeform .mw-resize-s { left:12px; right:12px; width:auto; height:8px; cursor:ns-resize; }
.layout-freeform .mw-resize-n { top:0; bottom:auto; }.layout-freeform .mw-resize-s { bottom:0; top:auto; }
.layout-freeform .mw-resize-e,.layout-freeform .mw-resize-w { top:12px; bottom:12px; height:auto; width:8px; cursor:ew-resize; }
.layout-freeform .mw-resize-e { right:0; left:auto; }.layout-freeform .mw-resize-w { left:0; right:auto; }
.layout-freeform .mw-resize-ne,.layout-freeform .mw-resize-nw,.layout-freeform .mw-resize-se,.layout-freeform .mw-resize-sw { width:12px; height:12px; }
.layout-freeform .mw-resize-ne { top:0; right:0; bottom:auto; cursor:nesw-resize; }.layout-freeform .mw-resize-nw { top:0; left:0; right:auto; bottom:auto; cursor:nwse-resize; }
.layout-freeform .mw-resize-se { bottom:0; right:0; cursor:nwse-resize; }.layout-freeform .mw-resize-sw { bottom:0; left:0; right:auto; cursor:nesw-resize; }
.panel-multitask-workspace > .mw-window { padding-top: 0; }
.mw-window > .mw-chrome {
  margin-top: 0;
  padding-top: 0;
  background: color-mix(in srgb, var(--bg-raised) 74%, transparent);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
}
.panel-multitask-workspace.layout-horizontal { overflow-x: hidden; grid-template-columns: repeat(var(--mw-pane-count, 1), minmax(0, 1fr)); grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; padding:0; }
.panel-multitask-workspace.layout-horizontal > .mw-window { width: 100%; min-width: 0; max-width: 100%; overflow-x: hidden; box-sizing:border-box; }
.panel-multitask-workspace.layout-horizontal > .mw-window > * { min-width: 0; max-width: 100%; }
.panel-multitask-workspace.layout-horizontal .mw-chrome { left: 0; right: 0; }
.panel-multitask-workspace > .mw-window { padding-top: 0 !important; min-width: 0; max-width: 100%; overflow-x: hidden; }
.panel-multitask-workspace > .mw-window > .mw-chrome { margin-top: 0; min-width: 0; max-width: 100%; }
/* Lime previews are full-height Multi panes.  The card owns the measured
   track while its history is the only bounded scrolling region; the old
   viewport-height cap clipped Seeds/Limes inside short or split panes. */
.panel-multitask-workspace > .lime-multitask-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}
.panel-multitask-workspace > .lime-multitask-card > .lime-multitask-history {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
}
/* One keyboard-accessible segmented group; hidden segments leave no gaps. */
#lime-top-nav-chips.workspace-segments { gap:0; flex-wrap:nowrap; border:1px solid var(--border); border-radius:9px; overflow:hidden; }
#lime-top-nav-chips.workspace-segments.tabs-only {
  flex: 0 0 auto;
  max-width: none;
  border: 0;
  border-radius: 0;
  overflow: visible;
}
#lime-top-nav-chips.workspace-segments > .tabs-chip { border:0; border-right:1px solid var(--border); border-radius:0; margin:0; }
#lime-top-nav-chips.workspace-segments > .tabs-chip:last-child,#lime-top-nav-chips.workspace-segments.tabs-only > #nav-tabs-toggle-top { border-right:0; }
#lime-top-nav-chips.workspace-segments:not(.tabs-only) > #multi-layout-toggle-top { display:inline-flex; }

.mw-window:is([data-chrome-side="left"],[data-chrome-side="right"]) { display:block; }

/* Top and bottom chrome share one fixed track, so adjacent panes do not
   expose different title-bar heights. The leading gutter belongs to the
   keyboard/touch drag affordance; the title starts after it instead of being
   painted underneath the grip. */
.mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome {
  height:44px;
  min-height:44px;
  max-height:44px;
  align-items:center;
  padding-block:0;
}
.mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome > :is(h2,h3,strong) {
  display:flex;
  align-items:center;
  min-height:44px;
  padding-left:4px;
  box-sizing:border-box;
}
.mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome .actions { align-items:center; }
.mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome .mw-drag-handle {
  top:0;
  left:0;
  right:auto;
  transform:none;
}

/* The workspace control group is a sizing wrapper, not another surface. Its
   buttons own their separators/focus rings; the wrapper must not outline empty
   flex space around them. Native select menus inherit the same tab surface. */
#lime-top-nav-chips.workspace-segments:not(.tabs-only) {
  flex: 0 1 auto;
  width: max-content;
  max-width: 100%;
  border: 1px solid var(--border);
  border-radius: 9px;
  overflow: hidden;
}
.multi-layout-select {
  background: transparent;
  color: var(--text);
}
/* Keep native dropdowns in the ETTI palette. Pointer changes blur via the
   navigation controller; keyboard focus keeps a visible themed indicator. */
:where(select, [role="combobox"], [role="listbox"]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
:where(select, [role="combobox"], [role="listbox"]) { accent-color: var(--accent); }
.multi-layout-select option {
  background: var(--bg-raised);
  color: var(--text);
}
/* The layout select shares the default translucent control surface. */
body.panel-multitasking :is(#multi-layout-toggle, #multi-layout-toggle-top).multi-layout-select {
  background: var(--etti-control-surface) !important;
  color: var(--text);
}

/* A live insertion rail makes the destination visible before pointerup. It
   is an absolutely positioned paint layer, so panes never reflow while the
   operator crosses the workspace. */
.panel-multitask-workspace:not(.layout-horizontal) > .mw-window.mw-drop-before::before,
.panel-multitask-workspace:not(.layout-horizontal) > .mw-window.mw-drop-after::after {
  content:"";
  position:absolute;
  z-index:50;
  left:6px;
  right:6px;
  height:6px;
  pointer-events:none;
  background:var(--accent);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 34%, transparent), 0 2px 10px color-mix(in srgb, var(--accent) 70%, transparent);
  border-radius:999px;
}
.panel-multitask-workspace:not(.layout-horizontal) > .mw-window.mw-drop-before::before { top:2px; }
.panel-multitask-workspace:not(.layout-horizontal) > .mw-window.mw-drop-after::after { bottom:2px; }
.panel-multitask-workspace.layout-horizontal > .mw-window.mw-drop-before::before,
.panel-multitask-workspace.layout-horizontal > .mw-window.mw-drop-after::after {
  content:"";
  position:absolute;
  z-index:50;
  top:6px;
  bottom:6px;
  width:6px;
  pointer-events:none;
  background:var(--accent);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 34%, transparent), 0 2px 10px color-mix(in srgb, var(--accent) 70%, transparent);
  border-radius:999px;
}
.panel-multitask-workspace.layout-horizontal > .mw-window.mw-drop-before::before { left:2px; }
.panel-multitask-workspace.layout-horizontal > .mw-window.mw-drop-after::after { right:2px; }

/* Every top/bottom Multi pane header uses the same glass chrome contract.
   Keep the one-pixel inset inside the pane border so sticky paint never
   covers the border while scrolling. The selector includes generated Lime
   headers and mounted settings headers so they cannot drift apart again. */
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome, .lime-multitask-header, .settings-header) {
  position: sticky;
  top: 0;
  z-index: 27;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  margin: 1px 0 8px !important;
  padding: 0 4px !important;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  user-select: none;
  -webkit-user-select: none;
  background: color-mix(in srgb, var(--bg-raised) 74%, transparent);
  background-clip: padding-box;
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  border-bottom: 1px solid var(--border);
}
.panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > .mw-chrome {
  top:auto;
  bottom:calc(-1 * var(--sow-chip-clearance,76px) + 6px);
  order:100;
  margin-top:auto !important;
  margin-bottom:0 !important;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome, .lime-multitask-header, .settings-header)::-webkit-scrollbar { display: none; }
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome, .lime-multitask-header, .settings-header) > :is(h2,h3,strong) {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding-left: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome, .lime-multitask-header, .settings-header) > .actions {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  gap: 3px;
  margin-left: auto;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome, .lime-multitask-header, .settings-header) > .actions > * {
  flex: 0 0 auto;
  align-self: center;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome, .lime-multitask-header, .settings-header) .mw-chrome-dock {
  order: -1;
  width: 52px;
  min-width: 52px;
  height: 32px;
  min-height: 32px;
  margin: 0;
  padding: 2px 4px;
  box-sizing: border-box;
}
.panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > :is(.mw-chrome, .lime-multitask-header, .settings-header) {
  top: auto;
  bottom: 0;
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
/* The pane reserves a bottom lane for the floating Sow control. A sticky bar
   docked to the pane's lower edge must cross that reserved lane so it remains
   flush with the visible Fruit border instead of stopping above the Sow lane. */
.panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > .mw-chrome {
  bottom: 0 !important;
  margin-bottom: 0 !important;
  transform: translateY(var(--sow-chip-clearance, 76px));
}
.panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > .mw-chrome.mw-chrome-sow-clearance {
  width: var(--mw-sow-safe-width) !important;
  max-width: var(--mw-sow-safe-width) !important;
  margin-right: auto !important;
}

/* All sticky tab chrome uses the shared subsection surface. It stays slightly
   translucent so the scene remains visible while scrolling the tab body. */
:is(.mw-chrome, .settings-header, .lime-multitask-header) {
  background: color-mix(in srgb, var(--bg-raised) var(--tab-section-opacity, 62%), transparent) !important; background-image: none !important;
  /* Live Roadmap body updates must not force a backdrop-filter repaint on
     every checkpoint event. The scene remains visible through the chrome;
     background blur belongs to the Republic scene layer, not its controls. */
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  isolation: isolate;
  border-radius: var(--radius); box-shadow: none;
}

/* Swapping title and controls keeps the two groups on opposite edges. The
   title fills the remaining sticky track but aligns its text to the far edge,
   with an internal gutter so it never touches the action group. */
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome.mw-chrome-swapped > :is(h2,h3,strong) {
  justify-content: flex-end;
  text-align: right;
  margin-left: 0;
  padding-left: 16px !important;
  padding-right: 4px;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome.mw-chrome-swapped > .actions {
  margin-left: 0;
  margin-right: 0;
}


/* Sidebar Lime Tree sections stay readable while the Republic scene remains
   visible underneath. Active is a normal lane, so its cells do not need an
   extra opaque badge. */
.sidebar,
.sidebar-list-heading {
  background: color-mix(in srgb, var(--bg-raised) 58%, transparent);
  -webkit-backdrop-filter: blur(10px) saturate(115%);
  backdrop-filter: blur(10px) saturate(115%);
}
.lime-list-item .badge[hidden] { display: none; }

/* Every interactive surface follows the account-scoped section transparency
   preference. Keep semantic accent/status colors, focus outlines, and native
   checkbox/range affordances intact while removing opaque islands from the
   Seed composer, option fields, collapsed headers, and sticky controls. */
:root {
  --etti-control-surface: color-mix(in srgb, var(--bg-inset) var(--tab-section-opacity, 62%), transparent);
  --etti-raised-surface: color-mix(in srgb, var(--bg-raised) var(--tab-section-opacity, 62%), transparent);
}
:is(button, select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"])),
:is(.scope-select, .ghost-btn, .multi-layout-select) {
  background-color: var(--etti-control-surface) !important;
}
:is(button.primary-btn, .composer-submit-button:not(.composer-stop-button), #composer-collapse-btn) {
  background-color: color-mix(in srgb, var(--accent) var(--tab-section-opacity, 72%), transparent) !important;
}
:is(button.danger-btn, .danger-btn-text) {
  background-color: color-mix(in srgb, var(--danger) 14%, transparent) !important;
}
:is(.composer, .composer-input-shell, .composer-options, .composer-chatgpt-options,
    .seed-attachment-chip, .composer textarea, .response-size-custom,
    .settings-subheader, .panel-header, .detail-header, details > summary,
    .settings-header, .mw-chrome, .lime-multitask-header) {
  background-color: var(--etti-raised-surface) !important;
  background-image: none;
}
:is(.mw-chrome, .settings-header, .lime-multitask-header) :is(button, select, .mw-chrome-swap, .mw-chrome-dock, .mw-chrome-dock-action) {
  background-color: var(--etti-control-surface) !important;
}

/* Drag bars bound the usable workspace. Reserve their thickness once in the
   main content box; the viewport-sized scene remains behind the entire shell. */
:root { --workspace-content-gutter: 8px; --workspace-dock-inset: 10px; }
.layout { grid-template-columns: minmax(0, var(--lime-sidebar-width, 300px)) var(--drag-bar-width, 10px) minmax(0, 1fr); }
.layout.sidebar-collapsed { grid-template-columns: 0px var(--drag-bar-width, 10px) minmax(0, 1fr); }
.layout:not(.sidebar-collapsed) { transition: grid-template-columns var(--motion-navigation-ms, 180ms) cubic-bezier(.22,.61,.36,1); }
.layout.sidebar-collapsed { transition: grid-template-columns var(--motion-navigation-ms, 180ms) cubic-bezier(.22,.61,.36,1); }
.layout:not(.sidebar-collapsed) > .sidebar { opacity: 1; transform: translateX(0); transition: opacity var(--motion-navigation-ms, 180ms) ease, transform var(--motion-navigation-ms, 180ms) cubic-bezier(.22,.61,.36,1); }
.layout.sidebar-collapsed > .sidebar {
  display:flex !important; box-sizing:border-box; min-width:0; min-height:0; padding-inline:0;
  border:0; overflow:clip; visibility:hidden; opacity:0; transform:translateX(-8px); pointer-events:none;
  transition:opacity var(--motion-navigation-ms,180ms) ease, transform var(--motion-navigation-ms,180ms) cubic-bezier(.22,.61,.36,1), visibility 0s linear var(--motion-navigation-ms,180ms);
}
.layout:not(.sidebar-collapsed) > .sidebar { visibility:visible; transition:opacity var(--motion-navigation-ms,180ms) ease, transform var(--motion-navigation-ms,180ms) cubic-bezier(.22,.61,.36,1), visibility 0s; }
.layout.sidebar-collapsed > .sidebar-resize-handle { grid-column:2; }
.layout.sidebar-collapsed > .main { grid-column:3; min-width:0; }
.layout.sidebar-collapsed .lime-collapsed-brand-name { font-size:1rem; }
.layout.sidebar-collapsed .lime-collapsed-brand .brand-slogan { font-size:.52rem; }
.navigation-dock { transition:height var(--motion-fruits-ms,180ms) cubic-bezier(.22,.61,.36,1); }
body.tab-grid-resizing .navigation-dock { transition:none !important; }
.saved-layouts-drawer[aria-hidden="true"] { pointer-events:none; }
@media (prefers-reduced-motion: reduce) {
  .saved-layouts-drawer, .main > .composer { animation-duration:0ms !important; }
}
@media (prefers-reduced-motion: reduce) { .layout, .layout > .sidebar, .navigation-dock { transition:none !important; } }
.main {
  box-sizing: border-box;
  padding: var(--workspace-content-gutter) calc(var(--drag-bar-width, 10px) + var(--workspace-content-gutter)) calc(var(--drag-bar-width, 10px) + var(--workspace-content-gutter)) var(--workspace-content-gutter);
}
.sidebar { box-sizing: border-box; padding-inline: var(--workspace-content-gutter); }
.layout.sidebar-collapsed .lime-top-nav { padding-right: var(--workspace-dock-inset); }
.navigation-dock { padding-inline: var(--workspace-dock-inset); }
.navigation-dock { transition: height var(--motion-fruits-ms, 180ms) cubic-bezier(.22,.61,.36,1); }
.layout.sidebar-collapsed .navigation-dock-resizer {
  margin-inline: calc(-1 * (var(--workspace-dock-inset) + var(--workspace-content-gutter)));
  width: calc(100% + 2 * (var(--workspace-dock-inset) + var(--workspace-content-gutter)));
}
.main > .composer-collapse-btn { right: calc(var(--drag-bar-width, 10px) + var(--workspace-content-gutter) + env(safe-area-inset-right)); bottom: calc(var(--drag-bar-width, 10px) + var(--workspace-content-gutter) + env(safe-area-inset-bottom)); }
@media (max-width: 320px), (max-height: 360px) { :root { --workspace-dock-inset: 4px; } }

/* Horizontal shell chrome owns the corners; side handles join its inner edges. */
.lime-top-nav { position:fixed; top:0; left:0; right:0; width:auto; margin:0; z-index:14; }
.main { padding-top:calc(var(--workspace-nav-height,0px) + var(--workspace-content-gutter)); }
.sidebar { padding-top:calc(var(--workspace-nav-height,0px) + var(--workspace-content-gutter)); }
.layout.sidebar-collapsed .lime-top-nav, .layout:not(.sidebar-collapsed) .lime-top-nav { padding-inline:calc(var(--drag-bar-width,10px) + var(--workspace-content-gutter)); }

/* The Fruit dock owns the splitter at its lower edge, so the handle moves with
   the panel as it grows or shrinks. */
.main { padding-top:var(--workspace-nav-height,0px); }
.navigation-dock { padding-top:0; padding-bottom:0; grid-template-rows:minmax(0,1fr) auto; row-gap:0; }
.navigation-dock-resizer { grid-row:2; transform:translateY(2px); transition:none; }
.navigation-dock .primary-nav { grid-row:1; }
.navigation-dock:not(:has(.primary-nav:not(.primary-nav-collapsed))) { row-gap:0; padding-bottom:0; grid-template-rows:auto; }
body.tab-grid-resizing .navigation-dock { will-change:height; }
body.tab-grid-resizing .navigation-dock-resizer { transition:none !important; }
body.tab-grid-resizing .navigation-dock { transition:none !important; }

/* Shell bars and content share viewport coordinates, including after focus scrolls. */
.layout { position:fixed; inset:0; }

/* Sidebar navigation must stay scrollable as domain tabs are added. */
.sidebar .primary-nav { max-height:min(30dvh,240px); overflow:auto; min-height:0; overscroll-behavior:contain; }

/* One neutral surface for the layout dropdown and its neighboring controls. */
body.panel-multitasking :is(#multi-layout-toggle,#multi-layout-toggle-top).multi-layout-select {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--text);
}
/* The floating Sow control sits inside the pane border, with reachable content below it. */
:root { --sow-chip-clearance: 76px; }
.main > .composer-collapse-btn {
  right: calc(100vw - var(--workspace-left) - var(--workspace-width) + 8px);
  bottom: calc(100dvh - var(--workspace-top) - var(--workspace-height) + 8px);
}
body:has(.composer-collapse-btn:not(.hidden)) :is(.settings-panel,.lime-multitask-card,.job-scroll) {
  padding-bottom: var(--sow-chip-clearance) !important;
  scroll-padding-bottom: var(--sow-chip-clearance);
}
body:has(.composer-collapse-btn:not(.hidden)) .mw-live-tree { padding-bottom: 0 !important; }

/* Inline visibility is a presentation preference; protected authority UI stays available. */
.etti-user-hidden { display:none !important; }
.etti-visibility-draft-hidden { opacity:.35; outline:1px dashed var(--border); }
.etti-visibility-toggle { display:inline-flex; font-size:.65rem; min-height:24px !important; padding:2px 5px !important; margin:2px; border:1px dashed var(--border); }
.etti-visibility-status { font-size:.7rem; max-width:160px; white-space:normal; }
:is(.mw-chrome-swap,.mw-chrome-dock-action,.etti-tab-edit) { background:var(--etti-control-surface) !important; background-image:none !important; box-shadow:none !important; }

/* Workspace controls reveal the same background as their surrounding tab surface. */
:root[data-palette] body :is(#multi-layout-toggle,#multi-layout-toggle-top,#multi-close-all,#multi-close-all-top) {
 background:transparent !important; background-image:none !important;box-shadow:none !important;
}
/* Directional and editing controls retain the user's section transparency. */
:root[data-palette] body :is(.mw-chrome-swap,.mw-chrome-dock-action,.etti-tab-edit) {
 background:var(--etti-control-surface) !important; background-image:none !important;box-shadow:none !important;
}

/* Fade inward to the existing scene, without adding another background layer. */
:is(.navigation-dock-resizer,.sidebar-resize-handle,.sow-surface-resizer,.saved-layouts-resizer) {
  --workspace-edge-direction: to bottom;
  /* Keep the large left/right hit areas quiet against the flag background. */
  --workspace-edge-shade: color-mix(in srgb, var(--etti-control-surface) 36%, transparent);
  box-sizing:border-box;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background-color:transparent !important;
  background-image:linear-gradient(var(--workspace-edge-direction),var(--workspace-edge-shade),transparent) !important;
}
.sidebar-resize-handle { --workspace-edge-direction: to right; }
.sow-surface-resizer { --workspace-edge-direction: to top; }
.saved-layouts-resizer { --workspace-edge-direction: to left; }
/* Blend the four outer edge drag bars where they meet at the workspace
   corners. Fruit-to-Fruit dividers keep their separate center-fade styling. */
:is(.navigation-dock-resizer,.sow-surface-resizer) {
  background-image:
    radial-gradient(ellipse 18px 100% at left center,var(--workspace-edge-shade),transparent 100%),
    radial-gradient(ellipse 18px 100% at right center,var(--workspace-edge-shade),transparent 100%),
    linear-gradient(var(--workspace-edge-direction),var(--workspace-edge-shade),transparent) !important;
}
:is(.sidebar-resize-handle,.saved-layouts-resizer) {
  background-image:
    radial-gradient(ellipse 100% 18px at center top,var(--workspace-edge-shade),transparent 100%),
    radial-gradient(ellipse 100% 18px at center bottom,var(--workspace-edge-shade),transparent 100%),
    linear-gradient(var(--workspace-edge-direction),var(--workspace-edge-shade),transparent) !important;
}
:is(.navigation-dock-resizer,.sidebar-resize-handle,.sow-surface-resizer,.saved-layouts-resizer):is(:hover,:focus-visible,.dragging) {
  --workspace-edge-shade: color-mix(in srgb, var(--accent) 25%, var(--etti-control-surface));
}

/* Multi is a selected mode, with a distinct border and a translucent tint. */
:is(#multi-window-toggle,#multi-window-toggle-top)[aria-pressed="true"] {
  background: color-mix(in srgb,var(--accent) 20%,var(--etti-control-surface)) !important;
  outline: 2px solid var(--accent); outline-offset: -2px;
  color: var(--text) !important;
}

/* Keep the main panel-edge grips one-way. Center-out fades belong to Fruit dividers. */
:is(.navigation-dock-resizer,.sidebar-resize-handle,.sow-surface-resizer,.saved-layouts-resizer) {
  mask-image:none;
}
:is(.navigation-dock-resizer,.sow-surface-resizer)::after { left:45.833333%; right:45.833333%; }
:is(.sidebar-resize-handle,.saved-layouts-resizer)::after { top:45.833333%; bottom:45.833333%; }

/* Controls grow into additional rows instead of compressing their labels. */
:root { --drag-bar-width:10px; }
#global-chip-actions, body:not(.panel-multitasking) #global-chip-actions {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,90px),1fr));
}
#global-chip-actions > :is(button,select) { max-width:100%; min-width:0; margin:0 !important; }
#global-chip-actions > button { white-space:normal; overflow-wrap:anywhere; height:auto; }
#global-chip-actions > button > span { min-width:0; white-space:normal; }
#global-chip-actions > select { width:100%; }
.sidebar .primary-nav { overflow:auto; touch-action:pan-x pan-y; }
.sidebar .primary-nav .nav-tab { overflow-x:auto; overflow-y:hidden; text-overflow:clip; justify-content:flex-start; }
/* The panel logo and Profile share the navigation row; collapsed mode uses
   the compact logo first, followed by Panel and the main controls. */
html .layout:not(.sidebar-collapsed) .lime-collapsed-brand { display:none; }
html .layout:not(.sidebar-collapsed) .sidebar-brand-row {
  position:absolute; top:0; left:var(--sidebar-content-inset,14px); right:var(--sidebar-content-inset,14px); z-index:15;
  width:auto;
  height:var(--workspace-nav-height,62px); align-items:center; box-sizing:border-box;
  padding-block:8px;
}
html .layout:not(.sidebar-collapsed) .sidebar-brand-row .brand-lockup { align-self:center; }
html .layout:not(.sidebar-collapsed) .lime-top-nav {
  padding-left:calc(var(--lime-sidebar-width,300px) + var(--drag-bar-width,10px) + var(--workspace-content-gutter));
  min-height:calc(3rem + 16px);
}
html .layout:not(.sidebar-collapsed):has(#etti-brand-lockup.brand-update-ready) .lime-top-nav { min-height:calc(4rem + 16px); }
html .layout:not(.sidebar-collapsed) .sidebar-brand-row:has(.brand-update-ready) { min-height:calc(4rem + 16px); }
html .layout:not(.sidebar-collapsed) #profile-avatar-top { display:none !important; }
#lime-top-nav-favourite { display:none !important; }
body.single-tab-active:not(.panel-multitasking) .main > :is(#empty-state,#job-scroll,#latest-btn) { visibility:hidden !important; pointer-events:none; }
/* The sole opened Fruit is also the focused Fruit. */
body:not(.panel-multitasking) :is(.settings-panel,.public-entry-ministry):not(.hidden) {
  border-color:var(--fruit-focused-border,#62df8a) !important;
}
/* Thicker blue grips, without increasing the surrounding drag targets. */
:is(.navigation-dock-resizer,.sow-surface-resizer)::after {
  height:min(8px,var(--drag-bar-width,10px)); top:50%; transform:translateY(-50%);
}
:is(.sidebar-resize-handle,.saved-layouts-resizer)::after {
  width:min(8px,var(--drag-bar-width,10px)); left:50%; transform:translateX(-50%);
}
/* Drag targets and their content boundaries resize in the same frame. */
:is(.navigation-dock-resizer,.sidebar-resize-handle,.sow-surface-resizer,.saved-layouts-resizer) { transition:background .16s ease; }

/* One inset aligns the logo, main controls and Lime Tree sections. */
:root { --sidebar-content-inset:14px; --sidebar-section-gap:8px; }
.sidebar { position:relative; padding-inline:0; }
.sidebar-header { padding-inline:var(--sidebar-content-inset); gap:var(--sidebar-section-gap); }
.sidebar .sidebar-list-heading { margin:var(--sidebar-section-gap) var(--sidebar-content-inset) 0; }
.sidebar .sidebar-actions-row { width:auto; margin-inline:var(--sidebar-content-inset); margin-block:var(--sidebar-section-gap); }
.sidebar .job-list { padding-inline:var(--sidebar-content-inset); }
.multi-layout-select {
  text-align:center !important;
  text-align-last:center;
  padding-inline:20px !important;
}

/* Narrow fruit panes grow their sticky headers instead of clipping controls. */
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome,.lime-multitask-header,.settings-header) {
  flex-wrap:wrap;
  height:auto;
  max-height:none;
  overflow:visible;
  padding-block:4px !important;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome,.lime-multitask-header,.settings-header) > :is(h2,h3,strong) {
  flex:1 1 80px;
  min-height:32px;
  overflow:visible;
  white-space:normal;
  overflow-wrap:anywhere;
}
.panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > :is(.mw-chrome,.lime-multitask-header,.settings-header) > .actions {
  display:contents;
}
.panel-multitask-workspace > .mw-window > .mw-chrome > .actions > * { order:calc(var(--mw-action-index,0) + 1); }
.panel-multitask-workspace > .mw-window > .mw-chrome.mw-chrome-swapped > .actions > * { order:calc(var(--mw-action-count,10) - var(--mw-action-index,0)); }
.panel-multitask-workspace > .mw-window > .mw-chrome.mw-chrome-swapped > :is(h2,h3,strong) { order:100; }
:is(#roadmap-body,#goals-body) { min-width:0; max-width:100%; width:100%; box-sizing:border-box; }
:is(#roadmap-body,#goals-body) :is(.panel,details,summary,.goal-confirmation) { min-width:0; max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; }
:is(#roadmap-body,#goals-body) summary { white-space:normal; }
:is(#roadmap-body,#goals-body) :is(input,select,progress) { min-width:0; max-width:100%; box-sizing:border-box; }
:is(#roadmap-body,#goals-body) :is(button,.badge,code,pre) { min-width:0; max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; }
:is(#roadmap-body,#goals-body) .badge { white-space:normal; }
:is(#roadmap-body,#goals-body) pre { white-space:pre-wrap; }
.roadmap-item-title { flex-wrap:wrap; }
.panel-multitask-workspace > .lime-multitask-card.mw-live-tree { overflow-y:auto; }
.mw-live-tree > .job-scroll { min-height:80px; flex-shrink:0; }
.panel-multitask-workspace:not(.layout-freeform) { overflow:auto; }
.panel-multitask-workspace:not(.layout-freeform) > .mw-window { min-height:0 !important; }
.panel-multitask-workspace.mw-fit-all:not(.layout-freeform) { overflow:hidden; }
.panel-multitask-workspace.mw-fit-all:not(.layout-freeform) > .mw-window { padding-bottom:0 !important; }

.lime-top-nav { border-radius:0 !important; pointer-events:none; }
.lime-top-nav > * { pointer-events:auto; }
.sidebar-header .brand-lockup-action { position:relative; z-index:15; }
.brand-update-ready,
.brand-update-ready:hover,
.brand-click-feedback { outline-color:var(--fruit-open-border,#f0d564) !important; border-color:var(--fruit-open-border,#f0d564) !important; }
.brand-update-click-feedback,
.brand-update-ready.brand-update-click-feedback:hover,
.brand-update-ready.brand-update-click-feedback:focus-visible { outline-color:var(--fruit-focused-border,#62df8a) !important; border-color:var(--fruit-focused-border,#62df8a) !important; }
.brand-update-label { color:var(--fruit-open-border,#f0d564); border-color:var(--fruit-open-border,#f0d564); }

/* Fruit navigation colours describe the current control state in both docks. */
:root[data-palette] body :is(#multi-window-toggle,#multi-window-toggle-top)[aria-pressed="true"],
:root[data-palette] body :is(#nav-tabs-toggle,#nav-tabs-toggle-top)[aria-expanded="true"],
:root[data-palette] body :is(#multi-history-toggle,#multi-history-toggle-top)[aria-expanded="true"],
:root[data-palette] body :is(#multi-fit-toggle,#multi-fit-toggle-top,#multi-fit-toggle-collapsed)[aria-pressed="true"],
:root[data-palette] body #lime-sidebar-toggle[aria-pressed="false"] {
 border-color:var(--fruit-focused-border,#62df8a) !important; outline-color:var(--fruit-focused-border,#62df8a);
}
:root[data-palette] body :is(#multi-layout-toggle,#multi-layout-toggle-top,#multi-close-all,#multi-close-all-top),
:root[data-palette] body :is(#nav-tabs-toggle,#nav-tabs-toggle-top)[aria-expanded="false"],
:root[data-palette] body :is(#multi-history-toggle,#multi-history-toggle-top)[aria-expanded="false"],
:root[data-palette] body :is(#multi-fit-toggle,#multi-fit-toggle-top,#multi-fit-toggle-collapsed)[aria-pressed="false"],
:root[data-palette] body #lime-sidebar-toggle[aria-pressed="true"] {
 border-color:var(--fruit-open-border,#f0d564) !important;
}
:root[data-palette] body :is(#multi-layout-toggle,#multi-layout-toggle-top):open {
 border-color:var(--fruit-focused-border,#62df8a) !important;
}
:root[data-palette] body :is(#multi-close-all,#multi-close-all-top).fruit-close-feedback {
 display:inline-flex !important; border-color:var(--fruit-focused-border,#62df8a) !important;
 animation:fruit-close-border-feedback 220ms ease-out;
}
/* Main workspace actions use one colored right-edge state marker. Their
   segmented wrapper does not add a second full outline around the group. */
:root[data-palette] body #lime-top-nav-chips.workspace-segments:not(.tabs-only) {
 border:0 !important; border-radius:0; overflow:visible;
}
:root[data-palette] body :is(
 #multi-layout-toggle,#multi-layout-toggle-top,#multi-window-toggle,#multi-window-toggle-top,
 #nav-tabs-toggle,#nav-tabs-toggle-top,#multi-history-toggle,#multi-history-toggle-top,
 #multi-close-all,#multi-close-all-top,#multi-fit-toggle,#multi-fit-toggle-top,#multi-fit-toggle-collapsed,
 #lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle
) {
 border:0 !important; border-right:2px solid var(--fruit-open-border,#f0d564) !important;
 border-radius:0 !important; box-shadow:none !important; outline:0;
}
:root[data-palette] body :is(#multi-window-toggle,#multi-window-toggle-top)[aria-pressed="true"],
:root[data-palette] body :is(#nav-tabs-toggle,#nav-tabs-toggle-top)[aria-expanded="true"],
:root[data-palette] body :is(#multi-history-toggle,#multi-history-toggle-top)[aria-expanded="true"],
:root[data-palette] body :is(#multi-fit-toggle,#multi-fit-toggle-top,#multi-fit-toggle-collapsed)[aria-pressed="true"],
:root[data-palette] body #lime-sidebar-toggle[aria-pressed="false"] {
 border-right-color:var(--fruit-focused-border,#62df8a) !important;
}
:root[data-palette] body :is(#production-panel-toggle,#public-panel-toggle)[aria-expanded="true"] { border-right-color:var(--fruit-focused-border,#62df8a) !important; }
:root[data-palette] body :is(#multi-close-all,#multi-close-all-top) { border-right-color:#ff626f !important; }
:root[data-palette] body :is(#multi-close-all,#multi-close-all-top).fruit-close-feedback { border-right-color:var(--fruit-focused-border,#62df8a) !important; }
:root[data-palette] body :is(#multi-layout-toggle,#multi-layout-toggle-top):open,
:root[data-palette] body :is(#multi-window-toggle,#multi-window-toggle-top,#nav-tabs-toggle,#nav-tabs-toggle-top,#multi-history-toggle,#multi-history-toggle-top,#multi-close-all,#multi-close-all-top,#multi-fit-toggle,#multi-fit-toggle-top,#multi-fit-toggle-collapsed,#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle):focus-visible {
 outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent); outline-offset:2px;
}
@keyframes fruit-close-border-feedback { from { border-color:var(--fruit-focused-border,#62df8a); } to { border-color:#ff626f; } }
@media (prefers-reduced-motion:reduce) { .fruit-close-feedback { animation:none !important; } }

/* Hide Panel stays reachable in the shared top bar beside Profile. */
.lime-top-nav-actions { display:flex; align-items:center; gap:6px; }
.lime-top-nav-sidebar { flex:0 0 auto; white-space:nowrap; }
.seed-attachment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.seed-attachment-btn { margin:0; }

/* Fruit chrome keeps its content clearance with the shared translucent theme. */
.panel-multitask-workspace > .mw-window.mw-fullscreen-active:not(.game-stage-expanded,.emulation-expanded) { padding-inline:8px; }
:root[data-palette] body .panel-multitask-workspace > .mw-window > :is(.mw-chrome,.settings-header,.lime-multitask-header) {
  padding-inline:12px;
  color:var(--text) !important;
  background:color-mix(in srgb, var(--bg-raised) var(--tab-section-opacity, 62%), transparent) !important;
  border:0 !important;
  border-radius:0 !important;
}
:root[data-palette] body .panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome,
:root[data-palette] body .panel-multitask-workspace > .mw-window > :is(.settings-header,.lime-multitask-header) {
  box-sizing:border-box;
  width:calc(100% + 16px);
  max-width:none;
  margin-inline:-8px !important;
  left:-8px;
  right:-8px;
  padding-inline:12px !important;
  border-radius:var(--radius,12px) var(--radius,12px) 0 0 !important;
}
:root[data-palette] body .panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > :is(.mw-chrome,.settings-header,.lime-multitask-header) {
  border-radius:0 0 var(--radius,12px) var(--radius,12px) !important;
}
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) :is(button,.mw-chrome-swap,.mw-chrome-dock,.mw-chrome-dock-action) {
  color:var(--text) !important;
  box-sizing:border-box;
  border:2px solid transparent !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) .mw-direction-arrow.is-current {
  color:var(--fruit-focused-border,#62df8a) !important;
  text-shadow:none;
}
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) :is(button,.mw-chrome-swap,.mw-chrome-dock,.mw-chrome-dock-action):focus-visible {
  outline:2px solid var(--fruit-focused-border,#62df8a) !important;
  outline-offset:-2px;
}

/* The content keeps its own semantic borders; the enclosing Fruit frame is
   removed to give that space back to the actual Fruit content. */
:root[data-palette] body :is(.settings-panel,.public-entry-ministry):not(.hidden),
:root[data-palette] body .panel-multitask-workspace > .mw-window {
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* The menu and panel controls use text to show state, not button outlines. */
:root[data-palette] body :is(#lime-menu-btn,#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle) {
  box-sizing:border-box;
  border:2px solid transparent !important;
  box-shadow:none !important;
}
:root[data-palette] body :is(#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle):is([aria-pressed],[aria-expanded]):not(:hover,:focus-visible,.etti-chrome-click-feedback) {
  border-color:transparent !important;
}
:root[data-palette] body #lime-sidebar-toggle[aria-pressed="false"] { color:var(--fruit-focused-border,#62df8a) !important; }
:root[data-palette] body #lime-sidebar-toggle[aria-pressed="true"] { color:var(--fruit-open-border,#f0d564) !important; }
:root[data-palette] body :is(#production-panel-toggle,#public-panel-toggle)[aria-expanded="true"] { color:var(--fruit-focused-border,#62df8a) !important; }
:root[data-palette] body :is(#production-panel-toggle,#public-panel-toggle)[aria-expanded="false"] { color:var(--fruit-open-border,#f0d564) !important; }
:root[data-palette] body :is(#lime-menu-btn,#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle):focus-visible {
  outline:2px solid currentColor !important;
  outline-offset:2px;
}

/* Borders are hidden at rest, then appear as direct interaction feedback. */
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) button:hover,
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) button:focus-visible,
:root[data-palette] body :is(#lime-menu-btn,#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle):hover,
:root[data-palette] body :is(#lime-menu-btn,#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle):focus-visible {
  border:2px solid var(--fruit-open-border,#f0d564) !important;
  box-shadow:none !important;
}
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) button:is([data-mw-close],[aria-label^="Close"],#multi-close-all,#multi-close-all-top):hover {
  border-color:#ff626f !important;
}
:root[data-palette] body :is(.mw-chrome,.settings-header,.lime-multitask-header) button.etti-chrome-click-feedback,
:root[data-palette] body :is(#lime-menu-btn,#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle).etti-chrome-click-feedback {
  border:2px solid var(--fruit-focused-border,#62df8a) !important;
  animation:etti-chrome-click-feedback 360ms ease-out;
}
@keyframes etti-chrome-click-feedback { 0%,100% { border-color:var(--fruit-focused-border,#62df8a); } }

/* Idle Sow is ready-yellow; Hide Sow is the green return action. */
:root[data-palette] body #submit-btn[data-action="sow"] { border-color:var(--fruit-open-border,#f0d564) !important; }
:root[data-palette] body #submit-btn[aria-label="Sowing Seed"] { border-color:var(--fruit-focused-border,#62df8a) !important; }
:root[data-palette] body #composer-collapse-btn { border-color:var(--fruit-focused-border,#62df8a) !important; }

/* Keep the Seed splitter reachable above the open Seed surface. */
.sow-surface-resizer { z-index:26; }
.empty-state { justify-content:center; }
.empty-state-content { flex:0 0 auto; margin:0; }
.empty-state-bottom-row { flex:0 0 auto; margin:0; }

/* A close removes its Fruit in the same event turn; the workspace gives the
   user a brief green acknowledgement even when the source chip disappears. */
body.fruit-close-feedback-active .main::after {
  content:""; position:fixed; inset:var(--workspace-top) var(--drag-bar-width,10px) var(--drag-bar-width,10px) var(--workspace-left);
  border:2px solid var(--fruit-focused-border,#62df8a); border-radius:var(--radius,16px);
  pointer-events:none; z-index:25; animation:fruit-close-outline 220ms ease-out forwards;
}
@keyframes fruit-close-outline { from { opacity:.95; } to { opacity:0; } }
@media (prefers-reduced-motion:reduce) { body.fruit-close-feedback-active .main::after { animation:none; opacity:.8; } }

/* Layer/aspect controls belong inside free-form chrome, never behind it. */
.mw-window :is(.mw-layer-handle,.mw-aspect-handle) { display:none; position:static; inset:auto; z-index:auto; }
.panel-multitask-workspace.layout-freeform > .mw-window > .mw-chrome :is(.mw-layer-handle,.mw-aspect-handle) { display:inline-flex; align-items:center; justify-content:center; }
.mw-window :is(p,li,small,label) { min-width:0; overflow-wrap:anywhere; }

/* State borders remain semantic after all shared chrome rules. */
:root[data-palette] body :is(#multi-window-toggle,#multi-window-toggle-top)[aria-pressed="false"] { border-color:var(--fruit-open-border,#f0d564) !important; }
:root[data-palette] body :is(#multi-window-toggle,#multi-window-toggle-top)[aria-pressed="true"] { border-color:var(--fruit-focused-border,#62df8a) !important; }
/* In the compact top dock, Multi uses the same single-edge state cue as the adjacent controls. */
:root[data-palette] body .layout.sidebar-collapsed :is(#multi-window-toggle,#multi-window-toggle-top)[aria-pressed="true"] {
  border-color:var(--fruit-open-border,#f0d564) !important;
  border-right-color:var(--fruit-focused-border,#62df8a) !important;
  outline:none !important;
}
:root[data-palette] body :is(#multi-close-all,#multi-close-all-top,.lime-menu-danger,.danger-btn,[data-destructive="true"]) { border-color:#ff626f !important; }
:root[data-palette] body :is(#multi-close-all,#multi-close-all-top).fruit-close-feedback { border-color:var(--fruit-focused-border,#62df8a) !important; }

/* Compact Fruit panes keep the title and actions together when they fit.
   Flex wrapping is available for narrower panes; titles stay readable and
   controls keep their full hit areas rather than being ellipsized or clipped. */
.panel-multitask-workspace > .mw-window { container-type:inline-size; }
@container (max-width: 420px) {
  .panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome {
    display:flex;
    flex-wrap:wrap;
    align-content:center;
    gap:2px 4px;
    height:auto;
    min-height:44px;
    max-height:none;
    overflow:visible;
    padding:3px 4px !important;
  }
  .panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome > .actions {
    display:flex;
    flex:0 1 auto;
    order:0;
    justify-content:flex-end;
    min-width:0;
    max-width:100%;
    width:max-content;
    overflow:visible;
    flex-wrap:wrap;
    gap:3px;
    align-content:center;
    margin:0 0 0 auto;
  }
  .panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome > :is(h2,h3,strong) {
    flex:0 1 auto;
    order:1;
    min-width:min-content;
    min-height:32px;
    height:auto;
    padding:0 4px !important;
    overflow:visible;
    overflow-wrap:anywhere;
    white-space:normal;
    text-overflow:clip;
  }
  .panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > .mw-chrome > .actions { order:1; margin-left:auto; }
  .panel-multitask-workspace > .mw-window[data-chrome-side="bottom"] > .mw-chrome > :is(h2,h3,strong) { order:0; }
  .panel-multitask-workspace > .mw-window:is([data-chrome-side="top"],[data-chrome-side="bottom"]) > .mw-chrome > .actions > * { flex:0 0 auto; }
}

/* Set state before first paint, including dynamically mounted content. */
:root[data-palette] body :is(.settings-panel,.public-entry-ministry) { --fruit-panel-border-color:var(--fruit-focused-border,#62df8a); --border:var(--fruit-panel-border-color); }
:root[data-palette] body .panel-multitask-workspace > .mw-window { --fruit-panel-border-color:var(--fruit-open-border,#efd35b); --border:var(--fruit-panel-border-color); }
:root[data-palette] body .panel-multitask-workspace > .mw-window.mw-focused { --fruit-panel-border-color:var(--fruit-focused-border,#62df8a); }
:root[data-palette] body :is(.settings-panel,.public-entry-ministry,.mw-window) :where(:not(button,button *,.production-fruit-choice,[role="button"],[aria-invalid="true"])) { border-color:var(--fruit-panel-border-color,var(--fruit-focused-border,#62df8a)) !important; }

/* Every control in a Fruit uses the same clear surface at rest. Pointer
   presence highlights an unfocused Fruit's borders together; focus stays green. */
:root[data-palette] body .panel-multitask-workspace > .mw-window:not(.mw-focused):hover,
:root[data-palette] body .panel-multitask-workspace > .mw-window:not(.mw-focused):hover * { border-color:#fff !important; }
:root[data-palette] body .panel-multitask-workspace > .mw-window.mw-focused:hover,
:root[data-palette] body .panel-multitask-workspace > .mw-window.mw-focused:hover *,
:root[data-palette] body:not(.panel-multitasking) :is(.settings-panel,.public-entry-ministry):not(.hidden):hover,
:root[data-palette] body:not(.panel-multitasking) :is(.settings-panel,.public-entry-ministry):not(.hidden):hover * { border-color:var(--fruit-focused-border,#62df8a) !important; }

/* Reserve hover/click border space without painting idle action outlines.
   Fruit-wide state highlighting must not reveal those transparent borders. */
:root[data-palette] body .panel-multitask-workspace > .mw-window > :is(.mw-chrome,.settings-header,.lime-multitask-header) button:not(:hover,:focus-visible,.etti-chrome-click-feedback),
:root[data-palette] body:not(.panel-multitasking) :is(.settings-panel,.public-entry-ministry):not(.hidden) :is(.mw-chrome,.settings-header,.lime-multitask-header) button:not(:hover,:focus-visible,.etti-chrome-click-feedback) {
  border-color:transparent !important;
}

.profile-status-stack { display:inline-flex; flex:0 0 auto; flex-direction:column; align-items:center; justify-content:center; min-width:0; }
.layout:not(.sidebar-collapsed) .lime-top-nav-actions > .profile-status-stack { display:none; }
.offline-profile-label { display:block; margin-top:1px; color:#ffd36b; font-size:9px; line-height:1; font-weight:700; letter-spacing:.02em; }
.offline-profile-label[hidden] { display:none !important; }
.christmas-border-preference { display:flex; align-items:center; gap:8px; margin:10px 0 4px; }
.nlcb-calendar-feed { display:grid; gap:6px; max-height:min(70vh,900px); overflow:auto; overscroll-behavior:contain; padding:2px; }
.nlcb-calendar-date,.nlcb-calendar-game { min-width:0; border:1px solid var(--fruit-panel-border-color,var(--fruit-open-border,#f0d564)); border-radius:8px; padding:6px 8px; }
.nlcb-calendar-game { margin:5px 0; }
.nlcb-calendar-date > summary,.nlcb-calendar-game > summary { cursor:pointer; font-weight:650; }
.nlcb-calendar-draw { margin:5px 0; padding:4px 0; overflow-wrap:anywhere; border-bottom:1px solid color-mix(in srgb,var(--fruit-panel-border-color,var(--fruit-open-border)) 45%,transparent); }
.nlcb-calendar-status { margin:4px 0; font-size:.82em; }
.etti-christmas-border-flash { animation:etti-christmas-border-intensity 1.35s steps(1,end) infinite; }
@layer etti-border-effects {
.etti-christmas-border-flash [data-etti-christmas-border="true"] {
 border-top-color:color-mix(in srgb,var(--etti-border-top,transparent) var(--etti-border-strength,100%),transparent) !important;
 border-right-color:color-mix(in srgb,var(--etti-border-right,transparent) var(--etti-border-strength,100%),transparent) !important;
 border-bottom-color:color-mix(in srgb,var(--etti-border-bottom,transparent) var(--etti-border-strength,100%),transparent) !important;
 border-left-color:color-mix(in srgb,var(--etti-border-left,transparent) var(--etti-border-strength,100%),transparent) !important;
 outline-color:color-mix(in srgb,var(--etti-border-outline,transparent) var(--etti-border-strength,100%),transparent) !important;
}
.etti-border-sampling * { transition:none !important; animation:none !important; }
}

@keyframes etti-christmas-border-intensity { 0%,100%{--etti-border-strength:100%;}25%{--etti-border-strength:35%;}50%{--etti-border-strength:80%;}75%{--etti-border-strength:50%;} }
@media (prefers-reduced-motion:reduce) { .etti-christmas-border-flash { animation:none; } }

/* All visible Fruit chips occupy their frame. Dragging its edge changes the
   frame and the common chip scale together; navigation never needs scrolling. */
#primary-nav:not(.primary-nav-collapsed), .navigation-dock #primary-nav:not(.primary-nav-collapsed) {
  display:grid; grid-auto-flow:row; grid-auto-columns:auto;
  grid-template-columns:repeat(var(--tab-fit-columns,4),minmax(0,1fr));
  grid-template-rows:repeat(var(--tab-fit-rows,4),minmax(0,1fr));
  height:var(--fruit-chip-frame-height,240px); max-height:none; min-height:0;
  overflow:hidden; gap:var(--tab-fit-gap,4px); padding:0; align-content:stretch;
}
#primary-nav .nav-tab { box-sizing:border-box; width:100%; max-width:none; min-width:0; min-height:0; height:100%; margin:0; line-height:1.15; overflow-wrap:anywhere; white-space:normal; justify-content:center; }
#primary-nav .nav-tab::before { font-size:calc(1rem * var(--tab-chip-scale,1)); flex:none; }
.tab-dock-overflow-hint { display:none !important; }

#primary-nav .nav-tab { white-space:nowrap; gap:calc(4px * var(--tab-chip-scale,1)); }
#primary-nav .nav-tab::before { margin-inline-end:calc(4px * var(--tab-chip-scale,1)); }
:root[data-palette] body :is(#lime-sidebar-toggle,#production-panel-toggle,#public-panel-toggle) { border-radius:var(--radius,10px) !important; }
/* Keep the fill on The OS. The parent retains its measured text layout; the
   slogan alone displays the exact cached share from bottom to top. */
.brand-slogan { position:relative; }
.brand-slogan > .brand-cache-fill { display:block; position:absolute; inset:0; font:inherit; line-height:inherit; letter-spacing:inherit; text-transform:inherit; text-align:inherit; color:#35ca71 !important; clip-path:inset(calc(100% - var(--etti-cache-progress)) 0 0 0); transition:clip-path .22s linear; white-space:nowrap; }
.brand-slogan > .brand-cache-fill[hidden] { display:none; }
.sidebar-brand-row .brand-lockup { gap:1px; line-height:1; }
.sidebar-brand-row .brand-lockup h1 { color:var(--text); font-size:1.3rem; font-weight:800; line-height:1; letter-spacing:.08em; }
.sidebar-brand-row .brand-lockup .brand-slogan { font-size:.676rem; line-height:1; letter-spacing:.12em; }

/* The collapsed launcher says Sow; the expanded control says Hide Sow. */
:root[data-palette] body #composer-collapse-btn[aria-expanded="false"] { border-color:var(--fruit-open-border,#efd35b) !important; }

/* Maps keeps route controls readable and its canvas independent of page scrolling. */
.maps-controls,.maps-directions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-block:8px; }
.maps-controls label { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.maps-workspace input,.maps-workspace select { max-width:100%; min-width:0; }
.maps-route { display:grid; gap:6px; }
.maps-route-point { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:6px; border:1px solid var(--fruit-panel-border-color); border-radius:var(--radius); }
.maps-route-point label { display:flex; flex:1 1 180px; gap:6px; align-items:center; }
.maps-route-point input { flex:1; width:100%; }
.maps-route-grip { touch-action:none; cursor:grab; }
.maps-view { position:relative; width:100%; height:55vh; min-height:260px; max-height:650px; overflow:hidden; border-radius:var(--radius); background:#a8d2e6; }
.maps-canvas { display:block; width:100%; height:100%; touch-action:none; cursor:grab; }
.maps-canvas.maps-pick-point { cursor:crosshair; }
.maps-view iframe { width:100%; height:100%; border:0; }
.maps-island-cache { min-width:0; padding:8px; border:1px solid var(--fruit-panel-border-color); border-radius:var(--radius); margin-block:8px; }
.maps-cache-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block:8px; }
.maps-cache-row > span { flex:1 1 170px; overflow-wrap:anywhere; }
.maps-cache-row progress { width:100%; height:8px; }

/* Disclosure titles expose their hit area without changing layout on hover.
   Applies to current and lazy-loaded Fruits, whether expanded or collapsed. */
body :is(details > summary,[role="button"][aria-expanded],button[aria-expanded][aria-controls]):is(:hover,:focus-visible):not(.etti-chrome-click-feedback) {
  outline: 1px solid var(--fruit-open-border,#f0d564) !important;
  outline-offset: -1px;
  border-radius: .5rem;
  cursor: pointer;
}

/* Phone navigation is a left drawer below the shared header. A desktop-style
   half-height sidebar must not consume a second grid row on a small screen. */
@media (max-width:760px) {
  html .layout:not(.sidebar-collapsed), html .layout.sidebar-collapsed {
    display:block; grid-template-rows:none; grid-template-columns:none;
    --phone-panel-width:min(var(--lime-sidebar-width,300px),calc(100vw - var(--drag-bar-width,10px) - 48px));
  }
  .layout > .main { width:100%; height:100%; min-height:0; }
  .layout:has(> #sidebar-resize-handle) > .main { padding-left:calc(var(--drag-bar-width,10px) + var(--workspace-content-gutter,8px)); }
  html .layout > .sidebar {
    position:fixed; z-index:16; left:0; right:auto;
    top:var(--workspace-nav-height,64px); bottom:var(--drag-bar-width,10px);
    width:var(--phone-panel-width); height:auto; max-height:none;
    padding-top:8px; border:0; border-radius:var(--radius,10px);
    background:var(--etti-raised-surface,var(--bg-raised)); box-shadow:4px 8px 20px #0006;
  }
  html .layout > .sidebar .sidebar-header { padding:0 8px 6px; gap:4px; }
  html .layout .sidebar-brand-row { display:none !important; }
  #global-chip-actions > :is(button,select):not(.voice-top-stop) { display:none !important; }
  html .layout:not(.sidebar-collapsed) .lime-collapsed-brand { display:flex; }
  html .layout:not(.sidebar-collapsed) #profile-avatar-top { display:inline-grid !important; }
  html .layout:not(.sidebar-collapsed) .lime-top-nav,
  html .layout.sidebar-collapsed .lime-top-nav {
    min-height:0; padding:8px calc(var(--drag-bar-width,10px) + var(--workspace-content-gutter,8px)); gap:4px;
  }
  #lime-top-nav-chips.hidden { display:flex !important; }
  #lime-top-nav-chips.workspace-segments,
  #lime-top-nav-chips.workspace-segments:not(.tabs-only) {
    min-width:0; max-width:100%; width:auto; flex:1 1 150px; flex-wrap:wrap; overflow:visible;
  }
  #lime-top-nav-chips.workspace-segments > .tabs-chip {
    max-width:100%; height:auto; white-space:normal; overflow-wrap:anywhere;
  }
  #lime-top-nav-chips .tabs-chip-label { white-space:normal; overflow-wrap:anywhere; }
  .layout:not(.sidebar-collapsed) .lime-top-nav-actions > .profile-status-stack { display:inline-flex; }
  #lime-top-nav .tabs-chip { min-height:32px; padding:4px 6px; }
  #lime-top-nav .lime-top-nav-actions { gap:4px; }
  .layout > #sidebar-resize-handle {
    display:block; position:fixed; z-index:17; top:var(--workspace-nav-height,64px);
    bottom:var(--drag-bar-width,10px); left:var(--phone-panel-width); width:var(--drag-bar-width,10px);
    height:auto; max-height:none;
  }
  .layout.sidebar-collapsed > #sidebar-resize-handle { left:0; }
  .layout .navigation-dock-resizer {
    margin-inline:calc(-1 * (var(--workspace-dock-inset,10px) + var(--workspace-content-gutter,8px)));
    width:calc(100% + 2 * (var(--workspace-dock-inset,10px) + var(--workspace-content-gutter,8px)));
  }
}

/* Stage identity is decorative: the same logo box remains its click target. */
html:not(.production-fruits):not(.production-minimal) .brand-lockup {
  position:relative;
  isolation:isolate;
}
html:not(.production-fruits):not(.production-minimal) .brand-lockup::before {
  content:"";
  position:absolute;
  inset:-3px -7px -5px;
  z-index:-1;
  pointer-events:none;
  background:url("/stage-brand-mark.svg") center / 100% 100% no-repeat;
}
html:not(.production-fruits):not(.production-minimal) .brand-lockup :is(h1,strong,.lime-collapsed-brand-name,.brand-slogan) {
  text-shadow:0 1px 2px #08070c,0 0 4px #08070c;
}

/* Cache coverage colours only The OS; the ETTI name stays white. */
.brand-lockup :is(h1,strong,.lime-collapsed-brand-name) { color:#fff !important; }
.brand-lockup .brand-slogan { color:#f0d564 !important; }

/* One user-selected radius, including newly mounted Fruit controls and cards. */
:root { --radius:8px; --etti-radius:8px; }
@layer etti-border-effects {
  :root body :is(button,input,select,textarea,details,summary,fieldset,dialog,.panel,.settings-panel,.settings-header,.mw-chrome,[role="button"],[role="tab"],[class*="-card"],[class*="-panel"],[class*="-chip"],[data-etti-christmas-border]) {
    border-radius:var(--etti-radius,8px) !important;
  }
}
.tab-chip-size-control { height:var(--drag-bar-width,10px); min-height:var(--drag-bar-width,10px); width:100%; margin-inline:0; border:0; border-radius:var(--etti-radius,8px); cursor:ns-resize; }
.tab-chip-size-control::after { left:25%; right:25%; width:auto; height:4px; top:calc(50% - 2px); }

#global-chip-actions { align-content:start; align-items:start; grid-auto-rows:max-content; }
#global-chip-actions > :is(button,select) { align-self:start; min-height:34px; height:max-content; padding-block:6px; }
.tab-chip-size-control { grid-column:1 / -1; cursor:ew-resize; }
.nav-tab.nav-favourite::after { top:2px; right:3px; min-width:12px; line-height:12px; border-radius:var(--etti-radius,8px); background:#100d10cc; text-align:center; }
:root[data-palette] body :is(#multi-layout-toggle,#multi-layout-toggle-top,#multi-window-toggle,#multi-window-toggle-top,#nav-tabs-toggle,#nav-tabs-toggle-top,#multi-history-toggle,#multi-history-toggle-top,#multi-fit-toggle,#multi-fit-toggle-collapsed,#lime-sidebar-toggle,#public-panel-toggle):hover {
 outline:2px solid var(--fruit-focused-border,#62df8a) !important; outline-offset:-2px;
}
:root[data-palette] body :is(#multi-window-toggle,#multi-window-toggle-top,#multi-fit-toggle,#multi-fit-toggle-collapsed)[aria-pressed="true"]:hover,
:root[data-palette] body :is(#nav-tabs-toggle,#nav-tabs-toggle-top,#multi-history-toggle,#multi-history-toggle-top,#public-panel-toggle)[aria-expanded="true"]:hover,
:root[data-palette] body #lime-sidebar-toggle[aria-pressed="false"]:hover { outline-color:var(--fruit-open-border,#f0d564) !important; }
