/* ============================================================================
   Alpaca Tools — Notus rebrand (global token override + shared sidebar)
   Loaded LAST in every page's <head>, after each page's inline <style>, so these
   token values win the cascade and repaint the whole app in the Notus palette.
   The sidebar is anchored to its OWN 16px font context (em internals + px frame)
   so a host page's root font-size (tool pages use 13px) can't resize it.
   ============================================================================
 
  Author: Sergey Zasukha <sergeyzasukha@gmail.com>
 */

/* Cross-document view transitions.
   The stable pre-paint shell below removes the geometry change in every browser. Engines that
   support cross-document transitions also carry the outgoing frame across the document swap, and
   give the chrome that is the SAME thing on both pages a name so it does not fade with content.
   alpaca-theme.js opts shared/authored shells in at head time; standalone pages never opt in. */

html{
  /* The public Atlas site uses this same 160/240/420 rhythm. Product navigation stays brisk,
     while the shared ease gives page changes and direct manipulation one recognizable voice. */
  --alpaca-ease-out:cubic-bezier(.23,1,.32,1);
  --alpaca-ease-in-out:cubic-bezier(.77,0,.175,1);
  --alpaca-ease-drawer:cubic-bezier(.32,.72,0,1);
  --alpaca-duration-fast:160ms;
  --alpaca-duration-base:240ms;
  --alpaca-duration-slow:420ms;
}

::view-transition-group(root),
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration:var(--alpaca-duration-base);
  animation-timing-function:var(--alpaca-ease-out);
}

/* ScrollCraft reveals website chapters from 14px away over 620ms. A working application should
   feel related but faster: the incoming page travels only 8px over the shared 420ms slow beat. */
::view-transition-old(root){animation:alpaca-atlas-page-out var(--alpaca-duration-fast) ease both}
::view-transition-new(root){animation:alpaca-atlas-page-in var(--alpaca-duration-slow) var(--alpaca-ease-out) both}
@keyframes alpaca-atlas-page-out{to{opacity:.72}}
@keyframes alpaca-atlas-page-in{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}

.sb-root { view-transition-name: alpaca-sidebar; }
/* During the same synchronous handoff the pending silhouette may coexist in the DOM with the real
   rail. Only one rendered node may own a View Transition name in a captured frame. */
html[data-alpaca-shell="pending"] .sb-root { view-transition-name:none; }

/* The menu must not slide or fade with the page: it is the one thing that did not change. Keep
   the outgoing, fully rendered chrome above the incoming pre-paint silhouette for the short root
   handoff. By the time that snapshot is released, the destination has synchronously mounted the
   real rail (and normally hydrated its prefetched nav), so labels never blink into a skeleton. */
::view-transition-group(alpaca-sidebar),
::view-transition-group(alpaca-menu-button) {
  animation-duration:var(--alpaca-duration-fast);
  animation-timing-function:var(--alpaca-ease-out);
}
::view-transition-old(alpaca-sidebar),
::view-transition-old(alpaca-menu-button) {
  animation:none;
  opacity:1;
}
::view-transition-new(alpaca-sidebar),
::view-transition-new(alpaca-menu-button) {
  animation:none;
  opacity:0;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) { animation: none !important; }
}

@font-face{ font-family:'Roboto'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('/static/fonts/roboto-var.woff2') format('woff2'); }
@font-face{ font-family:'JetBrains Mono'; font-style:normal; font-weight:100 800; font-display:swap;
  src:url('/static/fonts/jetbrains-mono-var.woff2') format('woff2'); }

/* Reserve the scrollbar gutter so a page getting shorter/taller can't reflow layout. */
html{ scrollbar-gutter:stable; }

/* ---- LIGHT (Notus) ---- */
:root{
  --bg:#f3f4f1; --panel:#ffffff; --surface:#f8fafc; --surface2:#eef2f7;
  --border:#e2e8f0; --border2:#cbd5e1;
  --text:#334155; --muted:#94a3b8; --muted2:#64748b; --ink:#1e293b;
  --blue:#0ea5e9; --primary:#2563eb; --primary-control:#2563eb; --primary-fg:#fff; --blue-dim:#e0f2fe; --blue-glow:rgba(14,165,233,.35);
  --purple:#6366f1; --purple-dim:#eef2ff;
  --teal:#14b8a6; --teal-dim:#ccfbf1;
  --green:#10b981; --green-dim:#d1fae5; --good:#10b981;
  --amber:#f59e0b; --amber-dim:#fef3c7;
  --red:#ef4444; --red-dim:#fee2e2; --bad:#ef4444;
  --orange:#f97316;
  --shadow-sm:0 1px 3px 0 rgba(15,23,42,.10),0 1px 2px -1px rgba(15,23,42,.06);
  --shadow-md:0 4px 6px -1px rgba(15,23,42,.10),0 2px 4px -2px rgba(15,23,42,.05);
  --shadow-lg:0 10px 15px -3px rgba(15,23,42,.10),0 4px 6px -4px rgba(15,23,42,.05);
  --sans:'Roboto','Helvetica Neue',Helvetica,Arial,'Noto Sans',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --g-primary:linear-gradient(310deg,#0ea5e9,#38bdf8); --g-info:linear-gradient(310deg,#6366f1,#818cf8);
  --g-success:linear-gradient(310deg,#10b981,#34d399); --g-warning:linear-gradient(310deg,#f97316,#fbbf24);
  --g-danger:linear-gradient(310deg,#ef4444,#f87171); --g-dark:linear-gradient(310deg,#1e293b,#334155);
  /* Product identity is resolved on :root so a nested shell cannot silently repaint the Alpaca
     mark with a tool/navigation palette. Every brand theme still supplies its own primary/glow. */
  --alpaca-mark-bg:var(--primary,#2563eb); --alpaca-mark-glow:var(--blue-glow,rgba(37,99,235,.25));
  --sb-w:248px; --sb-mini:80px;   /* px so tool pages' 13px root can't shrink the rail */
  color-scheme:light;
}
:root[data-theme="dark"], html[data-theme="dark"]{
  --bg:#0f172a; --panel:#1e293b; --surface:#182339; --surface2:#223049;
  --border:#334155; --border2:#475569;
  --text:#e2e8f0; --muted:#94a3b8; --muted2:#cbd5e1; --ink:#f8fafc;
  --blue:#38bdf8; --primary:#2563eb; --primary-control:#2563eb; --primary-fg:#fff; --blue-dim:#0c3a52; --blue-glow:rgba(56,189,248,.40);
  --purple:#818cf8; --purple-dim:#24234d;
  --teal:#2dd4bf; --teal-dim:#0f3f3a;
  --green:#34d399; --green-dim:#0f3d31; --good:#34d399;
  --amber:#fbbf24; --amber-dim:#3a2f10;
  --red:#f87171; --red-dim:#3d1a1a; --bad:#f87171;
  --orange:#fb923c;
  --shadow-sm:0 1px 3px 0 rgba(0,0,0,.40),0 1px 2px -1px rgba(0,0,0,.30);
  --shadow-md:0 4px 6px -1px rgba(0,0,0,.40),0 2px 4px -2px rgba(0,0,0,.30);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.45),0 4px 6px -4px rgba(0,0,0,.35);
  color-scheme:dark;
}

/* ── First-frame shell reservation ───────────────────────────────────────────
   alpaca-theme.js marks an ordinary top-level tool page while it is still in <head>. The content
   therefore begins at exactly the same x-coordinate it will have after the async registry-backed
   sidebar mounts. A quiet silhouette occupies the rail for the cold/slow-network case; it is
   replaced atomically by .sb-root, never animated into place. On mobile the rail is an overlay, so
   only its opener is reserved and page content remains full width. If JavaScript is disabled the
   head marker is never set, leaving the document's authored full-width layout intact. */
:root{--alpaca-shell-prepaint-bg:var(--panel,#fff)}
:root[data-theme="dark"]{--alpaca-shell-prepaint-bg:var(--panel,#1e293b)}

@media (min-width:1201px){
  html[data-alpaca-shell="pending"] body:not([data-no-shell]){
    padding-left:calc(var(--sb-w) + 40px)
  }
  html[data-alpaca-shell="pending"][data-alpaca-sidebar="mini"] body:not([data-no-shell]){
    padding-left:calc(var(--sb-mini) + 40px)
  }
  html[data-alpaca-shell="pending"] body:not([data-no-shell])::before{
    content:"";position:fixed;top:16px;bottom:16px;left:16px;width:var(--sb-w);z-index:1000;
    view-transition-name:alpaca-sidebar;
    pointer-events:none;border-radius:12px;box-shadow:var(--shadow-lg);
    background:
      radial-gradient(circle at 34px 34px,var(--surface2) 0 17px,transparent 18px),
      linear-gradient(var(--surface2),var(--surface2)) 62px 23px/112px 10px no-repeat,
      linear-gradient(var(--border),var(--border)) 62px 40px/78px 6px no-repeat,
      linear-gradient(var(--border),var(--border)) 16px 70px/calc(100% - 32px) 1px no-repeat,
      linear-gradient(var(--surface),var(--surface)) 16px 88px/calc(100% - 32px) 34px no-repeat,
      repeating-linear-gradient(to bottom,var(--surface2) 0 28px,transparent 28px 43px) 16px 146px/calc(100% - 32px) 258px no-repeat,
      linear-gradient(var(--border),var(--border)) 0 calc(100% - 188px)/100% 1px no-repeat,
      repeating-linear-gradient(to bottom,var(--surface2) 0 28px,transparent 28px 39px) 16px calc(100% - 170px)/calc(100% - 32px) 154px no-repeat,
      linear-gradient(var(--alpaca-shell-prepaint-bg),var(--alpaca-shell-prepaint-bg))
  }
  html[data-alpaca-shell="pending"][data-alpaca-sidebar="mini"] body:not([data-no-shell])::before{
    width:var(--sb-mini);
    background:
      radial-gradient(circle at 40px 34px,var(--surface2) 0 17px,transparent 18px),
      linear-gradient(var(--border),var(--border)) 12px 70px/calc(100% - 24px) 1px no-repeat,
      repeating-linear-gradient(to bottom,var(--surface2) 0 28px,transparent 28px 43px) 24px 100px/32px 301px no-repeat,
      linear-gradient(var(--border),var(--border)) 0 calc(100% - 188px)/100% 1px no-repeat,
      repeating-linear-gradient(to bottom,var(--surface2) 0 28px,transparent 28px 39px) 24px calc(100% - 170px)/32px 154px no-repeat,
      linear-gradient(var(--alpaca-shell-prepaint-bg),var(--alpaca-shell-prepaint-bg))
  }
}

/* On a compact viewport the menu is an overlay, so content must remain full width. Reserve only
   the opener itself while the body-end shell script is being parsed. */
@media (max-width:1200px){
  html[data-alpaca-shell="pending"]::after{
    content:"";position:fixed;top:14px;left:14px;z-index:1001;width:38px;height:38px;
    pointer-events:none;border-radius:8px;box-shadow:var(--shadow-sm);
    view-transition-name:alpaca-menu-button;
    background:
      linear-gradient(var(--muted2),var(--muted2)) 11px 12px/16px 2px no-repeat,
      linear-gradient(var(--muted2),var(--muted2)) 11px 18px/16px 2px no-repeat,
      linear-gradient(var(--muted2),var(--muted2)) 11px 24px/16px 2px no-repeat,
      var(--panel)
  }
  .sb-root{view-transition-name:none}
  button.sb-open{view-transition-name:alpaca-menu-button}
  html[data-alpaca-shell="pending"] button.sb-open{view-transition-name:none}
}

@media (forced-colors:active){
  html[data-alpaca-shell="pending"] body:not([data-no-shell])::before,
  html[data-alpaca-shell="pending"]::after{
    background:Canvas;border:1px solid CanvasText;box-shadow:none
  }
}

/* ============================================================================
   Shared collapsible sidebar — self-contained 16px context (em), px frame.
   ============================================================================ */
.sb-root{position:fixed;top:var(--sb-top,16px);right:auto;bottom:16px;left:16px;width:var(--sb-w);background:var(--panel);border-radius:12px;
  box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;z-index:1000;
  transition:width var(--alpaca-duration-base) var(--alpaca-ease-out),transform var(--alpaca-duration-base) var(--alpaca-ease-drawer),top var(--alpaca-duration-base) var(--alpaca-ease-out);font-family:var(--sans);font-size:16px}
.sb-root .ficon{width:1em;height:1em;fill:currentColor;display:block}
.sb-root a{text-decoration:none}
.sb-head{display:flex;align-items:center;gap:.6em;padding:1em 1em .75em}
.sb-root .sb-head + .sb-div{display:none}
.sb-mark{width:2.3em;height:2.3em;flex:0 0 auto;border-radius:.55em;display:grid;place-items:center;font-size:1.15em;
  background:var(--g-primary);box-shadow:0 .3em .6em var(--blue-glow);color:inherit;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease}
.sb-mark:hover{transform:translateY(-1px);box-shadow:0 .4em .75em var(--blue-glow)}
.sb-brand{min-width:0;overflow:hidden;white-space:nowrap;transition:opacity .15s}
.sb-brand .t{font-weight:800;color:var(--ink);font-size:.98em;line-height:1.1}
.sb-brand .s{font-size:.58em;letter-spacing:.14em;color:var(--muted);font-weight:700}
.sb-toggle{margin-left:auto;width:1.7em;height:1.7em;flex:0 0 auto;border:0;background:var(--surface);color:var(--muted);
  border-radius:.45em;display:grid;place-items:center;cursor:pointer;transition:transform var(--alpaca-duration-base) var(--alpaca-ease-out);font-size:.75em}
.sb-toggle:hover{color:var(--ink)}
.sb-div{height:1px;background:var(--border);margin:.25em 1em .5em}
/* tool search — filters the whole registry (name+section+keywords); ⌘K focuses it */
.sb-search{display:flex;align-items:center;gap:.45em;margin:0 1em .45em;padding:.34em .55em;background:var(--surface);border:1px solid var(--border);border-radius:.5em}
.sb-search:focus-within{border-color:var(--blue)}
.sb-search-ic{flex:0 0 auto;color:var(--muted2);font-size:.82em;display:grid;place-items:center}
.sb-search-in{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-family:inherit;font-size:.85em;outline:none;box-shadow:none;padding:0;height:auto;line-height:1.3}   /* pages style bare <input>; the sidebar must not inherit their padding */
/* the sidebar's global :focus-visible ring (below) would paint an inset box on the input — suppress it here */
.sb-root .sb-search-in:focus,.sb-root .sb-search-in:focus-visible{outline:none;box-shadow:none}
.sb-search-in::placeholder{color:var(--muted2)}
.sb-search-in::-webkit-search-cancel-button{-webkit-appearance:none}
.sb-search-kbd{flex:0 0 auto;font-size:.6em;font-weight:700;color:var(--muted2);background:var(--panel);border:1px solid var(--border);border-radius:.35em;padding:.2em .45em;font-family:var(--sans)}
.sb-nav-shell{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
.sb-results{display:none;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.25em .7em 1em;
  overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
.sb-root.sb-searching .sb-nav{display:none}
.sb-root.sb-searching .sb-results{display:block;flex:1}
.sb-result .sb-lbl{display:flex;flex-direction:column;gap:.05em;line-height:1.15;overflow:hidden}
.sb-result-name{font-size:.82em;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-result-sec{font-size:.6em;font-weight:600;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis}
.sb-nohit{padding:.8em .6em;font-size:.74em;color:var(--muted2)}
body.sb-mini .sb-search{display:none}                    /* mini rail: ⌘K expands + focuses instead */
.sb-nav{min-height:0;overflow-y:auto;overflow-x:hidden;padding:.25em .7em 1em;flex:1;
  overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
.sb-nav::-webkit-scrollbar,.sb-results::-webkit-scrollbar{display:none;width:0;height:0}
/* The rail keeps the scroll affordance without exposing a scrollbar. This quiet cue is attached to
   the viewport rather than the list, so it stays put until the final hidden row has been revealed. */
.sb-nav-more{position:absolute;z-index:4;right:.7em;bottom:0;left:.7em;height:2.5em;box-sizing:border-box;
  display:grid;place-items:end center;padding-bottom:.42em;color:var(--muted2);pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,var(--panel) 72%);opacity:0;visibility:hidden;
  transition:opacity var(--alpaca-duration-fast) ease,visibility 0s linear var(--alpaca-duration-fast)}
.sb-nav-more::after{content:"";width:.48em;height:.48em;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(45deg)}
.sb-nav-shell.sb-has-more .sb-nav-more{opacity:1;visibility:visible;transition-delay:0s}
.sb-nav-status{min-height:15em;padding:.35em .3em;color:var(--muted2);font-size:.72em;display:flex;flex-direction:column;gap:.5em}
.sb-nav-status.is-loading i{display:block;height:2.35em;border-radius:.45em;background:var(--surface2)}
.sb-nav-status.is-loading i:nth-child(2){width:86%}.sb-nav-status.is-loading i:nth-child(3){width:94%}
.sb-nav-status.is-loading i:nth-child(4){width:78%}.sb-nav-status.is-loading i:nth-child(5){width:90%}
@media (prefers-reduced-motion:no-preference){
  .sb-nav-status.is-loading i{background:linear-gradient(100deg,var(--surface2) 30%,var(--surface) 50%,var(--surface2) 70%);background-size:220% 100%;animation:sb-nav-shimmer 1.2s linear infinite}
}
@keyframes sb-nav-shimmer{to{background-position:-220% 0}}
.sb-nav-status.is-error{justify-content:center;line-height:1.35}.sb-nav-status.is-error strong{color:var(--ink);font-size:1.05em}
.sb-nav-retry{align-self:flex-start;margin-top:.3em;border:1px solid var(--border);border-radius:.45em;background:var(--surface);color:var(--ink);font:700 1em var(--sans);padding:.45em .7em;cursor:pointer}
.sb-search-in:disabled,.sb-gear:disabled{cursor:default;opacity:.55}
/* Finished background work. The dot rides the tool's own row because "your payroll sweep is done"
   is only useful next to the tool you would go back to; a count in a corner makes you hunt. */
.sb-dot{margin-left:auto;flex:0 0 auto;width:.5em;height:.5em;border-radius:50%;background:#e0733a;
  box-shadow:0 0 0 3px color-mix(in srgb, #e0733a 25%, transparent)}
.sb-notify{position:relative;width:100%;text-align:left;font:inherit;border:0;cursor:pointer}
/* display:inline-flex outranks the [hidden] attribute's UA display:none, so without this the
   badge rendered a permanent "0" - hidden in the DOM sense, visible on screen. */
.sb-note-badge[hidden]{display:none}
.sb-note-badge{margin-left:auto;flex:0 0 auto;min-width:1.35em;height:1.35em;padding:0 .35em;border-radius:.7em;
  background:#e0733a;color:#fff;font-size:.58em;font-weight:800;display:inline-flex;align-items:center;
  justify-content:center;font-family:var(--sans);line-height:1}
.sb-notify.has-notes .sb-lbl{font-weight:700}
body.sb-mini .sb-note-badge{position:absolute;top:.25em;right:.25em;margin:0}
body.sb-mini .sb-dot{position:absolute;top:.35em;right:.35em;margin:0}
/* The nudge rides the BADGE, not the rail icon. tests/test_brand_themes.py finds the rail's icon
   rule by splitting this stylesheet on that selector's opening brace, so ANY earlier text carrying
   it - another selector, or a comment mentioning it, as this one first did - silently becomes the
   rule the theme contract gets checked against. */
@media (prefers-reduced-motion:no-preference){
  .sb-notify.has-notes .sb-note-badge{animation:sb-nudge 1.6s ease-in-out 2}
  @keyframes sb-nudge{0%,100%{transform:none}20%{transform:scale(1.18)}40%{transform:scale(.94)}60%{transform:scale(1.06)}}
}
/* Edit mode: the gear beside the search box turns the rail into something you can arrange.
   Deliberately in the sidebar rather than on a settings page - arranging a menu while looking at
   a different screen is guesswork. */
.sb-gear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.25em;height:2.25em;
  padding:0;border:0;background:none;color:var(--muted2);cursor:pointer;border-radius:.55em}
.sb-gear:hover{color:var(--text);background:var(--panel)}
/* Keep the search icon action independent of host-page full-button styles. */
html:root body .sb-root .sb-search button.sb-gear{
  padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;
}
.sb-gear .ficon{width:.85em;height:.85em}
body.sb-mini .sb-gear{display:none}
.sb-editing .sb-gear{visibility:hidden;pointer-events:none}
.sb-editbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 .7em .55em;position:relative;z-index:2}
.sb-root .sb-editbar .sb-eb{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:1 1 auto;min-width:0;min-height:36px;margin:0;font:600 12px/1 var(--sans);text-align:center;text-transform:none;letter-spacing:normal;white-space:nowrap;padding:8px 10px;cursor:pointer;
  border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:.65em;
  transition:background .14s ease,border-color .14s ease,transform .14s ease}
.sb-root .sb-editbar .sb-eb:hover{border-color:var(--blue);background:var(--surface)}
.sb-eb:active{transform:scale(.97)}
.sb-root .sb-editbar .sb-eb.primary{background:var(--primary-control,var(--primary));border-color:transparent;color:var(--primary-fg,#fff)}
.sb-root .sb-editbar .sb-eb.primary:hover{background:color-mix(in srgb,var(--primary-control,var(--primary)) 88%,#000)}
.sb-editing .sb-nav{scroll-behavior:auto;overscroll-behavior:contain;padding-top:0}
.sb-editing .sb-foot{display:none}
.sb-edit-row{position:relative}
.sb-edit-row > .sb-item{width:100%}
.sb-editing .sb-item{box-sizing:border-box;position:relative;min-height:44px;padding-right:52px;cursor:grab;touch-action:pan-y;
  transition:background .14s ease,box-shadow .14s ease,border-color .14s ease}
.sb-editing .sb-item :where(.sb-ic){cursor:grab;touch-action:none}
.sb-editing .sb-item:active{cursor:grabbing}
/* Each group is drawn as a box in edit mode, so what you are about to move has a visible edge.
   A dashed hairline was too quiet to read as "this whole block is one draggable thing". */
.sb-editing .sb-grp-wrap{border:1px solid color-mix(in srgb,var(--border2) 78%,transparent);border-radius:.7em;margin:.35em 0;
  padding:.15em .25em .35em;background:color-mix(in srgb,var(--surface) 64%,transparent);
  transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
.sb-editing .sb-grp-wrap:hover{border-color:color-mix(in srgb,var(--blue) 68%,var(--border2))}
.sb-editing .sb-grp-wrap > .sb-grp{margin:.05em 0 .2em}
.sb-edit-hint{font-size:.75em;color:var(--muted);padding:.05em 1em .55em;line-height:1.45}
.sb-edit-hint strong{display:block;color:var(--text);font-size:1.04em;margin-bottom:.1em}
.sb-edit-live{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* The base .sb-grp is a nowrap, OVERFLOW:HIDDEN heading with lopsided padding (.9em top, .35em
   bottom) - fine for a label, wrong for a row of controls: it clipped the delete button off the
   right edge and the uneven padding left the grip sitting above the text rather than beside it. */
/* The grip and the delete are POSITIONED, not laid out. As flex children they occupied unequal
   widths on either side of the name (19px handle, narrower x), so a centred name sat visibly
   off-centre. Taking both out of the flow lets the label centre against the full heading width. */
.sb-editing .sb-grp{box-sizing:border-box;outline:none;position:relative;display:block;overflow:visible;
  padding:4px 58px 4px 42px;min-height:44px;line-height:36px}
.sb-grp-name{display:block;outline:none;line-height:36px;text-align:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-grp-name:focus{color:var(--text);background:var(--panel);border-radius:.4em;box-shadow:none}
.sb-editing .sb-grp:focus{color:var(--text)}
/* While a drag is in flight, nothing under the pointer should select or become a drop target of
   its own - elementFromPoint has to see the rail, not a text selection. */
.sb-pointer-dragging .sb-nav,.sb-pointer-dragging .sb-nav *{user-select:none}
.sb-drag-source{display:none!important}
.sb-drag-placeholder{box-sizing:border-box;display:grid;place-items:center;min-height:2.5em;margin:.12em 0;
  border:2px solid var(--blue,#4890f5);border-radius:.65em;background:color-mix(in srgb,var(--blue,#4890f5) 10%,transparent);
  color:var(--blue,#4890f5);pointer-events:none;overflow:hidden}
.sb-drag-placeholder.is-group{margin:.35em 0;border-radius:.75em}
.sb-drag-placeholder::after{content:attr(data-label);font:750 .68em/1 var(--sans);letter-spacing:.02em}
.sb-drag-preview{position:fixed!important;left:0!important;top:0!important;z-index:4000!important;box-sizing:border-box;
  margin:0!important;pointer-events:none!important;overflow:hidden;opacity:.97;contain:layout paint;
  font-family:var(--sans);font-size:16px;text-decoration:none;
  background:var(--panel)!important;border:1px solid color-mix(in srgb,var(--blue,#4890f5) 68%,var(--border));
  border-radius:.7em;box-shadow:0 18px 44px -12px rgba(15,23,42,.42),0 0 0 2px color-mix(in srgb,var(--blue,#4890f5) 18%,transparent);
  will-change:transform;animation:sb-drag-lift .12s cubic-bezier(.2,0,0,1) both}
.sb-drag-preview.is-item{display:block;padding:0;color:var(--text)}
.sb-drag-preview.is-item > .sb-item{box-sizing:border-box;display:flex;align-items:center;gap:.7em;width:100%;min-height:44px;
  padding:.4em 52px .4em .55em;color:var(--text);background:var(--panel)}
.sb-drag-preview a{text-decoration:none}
.sb-drag-preview.is-group{padding:.15em .25em .35em}
.sb-drag-preview :is(.sb-item-del,.sb-grp-del){visibility:hidden}
.sb-drop-target{border-color:var(--blue,#4890f5)!important;
  box-shadow:none!important}
.sb-keyboard-dragging{position:relative;z-index:2;outline:2px solid var(--blue,#4890f5)!important;outline-offset:2px;
  background:color-mix(in srgb,var(--blue,#4890f5) 11%,var(--panel))!important;box-shadow:var(--shadow-md)!important}
.sb-editing .sb-grp-wrap.is-empty{min-height:5.5em;border-style:dashed}
.sb-editing .sb-grp-wrap.is-empty::after{content:"Drop tools here";display:grid;place-items:center;min-height:2.75em;
  color:var(--muted);font:650 .7em/1 var(--sans);pointer-events:none}
@keyframes sb-drag-lift{from{opacity:.72;filter:saturate(.8)}to{opacity:.97;filter:saturate(1)}}
/* Section headings inside the Activity Center. A flat "20 recent" list buries the one job you are
   actually waiting on among nineteen that already finished. */
/* A revealed row must still read as removed - dashed and dimmed - or showing them looks like
   they came back. */
.alpaca-activity-job.is-removed{opacity:.62;border-style:dashed;box-shadow:none}
.alpaca-activity-job.is-removed:hover{opacity:1}
.alpaca-activity-dismiss.is-undo:hover{color:var(--blue,#2d6cdf)}
.alpaca-activity-dismiss{border:0;background:none;color:var(--muted2);cursor:pointer;padding:0 .15em;
  line-height:1;display:inline-flex;align-items:center;margin-left:.35em;border-radius:.3em}
.alpaca-activity-dismiss:hover{color:#b4232c;background:var(--surface)}
.alpaca-activity-dismiss .ficon{width:.75em;height:.75em}
/* Quieter than the state pill it sits beside until you reach for it: stopping a run is deliberate,
   not something to advertise on every in-flight row. flex:0 0 auto so it never squeezes the title. */
.alpaca-activity-cancel{flex:0 0 auto;margin-left:.35em;padding:.2em .55em;border:1px solid var(--border,#e2e8f0);
  border-radius:.4em;background:none;color:var(--muted2,#64748b);cursor:pointer;
  font:600 9.5px/1.5 var(--sans,inherit);letter-spacing:.02em;white-space:nowrap}
.alpaca-activity-cancel:hover:not([disabled]){color:var(--red,#ef4444);border-color:var(--red,#ef4444)}
.alpaca-activity-cancel:focus-visible{outline:2px solid var(--red,#ef4444);outline-offset:2px}
.alpaca-activity-cancel[disabled]{opacity:.55;cursor:default}
/* Run again takes Cancel's slot and shape - a row is never both running and finished - but blue,
   because it starts work rather than stopping it. */
.alpaca-activity-rerun{flex:0 0 auto;margin-left:.35em;padding:.2em .55em;border:1px solid var(--border,#e2e8f0);
  border-radius:.4em;background:none;color:var(--muted2,#64748b);cursor:pointer;
  font:600 9.5px/1.5 var(--sans,inherit);letter-spacing:.02em;white-space:nowrap}
.alpaca-activity-rerun:hover:not([disabled]){color:var(--blue,#2d6cdf);border-color:var(--blue,#2d6cdf)}
.alpaca-activity-rerun:focus-visible{outline:2px solid var(--blue,#2d6cdf);outline-offset:2px}
.alpaca-activity-rerun[disabled]{opacity:.55;cursor:default}
.alpaca-activity-ask{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;cursor:default;
  color:var(--amber,#d97706);font:600 10.5px/1.4 var(--sans,inherit)}
.alpaca-activity-ask>span{flex:1 1 100%}
.alpaca-activity-ask .alpaca-activity-rerun{margin:0}
.alpaca-activity-ask.is-note{color:var(--muted2,#64748b)}
/* The card is a selector: it looks clickable, and clicking it ticks the box. */
.alpaca-activity-job.is-pick{cursor:pointer;user-select:none}
.alpaca-activity-job.is-pick:hover{border-color:var(--blue,#2d6cdf)}
/* The title is the only thing that navigates, so it is the only thing that looks like a link. */
.alpaca-activity-link{color:var(--ink,#1e293b);text-decoration:none;font-weight:700;
  border-bottom:0;text-underline-offset:4px;text-decoration-thickness:1px}
.alpaca-activity-link:hover{color:var(--blue,#2d6cdf);text-decoration-line:underline}
.alpaca-activity-link:focus-visible{outline:2px solid var(--blue,#2d6cdf);outline-offset:2px;border-radius:2px}
/* Grid, not wrapping flex. As a flex row the filter box claimed an 8rem basis and pushed each
   select onto a line of its own, so three controls cost three rows in a narrow panel. The filter
   spans the top; the two selects share the row beneath it. */
.alpaca-activity-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:2px 14px 8px;font-size:.72rem;color:var(--muted2,#64748b)}
.alpaca-activity-bulk label{white-space:nowrap;flex:0 0 auto;min-height:30px;display:inline-flex;align-items:center;gap:.35em;cursor:pointer;margin-right:auto}
.alpaca-activity-bulk button{font:inherit;font-weight:700;padding:.3em .6em;cursor:pointer;white-space:nowrap;
  border:1px solid var(--border,#e2e8f0);border-radius:.4em;background:var(--panel);color:var(--text)}
.alpaca-activity-bulk button:disabled{opacity:.45;cursor:default}
/* Red is for the destructive one only. Showing what you removed is not a removal. */
.alpaca-activity-bulk button:not(:disabled):hover{border-color:var(--blue,#2d6cdf);color:var(--blue,#2d6cdf)}
#alpacaActivityClearSel:not(:disabled):hover{border-color:#b4232c;color:#b4232c}
#alpacaActivityReveal,#alpacaActivityRestoreAll{font-weight:600;color:var(--muted2,#64748b);border-style:dashed}
.alpaca-activity-pick{flex:0 0 auto;margin:0 .5em 0 0;cursor:pointer}
.alpaca-activity-tools{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:8px 14px 4px}
.alpaca-activity-tools input,.alpaca-activity-tools select{font:inherit;font-size:.74rem;padding:.32em .5em;
  border:1px solid var(--border);border-radius:.4em;background:var(--panel);color:var(--text);
  min-width:0;width:100%}
.alpaca-activity-tools input{grid-column:1 / -1}
/* Shared overlay controls must never inherit a tool's 200px-wide, 39px-tall inputs. */
#alpacaActivityPanel input[type="checkbox"]{appearance:auto!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;margin:0!important;padding:0!important;accent-color:var(--primary,var(--blue));cursor:pointer}
#alpacaActivityPanel .alpaca-activity-tools :is(input,select){min-width:0;min-height:34px;width:100%;max-width:100%;font:400 12px/1.4 var(--sans);padding:7px 9px;box-sizing:border-box}
#alpacaActivityPanel .alpaca-activity-bulk button{min-height:30px;max-width:100%;font:600 11px/1.4 var(--sans);padding:5px 8px;white-space:normal}
#alpacaActivityPanel .alpaca-activity-bulk label{font:500 12px/1.4 var(--sans);gap:7px}

/* An unread row is the one the badge was counting; the flash is what "take me to it" means. */
.alpaca-activity-job.is-unread{border-left-color:var(--border)}
.alpaca-activity-job.is-flash{animation:alpaca-flash 2.4s ease-out 1}
@keyframes alpaca-flash{0%,22%{background:color-mix(in srgb,#e0733a 22%,transparent)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){.alpaca-activity-job.is-flash{animation:none;background:var(--surface2)}}
.alpaca-activity-sec{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);padding:10px 2px 4px}
.alpaca-activity-sec:first-child{padding-top:2px}
/* Same trap as the notification badge: an explicit display rule outranks the [hidden] attribute's
   UA display:none, so without this the button shows even when there is nothing to dismiss. */
/* Scoped under .alpaca-activity-actions deliberately. That block styles its buttons as fixed
   30x30 icon squares, and `.alpaca-activity-actions button` outranks a bare `.alpaca-activity-clear`
   on specificity - so an unscoped width:auto lost, the label overflowed the square, and it
   collided with the refresh and close buttons beside it. This is the only rule that can win. */
.alpaca-activity-actions .alpaca-activity-clear{width:auto;min-width:0;height:30px;
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:0 .7em;
  font:700 11.5px/1 var(--sans,inherit);white-space:nowrap}
.alpaca-activity-actions .alpaca-activity-clear:disabled{cursor:default;opacity:.45}
.alpaca-activity-actions .alpaca-activity-clear:disabled:hover{color:inherit;border-color:var(--border,#e2e8f0)}
body.sb-dragging-active{user-select:none;cursor:grabbing}
body.sb-dragging-active .sb-root :is(.sb-item,.sb-grp,.sb-grp-grip){cursor:grabbing}
/* The per-tool action is explicit and comfortably clickable. It is positioned so editing never
   changes the row's flex geometry; the rail also keeps its normal width, avoiding page overlap. */
.sb-item-del{box-sizing:border-box;position:absolute;right:4px;top:50%;transform:translateY(-50%);min-width:42px;height:36px;
  border:0;background:var(--panel);color:var(--muted2);cursor:pointer;font:750 10.5px/1 var(--sans);
  padding:0 8px;border-radius:8px}
.sb-item-del:hover{color:#b4232c;background:var(--surface)}
.sb-item-del:active{transform:translateY(-50%) scale(.96)}
.sb-eb-link{border:0;background:none;padding:0;font:inherit;color:var(--blue,#2d6cdf);
  text-decoration:underline;cursor:pointer}
.sb-grp-grip{box-sizing:border-box;appearance:none;position:absolute;left:4px;top:50%;transform:translateY(-50%);
  cursor:grab;color:var(--muted);font:700 18px/1 var(--sans);user-select:none;touch-action:none;
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;
  border:1px solid var(--border2);border-radius:8px;background:var(--panel);letter-spacing:-1px}
.sb-grp-grip:hover{color:var(--text);border-color:var(--blue);background:var(--surface)}
.sb-grp-grip:active{cursor:grabbing;border-color:var(--blue)}
.sb-grp-del{box-sizing:border-box;appearance:none;position:absolute;right:4px;top:50%;transform:translateY(-50%);height:36px;
  min-width:50px;border:0;background:none;color:var(--muted2);cursor:pointer;
  font:750 10px/1 var(--sans);padding:0 8px;border-radius:8px}
.sb-grp-del:hover{color:#b4232c;background:var(--panel)}
.sb-grp-del:active{transform:translateY(-50%) scale(.96)}
.sb-grp-del:disabled{opacity:.38;cursor:not-allowed;background:none}
.sb-edit-row.sb-keyboard-dragging > .sb-item.sb-keyboard-dragging{outline:none!important;box-shadow:none!important}
.sb-remove-blocked{animation:sb-remove-blocked .42s ease both}
@keyframes sb-remove-blocked{25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}}
@media (pointer:coarse){
  .sb-gear{width:44px;height:44px}
  .sb-root .sb-editbar .sb-eb{min-height:44px}
  .sb-item-del{height:44px;min-width:46px;right:0}
  .sb-grp-grip{width:44px;height:44px;left:0}
  .sb-grp-del{height:44px;min-width:54px;right:0}
  .sb-editing .sb-grp{min-height:52px;padding-left:48px;padding-right:62px;line-height:44px}
  .sb-grp-name{line-height:44px}
}
.sb-grp{font-size:.6em;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:.9em .6em .35em;white-space:nowrap;overflow:hidden}
.sb-item{box-sizing:border-box;display:flex;align-items:center;gap:.7em;min-height:2.45em;flex:0 0 auto;padding:.28em .55em;border-radius:.5em;cursor:pointer;color:var(--text);white-space:nowrap;transition:background .15s}
.sb-item:hover{background:var(--surface)}
.sb-ic{width:2em;height:2em;flex:0 0 auto;border-radius:var(--alpaca-app-icon-radius,var(--ctl-r,.5em));display:grid;place-items:center;background:var(--alpaca-app-icon-bg,var(--surface2));border:1px solid color-mix(in srgb,var(--alpaca-app-icon-accent,var(--primary)) 42%,var(--alpaca-app-icon-border,var(--border2)));box-shadow:none;color:var(--alpaca-app-icon-fg,var(--ink));font-size:.82em}
.sb-source-tool-icon{display:none!important;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.sb-muted-nav-icon{display:grid;width:100%;height:100%;place-items:center}
.sb-muted-nav-icon .ficon{width:55%;height:55%}
.sb-item .sb-lbl{font-size:.82em;font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s}
.sb-item.active{background:var(--surface);box-shadow:var(--shadow-sm)}
.sb-item.active .sb-lbl{color:var(--ink);font-weight:700}
/* The active row provides selection emphasis; the app glyph itself stays on the same readable,
   theme-owned surface as its matching header icon. */
.sb-item.active .sb-ic{background:var(--alpaca-app-icon-bg,var(--surface2));background-image:none;color:var(--alpaca-app-icon-fg,var(--ink));border-color:color-mix(in srgb,var(--alpaca-app-icon-accent,var(--primary)) 42%,var(--alpaca-app-icon-border,var(--border2)));box-shadow:none}
/* Source artwork stays in the DOM as immutable tool metadata. The visible rail mark is the shared
   registry glyph so its surface, ink, radius, shadow and contrast follow every active theme. */
/* footer — theme toggle + sign out, pinned under the scrolling nav */
.sb-foot{flex:0 0 auto;border-top:1px solid var(--border);padding:.4em .7em .55em;display:flex;flex-direction:column;gap:.1em}
.sb-foot-btn{border:0;background:transparent;width:100%;font-family:inherit;text-align:left;color:var(--text)}
.sb-foot-btn .sb-ic{color:var(--muted2)}
.sb-foot-btn:hover .sb-ic{color:var(--blue)}
.alpaca-legal{min-width:0;margin:.35em .55em 0;padding:.55em 0 .05em;border-top:1px solid var(--border);color:var(--muted2);font-size:.56em;line-height:1.2}
.alpaca-legal a{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}
.alpaca-legal a:hover{color:var(--text)}
.alpaca-legal a:hover,.alpaca-legal a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.alpaca-legal a:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:2px}
.alpaca-standalone-legal{color:var(--muted);padding:22px 20px;text-align:center;font-size:10.5px;line-height:1.55}
.alpaca-standalone-legal span{display:block}.alpaca-standalone-legal a{color:inherit;text-underline-offset:2px}
.alpaca-standalone-legal.is-fixed{position:fixed;left:0;right:0;bottom:10px;padding:0 20px}
@media(max-height:620px),(max-width:520px){.alpaca-standalone-legal.is-fixed{position:static;margin-top:22px;padding-bottom:14px}}
/* Short viewports scroll the middle section. Header, search, rows, icons, and footer deliberately
   retain one fixed rhythm at every height so resizing the window never re-spaces the menu. */
/* mini rail — icons only, labels become hover tooltips; header stacks so chevron stays visible */
body.sb-mini .sb-root{width:var(--sb-mini)}
body.sb-mini .sb-head{flex-direction:column;gap:.45em;padding:.7em .3em .55em}
body.sb-mini .sb-brand{display:none}
body.sb-mini .sb-toggle{margin-left:0;transform:rotate(180deg)}
body.sb-mini .sb-grp{opacity:0;height:0;padding-top:.35em;padding-bottom:.35em;overflow:hidden}
body.sb-mini .sb-item .sb-lbl{display:none}
body.sb-mini .sb-item{gap:0;justify-content:center}
body.sb-mini .alpaca-legal{display:none}
/* The Tool Catalog authors its rail and content margins in HTML. Its head-time mode attribute
   applies the stored compact preference before the body-end controller can add .sb-mini. */
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-root{width:var(--sb-mini)}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-head{flex-direction:column;gap:.45em;padding:.7em .3em .55em}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-brand{display:none}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-toggle{margin-left:0;transform:rotate(180deg)}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-grp{opacity:0;height:0;padding-top:.35em;padding-bottom:.35em;overflow:hidden}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-item .sb-lbl{display:none}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .sb-item{gap:0;justify-content:center}
:where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) .alpaca-legal{display:none}
html[data-alpaca-shell-mode="authored"] :is(.app-main,.topbar){transition:margin-left var(--alpaca-duration-base) var(--alpaca-ease-out)}
@media (min-width:1201px){
  :where(html[data-alpaca-shell-mode="authored"][data-alpaca-sidebar="mini"]) :is(.app-main,.topbar),
  body.sb-mini .topbar{margin-left:calc(var(--sb-mini) + 40px)}
}
/* tooltip (rendered on <body>; px so it's readable regardless of page root) */
.sb-tip{position:fixed;transform:translateY(-50%);background:var(--ink);color:var(--panel);
  padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;
  box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:3000;transition:opacity .1s;font-family:var(--sans)}
.sb-tip.on{opacity:1}
/* content offset on INJECTED pages only (px: sidebar-left 16 + width + 24 gap) */
/* The offset is applied the instant the class lands; it ANIMATES only once the rail has
   mounted and marked itself ready. Transitioning the first application made every page load
   slide sideways from full-width to offset — read as the page resizing itself under you. */
body.sb-injected{padding-left:calc(var(--sb-w) + 40px)}
body.sb-injected.sb-ready{transition:padding-left var(--alpaca-duration-base) var(--alpaca-ease-out)}
body.sb-injected.sb-mini{padding-left:calc(var(--sb-mini) + 40px)}
/* ── header "Pop out" button (shared — injected into every tool page's header) ── */
.alpaca-hdr-pop{margin-left:auto;align-self:center;float:right;font:600 12px/1 inherit;color:var(--muted2,#667);
  background:var(--panel,#fff);border:1px solid var(--border2,var(--border,#dde));border-radius:8px;padding:6px 11px;
  cursor:pointer;white-space:nowrap}
.alpaca-hdr-pop:hover{color:var(--blue,#4890f5);border-color:var(--blue,#4890f5)}
body.popup-mode .alpaca-hdr-pop,body.popup-mode #popBtn{display:none}
/* header theme toggle (icon-only) — moved out of the sidebar footer */
.alpaca-hdr-theme{align-self:center;float:right;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:30px;padding:0;color:var(--muted2,#667);background:var(--panel,#fff);
  border:1px solid var(--border2,var(--border,#dde));border-radius:8px;cursor:pointer}
.alpaca-hdr-theme:hover{color:var(--blue,#4890f5);border-color:var(--blue,#4890f5)}
.alpaca-hdr-theme svg{display:block}
body.popup-mode .alpaca-hdr-theme{display:none}

/* ── Favorite heart (same header slot and metrics as the theme toggle) ──────── */
/* `padding:0` and `flex:none` are LOAD-BEARING, not tidiness. These controls are injected into the
   page's own <header>, so a page that styles bare `button {padding:5px 14px}` reaches them — and
   with box-sizing:border-box on a fixed 32px width, 28px of padding leaves 2px of content, which
   crushed the 14px glyph to a 2px sliver on /birt-builder. Declaring both here fixes it for every
   page at once rather than chasing the next template that styles its buttons. */
.alpaca-hdr-fav{align-self:center;float:right;margin-left:8px;display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:30px;padding:0;color:var(--muted2,#667);background:var(--panel,#fff);
  border:1px solid var(--border2,var(--border,#dde));border-radius:8px;cursor:pointer}
.alpaca-hdr-knowledge{align-self:center;float:right;margin-left:8px;display:inline-flex!important;align-items:center;justify-content:center;
  width:32px;height:30px;padding:0;flex:0 0 auto;color:var(--muted2,#667);background:var(--panel,#fff);
  border:1px solid var(--border2,var(--border,#dde));border-radius:8px;cursor:pointer;text-decoration:none!important;
  font:600 12px/1 var(--sans,inherit)}
.alpaca-hdr-fav:hover,.alpaca-hdr-knowledge:hover,.alpaca-hdr-knowledge[aria-current="page"]{color:var(--blue,#4890f5);border-color:var(--blue,#4890f5)}
.alpaca-hdr-fav:disabled{opacity:.6;cursor:default}
/* Unpinned reads as an outline, pinned as a solid heart — one glyph, so the two states can never
   disagree about which icon they are drawing. Pinned differs by FILL ALONE: this control sits in
   the same header slot as the theme toggle and keeps its neutral grey, rather than painting a red
   badge into the header of every tool that happens to be favourited. */
.alpaca-hdr-fav .ficon{width:14px;height:14px;flex:none;display:block;fill:none;stroke:currentColor;stroke-width:38px}
.alpaca-hdr-fav.on .ficon{fill:currentColor;stroke:none}
.alpaca-hdr-knowledge .ficon{width:14px;height:14px;flex:none;display:block;fill:currentColor}
.alpaca-hdr-fav:focus-visible,.alpaca-hdr-knowledge:focus-visible{outline:2px solid var(--blue,#4890f5);outline-offset:2px}
body.popup-mode :is(.alpaca-hdr-fav,.alpaca-hdr-knowledge){display:none}

/* ── Global Activity Center (read-only jobs + active-client context) ────────── */
.alpaca-hdr-activity{position:relative;align-self:center;float:right;margin-left:8px;display:inline-flex;align-items:center;gap:6px;
  height:30px;color:var(--muted2,#667);background:var(--panel,#fff);border:1px solid var(--border2,var(--border,#dde));
  border-radius:8px;padding:0 10px;font:600 12px/1 var(--sans,inherit);cursor:pointer;white-space:nowrap}
.alpaca-hdr-activity:hover,.alpaca-hdr-activity[aria-expanded="true"]{color:var(--blue,#4890f5);border-color:var(--blue,#4890f5)}
.alpaca-hdr-activity .ficon{width:13px;height:13px;fill:currentColor;display:block}
.alpaca-activity-badge{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;
  border:2px solid var(--panel,#fff);border-radius:99px;background:var(--blue,#0ea5e9);color:#fff;font:800 9px/1 var(--sans,inherit)}
.alpaca-activity-badge[hidden]{display:none}
body.popup-mode .alpaca-hdr-activity{display:none}

.alpaca-activity-panel{position:fixed;z-index:2400;top:16px;right:16px;bottom:16px;width:min(400px,calc(100vw - 32px));
  display:flex;flex-direction:column;overflow:hidden;background:var(--panel,#fff);color:var(--text,#334155);
  background:color-mix(in srgb,var(--panel,#fff) 30%,transparent);
  -webkit-backdrop-filter:saturate(210%) blur(42px);backdrop-filter:saturate(210%) blur(42px);
  border:1px solid color-mix(in srgb,#fff 55%,transparent);border-radius:16px;
  box-shadow:0 30px 80px -18px rgba(15,23,42,.42);
  font-family:var(--sans,system-ui,sans-serif);transform:translateX(calc(100% + 24px));opacity:0;
  transition:transform .18s ease,opacity .18s ease}
.alpaca-activity-panel[hidden],#alpacaActivityPanel [hidden]{display:none!important}
.alpaca-activity-panel.open{transform:none;opacity:1}
.alpaca-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px;
  border-bottom:1px solid var(--border,#e2e8f0);background:linear-gradient(135deg,var(--panel,#fff),var(--surface,#f8fafc))}
.alpaca-activity-kicker{margin-bottom:2px;color:var(--blue,#0ea5e9);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.alpaca-activity-head h2{margin:0!important;color:var(--ink,#1e293b)!important;font:800 18px/1.2 var(--sans,inherit)!important;letter-spacing:-.01em!important}
.alpaca-activity-head p{margin:3px 0 0!important;color:var(--muted2,#64748b)!important;font:500 11.5px/1.3 var(--sans,inherit)!important}
.alpaca-activity-actions{display:flex;gap:6px;flex:0 0 auto}
.alpaca-activity-actions button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border,#e2e8f0);border-radius:8px;
  background:var(--panel,#fff);color:var(--muted2,#64748b);cursor:pointer;padding:0}
.alpaca-activity-actions button:hover{color:var(--blue,#0ea5e9);border-color:var(--blue,#0ea5e9)}
.alpaca-activity-actions button:disabled{cursor:wait;opacity:.65}
.alpaca-activity-actions .ficon{width:12px;height:12px;fill:currentColor}
/* Isolate the shared drawer header from each tool's generic button sizing. */
html:root body #alpacaActivityPanel.alpaca-activity-panel .alpaca-activity-head{
  align-items:center;padding:18px;gap:16px;flex:none;background:var(--panel,#fff)!important;
}
#alpacaActivityPanel .alpaca-activity-head>div:first-child{min-width:0;flex:1}
#alpacaActivityPanel .alpaca-activity-head .alpaca-activity-actions{align-items:center;gap:8px}
html:root body #alpacaActivityPanel .alpaca-activity-actions button{
  box-sizing:border-box;display:grid;place-items:center;flex:0 0 32px;
  width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
  padding:0!important;margin:0!important;line-height:1;border-radius:8px!important;box-shadow:none!important;
}
#alpacaActivityPanel .alpaca-activity-actions .ficon{display:block;width:14px;height:14px}
html:root body #alpacaActivityPanel .alpaca-activity-actions button:focus:not(:focus-visible){outline:none!important}
html:root body #alpacaActivityPanel .alpaca-activity-actions button:focus-visible{outline:2px solid var(--primary)!important;outline-offset:-2px!important}
/* Keep background page text and host-tool control sizes out of the activity drawer. */
html:root body #alpacaActivityPanel.alpaca-activity-panel{background:var(--panel,#fff)!important}
#alpacaActivityPanel .alpaca-activity-job-top{align-items:center;grid-template-columns:18px minmax(0,1fr) auto 28px;gap:8px}
#alpacaActivityPanel .alpaca-activity-job-top>:is(strong,.alpaca-activity-link){grid-column:2 / 4;align-self:center}
#alpacaActivityPanel .alpaca-activity-job-top>.alpaca-activity-state{grid-column:2;grid-row:2}
#alpacaActivityPanel .alpaca-activity-job-top>.alpaca-activity-cancel{grid-column:3 / 5;grid-row:2;justify-self:end}
html:root body #alpacaActivityPanel .alpaca-activity-dismiss{
  display:grid;place-items:center;box-sizing:border-box;width:28px!important;min-width:28px!important;
  height:28px!important;min-height:28px!important;padding:0!important;margin:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;color:var(--muted2)!important;
}
html:root body #alpacaActivityPanel .alpaca-activity-dismiss .ficon{width:12px;height:12px;display:block;fill:currentColor}
html:root body #alpacaActivityPanel .alpaca-activity-cancel{
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  width:auto!important;min-width:0!important;height:28px!important;min-height:28px!important;
  padding:0 8px!important;font:600 11px/1 var(--sans)!important;border-radius:6px!important;
}
#alpacaActivityPanel .alpaca-activity-job{padding:12px}
#alpacaActivityPanel .alpaca-activity-job p{margin-top:10px!important}
html:root body #alpacaActivityPanel .alpaca-activity-job.is-spotlight{border:1px solid var(--primary,var(--blue))!important}
#alpacaActivityPanel .alpaca-activity-job-scope{margin:8px 0 0 26px;color:var(--muted2);font:600 11px/1.4 var(--sans);overflow-wrap:anywhere}
#alpacaActivityPanel .alpaca-activity-bulk{gap:6px;padding-top:4px;padding-bottom:12px}
html:root body #alpacaActivityPanel .alpaca-activity-bulk button{
  display:inline-flex;align-items:center;justify-content:center;min-width:0!important;
  height:auto!important;min-height:30px!important;margin:0!important;padding:5px 8px!important;
  font:600 11px/1.4 var(--sans)!important;
}
.alpaca-activity-refresh.is-loading .ficon{animation:alpaca-activity-spin .8s linear infinite}
.alpaca-activity-context{display:flex;align-items:center;gap:10px;margin:12px 14px 5px;padding:10px 11px;border:1px solid var(--border,#e2e8f0);
  border-radius:10px;background:var(--surface,#f8fafc)}
.alpaca-activity-context-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;
  color:var(--blue,#0ea5e9);background:var(--blue-dim,#e0f2fe)}
.alpaca-activity-context-icon .ficon{width:12px;height:12px;fill:currentColor}
.alpaca-activity-context span:last-child{display:flex;flex-direction:column;min-width:0}
.alpaca-activity-context small{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted,#94a3b8)}
.alpaca-activity-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink,#1e293b);font-size:12px;line-height:1.3}
.alpaca-activity-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.alpaca-activity-list{min-height:0;flex:1;overflow:auto;padding:8px 14px 14px;overscroll-behavior:contain}
.alpaca-activity-list::-webkit-scrollbar{width:6px}.alpaca-activity-list::-webkit-scrollbar-thumb{background:var(--border2,#cbd5e1);border-radius:99px}
.alpaca-activity-job{padding:11px 12px;border:1px solid var(--border,#e2e8f0);border-radius:10px;background:var(--panel,#fff);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.08))}
.alpaca-activity-job+.alpaca-activity-job{margin-top:8px}
/* Keep row titles independent of status length and the page's form-control rules. */
.alpaca-activity-job-top{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:start;gap:8px}
.alpaca-activity-job-top>:is(strong,.alpaca-activity-link){grid-column:2;grid-row:1;min-width:0;color:var(--ink,#1e293b);font:650 13px/1.4 var(--sans);overflow-wrap:anywhere;white-space:normal}
.alpaca-activity-job-top>.alpaca-activity-pick{grid-column:1;grid-row:1;align-self:center}
.alpaca-activity-job-top>.alpaca-activity-state{grid-column:2 / -1;grid-row:2;justify-self:start;max-width:100%;white-space:normal}
.alpaca-activity-job-top>.alpaca-activity-cancel{grid-column:3;grid-row:1;margin:0}
.alpaca-activity-job-top>.alpaca-activity-rerun{grid-column:3;grid-row:1;margin:0}
.alpaca-activity-job-top>.alpaca-activity-dismiss{grid-column:4;grid-row:1;margin:0;padding:3px}
.alpaca-activity-state{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border-radius:99px;padding:3px 7px;
  background:var(--surface2,#eef2f7);color:var(--muted2,#64748b);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.alpaca-activity-state i{width:6px;height:6px;border-radius:50%;background:currentColor}
.alpaca-activity-state.running{color:var(--blue,#0ea5e9);background:var(--blue-dim,#e0f2fe)}
.alpaca-activity-state.queued{color:var(--amber,#f59e0b);background:var(--amber-dim,#fef3c7)}
.alpaca-activity-state.done{color:var(--green,#10b981);background:var(--green-dim,#d1fae5)}
.alpaca-activity-state.error{color:var(--red,#ef4444);background:var(--red-dim,#fee2e2)}
.alpaca-activity-job p{margin:5px 0 0!important;color:var(--muted2,#64748b)!important;font:500 11px/1.35 var(--sans,inherit)!important;
  overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.alpaca-activity-job-meta{display:flex;justify-content:space-between;gap:8px;margin-top:7px;color:var(--muted,#94a3b8);font-size:9.5px;font-weight:650}
.alpaca-activity-progress{height:4px;margin-top:6px;overflow:hidden;border-radius:99px;background:var(--surface2,#eef2f7)}
.alpaca-activity-progress i{display:block;height:100%;border-radius:inherit;background:var(--g-primary,linear-gradient(90deg,#0ea5e9,#38bdf8));transition:width .2s ease}
.alpaca-activity-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:5px;padding:20px;text-align:center;color:var(--muted2,#64748b);font-size:11.5px}
.alpaca-activity-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green-dim,#d1fae5);color:var(--green,#10b981);margin-bottom:3px}
.alpaca-activity-empty.error>span{background:var(--red-dim,#fee2e2);color:var(--red,#ef4444)}
.alpaca-activity-empty .ficon{width:15px;height:15px;fill:currentColor}.alpaca-activity-empty strong{color:var(--ink,#1e293b);font-size:12.5px}.alpaca-activity-empty small{font-size:10.5px;max-width:250px}
.alpaca-activity-foot{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:9px 12px;border-top:1px solid var(--border,#e2e8f0);
  color:var(--muted,#94a3b8);background:var(--surface,#f8fafc);font-size:9.5px;font-weight:650}
.alpaca-activity-pulse{width:6px;height:6px;border-radius:50%;background:var(--green,#10b981);box-shadow:0 0 0 3px var(--green-dim,#d1fae5)}
@keyframes alpaca-activity-spin{to{transform:rotate(360deg)}}
@media (max-width:600px){
  .alpaca-hdr-activity{width:32px;padding:0;justify-content:center}.alpaca-hdr-activity-label{display:none}
  .alpaca-activity-panel{top:62px;right:10px;bottom:10px;left:10px;width:auto;border-radius:12px}
}
@media (prefers-reduced-motion:reduce){
  .alpaca-activity-panel,.alpaca-activity-progress i{transition:none}.alpaca-activity-refresh.is-loading .ficon{animation:none}
}
/* the "All Tools" back link is redundant now the sidebar has a Dashboard item.
   Covers both markups: .hdr-link and the builder pages' <nav class="app-nav">.
   (!important beats the inline display:inline-flex some pages set on it; the JS
   sweep in soft-notus.js also removes the element outright as a backstop.) */
body.sb-injected .hdr-link[href="/dashboard"],
body.sb-injected nav.app-nav,
body.sb-injected .app-nav a[href="/dashboard"],
/* Manage Tenants + the per-page theme toggle now live in the sidebar (footer / Admin),
   so hide the redundant header copies. The sidebar's own toggle (#sbThemeBtn) is not
   matched by any of these selectors. */
body.sb-injected .hdr-link[href="/manage-tenants"],
body.sb-injected .btn-theme,
body.sb-injected #btn-theme,
body.sb-injected #themeBtn,
body.sb-injected #alpaca-theme-btn,
body.sb-injected [data-theme-toggle]{display:none !important}
/* Floating top bar on every injected page: turn the page's own <header> into a
   rounded, elevated card that sits with a gap from the top & right (its left edge
   rides the sidebar content offset), matching the dashboard's floating topbar.
   Sticky so it stays put on scroll. Desktop only — mobile keeps the plain bar. */
@media (min-width:1201px){
  body.sb-injected > header,
  body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop){
    position:sticky !important; top:16px !important; z-index:1100 !important;
    margin:16px 24px 14px 0 !important;
    border:1px solid var(--border) !important;
    border-radius:14px !important;
    box-shadow:var(--shadow-lg) !important;
  }
  /* A header a page nested in its own wrapper already has that wrapper's gutters. */
  body.sb-injected :not(body)>header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop){margin:0 0 14px !important}
}
/* Header brand icon synced to the sidebar glyph (soft-notus.js syncHeaderIcon).
   Keeps the tab/header/sidebar icon identical across the app. */
.logo-icon-fa{display:grid;place-items:center}
.logo-icon-fa .ficon{width:58%;height:58%;fill:currentColor;display:block}

/* Keyboard focus — a visible ring for every focusable control (was absent app-wide, a11y).
   Sidebar items use an INSET ring so the rail's overflow:hidden can't clip it. */
:focus-visible{outline:2px solid var(--blue,#4890f5);outline-offset:2px}
/* Skip-to-content targets receive focus for navigation, but are not controls. Outlining their whole
   content area paints a page-height accent border beside Jimmy; keep the ring on interactive controls. */
:is(main,.app-main,[role="main"],.main,.wrap)[tabindex="-1"]:focus-visible{outline:none}
.sb-root :focus-visible{outline:none;box-shadow:none}

/* Suppress the legacy global bar when an older script is still cached. */
.alpaca-progress{display:none!important;}

/* Skip-to-content link (injected by soft-notus.js) — visually hidden until focused. */
.sb-skip{position:fixed;top:8px;left:8px;z-index:2000;background:var(--blue,#4890f5);color:#fff;
  padding:8px 14px;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none;
  transform:translateY(-160%);transition:transform .15s}
.sb-skip:focus{transform:none;outline:2px solid #fff;outline-offset:2px}

/* floating open button + backdrop (mobile) */
button.sb-open{display:none;position:fixed;top:14px;left:14px;z-index:1001;width:38px;height:38px;border:0;border-radius:8px;
  background:var(--panel);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer;place-items:center;font-size:15px;
  transition:left var(--alpaca-duration-base) var(--alpaca-ease-drawer),background var(--alpaca-duration-fast) ease,box-shadow var(--alpaca-duration-fast) ease}
button.sb-open .ficon{width:1em;height:1em;fill:currentColor}
.sb-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:999}
@media (max-width:1200px){
  body.sb-injected,body.sb-injected.sb-mini{padding-left:0}
  .sb-root{transform:translateX(-118%)}
  body.sb-open .sb-root{transform:none;box-shadow:0 22px 50px -10px rgba(0,0,0,.4);width:var(--sb-w)}
  body.sb-open button.sb-open{left:calc(var(--sb-w) - 32px);background:var(--surface);box-shadow:none}
  body.sb-open .sb-head{flex-direction:row;gap:.6em;padding:1em 1em .75em}
  body.sb-open .sb-search{display:flex}
  body.sb-open .sb-gear{display:inline-flex}
  body.sb-open .sb-brand,body.sb-open .sb-grp,body.sb-open .sb-item .sb-lbl{opacity:1;display:block}
  body.sb-open .sb-item{gap:.7em}
  body.sb-open .alpaca-legal{display:block}
  body.sb-injected .sb-toggle{display:none}
  button.sb-open{display:grid}
  .sb-backdrop{display:block;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .16s ease,visibility 0s linear .16s}
  body.sb-open .sb-backdrop{display:block;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
}

@media (prefers-reduced-motion:reduce){
  .sb-root,body.sb-injected.sb-ready,.sb-backdrop,button.sb-open{transition:none!important}
  .sb-nav-more{transition:none!important}
  .sb-nav-status.is-loading i{animation:none!important}
  html[data-alpaca-shell-mode="authored"] :is(.app-main,.topbar){transition:none!important}
  .sb-eb,.sb-editing .sb-item,.sb-editing .sb-grp-wrap{transition:none!important}
  .sb-drag-preview,.sb-remove-blocked{animation:none!important}
}

@media print{
  body.sb-injected,
  html[data-alpaca-shell="pending"] body:not([data-no-shell]){padding-left:0!important}
  html[data-alpaca-shell="pending"] body:not([data-no-shell])::before,
  html[data-alpaca-shell="pending"]::after{display:none!important}
  .sb-root,button.sb-open,.sb-backdrop{display:none!important}
}

/* ── Expand any [data-expandable] container to full screen (shared; see soft-notus.js installExpand) ── */
.ax-btn{position:absolute;top:6px;right:6px;z-index:6;display:inline-flex;align-items:center;gap:5px;
  font-size:12px;font-weight:600;padding:5px 9px;border:1px solid var(--border,#d0d5dd);border-radius:8px;
  background:var(--surface,var(--panel,#fff));color:var(--muted,#667085);cursor:pointer;line-height:1}
.ax-btn:hover{color:var(--text,#101828);border-color:var(--text,#101828)}
.ax-btn svg{flex:none}
/* Only surface the button once the container actually holds a table (keeps it off empty result areas). */
[data-expandable]:not(:has(table)) > .ax-btn{display:none}
[data-expandable]:fullscreen{background:var(--bg,var(--panel,#fff));padding:48px 18px 18px;overflow:auto}
[data-expandable]:fullscreen>.ax-btn{position:fixed;top:12px;right:16px}
[data-expandable]:fullscreen .tblwrap,[data-expandable]:fullscreen .gridwrap{max-height:calc(100vh - 96px)}
[data-expandable]:-webkit-full-screen{background:var(--bg,var(--panel,#fff));padding:48px 18px 18px;overflow:auto}
[data-expandable]:-webkit-full-screen>.ax-btn{position:fixed;top:12px;right:16px}
[data-expandable]:-webkit-full-screen .tblwrap,[data-expandable]:-webkit-full-screen .gridwrap{max-height:calc(100vh - 96px)}
[data-expandable].ax-fs{position:fixed;inset:0;z-index:2147483000;background:var(--bg,var(--panel,#fff));margin:0;padding:48px 18px 18px;overflow:auto}
[data-expandable].ax-fs>.ax-btn{position:fixed;top:12px;right:16px}
[data-expandable].ax-fs .tblwrap,[data-expandable].ax-fs .gridwrap{max-height:calc(100vh - 108px)}
body.ax-fs-active .sb-root,body.ax-fs-active .sb-open,body.ax-fs-active .sb-backdrop,body.ax-fs-active header{display:none!important}

/* ── Surface note (see soft-notus.js announceSurface) ────────────────────────
   Shown on a page the portfolio audit no longer treats as a standalone tool. It states where the
   job lives now and gets out of the way — informational weight, not an error: the page still works,
   so this must never read like a failure or push the tool below the fold. */
.alpaca-surface-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;
  margin:0 0 14px;padding:9px 14px;border:1px solid var(--border2,var(--border,#dde));
  border-left:1px solid var(--muted,#94a3b8);border-radius:8px;background:var(--surface,#f8fafc);
  font:400 12.5px/1.5 var(--sans,system-ui);color:var(--muted2,#64748b)}
.alpaca-surface-note strong{font-weight:700;color:var(--ink,#1e293b);letter-spacing:-.01em}
.alpaca-surface-note a{color:var(--blue,#0ea5e9);font-weight:600;text-decoration:none}
.alpaca-surface-note a:hover{text-decoration:underline}
.alpaca-surface-note .alpaca-surface-all{margin-left:auto;font-weight:600;color:var(--muted2,#64748b);white-space:nowrap}
.alpaca-surface-merged{border-left-color:var(--blue,#0ea5e9)}
.alpaca-surface-retired{border-left-color:var(--amber,#f59e0b)}

/* ── Tool-family ☰ menu (header dropdown next to Pop-out; see soft-notus.js installFamilyMenu) ── */
.fam-menu{position:relative;margin-left:auto;align-self:center;float:right}
.fam-menu ~ .alpaca-hdr-pop{margin-left:6px}          /* keep Pop-out snug beside the menu, not auto-spaced */
.fam-menu-btn{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 inherit;color:var(--muted2,#667);
  background:var(--panel,#fff);border:1px solid var(--border2,var(--border,#dde));border-radius:8px;padding:6px 11px;
  cursor:pointer;white-space:nowrap}
.fam-menu-btn:hover{color:var(--blue,#4890f5);border-color:var(--blue,#4890f5)}
.fam-menu-btn svg{flex:none}
.fam-menu-panel{position:fixed;z-index:3000;min-width:230px;max-width:calc(100vw - 16px);box-sizing:border-box;max-height:72vh;overflow:auto;
  background:var(--panel,#fff);
  background:color-mix(in srgb,var(--panel,#fff) 30%,transparent);
  -webkit-backdrop-filter:saturate(210%) blur(34px);backdrop-filter:saturate(210%) blur(34px);
  border:1px solid color-mix(in srgb,#fff 50%,transparent);border-radius:12px;
  box-shadow:var(--shadow-lg,0 12px 32px rgba(0,0,0,.18));padding:6px;display:none}
.fam-menu-panel.open{display:block}
.fam-menu-panel .fam-menu-title{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted,#889);padding:6px 10px 5px}
.fam-menu-panel a{display:block;padding:7px 10px;border-radius:7px;font-size:13px;font-weight:600;
  color:var(--text,#223);text-decoration:none;white-space:nowrap}
.fam-menu-panel a:hover{background:var(--surface,#f4f6fa)}
.fam-menu-panel a.active{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}
body.popup-mode .fam-menu{display:none}

/* Platform tools share the original Notus typography and neutral color system even when a
   capability stylesheet predates the central shell. Platform styles are scoped to main so they
   can never recolor the sidebar, header actions, or Theme control. */
body.r10-tool{font-family:var(--sans)!important;background:var(--bg)!important;color:var(--text)!important}
body.alpaca-tool{font-family:var(--sans)!important;background:var(--bg)!important;color:var(--text)!important}
body:is(.r10-tool,.alpaca-tool) main :where(button,input,select,span,small,label){font-family:var(--sans)!important}
body:is(.r10-tool,.alpaca-tool) main :where(textarea,pre,code){font-family:var(--mono)!important}
body.r10-tool main :where(h1,h2,h3,h4){font-family:var(--sans)!important;color:var(--ink)!important;letter-spacing:-.025em!important}
body.alpaca-tool main :where(h1,h2,h3,h4){font-family:var(--sans)!important;color:var(--ink)!important;letter-spacing:-.025em!important}
body:is(.r10-tool,.alpaca-tool) main h1{font-size:34px!important;line-height:1.12!important}
body:is(.r10-tool,.alpaca-tool) main h2{font-size:18px!important;line-height:1.25!important}
body:is(.r10-tool,.alpaca-tool) main :where(p,label,small){font-family:var(--sans)!important;color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool) main p{font-size:13px!important;line-height:1.55!important}
body:is(.r10-tool,.alpaca-tool) main label>span:first-child{font-family:var(--sans)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.055em!important;color:var(--muted2)!important}
body.r10-tool main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),select),
body.alpaca-tool main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),select){min-height:var(--ctl-h)!important;padding:8px 10px!important;font-size:12px!important;background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--border2)!important;border-radius:var(--ctl-r)!important}
body:is(.r10-tool,.alpaca-tool) main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),select,textarea):focus{outline:0!important;border-color:var(--blue)!important;box-shadow:0 0 0 3px var(--blue-glow)!important}
body:is(.r10-tool,.alpaca-tool) main :where(textarea,pre){color:var(--text)!important;border-color:var(--border2)!important}
body:is(.r10-tool,.alpaca-tool) main button:not(.ax-btn){min-height:var(--ctl-h)!important;padding:8px 13px!important;background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--border2)!important;border-radius:var(--ctl-r)!important;box-shadow:none!important}
body:is(.r10-tool,.alpaca-tool) main button.primary,
body:is(.r10-tool,.alpaca-tool) main button[type="submit"],
body:is(.r10-tool,.alpaca-tool) main button#console-run{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
body:is(.r10-tool,.alpaca-tool) main button.danger{background:var(--panel)!important;color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 35%,var(--border2))!important}
body:is(.r10-tool,.alpaca-tool)>header{box-sizing:border-box!important;height:52px!important;padding:0 16px!important;gap:10px!important;font-family:var(--sans)!important;background:var(--panel)!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}
body:is(.r10-tool,.alpaca-tool)>header .logo-icon{width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 32px!important;border-radius:9px!important}
body:is(.r10-tool,.alpaca-tool)>header .logo-icon:not(.alpaca-brand-mark){background:var(--g-primary)!important;color:#fff!important;box-shadow:0 2px 8px var(--blue-glow)!important}
body.r10-tool>header .logo-icon svg,
body.alpaca-tool>header .logo-icon svg{width:17px!important;height:17px!important;color:inherit!important;fill:currentColor}
body:is(.r10-tool,.alpaca-tool)>header .logo-name{color:var(--ink)!important}
body:is(.r10-tool,.alpaca-tool)>header .logo-name span{color:var(--muted)!important}
body:is(.r10-tool,.alpaca-tool)>header .logo-edition{color:var(--muted2)!important;-webkit-text-fill-color:currentColor!important;background:none!important}
body:is(.r10-tool,.alpaca-tool)>header>a{color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool)>header>span:not(.alpaca-brand-mark){background:var(--surface2)!important;color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool)>header .brand{display:flex!important;align-items:center!important;gap:9px!important;color:var(--ink)!important}
body:is(.r10-tool,.alpaca-tool)>header .brand>span:not(.logo-icon){color:var(--muted)!important}
/* Header actions are allowed to use the remaining row, but the product/tool
   identity must not collapse into three lines as controls are injected. */
body.sb-injected>header :is(.brand,.logo){flex-shrink:0;white-space:nowrap}
/* Normalises a tool header's own buttons. It has to use the SAME tokens as the shared top-bar
   controls it sits beside — with its own 32px/7px it out-specified them (body class + two
   elements beats a class), so Pop out and the theme toggle rendered a different size and
   corner from each other on every .alpaca-tool page. */
body:is(.r10-tool,.alpaca-tool)>header button{min-height:var(--ctl-h-hdr)!important;height:var(--ctl-h-hdr)!important;padding:6px 10px!important;background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--border2)!important;border-radius:var(--ctl-r)!important;box-shadow:none!important}

/* ── Brand line — canonical, and NOT gated ───────────────────────────────────
   The tool name after "Alpaca" was never in this file. 112 templates hand-rolled
   it and it split into six treatments: 53 filled the name with the brand gradient,
   46 used muted grey, the rest varied, and one page styled it with a bare h1 at
   24px in --primary so the tool name outweighed the product name. Sergey chose
   MUTED, so it lives here once instead of in every future page.

   This file loads after each page's inline <style>, and all 124 hand-rolled rules
   use exactly `.logo-text span`, so matching that selector wins on order without
   !important. The gradient pages need more than a `color`: background-clip:text +
   -webkit-text-fill-color:transparent keeps the text transparent whatever colour
   is set, so both are reset here. Same reset the .logo-edition rule above already
   does — that one is gated to two body classes, which is why most pages never
   got it. */
.logo-text{font-weight:700}
/* Twelve pages carry the brand in an <h1> inside <header> rather than a .logo-text div.
   `header h1` is more specific than the bare `h1` those pages style, and scoped to the header so a
   page's own content headings are untouched. */
header h1{font-size:14px;font-weight:700;letter-spacing:normal;line-height:1.15}
.logo-text span,.brand-tool,.logo-name span,header h1 span{
  font-weight:400;font-size:12px;color:var(--muted);
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  -webkit-text-fill-color:currentColor}
.logo-edition,.edition{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);background:none;-webkit-text-fill-color:currentColor}

body:is(.r10-tool,.alpaca-tool) main{padding-top:22px!important}
:root:not([data-theme="dark"]) body:is(.r10-tool,.alpaca-tool) main{--muted:var(--muted2)}
body:is(.r10-tool,.alpaca-tool) main .alpaca-all-tools{
  display:block;width:max-content;margin:0 0 20px;color:var(--blue)!important;text-decoration:none!important;
  font:700 13px/1.2 var(--sans)!important;letter-spacing:0!important
}
body:is(.r10-tool,.alpaca-tool) main .alpaca-all-tools:hover{text-decoration:underline!important}
/* Capability styles use several historical prefixes (up-panel, ps-panel, gg-panel, and so on).
   Normalize structural surfaces by role instead of maintaining a per-tool dark-mode patch list. */
body:is(.r10-tool,.alpaca-tool) main :where(
  .r10-metrics>div,.r10-panel,.metrics>.metric,.metrics>div,.panel,.card,
  [class$="-metrics"]>div,
  section[class$="-panel"],section[class*="-panel "],
  article[class$="-panel"],article[class*="-panel "],
  aside[class$="-panel"],aside[class*="-panel "],
  div[class$="-panel"],div[class*="-panel "],
  form[class$="-panel"],form[class*="-panel "],
  [class$="-grid"]>form,[class$="-compose"]>form,
  .ps-editor
){
  background:var(--panel)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important
}
body:is(.r10-tool,.alpaca-tool) main :where(textarea,pre,.r10-output-wrap){background:var(--surface)!important;color:var(--text)!important;border-color:var(--border2)!important}
body:is(.r10-tool,.alpaca-tool) main .status,
body:is(.r10-tool,.alpaca-tool) main .r10-good{color:var(--text)!important}
body:is(.r10-tool,.alpaca-tool) main .r10-result-badge:not(.bad):not(.warn){background:var(--surface2)!important;color:var(--text)!important}
body:is(.r10-tool,.alpaca-tool) main :where(
  [class$="-intro"],[class*="-intro "],
  [class$="-head"],[class*="-head "],
  [class$="-metrics"],[class*="-metrics "],
  section[class$="-panel"],section[class*="-panel "],
  article[class$="-panel"],article[class*="-panel "]
) :where(span:not([class*="-pill"]):not([class*="-badge"]):not([class*="-status"])),
body:is(.r10-tool,.alpaca-tool) main label>span{color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool) main :where([class$="-metrics"],[class*="-metrics "]) strong{color:var(--text)!important}
body:is(.r10-tool,.alpaca-tool) main :where(
  [class$="-panel"],[class*="-panel "],
  [class$="-grid"]>form,[class*="-grid "]>form
)>div:first-child>span{color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool) main :where([class$="-head"],[class*="-head "])>b,
body:is(.r10-tool,.alpaca-tool) main :where([class$="-node"],[class*="-node "])>i{color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool) main :where(.empty,[class$="-empty"],[class*="-empty "],[class$="-sub"],[class*="-sub "],[class$="-edge"],[class*="-edge "]){color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool) main :where(ol,ul)>li{color:var(--muted2)!important}
body:is(.r10-tool,.alpaca-tool) main a:not(.alpaca-all-tools):not([class*="button"]):not([class*="btn"]){color:var(--blue)!important}
body:is(.r10-tool,.alpaca-tool) main :where([class$="-patterns"],[class*="-patterns "])>span{
  background:var(--surface2)!important;color:var(--text)!important;border-color:var(--border)!important
}
body:is(.r10-tool,.alpaca-tool) main [class$="-patterns"]>span,
body:is(.r10-tool,.alpaca-tool) main [class*="-patterns "]>span{color:var(--text)!important}
:root:not([data-theme="dark"]) body:is(.r10-tool,.alpaca-tool) main [class*="-pill"]:not(.bad):not(.deny):not(.attention){color:var(--text)!important}
:root:not([data-theme="dark"]) body:is(.r10-tool,.alpaca-tool) main button.danger{color:#b91c1c!important}
[data-theme="dark"] body:is(.r10-tool,.alpaca-tool) main [class*="-pill"]{
  background:var(--surface2)!important;color:var(--text)!important;border-color:var(--border2)!important
}
[data-theme="dark"] body:is(.r10-tool,.alpaca-tool) main [class*="-pill"].bad,
[data-theme="dark"] body:is(.r10-tool,.alpaca-tool) main [class*="-pill"].deny,
[data-theme="dark"] body:is(.r10-tool,.alpaca-tool) main [class*="-pill"].attention{
  background:var(--red-dim)!important;color:var(--red)!important
}

/* Page CSS often contains broad `button`/`input` rules. The sidebar is outside the page's
   workspace but inside its <body>, so reassert its controls here to prevent accent/theme leakage.
   NOT gated on a body class: measured across all 315 registry routes, 75 pages rendered the search
   box with their own border-radius inside the sidebar's pill — a box in a box — and every one of
   them was a page these two classes did not cover. `.sb-search-in` alone loses the argument
   (`.some-page input` is class+type, which outranks a class) and cannot win at all on a property
   it never declares. Fixing 75 pages would leave the 76th to reintroduce it. */
.sb-root .sb-toggle{
  background:var(--surface)!important;color:var(--muted)!important;border:0!important;
  min-height:0!important;padding:0!important;box-shadow:none!important;
  font-family:var(--sans)!important;font-weight:400!important
}
.sb-root .sb-foot-btn{
  background:transparent!important;color:var(--text)!important;border:0!important;
  min-height:0!important;padding:.4em .55em!important;box-shadow:none!important
}
.sb-root .sb-search-in{
  min-height:0!important;padding:0!important;background:transparent!important;color:var(--ink)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  /* a page writing the `font` SHORTHAND resets weight/size/family in one go — process-monitor's
     `font:600 12px var(--sans)` made the sidebar's placeholder bold on that page alone */
  font-weight:400!important;font-family:var(--sans)!important;font-size:.85em!important
}
body:is(.r10-tool,.alpaca-tool) .fam-menu button,
body:is(.r10-tool,.alpaca-tool) .alpaca-hdr-pop{
  font-family:var(--sans)!important;background:var(--panel)!important;color:var(--muted2)!important;
  border:1px solid var(--border2)!important;box-shadow:none!important
}
@media(max-width:800px){body:is(.r10-tool,.alpaca-tool) main h1{font-size:28px!important}.alpaca-all-tools{margin-bottom:16px!important}}


/* ── Shared confirm dialog (R11.16) ───────────────────────────────────────────
   Backs window.alpacaConfirm. Native confirm() blocks the event loop, ignores the
   theme, and 47 templates were using it for destructive actions. */
.alpaca-confirm-wrap{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;
  background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}
.alpaca-confirm{background:var(--panel,#fff);color:var(--ink,var(--text,#0f172a));
  background:color-mix(in srgb,var(--panel,#fff) 45%,transparent);
  -webkit-backdrop-filter:saturate(210%) blur(42px);backdrop-filter:saturate(210%) blur(42px);
  border:1px solid color-mix(in srgb,#fff 55%,transparent);border-radius:16px;padding:20px 22px;max-width:26rem;
  box-shadow:0 22px 60px rgba(15,23,42,.3);
  font:14px/1.5 var(--sans,system-ui,sans-serif)}
.alpaca-confirm .ac-msg{white-space:pre-wrap}
.alpaca-confirm .ac-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}
.alpaca-confirm button{font:inherit;font-weight:650;padding:8px 16px;border-radius:9px;
  border:1px solid var(--border,#e5e8ec);background:var(--surface,#f1f5f9);
  color:inherit;cursor:pointer}
.alpaca-confirm button.ac-yes{background:#0ea5e9;background-image:var(--g-primary);
  border-color:transparent;color:#fff}
.alpaca-confirm button.ac-yes.danger{background:#dc2626;background-image:none}
.alpaca-confirm button:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}


/* ── Toast notifications (moved here from alpaca-shared.css, R11.16) ──────────
   window.alpacaToast is exposed by soft-notus.js on every page, so its styles have to
   live on every page too. They previously sat in alpaca-shared.css, which only 49 of 172
   templates load — the toast rendered unstyled (full-width, static, below the fold) on
   the other 123. Measured before moving them: the node sat at y=991 in a 520px viewport. */
/* ── Toast notifications ────────────────────────────────────────────────── */
.alpaca-toast-stack {
  position: fixed; top: 16px; right: 16px; z-index: 9999;
  display: flex; flex-direction: column; gap: 10px;
  pointer-events: none; max-width: 380px;
}
.alpaca-toast {
  pointer-events: auto;
  background: var(--panel); color: var(--text);
  border: 1px solid var(--border); border-left: 1px solid var(--blue);
  border-radius: 8px; box-shadow: var(--shadow-md);
  padding: 10px 14px; font: 500 12.5px var(--sans);
  display: flex; align-items: flex-start; gap: 10px;
  animation: alpaca-toast-in 200ms cubic-bezier(.4,0,.2,1);
}
.alpaca-toast.fade-out { animation: alpaca-toast-out 180ms ease forwards; }
.alpaca-toast.success { border-left-color: var(--green); }
.alpaca-toast.error   { border-left-color: var(--red); }
.alpaca-toast.warn    { border-left-color: var(--amber); }
.alpaca-toast.info    { border-left-color: var(--blue); }
.alpaca-toast-body { flex: 1; line-height: 1.45; word-break: break-word; }
.alpaca-toast-title {
  font-weight: 700; font-size: 11.5px; letter-spacing: .3px;
  text-transform: uppercase; color: var(--muted2); margin-bottom: 2px;
}
.alpaca-toast.success .alpaca-toast-title { color: var(--green); }
.alpaca-toast.error   .alpaca-toast-title { color: var(--red); }
.alpaca-toast.warn    .alpaca-toast-title { color: var(--amber); }
.alpaca-toast.info    .alpaca-toast-title { color: var(--blue); }
.alpaca-toast-close {
  background: none; border: none; cursor: pointer;
  color: var(--muted); font-size: 16px; line-height: 1;
  padding: 0 4px; align-self: flex-start;
}
.alpaca-toast-close:hover { color: var(--text); }

@keyframes alpaca-toast-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes alpaca-toast-out {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(20px); }
}

/* ── Result grid (R11.17) ─────────────────────────────────────────────────────
   Backs AlpacaGrid.render(). Lives here rather than per-page so every tool that
   shows rows gets the same table, sort affordance and filter. */
.alpaca-grid-host{display:flex;flex-direction:column;min-height:0}
.alpaca-grid-host .ag-bar{display:flex;align-items:center;gap:10px;padding:0 0 8px}
.alpaca-grid-host .ag-filter{flex:0 1 260px;font:inherit;font-size:12.5px;padding:6px 10px;
  border:1px solid var(--border,#e5e8ec);border-radius:8px;background:var(--panel,#fff);
  color:inherit}
.alpaca-grid-host .ag-count{font-size:11.5px;color:var(--muted,#64748b)}
.alpaca-grid-host .ag-scroll{overflow:auto;max-height:60vh;border:1px solid var(--border,#e5e8ec);
  border-radius:10px;background:var(--panel,#fff)}
/* width:max-content + a per-cell floor: with many columns in a narrow panel, width:100% squeezed
   an opaque value (a manifest hash) into a one-character-per-line column. Columns size to their
   content now and .ag-scroll takes the overflow. */
.alpaca-grid-host .ag-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px;
  --ag-letter-h:15px}
/* Spreadsheet chrome, matching the EIB review grid: an A/B/C letter row, a row-number gutter, and
   gridlines on every cell. Two stacked sticky header rows means the second must be offset by the
   first's height, so the letter row's height is fixed rather than content-derived. */
.alpaca-grid-host .ag-table tr.ag-letters th{position:sticky;top:0;z-index:3;
  height:var(--ag-letter-h);padding:0;text-align:center;font:700 9.5px/var(--ag-letter-h) inherit;
  color:var(--muted2,var(--muted,#94a3b8));background:var(--surface,#f1f5f9);cursor:default;
  border-right:1px solid var(--border,#e5e8ec);border-bottom:1px solid var(--border,#e5e8ec);
  user-select:none}
.alpaca-grid-host .ag-table tr.ag-head th{position:sticky;top:var(--ag-letter-h);z-index:3;
  text-align:left;padding:8px 10px;
  background:var(--surface2,var(--surface,#f1f5f9));color:var(--muted,#64748b);font-weight:700;
  white-space:nowrap;cursor:pointer;user-select:none;border-bottom:1px solid var(--border,#e5e8ec);
  border-right:1px solid var(--border,#e5e8ec)}
/* Per-column filters: a third sticky row, cleared by the two above it. --ag-head-h is measured and
   set by the grid after each draw because the name row's height is content-driven. */
.alpaca-grid-host .ag-table tr.ag-filters th{position:sticky;
  top:calc(var(--ag-letter-h) + var(--ag-head-h,31px));z-index:3;padding:3px 4px;
  background:var(--surface2,var(--surface,#f1f5f9));border-bottom:1px solid var(--border,#e5e8ec);
  border-right:1px solid var(--border,#e5e8ec)}
.alpaca-grid-host .ag-table tr.ag-filters th.ag-cf-h{text-align:center;color:var(--muted2,#94a3b8);
  font-size:12px;cursor:default}
.alpaca-grid-host .ag-table input.ag-cf{width:100%;min-width:5rem;box-sizing:border-box;
  font:11px var(--mono,ui-monospace,Menlo,monospace);padding:3px 6px;
  border:1px solid var(--border,#e5e8ec);border-radius:5px;
  background:var(--panel,#fff);color:inherit}
.alpaca-grid-host .ag-table input.ag-cf::placeholder{color:var(--muted2,#94a3b8);opacity:.7}
.alpaca-grid-host .ag-table input.ag-cf:focus{outline:none;border-color:#0ea5e9;
  box-shadow:0 0 0 2px rgba(14,165,233,.18)}
/* Corner cells are sticky on BOTH axes, so they must outrank either header alone. Qualified by
   row class because `tr.ag-head th` above is otherwise the more specific selector and wins the
   z-index, letting the name row paint over the corner as you scroll right. */
.alpaca-grid-host .ag-table tr.ag-letters th.ag-corner,
.alpaca-grid-host .ag-table tr.ag-filters th.ag-corner,
.alpaca-grid-host .ag-table tr.ag-head th.ag-corner{left:0;z-index:5;cursor:default}
.alpaca-grid-host .ag-table th.ag-ix-h{text-align:right;padding:8px 8px}
.alpaca-grid-host .ag-table tr.ag-head th:hover{color:var(--ink,var(--text,#0f172a))}
.alpaca-grid-host .ag-table tr.ag-head th.ag-corner:hover{color:var(--muted,#64748b)}
.alpaca-grid-host .ag-table th:focus-visible{outline:2px solid #0ea5e9;outline-offset:-2px}
.alpaca-grid-host .ag-table th.ag-ix{position:sticky;left:0;z-index:2;
  padding:7px 8px;text-align:right;font:400 11px var(--mono,ui-monospace,Menlo,monospace);
  color:var(--muted2,var(--muted,#94a3b8));background:var(--surface,#f1f5f9);
  border-bottom:1px solid var(--border,#e5e8ec);border-right:1px solid var(--border,#e5e8ec);
  user-select:none;width:1%;white-space:nowrap}
.alpaca-grid-host .ag-table td{padding:7px 10px;border-bottom:1px solid var(--border,#e5e8ec);
  border-right:1px solid var(--surface2,#eef2f7);
  vertical-align:top;font-family:var(--mono,ui-monospace,Menlo,monospace);
  min-width:6rem;max-width:34rem;overflow-wrap:anywhere}
.alpaca-grid-host .ag-table tbody tr:hover td{background:var(--surface2,#eef2f7)}
.alpaca-grid-host .ag-table tbody tr:hover th.ag-ix{color:var(--ink,var(--text,#0f172a))}
.alpaca-grid-host .ag-empty{padding:14px;color:var(--muted,#64748b);font-size:12.5px}


/* ── Canonical design tokens (R11.24) ─────────────────────────────────────────
   122 templates each re-declared their own palette — 40 and 36 distinct variants, three
   --bg values in production. These are the MAJORITY values taken FROM those templates, so
   deleting a page's inline copy is a visual no-op rather than a redesign.

   Specificity, not order, is what makes this work. soft-notus already declares
   :root[data-theme="dark"] (0,2,0) and html[data-theme="dark"], while every one of the 261
   template declarations uses the bare [data-theme="dark"] (0,1,0). A first attempt matched
   the templates and lost to those existing rules no matter where it sat in the file —
   which is why the canonical block is declared at :root / :root[data-theme="dark"] here. */
:root{
  --amber:#d97706;
  --amber-dim:#FEF3E2;
  --bg:#f3f4f1;
  --blue:#2563eb;
  --blue-dim:#EBF1FF;
  --blue-glow:rgba(0,82,255,.15);
  --border:#e5e8ec;
  --border2:#CBD1DE;
  --brand:linear-gradient(120deg,#0d9488,#2563eb);
  --green:#16a34a;
  --green-dim:#E6F7F3;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --muted:#64748b;
  --muted2:#94a3b8;
  --panel:#fff;
  --purple:#6E3FF3;
  --purple-dim:#F0EAFE;
  --radius:8px;
  --red:#dc2626;
  --red-dim:#FDECEC;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --display:var(--sans);
  --shadow-md:0 4px 16px rgba(15,23,42,.06);
  --shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --surface:#f1f5f9;
  --surface2:#eef2f7;
  --teal:#0d9488;
  --text:#0f172a;
  --trans:160ms cubic-bezier(.4,0,.2,1);
}
:root[data-theme="dark"]{
  --amber:#fbbf24;
  --amber-dim:#251800;
  --bg:#070d18;
  --blue:#4890f5;
  --blue-dim:#0e2240;
  --blue-glow:rgba(72,144,245,.3);
  --border:#1c2e48;
  --border2:#243a5e;
  --green:#34d399;
  --green-dim:#062419;
  --muted:#5b7a9a;
  --muted2:#8aa4be;
  --panel:#0c1424;
  --purple:#a78bfa;
  --red:#f87171;
  --red-dim:#220b0b;
  --shadow-md:0 6px 20px rgba(0,0,0,.4);
  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --surface:#101d31;
  --surface2:#162038;
  --teal:#2dd4bf;
  --text:#dde6f0;
}

/* ── Installation-wide brand identities ──────────────────────────────────────
   `data-brand-theme` selects a palette/type system; `data-theme` independently
   selects light or dark mode. Every shared/page component consumes these same
   tokens, so adding an identity here cannot create per-tool CSS drift.

   The light identities deliberately share a warm paper background. Their dark
   pairs preserve the accent relationships while using ink-like surfaces and
   WCAG-readable foregrounds instead of mechanically inverting the beige. */
:root[data-brand-theme="atlas-compare"]{
  --bg:#E9E4D7;--panel:#F8F4EA;--surface:#F0EADD;--surface2:#E7DFD0;
  --border:#D1C6B3;--border2:#B5A792;
  --text:#25333D;--ink:#132A3A;--muted:#58635F;--muted2:#606057;
  --blue:#2457C5;--primary:#2457C5;--blue-dim:#DFE6F7;--blue-glow:rgba(36,87,197,.22);
  --purple:#6F477A;--purple-dim:#EEE2EF;
  --teal:#496D63;--teal-dim:#DFEBE4;
  --green:#496D63;--green-dim:#DFEBE4;--good:#496D63;
  --amber:#8F5F13;--amber-dim:#F4E5C6;
  --red:#B4422D;--red-dim:#F5DDD5;--bad:#B4422D;--orange:#B75C31;
  --brand:linear-gradient(120deg,#2457C5,#D65336);
  --g-primary:linear-gradient(120deg,#2457C5,#3B70D8);--g-info:linear-gradient(120deg,#496D63,#78906B);
  --g-success:linear-gradient(120deg,#496D63,#78906B);--g-warning:linear-gradient(120deg,#8F5F13,#C48A2A);
  --g-danger:linear-gradient(120deg,#B4422D,#D65336);--g-dark:linear-gradient(120deg,#132A3A,#294A5D);
  --sans:'Avenir Next','Segoe UI',Roboto,Arial,sans-serif;
  --display:Georgia,'Times New Roman',serif;
  --shadow-sm:0 1px 2px rgba(19,42,58,.08);--shadow-md:0 8px 24px rgba(19,42,58,.10);
  color-scheme:light;
}
:root[data-brand-theme="atlas-compare"][data-theme="dark"]{
  --bg:#111B21;--panel:#19262D;--surface:#21313A;--surface2:#293C45;
  --border:#3A4D55;--border2:#536870;
  --text:#E8E3D7;--ink:#FFF9EC;--muted:#BAC2B9;--muted2:#98A59C;
  --blue:#86A9FF;--primary:#4A6CBD;--blue-dim:#243A62;--blue-glow:rgba(134,169,255,.28);
  --purple:#C6A0D4;--purple-dim:#3C2D43;
  --teal:#7FC0B4;--teal-dim:#1E4542;
  --green:#8DB5A5;--green-dim:#263F38;--good:#8DB5A5;
  --amber:#E8BB65;--amber-dim:#4A381B;
  --red:#FF8A72;--red-dim:#4A2822;--bad:#FF8A72;--orange:#F29A67;
  --brand:linear-gradient(120deg,#5277D0,#C85B43);
  --g-primary:linear-gradient(120deg,#5277D0,#7495E5);--g-info:linear-gradient(120deg,#517E76,#749C8D);
  --g-success:linear-gradient(120deg,#517E76,#749C8D);--g-warning:linear-gradient(120deg,#9A7025,#C99335);
  --g-danger:linear-gradient(120deg,#B84D39,#D96A50);--g-dark:linear-gradient(120deg,#132A3A,#294A5D);
  --shadow-sm:0 1px 3px rgba(0,0,0,.34);--shadow-md:0 8px 26px rgba(0,0,0,.38);
  color-scheme:dark;
}

:root[data-brand-theme="atlas-report"]{
  --bg:#EDE8DC;--panel:#F8F3E8;--surface:#F1EADD;--surface2:#E8DECF;
  --border:#D3C5B3;--border2:#B8A795;
  --text:#352F31;--ink:#352235;--muted:#706761;--muted2:#6F625C;
  --blue:#6D3E6D;--primary:#6D3E6D;--blue-dim:#EEE1EB;--blue-glow:rgba(53,34,53,.18);
  --purple:#6D3E6D;--purple-dim:#EEE1EB;
  --teal:#24736C;--teal-dim:#DCEBE5;
  --green:#367064;--green-dim:#DFEBE4;--good:#367064;
  --amber:#8A6516;--amber-dim:#F3E6C5;
  --red:#B3482E;--red-dim:#F4DDD4;--bad:#B3482E;--orange:#B85D35;
  --brand:linear-gradient(120deg,#352235,#24736C);
  --g-primary:linear-gradient(120deg,#352235,#6D3E6D);--g-info:linear-gradient(120deg,#24736C,#4A938A);
  --g-success:linear-gradient(120deg,#367064,#5B8E7F);--g-warning:linear-gradient(120deg,#8A6516,#B88A2F);
  --g-danger:linear-gradient(120deg,#B3482E,#C45A39);--g-dark:linear-gradient(120deg,#352235,#594157);
  --sans:'Avenir Next','Segoe UI',Roboto,Arial,sans-serif;
  --display:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --shadow-sm:0 1px 2px rgba(53,34,53,.08);--shadow-md:0 8px 24px rgba(53,34,53,.11);
  color-scheme:light;
}
:root[data-brand-theme="atlas-report"][data-theme="dark"]{
  --bg:#171217;--panel:#271F27;--surface:#312732;--surface2:#3A2F3A;
  --border:#4E404D;--border2:#695765;
  --text:#EAE4D7;--ink:#FFF7E9;--muted:#C2B5AE;--muted2:#A79791;
  --blue:#C49AC2;--primary:#775274;--blue-dim:#442F43;--blue-glow:rgba(196,154,194,.25);
  --purple:#C49AC2;--purple-dim:#442F43;
  --teal:#69BDB4;--teal-dim:#1F4845;
  --green:#83B5A5;--green-dim:#29423A;--good:#83B5A5;
  --amber:#E1B75D;--amber-dim:#4A3718;
  --red:#F28D6C;--red-dim:#4B2921;--bad:#F28D6C;--orange:#E89B68;
  --brand:linear-gradient(120deg,#775274,#347D77);
  --g-primary:linear-gradient(120deg,#775274,#9C6F98);--g-info:linear-gradient(120deg,#347D77,#4F9B93);
  --g-success:linear-gradient(120deg,#477A6B,#669887);--g-warning:linear-gradient(120deg,#967022,#B88A2F);
  --g-danger:linear-gradient(120deg,#B2523A,#CF6A4C);--g-dark:linear-gradient(120deg,#352235,#594157);
  --shadow-sm:0 1px 3px rgba(0,0,0,.34);--shadow-md:0 8px 26px rgba(0,0,0,.4);
  color-scheme:dark;
}

:root[data-brand-theme="atlas-studio"]{
  --bg:#EBE7DD;--panel:#F7F3E9;--surface:#F0EBE0;--surface2:#E6DED2;
  --border:#CEC4B5;--border2:#B3A695;
  --text:#30344A;--ink:#202856;--muted:#5F626D;--muted2:#686159;
  --blue:#33428B;--primary:#33428B;--blue-dim:#E1E4F3;--blue-glow:rgba(40,51,111,.22);
  --purple:#645099;--purple-dim:#EAE4F1;
  --teal:#34776D;--teal-dim:#DCEAE3;
  --green:#407769;--green-dim:#DDEAE2;--good:#407769;
  --amber:#876217;--amber-dim:#F2E5C4;
  --red:#BC4935;--red-dim:#F4DCD4;--bad:#BC4935;--orange:#B95B36;
  --brand:linear-gradient(120deg,#28336F,#DE6449);
  --g-primary:linear-gradient(120deg,#28336F,#4B5AA0);--g-info:linear-gradient(120deg,#34776D,#4E9B8D);
  --g-success:linear-gradient(120deg,#407769,#629587);--g-warning:linear-gradient(120deg,#876217,#C79B3B);
  --g-danger:linear-gradient(120deg,#BC4935,#DE6449);--g-dark:linear-gradient(120deg,#202856,#3A457E);
  --sans:'Avenir Next','Trebuchet MS','Segoe UI',Roboto,Arial,sans-serif;
  --display:var(--sans);
  --shadow-sm:0 1px 2px rgba(32,40,86,.08);--shadow-md:0 8px 24px rgba(32,40,86,.11);
  color-scheme:light;
}
:root[data-brand-theme="atlas-studio"][data-theme="dark"]{
  --bg:#11142A;--panel:#1B2140;--surface:#242B4C;--surface2:#2E365B;
  --border:#3E486E;--border2:#56618A;
  --text:#E8E5DB;--ink:#FFF9ED;--muted:#BBB9BE;--muted2:#9EA1B2;
  --blue:#91A5FF;--primary:#5668B7;--blue-dim:#293665;--blue-glow:rgba(145,165,255,.28);
  --purple:#B69EE2;--purple-dim:#3A315D;
  --teal:#75C5B7;--teal-dim:#214942;
  --green:#89BBAA;--green-dim:#29443C;--good:#89BBAA;
  --amber:#E4BA63;--amber-dim:#493818;
  --red:#FF8E78;--red-dim:#4B2924;--bad:#FF8E78;--orange:#F0A06C;
  --brand:linear-gradient(120deg,#5668B7,#C95F49);
  --g-primary:linear-gradient(120deg,#5668B7,#7485D2);--g-info:linear-gradient(120deg,#3E8176,#57A093);
  --g-success:linear-gradient(120deg,#4F7F71,#6C9B8D);--g-warning:linear-gradient(120deg,#987326,#BE9338);
  --g-danger:linear-gradient(120deg,#B95442,#D26B55);--g-dark:linear-gradient(120deg,#202856,#3A457E);
  --shadow-sm:0 1px 3px rgba(0,0,0,.35);--shadow-md:0 8px 26px rgba(0,0,0,.42);
  color-scheme:dark;
}

:root[data-brand-theme="atlas-operations"]{
  --bg:#E8E1D3;--panel:#F5EEE1;--surface:#EDE5D7;--surface2:#E1D7C6;
  --border:#C9BDAA;--border2:#AD9D87;
  --text:#283A39;--ink:#173C3B;--muted:#58645F;--muted2:#635D55;
  --blue:#2F6669;--primary:#2F6669;--blue-dim:#DCE8E4;--blue-glow:rgba(23,60,59,.2);
  --purple:#695278;--purple-dim:#EAE1EC;
  --teal:#356F69;--teal-dim:#D9E8E2;
  --green:#3F7163;--green-dim:#DCE9E1;--good:#3F7163;
  --amber:#876010;--amber-dim:#F2E3BC;
  --red:#A84335;--red-dim:#F0D9D2;--bad:#A84335;--orange:#A95934;
  --brand:linear-gradient(120deg,#173C3B,#5B7D89);
  --g-primary:linear-gradient(120deg,#173C3B,#356B69);--g-info:linear-gradient(120deg,#456A75,#5B7D89);
  --g-success:linear-gradient(120deg,#3F7163,#628F7E);--g-warning:linear-gradient(120deg,#876010,#C79A2B);
  --g-danger:linear-gradient(120deg,#A84335,#B84C3B);--g-dark:linear-gradient(120deg,#173C3B,#315453);
  --sans:'Avenir Next','Segoe UI',Roboto,Arial,sans-serif;
  --display:'Arial Narrow','Roboto Condensed',Roboto,Arial,sans-serif;
  --shadow-sm:0 1px 2px rgba(23,60,59,.09);--shadow-md:0 8px 24px rgba(23,60,59,.12);
  color-scheme:light;
}
:root[data-brand-theme="atlas-operations"][data-theme="dark"]{
  --bg:#101B1A;--panel:#192A29;--surface:#213533;--surface2:#2A403D;
  --border:#3A514E;--border2:#526B66;
  --text:#E9E2D6;--ink:#FFF8EA;--muted:#BBC1B7;--muted2:#9CA89E;
  --blue:#86B1BA;--primary:#3F7075;--blue-dim:#244249;--blue-glow:rgba(134,177,186,.25);
  --purple:#C0A1CA;--purple-dim:#3B3040;
  --teal:#79B9AD;--teal-dim:#214641;
  --green:#91BBA8;--green-dim:#29433A;--good:#91BBA8;
  --amber:#E5BB58;--amber-dim:#493817;
  --red:#F08A75;--red-dim:#4A2924;--bad:#F08A75;--orange:#E9A06A;
  --brand:linear-gradient(120deg,#315B59,#507783);
  --g-primary:linear-gradient(120deg,#315B59,#477775);--g-info:linear-gradient(120deg,#456A75,#5B7D89);
  --g-success:linear-gradient(120deg,#4E7E6E,#6A9986);--g-warning:linear-gradient(120deg,#96711F,#BD9133);
  --g-danger:linear-gradient(120deg,#A94E40,#C56753);--g-dark:linear-gradient(120deg,#173C3B,#315453);
  --shadow-sm:0 1px 3px rgba(0,0,0,.36);--shadow-md:0 8px 26px rgba(0,0,0,.42);
  color-scheme:dark;
}

:root[data-brand-theme="field-ledger"]{
  --bg:#E9E0D0;--panel:#FBF7EC;--surface:#F3EBDD;--surface2:#E8DECD;
  --border:#CEBDA6;--border2:#AA947D;
  --text:#3A3032;--ink:#241D24;--muted:#665B56;--muted2:#6B5D55;
  --blue:#982D27;--primary:#982D27;--blue-dim:#F1DCD3;--blue-glow:rgba(152,45,39,.18);
  --purple:#654263;--purple-dim:#EEE1EA;
  --teal:#35695C;--teal-dim:#DCE9E2;
  --green:#426E3F;--green-dim:#E1E9D9;--good:#426E3F;
  --amber:#805600;--amber-dim:#F2E3BE;
  --red:#982D27;--red-dim:#F1DCD3;--bad:#982D27;--orange:#A3542F;
  --brand:#982D27;
  --g-primary:#982D27;--g-info:#654263;
  --g-success:#426E3F;--g-warning:#805600;
  --g-danger:#982D27;--g-dark:#241D24;
  --sans:'Roboto','Helvetica Neue',Arial,sans-serif;
  --display:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --serif:var(--display);--rule:#982D27;--pen:#2452B5;
  --ledger-nav-panel:#241E24;--ledger-nav-surface:#302830;--ledger-nav-surface2:#3A3038;
  --ledger-nav-border:#4C414A;--ledger-nav-border2:#685865;--ledger-nav-text:#E9DFCF;
  --ledger-nav-ink:#FFF7E8;--ledger-nav-muted:#B9AC9D;--ledger-nav-muted2:#D1C4B5;
  --ledger-nav-highlight:#D7B461;--ledger-nav-highlight-dim:#493A1C;--ledger-nav-brand:#982D27;
  --radius:4px;--ctl-r:4px;
  --shadow-sm:0 1px 0 rgba(36,29,36,.10);--shadow-md:0 2px 8px rgba(36,29,36,.08);--shadow-lg:0 8px 24px rgba(36,29,36,.11);
  color-scheme:light;
}
:root[data-brand-theme="field-ledger"][data-theme="dark"]{
  --bg:#151216;--panel:#241E24;--surface:#2D262D;--surface2:#372F36;
  --border:#51434C;--border2:#6B5963;
  --text:#E9DFCF;--ink:#FFF7E8;--muted:#C2B5A5;--muted2:#AA9D90;
  --blue:#F18D7C;--primary:#A85047;--blue-dim:#4C2A27;--blue-glow:rgba(241,141,124,.22);
  --purple:#D1AED1;--purple-dim:#49364A;
  --teal:#83B4A6;--teal-dim:#29463F;
  --green:#9BB894;--green-dim:#334731;--good:#9BB894;
  --amber:#E2BB6C;--amber-dim:#4B391D;
  --red:#F18D7C;--red-dim:#4C2A27;--bad:#F18D7C;--orange:#E6A06D;
  --brand:#A85047;
  --g-primary:#A85047;--g-info:#765374;
  --g-success:#557550;--g-warning:#967029;
  --g-danger:#A64E45;--g-dark:#241D24;
  --shadow-sm:0 1px 0 rgba(0,0,0,.34);--shadow-md:0 2px 10px rgba(0,0,0,.30);--shadow-lg:0 8px 26px rgba(0,0,0,.38);
  color-scheme:dark;
}

:root[data-brand-theme="field-ledger-pine"]{
  --bg:#E5E1D3;--panel:#FAF7ED;--surface:#F0ECDF;--surface2:#E4DECF;
  --border:#C9C0AB;--border2:#9F9580;
  --text:#2F3731;--ink:#1E2B26;--muted:#5D655D;--muted2:#626458;
  --blue:#2F5C49;--primary:#2F5C49;--blue-dim:#DCE8DE;--blue-glow:rgba(47,92,73,.18);
  --purple:#644566;--purple-dim:#EAE0E9;
  --teal:#2E665B;--teal-dim:#D8E8E1;
  --green:#3E683F;--green-dim:#DDE8D8;--good:#3E683F;
  --amber:#765200;--amber-dim:#F0E3BE;
  --red:#953A30;--red-dim:#F0DAD3;--bad:#953A30;--orange:#9B512E;
  --brand:#2F5C49;
  --g-primary:#2F5C49;--g-info:#644566;
  --g-success:#3E683F;--g-warning:#765200;
  --g-danger:#953A30;--g-dark:#1E2B26;
  --sans:'Roboto','Helvetica Neue',Arial,sans-serif;
  --display:Baskerville,'Libre Baskerville',Georgia,'Times New Roman',serif;
  --serif:var(--display);--rule:#2F5C49;--pen:#3E5775;
  --ledger-nav-panel:#18221B;--ledger-nav-surface:#223028;--ledger-nav-surface2:#2C3A31;
  --ledger-nav-border:#3C4A40;--ledger-nav-border2:#56655A;--ledger-nav-text:#E8E3D4;
  --ledger-nav-ink:#FFF9EB;--ledger-nav-muted:#ADB4A8;--ledger-nav-muted2:#D0D0C4;
  --ledger-nav-highlight:#BBAF72;--ledger-nav-highlight-dim:#3E3920;--ledger-nav-brand:#2F5C49;
  --radius:4px;--ctl-r:4px;
  --shadow-sm:0 1px 0 rgba(30,43,38,.10);--shadow-md:0 2px 8px rgba(30,43,38,.08);--shadow-lg:0 8px 24px rgba(30,43,38,.11);
  color-scheme:light;
}
:root[data-brand-theme="field-ledger-pine"][data-theme="dark"]{
  --bg:#101814;--panel:#1B2821;--surface:#243128;--surface2:#2D3B31;
  --border:#405046;--border2:#596A5E;
  --text:#E8E2D4;--ink:#FFF8E8;--muted:#B8B8A9;--muted2:#A7AB9E;
  --blue:#95C6AA;--primary:#39725A;--blue-dim:#29463A;--blue-glow:rgba(149,198,170,.22);
  --purple:#D0ABD0;--purple-dim:#453447;
  --teal:#78BBAA;--teal-dim:#26483F;
  --green:#91B48D;--green-dim:#30452F;--good:#91B48D;
  --amber:#E1BB68;--amber-dim:#49391E;
  --red:#F0927F;--red-dim:#4C2C27;--bad:#F0927F;--orange:#E6A16E;
  --brand:#39725A;
  --g-primary:#39725A;--g-info:#3F7067;
  --g-success:#49704D;--g-warning:#88651B;
  --g-danger:#994C42;--g-dark:#18221B;
  --shadow-sm:0 1px 0 rgba(0,0,0,.34);--shadow-md:0 2px 10px rgba(0,0,0,.30);--shadow-lg:0 8px 26px rgba(0,0,0,.38);
  color-scheme:dark;
}

:root[data-brand-theme="field-ledger-navy"]{
  --bg:#E8E2D6;--panel:#FBF8F0;--surface:#F1ECE1;--surface2:#E5DED1;
  --border:#CBC0AE;--border2:#A59A87;
  --text:#303640;--ink:#1D2838;--muted:#5F6264;--muted2:#63635D;
  --blue:#294E73;--primary:#294E73;--blue-dim:#DCE4EC;--blue-glow:rgba(41,78,115,.18);
  --purple:#5E496D;--purple-dim:#E9E1EC;
  --teal:#2D6463;--teal-dim:#D9E7E3;
  --green:#46663D;--green-dim:#E0E7D8;--good:#46663D;
  --amber:#795600;--amber-dim:#F1E4BE;
  --red:#9A3E35;--red-dim:#F1DBD5;--bad:#9A3E35;--orange:#9C542E;
  --brand:#294E73;
  --g-primary:#294E73;--g-info:#2D6463;
  --g-success:#46663D;--g-warning:#795600;
  --g-danger:#9A3E35;--g-dark:#1D2838;
  --sans:'Roboto','Helvetica Neue',Arial,sans-serif;
  --display:Charter,'Bitstream Charter','Iowan Old Style',Georgia,serif;
  --serif:var(--display);--rule:#294E73;--pen:#405C86;
  --ledger-nav-panel:#18212C;--ledger-nav-surface:#222D3A;--ledger-nav-surface2:#2C3846;
  --ledger-nav-border:#3D4957;--ledger-nav-border2:#566575;--ledger-nav-text:#E8E2D5;
  --ledger-nav-ink:#FFF8EA;--ledger-nav-muted:#AFB2B3;--ledger-nav-muted2:#D1CED0;
  --ledger-nav-highlight:#C3A965;--ledger-nav-highlight-dim:#40361D;--ledger-nav-brand:#294E73;
  --radius:4px;--ctl-r:4px;
  --shadow-sm:0 1px 0 rgba(29,40,56,.10);--shadow-md:0 2px 8px rgba(29,40,56,.08);--shadow-lg:0 8px 24px rgba(29,40,56,.11);
  color-scheme:light;
}
:root[data-brand-theme="field-ledger-navy"][data-theme="dark"]{
  --bg:#10151C;--panel:#1A2330;--surface:#24303E;--surface2:#2C3948;
  --border:#3F4D5D;--border2:#596979;
  --text:#E7E2D7;--ink:#FFF8EA;--muted:#B6B6B2;--muted2:#A5A8AB;
  --blue:#8DB3DC;--primary:#3F668F;--blue-dim:#293D55;--blue-glow:rgba(141,179,220,.22);
  --purple:#CBB0DC;--purple-dim:#41364C;
  --teal:#79BCB8;--teal-dim:#264849;
  --green:#9BB489;--green-dim:#34442F;--good:#9BB489;
  --amber:#E2BB69;--amber-dim:#49391E;
  --red:#F18F82;--red-dim:#4C2C29;--bad:#F18F82;--orange:#E7A16E;
  --brand:#3F668F;
  --g-primary:#3F668F;--g-info:#467676;
  --g-success:#536F48;--g-warning:#8C691B;
  --g-danger:#9B4C44;--g-dark:#18212C;
  --shadow-sm:0 1px 0 rgba(0,0,0,.34);--shadow-md:0 2px 10px rgba(0,0,0,.30);--shadow-lg:0 8px 26px rgba(0,0,0,.38);
  color-scheme:dark;
}

:root[data-brand-theme="field-ledger-plum"]{
  --bg:#EAE1D8;--panel:#FCF7EF;--surface:#F4EAE2;--surface2:#E8DDD5;
  --border:#D0BEB1;--border2:#AA9388;
  --text:#3A3037;--ink:#2B1E2B;--muted:#695B63;--muted2:#6C5E62;
  --blue:#6F3A5C;--primary:#6F3A5C;--blue-dim:#EADFE6;--blue-glow:rgba(111,58,92,.18);
  --purple:#6F3A5C;--purple-dim:#EADFE6;
  --teal:#32665D;--teal-dim:#DCE8E3;
  --green:#46663F;--green-dim:#E1E7DA;--good:#46663F;
  --amber:#7C5600;--amber-dim:#F1E3BD;
  --red:#983F38;--red-dim:#F1DCD7;--bad:#983F38;--orange:#9E542F;
  --brand:#6F3A5C;
  --g-primary:#6F3A5C;--g-info:#32665D;
  --g-success:#46663F;--g-warning:#7C5600;
  --g-danger:#983F38;--g-dark:#2B1E2B;
  --sans:'Roboto','Helvetica Neue',Arial,sans-serif;
  --display:Cochin,'Hoefler Text',Georgia,'Times New Roman',serif;
  --serif:var(--display);--rule:#6F3A5C;--pen:#405C86;
  --ledger-nav-panel:#241A22;--ledger-nav-surface:#30242E;--ledger-nav-surface2:#3B2E38;
  --ledger-nav-border:#4D3E49;--ledger-nav-border2:#675663;--ledger-nav-text:#EADFD6;
  --ledger-nav-ink:#FFF7ED;--ledger-nav-muted:#B9AAAA;--ledger-nav-muted2:#D2C5C9;
  --ledger-nav-highlight:#C5A16F;--ledger-nav-highlight-dim:#42331F;--ledger-nav-brand:#6F3A5C;
  --radius:4px;--ctl-r:4px;
  --shadow-sm:0 1px 0 rgba(43,30,43,.10);--shadow-md:0 2px 8px rgba(43,30,43,.08);--shadow-lg:0 8px 24px rgba(43,30,43,.11);
  color-scheme:light;
}
:root[data-brand-theme="field-ledger-plum"][data-theme="dark"]{
  --bg:#171116;--panel:#281D26;--surface:#32262F;--surface2:#3D2F39;
  --border:#54424E;--border2:#705B68;
  --text:#EADFD6;--ink:#FFF7ED;--muted:#C0B1AC;--muted2:#AB9C9C;
  --blue:#D1A5BD;--primary:#75415F;--blue-dim:#482F3E;--blue-glow:rgba(209,165,189,.22);
  --purple:#D1A5BD;--purple-dim:#493446;
  --teal:#82B8AD;--teal-dim:#294741;
  --green:#9BB38D;--green-dim:#35442F;--good:#9BB38D;
  --amber:#E2B86A;--amber-dim:#49381F;
  --red:#F19284;--red-dim:#4D2C29;--bad:#F19284;--orange:#E6A16F;
  --brand:#75415F;
  --g-primary:#75415F;--g-info:#416F67;
  --g-success:#536F48;--g-warning:#8B641B;
  --g-danger:#9B4D46;--g-dark:#241A22;
  --shadow-sm:0 1px 0 rgba(0,0,0,.34);--shadow-md:0 2px 10px rgba(0,0,0,.30);--shadow-lg:0 8px 26px rgba(0,0,0,.38);
  color-scheme:dark;
}

/* Field Ledger's handwritten annotation ink is deliberately distinct on paper.
   Its light-only custom values must yield to the readable accent in dark mode. */
:root[data-brand-theme^="field-ledger"][data-theme="dark"]{--pen:var(--blue)}

/* Field Ledger keeps the report canvas paper-like while preserving the dark
   archival navigation seen in the design reference. The overrides stay on the
   shared sidebar, so individual tools never need theme-specific patches. */
:root[data-brand-theme^="field-ledger"] .sb-root{
  --panel:var(--ledger-nav-panel);--surface:var(--ledger-nav-surface);--surface2:var(--ledger-nav-surface2);
  --border:var(--ledger-nav-border);--border2:var(--ledger-nav-border2);
  --text:var(--ledger-nav-text);--ink:var(--ledger-nav-ink);--muted:var(--ledger-nav-muted);--muted2:var(--ledger-nav-muted2);
  --blue:var(--ledger-nav-highlight);--blue-dim:var(--ledger-nav-highlight-dim);--blue-glow:color-mix(in srgb,var(--ledger-nav-highlight) 15%,transparent);
  --g-primary:var(--ledger-nav-brand);
  border-radius:4px;
}
:root[data-brand-theme^="field-ledger"] .sb-mark{
  background:var(--ledger-nav-brand);box-shadow:none;border-radius:3px;
}
:root[data-brand-theme^="field-ledger"] .sb-item.active .sb-ic{
  background:var(--alpaca-app-icon-bg,var(--surface2));background-image:none;
  color:var(--alpaca-app-icon-fg,var(--ink));
  border-color:color-mix(in srgb,var(--alpaca-app-icon-accent,var(--primary)) 42%,var(--alpaca-app-icon-border,var(--border2)));box-shadow:none;
}
:root[data-brand-theme^="field-ledger"] .sb-root .sb-brand .t{
  font-family:'Arial Narrow','Roboto Condensed',Roboto,Arial,sans-serif!important;
  text-transform:uppercase;letter-spacing:.045em;
}
:root[data-brand-theme^="field-ledger"] body{
  font-family:var(--sans)!important;background:var(--bg)!important;color:var(--text);
}

/* A panel-coloured hero must carry the complete surface contract. Applying only a background to
   generic `.hero` elements created sharp, padding-free rectangles on pages whose heroes were
   intentionally transparent. Pages that want a card opt in explicitly; all others stay neutral. */
.alpaca-hero-card{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;
  padding:20px 22px;box-shadow:var(--shadow-sm);overflow:hidden
}

/* Field Ledger is intentionally print-like: flat ink, paper and rules. Legacy
   tools use gradients for generic SaaS decoration (hero blooms, logo marks,
   primary controls and numbered steps), which makes this identity look like a
   recoloured Atlas skin. Keep those component families flat at the shared
   identity layer so newly themed tools cannot reintroduce the drift. */
:root[data-brand-theme^="field-ledger"] body>header,
:root[data-brand-theme^="field-ledger"] body :is(.alpaca-hero-card,.voc-hero,.vsb-hero,.idd-hero),
:root[data-brand-theme^="field-ledger"] body .alpaca-activity-head{
  background:var(--panel)!important;background-image:none!important;
}
:root[data-brand-theme^="field-ledger"] body :is(.voc-search-field input,input[type="search"]){
  background-color:var(--surface)!important;background-image:none!important;
}
:root[data-brand-theme^="field-ledger"] body :is(.logo-icon:not(.alpaca-brand-mark),.logo-mark:not(.alpaca-brand-mark)){
  background:var(--primary)!important;background-image:none!important;box-shadow:none!important;
}
:root[data-brand-theme^="field-ledger"] body :is(h1,h2,h3,h4,.sh,.ch)>
  :is(.num,.stepnum,.step-num,.step-number,.step-index,.ix){
  background:var(--primary)!important;background-image:none!important;color:#fff!important;
  box-shadow:none!important;
}
:root[data-brand-theme^="field-ledger"] body .btn-primary{
  background:var(--primary)!important;background-image:none!important;
}
:root[data-brand-theme^="field-ledger"] body
  .btn:not(.ghost):not(.btn-ghost):not(.secondary):not(.btn-secondary):not(.quiet):not(.btn-quiet):not(.warn):not(.btn-warn):not(.btn-amber):not(.danger):not(.btn-danger):not(.success):not(.btn-success):not(.purple):not(.btn-purple){
  background:var(--primary)!important;background-image:none!important;
  border-color:var(--primary)!important;color:#fff!important;
}
/* The product's canonical secondary class is `btn-ghost`; older pages use the unprefixed aliases.
   Field Ledger previously excluded only the aliases, repainting 71 ghost buttons as primary fills.
   Own the secondary treatment here so every Ledger variation keeps one quiet paper/ink hierarchy. */
:root[data-brand-theme^="field-ledger"] body
  .btn:is(.ghost,.btn-ghost,.secondary,.btn-secondary,.quiet,.btn-quiet){
  background:var(--surface)!important;background-image:none!important;
  color:var(--text)!important;border:1px solid var(--border2)!important;
  box-shadow:none!important;
}
:root[data-brand-theme^="field-ledger"] body
  .btn:is(.ghost,.btn-ghost,.secondary,.btn-secondary,.quiet,.btn-quiet):hover:not(:disabled){
  background:var(--surface2)!important;color:var(--blue)!important;
  border-color:var(--primary)!important;
}
:root[data-brand-theme^="field-ledger"] body .btn-success{
  background:var(--green)!important;background-image:none!important;
}
:root[data-brand-theme^="field-ledger"] body .btn-purple{
  background:var(--purple)!important;background-image:none!important;
}
:root[data-brand-theme^="field-ledger"] body .alpaca-confirm button.ac-yes{
  background:var(--primary)!important;background-image:none!important;
}

/* Tool headers/cards pair immutable authored artwork with the functional registry glyph. The
   source stays intact in the DOM (and remains available as the tool favicon), while the visible
   in-app mark always consumes the selected theme's tokens. */
.alpaca-muted-tool-icon{display:grid!important}
.alpaca-tool-icon-pair{
  position:relative;display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px
}
.alpaca-tool-icon-pair>:is(.alpaca-source-tool-icon,.alpaca-muted-tool-icon){
  grid-area:1/1;width:32px;height:32px;border-radius:var(--ctl-r);place-items:center
}
body header .alpaca-source-tool-icon,
html body:is(.r10-tool,.alpaca-tool) > header .logo-icon.alpaca-source-tool-icon,
.alpaca-tool-icon-pair>.alpaca-source-tool-icon{display:none!important}
:root body header .logo-icon.logo-icon-fa:not(.alpaca-brand-mark){
  display:grid!important;place-items:center!important;flex:0 0 32px!important;
  width:32px!important;height:32px!important;border-radius:var(--alpaca-app-icon-radius,var(--ctl-r,9px))!important;
  background:var(--alpaca-app-icon-bg,var(--surface2))!important;
  color:var(--alpaca-app-icon-fg,var(--ink))!important;
  border:1px solid color-mix(in srgb,var(--alpaca-app-icon-accent,var(--primary)) 42%,var(--alpaca-app-icon-border,var(--border2)))!important;
  box-shadow:none!important;
}
.alpaca-tool-icon-pair>.alpaca-muted-tool-icon{
  display:grid!important;place-items:center!important;flex:0 0 32px!important;
  width:32px!important;height:32px!important;border-radius:var(--alpaca-app-icon-radius,var(--ctl-r))!important;
  background:var(--alpaca-app-icon-bg,var(--surface2))!important;
  background-image:none!important;color:var(--alpaca-app-icon-fg,var(--ink))!important;border:1px solid color-mix(in srgb,var(--alpaca-app-icon-accent,var(--primary)) 42%,var(--alpaca-app-icon-border,var(--border2)))!important;
  box-shadow:none!important;
}
/* Several legacy headers explicitly paint every nested SVG white. The themed tile owns its glyph
   colour, so force the path back to currentColor after those page-local rules. */
.logo-icon-fa .ficon{
  color:inherit!important;fill:currentColor!important
}

/* The canonical metrics layer already aligns controls, but legacy pages left
   select/input paint to the browser. Muted brands own the complete control
   surface and focus state so native white/cobalt chrome cannot leak through. */
:is(:root[data-brand-theme^="atlas-"],:root[data-brand-theme^="field-ledger"])
  body :is(select,textarea,input[type="text"],input[type="search"],input[type="number"],input[type="email"],input[type="password"],input[type="url"],input[type="date"],input[type="tel"]){
  background-color:var(--surface)!important;color:var(--text)!important;
  border:1px solid var(--border2)!important;box-shadow:none!important;
}
:is(:root[data-brand-theme^="atlas-"],:root[data-brand-theme^="field-ledger"])
  body :is(select,textarea,input[type="text"],input[type="search"],input[type="number"],input[type="email"],input[type="password"],input[type="url"],input[type="date"],input[type="tel"]):focus{
  outline:none!important;border-color:var(--primary)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent)!important;
}

/* Typography is part of the selected identity, but controls and dense data keep
   the readable body/mono faces. Only display-level labels inherit --display. */
:is(:root[data-brand-theme^="atlas-"],:root[data-brand-theme^="field-ledger"])
body :is(h1,h2,h3,.logo-name,.logo-text,.sb-brand .t){
  font-family:var(--display,var(--sans))!important;
}

/* ── Canonical control metrics: one fill, one shape, one height ───────────────
   Buttons and dropdowns drifted apart because this shared layer never owned them: 118 pages each
   declared their own `.btn`, giving 7 different radii, 14 different paddings and a near 50/50 split
   between a flat fill and a gradient one. Measured in a browser, a button and the select beside it
   differed by 5px on the WQL console, 7px on Test Studio.

   Three mechanisms, each chosen for what it has to beat:

   1. FILL. `--brand` is a GRADIENT token, so the ~65 pages whose button does `background:var(--brand)`
      render teal->blue. Re-pointing the variable ON the button fixes every one of them without
      touching the 137 decorative uses (logo marks, progress fills, step numbers) that should stay a
      gradient. It also wins where a plain rule could not: a custom property that matches the element
      beats an inherited one outright, so this reaches even `#hpane-feeds .btn`, which out-specifies
      any bare `.btn` we could write.
   2. SHAPE + HEIGHT. Every template links this sheet AFTER its own <style> (checked: 0 exceptions),
      so at equal specificity the rules here win the 118 page-level `.btn` declarations.
   3. `padding-block:0` with `min-height` is what actually equalises a button against a select.
      `min-height` alone only grows the shorter control; zeroing the vertical padding makes the
      height deterministic while each page KEEPS its own horizontal padding, so nothing reflows
      sideways.

   Scoped to `.btn` deliberately — the header/sidebar chrome (.sb-toggle, .fam-menu-btn,
   .alpaca-hdr-*) are bare <button>s with their own sizes and must not be dragged to 36px. */
:root{ --ctl-h:36px; --ctl-h-sm:28px; --ctl-r:9px; }

/* ── One look for the top-bar controls ───────────────────────────────────────
   These five sit side by side on every page and disagreed: the icon buttons
   (theme, favourite, activity) were pinned at 30px while the TEXT ones (Pop
   out, the family menu) were content-sized and came out at 35px, and all of
   them used an 8px radius where every page button uses 9px. Measured across
   317 pages, that was the single most visible "buttons are not uniform".

   Declared here, after the individual rules, so one token governs the row
   instead of five rules drifting apart again. --ctl-h-hdr is its own size
   class on purpose: the top bar is deliberately more compact than a page
   button, but it has to be compact CONSISTENTLY. */
:root{ --ctl-h-hdr:30px; }
.alpaca-hdr-pop,
.alpaca-hdr-theme,
.alpaca-hdr-fav,
.alpaca-hdr-knowledge,
.alpaca-hdr-activity,
.fam-menu-btn{
  height:var(--ctl-h-hdr);
  min-height:var(--ctl-h-hdr);
  border-radius:var(--ctl-r);
  display:inline-flex;
  align-items:center;
  box-sizing:border-box;
}
/* The sidebar's collapse control is an icon square, not a button in this row —
   but it should still share the family's corner. */
.sb-toggle{ border-radius:var(--ctl-r) }

/* --brand is a GRADIENT on some pages. A control filled with it reads as a different component
   from the flat button beside it, so every control class that paints with --brand overrides it to
   the flat blue. The vendor shells (blueprints, connector hub, integration definition) paint their
   primary button this way too and were the last gradient-filled controls in the suite. */
.btn,.seg button.on,.tabs button.on,.tab.on,
.vsb-button-primary,.idd-button-primary,.idd-launch-button,.voc-download{ --brand:var(--primary-control,var(--primary)) }

.btn,
select,
input[type=text],input[type=search],input[type=number],input[type=email],
input[type=password],input[type=url],input[type=date],input[type=tel]{
  min-height:var(--ctl-h); border-radius:var(--ctl-r); padding-block:0;
}
.btn{text-decoration:none}
.btn.sm,.btn-sm,.btn.xs,.btn.tiny,select.sm,input.sm{ min-height:var(--ctl-h-sm) }

/* ── Theme-safe foregrounds for filled controls ──────────────────────────────
   A page cannot safely assume that its accent is dark. In the muted identities
   the same --blue token deliberately flips from dark ink in light mode to a
   pale tint in dark mode, so legacy `color:#fff` declarations can turn a
   selected tab or button into white-on-pastel text. soft-notus.js measures the
   ACTUAL rendered fill (solid or gradient) and marks only controls that miss
   WCAG AA. Keeping the final declaration here makes the repair theme-global,
   while leaving already-readable primary, danger and ghost buttons untouched. */
[data-alpaca-auto-contrast]{color:var(--alpaca-control-fg)!important}

/* The sidebar search wrapper is the control boundary and owns the visible resting
   border and focus treatment. Muted-brand form rules above intentionally claim every
   search input, so reclaim this nested input in BOTH its resting and focused states;
   otherwise Field Ledger paints a second rectangular field inside the wrapper until
   the user focuses it. Keep this at the final theme layer so future form rules cannot
   reintroduce the box-in-a-box drift. */
:root .sb-root .sb-search .sb-search-in{
  appearance:none!important;-webkit-appearance:none!important;
  background:transparent!important;color:var(--ink)!important;
  border:0!important;border-radius:0!important;
  box-shadow:none!important;outline:0!important
}
:root .sb-root .sb-search .sb-search-in:is(:focus,:focus-visible){
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;outline:0!important
}

/* BEGIN GENERATED TWEAKCN THEMES — scripts/import_tweakcn_themes.py */

/* Source: TweakCN built-in presets (Apache-2.0). Generated; do not edit by hand. */

:root[data-brand-theme^="tweakcn-"] body{letter-spacing:var(--letter-spacing,0)}

:root[data-brand-theme="tweakcn-default"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F5F5F5;--surface2:#F5F5F5;
  --border:#E5E5E5;--border2:#E5E5E5;--text:#0A0A0A;--ink:#0A0A0A;
  --muted:#707070;--muted2:#171717;--tweakcn-secondary:#F5F5F5;--tweakcn-secondary-fg:#171717;
  --blue:#171717;--primary:#171717;--primary-control:#171717;--primary-fg:#FAFAFA;
  --blue-dim:#F5F5F5;--blue-glow:rgba(23,23,23,0.25);--purple:#3473DB;--purple-dim:#E1ECFE;
  --teal:#2563EF;--teal-dim:#DEE8FD;--green:#1A4EDA;--green-dim:#DDE4F9;
  --good:#1A4EDA;--amber:#1F3FAD;--amber-dim:#DDE2F3;--red:#E7000B;
  --red-dim:#FBD9DA;--bad:#E7000B;--orange:#1F3FAD;--brand:linear-gradient(120deg,#171717,#3A81F6);
  --g-primary:linear-gradient(120deg,#171717,#3A81F6);--g-info:linear-gradient(120deg,#3A81F6,#2563EF);--g-success:linear-gradient(120deg,#1A4EDA,#2563EF);--g-warning:linear-gradient(120deg,#1F3FAD,#E7000B);
  --g-danger:linear-gradient(120deg,#E7000B,#3A81F6);--g-dark:linear-gradient(120deg,#0A0A0A,#0A0A0A);--sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';--display:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-default"] .sb-root{
  --panel:#FAFAFA;--surface:#F5F5F5;--surface2:#F5F5F5;--border:#E5E5E5;
  --border2:#E5E5E5;--text:#0A0A0A;--ink:#0A0A0A;--muted:#0A0A0A;
  --muted2:#0A0A0A;--blue:#171717;--primary:#171717;--primary-control:#171717;
  --primary-fg:#FAFAFA;--blue-dim:#F5F5F5;--blue-glow:rgba(23,23,23,0.25);--g-primary:#171717;
}

:root[data-brand-theme="tweakcn-default"][data-theme="dark"]{
  --bg:#0A0A0A;--panel:#171717;--surface:#262626;--surface2:#262626;
  --border:#282828;--border2:#343434;--text:#FAFAFA;--ink:#FAFAFA;
  --muted:#A1A1A1;--muted2:#FAFAFA;--tweakcn-secondary:#262626;--tweakcn-secondary-fg:#FAFAFA;
  --blue:#E5E5E5;--primary:#E5E5E5;--primary-control:#E5E5E5;--primary-fg:#171717;
  --blue-dim:#404040;--blue-glow:rgba(229,229,229,0.25);--purple:#3A81F6;--purple-dim:#1C2738;
  --teal:#467AF1;--teal-dim:#192237;--green:#567CE4;--green-dim:#171F34;
  --good:#567CE4;--amber:#677CC7;--amber-dim:#181D2E;--red:#FF6467;
  --red-dim:#3A2323;--bad:#FF6467;--orange:#677CC7;--brand:linear-gradient(120deg,#E5E5E5,#3A81F6);
  --g-primary:linear-gradient(120deg,#E5E5E5,#3A81F6);--g-info:linear-gradient(120deg,#3A81F6,#2563EF);--g-success:linear-gradient(120deg,#1A4EDA,#2563EF);--g-warning:linear-gradient(120deg,#1F3FAD,#FF6467);
  --g-danger:linear-gradient(120deg,#FF6467,#3A81F6);--g-dark:linear-gradient(120deg,#FAFAFA,#FAFAFA);--sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';--display:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-default"][data-theme="dark"] .sb-root{
  --panel:#171717;--surface:#262626;--surface2:#262626;--border:#282828;
  --border2:#282828;--text:#FAFAFA;--ink:#FAFAFA;--muted:#FAFAFA;
  --muted2:#FAFAFA;--blue:#5379ED;--primary:#1447E6;--primary-control:#1447E6;
  --primary-fg:#FAFAFA;--blue-dim:#262626;--blue-glow:rgba(20,71,230,0.25);--g-primary:#1447E6;
}

:root[data-brand-theme="tweakcn-amber-minimal"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F9FAFB;--surface2:#F6F7F8;
  --border:#E5E7EB;--border2:#E5E7EB;--text:#262626;--ink:#262626;
  --muted:#6B7280;--muted2:#4B5563;--tweakcn-secondary:#F3F4F6;--tweakcn-secondary-fg:#4B5563;
  --blue:#A46A07;--primary:#F59E0B;--primary-control:#F59E0B;--primary-fg:#000000;
  --blue-dim:#FFFBEB;--blue-glow:rgba(245,158,11,0.25);--purple:#B26205;--purple-dim:#F9EBDA;
  --teal:#B45309;--teal-dim:#F4E5DA;--green:#92400E;--green-dim:#EFE2DB;
  --good:#92400E;--amber:#78350F;--amber-dim:#EBE1DB;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#78350F;--brand:linear-gradient(120deg,#F59E0B,#D97706);
  --g-primary:linear-gradient(120deg,#F59E0B,#D97706);--g-info:linear-gradient(120deg,#D97706,#B45309);--g-success:linear-gradient(120deg,#92400E,#B45309);--g-warning:linear-gradient(120deg,#78350F,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#D97706);--g-dark:linear-gradient(120deg,#262626,#262626);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.375rem;--ctl-r:0.375rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -1px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -1px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -1px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-amber-minimal"] .sb-root{
  --panel:#F9FAFB;--surface:#FFFBEB;--surface2:#FFFBEB;--border:#E5E7EB;
  --border2:#E5E7EB;--text:#262626;--ink:#262626;--muted:#262626;
  --muted2:#262626;--blue:#9F6707;--primary:#F59E0B;--primary-control:#A46A07;
  --primary-fg:#FFFFFF;--blue-dim:#FFFBEB;--blue-glow:rgba(245,158,11,0.25);--g-primary:#F59E0B;
}

:root[data-brand-theme="tweakcn-amber-minimal"][data-theme="dark"]{
  --bg:#171717;--panel:#262626;--surface:#1F1F1F;--surface2:#262626;
  --border:#404040;--border2:#404040;--text:#E5E5E5;--ink:#E5E5E5;
  --muted:#A3A3A3;--muted2:#E5E5E5;--tweakcn-secondary:#262626;--tweakcn-secondary-fg:#E5E5E5;
  --blue:#F59E0B;--primary:#F59E0B;--primary-control:#F59E0B;--primary-fg:#000000;
  --blue-dim:#92400E;--blue-glow:rgba(245,158,11,0.25);--purple:#D97706;--purple-dim:#413221;
  --teal:#B78160;--teal-dim:#362A22;--green:#C57B42;--green-dim:#3B2D22;
  --good:#C57B42;--amber:#B78160;--amber-dim:#362A22;--red:#F15959;
  --red-dim:#442A2A;--bad:#F15959;--orange:#B78160;--brand:linear-gradient(120deg,#F59E0B,#D97706);
  --g-primary:linear-gradient(120deg,#F59E0B,#D97706);--g-info:linear-gradient(120deg,#D97706,#92400E);--g-success:linear-gradient(120deg,#B45309,#92400E);--g-warning:linear-gradient(120deg,#92400E,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#D97706);--g-dark:linear-gradient(120deg,#E5E5E5,#E5E5E5);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.375rem;--ctl-r:0.375rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -1px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -1px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -1px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-amber-minimal"][data-theme="dark"] .sb-root{
  --panel:#0F0F0F;--surface:#92400E;--surface2:#92400E;--border:#404040;
  --border2:#404040;--text:#E5E5E5;--ink:#E5E5E5;--muted:#E5E5E5;
  --muted2:#E5E5E5;--blue:#F59E0B;--primary:#F59E0B;--primary-control:#A46A07;
  --primary-fg:#FFFFFF;--blue-dim:#92400E;--blue-glow:rgba(245,158,11,0.25);--g-primary:#F59E0B;
}

:root[data-brand-theme="tweakcn-amethyst-haze"]{
  --bg:#F8F7FA;--panel:#FFFFFF;--surface:#DCD9E3;--surface2:#DFD9EC;
  --border:#CEC9D9;--border2:#EAE7F0;--text:#3D3C4F;--ink:#3D3C4F;
  --muted:#605E73;--muted2:#3D3C4F;--tweakcn-secondary:#DFD9EC;--tweakcn-secondary-fg:#3D3C4F;
  --blue:#7F6F9D;--primary:#8A79AB;--primary-control:#796A96;--primary-fg:#F8F7FA;
  --blue-dim:#E6A5B8;--blue-glow:rgba(138,121,171,0.25);--purple:#936A76;--purple-dim:#FBF2F4;
  --teal:#527F6F;--teal-dim:#EBF4F1;--green:#897250;--green-dim:#FDF7EE;
  --good:#897250;--amber:#667891;--amber-dim:#F1F5FB;--red:#C15252;
  --red-dim:#F9E7E7;--bad:#C15252;--orange:#667891;--brand:linear-gradient(120deg,#8A79AB,#E6A5B8);
  --g-primary:linear-gradient(120deg,#8A79AB,#E6A5B8);--g-info:linear-gradient(120deg,#E6A5B8,#77B8A1);--g-success:linear-gradient(120deg,#F0C88D,#77B8A1);--g-warning:linear-gradient(120deg,#A0BBE3,#D95C5C);
  --g-danger:linear-gradient(120deg,#D95C5C,#E6A5B8);--g-dark:linear-gradient(120deg,#3D3C4F,#3D3C4F);--sans:Geist, sans-serif;--display:Geist, sans-serif;
  --serif:"Lora", Georgia, serif;--mono:"Fira Code", "Courier New", monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:1px 2px 5px 1px rgba(0,0,0,0.06);--shadow-md:1px 4px 15px 1px rgba(0,0,0,0.07);
  --shadow-lg:1px 8px 30px 1px rgba(0,0,0,0.09);color-scheme:light;
}

:root[data-brand-theme="tweakcn-amethyst-haze"] .sb-root{
  --panel:#F1EFF5;--surface:#E6A5B8;--surface2:#E6A5B8;--border:#D7D2E0;
  --border2:#D7D2E0;--text:#3D3C4F;--ink:#3D3C4F;--muted:#3D3C4F;
  --muted2:#3D3C4F;--blue:#746690;--primary:#8A79AB;--primary-control:#796A96;
  --primary-fg:#F8F7FA;--blue-dim:#E6A5B8;--blue-glow:rgba(138,121,171,0.25);--g-primary:#8A79AB;
}

:root[data-brand-theme="tweakcn-amethyst-haze"][data-theme="dark"]{
  --bg:#1A1823;--panel:#232030;--surface:#242031;--surface2:#373248;
  --border:#302C40;--border2:#2A273A;--text:#E0DDEF;--ink:#E0DDEF;
  --muted:#A09AAD;--muted2:#E0DDEF;--tweakcn-secondary:#5A5370;--tweakcn-secondary-fg:#E0DDEF;
  --blue:#A995C9;--primary:#A995C9;--primary-control:#A995C9;--primary-fg:#1A1823;
  --blue-dim:#372E3F;--blue-glow:rgba(169,149,201,0.25);--purple:#F2B8C6;--purple-dim:#423746;
  --teal:#77B8A1;--teal-dim:#303741;--green:#F0C88D;--green-dim:#42393E;
  --good:#F0C88D;--amber:#A0BBE3;--amber-dim:#36374B;--red:#E57373;
  --red-dim:#402C3A;--bad:#E57373;--orange:#A0BBE3;--brand:linear-gradient(120deg,#A995C9,#F2B8C6);
  --g-primary:linear-gradient(120deg,#A995C9,#F2B8C6);--g-info:linear-gradient(120deg,#F2B8C6,#77B8A1);--g-success:linear-gradient(120deg,#F0C88D,#77B8A1);--g-warning:linear-gradient(120deg,#A0BBE3,#E57373);
  --g-danger:linear-gradient(120deg,#E57373,#F2B8C6);--g-dark:linear-gradient(120deg,#E0DDEF,#E0DDEF);--sans:Geist, sans-serif;--display:Geist, sans-serif;
  --serif:"Lora", Georgia, serif;--mono:"Fira Code", "Courier New", monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:1px 2px 5px 1px rgba(0,0,0,0.06);--shadow-md:1px 4px 15px 1px rgba(0,0,0,0.07);
  --shadow-lg:1px 8px 30px 1px rgba(0,0,0,0.09);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-amethyst-haze"][data-theme="dark"] .sb-root{
  --panel:#16141E;--surface:#372E3F;--surface2:#372E3F;--border:#2A273A;
  --border2:#2A273A;--text:#E0DDEF;--ink:#E0DDEF;--muted:#E0DDEF;
  --muted2:#E0DDEF;--blue:#A995C9;--primary:#A995C9;--primary-control:#A995C9;
  --primary-fg:#1A1823;--blue-dim:#372E3F;--blue-glow:rgba(169,149,201,0.25);--g-primary:#A995C9;
}

:root[data-brand-theme="tweakcn-bold-tech"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F5F3FF;--surface2:#F3F0FF;
  --border:#E0E7FF;--border2:#E0E7FF;--text:#312E81;--ink:#312E81;
  --muted:#7C3AED;--muted2:#4338CA;--tweakcn-secondary:#F3F0FF;--tweakcn-secondary-fg:#4338CA;
  --blue:#8558EC;--primary:#8B5CF6;--primary-control:#8558EC;--primary-fg:#FFFFFF;
  --blue-dim:#DBEAFE;--blue-glow:rgba(139,92,246,0.25);--purple:#7C3AED;--purple-dim:#EBE1FC;
  --teal:#6D28D9;--teal-dim:#E9DFF9;--green:#5B21B6;--green-dim:#E6DEF4;
  --good:#5B21B6;--amber:#4C1D95;--amber-dim:#E4DDEF;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#4C1D95;--brand:linear-gradient(120deg,#8B5CF6,#7C3AED);
  --g-primary:linear-gradient(120deg,#8B5CF6,#7C3AED);--g-info:linear-gradient(120deg,#7C3AED,#6D28D9);--g-success:linear-gradient(120deg,#5B21B6,#6D28D9);--g-warning:linear-gradient(120deg,#4C1D95,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#7C3AED);--g-dark:linear-gradient(120deg,#312E81,#312E81);--sans:Roboto, sans-serif;--display:Roboto, sans-serif;
  --serif:Playfair Display, serif;--mono:Fira Code, monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 4px 0px rgba(131,94,243,0.20);--shadow-md:2px 4px 12px 0px rgba(131,94,243,0.25);
  --shadow-lg:2px 8px 24px 0px rgba(131,94,243,0.30);color-scheme:light;
}

:root[data-brand-theme="tweakcn-bold-tech"] .sb-root{
  --panel:#F5F3FF;--surface:#DBEAFE;--surface2:#DBEAFE;--border:#E0E7FF;
  --border2:#E0E7FF;--text:#312E81;--ink:#312E81;--muted:#312E81;
  --muted2:#312E81;--blue:#7E54E0;--primary:#8B5CF6;--primary-control:#8558EC;
  --primary-fg:#FFFFFF;--blue-dim:#DBEAFE;--blue-glow:rgba(139,92,246,0.25);--g-primary:#8B5CF6;
}

:root[data-brand-theme="tweakcn-bold-tech"][data-theme="dark"]{
  --bg:#0F172A;--panel:#1E1B4B;--surface:#171447;--surface2:#1E1B4B;
  --border:#2E1065;--border2:#2E1065;--text:#E0E7FF;--ink:#E0E7FF;
  --muted:#C4B5FD;--muted2:#E0E7FF;--tweakcn-secondary:#1E1B4B;--tweakcn-secondary-fg:#E0E7FF;
  --blue:#9970F7;--primary:#8B5CF6;--primary-control:#8558EC;--primary-fg:#FFFFFF;
  --blue-dim:#4338CA;--blue-glow:rgba(139,92,246,0.25);--purple:#9970F7;--purple-dim:#2E2565;
  --teal:#9E6DF2;--teal-dim:#2C2063;--green:#9F71E6;--green-dim:#2A1D60;
  --good:#9F71E6;--amber:#9B78D2;--amber-dim:#271C5B;--red:#F04F4F;
  --red-dim:#3D214A;--bad:#F04F4F;--orange:#9B78D2;--brand:linear-gradient(120deg,#8B5CF6,#8B5CF6);
  --g-primary:linear-gradient(120deg,#8B5CF6,#8B5CF6);--g-info:linear-gradient(120deg,#8B5CF6,#7C3AED);--g-success:linear-gradient(120deg,#6D28D9,#7C3AED);--g-warning:linear-gradient(120deg,#5B21B6,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#8B5CF6);--g-dark:linear-gradient(120deg,#E0E7FF,#E0E7FF);--sans:Roboto, sans-serif;--display:Roboto, sans-serif;
  --serif:Playfair Display, serif;--mono:Fira Code, monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 4px 0px rgba(131,94,243,0.20);--shadow-md:2px 4px 12px 0px rgba(131,94,243,0.25);
  --shadow-lg:2px 8px 24px 0px rgba(131,94,243,0.30);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-bold-tech"][data-theme="dark"] .sb-root{
  --panel:#0F172A;--surface:#4338CA;--surface2:#4338CA;--border:#2E1065;
  --border2:#2E1065;--text:#E0E7FF;--ink:#E0E7FF;--muted:#E0E7FF;
  --muted2:#E0E7FF;--blue:#9063F6;--primary:#8B5CF6;--primary-control:#8558EC;
  --primary-fg:#FFFFFF;--blue-dim:#4338CA;--blue-glow:rgba(139,92,246,0.25);--g-primary:#8B5CF6;
}

:root[data-brand-theme="tweakcn-bubblegum"]{
  --bg:#F6E6EE;--panel:#FDEDC9;--surface:#B2E1EB;--surface2:#B1E1EA;
  --border:#D04F99;--border2:#E4E4E4;--text:#5B5B5B;--ink:#5B5B5B;
  --muted:#5F5F5F;--muted2:#333333;--tweakcn-secondary:#8ACFD1;--tweakcn-secondary-fg:#333333;
  --blue:#B14382;--primary:#D04F99;--primary-control:#C1498E;--primary-fg:#FFFFFF;
  --blue-dim:#FBE2A7;--blue-glow:rgba(208,79,153,0.25);--purple:#47717A;--purple-dim:#EBE9CD;
  --teal:#766A4E;--teal-dim:#FDEBC4;--green:#8D5D75;--green-dim:#FCE1C9;
  --good:#8D5D75;--amber:#B73D79;--amber-dim:#F7D4C0;--red:#AE4E4E;
  --red-dim:#FCDABC;--bad:#AE4E4E;--orange:#B73D79;--brand:linear-gradient(120deg,#D04F99,#84D2E2);
  --g-primary:linear-gradient(120deg,#D04F99,#84D2E2);--g-info:linear-gradient(120deg,#84D2E2,#FBE2A7);--g-success:linear-gradient(120deg,#F3A0CA,#FBE2A7);--g-warning:linear-gradient(120deg,#D7488E,#F96F70);
  --g-danger:linear-gradient(120deg,#F96F70,#84D2E2);--g-dark:linear-gradient(120deg,#5B5B5B,#5B5B5B);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:Lora, serif;--mono:Fira Code, monospace;--radius:0.4rem;--ctl-r:0.4rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:3px 3px 0px 0px rgba(209,81,154,1.00);--shadow-md:3px 6px 0px 0px rgba(209,81,154,1.00);
  --shadow-lg:3px 12px 0px 0px rgba(209,81,154,1.00);color-scheme:light;
}

:root[data-brand-theme="tweakcn-bubblegum"] .sb-root{
  --panel:#F8D8EA;--surface:#F9A8D4;--surface2:#F9A8D4;--border:#F3E8FF;
  --border2:#F3E8FF;--text:#333333;--ink:#333333;--muted:#333333;
  --muted2:#333333;--blue:#AC3570;--primary:#EC4899;--primary-control:#CD3F85;
  --primary-fg:#FFFFFF;--blue-dim:#F9A8D4;--blue-glow:rgba(236,72,153,0.25);--g-primary:#EC4899;
}

:root[data-brand-theme="tweakcn-bubblegum"][data-theme="dark"]{
  --bg:#12242E;--panel:#1C2E38;--surface:#24272B;--surface2:#2A2B2F;
  --border:#324859;--border2:#20333D;--text:#F3E3EA;--ink:#F3E3EA;
  --muted:#E4A2B1;--muted2:#8B9499;--tweakcn-secondary:#E4A2B1;--tweakcn-secondary-fg:#12242E;
  --blue:#FBE2A7;--primary:#FBE2A7;--primary-control:#FBE2A7;--primary-fg:#12242E;
  --blue-dim:#C67B96;--blue-glow:rgba(251,226,167,0.25);--purple:#E4A2B1;--purple-dim:#3A3F4A;
  --teal:#C77C97;--teal-dim:#363A46;--green:#6F9AA4;--green-dim:#1B3540;
  --good:#6F9AA4;--amber:#929395;--amber-dim:#1D2D36;--red:#E466A9;
  --red-dim:#3A3548;--bad:#E466A9;--orange:#929395;--brand:linear-gradient(120deg,#FBE2A7,#E4A2B1);
  --g-primary:linear-gradient(120deg,#FBE2A7,#E4A2B1);--g-info:linear-gradient(120deg,#E4A2B1,#C67B96);--g-success:linear-gradient(120deg,#175C6C,#C67B96);--g-warning:linear-gradient(120deg,#24272B,#E35EA4);
  --g-danger:linear-gradient(120deg,#E35EA4,#E4A2B1);--g-dark:linear-gradient(120deg,#F3E3EA,#F3E3EA);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:Lora, serif;--mono:Fira Code, monospace;--radius:0.4rem;--ctl-r:0.4rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:3px 3px 0px 0px rgba(50,72,89,1.00);--shadow-md:3px 6px 0px 0px rgba(50,72,89,1.00);
  --shadow-lg:3px 12px 0px 0px rgba(50,72,89,1.00);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-bubblegum"][data-theme="dark"] .sb-root{
  --panel:#101F28;--surface:#F9A8D4;--surface2:#F9A8D4;--border:#374151;
  --border2:#374151;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#EC4899;--primary:#EC4899;--primary-control:#CD3F85;
  --primary-fg:#FFFFFF;--blue-dim:#F9A8D4;--blue-glow:rgba(236,72,153,0.25);--g-primary:#EC4899;
}

:root[data-brand-theme="tweakcn-caffeine"]{
  --bg:#F9F9F9;--panel:#FCFCFC;--surface:#EFEFEF;--surface2:#FFDFB5;
  --border:#D8D8D8;--border2:#D8D8D8;--text:#202020;--ink:#202020;
  --muted:#646464;--muted2:#582D1D;--tweakcn-secondary:#FFDFB5;--tweakcn-secondary-fg:#582D1D;
  --blue:#644A40;--primary:#644A40;--primary-control:#644A40;--primary-fg:#FFFFFF;
  --blue-dim:#E8E8E8;--blue-glow:rgba(100,74,64,0.25);--purple:#82725C;--purple-dim:#FCF8F1;
  --teal:#747474;--teal-dim:#F9F9F9;--green:#807362;--green-dim:#FCF9F4;
  --good:#807362;--amber:#66493E;--amber-dim:#E6E1E0;--red:#CE4529;
  --red-dim:#F9E2DD;--bad:#CE4529;--orange:#66493E;--brand:linear-gradient(120deg,#644A40,#FFDFB5);
  --g-primary:linear-gradient(120deg,#644A40,#FFDFB5);--g-info:linear-gradient(120deg,#FFDFB5,#E8E8E8);--g-success:linear-gradient(120deg,#FFE6C4,#E8E8E8);--g-warning:linear-gradient(120deg,#66493E,#E54D2E);
  --g-danger:linear-gradient(120deg,#E54D2E,#FFDFB5);--g-dark:linear-gradient(120deg,#202020,#202020);--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--display:system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-caffeine"] .sb-root{
  --panel:#FBFBFB;--surface:#F7F7F7;--surface2:#F7F7F7;--border:#EBEBEB;
  --border2:#EBEBEB;--text:#252525;--ink:#252525;--muted:#252525;
  --muted2:#252525;--blue:#343434;--primary:#343434;--primary-control:#343434;
  --primary-fg:#FBFBFB;--blue-dim:#F7F7F7;--blue-glow:rgba(52,52,52,0.25);--g-primary:#343434;
}

:root[data-brand-theme="tweakcn-caffeine"][data-theme="dark"]{
  --bg:#111111;--panel:#191919;--surface:#222222;--surface2:#393028;
  --border:#201E18;--border2:#484848;--text:#EEEEEE;--ink:#EEEEEE;
  --muted:#B4B4B4;--muted2:#FFE0C2;--tweakcn-secondary:#393028;--tweakcn-secondary-fg:#FFE0C2;
  --blue:#FFE0C2;--primary:#FFE0C2;--primary-control:#FFE0C2;--primary-fg:#081A1B;
  --blue-dim:#2A2A2A;--blue-glow:rgba(255,224,194,0.25);--purple:#86817C;--purple-dim:#1E1C1B;
  --teal:#818181;--teal-dim:#1C1C1C;--green:#868079;--green-dim:#1F1E1C;
  --good:#868079;--amber:#FFE0C1;--amber-dim:#3C3732;--red:#E54D2E;
  --red-dim:#38211C;--bad:#E54D2E;--orange:#FFE0C1;--brand:linear-gradient(120deg,#FFE0C2,#393028);
  --g-primary:linear-gradient(120deg,#FFE0C2,#393028);--g-info:linear-gradient(120deg,#393028,#2A2A2A);--g-success:linear-gradient(120deg,#42382E,#2A2A2A);--g-warning:linear-gradient(120deg,#FFE0C1,#E54D2E);
  --g-danger:linear-gradient(120deg,#E54D2E,#393028);--g-dark:linear-gradient(120deg,#EEEEEE,#EEEEEE);--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--display:system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-caffeine"][data-theme="dark"] .sb-root{
  --panel:#18181B;--surface:#27272A;--surface2:#27272A;--border:#27272A;
  --border2:#27272A;--text:#F4F4F5;--ink:#F4F4F5;--muted:#F4F4F5;
  --muted2:#F4F4F5;--blue:#587CE2;--primary:#1D4ED8;--primary-control:#1D4ED8;
  --primary-fg:#FFFFFF;--blue-dim:#27272A;--blue-glow:rgba(29,78,216,0.25);--g-primary:#1D4ED8;
}

:root[data-brand-theme="tweakcn-candyland"]{
  --bg:#F7F9FA;--panel:#FFFFFF;--surface:#DDD9C4;--surface2:#D9D8C6;
  --border:#D4D4D4;--border2:#D4D4D4;--text:#333333;--ink:#333333;
  --muted:#5E5E5E;--muted2:#000000;--tweakcn-secondary:#87CEEB;--tweakcn-secondary-fg:#000000;
  --blue:#916D74;--primary:#FFC0CB;--primary-control:#FFC0CB;--primary-fg:#000000;
  --blue-dim:#FFFF00;--blue-glow:rgba(255,192,203,0.25);--purple:#517C8D;--purple-dim:#EDF8FC;
  --teal:#7A7A00;--teal-dim:#FFFFD9;--green:#A36283;--green-dim:#FFF0F7;
  --good:#A36283;--amber:#228722;--amber-dim:#E0F7E0;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#228722;--brand:linear-gradient(120deg,#FFC0CB,#87CEEB);
  --g-primary:linear-gradient(120deg,#FFC0CB,#87CEEB);--g-info:linear-gradient(120deg,#87CEEB,#FFFF00);--g-success:linear-gradient(120deg,#FF99CC,#FFFF00);--g-warning:linear-gradient(120deg,#33CC33,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#87CEEB);--g-dark:linear-gradient(120deg,#333333,#333333);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Roboto Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-candyland"] .sb-root{
  --panel:#F7F9FA;--surface:#FFFF00;--surface2:#FFFF00;--border:#D4D4D4;
  --border2:#D4D4D4;--text:#333333;--ink:#333333;--muted:#333333;
  --muted2:#333333;--blue:#8C6A70;--primary:#FFC0CB;--primary-control:#FFC0CB;
  --primary-fg:#000000;--blue-dim:#FFFF00;--blue-glow:rgba(255,192,203,0.25);--g-primary:#FFC0CB;
}

:root[data-brand-theme="tweakcn-candyland"][data-theme="dark"]{
  --bg:#1A1D23;--panel:#2F3436;--surface:#444444;--surface2:#444444;
  --border:#444444;--border2:#444444;--text:#E5E5E5;--ink:#E5E5E5;
  --muted:#B1B1B1;--muted2:#B2B2B2;--tweakcn-secondary:#33CC33;--tweakcn-secondary-fg:#000000;
  --blue:#FF99CC;--primary:#FF99CC;--primary-control:#FF99CC;--primary-fg:#000000;
  --blue-dim:#87CEEB;--blue-glow:rgba(255,153,204,0.25);--purple:#33CC33;--purple-dim:#304B36;
  --teal:#87CEEB;--teal-dim:#3C4B51;--green:#FFFF00;--green-dim:#4E522E;
  --good:#FFFF00;--amber:#FFCC00;--amber-dim:#4E4B2E;--red:#F37373;
  --red-dim:#4C3638;--bad:#F37373;--orange:#FFCC00;--brand:linear-gradient(120deg,#FF99CC,#33CC33);
  --g-primary:linear-gradient(120deg,#FF99CC,#33CC33);--g-info:linear-gradient(120deg,#33CC33,#87CEEB);--g-success:linear-gradient(120deg,#FFFF00,#87CEEB);--g-warning:linear-gradient(120deg,#FFCC00,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#33CC33);--g-dark:linear-gradient(120deg,#E5E5E5,#E5E5E5);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Roboto Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-candyland"][data-theme="dark"] .sb-root{
  --panel:#1A1D23;--surface:#87CEEB;--surface2:#87CEEB;--border:#444444;
  --border2:#444444;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#FF99CC;--primary:#FF99CC;--primary-control:#FF99CC;
  --primary-fg:#000000;--blue-dim:#87CEEB;--blue-glow:rgba(255,153,204,0.25);--g-primary:#FF99CC;
}

:root[data-brand-theme="tweakcn-catppuccin"]{
  --bg:#EFF1F5;--panel:#FFFFFF;--surface:#DCE0E8;--surface2:#DBDFE7;
  --border:#BCC0CC;--border2:#CCD0DA;--text:#4C4F69;--ink:#4C4F69;
  --muted:#5F6275;--muted2:#4C4F69;--tweakcn-secondary:#CCD0DA;--tweakcn-secondary-fg:#4C4F69;
  --blue:#8839EF;--primary:#8839EF;--primary-control:#8839EF;--primary-fg:#FFFFFF;
  --blue-dim:#04A5E5;--blue-glow:rgba(136,57,239,0.25);--purple:#037FB0;--purple-dim:#D9F2FB;
  --teal:#368624;--teal-dim:#E2F1DF;--green:#C94F09;--green-dim:#FFE8DA;
  --good:#C94F09;--amber:#A36659;--amber-dim:#FAEDEB;--red:#D20F39;
  --red-dim:#F8DBE1;--bad:#D20F39;--orange:#A36659;--brand:linear-gradient(120deg,#8839EF,#04A5E5);
  --g-primary:linear-gradient(120deg,#8839EF,#04A5E5);--g-info:linear-gradient(120deg,#04A5E5,#40A02B);--g-success:linear-gradient(120deg,#FE640B,#40A02B);--g-warning:linear-gradient(120deg,#DC8A78,#D20F39);
  --g-danger:linear-gradient(120deg,#D20F39,#04A5E5);--g-dark:linear-gradient(120deg,#4C4F69,#4C4F69);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Georgia, serif;--mono:Fira Code, monospace;--radius:0.35rem;--ctl-r:0.35rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 6px 0px rgba(45,45,83,0.12);--shadow-md:0px 8px 18px 0px rgba(45,45,83,0.15);
  --shadow-lg:0px 16px 36px 0px rgba(45,45,83,0.18);color-scheme:light;
}

:root[data-brand-theme="tweakcn-catppuccin"] .sb-root{
  --panel:#E6E9EF;--surface:#04A5E5;--surface2:#04A5E5;--border:#BCC0CC;
  --border2:#BCC0CC;--text:#303242;--ink:#303242;--muted:#303242;
  --muted2:#303242;--blue:#8738ED;--primary:#8839EF;--primary-control:#8839EF;
  --primary-fg:#FFFFFF;--blue-dim:#04A5E5;--blue-glow:rgba(136,57,239,0.25);--g-primary:#8839EF;
}

:root[data-brand-theme="tweakcn-catppuccin"][data-theme="dark"]{
  --bg:#181825;--panel:#1E1E2E;--surface:#292C3C;--surface2:#3E4153;
  --border:#313244;--border2:#313244;--text:#CDD6F4;--ink:#CDD6F4;
  --muted:#A6ADC8;--muted2:#CDD6F4;--tweakcn-secondary:#585B70;--tweakcn-secondary-fg:#CDD6F4;
  --blue:#CBA6F7;--primary:#CBA6F7;--primary-control:#CBA6F7;--primary-fg:#1E1E2E;
  --blue-dim:#89DCEB;--blue-glow:rgba(203,166,247,0.25);--purple:#89DCEB;--purple-dim:#2E3B4A;
  --teal:#A6E3A1;--teal-dim:#323C3F;--green:#FAB387;--green-dim:#3F343B;
  --good:#FAB387;--amber:#F5E0DC;--amber-dim:#3E3B48;--red:#F38BA8;
  --red-dim:#3E2E40;--bad:#F38BA8;--orange:#F5E0DC;--brand:linear-gradient(120deg,#CBA6F7,#89DCEB);
  --g-primary:linear-gradient(120deg,#CBA6F7,#89DCEB);--g-info:linear-gradient(120deg,#89DCEB,#A6E3A1);--g-success:linear-gradient(120deg,#FAB387,#A6E3A1);--g-warning:linear-gradient(120deg,#F5E0DC,#F38BA8);
  --g-danger:linear-gradient(120deg,#F38BA8,#89DCEB);--g-dark:linear-gradient(120deg,#CDD6F4,#CDD6F4);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Georgia, serif;--mono:Fira Code, monospace;--radius:0.35rem;--ctl-r:0.35rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 6px 0px rgba(45,45,83,0.12);--shadow-md:0px 8px 18px 0px rgba(45,45,83,0.15);
  --shadow-lg:0px 16px 36px 0px rgba(45,45,83,0.18);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-catppuccin"][data-theme="dark"] .sb-root{
  --panel:#11111B;--surface:#89DCEB;--surface2:#89DCEB;--border:#45475A;
  --border2:#45475A;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#CBA6F7;--primary:#CBA6F7;--primary-control:#CBA6F7;
  --primary-fg:#1E1E2E;--blue-dim:#89DCEB;--blue-glow:rgba(203,166,247,0.25);--g-primary:#CBA6F7;
}

:root[data-brand-theme="tweakcn-claude"]{
  --bg:#FAF9F5;--panel:#FAF9F5;--surface:#EDE9DE;--surface2:#ECE9DE;
  --border:#DAD9D4;--border2:#B4B2A7;--text:#3D3929;--ink:#141413;
  --muted:#6A6965;--muted2:#535146;--tweakcn-secondary:#E9E6DC;--tweakcn-secondary-fg:#535146;
  --blue:#B3593B;--primary:#C96442;--primary-control:#B95C3D;--primary-fg:#FFFFFF;
  --blue-dim:#E9E6DC;--blue-glow:rgba(201,100,66,0.25);--purple:#7565B8;--purple-dim:#ECE8F5;
  --teal:#767268;--teal-dim:#F6F4EE;--green:#74707F;--green-dim:#F5F3F4;
  --good:#74707F;--amber:#B4552D;--amber-dim:#F0E0D7;--red:#141413;
  --red-dim:#D8D7D3;--bad:#141413;--orange:#B4552D;--brand:linear-gradient(120deg,#C96442,#9C87F5);
  --g-primary:linear-gradient(120deg,#C96442,#9C87F5);--g-info:linear-gradient(120deg,#9C87F5,#DED8C4);--g-success:linear-gradient(120deg,#DBD3F0,#DED8C4);--g-warning:linear-gradient(120deg,#B4552D,#141413);
  --g-danger:linear-gradient(120deg,#141413,#9C87F5);--g-dark:linear-gradient(120deg,#141413,#3D3929);--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--display:system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-claude"] .sb-root{
  --panel:#F5F4EE;--surface:#E9E6DC;--surface2:#E9E6DC;--border:#EBEBEB;
  --border2:#EBEBEB;--text:#3D3D3A;--ink:#3D3D3A;--muted:#3D3D3A;
  --muted2:#3D3D3A;--blue:#AD5639;--primary:#C96442;--primary-control:#B55A3B;
  --primary-fg:#FBFBFB;--blue-dim:#E9E6DC;--blue-glow:rgba(201,100,66,0.25);--g-primary:#C96442;
}

:root[data-brand-theme="tweakcn-claude"][data-theme="dark"]{
  --bg:#262624;--panel:#262624;--surface:#1B1B19;--surface2:#262624;
  --border:#3E3E38;--border2:#52514A;--text:#C3C0B6;--ink:#FAF9F5;
  --muted:#B7B5A9;--muted2:#8D8D8C;--tweakcn-secondary:#FAF9F5;--tweakcn-secondary-fg:#30302E;
  --blue:#D97757;--primary:#D97757;--primary-control:#B06046;--primary-fg:#FFFFFF;
  --blue-dim:#1A1915;--blue-glow:rgba(217,119,87,0.25);--purple:#9C87F5;--purple-dim:#383543;
  --teal:#8C8C8A;--teal-dim:#242422;--green:#8D8A9A;--green-dim:#272729;
  --good:#8D8A9A;--amber:#C47A5B;--amber-dim:#3B2D25;--red:#F15757;
  --red-dim:#442A29;--bad:#F15757;--orange:#C47A5B;--brand:linear-gradient(120deg,#D97757,#9C87F5);
  --g-primary:linear-gradient(120deg,#D97757,#9C87F5);--g-info:linear-gradient(120deg,#9C87F5,#1A1915);--g-success:linear-gradient(120deg,#2F2B48,#1A1915);--g-warning:linear-gradient(120deg,#B4552D,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#9C87F5);--g-dark:linear-gradient(120deg,#FAF9F5,#C3C0B6);--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--display:system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-claude"][data-theme="dark"] .sb-root{
  --panel:#1F1E1D;--surface:#0F0F0E;--surface2:#0F0F0E;--border:#EBEBEB;
  --border2:#EBEBEB;--text:#C3C0B6;--ink:#C3C0B6;--muted:#C3C0B6;
  --muted2:#C3C0B6;--blue:#858585;--primary:#343434;--primary-control:#343434;
  --primary-fg:#FBFBFB;--blue-dim:#0F0F0E;--blue-glow:rgba(52,52,52,0.25);--g-primary:#343434;
}

:root[data-brand-theme="tweakcn-claymorphism"]{
  --bg:#E7E5E4;--panel:#F5F5F4;--surface:#E7E5E4;--surface2:#E7E5E4;
  --border:#D6D3D1;--border2:#D6D3D1;--text:#1E293B;--ink:#1E293B;
  --muted:#606773;--muted2:#4B5563;--tweakcn-secondary:#D6D3D1;--tweakcn-secondary-fg:#4B5563;
  --blue:#5D60E3;--primary:#6366F1;--primary-control:#6265EF;--primary-fg:#FFFFFF;
  --blue-dim:#F3E5F5;--blue-glow:rgba(99,102,241,0.25);--purple:#4F46E5;--purple-dim:#DCDBF2;
  --teal:#4338CA;--teal-dim:#DAD9EE;--green:#3730A3;--green-dim:#D8D7E8;
  --good:#3730A3;--amber:#312E81;--amber-dim:#D8D7E3;--red:#CB3A3A;
  --red-dim:#F4DADA;--bad:#CB3A3A;--orange:#312E81;--brand:linear-gradient(120deg,#6366F1,#4F46E5);
  --g-primary:linear-gradient(120deg,#6366F1,#4F46E5);--g-info:linear-gradient(120deg,#4F46E5,#4338CA);--g-success:linear-gradient(120deg,#3730A3,#4338CA);--g-warning:linear-gradient(120deg,#312E81,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#4F46E5);--g-dark:linear-gradient(120deg,#1E293B,#1E293B);--sans:Plus Jakarta Sans, sans-serif;--display:Plus Jakarta Sans, sans-serif;
  --serif:Lora, serif;--mono:Roboto Mono, monospace;--radius:1.25rem;--ctl-r:1.25rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 10px 4px rgba(149,149,157,0.18);--shadow-md:2px 4px 30px 4px rgba(149,149,157,0.22);
  --shadow-lg:2px 8px 60px 4px rgba(149,149,157,0.27);color-scheme:light;
}

:root[data-brand-theme="tweakcn-claymorphism"] .sb-root{
  --panel:#D6D3D1;--surface:#F3E5F5;--surface2:#F3E5F5;--border:#D6D3D1;
  --border2:#D6D3D1;--text:#1E293B;--ink:#1E293B;--muted:#1E293B;
  --muted2:#1E293B;--blue:#4B4EB7;--primary:#6366F1;--primary-control:#6265EF;
  --primary-fg:#FFFFFF;--blue-dim:#F3E5F5;--blue-glow:rgba(99,102,241,0.25);--g-primary:#6366F1;
}

:root[data-brand-theme="tweakcn-claymorphism"][data-theme="dark"]{
  --bg:#1E1B18;--panel:#2C2825;--surface:#1F1C19;--surface2:#3A3633;
  --border:#3A3633;--border2:#3A3633;--text:#E2E8F0;--ink:#E2E8F0;
  --muted:#9CA3AF;--muted2:#D1D5DB;--tweakcn-secondary:#3A3633;--tweakcn-secondary-fg:#D1D5DB;
  --blue:#818CF8;--primary:#818CF8;--primary-control:#818CF8;--primary-fg:#1E1B18;
  --blue-dim:#484441;--blue-glow:rgba(129,140,248,0.25);--purple:#8183F4;--purple-dim:#343144;
  --teal:#8983EE;--teal-dim:#312C42;--green:#8C86DF;--green-dim:#2F2A3E;
  --good:#8C86DF;--amber:#8D89CB;--amber-dim:#2E2938;--red:#F15E5E;
  --red-dim:#492C2A;--bad:#F15E5E;--orange:#8D89CB;--brand:linear-gradient(120deg,#818CF8,#6366F1);
  --g-primary:linear-gradient(120deg,#818CF8,#6366F1);--g-info:linear-gradient(120deg,#6366F1,#4F46E5);--g-success:linear-gradient(120deg,#4338CA,#4F46E5);--g-warning:linear-gradient(120deg,#3730A3,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#6366F1);--g-dark:linear-gradient(120deg,#E2E8F0,#E2E8F0);--sans:Plus Jakarta Sans, sans-serif;--display:Plus Jakarta Sans, sans-serif;
  --serif:Lora, serif;--mono:Roboto Mono, monospace;--radius:1.25rem;--ctl-r:1.25rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 10px 4px rgba(0,0,0,0.18);--shadow-md:2px 4px 30px 4px rgba(0,0,0,0.22);
  --shadow-lg:2px 8px 60px 4px rgba(0,0,0,0.27);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-claymorphism"][data-theme="dark"] .sb-root{
  --panel:#3A3633;--surface:#484441;--surface2:#484441;--border:#3A3633;
  --border2:#3A3633;--text:#E2E8F0;--ink:#E2E8F0;--muted:#E2E8F0;
  --muted2:#E2E8F0;--blue:#8E98F9;--primary:#818CF8;--primary-control:#818CF8;
  --primary-fg:#1E1B18;--blue-dim:#484441;--blue-glow:rgba(129,140,248,0.25);--g-primary:#818CF8;
}

:root[data-brand-theme="tweakcn-clean-slate"]{
  --bg:#F8FAFC;--panel:#FFFFFF;--surface:#F3F4F6;--surface2:#F3F4F6;
  --border:#D1D5DB;--border2:#D1D5DB;--text:#1E293B;--ink:#1E293B;
  --muted:#69707D;--muted2:#374151;--tweakcn-secondary:#E5E7EB;--tweakcn-secondary-fg:#374151;
  --blue:#6265EF;--primary:#6366F1;--primary-control:#6265EF;--primary-fg:#FFFFFF;
  --blue-dim:#E0E7FF;--blue-glow:rgba(99,102,241,0.25);--purple:#4F46E5;--purple-dim:#E5E3FB;
  --teal:#4338CA;--teal-dim:#E3E1F7;--green:#3730A3;--green-dim:#E1E0F1;
  --good:#3730A3;--amber:#312E81;--amber-dim:#E0E0EC;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#312E81;--brand:linear-gradient(120deg,#6366F1,#4F46E5);
  --g-primary:linear-gradient(120deg,#6366F1,#4F46E5);--g-info:linear-gradient(120deg,#4F46E5,#4338CA);--g-success:linear-gradient(120deg,#3730A3,#4338CA);--g-warning:linear-gradient(120deg,#312E81,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#4F46E5);--g-dark:linear-gradient(120deg,#1E293B,#1E293B);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Merriweather, serif;--mono:JetBrains Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -1px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -1px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -1px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-clean-slate"] .sb-root{
  --panel:#F3F4F6;--surface:#E0E7FF;--surface2:#E0E7FF;--border:#D1D5DB;
  --border2:#D1D5DB;--text:#1E293B;--ink:#1E293B;--muted:#1E293B;
  --muted2:#1E293B;--blue:#5C5FE0;--primary:#6366F1;--primary-control:#6265EF;
  --primary-fg:#FFFFFF;--blue-dim:#E0E7FF;--blue-glow:rgba(99,102,241,0.25);--g-primary:#6366F1;
}

:root[data-brand-theme="tweakcn-clean-slate"][data-theme="dark"]{
  --bg:#0F172A;--panel:#1E293B;--surface:#152032;--surface2:#2D3748;
  --border:#4B5563;--border2:#4B5563;--text:#E2E8F0;--ink:#E2E8F0;
  --muted:#9CA3AF;--muted2:#D1D5DB;--tweakcn-secondary:#2D3748;--tweakcn-secondary-fg:#D1D5DB;
  --blue:#818CF8;--primary:#818CF8;--primary-control:#818CF8;--primary-fg:#0F172A;
  --blue-dim:#374151;--blue-glow:rgba(129,140,248,0.25);--purple:#8183F4;--purple-dim:#283256;
  --teal:#8983EE;--teal-dim:#252D54;--green:#8C86DF;--green-dim:#242B50;
  --good:#8C86DF;--amber:#8D89CB;--amber-dim:#222A4B;--red:#F15E5E;
  --red-dim:#3D2D3C;--bad:#F15E5E;--orange:#8D89CB;--brand:linear-gradient(120deg,#818CF8,#6366F1);
  --g-primary:linear-gradient(120deg,#818CF8,#6366F1);--g-info:linear-gradient(120deg,#6366F1,#4F46E5);--g-success:linear-gradient(120deg,#4338CA,#4F46E5);--g-warning:linear-gradient(120deg,#3730A3,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#6366F1);--g-dark:linear-gradient(120deg,#E2E8F0,#E2E8F0);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Merriweather, serif;--mono:JetBrains Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -1px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -1px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -1px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-clean-slate"][data-theme="dark"] .sb-root{
  --panel:#1E293B;--surface:#374151;--surface2:#374151;--border:#4B5563;
  --border2:#4B5563;--text:#E2E8F0;--ink:#E2E8F0;--muted:#E2E8F0;
  --muted2:#E2E8F0;--blue:#818CF8;--primary:#818CF8;--primary-control:#818CF8;
  --primary-fg:#0F172A;--blue-dim:#374151;--blue-glow:rgba(129,140,248,0.25);--g-primary:#818CF8;
}

:root[data-brand-theme="tweakcn-cosmic-night"]{
  --bg:#F5F5FF;--panel:#FFFFFF;--surface:#F0F0FA;--surface2:#F0EFFA;
  --border:#E0E0F0;--border2:#E0E0F0;--text:#2A2A4A;--ink:#2A2A4A;
  --muted:#6B6B89;--muted2:#4A4080;--tweakcn-secondary:#E4DFFF;--tweakcn-secondary-fg:#4A4080;
  --blue:#6E56CF;--primary:#6E56CF;--primary-control:#6E56CF;--primary-fg:#FFFFFF;
  --blue-dim:#D8E6FF;--blue-glow:rgba(110,86,207,0.25);--purple:#786AC0;--purple-dim:#F0EEFF;
  --teal:#5D5FEF;--teal-dim:#E7E7FD;--green:#6D67DC;--green-dim:#EBEAFE;
  --good:#6D67DC;--amber:#4740B3;--amber-dim:#E3E2F4;--red:#CF445B;
  --red-dim:#FFE5EA;--bad:#CF445B;--orange:#4740B3;--brand:linear-gradient(120deg,#6E56CF,#9E8CFC);
  --g-primary:linear-gradient(120deg,#6E56CF,#9E8CFC);--g-info:linear-gradient(120deg,#9E8CFC,#5D5FEF);--g-success:linear-gradient(120deg,#7C75FA,#5D5FEF);--g-warning:linear-gradient(120deg,#4740B3,#FF5470);
  --g-danger:linear-gradient(120deg,#FF5470,#9E8CFC);--g-dark:linear-gradient(120deg,#2A2A4A,#2A2A4A);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Georgia, serif;--mono:JetBrains Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 10px 0px rgba(45,45,83,0.12);--shadow-md:0px 8px 30px 0px rgba(45,45,83,0.15);
  --shadow-lg:0px 16px 60px 0px rgba(45,45,83,0.18);color-scheme:light;
}

:root[data-brand-theme="tweakcn-cosmic-night"] .sb-root{
  --panel:#F0F0FA;--surface:#D8E6FF;--surface2:#D8E6FF;--border:#E0E0F0;
  --border2:#E0E0F0;--text:#2A2A4A;--ink:#2A2A4A;--muted:#2A2A4A;
  --muted2:#2A2A4A;--blue:#6E56CF;--primary:#6E56CF;--primary-control:#6E56CF;
  --primary-fg:#FFFFFF;--blue-dim:#D8E6FF;--blue-glow:rgba(110,86,207,0.25);--g-primary:#6E56CF;
}

:root[data-brand-theme="tweakcn-cosmic-night"][data-theme="dark"]{
  --bg:#0F0F1A;--panel:#1A1A2E;--surface:#222244;--surface2:#2D2B55;
  --border:#303052;--border2:#303052;--text:#E2E2F5;--ink:#E2E2F5;
  --muted:#A0A0C0;--muted2:#C4C2FF;--tweakcn-secondary:#2D2B55;--tweakcn-secondary-fg:#C4C2FF;
  --blue:#A48FFF;--primary:#A48FFF;--primary-control:#A48FFF;--primary-fg:#0F0F1A;
  --blue-dim:#303060;--blue-glow:rgba(164,143,255,0.25);--purple:#7986CB;--purple-dim:#282A46;
  --teal:#64B5F6;--teal-dim:#25314C;--green:#4DB6AC;--green-dim:#223141;
  --good:#4DB6AC;--amber:#FF79C6;--amber-dim:#3C2845;--red:#FF5470;
  --red-dim:#3C2338;--bad:#FF5470;--orange:#FF79C6;--brand:linear-gradient(120deg,#A48FFF,#7986CB);
  --g-primary:linear-gradient(120deg,#A48FFF,#7986CB);--g-info:linear-gradient(120deg,#7986CB,#64B5F6);--g-success:linear-gradient(120deg,#4DB6AC,#64B5F6);--g-warning:linear-gradient(120deg,#FF79C6,#FF5470);
  --g-danger:linear-gradient(120deg,#FF5470,#7986CB);--g-dark:linear-gradient(120deg,#E2E2F5,#E2E2F5);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Georgia, serif;--mono:JetBrains Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 10px 0px rgba(45,45,83,0.12);--shadow-md:0px 8px 30px 0px rgba(45,45,83,0.15);
  --shadow-lg:0px 16px 60px 0px rgba(45,45,83,0.18);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-cosmic-night"][data-theme="dark"] .sb-root{
  --panel:#1A1A2E;--surface:#303060;--surface2:#303060;--border:#303052;
  --border2:#303052;--text:#E2E2F5;--ink:#E2E2F5;--muted:#E2E2F5;
  --muted2:#E2E2F5;--blue:#A48FFF;--primary:#A48FFF;--primary-control:#A48FFF;
  --primary-fg:#0F0F1A;--blue-dim:#303060;--blue-glow:rgba(164,143,255,0.25);--g-primary:#A48FFF;
}

:root[data-brand-theme="tweakcn-cyberpunk"]{
  --bg:#F8F9FA;--panel:#FFFFFF;--surface:#F0F0FF;--surface2:#F0F0FF;
  --border:#DFE6E9;--border2:#DFE6E9;--text:#0C0C1D;--ink:#0C0C1D;
  --muted:#0C0C1D;--muted2:#0C0C1D;--tweakcn-secondary:#F0F0FF;--tweakcn-secondary-fg:#0C0C1D;
  --blue:#DB00AC;--primary:#FF00C8;--primary-control:#DB00AC;--primary-fg:#FFFFFF;
  --blue-dim:#00FFCC;--blue-glow:rgba(255,0,200,0.25);--purple:#9000FF;--purple-dim:#EED9FF;
  --teal:#008391;--teal-dim:#D9FBFF;--green:#00856A;--green-dim:#D9FFF7;
  --good:#00856A;--amber:#827500;--amber-dim:#FFFBD9;--red:#DE3500;
  --red-dim:#FFE2D9;--bad:#DE3500;--orange:#827500;--brand:linear-gradient(120deg,#FF00C8,#9000FF);
  --g-primary:linear-gradient(120deg,#FF00C8,#9000FF);--g-info:linear-gradient(120deg,#9000FF,#00E5FF);--g-success:linear-gradient(120deg,#00FFCC,#00E5FF);--g-warning:linear-gradient(120deg,#FFE600,#FF3D00);
  --g-danger:linear-gradient(120deg,#FF3D00,#9000FF);--g-dark:linear-gradient(120deg,#0C0C1D,#0C0C1D);--sans:Outfit, sans-serif;--display:Outfit, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Fira Code, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -2px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -2px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -2px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-cyberpunk"] .sb-root{
  --panel:#F0F0FF;--surface:#00FFCC;--surface2:#00FFCC;--border:#DFE6E9;
  --border2:#DFE6E9;--text:#0C0C1D;--ink:#0C0C1D;--muted:#0C0C1D;
  --muted2:#0C0C1D;--blue:#CC00A0;--primary:#FF00C8;--primary-control:#DB00AC;
  --primary-fg:#FFFFFF;--blue-dim:#00FFCC;--blue-glow:rgba(255,0,200,0.25);--g-primary:#FF00C8;
}

:root[data-brand-theme="tweakcn-cyberpunk"][data-theme="dark"]{
  --bg:#0C0C1D;--panel:#1E1E3F;--surface:#151530;--surface2:#1E1E3F;
  --border:#2E2E5E;--border2:#2E2E5E;--text:#ECEFF4;--ink:#ECEFF4;
  --muted:#8387A8;--muted2:#ECEFF4;--tweakcn-secondary:#1E1E3F;--tweakcn-secondary-fg:#ECEFF4;
  --blue:#FF00C8;--primary:#FF00C8;--primary-control:#DB00AC;--primary-fg:#FFFFFF;
  --blue-dim:#00FFCC;--blue-glow:rgba(255,0,200,0.25);--purple:#B85CFF;--purple-dim:#2F1A5C;
  --teal:#00E5FF;--teal-dim:#1A3C5C;--green:#00FFCC;--green-dim:#1A4054;
  --good:#00FFCC;--amber:#FFE600;--amber-dim:#403C36;--red:#FF3D00;
  --red-dim:#402336;--bad:#FF3D00;--orange:#FFE600;--brand:linear-gradient(120deg,#FF00C8,#9000FF);
  --g-primary:linear-gradient(120deg,#FF00C8,#9000FF);--g-info:linear-gradient(120deg,#9000FF,#00E5FF);--g-success:linear-gradient(120deg,#00FFCC,#00E5FF);--g-warning:linear-gradient(120deg,#FFE600,#FF3D00);
  --g-danger:linear-gradient(120deg,#FF3D00,#9000FF);--g-dark:linear-gradient(120deg,#ECEFF4,#ECEFF4);--sans:Outfit, sans-serif;--display:Outfit, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Fira Code, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -2px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -2px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -2px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-cyberpunk"][data-theme="dark"] .sb-root{
  --panel:#0C0C1D;--surface:#00FFCC;--surface2:#00FFCC;--border:#2E2E5E;
  --border2:#2E2E5E;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#FF00C8;--primary:#FF00C8;--primary-control:#DB00AC;
  --primary-fg:#FFFFFF;--blue-dim:#00FFCC;--blue-glow:rgba(255,0,200,0.25);--g-primary:#FF00C8;
}

:root[data-brand-theme="tweakcn-darkmatter"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F3F4F6;--surface2:#F3F4F6;
  --border:#E5E7EB;--border2:#E5E7EB;--text:#111827;--ink:#111827;
  --muted:#69707D;--muted2:#6E6E6E;--tweakcn-secondary:#527575;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#AF6236;--primary:#D87943;--primary-control:#AF6236;--primary-fg:#FFFFFF;
  --blue-dim:#EEEEEE;--blue-glow:rgba(216,121,67,0.25);--purple:#A9653D;--purple-dim:#FBEDE5;
  --teal:#8A7053;--teal-dim:#FEF7EF;--green:#767676;--green-dim:#EDEDED;
  --good:#767676;--amber:#767676;--amber-dim:#F0F0F0;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#767676;--brand:linear-gradient(120deg,#D87943,#E78A53);
  --g-primary:linear-gradient(120deg,#D87943,#E78A53);--g-info:linear-gradient(120deg,#E78A53,#FBCB97);--g-success:linear-gradient(120deg,#888888,#FBCB97);--g-warning:linear-gradient(120deg,#999999,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#E78A53);--g-dark:linear-gradient(120deg,#111827,#111827);--sans:Geist Mono, ui-monospace, monospace;--display:Geist Mono, ui-monospace, monospace;
  --serif:serif;--mono:JetBrains Mono, monospace;--radius:0.75rem;--ctl-r:0.75rem;
  --letter-spacing:0rem;--spacing:0.25rem;--shadow-sm:0px 1px 4px 0px rgba(0,0,0,0.05);--shadow-md:0px 2px 12px 0px rgba(0,0,0,0.06);
  --shadow-lg:0px 4px 24px 0px rgba(0,0,0,0.08);color-scheme:light;
}

:root[data-brand-theme="tweakcn-darkmatter"] .sb-root{
  --panel:#F3F4F6;--surface:#FFFFFF;--surface2:#FFFFFF;--border:#E5E7EB;
  --border2:#E5E7EB;--text:#111827;--ink:#111827;--muted:#111827;
  --muted2:#111827;--blue:#A65D34;--primary:#D87943;--primary-control:#AF6236;
  --primary-fg:#FFFFFF;--blue-dim:#FFFFFF;--blue-glow:rgba(216,121,67,0.25);--g-primary:#D87943;
}

:root[data-brand-theme="tweakcn-darkmatter"][data-theme="dark"]{
  --bg:#121113;--panel:#121212;--surface:#222222;--surface2:#222222;
  --border:#222222;--border2:#222222;--text:#C1C1C1;--ink:#C1C1C1;
  --muted:#898989;--muted2:#8B8A8B;--tweakcn-secondary:#5F8787;--tweakcn-secondary-fg:#121113;
  --blue:#E78A53;--primary:#E78A53;--primary-control:#E78A53;--primary-fg:#121113;
  --blue-dim:#333333;--blue-glow:rgba(231,138,83,0.25);--purple:#E78A53;--purple-dim:#32241C;
  --teal:#FBCB97;--teal-dim:#352E26;--green:#888888;--green-dim:#242424;
  --good:#888888;--amber:#999999;--amber-dim:#262626;--red:#5F8787;
  --red-dim:#1E2424;--bad:#5F8787;--orange:#999999;--brand:linear-gradient(120deg,#E78A53,#E78A53);
  --g-primary:linear-gradient(120deg,#E78A53,#E78A53);--g-info:linear-gradient(120deg,#E78A53,#FBCB97);--g-success:linear-gradient(120deg,#888888,#FBCB97);--g-warning:linear-gradient(120deg,#999999,#5F8787);
  --g-danger:linear-gradient(120deg,#5F8787,#E78A53);--g-dark:linear-gradient(120deg,#C1C1C1,#C1C1C1);--sans:Geist Mono, ui-monospace, monospace;--display:Geist Mono, ui-monospace, monospace;
  --serif:serif;--mono:JetBrains Mono, monospace;--radius:0.75rem;--ctl-r:0.75rem;
  --letter-spacing:0rem;--spacing:0.25rem;--shadow-sm:0px 1px 4px 0px rgba(0,0,0,0.05);--shadow-md:0px 2px 12px 0px rgba(0,0,0,0.06);
  --shadow-lg:0px 4px 24px 0px rgba(0,0,0,0.08);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-darkmatter"][data-theme="dark"] .sb-root{
  --panel:#121212;--surface:#333333;--surface2:#333333;--border:#222222;
  --border2:#222222;--text:#C1C1C1;--ink:#C1C1C1;--muted:#C1C1C1;
  --muted2:#C1C1C1;--blue:#E78A53;--primary:#E78A53;--primary-control:#E78A53;
  --primary-fg:#121113;--blue-dim:#333333;--blue-glow:rgba(231,138,83,0.25);--g-primary:#E78A53;
}

:root[data-brand-theme="tweakcn-doom-64"]{
  --bg:#CCCCCC;--panel:#B0B0B0;--surface:#B8B8B8;--surface2:#ADB0A9;
  --border:#505050;--border2:#505050;--text:#1F1F1F;--ink:#1F1F1F;
  --muted:#434343;--muted2:#424242;--tweakcn-secondary:#556B2F;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#871515;--primary:#B71C1C;--primary-control:#B71C1C;--primary-fg:#FFFFFF;
  --blue-dim:#4682B4;--blue-glow:rgba(183,28,28,0.25);--purple:#39481F;--purple-dim:#A2A69D;
  --teal:#264661;--teal-dim:#A0A9B1;--green:#703100;--green-dim:#BCA696;
  --good:#703100;--amber:#524039;--amber-dim:#ABA6A4;--red:#703100;
  --red-dim:#BCA696;--bad:#703100;--orange:#524039;--brand:linear-gradient(120deg,#B71C1C,#556B2F);
  --g-primary:linear-gradient(120deg,#B71C1C,#556B2F);--g-info:linear-gradient(120deg,#556B2F,#4682B4);--g-success:linear-gradient(120deg,#FF6F00,#4682B4);--g-warning:linear-gradient(120deg,#8D6E63,#FF6F00);
  --g-danger:linear-gradient(120deg,#FF6F00,#556B2F);--g-dark:linear-gradient(120deg,#1F1F1F,#1F1F1F);--sans:"Oxanium", sans-serif;--display:"Oxanium", sans-serif;
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--mono:"Source Code Pro", monospace;--radius:0px;--ctl-r:0px;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 4px 0px rgba(0,0,0,0.40);--shadow-md:0px 4px 12px 0px rgba(0,0,0,0.50);
  --shadow-lg:0px 8px 24px 0px rgba(0,0,0,0.60);color-scheme:light;
}

:root[data-brand-theme="tweakcn-doom-64"] .sb-root{
  --panel:#B0B0B0;--surface:#4682B4;--surface2:#4682B4;--border:#505050;
  --border2:#505050;--text:#131313;--ink:#131313;--muted:#131313;
  --muted2:#131313;--blue:#871515;--primary:#B71C1C;--primary-control:#B71C1C;
  --primary-fg:#FFFFFF;--blue-dim:#4682B4;--blue-glow:rgba(183,28,28,0.25);--g-primary:#B71C1C;
}

:root[data-brand-theme="tweakcn-doom-64"][data-theme="dark"]{
  --bg:#1A1A1A;--panel:#2A2A2A;--surface:#252525;--surface2:#282B26;
  --border:#4A4A4A;--border2:#4A4A4A;--text:#E0E0E0;--ink:#E0E0E0;
  --muted:#A0A0A0;--muted2:#919191;--tweakcn-secondary:#689F38;--tweakcn-secondary-fg:#000000;
  --blue:#EB6763;--primary:#E53935;--primary-control:#DC3733;--primary-fg:#FFFFFF;
  --blue-dim:#64B5F6;--blue-glow:rgba(229,57,53,0.25);--purple:#689F38;--purple-dim:#333C2C;
  --teal:#64B5F6;--teal-dim:#333F49;--green:#FFA000;--green-dim:#4A3C24;
  --good:#FFA000;--amber:#A48C83;--amber-dim:#3C3837;--red:#FFA000;
  --red-dim:#4A3C24;--bad:#FFA000;--orange:#A48C83;--brand:linear-gradient(120deg,#E53935,#689F38);
  --g-primary:linear-gradient(120deg,#E53935,#689F38);--g-info:linear-gradient(120deg,#689F38,#64B5F6);--g-success:linear-gradient(120deg,#FFA000,#64B5F6);--g-warning:linear-gradient(120deg,#A1887F,#FFA000);
  --g-danger:linear-gradient(120deg,#FFA000,#689F38);--g-dark:linear-gradient(120deg,#E0E0E0,#E0E0E0);--sans:"Oxanium", sans-serif;--display:"Oxanium", sans-serif;
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--mono:"Source Code Pro", monospace;--radius:0px;--ctl-r:0px;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 5px 0px rgba(0,0,0,0.60);--shadow-md:0px 4px 15px 0px rgba(0,0,0,0.75);
  --shadow-lg:0px 8px 30px 0px rgba(0,0,0,0.90);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-doom-64"][data-theme="dark"] .sb-root{
  --panel:#141414;--surface:#64B5F6;--surface2:#64B5F6;--border:#4A4A4A;
  --border2:#4A4A4A;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#E63F3B;--primary:#E53935;--primary-control:#DC3733;
  --primary-fg:#FFFFFF;--blue-dim:#64B5F6;--blue-glow:rgba(229,57,53,0.25);--g-primary:#E53935;
}

:root[data-brand-theme="tweakcn-elegant-luxury"]{
  --bg:#FAF7F5;--panel:#FAF7F5;--surface:#F0EBE8;--surface2:#FDF2D6;
  --border:#F5E8D2;--border2:#F5E8D2;--text:#1A1A1A;--ink:#1A1A1A;
  --muted:#57534E;--muted2:#805500;--tweakcn-secondary:#FDF2D6;--tweakcn-secondary-fg:#805500;
  --blue:#9B2C2C;--primary:#9B2C2C;--primary-control:#9B2C2C;--primary-fg:#FFFFFF;
  --blue-dim:#FEF3C7;--blue-glow:rgba(155,44,44,0.25);--purple:#9B2C2C;--purple-dim:#ECD9D7;
  --teal:#7F1D1D;--teal-dim:#E8D6D5;--green:#B45309;--green-dim:#F0DED2;
  --good:#B45309;--amber:#92400E;--amber-dim:#EADCD2;--red:#991B1B;
  --red-dim:#EBD6D4;--bad:#991B1B;--orange:#92400E;--brand:linear-gradient(120deg,#9B2C2C,#9B2C2C);
  --g-primary:linear-gradient(120deg,#9B2C2C,#9B2C2C);--g-info:linear-gradient(120deg,#9B2C2C,#7F1D1D);--g-success:linear-gradient(120deg,#B45309,#7F1D1D);--g-warning:linear-gradient(120deg,#92400E,#991B1B);
  --g-danger:linear-gradient(120deg,#991B1B,#9B2C2C);--g-dark:linear-gradient(120deg,#1A1A1A,#1A1A1A);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:Libre Baskerville, serif;--mono:IBM Plex Mono, monospace;--radius:0.375rem;--ctl-r:0.375rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:1px 1px 16px -2px rgba(75,17,17,0.12);--shadow-md:1px 2px 48px -2px rgba(75,17,17,0.15);
  --shadow-lg:1px 4px 96px -2px rgba(75,17,17,0.18);color-scheme:light;
}

:root[data-brand-theme="tweakcn-elegant-luxury"] .sb-root{
  --panel:#F0EBE8;--surface:#FEF3C7;--surface2:#FEF3C7;--border:#F5E8D2;
  --border2:#F5E8D2;--text:#1A1A1A;--ink:#1A1A1A;--muted:#1A1A1A;
  --muted2:#1A1A1A;--blue:#9B2C2C;--primary:#9B2C2C;--primary-control:#9B2C2C;
  --primary-fg:#FFFFFF;--blue-dim:#FEF3C7;--blue-glow:rgba(155,44,44,0.25);--g-primary:#9B2C2C;
}

:root[data-brand-theme="tweakcn-elegant-luxury"][data-theme="dark"]{
  --bg:#1C1917;--panel:#292524;--surface:#1F1C1A;--surface2:#92400E;
  --border:#44403C;--border2:#44403C;--text:#F5F5F4;--ink:#F5F5F4;
  --muted:#D6D3D1;--muted2:#FEF3C7;--tweakcn-secondary:#92400E;--tweakcn-secondary-fg:#FEF3C7;
  --blue:#D37070;--primary:#B91C1C;--primary-control:#B91C1C;--primary-fg:#FAF7F5;
  --blue-dim:#B45309;--blue-glow:rgba(185,28,28,0.25);--purple:#F15757;--purple-dim:#472A29;
  --teal:#E66363;--teal-dim:#442524;--green:#FBBF24;--green-dim:#483C24;
  --good:#FBBF24;--amber:#F59E0B;--amber-dim:#483720;--red:#F15757;
  --red-dim:#472A29;--bad:#F15757;--orange:#F59E0B;--brand:linear-gradient(120deg,#B91C1C,#EF4444);
  --g-primary:linear-gradient(120deg,#B91C1C,#EF4444);--g-info:linear-gradient(120deg,#EF4444,#DC2626);--g-success:linear-gradient(120deg,#FBBF24,#DC2626);--g-warning:linear-gradient(120deg,#F59E0B,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#EF4444);--g-dark:linear-gradient(120deg,#F5F5F4,#F5F5F4);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:Libre Baskerville, serif;--mono:IBM Plex Mono, monospace;--radius:0.375rem;--ctl-r:0.375rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:1px 1px 16px -2px rgba(75,17,17,0.12);--shadow-md:1px 2px 48px -2px rgba(75,17,17,0.15);
  --shadow-lg:1px 4px 96px -2px rgba(75,17,17,0.18);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-elegant-luxury"][data-theme="dark"] .sb-root{
  --panel:#1C1917;--surface:#B45309;--surface2:#B45309;--border:#44403C;
  --border2:#44403C;--text:#F5F5F4;--ink:#F5F5F4;--muted:#F5F5F4;
  --muted2:#F5F5F4;--blue:#CE6060;--primary:#B91C1C;--primary-control:#B91C1C;
  --primary-fg:#FAF7F5;--blue-dim:#B45309;--blue-glow:rgba(185,28,28,0.25);--g-primary:#B91C1C;
}

:root[data-brand-theme="tweakcn-graphite"]{
  --bg:#F0F0F0;--panel:#F5F5F5;--surface:#D9D9D9;--surface2:#E0E0E0;
  --border:#D0D0D0;--border2:#E0E0E0;--text:#333333;--ink:#333333;
  --muted:#5F5F5F;--muted2:#333333;--tweakcn-secondary:#E0E0E0;--tweakcn-secondary-fg:#333333;
  --blue:#606060;--primary:#606060;--primary-control:#606060;--primary-fg:#FFFFFF;
  --blue-dim:#C0C0C0;--blue-glow:rgba(96,96,96,0.25);--purple:#476666;--purple-dim:#DBE0E0;
  --teal:#707070;--teal-dim:#E6E6E6;--green:#6F6F6F;--green-dim:#E9E9E9;
  --good:#6F6F6F;--amber:#6F6F6F;--amber-dim:#EDEDED;--red:#CC3333;
  --red-dim:#EFD8D8;--bad:#CC3333;--orange:#6F6F6F;--brand:linear-gradient(120deg,#606060,#476666);
  --g-primary:linear-gradient(120deg,#606060,#476666);--g-info:linear-gradient(120deg,#476666,#909090);--g-success:linear-gradient(120deg,#A8A8A8,#909090);--g-warning:linear-gradient(120deg,#C0C0C0,#CC3333);
  --g-danger:linear-gradient(120deg,#CC3333,#476666);--g-dark:linear-gradient(120deg,#333333,#333333);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Georgia, serif;--mono:Fira Code, monospace;--radius:0.35rem;--ctl-r:0.35rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 0px 0px rgba(51,51,51,0.15);--shadow-md:0px 4px 0px 0px rgba(51,51,51,0.19);
  --shadow-lg:0px 8px 0px 0px rgba(51,51,51,0.22);color-scheme:light;
}

:root[data-brand-theme="tweakcn-graphite"] .sb-root{
  --panel:#EAEAEA;--surface:#C0C0C0;--surface2:#C0C0C0;--border:#D0D0D0;
  --border2:#D0D0D0;--text:#333333;--ink:#333333;--muted:#333333;
  --muted2:#333333;--blue:#606060;--primary:#606060;--primary-control:#606060;
  --primary-fg:#FFFFFF;--blue-dim:#C0C0C0;--blue-glow:rgba(96,96,96,0.25);--g-primary:#606060;
}

:root[data-brand-theme="tweakcn-graphite"][data-theme="dark"]{
  --bg:#1A1A1A;--panel:#202020;--surface:#2A2A2A;--surface2:#2A2A2A;
  --border:#353535;--border2:#303030;--text:#D9D9D9;--ink:#D9D9D9;
  --muted:#919191;--muted2:#D9D9D9;--tweakcn-secondary:#303030;--tweakcn-secondary-fg:#D9D9D9;
  --blue:#A0A0A0;--primary:#A0A0A0;--primary-control:#A0A0A0;--primary-fg:#1A1A1A;
  --blue-dim:#404040;--blue-glow:rgba(160,160,160,0.25);--purple:#7E9CA0;--purple-dim:#2E3333;
  --teal:#878787;--teal-dim:#2C2C2C;--green:#878787;--green-dim:#282828;
  --good:#878787;--amber:#878787;--amber-dim:#252525;--red:#E06666;
  --red-dim:#3D2A2A;--bad:#E06666;--orange:#878787;--brand:linear-gradient(120deg,#A0A0A0,#7E9CA0);
  --g-primary:linear-gradient(120deg,#A0A0A0,#7E9CA0);--g-info:linear-gradient(120deg,#7E9CA0,#707070);--g-success:linear-gradient(120deg,#585858,#707070);--g-warning:linear-gradient(120deg,#404040,#E06666);
  --g-danger:linear-gradient(120deg,#E06666,#7E9CA0);--g-dark:linear-gradient(120deg,#D9D9D9,#D9D9D9);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Georgia, serif;--mono:Fira Code, monospace;--radius:0.35rem;--ctl-r:0.35rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 0px 0px rgba(51,51,51,0.15);--shadow-md:0px 4px 0px 0px rgba(51,51,51,0.19);
  --shadow-lg:0px 8px 0px 0px rgba(51,51,51,0.22);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-graphite"][data-theme="dark"] .sb-root{
  --panel:#1F1F1F;--surface:#404040;--surface2:#404040;--border:#353535;
  --border2:#353535;--text:#D9D9D9;--ink:#D9D9D9;--muted:#D9D9D9;
  --muted2:#D9D9D9;--blue:#A0A0A0;--primary:#A0A0A0;--primary-control:#A0A0A0;
  --primary-fg:#1A1A1A;--blue-dim:#404040;--blue-glow:rgba(160,160,160,0.25);--g-primary:#A0A0A0;
}

:root[data-brand-theme="tweakcn-kodama-grove"]{
  --bg:#E4D7B0;--panel:#E7DBBF;--surface:#DECEA0;--surface2:#DECEA0;
  --border:#B19681;--border2:#DBC894;--text:#5C4B3E;--ink:#5C4B3E;
  --muted:#61564D;--muted2:#5C4B3E;--tweakcn-secondary:#DECEA0;--tweakcn-secondary-fg:#5C4B3E;
  --blue:#5A6433;--primary:#8D9D4F;--primary-control:#6D793D;--primary-fg:#FDFBF6;
  --blue-dim:#DBC894;--blue-glow:rgba(141,157,79,0.25);--purple:#57644D;--purple-dim:#D9D2B5;
  --teal:#5B6258;--teal-dim:#E0D8BD;--green:#566551;--green-dim:#D5CEB2;
  --good:#566551;--amber:#566551;--amber-dim:#D2CBB0;--red:#84554D;
  --red-dim:#E5CFB5;--bad:#84554D;--orange:#566551;--brand:linear-gradient(120deg,#8D9D4F,#8A9F7B);
  --g-primary:linear-gradient(120deg,#8D9D4F,#8A9F7B);--g-info:linear-gradient(120deg,#8A9F7B,#BAC9B4);--g-success:linear-gradient(120deg,#71856A,#BAC9B4);--g-warning:linear-gradient(120deg,#5E6E58,#D98B7E);
  --g-danger:linear-gradient(120deg,#D98B7E,#8A9F7B);--g-dark:linear-gradient(120deg,#5C4B3E,#5C4B3E);--sans:Merriweather, serif;--display:Merriweather, serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.425rem;--ctl-r:0.425rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:3px 3px 2px 0px rgba(91,109,70,0.15);--shadow-md:3px 6px 6px 0px rgba(91,109,70,0.19);
  --shadow-lg:3px 12px 12px 0px rgba(91,109,70,0.22);color-scheme:light;
}

:root[data-brand-theme="tweakcn-kodama-grove"] .sb-root{
  --panel:#E2D1A2;--surface:#EAE5D9;--surface2:#EAE5D9;--border:#E5E0D4;
  --border2:#E5E0D4;--text:#5C4B3E;--ink:#5C4B3E;--muted:#5C4B3E;
  --muted2:#5C4B3E;--blue:#535E4A;--primary:#9DB18C;--primary-control:#6B785F;
  --primary-fg:#FDFBF6;--blue-dim:#EAE5D9;--blue-glow:rgba(157,177,140,0.25);--g-primary:#9DB18C;
}

:root[data-brand-theme="tweakcn-kodama-grove"][data-theme="dark"]{
  --bg:#3A3529;--panel:#413C33;--surface:#4A4439;--surface2:#4A4439;
  --border:#5A5345;--border2:#5A5345;--text:#EDE4D4;--ink:#EDE4D4;
  --muted:#B8B1A9;--muted2:#EDE4D4;--tweakcn-secondary:#5A5345;--tweakcn-secondary-fg:#EDE4D4;
  --blue:#9AAC8D;--primary:#8A9F7B;--primary-control:#8A9F7B;--primary-fg:#2A2521;
  --blue-dim:#A18F5C;--blue-glow:rgba(138,159,123,0.25);--purple:#9DB18C;--purple-dim:#4F4E40;
  --teal:#9DAB98;--teal-dim:#48473B;--green:#B5A77E;--green-dim:#4F4839;
  --good:#B5A77E;--amber:#A0A99C;--amber-dim:#454439;--red:#CA9C94;
  --red-dim:#52453B;--bad:#CA9C94;--orange:#A0A99C;--brand:linear-gradient(120deg,#8A9F7B,#9DB18C);
  --g-primary:linear-gradient(120deg,#8A9F7B,#9DB18C);--g-info:linear-gradient(120deg,#9DB18C,#71856A);--g-success:linear-gradient(120deg,#A18F5C,#71856A);--g-warning:linear-gradient(120deg,#5E6E58,#B5766A);
  --g-danger:linear-gradient(120deg,#B5766A,#9DB18C);--g-dark:linear-gradient(120deg,#EDE4D4,#EDE4D4);--sans:Merriweather, serif;--display:Merriweather, serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.425rem;--ctl-r:0.425rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:3px 3px 2px 0px rgba(91,109,70,0.15);--shadow-md:3px 6px 6px 0px rgba(91,109,70,0.19);
  --shadow-lg:3px 12px 12px 0px rgba(91,109,70,0.22);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-kodama-grove"][data-theme="dark"] .sb-root{
  --panel:#3A3529;--surface:#A18F5C;--surface2:#A18F5C;--border:#5A5345;
  --border2:#5A5345;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#90A482;--primary:#8A9F7B;--primary-control:#8A9F7B;
  --primary-fg:#2A2521;--blue-dim:#A18F5C;--blue-glow:rgba(138,159,123,0.25);--g-primary:#8A9F7B;
}

:root[data-brand-theme="tweakcn-midnight-bloom"]{
  --bg:#F9F9F9;--panel:#FFFFFF;--surface:#C9C4B5;--surface2:#A1C9F2;
  --border:#D4D4D4;--border2:#D4D4D4;--text:#333333;--ink:#333333;
  --muted:#515151;--muted2:#333333;--tweakcn-secondary:#A1C9F2;--tweakcn-secondary-fg:#333333;
  --blue:#6C5CE7;--primary:#6C5CE7;--primary-control:#6C5CE7;--primary-fg:#FFFFFF;
  --blue-dim:#8B9467;--blue-glow:rgba(108,92,231,0.25);--purple:#8E44AD;--purple-dim:#EEE3F3;
  --teal:#4B0082;--teal-dim:#E4D9EC;--green:#4F76BB;--green-dim:#E8EFFC;
  --good:#4F76BB;--amber:#427AA9;--amber-dim:#E3ECF4;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#427AA9;--brand:linear-gradient(120deg,#6C5CE7,#8E44AD);
  --g-primary:linear-gradient(120deg,#6C5CE7,#8E44AD);--g-info:linear-gradient(120deg,#8E44AD,#4B0082);--g-success:linear-gradient(120deg,#6495ED,#4B0082);--g-warning:linear-gradient(120deg,#4682B4,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#8E44AD);--g-dark:linear-gradient(120deg,#333333,#333333);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Playfair Display, serif;--mono:Source Code Pro, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 5px 10px -2px rgba(0,0,0,0.10);--shadow-md:0px 10px 30px -2px rgba(0,0,0,0.12);
  --shadow-lg:0px 20px 60px -2px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-midnight-bloom"] .sb-root{
  --panel:#F9F9F9;--surface:#8B9467;--surface2:#8B9467;--border:#D4D4D4;
  --border2:#D4D4D4;--text:#292929;--ink:#292929;--muted:#292929;
  --muted2:#292929;--blue:#6C5CE7;--primary:#6C5CE7;--primary-control:#6C5CE7;
  --primary-fg:#FFFFFF;--blue-dim:#8B9467;--blue-glow:rgba(108,92,231,0.25);--g-primary:#6C5CE7;
}

:root[data-brand-theme="tweakcn-midnight-bloom"][data-theme="dark"]{
  --bg:#1A1D23;--panel:#2F3436;--surface:#444444;--surface2:#4B0082;
  --border:#444444;--border2:#444444;--text:#E5E5E5;--ink:#E5E5E5;
  --muted:#B1B1B1;--muted2:#E5E5E5;--tweakcn-secondary:#4B0082;--tweakcn-secondary-fg:#E5E5E5;
  --blue:#9A8FEE;--primary:#6C5CE7;--primary-control:#6C5CE7;--primary-fg:#FFFFFF;
  --blue-dim:#6495ED;--blue-glow:rgba(108,92,231,0.25);--purple:#B98BCC;--purple-dim:#3D3648;
  --teal:#B08FC8;--teal-dim:#332C41;--green:#6C9AEE;--green-dim:#374351;
  --good:#6C9AEE;--amber:#72A0C6;--amber-dim:#324049;--red:#F37373;
  --red-dim:#4C3638;--bad:#F37373;--orange:#72A0C6;--brand:linear-gradient(120deg,#6C5CE7,#8E44AD);
  --g-primary:linear-gradient(120deg,#6C5CE7,#8E44AD);--g-info:linear-gradient(120deg,#8E44AD,#4B0082);--g-success:linear-gradient(120deg,#6495ED,#4B0082);--g-warning:linear-gradient(120deg,#4682B4,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#8E44AD);--g-dark:linear-gradient(120deg,#E5E5E5,#E5E5E5);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Playfair Display, serif;--mono:Source Code Pro, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 5px 10px -2px rgba(0,0,0,0.10);--shadow-md:0px 10px 30px -2px rgba(0,0,0,0.12);
  --shadow-lg:0px 20px 60px -2px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-midnight-bloom"][data-theme="dark"] .sb-root{
  --panel:#1A1D23;--surface:#6495ED;--surface2:#6495ED;--border:#444444;
  --border2:#444444;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#8274EB;--primary:#6C5CE7;--primary-control:#6C5CE7;
  --primary-fg:#FFFFFF;--blue-dim:#6495ED;--blue-glow:rgba(108,92,231,0.25);--g-primary:#6C5CE7;
}

:root[data-brand-theme="tweakcn-mocha-mousse"]{
  --bg:#F1F0E5;--panel:#F1F0E5;--surface:#E4C7B8;--surface2:#E4C7B8;
  --border:#BAAB92;--border2:#BAAB92;--text:#56453F;--ink:#56453F;
  --muted:#6D5047;--muted2:#575757;--tweakcn-secondary:#BAAB92;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#896454;--primary:#A37764;--primary-control:#966D5C;--primary-fg:#FFFFFF;
  --blue-dim:#E4C7B8;--blue-glow:rgba(163,119,100,0.25);--purple:#896459;--purple-dim:#E2DBD0;
  --teal:#81685A;--teal-dim:#EAE4D7;--green:#756C5C;--green-dim:#E9E6D9;
  --good:#756C5C;--amber:#7E695D;--amber-dim:#E5E0D4;--red:#1F1A17;
  --red-dim:#D2D0C6;--bad:#1F1A17;--orange:#7E695D;--brand:linear-gradient(120deg,#A37764,#8A655A);
  --g-primary:linear-gradient(120deg,#A37764,#8A655A);--g-info:linear-gradient(120deg,#8A655A,#C39E88);--g-success:linear-gradient(120deg,#BAAB92,#C39E88);--g-warning:linear-gradient(120deg,#A28777,#1F1A17);
  --g-danger:linear-gradient(120deg,#1F1A17,#8A655A);--g-dark:linear-gradient(120deg,#56453F,#56453F);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:Georgia, serif;--mono:Menlo, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 0px 0px rgba(153,123,108,0.11);--shadow-md:2px 4px 0px 0px rgba(153,123,108,0.14);
  --shadow-lg:2px 8px 0px 0px rgba(153,123,108,0.17);color-scheme:light;
}

:root[data-brand-theme="tweakcn-mocha-mousse"] .sb-root{
  --panel:#EBD6CB;--surface:#C39E88;--surface2:#C39E88;--border:#A28777;
  --border2:#A28777;--text:#473934;--ink:#473934;--muted:#473934;
  --muted2:#473934;--blue:#79584A;--primary:#A37764;--primary-control:#966D5C;
  --primary-fg:#FFFFFF;--blue-dim:#C39E88;--blue-glow:rgba(163,119,100,0.25);--g-primary:#A37764;
}

:root[data-brand-theme="tweakcn-mocha-mousse"][data-theme="dark"]{
  --bg:#2D2521;--panel:#3C332E;--surface:#56453F;--surface2:#56453F;
  --border:#56453F;--border2:#56453F;--text:#F1F0E5;--ink:#F1F0E5;
  --muted:#CBB2A5;--muted2:#F1F0E5;--tweakcn-secondary:#8A655A;--tweakcn-secondary-fg:#F1F0E5;
  --blue:#C39E88;--primary:#C39E88;--primary-control:#C39E88;--primary-fg:#2D2521;
  --blue-dim:#BAAB92;--blue-glow:rgba(195,158,136,0.25);--purple:#BAAB92;--purple-dim:#4F453D;
  --teal:#B89688;--teal-dim:#4B3D36;--green:#B19890;--green-dim:#483A35;
  --good:#B19890;--amber:#AF988A;--amber-dim:#4B4039;--red:#E77E7E;
  --red-dim:#553D38;--bad:#E77E7E;--orange:#AF988A;--brand:linear-gradient(120deg,#C39E88,#BAAB92);
  --g-primary:linear-gradient(120deg,#C39E88,#BAAB92);--g-info:linear-gradient(120deg,#BAAB92,#A37764);--g-success:linear-gradient(120deg,#8A655A,#A37764);--g-warning:linear-gradient(120deg,#A28777,#E57373);
  --g-danger:linear-gradient(120deg,#E57373,#BAAB92);--g-dark:linear-gradient(120deg,#F1F0E5,#F1F0E5);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:Georgia, serif;--mono:Menlo, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 0px 0px rgba(90,72,63,0.11);--shadow-md:2px 4px 0px 0px rgba(90,72,63,0.14);
  --shadow-lg:2px 8px 0px 0px rgba(90,72,63,0.17);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-mocha-mousse"][data-theme="dark"] .sb-root{
  --panel:#1F1A17;--surface:#BAAB92;--surface2:#BAAB92;--border:#56453F;
  --border2:#56453F;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#C39E88;--primary:#C39E88;--primary-control:#C39E88;
  --primary-fg:#1F1A17;--blue-dim:#BAAB92;--blue-glow:rgba(195,158,136,0.25);--g-primary:#C39E88;
}

:root[data-brand-theme="tweakcn-modern-minimal"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F9FAFB;--surface2:#F6F7F8;
  --border:#E5E7EB;--border2:#E5E7EB;--text:#333333;--ink:#333333;
  --muted:#6B7280;--muted2:#4B5563;--tweakcn-secondary:#F3F4F6;--tweakcn-secondary-fg:#4B5563;
  --blue:#3472D8;--primary:#3B82F6;--primary-control:#3472D8;--primary-fg:#FFFFFF;
  --blue-dim:#E0F2FE;--blue-glow:rgba(59,130,246,0.25);--purple:#2563EB;--purple-dim:#DEE8FC;
  --teal:#1D4ED8;--teal-dim:#DDE4F9;--green:#1E40AF;--green-dim:#DDE2F3;
  --good:#1E40AF;--amber:#1E3A8A;--amber-dim:#DDE1ED;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#1E3A8A;--brand:linear-gradient(120deg,#3B82F6,#2563EB);
  --g-primary:linear-gradient(120deg,#3B82F6,#2563EB);--g-info:linear-gradient(120deg,#2563EB,#1D4ED8);--g-success:linear-gradient(120deg,#1E40AF,#1D4ED8);--g-warning:linear-gradient(120deg,#1E3A8A,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#2563EB);--g-dark:linear-gradient(120deg,#333333,#333333);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.375rem;--ctl-r:0.375rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-modern-minimal"] .sb-root{
  --panel:#F9FAFB;--surface:#E0F2FE;--surface2:#E0F2FE;--border:#E5E7EB;
  --border2:#E5E7EB;--text:#333333;--ink:#333333;--muted:#333333;
  --muted2:#333333;--blue:#3370D4;--primary:#3B82F6;--primary-control:#3472D8;
  --primary-fg:#FFFFFF;--blue-dim:#E0F2FE;--blue-glow:rgba(59,130,246,0.25);--g-primary:#3B82F6;
}

:root[data-brand-theme="tweakcn-modern-minimal"][data-theme="dark"]{
  --bg:#171717;--panel:#262626;--surface:#1F1F1F;--surface2:#262626;
  --border:#404040;--border2:#404040;--text:#E5E5E5;--ink:#E5E5E5;
  --muted:#A3A3A3;--muted2:#E5E5E5;--tweakcn-secondary:#262626;--tweakcn-secondary-fg:#E5E5E5;
  --blue:#478AF7;--primary:#3B82F6;--primary-control:#3472D8;--primary-fg:#FFFFFF;
  --blue-dim:#1E3A8A;--blue-glow:rgba(59,130,246,0.25);--purple:#478AF7;--purple-dim:#293445;
  --teal:#5C8AF0;--teal-dim:#262F44;--green:#6A8AE5;--green-dim:#252C41;
  --good:#6A8AE5;--amber:#768ACE;--amber-dim:#252A3B;--red:#F15959;
  --red-dim:#442A2A;--bad:#F15959;--orange:#768ACE;--brand:linear-gradient(120deg,#3B82F6,#3B82F6);
  --g-primary:linear-gradient(120deg,#3B82F6,#3B82F6);--g-info:linear-gradient(120deg,#3B82F6,#2563EB);--g-success:linear-gradient(120deg,#1D4ED8,#2563EB);--g-warning:linear-gradient(120deg,#1E40AF,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#3B82F6);--g-dark:linear-gradient(120deg,#E5E5E5,#E5E5E5);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.375rem;--ctl-r:0.375rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-modern-minimal"][data-theme="dark"] .sb-root{
  --panel:#171717;--surface:#1E3A8A;--surface2:#1E3A8A;--border:#404040;
  --border2:#404040;--text:#E5E5E5;--ink:#E5E5E5;--muted:#E5E5E5;
  --muted2:#E5E5E5;--blue:#3B82F6;--primary:#3B82F6;--primary-control:#3472D8;
  --primary-fg:#FFFFFF;--blue-dim:#1E3A8A;--blue-glow:rgba(59,130,246,0.25);--g-primary:#3B82F6;
}

:root[data-brand-theme="tweakcn-mono"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F5F5F5;--surface2:#F5F5F5;
  --border:#E5E5E5;--border2:#E5E5E5;--text:#0A0A0A;--ink:#0A0A0A;
  --muted:#707070;--muted2:#171717;--tweakcn-secondary:#F5F5F5;--tweakcn-secondary-fg:#171717;
  --blue:#737373;--primary:#737373;--primary-control:#737373;--primary-fg:#FAFAFA;
  --blue-dim:#F5F5F5;--blue-glow:rgba(115,115,115,0.25);--purple:#737373;--purple-dim:#EAEAEA;
  --teal:#737373;--teal-dim:#EAEAEA;--green:#737373;--green-dim:#EAEAEA;
  --good:#737373;--amber:#737373;--amber-dim:#EAEAEA;--red:#E7000B;
  --red-dim:#FBD9DA;--bad:#E7000B;--orange:#737373;--brand:linear-gradient(120deg,#737373,#737373);
  --g-primary:linear-gradient(120deg,#737373,#737373);--g-info:linear-gradient(120deg,#737373,#737373);--g-success:linear-gradient(120deg,#737373,#737373);--g-warning:linear-gradient(120deg,#737373,#E7000B);
  --g-danger:linear-gradient(120deg,#E7000B,#737373);--g-dark:linear-gradient(120deg,#0A0A0A,#0A0A0A);--sans:Geist Mono, monospace;--display:Geist Mono, monospace;
  --serif:Geist Mono, monospace;--mono:Geist Mono, monospace;--radius:0rem;--ctl-r:0rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 1px 0px 0px rgba(0,0,0,0.00);--shadow-md:0px 2px 0px 0px rgba(0,0,0,0.00);
  --shadow-lg:0px 4px 0px 0px rgba(0,0,0,0.00);color-scheme:light;
}

:root[data-brand-theme="tweakcn-mono"] .sb-root{
  --panel:#FAFAFA;--surface:#F5F5F5;--surface2:#F5F5F5;--border:#E5E5E5;
  --border2:#E5E5E5;--text:#0A0A0A;--ink:#0A0A0A;--muted:#0A0A0A;
  --muted2:#0A0A0A;--blue:#171717;--primary:#171717;--primary-control:#171717;
  --primary-fg:#FAFAFA;--blue-dim:#F5F5F5;--blue-glow:rgba(23,23,23,0.25);--g-primary:#171717;
}

:root[data-brand-theme="tweakcn-mono"][data-theme="dark"]{
  --bg:#0A0A0A;--panel:#191919;--surface:#262626;--surface2:#262626;
  --border:#383838;--border2:#525252;--text:#FAFAFA;--ink:#FAFAFA;
  --muted:#A1A1A1;--muted2:#FAFAFA;--tweakcn-secondary:#262626;--tweakcn-secondary-fg:#FAFAFA;
  --blue:#818181;--primary:#737373;--primary-control:#737373;--primary-fg:#FAFAFA;
  --blue-dim:#404040;--blue-glow:rgba(115,115,115,0.25);--purple:#818181;--purple-dim:#262626;
  --teal:#818181;--teal-dim:#262626;--green:#818181;--green-dim:#262626;
  --good:#818181;--amber:#818181;--amber-dim:#262626;--red:#FF6467;
  --red-dim:#3C2425;--bad:#FF6467;--orange:#818181;--brand:linear-gradient(120deg,#737373,#737373);
  --g-primary:linear-gradient(120deg,#737373,#737373);--g-info:linear-gradient(120deg,#737373,#737373);--g-success:linear-gradient(120deg,#737373,#737373);--g-warning:linear-gradient(120deg,#737373,#FF6467);
  --g-danger:linear-gradient(120deg,#FF6467,#737373);--g-dark:linear-gradient(120deg,#FAFAFA,#FAFAFA);--sans:Geist Mono, monospace;--display:Geist Mono, monospace;
  --serif:Geist Mono, monospace;--mono:Geist Mono, monospace;--radius:0rem;--ctl-r:0rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 1px 0px 0px rgba(0,0,0,0.00);--shadow-md:0px 2px 0px 0px rgba(0,0,0,0.00);
  --shadow-lg:0px 4px 0px 0px rgba(0,0,0,0.00);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-mono"][data-theme="dark"] .sb-root{
  --panel:#171717;--surface:#262626;--surface2:#262626;--border:#FFFFFF;
  --border2:#FFFFFF;--text:#FAFAFA;--ink:#FAFAFA;--muted:#FAFAFA;
  --muted2:#FAFAFA;--blue:#FAFAFA;--primary:#FAFAFA;--primary-control:#FAFAFA;
  --primary-fg:#171717;--blue-dim:#262626;--blue-glow:rgba(250,250,250,0.25);--g-primary:#FAFAFA;
}

:root[data-brand-theme="tweakcn-nature"]{
  --bg:#F8F5F0;--panel:#F8F5F0;--surface:#F0E9E0;--surface2:#E8F5E9;
  --border:#E0D6C9;--border2:#E0D6C9;--text:#3E2723;--ink:#3E2723;
  --muted:#6D4C41;--muted2:#1B5E20;--tweakcn-secondary:#E8F5E9;--tweakcn-secondary-fg:#1B5E20;
  --blue:#2E7D32;--primary:#2E7D32;--primary-control:#2E7D32;--primary-fg:#FFFFFF;
  --blue-dim:#C8E6C9;--blue-glow:rgba(46,125,50,0.25);--purple:#328036;--purple-dim:#DBE6D5;
  --teal:#2E7D32;--teal-dim:#DAE3D4;--green:#1B5E20;--green-dim:#D7DED1;
  --good:#1B5E20;--amber:#0A1F0C;--amber-dim:#D4D5CE;--red:#C62828;
  --red-dim:#F0D6D2;--bad:#C62828;--orange:#0A1F0C;--brand:linear-gradient(120deg,#2E7D32,#388E3C);
  --g-primary:linear-gradient(120deg,#2E7D32,#388E3C);--g-info:linear-gradient(120deg,#388E3C,#2E7D32);--g-success:linear-gradient(120deg,#1B5E20,#2E7D32);--g-warning:linear-gradient(120deg,#0A1F0C,#C62828);
  --g-danger:linear-gradient(120deg,#C62828,#388E3C);--g-dark:linear-gradient(120deg,#3E2723,#3E2723);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Merriweather, serif;--mono:Source Code Pro, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-nature"] .sb-root{
  --panel:#F0E9E0;--surface:#C8E6C9;--surface2:#C8E6C9;--border:#E0D6C9;
  --border2:#E0D6C9;--text:#3E2723;--ink:#3E2723;--muted:#3E2723;
  --muted2:#3E2723;--blue:#2C7830;--primary:#2E7D32;--primary-control:#2E7D32;
  --primary-fg:#FFFFFF;--blue-dim:#C8E6C9;--blue-glow:rgba(46,125,50,0.25);--g-primary:#2E7D32;
}

:root[data-brand-theme="tweakcn-nature"][data-theme="dark"]{
  --bg:#1C2A1F;--panel:#2D3A2E;--surface:#252F26;--surface2:#3E4A3D;
  --border:#3E4A3D;--border2:#3E4A3D;--text:#F0EBE5;--ink:#F0EBE5;
  --muted:#D7CFC4;--muted2:#D7E0D6;--tweakcn-secondary:#3E4A3D;--tweakcn-secondary-fg:#D7E0D6;
  --blue:#55B359;--primary:#4CAF50;--primary-control:#4CAF50;--primary-fg:#0A1F0C;
  --blue-dim:#388E3C;--blue-glow:rgba(76,175,80,0.25);--purple:#66BB6A;--purple-dim:#364D37;
  --teal:#55B359;--teal-dim:#324C33;--green:#63B066;--green-dim:#304932;
  --good:#63B066;--amber:#70AE73;--amber-dim:#2F4730;--red:#DF8787;
  --red-dim:#44372D;--bad:#DF8787;--orange:#70AE73;--brand:linear-gradient(120deg,#4CAF50,#66BB6A);
  --g-primary:linear-gradient(120deg,#4CAF50,#66BB6A);--g-info:linear-gradient(120deg,#66BB6A,#4CAF50);--g-success:linear-gradient(120deg,#43A047,#4CAF50);--g-warning:linear-gradient(120deg,#388E3C,#C62828);
  --g-danger:linear-gradient(120deg,#C62828,#66BB6A);--g-dark:linear-gradient(120deg,#F0EBE5,#F0EBE5);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Merriweather, serif;--mono:Source Code Pro, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-nature"][data-theme="dark"] .sb-root{
  --panel:#1C2A1F;--surface:#388E3C;--surface2:#388E3C;--border:#3E4A3D;
  --border2:#3E4A3D;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#4CAF50;--primary:#4CAF50;--primary-control:#4CAF50;
  --primary-fg:#0A1F0C;--blue-dim:#388E3C;--blue-glow:rgba(76,175,80,0.25);--g-primary:#4CAF50;
}

:root[data-brand-theme="tweakcn-neo-brutalism"]{
  --bg:#FFFFFF;--panel:#FFFFFF;--surface:#F0F0F0;--surface2:#FFFF00;
  --border:#000000;--border2:#000000;--text:#000000;--ink:#000000;
  --muted:#333333;--muted2:#000000;--tweakcn-secondary:#FFFF00;--tweakcn-secondary-fg:#000000;
  --blue:#E02D2D;--primary:#FF3333;--primary-control:#E02D2D;--primary-fg:#FFFFFF;
  --blue-dim:#0066FF;--blue-glow:rgba(255,51,51,0.25);--purple:#7A7A00;--purple-dim:#FFFFD9;
  --teal:#0066FF;--teal-dim:#D9E8FF;--green:#008900;--green-dim:#D9F7D9;
  --good:#008900;--amber:#CC00CC;--amber-dim:#F7D9F7;--red:#000000;
  --red-dim:#D9D9D9;--bad:#000000;--orange:#CC00CC;--brand:linear-gradient(120deg,#FF3333,#FFFF00);
  --g-primary:linear-gradient(120deg,#FF3333,#FFFF00);--g-info:linear-gradient(120deg,#FFFF00,#0066FF);--g-success:linear-gradient(120deg,#00CC00,#0066FF);--g-warning:linear-gradient(120deg,#CC00CC,#000000);
  --g-danger:linear-gradient(120deg,#000000,#FFFF00);--g-dark:linear-gradient(120deg,#000000,#000000);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Space Mono, monospace;--radius:0px;--ctl-r:0px;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:4px 4px 0px 0px rgba(0,0,0,1.00);--shadow-md:4px 8px 0px 0px rgba(0,0,0,1.00);
  --shadow-lg:4px 16px 0px 0px rgba(0,0,0,1.00);color-scheme:light;
}

:root[data-brand-theme="tweakcn-neo-brutalism"] .sb-root{
  --panel:#F0F0F0;--surface:#0066FF;--surface2:#0066FF;--border:#000000;
  --border2:#000000;--text:#000000;--ink:#000000;--muted:#000000;
  --muted2:#000000;--blue:#D12A2A;--primary:#FF3333;--primary-control:#E02D2D;
  --primary-fg:#FFFFFF;--blue-dim:#0066FF;--blue-glow:rgba(255,51,51,0.25);--g-primary:#FF3333;
}

:root[data-brand-theme="tweakcn-neo-brutalism"][data-theme="dark"]{
  --bg:#000000;--panel:#333333;--surface:#1A1A1A;--surface2:#35351D;
  --border:#FFFFFF;--border2:#FFFFFF;--text:#FFFFFF;--ink:#FFFFFF;
  --muted:#CCCCCC;--muted2:#9C9C9C;--tweakcn-secondary:#FFFF33;--tweakcn-secondary-fg:#000000;
  --blue:#FF6B6B;--primary:#FF6666;--primary-control:#FF6666;--primary-fg:#000000;
  --blue-dim:#3399FF;--blue-glow:rgba(255,102,102,0.25);--purple:#FFFF33;--purple-dim:#525233;
  --teal:#3D9EFF;--teal-dim:#334252;--green:#33CC33;--green-dim:#334A33;
  --good:#33CC33;--amber:#DC72DC;--amber-dim:#4A334A;--red:#FFFFFF;
  --red-dim:#525252;--bad:#FFFFFF;--orange:#DC72DC;--brand:linear-gradient(120deg,#FF6666,#FFFF33);
  --g-primary:linear-gradient(120deg,#FF6666,#FFFF33);--g-info:linear-gradient(120deg,#FFFF33,#3399FF);--g-success:linear-gradient(120deg,#33CC33,#3399FF);--g-warning:linear-gradient(120deg,#CC33CC,#FFFFFF);
  --g-danger:linear-gradient(120deg,#FFFFFF,#FFFF33);--g-dark:linear-gradient(120deg,#FFFFFF,#FFFFFF);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Space Mono, monospace;--radius:0px;--ctl-r:0px;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:4px 4px 0px 0px rgba(0,0,0,1.00);--shadow-md:4px 8px 0px 0px rgba(0,0,0,1.00);
  --shadow-lg:4px 16px 0px 0px rgba(0,0,0,1.00);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-neo-brutalism"][data-theme="dark"] .sb-root{
  --panel:#000000;--surface:#3399FF;--surface2:#3399FF;--border:#FFFFFF;
  --border2:#FFFFFF;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#FF6666;--primary:#FF6666;--primary-control:#FF6666;
  --primary-fg:#000000;--blue-dim:#3399FF;--blue-glow:rgba(255,102,102,0.25);--g-primary:#FF6666;
}

:root[data-brand-theme="tweakcn-northern-lights"]{
  --bg:#F9F9FA;--panel:#FFFFFF;--surface:#DDD9C4;--surface2:#DBD8C5;
  --border:#D4D4D4;--border2:#D4D4D4;--text:#333333;--ink:#333333;
  --muted:#5E5E5E;--muted2:#5E5E5E;--tweakcn-secondary:#6495ED;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#2A8648;--primary:#34A85A;--primary-control:#2A8648;--primary-fg:#FFFFFF;
  --blue-dim:#66D9EF;--blue-glow:rgba(52,168,90,0.25);--purple:#4F76BB;--purple-dim:#E8EFFC;
  --teal:#3C808D;--teal-dim:#E8F9FD;--green:#427AA9;--green-dim:#E3ECF4;
  --good:#427AA9;--amber:#18883B;--amber-dim:#DDEFE2;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#18883B;--brand:linear-gradient(120deg,#34A85A,#6495ED);
  --g-primary:linear-gradient(120deg,#34A85A,#6495ED);--g-info:linear-gradient(120deg,#6495ED,#66D9EF);--g-success:linear-gradient(120deg,#4682B4,#66D9EF);--g-warning:linear-gradient(120deg,#1A9641,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#6495ED);--g-dark:linear-gradient(120deg,#333333,#333333);--sans:Plus Jakarta Sans, sans-serif;--display:Plus Jakarta Sans, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-northern-lights"] .sb-root{
  --panel:#F9F9FA;--surface:#66D9EF;--surface2:#66D9EF;--border:#D4D4D4;
  --border2:#D4D4D4;--text:#333333;--ink:#333333;--muted:#333333;
  --muted2:#333333;--blue:#298346;--primary:#34A85A;--primary-control:#2A8648;
  --primary-fg:#FFFFFF;--blue-dim:#66D9EF;--blue-glow:rgba(52,168,90,0.25);--g-primary:#34A85A;
}

:root[data-brand-theme="tweakcn-northern-lights"][data-theme="dark"]{
  --bg:#1A1D23;--panel:#2F3436;--surface:#444444;--surface2:#444444;
  --border:#444444;--border2:#444444;--text:#E5E5E5;--ink:#E5E5E5;
  --muted:#B1B1B1;--muted2:#E5E5E5;--tweakcn-secondary:#4682B4;--tweakcn-secondary-fg:#E5E5E5;
  --blue:#44AF67;--primary:#34A85A;--primary-control:#2A8648;--primary-fg:#FFFFFF;
  --blue-dim:#6495ED;--blue-glow:rgba(52,168,90,0.25);--purple:#72A0C6;--purple-dim:#324049;
  --teal:#6C9AEE;--teal-dim:#374351;--green:#66D9EF;--green-dim:#374D52;
  --good:#66D9EF;--amber:#4CAD6B;--amber-dim:#2C4338;--red:#F37373;
  --red-dim:#4C3638;--bad:#F37373;--orange:#4CAD6B;--brand:linear-gradient(120deg,#34A85A,#4682B4);
  --g-primary:linear-gradient(120deg,#34A85A,#4682B4);--g-info:linear-gradient(120deg,#4682B4,#6495ED);--g-success:linear-gradient(120deg,#66D9EF,#6495ED);--g-warning:linear-gradient(120deg,#1A9641,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#4682B4);--g-dark:linear-gradient(120deg,#E5E5E5,#E5E5E5);--sans:Plus Jakarta Sans, sans-serif;--display:Plus Jakarta Sans, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-northern-lights"][data-theme="dark"] .sb-root{
  --panel:#1A1D23;--surface:#6495ED;--surface2:#6495ED;--border:#444444;
  --border2:#444444;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#34A85A;--primary:#34A85A;--primary-control:#2A8648;
  --primary-fg:#FFFFFF;--blue-dim:#6495ED;--blue-glow:rgba(52,168,90,0.25);--g-primary:#34A85A;
}

:root[data-brand-theme="tweakcn-notebook"]{
  --bg:#F9F9F9;--panel:#FFFFFF;--surface:#E3E3E3;--surface2:#DEDEDE;
  --border:#747272;--border2:#FFFFFF;--text:#3A3A3A;--ink:#3A3A3A;
  --muted:#505050;--muted2:#3A3A3A;--tweakcn-secondary:#DEDEDE;--tweakcn-secondary-fg:#3A3A3A;
  --blue:#606060;--primary:#606060;--primary-control:#606060;--primary-fg:#F0F0F0;
  --blue-dim:#F3EAC8;--blue-glow:rgba(96,96,96,0.25);--purple:#555555;--purple-dim:#E6E6E6;
  --teal:#767676;--teal-dim:#EBEBEB;--green:#767676;--green-dim:#F0F0F0;
  --good:#767676;--amber:#767676;--amber-dim:#F5F5F5;--red:#A46464;
  --red-dim:#F7EBEB;--bad:#A46464;--orange:#767676;--brand:linear-gradient(120deg,#606060,#555555);
  --g-primary:linear-gradient(120deg,#606060,#555555);--g-info:linear-gradient(120deg,#555555,#777777);--g-success:linear-gradient(120deg,#999999,#777777);--g-warning:linear-gradient(120deg,#BBBBBB,#C87A7A);
  --g-danger:linear-gradient(120deg,#C87A7A,#555555);--g-dark:linear-gradient(120deg,#3A3A3A,#3A3A3A);--sans:Architects Daughter, sans-serif;--display:Architects Daughter, sans-serif;
  --serif:"Times New Roman", Times, serif;--mono:"Courier New", Courier, monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0.5px;--spacing:0.25rem;--shadow-sm:1px 4px 5px 0px rgba(0,0,0,0.03);--shadow-md:1px 8px 15px 0px rgba(0,0,0,0.04);
  --shadow-lg:1px 16px 30px 0px rgba(0,0,0,0.04);color-scheme:light;
}

:root[data-brand-theme="tweakcn-notebook"] .sb-root{
  --panel:#F0F0F0;--surface:#F3EAC8;--surface2:#F3EAC8;--border:#C0C0C0;
  --border2:#C0C0C0;--text:#3A3A3A;--ink:#3A3A3A;--muted:#3A3A3A;
  --muted2:#3A3A3A;--blue:#606060;--primary:#606060;--primary-control:#606060;
  --primary-fg:#F0F0F0;--blue-dim:#F3EAC8;--blue-glow:rgba(96,96,96,0.25);--g-primary:#606060;
}

:root[data-brand-theme="tweakcn-notebook"][data-theme="dark"]{
  --bg:#2B2B2B;--panel:#333333;--surface:#454545;--surface2:#454545;
  --border:#4F4F4F;--border2:#333333;--text:#DCDCDC;--ink:#DCDCDC;
  --muted:#B2B2B2;--muted2:#C0C0C0;--tweakcn-secondary:#5A5A5A;--tweakcn-secondary-fg:#C0C0C0;
  --blue:#B0B0B0;--primary:#B0B0B0;--primary-control:#B0B0B0;--primary-fg:#2B2B2B;
  --blue-dim:#E0E0E0;--blue-glow:rgba(176,176,176,0.25);--purple:#D0D0D0;--purple-dim:#4B4B4B;
  --teal:#B0B0B0;--teal-dim:#464646;--green:#9B9B9B;--green-dim:#414141;
  --good:#9B9B9B;--amber:#9B9B9B;--amber-dim:#3C3C3C;--red:#D9AFAF;
  --red-dim:#4C4646;--bad:#D9AFAF;--orange:#9B9B9B;--brand:linear-gradient(120deg,#B0B0B0,#D0D0D0);
  --g-primary:linear-gradient(120deg,#B0B0B0,#D0D0D0);--g-info:linear-gradient(120deg,#D0D0D0,#B0B0B0);--g-success:linear-gradient(120deg,#909090,#B0B0B0);--g-warning:linear-gradient(120deg,#707070,#D9AFAF);
  --g-danger:linear-gradient(120deg,#D9AFAF,#D0D0D0);--g-dark:linear-gradient(120deg,#DCDCDC,#DCDCDC);--sans:Architects Daughter, sans-serif;--display:Architects Daughter, sans-serif;
  --serif:Georgia, serif;--mono:"Fira Code", "Courier New", monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0.5px;--spacing:0.25rem;--shadow-sm:1px 4px 5px 0px rgba(0,0,0,0.03);--shadow-md:1px 8px 15px 0px rgba(0,0,0,0.04);
  --shadow-lg:1px 16px 30px 0px rgba(0,0,0,0.04);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-notebook"][data-theme="dark"] .sb-root{
  --panel:#212121;--surface:#E0E0E0;--surface2:#E0E0E0;--border:#4F4F4F;
  --border2:#4F4F4F;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#B0B0B0;--primary:#B0B0B0;--primary-control:#B0B0B0;
  --primary-fg:#212121;--blue-dim:#E0E0E0;--blue-glow:rgba(176,176,176,0.25);--g-primary:#B0B0B0;
}

:root[data-brand-theme="tweakcn-ocean-breeze"]{
  --bg:#F0F8FF;--panel:#FFFFFF;--surface:#F3F4F6;--surface2:#EFF4F8;
  --border:#E5E7EB;--border2:#E5E7EB;--text:#374151;--ink:#374151;
  --muted:#69707D;--muted2:#4B5563;--tweakcn-secondary:#E0F2FE;--tweakcn-secondary-fg:#4B5563;
  --blue:#178841;--primary:#22C55E;--primary-control:#178841;--primary-fg:#FFFFFF;
  --blue-dim:#D1FAE5;--blue-glow:rgba(34,197,94,0.25);--purple:#0C875E;--purple-dim:#DBF4EC;
  --teal:#04875E;--teal-dim:#DAEFE8;--green:#047857;--green-dim:#D9EBE6;
  --good:#047857;--amber:#065F46;--amber-dim:#DAE7E3;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#065F46;--brand:linear-gradient(120deg,#22C55E,#10B981);
  --g-primary:linear-gradient(120deg,#22C55E,#10B981);--g-info:linear-gradient(120deg,#10B981,#059669);--g-success:linear-gradient(120deg,#047857,#059669);--g-warning:linear-gradient(120deg,#065F46,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#10B981);--g-dark:linear-gradient(120deg,#374151,#374151);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:Lora, serif;--mono:IBM Plex Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -1px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -1px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -1px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-ocean-breeze"] .sb-root{
  --panel:#E0F2FE;--surface:#D1FAE5;--surface2:#D1FAE5;--border:#E5E7EB;
  --border2:#E5E7EB;--text:#374151;--ink:#374151;--muted:#374151;
  --muted2:#374151;--blue:#157C3B;--primary:#22C55E;--primary-control:#178841;
  --primary-fg:#FFFFFF;--blue-dim:#D1FAE5;--blue-glow:rgba(34,197,94,0.25);--g-primary:#22C55E;
}

:root[data-brand-theme="tweakcn-ocean-breeze"][data-theme="dark"]{
  --bg:#0F172A;--panel:#1E293B;--surface:#19212E;--surface2:#212A38;
  --border:#4B5563;--border2:#4B5563;--text:#D1D5DB;--ink:#D1D5DB;
  --muted:#8A909B;--muted2:#A1A1AA;--tweakcn-secondary:#2D3748;--tweakcn-secondary-fg:#A1A1AA;
  --blue:#34D399;--primary:#34D399;--primary-control:#34D399;--primary-fg:#0F172A;
  --blue-dim:#374151;--blue-glow:rgba(52,211,153,0.25);--purple:#2DD4BF;--purple-dim:#20434F;
  --teal:#22C55E;--teal-dim:#1F4040;--green:#10B981;--green-dim:#1C3F46;
  --good:#10B981;--amber:#20A27A;--amber-dim:#1A3942;--red:#F15E5E;
  --red-dim:#3D2D3C;--bad:#F15E5E;--orange:#20A27A;--brand:linear-gradient(120deg,#34D399,#2DD4BF);
  --g-primary:linear-gradient(120deg,#34D399,#2DD4BF);--g-info:linear-gradient(120deg,#2DD4BF,#22C55E);--g-success:linear-gradient(120deg,#10B981,#22C55E);--g-warning:linear-gradient(120deg,#059669,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#2DD4BF);--g-dark:linear-gradient(120deg,#D1D5DB,#D1D5DB);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:Lora, serif;--mono:IBM Plex Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 4px 8px -1px rgba(0,0,0,0.10);--shadow-md:0px 8px 24px -1px rgba(0,0,0,0.12);
  --shadow-lg:0px 16px 48px -1px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-ocean-breeze"][data-theme="dark"] .sb-root{
  --panel:#1E293B;--surface:#374151;--surface2:#374151;--border:#4B5563;
  --border2:#4B5563;--text:#D1D5DB;--ink:#D1D5DB;--muted:#D1D5DB;
  --muted2:#D1D5DB;--blue:#34D399;--primary:#34D399;--primary-control:#34D399;
  --primary-fg:#0F172A;--blue-dim:#374151;--blue-glow:rgba(52,211,153,0.25);--g-primary:#34D399;
}

:root[data-brand-theme="tweakcn-pastel-dreams"]{
  --bg:#F7F3F9;--panel:#FFFFFF;--surface:#F3E8FF;--surface2:#F3E7FF;
  --border:#E9D8FD;--border2:#E9D8FD;--text:#374151;--ink:#374151;
  --muted:#656B78;--muted2:#4B5563;--tweakcn-secondary:#E9D8FD;--tweakcn-secondary-fg:#4B5563;
  --blue:#7D68BC;--primary:#A78BFA;--primary-control:#7D68BC;--primary-fg:#FFFFFF;
  --blue-dim:#F3E5F5;--blue-glow:rgba(167,139,250,0.25);--purple:#8558EC;--purple-dim:#EEE7FE;
  --teal:#7C3AED;--teal-dim:#EBE1FC;--green:#6D28D9;--green-dim:#E9DFF9;
  --good:#6D28D9;--amber:#5B21B6;--amber-dim:#E6DEF4;--red:#9F6868;
  --red-dim:#FFF2F2;--bad:#9F6868;--orange:#5B21B6;--brand:linear-gradient(120deg,#A78BFA,#8B5CF6);
  --g-primary:linear-gradient(120deg,#A78BFA,#8B5CF6);--g-info:linear-gradient(120deg,#8B5CF6,#7C3AED);--g-success:linear-gradient(120deg,#6D28D9,#7C3AED);--g-warning:linear-gradient(120deg,#5B21B6,#FCA5A5);
  --g-danger:linear-gradient(120deg,#FCA5A5,#8B5CF6);--g-dark:linear-gradient(120deg,#374151,#374151);--sans:Open Sans, sans-serif;--display:Open Sans, sans-serif;
  --serif:Source Serif 4, serif;--mono:IBM Plex Mono, monospace;--radius:1.5rem;--ctl-r:1.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 8px 16px -4px rgba(0,0,0,0.08);--shadow-md:0px 16px 48px -4px rgba(0,0,0,0.10);
  --shadow-lg:0px 32px 96px -4px rgba(0,0,0,0.12);color-scheme:light;
}

:root[data-brand-theme="tweakcn-pastel-dreams"] .sb-root{
  --panel:#E9D8FD;--surface:#F3E5F5;--surface2:#F3E5F5;--border:#E9D8FD;
  --border2:#E9D8FD;--text:#374151;--ink:#374151;--muted:#374151;
  --muted2:#374151;--blue:#68569B;--primary:#A78BFA;--primary-control:#7D68BC;
  --primary-fg:#FFFFFF;--blue-dim:#F3E5F5;--blue-glow:rgba(167,139,250,0.25);--g-primary:#A78BFA;
}

:root[data-brand-theme="tweakcn-pastel-dreams"][data-theme="dark"]{
  --bg:#1C1917;--panel:#2D2535;--surface:#20182B;--surface2:#3F324A;
  --border:#3F324A;--border2:#3F324A;--text:#E0E7FF;--ink:#E0E7FF;
  --muted:#9CA3AF;--muted2:#D1D5DB;--tweakcn-secondary:#3F324A;--tweakcn-secondary-fg:#D1D5DB;
  --blue:#C0AAFD;--primary:#C0AAFD;--primary-control:#C0AAFD;--primary-fg:#1C1917;
  --blue-dim:#4A3D5A;--blue-glow:rgba(192,170,253,0.25);--purple:#A78BFA;--purple-dim:#3F3453;
  --teal:#9F78F8;--teal-dim:#3B2D52;--green:#A577F3;--green-dim:#392851;
  --good:#A577F3;--amber:#A47AE7;--amber-dim:#37254E;--red:#FCA5A5;
  --red-dim:#4C3846;--bad:#FCA5A5;--orange:#A47AE7;--brand:linear-gradient(120deg,#C0AAFD,#A78BFA);
  --g-primary:linear-gradient(120deg,#C0AAFD,#A78BFA);--g-info:linear-gradient(120deg,#A78BFA,#8B5CF6);--g-success:linear-gradient(120deg,#7C3AED,#8B5CF6);--g-warning:linear-gradient(120deg,#6D28D9,#FCA5A5);
  --g-danger:linear-gradient(120deg,#FCA5A5,#A78BFA);--g-dark:linear-gradient(120deg,#E0E7FF,#E0E7FF);--sans:Open Sans, sans-serif;--display:Open Sans, sans-serif;
  --serif:Source Serif 4, serif;--mono:IBM Plex Mono, monospace;--radius:1.5rem;--ctl-r:1.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 8px 16px -4px rgba(0,0,0,0.08);--shadow-md:0px 16px 48px -4px rgba(0,0,0,0.10);
  --shadow-lg:0px 32px 96px -4px rgba(0,0,0,0.12);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-pastel-dreams"][data-theme="dark"] .sb-root{
  --panel:#3F324A;--surface:#4A3D5A;--surface2:#4A3D5A;--border:#3F324A;
  --border2:#3F324A;--text:#E0E7FF;--ink:#E0E7FF;--muted:#E0E7FF;
  --muted2:#E0E7FF;--blue:#C0AAFD;--primary:#C0AAFD;--primary-control:#C0AAFD;
  --primary-fg:#1C1917;--blue-dim:#4A3D5A;--blue-glow:rgba(192,170,253,0.25);--g-primary:#C0AAFD;
}

:root[data-brand-theme="tweakcn-perpetuity"]{
  --bg:#E8F0F0;--panel:#F2F7F7;--surface:#E0EAEA;--surface2:#DBEAEA;
  --border:#CDE0E2;--border2:#D9EAEA;--text:#0A4A55;--ink:#0A4A55;
  --muted:#3D7074;--muted2:#0A4A55;--tweakcn-secondary:#D9EAEA;--tweakcn-secondary-fg:#0A4A55;
  --blue:#067D85;--primary:#06858E;--primary-control:#06828B;--primary-fg:#FFFFFF;
  --blue-dim:#C9E5E7;--blue-glow:rgba(6,133,142,0.25);--purple:#187D83;--purple-dim:#D2EAEB;
  --teal:#257C81;--teal-dim:#D6EDEE;--green:#39797E;--green-dim:#DCF0F1;
  --good:#39797E;--amber:#4C777A;--amber-dim:#E2F2F3;--red:#CF3737;
  --red-dim:#EDDADA;--bad:#CF3737;--orange:#4C777A;--brand:linear-gradient(120deg,#06858E,#1E9EA6);
  --g-primary:linear-gradient(120deg,#06858E,#1E9EA6);--g-info:linear-gradient(120deg,#1E9EA6,#37B6BE);--g-success:linear-gradient(120deg,#5DC7CE,#37B6BE);--g-warning:linear-gradient(120deg,#8AD8DD,#D13838);
  --g-danger:linear-gradient(120deg,#D13838,#1E9EA6);--g-dark:linear-gradient(120deg,#0A4A55,#0A4A55);--sans:Courier New, monospace;--display:Courier New, monospace;
  --serif:Courier New, monospace;--mono:Courier New, monospace;--radius:0.125rem;--ctl-r:0.125rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:1px 1px 2px 0px rgba(23,121,130,0.15);--shadow-md:1px 2px 6px 0px rgba(23,121,130,0.19);
  --shadow-lg:1px 4px 12px 0px rgba(23,121,130,0.22);color-scheme:light;
}

:root[data-brand-theme="tweakcn-perpetuity"] .sb-root{
  --panel:#DAEBED;--surface:#C9E5E7;--surface2:#C9E5E7;--border:#CDE0E2;
  --border2:#CDE0E2;--text:#0A4A55;--ink:#0A4A55;--muted:#0A4A55;
  --muted2:#0A4A55;--blue:#05747C;--primary:#06858E;--primary-control:#06828B;
  --primary-fg:#FFFFFF;--blue-dim:#C9E5E7;--blue-glow:rgba(6,133,142,0.25);--g-primary:#06858E;
}

:root[data-brand-theme="tweakcn-perpetuity"][data-theme="dark"]{
  --bg:#0A1A20;--panel:#0C2025;--surface:#0F3039;--surface2:#10333D;
  --border:#164955;--border2:#164955;--text:#4DE8E8;--ink:#4DE8E8;
  --muted:#36A5A5;--muted2:#4DE8E8;--tweakcn-secondary:#164955;--tweakcn-secondary-fg:#4DE8E8;
  --blue:#4DE8E8;--primary:#4DE8E8;--primary-control:#4DE8E8;--primary-fg:#0A1A20;
  --blue-dim:#164955;--blue-glow:rgba(77,232,232,0.25);--purple:#36A5A5;--purple-dim:#123438;
  --teal:#3A9191;--teal-dim:#113034;--green:#608C90;--green-dim:#0E292E;
  --good:#608C90;--amber:#718A8C;--amber-dim:#0C2428;--red:#EA4C4C;
  --red-dim:#2D2428;--bad:#EA4C4C;--orange:#718A8C;--brand:linear-gradient(120deg,#4DE8E8,#36A5A5);
  --g-primary:linear-gradient(120deg,#4DE8E8,#36A5A5);--g-info:linear-gradient(120deg,#36A5A5,#2D8A8A);--g-success:linear-gradient(120deg,#19595E,#2D8A8A);--g-warning:linear-gradient(120deg,#0E383C,#E83C3C);
  --g-danger:linear-gradient(120deg,#E83C3C,#36A5A5);--g-dark:linear-gradient(120deg,#4DE8E8,#4DE8E8);--sans:Source Code Pro, monospace;--display:Source Code Pro, monospace;
  --serif:Source Code Pro, monospace;--mono:Source Code Pro, monospace;--radius:0.125rem;--ctl-r:0.125rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:1px 1px 2px 0px rgba(82,224,224,0.20);--shadow-md:1px 2px 6px 0px rgba(82,224,224,0.25);
  --shadow-lg:1px 4px 12px 0px rgba(82,224,224,0.30);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-perpetuity"][data-theme="dark"] .sb-root{
  --panel:#0A1A20;--surface:#164955;--surface2:#164955;--border:#164955;
  --border2:#164955;--text:#4DE8E8;--ink:#4DE8E8;--muted:#4DE8E8;
  --muted2:#4DE8E8;--blue:#4DE8E8;--primary:#4DE8E8;--primary-control:#4DE8E8;
  --primary-fg:#0A1A20;--blue-dim:#164955;--blue-glow:rgba(77,232,232,0.25);--g-primary:#4DE8E8;
}

:root[data-brand-theme="tweakcn-quantum-rose"]{
  --bg:#FFF0F8;--panel:#FFF7FC;--surface:#FFE3F2;--surface2:#FFE2F3;
  --border:#FFC7E6;--border2:#FFD6FF;--text:#91185C;--ink:#91185C;
  --muted:#B33D7A;--muted2:#91185C;--tweakcn-secondary:#FFD6FF;--tweakcn-secondary-fg:#91185C;
  --blue:#DF0676;--primary:#E6067A;--primary-control:#E40679;--primary-fg:#FFFFFF;
  --blue-dim:#FFC1E3;--blue-glow:rgba(230,6,122,0.25);--purple:#BA478F;--purple-dim:#F6DDED;
  --teal:#8D61A7;--teal-dim:#F0E2F2;--green:#6D6BB5;--green-dim:#EAE3F3;
  --good:#6D6BB5;--amber:#4D6CD1;--amber-dim:#E7E6FC;--red:#CF3768;
  --red-dim:#F8DAE6;--bad:#CF3768;--orange:#4D6CD1;--brand:linear-gradient(120deg,#E6067A,#C44B97);
  --g-primary:linear-gradient(120deg,#E6067A,#C44B97);--g-info:linear-gradient(120deg,#C44B97,#9969B6);--g-success:linear-gradient(120deg,#7371BF,#9969B6);--g-warning:linear-gradient(120deg,#5E84FF,#D13869);
  --g-danger:linear-gradient(120deg,#D13869,#C44B97);--g-dark:linear-gradient(120deg,#91185C,#91185C);--sans:Poppins, sans-serif;--display:Poppins, sans-serif;
  --serif:Playfair Display, serif;--mono:Space Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 3px 0px 0px rgba(130,23,77,0.18);--shadow-md:0px 6px 0px 0px rgba(130,23,77,0.22);
  --shadow-lg:0px 12px 0px 0px rgba(130,23,77,0.27);color-scheme:light;
}

:root[data-brand-theme="tweakcn-quantum-rose"] .sb-root{
  --panel:#FFEDF6;--surface:#FFC1E3;--surface2:#FFC1E3;--border:#FFDDF0;
  --border2:#FFDDF0;--text:#91185C;--ink:#91185C;--muted:#91185C;
  --muted2:#91185C;--blue:#D60671;--primary:#E6067A;--primary-control:#E40679;
  --primary-fg:#FFFFFF;--blue-dim:#FFC1E3;--blue-glow:rgba(230,6,122,0.25);--g-primary:#E6067A;
}

:root[data-brand-theme="tweakcn-quantum-rose"][data-theme="dark"]{
  --bg:#1A0922;--panel:#2A1435;--surface:#331941;--surface2:#46204F;
  --border:#4A1B5F;--border2:#46204F;--text:#FFB3FF;--ink:#FFB3FF;
  --muted:#D67AD6;--muted2:#FFB3FF;--tweakcn-secondary:#46204F;--tweakcn-secondary-fg:#FFB3FF;
  --blue:#FF6BEF;--primary:#FF6BEF;--primary-control:#FF6BEF;--primary-fg:#180518;
  --blue-dim:#5A1F5D;--blue-glow:rgba(255,107,239,0.25);--purple:#C359E3;--purple-dim:#411E4F;
  --teal:#9567FF;--teal-dim:#392053;--green:#767AE3;--green-dim:#34224F;
  --good:#767AE3;--amber:#567BFF;--amber-dim:#302353;--red:#FF2876;
  --red-dim:#4A173F;--bad:#FF2876;--orange:#567BFF;--brand:linear-gradient(120deg,#FF6BEF,#C359E3);
  --g-primary:linear-gradient(120deg,#FF6BEF,#C359E3);--g-info:linear-gradient(120deg,#C359E3,#9161FF);--g-success:linear-gradient(120deg,#6F73E2,#9161FF);--g-warning:linear-gradient(120deg,#547AFF,#FF2876);
  --g-danger:linear-gradient(120deg,#FF2876,#C359E3);--g-dark:linear-gradient(120deg,#FFB3FF,#FFB3FF);--sans:Quicksand, sans-serif;--display:Quicksand, sans-serif;
  --serif:Playfair Display, serif;--mono:Space Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 3px 0px 0px rgba(230,25,229,0.18);--shadow-md:0px 6px 0px 0px rgba(230,25,229,0.22);
  --shadow-lg:0px 12px 0px 0px rgba(230,25,229,0.27);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-quantum-rose"][data-theme="dark"] .sb-root{
  --panel:#1C0D25;--surface:#5A1F5D;--surface2:#5A1F5D;--border:#4A1B5F;
  --border2:#4A1B5F;--text:#FFB3FF;--ink:#FFB3FF;--muted:#FFB3FF;
  --muted2:#FFB3FF;--blue:#FF6BEF;--primary:#FF6BEF;--primary-control:#FF6BEF;
  --primary-fg:#180518;--blue-dim:#5A1F5D;--blue-glow:rgba(255,107,239,0.25);--g-primary:#FF6BEF;
}

:root[data-brand-theme="tweakcn-retro-arcade"]{
  --bg:#FDF6E3;--panel:#EEE8D5;--surface:#93A1A1;--surface2:#92A1A1;
  --border:#839496;--border2:#839496;--text:#073642;--ink:#073642;
  --muted:#073642;--muted2:#363636;--tweakcn-secondary:#2AA198;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#BA3072;--primary:#D33682;--primary-control:#D33682;--primary-fg:#FFFFFF;
  --blue-dim:#CB4B16;--blue-glow:rgba(211,54,130,0.25);--purple:#1E746D;--purple-dim:#D1DDCC;
  --teal:#BA3072;--teal-dim:#EACDC9;--green:#B54314;--green-dim:#E9D0B8;
  --good:#B54314;--amber:#C42C2A;--amber-dim:#EBCDBC;--red:#C42C2A;
  --red-dim:#EBCDBC;--bad:#C42C2A;--orange:#C42C2A;--brand:linear-gradient(120deg,#D33682,#2AA198);
  --g-primary:linear-gradient(120deg,#D33682,#2AA198);--g-info:linear-gradient(120deg,#2AA198,#D33682);--g-success:linear-gradient(120deg,#CB4B16,#D33682);--g-warning:linear-gradient(120deg,#DC322F,#DC322F);
  --g-danger:linear-gradient(120deg,#DC322F,#2AA198);--g-dark:linear-gradient(120deg,#073642,#073642);--sans:Outfit, sans-serif;--display:Outfit, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Space Mono, monospace;--radius:0.25rem;--ctl-r:0.25rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 4px 0px rgba(4,35,47,0.15);--shadow-md:2px 4px 12px 0px rgba(4,35,47,0.19);
  --shadow-lg:2px 8px 24px 0px rgba(4,35,47,0.22);color-scheme:light;
}

:root[data-brand-theme="tweakcn-retro-arcade"] .sb-root{
  --panel:#FDF6E3;--surface:#2AA198;--surface2:#2AA198;--border:#839496;
  --border2:#839496;--text:#062F39;--ink:#062F39;--muted:#062F39;
  --muted2:#062F39;--blue:#C8337C;--primary:#D33682;--primary-control:#D33682;
  --primary-fg:#FFFFFF;--blue-dim:#2AA198;--blue-glow:rgba(211,54,130,0.25);--g-primary:#D33682;
}

:root[data-brand-theme="tweakcn-retro-arcade"][data-theme="dark"]{
  --bg:#002B36;--panel:#073642;--surface:#586E75;--surface2:#586E75;
  --border:#586E75;--border2:#586E75;--text:#E9ECEC;--ink:#E9ECEC;
  --muted:#E9ECEC;--muted2:#FFFFFF;--tweakcn-secondary:#2AA198;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#E174A9;--primary:#D33682;--primary-control:#D33682;--primary-fg:#FFFFFF;
  --blue-dim:#CB4B16;--blue-glow:rgba(211,54,130,0.25);--purple:#39A89F;--purple-dim:#0C464F;
  --teal:#E174A9;--teal-dim:#26364C;--green:#DB815C;--green-dim:#24393B;
  --good:#DB815C;--amber:#E87674;--amber-dim:#27353F;--red:#E87674;
  --red-dim:#27353F;--bad:#E87674;--orange:#E87674;--brand:linear-gradient(120deg,#D33682,#2AA198);
  --g-primary:linear-gradient(120deg,#D33682,#2AA198);--g-info:linear-gradient(120deg,#2AA198,#D33682);--g-success:linear-gradient(120deg,#CB4B16,#D33682);--g-warning:linear-gradient(120deg,#DC322F,#DC322F);
  --g-danger:linear-gradient(120deg,#DC322F,#2AA198);--g-dark:linear-gradient(120deg,#E9ECEC,#E9ECEC);--sans:Outfit, sans-serif;--display:Outfit, sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:Space Mono, monospace;--radius:0.25rem;--ctl-r:0.25rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 2px 4px 0px rgba(4,35,47,0.15);--shadow-md:2px 4px 12px 0px rgba(4,35,47,0.19);
  --shadow-lg:2px 8px 24px 0px rgba(4,35,47,0.22);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-retro-arcade"][data-theme="dark"] .sb-root{
  --panel:#002B36;--surface:#2AA198;--surface2:#2AA198;--border:#586E75;
  --border2:#586E75;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#DD629E;--primary:#D33682;--primary-control:#D33682;
  --primary-fg:#FFFFFF;--blue-dim:#2AA198;--blue-glow:rgba(211,54,130,0.25);--g-primary:#D33682;
}

:root[data-brand-theme="tweakcn-sage-garden"]{
  --bg:#F8F7F4;--panel:#FFFFFF;--surface:#E8E6E1;--surface2:#E8E6E1;
  --border:#E8E6E1;--border2:#FFFFFF;--text:#1A1F2E;--ink:#1A1F2E;
  --muted:#616874;--muted2:#1A1F2E;--tweakcn-secondary:#CED4BF;--tweakcn-secondary-fg:#1A1F2E;
  --blue:#697A6E;--primary:#7C9082;--primary-control:#697A6E;--primary-fg:#FFFFFF;
  --blue-dim:#BFC9BB;--blue-glow:rgba(124,144,130,0.25);--purple:#727961;--purple-dim:#F1F2ED;
  --teal:#6C7A66;--teal-dim:#EEF0EC;--green:#6B7280;--green-dim:#E9EAEC;
  --good:#6B7280;--amber:#767573;--amber-dim:#FCFBFA;--red:#C73E3A;
  --red-dim:#F7E2E1;--bad:#C73E3A;--orange:#767573;--brand:linear-gradient(120deg,#7C9082,#A0AA88);
  --g-primary:linear-gradient(120deg,#7C9082,#A0AA88);--g-info:linear-gradient(120deg,#A0AA88,#8B9D83);--g-success:linear-gradient(120deg,#6B7280,#8B9D83);--g-warning:linear-gradient(120deg,#E8E6E1,#C73E3A);
  --g-danger:linear-gradient(120deg,#C73E3A,#A0AA88);--g-dark:linear-gradient(120deg,#1A1F2E,#1A1F2E);--sans:Antic, ui-sans-serif, sans-serif, system-ui;--display:Antic, ui-sans-serif, sans-serif, system-ui;
  --serif:Signifier, Georgia, serif;--mono:JetBrains Mono, Courier New, monospace;--radius:0.35rem;--ctl-r:0.35rem;
  --letter-spacing:0em;--spacing:0.23rem;--shadow-sm:0px 1px 2px 0px rgba(26,31,46,0.04);--shadow-md:0px 2px 6px 0px rgba(26,31,46,0.05);
  --shadow-lg:0px 4px 12px 0px rgba(26,31,46,0.06);color-scheme:light;
}

:root[data-brand-theme="tweakcn-sage-garden"] .sb-root{
  --panel:#FAFAF8;--surface:#E8E6E1;--surface2:#E8E6E1;--border:#E8E6E1;
  --border2:#E8E6E1;--text:#1A1F2E;--ink:#1A1F2E;--muted:#1A1F2E;
  --muted2:#1A1F2E;--blue:#66766B;--primary:#7C9082;--primary-control:#697A6E;
  --primary-fg:#FFFFFF;--blue-dim:#E8E6E1;--blue-glow:rgba(124,144,130,0.25);--g-primary:#7C9082;
}

:root[data-brand-theme="tweakcn-sage-garden"][data-theme="dark"]{
  --bg:#0A0A0A;--panel:#121212;--surface:#1A1A1A;--surface2:#1A1A1A;
  --border:#2A2A2A;--border2:#121212;--text:#F5F5F5;--ink:#F5F5F5;
  --muted:#A0A0A0;--muted2:#F5F5F5;--tweakcn-secondary:#1A1A1A;--tweakcn-secondary-fg:#F5F5F5;
  --blue:#7C9082;--primary:#7C9082;--primary-control:#7C9082;--primary-fg:#000000;
  --blue-dim:#36443A;--blue-glow:rgba(124,144,130,0.25);--purple:#A0AA88;--purple-dim:#272924;
  --teal:#8B9D83;--teal-dim:#242723;--green:#777D8A;--green-dim:#1F2022;
  --good:#777D8A;--amber:#718075;--amber-dim:#1D1F1D;--red:#EF4444;
  --red-dim:#331A1A;--bad:#EF4444;--orange:#718075;--brand:linear-gradient(120deg,#7C9082,#A0AA88);
  --g-primary:linear-gradient(120deg,#7C9082,#A0AA88);--g-info:linear-gradient(120deg,#A0AA88,#8B9D83);--g-success:linear-gradient(120deg,#6B7280,#8B9D83);--g-warning:linear-gradient(120deg,#5A6B5E,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#A0AA88);--g-dark:linear-gradient(120deg,#F5F5F5,#F5F5F5);--sans:Antic, ui-sans-serif, sans-serif, system-ui;--display:Antic, ui-sans-serif, sans-serif, system-ui;
  --serif:Signifier, Georgia, serif;--mono:JetBrains Mono, Courier New, monospace;--radius:0.35rem;--ctl-r:0.35rem;
  --letter-spacing:0em;--spacing:0.23rem;--shadow-sm:0px 1px 2px 0px rgba(0,0,0,0.04);--shadow-md:0px 2px 6px 0px rgba(0,0,0,0.05);
  --shadow-lg:0px 4px 12px 0px rgba(0,0,0,0.06);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-sage-garden"][data-theme="dark"] .sb-root{
  --panel:#0F0F0F;--surface:#1A1A1A;--surface2:#1A1A1A;--border:#2A2A2A;
  --border2:#2A2A2A;--text:#F5F5F5;--ink:#F5F5F5;--muted:#F5F5F5;
  --muted2:#F5F5F5;--blue:#7C9082;--primary:#7C9082;--primary-control:#697A6E;
  --primary-fg:#FFFFFF;--blue-dim:#1A1A1A;--blue-glow:rgba(124,144,130,0.25);--g-primary:#7C9082;
}

:root[data-brand-theme="tweakcn-soft-pop"]{
  --bg:#F7F9F3;--panel:#FFFFFF;--surface:#F0F0F0;--surface2:#E7EEED;
  --border:#000000;--border2:#737373;--text:#000000;--ink:#000000;
  --muted:#333333;--muted2:#6B6B6B;--tweakcn-secondary:#14B8A6;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#4F46E5;--primary:#4F46E5;--primary-control:#4F46E5;--primary-fg:#FFFFFF;
  --blue-dim:#F59E0B;--blue-glow:rgba(79,70,229,0.25);--purple:#0E8478;--purple-dim:#DCF4F2;
  --teal:#A46A07;--teal-dim:#FEF0DA;--green:#CD3F85;--green-dim:#FCE4F0;
  --good:#CD3F85;--amber:#178841;--amber-dim:#DEF6E7;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#178841;--brand:linear-gradient(120deg,#4F46E5,#14B8A6);
  --g-primary:linear-gradient(120deg,#4F46E5,#14B8A6);--g-info:linear-gradient(120deg,#14B8A6,#F59E0B);--g-success:linear-gradient(120deg,#EC4899,#F59E0B);--g-warning:linear-gradient(120deg,#22C55E,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#14B8A6);--g-dark:linear-gradient(120deg,#000000,#000000);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:DM Sans, sans-serif;--mono:Space Mono, monospace;--radius:1rem;--ctl-r:1rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 0px 0px 0px rgba(26,26,26,0.05);--shadow-md:0px 0px 0px 0px rgba(26,26,26,0.06);
  --shadow-lg:0px 0px 0px 0px rgba(26,26,26,0.08);color-scheme:light;
}

:root[data-brand-theme="tweakcn-soft-pop"] .sb-root{
  --panel:#F7F9F3;--surface:#F59E0B;--surface2:#F59E0B;--border:#000000;
  --border2:#000000;--text:#000000;--ink:#000000;--muted:#000000;
  --muted2:#000000;--blue:#4F46E5;--primary:#4F46E5;--primary-control:#4F46E5;
  --primary-fg:#FFFFFF;--blue-dim:#F59E0B;--blue-glow:rgba(79,70,229,0.25);--g-primary:#4F46E5;
}

:root[data-brand-theme="tweakcn-soft-pop"][data-theme="dark"]{
  --bg:#000000;--panel:#1A212B;--surface:#333333;--surface2:#333534;
  --border:#545454;--border2:#FFFFFF;--text:#FFFFFF;--ink:#FFFFFF;
  --muted:#CCCCCC;--muted2:#9C9C9C;--tweakcn-secondary:#2DD4BF;--tweakcn-secondary-fg:#000000;
  --blue:#818CF8;--primary:#818CF8;--primary-control:#818CF8;--primary-fg:#000000;
  --blue-dim:#FCD34D;--blue-glow:rgba(129,140,248,0.25);--purple:#2DD4BF;--purple-dim:#1D3C41;
  --teal:#FCD34D;--teal-dim:#3C3C30;--green:#F472B6;--green-dim:#3B2D40;
  --good:#F472B6;--amber:#4ADE80;--amber-dim:#213D38;--red:#F87171;
  --red-dim:#3B2D36;--bad:#F87171;--orange:#4ADE80;--brand:linear-gradient(120deg,#818CF8,#2DD4BF);
  --g-primary:linear-gradient(120deg,#818CF8,#2DD4BF);--g-info:linear-gradient(120deg,#2DD4BF,#FCD34D);--g-success:linear-gradient(120deg,#F472B6,#FCD34D);--g-warning:linear-gradient(120deg,#4ADE80,#F87171);
  --g-danger:linear-gradient(120deg,#F87171,#2DD4BF);--g-dark:linear-gradient(120deg,#FFFFFF,#FFFFFF);--sans:DM Sans, sans-serif;--display:DM Sans, sans-serif;
  --serif:DM Sans, sans-serif;--mono:Space Mono, monospace;--radius:1rem;--ctl-r:1rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 0px 0px 0px rgba(26,26,26,0.05);--shadow-md:0px 0px 0px 0px rgba(26,26,26,0.06);
  --shadow-lg:0px 0px 0px 0px rgba(26,26,26,0.08);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-soft-pop"][data-theme="dark"] .sb-root{
  --panel:#000000;--surface:#FCD34D;--surface2:#FCD34D;--border:#FFFFFF;
  --border2:#FFFFFF;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#818CF8;--primary:#818CF8;--primary-control:#818CF8;
  --primary-fg:#000000;--blue-dim:#FCD34D;--blue-glow:rgba(129,140,248,0.25);--g-primary:#818CF8;
}

:root[data-brand-theme="tweakcn-solar-dusk"]{
  --bg:#FDFBF7;--panel:#F8F4EE;--surface:#F1E9DA;--surface2:#F1E8D8;
  --border:#E4D9BC;--border2:#E4D9BC;--text:#4A3B33;--ink:#4A3B33;
  --muted:#6E6863;--muted2:#57534E;--tweakcn-secondary:#E4C090;--tweakcn-secondary-fg:#57534E;
  --blue:#B45309;--primary:#B45309;--primary-control:#B45309;--primary-fg:#FFFFFF;
  --blue-dim:#F2DABA;--blue-glow:rgba(180,83,9,0.25);--purple:#766F6A;--purple-dim:#E5E0DA;
  --teal:#9F6107;--teal-dim:#EBDECB;--green:#766F6A;--green-dim:#E5E0DA;
  --good:#766F6A;--amber:#956603;--amber-dim:#F1E4CB;--red:#991B1B;
  --red-dim:#EAD3CE;--bad:#991B1B;--orange:#956603;--brand:linear-gradient(120deg,#B45309,#78716C);
  --g-primary:linear-gradient(120deg,#B45309,#78716C);--g-info:linear-gradient(120deg,#78716C,#A16207);--g-success:linear-gradient(120deg,#78716C,#A16207);--g-warning:linear-gradient(120deg,#CA8A04,#991B1B);
  --g-danger:linear-gradient(120deg,#991B1B,#78716C);--g-dark:linear-gradient(120deg,#4A3B33,#4A3B33);--sans:Oxanium, sans-serif;--display:Oxanium, sans-serif;
  --serif:Merriweather, serif;--mono:Fira Code, monospace;--radius:0.3rem;--ctl-r:0.3rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 3px 0px rgba(75,63,52,0.18);--shadow-md:0px 4px 9px 0px rgba(75,63,52,0.22);
  --shadow-lg:0px 8px 18px 0px rgba(75,63,52,0.27);color-scheme:light;
}

:root[data-brand-theme="tweakcn-solar-dusk"] .sb-root{
  --panel:#F1E9DA;--surface:#A16207;--surface2:#A16207;--border:#E4D9BC;
  --border2:#E4D9BC;--text:#000000;--ink:#000000;--muted:#000000;
  --muted2:#000000;--blue:#AB4F09;--primary:#B45309;--primary-control:#B45309;
  --primary-fg:#FFFFFF;--blue-dim:#A16207;--blue-glow:rgba(180,83,9,0.25);--g-primary:#B45309;
}

:root[data-brand-theme="tweakcn-solar-dusk"][data-theme="dark"]{
  --bg:#1C1917;--panel:#292524;--surface:#201D1A;--surface2:#3D3935;
  --border:#44403C;--border2:#44403C;--text:#F5F5F4;--ink:#F5F5F4;
  --muted:#A8A29E;--muted2:#E7E5E4;--tweakcn-secondary:#57534E;--tweakcn-secondary-fg:#E7E5E4;
  --blue:#F97316;--primary:#F97316;--primary-control:#BD5711;--primary-fg:#FFFFFF;
  --blue-dim:#1E4252;--blue-glow:rgba(249,115,22,0.25);--purple:#0EA5E9;--purple-dim:#253842;
  --teal:#EAB308;--teal-dim:#463A20;--green:#A8A29E;--green-dim:#3C3836;
  --good:#A8A29E;--amber:#928C88;--amber-dim:#35302F;--red:#E66363;
  --red-dim:#442524;--bad:#E66363;--orange:#928C88;--brand:linear-gradient(120deg,#F97316,#0EA5E9);
  --g-primary:linear-gradient(120deg,#F97316,#0EA5E9);--g-info:linear-gradient(120deg,#0EA5E9,#EAB308);--g-success:linear-gradient(120deg,#A8A29E,#EAB308);--g-warning:linear-gradient(120deg,#78716C,#DC2626);
  --g-danger:linear-gradient(120deg,#DC2626,#0EA5E9);--g-dark:linear-gradient(120deg,#F5F5F4,#F5F5F4);--sans:Oxanium, sans-serif;--display:Oxanium, sans-serif;
  --serif:Merriweather, serif;--mono:Fira Code, monospace;--radius:0.3rem;--ctl-r:0.3rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 3px 0px rgba(13,13,13,0.18);--shadow-md:0px 4px 9px 0px rgba(13,13,13,0.22);
  --shadow-lg:0px 8px 18px 0px rgba(13,13,13,0.27);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-solar-dusk"][data-theme="dark"] .sb-root{
  --panel:#292524;--surface:#0EA5E9;--surface2:#0EA5E9;--border:#44403C;
  --border2:#44403C;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#F97316;--primary:#F97316;--primary-control:#BD5711;
  --primary-fg:#FFFFFF;--blue-dim:#0EA5E9;--blue-glow:rgba(249,115,22,0.25);--g-primary:#F97316;
}

:root[data-brand-theme="tweakcn-starry-night"]{
  --bg:#F5F7FA;--panel:#E3EAF2;--surface:#E5E5DF;--surface2:#F1D297;
  --border:#B0B8C1;--border2:#6EA3C1;--text:#1A2238;--ink:#1A2238;
  --muted:#3A5BA0;--muted2:#1A2238;--tweakcn-secondary:#F7C873;--tweakcn-secondary-fg:#1A2238;
  --blue:#3A5BA0;--primary:#3A5BA0;--primary-control:#3A5BA0;--primary-fg:#FFFBE6;
  --blue-dim:#6EA3C1;--blue-glow:rgba(58,91,160,0.25);--purple:#7C643A;--purple-dim:#E6E5DF;
  --teal:#4A6D81;--teal-dim:#D1DFEB;--green:#64696E;--green-dim:#DBE2EB;
  --good:#64696E;--amber:#2D1E2F;--amber-dim:#C8CBD5;--red:#2D1E2F;
  --red-dim:#C8CBD5;--bad:#2D1E2F;--orange:#2D1E2F;--brand:linear-gradient(120deg,#3A5BA0,#F7C873);
  --g-primary:linear-gradient(120deg,#3A5BA0,#F7C873);--g-info:linear-gradient(120deg,#F7C873,#6EA3C1);--g-success:linear-gradient(120deg,#B0B8C1,#6EA3C1);--g-warning:linear-gradient(120deg,#2D1E2F,#2D1E2F);
  --g-danger:linear-gradient(120deg,#2D1E2F,#F7C873);--g-dark:linear-gradient(120deg,#1A2238,#1A2238);--sans:Libre Baskerville, serif;--display:Libre Baskerville, serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-starry-night"] .sb-root{
  --panel:#E3EAF2;--surface:#F7C873;--surface2:#F7C873;--border:#B0B8C1;
  --border2:#B0B8C1;--text:#1A2238;--ink:#1A2238;--muted:#1A2238;
  --muted2:#1A2238;--blue:#3A5BA0;--primary:#3A5BA0;--primary-control:#3A5BA0;
  --primary-fg:#FFFBE6;--blue-dim:#F7C873;--blue-glow:rgba(58,91,160,0.25);--g-primary:#3A5BA0;
}

:root[data-brand-theme="tweakcn-starry-night"][data-theme="dark"]{
  --bg:#181A24;--panel:#23243A;--surface:#1D1E2F;--surface2:#242431;
  --border:#2D2E3E;--border2:#3A5BA0;--text:#E6EAF3;--ink:#E6EAF3;
  --muted:#7F8DA5;--muted2:#8D8D99;--tweakcn-secondary:#FFE066;--tweakcn-secondary-fg:#23243A;
  --blue:#758CBC;--primary:#3A5BA0;--primary-control:#3A5BA0;--primary-fg:#FFE066;
  --blue-dim:#BCCDF0;--blue-glow:rgba(58,91,160,0.25);--purple:#FFE066;--purple-dim:#444041;
  --teal:#6EA3C1;--teal-dim:#2E374E;--green:#7F8DA5;--green-dim:#303349;
  --good:#7F8DA5;--amber:#BA7B94;--amber-dim:#362A42;--red:#BA7B94;
  --red-dim:#362A42;--bad:#BA7B94;--orange:#BA7B94;--brand:linear-gradient(120deg,#3A5BA0,#FFE066);
  --g-primary:linear-gradient(120deg,#3A5BA0,#FFE066);--g-info:linear-gradient(120deg,#FFE066,#6EA3C1);--g-success:linear-gradient(120deg,#7A88A1,#6EA3C1);--g-warning:linear-gradient(120deg,#A04A6C,#A04A6C);
  --g-danger:linear-gradient(120deg,#A04A6C,#FFE066);--g-dark:linear-gradient(120deg,#E6EAF3,#E6EAF3);--sans:Libre Baskerville, serif;--display:Libre Baskerville, serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-starry-night"][data-theme="dark"] .sb-root{
  --panel:#23243A;--surface:#FFE066;--surface2:#FFE066;--border:#2D2E3E;
  --border2:#2D2E3E;--text:#000000;--ink:#000000;--muted:#000000;
  --muted2:#000000;--blue:#758CBC;--primary:#3A5BA0;--primary-control:#3A5BA0;
  --primary-fg:#FFE066;--blue-dim:#FFE066;--blue-glow:rgba(58,91,160,0.25);--g-primary:#3A5BA0;
}

:root[data-brand-theme="tweakcn-sunset-horizon"]{
  --bg:#FFF9F5;--panel:#FFFFFF;--surface:#FFF0EB;--surface2:#FFEFEB;
  --border:#FFE0D6;--border2:#FFE0D6;--text:#3D3436;--ink:#3D3436;
  --muted:#746E69;--muted2:#B1523F;--tweakcn-secondary:#FFEDEA;--tweakcn-secondary-fg:#B35340;
  --blue:#B85B44;--primary:#FF7E5F;--primary-control:#B85B44;--primary-fg:#FFFFFF;
  --blue-dim:#FEB47B;--blue-glow:rgba(255,126,95,0.25);--purple:#986C4A;--purple-dim:#FFF4EB;
  --teal:#8C6F5C;--teal-dim:#FFF7F2;--green:#9C6A57;--green-dim:#FFF3EE;
  --good:#9C6A57;--amber:#B55D4D;--amber-dim:#F8E9E6;--red:#DA3642;
  --red-dim:#FBE1E3;--bad:#DA3642;--orange:#B55D4D;--brand:linear-gradient(120deg,#FF7E5F,#FEB47B);
  --g-primary:linear-gradient(120deg,#FF7E5F,#FEB47B);--g-info:linear-gradient(120deg,#FEB47B,#FFCAA7);--g-success:linear-gradient(120deg,#FFAD8F,#FFCAA7);--g-warning:linear-gradient(120deg,#CE6A57,#E63946);
  --g-danger:linear-gradient(120deg,#E63946,#FEB47B);--g-dark:linear-gradient(120deg,#3D3436,#3D3436);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Merriweather, serif;--mono:Ubuntu Mono, monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 6px 12px -3px rgba(0,0,0,0.09);--shadow-md:0px 12px 36px -3px rgba(0,0,0,0.11);
  --shadow-lg:0px 24px 72px -3px rgba(0,0,0,0.14);color-scheme:light;
}

:root[data-brand-theme="tweakcn-sunset-horizon"] .sb-root{
  --panel:#FFF0EB;--surface:#FEB47B;--surface2:#FEB47B;--border:#FFE0D6;
  --border2:#FFE0D6;--text:#3D3436;--ink:#3D3436;--muted:#3D3436;
  --muted2:#3D3436;--blue:#AD5641;--primary:#FF7E5F;--primary-control:#B85B44;
  --primary-fg:#FFFFFF;--blue-dim:#FEB47B;--blue-glow:rgba(255,126,95,0.25);--g-primary:#FF7E5F;
}

:root[data-brand-theme="tweakcn-sunset-horizon"][data-theme="dark"]{
  --bg:#2A2024;--panel:#392F35;--surface:#30272C;--surface2:#463A41;
  --border:#463A41;--border2:#463A41;--text:#F2E9E4;--ink:#F2E9E4;
  --muted:#D7C6BC;--muted2:#F2E9E4;--tweakcn-secondary:#463A41;--tweakcn-secondary-fg:#F2E9E4;
  --blue:#FF7E5F;--primary:#FF7E5F;--primary-control:#B85B44;--primary-fg:#FFFFFF;
  --blue-dim:#FEB47B;--blue-glow:rgba(255,126,95,0.25);--purple:#FEB47B;--purple-dim:#574340;
  --teal:#FFCAA7;--teal-dim:#574646;--green:#FFAD8F;--green-dim:#574242;
  --good:#FFAD8F;--amber:#D68374;--amber-dim:#4F383A;--red:#EE747E;
  --red-dim:#533038;--bad:#EE747E;--orange:#D68374;--brand:linear-gradient(120deg,#FF7E5F,#FEB47B);
  --g-primary:linear-gradient(120deg,#FF7E5F,#FEB47B);--g-info:linear-gradient(120deg,#FEB47B,#FFCAA7);--g-success:linear-gradient(120deg,#FFAD8F,#FFCAA7);--g-warning:linear-gradient(120deg,#CE6A57,#E63946);
  --g-danger:linear-gradient(120deg,#E63946,#FEB47B);--g-dark:linear-gradient(120deg,#F2E9E4,#F2E9E4);--sans:Montserrat, sans-serif;--display:Montserrat, sans-serif;
  --serif:Merriweather, serif;--mono:Ubuntu Mono, monospace;--radius:0.625rem;--ctl-r:0.625rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 6px 12px -3px rgba(0,0,0,0.09);--shadow-md:0px 12px 36px -3px rgba(0,0,0,0.11);
  --shadow-lg:0px 24px 72px -3px rgba(0,0,0,0.14);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-sunset-horizon"][data-theme="dark"] .sb-root{
  --panel:#2A2024;--surface:#FEB47B;--surface2:#FEB47B;--border:#463A41;
  --border2:#463A41;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#FF7E5F;--primary:#FF7E5F;--primary-control:#B85B44;
  --primary-fg:#FFFFFF;--blue-dim:#FEB47B;--blue-glow:rgba(255,126,95,0.25);--g-primary:#FF7E5F;
}

:root[data-brand-theme="tweakcn-supabase"]{
  --bg:#FCFCFC;--panel:#FCFCFC;--surface:#EDEDED;--surface2:#FDFDFD;
  --border:#DFDFDF;--border2:#F6F6F6;--text:#171717;--ink:#171717;
  --muted:#202020;--muted2:#171717;--tweakcn-secondary:#FDFDFD;--tweakcn-secondary-fg:#171717;
  --blue:#418163;--primary:#72E3AD;--primary-control:#72E3AD;--primary-fg:#1E2723;
  --blue-dim:#EDEDED;--blue-glow:rgba(114,227,173,0.25);--purple:#3472D8;--purple-dim:#DFEAFB;
  --teal:#8457EA;--teal-dim:#EBE4FB;--green:#A26807;--green-dim:#FBEED8;
  --good:#A26807;--amber:#0C855D;--amber-dim:#D9F2EA;--red:#CA3214;
  --red-dim:#F4DED9;--bad:#CA3214;--orange:#0C855D;--brand:linear-gradient(120deg,#72E3AD,#3B82F6);
  --g-primary:linear-gradient(120deg,#72E3AD,#3B82F6);--g-info:linear-gradient(120deg,#3B82F6,#8B5CF6);--g-success:linear-gradient(120deg,#F59E0B,#8B5CF6);--g-warning:linear-gradient(120deg,#10B981,#CA3214);
  --g-danger:linear-gradient(120deg,#CA3214,#3B82F6);--g-dark:linear-gradient(120deg,#171717,#171717);--sans:Outfit, sans-serif;--display:Outfit, sans-serif;
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--mono:monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0.025em;--spacing:0.25rem;--shadow-sm:0px 1px 3px 0px rgba(0,0,0,0.17);--shadow-md:0px 2px 9px 0px rgba(0,0,0,0.21);
  --shadow-lg:0px 4px 18px 0px rgba(0,0,0,0.26);color-scheme:light;
}

:root[data-brand-theme="tweakcn-supabase"] .sb-root{
  --panel:#FCFCFC;--surface:#EDEDED;--surface2:#EDEDED;--border:#DFDFDF;
  --border2:#DFDFDF;--text:#6A6A6A;--ink:#6A6A6A;--muted:#6A6A6A;
  --muted2:#6A6A6A;--blue:#418163;--primary:#72E3AD;--primary-control:#72E3AD;
  --primary-fg:#1E2723;--blue-dim:#EDEDED;--blue-glow:rgba(114,227,173,0.25);--g-primary:#72E3AD;
}

:root[data-brand-theme="tweakcn-supabase"][data-theme="dark"]{
  --bg:#121212;--panel:#171717;--surface:#1F1F1F;--surface2:#242424;
  --border:#292929;--border2:#242424;--text:#E2E8F0;--ink:#E2E8F0;
  --muted:#A2A2A2;--muted2:#FAFAFA;--tweakcn-secondary:#242424;--tweakcn-secondary-fg:#FAFAFA;
  --blue:#478E70;--primary:#006239;--primary-control:#006239;--primary-fg:#DDE8E3;
  --blue-dim:#313131;--blue-glow:rgba(0,98,57,0.25);--purple:#60A5FA;--purple-dim:#222C39;
  --teal:#A78BFA;--teal-dim:#2D2839;--green:#FBBF24;--green-dim:#393019;
  --good:#FBBF24;--amber:#2DD4BF;--amber-dim:#1A3330;--red:#9A7975;
  --red-dim:#201817;--bad:#9A7975;--orange:#2DD4BF;--brand:linear-gradient(120deg,#006239,#60A5FA);
  --g-primary:linear-gradient(120deg,#006239,#60A5FA);--g-info:linear-gradient(120deg,#60A5FA,#A78BFA);--g-success:linear-gradient(120deg,#FBBF24,#A78BFA);--g-warning:linear-gradient(120deg,#2DD4BF,#541C15);
  --g-danger:linear-gradient(120deg,#541C15,#60A5FA);--g-dark:linear-gradient(120deg,#E2E8F0,#E2E8F0);--sans:Outfit, sans-serif;--display:Outfit, sans-serif;
  --serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--mono:monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0.025em;--spacing:0.25rem;--shadow-sm:0px 1px 3px 0px rgba(0,0,0,0.17);--shadow-md:0px 2px 9px 0px rgba(0,0,0,0.21);
  --shadow-lg:0px 4px 18px 0px rgba(0,0,0,0.26);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-supabase"][data-theme="dark"] .sb-root{
  --panel:#121212;--surface:#313131;--surface2:#313131;--border:#292929;
  --border2:#292929;--text:#989898;--ink:#989898;--muted:#989898;
  --muted2:#989898;--blue:#428B6C;--primary:#006239;--primary-control:#006239;
  --primary-fg:#DDE8E3;--blue-dim:#313131;--blue-glow:rgba(0,98,57,0.25);--g-primary:#006239;
}

:root[data-brand-theme="tweakcn-t3-chat"]{
  --bg:#FAF5FA;--panel:#FAF5FA;--surface:#F6E5F3;--surface2:#F2C9E8;
  --border:#EFBDEB;--border2:#E7C1DC;--text:#501854;--ink:#501854;
  --muted:#834588;--muted2:#77347C;--tweakcn-secondary:#F1C4E6;--tweakcn-secondary-fg:#77347C;
  --blue:#A84370;--primary:#A84370;--primary-control:#A84370;--primary-fg:#FFFFFF;
  --blue-dim:#F1C4E6;--blue-glow:rgba(168,67,112,0.25);--purple:#6C12B9;--purple-dim:#E5D3F0;
  --teal:#274754;--teal-dim:#DADBE1;--green:#826E3A;--green-dim:#F7EEE4;
  --good:#826E3A;--amber:#97663D;--amber-dim:#F9E9E3;--red:#AB4347;
  --red-dim:#EEDADF;--bad:#AB4347;--orange:#97663D;--brand:linear-gradient(120deg,#A84370,#6C12B9);
  --g-primary:linear-gradient(120deg,#A84370,#6C12B9);--g-info:linear-gradient(120deg,#6C12B9,#274754);--g-success:linear-gradient(120deg,#E8C468,#274754);--g-warning:linear-gradient(120deg,#F4A462,#AB4347);
  --g-danger:linear-gradient(120deg,#AB4347,#6C12B9);--g-dark:linear-gradient(120deg,#501854,#501854);--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--display:system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-t3-chat"] .sb-root{
  --panel:#F3E4F6;--surface:#F8F8F7;--surface2:#F8F8F7;--border:#ECEAE9;
  --border2:#ECEAE9;--text:#AC1668;--ink:#AC1668;--muted:#AC1668;
  --muted2:#AC1668;--blue:#454554;--primary:#454554;--primary-control:#454554;
  --primary-fg:#FAF1F7;--blue-dim:#F8F8F7;--blue-glow:rgba(69,69,84,0.25);--g-primary:#454554;
}

:root[data-brand-theme="tweakcn-t3-chat"][data-theme="dark"]{
  --bg:#221D27;--panel:#2C2632;--surface:#28222D;--surface2:#362D3D;
  --border:#3B3237;--border2:#3E343C;--text:#D2C4DE;--ink:#DBC5D2;
  --muted:#C2B6CF;--muted2:#D4C7E1;--tweakcn-secondary:#362D3D;--tweakcn-secondary-fg:#D4C7E1;
  --blue:#CC739D;--primary:#A3004C;--primary-control:#A3004C;--primary-fg:#EFC0D8;
  --blue-dim:#463753;--blue-glow:rgba(163,0,76,0.25);--purple:#AD78D7;--purple-dim:#3B2C49;
  --teal:#E88C30;--teal-dim:#483532;--green:#BA6FE0;--green-dim:#402D4B;
  --good:#BA6FE0;--amber:#E8608E;--amber-dim:#47283B;--red:#9C8C8F;
  --red-dim:#2D232E;--bad:#9C8C8F;--orange:#E8608E;--brand:linear-gradient(120deg,#A3004C,#934DCB);
  --g-primary:linear-gradient(120deg,#A3004C,#934DCB);--g-info:linear-gradient(120deg,#934DCB,#E88C30);--g-success:linear-gradient(120deg,#AF57DB,#E88C30);--g-warning:linear-gradient(120deg,#E23670,#301015);
  --g-danger:linear-gradient(120deg,#301015,#934DCB);--g-dark:linear-gradient(120deg,#DBC5D2,#D2C4DE);--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--display:system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:ui-serif,Georgia,serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-t3-chat"][data-theme="dark"] .sb-root{
  --panel:#181117;--surface:#261922;--surface2:#261922;--border:#000000;
  --border2:#000000;--text:#E0CAD6;--ink:#E0CAD6;--muted:#E0CAD6;
  --muted2:#E0CAD6;--blue:#5378E1;--primary:#1D4ED8;--primary-control:#1D4ED8;
  --primary-fg:#FFFFFF;--blue-dim:#261922;--blue-glow:rgba(29,78,216,0.25);--g-primary:#1D4ED8;
}

:root[data-brand-theme="tweakcn-tangerine"]{
  --bg:#E8EBED;--panel:#FFFFFF;--surface:#F9FAFB;--surface2:#F3F4F6;
  --border:#DCDFE2;--border2:#F4F5F7;--text:#333333;--ink:#333333;
  --muted:#646A77;--muted2:#4B5563;--tweakcn-secondary:#F3F4F6;--tweakcn-secondary-fg:#4B5563;
  --blue:#C55231;--primary:#E05D38;--primary-control:#C55231;--primary-fg:#FFFFFF;
  --blue-dim:#D6E4F0;--blue-glow:rgba(224,93,56,0.25);--purple:#9B6B5E;--purple-dim:#FCF2EE;
  --teal:#5778A1;--teal-dim:#E6EBF2;--green:#466494;--green-dim:#E3E8EF;
  --good:#466494;--amber:#334C82;--amber-dim:#E0E4EC;--red:#D73D3D;
  --red-dim:#FDE3E3;--bad:#D73D3D;--orange:#334C82;--brand:linear-gradient(120deg,#E05D38,#EEA591);
  --g-primary:linear-gradient(120deg,#E05D38,#EEA591);--g-info:linear-gradient(120deg,#EEA591,#5A7CA6);--g-success:linear-gradient(120deg,#466494,#5A7CA6);--g-warning:linear-gradient(120deg,#334C82,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#EEA591);--g-dark:linear-gradient(120deg,#333333,#333333);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.75rem;--ctl-r:0.75rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0px 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0px 4px 18px 0px rgba(0,0,0,0.15);color-scheme:light;
}

:root[data-brand-theme="tweakcn-tangerine"] .sb-root{
  --panel:#DDDFE2;--surface:#D6E4F0;--surface2:#D6E4F0;--border:#E5E7EB;
  --border2:#E5E7EB;--text:#333333;--ink:#333333;--muted:#333333;
  --muted2:#333333;--blue:#A44429;--primary:#E05D38;--primary-control:#C55231;
  --primary-fg:#FFFFFF;--blue-dim:#D6E4F0;--blue-glow:rgba(224,93,56,0.25);--g-primary:#E05D38;
}

:root[data-brand-theme="tweakcn-tangerine"][data-theme="dark"]{
  --bg:#1C2433;--panel:#2A3040;--surface:#2A303E;--surface2:#2A303E;
  --border:#3D4354;--border2:#3D4354;--text:#E5E5E5;--ink:#E5E5E5;
  --muted:#A3A3A3;--muted2:#E5E5E5;--tweakcn-secondary:#2A303E;--tweakcn-secondary-fg:#E5E5E5;
  --blue:#E5795A;--primary:#E05D38;--primary-control:#C55231;--primary-fg:#FFFFFF;
  --blue-dim:#2A3656;--blue-glow:rgba(224,93,56,0.25);--purple:#E6A08F;--purple-dim:#46414C;
  --teal:#809ABA;--teal-dim:#313B4F;--green:#8599B8;--green-dim:#2E384D;
  --good:#8599B8;--amber:#8B99B8;--amber-dim:#2B344A;--red:#F36D6D;
  --red-dim:#483341;--bad:#F36D6D;--orange:#8B99B8;--brand:linear-gradient(120deg,#E05D38,#E6A08F);
  --g-primary:linear-gradient(120deg,#E05D38,#E6A08F);--g-info:linear-gradient(120deg,#E6A08F,#5A7CA6);--g-success:linear-gradient(120deg,#466494,#5A7CA6);--g-warning:linear-gradient(120deg,#334C82,#EF4444);
  --g-danger:linear-gradient(120deg,#EF4444,#E6A08F);--g-dark:linear-gradient(120deg,#E5E5E5,#E5E5E5);--sans:Inter, sans-serif;--display:Inter, sans-serif;
  --serif:Source Serif 4, serif;--mono:JetBrains Mono, monospace;--radius:0.75rem;--ctl-r:0.75rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 1px 3px 0px rgba(0,0,0,0.10);--shadow-md:0px 2px 9px 0px rgba(0,0,0,0.12);
  --shadow-lg:0px 4px 18px 0px rgba(0,0,0,0.15);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-tangerine"][data-theme="dark"] .sb-root{
  --panel:#2A303F;--surface:#2A3656;--surface2:#2A3656;--border:#3D4354;
  --border2:#3D4354;--text:#E5E5E5;--ink:#E5E5E5;--muted:#E5E5E5;
  --muted2:#E5E5E5;--blue:#E5795A;--primary:#E05D38;--primary-control:#C55231;
  --primary-fg:#FFFFFF;--blue-dim:#2A3656;--blue-glow:rgba(224,93,56,0.25);--g-primary:#E05D38;
}

:root[data-brand-theme="tweakcn-twitter"]{
  --bg:#FFFFFF;--panel:#F7F8F8;--surface:#E5E5E6;--surface2:#E5E5E6;
  --border:#E1EAEF;--border2:#F7F9FA;--text:#0F1419;--ink:#0F1419;
  --muted:#0F1419;--muted2:#666666;--tweakcn-secondary:#0F1419;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#1777B7;--primary:#1E9DF1;--primary-control:#187CBE;--primary-fg:#FFFFFF;
  --blue-dim:#E3ECF6;--blue-glow:rgba(30,157,241,0.25);--purple:#008357;--purple-dim:#D2EEE5;
  --teal:#8F6B17;--teal-dim:#F7EFD9;--green:#108243;--green-dim:#D5EFE2;
  --good:#108243;--amber:#D9235B;--amber-dim:#F4D8E1;--red:#DE1E2A;
  --red-dim:#F7D8DA;--bad:#DE1E2A;--orange:#D9235B;--brand:linear-gradient(120deg,#1E9DF1,#00B87A);
  --g-primary:linear-gradient(120deg,#1E9DF1,#00B87A);--g-info:linear-gradient(120deg,#00B87A,#F7B928);--g-success:linear-gradient(120deg,#17BF63,#F7B928);--g-warning:linear-gradient(120deg,#E0245E,#F4212E);
  --g-danger:linear-gradient(120deg,#F4212E,#00B87A);--g-dark:linear-gradient(120deg,#0F1419,#0F1419);--sans:Open Sans, sans-serif;--display:Open Sans, sans-serif;
  --serif:Georgia, serif;--mono:Menlo, monospace;--radius:1.3rem;--ctl-r:1.3rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 0px 0px rgba(29,161,242,0.00);--shadow-md:0px 4px 0px 0px rgba(29,161,242,0.00);
  --shadow-lg:0px 8px 0px 0px rgba(29,161,242,0.00);color-scheme:light;
}

:root[data-brand-theme="tweakcn-twitter"] .sb-root{
  --panel:#F7F8F8;--surface:#E3ECF6;--surface2:#E3ECF6;--border:#E1E8ED;
  --border2:#E1E8ED;--text:#0F1419;--ink:#0F1419;--muted:#0F1419;
  --muted2:#0F1419;--blue:#1777B7;--primary:#1E9DF1;--primary-control:#187CBE;
  --primary-fg:#FFFFFF;--blue-dim:#E3ECF6;--blue-glow:rgba(30,157,241,0.25);--g-primary:#1E9DF1;
}

:root[data-brand-theme="tweakcn-twitter"][data-theme="dark"]{
  --bg:#000000;--panel:#17181C;--surface:#181818;--surface2:#181818;
  --border:#242628;--border2:#22303C;--text:#E7E9EA;--ink:#D9D9D9;
  --muted:#7D8185;--muted2:#808285;--tweakcn-secondary:#F0F3F4;--tweakcn-secondary-fg:#0F1419;
  --blue:#1C9CF0;--primary:#1C9CF0;--primary-control:#167BBE;--primary-fg:#FFFFFF;
  --blue-dim:#061622;--blue-glow:rgba(28,156,240,0.25);--purple:#00B87A;--purple-dim:#14302A;
  --teal:#F7B928;--teal-dim:#39301E;--green:#17BF63;--green-dim:#173127;
  --good:#17BF63;--amber:#E44375;--amber-dim:#351A26;--red:#F52E3B;
  --red-dim:#38191F;--bad:#F52E3B;--orange:#E44375;--brand:linear-gradient(120deg,#1C9CF0,#00B87A);
  --g-primary:linear-gradient(120deg,#1C9CF0,#00B87A);--g-info:linear-gradient(120deg,#00B87A,#F7B928);--g-success:linear-gradient(120deg,#17BF63,#F7B928);--g-warning:linear-gradient(120deg,#E0245E,#F4212E);
  --g-danger:linear-gradient(120deg,#F4212E,#00B87A);--g-dark:linear-gradient(120deg,#D9D9D9,#E7E9EA);--sans:Open Sans, sans-serif;--display:Open Sans, sans-serif;
  --serif:Georgia, serif;--mono:Menlo, monospace;--radius:1.3rem;--ctl-r:1.3rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 2px 0px 0px rgba(29,161,242,0.00);--shadow-md:0px 4px 0px 0px rgba(29,161,242,0.00);
  --shadow-lg:0px 8px 0px 0px rgba(29,161,242,0.00);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-twitter"][data-theme="dark"] .sb-root{
  --panel:#17181C;--surface:#061622;--surface2:#061622;--border:#38444D;
  --border2:#38444D;--text:#D9D9D9;--ink:#D9D9D9;--muted:#D9D9D9;
  --muted2:#D9D9D9;--blue:#1DA1F2;--primary:#1DA1F2;--primary-control:#167CBA;
  --primary-fg:#FFFFFF;--blue-dim:#061622;--blue-glow:rgba(29,161,242,0.25);--g-primary:#1DA1F2;
}

:root[data-brand-theme="tweakcn-vercel"]{
  --bg:#FCFCFC;--panel:#FFFFFF;--surface:#F5F5F5;--surface2:#EBEBEB;
  --border:#E4E4E4;--border2:#EBEBEB;--text:#000000;--ink:#000000;
  --muted:#525252;--muted2:#000000;--tweakcn-secondary:#EBEBEB;--tweakcn-secondary-fg:#000000;
  --blue:#000000;--primary:#000000;--primary-control:#000000;--primary-fg:#FFFFFF;
  --blue-dim:#EBEBEB;--blue-glow:rgba(0,0,0,0.25);--purple:#2D62EF;--purple-dim:#E0E7FD;
  --teal:#767676;--teal-dim:#F1F1F1;--green:#747474;--green-dim:#FBFBFB;
  --good:#747474;--amber:#747474;--amber-dim:#EAEAEA;--red:#D04448;
  --red-dim:#FBE4E5;--bad:#D04448;--orange:#747474;--brand:linear-gradient(120deg,#000000,#2D62EF);
  --g-primary:linear-gradient(120deg,#000000,#2D62EF);--g-info:linear-gradient(120deg,#2D62EF,#A4A4A4);--g-success:linear-gradient(120deg,#E4E4E4,#A4A4A4);--g-warning:linear-gradient(120deg,#747474,#E54B4F);
  --g-danger:linear-gradient(120deg,#E54B4F,#2D62EF);--g-dark:linear-gradient(120deg,#000000,#000000);--sans:Geist, sans-serif;--display:Geist, sans-serif;
  --serif:Georgia, serif;--mono:Geist Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 1px 2px 0px rgba(0,0,0,0.18);--shadow-md:0px 2px 6px 0px rgba(0,0,0,0.22);
  --shadow-lg:0px 4px 12px 0px rgba(0,0,0,0.27);color-scheme:light;
}

:root[data-brand-theme="tweakcn-vercel"] .sb-root{
  --panel:#FCFCFC;--surface:#EBEBEB;--surface2:#EBEBEB;--border:#EBEBEB;
  --border2:#EBEBEB;--text:#000000;--ink:#000000;--muted:#000000;
  --muted2:#000000;--blue:#000000;--primary:#000000;--primary-control:#000000;
  --primary-fg:#FFFFFF;--blue-dim:#EBEBEB;--blue-glow:rgba(0,0,0,0.25);--g-primary:#000000;
}

:root[data-brand-theme="tweakcn-vercel"][data-theme="dark"]{
  --bg:#000000;--panel:#090909;--surface:#1D1D1D;--surface2:#222222;
  --border:#242424;--border2:#333333;--text:#FFFFFF;--ink:#FFFFFF;
  --muted:#A4A4A4;--muted2:#FFFFFF;--tweakcn-secondary:#222222;--tweakcn-secondary-fg:#FFFFFF;
  --blue:#FFFFFF;--primary:#FFFFFF;--primary-control:#FFFFFF;--primary-fg:#000000;
  --blue-dim:#333333;--blue-glow:rgba(255,255,255,0.25);--purple:#2671F4;--purple-dim:#0D192C;
  --teal:#787878;--teal-dim:#191919;--green:#787878;--green-dim:#141414;
  --good:#787878;--amber:#E4E4E4;--amber-dim:#2A2A2A;--red:#FF5B5B;
  --red-dim:#2E1515;--bad:#FF5B5B;--orange:#E4E4E4;--brand:linear-gradient(120deg,#FFFFFF,#2671F4);
  --g-primary:linear-gradient(120deg,#FFFFFF,#2671F4);--g-info:linear-gradient(120deg,#2671F4,#747474);--g-success:linear-gradient(120deg,#525252,#747474);--g-warning:linear-gradient(120deg,#E4E4E4,#FF5B5B);
  --g-danger:linear-gradient(120deg,#FF5B5B,#2671F4);--g-dark:linear-gradient(120deg,#FFFFFF,#FFFFFF);--sans:Geist, sans-serif;--display:Geist, sans-serif;
  --serif:Georgia, serif;--mono:Geist Mono, monospace;--radius:0.5rem;--ctl-r:0.5rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:0px 1px 2px 0px rgba(0,0,0,0.18);--shadow-md:0px 2px 6px 0px rgba(0,0,0,0.22);
  --shadow-lg:0px 4px 12px 0px rgba(0,0,0,0.27);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-vercel"][data-theme="dark"] .sb-root{
  --panel:#121212;--surface:#333333;--surface2:#333333;--border:#333333;
  --border2:#333333;--text:#FFFFFF;--ink:#FFFFFF;--muted:#FFFFFF;
  --muted2:#FFFFFF;--blue:#FFFFFF;--primary:#FFFFFF;--primary-control:#FFFFFF;
  --primary-fg:#000000;--blue-dim:#333333;--blue-glow:rgba(255,255,255,0.25);--g-primary:#FFFFFF;
}

:root[data-brand-theme="tweakcn-vintage-paper"]{
  --bg:#F5F1E6;--panel:#FFFCF5;--surface:#ECE5D8;--surface2:#EBE4D6;
  --border:#DBD0BA;--border2:#DBD0BA;--text:#4A3F35;--ink:#4A3F35;
  --muted:#746450;--muted2:#5C4D3F;--tweakcn-secondary:#E2D8C3;--tweakcn-secondary-fg:#5C4D3F;
  --blue:#926D48;--primary:#A67C52;--primary-control:#946E49;--primary-fg:#FFFFFF;
  --blue-dim:#D4C8AA;--blue-glow:rgba(166,124,82,0.25);--purple:#8D6E4C;--purple-dim:#EEE7DC;
  --teal:#735A3A;--teal-dim:#EAE4D9;--green:#8A6F55;--green-dim:#F4ECE1;
  --good:#8A6F55;--amber:#86705A;--amber-dim:#F6EEE3;--red:#B54A35;
  --red-dim:#F4E1D8;--bad:#B54A35;--orange:#86705A;--brand:linear-gradient(120deg,#A67C52,#8D6E4C);
  --g-primary:linear-gradient(120deg,#A67C52,#8D6E4C);--g-info:linear-gradient(120deg,#8D6E4C,#735A3A);--g-success:linear-gradient(120deg,#B3906F,#735A3A);--g-warning:linear-gradient(120deg,#C0A080,#B54A35);
  --g-danger:linear-gradient(120deg,#B54A35,#8D6E4C);--g-dark:linear-gradient(120deg,#4A3F35,#4A3F35);--sans:Libre Baskerville, serif;--display:Libre Baskerville, serif;
  --serif:Lora, serif;--mono:IBM Plex Mono, monospace;--radius:0.25rem;--ctl-r:0.25rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 3px 5px 0px rgba(58,51,44,0.12);--shadow-md:2px 6px 15px 0px rgba(58,51,44,0.15);
  --shadow-lg:2px 12px 30px 0px rgba(58,51,44,0.18);color-scheme:light;
}

:root[data-brand-theme="tweakcn-vintage-paper"] .sb-root{
  --panel:#ECE5D8;--surface:#D4C8AA;--surface2:#D4C8AA;--border:#DBD0BA;
  --border2:#DBD0BA;--text:#4A3F35;--ink:#4A3F35;--muted:#4A3F35;
  --muted2:#4A3F35;--blue:#816140;--primary:#A67C52;--primary-control:#946E49;
  --primary-fg:#FFFFFF;--blue-dim:#D4C8AA;--blue-glow:rgba(166,124,82,0.25);--g-primary:#A67C52;
}

:root[data-brand-theme="tweakcn-vintage-paper"][data-theme="dark"]{
  --bg:#2D2621;--panel:#3A322C;--surface:#312B26;--surface2:#4A4039;
  --border:#4A4039;--border2:#4A4039;--text:#ECE5D8;--ink:#ECE5D8;
  --muted:#C5BCAC;--muted2:#ECE5D8;--tweakcn-secondary:#4A4039;--tweakcn-secondary-fg:#ECE5D8;
  --blue:#C0A080;--primary:#C0A080;--primary-control:#C0A080;--primary-fg:#2D2621;
  --blue-dim:#59493E;--blue-glow:rgba(192,160,128,0.25);--purple:#B79676;--purple-dim:#4C4036;
  --teal:#B79573;--teal-dim:#4A3D32;--green:#AE9880;--green-dim:#463B31;
  --good:#AE9880;--amber:#A89985;--amber-dim:#43382E;--red:#D08B7E;
  --red-dim:#4C362D;--bad:#D08B7E;--orange:#A89985;--brand:linear-gradient(120deg,#C0A080,#B3906F);
  --g-primary:linear-gradient(120deg,#C0A080,#B3906F);--g-info:linear-gradient(120deg,#B3906F,#A67C52);--g-success:linear-gradient(120deg,#8D6E4C,#A67C52);--g-warning:linear-gradient(120deg,#735A3A,#B54A35);
  --g-danger:linear-gradient(120deg,#B54A35,#B3906F);--g-dark:linear-gradient(120deg,#ECE5D8,#ECE5D8);--sans:Libre Baskerville, serif;--display:Libre Baskerville, serif;
  --serif:Lora, serif;--mono:IBM Plex Mono, monospace;--radius:0.25rem;--ctl-r:0.25rem;
  --letter-spacing:0em;--spacing:0.25rem;--shadow-sm:2px 3px 5px 0px rgba(58,51,44,0.12);--shadow-md:2px 6px 15px 0px rgba(58,51,44,0.15);
  --shadow-lg:2px 12px 30px 0px rgba(58,51,44,0.18);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-vintage-paper"][data-theme="dark"] .sb-root{
  --panel:#2D2621;--surface:#59493E;--surface2:#59493E;--border:#4A4039;
  --border2:#4A4039;--text:#ECE5D8;--ink:#ECE5D8;--muted:#ECE5D8;
  --muted2:#ECE5D8;--blue:#C0A080;--primary:#C0A080;--primary-control:#C0A080;
  --primary-fg:#2D2621;--blue-dim:#59493E;--blue-glow:rgba(192,160,128,0.25);--g-primary:#C0A080;
}

:root[data-brand-theme="tweakcn-violet-bloom"]{
  --bg:#FDFDFD;--panel:#FDFDFD;--surface:#F5F5F5;--surface2:#EDF0F4;
  --border:#E7E7EE;--border2:#EBEBEB;--text:#000000;--ink:#000000;
  --muted:#525252;--muted2:#080808;--tweakcn-secondary:#EDF0F4;--tweakcn-secondary-fg:#080808;
  --blue:#7033FF;--primary:#7033FF;--primary-control:#7033FF;--primary-fg:#FFFFFF;
  --blue-dim:#E2EBFF;--blue-glow:rgba(112,51,255,0.25);--purple:#7033FF;--purple-dim:#E8DFFD;
  --teal:#B45C1F;--teal-dim:#FDEBDD;--green:#3072DD;--green-dim:#DFE9F9;
  --good:#3072DD;--amber:#747474;--amber-dim:#E8E8E8;--red:#CE4447;
  --red-dim:#F9E2E3;--bad:#CE4447;--orange:#747474;--brand:linear-gradient(120deg,#7033FF,#7033FF);
  --g-primary:linear-gradient(120deg,#7033FF,#7033FF);--g-info:linear-gradient(120deg,#7033FF,#FD822B);--g-success:linear-gradient(120deg,#3276E4,#FD822B);--g-warning:linear-gradient(120deg,#747474,#E54B4F);
  --g-danger:linear-gradient(120deg,#E54B4F,#7033FF);--g-dark:linear-gradient(120deg,#000000,#000000);--sans:Plus Jakarta Sans, sans-serif;--display:Plus Jakarta Sans, sans-serif;
  --serif:Lora, serif;--mono:IBM Plex Mono, monospace;--radius:1.4rem;--ctl-r:1.4rem;
  --letter-spacing:-0.025em;--spacing:0.27rem;--shadow-sm:0px 2px 3px 0px rgba(0,0,0,0.16);--shadow-md:0px 4px 9px 0px rgba(0,0,0,0.20);
  --shadow-lg:0px 8px 18px 0px rgba(0,0,0,0.24);color-scheme:light;
}

:root[data-brand-theme="tweakcn-violet-bloom"] .sb-root{
  --panel:#F5F8FB;--surface:#EBEBEB;--surface2:#EBEBEB;--border:#EBEBEB;
  --border2:#EBEBEB;--text:#000000;--ink:#000000;--muted:#000000;
  --muted2:#000000;--blue:#000000;--primary:#000000;--primary-control:#000000;
  --primary-fg:#FFFFFF;--blue-dim:#EBEBEB;--blue-glow:rgba(0,0,0,0.25);--g-primary:#000000;
}

:root[data-brand-theme="tweakcn-violet-bloom"][data-theme="dark"]{
  --bg:#1A1B1E;--panel:#222327;--surface:#2A2C33;--surface2:#2A2C33;
  --border:#33353A;--border2:#33353A;--text:#F0F0F0;--ink:#F0F0F0;
  --muted:#A0A0A0;--muted2:#F0F0F0;--tweakcn-secondary:#2A2C33;--tweakcn-secondary-fg:#F0F0F0;
  --blue:#996EFF;--primary:#8C5CFF;--primary-control:#8557F2;--primary-fg:#FFFFFF;
  --blue-dim:#1E293B;--blue-glow:rgba(140,92,255,0.25);--purple:#996EFF;--purple-dim:#322C47;
  --teal:#FCA5A5;--teal-dim:#43363A;--green:#5993F4;--green-dim:#2A3446;
  --good:#5993F4;--amber:#A0A0A0;--amber-dim:#353639;--red:#F87171;
  --red-dim:#422F32;--bad:#F87171;--orange:#A0A0A0;--brand:linear-gradient(120deg,#8C5CFF,#8C5CFF);
  --g-primary:linear-gradient(120deg,#8C5CFF,#8C5CFF);--g-info:linear-gradient(120deg,#8C5CFF,#FCA5A5);--g-success:linear-gradient(120deg,#5993F4,#FCA5A5);--g-warning:linear-gradient(120deg,#A0A0A0,#F87171);
  --g-danger:linear-gradient(120deg,#F87171,#8C5CFF);--g-dark:linear-gradient(120deg,#F0F0F0,#F0F0F0);--sans:Plus Jakarta Sans, sans-serif;--display:Plus Jakarta Sans, sans-serif;
  --serif:Lora, serif;--mono:IBM Plex Mono, monospace;--radius:1.4rem;--ctl-r:1.4rem;
  --letter-spacing:-0.025em;--spacing:0.27rem;--shadow-sm:0px 2px 3px 0px rgba(0,0,0,0.16);--shadow-md:0px 4px 9px 0px rgba(0,0,0,0.20);
  --shadow-lg:0px 8px 18px 0px rgba(0,0,0,0.24);color-scheme:dark;
}

:root[data-brand-theme="tweakcn-violet-bloom"][data-theme="dark"] .sb-root{
  --panel:#161618;--surface:#2A2C33;--surface2:#2A2C33;--border:#33353A;
  --border2:#33353A;--text:#F0F0F0;--ink:#F0F0F0;--muted:#F0F0F0;
  --muted2:#F0F0F0;--blue:#8E5FFF;--primary:#8C5CFF;--primary-control:#8557F2;
  --primary-fg:#FFFFFF;--blue-dim:#2A2C33;--blue-glow:rgba(140,92,255,0.25);--g-primary:#8C5CFF;
}

/* END GENERATED TWEAKCN THEMES */

/* Filled controls use one solid theme color. Gradients remain available for
   decorative marks and data visualizations, but buttons must keep a stable,
   readable affordance across every brand theme. Keep this after the generated
   theme variables so legacy page-level gradient declarations cannot win. */
body :is(.btn-primary,button.primary,.btn.primary),
body :is(.vsb-button-primary,.idd-button-primary,.idd-launch-button,.voc-download),
body .alpaca-confirm button.ac-yes{
  background:var(--primary-control,var(--primary))!important;
  background-image:none!important;
}
body :is(.btn-success,button.success,.btn.success){
  background:var(--green)!important;
  background-image:none!important;
}
body :is(.btn-purple,button.purple,.btn.purple){
  background:var(--purple)!important;
  background-image:none!important;
}

/* Doors to the tools merged INTO this page. A merged tool has no tile and no search entry, so this
   bar is its only way in — quiet enough not to compete with the page, present enough to be found. */
.alpaca-merged-here{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding:7px 18px;border-bottom:1px solid var(--border,#e2e8f0);
  background:var(--surface2,#f8fafc);font-size:12px}
.alpaca-merged-here .amh-lead{color:var(--muted,#64748b);font-weight:600;letter-spacing:.02em}
.alpaca-merged-here .amh-link{color:var(--text,#0f172a);text-decoration:none;
  padding:2px 9px;border:1px solid var(--border,#e2e8f0);border-radius:999px;
  background:var(--surface,#fff);white-space:nowrap}
.alpaca-merged-here .amh-link:hover,.alpaca-merged-here .amh-link:focus{
  border-color:var(--blue,#3b82f6);color:var(--blue,#3b82f6);outline:none}

/* Canonical Alpaca product mark. Tool glyphs remain distinct in cards/navigation; a surface that
   identifies Alpaca itself uses the established alpaca emoji and the active root theme token. */
.alpaca-brand-mark,.sb-mark{
  display:inline-grid!important;place-items:center!important;flex:0 0 auto;
  border-radius:28%!important;background-color:var(--alpaca-mark-bg,#c96442)!important;
  background-image:url('/static/alpaca-glyph.png?v=1')!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;
  box-shadow:0 4px 11px var(--alpaca-mark-glow,rgba(201,100,66,.25))!important;
  color:transparent!important
}
.alpaca-brand-mark>*,.sb-mark>*{display:none!important}
.sb-mark:hover{box-shadow:0 5px 14px var(--alpaca-mark-glow,rgba(201,100,66,.25))!important}
@media (prefers-reduced-motion:reduce){.sb-mark{transition:none!important}}

/* build 48ceafb6 */

/* ── Alpaca Glass: personal, default-off shared chrome ───────────────────────
   The material never changes --panel: that token also paints tenant data, editors,
   tables, forms and results. Only the explicit shared-shell allow-list below may
   become translucent. Solid declarations are the baseline and therefore also the
   natural fallback in browsers without backdrop-filter. */
:root{
  --alpaca-glass-bg:color-mix(in srgb,var(--panel,#fff) 82%,transparent);
  --alpaca-glass-overlay-bg:color-mix(in srgb,var(--panel,#fff) 88%,transparent);
  --alpaca-glass-edge:color-mix(in srgb,var(--border2,#cbd5e1) 64%,#fff 36%);
  --alpaca-glass-highlight:color-mix(in srgb,#fff 48%,transparent);
  --alpaca-glass-shadow:0 18px 44px -20px rgba(15,23,42,.34);
}
:root[data-theme="dark"]{
  --alpaca-glass-bg:color-mix(in srgb,var(--panel,#1e293b) 86%,transparent);
  --alpaca-glass-overlay-bg:color-mix(in srgb,var(--panel,#1e293b) 90%,transparent);
  --alpaca-glass-edge:color-mix(in srgb,var(--border2,#475569) 78%,#fff 22%);
  --alpaca-glass-highlight:color-mix(in srgb,#fff 18%,transparent);
  --alpaca-glass-shadow:0 22px 54px -22px rgba(0,0,0,.68);
}

/* These surfaces pre-date the preference and were always translucent. Reset them
   to a readable solid baseline; the two navigation overlays re-enter below only
   after an explicit opt-in. Confirmation dialogs stay solid in every mode. */
.alpaca-activity-panel,.fam-menu-panel,.alpaca-confirm{
  background:var(--panel,#fff);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  border-color:var(--border2,var(--border,#cbd5e1));
}

@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root[data-alpaca-material="glass"] .sb-root,
  :root[data-alpaca-material="glass"] .topbar,
  :root[data-alpaca-material="glass"] body.sb-injected>header,
  :root[data-alpaca-material="glass"] button.sb-open{
    background:var(--alpaca-glass-bg)!important;
    background-image:linear-gradient(145deg,var(--alpaca-glass-highlight),transparent 42%)!important;
    -webkit-backdrop-filter:saturate(135%) blur(20px)!important;
    backdrop-filter:saturate(135%) blur(20px)!important;
    border-color:var(--alpaca-glass-edge)!important;
    box-shadow:var(--alpaca-glass-shadow)!important;
  }
  /* The sidebar owns theme-local surface tokens. Some dark themes intentionally make those
     tokens nearly black, which turned Search plus the selected/hovered rows into opaque slabs
     inside an otherwise translucent rail. Fade only their paint: text, icons, badges and focus
     affordances remain fully opaque. */
  :root[data-alpaca-material="glass"] .sb-root .sb-search{
    background:color-mix(in srgb,var(--surface,#f8fafc) 62%,transparent)!important;
    border-color:color-mix(in srgb,var(--ink,#1e293b) 60%,transparent)!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search:focus-within{
    border-color:var(--blue,#0ea5e9)!important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--blue,#0ea5e9) 28%,transparent)!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-item:hover:not(.active){
    background:color-mix(in srgb,var(--surface,#f8fafc) 52%,transparent)!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active{
    background:color-mix(in srgb,var(--surface,#f8fafc) 66%,transparent)!important;
    box-shadow:var(--shadow-sm)!important;
  }
  :root[data-alpaca-material="glass"] .alpaca-activity-panel,
  :root[data-alpaca-material="glass"] .fam-menu-panel{
    background:var(--alpaca-glass-overlay-bg)!important;
    background-image:linear-gradient(145deg,var(--alpaca-glass-highlight),transparent 38%)!important;
    -webkit-backdrop-filter:saturate(140%) blur(24px)!important;
    backdrop-filter:saturate(140%) blur(24px)!important;
    border-color:var(--alpaca-glass-edge)!important;
    box-shadow:var(--alpaca-glass-shadow)!important;
  }
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root[data-alpaca-material="glass"] .sb-root,
  :root[data-alpaca-material="glass"] .topbar,
  :root[data-alpaca-material="glass"] body.sb-injected>header,
  :root[data-alpaca-material="glass"] button.sb-open,
  :root[data-alpaca-material="glass"] .alpaca-activity-panel,
  :root[data-alpaca-material="glass"] .fam-menu-panel{
    background:var(--panel,#fff)!important;background-image:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search,
  :root[data-alpaca-material="glass"] .sb-root .sb-item:hover,
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active{
    background:var(--surface,#f8fafc)!important;background-image:none!important;
  }
}

@media (prefers-reduced-transparency:reduce), (prefers-contrast:more){
  :root[data-alpaca-material="glass"] .sb-root,
  :root[data-alpaca-material="glass"] .topbar,
  :root[data-alpaca-material="glass"] body.sb-injected>header,
  :root[data-alpaca-material="glass"] button.sb-open,
  :root[data-alpaca-material="glass"] .alpaca-activity-panel,
  :root[data-alpaca-material="glass"] .fam-menu-panel{
    background:var(--panel,#fff)!important;background-image:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    border-color:var(--border2,var(--border,#cbd5e1))!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search,
  :root[data-alpaca-material="glass"] .sb-root .sb-item:hover,
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active{
    background:var(--surface,#f8fafc)!important;background-image:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search{
    border-color:var(--border,#e2e8f0)!important;box-shadow:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search:focus-within{
    border-color:var(--blue,#0ea5e9)!important;
    box-shadow:0 0 0 2px var(--blue,#0ea5e9)!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active{
    box-shadow:var(--shadow-sm)!important;
  }
}

@media (forced-colors:active){
  :root[data-alpaca-material="glass"] .sb-root,
  :root[data-alpaca-material="glass"] .topbar,
  :root[data-alpaca-material="glass"] body.sb-injected>header,
  :root[data-alpaca-material="glass"] button.sb-open,
  :root[data-alpaca-material="glass"] .alpaca-activity-panel,
  :root[data-alpaca-material="glass"] .fam-menu-panel{
    background:Canvas!important;background-image:none!important;color:CanvasText!important;
    border-color:CanvasText!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search,
  :root[data-alpaca-material="glass"] .sb-root .sb-item:hover{
    background:Canvas!important;background-image:none!important;color:CanvasText!important;
    border-color:CanvasText!important;box-shadow:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active{
    background:Highlight!important;background-image:none!important;color:HighlightText!important;
    border-color:Highlight!important;box-shadow:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active :is(.sb-lbl,.sb-ic){
    color:HighlightText!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search:focus-within{
    border-color:Highlight!important;box-shadow:none!important;
    outline:2px solid Highlight!important;outline-offset:2px;
  }
}

@media print{
  :root[data-alpaca-material="glass"] :is(.sb-root,.topbar,body.sb-injected>header,.alpaca-activity-panel,.fam-menu-panel){
    background:var(--panel,#fff)!important;background-image:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;
  }
  :root[data-alpaca-material="glass"] .sb-root .sb-search,
  :root[data-alpaca-material="glass"] .sb-root .sb-item:hover,
  :root[data-alpaca-material="glass"] .sb-root .sb-item.active{
    background:var(--surface,#f8fafc)!important;background-image:none!important;
  }
}
/* ── /Alpaca Glass ───────────────────────────────────────────────────────── */

/* ── Atlas estate continuity ground ────────────────────────────────────────
   atlasaiconsultingllc.com is drawn as one fixed survey sheet: a 64px/320px
   graticule, quiet contour lines, and a few trig stations. Alpaca uses the same
   authored mask and motion rhythm, but colours it from the active product theme
   and carries no labels or metrics that could be mistaken for tenant evidence.

   The preference is separate from Glass and defaults on. Only the page ground
   becomes transparent; cards, forms, editors, tables, warnings, and results keep
   their existing solid surfaces and contrast. Standalone/auth/print surfaces are
   deliberately outside this selector. */
:root{
  --alpaca-atlas-ground:var(--bg,#f3f4f1);
  --alpaca-atlas-ground-ink:color-mix(in srgb,var(--ink,#16191a) 94%,#16191a 6%);
  --alpaca-atlas-ground-opacity:.22;
  --alpaca-atlas-ground-shift:0px;
}
:root[data-theme="dark"]{
  --alpaca-atlas-ground:var(--bg,#0f172a);
  --alpaca-atlas-ground-ink:color-mix(in srgb,var(--text,#e2e8f0) 92%,#fff 8%);
  --alpaca-atlas-ground-opacity:.16;
}

html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"]){
  position:relative;isolation:isolate;background-color:var(--alpaca-atlas-ground)
}
html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])::before{
  content:"";position:fixed;inset:-80px;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(color-mix(in srgb,var(--alpaca-atlas-ground-ink) 20%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--alpaca-atlas-ground-ink) 20%,transparent) 1px,transparent 1px),
    linear-gradient(color-mix(in srgb,var(--alpaca-atlas-ground-ink) 42%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--alpaca-atlas-ground-ink) 42%,transparent) 1px,transparent 1px);
  background-size:64px 64px,64px 64px,320px 320px,320px 320px;
  opacity:var(--alpaca-atlas-ground-opacity);transform:translate3d(-48px,var(--alpaca-atlas-ground-shift),0);
  will-change:transform
}
@supports ((mask-image:url("")) or (-webkit-mask-image:url(""))){
  html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])::before{
    background:var(--alpaca-atlas-ground-ink);
    -webkit-mask-image:url('/static/atlas-estate-ground.svg?v=1');
    mask-image:url('/static/atlas-estate-ground.svg?v=1');
    -webkit-mask-position:center top;mask-position:center top;
    /* Tile horizontally too so the left offset never exposes an unpainted edge. */
    -webkit-mask-repeat:repeat;mask-repeat:repeat;
    -webkit-mask-size:max(100vw,1280px) auto;mask-size:max(100vw,1280px) auto;
    -webkit-mask-mode:alpha;mask-mode:alpha
  }
}
html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])
  body:not([data-no-shell]){
  position:relative;z-index:1;background-color:transparent!important;background-image:none!important
}
/* The old System Settings glow and endlessly travelling lines describe a different visual system. */
html[data-alpaca-continuity="on"] .cp-ambient{display:none!important}

/* Explicit, one-shot chapter reveals borrow the website's 14px/620ms recipe but are tightened for
   an operational product. Nothing is selected automatically: forms, tables, editors, dialogs, and
   drag surfaces never become motion targets merely because they share a generic class name. */
html[data-alpaca-continuity="on"] [data-alpaca-reveal].alpaca-reveal-pending{
  opacity:0;transform:translate3d(0,10px,0);will-change:opacity,transform;
  transition:opacity var(--alpaca-duration-slow) var(--alpaca-ease-out),
    transform var(--alpaca-duration-slow) var(--alpaca-ease-out);
  transition-delay:var(--alpaca-reveal-delay,0ms)
}
html[data-alpaca-continuity="on"] [data-alpaca-reveal].alpaca-reveal-pending.alpaca-revealed{
  opacity:1;transform:none;will-change:auto
}

@media (max-width:700px){
  @supports ((mask-image:url("")) or (-webkit-mask-image:url(""))){
    html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])::before{
      -webkit-mask-size:1100px auto;mask-size:1100px auto
    }
  }
}
@media (prefers-reduced-motion:reduce){
  html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])::before{
    transform:none!important;will-change:auto
  }
  html[data-alpaca-continuity="on"] [data-alpaca-reveal].alpaca-reveal-pending{
    transform:none;transition-duration:220ms
  }
}
@media (forced-colors:active){
  html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])::before{display:none}
}
@media print{
  html[data-alpaca-continuity="on"]:is([data-alpaca-shell],[data-alpaca-shell-mode="authored"])::before{display:none!important}
  html[data-alpaca-continuity="on"] body{background:#fff!important}
}

/* ── /Atlas estate continuity ground ─────────────────────────────────────── */

/* ── A tool header must not push the page wider than the phone it is on ───────────────────────
   Measured at a 320px viewport on /calc-fields: `document.documentElement.scrollWidth` was 359,
   and the furthest element was `#alpacaHdrTheme` — one of the controls THIS file injects into
   every tool's own <header>. Those headers are single-row flex containers with `flex-shrink:0`
   logos and a spacer, so five injected controls have nowhere to go and the whole document scrolls
   sideways.

   The fix belongs here, with the controls, rather than in one page's template: the same controls
   are injected into 317 pages and each would need the same patch. It only lets the header WRAP —
   `flex-wrap` and `row-gap` are inert on a header that is not a flex container, and the height
   relaxation is what wrapping needs to be visible — and it is scoped to viewports narrower than
   any desktop layout. Codex's audit, finding 28 — the shared-shell half of it.

   The capture drawer named in that finding is NOT the cause here: it is `position:fixed`, and a
   fixed element does not extend the document's scroll width. Measured at 320, 390 and 1440 — it
   sits outside the viewport at all three and scrollWidth followed the header, not the drawer. */
@media (max-width:430px){
  body:is(.sb-injected,.alpaca-tool,.r10-tool) > header{
    flex-wrap:wrap;
    row-gap:6px;
    height:auto;
    min-height:52px;
    padding-top:6px;
    padding-bottom:6px;
  }
  .alpaca-hdr-pop,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity{
    float:none;
  }
}

/* Fields in headers, dialogs and floating tools must follow the same palette as main content.
   Color-only: retain each component's sizing, validation and focus behavior. */
html:root[data-theme] .ac-root{
  --ac-bg:var(--bg);--ac-surface:var(--panel);--ac-surface-2:var(--surface);--ac-surface-3:var(--surface2);
  --ac-text:var(--text);--ac-muted:var(--muted2);--ac-border:var(--border);--ac-border-strong:var(--border2);
  --ac-accent:var(--primary);--ac-accent-strong:var(--primary);--ac-accent-soft:var(--blue-dim);
  --ac-launcher-bg:var(--panel);--ac-launcher-fg:var(--text);--ac-launcher-hover:var(--surface2);
  --ac-tooltip-bg:var(--panel);--ac-tooltip-fg:var(--text);--ac-danger:var(--red);--ac-warning:var(--amber);
}
html:root body :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="tel"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"],input[type="week"],select,textarea):not(.sb-search-in):not(.ace_text-input):not(.inputarea):not(.grid input){
  background-color:var(--panel)!important;
  background-image:none!important;
  color:var(--text)!important;
  border-color:var(--border2)!important;
  caret-color:var(--text);
  color-scheme:inherit;
}
html:root body :is(input,textarea)::placeholder{color:var(--muted2);opacity:.8}
html:root body select :is(option,optgroup){background:var(--panel);color:var(--text)}
/* One arrow gutter across tool pages, including their legacy !important control
   rules. Keep native listboxes and the operating system's high-contrast arrow. */
@layer alpaca-dropdown-spacing{
  html:root body select:not([multiple]):is(:not([size]),[size="1"]){
    appearance:none!important;-webkit-appearance:none!important;
    padding-right:44px!important;
    background-image:linear-gradient(45deg,transparent 48%,var(--muted) 49%,var(--muted) 65%,transparent 66%),linear-gradient(-45deg,transparent 48%,var(--muted) 49%,var(--muted) 65%,transparent 66%)!important;
    background-position:calc(100% - 25px) 50%,calc(100% - 20px) 50%!important;
    background-size:6px 6px!important;background-repeat:no-repeat!important;
  }
  @media(forced-colors:active){
    html:root body select:not([multiple]):is(:not([size]),[size="1"]){
      appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important;
    }
  }
}
html:root body :is(input,select,textarea):disabled{color:var(--muted2)!important}
html:root body :is(input,select,textarea):focus{border-color:var(--blue)!important}
html:root body :is(input,select,textarea):is([aria-invalid="true"],.is-invalid){border-color:var(--red)!important}
@media(forced-colors:active){
  html:root body :is(input,select,textarea){background-color:Field!important;color:FieldText!important;border-color:ButtonText!important}
}

/* A viewport-centered picker, independent of the host page's form/button resets. */
dialog.sb-tool-picker{--display:var(--sans);position:fixed;inset:0;margin:auto;box-sizing:border-box;width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:20px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px #0003;font:400 14px/1.4 var(--sans);overflow:hidden}
dialog.sb-tool-picker[open]{display:flex;flex-direction:column;gap:12px}
.sb-tool-picker::backdrop{background:#0005;backdrop-filter:blur(3px)}
.sb-tool-picker form{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:0}
.sb-tool-picker form h2{margin:0;min-width:0;overflow-wrap:anywhere;font:650 20px/1.3 var(--sans);letter-spacing:normal;text-transform:none}
.sb-tool-picker button{box-sizing:border-box;margin:0;min-height:0;box-shadow:none;background:transparent;color:var(--text);border:1px solid transparent;border-radius:8px;cursor:pointer;font:400 14px/1.4 var(--sans);text-transform:none;letter-spacing:normal}
.sb-tool-picker form button{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:22px;color:var(--muted)}
.sb-tool-picker form button:hover{background:var(--surface)}
.sb-tool-picker .sb-tool-picker-search{position:relative;flex:none}
.sb-tool-picker-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.sb-tool-picker input[type="search"]{display:block;width:100%;height:44px;min-height:0;box-sizing:border-box;margin:0;padding:10px 12px 10px 40px;border:1px solid var(--border2);border-radius:9px;box-shadow:none;font:400 14px/1.4 var(--sans);letter-spacing:normal}
.sb-tool-picker input[type="search"]:focus{outline:2px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:2px;box-shadow:none}
.sb-tool-picker button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.sb-tool-picker-results{display:grid;grid-auto-rows:max-content;flex:1 1 auto;min-height:0;gap:2px;height:min(400px,50vh);overflow:auto;overscroll-behavior:contain;align-content:start;scrollbar-width:thin;padding:2px}
.sb-tool-picker-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;text-align:left}
.sb-tool-picker-results button:hover:not(:disabled){background:var(--surface)}
.sb-tool-picker-results button>span:first-child{min-width:0;overflow-wrap:anywhere}
.sb-tool-picker-results strong{display:block;font:600 14px/1.4 var(--sans)}
.sb-tool-picker-results small{display:block;color:var(--muted);font:400 12px/1.4 var(--sans);margin-top:2px}
.sb-tool-picker-results button>span:last-child{flex:none;color:var(--muted);font-size:13px;white-space:nowrap}
.sb-tool-picker-results button:not(:disabled)>span:last-child{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:7px;font-size:20px;line-height:1}
.sb-tool-picker button:disabled{opacity:.6;cursor:default}
.sb-tool-picker-status{flex:none;margin:0;font:400 12px/1.4 var(--sans);color:var(--muted)}
.sb-tool-picker-status:empty{display:none}
.sb-root.sb-editing .sb-grp{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:4px;min-height:0;line-height:normal}
.sb-root.sb-editing .sb-grp-name{grid-column:2;grid-row:1;min-width:0;line-height:28px;text-align:left}
.sb-root.sb-editing .sb-grp-grip{position:static;grid-column:1;grid-row:1;transform:none;width:28px;height:28px;min-height:0;border:0;background:transparent;border-radius:5px;font-size:16px}
.sb-root.sb-editing .sb-grp-del{position:static;grid-column:3;grid-row:1;transform:none;height:28px;min-height:0;min-width:0;padding:0 5px;font-size:10px}
.sb-root.sb-editing .sb-section-add{grid-column:2 / -1;grid-row:2;justify-self:start;display:inline-flex;align-items:center;width:auto;height:28px;min-height:0;max-height:28px;margin:0;padding:0 4px;background:transparent;color:var(--muted);border:0;border-radius:5px;box-shadow:none;cursor:pointer;font:600 11px/1 var(--sans);text-transform:none;letter-spacing:normal;white-space:nowrap}
.sb-root.sb-editing .sb-section-add:hover{background:var(--surface);color:var(--text)}
.sb-root.sb-editing .sb-section-add:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sb-add-tool{font-size:22px;flex-shrink:0}
:root[data-brand-theme="alpaca-blue"]{
  --bg:#e9f0f5;--panel:#f9fcfe;--surface:#f2f7fa;--surface2:#e6eff5;
  --text:#21364a;--ink:#21364a;--muted:#587181;--muted2:#456172;
  --border:#cedde6;--border2:#b7cdd9;--blue:#2776b9;--primary:#315b73;--primary-control:#315b73;--primary-fg:#ffffff;
  --teal:#168573;--blue-dim:#eaf3fc;--green-dim:#e9f5f0;--amber-dim:#fff4e3;
  --shadow-md:0 16px 48px -28px #264b7860;--radius:18px;
}
:root[data-brand-theme="alpaca-blue"][data-theme="dark"]{
  --bg:#162735;--panel:#1b2b3b;--surface:#23384b;--surface2:#2a4255;
  --text:#e0edf5;--ink:#e0edf5;--muted:#a2b6c5;--muted2:#bdd0dd;
  --border:#354d60;--border2:#4b6578;--blue:#80bcf0;--primary:#aed2e6;--primary-control:#aed2e6;--primary-fg:#193547;
  --teal:#65cbb5;--blue-dim:#29455f;--green-dim:#233f3e;--amber-dim:#433c32;
}
:root[data-brand-theme="alpaca-blue"] :is(.panel,.card){border-radius:18px}
:root[data-brand-theme="alpaca-blue"] :is(.sb-root,.topbar){background:color-mix(in srgb,var(--panel) 86%,transparent);backdrop-filter:blur(24px)}
/* Studio Glass: personal opt-in layer. Standard appearance is untouched. */
html:root[data-alpaca-style="studio"]{
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --studio-glass:color-mix(in srgb,var(--panel) 82%,transparent);
  --studio-edge:color-mix(in srgb,var(--border) 75%,transparent);
}
html:root[data-alpaca-style="studio"][data-theme="dark"]{
  --studio-glass:color-mix(in srgb,var(--panel) 90%,transparent);
}
html:root[data-alpaca-style="studio"] .sb-root{
  --sb-bg:var(--studio-glass);--sb-text:var(--text);--sb-muted:var(--muted);
  color:var(--text);background:var(--studio-glass)!important;border-color:var(--studio-edge)!important;
}
html:root[data-alpaca-style="studio"] :is(.sb-root,.topbar,body.sb-injected>header,.fam-menu-panel,.alpaca-activity-panel){
  background:var(--studio-glass)!important;border-color:var(--studio-edge)!important;
  box-shadow:var(--shadow-md);
  backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);
}
html:root[data-alpaca-style="studio"] .sb-root :is(.sb-lbl,.sb-ic){color:var(--text)!important}
html:root[data-alpaca-style="studio"] .sb-root .sb-item.active{background:var(--surface2)!important;border-color:var(--border)!important;box-shadow:none!important}
html:root[data-alpaca-style="studio"] .sb-root .sb-item.active::before{display:none!important}
html:root[data-alpaca-style="studio"] :is(.card,.panel){border-radius:18px}
@media(prefers-reduced-transparency:reduce){
  html:root[data-alpaca-style="studio"] :is(.sb-root,.topbar,body.sb-injected>header,.fam-menu-panel,.alpaca-activity-panel){background:var(--panel)!important;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(forced-colors:active){
  html:root[data-alpaca-style="studio"] body{background:Canvas!important}
  html:root[data-alpaca-style="studio"] :is(.sb-root,.topbar,body.sb-injected>header,.fam-menu-panel,.alpaca-activity-panel){background:Canvas!important;color:CanvasText!important;backdrop-filter:none}
}
@media print{html:root[data-alpaca-style="studio"] body{background:white!important;background-attachment:scroll!important}}

/* Borderless content surfaces across tool-specific naming conventions. Keep this
   after theme layers so status accents and hover rules cannot restore tile edges.
   Controls, table separators, and keyboard focus outlines retain their own styles. */
html:root body :is(
  [data-layout-tile], .atl-tile, .card, .tile, .panel, .worklet,
  .stat, .metric, .kpi, .wkr,
  [class$="-card"], [class*="-card "],
  [class$="-tile"], [class*="-tile "],
  [class$="-worklet"], [class*="-worklet "],
  [class$="-stat"], [class*="-stat "],
  [class$="-metric"], [class*="-metric "],
  [class$="-kpi"], [class*="-kpi "],
  section[class$="-panel"], section[class*="-panel "],
  article[class$="-panel"], article[class*="-panel "],
  div[class$="-panel"], div[class*="-panel "],
  aside[class$="-panel"], aside[class*="-panel "]
) {
  border: 0 !important;
  border-inline: 0 !important;
  border-block: 0 !important;
}

/* Data Integrity checks use the standard panel surface, with a neutral edge. */
html:root body #ovCards .di-card {
  background:var(--panel);
  border:1px solid var(--border) !important;
  border-inline:1px solid var(--border) !important;
  border-block:1px solid var(--border) !important;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
html:root body #ovCards .di-card:hover { box-shadow:var(--shadow-md); }
/* Activity status is conveyed by its badge, not a colored row edge. */
html:root body .alpaca-activity-job {
  border:0 !important;
  border-inline:0 !important;
  border-block:0 !important;
}

/* Related-tool strips are hidden across all workspaces. */
html:root body .alpaca-merged-here {display:none !important;}

/* Shared workspace frames: a visible neutral edge in every theme. */
:root{--workspace-frame:color-mix(in srgb,var(--text,#30332e) 30%,var(--panel,#fff));}
:root[data-theme="dark"]{--workspace-frame:color-mix(in srgb,var(--text,#e2e8f0) 38%,var(--panel,#17212f));}
html:root body :is(
  .card,.panel,.alpaca-confirm,dialog,
  section[class$="-panel"],section[class*="-panel "],
  article[class$="-panel"],article[class*="-panel "],
  div[class$="-panel"],div[class*="-panel "],
  aside[class$="-panel"],aside[class*="-panel "]
):not(.panel-fs){
  border:1px solid var(--workspace-frame) !important;
  border-inline:1px solid var(--workspace-frame) !important;
  border-block:1px solid var(--workspace-frame) !important;
  box-shadow:var(--shadow-md);
}

/* Focus uses the control's existing perimeter, never a second offset frame.
   Keep an actual outline so keyboard focus also survives forced-color themes. */
html:root body :is(
  button,select,textarea,summary,[role="button"],[role="tab"],
  input:not(.sb-search-in):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"])
):focus {
  box-shadow:none !important;
}
html:root body :is(
  button,select,textarea,summary,[role="button"],[role="tab"],
  input:not(.sb-search-in):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"])
):focus-visible {
  outline:2px solid var(--primary,var(--blue,#4890f5)) !important;
  outline-offset:-2px !important;
}
/* The sidebar search wrapper owns its border and focus indication. */
html:root body .sb-root .sb-search:focus-within {
  outline:2px solid var(--primary,var(--blue,#4890f5)) !important;
  outline-offset:-2px !important;
  box-shadow:none !important;
}
html:root body .sb-root input.sb-search-in:focus-visible {outline:none !important;}
@media(forced-colors:active){
  html:root body :focus-visible,
  html:root body .sb-root .sb-search:focus-within {outline-color:Highlight !important;}
}

/* ── Glass workspace surfaces ──────────────────────────────────────────────
   A shared, mode-aware material for every tool. Panels use lightly translucent paint;
   data surfaces share the translucent material; only floating chrome uses blur. Never stack a shadow frame
   or colored side stripe over a border. Keep the saved Glass preference and the
   accessibility/print fallbacks intact. */
@media screen and (prefers-reduced-transparency:no-preference) and (prefers-contrast:no-preference) and (forced-colors:none){
 @supports (backdrop-filter:blur(1px)){
  html:root[data-alpaca-material="glass"]{
    --alpaca-glass-bg:color-mix(in srgb,var(--panel) 80%,transparent);
    --alpaca-glass-overlay-bg:color-mix(in srgb,var(--panel) 92%,#a8cce6);
    --alpaca-glass-edge:rgba(75,122,163,.32);
    --alpaca-glass-highlight:rgba(255,255,255,.52);
    --alpaca-glass-shadow:0 4px 8px -4px rgba(48,89,123,.25),0 22px 40px -16px rgba(42,88,129,.3);
    --alpaca-work-surface:color-mix(in srgb,var(--panel) 72%,#b4d4ed);
    --alpaca-panel-surface:color-mix(in srgb,var(--alpaca-work-surface) 70%,transparent);
    --alpaca-work-reflection:linear-gradient(135deg,rgba(255,255,255,.5),transparent 42%,transparent 70%,rgba(102,161,210,.08));
    --alpaca-work-shadow:0 4px 7px -4px rgba(39,79,115,.22),0 20px 34px -24px rgba(36,77,114,.4);
    --alpaca-control-surface:color-mix(in srgb,var(--panel) 76%,transparent);
    --alpaca-control-hover:color-mix(in srgb,var(--panel) 88%,transparent);
    --muted:#536a83;--muted2:#4e6379;
    --alpaca-status-good:#21694f;--alpaca-status-warn:#795000;--alpaca-status-bad:#a03332;
  }
  html:root[data-alpaca-material="glass"][data-theme="dark"]{
    --alpaca-glass-bg:color-mix(in srgb,var(--panel) 84%,transparent);
    --alpaca-glass-overlay-bg:color-mix(in srgb,var(--panel) 92%,#5686ad);
    --alpaca-glass-edge:rgba(153,205,245,.25);
    --alpaca-glass-highlight:rgba(190,225,255,.14);
    --alpaca-glass-shadow:0 4px 8px -4px rgba(0,8,24,.6),0 22px 40px -16px rgba(0,8,24,.7);
    --alpaca-work-surface:color-mix(in srgb,var(--panel) 90%,#5999d1);
    --alpaca-panel-surface:color-mix(in srgb,var(--alpaca-work-surface) 76%,transparent);
    --alpaca-work-reflection:linear-gradient(125deg,rgba(175,219,255,.09),transparent 38%,transparent 74%,rgba(83,154,220,.04));
    --alpaca-work-shadow:0 4px 7px -4px rgba(0,0,0,.45),0 22px 38px -22px rgba(0,9,25,.7);
    --alpaca-control-surface:color-mix(in srgb,var(--panel) 80%,transparent);
    --alpaca-control-hover:color-mix(in srgb,var(--panel) 90%,transparent);
    --muted:#95abc2;--muted2:#a3b9ce;
    --alpaca-status-good:#71d4b0;--alpaca-status-warn:#edc16e;--alpaca-status-bad:#ffa49d;
  }
  /* Match brand + mode specificity so legacy surface aliases stay translucent
     in dark themes too. Previously their brand palette won the cascade. */
  html:root[data-alpaca-material="glass"],
  html:root[data-alpaca-material="glass"][data-brand-theme]{
    --surface:var(--alpaca-panel-surface);
    --alpaca-primary-surface:color-mix(in srgb,var(--primary-control,var(--primary)) 94%,transparent);
    --surface2:var(--alpaca-control-surface);
    --alpaca-chart-1:#4e7fa4;--alpaca-chart-2:#528675;--alpaca-chart-3:#a18a60;
    --alpaca-chart-4:#8884ad;--alpaca-chart-5:#799461;--alpaca-chart-6:#6699a3;
    --alpaca-chart-7:#ad737e;--alpaca-chart-8:#b5886b;
    --alpaca-chart-low:#eef4f8;--alpaca-chart-high:#416f91;
  }
  html:root[data-alpaca-material="glass"][data-theme="dark"]{
    --alpaca-chart-1:#8db3cf;--alpaca-chart-2:#84ad9e;--alpaca-chart-3:#bea980;
    --alpaca-chart-4:#aba5c5;--alpaca-chart-5:#a2b88c;--alpaca-chart-6:#90bac0;
    --alpaca-chart-7:#c1979e;--alpaca-chart-8:#c6a68f;
    --alpaca-chart-low:#293941;--alpaca-chart-high:#8db3cf;
  }
  html:root[data-alpaca-material="glass"] body :is(details:not(.ct-object-detail):not(.ctx),.pw-empty,.pw-engagement-details,.ct-object-type,.ct-status,.pw-message,.pw-context){
    background-color:var(--alpaca-panel-surface)!important;
  }
  html:root[data-alpaca-material="glass"] body :is(table,pre,.table-wrap,.ct-results-table,.pw-scroll){background-color:var(--alpaca-panel-surface)!important}
  html:root[data-alpaca-material="glass"] body :is(.btn.primary,.btn-primary,button.primary,#pwExecuteCatalog,#pwWizardNext,#pwSave){
    background:var(--alpaca-primary-surface)!important;color:var(--primary-fg)!important;
  }
  html:root[data-alpaca-material="glass"] body{
    background-color:var(--bg)!important;
    background-image:radial-gradient(ellipse at 3% 5%,rgba(100,169,234,.22),transparent 42%),radial-gradient(ellipse at 85% 25%,rgba(91,147,207,.12),transparent 48%)!important;
    background-size:100% 1200px!important;background-repeat:no-repeat!important;background-attachment:scroll!important;
  }
  html:root[data-alpaca-material="glass"] body :where(
    .card,.panel,.tile,.worklet,.stat,.metric,.kpi,[data-layout-tile],
    .health-brief-hero,.health-brief-section,.tenant-health-empty,.rmc,
    .assurance-checks,.assurance-status>div,.r10-metrics>div,[class$="-metrics"]>div,.metrics>div,.vsb-metrics>article,
    form[class$="-panel"],form[class*="-panel "],[class$="-grid"]>form,[class$="-compose"]>form,
    .ps-editor,.coverage-outcome,.coverage-attention,.coverage-details,
    .concept-preview,.wa-data,.wa-advanced,.fh-hero,.fh-trust>article,.fh-flow>li,
    .vsb-detail,.vsb-grid>article,.survey-shell>.blueprint,body>main>.hero,body>.wrap>.hero,
    .dv-stage,.connform,.modal,.dp-modal,.bt-list-wrap,.tpl,.legal-hero,
    .prototype-page .workspace,.mailroom-page .empty,.sg-workspace-header,
    #cp-workspace-header,.pane,.step,.sow-context,.sow-hero,section.hero,section#workspace.workspace,
    [class$="-card"],[class*="-card "],[class$="-tile"],[class*="-tile "],
    [class$="-worklet"],[class*="-worklet "],[class$="-stat"],[class*="-stat "],
    [class$="-metric"],[class*="-metric "],[class$="-kpi"],[class*="-kpi "],
    section[class$="-panel"],section[class*="-panel "],article[class$="-panel"],article[class*="-panel "],
    div[class$="-panel"],div[class*="-panel "],aside[class$="-panel"],aside[class*="-panel "]
  ):not(.panel-fs){
    background:var(--alpaca-work-reflection),var(--alpaca-panel-surface)!important;
    border:1px solid var(--alpaca-glass-edge)!important;
    border-inline:1px solid var(--alpaca-glass-edge)!important;border-block:1px solid var(--alpaca-glass-edge)!important;
    box-shadow:var(--alpaca-work-shadow)!important;
  }
  /* Older workspaces use explicit names rather than the shared panel classes. */
  html:root[data-alpaca-material="glass"] body :is(.qb-drop,.sow-table-wrap,.tn-row){
    background:var(--alpaca-work-surface)!important;
    border-color:var(--alpaca-glass-edge)!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body .pane-h{
    background:color-mix(in srgb,var(--text) 3%,var(--alpaca-work-surface))!important;
  }
  html:root[data-alpaca-material="glass"] body .pane.locked .pane-b::after{
    background:var(--alpaca-work-surface)!important;
  }
  html:root[data-alpaca-material="glass"] body #cc-source .cs-source-choices button{
    background:var(--alpaca-control-surface)!important;border:1px solid var(--alpaca-glass-edge)!important;
    box-shadow:none!important;color:var(--text)!important;
  }
  html:root[data-alpaca-material="glass"] body #cc-source .cs-source-choices button:is(:hover,[aria-pressed="true"]){
    background:var(--alpaca-control-hover)!important;border-color:var(--primary)!important;
  }
  html:root[data-alpaca-material="glass"] body #cp-workspace-header .cc-steps button,
  html:root[data-alpaca-material="glass"] body #cp-workspace-header #cp-readiness,
  html:root[data-alpaca-material="glass"] body #cc-source .cs-dropzone{
    background:var(--alpaca-control-surface)!important;
  }
  html:root[data-alpaca-material="glass"] body #cp-workspace-header .cc-steps button[aria-current="step"]{
    background:var(--alpaca-control-hover)!important;border-color:var(--primary)!important;
  }
  html:root[data-alpaca-material="glass"] body #cp-destination-context .cc-destination button[aria-pressed="true"]{
    background:var(--alpaca-control-hover)!important;outline:none;
    border:1px solid var(--alpaca-glass-edge)!important;
  }
  /* A nested card is an inset grouping, not another floating sheet. */
  html:root[data-alpaca-material="glass"] body :is(.card,.panel,[class$="-panel"]) :is(.card,.panel,.stat,.metric,.kpi,[class$="-card"],[class$="-stat"],[class$="-metric"]){
    background:color-mix(in srgb,var(--text) 3%,var(--alpaca-panel-surface))!important;
    border:0!important;border-inline:0!important;border-block:0!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] :is(.sb-root,.topbar,body.sb-injected>header,button.sb-open){
    background:linear-gradient(125deg,var(--alpaca-glass-highlight),transparent 60%),var(--alpaca-glass-bg)!important;
    border:1px solid var(--alpaca-glass-edge)!important;box-shadow:var(--alpaca-glass-shadow)!important;
    backdrop-filter:blur(20px) saturate(135%)!important;-webkit-backdrop-filter:blur(20px) saturate(135%)!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.fam-menu-panel,.alpaca-activity-panel,.cal-drawer,.af-panel,.ac-panel,.ac-drawer){
    background:var(--alpaca-glass-overlay-bg)!important;
    border:1px solid var(--alpaca-glass-edge)!important;box-shadow:var(--alpaca-glass-shadow)!important;
  }
  html:root[data-alpaca-material="glass"] .sb-root{
    --border:var(--alpaca-glass-edge);--border2:var(--alpaca-glass-edge);
    --surface2:var(--alpaca-control-hover);
  }
  html:root[data-alpaca-material="glass"] body .ac-root{
    --ac-bg:var(--alpaca-work-surface);--ac-surface:var(--alpaca-control-surface);
    --ac-surface-2:var(--alpaca-work-surface);--ac-surface-3:var(--alpaca-control-hover);
    --ac-border:var(--alpaca-glass-edge);--ac-border-strong:var(--alpaca-glass-edge);
  }
  html:root[data-alpaca-material="glass"] body .af-root{
    --af-bg:var(--alpaca-work-surface);--af-panel:var(--alpaca-glass-overlay-bg);
    --af-surface:var(--alpaca-control-surface);--af-surface2:var(--alpaca-control-hover);
    --af-border:var(--alpaca-glass-edge);--af-border2:var(--alpaca-glass-edge);
  }
  html:root[data-alpaca-material="glass"] body .cal-drawer{
    --cal-bg:var(--alpaca-work-surface);--cal-surface:var(--alpaca-control-surface);
    --cal-line:var(--alpaca-glass-edge);--cal-brand:var(--primary-control,var(--primary));
  }
  html:root[data-alpaca-material="glass"] body :is(dialog,.alpaca-confirm,[role="dialog"]){
    background:var(--alpaca-glass-overlay-bg)!important;
    border:1px solid var(--alpaca-glass-edge)!important;box-shadow:var(--alpaca-glass-shadow)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.btn,.btn-secondary,.btn-ghost,.alpaca-hdr-pop,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity,.fam-menu-btn){
    border-color:var(--alpaca-glass-edge);
    box-shadow:0 3px 6px -4px rgba(25,65,99,.35);
  }
  /* Explicit neutral variants; primary, success and destructive actions retain their meaning. */
  html:root[data-alpaca-material="glass"] body :is(.btn-secondary,.btn-ghost,.btn.ghost,.btn.secondary,.alpaca-hdr-pop,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity,.fam-menu-btn){
    background:var(--alpaca-control-surface)!important;color:var(--text)!important;
    border-color:var(--alpaca-glass-edge)!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.btn-secondary,.btn-ghost,.btn.ghost,.btn.secondary,.alpaca-hdr-pop,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity,.fam-menu-btn):hover:not(:disabled){
    background:var(--alpaca-control-hover)!important;color:var(--text)!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.btn,button):disabled{
    box-shadow:none!important;cursor:not-allowed;
  }
  html:root[data-alpaca-material="glass"] body :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="tel"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],select,textarea):not(.sb-search-in):not(.ace_text-input):not(.inputarea):not(.grid input){
    background-color:var(--alpaca-control-surface)!important;
    border-color:var(--alpaca-glass-edge)!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body select :is(option,optgroup){background:var(--alpaca-glass-overlay-bg);color:var(--text)}
  html:root[data-alpaca-material="glass"] body :is(.info-box,.success-box,.warning-box,.error-box,.notice,.alert){
    background:color-mix(in srgb,var(--alpaca-message-color,#8cb8db) 7%,var(--alpaca-panel-surface))!important;
    color:var(--text)!important;box-shadow:none!important;
    border:1px solid color-mix(in srgb,var(--alpaca-message-color,#8cb8db) 35%,var(--alpaca-glass-edge))!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.success-box,.alert.success,.notice.success){--alpaca-message-color:var(--alpaca-status-good)}
  html:root[data-alpaca-material="glass"] body :is(.warning-box,.alert.warning,.notice.warning){--alpaca-message-color:var(--alpaca-status-warn)}
  html:root[data-alpaca-material="glass"] body :is(.error-box,.alert.error,.notice.error){--alpaca-message-color:var(--alpaca-status-bad)}
  html:root[data-alpaca-material="glass"] body :is(.badge,.pill,.chip,.tag){
    background-color:color-mix(in srgb,var(--text) 5%,var(--alpaca-work-surface));
  }
  html:root[data-alpaca-material="glass"] body :is(th,.table-header){background-color:var(--alpaca-control-surface)}
  html:root[data-alpaca-material="glass"] body:is(.r10-tool,.alpaca-tool) main :where(pre,.r10-output-wrap){
    background:var(--alpaca-work-surface)!important;color:var(--text)!important;
  }
  /* Workspace chrome uses the same material even when it predates the panel convention. */
  html:root[data-alpaca-material="glass"] body :is(.sg-project:not(.sg-workspace-header),.sg-workflow,.sg-viewbar,.v2-main,.wa-toolbar,.config,.sweepbar,.connection-strip,.table-wrap,.atlas-suggestions,.paths>.path,.mailroom-page .drop,.mailroom-page .safety){
    background:var(--alpaca-panel-surface)!important;border-color:var(--alpaca-glass-edge)!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.assurance-empty,.assurance-no-findings,.r10-output-wrap,.assurance-result-metrics>div,.cp-personal,.fh-flow>li,.health-brief-action,.prototype-page .section,.card .vsb-metrics>article){
    background:var(--alpaca-work-surface)!important;border:0!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body :is(.assurance-actions,.r10-form-actions,.pe-header-actions,.pe-group-pages) button:not([type="submit"]),
  html:root[data-alpaca-material="glass"] body :is(.pe-priority-actions button,.pe-view-switch,.sg-workflow button:hover){
    background:var(--alpaca-control-surface);color:var(--text);border-color:var(--alpaca-glass-edge);
  }
  html:root[data-alpaca-material="glass"] body :is(.assurance-stale,.assurance-finding,.sg-message,.pe-source,.wl-msg,.fb-help,.note){
    background:var(--alpaca-control-surface)!important;border-color:var(--alpaca-glass-edge)!important;color:var(--text);
  }

  /* Query Console and Structure Catalog predate the shared control classes.
     Style their actual connection, tab and menu surfaces, including active states. */
  html:root[data-alpaca-material="glass"] body :is(.connbar,.qtabs){
    background:var(--alpaca-work-reflection),var(--alpaca-panel-surface)!important;
    border:1px solid var(--alpaca-glass-edge)!important;border-radius:var(--ctl-r);
    box-shadow:var(--alpaca-work-shadow)!important;
  }
  html:root[data-alpaca-material="glass"] body .qtabs{padding:6px;gap:6px}
  html:root[data-alpaca-material="glass"] body .qtab{
    min-height:var(--ctl-h);display:inline-flex;align-items:center;
    margin:0;border:0!important;border-radius:calc(var(--ctl-r) - 2px);
    background:transparent!important;color:var(--muted2)!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body .qtab:hover{
    background:var(--alpaca-control-surface)!important;color:var(--text)!important;
  }
  html:root[data-alpaca-material="glass"] body .qtab.on{
    background:var(--alpaca-control-hover)!important;color:var(--text)!important;
  }
  html:root[data-alpaca-material="glass"] body .qtab.on{font-weight:750}
  html:root[data-alpaca-material="glass"] body .connbar .btn,
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main .btn:not(.primary){
    background:var(--alpaca-control-surface)!important;color:var(--text)!important;
    border-color:var(--alpaca-glass-edge)!important;
  }
  html:root[data-alpaca-material="glass"] body .connbar .btn:hover:not(:disabled),
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main .btn:not(.primary):hover:not(:disabled){
    background:var(--alpaca-control-hover)!important;
  }
  html:root[data-alpaca-material="glass"] body .connbar #manageMenu{
    background:var(--alpaca-glass-overlay-bg)!important;border-color:var(--alpaca-glass-edge)!important;
    box-shadow:var(--alpaca-glass-shadow)!important;padding:6px!important;
  }
  html:root[data-alpaca-material="glass"] body .connbar #manageMenu .btn{
    background:transparent!important;border:0!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body .connbar #manageMenu .btn:hover:not(:disabled){background:var(--alpaca-control-hover)!important}
  html:root[data-alpaca-material="glass"] body .connbar #manageMenu .btn.danger{color:var(--alpaca-status-bad)!important}
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main :is(.seg,.tabs){
    display:flex;flex-wrap:wrap;gap:6px;background:transparent;border:0;overflow:visible;
  }
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main :is(.seg button,.tab){
    min-height:var(--ctl-h);padding:6px 14px;border:1px solid transparent;border-radius:var(--ctl-r);
    background:var(--alpaca-control-surface)!important;color:var(--text)!important;
    font:600 12px/1.4 var(--sans);box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main :is(.seg button,.tab):hover{
    background:var(--alpaca-control-hover)!important;
  }
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main :is(.seg button,.tab).active{
    background:var(--alpaca-control-hover)!important;border-color:var(--alpaca-glass-edge);color:var(--text)!important;
  }
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main :is(.seg button,.tab).active{font-weight:750}
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main #guidance{
    background:var(--alpaca-control-surface)!important;color:var(--text)!important;
    border:0!important;border-radius:var(--ctl-r);padding:12px;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main .btn.danger{color:var(--alpaca-status-bad)!important}
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main .tbl-wrap{border-color:var(--alpaca-glass-edge)}
  html:root[data-alpaca-material="glass"] body.structure-catalog-page main input[type="file"]::file-selector-button{
    min-height:var(--ctl-h);margin-right:10px;padding:6px 12px;border:1px solid var(--alpaca-glass-edge);
    border-radius:var(--ctl-r);background:var(--alpaca-control-surface);color:var(--text);font:inherit;cursor:pointer;
  }

  /* Activity is shared across tools: its internals must override host-page button
     rules as well as consume the material on the outer drawer. */
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel :is(.alpaca-activity-head,.alpaca-activity-foot){
    background:var(--alpaca-work-reflection),var(--alpaca-panel-surface)!important;
    border-color:var(--alpaca-glass-edge);
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel :is(.alpaca-activity-context,.alpaca-activity-job){
    background:var(--alpaca-work-surface)!important;border:1px solid var(--alpaca-glass-edge)!important;
    box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-job.is-removed{border-style:dashed!important}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-job:has(input:checked){
    background:var(--alpaca-control-hover)!important;border-color:var(--primary)!important;
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel :is(.alpaca-activity-context-icon,.alpaca-activity-actions button,.alpaca-activity-bulk button,.alpaca-activity-cancel,.alpaca-activity-rerun){
    background:var(--alpaca-control-surface)!important;color:var(--text)!important;
    border-color:var(--alpaca-glass-edge)!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel :is(.alpaca-activity-actions button,.alpaca-activity-bulk button,.alpaca-activity-cancel,.alpaca-activity-rerun):hover:not(:disabled){
    background:var(--alpaca-control-hover)!important;
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-dismiss{
    display:grid;place-items:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;
    background:transparent!important;color:var(--muted2)!important;border:0!important;box-shadow:none!important;
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-dismiss .ficon{width:14px;height:14px;fill:currentColor}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-dismiss:hover{
    background:var(--alpaca-control-hover)!important;color:var(--alpaca-status-bad)!important;
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-dismiss.is-undo:hover{color:var(--text)!important}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel :is(#alpacaActivityClearSel,.alpaca-activity-cancel):hover:not(:disabled){color:var(--alpaca-status-bad)!important}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-state{
    --activity-state-color:var(--muted2);
    background:color-mix(in srgb,var(--activity-state-color) 8%,var(--alpaca-work-surface));
    color:var(--activity-state-color);
  }
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-state.done{--activity-state-color:var(--alpaca-status-good)}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-state.queued{--activity-state-color:var(--alpaca-status-warn)}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-state.error{--activity-state-color:var(--alpaca-status-bad)}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel :is(.alpaca-activity-kicker,.alpaca-activity-job-meta){color:var(--muted2)}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-pulse{background:var(--alpaca-status-good);box-shadow:none}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-progress{background:var(--alpaca-control-surface)}
  html:root[data-alpaca-material="glass"] #alpacaActivityPanel .alpaca-activity-progress i{background:var(--alpaca-chart-1,var(--primary))}

 }
}
/* Single-edge rules are independent of Glass and never hide keyboard focus. */
html:root body :is(.sb-root,.sb-search,.fam-menu-panel,.alpaca-activity-panel,.cal-drawer,.af-panel,.ac-launcher,.ac-panel,.ac-drawer){
  box-shadow:var(--shadow-sm);
}
html:root body .sb-root .sb-item.active{box-shadow:none!important}
html:root body .sb-root .sb-item.active::before{display:none!important}
html:root body :is(.sb-search,.sb-grp-name):focus-within{
  box-shadow:none!important;outline:2px solid var(--primary);outline-offset:-2px;
}
html:root body :is(.sb-root,.ac-root,.af-root) :focus-visible{box-shadow:none!important;outline:2px solid var(--primary)!important;outline-offset:-2px!important}
html:root body .sb-root input.sb-search-in:focus-visible{outline:none!important}

html:root body .sb-root :is(.sb-item,.sb-grp-name){box-shadow:none!important}

/* Drawers share a single perimeter; decorative top stripes add a second edge. */
html:root body :is(.cal-drawer,.af-dialog)::before,
html:root body .ac-drawer::after{display:none!important}

/* Live status nodes belong to the workspace, and must survive header normalization. */
.alpaca-tool-status{display:block;width:fit-content;max-width:100%;margin:0 0 14px;font:500 12px/1.5 var(--sans);overflow-wrap:anywhere;color:var(--muted2)}
body .assurance-finding{border-left-color:var(--border)}

/* Shared header actions also need room at tablet widths and beside long tool titles. */
html body.sb-injected>header{
  flex-wrap:wrap!important;height:auto!important;min-height:52px;
  box-sizing:border-box;max-width:100%;row-gap:8px!important;
}
html body.sb-injected>header :is(.brand,.logo){min-width:0;max-width:100%;}
html body.sb-injected>header :is(input,select){min-width:0;max-width:min(280px,100%);box-sizing:border-box;}
html body.sb-injected :is(main,.main,.wrap) :is(.fld,.field){min-width:0;max-width:100%;}
html body.sb-injected :is(main,.main,.wrap) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;box-sizing:border-box;}
@media(max-width:600px){
  html body.sb-injected :is(main,.main,.wrap) .row>.fld{flex:1 1 100%;}
}

/* Give the identity and actions separate rows on phones. Keep every action reachable
   instead of letting a desktop-only nowrap header extend beyond the viewport. */
@media(max-width:700px){
  .connbar #manageMenu{left:0!important;right:auto!important;max-width:calc(100vw - 48px)}
  html body.sb-injected>header{
    height:auto!important;min-height:52px;max-width:100%;box-sizing:border-box;
    flex-wrap:wrap!important;justify-content:flex-end;gap:8px!important;padding:10px 12px!important;
  }
  html body.sb-injected>header :is(.brand,.logo){
    flex:1 0 calc(100% - 44px);min-width:0;max-width:calc(100% - 44px);
    margin-left:44px;min-height:32px;white-space:normal;
  }
  html body.sb-injected>header .logo-icon{display:none!important}
  html body.sb-injected>header :is(.logo-text,.logo-name){min-width:0;overflow-wrap:anywhere}
  html body.sb-injected>header .logo-edition{display:none}
  html body.sb-injected>header .fam-menu{margin-left:0;float:none}
  html body.sb-injected>header .fam-menu-lbl{display:none}
  html body.sb-injected>header :is(button,a.alpaca-hdr-knowledge){flex-shrink:0}
}

/* Controls stay visually steady throughout the suite. Contrast repair temporarily
   restores authored colors to measure them; a color/all transition used to animate
   that bookkeeping on every poll, hover or unrelated DOM update, so on a control
   colour never transitions and repairs land atomically. Movement is a separate
   channel the guard never reads: transform and opacity keep their transitions, so a
   press, a chevron, a disabled fade and a spinner inside a button stay alive (see
   Motion below). The control itself still runs no keyframes; its icons may.
   Focus rings, disabled states and actual status changes still render immediately. */
:root body :is(button,input,select,textarea,summary,[role="button"],[role="tab"],
  a.btn,a.button,a.launch,a.task-go,.btn,.button,.tab,.chip,.provider-btn),
:root body :is(button,summary,[role="button"],[role="tab"],
  a.btn,a.button,a.launch,a.task-go,.btn,.button,.tab,.chip,.provider-btn) *,
:root body :is(button,input,select,textarea,summary,[role="button"],[role="tab"],
  a.btn,a.button,a.launch,a.task-go,.btn,.button,.tab,.chip,.provider-btn)::before,
:root body :is(button,input,select,textarea,summary,[role="button"],[role="tab"],
  a.btn,a.button,a.launch,a.task-go,.btn,.button,.tab,.chip,.provider-btn)::after {
  transition-property:transform,translate,scale,rotate,opacity!important;
}
:root body :is(button,input,select,textarea,summary,[role="button"],[role="tab"],
  a.btn,a.button,a.launch,a.task-go,.btn,.button,.tab,.chip,.provider-btn) {
  animation:none!important;
  /* One beat for every control unless a page says otherwise for a specific one. */
  transition-duration:var(--alpaca-duration-fast);
  transition-timing-function:var(--alpaca-ease-out);
  transition-delay:0s;
}

/* ── Motion ─────────────────────────────────────────────────────────────────
   One voice for the whole suite: the tokens on html (--alpaca-ease-out .23,1,.32,1 for anything
   entering or exiting; --alpaca-ease-drawer for an edge drawer; 160/240ms). Only transform,
   scale and opacity move; colour stays instant on every control (see the guard above).
   What animates and why, by how often it is seen:
   - Press feedback on every pressable — scale(.97) on :active — is feedback, the one motion a
     100+/day control keeps. `scale` is the individual property so a chevron's rotate or a
     hover lift authored in `transform` composes with it instead of being overwritten.
   - Sidebar chevron: state indication, in step with the rail's own 240ms.
   - The mini-rail tip: 125ms from the row's edge, after a short delay; adjacent rows open
     instantly while one is warm (soft-notus.js attachTooltips).
   - Menus and the family panel scale out of their trigger's corner (120ms); dialogs and the
     confirm card come in centred (160ms); the Activity drawer slides from its edge (240ms).
     `display … allow-discrete` keeps a box on screen for its exit, so every site that flips
     `hidden`, `.open` or `open` gets both directions with no script change.
   - Toasts: transitions, not keyframes — a second toast retargets instead of restarting.
   - The theme flip crossfades through the View Transition API (alpaca-theme.js) so the
     brightest change the product makes is not a snap.
   - Hover lifts are gated to fine pointers; reduced motion keeps opacity, drops movement. */

/* 1. Press feedback. `.chip` is mostly an inert pill (122 spans to 21 buttons), so only a chip
   that is a button, link or label presses; and a pill holding a × never presses WITH its
   button (Chromium activates ancestors too — .97 × .97 on the control under the finger). */
:root body :is(button,[role="button"],a.btn,a.button,a.launch,a.task-go,.btn,.button,:is(button,a,label).chip,.provider-btn,.tab,[role="tab"],
  input:is([type="button"],[type="submit"],[type="reset"])):active:not(:disabled,[aria-disabled="true"],tr,td,th,.is-dragging,:has(:active)){scale:.97}
:root body button.sb-toggle{transition-duration:var(--alpaca-duration-base)}   /* (0,2,2): ties the guard's a.btn arm, later wins */

/* 2. Mini-rail tip: scales from the icon it names */
.sb-tip{transform-origin:left center;scale:.97;transition:opacity 125ms var(--alpaca-ease-out),scale 125ms var(--alpaca-ease-out)}
.sb-tip.on{scale:1}
.sb-tip.instant{transition-duration:0s}

/* 3. Anchored menus: from the trigger's corner. --alpaca-pop-origin names the corner the
   panel is aligned to; the family panel and Report Writer's More menu hang from the right. */
:is([role="menu"],.fam-menu-panel,#clientSwitchMenu,#pwActionHistoryMenu){
  transform-origin:var(--alpaca-pop-origin,top left);
  transition:opacity 120ms var(--alpaca-ease-out),scale 120ms var(--alpaca-ease-out),display 120ms allow-discrete}
.fam-menu-panel,#more-menu,#clientSwitchMenu{--alpaca-pop-origin:top right}
:is([role="menu"],.fam-menu-panel,#clientSwitchMenu,#pwActionHistoryMenu):is([hidden],.dd-menu:not(.open),.fam-menu-panel:not(.open)){opacity:0;scale:.97}
@starting-style{
  :is([role="menu"],.fam-menu-panel,#clientSwitchMenu,#pwActionHistoryMenu):not([hidden]){opacity:0;scale:.97}
}

/* 4. Native dialogs, everywhere they are used (24 templates + the tool picker): centred, so
   the origin stays centre. `overlay` keeps a closing dialog in the top layer for its exit. */
dialog{transition:opacity var(--alpaca-duration-fast) var(--alpaca-ease-out),scale var(--alpaca-duration-fast) var(--alpaca-ease-out),
  overlay var(--alpaca-duration-fast) allow-discrete,display var(--alpaca-duration-fast) allow-discrete}
dialog:not([open]){opacity:0;scale:.97}
dialog::backdrop{transition:opacity var(--alpaca-duration-fast) var(--alpaca-ease-out),
  overlay var(--alpaca-duration-fast) allow-discrete,display var(--alpaca-duration-fast) allow-discrete}
dialog:not([open])::backdrop{opacity:0}
@starting-style{
  dialog[open]{opacity:0;scale:.97}
  dialog[open]::backdrop{opacity:0}
}

/* 5. alpacaConfirm: the card and its scrim arrive together and leave the way they came. */
.alpaca-confirm-wrap{transition:opacity var(--alpaca-duration-fast) var(--alpaca-ease-out)}
.alpaca-confirm{transition:opacity var(--alpaca-duration-fast) var(--alpaca-ease-out),scale var(--alpaca-duration-fast) var(--alpaca-ease-out)}
@starting-style{
  .alpaca-confirm-wrap{opacity:0}
  .alpaca-confirm-wrap .alpaca-confirm{opacity:0;scale:.97}
}
.alpaca-confirm-wrap.is-closing{opacity:0;pointer-events:none}
.alpaca-confirm-wrap.is-closing .alpaca-confirm{scale:.97}

/* 6. Activity drawer: `hidden` and .open land in one frame, so the declared slide never ran.
   The starting style is the off-screen state; display waits for the exit to finish. */
.alpaca-activity-panel{transition:transform var(--alpaca-duration-base) var(--alpaca-ease-drawer),opacity var(--alpaca-duration-fast) var(--alpaca-ease-out),
  display var(--alpaca-duration-base) allow-discrete}
@starting-style{
  .alpaca-activity-panel.open{transform:translateX(calc(100% + 24px));opacity:0}
}

/* 7. Toasts enter from the right and leave the same way, as transitions. */
.alpaca-toast{animation:none;opacity:1;transform:none;
  transition:opacity 180ms var(--alpaca-ease-out),transform 180ms var(--alpaca-ease-out)}
@starting-style{
  .alpaca-toast{opacity:0;transform:translateX(16px)}
}
.alpaca-toast.fade-out{animation:none;opacity:0;transform:translateX(16px)}

/* 8. Theme flip: a plain crossfade of the whole document, the shared rail included, instead of
   the page-navigation choreography above (which fades content and holds the rail still). */
html[data-theme-flip]::view-transition-old(root),
html[data-theme-flip]::view-transition-old(alpaca-sidebar),
html[data-theme-flip]::view-transition-old(alpaca-menu-button){animation:alpaca-theme-out var(--alpaca-duration-base) var(--alpaca-ease-out) both;opacity:1}
html[data-theme-flip]::view-transition-new(root),
html[data-theme-flip]::view-transition-new(alpaca-sidebar),
html[data-theme-flip]::view-transition-new(alpaca-menu-button){animation:alpaca-theme-in var(--alpaca-duration-base) var(--alpaca-ease-out) both}
@keyframes alpaca-theme-out{to{opacity:0}}
@keyframes alpaca-theme-in{from{opacity:0}to{opacity:1}}

/* 9. Hover motion only where a hover exists: a phone fires :hover on tap and leaves it stuck. */
@media (hover:none),(pointer:coarse){
  .sb-mark:hover{transform:none}
}

/* 10. Reduced motion: fewer and gentler, not none — fades stay, movement goes. */
@media (prefers-reduced-motion:reduce){
  :root body :is(button,[role="button"],a.btn,a.button,a.launch,a.task-go,.btn,.button,:is(button,a,label).chip,.provider-btn,.tab,[role="tab"],
    input:is([type="button"],[type="submit"],[type="reset"])):active:not(:disabled,[aria-disabled="true"],tr,td,th,.is-dragging,:has(:active)){scale:1}
  :root body button.sb-toggle{transition-duration:0s}
  .sb-tip,.sb-tip.on{scale:1}
  :is([role="menu"],.fam-menu-panel,#clientSwitchMenu,#pwActionHistoryMenu),
  :is([role="menu"],.fam-menu-panel,#clientSwitchMenu,#pwActionHistoryMenu):is([hidden],.dd-menu:not(.open),.fam-menu-panel:not(.open)),
  dialog,dialog:not([open]),.alpaca-confirm,.alpaca-confirm-wrap.is-closing .alpaca-confirm{scale:1}
  @starting-style{
    :is([role="menu"],.fam-menu-panel,#clientSwitchMenu,#pwActionHistoryMenu):not([hidden]),dialog[open],.alpaca-confirm-wrap .alpaca-confirm{scale:1}
    .alpaca-activity-panel.open{transform:none}
    .alpaca-toast{transform:none}
  }
  .alpaca-activity-panel{transition:opacity var(--alpaca-duration-fast) var(--alpaca-ease-out),display var(--alpaca-duration-fast) allow-discrete}
  .alpaca-activity-panel:not(.open){transform:none}
  .alpaca-toast,.alpaca-toast.fade-out{transform:none}
}

/* ── One header on every shell page ─────────────────────────────────────────
   Measured across the 261 pages that carry the shared shell (2026-09-18): four header heights
   (52/60/61/65), two padding families (0 16px on 117 pages, 12px 22px on 102), the tool name at
   13, 14 or 15px, 14 pages in Inter while the rest follow --sans, icons at 30/32/34px, three
   pages stacking "Alpaca / Tool / EDITION" on three lines, and six pages whose header sits
   inside a .wrap and so never received the shell's treatment at all. The identity block is the
   one thing every page shares, so its measurements live here once, over every markup family in
   use: .logo/.brand/.cc-brand/.atf-brand/.fh-brand containers; .logo-text/.logo-name/.brand-name,
   <h1>, <strong> or <b> names with the tool in a <span>; .logo-edition/.edition or a bare <small>
   marker; .logo-icon/.brand-mark/<img> marks. The header is found by the controls the shell
   injects into it, wherever a page nested it. !important throughout: the page rules replaced
   are a mix of ids, body-scoped selectors and their own !important. The Tool Catalog's authored
   top bar (no shell body class) keeps its own bar. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)){
  min-height:52px!important;padding-top:0!important;padding-bottom:0!important;padding-left:16px!important;padding-right:16px!important;
  align-items:center!important;column-gap:10px!important;font-family:var(--sans)!important;
  background-color:var(--panel)!important;background-image:none!important;color:var(--text)!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand){
  display:flex!important;align-items:center!important;gap:9px!important;margin-top:0!important;margin-bottom:0!important;
  min-width:0;white-space:nowrap;color:var(--ink)!important;font-family:var(--sans)!important;text-decoration:none!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-icon,.brand-mark,:is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand)>img):not(.alpaca-source-tool-icon){
  box-sizing:border-box!important;width:32px!important;height:32px!important;flex:0 0 32px!important;
  display:grid!important;place-items:center!important;border-radius:9px!important;font-size:16px!important;line-height:1!important;margin:0!important}
/* One mark, never two — and never none. A page's authored <img>/<svg> artwork stays in the DOM
   as metadata while the themed registry glyph beside it is the mark that shows (syncHeaderIcon
   pairs them); where the registry has no glyph for the route, the artwork is the mark. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) .alpaca-source-tool-icon:has(+.alpaca-muted-tool-icon){display:none!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) .alpaca-source-tool-icon:not(:has(+.alpaca-muted-tool-icon)){
  display:block!important;width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:9px!important;object-fit:contain;margin:0!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-icon,.brand-mark) svg{width:17px!important;height:17px!important}
/* The name line: whatever element carries "Alpaca <span>Tool</span>". */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-text,.logo-name,.brand-name,h1,:is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand) :is(strong,b):not(.logo-icon,.brand-mark)),
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) .brand:not(:has(.logo-text,.logo-name,.brand-name,h1,strong,b)){
  display:block!important;margin:0!important;padding:0!important;
  font-family:var(--sans)!important;font-size:14px!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--ink)!important;white-space:nowrap!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) .brand:not(:has(.logo-text,.logo-name,.brand-name,h1,strong,b)){display:flex!important}
/* The tool name inside it — never a wrapper span that holds the name and marker itself. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-text,.logo-name,.brand-name,h1,strong,b,.brand)>span:not(.logo-icon,.brand-mark,.logo-edition,.edition):not(:has(b,strong,small,div,.logo-edition)),
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) .brand-tool{
  display:inline!important;margin:0!important;padding:0!important;
  font-family:var(--sans)!important;font-size:12px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important;
  background:none!important;-webkit-text-fill-color:currentColor!important}
/* The edition marker, by class or as the brand's bare <small>. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-edition,.edition,.brand-edition,:is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand) small){
  display:block!important;margin:0!important;padding:0!important;
  font-family:var(--sans)!important;font-size:9.5px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:.06em!important;text-transform:uppercase!important;
  color:var(--muted)!important;background:none!important;-webkit-text-fill-color:currentColor!important;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Page-owned header ACTIONS take the shell control's measurements (--ctl-h-hdr, 12px/600, the
   panel surface), so "Load sample" beside "Pop out" is the same kind of button. Only plain
   actions in the bar itself: nothing inside a menu, listbox, dialog, tab strip, segmented control
   or nav; nothing stateful (aria-pressed, .on, .active — the author's state styling stays);
   nothing the shell hides (a page's own theme toggle); `display` is left alone so hidden stays
   hidden. A .primary keeps its fill; an icon-only button keeps its box. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(button,a.btn,a.button,.link-btn,a.link-btn):not(
  .sb-open,.sb-toggle,[class*="brand"],[class*="brand"] *,.logo *,.fam-menu-btn,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity,.alpaca-hdr-pop,
  .btn-theme,#btn-theme,#themeBtn,#alpaca-theme-btn,[data-theme-toggle],[hidden],
  [role="menu"] *,[role="menuitem"],[role="listbox"] *,[role="dialog"] *,dialog *,.dd-menu *,.menu *,.fam-menu-panel *,[class*="menu-panel"] *,[class*="popover"] *,[class*="dropdown"] *,
  [role="group"] *,[role="tablist"] *,[role="tab"],.tab,.tabs *,nav *,.seg *,.segmented *,.lane *,.vswitch *,.toggle *,.switch *,
  [aria-pressed],[aria-selected],[aria-current],.on,.active,.is-active,.is-on,.selected,.toplink){
  box-sizing:border-box!important;min-height:var(--ctl-h-hdr)!important;height:var(--ctl-h-hdr)!important;padding:6px 11px!important;
  font:600 12px/1 var(--sans)!important;letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;white-space:nowrap!important;
  background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--border2)!important;border-radius:8px!important;box-shadow:none!important}
/* The two refinements repeat the exclusion list so their specificity matches the rule above
   (a :not() carrying an id sets the whole rule's weight) and order decides. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(button,a.btn,a.button,.link-btn,a.link-btn):is(.primary,[type="submit"]):not(
  .sb-open,.sb-toggle,[class*="brand"],[class*="brand"] *,.logo *,.fam-menu-btn,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity,.alpaca-hdr-pop,
  .btn-theme,#btn-theme,#themeBtn,#alpaca-theme-btn,[data-theme-toggle],[hidden],
  [role="menu"] *,[role="menuitem"],[role="listbox"] *,[role="dialog"] *,dialog *,.dd-menu *,.menu *,.fam-menu-panel *,[class*="menu-panel"] *,[class*="popover"] *,[class*="dropdown"] *,
  [role="group"] *,[role="tablist"] *,[role="tab"],.tab,.tabs *,nav *,.seg *,.segmented *,.lane *,.vswitch *,.toggle *,.switch *,
  [aria-pressed],[aria-selected],[aria-current],.on,.active,.is-active,.is-on,.selected,.toplink){
  background:var(--primary)!important;color:var(--primary-fg,#fff)!important;border-color:var(--primary)!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) button:is(:has(>svg:only-child),:has(>i:only-child),:has(>.ficon:only-child)):not(
  .sb-open,.sb-toggle,[class*="brand"],[class*="brand"] *,.logo *,.fam-menu-btn,.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-activity,.alpaca-hdr-pop,
  .btn-theme,#btn-theme,#themeBtn,#alpaca-theme-btn,[data-theme-toggle],[hidden],
  [role="menu"] *,[role="menuitem"],[role="listbox"] *,[role="dialog"] *,dialog *,.dd-menu *,.menu *,.fam-menu-panel *,[class*="menu-panel"] *,[class*="popover"] *,[class*="dropdown"] *,
  [role="group"] *,[role="tablist"] *,[role="tab"],.tab,.tabs *,nav *,.seg *,.segmented *,.lane *,.vswitch *,.toggle *,.switch *,
  [aria-pressed],[aria-selected],[aria-current],.on,.active,.is-active,.is-on,.selected,.toplink){
  padding:0!important;justify-content:center!important;min-width:var(--ctl-h-hdr)}
/* Plain text links a page puts in its header read as one quiet secondary action. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop))>a:not(.btn,.button,.link-btn,[class*="brand"],.logo,.alpaca-hdr-knowledge),
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.hdr-link,.command-link):not(.btn,.button,.link-btn,[class*="brand"],.logo,.alpaca-hdr-knowledge){
  font:600 12px/1 var(--sans)!important;color:var(--muted2)!important;text-decoration:none!important;white-space:nowrap!important}
/* A page that boxed its own mark (a gradient span around an inline svg) keeps that svg in the DOM
   as metadata, but the box itself steps aside for the themed tile the shell placed inside it. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) [class*="mark"]:has(>.alpaca-muted-tool-icon){
  width:32px!important;height:32px!important;flex:0 0 32px!important;padding:0!important;margin:0!important;
  background:none!important;box-shadow:none!important;border:0!important;display:grid!important;place-items:center!important}
/* The shell's own controls keep their measurements whatever a page's header rules say. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.alpaca-hdr-pop,.alpaca-hdr-activity,.fam-menu-btn){
  box-sizing:border-box!important;min-height:var(--ctl-h-hdr)!important;height:var(--ctl-h-hdr)!important;padding:6px 11px!important;
  font:600 12px/1 var(--sans)!important;letter-spacing:normal!important;text-transform:none!important;border-radius:8px!important;box-shadow:none!important}
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.alpaca-hdr-theme,.alpaca-hdr-fav,.alpaca-hdr-knowledge){
  box-sizing:border-box!important;width:32px!important;min-width:32px!important;height:var(--ctl-h-hdr)!important;min-height:var(--ctl-h-hdr)!important;padding:0!important;border-radius:8px!important;box-shadow:none!important}
/* Phones keep the two-row header's own breathing room (the identity row above the actions row),
   and the shell's phone rules — no mark, no edition marker, room for the menu button — hold for
   every brand container the contract names, at the contract's own weight. */
@media(max-width:700px){
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)){padding:10px 12px!important}
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-icon,.brand-mark,.alpaca-source-tool-icon),
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-edition,.edition,.brand-edition,:is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand) small){display:none!important}
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand){
    flex:1 0 calc(100% - 44px)!important;max-width:calc(100% - 44px)!important;margin-left:44px!important;min-height:32px;white-space:normal}
}
/* The shell's controls are one group at the end of the bar: it takes the free space to its left and
   wraps as a unit, right-aligned, when a page's own actions are wider than the row. Inside it the
   controls' old auto/side margins give way to the group's gap. */
:is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop))>.alpaca-hdr-tools{
  display:flex!important;align-items:center!important;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto!important;flex:0 1 auto;min-width:0}
.alpaca-hdr-tools>:is(.fam-menu,.alpaca-hdr-pop,.alpaca-hdr-activity,.alpaca-hdr-fav,.alpaca-hdr-knowledge,.alpaca-hdr-theme){margin-left:0!important;margin-right:0!important;float:none!important}
/* Pack navigation is server-rendered and stays visible in compact and pop-out headers. */
html:root body header a#alpacaHealthBack.alpaca-health-back{display:inline-flex!important;align-items:center;flex:0 0 auto;min-height:32px;padding:7px 10px!important;gap:6px;border:1px solid var(--border2)!important;border-radius:8px;background:var(--panel)!important;color:var(--text)!important;font:600 12px/1.2 var(--sans)!important;text-decoration:none!important;white-space:nowrap!important}
html:root body header a#alpacaHealthBack.alpaca-health-back:hover{background:var(--surface2)!important;border-color:var(--primary)!important}
html:root body header a#alpacaHealthBack.alpaca-health-back:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
/* Tablets: the sidebar is a drawer and its fixed menu button sits at 14px; the bar starts clear of it. */
@media(max-width:1200px){
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)){padding-left:60px!important}
}
/* Phones: the name may break; the marker is hidden above; nested bars wrap like the rest. */
@media(max-width:700px){
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)){padding-left:12px!important;flex-wrap:wrap!important}
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-text,.logo-name,.brand-name,h1,:is(.logo,.brand,.cc-brand,.atf-brand,.sow-brand,.fh-brand,.ahc-brand) :is(strong,b):not(.logo-icon,.brand-mark)),
  :is(body.sb-injected>header,body.sb-injected header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop)) :is(.logo-text,.logo-name,.brand-name,h1,strong,b,.brand)>span:not(.logo-icon,.brand-mark){white-space:normal!important;overflow-wrap:anywhere}
}

/* ── Workspace family (workspace-*) ───────────────────────────────────────────────────────────────
   Ten palettes drawn from the reconciliation workspace (2026-09-28): a dark rail attached to the window
   edge, a flat white top bar, a quiet canvas, and one accent per palette. Neutrals take the rail's hue
   so the grey reads chosen, not inherited. Every pair the brand tests check clears WCAG AA in both
   modes, and so does the rail's own text on its ground, its hover and its selected row. */
:root[data-brand-theme="workspace-alder"]{
  --bg:#f4f7f7;--panel:#ffffff;--surface:#fafbfb;--surface2:#edf1f1;--border:#dce4e4;--border2:#c3cfd0;--text:#314849;
  --ink:#182a2a;--muted:#5a6d6d;--muted2:#566667;--blue:#087b71;--primary:#087b71;--primary-control:#087b71;
  --primary-fg:#ffffff;--blue-dim:#e7f4f0;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#087b71;--g-primary:#087b71;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#142a2b;--ws-nav-bg:#142a2b;--ws-nav-hover:#203c3b;
  --ws-nav-border:#314849;--ws-nav-text:#cddadb;--ws-nav-ink:#f5f9fa;--ws-nav-muted:#afbfc0;--ws-nav-caption:#acbdbe;
  --ws-nav-active-bg:#e7f4f0;--ws-nav-active-ink:#075d55;--ws-accent-soft:#e7f4f0;--ws-accent-dark:#075d55;
  --ws-hero-start:#e7f4f0;--blue-glow:rgba(8,123,113,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-alder"][data-theme="dark"]{
  --bg:#0f1c1c;--panel:#182728;--surface:#1f3233;--surface2:#273c3d;--border:#3d5657;--border2:#4f6c6d;--text:#d6e1e1;
  --ink:#f3f7f7;--muted:#b2c2c2;--muted2:#a7b8b9;--blue:#81d9c6;--primary:#087b71;--primary-control:#087b71;
  --primary-fg:#ffffff;--blue-dim:#22483f;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#087b71;--g-primary:#087b71;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#142a2b;--ws-nav-bg:#0c1717;--ws-nav-hover:#1d2f2f;
  --ws-nav-border:#293c3d;--ws-nav-text:#cddadb;--ws-nav-ink:#f5f9fa;--ws-nav-muted:#afbfc0;--ws-nav-caption:#acbdbe;
  --ws-nav-active-bg:#22483f;--ws-nav-active-ink:#9ce7d6;--ws-accent-soft:#22483f;--ws-accent-dark:#9ce7d6;
  --ws-hero-start:#22483f;--blue-glow:rgba(129,217,198,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-linen"]{
  --bg:#f7f5f4;--panel:#ffffff;--surface:#fbfbfa;--surface2:#f1efed;--border:#e4e0dc;--border2:#d0cac3;--text:#493f31;
  --ink:#2a2218;--muted:#6d655a;--muted2:#675f56;--blue:#795936;--primary:#795936;--primary-control:#795936;
  --primary-fg:#ffffff;--blue-dim:#f6eee4;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#795936;--g-primary:#795936;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#302920;--ws-nav-bg:#302920;--ws-nav-hover:#493a2b;
  --ws-nav-border:#493f31;--ws-nav-text:#dbd5cd;--ws-nav-ink:#faf8f5;--ws-nav-muted:#c0b9af;--ws-nav-caption:#beb6ac;
  --ws-nav-active-bg:#f6eee4;--ws-nav-active-ink:#5b3e22;--ws-accent-soft:#f6eee4;--ws-accent-dark:#5b3e22;
  --ws-hero-start:#f6eee4;--blue-glow:rgba(121,89,54,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-linen"][data-theme="dark"]{
  --bg:#1c160f;--panel:#282118;--surface:#332a1f;--surface2:#3d3327;--border:#574c3d;--border2:#6d604f;--text:#e1dcd6;
  --ink:#f7f5f3;--muted:#c2bbb2;--muted2:#b9b1a7;--blue:#e8bf86;--primary:#795936;--primary-control:#795936;
  --primary-fg:#ffffff;--blue-dim:#4a3c30;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#795936;--g-primary:#795936;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#302920;--ws-nav-bg:#17130c;--ws-nav-hover:#2f271d;
  --ws-nav-border:#3d3429;--ws-nav-text:#dbd5cd;--ws-nav-ink:#faf8f5;--ws-nav-muted:#c0b9af;--ws-nav-caption:#beb6ac;
  --ws-nav-active-bg:#4a3c30;--ws-nav-active-ink:#f2cea0;--ws-accent-soft:#4a3c30;--ws-accent-dark:#f2cea0;
  --ws-hero-start:#4a3c30;--blue-glow:rgba(232,191,134,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-indigo"]{
  --bg:#f4f4f7;--panel:#ffffff;--surface:#fafafb;--surface2:#edeef1;--border:#dcdde4;--border2:#c3c6d0;--text:#313649;
  --ink:#181b2a;--muted:#5a5d6d;--muted2:#565967;--blue:#4657ba;--primary:#4657ba;--primary-control:#4657ba;
  --primary-fg:#ffffff;--blue-dim:#eef0fc;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#4657ba;--g-primary:#4657ba;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#222841;--ws-nav-bg:#222841;--ws-nav-hover:#343d62;
  --ws-nav-border:#313649;--ws-nav-text:#cdcfdb;--ws-nav-ink:#f5f6fa;--ws-nav-muted:#afb2c0;--ws-nav-caption:#acb0be;
  --ws-nav-active-bg:#eef0fc;--ws-nav-active-ink:#33429b;--ws-accent-soft:#eef0fc;--ws-accent-dark:#33429b;
  --ws-hero-start:#eef0fc;--blue-glow:rgba(70,87,186,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-indigo"][data-theme="dark"]{
  --bg:#0f121c;--panel:#181b28;--surface:#1f2333;--surface2:#272b3d;--border:#3d4257;--border2:#4f556d;--text:#d6d8e1;
  --ink:#f3f4f7;--muted:#b2b5c2;--muted2:#a7abb9;--blue:#abb7ff;--primary:#4657ba;--primary-control:#4657ba;
  --primary-fg:#ffffff;--blue-dim:#303c64;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#4657ba;--g-primary:#4657ba;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#222841;--ws-nav-bg:#0c0f17;--ws-nav-hover:#1d212f;
  --ws-nav-border:#292d3d;--ws-nav-text:#cdcfdb;--ws-nav-ink:#f5f6fa;--ws-nav-muted:#afb2c0;--ws-nav-caption:#acb0be;
  --ws-nav-active-bg:#303c64;--ws-nav-active-ink:#c2caff;--ws-accent-soft:#303c64;--ws-accent-dark:#c2caff;
  --ws-hero-start:#303c64;--blue-glow:rgba(171,183,255,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-ocean"]{
  --bg:#f4f6f7;--panel:#ffffff;--surface:#fafbfb;--surface2:#edf0f1;--border:#dce1e4;--border2:#c3cbd0;--text:#313f49;
  --ink:#18232a;--muted:#5a656d;--muted2:#566067;--blue:#146a9a;--primary:#146a9a;--primary-control:#146a9a;
  --primary-fg:#ffffff;--blue-dim:#e8f4fa;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#146a9a;--g-primary:#146a9a;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#172c3b;--ws-nav-bg:#172c3b;--ws-nav-hover:#25445a;
  --ws-nav-border:#313f49;--ws-nav-text:#cdd5db;--ws-nav-ink:#f5f8fa;--ws-nav-muted:#afb9c0;--ws-nav-caption:#acb7be;
  --ws-nav-active-bg:#e8f4fa;--ws-nav-active-ink:#125576;--ws-accent-soft:#e8f4fa;--ws-accent-dark:#125576;
  --ws-hero-start:#e8f4fa;--blue-glow:rgba(20,106,154,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-ocean"][data-theme="dark"]{
  --bg:#0f171c;--panel:#182128;--surface:#1f2a33;--surface2:#27343d;--border:#3d4c57;--border2:#4f616d;--text:#d6dce1;
  --ink:#f3f5f7;--muted:#b2bcc2;--muted2:#a7b1b9;--blue:#89cdf0;--primary:#146a9a;--primary-control:#146a9a;
  --primary-fg:#ffffff;--blue-dim:#234458;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#146a9a;--g-primary:#146a9a;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#172c3b;--ws-nav-bg:#0c1317;--ws-nav-hover:#1d282f;
  --ws-nav-border:#29353d;--ws-nav-text:#cdd5db;--ws-nav-ink:#f5f8fa;--ws-nav-muted:#afb9c0;--ws-nav-caption:#acb7be;
  --ws-nav-active-bg:#234458;--ws-nav-active-ink:#a9dff6;--ws-accent-soft:#234458;--ws-accent-dark:#a9dff6;
  --ws-hero-start:#234458;--blue-glow:rgba(137,205,240,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-cobalt"]{
  --bg:#f4f5f7;--panel:#ffffff;--surface:#fafafb;--surface2:#edeef1;--border:#dcdee4;--border2:#c3c7d0;--text:#313949;
  --ink:#181e2a;--muted:#5a606d;--muted2:#565c67;--blue:#325eca;--primary:#325eca;--primary-control:#325eca;
  --primary-fg:#ffffff;--blue-dim:#eaf0ff;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#325eca;--g-primary:#325eca;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#1b2b4a;--ws-nav-bg:#1b2b4a;--ws-nav-hover:#28416d;
  --ws-nav-border:#313949;--ws-nav-text:#cdd1db;--ws-nav-ink:#f5f7fa;--ws-nav-muted:#afb5c0;--ws-nav-caption:#acb2be;
  --ws-nav-active-bg:#eaf0ff;--ws-nav-active-ink:#244caa;--ws-accent-soft:#eaf0ff;--ws-accent-dark:#244caa;
  --ws-hero-start:#eaf0ff;--blue-glow:rgba(50,94,202,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-cobalt"][data-theme="dark"]{
  --bg:#0f141c;--panel:#181d28;--surface:#1f2633;--surface2:#272e3d;--border:#3d4657;--border2:#4f5a6d;--text:#d6d9e1;
  --ink:#f3f4f7;--muted:#b2b8c2;--muted2:#a7adb9;--blue:#a4bbff;--primary:#325eca;--primary-control:#325eca;
  --primary-fg:#ffffff;--blue-dim:#293f6a;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#325eca;--g-primary:#325eca;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#1b2b4a;--ws-nav-bg:#0c1017;--ws-nav-hover:#1d232f;
  --ws-nav-border:#29303d;--ws-nav-text:#cdd1db;--ws-nav-ink:#f5f7fa;--ws-nav-muted:#afb5c0;--ws-nav-caption:#acb2be;
  --ws-nav-active-bg:#293f6a;--ws-nav-active-ink:#c1d0ff;--ws-accent-soft:#293f6a;--ws-accent-dark:#c1d0ff;
  --ws-hero-start:#293f6a;--blue-glow:rgba(164,187,255,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-sage"]{
  --bg:#f4f7f4;--panel:#ffffff;--surface:#fafbfa;--surface2:#edf1ee;--border:#dce4dd;--border2:#c3d0c5;--text:#314935;
  --ink:#182a1b;--muted:#5a6d5d;--muted2:#566758;--blue:#477653;--primary:#477653;--primary-control:#477653;
  --primary-fg:#ffffff;--blue-dim:#edf5eb;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#477653;--g-primary:#477653;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#243126;--ws-nav-bg:#243126;--ws-nav-hover:#354a39;
  --ws-nav-border:#314935;--ws-nav-text:#cddbcf;--ws-nav-ink:#f5faf6;--ws-nav-muted:#afc0b2;--ws-nav-caption:#acbeaf;
  --ws-nav-active-bg:#edf5eb;--ws-nav-active-ink:#32583d;--ws-accent-soft:#edf5eb;--ws-accent-dark:#32583d;
  --ws-hero-start:#edf5eb;--blue-glow:rgba(71,118,83,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-sage"][data-theme="dark"]{
  --bg:#0f1c11;--panel:#18281a;--surface:#1f3322;--surface2:#273d2a;--border:#3d5741;--border2:#4f6d54;--text:#d6e1d7;
  --ink:#f3f7f3;--muted:#b2c2b4;--muted2:#a7b9aa;--blue:#a5d5a8;--primary:#477653;--primary-control:#477653;
  --primary-fg:#ffffff;--blue-dim:#2d4939;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#477653;--g-primary:#477653;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#243126;--ws-nav-bg:#0c170e;--ws-nav-hover:#1d2f20;
  --ws-nav-border:#293d2c;--ws-nav-text:#cddbcf;--ws-nav-ink:#f5faf6;--ws-nav-muted:#afc0b2;--ws-nav-caption:#acbeaf;
  --ws-nav-active-bg:#2d4939;--ws-nav-active-ink:#c0e3bf;--ws-accent-soft:#2d4939;--ws-accent-dark:#c0e3bf;
  --ws-hero-start:#2d4939;--blue-glow:rgba(165,213,168,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-plum"]{
  --bg:#f5f4f7;--panel:#ffffff;--surface:#fbfafb;--surface2:#efedf1;--border:#e0dce4;--border2:#c9c3d0;--text:#3d3149;
  --ink:#21182a;--muted:#635a6d;--muted2:#5e5667;--blue:#80539c;--primary:#80539c;--primary-control:#80539c;
  --primary-fg:#ffffff;--blue-dim:#f3edf8;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#80539c;--g-primary:#80539c;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#2d2436;--ws-nav-bg:#2d2436;--ws-nav-hover:#463652;
  --ws-nav-border:#3d3149;--ws-nav-text:#d4cddb;--ws-nav-ink:#f7f5fa;--ws-nav-muted:#b8afc0;--ws-nav-caption:#b5acbe;
  --ws-nav-active-bg:#f3edf8;--ws-nav-active-ink:#623b7c;--ws-accent-soft:#f3edf8;--ws-accent-dark:#623b7c;
  --ws-hero-start:#f3edf8;--blue-glow:rgba(128,83,156,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-plum"][data-theme="dark"]{
  --bg:#160f1c;--panel:#201828;--surface:#291f33;--surface2:#32273d;--border:#4a3d57;--border2:#5e4f6d;--text:#dbd6e1;
  --ink:#f5f3f7;--muted:#bab2c2;--muted2:#b0a7b9;--blue:#d0a9eb;--primary:#80539c;--primary-control:#80539c;
  --primary-fg:#ffffff;--blue-dim:#493650;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#80539c;--g-primary:#80539c;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#2d2436;--ws-nav-bg:#120c17;--ws-nav-hover:#261d2f;
  --ws-nav-border:#33293d;--ws-nav-text:#d4cddb;--ws-nav-ink:#f7f5fa;--ws-nav-muted:#b8afc0;--ws-nav-caption:#b5acbe;
  --ws-nav-active-bg:#493650;--ws-nav-active-ink:#dfc4f2;--ws-accent-soft:#493650;--ws-accent-dark:#dfc4f2;
  --ws-hero-start:#493650;--blue-glow:rgba(208,169,235,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-coral"]{
  --bg:#f7f5f4;--panel:#ffffff;--surface:#fbfafa;--surface2:#f1eeed;--border:#e4dedc;--border2:#d0c7c3;--text:#493831;
  --ink:#2a1d18;--muted:#6d5f5a;--muted2:#675b56;--blue:#ad5945;--primary:#ad5945;--primary-control:#ad5945;
  --primary-fg:#ffffff;--blue-dim:#fbefea;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#ad5945;--g-primary:#ad5945;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#392821;--ws-nav-bg:#392821;--ws-nav-hover:#53392f;
  --ws-nav-border:#493831;--ws-nav-text:#dbd1cd;--ws-nav-ink:#faf6f5;--ws-nav-muted:#c0b4af;--ws-nav-caption:#beb1ac;
  --ws-nav-active-bg:#fbefea;--ws-nav-active-ink:#8c3e2d;--ws-accent-soft:#fbefea;--ws-accent-dark:#8c3e2d;
  --ws-hero-start:#fbefea;--blue-glow:rgba(173,89,69,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-coral"][data-theme="dark"]{
  --bg:#1c130f;--panel:#281c18;--surface:#33251f;--surface2:#3d2d27;--border:#57443d;--border2:#6d584f;--text:#e1d9d6;
  --ink:#f7f4f3;--muted:#c2b7b2;--muted2:#b9aca7;--blue:#f2ad9b;--primary:#ad5945;--primary-control:#ad5945;
  --primary-fg:#ffffff;--blue-dim:#503a35;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#ad5945;--g-primary:#ad5945;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#392821;--ws-nav-bg:#17100c;--ws-nav-hover:#2f221d;
  --ws-nav-border:#3d2f29;--ws-nav-text:#dbd1cd;--ws-nav-ink:#faf6f5;--ws-nav-muted:#c0b4af;--ws-nav-caption:#beb1ac;
  --ws-nav-active-bg:#503a35;--ws-nav-active-ink:#f7c5b8;--ws-accent-soft:#503a35;--ws-accent-dark:#f7c5b8;
  --ws-hero-start:#503a35;--blue-glow:rgba(242,173,155,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-amber"]{
  --bg:#f7f6f4;--panel:#ffffff;--surface:#fbfbfa;--surface2:#f1f0ed;--border:#e4e1dc;--border2:#d0cbc3;--text:#493f31;
  --ink:#2a2318;--muted:#6d655a;--muted2:#676056;--blue:#936515;--primary:#936515;--primary-control:#936515;
  --primary-fg:#ffffff;--blue-dim:#fcf3dd;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#936515;--g-primary:#936515;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#342b1e;--ws-nav-bg:#342b1e;--ws-nav-hover:#4c3c29;
  --ws-nav-border:#493f31;--ws-nav-text:#dbd5cd;--ws-nav-ink:#faf8f5;--ws-nav-muted:#c0b9af;--ws-nav-caption:#beb7ac;
  --ws-nav-active-bg:#fcf3dd;--ws-nav-active-ink:#744d0b;--ws-accent-soft:#fcf3dd;--ws-accent-dark:#744d0b;
  --ws-hero-start:#fcf3dd;--blue-glow:rgba(147,101,21,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-amber"][data-theme="dark"]{
  --bg:#1c170f;--panel:#282118;--surface:#332b1f;--surface2:#3d3427;--border:#574c3d;--border2:#6d614f;--text:#e1dcd6;
  --ink:#f7f5f3;--muted:#c2bcb2;--muted2:#b9b2a7;--blue:#e8c978;--primary:#936515;--primary-control:#936515;
  --primary-fg:#ffffff;--blue-dim:#4b412d;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#936515;--g-primary:#936515;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#342b1e;--ws-nav-bg:#17130c;--ws-nav-hover:#2f281d;
  --ws-nav-border:#3d3529;--ws-nav-text:#dbd5cd;--ws-nav-ink:#faf8f5;--ws-nav-muted:#c0b9af;--ws-nav-caption:#beb7ac;
  --ws-nav-active-bg:#4b412d;--ws-nav-active-ink:#f3daa0;--ws-accent-soft:#4b412d;--ws-accent-dark:#f3daa0;
  --ws-hero-start:#4b412d;--blue-glow:rgba(232,201,120,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}
:root[data-brand-theme="workspace-graphite"]{
  --bg:#f4f5f7;--panel:#ffffff;--surface:#fafbfb;--surface2:#edeff1;--border:#dce0e4;--border2:#c3c9d0;--text:#313d49;
  --ink:#18212a;--muted:#5a636d;--muted2:#565e67;--blue:#38556e;--primary:#38556e;--primary-control:#38556e;
  --primary-fg:#ffffff;--blue-dim:#edf2f6;--teal:#0e7066;--teal-dim:#e0f1ee;--green:#2f7250;--green-dim:#e4f1e8;
  --good:#2f7250;--amber:#9a5a0e;--amber-dim:#fff3df;--red:#ab4a45;--red-dim:#f9eceb;--bad:#ab4a45;--purple:#6a4c9e;
  --purple-dim:#efeaf7;--orange:#a6531d;--brand:#38556e;--g-primary:#38556e;--g-info:#6a4c9e;--g-success:#2f7250;
  --g-warning:#9a5a0e;--g-danger:#ab4a45;--g-dark:#202b36;--ws-nav-bg:#202b36;--ws-nav-hover:#314253;
  --ws-nav-border:#313d49;--ws-nav-text:#cdd4db;--ws-nav-ink:#f5f7fa;--ws-nav-muted:#afb8c0;--ws-nav-caption:#acb5be;
  --ws-nav-active-bg:#edf2f6;--ws-nav-active-ink:#263d55;--ws-accent-soft:#edf2f6;--ws-accent-dark:#263d55;
  --ws-hero-start:#edf2f6;--blue-glow:rgba(56,85,110,.2);
  --sans:'Avenir Next',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--display:var(--sans);
  --radius:14px;--ctl-r:9px;--shadow-sm:0 1px 2px rgba(19,40,40,.05),0 4px 18px rgba(19,40,40,.04);
  --shadow-md:0 6px 24px rgba(19,40,40,.07);--shadow-lg:0 16px 48px rgba(19,40,40,.09);color-scheme:light;
}
:root[data-brand-theme="workspace-graphite"][data-theme="dark"]{
  --bg:#0f161c;--panel:#182028;--surface:#1f2933;--surface2:#27323d;--border:#3d4a57;--border2:#4f5e6d;--text:#d6dbe1;
  --ink:#f3f5f7;--muted:#b2bac2;--muted2:#a7b0b9;--blue:#aac7dd;--primary:#38556e;--primary-control:#38556e;
  --primary-fg:#ffffff;--blue-dim:#344759;--teal:#7fd4c3;--teal-dim:#1f433d;--green:#94d6ab;--green-dim:#25402f;
  --good:#94d6ab;--amber:#f1c07d;--amber-dim:#493a2c;--red:#f3a6a2;--red-dim:#4d3038;--bad:#f3a6a2;--purple:#c8b3ef;
  --purple-dim:#3a3150;--orange:#f0b07c;--brand:#38556e;--g-primary:#38556e;--g-info:#c8b3ef;--g-success:#94d6ab;
  --g-warning:#f1c07d;--g-danger:#f3a6a2;--g-dark:#202b36;--ws-nav-bg:#0c1217;--ws-nav-hover:#1d262f;
  --ws-nav-border:#29333d;--ws-nav-text:#cdd4db;--ws-nav-ink:#f5f7fa;--ws-nav-muted:#afb8c0;--ws-nav-caption:#acb5be;
  --ws-nav-active-bg:#344759;--ws-nav-active-ink:#c8dce9;--ws-accent-soft:#344759;--ws-accent-dark:#c8dce9;
  --ws-hero-start:#344759;--blue-glow:rgba(170,199,221,.2);--shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 24px rgba(0,0,0,.32);--shadow-lg:0 16px 48px rgba(0,0,0,.4);color-scheme:dark;
}

/* ── Workspace: structure ────────────────────────────────────────────────────────────────────────
   Scoped to the family, so every other identity keeps its own shell exactly. The rail is attached to
   the window edge on a dark ground and the top bar is flat and attached. The Atlas ground stays the
   person's own choice in Settings; off, the canvas is the plain workspace one. */
:root[data-brand-theme^="workspace-"]{--sb-w:252px;--sb-mini:78px}
html[data-brand-theme^="workspace-"] body :is(h1,h2,h3){letter-spacing:-.025em}

/* Doubled class: Glass paints the rail from a rule whose :is() list also names the header, which
   lifts it to (0,3,3); a light glass rail under the rail's light text is unreadable. */
html:root[data-brand-theme^="workspace-"] .sb-root.sb-root{background:var(--ws-nav-bg)!important;background-image:none!important;color:var(--ws-nav-text);
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-color:var(--ws-nav-border)!important}
html[data-brand-theme^="workspace-"] .sb-brand .t{color:var(--ws-nav-ink)}
html[data-brand-theme^="workspace-"] .sb-brand .s{color:var(--ws-nav-muted)}
/* The shell pins these three with !important at (0,2,0) against page CSS; the rail outranks that. */
html:root[data-brand-theme^="workspace-"] .sb-root .sb-toggle{background:var(--ws-nav-hover)!important;color:var(--ws-nav-muted)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-toggle:hover{color:var(--ws-nav-ink)!important}
html[data-brand-theme^="workspace-"] .sb-div{background:var(--ws-nav-border)}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-search{background:var(--ws-nav-hover)!important;border-color:var(--ws-nav-border)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-search:focus-within{border-color:var(--ws-nav-muted)!important;box-shadow:none!important}
html:root[data-brand-theme^="workspace-"] .sb-root :is(.sb-search-ic,.sb-gear),html:root[data-brand-theme^="workspace-"] .sb-root .sb-search-in::placeholder{color:var(--ws-nav-muted)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-search-in{color:var(--ws-nav-ink)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-gear:hover{background:var(--ws-nav-border);color:var(--ws-nav-ink)!important}
html[data-brand-theme^="workspace-"] .sb-search-kbd{background:transparent;border-color:var(--ws-nav-border);color:var(--ws-nav-muted)}
html[data-brand-theme^="workspace-"] .sb-grp{color:var(--ws-nav-caption);letter-spacing:.16em;padding-top:1.25em}
html[data-brand-theme^="workspace-"] .sb-item{color:var(--ws-nav-text);border-radius:.7em;font-weight:600}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-item:hover:not(.active){background:var(--ws-nav-hover)!important;color:var(--ws-nav-ink)}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-item.active{background:var(--ws-nav-active-bg)!important;box-shadow:0 5px 18px rgba(0,0,0,.18)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-item.active .sb-lbl{color:var(--ws-nav-active-ink)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-item:not(.active) .sb-lbl{color:inherit!important}
html[data-brand-theme^="workspace-"] .sb-result-name{color:var(--ws-nav-text)}
html[data-brand-theme^="workspace-"] .sb-result-sec,html[data-brand-theme^="workspace-"] .sb-nohit{color:var(--ws-nav-muted)}
html[data-brand-theme^="workspace-"] .sb-foot{border-top-color:var(--ws-nav-border)}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-foot-btn{color:var(--ws-nav-text)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-foot-btn .sb-ic{color:var(--ws-nav-muted)}
html:root[data-brand-theme^="workspace-"] .sb-root .sb-foot-btn:hover{color:var(--ws-nav-ink)!important}
html:root[data-brand-theme^="workspace-"] .sb-root .alpaca-legal{border-top-color:var(--ws-nav-border);color:var(--ws-nav-muted)}
html:root[data-brand-theme^="workspace-"] .sb-root .alpaca-legal a:hover{color:var(--ws-nav-ink)}
html[data-brand-theme^="workspace-"] .sb-nav-more{background:linear-gradient(to bottom,transparent,var(--ws-nav-bg) 70%);color:var(--ws-nav-muted)}

@media (min-width:1201px){
  html:root[data-brand-theme^="workspace-"] .sb-root{top:0!important;left:0!important;bottom:0!important;height:auto!important;border-radius:0!important;box-shadow:none!important;
    border:0!important;border-right:1px solid var(--ws-nav-border)!important}
  html[data-brand-theme^="workspace-"] body.sb-injected{padding-left:calc(var(--sb-w) + 32px)}
  html[data-brand-theme^="workspace-"] body.sb-injected.sb-mini{padding-left:calc(var(--sb-mini) + 32px)}
  html[data-brand-theme^="workspace-"][data-alpaca-shell="pending"] body:not([data-no-shell]){padding-left:calc(var(--sb-w) + 32px)}
  html[data-brand-theme^="workspace-"][data-alpaca-shell="pending"][data-alpaca-sidebar="mini"] body:not([data-no-shell]){padding-left:calc(var(--sb-mini) + 32px)}
  html[data-brand-theme^="workspace-"][data-alpaca-shell="pending"] body:not([data-no-shell])::before{top:0;bottom:0;left:0;border-radius:0;box-shadow:none;background:var(--ws-nav-bg)}
  /* The page's own header becomes the attached top bar: flat, full width of the content column. */
  html:root[data-brand-theme^="workspace-"] body.sb-injected>header,
  html:root[data-brand-theme^="workspace-"] body.sb-injected>header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop){
    top:0!important;margin:0 0 24px -32px!important;border:0!important;border-bottom:1px solid var(--border)!important;
    border-radius:0!important;box-shadow:none!important;background:var(--panel)!important;min-height:64px;
    width:auto!important;max-width:none!important;
    padding-left:28px!important;padding-right:28px!important}
  html:root[data-brand-theme^="workspace-"] body.sb-injected :not(body)>header:has(#alpacaHdrTheme,#alpacaHdrActivity,#alpacaHdrPop){
    top:0!important;box-shadow:none!important;border-radius:12px!important}
}
html[data-brand-theme^="workspace-"] body.sb-injected>header :is(.brand,.logo) :is(small,.sub,.logo-sub,.brand-sub){
  letter-spacing:.14em;color:var(--muted)}

/* ── Workspace components (ws-) ───────────────────────────────────────────────────────────────────
   One set of page parts every tool builds from — the reconciliation app's vocabulary: a page head,
   KPI strip, panels, badge tables, tabs, a right-hand drawer with an evidence timeline, and the one
   question shape the Report Writer and Calc Field Chain both ask in. Token-driven, so each reads
   correctly under any identity; the Workspace family is where they were drawn. */
.ws-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px}
.ws-page-head>div:first-child{flex:1 1 auto;min-width:0;max-width:780px}
.ws-page-head>.ws-actions{flex:0 0 auto}
.ws-eyebrow{display:block;font-size:10.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}
.ws-title{font-family:var(--display,var(--sans));font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.04em;margin:8px 0 6px;color:var(--ink)}
.ws-lede{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:680px}
.ws-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ws-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border2);background:var(--panel);color:var(--text);
  border-radius:var(--ctl-r,9px);padding:9px 14px;font:700 12.5px/1.2 var(--sans);cursor:pointer;white-space:nowrap;text-decoration:none}
.ws-btn:hover{border-color:var(--blue);color:var(--blue)}
.ws-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg,#fff)}
.ws-btn.primary:hover{filter:brightness(.94);color:var(--primary-fg,#fff)}
.ws-btn.ghost{background:transparent;border-color:transparent;color:var(--blue)}
.ws-btn.sm{padding:6px 10px;font-size:11.5px}
.ws-btn[disabled],.ws-btn.disabled{opacity:.55;cursor:not-allowed;filter:none}
.ws-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:0 0 22px}
.ws-kpi{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius,14px);
  padding:18px 20px;box-shadow:var(--shadow-sm);min-height:112px}
.ws-kpi-label{position:relative;z-index:1;display:block;font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.ws-kpi-value{position:relative;z-index:1;display:block;font:800 30px/1.25 var(--display,var(--sans));letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.ws-kpi-sub{position:relative;z-index:1;display:block;font-size:12px;color:var(--muted)}
button.ws-kpi{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
button.ws-kpi:hover{border-color:var(--border2)}
.ws-kpi.on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.ws-kpi.good .ws-kpi-value{color:var(--green)}.ws-kpi.warn .ws-kpi-value{color:var(--amber)}
.ws-kpi.info .ws-kpi-value{color:var(--blue)}.ws-kpi.bad .ws-kpi-value{color:var(--red)}
.ws-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius,14px);box-shadow:var(--shadow-sm);overflow:hidden}
.ws-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 14px;border-bottom:1px solid var(--border)}
.ws-panel-head h2{font-size:18px;line-height:1.25;margin:0;color:var(--ink)}
.ws-panel-head p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.ws-panel-body{padding:18px 22px}
.ws-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:18px;align-items:start}
.ws-stack{display:grid;gap:18px}
.ws-badge{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;
  background:var(--surface2);color:var(--muted)}
.ws-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ws-badge.good{background:var(--green-dim);color:var(--green)}.ws-badge.wait{background:var(--blue-dim);color:var(--blue)}
.ws-badge.warn{background:var(--amber-dim);color:var(--amber)}.ws-badge.bad{background:var(--red-dim);color:var(--red)}
.ws-table-wrap{overflow-x:auto}
.ws-table{border-collapse:collapse;width:100%}
.ws-table th{text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
  background:var(--surface);padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
.ws-table td{padding:13px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);vertical-align:middle}
.ws-table tr:last-child td{border-bottom:0}
.ws-table tbody tr:hover{background:var(--surface)}
.ws-table td.num,.ws-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.ws-table-foot{padding:12px 18px;background:var(--surface);border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.ws-tabs{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--border);margin:0 0 20px}
.ws-tabs>button,.ws-tabs>a{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:700 13px/1 var(--sans);
  padding:14px 1px 12px;white-space:nowrap;cursor:pointer;text-decoration:none}
.ws-tabs>:hover{color:var(--ink)}
.ws-tabs>.active,.ws-tabs>[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--primary)}
.ws-segmented{display:inline-flex;border:1px solid var(--border2);border-radius:var(--ctl-r,9px);overflow:hidden;background:var(--panel)}
.ws-segmented>button{border:0;background:transparent;color:var(--muted);padding:8px 12px;font:700 12px/1 var(--sans);cursor:pointer}
.ws-segmented>button.active,.ws-segmented>button[aria-pressed="true"]{background:var(--blue-dim);color:var(--ink)}
.ws-rows{display:grid}
.ws-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 22px;border:0;border-bottom:1px solid var(--border);background:transparent;
  text-align:left;color:inherit;text-decoration:none;cursor:pointer}
.ws-row:last-child{border-bottom:0}
.ws-row:hover{background:var(--surface)}
.ws-row-glyph{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:var(--amber-dim);color:var(--amber)}
.ws-row-glyph.good{background:var(--green-dim);color:var(--green)}.ws-row-glyph.info{background:var(--blue-dim);color:var(--blue)}
.ws-row-main{flex:1;min-width:0}
.ws-row-main b{display:block;font-size:13px;color:var(--ink)}
.ws-row-main span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.ws-row-arrow{color:var(--muted2);font-weight:800}
.ws-empty{padding:26px 22px;color:var(--muted);font-size:13px;text-align:center}
.ws-drawer-backdrop{position:fixed;inset:0;z-index:1190;background:rgba(10,24,24,.4)}
.ws-drawer{position:fixed;z-index:1200;top:0;right:0;bottom:0;width:min(520px,100vw);background:var(--panel);color:var(--text);
  box-shadow:-16px 0 60px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .22s ease;overflow:auto;padding:24px 26px 40px}
.ws-drawer.open{transform:none}
.ws-drawer-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.ws-drawer-head h2{margin:6px 0 0;font-size:24px;color:var(--ink)}
.ws-drawer-body{display:grid;gap:18px}
.ws-timeline{display:grid}
.ws-timeline-item{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;padding-bottom:16px}
.ws-timeline-item:not(:last-child)::before{content:"";position:absolute;left:10px;top:22px;bottom:2px;width:1px;background:var(--border2)}
.ws-timeline-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;background:var(--blue-dim);color:var(--blue)}
.ws-timeline-item.pending .ws-timeline-dot{background:var(--amber-dim);color:var(--amber)}
.ws-timeline-item b{display:block;font-size:13px;color:var(--ink)}
.ws-timeline-item span{display:block;font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5}
.ws-question{border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius,14px);background:var(--panel);
  padding:16px 18px;box-shadow:var(--shadow-sm)}
.ws-question.blocking{border-left-color:var(--amber)}
.ws-q-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ws-q-kind{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.ws-question.blocking .ws-q-kind{color:var(--amber)}
.ws-q-text{font-size:15px;color:var(--ink)}
.ws-q-why{margin:6px 0 12px;font-size:12.5px;color:var(--muted);line-height:1.5}
.ws-q-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.ws-q-option{display:grid;gap:3px;text-align:left;border:1px solid var(--border2);border-radius:var(--ctl-r,9px);background:var(--panel);
  padding:10px 12px;cursor:pointer;color:inherit;font:inherit}
.ws-q-option b{font-size:13px;color:var(--ink)}
.ws-q-option span{font-size:12px;color:var(--muted);line-height:1.4}
.ws-q-option:hover{border-color:var(--blue)}
.ws-q-option.recommended{border-color:var(--primary);background:var(--blue-dim)}
.ws-q-option.recommended b::after{content:"Recommended";margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
@media (max-width:1200px){.ws-grid{grid-template-columns:1fr}.ws-page-head{align-items:flex-start;flex-direction:column}}
@media (max-width:640px){.ws-kpis{grid-template-columns:1fr 1fr}.ws-kpi{min-height:96px;padding:14px}.ws-kpi-value{font-size:24px}
  .ws-panel-head,.ws-panel-body{padding-left:16px;padding-right:16px}.ws-row{padding-left:16px;padding-right:16px}}
