:where(:root){--font-main:Georgia, serif;--font-weight-light:400;--font-weight-regular:400;--font-weight-medium:700;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--color-bg:#f0eee9;--color-bg-subtle:#f0eee9;--color-text:#111;--color-text-muted:#777;--color-border:#e0e0e0;--color-accent:#111;--color-dark:#09203f;--color-dark-deep:#071022;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-24:6rem;--navbar-height:80px;--section-padding:var(--spacing-16);--max-content-w:760px;--transition:.2s ease;--tracking-wide:.08em;--tracking-wider:.15em}@media (width>=768px){:where(:root){--section-padding:var(--spacing-24)}}html:has(.navbar--logo){--navbar-height:112px}@media (width>=768px){html:has(.navbar--logo){--navbar-height:144px}}html:has(.site){scroll-padding-top:var(--navbar-height);-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body:has(.site){background:var(--color-bg);margin:0}:where(.site),:where(.site) *,:where(.site) :after,:where(.site) :before{box-sizing:border-box}:where(.site) *{margin:0;padding:0}.site{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-main);font-weight:var(--font-weight-regular);line-height:1.6}.site main{min-height:calc(100dvh - var(--navbar-height)*2)}:where(.site) a{color:inherit;text-decoration:none}:where(.site) img{max-width:100%;display:block}:where(.site) .text-align-center{text-align:center}:where(.site) .text-align-right{text-align:right}:where(.site) .text-align-justify{text-align:justify}:root{--ui-page:#f4f5f7;--ui-surface:#fff;--ui-text:#1b1f24;--ui-text-muted:#4b5563;--ui-line:#d5d9e0;--ui-control-border:#6b7280;--ui-primary:#1d4ed8;--ui-primary-hover:#1e3fae;--ui-primary-soft:#e8eefc;--ui-on-primary:#fff;--ui-danger:#b42318;--ui-danger-soft:#fdecea;--ui-success:#146c43;--ui-success-soft:#e6f4ec;--ui-warning:#8a4b00;--ui-warning-soft:#fff1d6;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-base:1.0625rem;--font-size-small:.9375rem;--radius:.625rem;--gap:1rem;--gap-large:1.5rem;--tap-size:2.75rem;--header-height:4.25rem;--sidebar-width:15rem;--focus-ring:0 0 0 3px #fff, 0 0 0 6px var(--ui-primary)}*,:after,:before{box-sizing:border-box}:is(body:has(.login-screen),body:has(.shell)){background:var(--ui-page);margin:0}.login-screen,.shell{background:var(--ui-page);color:var(--ui-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.55}:where(.shell,.login-screen) h1{margin:0 0 .25rem;font-size:1.75rem;line-height:1.25}:where(.shell,.login-screen) p{margin:0 0 var(--gap)}:where(.shell,.login-screen) a{color:var(--ui-primary)}:focus-visible{box-shadow:var(--focus-ring);outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lead{max-width:42rem;font-size:1.125rem}.empty-state,.lead{color:var(--ui-text-muted)}.empty-state{padding:var(--gap);border:2px dashed var(--ui-line);border-radius:var(--radius);text-align:center}.shell{min-height:100vh}.app-header{z-index:10;align-items:center;gap:.75rem var(--gap);min-height:var(--header-height);padding:.5rem var(--gap);background:var(--ui-surface);border-bottom:1px solid var(--ui-line);flex-wrap:wrap;display:flex;position:sticky;top:0}.app-brand{color:var(--ui-text);margin-right:auto;font-size:1.25rem;font-weight:700;text-decoration:none}.shell-body{align-items:flex-start;display:flex}.shell-sidebar{top:var(--header-height);flex:0 0 var(--sidebar-width);max-height:calc(100vh - var(--header-height));padding:var(--gap);background:var(--ui-surface);border-right:1px solid var(--ui-line);min-height:calc(100vh - var(--header-height));align-self:flex-start;position:sticky;overflow-y:auto}.shell-main{min-width:0;padding:var(--gap-large);flex:1}.sidebar-site{margin-bottom:var(--gap);color:var(--ui-text);font-size:1.125rem;font-weight:700;text-decoration:none;display:block}.sidebar-heading{margin:var(--gap-large) 0 .25rem;color:var(--ui-text-muted);font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.sidebar-list{margin:0;padding:0;list-style:none}.sidebar-link{min-height:var(--tap-size);border-radius:var(--radius);color:var(--ui-text);align-items:center;padding:0 .75rem;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--ui-page)}.sidebar-link.router-link-active{background:var(--ui-primary-soft);color:var(--ui-primary-hover);font-weight:700}.login-screen{min-height:100vh;padding:var(--gap);place-items:center;display:grid}.login-card{width:min(100%,26rem)}.card{margin-bottom:var(--gap);padding:var(--gap-large);background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--radius)}.card-grid{gap:var(--gap);margin:var(--gap-large) 0;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));padding:0;list-style:none;display:grid}.card-grid .card{margin:0}.card-link{height:100%;color:var(--ui-text);flex-direction:column;gap:.25rem;text-decoration:none;display:flex}.card-link:hover{border-color:var(--ui-primary);box-shadow:0 2px 8px #00000014}.card-title{font-size:1.25rem;font-weight:700}.back-link,.card-text{color:var(--ui-text-muted)}.back-link{margin-bottom:.5rem;display:inline-block}.button{min-height:var(--tap-size);background:var(--ui-surface);border:2px solid var(--ui-control-border);border-radius:var(--radius);color:var(--ui-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--ui-page)}.button:disabled{opacity:.6;cursor:not-allowed}.button-primary{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-on-primary)}.button-primary:hover:not(:disabled){background:var(--ui-primary-hover)}.button-danger{border-color:var(--ui-danger);color:var(--ui-danger)}.button-icon{min-width:var(--tap-size);padding:0;font-size:1.25rem}.button-large,.button-publish{min-height:3.25rem;font-size:1.125rem}.button-publish{background:var(--ui-success);border-color:var(--ui-success);color:var(--ui-on-primary);padding:0 1.75rem}.button-publish:hover:not(:disabled){background:#0f5634}.button.menu-toggle{display:none}.publish-panel{align-items:center;gap:.5rem var(--gap);flex-wrap:wrap;display:flex}.publish-status{background:var(--ui-page);border-radius:999px;margin:0;padding:.25rem .75rem;font-weight:600}.publish-status.is-busy{background:var(--ui-warning-soft);color:var(--ui-warning)}.publish-status.is-success{background:var(--ui-success-soft);color:var(--ui-success)}.publish-status.is-error{background:var(--ui-danger-soft);color:var(--ui-danger)}.build-history summary{cursor:pointer;font-weight:700}.build-list{margin:var(--gap) 0 0;padding:0;list-style:none}.build-list li{align-items:center;gap:.5rem var(--gap);border-top:1px solid var(--ui-line);flex-wrap:wrap;padding:.5rem 0;display:flex}.editor-layout{gap:var(--gap-large);grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);align-items:start;display:grid}.save-bar{top:var(--header-height);z-index:5;justify-content:space-between;align-items:center;gap:.5rem var(--gap);margin-bottom:var(--gap);padding:.75rem var(--gap);background:var(--ui-surface);border:2px solid var(--ui-line);border-radius:var(--radius);flex-wrap:wrap;display:flex;position:sticky}.save-bar.is-dirty{border-color:var(--ui-warning);background:var(--ui-warning-soft)}.save-bar.is-blocked,.save-bar.is-error{border-color:var(--ui-danger);background:var(--ui-danger-soft)}.save-bar.is-clean{border-color:var(--ui-success)}.save-state{align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.save-dot{background:var(--ui-success);border-radius:50%;width:.75rem;height:.75rem}.is-dirty .save-dot{background:var(--ui-warning)}.is-blocked .save-dot,.is-error .save-dot{background:var(--ui-danger)}.section-card{padding:0}.section-card-summary{align-items:center;gap:var(--gap);min-height:4rem;padding:.75rem var(--gap-large);cursor:pointer;display:flex}.section-card-heading{flex-direction:column;flex:1;display:flex}.section-card-title{font-size:1.25rem;font-weight:700}.section-card-description{color:var(--ui-text-muted);font-size:var(--font-size-small)}.section-card-body{padding:0 var(--gap-large) var(--gap-large);border-top:1px solid var(--ui-line)}.badge{font-size:var(--font-size-small);white-space:nowrap;border-radius:999px;padding:.125rem .625rem;font-weight:700}.badge-warning{background:var(--ui-warning-soft);color:var(--ui-warning)}.badge-error{background:var(--ui-danger-soft);color:var(--ui-danger)}.preview-pane{top:calc(var(--header-height) + var(--gap));position:sticky}.preview-controls{align-items:center;gap:.5rem var(--gap);flex-wrap:wrap;margin-bottom:.5rem;display:flex}.segmented{border:2px solid var(--ui-control-border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{background:var(--ui-surface);min-height:2.5rem;color:var(--ui-text);font:inherit;cursor:pointer;border:0;padding:0 .75rem}.segmented button[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-on-primary);font-weight:700}.preview-frame-wrap{background:var(--ui-surface);border:2px solid var(--ui-line);border-radius:var(--radius);height:min(70vh,40rem);margin:0 auto;overflow:hidden}.preview-frame-wrap.is-phone{width:23.5rem;max-width:100%}.preview-link{gap:var(--gap);justify-items:start;display:grid}.preview-qr{background:#fff;width:14rem}.preview-link-url{width:100%;min-height:2.5rem}.preview-frame{border:0;width:100%;height:100%}.field,.form-card{margin-bottom:var(--gap);flex-direction:column;gap:.375rem;display:flex}.form-card{max-width:36rem}.field-label{font-weight:700}.field-hint,.field-optional{color:var(--ui-text-muted);font-size:var(--font-size-small)}.field-optional{margin-left:.5rem;font-weight:400}.field-required{color:var(--ui-danger);font-size:var(--font-size-small);margin-left:.5rem}.field-error{color:var(--ui-danger);margin:0;font-weight:600}.field-success{color:var(--ui-success);margin:0;font-weight:600}:where(.shell) .language-row textarea,:where(.shell,.login-screen) input[type=date],:where(.shell,.login-screen) input[type=email],:where(.shell,.login-screen) input[type=number],:where(.shell,.login-screen) input[type=password],:where(.shell,.login-screen) input[type=text]{width:100%;min-height:var(--tap-size);background:var(--ui-surface);border:2px solid var(--ui-control-border);border-radius:var(--radius);color:var(--ui-text);font:inherit;padding:.5rem .75rem}:where(.shell) fieldset{margin:0 0 var(--gap);padding:var(--gap) var(--gap) 0;border:1px solid var(--ui-line);border-radius:var(--radius)}:where(.shell) legend{padding:0 .5rem;font-weight:700}.section-card-body>.section-form{padding-top:var(--gap)}.language-row{align-items:center;gap:.75rem;display:flex}.language-tag{color:var(--ui-text-muted);font-size:var(--font-size-small);flex:0 0 4.5rem;font-weight:700}.language-tabs{border:2px solid var(--ui-control-border);border-radius:var(--radius);margin-bottom:.5rem;display:inline-flex;overflow:hidden}.language-tab{background:var(--ui-surface);min-height:2.5rem;color:var(--ui-text);font:inherit;cursor:pointer;border:0;padding:0 1rem}.language-tab[aria-pressed=true]{background:var(--ui-primary);color:var(--ui-on-primary);font-weight:700}.rte{border:2px solid var(--ui-control-border);border-radius:var(--radius);background:var(--ui-surface)}.rte:focus-within{box-shadow:var(--focus-ring)}.rte-toolbar{background:var(--ui-page);border-bottom:1px solid var(--ui-line);flex-wrap:wrap;gap:.375rem;padding:.5rem;display:flex}.rte-spacer{flex:1}.rte-button{min-width:var(--tap-size);min-height:var(--tap-size);background:var(--ui-surface);border:1px solid var(--ui-control-border);color:var(--ui-text);font:inherit;cursor:pointer;border-radius:.5rem;padding:0 .75rem}.rte-button[aria-pressed=true]{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-on-primary)}.rte-button:disabled{opacity:.5;cursor:not-allowed}.rte-link-panel{background:var(--ui-primary-soft);border-bottom:1px solid var(--ui-line);padding:.75rem}.rte-link-panel label{flex-direction:column;gap:.25rem;font-weight:700;display:flex}.rte-link-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.rte-content .ProseMirror{outline:none;min-height:9rem;padding:.75rem 1rem}.rte-content .ProseMirror p{margin:0 0 .75rem}.rte-content .ProseMirror ol,.rte-content .ProseMirror ul{margin:0 0 .75rem;padding-left:1.5rem}.rte-content .ProseMirror a{color:var(--ui-primary);text-decoration:underline}.dropzone{padding:var(--gap);background:var(--ui-page);border:2px dashed var(--ui-control-border);border-radius:var(--radius);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:.75rem;display:flex}.dropzone.is-drag-over,.dropzone:focus-within,.dropzone:hover{background:var(--ui-primary-soft);border-color:var(--ui-primary)}.dropzone.is-busy,.dropzone.is-disabled{opacity:.6;cursor:progress}.dropzone-text{color:var(--ui-text-muted)}.image-field{gap:var(--gap);flex-direction:column;display:flex}.image-field-preview{border-radius:.5rem;width:auto;max-width:100%;height:auto;max-height:14rem}.list-items{margin:0 0 var(--gap);padding:0;list-style:none}.list-item{margin-bottom:var(--gap);padding:var(--gap);background:var(--ui-page);border:1px solid var(--ui-line);border-radius:var(--radius)}.list-item.is-dragged{opacity:.5}.list-item-header{margin-bottom:var(--gap);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.list-item-title{flex:1}.list-item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.list-item-thumb{-o-object-fit:cover;object-fit:cover;background:var(--ui-line);border-radius:.375rem;width:5rem;height:3.75rem}.list-item-details>summary:before{content:"▸"}.list-item-details[open]>summary:before{content:"▾"}.list-item-details>summary{min-height:var(--tap-size);cursor:pointer;align-items:center;gap:.75rem;font-weight:600;display:flex}:is(.list-item-header:has(+.list-item-confirm),.list-item-header:has(+.list-item-details)){margin-bottom:.5rem}.drag-handle{width:var(--tap-size);height:var(--tap-size);color:var(--ui-text-muted);cursor:grab;justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.list-item-confirm,.undo-bar{align-items:center;gap:.5rem var(--gap);margin-bottom:var(--gap);padding:.75rem var(--gap);background:var(--ui-warning-soft);border-radius:var(--radius);color:var(--ui-warning);flex-wrap:wrap;font-weight:600;display:flex}.list-item>.schema-field>fieldset{border:0;padding:0}.list-item>.schema-field>fieldset>legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.import-progress progress{width:100%;margin-top:.25rem;display:block}.import-failures{padding-left:1.25rem}.color-layout{gap:var(--gap-large);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.color-row{gap:0 var(--gap);border-bottom:1px solid var(--ui-line);grid-template-columns:4.5rem 1fr;align-items:center;padding:.75rem 0;display:grid}.color-swatch{border:2px solid var(--ui-control-border);border-radius:var(--radius);cursor:pointer;background:0 0;width:4.5rem;height:4.5rem;padding:0}.color-label{flex-direction:column;display:flex}.color-code{color:var(--ui-text-muted);font-size:var(--font-size-small)}.color-preview{border-width:2px}.color-preview-title{font-size:1.5rem;font-weight:700}@media (width<=64rem){.color-layout,.editor-layout{grid-template-columns:minmax(0,1fr)}.preview-pane{position:static}}@media (width<=48rem){.button.menu-toggle{display:inline-flex}.shell-body{flex-direction:column}.shell-sidebar{border-right:0;border-bottom:1px solid var(--ui-line);flex:none;width:100%;min-height:0;max-height:none;display:none;position:static}.shell-sidebar.is-open{display:block}.shell-main{width:100%;padding:var(--gap)}.app-header{position:static}.app-brand{flex:1;margin-right:0}.publish-panel{order:3;width:100%}.button-publish{width:100%}.save-bar{top:0}.card{padding:var(--gap)}.section-card-body,.section-card-summary{padding-left:var(--gap);padding-right:var(--gap)}.language-row{flex-direction:column;align-items:stretch;gap:.25rem}}.card-with-actions{flex-direction:column;gap:.5rem;display:flex}.page-settings summary{cursor:pointer;font-weight:700}.page-settings>*+*{margin-top:var(--gap)}
