:root{--c-neutral-50:oklch(98.5% .002 250);--c-neutral-100:oklch(96.2% .004 250);--c-neutral-200:oklch(92% .006 250);--c-neutral-300:oklch(85.8% .009 250);--c-neutral-400:oklch(70% .013 250);--c-neutral-500:oklch(56.6% .016 250);--c-neutral-600:oklch(45.2% .017 250);--c-neutral-700:oklch(36.4% .018 252);--c-neutral-800:oklch(27.2% .019 254);--c-neutral-850:oklch(24.6% .021 256);--c-neutral-900:oklch(20.5% .02 258);--c-neutral-950:oklch(16.3% .019 260);--c-neutral-1000:oklch(12.4% .016 262);--c-accent-200:oklch(90% .086 165);--c-accent-300:oklch(84.8% .121 164);--c-accent-400:oklch(78.6% .155 163);--c-accent-500:oklch(72.2% .166 162);--c-accent-600:oklch(63% .15 162);--c-accent-700:oklch(52.2% .122 162);--c-accent-900:oklch(31% .07 164);--c-warm-300:oklch(85% .115 68);--c-warm-500:oklch(75.2% .158 62);--c-warm-700:oklch(56% .13 58);--c-danger-400:oklch(70% .185 25);--c-danger-600:oklch(55.6% .2 27);--c-success-500:var(--c-accent-500);--c-warning-500:var(--c-warm-500);--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, SFMono-Regular, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--fs-100:clamp(.75rem, .73rem + .1vw, .8125rem);--fs-200:clamp(.875rem, .855rem + .1vw, .9375rem);--fs-300:clamp(1rem, .975rem + .125vw, 1.0625rem);--fs-400:clamp(1.125rem, 1.08rem + .22vw, 1.25rem);--fs-500:clamp(1.375rem, 1.28rem + .48vw, 1.625rem);--fs-600:clamp(1.75rem, 1.56rem + .95vw, 2.25rem);--fs-700:clamp(2.125rem, 1.78rem + 1.72vw, 3rem);--fs-800:clamp(2.625rem, 2.03rem + 2.98vw, 4.125rem);--fs-900:clamp(3rem, 2.15rem + 4.25vw, 5rem);--lh-tight:1.08;--lh-snug:1.28;--lh-normal:1.6;--lh-loose:1.78;--ls-tight:-.022em;--ls-snug:-.012em;--ls-normal:0;--ls-wide:.06em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-0:0;--space-1:.125rem;--space-2:.25rem;--space-3:.5rem;--space-4:.75rem;--space-5:1rem;--space-6:1.25rem;--space-7:1.5rem;--space-8:2rem;--space-9:2.5rem;--space-10:3rem;--space-11:4rem;--space-12:5rem;--space-13:6rem;--space-14:8rem;--space-section:clamp(3.5rem, 2.4rem + 5.5vw, 7rem);--container-max:76rem;--container-narrow:46rem;--container-pad:clamp(1.125rem, .7rem + 2.1vw, 2rem);--radius-xs:.25rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.125rem;--radius-xl:1.75rem;--radius-pill:999px;--radius-card:var(--radius-lg);--radius-control:var(--radius-sm);--dur-instant:80ms;--dur-fast:.14s;--dur-base:.22s;--dur-slow:.36s;--dur-slower:.56s;--ease-standard:cubic-bezier(.32, .08, .24, 1);--ease-out-quart:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--motion-scale:1;--z-base:1;--z-sticky:100;--z-overlay:200;--z-modal:300;--z-toast:400;--mask-opaque:oklch(0% 0 0);--tile-bg:oklch(97% .004 250);--tile-ring:oklch(0% 0 0/.1);--tile-radius:22.5%;--tile-shadow:inset 0 0 0 1px var(--tile-ring), 0 1px 2px oklch(0% 0 0/.3), 0 12px 28px -14px oklch(0% 0 0/.7);--tile-shadow-hover:inset 0 0 0 1px var(--tile-ring), 0 2px 4px oklch(0% 0 0/.3), 0 20px 40px -16px oklch(0% 0 0/.75);--tile-fallback-fg:oklch(45% .02 250);--sheen:linear-gradient(90deg, transparent, oklch(100% 0 0/.05), transparent);--mask-fade-top:linear-gradient(180deg, var(--mask-opaque) 0%, transparent 82%);--mask-fade-center:radial-gradient(90% 70% at 50% 40%, var(--mask-opaque) 10%, transparent 78%);--mask-fade-bottom:linear-gradient(0deg, var(--mask-opaque) 0%, transparent 78%);--grid-line:oklch(100% 0 0/.035);--grid-size:56px;--border-width-1:1px;--border-width-2:2px;--backdrop-blur:14px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-canvas:var(--c-neutral-1000);--color-bg-app:var(--c-neutral-950);--color-bg-surface:var(--c-neutral-900);--color-bg-elevated:var(--c-neutral-850);--color-bg-inset:var(--c-neutral-1000);--color-text-primary:var(--c-neutral-50);--color-text-secondary:var(--c-neutral-300);--color-text-muted:var(--c-neutral-400);--color-text-faint:var(--c-neutral-500);--color-text-on-accent:var(--c-neutral-1000);--color-border:oklch(100% 0 0/.1);--color-border-strong:oklch(100% 0 0/.18);--color-border-accent:oklch(from var(--c-accent-500) l c h / .42);--color-accent:var(--c-accent-400);--color-accent-hover:var(--c-accent-300);--color-accent-subtle:oklch(from var(--c-accent-500) l c h / .14);--color-accent-text:var(--c-accent-300);--color-warm:var(--c-warm-500);--color-success:var(--c-accent-400);--color-warning:var(--c-warm-500);--color-danger:var(--c-danger-400);--color-danger-bg:oklch(from var(--c-danger-600) l c h / .18);--gradient-accent:linear-gradient(135deg, var(--c-accent-400), var(--c-accent-600) 55%, var(--c-warm-500));--gradient-surface:linear-gradient(180deg, oklch(100% 0 0/.05), oklch(100% 0 0/0) 60%);--gradient-hairline:linear-gradient(90deg, transparent, var(--color-border-strong) 18%, var(--color-border-strong) 82%, transparent);--elevation-1:inset 0 1px 0 oklch(100% 0 0/.05), 0 0 0 1px oklch(100% 0 0/.055);--elevation-2:inset 0 1px 0 oklch(100% 0 0/.06), 0 0 0 1px oklch(100% 0 0/.07), 0 10px 26px -14px oklch(0% 0 0/.85);--elevation-3:inset 0 1px 0 oklch(100% 0 0/.08), 0 0 0 1px oklch(100% 0 0/.09), 0 22px 48px -20px oklch(0% 0 0/.9);--elevation-4:inset 0 1px 0 oklch(100% 0 0/.1), 0 0 0 1px oklch(100% 0 0/.13), 0 34px 76px -28px oklch(0% 0 0/.95);--glow-accent:0 0 0 1px var(--color-border-accent), 0 12px 40px -16px oklch(from var(--c-accent-500) l c h / .55);--color-accent-ring:oklch(from var(--c-accent-400) l c h / .5);--color-accent-ring-0:oklch(from var(--c-accent-400) l c h / 0);--color-focus-ring:var(--c-accent-300);--focus-ring:0 0 0 2px var(--color-bg-canvas), 0 0 0 4px var(--color-focus-ring);--color-scrim:oklch(0% 0 0/.66)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-canvas:var(--c-neutral-50);--color-bg-app:oklch(100% 0 0);--color-bg-surface:oklch(100% 0 0);--color-bg-elevated:oklch(100% 0 0);--color-bg-inset:var(--c-neutral-100);--color-text-primary:var(--c-neutral-950);--color-text-secondary:var(--c-neutral-700);--color-text-muted:var(--c-neutral-600);--color-text-faint:var(--c-neutral-500);--color-text-on-accent:oklch(100% 0 0);--color-border:oklch(0% 0 0/.1);--color-border-strong:oklch(0% 0 0/.18);--color-border-accent:oklch(from var(--c-accent-700) l c h / .38);--color-accent:var(--c-accent-700);--color-accent-hover:var(--c-accent-600);--color-accent-subtle:oklch(from var(--c-accent-500) l c h / .12);--color-accent-text:var(--c-accent-700);--color-warm:var(--c-warm-700);--color-success:var(--c-accent-700);--color-warning:var(--c-warm-700);--color-danger:var(--c-danger-600);--color-danger-bg:oklch(from var(--c-danger-600) l c h / .1);--gradient-accent:linear-gradient(135deg, var(--c-accent-600), var(--c-accent-700) 55%, var(--c-warm-700));--gradient-surface:linear-gradient(180deg, oklch(0% 0 0/.022), oklch(0% 0 0/0) 60%);--gradient-hairline:linear-gradient(90deg, transparent, var(--color-border-strong) 18%, var(--color-border-strong) 82%, transparent);--tile-bg:oklch(100% 0 0);--tile-ring:oklch(0% 0 0/.09);--grid-line:oklch(0% 0 0/.035);--tile-shadow:inset 0 0 0 1px var(--tile-ring), 0 1px 2px oklch(0% 0 0/.06), 0 12px 26px -16px oklch(0% 0 0/.22);--tile-shadow-hover:inset 0 0 0 1px var(--tile-ring), 0 2px 4px oklch(0% 0 0/.08), 0 20px 38px -18px oklch(0% 0 0/.28);--tile-fallback-fg:oklch(55% .02 250);--sheen:linear-gradient(90deg, transparent, oklch(0% 0 0/.035), transparent);--elevation-1:0 1px 2px oklch(0% 0 0/.05), 0 0 0 1px oklch(0% 0 0/.05);--elevation-2:0 2px 6px -1px oklch(0% 0 0/.08), 0 0 0 1px oklch(0% 0 0/.06);--elevation-3:0 12px 28px -10px oklch(0% 0 0/.16), 0 0 0 1px oklch(0% 0 0/.06);--elevation-4:0 24px 52px -18px oklch(0% 0 0/.22), 0 0 0 1px oklch(0% 0 0/.07);--glow-accent:0 0 0 1px var(--color-border-accent), 0 12px 34px -18px oklch(from var(--c-accent-600) l c h / .45);--color-accent-ring:oklch(from var(--c-accent-700) l c h / .45);--color-accent-ring-0:oklch(from var(--c-accent-700) l c h / 0);--color-focus-ring:var(--c-accent-700);--color-scrim:oklch(0% 0 0/.42)}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}@media (prefers-reduced-motion:reduce){:root{--motion-scale:0}}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:var(--fs-300);line-height:var(--lh-normal);color:var(--color-text-primary);background:var(--color-bg-canvas);-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-snug)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-xs);outline:none}.spinner{align-items:center;gap:var(--space-4);display:inline-flex}.spinner--full{justify-content:center;width:100%;min-height:60svh}.spinner__ring{border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.72s linear infinite spin}.spinner__label{color:var(--color-text-muted);font-size:var(--fs-200)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner__ring{animation-duration:2s}}.shell{grid-template-columns:15rem 1fr;min-height:100svh;display:grid}@media (width<=60rem){.shell{grid-template-columns:1fr}}.sidebar{gap:var(--space-7);padding:var(--space-6);border-inline-end:var(--border-width-1) solid var(--color-border);background:var(--color-bg-app);flex-direction:column;height:100svh;display:flex;position:sticky;top:0;overflow-y:auto}@media (width<=60rem){.sidebar{border-inline-end:none;border-block-end:var(--border-width-1) solid var(--color-border);height:auto;position:static}}.sidebar__brand{align-items:center;gap:var(--space-4);font-weight:var(--fw-semibold);display:flex}.sidebar__mark{border-radius:var(--radius-sm);background:var(--gradient-accent);width:2rem;height:2rem;color:var(--color-text-on-accent);font-size:var(--fs-100);font-weight:var(--fw-bold);place-items:center;display:grid}.sidebar__group{gap:var(--space-1);flex-direction:column;display:flex}.sidebar__label{font-size:var(--fs-100);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--color-text-faint);padding:var(--space-3) var(--space-4) var(--space-2)}.sidebar__link{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);color:var(--color-text-muted);font-size:var(--fs-200);transition:background-color calc(var(--dur-fast) * var(--motion-scale)) var(--ease-standard), color calc(var(--dur-fast) * var(--motion-scale)) var(--ease-standard);display:flex}.sidebar__link:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.sidebar__link.is-active{background:var(--color-accent-subtle);color:var(--color-accent-text);font-weight:var(--fw-medium)}.sidebar__foot{gap:var(--space-4);flex-direction:column;margin-block-start:auto;display:flex}.sidebar__user{font-size:var(--fs-100);color:var(--color-text-faint);overflow-wrap:anywhere}.shell__main{flex-direction:column;min-width:0;display:flex}.shell__content{padding:var(--space-8);flex:1;min-width:0}@media (width<=48rem){.shell__content{padding:var(--space-6) var(--space-5)}}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;margin-block-end:var(--space-8);display:flex}.page-head__title{font-size:var(--fs-600)}.page-head__subtitle{font-size:var(--fs-200);color:var(--color-text-muted);margin-block-start:var(--space-2)}.page-head__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.card{padding:var(--space-6);border-radius:var(--radius-card);background:var(--color-bg-surface);box-shadow:var(--elevation-1)}.stat-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.stat{gap:var(--space-2);display:grid}.stat__value{font-size:var(--fs-600);font-weight:var(--fw-semibold)}.stat__label{font-size:var(--fs-200);color:var(--color-text-muted)}.btn{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-control);border:var(--border-width-1) solid transparent;font-size:var(--fs-200);font-weight:var(--fw-medium);white-space:nowrap;transition:transform calc(var(--dur-fast) * var(--motion-scale)) var(--ease-standard), filter calc(var(--dur-fast) * var(--motion-scale)) var(--ease-standard);display:inline-flex}.btn--primary{background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--fw-semibold)}.btn--secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn--ghost{color:var(--color-text-muted)}.btn--danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.btn--lg{padding:var(--space-4) var(--space-7);font-size:var(--fs-300)}.btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.field{gap:var(--space-3);display:grid}.field__label{font-size:var(--fs-200);font-weight:var(--fw-medium);color:var(--color-text-secondary)}.field__hint{font-size:var(--fs-100);color:var(--color-text-faint)}.field__error{font-size:var(--fs-100);color:var(--color-danger)}.input,.textarea,.select{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);border:var(--border-width-1) solid var(--color-border-strong);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:var(--fs-200)}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-accent)}.textarea{resize:vertical;min-height:7rem}.form-grid{gap:var(--space-5);display:grid}@media (width>=48rem){.form-grid--2{grid-template-columns:1fr 1fr}}.table-wrap{border-radius:var(--radius-card);box-shadow:var(--elevation-1);background:var(--color-bg-surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-200)}.table th,.table td{padding:var(--space-4) var(--space-5);text-align:start;border-block-end:var(--border-width-1) solid var(--color-border)}.table th{color:var(--color-text-muted);font-weight:var(--fw-medium);font-size:var(--fs-100);text-transform:uppercase;letter-spacing:var(--ls-wide)}.table tbody tr{cursor:pointer;transition:background-color calc(var(--dur-fast) * var(--motion-scale)) var(--ease-standard)}.table tbody tr:hover{background:var(--color-bg-elevated)}.table tbody tr:last-child td{border-block-end:none}.badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--fs-100);font-weight:var(--fw-medium);border:var(--border-width-1) solid var(--color-border);color:var(--color-text-muted);display:inline-flex}.badge--published{color:var(--color-success);border-color:var(--color-border-accent);background:var(--color-accent-subtle)}.badge--draft{color:var(--color-warning)}.badge--danger{color:var(--color-danger);border-color:var(--color-danger)}.toasts{z-index:var(--z-toast);gap:var(--space-3);display:grid;position:fixed;inset-block-end:var(--space-7);inset-inline-end:var(--space-7)}.toast{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-radius:var(--radius-card);background:var(--color-bg-elevated);box-shadow:var(--elevation-4);font-size:var(--fs-200);max-width:26rem;display:flex}.toast--error{border-inline-start:3px solid var(--color-danger)}.toast--success{border-inline-start:3px solid var(--color-success)}.modal-scrim{z-index:var(--z-modal);padding:var(--space-6);background:var(--color-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.modal{width:min(38rem,100%);max-height:85svh;padding:var(--space-7);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--elevation-4);gap:var(--space-6);display:grid;overflow-y:auto}.modal__title{font-size:var(--fs-500)}.modal__actions{justify-content:flex-end;gap:var(--space-3);display:flex}.empty,.error-state{gap:var(--space-4);text-align:center;padding:var(--space-11) var(--space-6);color:var(--color-text-muted);justify-items:center;display:grid}.empty__title,.error-state__title{font-size:var(--fs-400);color:var(--color-text-primary)}.locale-tabs{gap:var(--space-2);margin-block-end:var(--space-5);display:flex}.locale-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:var(--border-width-1) solid var(--color-border);font-size:var(--fs-100);color:var(--color-text-muted);display:inline-flex}.locale-tab.is-active{background:var(--color-accent-subtle);color:var(--color-accent-text);border-color:var(--color-border-accent)}.locale-tab__flag{font-size:var(--fs-100);color:var(--color-warning)}.publish-bar{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-8);border-block-start:var(--border-width-1) solid var(--color-border);background:color-mix(in oklab, var(--color-bg-app) 92%, transparent);-webkit-backdrop-filter:blur(var(--backdrop-blur));backdrop-filter:blur(var(--backdrop-blur));flex-wrap:wrap;display:flex;position:sticky;bottom:0}.publish-bar__state{align-items:center;gap:var(--space-4);font-size:var(--fs-200);display:flex}.publish-bar__dot{background:var(--color-text-faint);border-radius:50%;width:9px;height:9px}.publish-bar__dot--dirty{background:var(--color-warning);box-shadow:0 0 0 4px var(--color-danger-bg)}.publish-bar__dot--clean{background:var(--color-success)}.publish-bar__dot--busy{background:var(--color-accent);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.publish-bar__hint{font-size:var(--fs-100);color:var(--color-text-faint);width:100%}.publish-bar__progress{border-radius:var(--radius-pill);background:var(--color-bg-inset);width:10rem;height:4px;overflow:hidden}.publish-bar__progress span{background:var(--gradient-accent);height:100%;transition:width var(--dur-slow) var(--ease-standard);display:block}.stack{gap:var(--space-5);display:grid}.row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.muted{color:var(--color-text-muted)}.mono{font-family:var(--font-mono);font-size:var(--fs-100)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login{min-height:100svh;padding:var(--space-6);place-items:center;display:grid}.login__card{gap:var(--space-5);width:min(24rem,100%);padding:var(--space-9);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--glow-accent);justify-items:start;display:grid}.login__title{font-size:var(--fs-600)}.login__denied{gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-5);border-radius:var(--radius-control);background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--fs-200);display:grid}.editor{border:var(--border-width-1) solid var(--color-border-strong);border-radius:var(--radius-control);overflow:hidden}.editor__toolbar{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-block-end:var(--border-width-1) solid var(--color-border);background:var(--color-bg-elevated);flex-wrap:wrap;display:flex}.editor__toolbar .btn{padding:var(--space-2) var(--space-3);min-width:2rem}.editor__content{padding:var(--space-5);background:var(--color-bg-inset);min-height:18rem}.editor__content :global(.ProseMirror){outline:none}.editor__content :global(.ProseMirror p.is-editor-empty:first-child::before){content:attr(data-placeholder);color:var(--color-text-faint);float:left;pointer-events:none;height:0}.editor__content :global(h2){font-size:var(--fs-500);margin-block:var(--space-6) var(--space-3)}.editor__content :global(h3){font-size:var(--fs-400);margin-block:var(--space-5) var(--space-3)}.editor__content :global(p){margin-block-end:var(--space-4)}:is(.editor__content :global(ul),.editor__content :global(ol)){margin-block-end:var(--space-4);padding-inline-start:var(--space-7)}.editor__content :global(blockquote){border-inline-start:2px solid var(--color-border-accent);color:var(--color-text-muted);padding-inline-start:var(--space-5)}.editor__content :global(a){color:var(--color-accent-text);text-decoration:underline}
