/* Workspace composition; identity and expressive UI inputs come from Kagaku.UI. */
.lacquer-workspace {
    --workspace-opacity: 88%;
    --workspace-blur: 16px;
    --backdrop-filter: none;
    --workspace-highlight: light-dark(rgb(255 255 255 / 65%), rgb(255 255 255 / 12%));
}
.lacquer-workspace[data-kg-preset="jade"] {
    --backdrop-color-light: rgb(7 18 14 / 50%);
    --backdrop-color-dark: rgb(7 18 14 / 65%);
}
.lacquer-workspace[data-kg-preset="amber"] {
    --backdrop-color-light: rgb(30 17 9 / 50%);
    --backdrop-color-dark: rgb(30 17 9 / 65%);
}
/* The app explicitly chooses its scaffold main as the page scroll owner; local panes declare their own regions. */
.lacquer-workspace {
    background: var(--bg);
    color: var(--text);
}
html[data-workspace-material="airy"] .lacquer-workspace { --workspace-opacity: 76%; }
.lacquer-workspace { --workspace-image-text: #fff; --workspace-image-shade: rgb(0 0 0 / 85%); }
.lacquer-workspace .lacquer-scaffold { position: relative; isolation: isolate; padding: 0; background: var(--bg); }
.lacquer-workspace .kg-scaffold__header { position: relative; z-index: 5; background: color-mix(in srgb, var(--surface) 78%, transparent); backdrop-filter: blur(var(--workspace-blur)); }
.lacquer-workspace .kg-scaffold__body { gap: 0; min-height: 0; }
.lacquer-workspace .lacquer-presence { position: absolute; inset-block: 0; inset-inline-start: 0; width: 53%; min-width: 0; min-height: 0; }
.lacquer-workspace .kg-scaffold__main { display: flex; flex-direction: column; position: relative; z-index: 2; margin: var(--space-4) var(--space-5) var(--space-5) 43%; border-radius: var(--radius-lg); background: transparent; scroll-padding-top: var(--space-5); }
.lacquer-workspace .home-page, .lacquer-workspace .profile-page, .lacquer-workspace .files-page { display: flex; flex-direction: column; flex: 1 0 auto; min-width: 0; }
.lacquer-workspace .workspace-page { flex: 1 0 auto; width: 100%; border-color: var(--border-strong); background: var(--surface); box-shadow: inset 0 1px 0 var(--workspace-highlight), var(--shadow-3); }
.lacquer-workspace .workspace-page > .kg-surface-frame__header { position: sticky; top: 0; z-index: 2; padding: var(--space-5); background: radial-gradient(ellipse at 115% 0, var(--accent) 0 18%, transparent 19%), radial-gradient(ellipse at 105% 0, var(--accent-subtle) 0 38%, transparent 39%), var(--surface-raised); }
.lacquer-workspace .workspace-page > .kg-surface-frame__body { padding: var(--space-5); }
/* Keep the glass frame opaque and stationary across file navigation; animating its ancestor
   also changes the backdrop-filter's compositing boundary and makes the surface flash. */
.lacquer-workspace .presence__orbit { animation: workspace-orbit 18s ease-in-out infinite alternate; }
@keyframes workspace-orbit { to { transform: rotate(-23deg) translateY(4px); } }
@supports (backdrop-filter: blur(1px)) {
    .lacquer-workspace .workspace-page {
        background: color-mix(in srgb, var(--surface) var(--workspace-opacity), transparent);
        backdrop-filter: blur(var(--workspace-blur)) saturate(.85);
    }
    .lacquer-workspace .familiar-configuration .kg-modal__panel { background: color-mix(in srgb, var(--surface) var(--workspace-opacity), transparent); backdrop-filter: blur(var(--workspace-blur)); }
    .lacquer-workspace .familiar-configuration .configuration-frame { background: transparent; }
}
.lacquer-workspace .kg-page { padding: var(--space-5); max-width: none; width: 100%; }
.lacquer-workspace .kg-page__head { gap: var(--space-4); flex-wrap: wrap; }
.lacquer-workspace .kg-card { background: color-mix(in srgb, var(--surface) 65%, transparent); border-color: var(--border); box-shadow: inset 0 1px 0 var(--workspace-highlight); }
.lacquer-workspace .kg-card__header { border-bottom-color: var(--border); }
.lacquer-workspace .kg-tabs__tab { border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.lacquer-workspace .kg-tabs__tab--active { background: var(--accent-subtle); }
.lacquer-workspace .kg-modal__panel { background: var(--surface); border-color: var(--border-strong); }
.lacquer-workspace .kg-btn { max-width: 100%; white-space: normal; min-height: var(--control-height); height: auto; transition: background-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); }
.lacquer-workspace .kg-btn:active:not(:disabled):not([aria-disabled="true"]) { transform: translateY(1px); }
.lacquer-workspace .kg-markdown { background: var(--surface); border-radius: var(--radius-sm); }
.lacquer-workspace .files__tree { background: var(--surface-sunken); }
.lacquer-workspace .profile { grid-template-columns: 10rem minmax(0, 1fr); }
.lacquer-workspace .app-status:empty { display: none; }
@media (max-width: 80rem) {
    .lacquer-workspace .profile { grid-template-columns: minmax(0, 1fr); }
    .lacquer-workspace .profile .kg-quicklink { display: none; }
    .lacquer-workspace .files { grid-template-columns: minmax(11rem, .65fr) minmax(0, 1.35fr); }
}
@media (max-width: 64rem) {
    .lacquer-workspace .kg-scaffold__body { flex-direction: column; gap: 0; }
    .lacquer-workspace .lacquer-presence { flex: 0 0 auto; }
    .lacquer-workspace .lacquer-presence { position: relative; width: 100%; }
    .lacquer-workspace .kg-scaffold__main { margin: 0 var(--space-3) var(--space-3); }
}
@media (max-width: 48rem) {
    .lacquer-workspace .lacquer-scaffold { padding: 0; }
    .lacquer-workspace .kg-page { padding: var(--space-4); }
    .lacquer-workspace .workspace-page > .kg-surface-frame__header, .lacquer-workspace .workspace-page > .kg-surface-frame__body { padding: var(--space-4); }
    .lacquer-workspace .kg-tabs--vertical { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .lacquer-workspace .kg-tabs--vertical > .kg-tabs__list { display: none; }
    .lacquer-workspace .kg-tabs--vertical > .kg-tabs__panel { min-width: 0; overflow-wrap: anywhere; }
    .lacquer-workspace .files { grid-template-columns: minmax(0, 1fr); }
    .lacquer-workspace .kg-breadcrumb { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    /* The app owns the orbit and overrides Button transitions; library parts own their motion. */
    .lacquer-workspace .presence__orbit { animation: none; }
    .lacquer-workspace .kg-btn { transition: none; }
}
@media (forced-colors: active) {
    .lacquer-workspace .kg-scaffold__main, .lacquer-workspace .kg-card, .lacquer-workspace .kg-modal__panel, .lacquer-workspace .kg-surface-frame, .lacquer-workspace .kg-surface-frame__header { background: Canvas !important; color: CanvasText; backdrop-filter: none; border-color: CanvasText; }
    .lacquer-workspace .presence__identity { background: Canvas; color: CanvasText; text-shadow: none; }
}

html[data-kg-reduced-motion] .lacquer-workspace .presence__orbit { animation: none; }
html[data-kg-reduced-motion] .lacquer-workspace .kg-btn { transition: none; }
