/* Original raster identity stays primary; optional 3D uses the existing theme. */
:root { --ws-brand-ready: 1; }
.ws-brand {
    position: relative; display: inline-flex; flex: 0 0 auto; vertical-align: middle;
    width: 200px; height: 70px; max-width: 100%; color: var(--ws-ink, #fff);
    font-family: var(--ws-font, system-ui, sans-serif); font-weight: 700; line-height: 1.2;
}
.ws-brand-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.ws-brand-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1rem; }
.ws-brand [hidden] { display: none !important; }
.ws-brand-fallback-short { display: none; }
.ws-brand--signet { width: 32px; height: 32px; }
.ws-brand--start { width: 48px; height: 48px; }
.ws-brand--start-lockup { width: 200px; height: auto; aspect-ratio: 20 / 7; }
body.workspace-shell .sidebar-brand.ws-brand-link { padding: 16px; min-height: 102px; }
body.workspace-shell .sidebar.collapsed .ws-brand--sidebar { width: 32px; height: 32px; }
body.workspace-shell .sidebar.collapsed .ws-brand-fallback-full { display: none; }
body.workspace-shell .sidebar.collapsed .ws-brand-fallback-short { display: inline; }
body.workspace-shell .ws-brand-link:focus-visible { outline: 3px solid var(--ws-accent); outline-offset: -3px; }
body.workspace-shell .ws-brand--mobile { display: none; }
body.workspace-shell #workspace-start-view .ws-start-brand-intro { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-space-md); min-width: 0; }
body.workspace-shell #workspace-start-view .ws-start-brand-copy { flex: 1 1 14rem; min-width: 0; }
.ws-login-brand { margin: 0 auto; font-size: 1.5rem; }
.ws-login-brand .ws-brand { color: #fff; }
.ws-brand-view-control { flex: 1 1 100%; min-width: 0; color: var(--ws-ink); }
.ws-brand-view-button { min-height: 44px; padding: .5rem .75rem; max-width: 100%; font: inherit; white-space: normal; overflow-wrap: anywhere; color: var(--ws-ink); background: var(--ws-surface); border: 1px solid var(--ws-line); border-radius: 6px; cursor: pointer; }
.ws-brand-view-button:hover:not(:disabled) { background: var(--ws-soft); }
.ws-brand-view-button:focus-visible { outline: 3px solid var(--ws-accent); outline-offset: 3px; }
.ws-brand-view-button:disabled { color: var(--ws-muted); cursor: default; }
.ws-brand-view-host { max-width: 32rem; margin-block: .5rem; }
.ws-brand-view-status { max-width: 65ch; color: var(--ws-ink); }
.ws-brand-view-tools { display: flex; flex-wrap: wrap; gap: .375rem; margin-block: .5rem; }
.ws-brand-view-stage { width: 100%; height: 18rem; max-height: 45vh; min-height: 10rem; background: var(--ws-soft); border-radius: 6px; overflow: hidden; }
.ws-brand-view-stage canvas { display: block; width: 100%; height: 100%; }
.ws-brand-view-control [hidden] { display: none !important; }
#workspace-atlas-view .ws-atlas-header > .ws-brand { float: inline-start; margin-inline-end: .75rem; }
@media (prefers-reduced-motion: reduce) { .ws-brand-view-control { scroll-behavior: auto; } }
@media (max-width: 900px) {
    body.workspace-shell .ws-brand--mobile { display: inline-flex; }
}
@media (forced-colors: active) {
    .ws-brand-view-stage canvas { visibility: hidden; }
    .ws-brand-view-control { color: CanvasText; }
    .ws-brand-view-button { color: ButtonText; border-color: ButtonText; background: Canvas; }
    .ws-brand-image { visibility: hidden; }
    .ws-brand .ws-brand-fallback[hidden],
    body.workspace-shell :is(#main-sidebar, .topbar, #workspace-start-view, #workspace-atlas-view) .ws-brand .ws-brand-fallback[hidden] { display: flex !important; }
    .ws-brand { color: CanvasText; }
}
