/* Opt-in Shikigami composition. Internal kg-* recipes are bounded to this workspace and browser-verified; shared library defaults remain untouched. */
.lacquer-workspace {
    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-base: .9375rem;
    --text-lg: 1.125rem;
    --text-xl: 1.375rem;
    --text-2xl: 1.875rem;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 18px;
    --control-height: 2.5rem;
    --control-height-sm: 2rem;
    --dur-fast: 140ms;
    --dur-base: 220ms;
    --dur-slow: 320ms;
    --workspace-activity-period: 900ms;
    --workspace-opacity: 88%;
    --workspace-blur: 16px;
    --workspace-highlight: light-dark(rgb(255 255 240 / 65%), rgb(245 240 201 / 12%));
    --shadow-1-light: 0 1px 3px rgb(34 45 25 / 8%);
    --shadow-1-dark: 0 1px 3px rgb(0 0 0 / 24%);
    --shadow-2-light: 0 5px 14px rgb(34 45 25 / 10%);
    --shadow-2-dark: 0 5px 14px rgb(0 0 0 / 32%);
    --shadow-3-light: 0 15px 35px rgb(34 45 25 / 15%);
    --shadow-3-dark: 0 15px 35px rgb(0 0 0 / 36%);
    --neutral-light: #596456;
    --neutral-dark: #aebe9d;
    --neutral-text-light: #596456;
    --neutral-text-dark: #c0ccb0;
    --neutral-subtle-light: #e4eadd;
    --neutral-subtle-dark: #293325;
    --info-light: #29578a;
    --info-dark: #9cc8ef;
    --info-text-light: #244e7d;
    --info-text-dark: #b1d5f6;
    --info-subtle-light: #e0eaf6;
    --info-subtle-dark: #1a3042;
    --success-light: #2e6b42;
    --success-dark: #a8d4a6;
    --success-text-light: #245d37;
    --success-text-dark: #b9dfb4;
    --success-subtle-light: #e0efde;
    --success-subtle-dark: #263d27;
    --warning-light: #9c5715;
    --warning-dark: #ebc784;
    --warning-text-light: #854810;
    --warning-text-dark: #f2d394;
    --warning-subtle-light: #f8ead2;
    --warning-subtle-dark: #44331e;
    --danger-light: #a33b37;
    --danger-dark: #e9aaa1;
    --danger-text-light: #92322d;
    --danger-text-dark: #f0bdb2;
    --danger-subtle-light: #f8e3dc;
    --danger-subtle-dark: #452724;
    --danger-hover-light: #8e2e2a;
    --danger-hover-dark: #f3bdb2;
    --danger-contrast-light: #fff8ec;
    --danger-contrast-dark: #321a17;
}
.lacquer-workspace[data-workspace-palette="jade"] {
    /* Leaf green separates successful outcomes from the sea-glass selection accent. */
    --success-light: #536b27;
    --success-dark: #c6d98c;
    --success-text-light: #445b1c;
    --success-text-dark: #d0e4a0;
    --success-subtle-light: #e6edcc;
    --success-subtle-dark: #343e20;
    --bg-light: #d5e7e0;
    --bg-dark: #091613;
    --surface-light: #f5f4e6;
    --surface-dark: #182a24;
    --surface-raised-light: #fffbea;
    --surface-raised-dark: #20352d;
    --surface-sunken-light: #e2ebdf;
    --surface-sunken-dark: #10221c;
    --surface-hover-light: #dceadf;
    --surface-hover-dark: #2a4136;
    --text-light: #243b30;
    --text-dark: #e0e5ce;
    --text-muted-light: #52644f;
    --text-muted-dark: #b3bea1;
    --text-subtle-light: #63765e;
    --text-subtle-dark: #96a88d;
    --border-light: #b9cfc1;
    --border-dark: #415d4e;
    --border-strong-light: #718b79;
    --border-strong-dark: #789a83;
    --accent-light: #236454;
    --accent-dark: #9dcebd;
    --accent-text-light: #1c594b;
    --accent-text-dark: #b8deca;
    --accent-hover-light: #194f42;
    --accent-hover-dark: #b4dfcd;
    --accent-contrast-light: #fff9e9;
    --accent-contrast-dark: #15271e;
    --accent-subtle-light: #d1e7d9;
    --accent-subtle-dark: #2a4436;
}
.lacquer-workspace[data-workspace-palette="amber"] {
    /* Warm stone keeps informational notices in the palette without borrowing warning gold. */
    --info-light: #655e55;
    --info-dark: #c9c1af;
    --info-text-light: #595247;
    --info-text-dark: #ded4bf;
    --info-subtle-light: #ece5d9;
    --info-subtle-dark: #363127;
    --bg-light: #edd4ad;
    --bg-dark: #170e09;
    --surface-light: #fff2dc;
    --surface-dark: #2a1c12;
    --surface-raised-light: #fff8e8;
    --surface-raised-dark: #332317;
    --surface-sunken-light: #f0dec0;
    --surface-sunken-dark: #20150d;
    --surface-hover-light: #f4dfbf;
    --surface-hover-dark: #3d2b1d;
    --text-light: #4c3021;
    --text-dark: #ecdbc0;
    --text-muted-light: #77563d;
    --text-muted-dark: #c4ac8c;
    --text-subtle-light: #835d3e;
    --text-subtle-dark: #ac9373;
    --border-light: #ddbb92;
    --border-dark: #61472d;
    --border-strong-light: #a67749;
    --border-strong-dark: #99784e;
    --accent-light: #a04926;
    --accent-dark: #edb66f;
    --accent-text-light: #8f3c1e;
    --accent-text-dark: #f1c38a;
    --accent-hover-light: #893b1c;
    --accent-hover-dark: #f5cb96;
    --accent-contrast-light: #fff7e8;
    --accent-contrast-dark: #301b0c;
    --accent-subtle-light: #f5ddbe;
    --accent-subtle-dark: #503520;
}

/* The frame keeps the shared scroll root, so QuicklinkNav and overlay locks still own the real content pane. */
.lacquer-workspace {
    --font-sans: "Atkinson Hyperlegible Next", system-ui, sans-serif;
    background: var(--bg);
    color: var(--text);
}
html[data-workspace-material="airy"] .lacquer-workspace { --workspace-opacity: 76%; }
.lacquer-workspace { --workspace-image-text: #fff8ec; --workspace-image-shade: rgb(7 18 14 / 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 .app-shell__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); }
.lacquer-workspace .app-shell__main > :first-child { animation: workspace-arrive var(--dur-base) var(--ease) both; }
@keyframes workspace-arrive { from { opacity: .75; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.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-menu__popup { background: var(--surface-raised); border-color: var(--border-strong); max-width: calc(100vw - var(--space-6)); }
.lacquer-workspace .kg-menu__item-label { white-space: normal; overflow-wrap: anywhere; }
.lacquer-workspace .kg-modal__panel { background: var(--surface); border-color: var(--border-strong); }
.lacquer-workspace .kg-modal::backdrop { background: color-mix(in srgb, var(--bg) 65%, transparent); backdrop-filter: none; }
.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) { transform: translateY(1px); }
.lacquer-workspace .kg-btn__spinner { animation-duration: var(--workspace-activity-period); }
.lacquer-workspace .kg-slider__input { min-width: 0; }
.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-shell__bottom: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 .app-shell__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) {
    .lacquer-workspace *, .lacquer-workspace *::before, .lacquer-workspace *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
    .lacquer-workspace .app-shell__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; }
}
