@xleddyl/nuxt-cms 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/module.d.mts +3 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +106 -10
- package/dist/runtime/app/components/cms/BrandMark.vue +16 -1
- package/dist/runtime/app/components/cms/WelcomeModal.vue +7 -1
- package/dist/runtime/app/layouts/cms-admin.vue +6 -3
- package/dist/runtime/assets/main.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,6 +56,13 @@ build stops with an explicit message if the client for the configured driver is
|
|
|
56
56
|
|
|
57
57
|
Then declare your content types in a `cms.config.ts` at the project root with `defineCmsConfig()`.
|
|
58
58
|
|
|
59
|
+
### Admin branding
|
|
60
|
+
|
|
61
|
+
`cms.admin.title`, `cms.admin.subtitle` and `cms.admin.logo` replace the name, the tagline and the
|
|
62
|
+
mark in the admin sidebar, mobile bar and login page. `logo` takes a URL or public path, a path to
|
|
63
|
+
an `.svg` file in the project (inlined, so it follows the light and dark theme) or raw `<svg>`
|
|
64
|
+
markup; see [Configuration](docs/configuration.md#admin-branding).
|
|
65
|
+
|
|
59
66
|
### Disabling the CMS
|
|
60
67
|
|
|
61
68
|
Keep the module in `modules[]` at all times and turn it off with the `enabled` option or the
|
package/dist/module.d.mts
CHANGED
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
-
import { existsSync } from 'node:fs';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
|
-
import {
|
|
4
|
+
import { extname, resolve, isAbsolute, join, relative, dirname } from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
6
|
import { defineNuxtModule, createResolver, useLogger, addImports, addTemplate, addServerPlugin, addTypeTemplate, addVitePlugin, addComponentsDir, addRouteMiddleware, extendPages, addServerHandler, resolvePath, addComponent } from '@nuxt/kit';
|
|
7
7
|
import tailwindcss from '@tailwindcss/vite';
|
|
@@ -18,6 +18,91 @@ import { createHash } from 'node:crypto';
|
|
|
18
18
|
import { readFile } from 'node:fs/promises';
|
|
19
19
|
import { routePathsFromDir, resolvePageRoutes } from '../dist/runtime/shared/page-routes.js';
|
|
20
20
|
|
|
21
|
+
const DEFAULT_BRAND_TITLE = "nuxt-cms";
|
|
22
|
+
const DEFAULT_BRAND_SUBTITLE = "Content studio";
|
|
23
|
+
const ROOT_ALIASES = ["~~/", "@@/"];
|
|
24
|
+
const SRC_ALIASES = ["~/", "@/"];
|
|
25
|
+
function sanitizeSvg(markup) {
|
|
26
|
+
let svg = markup.replace(/<\?xml[\s\S]*?\?>/gi, "").replace(/<!DOCTYPE[\s\S]*?>/gi, "").replace(/<!--[\s\S]*?-->/g, "").replace(/<script\b[\s\S]*?<\/script\s*>/gi, "").replace(/<script\b[^>]*\/>/gi, "").replace(/<foreignObject\b[\s\S]*?<\/foreignObject\s*>/gi, "").replace(/<foreignObject\b[^>]*\/>/gi, "").replace(/\s+on[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, "").replace(/\s+(?:xlink:)?href\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, "").trim();
|
|
27
|
+
const start = svg.search(/<svg\b/i);
|
|
28
|
+
if (start === -1) throw new Error("no <svg> element found");
|
|
29
|
+
svg = svg.slice(start);
|
|
30
|
+
return svg.replace(/<svg\b[^>]*>/i, (tag) => normalizeRootTag(tag));
|
|
31
|
+
}
|
|
32
|
+
function normalizeRootTag(tag) {
|
|
33
|
+
const attribute = (name) => tag.match(new RegExp(`\\s${name}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`, "i"));
|
|
34
|
+
const width = parseFloat(attribute("width")?.[1] ?? attribute("width")?.[2] ?? "");
|
|
35
|
+
const height = parseFloat(attribute("height")?.[1] ?? attribute("height")?.[2] ?? "");
|
|
36
|
+
let next = tag.replace(/\s(?:width|height)\s*=\s*(?:"[^"]*"|'[^']*')/gi, "");
|
|
37
|
+
if (!attribute("viewBox") && width > 0 && height > 0) {
|
|
38
|
+
next = next.replace(/<svg\b/i, `<svg viewBox="0 0 ${width} ${height}"`);
|
|
39
|
+
}
|
|
40
|
+
return next;
|
|
41
|
+
}
|
|
42
|
+
function isPublicReference(logo) {
|
|
43
|
+
return /^(?:https?:)?\/\//i.test(logo) || /^data:image\//i.test(logo) || logo.startsWith("/");
|
|
44
|
+
}
|
|
45
|
+
function projectFile(logo, paths) {
|
|
46
|
+
const rooted = ROOT_ALIASES.find((alias) => logo.startsWith(alias));
|
|
47
|
+
if (rooted) return resolve(paths.rootDir, logo.slice(rooted.length));
|
|
48
|
+
const sourced = SRC_ALIASES.find((alias) => logo.startsWith(alias));
|
|
49
|
+
if (sourced) return resolve(paths.srcDir, logo.slice(sourced.length));
|
|
50
|
+
return isAbsolute(logo) ? logo : resolve(paths.rootDir, logo);
|
|
51
|
+
}
|
|
52
|
+
function resolveBrandLogo(logo, paths) {
|
|
53
|
+
const value = logo?.trim() ?? "";
|
|
54
|
+
if (!value) return { logo: { kind: "default" }, file: null };
|
|
55
|
+
if (/^<svg[\s>]/i.test(value)) {
|
|
56
|
+
return { logo: { kind: "svg", markup: sanitizeSvgOption(value, "admin.logo") }, file: null };
|
|
57
|
+
}
|
|
58
|
+
if (isPublicReference(value)) {
|
|
59
|
+
return { logo: { kind: "image", src: value }, file: null };
|
|
60
|
+
}
|
|
61
|
+
const file = projectFile(value, paths);
|
|
62
|
+
if (!existsSync(file)) {
|
|
63
|
+
throw new Error(
|
|
64
|
+
`[nuxt-cms] admin.logo (${value}) points to a file that does not exist: ${file}. Use a path to an .svg file in the project, a public path such as '/logo.png', a URL, or inline <svg> markup.`
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
if (extname(file).toLowerCase() !== ".svg") {
|
|
68
|
+
throw new Error(
|
|
69
|
+
`[nuxt-cms] admin.logo (${value}) is not an .svg file. Only SVG files are read from the project: put the image in public/ and use its public path, for example '/${file.split(/[\\/]/).pop()}'.`
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
logo: { kind: "svg", markup: sanitizeSvgOption(readFileSync(file, "utf8"), value) },
|
|
74
|
+
file
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function sanitizeSvgOption(markup, source) {
|
|
78
|
+
try {
|
|
79
|
+
return sanitizeSvg(markup);
|
|
80
|
+
} catch {
|
|
81
|
+
throw new Error(`[nuxt-cms] admin.logo (${source}) does not contain an <svg> element.`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function resolveBrand(options, paths) {
|
|
85
|
+
const { logo, file } = resolveBrandLogo(options?.logo, paths);
|
|
86
|
+
return {
|
|
87
|
+
brand: {
|
|
88
|
+
title: options?.title?.trim() || DEFAULT_BRAND_TITLE,
|
|
89
|
+
subtitle: options?.subtitle === void 0 ? DEFAULT_BRAND_SUBTITLE : options.subtitle.trim(),
|
|
90
|
+
logo
|
|
91
|
+
},
|
|
92
|
+
file
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function renderBrandFile(brand) {
|
|
96
|
+
return [
|
|
97
|
+
`export const cmsBrand: {`,
|
|
98
|
+
` title: string`,
|
|
99
|
+
` subtitle: string`,
|
|
100
|
+
` logo: { kind: 'default' } | { kind: 'image'; src: string } | { kind: 'svg'; markup: string }`,
|
|
101
|
+
`} = ${JSON.stringify(brand, null, 2)}`,
|
|
102
|
+
``
|
|
103
|
+
].join("\n");
|
|
104
|
+
}
|
|
105
|
+
|
|
21
106
|
function componentPascalName(name) {
|
|
22
107
|
return name.split(/[-_\s]+/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
|
|
23
108
|
}
|
|
@@ -1201,7 +1286,10 @@ function resolveModuleOptions(options) {
|
|
|
1201
1286
|
configPath: options.configPath ?? "cms.config",
|
|
1202
1287
|
admin: {
|
|
1203
1288
|
email: options.admin?.email ?? "",
|
|
1204
|
-
password: options.admin?.password ?? ""
|
|
1289
|
+
password: options.admin?.password ?? "",
|
|
1290
|
+
title: options.admin?.title ?? "",
|
|
1291
|
+
subtitle: options.admin?.subtitle,
|
|
1292
|
+
logo: options.admin?.logo ?? ""
|
|
1205
1293
|
},
|
|
1206
1294
|
database: resolveDatabaseOptions(options.database),
|
|
1207
1295
|
media: resolveMediaOptions(options.media),
|
|
@@ -1555,13 +1643,9 @@ const module$1 = defineNuxtModule({
|
|
|
1555
1643
|
` dialect: '${dialect}',`,
|
|
1556
1644
|
` schema: '${toPosix(schemaTemplate.dst)}',`,
|
|
1557
1645
|
` out: '${toPosix(relativeMigrationsDir)}',`,
|
|
1558
|
-
driver === "postgres" ? ` dbCredentials: { url: process.env.NUXT_CMS_DATABASE_URL
|
|
1559
|
-
|
|
1560
|
-
)} },` : driver === "
|
|
1561
|
-
databaseUrl || `file:${toPosix(resolvedDbPath)}`
|
|
1562
|
-
)}, authToken: (process.env.NUXT_CMS_DATABASE_AUTH_TOKEN ?? ${JSON.stringify(
|
|
1563
|
-
databaseAuthToken
|
|
1564
|
-
)}) || undefined },` : driver === "d1" ? `` : ` dbCredentials: { url: ${JSON.stringify(toPosix(resolvedDbPath))} },`,
|
|
1646
|
+
driver === "postgres" ? ` dbCredentials: { url: process.env.NUXT_CMS_DATABASE_URL },` : driver === "libsql" ? databaseUrl ? ` dbCredentials: { url: process.env.NUXT_CMS_DATABASE_URL, authToken: process.env.NUXT_CMS_DATABASE_AUTH_TOKEN || undefined },` : ` dbCredentials: { url: ${JSON.stringify(
|
|
1647
|
+
`file:${toPosix(resolvedDbPath)}`
|
|
1648
|
+
)} },` : driver === "d1" ? `` : ` dbCredentials: { url: ${JSON.stringify(toPosix(resolvedDbPath))} },`,
|
|
1565
1649
|
`}`,
|
|
1566
1650
|
``
|
|
1567
1651
|
].join("\n")
|
|
@@ -1735,6 +1819,18 @@ const module$1 = defineNuxtModule({
|
|
|
1735
1819
|
},
|
|
1736
1820
|
{ nuxt: true, nitro: true }
|
|
1737
1821
|
);
|
|
1822
|
+
const brandPaths = {
|
|
1823
|
+
rootDir: nuxt.options.rootDir,
|
|
1824
|
+
srcDir: nuxt.options.srcDir ?? nuxt.options.rootDir
|
|
1825
|
+
};
|
|
1826
|
+
const { file: brandFile } = resolveBrand(resolved.admin, brandPaths);
|
|
1827
|
+
if (brandFile) nuxt.options.watch.push(brandFile);
|
|
1828
|
+
const brandTemplate = addTemplate({
|
|
1829
|
+
filename: "cms/brand.ts",
|
|
1830
|
+
write: true,
|
|
1831
|
+
getContents: () => renderBrandFile(resolveBrand(resolved.admin, brandPaths).brand)
|
|
1832
|
+
});
|
|
1833
|
+
nuxt.options.alias["#cms-brand"] = brandTemplate.dst;
|
|
1738
1834
|
addVitePlugin(tailwindcss());
|
|
1739
1835
|
addVitePlugin(svgLoader({ defaultImport: "url", svgoConfig: { plugins: ["prefixIds"] } }));
|
|
1740
1836
|
nuxt.options.css.push(
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<span
|
|
2
|
+
<span
|
|
3
|
+
v-if="cmsBrand.logo.kind === 'svg'"
|
|
4
|
+
class="cms-brand-logo"
|
|
5
|
+
:class="{ 'is-lg': size === 'lg' }"
|
|
6
|
+
aria-hidden="true"
|
|
7
|
+
v-html="cmsBrand.logo.markup"
|
|
8
|
+
/>
|
|
9
|
+
<img
|
|
10
|
+
v-else-if="cmsBrand.logo.kind === 'image'"
|
|
11
|
+
class="cms-brand-logo"
|
|
12
|
+
:class="{ 'is-lg': size === 'lg' }"
|
|
13
|
+
:src="cmsBrand.logo.src"
|
|
14
|
+
:alt="cmsBrand.title"
|
|
15
|
+
/>
|
|
16
|
+
<span v-else class="cms-brand-mark" :class="{ 'is-lg': size === 'lg' }" aria-hidden="true">
|
|
3
17
|
<svg viewBox="0 0 16 16" fill="none">
|
|
4
18
|
<path
|
|
5
19
|
d="M4.5 5.5h7M4.5 8h7M4.5 10.5h4"
|
|
@@ -12,6 +26,7 @@
|
|
|
12
26
|
</template>
|
|
13
27
|
|
|
14
28
|
<script setup>
|
|
29
|
+
import { cmsBrand } from "#cms-brand";
|
|
15
30
|
defineProps({
|
|
16
31
|
size: { type: String, required: false }
|
|
17
32
|
});
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<CmsModal
|
|
2
|
+
<CmsModal
|
|
3
|
+
:open="open"
|
|
4
|
+
size="sm"
|
|
5
|
+
:title="`Welcome to ${cmsBrand.title}`"
|
|
6
|
+
@update:open="(v) => !v && keep()"
|
|
7
|
+
>
|
|
3
8
|
<template #body>
|
|
4
9
|
<CmsForm :state="state" @submit="save">
|
|
5
10
|
<p class="cms-settings-hint">
|
|
@@ -32,6 +37,7 @@
|
|
|
32
37
|
|
|
33
38
|
<script setup>
|
|
34
39
|
import { MIN_PASSWORD_LENGTH } from "#nuxt-cms";
|
|
40
|
+
import { cmsBrand } from "#cms-brand";
|
|
35
41
|
import { computed, ref } from "#imports";
|
|
36
42
|
import { useCmsAccount } from "../../composables/cms-account";
|
|
37
43
|
import { useCmsToast } from "../../composables/cms-toast";
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
<div class="cms-sidebar-brand">
|
|
6
6
|
<CmsBrandMark />
|
|
7
7
|
<div class="cms-brand-text">
|
|
8
|
-
<span class="cms-brand-name">
|
|
9
|
-
<span class="cms-brand-meta">
|
|
8
|
+
<span class="cms-brand-name">{{ cmsBrand.title }}</span>
|
|
9
|
+
<span v-if="cmsBrand.subtitle" class="cms-brand-meta">{{
|
|
10
|
+
cmsBrand.subtitle
|
|
11
|
+
}}</span>
|
|
10
12
|
</div>
|
|
11
13
|
</div>
|
|
12
14
|
|
|
@@ -64,7 +66,7 @@
|
|
|
64
66
|
@click="navOpen = true"
|
|
65
67
|
/>
|
|
66
68
|
<CmsBrandMark />
|
|
67
|
-
<span class="cms-brand-name">
|
|
69
|
+
<span class="cms-brand-name">{{ cmsBrand.title }}</span>
|
|
68
70
|
</header>
|
|
69
71
|
<div class="cms-main-inner">
|
|
70
72
|
<slot />
|
|
@@ -82,6 +84,7 @@
|
|
|
82
84
|
<script setup>
|
|
83
85
|
import { computed, navigateTo, ref, useRoute, useUserSession, watch } from "#imports";
|
|
84
86
|
import cmsConfig from "#cms-config";
|
|
87
|
+
import { cmsBrand } from "#cms-brand";
|
|
85
88
|
import { useCmsTheme } from "../composables/cms-theme";
|
|
86
89
|
import { useCmsAccount } from "../composables/cms-account";
|
|
87
90
|
import { loadCmsSettings } from "../composables/cms-settings";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer theme, base, components, utilities;@import "tailwindcss/theme.css" layer(theme) theme(inline);.cms-scope{@import "tailwindcss/preflight.css" layer(base);@import "tailwindcss/utilities.css" layer(utilities) source(none)}@source "../app";.cms-scope,.cms-theme-preview-app,html:has(.cms-scope){--cms-canvas:light-dark(#f5f5f6,#0d0d0f);--cms-surface:light-dark(#fff,#141416);--cms-subtle:light-dark(#f7f7f8,#18181b);--cms-field:light-dark(#fff,#19191c);--cms-elevated:light-dark(#fff,#1c1c20);--cms-fill:light-dark(#efeff1,#222226);--cms-line:light-dark(#e7e7ea,#232327);--cms-line-strong:light-dark(#d8d8dd,#303036);--cms-field-line:light-dark(#dedee3,#2a2a30);--cms-text:light-dark(#111114,#f2f2f3);--cms-text-toned:light-dark(#3b3b42,#cdcdd3);--cms-text-muted:light-dark(#6b6b75,#9b9ba5);--cms-text-dimmed:light-dark(#9d9da7,#686872);--cms-accent:light-dark(#5b5bd6,#6466e9);--cms-accent-hover:light-dark(#4d4dc8,#7375ee);--cms-accent-text:light-dark(#5050cc,#a0a2f8);--cms-accent-contrast:#fff;--cms-accent-soft:color-mix(in oklab,var(--cms-accent) 11%,transparent);--cms-accent-line:color-mix(in oklab,var(--cms-accent) 34%,transparent);--cms-error:light-dark(#d9383a,#f47a7a);--cms-success:light-dark(#1d8a54,#5ccf90);--cms-warning:light-dark(#b5620b,#efb255);--cms-hover:color-mix(in oklab,var(--cms-text) 5%,transparent);--cms-press:color-mix(in oklab,var(--cms-text) 8%,transparent);--cms-font-ui:"Geist Variable","Geist",ui-sans-serif,system-ui,sans-serif;--cms-font-mono:"Geist Mono Variable","Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--cms-radius-xs:4px;--cms-radius-sm:6px;--cms-radius-md:8px;--cms-radius-lg:12px;--cms-radius-xl:14px;--cms-shadow-tint:light-dark(rgba(20,20,30,.06),rgba(0,0,0,.35));--cms-shadow-tint-strong:light-dark(rgba(20,20,30,.14),rgba(0,0,0,.6));--cms-highlight:light-dark(hsla(0,0%,100%,.9),hsla(0,0%,100%,.05));--cms-shadow-xs:0 1px 2px var(--cms-shadow-tint);--cms-shadow-sm:0 1px 2px var(--cms-shadow-tint),0 3px 8px -3px var(--cms-shadow-tint);--cms-shadow-raised:0 0 0 1px var(--cms-line),0 1px 2px var(--cms-shadow-tint);--cms-shadow-overlay:0 0 0 1px var(--cms-line),0 16px 40px -12px var(--cms-shadow-tint-strong),0 6px 14px -6px var(--cms-shadow-tint);--cms-scrim:light-dark(rgba(22,22,30,.22),rgba(0,0,0,.55));--cms-duration:140ms;--cms-duration-lg:260ms;--cms-ease:cubic-bezier(0.2,0,0,1);--cms-ease-out:cubic-bezier(0.16,1,0.3,1);--cms-ease-drawer:cubic-bezier(0.32,0.72,0,1);--cms-ease-spring:cubic-bezier(0.34,1.4,0.64,1);--ui-text-dimmed:var(--cms-text-dimmed);--ui-text-muted:var(--cms-text-muted);--ui-text-toned:var(--cms-text-toned);--ui-text:var(--cms-text-toned);--ui-text-highlighted:var(--cms-text);--ui-text-inverted:var(--cms-surface);--ui-bg:var(--cms-surface);--ui-bg-muted:var(--cms-canvas);--ui-bg-elevated:var(--cms-subtle);--ui-bg-accented:var(--cms-fill);--ui-bg-inverted:var(--cms-text);--ui-border:var(--cms-line);--ui-border-muted:var(--cms-line);--ui-border-accented:var(--cms-line-strong);--ui-border-inverted:var(--cms-text);--ui-primary:var(--cms-accent);--ui-accent:var(--cms-accent-text);--ui-error:var(--cms-error);--ui-success:var(--cms-success);--ui-warning:var(--cms-warning);--ui-radius:var(--cms-radius-md)}html:has(.cms-scope){background:var(--cms-canvas);color-scheme:light dark;overscroll-behavior-y:none}.cms-scope[data-theme=light],html:has(.cms-scope[data-theme=light]){color-scheme:light}.cms-scope[data-theme=dark],html:has(.cms-scope[data-theme=dark]){color-scheme:dark}.cms-scope,body:has(.cms-scope){color:var(--ui-text);font-family:var(--cms-font-ui);font-feature-settings:"ss01","cv11";font-size:.875rem;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.cms-scope){background:var(--cms-canvas);overscroll-behavior-y:none}body:has(.cms-scope) ::-moz-selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) ::selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) :is(.cms-scope,.cms-scope *){scrollbar-color:var(--cms-line-strong) transparent;scrollbar-width:thin}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar{height:10px;width:10px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-track{background:transparent}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb{background:var(--cms-line-strong);background-clip:content-box;border:3px solid transparent;border-radius:9999px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb:hover{background:var(--cms-text-dimmed);background-clip:content-box}.cms-display{font-weight:650;letter-spacing:-.025em}.cms-display,.cms-title{font-family:var(--cms-font-ui)}.cms-title{color:var(--ui-text-highlighted);font-weight:600;letter-spacing:-.015em}.cms-title-sm{font-size:.9375rem;line-height:1.4}.cms-title-md{font-size:1.5rem;letter-spacing:-.022em;line-height:1.2}.cms-title-lg{font-size:1.625rem;letter-spacing:-.025em;line-height:1.2}.cms-subtitle{color:var(--ui-text-muted);font-size:.875rem}.cms-accent{color:var(--cms-accent-text)}.cms-label{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.cms-mono{font-family:var(--cms-font-mono);font-size:.75rem;letter-spacing:-.01em}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],.__clickable):not(:disabled,[aria-disabled=true]){@apply cursor-pointer select-none}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],[role=radio]):focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-canvas{background-color:var(--cms-canvas)}.cms-card{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-panel{padding:1.5rem}.cms-shell,.cms-sidebar{background:var(--cms-canvas);display:flex;height:100dvh}.cms-sidebar{flex-direction:column;flex-shrink:0;gap:1.25rem;padding:.875rem .625rem .625rem;width:15rem}.cms-sidebar-brand{align-items:center;display:flex;gap:.625rem;padding:.25rem .375rem}.cms-brand-mark{background:var(--ui-bg-inverted);border-radius:var(--cms-radius-md);color:var(--ui-text-inverted);display:grid;flex:none;height:1.75rem;place-items:center;position:relative;width:1.75rem}.cms-brand-mark svg{height:62%;width:62%}.cms-brand-mark.is-lg{border-radius:var(--cms-radius-lg);height:2.75rem;width:2.75rem}.cms-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.cms-brand-name{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.01em}.cms-brand-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:1.125rem;margin-inline:-.25rem;min-height:0;overflow-y:auto;overscroll-behavior-y:none;padding:.125rem .25rem}.cms-sidebar-group{display:flex;flex-direction:column;gap:1px}.cms-sidebar-group>.cms-label{color:var(--ui-text-dimmed);font-size:.6875rem;letter-spacing:.01em;margin-bottom:.25rem;padding-inline:.5rem}.cms-sidebar-footer{display:flex;flex-direction:column;gap:.5rem}.cms-navlink{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:450;gap:.5rem;height:1.875rem;padding-inline:.5rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease)}.cms-navlink:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-navlink:active{scale:.985}.cms-navlink.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted);font-weight:500}.cms-navlink-icon{color:var(--ui-text-dimmed);transition:color var(--cms-duration) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-navlink:hover .cms-navlink-icon{color:var(--ui-text-muted)}.cms-navlink.is-active .cms-navlink-icon{animation:cms-icon-pop .36s var(--cms-ease-spring);color:var(--cms-accent-text)}.cms-account{align-items:center;border-radius:var(--cms-radius-md);display:flex;gap:.5rem;padding:.375rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease);width:100%}.cms-account.is-open,.cms-account:hover{background:var(--cms-hover)}.cms-account-more{color:var(--ui-text-dimmed);flex:none;transition:color var(--cms-duration) var(--cms-ease)}.cms-account.is-open .cms-account-more,.cms-account:hover .cms-account-more{color:var(--ui-text-highlighted)}.cms-avatar{background:var(--cms-accent);border-radius:9999px;color:var(--cms-accent-contrast);display:grid;flex:none;font-size:.75rem;font-weight:600;height:1.75rem;place-items:center;text-transform:uppercase;width:1.75rem}.cms-avatar.is-lg{font-size:1.0625rem;height:2.75rem;width:2.75rem}.cms-account-card{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.75rem;padding:.875rem 1rem}.cms-password-input .cms-field{font-family:var(--cms-font-mono);font-size:.8125rem;padding-right:5.75rem}.cms-password-input .cms-field::-moz-placeholder{font-family:var(--cms-font-ui)}.cms-password-input .cms-field::placeholder{font-family:var(--cms-font-ui)}.cms-password-actions{align-items:center;display:flex;gap:1px}.cms-password-action{border-radius:var(--cms-radius-sm);color:var(--ui-text-dimmed);display:grid;height:1.625rem;place-items:center;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:1.625rem}.cms-password-action:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-password-action:disabled{opacity:.4}.cms-password-action.is-done{color:var(--ui-success)}.cms-password-action>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-password-action:active>svg{transform:scale(.85)}.cms-credentials{animation:cms-enter .26s var(--cms-ease-out) backwards;background:color-mix(in oklab,var(--cms-accent) 4%,var(--cms-surface));border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.875rem;padding:1rem}.cms-credentials-list{display:grid;font-size:.8125rem;gap:.375rem 1.25rem;grid-template-columns:max-content minmax(0,1fr)}.cms-credentials-list dt{color:var(--ui-text-muted)}.cms-credentials-list dd{color:var(--ui-text-highlighted);overflow-wrap:anywhere}.cms-user-row{animation:cms-row-in .32s var(--cms-ease-out) backwards;background:var(--cms-surface);display:flex;flex-direction:column}.cms-user-row+.cms-user-row{border-top:1px solid var(--cms-line)}.cms-user-main{align-items:center;display:flex;gap:.75rem;padding:.625rem .75rem}.cms-user-actions{display:flex;gap:.125rem}.cms-user-reset{padding:0 .75rem .875rem}.cms-account-text{display:flex;flex:1;flex-direction:column;line-height:1.25;min-width:0}.cms-account-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-account-email{color:var(--ui-text-dimmed);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-main{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-xs);flex:1;height:calc(100dvh - 1rem);margin:.5rem .5rem .5rem 0;min-width:0;overflow-y:auto;overscroll-behavior-y:none;position:relative}.cms-main-inner{display:flex;flex-direction:column;margin-inline:auto;max-width:72rem;min-height:100%;padding:2.25rem 2.5rem 2.5rem;width:100%}.cms-sidebar-scrim,.cms-topbar{display:none}@media (max-width:767px){.cms-sidebar{border-right:1px solid var(--cms-line);box-shadow:var(--cms-shadow-overlay);inset:0 auto 0 0;position:fixed;transform:translateX(-105%);transition:transform .34s var(--cms-ease-drawer);width:16.5rem;z-index:70}.cms-shell.is-nav-open .cms-sidebar{transform:none}.cms-sidebar-scrim{background:var(--cms-scrim);display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--cms-duration-lg) var(--cms-ease);z-index:65}.cms-shell.is-nav-open .cms-sidebar-scrim{opacity:1;pointer-events:auto}.cms-topbar{align-items:center;backdrop-filter:blur(12px);background:color-mix(in oklab,var(--cms-surface) 82%,transparent);border-bottom:1px solid var(--cms-line);display:flex;gap:.5rem;height:3rem;padding-inline:.625rem;position:sticky;top:0;z-index:20}.cms-main{border:0;border-radius:0;box-shadow:none;height:100dvh;margin:0}.cms-main-inner{min-height:calc(100% - 3rem);padding:1.25rem 1rem 2rem}}.cms-page{animation:cms-enter .32s var(--cms-ease-out) backwards;display:flex;flex-direction:column;gap:1.5rem}.cms-page.is-fill{flex:1;min-height:0}.cms-page-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.cms-page-heading{display:flex;flex-direction:column;gap:.625rem;min-width:0}.cms-page-title-row{align-items:center;display:flex;gap:.75rem;min-width:0}.cms-page-icon{background:var(--cms-surface);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-raised),inset 0 -2px 0 var(--cms-subtle);color:var(--cms-accent-text);display:grid;flex:none;height:2.25rem;place-items:center;width:2.25rem}.cms-page-title-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.cms-page-description{color:var(--ui-text-muted);font-size:.8125rem}.cms-count{animation:cms-fade .4s var(--cms-ease) backwards;background:var(--cms-fill);border-radius:var(--cms-radius-sm);display:inline-flex;font-family:var(--cms-font-mono);font-size:.75rem;font-variant-numeric:tabular-nums;height:1.375rem;padding-inline:.4375rem}.cms-breadcrumb,.cms-count{align-items:center;color:var(--ui-text-muted)}.cms-breadcrumb{display:flex;font-size:.8125rem;font-weight:450;gap:.25rem;line-height:1.4}.cms-breadcrumb-link{border-radius:var(--cms-radius-xs);margin-inline:-.25rem 0;padding:.0625rem .25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-breadcrumb-link:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-breadcrumb-separator{color:var(--ui-text-dimmed)}.cms-tree{overflow:hidden}.cms-tree-row{align-items:center;animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);display:flex;gap:.75rem;min-height:3.25rem;padding:.5rem 1rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-tree-row+.cms-tree-row{border-top:1px solid var(--cms-line)}.cms-tree-row:hover{background-color:var(--cms-subtle)}.cms-tree-branch{color:var(--ui-text-dimmed);flex-shrink:0;transform:scaleY(-1) rotate(90deg);width:1rem}.cms-tree-doc{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);color:var(--ui-text-muted);display:grid;flex:none;height:1.75rem;place-items:center;width:1.75rem}.cms-tree-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-tree-path,.cms-tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-tree-path{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.71875rem}.cms-tree-meta{font-size:.75rem}.cms-tree-chevron,.cms-tree-meta{color:var(--ui-text-dimmed);flex-shrink:0}.cms-tree-chevron{transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-tree-row:hover .cms-tree-chevron{color:var(--ui-text-highlighted);transform:translateX(3px)}.cms-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.cms-toolbar-actions{flex-shrink:0;margin-left:auto}.cms-actions,.cms-toolbar-actions{align-items:center;display:flex;gap:.5rem}.cms-actions{flex-wrap:wrap}.cms-actions.is-end{justify-content:flex-end}.cms-spinner{align-items:center;animation:cms-fade .3s var(--cms-ease) .12s backwards;color:var(--ui-text-dimmed);display:flex;flex:1;justify-content:center;padding-block:2.5rem}.cms-spinner-ring{animation:cms-spin .7s linear infinite;border:2px solid var(--cms-line-strong);border-radius:9999px;border-top-color:var(--cms-accent-text);height:1.25rem;width:1.25rem}.cms-empty{align-items:center;animation:cms-fade .36s var(--cms-ease) backwards;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.375rem;isolation:isolate;overflow:hidden;padding:3.5rem 1.5rem;position:relative;text-align:center}.cms-empty:before{background-image:radial-gradient(circle at 1px 1px,var(--cms-line-strong) 1px,transparent 0);background-size:18px 18px;content:"";inset:0;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000,transparent 75%);opacity:.8;position:absolute;z-index:-1}.cms-empty.is-fill{flex:1;justify-content:center}.cms-empty-icon{animation:cms-float 4s ease-in-out infinite;background:var(--cms-surface);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised),0 6px 16px -6px var(--cms-shadow-tint-strong);color:var(--ui-text-muted);display:grid;height:2.75rem;margin-bottom:.625rem;place-items:center;width:2.75rem}.cms-empty>.cms-btn{margin-top:1rem}.cms-auth{align-items:center;display:flex;justify-content:center;min-height:100dvh;padding:1.5rem}.cms-auth-panel{gap:1.75rem;max-width:23rem;width:100%}.cms-auth-header,.cms-auth-panel{display:flex;flex-direction:column}.cms-auth-header{align-items:center;gap:.5rem;text-align:center}.cms-auth-header .cms-brand-mark{margin-bottom:.75rem}.cms-auth-card{border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-sm),0 24px 48px -24px var(--cms-shadow-tint-strong);padding:1.5rem}.cms-auth-footer{color:var(--ui-text-dimmed);font-size:.75rem;text-align:center}.cms-badge{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:9999px;color:var(--ui-text-toned);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;height:1.375rem;line-height:1;padding:0 .5rem;pointer-events:none;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-badge.is-draft:before,.cms-badge.is-published:before,.cms-badge.is-scheduled:before{border-radius:9999px;content:"";flex:none;height:.375rem;width:.375rem}.cms-badge.is-published{background:color-mix(in oklab,var(--cms-success) 10%,transparent);border-color:color-mix(in oklab,var(--cms-success) 24%,transparent);color:var(--cms-success)}.cms-badge.is-published:before{background:var(--cms-success);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-success) 22%,transparent)}.cms-badge.is-muted{background:var(--cms-fill);border-color:transparent;border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);font-family:var(--cms-font-mono);font-size:.6875rem;font-weight:400;height:1.25rem;letter-spacing:.02em;padding:0 .4375rem;text-transform:uppercase}.cms-badge.is-scheduled{background:color-mix(in oklab,var(--cms-warning) 10%,transparent);border-color:color-mix(in oklab,var(--cms-warning) 24%,transparent);color:var(--cms-warning)}.cms-badge.is-scheduled:before{box-shadow:inset 0 0 0 1.5px var(--cms-warning)}.cms-badge.is-draft{background:transparent;color:var(--ui-text-muted)}.cms-badge.is-draft:before{box-shadow:inset 0 0 0 1.5px var(--ui-text-dimmed)}.cms-dropzone{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem 1.5rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-dropzone>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-dropzone.is-over,.cms-dropzone:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--ui-text-highlighted)}.cms-dropzone.is-over>svg,.cms-dropzone:hover>svg{color:var(--cms-accent-text);transform:translateY(-2px)}.cms-dropzone.is-dense{flex-direction:row;gap:.625rem;padding:.875rem 1.25rem}.cms-dropzone.is-busy{opacity:.7;pointer-events:none}.cms-pill{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:9999px;color:var(--ui-text-muted);cursor:pointer;display:inline-flex;flex:none;font-size:.8125rem;font-weight:450;gap:.375rem;height:1.75rem;line-height:1;padding:0 .75rem;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-pill:hover{background:var(--cms-subtle);border-color:var(--cms-line-strong);color:var(--ui-text-highlighted)}.cms-pill:active{scale:.97}.cms-pill.is-active{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-pill.is-empty{border-style:dashed}.cms-folder-picker{display:flex;flex-direction:column;gap:.5rem}.cms-folder-picker-list{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);display:flex;flex-direction:column;gap:1px;max-height:16rem;overflow-y:auto;padding:.25rem}.cms-folder-picker-row{align-items:center;border-radius:var(--cms-radius-sm);color:var(--ui-text-toned);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;min-height:1.875rem;padding:.25rem .5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-folder-picker-row:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-folder-picker-row.is-active{background:var(--cms-accent-soft);color:var(--cms-accent-text)}.cms-folder-picker-row:disabled{cursor:not-allowed;opacity:.4}.cms-folder-picker-check{flex:none;margin-left:auto}.cms-folder-picker-empty{padding:.5rem .625rem}.cms-folder-picker-empty,.cms-form-hint{color:var(--ui-text-dimmed);font-size:.8125rem}.cms-dropzone-hint{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;gap:.3rem}@keyframes cms-rise{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes cms-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes cms-fade{0%{opacity:0}}@keyframes cms-row-in{0%{opacity:0;transform:translateY(4px)}}@keyframes cms-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes cms-spin{to{transform:rotate(1turn)}}@keyframes cms-icon-pop{40%{transform:scale(1.18)}}@keyframes cms-icon-spin{0%{opacity:.4;transform:rotate(-60deg) scale(.6)}}@keyframes cms-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cms-toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes cms-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes cms-shake{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}.cms-rise{animation:cms-rise .42s var(--cms-ease-out) both}.cms-rise.is-delayed{animation-delay:90ms}.cms-richtext{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);overflow:hidden;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease)}.cms-richtext:hover:not(:focus-within){border-color:var(--cms-line-strong)}.cms-richtext:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent)}.cms-richtext-toolbar{align-items:center;background:var(--cms-subtle);border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:1px;padding:.25rem}.cms-richtext-body{color:var(--ui-text-highlighted);font-size:.875rem;line-height:1.6;min-height:9rem;outline:none;padding:.75rem .875rem}.cms-richtext-body h2{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin:.75em 0 .35em}.cms-richtext-body h3{font-size:1.05rem;font-weight:600;margin:.75em 0 .35em}.cms-richtext-body p{margin:.35em 0}.cms-richtext-body ul{list-style:disc;padding-left:1.25rem}.cms-richtext-body ol{list-style:decimal;padding-left:1.25rem}.cms-richtext-body blockquote{border-left:2px solid var(--cms-accent-line);color:var(--ui-text-muted);padding-left:.75rem}.cms-richtext-body a{color:var(--cms-accent-text);text-decoration:underline;text-decoration-color:var(--cms-accent-line);text-underline-offset:2px}.cms-btn{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-md);display:inline-flex;font-weight:500;gap:.375rem;justify-content:center;letter-spacing:-.005em;line-height:1;min-height:var(--cms-btn-size);position:relative;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-btn:active:not(:disabled,[aria-disabled=true]){scale:.97}.cms-btn:disabled,.cms-btn[aria-disabled=true]{opacity:.5;pointer-events:none}.cms-btn.is-block{width:100%}.cms-btn.is-icon{justify-content:center;padding-inline:0;width:var(--cms-btn-size)}.cms-btn>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-btn:hover>svg[data-icon=arrow-left]{transform:translateX(-2px)}.cms-btn:hover>svg[data-icon=arrow-right]{transform:translateX(2px)}.cms-btn-xs{--cms-btn-size:1.5rem;border-radius:var(--cms-radius-sm);font-size:.75rem;padding:.125rem .5rem}.cms-btn-sm{--cms-btn-size:1.75rem;border-radius:7px;font-size:.8125rem;padding:.25rem .625rem}.cms-btn-md{--cms-btn-size:2.125rem;font-size:.8125rem;padding:.25rem .8125rem}.cms-btn-lg{--cms-btn-size:2.5rem;border-radius:10px;font-size:.875rem;padding:.375rem 1.125rem}.cms-btn-primary.cms-btn-solid{background:var(--cms-accent);border-color:color-mix(in oklab,var(--cms-accent) 82%,#000);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 1px 2px color-mix(in oklab,var(--cms-accent) 35%,transparent);color:var(--cms-accent-contrast)}.cms-btn-primary.cms-btn-solid:hover{background:var(--cms-accent-hover);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.22),0 2px 8px -2px color-mix(in oklab,var(--cms-accent) 60%,transparent)}.cms-btn-primary.cms-btn-solid:active{background:color-mix(in oklab,var(--cms-accent) 90%,#000)}.cms-btn-neutral.cms-btn-soft,.cms-btn-primary.cms-btn-soft{background:var(--cms-surface);border-color:var(--cms-field-line);box-shadow:var(--cms-shadow-xs),inset 0 -1px 0 var(--cms-subtle);color:var(--ui-text-highlighted)}.cms-btn-neutral.cms-btn-soft:hover,.cms-btn-primary.cms-btn-soft:hover{background:var(--cms-subtle);border-color:var(--cms-line-strong)}.cms-btn-neutral.cms-btn-soft:active,.cms-btn-primary.cms-btn-soft:active{background:var(--cms-fill)}.cms-btn-neutral.cms-btn-ghost,.cms-btn-primary.cms-btn-ghost{background:transparent;color:var(--ui-text-muted)}.cms-btn-neutral.cms-btn-ghost:hover,.cms-btn-primary.cms-btn-ghost:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-btn-neutral.cms-btn-ghost:active,.cms-btn-primary.cms-btn-ghost:active{background:var(--cms-press)}.cms-btn-neutral.cms-btn-solid{background:var(--cms-text);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.14);color:var(--cms-surface)}.cms-btn-neutral.cms-btn-solid:hover{background:color-mix(in oklab,var(--cms-text) 86%,var(--cms-surface))}.cms-btn-neutral.cms-btn-solid:active{background:color-mix(in oklab,var(--cms-text) 80%,var(--cms-surface))}.cms-btn-error.cms-btn-solid{background:var(--ui-error);border-color:color-mix(in oklab,var(--ui-error) 82%,#000);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);color:#fff}.cms-btn-error.cms-btn-solid:hover{background:color-mix(in oklab,var(--ui-error) 90%,#000)}.cms-btn-error.cms-btn-solid:active{background:color-mix(in oklab,var(--ui-error) 82%,#000)}.cms-btn-error.cms-btn-soft{background:color-mix(in oklab,var(--ui-error) 9%,transparent);border-color:color-mix(in oklab,var(--ui-error) 22%,transparent);color:var(--ui-error)}.cms-btn-error.cms-btn-soft:hover{background:color-mix(in oklab,var(--ui-error) 15%,transparent);border-color:color-mix(in oklab,var(--ui-error) 34%,transparent)}.cms-btn-error.cms-btn-soft:active{background:color-mix(in oklab,var(--ui-error) 20%,transparent)}.cms-btn-error.cms-btn-ghost{background:transparent;color:var(--ui-error)}.cms-btn-error.cms-btn-ghost:hover{background:color-mix(in oklab,var(--ui-error) 10%,transparent)}.cms-btn-error.cms-btn-ghost:active{background:color-mix(in oklab,var(--ui-error) 16%,transparent)}.cms-btn-success.cms-btn-solid{background:var(--ui-success);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);color:#fff}.cms-btn-success.cms-btn-solid:hover{background:color-mix(in oklab,var(--ui-success) 90%,#000)}.cms-btn-success.cms-btn-solid:active{background:color-mix(in oklab,var(--ui-success) 82%,#000)}.cms-btn-success.cms-btn-soft{background:color-mix(in oklab,var(--ui-success) 9%,transparent);border-color:color-mix(in oklab,var(--ui-success) 22%,transparent);color:var(--ui-success)}.cms-btn-success.cms-btn-soft:hover{background:color-mix(in oklab,var(--ui-success) 15%,transparent);border-color:color-mix(in oklab,var(--ui-success) 34%,transparent)}.cms-btn-success.cms-btn-soft:active{background:color-mix(in oklab,var(--ui-success) 20%,transparent)}.cms-btn-success.cms-btn-ghost{background:transparent;color:var(--ui-success)}.cms-btn-success.cms-btn-ghost:hover{background:color-mix(in oklab,var(--ui-success) 10%,transparent)}.cms-btn-success.cms-btn-ghost:active{background:color-mix(in oklab,var(--ui-success) 16%,transparent)}.cms-form{container-type:inline-size;display:flex;flex-direction:column;gap:1.375rem}.cms-tabs{align-items:center;align-self:flex-start;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:inline-flex;gap:2px;margin-bottom:.25rem;max-width:100%;overflow-x:auto;padding:2px}.cms-tab{border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;height:1.75rem;padding:0 .75rem;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-tab.is-active,.cms-tab:hover{color:var(--ui-text-highlighted)}.cms-tab.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised)}.cms-form-field{display:flex;flex-direction:column;gap:.4375rem}.cms-form-label-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-height:1.5rem}.cms-form-label{align-items:center;color:var(--ui-text-toned);display:inline-flex;font-size:.8125rem;font-weight:500;gap:.4375rem}.cms-form-label-icon{color:var(--ui-text-dimmed);flex:none;transition:color var(--cms-duration) var(--cms-ease)}.cms-form-field:focus-within .cms-form-label-icon{color:var(--cms-accent-text)}.cms-form-error,.cms-form-required{color:var(--ui-error)}.cms-form-required{margin-left:-.25rem}.cms-form-error{align-items:center;animation:cms-enter .26s var(--cms-ease-out) backwards;display:flex;font-size:.8125rem;gap:.375rem}.cms-form-field.is-error .cms-field,.cms-form-field.is-error .cms-richtext{animation:cms-shake .32s var(--cms-ease)}.cms-form-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.45;margin-top:-.125rem}.cms-form-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}.cms-form-main{display:flex;flex-direction:column;gap:1.375rem;min-width:0}.cms-form-section.is-titled{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-form-section-header{align-items:center;border-radius:var(--cms-radius-lg);display:flex;gap:.75rem;padding:.875rem 1rem;text-align:left;width:100%}.cms-form-section-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-form-section-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600}.cms-form-section-description{color:var(--ui-text-muted);font-size:.75rem}.cms-form-section-chevron{color:var(--ui-text-dimmed);flex:none;transition:transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-form-section.is-collapsed .cms-form-section-chevron{transform:rotate(-90deg)}.cms-form-rows{display:flex;flex-direction:column;gap:1.375rem}.cms-form-section.is-titled>.cms-form-rows{border-top:1px solid var(--cms-line);padding:1rem 1rem 1.125rem}.cms-form-row{display:grid;gap:1.375rem 1rem;grid-template-columns:minmax(0,1fr)}@container (min-width: 32rem){.cms-form-row{grid-template-columns:repeat(var(--cms-row-cols,1),minmax(0,1fr))}}.cms-form-actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.25rem}.cms-field{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--ui-radius);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-highlighted);line-height:1.25;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:100%}textarea.cms-field{line-height:1.5;min-height:0;padding-bottom:.5rem;padding-top:.5rem;resize:vertical}.cms-field::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-field::placeholder{color:var(--ui-text-dimmed)}.cms-field:hover:not(:focus,:focus-within){border-color:var(--cms-line-strong)}.cms-field:focus,.cms-field:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent);outline:none}.cms-field.is-error{border-color:var(--ui-error)}.cms-field:disabled{background:var(--cms-subtle);box-shadow:none;color:var(--ui-text-muted);cursor:not-allowed}.cms-field.is-error:focus,.cms-field.is-error:focus-within{border-color:var(--ui-error);box-shadow:0 0 0 3px color-mix(in oklab,var(--ui-error) 18%,transparent)}.cms-field-sm{font-size:.8125rem;min-height:1.75rem;padding:.25rem .625rem}.cms-field-md{font-size:.875rem;min-height:2.125rem;padding:.25rem .75rem}.cms-field-lg{font-size:.9375rem;min-height:2.5rem;padding:.375rem .875rem}.cms-field[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;-webkit-transition:opacity var(--cms-duration) var(--cms-ease);transition:opacity var(--cms-duration) var(--cms-ease)}.cms-field[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9}.cms-select-chevron{align-items:center;cursor:pointer;display:inline-flex;transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-select-chevron:hover{color:var(--ui-text-muted)}.cms-select-chevron.is-open{transform:rotate(180deg)}.cms-locale-switch{align-items:center;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);display:inline-flex;gap:1px;padding:2px}.cms-locale-option{border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);cursor:pointer;font-family:var(--cms-font-mono);font-size:.65625rem;letter-spacing:.04em;line-height:1.4;padding:.125rem .4375rem;position:relative;text-transform:uppercase;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-locale-option:hover:not(.is-active){color:var(--ui-text-highlighted)}.cms-locale-option.is-empty{color:var(--ui-text-dimmed)}.cms-locale-option.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--cms-accent-text)}.cms-input-wrap{align-items:center;display:flex;position:relative;width:100%}.cms-input-wrap .cms-field{width:100%}.cms-input-lead,.cms-input-trail{align-items:center;color:var(--ui-text-dimmed);display:flex;position:absolute;transition:color var(--cms-duration) var(--cms-ease)}.cms-input-lead{left:.6875rem;pointer-events:none}.cms-input-wrap:focus-within .cms-input-lead{color:var(--cms-accent-text)}.cms-input-trail{right:.375rem}.cms-input-wrap.has-lead .cms-field{padding-left:2.0625rem}.cms-switch{align-items:center;background:var(--cms-line-strong);border-radius:9999px;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);display:inline-flex;flex-shrink:0;height:1.25rem;position:relative;transition:background-color .2s var(--cms-ease);width:2.125rem}.cms-switch:hover{background:color-mix(in oklab,var(--cms-line-strong) 80%,var(--cms-text))}.cms-switch.is-on{background:var(--cms-accent)}.cms-switch.is-on:hover{background:var(--cms-accent-hover)}.cms-switch:after{background:#fff;border-radius:9999px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.04);content:"";height:1rem;left:.125rem;position:absolute;transition:transform .3s var(--cms-ease-spring),width .16s var(--cms-ease);width:1rem}.cms-switch.is-on:after{transform:translateX(.875rem)}.cms-switch:active:after{width:1.25rem}.cms-switch.is-on:active:after{transform:translateX(.625rem)}.cms-overlay{align-items:center;backdrop-filter:blur(3px);background:var(--cms-scrim);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:60}.cms-modal{background:var(--cms-surface);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-overlay);display:flex;flex-direction:column;max-height:calc(100dvh - 4rem);max-width:32rem;width:100%}.cms-modal.is-sm{max-width:26rem}.cms-modal.is-lg{max-width:50rem}.cms-modal-header{padding:1.125rem 1.25rem 0}.cms-modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem 1.25rem}.cms-modal-enter-active,.cms-modal-leave-active{transition:opacity var(--cms-duration-lg) var(--cms-ease)}.cms-modal-enter-active .cms-modal{transition:transform .36s var(--cms-ease-out),opacity var(--cms-duration-lg) var(--cms-ease);will-change:transform}.cms-modal-leave-active .cms-modal{transition:transform .18s var(--cms-ease),opacity .18s var(--cms-ease)}.cms-modal-enter-from,.cms-modal-leave-to{opacity:0}.cms-modal-enter-from .cms-modal,.cms-modal-leave-to .cms-modal{opacity:0;transform:translateY(8px) scale(.97)}.cms-kbd{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);display:inline-flex;font-family:var(--cms-font-mono);font-size:.6875rem;height:1.25rem;justify-content:center;line-height:1;min-width:1.25rem;padding:0 .3125rem}.cms-search-trigger{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-dimmed);cursor:text;display:flex;font-size:.8125rem;gap:.5rem;height:2rem;margin-top:-.5rem;padding:0 .375rem 0 .625rem;transition:border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-search-trigger:hover{border-color:var(--cms-line-strong);color:var(--ui-text-muted)}.cms-search-trigger:focus-visible{border-color:var(--cms-accent);box-shadow:0 0 0 3px var(--cms-accent-soft);outline:none}.cms-search-trigger-text{flex:1;text-align:left}.cms-search-overlay{align-items:flex-start;padding-top:min(14vh,8rem)}.cms-search{max-height:min(36rem,calc(100dvh - 6rem));max-width:40rem;overflow:hidden}.cms-search-bar{align-items:center;border-bottom:1px solid var(--cms-line);display:flex;gap:.625rem;padding:.75rem 1rem}.cms-search-bar-icon{color:var(--ui-text-dimmed)}.cms-search-bar .cms-spinner{flex:none;padding:0}.cms-search-bar .cms-spinner-ring{height:1rem;width:1rem}.cms-search-input{background:transparent;border:0;color:var(--ui-text-highlighted);flex:1;font-size:1rem;height:2rem;min-width:0;outline:none}.cms-search-input::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-search-input::placeholder{color:var(--ui-text-dimmed)}.cms-search-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.375rem}.cms-search-hint{color:var(--ui-text-muted);font-size:.8125rem;padding:1.25rem .75rem;text-align:center}.cms-search-group+.cms-search-group{margin-top:.375rem}.cms-search-group-title{align-items:baseline;color:var(--ui-text-muted);display:flex;font-size:.6875rem;font-weight:500;gap:.5rem;padding:.5rem .625rem .25rem}.cms-search-group-kind{color:var(--ui-text-dimmed);font-weight:400}.cms-search-option{align-items:flex-start;border-radius:var(--cms-radius-md);cursor:pointer;display:flex;gap:.625rem;padding:.5rem .625rem}.cms-search-option.is-active{background:var(--cms-accent-soft)}.cms-search-option-icon{color:var(--ui-text-dimmed);margin-top:.125rem}.cms-search-option.is-active .cms-search-option-icon{color:var(--cms-accent-text)}.cms-search-option-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-search-option-head{align-items:center;display:flex;gap:.5rem;min-width:0}.cms-search-option-title{color:var(--ui-text-highlighted);font-weight:500}.cms-search-option-meta,.cms-search-option-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-search-option-meta{color:var(--ui-text-muted);font-size:.75rem}.cms-search-snippet{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;color:var(--ui-text-toned);font-size:.8125rem;line-height:1.45}.cms-search-mark{background:color-mix(in oklab,var(--cms-warning) 26%,transparent);border-radius:2px;color:inherit}.cms-search-footer{border-top:1px solid var(--cms-line);color:var(--ui-text-dimmed);display:flex;flex-wrap:wrap;font-size:.6875rem;gap:1rem;padding:.5rem 1rem}.cms-search-footer span{align-items:center;display:inline-flex;gap:.25rem}.cms-form-field.is-search-focus{animation:cms-search-focus 2.4s var(--cms-ease);border-radius:var(--cms-radius-md)}@keyframes cms-search-focus{0%,60%{background:var(--cms-accent-soft);box-shadow:0 0 0 6px var(--cms-accent-soft)}to{background:transparent;box-shadow:0 0 0 6px transparent}}.cms-settings{flex-direction:row;height:min(42rem,calc(100dvh - 4rem));max-width:60rem;overflow:hidden}.cms-settings-nav{background:var(--cms-subtle);border-right:1px solid var(--cms-line);display:flex;flex:none;flex-direction:column;gap:1px;padding:.625rem;width:12.5rem}.cms-settings-close{margin-bottom:.5rem}.cms-settings-tab{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;height:2rem;padding-inline:.5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-settings-tab:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-settings-tab.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted)}.cms-settings-tab.is-danger{color:var(--ui-error)}.cms-settings-tab.is-danger:hover{background:color-mix(in oklab,var(--ui-error) 10%,transparent);color:var(--ui-error)}.cms-settings-nav-list{display:flex;flex:1;flex-direction:column;gap:1px;margin-inline:-.25rem;min-height:0;overflow-y:auto;padding-inline:.25rem}.cms-settings-nav-label{color:var(--ui-text-dimmed);font-size:.6875rem;font-weight:500;margin:.875rem 0 .25rem;padding-inline:.5rem}.cms-settings-entry{display:flex;flex-direction:column;gap:1rem;min-height:100%}.cms-settings-entry>*{flex-shrink:0}.cms-settings-entry-header{align-items:flex-start;border-bottom:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.875rem}.cms-settings-status{color:var(--ui-text-dimmed);flex:none;font-size:.75rem;padding-top:.25rem;transition:color var(--cms-duration) var(--cms-ease)}.cms-settings-status.is-saved{color:var(--ui-success)}.cms-settings-status.is-error{color:var(--ui-error)}.cms-settings-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.5rem}.cms-settings-subtitle{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;margin:.75rem 0 .375rem}.cms-settings-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-settings-columns>.cms-settings-list{margin-top:.75rem}.cms-settings-item{align-items:center;background:var(--cms-surface);display:flex;gap:.5rem;min-height:2.5rem;padding:.25rem .75rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-settings-item+.cms-settings-item{border-top:1px solid var(--cms-line)}.cms-settings-item.is-draggable{cursor:grab}.cms-settings-item.is-draggable:hover{background:var(--cms-subtle)}.cms-settings-item.is-dragging{opacity:.4}.cms-settings-drop-end.is-over:before,.cms-settings-item.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:.5rem;position:absolute;right:.5rem;top:-1px}.cms-settings-drop-end{height:.75rem;position:relative}.cms-settings-item.is-muted .cms-settings-item-label{color:var(--ui-text-muted)}.cms-settings-grip,.cms-settings-item-icon{color:var(--ui-text-dimmed);flex:none}.cms-settings-item-label{color:var(--ui-text-highlighted);flex:1;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-editor{display:flex;flex-direction:column;gap:.25rem}.cms-layout-areas{display:flex;flex-direction:column;margin-top:.5rem}.cms-layout-area{display:flex;flex-direction:column;gap:.5rem;min-width:0}.cms-layout-section{background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;padding:.25rem .5rem}.cms-layout-section.is-titled{background:var(--cms-surface);border-color:var(--cms-line);border-style:solid}.cms-layout-section-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.375rem .125rem .125rem}.cms-layout-chip,.cms-layout-row{display:flex;gap:.375rem}.cms-layout-chip{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-sm);box-shadow:var(--cms-shadow-xs);cursor:grab;flex:1;height:2.125rem;min-width:0;padding:0 .5rem;position:relative;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-layout-chip:hover{border-color:var(--cms-line-strong)}.cms-layout-chip.is-dragging{opacity:.35}.cms-layout-chip.is-blocked{border-color:var(--ui-error);cursor:not-allowed}.cms-layout-chip.is-drop-after:after,.cms-layout-chip.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;bottom:.25rem;content:"";position:absolute;top:.25rem;width:2px}.cms-layout-chip.is-drop-before:before{left:-.25rem}.cms-layout-chip.is-drop-after:after{right:-.25rem}.cms-layout-chip-label{color:var(--ui-text-highlighted);flex:1;font-size:.75rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-chip-tab{background:var(--cms-fill);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);flex:none;font-size:.625rem;line-height:1rem;padding:0 .3125rem}.cms-layout-gap{height:.375rem;position:relative;transition:height var(--cms-duration) var(--cms-ease)}.cms-layout-editor.is-dragging .cms-layout-gap{height:.75rem}.cms-layout-gap.is-over:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:0;margin-top:-1px;position:absolute;right:0;top:50%}.cms-layout-editor.is-dragging .cms-layout-gap.is-empty,.cms-layout-gap.is-empty{color:var(--ui-text-dimmed);display:grid;font-size:.75rem;height:2.5rem;place-items:center}.cms-layout-empty{border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);color:var(--ui-text-dimmed);display:grid;font-size:.75rem;min-height:5rem;padding:1rem;place-items:center;text-align:center;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-layout-empty.is-over{background:var(--cms-accent-soft);border-color:var(--cms-accent);color:var(--cms-accent-text)}.cms-settings-divider{border:0;border-top:1px solid var(--cms-line);margin:.375rem .25rem}.cms-settings-content{display:flex;flex:1;flex-direction:column;gap:1.25rem;min-width:0;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem}.cms-settings-content>.cms-title{border-bottom:1px solid var(--cms-line);padding-bottom:.875rem}.cms-settings-group{display:flex;flex-direction:column;gap:.75rem}.cms-settings-group+.cms-settings-group{border-top:1px solid var(--cms-line);padding-top:1.25rem}.cms-settings-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.cms-settings-heading{display:flex;flex-direction:column;gap:.125rem;min-width:0}.cms-settings-label{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-settings-hint{color:var(--ui-text-muted);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}.cms-theme-cards{display:grid;gap:.625rem;grid-template-columns:repeat(3,minmax(0,1fr))}.cms-theme-card{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.5rem;padding:.375rem;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease)}.cms-theme-card:hover{border-color:var(--cms-line-strong)}.cms-theme-card.is-active{border-color:var(--cms-accent);box-shadow:0 0 0 3px var(--cms-accent-soft)}.cms-theme-preview{border-radius:var(--cms-radius-md);box-shadow:inset 0 0 0 1px var(--cms-line);display:flex;height:4.5rem;overflow:hidden;position:relative}.cms-theme-preview-app{background:var(--cms-canvas);display:flex;flex:1;gap:.25rem;min-width:0;padding:.375rem 0 0 .375rem}.cms-theme-preview-app.is-light{color-scheme:light}.cms-theme-preview-app.is-dark{color-scheme:dark}.cms-theme-preview.is-system .cms-theme-preview-app.is-dark{clip-path:inset(50% 0 0 0);inset:0;position:absolute}.cms-theme-preview.is-system:after{background:var(--cms-line-strong);content:"";height:1px;inset:50% 0 auto;position:absolute}.cms-theme-preview-side{background:var(--cms-fill);border-radius:3px;flex:none;margin-bottom:.375rem;width:22%}.cms-theme-preview-panel{background:var(--cms-surface);border-radius:5px 0 0 0;box-shadow:inset 0 0 0 1px var(--cms-line);display:flex;flex:1;flex-direction:column;gap:.25rem;padding:.5rem .375rem}.cms-theme-preview-line{background:var(--cms-fill);border-radius:9999px;height:.25rem}.cms-theme-preview-line.is-accent{background:var(--cms-accent);width:45%}.cms-theme-preview-line.is-short{width:60%}.cms-theme-card-label{align-items:center;color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:0 .25rem .125rem}.cms-theme-card.is-active .cms-theme-card-label{color:var(--ui-text-highlighted)}.cms-theme-card-check{animation:cms-icon-pop .3s var(--cms-ease-spring);color:var(--cms-accent-text);margin-left:auto}@media (max-width:639px){.cms-settings{flex-direction:column;height:auto}.cms-settings-nav{align-items:center;border-bottom:1px solid var(--cms-line);border-right:0;flex:none;flex-direction:row;gap:.25rem;overflow-x:auto;width:auto}.cms-settings-nav-list{display:contents}.cms-settings-close,.cms-settings-nav .cms-settings-tab{flex:none;margin-bottom:0;width:auto}.cms-settings-divider,.cms-settings-nav-label{display:none}.cms-theme-cards{grid-template-columns:repeat(3,minmax(5.5rem,1fr))}}.cms-overlay-drawer{align-items:stretch;justify-content:flex-end;overflow:hidden;padding:.5rem;z-index:55}.cms-drawer{background:var(--cms-surface);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-overlay);display:flex;flex-direction:column;height:100%;max-width:46rem;overflow:hidden;width:100%}.cms-drawer-header{align-items:center;border-bottom:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;min-height:3.5rem;padding:.625rem .75rem .625rem 1.5rem}.cms-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:1.5rem}.cms-drawer-footer{align-items:center;background:var(--cms-subtle);border-top:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem .75rem 1.25rem}.cms-drawer-enter-active,.cms-drawer-leave-active{transition:opacity var(--cms-duration-lg) var(--cms-ease)}.cms-drawer-enter-active .cms-drawer{transition:transform .42s var(--cms-ease-drawer);will-change:transform}.cms-drawer-leave-active .cms-drawer{transition:transform .26s var(--cms-ease)}.cms-drawer-enter-from,.cms-drawer-leave-to{opacity:0}.cms-drawer-enter-from .cms-drawer,.cms-drawer-leave-to .cms-drawer{transform:translateX(calc(100% + 1rem))}.cms-menu{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);margin-top:.375rem;min-width:12rem;padding:.25rem;position:absolute;transform-origin:top left;z-index:50}.cms-menu.align-end{right:0;transform-origin:top right}.cms-menu-item{align-items:center;border-radius:var(--cms-radius-sm);color:var(--ui-text);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;min-height:1.875rem;padding:.25rem .5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-menu-item:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-menu-check{animation:cms-icon-pop .3s var(--cms-ease-spring);color:var(--cms-accent-text);margin-left:auto}.cms-popover{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);margin-top:.375rem;position:absolute;transform-origin:top left;z-index:50}.cms-selectmenu-input{background:transparent;color:var(--ui-text-highlighted);flex:1 1 0;min-width:4rem;outline:none;width:0}.cms-selectmenu-affix{color:var(--ui-text-dimmed);flex-shrink:0}.cms-selectmenu-panel{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);left:0;margin-top:.375rem;max-height:15rem;overflow-y:auto;padding:.25rem;position:absolute;right:0;transform-origin:top center;z-index:50}.cms-tag{align-items:center;animation:cms-pop .18s var(--cms-ease-out);background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);color:var(--ui-text-highlighted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:1.375rem;padding:0 .3125rem 0 .5rem}.cms-media-gallery{display:flex;flex-direction:column;gap:1.25rem;position:relative}.cms-media-source{color:var(--ui-text-dimmed);font-size:.75rem;margin-top:-.75rem}.cms-media-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.cms-blocks-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-blocks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-blocks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cms-block-tile{overflow:hidden;transition:opacity var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-block-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm)}.cms-block-tile.is-muted{opacity:.45}.cms-block-preview{align-items:center;aspect-ratio:4/3;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.cms-block-preview>img,.cms-block-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out);width:100%}.cms-block-tile:hover .cms-block-preview>img,.cms-block-tile:hover .cms-block-preview>video{transform:scale(1.03)}.cms-block-tile.is-media-only{cursor:grab}.cms-block-tile.is-media-only:focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-block-tile.is-media-only.is-dragging{cursor:grabbing}.cms-block-tile.is-media-only .cms-block-preview{aspect-ratio:1}.cms-block-remove{backdrop-filter:blur(6px);background:rgba(0,0,0,.55);border-radius:9999px;color:#fff;display:grid;height:1.5rem;opacity:0;place-items:center;position:absolute;right:.375rem;scale:.85;top:.375rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease);width:1.5rem;z-index:1}.cms-block-tile:focus-within .cms-block-remove,.cms-block-tile:hover .cms-block-remove{opacity:1;scale:1}.cms-block-remove:hover{background:var(--cms-error)}@media (hover:none){.cms-block-remove{opacity:1;scale:1}}.cms-block-missing{background:var(--ui-warning);border-radius:9999px;bottom:.375rem;color:#fff;display:grid;height:1.5rem;left:.375rem;place-items:center;position:absolute;width:1.5rem}.cms-block-summary{color:var(--ui-text-muted);font-size:.75rem;line-height:1.5;padding:.75rem;text-align:left}.cms-block-hidden{color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0/.6));left:.5rem;position:absolute;top:.5rem}.cms-block-tile.is-dragging{opacity:.4;transform:scale(.98)}.cms-block-tile.is-drop-target{outline:2px solid var(--cms-accent);outline-offset:2px}.cms-block-bar{border-top:1px solid var(--cms-line);gap:.25rem;padding:.3125rem}.cms-block-bar,.cms-block-grip{align-items:center;display:flex}.cms-block-grip{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:grab;justify-content:center;padding:.25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-block-grip:hover{background:var(--cms-hover);color:var(--ui-text-muted)}.cms-block-tile.is-dragging .cms-block-grip{cursor:grabbing}.cms-block-bar-name{color:var(--ui-text-toned);flex:1;font-size:.75rem;font-weight:500;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;white-space:nowrap}.cms-block-bar-actions{align-items:center;display:flex;gap:1px}.cms-block-add{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);display:flex;flex-direction:column;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;min-height:6rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-block-add:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-media-gallery.is-compact{gap:1rem}.cms-media-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.cms-media-search{flex:1 1 16rem;min-width:0}.cms-media-search-clear{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:pointer;display:flex;padding:.1875rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-media-search-clear:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-media-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.cms-media-view-toggle{background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:inline-flex;gap:2px;padding:2px}.cms-media-view-toggle .cms-btn{--cms-btn-size:1.625rem;border-radius:var(--cms-radius-sm)}.cms-media-view-toggle .cms-btn-soft{background:var(--cms-surface);border-color:transparent;box-shadow:var(--cms-shadow-raised)}.cms-media-nav{gap:.5rem;justify-content:space-between;min-height:1.75rem}.cms-media-crumbs,.cms-media-nav{align-items:center;display:flex;flex-wrap:wrap}.cms-media-crumbs{gap:.125rem;min-width:0}.cms-media-crumb{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;height:1.75rem;padding:0 .5rem;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-media-crumb:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-media-crumb.is-current,.cms-media-crumb.is-current:hover{background:transparent;color:var(--ui-text-highlighted);cursor:default}.cms-media-crumb.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-media-folder-actions{align-items:center;display:flex;gap:.25rem}.cms-media-progress{animation:cms-enter .26s var(--cms-ease-out) backwards;background:var(--cms-accent-soft);border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-md);color:var(--cms-accent-text);font-size:.8125rem;overflow:hidden;padding:.5rem .75rem;position:relative}.cms-media-progress,.cms-media-selection{align-items:center;display:flex;gap:.5rem}.cms-media-selection{animation:cms-pop .2s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:0 0 0 1px var(--cms-accent-line),0 12px 28px -10px var(--cms-shadow-tint-strong);flex-wrap:wrap;padding:.3125rem .375rem .3125rem .875rem;position:sticky;top:.75rem;z-index:5}.cms-media-selection-count{align-items:center;color:var(--ui-text-highlighted);display:inline-flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.5rem}.cms-media-selection-count:before{background:var(--cms-accent);border-radius:9999px;box-shadow:0 0 0 3px var(--cms-accent-soft);content:"";height:.5rem;width:.5rem}.cms-media-selection-actions{align-items:center;display:flex;gap:.375rem;margin-left:auto}.cms-media-section{display:flex;flex-direction:column;gap:.625rem}.cms-media-section-title{align-items:center;color:var(--ui-text-muted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem}.cms-media-folders{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.cms-media-gallery.is-compact .cms-media-folders{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.cms-media-folder-tile{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);cursor:pointer;display:flex;gap:.75rem;min-width:0;padding:.625rem .75rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-folder-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-1px)}.cms-media-folder-tile.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-media-folder-tile-icon{background:var(--cms-accent-soft);border-radius:var(--cms-radius-md);box-sizing:content-box;color:var(--cms-accent-text);flex:none;height:1.125rem;padding:.4375rem;width:1.125rem}.cms-media-folder-tile-text{display:flex;flex-direction:column;min-width:0}.cms-media-folder-tile-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder-tile-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-media-row.is-checked,.cms-media-tile.is-checked{border-color:var(--cms-accent)}.cms-media-tile.is-checked{box-shadow:0 0 0 3px var(--cms-accent-soft)}.cms-media-row.is-checked{background:var(--cms-accent-soft)}.cms-media-tile.is-checked .cms-media-preview>img,.cms-media-tile.is-checked .cms-media-preview>video{border-radius:var(--cms-radius-md);transform:scale(.94)}.cms-media-row.is-dragging,.cms-media-tile.is-dragging{opacity:.45}.cms-media-check{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.3);border:1.5px solid hsla(0,0%,100%,.9);border-radius:9999px;color:transparent;cursor:pointer;display:flex;height:1.25rem;justify-content:center;left:.5rem;opacity:0;position:absolute;scale:.85;top:.5rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.25rem;z-index:1}.cms-media-check.is-on,.cms-media-check.is-visible,.cms-media-tile:focus-visible .cms-media-check,.cms-media-tile:hover .cms-media-check{opacity:1;scale:1}.cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent);color:var(--cms-accent-contrast)}.cms-media-row .cms-media-check{backdrop-filter:none;background:var(--cms-field);border-color:var(--cms-line-strong);border-radius:var(--cms-radius-xs);flex:none;height:1rem;position:static;width:1rem}.cms-media-row .cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-media-grid.is-recent{gap:.5rem;grid-template-columns:repeat(6,minmax(0,1fr))}.cms-media-grid.is-recent .cms-media-tile{border-radius:var(--cms-radius-md)}.cms-media-list{display:flex;flex-direction:column;overflow:hidden}.cms-media-row{align-items:center;animation:cms-row-in .32s var(--cms-ease-out) backwards;border:1px solid transparent;border-bottom:1px solid var(--cms-line);cursor:pointer;display:flex;gap:.875rem;padding:.4375rem .875rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-row:last-child{border-bottom-color:transparent}.cms-media-row:hover{background:var(--cms-subtle)}.cms-media-row-name{color:var(--ui-text-highlighted);display:flex;flex:1;flex-direction:column;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-row-cell{color:var(--ui-text-muted);flex:none;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;width:5.5rem}.cms-media-row-cell.is-mono{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem;text-transform:uppercase;width:3.5rem}@media (max-width:640px){.cms-media-row-cell.is-wide{display:none}.cms-media-grid.is-recent{grid-template-columns:repeat(3,minmax(0,1fr))}}.cms-media-drop-overlay{align-items:center;animation:cms-fade .16s var(--cms-ease);backdrop-filter:blur(4px);background:color-mix(in oklab,var(--cms-surface) 84%,transparent);border:1.5px dashed var(--cms-accent);border-radius:var(--cms-radius-xl);color:var(--ui-text-highlighted);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;inset:-.5rem;justify-content:center;pointer-events:none;position:absolute;z-index:10}.cms-media-drop-overlay>svg{animation:cms-float 1.6s ease-in-out infinite}.cms-media-drop-overlay strong,.cms-media-drop-overlay>svg{color:var(--cms-accent-text)}.cms-media-upload-hint{margin-top:.75rem;text-align:center}.cms-media-detail{display:flex;flex-direction:column;gap:1.5rem}.cms-media-detail-preview{align-items:center;background:repeating-conic-gradient(var(--cms-subtle) 0 25%,var(--cms-surface) 0 50%) 50% /1.25rem 1.25rem;border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);color:var(--ui-text-dimmed);display:flex;justify-content:center;max-height:24rem;min-height:12rem;overflow:hidden}.cms-media-detail-preview>img,.cms-media-detail-preview>video{animation:cms-fade .3s var(--cms-ease);max-height:24rem;max-width:100%;-o-object-fit:contain;object-fit:contain}.cms-media-detail-facts{background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:grid;font-size:.8125rem;gap:.5rem 1.5rem;grid-template-columns:max-content minmax(0,1fr);padding:.875rem 1rem}.cms-media-detail-facts dt{color:var(--ui-text-muted)}.cms-media-detail-facts dd{color:var(--ui-text-highlighted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-detail-facts dd.is-mono{font-family:var(--cms-font-mono);font-size:.75rem;line-height:1.6}.cms-media-detail-usage{display:flex;flex-direction:column;gap:.625rem}.cms-media-usage-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-media-usage-list li+li{border-top:1px solid var(--cms-line)}.cms-media-usage-link{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-usage-link:hover{background:var(--cms-subtle)}.cms-media-usage-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-usage-meta{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-media-usage-badge{align-items:center;color:var(--cms-accent-text);display:inline-flex;flex:none;font-size:.6875rem;font-weight:500;gap:.25rem;white-space:nowrap}.cms-media-usage-badge.is-unused{color:var(--ui-text-dimmed);font-weight:400}.cms-media-row-cell.is-usage{width:7.5rem}.cms-confirm-groups{display:flex;flex-direction:column;gap:.875rem;max-height:min(50vh,24rem);overflow-y:auto}.cms-confirm-group{display:flex;flex-direction:column;gap:.375rem}.cms-confirm-group-title{color:var(--ui-text-toned);font-family:var(--cms-font-mono);font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-grid{display:grid;gap:.875rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(5,minmax(0,1fr))}}.cms-media-tile{overflow:hidden;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-grid>.cms-media-tile{animation:cms-row-in .38s var(--cms-ease-out) backwards}.cms-media-tile.is-selectable{cursor:pointer}.cms-media-tile.is-selectable:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-2px)}.cms-media-preview{align-items:center;aspect-ratio:1;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative}.cms-media-preview>img,.cms-media-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out),border-radius var(--cms-duration-lg) var(--cms-ease);width:100%}.cms-media-tile.is-selectable:hover:not(.is-checked) .cms-media-preview>img,.cms-media-tile.is-selectable:hover:not(.is-checked) .cms-media-preview>video{transform:scale(1.04)}.cms-media-info{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);bottom:0;color:#fff;font-family:var(--cms-font-mono);font-size:.6875rem;left:0;letter-spacing:.02em;line-height:1.4;opacity:0;padding:1.75rem .625rem .5rem;pointer-events:none;position:absolute;right:0;text-transform:uppercase;transform:translateY(4px);transition:opacity var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-tile:focus-visible .cms-media-info,.cms-media-tile:hover .cms-media-info{opacity:1;transform:none}.cms-media-meta{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding:.5625rem .75rem}.cms-media-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-folder,.cms-media-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;font-weight:400;gap:.25rem}.cms-media-single{max-width:15rem;width:100%}.cms-block-tile.is-missing{border-color:color-mix(in oklab,var(--ui-warning) 55%,transparent)}.cms-media-missing{align-items:center;font-size:.75rem;gap:.375rem}.cms-media-missing,.cms-media-missing-icon{color:var(--ui-warning);display:flex}.cms-media-thumb{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);height:2rem;-o-object-fit:cover;object-fit:cover;width:2rem}.cms-media-thumb.is-fallback{align-items:center;color:var(--ui-text-dimmed);display:flex;justify-content:center}.cms-media-thumb-empty{color:var(--ui-text-dimmed)}.cms-table-shell{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.cms-table-scroll{flex:1;min-height:0;overflow:auto}.cms-table{border-collapse:collapse;min-width:-moz-max-content;min-width:max-content;text-align:left;width:100%}.cms-table td,.cms-table th{white-space:nowrap}.cms-table thead{background:var(--cms-subtle);position:sticky;top:0;z-index:10}.cms-table th{background:var(--cms-subtle);box-shadow:inset 0 -1px 0 var(--cms-line);color:var(--ui-text-muted);font-size:.75rem;font-weight:500;height:2.375rem;line-height:1.4;padding:0 1rem;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-table td{color:var(--ui-text);font-size:.8125rem;height:3rem;padding:0 1rem}.cms-table td.cms-table-check-cell+td,.cms-table td:first-child:not(.cms-table-check-cell){color:var(--ui-text-highlighted);font-weight:500}.cms-table tbody tr{animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);border-bottom:1px solid var(--cms-line);transition:background-color var(--cms-duration) var(--cms-ease)}.cms-table tbody tr:last-child{border-bottom:0}.cms-table tbody tr:hover{background:var(--cms-subtle)}.cms-table td.cms-table-check-cell,.cms-table th.cms-table-check-cell{padding:0 0 0 1rem;width:2.75rem}.cms-table td.cms-table-check-cell+td,.cms-table th.cms-table-check-cell+th{padding-left:.75rem}.cms-table tbody tr.is-selected,.cms-table tbody tr.is-selected:hover{background:var(--cms-accent-soft)}.cms-checkbox{background:var(--cms-field);border:1px solid var(--cms-line-strong);border-radius:var(--cms-radius-xs);box-shadow:var(--cms-shadow-xs);color:var(--cms-accent-contrast);display:grid;height:1rem;place-items:center;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);vertical-align:middle;width:1rem}.cms-checkbox:hover{border-color:var(--cms-text-dimmed)}.cms-checkbox:active{scale:.9}.cms-checkbox.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-checkbox>svg{animation:cms-icon-pop .26s var(--cms-ease-spring);height:.75rem;stroke-width:3;width:.75rem}.cms-bulk-actions{animation:cms-pop .2s var(--cms-ease-out)}.cms-bulk-count{align-items:center;color:var(--ui-text-highlighted);display:inline-flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.5rem}.cms-bulk-count:before{background:var(--cms-accent);border-radius:9999px;box-shadow:0 0 0 3px var(--cms-accent-soft);content:"";height:.5rem;width:.5rem}.cms-th-label{align-items:center;display:inline-flex;gap:.35rem}.cms-table th.is-sortable{cursor:pointer}.cms-table th.is-sortable:hover,.cms-table th.is-sorted{color:var(--ui-text-highlighted)}.cms-table th.is-sorted{background:var(--cms-fill)}.cms-th-sort{flex:none;opacity:0;transition:opacity var(--cms-duration) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-table th.is-sortable:hover .cms-th-sort,.cms-table th.is-sorted .cms-th-sort{opacity:1}.cms-alert{animation:cms-enter .26s var(--cms-ease-out) backwards;border:1px solid transparent;border-radius:var(--cms-radius-md);display:flex;flex-direction:column;font-size:.8125rem;gap:.125rem;padding:.625rem .875rem}.cms-alert-title{font-weight:550}.cms-alert-error{background:color-mix(in oklab,var(--ui-error) 8%,transparent);border-color:color-mix(in oklab,var(--ui-error) 24%,transparent);color:var(--ui-error)}.cms-alert-success{background:color-mix(in oklab,var(--ui-success) 8%,transparent);border-color:color-mix(in oklab,var(--ui-success) 24%,transparent);color:var(--ui-success)}.cms-alert-warning{background:color-mix(in oklab,var(--ui-warning) 8%,transparent);border-color:color-mix(in oklab,var(--ui-warning) 24%,transparent);color:var(--ui-warning)}.cms-alert-neutral{background:var(--cms-subtle);border-color:var(--cms-line);color:var(--ui-text-toned)}.cms-alert-neutral .cms-alert-title{color:var(--ui-text-highlighted)}.cms-toaster{bottom:1rem;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100vw - 2rem);position:fixed;right:1rem;width:22rem;z-index:80}.cms-toast{animation:cms-toast-in .42s var(--cms-ease-out) both;background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);overflow:hidden;padding:.75rem .75rem .8125rem;position:relative}.cms-toast:after{animation:cms-toast-timer 4s linear forwards;background:var(--cms-line-strong);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform-origin:left}.cms-toast.is-success:after{background:color-mix(in oklab,var(--ui-success) 60%,transparent)}.cms-toast.is-error:after{background:color-mix(in oklab,var(--ui-error) 60%,transparent)}.cms-toast-row{align-items:flex-start;display:flex;gap:.625rem}.cms-toast-icon{animation:cms-icon-pop .42s var(--cms-ease-spring) .12s;background:var(--cms-fill);border-radius:9999px;box-sizing:content-box;color:var(--ui-text-muted);flex-shrink:0;padding:.1875rem}.cms-toast.is-success .cms-toast-icon{background:color-mix(in oklab,var(--ui-success) 14%,transparent);color:var(--ui-success)}.cms-toast.is-error .cms-toast-icon{background:color-mix(in oklab,var(--ui-error) 14%,transparent);color:var(--ui-error)}.cms-toast-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;padding-top:.0625rem}.cms-toast-description{color:var(--ui-text-muted);font-size:.8125rem;margin-top:.125rem}.cms-toast-dismiss{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);flex-shrink:0;padding:.125rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-toast-dismiss:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-pagination{align-items:center;display:flex;gap:.25rem;justify-content:center}.cms-page-btn{border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);font-size:.8125rem;font-variant-numeric:tabular-nums;height:1.75rem;min-width:1.75rem;padding:0 .4375rem;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease)}.cms-page-btn>svg{margin-inline:auto}.cms-page-btn:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-page-btn:active:not(:disabled){scale:.94}.cms-page-btn.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted);font-weight:600}.cms-page-btn:disabled{opacity:.35}.cms-editor{background:var(--cms-canvas);display:flex;flex-direction:column;height:100dvh}.cms-editor-overlay{animation:cms-fade .16s var(--cms-ease);inset:0;position:fixed;z-index:45}.cms-editor-bar{align-items:center;background:var(--cms-surface);border-bottom:1px solid var(--cms-line);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:3.25rem;padding:.5rem .75rem}.cms-editor-bar-center,.cms-editor-bar-end,.cms-editor-bar-start,.cms-editor-heading{align-items:center;display:flex;min-width:0}.cms-editor-bar-start{gap:.375rem}.cms-editor-heading{gap:.625rem}.cms-editor-bar-center{gap:.5rem;justify-content:center}.cms-editor-bar-end{gap:.375rem;justify-content:flex-end}.cms-editor-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-editor-dirty{color:var(--ui-text-muted);font-size:.75rem;white-space:nowrap}.cms-editor-devices{align-items:center;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);display:inline-flex;gap:1px;padding:2px}.cms-editor-device{align-items:center;border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);display:flex;height:1.375rem;justify-content:center;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.75rem}.cms-editor-device:hover:not(.is-active){color:var(--ui-text-highlighted)}.cms-editor-device.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--cms-accent-text)}.cms-editor-body{display:flex;flex:1;min-height:0}.cms-editor-canvas{display:flex;flex:1;justify-content:center;min-width:0;overflow:auto;padding:1rem}.cms-editor-frame{background:#fff;border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised);height:100%;overflow:hidden;transition:width var(--cms-duration-lg) var(--cms-ease-out);width:100%}.cms-editor-frame.is-mobile{flex:none;max-width:100%;width:390px}.cms-editor-iframe{border:0;display:block;height:100%;width:100%}.cms-editor-panel{background:var(--cms-surface);border-left:1px solid var(--cms-line);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:22rem}.cms-editor-tabs{padding:.75rem .875rem 0}.cms-editor-tabs .cms-tabs{margin-bottom:0}.cms-editor-tab-dot{background:var(--cms-error);border-radius:9999px;display:inline-block;height:6px;margin-left:.375rem;vertical-align:middle;width:6px}.cms-editor-panel-body{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:.875rem}.cms-editor-fields{display:flex;flex-direction:column;gap:1.125rem}.cms-editor-section{display:flex;flex-direction:column;gap:.5rem}.cms-editor-section-title{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem}.cms-editor-section-title:first-child{border-top:0;padding-top:0}.cms-editor-block-head{align-items:center;display:flex;justify-content:space-between;margin:-.25rem -.25rem 0}.cms-editor-block-position{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-editor-block-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem}.cms-editor-block-actions{border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:.375rem;padding-bottom:1rem}.cms-editor-schedule .cms-popover{right:0;top:100%;transform-origin:top right}.cms-editor-schedule-panel{display:flex;flex-direction:column;gap:.875rem;padding:.875rem;width:18rem}.cms-outline{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.cms-outline-row{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-md);display:flex;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-outline-row:hover{background:var(--cms-hover)}.cms-outline-row.is-selected{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-outline-row.is-dragging{opacity:.4}.cms-outline-row.is-drop-target{box-shadow:inset 0 2px 0 var(--cms-accent)}.cms-outline-grip{align-items:center;color:var(--ui-text-dimmed);cursor:grab;display:flex;padding:0 .125rem 0 .5rem}.cms-outline-main{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex:1;gap:.5rem;min-width:0;padding:.4375rem .5rem .4375rem .25rem;text-align:left}.cms-outline-row.is-hidden .cms-outline-main{opacity:.55}.cms-outline-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-outline-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-outline-summary{color:var(--ui-text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-outline-hidden{color:var(--ui-text-dimmed)}.cms-palette{display:grid;gap:.375rem}.cms-palette-item{align-items:flex-start;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.625rem;padding:.625rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease)}.cms-palette-item:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-palette-icon{align-items:center;background:var(--cms-fill);border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex-shrink:0;height:2rem;justify-content:center;width:2rem}.cms-palette-item:hover .cms-palette-icon{color:var(--cms-accent-text)}.cms-palette-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0;padding-top:.0625rem}.cms-palette-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:600}.cms-palette-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.4}@media (max-width:767px){.cms-editor-bar{grid-template-columns:minmax(0,1fr) auto}.cms-editor-bar-center{grid-column:1/-1;grid-row:2}.cms-editor-body{flex-direction:column}.cms-editor-canvas{flex:0 0 50%;padding:.5rem}.cms-editor-panel{border-left:0;border-top:1px solid var(--cms-line);flex:1;width:auto}}::view-transition-new(root),::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--cms-ease)}@media (prefers-reduced-motion:reduce){.cms-scope *,.cms-scope :after,.cms-scope :before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
|
|
1
|
+
@layer theme, base, components, utilities;@import "tailwindcss/theme.css" layer(theme) theme(inline);.cms-scope{@import "tailwindcss/preflight.css" layer(base);@import "tailwindcss/utilities.css" layer(utilities) source(none)}@source "../app";.cms-scope,.cms-theme-preview-app,html:has(.cms-scope){--cms-canvas:light-dark(#f5f5f6,#0d0d0f);--cms-surface:light-dark(#fff,#141416);--cms-subtle:light-dark(#f7f7f8,#18181b);--cms-field:light-dark(#fff,#19191c);--cms-elevated:light-dark(#fff,#1c1c20);--cms-fill:light-dark(#efeff1,#222226);--cms-line:light-dark(#e7e7ea,#232327);--cms-line-strong:light-dark(#d8d8dd,#303036);--cms-field-line:light-dark(#dedee3,#2a2a30);--cms-text:light-dark(#111114,#f2f2f3);--cms-text-toned:light-dark(#3b3b42,#cdcdd3);--cms-text-muted:light-dark(#6b6b75,#9b9ba5);--cms-text-dimmed:light-dark(#9d9da7,#686872);--cms-accent:light-dark(#5b5bd6,#6466e9);--cms-accent-hover:light-dark(#4d4dc8,#7375ee);--cms-accent-text:light-dark(#5050cc,#a0a2f8);--cms-accent-contrast:#fff;--cms-accent-soft:color-mix(in oklab,var(--cms-accent) 11%,transparent);--cms-accent-line:color-mix(in oklab,var(--cms-accent) 34%,transparent);--cms-error:light-dark(#d9383a,#f47a7a);--cms-success:light-dark(#1d8a54,#5ccf90);--cms-warning:light-dark(#b5620b,#efb255);--cms-hover:color-mix(in oklab,var(--cms-text) 5%,transparent);--cms-press:color-mix(in oklab,var(--cms-text) 8%,transparent);--cms-font-ui:"Geist Variable","Geist",ui-sans-serif,system-ui,sans-serif;--cms-font-mono:"Geist Mono Variable","Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--cms-radius-xs:4px;--cms-radius-sm:6px;--cms-radius-md:8px;--cms-radius-lg:12px;--cms-radius-xl:14px;--cms-shadow-tint:light-dark(rgba(20,20,30,.06),rgba(0,0,0,.35));--cms-shadow-tint-strong:light-dark(rgba(20,20,30,.14),rgba(0,0,0,.6));--cms-highlight:light-dark(hsla(0,0%,100%,.9),hsla(0,0%,100%,.05));--cms-shadow-xs:0 1px 2px var(--cms-shadow-tint);--cms-shadow-sm:0 1px 2px var(--cms-shadow-tint),0 3px 8px -3px var(--cms-shadow-tint);--cms-shadow-raised:0 0 0 1px var(--cms-line),0 1px 2px var(--cms-shadow-tint);--cms-shadow-overlay:0 0 0 1px var(--cms-line),0 16px 40px -12px var(--cms-shadow-tint-strong),0 6px 14px -6px var(--cms-shadow-tint);--cms-scrim:light-dark(rgba(22,22,30,.22),rgba(0,0,0,.55));--cms-duration:140ms;--cms-duration-lg:260ms;--cms-ease:cubic-bezier(0.2,0,0,1);--cms-ease-out:cubic-bezier(0.16,1,0.3,1);--cms-ease-drawer:cubic-bezier(0.32,0.72,0,1);--cms-ease-spring:cubic-bezier(0.34,1.4,0.64,1);--ui-text-dimmed:var(--cms-text-dimmed);--ui-text-muted:var(--cms-text-muted);--ui-text-toned:var(--cms-text-toned);--ui-text:var(--cms-text-toned);--ui-text-highlighted:var(--cms-text);--ui-text-inverted:var(--cms-surface);--ui-bg:var(--cms-surface);--ui-bg-muted:var(--cms-canvas);--ui-bg-elevated:var(--cms-subtle);--ui-bg-accented:var(--cms-fill);--ui-bg-inverted:var(--cms-text);--ui-border:var(--cms-line);--ui-border-muted:var(--cms-line);--ui-border-accented:var(--cms-line-strong);--ui-border-inverted:var(--cms-text);--ui-primary:var(--cms-accent);--ui-accent:var(--cms-accent-text);--ui-error:var(--cms-error);--ui-success:var(--cms-success);--ui-warning:var(--cms-warning);--ui-radius:var(--cms-radius-md)}html:has(.cms-scope){background:var(--cms-canvas);color-scheme:light dark;overscroll-behavior-y:none}.cms-scope[data-theme=light],html:has(.cms-scope[data-theme=light]){color-scheme:light}.cms-scope[data-theme=dark],html:has(.cms-scope[data-theme=dark]){color-scheme:dark}.cms-scope,body:has(.cms-scope){color:var(--ui-text);font-family:var(--cms-font-ui);font-feature-settings:"ss01","cv11";font-size:.875rem;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.cms-scope){background:var(--cms-canvas);overscroll-behavior-y:none}body:has(.cms-scope) ::-moz-selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) ::selection{background:color-mix(in oklab,var(--cms-accent) 28%,transparent);color:var(--ui-text-highlighted)}body:has(.cms-scope) :is(.cms-scope,.cms-scope *){scrollbar-color:var(--cms-line-strong) transparent;scrollbar-width:thin}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar{height:10px;width:10px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-track{background:transparent}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb{background:var(--cms-line-strong);background-clip:content-box;border:3px solid transparent;border-radius:9999px}body:has(.cms-scope) :is(.cms-scope,.cms-scope *)::-webkit-scrollbar-thumb:hover{background:var(--cms-text-dimmed);background-clip:content-box}.cms-display{font-weight:650;letter-spacing:-.025em}.cms-display,.cms-title{font-family:var(--cms-font-ui)}.cms-title{color:var(--ui-text-highlighted);font-weight:600;letter-spacing:-.015em}.cms-title-sm{font-size:.9375rem;line-height:1.4}.cms-title-md{font-size:1.5rem;letter-spacing:-.022em;line-height:1.2}.cms-title-lg{font-size:1.625rem;letter-spacing:-.025em;line-height:1.2}.cms-subtitle{color:var(--ui-text-muted);font-size:.875rem}.cms-accent{color:var(--cms-accent-text)}.cms-label{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.cms-mono{font-family:var(--cms-font-mono);font-size:.75rem;letter-spacing:-.01em}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],.__clickable):not(:disabled,[aria-disabled=true]){@apply cursor-pointer select-none}body:has(.cms-scope) :is(button,a,[role=button],[role=menuitem],[role=option],[role=radio]):focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-canvas{background-color:var(--cms-canvas)}.cms-card{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-panel{padding:1.5rem}.cms-shell,.cms-sidebar{background:var(--cms-canvas);display:flex;height:100dvh}.cms-sidebar{flex-direction:column;flex-shrink:0;gap:1.25rem;padding:.875rem .625rem .625rem;width:15rem}.cms-sidebar-brand{align-items:center;display:flex;gap:.625rem;padding:.25rem .375rem}.cms-brand-mark{background:var(--ui-bg-inverted);border-radius:var(--cms-radius-md);color:var(--ui-text-inverted);display:grid;flex:none;height:1.75rem;place-items:center;position:relative;width:1.75rem}.cms-brand-mark svg{height:62%;width:62%}.cms-brand-mark.is-lg{border-radius:var(--cms-radius-lg);height:2.75rem;width:2.75rem}.cms-brand-logo{color:var(--ui-text-highlighted);display:block;flex:none;height:1.75rem;max-width:7.5rem;-o-object-fit:contain;object-fit:contain;width:auto}.cms-brand-logo.is-lg{height:2.75rem;max-width:12rem}span.cms-brand-logo{display:inline-flex}span.cms-brand-logo svg{display:block;height:100%;max-width:100%;width:auto}.cms-auth-header .cms-brand-logo{margin-bottom:.75rem}.cms-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.cms-brand-name{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.01em}.cms-brand-meta,.cms-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-brand-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:1.125rem;margin-inline:-.25rem;min-height:0;overflow-y:auto;overscroll-behavior-y:none;padding:.125rem .25rem}.cms-sidebar-group{display:flex;flex-direction:column;gap:1px}.cms-sidebar-group>.cms-label{color:var(--ui-text-dimmed);font-size:.6875rem;letter-spacing:.01em;margin-bottom:.25rem;padding-inline:.5rem}.cms-sidebar-footer{display:flex;flex-direction:column;gap:.5rem}.cms-navlink{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:450;gap:.5rem;height:1.875rem;padding-inline:.5rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease)}.cms-navlink:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-navlink:active{scale:.985}.cms-navlink.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted);font-weight:500}.cms-navlink-icon{color:var(--ui-text-dimmed);transition:color var(--cms-duration) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-navlink:hover .cms-navlink-icon{color:var(--ui-text-muted)}.cms-navlink.is-active .cms-navlink-icon{animation:cms-icon-pop .36s var(--cms-ease-spring);color:var(--cms-accent-text)}.cms-account{align-items:center;border-radius:var(--cms-radius-md);display:flex;gap:.5rem;padding:.375rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease);width:100%}.cms-account.is-open,.cms-account:hover{background:var(--cms-hover)}.cms-account-more{color:var(--ui-text-dimmed);flex:none;transition:color var(--cms-duration) var(--cms-ease)}.cms-account.is-open .cms-account-more,.cms-account:hover .cms-account-more{color:var(--ui-text-highlighted)}.cms-avatar{background:var(--cms-accent);border-radius:9999px;color:var(--cms-accent-contrast);display:grid;flex:none;font-size:.75rem;font-weight:600;height:1.75rem;place-items:center;text-transform:uppercase;width:1.75rem}.cms-avatar.is-lg{font-size:1.0625rem;height:2.75rem;width:2.75rem}.cms-account-card{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.75rem;padding:.875rem 1rem}.cms-password-input .cms-field{font-family:var(--cms-font-mono);font-size:.8125rem;padding-right:5.75rem}.cms-password-input .cms-field::-moz-placeholder{font-family:var(--cms-font-ui)}.cms-password-input .cms-field::placeholder{font-family:var(--cms-font-ui)}.cms-password-actions{align-items:center;display:flex;gap:1px}.cms-password-action{border-radius:var(--cms-radius-sm);color:var(--ui-text-dimmed);display:grid;height:1.625rem;place-items:center;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:1.625rem}.cms-password-action:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-password-action:disabled{opacity:.4}.cms-password-action.is-done{color:var(--ui-success)}.cms-password-action>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-password-action:active>svg{transform:scale(.85)}.cms-credentials{animation:cms-enter .26s var(--cms-ease-out) backwards;background:color-mix(in oklab,var(--cms-accent) 4%,var(--cms-surface));border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.875rem;padding:1rem}.cms-credentials-list{display:grid;font-size:.8125rem;gap:.375rem 1.25rem;grid-template-columns:max-content minmax(0,1fr)}.cms-credentials-list dt{color:var(--ui-text-muted)}.cms-credentials-list dd{color:var(--ui-text-highlighted);overflow-wrap:anywhere}.cms-user-row{animation:cms-row-in .32s var(--cms-ease-out) backwards;background:var(--cms-surface);display:flex;flex-direction:column}.cms-user-row+.cms-user-row{border-top:1px solid var(--cms-line)}.cms-user-main{align-items:center;display:flex;gap:.75rem;padding:.625rem .75rem}.cms-user-actions{display:flex;gap:.125rem}.cms-user-reset{padding:0 .75rem .875rem}.cms-account-text{display:flex;flex:1;flex-direction:column;line-height:1.25;min-width:0}.cms-account-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-account-email{color:var(--ui-text-dimmed);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-main{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-xs);flex:1;height:calc(100dvh - 1rem);margin:.5rem .5rem .5rem 0;min-width:0;overflow-y:auto;overscroll-behavior-y:none;position:relative}.cms-main-inner{display:flex;flex-direction:column;margin-inline:auto;max-width:72rem;min-height:100%;padding:2.25rem 2.5rem 2.5rem;width:100%}.cms-sidebar-scrim,.cms-topbar{display:none}@media (max-width:767px){.cms-sidebar{border-right:1px solid var(--cms-line);box-shadow:var(--cms-shadow-overlay);inset:0 auto 0 0;position:fixed;transform:translateX(-105%);transition:transform .34s var(--cms-ease-drawer);width:16.5rem;z-index:70}.cms-shell.is-nav-open .cms-sidebar{transform:none}.cms-sidebar-scrim{background:var(--cms-scrim);display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--cms-duration-lg) var(--cms-ease);z-index:65}.cms-shell.is-nav-open .cms-sidebar-scrim{opacity:1;pointer-events:auto}.cms-topbar{align-items:center;backdrop-filter:blur(12px);background:color-mix(in oklab,var(--cms-surface) 82%,transparent);border-bottom:1px solid var(--cms-line);display:flex;gap:.5rem;height:3rem;padding-inline:.625rem;position:sticky;top:0;z-index:20}.cms-main{border:0;border-radius:0;box-shadow:none;height:100dvh;margin:0}.cms-main-inner{min-height:calc(100% - 3rem);padding:1.25rem 1rem 2rem}}.cms-page{animation:cms-enter .32s var(--cms-ease-out) backwards;display:flex;flex-direction:column;gap:1.5rem}.cms-page.is-fill{flex:1;min-height:0}.cms-page-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.cms-page-heading{display:flex;flex-direction:column;gap:.625rem;min-width:0}.cms-page-title-row{align-items:center;display:flex;gap:.75rem;min-width:0}.cms-page-icon{background:var(--cms-surface);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-raised),inset 0 -2px 0 var(--cms-subtle);color:var(--cms-accent-text);display:grid;flex:none;height:2.25rem;place-items:center;width:2.25rem}.cms-page-title-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0}.cms-page-description{color:var(--ui-text-muted);font-size:.8125rem}.cms-count{animation:cms-fade .4s var(--cms-ease) backwards;background:var(--cms-fill);border-radius:var(--cms-radius-sm);display:inline-flex;font-family:var(--cms-font-mono);font-size:.75rem;font-variant-numeric:tabular-nums;height:1.375rem;padding-inline:.4375rem}.cms-breadcrumb,.cms-count{align-items:center;color:var(--ui-text-muted)}.cms-breadcrumb{display:flex;font-size:.8125rem;font-weight:450;gap:.25rem;line-height:1.4}.cms-breadcrumb-link{border-radius:var(--cms-radius-xs);margin-inline:-.25rem 0;padding:.0625rem .25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-breadcrumb-link:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-breadcrumb-separator{color:var(--ui-text-dimmed)}.cms-tree{overflow:hidden}.cms-tree-row{align-items:center;animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);display:flex;gap:.75rem;min-height:3.25rem;padding:.5rem 1rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-tree-row+.cms-tree-row{border-top:1px solid var(--cms-line)}.cms-tree-row:hover{background-color:var(--cms-subtle)}.cms-tree-branch{color:var(--ui-text-dimmed);flex-shrink:0;transform:scaleY(-1) rotate(90deg);width:1rem}.cms-tree-doc{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);color:var(--ui-text-muted);display:grid;flex:none;height:1.75rem;place-items:center;width:1.75rem}.cms-tree-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-tree-path,.cms-tree-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-tree-path{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.71875rem}.cms-tree-meta{font-size:.75rem}.cms-tree-chevron,.cms-tree-meta{color:var(--ui-text-dimmed);flex-shrink:0}.cms-tree-chevron{transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-tree-row:hover .cms-tree-chevron{color:var(--ui-text-highlighted);transform:translateX(3px)}.cms-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.cms-toolbar-actions{flex-shrink:0;margin-left:auto}.cms-actions,.cms-toolbar-actions{align-items:center;display:flex;gap:.5rem}.cms-actions{flex-wrap:wrap}.cms-actions.is-end{justify-content:flex-end}.cms-spinner{align-items:center;animation:cms-fade .3s var(--cms-ease) .12s backwards;color:var(--ui-text-dimmed);display:flex;flex:1;justify-content:center;padding-block:2.5rem}.cms-spinner-ring{animation:cms-spin .7s linear infinite;border:2px solid var(--cms-line-strong);border-radius:9999px;border-top-color:var(--cms-accent-text);height:1.25rem;width:1.25rem}.cms-empty{align-items:center;animation:cms-fade .36s var(--cms-ease) backwards;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.375rem;isolation:isolate;overflow:hidden;padding:3.5rem 1.5rem;position:relative;text-align:center}.cms-empty:before{background-image:radial-gradient(circle at 1px 1px,var(--cms-line-strong) 1px,transparent 0);background-size:18px 18px;content:"";inset:0;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 50% 45%,#000,transparent 75%);opacity:.8;position:absolute;z-index:-1}.cms-empty.is-fill{flex:1;justify-content:center}.cms-empty-icon{animation:cms-float 4s ease-in-out infinite;background:var(--cms-surface);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised),0 6px 16px -6px var(--cms-shadow-tint-strong);color:var(--ui-text-muted);display:grid;height:2.75rem;margin-bottom:.625rem;place-items:center;width:2.75rem}.cms-empty>.cms-btn{margin-top:1rem}.cms-auth{align-items:center;display:flex;justify-content:center;min-height:100dvh;padding:1.5rem}.cms-auth-panel{gap:1.75rem;max-width:23rem;width:100%}.cms-auth-header,.cms-auth-panel{display:flex;flex-direction:column}.cms-auth-header{align-items:center;gap:.5rem;text-align:center}.cms-auth-header .cms-brand-mark{margin-bottom:.75rem}.cms-auth-card{border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-sm),0 24px 48px -24px var(--cms-shadow-tint-strong);padding:1.5rem}.cms-auth-footer{color:var(--ui-text-dimmed);font-size:.75rem;text-align:center}.cms-badge{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:9999px;color:var(--ui-text-toned);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;height:1.375rem;line-height:1;padding:0 .5rem;pointer-events:none;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-badge.is-draft:before,.cms-badge.is-published:before,.cms-badge.is-scheduled:before{border-radius:9999px;content:"";flex:none;height:.375rem;width:.375rem}.cms-badge.is-published{background:color-mix(in oklab,var(--cms-success) 10%,transparent);border-color:color-mix(in oklab,var(--cms-success) 24%,transparent);color:var(--cms-success)}.cms-badge.is-published:before{background:var(--cms-success);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-success) 22%,transparent)}.cms-badge.is-muted{background:var(--cms-fill);border-color:transparent;border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);font-family:var(--cms-font-mono);font-size:.6875rem;font-weight:400;height:1.25rem;letter-spacing:.02em;padding:0 .4375rem;text-transform:uppercase}.cms-badge.is-scheduled{background:color-mix(in oklab,var(--cms-warning) 10%,transparent);border-color:color-mix(in oklab,var(--cms-warning) 24%,transparent);color:var(--cms-warning)}.cms-badge.is-scheduled:before{box-shadow:inset 0 0 0 1.5px var(--cms-warning)}.cms-badge.is-draft{background:transparent;color:var(--ui-text-muted)}.cms-badge.is-draft:before{box-shadow:inset 0 0 0 1.5px var(--ui-text-dimmed)}.cms-dropzone{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem 1.5rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-dropzone>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-dropzone.is-over,.cms-dropzone:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--ui-text-highlighted)}.cms-dropzone.is-over>svg,.cms-dropzone:hover>svg{color:var(--cms-accent-text);transform:translateY(-2px)}.cms-dropzone.is-dense{flex-direction:row;gap:.625rem;padding:.875rem 1.25rem}.cms-dropzone.is-busy{opacity:.7;pointer-events:none}.cms-pill{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:9999px;color:var(--ui-text-muted);cursor:pointer;display:inline-flex;flex:none;font-size:.8125rem;font-weight:450;gap:.375rem;height:1.75rem;line-height:1;padding:0 .75rem;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-pill:hover{background:var(--cms-subtle);border-color:var(--cms-line-strong);color:var(--ui-text-highlighted)}.cms-pill:active{scale:.97}.cms-pill.is-active{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-pill.is-empty{border-style:dashed}.cms-folder-picker{display:flex;flex-direction:column;gap:.5rem}.cms-folder-picker-list{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);display:flex;flex-direction:column;gap:1px;max-height:16rem;overflow-y:auto;padding:.25rem}.cms-folder-picker-row{align-items:center;border-radius:var(--cms-radius-sm);color:var(--ui-text-toned);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;min-height:1.875rem;padding:.25rem .5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-folder-picker-row:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-folder-picker-row.is-active{background:var(--cms-accent-soft);color:var(--cms-accent-text)}.cms-folder-picker-row:disabled{cursor:not-allowed;opacity:.4}.cms-folder-picker-check{flex:none;margin-left:auto}.cms-folder-picker-empty{padding:.5rem .625rem}.cms-folder-picker-empty,.cms-form-hint{color:var(--ui-text-dimmed);font-size:.8125rem}.cms-dropzone-hint{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;gap:.3rem}@keyframes cms-rise{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes cms-enter{0%{opacity:0;transform:translateY(6px)}}@keyframes cms-fade{0%{opacity:0}}@keyframes cms-row-in{0%{opacity:0;transform:translateY(4px)}}@keyframes cms-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes cms-spin{to{transform:rotate(1turn)}}@keyframes cms-icon-pop{40%{transform:scale(1.18)}}@keyframes cms-icon-spin{0%{opacity:.4;transform:rotate(-60deg) scale(.6)}}@keyframes cms-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cms-toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes cms-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes cms-shake{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}.cms-rise{animation:cms-rise .42s var(--cms-ease-out) both}.cms-rise.is-delayed{animation-delay:90ms}.cms-richtext{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);overflow:hidden;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease)}.cms-richtext:hover:not(:focus-within){border-color:var(--cms-line-strong)}.cms-richtext:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent)}.cms-richtext-toolbar{align-items:center;background:var(--cms-subtle);border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:1px;padding:.25rem}.cms-richtext-body{color:var(--ui-text-highlighted);font-size:.875rem;line-height:1.6;min-height:9rem;outline:none;padding:.75rem .875rem}.cms-richtext-body h2{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin:.75em 0 .35em}.cms-richtext-body h3{font-size:1.05rem;font-weight:600;margin:.75em 0 .35em}.cms-richtext-body p{margin:.35em 0}.cms-richtext-body ul{list-style:disc;padding-left:1.25rem}.cms-richtext-body ol{list-style:decimal;padding-left:1.25rem}.cms-richtext-body blockquote{border-left:2px solid var(--cms-accent-line);color:var(--ui-text-muted);padding-left:.75rem}.cms-richtext-body a{color:var(--cms-accent-text);text-decoration:underline;text-decoration-color:var(--cms-accent-line);text-underline-offset:2px}.cms-btn{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-md);display:inline-flex;font-weight:500;gap:.375rem;justify-content:center;letter-spacing:-.005em;line-height:1;min-height:var(--cms-btn-size);position:relative;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-btn:active:not(:disabled,[aria-disabled=true]){scale:.97}.cms-btn:disabled,.cms-btn[aria-disabled=true]{opacity:.5;pointer-events:none}.cms-btn.is-block{width:100%}.cms-btn.is-icon{justify-content:center;padding-inline:0;width:var(--cms-btn-size)}.cms-btn>svg{transition:transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-btn:hover>svg[data-icon=arrow-left]{transform:translateX(-2px)}.cms-btn:hover>svg[data-icon=arrow-right]{transform:translateX(2px)}.cms-btn-xs{--cms-btn-size:1.5rem;border-radius:var(--cms-radius-sm);font-size:.75rem;padding:.125rem .5rem}.cms-btn-sm{--cms-btn-size:1.75rem;border-radius:7px;font-size:.8125rem;padding:.25rem .625rem}.cms-btn-md{--cms-btn-size:2.125rem;font-size:.8125rem;padding:.25rem .8125rem}.cms-btn-lg{--cms-btn-size:2.5rem;border-radius:10px;font-size:.875rem;padding:.375rem 1.125rem}.cms-btn-primary.cms-btn-solid{background:var(--cms-accent);border-color:color-mix(in oklab,var(--cms-accent) 82%,#000);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 1px 2px color-mix(in oklab,var(--cms-accent) 35%,transparent);color:var(--cms-accent-contrast)}.cms-btn-primary.cms-btn-solid:hover{background:var(--cms-accent-hover);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.22),0 2px 8px -2px color-mix(in oklab,var(--cms-accent) 60%,transparent)}.cms-btn-primary.cms-btn-solid:active{background:color-mix(in oklab,var(--cms-accent) 90%,#000)}.cms-btn-neutral.cms-btn-soft,.cms-btn-primary.cms-btn-soft{background:var(--cms-surface);border-color:var(--cms-field-line);box-shadow:var(--cms-shadow-xs),inset 0 -1px 0 var(--cms-subtle);color:var(--ui-text-highlighted)}.cms-btn-neutral.cms-btn-soft:hover,.cms-btn-primary.cms-btn-soft:hover{background:var(--cms-subtle);border-color:var(--cms-line-strong)}.cms-btn-neutral.cms-btn-soft:active,.cms-btn-primary.cms-btn-soft:active{background:var(--cms-fill)}.cms-btn-neutral.cms-btn-ghost,.cms-btn-primary.cms-btn-ghost{background:transparent;color:var(--ui-text-muted)}.cms-btn-neutral.cms-btn-ghost:hover,.cms-btn-primary.cms-btn-ghost:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-btn-neutral.cms-btn-ghost:active,.cms-btn-primary.cms-btn-ghost:active{background:var(--cms-press)}.cms-btn-neutral.cms-btn-solid{background:var(--cms-text);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.14);color:var(--cms-surface)}.cms-btn-neutral.cms-btn-solid:hover{background:color-mix(in oklab,var(--cms-text) 86%,var(--cms-surface))}.cms-btn-neutral.cms-btn-solid:active{background:color-mix(in oklab,var(--cms-text) 80%,var(--cms-surface))}.cms-btn-error.cms-btn-solid{background:var(--ui-error);border-color:color-mix(in oklab,var(--ui-error) 82%,#000);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);color:#fff}.cms-btn-error.cms-btn-solid:hover{background:color-mix(in oklab,var(--ui-error) 90%,#000)}.cms-btn-error.cms-btn-solid:active{background:color-mix(in oklab,var(--ui-error) 82%,#000)}.cms-btn-error.cms-btn-soft{background:color-mix(in oklab,var(--ui-error) 9%,transparent);border-color:color-mix(in oklab,var(--ui-error) 22%,transparent);color:var(--ui-error)}.cms-btn-error.cms-btn-soft:hover{background:color-mix(in oklab,var(--ui-error) 15%,transparent);border-color:color-mix(in oklab,var(--ui-error) 34%,transparent)}.cms-btn-error.cms-btn-soft:active{background:color-mix(in oklab,var(--ui-error) 20%,transparent)}.cms-btn-error.cms-btn-ghost{background:transparent;color:var(--ui-error)}.cms-btn-error.cms-btn-ghost:hover{background:color-mix(in oklab,var(--ui-error) 10%,transparent)}.cms-btn-error.cms-btn-ghost:active{background:color-mix(in oklab,var(--ui-error) 16%,transparent)}.cms-btn-success.cms-btn-solid{background:var(--ui-success);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18);color:#fff}.cms-btn-success.cms-btn-solid:hover{background:color-mix(in oklab,var(--ui-success) 90%,#000)}.cms-btn-success.cms-btn-solid:active{background:color-mix(in oklab,var(--ui-success) 82%,#000)}.cms-btn-success.cms-btn-soft{background:color-mix(in oklab,var(--ui-success) 9%,transparent);border-color:color-mix(in oklab,var(--ui-success) 22%,transparent);color:var(--ui-success)}.cms-btn-success.cms-btn-soft:hover{background:color-mix(in oklab,var(--ui-success) 15%,transparent);border-color:color-mix(in oklab,var(--ui-success) 34%,transparent)}.cms-btn-success.cms-btn-soft:active{background:color-mix(in oklab,var(--ui-success) 20%,transparent)}.cms-btn-success.cms-btn-ghost{background:transparent;color:var(--ui-success)}.cms-btn-success.cms-btn-ghost:hover{background:color-mix(in oklab,var(--ui-success) 10%,transparent)}.cms-btn-success.cms-btn-ghost:active{background:color-mix(in oklab,var(--ui-success) 16%,transparent)}.cms-form{container-type:inline-size;display:flex;flex-direction:column;gap:1.375rem}.cms-tabs{align-items:center;align-self:flex-start;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:inline-flex;gap:2px;margin-bottom:.25rem;max-width:100%;overflow-x:auto;padding:2px}.cms-tab{border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;height:1.75rem;padding:0 .75rem;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);white-space:nowrap}.cms-tab.is-active,.cms-tab:hover{color:var(--ui-text-highlighted)}.cms-tab.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised)}.cms-form-field{display:flex;flex-direction:column;gap:.4375rem}.cms-form-label-row{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-height:1.5rem}.cms-form-label{align-items:center;color:var(--ui-text-toned);display:inline-flex;font-size:.8125rem;font-weight:500;gap:.4375rem}.cms-form-label-icon{color:var(--ui-text-dimmed);flex:none;transition:color var(--cms-duration) var(--cms-ease)}.cms-form-field:focus-within .cms-form-label-icon{color:var(--cms-accent-text)}.cms-form-error,.cms-form-required{color:var(--ui-error)}.cms-form-required{margin-left:-.25rem}.cms-form-error{align-items:center;animation:cms-enter .26s var(--cms-ease-out) backwards;display:flex;font-size:.8125rem;gap:.375rem}.cms-form-field.is-error .cms-field,.cms-form-field.is-error .cms-richtext{animation:cms-shake .32s var(--cms-ease)}.cms-form-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.45;margin-top:-.125rem}.cms-form-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}.cms-form-main{display:flex;flex-direction:column;gap:1.375rem;min-width:0}.cms-form-section.is-titled{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg)}.cms-form-section-header{align-items:center;border-radius:var(--cms-radius-lg);display:flex;gap:.75rem;padding:.875rem 1rem;text-align:left;width:100%}.cms-form-section-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-form-section-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600}.cms-form-section-description{color:var(--ui-text-muted);font-size:.75rem}.cms-form-section-chevron{color:var(--ui-text-dimmed);flex:none;transition:transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-form-section.is-collapsed .cms-form-section-chevron{transform:rotate(-90deg)}.cms-form-rows{display:flex;flex-direction:column;gap:1.375rem}.cms-form-section.is-titled>.cms-form-rows{border-top:1px solid var(--cms-line);padding:1rem 1rem 1.125rem}.cms-form-row{display:grid;gap:1.375rem 1rem;grid-template-columns:minmax(0,1fr)}@container (min-width: 32rem){.cms-form-row{grid-template-columns:repeat(var(--cms-row-cols,1),minmax(0,1fr))}}.cms-form-actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;padding-top:.25rem}.cms-field{background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--ui-radius);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-highlighted);line-height:1.25;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease);width:100%}textarea.cms-field{line-height:1.5;min-height:0;padding-bottom:.5rem;padding-top:.5rem;resize:vertical}.cms-field::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-field::placeholder{color:var(--ui-text-dimmed)}.cms-field:hover:not(:focus,:focus-within){border-color:var(--cms-line-strong)}.cms-field:focus,.cms-field:focus-within{border-color:var(--cms-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--cms-accent) 18%,transparent);outline:none}.cms-field.is-error{border-color:var(--ui-error)}.cms-field:disabled{background:var(--cms-subtle);box-shadow:none;color:var(--ui-text-muted);cursor:not-allowed}.cms-field.is-error:focus,.cms-field.is-error:focus-within{border-color:var(--ui-error);box-shadow:0 0 0 3px color-mix(in oklab,var(--ui-error) 18%,transparent)}.cms-field-sm{font-size:.8125rem;min-height:1.75rem;padding:.25rem .625rem}.cms-field-md{font-size:.875rem;min-height:2.125rem;padding:.25rem .75rem}.cms-field-lg{font-size:.9375rem;min-height:2.5rem;padding:.375rem .875rem}.cms-field[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;-webkit-transition:opacity var(--cms-duration) var(--cms-ease);transition:opacity var(--cms-duration) var(--cms-ease)}.cms-field[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9}.cms-select-chevron{align-items:center;cursor:pointer;display:inline-flex;transition:transform var(--cms-duration-lg) var(--cms-ease-out),color var(--cms-duration) var(--cms-ease)}.cms-select-chevron:hover{color:var(--ui-text-muted)}.cms-select-chevron.is-open{transform:rotate(180deg)}.cms-locale-switch{align-items:center;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);display:inline-flex;gap:1px;padding:2px}.cms-locale-option{border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);cursor:pointer;font-family:var(--cms-font-mono);font-size:.65625rem;letter-spacing:.04em;line-height:1.4;padding:.125rem .4375rem;position:relative;text-transform:uppercase;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-locale-option:hover:not(.is-active){color:var(--ui-text-highlighted)}.cms-locale-option.is-empty{color:var(--ui-text-dimmed)}.cms-locale-option.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--cms-accent-text)}.cms-input-wrap{align-items:center;display:flex;position:relative;width:100%}.cms-input-wrap .cms-field{width:100%}.cms-input-lead,.cms-input-trail{align-items:center;color:var(--ui-text-dimmed);display:flex;position:absolute;transition:color var(--cms-duration) var(--cms-ease)}.cms-input-lead{left:.6875rem;pointer-events:none}.cms-input-wrap:focus-within .cms-input-lead{color:var(--cms-accent-text)}.cms-input-trail{right:.375rem}.cms-input-wrap.has-lead .cms-field{padding-left:2.0625rem}.cms-switch{align-items:center;background:var(--cms-line-strong);border-radius:9999px;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);display:inline-flex;flex-shrink:0;height:1.25rem;position:relative;transition:background-color .2s var(--cms-ease);width:2.125rem}.cms-switch:hover{background:color-mix(in oklab,var(--cms-line-strong) 80%,var(--cms-text))}.cms-switch.is-on{background:var(--cms-accent)}.cms-switch.is-on:hover{background:var(--cms-accent-hover)}.cms-switch:after{background:#fff;border-radius:9999px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.04);content:"";height:1rem;left:.125rem;position:absolute;transition:transform .3s var(--cms-ease-spring),width .16s var(--cms-ease);width:1rem}.cms-switch.is-on:after{transform:translateX(.875rem)}.cms-switch:active:after{width:1.25rem}.cms-switch.is-on:active:after{transform:translateX(.625rem)}.cms-overlay{align-items:center;backdrop-filter:blur(3px);background:var(--cms-scrim);display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:60}.cms-modal{background:var(--cms-surface);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-overlay);display:flex;flex-direction:column;max-height:calc(100dvh - 4rem);max-width:32rem;width:100%}.cms-modal.is-sm{max-width:26rem}.cms-modal.is-lg{max-width:50rem}.cms-modal-header{padding:1.125rem 1.25rem 0}.cms-modal-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.25rem 1.25rem}.cms-modal-enter-active,.cms-modal-leave-active{transition:opacity var(--cms-duration-lg) var(--cms-ease)}.cms-modal-enter-active .cms-modal{transition:transform .36s var(--cms-ease-out),opacity var(--cms-duration-lg) var(--cms-ease);will-change:transform}.cms-modal-leave-active .cms-modal{transition:transform .18s var(--cms-ease),opacity .18s var(--cms-ease)}.cms-modal-enter-from,.cms-modal-leave-to{opacity:0}.cms-modal-enter-from .cms-modal,.cms-modal-leave-to .cms-modal{opacity:0;transform:translateY(8px) scale(.97)}.cms-kbd{align-items:center;background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);display:inline-flex;font-family:var(--cms-font-mono);font-size:.6875rem;height:1.25rem;justify-content:center;line-height:1;min-width:1.25rem;padding:0 .3125rem}.cms-search-trigger{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-md);box-shadow:var(--cms-shadow-xs);color:var(--ui-text-dimmed);cursor:text;display:flex;font-size:.8125rem;gap:.5rem;height:2rem;margin-top:-.5rem;padding:0 .375rem 0 .625rem;transition:border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-search-trigger:hover{border-color:var(--cms-line-strong);color:var(--ui-text-muted)}.cms-search-trigger:focus-visible{border-color:var(--cms-accent);box-shadow:0 0 0 3px var(--cms-accent-soft);outline:none}.cms-search-trigger-text{flex:1;text-align:left}.cms-search-overlay{align-items:flex-start;padding-top:min(14vh,8rem)}.cms-search{max-height:min(36rem,calc(100dvh - 6rem));max-width:40rem;overflow:hidden}.cms-search-bar{align-items:center;border-bottom:1px solid var(--cms-line);display:flex;gap:.625rem;padding:.75rem 1rem}.cms-search-bar-icon{color:var(--ui-text-dimmed)}.cms-search-bar .cms-spinner{flex:none;padding:0}.cms-search-bar .cms-spinner-ring{height:1rem;width:1rem}.cms-search-input{background:transparent;border:0;color:var(--ui-text-highlighted);flex:1;font-size:1rem;height:2rem;min-width:0;outline:none}.cms-search-input::-moz-placeholder{color:var(--ui-text-dimmed)}.cms-search-input::placeholder{color:var(--ui-text-dimmed)}.cms-search-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.375rem}.cms-search-hint{color:var(--ui-text-muted);font-size:.8125rem;padding:1.25rem .75rem;text-align:center}.cms-search-group+.cms-search-group{margin-top:.375rem}.cms-search-group-title{align-items:baseline;color:var(--ui-text-muted);display:flex;font-size:.6875rem;font-weight:500;gap:.5rem;padding:.5rem .625rem .25rem}.cms-search-group-kind{color:var(--ui-text-dimmed);font-weight:400}.cms-search-option{align-items:flex-start;border-radius:var(--cms-radius-md);cursor:pointer;display:flex;gap:.625rem;padding:.5rem .625rem}.cms-search-option.is-active{background:var(--cms-accent-soft)}.cms-search-option-icon{color:var(--ui-text-dimmed);margin-top:.125rem}.cms-search-option.is-active .cms-search-option-icon{color:var(--cms-accent-text)}.cms-search-option-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-search-option-head{align-items:center;display:flex;gap:.5rem;min-width:0}.cms-search-option-title{color:var(--ui-text-highlighted);font-weight:500}.cms-search-option-meta,.cms-search-option-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-search-option-meta{color:var(--ui-text-muted);font-size:.75rem}.cms-search-snippet{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;color:var(--ui-text-toned);font-size:.8125rem;line-height:1.45}.cms-search-mark{background:color-mix(in oklab,var(--cms-warning) 26%,transparent);border-radius:2px;color:inherit}.cms-search-footer{border-top:1px solid var(--cms-line);color:var(--ui-text-dimmed);display:flex;flex-wrap:wrap;font-size:.6875rem;gap:1rem;padding:.5rem 1rem}.cms-search-footer span{align-items:center;display:inline-flex;gap:.25rem}.cms-form-field.is-search-focus{animation:cms-search-focus 2.4s var(--cms-ease);border-radius:var(--cms-radius-md)}@keyframes cms-search-focus{0%,60%{background:var(--cms-accent-soft);box-shadow:0 0 0 6px var(--cms-accent-soft)}to{background:transparent;box-shadow:0 0 0 6px transparent}}.cms-settings{flex-direction:row;height:min(42rem,calc(100dvh - 4rem));max-width:60rem;overflow:hidden}.cms-settings-nav{background:var(--cms-subtle);border-right:1px solid var(--cms-line);display:flex;flex:none;flex-direction:column;gap:1px;padding:.625rem;width:12.5rem}.cms-settings-close{margin-bottom:.5rem}.cms-settings-tab{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;height:2rem;padding-inline:.5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-settings-tab:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-settings-tab.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted)}.cms-settings-tab.is-danger{color:var(--ui-error)}.cms-settings-tab.is-danger:hover{background:color-mix(in oklab,var(--ui-error) 10%,transparent);color:var(--ui-error)}.cms-settings-nav-list{display:flex;flex:1;flex-direction:column;gap:1px;margin-inline:-.25rem;min-height:0;overflow-y:auto;padding-inline:.25rem}.cms-settings-nav-label{color:var(--ui-text-dimmed);font-size:.6875rem;font-weight:500;margin:.875rem 0 .25rem;padding-inline:.5rem}.cms-settings-entry{display:flex;flex-direction:column;gap:1rem;min-height:100%}.cms-settings-entry>*{flex-shrink:0}.cms-settings-entry-header{align-items:flex-start;border-bottom:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;padding-bottom:.875rem}.cms-settings-status{color:var(--ui-text-dimmed);flex:none;font-size:.75rem;padding-top:.25rem;transition:color var(--cms-duration) var(--cms-ease)}.cms-settings-status.is-saved{color:var(--ui-success)}.cms-settings-status.is-error{color:var(--ui-error)}.cms-settings-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.5rem}.cms-settings-subtitle{color:var(--ui-text-muted);font-size:.75rem;font-weight:500;margin:.75rem 0 .375rem}.cms-settings-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-settings-columns>.cms-settings-list{margin-top:.75rem}.cms-settings-item{align-items:center;background:var(--cms-surface);display:flex;gap:.5rem;min-height:2.5rem;padding:.25rem .75rem;position:relative;transition:background-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-settings-item+.cms-settings-item{border-top:1px solid var(--cms-line)}.cms-settings-item.is-draggable{cursor:grab}.cms-settings-item.is-draggable:hover{background:var(--cms-subtle)}.cms-settings-item.is-dragging{opacity:.4}.cms-settings-drop-end.is-over:before,.cms-settings-item.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:.5rem;position:absolute;right:.5rem;top:-1px}.cms-settings-drop-end{height:.75rem;position:relative}.cms-settings-item.is-muted .cms-settings-item-label{color:var(--ui-text-muted)}.cms-settings-grip,.cms-settings-item-icon{color:var(--ui-text-dimmed);flex:none}.cms-settings-item-label{color:var(--ui-text-highlighted);flex:1;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-editor{display:flex;flex-direction:column;gap:.25rem}.cms-layout-areas{display:flex;flex-direction:column;margin-top:.5rem}.cms-layout-area{display:flex;flex-direction:column;gap:.5rem;min-width:0}.cms-layout-section{background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;padding:.25rem .5rem}.cms-layout-section.is-titled{background:var(--cms-surface);border-color:var(--cms-line);border-style:solid}.cms-layout-section-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.75rem;font-weight:600;gap:.5rem;padding:.375rem .125rem .125rem}.cms-layout-chip,.cms-layout-row{display:flex;gap:.375rem}.cms-layout-chip{align-items:center;background:var(--cms-field);border:1px solid var(--cms-field-line);border-radius:var(--cms-radius-sm);box-shadow:var(--cms-shadow-xs);cursor:grab;flex:1;height:2.125rem;min-width:0;padding:0 .5rem;position:relative;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-layout-chip:hover{border-color:var(--cms-line-strong)}.cms-layout-chip.is-dragging{opacity:.35}.cms-layout-chip.is-blocked{border-color:var(--ui-error);cursor:not-allowed}.cms-layout-chip.is-drop-after:after,.cms-layout-chip.is-drop-before:before{background:var(--cms-accent);border-radius:9999px;bottom:.25rem;content:"";position:absolute;top:.25rem;width:2px}.cms-layout-chip.is-drop-before:before{left:-.25rem}.cms-layout-chip.is-drop-after:after{right:-.25rem}.cms-layout-chip-label{color:var(--ui-text-highlighted);flex:1;font-size:.75rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-layout-chip-tab{background:var(--cms-fill);border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);flex:none;font-size:.625rem;line-height:1rem;padding:0 .3125rem}.cms-layout-gap{height:.375rem;position:relative;transition:height var(--cms-duration) var(--cms-ease)}.cms-layout-editor.is-dragging .cms-layout-gap{height:.75rem}.cms-layout-gap.is-over:before{background:var(--cms-accent);border-radius:9999px;content:"";height:2px;left:0;margin-top:-1px;position:absolute;right:0;top:50%}.cms-layout-editor.is-dragging .cms-layout-gap.is-empty,.cms-layout-gap.is-empty{color:var(--ui-text-dimmed);display:grid;font-size:.75rem;height:2.5rem;place-items:center}.cms-layout-empty{border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-md);color:var(--ui-text-dimmed);display:grid;font-size:.75rem;min-height:5rem;padding:1rem;place-items:center;text-align:center;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-layout-empty.is-over{background:var(--cms-accent-soft);border-color:var(--cms-accent);color:var(--cms-accent-text)}.cms-settings-divider{border:0;border-top:1px solid var(--cms-line);margin:.375rem .25rem}.cms-settings-content{display:flex;flex:1;flex-direction:column;gap:1.25rem;min-width:0;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem}.cms-settings-content>.cms-title{border-bottom:1px solid var(--cms-line);padding-bottom:.875rem}.cms-settings-group{display:flex;flex-direction:column;gap:.75rem}.cms-settings-group+.cms-settings-group{border-top:1px solid var(--cms-line);padding-top:1.25rem}.cms-settings-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.cms-settings-heading{display:flex;flex-direction:column;gap:.125rem;min-width:0}.cms-settings-label{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:500}.cms-settings-hint{color:var(--ui-text-muted);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}.cms-theme-cards{display:grid;gap:.625rem;grid-template-columns:repeat(3,minmax(0,1fr))}.cms-theme-card{background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;flex-direction:column;gap:.5rem;padding:.375rem;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease)}.cms-theme-card:hover{border-color:var(--cms-line-strong)}.cms-theme-card.is-active{border-color:var(--cms-accent);box-shadow:0 0 0 3px var(--cms-accent-soft)}.cms-theme-preview{border-radius:var(--cms-radius-md);box-shadow:inset 0 0 0 1px var(--cms-line);display:flex;height:4.5rem;overflow:hidden;position:relative}.cms-theme-preview-app{background:var(--cms-canvas);display:flex;flex:1;gap:.25rem;min-width:0;padding:.375rem 0 0 .375rem}.cms-theme-preview-app.is-light{color-scheme:light}.cms-theme-preview-app.is-dark{color-scheme:dark}.cms-theme-preview.is-system .cms-theme-preview-app.is-dark{clip-path:inset(50% 0 0 0);inset:0;position:absolute}.cms-theme-preview.is-system:after{background:var(--cms-line-strong);content:"";height:1px;inset:50% 0 auto;position:absolute}.cms-theme-preview-side{background:var(--cms-fill);border-radius:3px;flex:none;margin-bottom:.375rem;width:22%}.cms-theme-preview-panel{background:var(--cms-surface);border-radius:5px 0 0 0;box-shadow:inset 0 0 0 1px var(--cms-line);display:flex;flex:1;flex-direction:column;gap:.25rem;padding:.5rem .375rem}.cms-theme-preview-line{background:var(--cms-fill);border-radius:9999px;height:.25rem}.cms-theme-preview-line.is-accent{background:var(--cms-accent);width:45%}.cms-theme-preview-line.is-short{width:60%}.cms-theme-card-label{align-items:center;color:var(--ui-text-toned);display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:0 .25rem .125rem}.cms-theme-card.is-active .cms-theme-card-label{color:var(--ui-text-highlighted)}.cms-theme-card-check{animation:cms-icon-pop .3s var(--cms-ease-spring);color:var(--cms-accent-text);margin-left:auto}@media (max-width:639px){.cms-settings{flex-direction:column;height:auto}.cms-settings-nav{align-items:center;border-bottom:1px solid var(--cms-line);border-right:0;flex:none;flex-direction:row;gap:.25rem;overflow-x:auto;width:auto}.cms-settings-nav-list{display:contents}.cms-settings-close,.cms-settings-nav .cms-settings-tab{flex:none;margin-bottom:0;width:auto}.cms-settings-divider,.cms-settings-nav-label{display:none}.cms-theme-cards{grid-template-columns:repeat(3,minmax(5.5rem,1fr))}}.cms-overlay-drawer{align-items:stretch;justify-content:flex-end;overflow:hidden;padding:.5rem;z-index:55}.cms-drawer{background:var(--cms-surface);border-radius:var(--cms-radius-xl);box-shadow:var(--cms-shadow-overlay);display:flex;flex-direction:column;height:100%;max-width:46rem;overflow:hidden;width:100%}.cms-drawer-header{align-items:center;border-bottom:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;min-height:3.5rem;padding:.625rem .75rem .625rem 1.5rem}.cms-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:1.5rem}.cms-drawer-footer{align-items:center;background:var(--cms-subtle);border-top:1px solid var(--cms-line);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem .75rem 1.25rem}.cms-drawer-enter-active,.cms-drawer-leave-active{transition:opacity var(--cms-duration-lg) var(--cms-ease)}.cms-drawer-enter-active .cms-drawer{transition:transform .42s var(--cms-ease-drawer);will-change:transform}.cms-drawer-leave-active .cms-drawer{transition:transform .26s var(--cms-ease)}.cms-drawer-enter-from,.cms-drawer-leave-to{opacity:0}.cms-drawer-enter-from .cms-drawer,.cms-drawer-leave-to .cms-drawer{transform:translateX(calc(100% + 1rem))}.cms-menu{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);margin-top:.375rem;min-width:12rem;padding:.25rem;position:absolute;transform-origin:top left;z-index:50}.cms-menu.align-end{right:0;transform-origin:top right}.cms-menu-item{align-items:center;border-radius:var(--cms-radius-sm);color:var(--ui-text);cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;min-height:1.875rem;padding:.25rem .5rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:100%}.cms-menu-item:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-menu-check{animation:cms-icon-pop .3s var(--cms-ease-spring);color:var(--cms-accent-text);margin-left:auto}.cms-popover{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);margin-top:.375rem;position:absolute;transform-origin:top left;z-index:50}.cms-selectmenu-input{background:transparent;color:var(--ui-text-highlighted);flex:1 1 0;min-width:4rem;outline:none;width:0}.cms-selectmenu-affix{color:var(--ui-text-dimmed);flex-shrink:0}.cms-selectmenu-panel{animation:cms-pop .16s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);left:0;margin-top:.375rem;max-height:15rem;overflow-y:auto;padding:.25rem;position:absolute;right:0;transform-origin:top center;z-index:50}.cms-tag{align-items:center;animation:cms-pop .18s var(--cms-ease-out);background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);color:var(--ui-text-highlighted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;height:1.375rem;padding:0 .3125rem 0 .5rem}.cms-media-gallery{display:flex;flex-direction:column;gap:1.25rem;position:relative}.cms-media-source{color:var(--ui-text-dimmed);font-size:.75rem;margin-top:-.75rem}.cms-media-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.cms-blocks-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-blocks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-blocks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.cms-block-tile{overflow:hidden;transition:opacity var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-block-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm)}.cms-block-tile.is-muted{opacity:.45}.cms-block-preview{align-items:center;aspect-ratio:4/3;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.cms-block-preview>img,.cms-block-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out);width:100%}.cms-block-tile:hover .cms-block-preview>img,.cms-block-tile:hover .cms-block-preview>video{transform:scale(1.03)}.cms-block-tile.is-media-only{cursor:grab}.cms-block-tile.is-media-only:focus-visible{outline:2px solid color-mix(in oklab,var(--cms-accent) 70%,transparent);outline-offset:2px}.cms-block-tile.is-media-only.is-dragging{cursor:grabbing}.cms-block-tile.is-media-only .cms-block-preview{aspect-ratio:1}.cms-block-remove{backdrop-filter:blur(6px);background:rgba(0,0,0,.55);border-radius:9999px;color:#fff;display:grid;height:1.5rem;opacity:0;place-items:center;position:absolute;right:.375rem;scale:.85;top:.375rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease);width:1.5rem;z-index:1}.cms-block-tile:focus-within .cms-block-remove,.cms-block-tile:hover .cms-block-remove{opacity:1;scale:1}.cms-block-remove:hover{background:var(--cms-error)}@media (hover:none){.cms-block-remove{opacity:1;scale:1}}.cms-block-missing{background:var(--ui-warning);border-radius:9999px;bottom:.375rem;color:#fff;display:grid;height:1.5rem;left:.375rem;place-items:center;position:absolute;width:1.5rem}.cms-block-summary{color:var(--ui-text-muted);font-size:.75rem;line-height:1.5;padding:.75rem;text-align:left}.cms-block-hidden{color:#fff;filter:drop-shadow(0 1px 2px rgb(0 0 0/.6));left:.5rem;position:absolute;top:.5rem}.cms-block-tile.is-dragging{opacity:.4;transform:scale(.98)}.cms-block-tile.is-drop-target{outline:2px solid var(--cms-accent);outline-offset:2px}.cms-block-bar{border-top:1px solid var(--cms-line);gap:.25rem;padding:.3125rem}.cms-block-bar,.cms-block-grip{align-items:center;display:flex}.cms-block-grip{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:grab;justify-content:center;padding:.25rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-block-grip:hover{background:var(--cms-hover);color:var(--ui-text-muted)}.cms-block-tile.is-dragging .cms-block-grip{cursor:grabbing}.cms-block-bar-name{color:var(--ui-text-toned);flex:1;font-size:.75rem;font-weight:500;overflow:hidden;padding-left:.25rem;text-overflow:ellipsis;white-space:nowrap}.cms-block-bar-actions{align-items:center;display:flex;gap:1px}.cms-block-add{align-items:center;background:var(--cms-subtle);border:1px dashed var(--cms-line-strong);border-radius:var(--cms-radius-lg);color:var(--ui-text-muted);display:flex;flex-direction:column;font-size:.8125rem;font-weight:500;gap:.375rem;justify-content:center;min-height:6rem;transition:border-color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-block-add:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-media-gallery.is-compact{gap:1rem}.cms-media-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.cms-media-search{flex:1 1 16rem;min-width:0}.cms-media-search-clear{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);cursor:pointer;display:flex;padding:.1875rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-media-search-clear:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-media-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.cms-media-view-toggle{background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:inline-flex;gap:2px;padding:2px}.cms-media-view-toggle .cms-btn{--cms-btn-size:1.625rem;border-radius:var(--cms-radius-sm)}.cms-media-view-toggle .cms-btn-soft{background:var(--cms-surface);border-color:transparent;box-shadow:var(--cms-shadow-raised)}.cms-media-nav{gap:.5rem;justify-content:space-between;min-height:1.75rem}.cms-media-crumbs,.cms-media-nav{align-items:center;display:flex;flex-wrap:wrap}.cms-media-crumbs{gap:.125rem;min-width:0}.cms-media-crumb{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;height:1.75rem;padding:0 .5rem;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-media-crumb:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-media-crumb.is-current,.cms-media-crumb.is-current:hover{background:transparent;color:var(--ui-text-highlighted);cursor:default}.cms-media-crumb.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line);color:var(--cms-accent-text)}.cms-media-folder-actions{align-items:center;display:flex;gap:.25rem}.cms-media-progress{animation:cms-enter .26s var(--cms-ease-out) backwards;background:var(--cms-accent-soft);border:1px solid var(--cms-accent-line);border-radius:var(--cms-radius-md);color:var(--cms-accent-text);font-size:.8125rem;overflow:hidden;padding:.5rem .75rem;position:relative}.cms-media-progress,.cms-media-selection{align-items:center;display:flex;gap:.5rem}.cms-media-selection{animation:cms-pop .2s var(--cms-ease-out);background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:0 0 0 1px var(--cms-accent-line),0 12px 28px -10px var(--cms-shadow-tint-strong);flex-wrap:wrap;padding:.3125rem .375rem .3125rem .875rem;position:sticky;top:.75rem;z-index:5}.cms-media-selection-count{align-items:center;color:var(--ui-text-highlighted);display:inline-flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.5rem}.cms-media-selection-count:before{background:var(--cms-accent);border-radius:9999px;box-shadow:0 0 0 3px var(--cms-accent-soft);content:"";height:.5rem;width:.5rem}.cms-media-selection-actions{align-items:center;display:flex;gap:.375rem;margin-left:auto}.cms-media-section{display:flex;flex-direction:column;gap:.625rem}.cms-media-section-title{align-items:center;color:var(--ui-text-muted);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem}.cms-media-folders{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}.cms-media-gallery.is-compact .cms-media-folders{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.cms-media-folder-tile{align-items:center;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);cursor:pointer;display:flex;gap:.75rem;min-width:0;padding:.625rem .75rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-folder-tile:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-1px)}.cms-media-folder-tile.is-drop{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-media-folder-tile-icon{background:var(--cms-accent-soft);border-radius:var(--cms-radius-md);box-sizing:content-box;color:var(--cms-accent-text);flex:none;height:1.125rem;padding:.4375rem;width:1.125rem}.cms-media-folder-tile-text{display:flex;flex-direction:column;min-width:0}.cms-media-folder-tile-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder-tile-meta{color:var(--ui-text-dimmed);font-size:.75rem}.cms-media-row.is-checked,.cms-media-tile.is-checked{border-color:var(--cms-accent)}.cms-media-tile.is-checked{box-shadow:0 0 0 3px var(--cms-accent-soft)}.cms-media-row.is-checked{background:var(--cms-accent-soft)}.cms-media-tile.is-checked .cms-media-preview>img,.cms-media-tile.is-checked .cms-media-preview>video{border-radius:var(--cms-radius-md);transform:scale(.94)}.cms-media-row.is-dragging,.cms-media-tile.is-dragging{opacity:.45}.cms-media-check{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.3);border:1.5px solid hsla(0,0%,100%,.9);border-radius:9999px;color:transparent;cursor:pointer;display:flex;height:1.25rem;justify-content:center;left:.5rem;opacity:0;position:absolute;scale:.85;top:.5rem;transition:opacity var(--cms-duration) var(--cms-ease),scale var(--cms-duration-lg) var(--cms-ease-spring),background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.25rem;z-index:1}.cms-media-check.is-on,.cms-media-check.is-visible,.cms-media-tile:focus-visible .cms-media-check,.cms-media-tile:hover .cms-media-check{opacity:1;scale:1}.cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent);color:var(--cms-accent-contrast)}.cms-media-row .cms-media-check{backdrop-filter:none;background:var(--cms-field);border-color:var(--cms-line-strong);border-radius:var(--cms-radius-xs);flex:none;height:1rem;position:static;width:1rem}.cms-media-row .cms-media-check.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-media-grid.is-recent{gap:.5rem;grid-template-columns:repeat(6,minmax(0,1fr))}.cms-media-grid.is-recent .cms-media-tile{border-radius:var(--cms-radius-md)}.cms-media-list{display:flex;flex-direction:column;overflow:hidden}.cms-media-row{align-items:center;animation:cms-row-in .32s var(--cms-ease-out) backwards;border:1px solid transparent;border-bottom:1px solid var(--cms-line);cursor:pointer;display:flex;gap:.875rem;padding:.4375rem .875rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-row:last-child{border-bottom-color:transparent}.cms-media-row:hover{background:var(--cms-subtle)}.cms-media-row-name{color:var(--ui-text-highlighted);display:flex;flex:1;flex-direction:column;font-size:.8125rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-row-cell{color:var(--ui-text-muted);flex:none;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;width:5.5rem}.cms-media-row-cell.is-mono{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem;text-transform:uppercase;width:3.5rem}@media (max-width:640px){.cms-media-row-cell.is-wide{display:none}.cms-media-grid.is-recent{grid-template-columns:repeat(3,minmax(0,1fr))}}.cms-media-drop-overlay{align-items:center;animation:cms-fade .16s var(--cms-ease);backdrop-filter:blur(4px);background:color-mix(in oklab,var(--cms-surface) 84%,transparent);border:1.5px dashed var(--cms-accent);border-radius:var(--cms-radius-xl);color:var(--ui-text-highlighted);display:flex;flex-direction:column;font-size:.875rem;gap:.5rem;inset:-.5rem;justify-content:center;pointer-events:none;position:absolute;z-index:10}.cms-media-drop-overlay>svg{animation:cms-float 1.6s ease-in-out infinite}.cms-media-drop-overlay strong,.cms-media-drop-overlay>svg{color:var(--cms-accent-text)}.cms-media-upload-hint{margin-top:.75rem;text-align:center}.cms-media-detail{display:flex;flex-direction:column;gap:1.5rem}.cms-media-detail-preview{align-items:center;background:repeating-conic-gradient(var(--cms-subtle) 0 25%,var(--cms-surface) 0 50%) 50% /1.25rem 1.25rem;border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);color:var(--ui-text-dimmed);display:flex;justify-content:center;max-height:24rem;min-height:12rem;overflow:hidden}.cms-media-detail-preview>img,.cms-media-detail-preview>video{animation:cms-fade .3s var(--cms-ease);max-height:24rem;max-width:100%;-o-object-fit:contain;object-fit:contain}.cms-media-detail-facts{background:var(--cms-subtle);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:grid;font-size:.8125rem;gap:.5rem 1.5rem;grid-template-columns:max-content minmax(0,1fr);padding:.875rem 1rem}.cms-media-detail-facts dt{color:var(--ui-text-muted)}.cms-media-detail-facts dd{color:var(--ui-text-highlighted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-detail-facts dd.is-mono{font-family:var(--cms-font-mono);font-size:.75rem;line-height:1.6}.cms-media-detail-usage{display:flex;flex-direction:column;gap:.625rem}.cms-media-usage-list{border:1px solid var(--cms-line);border-radius:var(--cms-radius-md);display:flex;flex-direction:column;overflow:hidden}.cms-media-usage-list li+li{border-top:1px solid var(--cms-line)}.cms-media-usage-link{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;transition:background-color var(--cms-duration) var(--cms-ease)}.cms-media-usage-link:hover{background:var(--cms-subtle)}.cms-media-usage-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-usage-meta{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-media-usage-badge{align-items:center;color:var(--cms-accent-text);display:inline-flex;flex:none;font-size:.6875rem;font-weight:500;gap:.25rem;white-space:nowrap}.cms-media-usage-badge.is-unused{color:var(--ui-text-dimmed);font-weight:400}.cms-media-row-cell.is-usage{width:7.5rem}.cms-confirm-groups{display:flex;flex-direction:column;gap:.875rem;max-height:min(50vh,24rem);overflow-y:auto}.cms-confirm-group{display:flex;flex-direction:column;gap:.375rem}.cms-confirm-group-title{color:var(--ui-text-toned);font-family:var(--cms-font-mono);font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-grid{display:grid;gap:.875rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.cms-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.cms-media-grid:not(.is-compact){grid-template-columns:repeat(5,minmax(0,1fr))}}.cms-media-tile{overflow:hidden;text-align:left;transition:border-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-grid>.cms-media-tile{animation:cms-row-in .38s var(--cms-ease-out) backwards}.cms-media-tile.is-selectable{cursor:pointer}.cms-media-tile.is-selectable:hover{border-color:var(--cms-line-strong);box-shadow:var(--cms-shadow-sm);transform:translateY(-2px)}.cms-media-preview{align-items:center;aspect-ratio:1;background:var(--cms-subtle);color:var(--ui-text-dimmed);display:flex;justify-content:center;overflow:hidden;position:relative}.cms-media-preview>img,.cms-media-preview>video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;transition:transform .5s var(--cms-ease-out),border-radius var(--cms-duration-lg) var(--cms-ease);width:100%}.cms-media-tile.is-selectable:hover:not(.is-checked) .cms-media-preview>img,.cms-media-tile.is-selectable:hover:not(.is-checked) .cms-media-preview>video{transform:scale(1.04)}.cms-media-info{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);bottom:0;color:#fff;font-family:var(--cms-font-mono);font-size:.6875rem;left:0;letter-spacing:.02em;line-height:1.4;opacity:0;padding:1.75rem .625rem .5rem;pointer-events:none;position:absolute;right:0;text-transform:uppercase;transform:translateY(4px);transition:opacity var(--cms-duration-lg) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-out)}.cms-media-tile:focus-visible .cms-media-info,.cms-media-tile:hover .cms-media-info{opacity:1;transform:none}.cms-media-meta{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding:.5625rem .75rem}.cms-media-name{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-media-folder,.cms-media-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-media-folder{align-items:center;color:var(--ui-text-dimmed);display:inline-flex;font-size:.75rem;font-weight:400;gap:.25rem}.cms-media-single{max-width:15rem;width:100%}.cms-block-tile.is-missing{border-color:color-mix(in oklab,var(--ui-warning) 55%,transparent)}.cms-media-missing{align-items:center;font-size:.75rem;gap:.375rem}.cms-media-missing,.cms-media-missing-icon{color:var(--ui-warning);display:flex}.cms-media-thumb{background:var(--cms-subtle);border-radius:var(--cms-radius-sm);box-shadow:inset 0 0 0 1px var(--cms-line);height:2rem;-o-object-fit:cover;object-fit:cover;width:2rem}.cms-media-thumb.is-fallback{align-items:center;color:var(--ui-text-dimmed);display:flex;justify-content:center}.cms-media-thumb-empty{color:var(--ui-text-dimmed)}.cms-table-shell{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.cms-table-scroll{flex:1;min-height:0;overflow:auto}.cms-table{border-collapse:collapse;min-width:-moz-max-content;min-width:max-content;text-align:left;width:100%}.cms-table td,.cms-table th{white-space:nowrap}.cms-table thead{background:var(--cms-subtle);position:sticky;top:0;z-index:10}.cms-table th{background:var(--cms-subtle);box-shadow:inset 0 -1px 0 var(--cms-line);color:var(--ui-text-muted);font-size:.75rem;font-weight:500;height:2.375rem;line-height:1.4;padding:0 1rem;transition:background-color var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease)}.cms-table td{color:var(--ui-text);font-size:.8125rem;height:3rem;padding:0 1rem}.cms-table td.cms-table-check-cell+td,.cms-table td:first-child:not(.cms-table-check-cell){color:var(--ui-text-highlighted);font-weight:500}.cms-table tbody tr{animation:cms-row-in .36s var(--cms-ease-out) backwards;animation-delay:var(--cms-row-delay,0s);border-bottom:1px solid var(--cms-line);transition:background-color var(--cms-duration) var(--cms-ease)}.cms-table tbody tr:last-child{border-bottom:0}.cms-table tbody tr:hover{background:var(--cms-subtle)}.cms-table td.cms-table-check-cell,.cms-table th.cms-table-check-cell{padding:0 0 0 1rem;width:2.75rem}.cms-table td.cms-table-check-cell+td,.cms-table th.cms-table-check-cell+th{padding-left:.75rem}.cms-table tbody tr.is-selected,.cms-table tbody tr.is-selected:hover{background:var(--cms-accent-soft)}.cms-checkbox{background:var(--cms-field);border:1px solid var(--cms-line-strong);border-radius:var(--cms-radius-xs);box-shadow:var(--cms-shadow-xs);color:var(--cms-accent-contrast);display:grid;height:1rem;place-items:center;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease);vertical-align:middle;width:1rem}.cms-checkbox:hover{border-color:var(--cms-text-dimmed)}.cms-checkbox:active{scale:.9}.cms-checkbox.is-on{background:var(--cms-accent);border-color:var(--cms-accent)}.cms-checkbox>svg{animation:cms-icon-pop .26s var(--cms-ease-spring);height:.75rem;stroke-width:3;width:.75rem}.cms-bulk-actions{animation:cms-pop .2s var(--cms-ease-out)}.cms-bulk-count{align-items:center;color:var(--ui-text-highlighted);display:inline-flex;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;gap:.5rem}.cms-bulk-count:before{background:var(--cms-accent);border-radius:9999px;box-shadow:0 0 0 3px var(--cms-accent-soft);content:"";height:.5rem;width:.5rem}.cms-th-label{align-items:center;display:inline-flex;gap:.35rem}.cms-table th.is-sortable{cursor:pointer}.cms-table th.is-sortable:hover,.cms-table th.is-sorted{color:var(--ui-text-highlighted)}.cms-table th.is-sorted{background:var(--cms-fill)}.cms-th-sort{flex:none;opacity:0;transition:opacity var(--cms-duration) var(--cms-ease),transform var(--cms-duration-lg) var(--cms-ease-spring)}.cms-table th.is-sortable:hover .cms-th-sort,.cms-table th.is-sorted .cms-th-sort{opacity:1}.cms-alert{animation:cms-enter .26s var(--cms-ease-out) backwards;border:1px solid transparent;border-radius:var(--cms-radius-md);display:flex;flex-direction:column;font-size:.8125rem;gap:.125rem;padding:.625rem .875rem}.cms-alert-title{font-weight:550}.cms-alert-error{background:color-mix(in oklab,var(--ui-error) 8%,transparent);border-color:color-mix(in oklab,var(--ui-error) 24%,transparent);color:var(--ui-error)}.cms-alert-success{background:color-mix(in oklab,var(--ui-success) 8%,transparent);border-color:color-mix(in oklab,var(--ui-success) 24%,transparent);color:var(--ui-success)}.cms-alert-warning{background:color-mix(in oklab,var(--ui-warning) 8%,transparent);border-color:color-mix(in oklab,var(--ui-warning) 24%,transparent);color:var(--ui-warning)}.cms-alert-neutral{background:var(--cms-subtle);border-color:var(--cms-line);color:var(--ui-text-toned)}.cms-alert-neutral .cms-alert-title{color:var(--ui-text-highlighted)}.cms-toaster{bottom:1rem;display:flex;flex-direction:column;gap:.5rem;max-width:calc(100vw - 2rem);position:fixed;right:1rem;width:22rem;z-index:80}.cms-toast{animation:cms-toast-in .42s var(--cms-ease-out) both;background:var(--cms-elevated);border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-overlay);overflow:hidden;padding:.75rem .75rem .8125rem;position:relative}.cms-toast:after{animation:cms-toast-timer 4s linear forwards;background:var(--cms-line-strong);bottom:0;content:"";height:2px;left:0;position:absolute;right:0;transform-origin:left}.cms-toast.is-success:after{background:color-mix(in oklab,var(--ui-success) 60%,transparent)}.cms-toast.is-error:after{background:color-mix(in oklab,var(--ui-error) 60%,transparent)}.cms-toast-row{align-items:flex-start;display:flex;gap:.625rem}.cms-toast-icon{animation:cms-icon-pop .42s var(--cms-ease-spring) .12s;background:var(--cms-fill);border-radius:9999px;box-sizing:content-box;color:var(--ui-text-muted);flex-shrink:0;padding:.1875rem}.cms-toast.is-success .cms-toast-icon{background:color-mix(in oklab,var(--ui-success) 14%,transparent);color:var(--ui-success)}.cms-toast.is-error .cms-toast-icon{background:color-mix(in oklab,var(--ui-error) 14%,transparent);color:var(--ui-error)}.cms-toast-title{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500;padding-top:.0625rem}.cms-toast-description{color:var(--ui-text-muted);font-size:.8125rem;margin-top:.125rem}.cms-toast-dismiss{border-radius:var(--cms-radius-xs);color:var(--ui-text-dimmed);flex-shrink:0;padding:.125rem;transition:color var(--cms-duration) var(--cms-ease),background-color var(--cms-duration) var(--cms-ease)}.cms-toast-dismiss:hover{background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-pagination{align-items:center;display:flex;gap:.25rem;justify-content:center}.cms-page-btn{border-radius:var(--cms-radius-sm);color:var(--ui-text-muted);font-size:.8125rem;font-variant-numeric:tabular-nums;height:1.75rem;min-width:1.75rem;padding:0 .4375rem;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease),scale var(--cms-duration) var(--cms-ease)}.cms-page-btn>svg{margin-inline:auto}.cms-page-btn:hover:not(:disabled){background:var(--cms-hover);color:var(--ui-text-highlighted)}.cms-page-btn:active:not(:disabled){scale:.94}.cms-page-btn.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--ui-text-highlighted);font-weight:600}.cms-page-btn:disabled{opacity:.35}.cms-editor{background:var(--cms-canvas);display:flex;flex-direction:column;height:100dvh}.cms-editor-overlay{animation:cms-fade .16s var(--cms-ease);inset:0;position:fixed;z-index:45}.cms-editor-bar{align-items:center;background:var(--cms-surface);border-bottom:1px solid var(--cms-line);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:3.25rem;padding:.5rem .75rem}.cms-editor-bar-center,.cms-editor-bar-end,.cms-editor-bar-start,.cms-editor-heading{align-items:center;display:flex;min-width:0}.cms-editor-bar-start{gap:.375rem}.cms-editor-heading{gap:.625rem}.cms-editor-bar-center{gap:.5rem;justify-content:center}.cms-editor-bar-end{gap:.375rem;justify-content:flex-end}.cms-editor-title{color:var(--ui-text-highlighted);font-size:.875rem;font-weight:600;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-editor-dirty{color:var(--ui-text-muted);font-size:.75rem;white-space:nowrap}.cms-editor-devices{align-items:center;background:var(--cms-hover);border:1px solid var(--cms-line);border-radius:var(--cms-radius-sm);display:inline-flex;gap:1px;padding:2px}.cms-editor-device{align-items:center;border-radius:var(--cms-radius-xs);color:var(--ui-text-muted);display:flex;height:1.375rem;justify-content:center;transition:background-color var(--cms-duration) var(--cms-ease),box-shadow var(--cms-duration) var(--cms-ease),color var(--cms-duration) var(--cms-ease);width:1.75rem}.cms-editor-device:hover:not(.is-active){color:var(--ui-text-highlighted)}.cms-editor-device.is-active{background:var(--cms-surface);box-shadow:var(--cms-shadow-raised);color:var(--cms-accent-text)}.cms-editor-body{display:flex;flex:1;min-height:0}.cms-editor-canvas{display:flex;flex:1;justify-content:center;min-width:0;overflow:auto;padding:1rem}.cms-editor-frame{background:#fff;border-radius:var(--cms-radius-lg);box-shadow:var(--cms-shadow-raised);height:100%;overflow:hidden;transition:width var(--cms-duration-lg) var(--cms-ease-out);width:100%}.cms-editor-frame.is-mobile{flex:none;max-width:100%;width:390px}.cms-editor-iframe{border:0;display:block;height:100%;width:100%}.cms-editor-panel{background:var(--cms-surface);border-left:1px solid var(--cms-line);display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:22rem}.cms-editor-tabs{padding:.75rem .875rem 0}.cms-editor-tabs .cms-tabs{margin-bottom:0}.cms-editor-tab-dot{background:var(--cms-error);border-radius:9999px;display:inline-block;height:6px;margin-left:.375rem;vertical-align:middle;width:6px}.cms-editor-panel-body{container-type:inline-size;display:flex;flex:1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:.875rem}.cms-editor-fields{display:flex;flex-direction:column;gap:1.125rem}.cms-editor-section{display:flex;flex-direction:column;gap:.5rem}.cms-editor-section-title{border-top:1px solid var(--cms-line);display:flex;flex-direction:column;gap:.25rem;padding-top:.75rem}.cms-editor-section-title:first-child{border-top:0;padding-top:0}.cms-editor-block-head{align-items:center;display:flex;justify-content:space-between;margin:-.25rem -.25rem 0}.cms-editor-block-position{color:var(--ui-text-dimmed);font-family:var(--cms-font-mono);font-size:.6875rem}.cms-editor-block-title{align-items:center;color:var(--ui-text-highlighted);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem}.cms-editor-block-actions{border-bottom:1px solid var(--cms-line);display:flex;flex-wrap:wrap;gap:.375rem;padding-bottom:1rem}.cms-editor-schedule .cms-popover{right:0;top:100%;transform-origin:top right}.cms-editor-schedule-panel{display:flex;flex-direction:column;gap:.875rem;padding:.875rem;width:18rem}.cms-outline{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.cms-outline-row{align-items:center;border:1px solid transparent;border-radius:var(--cms-radius-md);display:flex;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease),opacity var(--cms-duration) var(--cms-ease)}.cms-outline-row:hover{background:var(--cms-hover)}.cms-outline-row.is-selected{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-outline-row.is-dragging{opacity:.4}.cms-outline-row.is-drop-target{box-shadow:inset 0 2px 0 var(--cms-accent)}.cms-outline-grip{align-items:center;color:var(--ui-text-dimmed);cursor:grab;display:flex;padding:0 .125rem 0 .5rem}.cms-outline-main{align-items:center;border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex:1;gap:.5rem;min-width:0;padding:.4375rem .5rem .4375rem .25rem;text-align:left}.cms-outline-row.is-hidden .cms-outline-main{opacity:.55}.cms-outline-text{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.cms-outline-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:500}.cms-outline-summary{color:var(--ui-text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-outline-hidden{color:var(--ui-text-dimmed)}.cms-palette{display:grid;gap:.375rem}.cms-palette-item{align-items:flex-start;background:var(--cms-surface);border:1px solid var(--cms-line);border-radius:var(--cms-radius-lg);display:flex;gap:.625rem;padding:.625rem;text-align:left;transition:background-color var(--cms-duration) var(--cms-ease),border-color var(--cms-duration) var(--cms-ease)}.cms-palette-item:hover{background:var(--cms-accent-soft);border-color:var(--cms-accent-line)}.cms-palette-icon{align-items:center;background:var(--cms-fill);border-radius:var(--cms-radius-md);color:var(--ui-text-toned);display:flex;flex-shrink:0;height:2rem;justify-content:center;width:2rem}.cms-palette-item:hover .cms-palette-icon{color:var(--cms-accent-text)}.cms-palette-text{display:flex;flex-direction:column;gap:.1875rem;min-width:0;padding-top:.0625rem}.cms-palette-label{color:var(--ui-text-highlighted);font-size:.8125rem;font-weight:600}.cms-palette-description{color:var(--ui-text-muted);font-size:.75rem;line-height:1.4}@media (max-width:767px){.cms-editor-bar{grid-template-columns:minmax(0,1fr) auto}.cms-editor-bar-center{grid-column:1/-1;grid-row:2}.cms-editor-body{flex-direction:column}.cms-editor-canvas{flex:0 0 50%;padding:.5rem}.cms-editor-panel{border-left:0;border-top:1px solid var(--cms-line);flex:1;width:auto}}::view-transition-new(root),::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--cms-ease)}@media (prefers-reduced-motion:reduce){.cms-scope *,.cms-scope :after,.cms-scope :before{animation-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xleddyl/nuxt-cms",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Lightweight CMS that ships with your Nuxt app: runs on the Nitro server, content types defined in code, /cms admin panel, GraphQL API, SQLite or Postgres. No external CMS needed!",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Edoardo Alberti (https://github.com/xleddyl)",
|