.fontzin-font-preview{min-width:0;padding:var(--fz-space-4, 16px);border:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-radius:14px;background:var(--fz-white,var(--fz-palette-paper));box-shadow:0 1px 2px color-mix(in srgb,var(--fz-palette-ink) 6%,transparent),0 1px 3px color-mix(in srgb,var(--fz-palette-ink) 10%,transparent)}.fontzin-font-preview h2{margin:0 0 var(--fz-space-3, 12px);color:var(--fz-ink,var(--fz-palette-ink));font-size:18px;font-weight:700}.fontzin-font-preview .fontzin-preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fz-space-px-10, 10px);margin:var(--fz-space-2, 8px) 0;padding:var(--fz-space-2, 8px);border:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-radius:10px;background:var(--fz-bg-soft,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-size-control,.fontzin-font-preview .fontzin-preview-line-height-control{display:flex;align-items:center;gap:5px;margin:0}.fontzin-font-preview .fontzin-preview-control-label{color:var(--fz-ink,var(--fz-palette-ink));font-size:13px;font-weight:700}.fontzin-font-preview .fontzin-preview-size-buttons{display:flex;flex-wrap:wrap;gap:var(--fz-space-1, 4px)}.fontzin-font-preview .fontzin-preview-size-buttons button,.fontzin-font-preview .fontzin-line-height-button{min-width:32px;min-height:30px;padding:5px 9px;border:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-radius:9px;background:var(--fz-palette-paper);color:var(--fz-ink,var(--fz-palette-ink));box-shadow:none;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:border-color var(--fz-motion-fast),box-shadow var(--fz-motion-fast)}.fontzin-font-preview .fontzin-preview-size-buttons button:hover,.fontzin-font-preview .fontzin-preview-size-buttons button[aria-pressed="true"],.fontzin-font-preview .fontzin-line-height-button:hover{border-color:var(--fz-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--fz-focus-color) 16%,transparent)}.fontzin-font-preview .fontzin-preview-size-buttons button:focus-visible,.fontzin-font-preview .fontzin-line-height-button:focus-visible{outline:var(--fz-focus-width) solid var(--fz-focus-color);outline-offset:var(--fz-focus-offset);border-color:var(--fz-focus-color)}.fontzin-font-preview .fontzin-line-height-value{min-width:34px;color:var(--fz-ink,var(--fz-palette-ink));text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.fontzin-font-preview--maximum-2625 .fontzin-preview-input{display:block;width:100%;min-height:44px;box-sizing:border-box;margin:var(--fz-space-3, 12px) 0 var(--fz-space-2, 8px);padding:var(--fz-space-px-10, 10px) var(--fz-space-3, 12px);resize:vertical;border:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-radius:12px;background:var(--fz-palette-paper);color:var(--fz-ink,var(--fz-palette-ink));font:inherit;font-size:17px;line-height:1.45}.fontzin-font-preview--maximum-2625 .fontzin-preview-input:focus{border-color:var(--fz-primary,var(--fz-palette-accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--fz-focus-color) 16%,transparent);outline:var(--fz-focus-width) solid transparent}.fontzin-font-preview .fontzin-preview-surface{position:relative;min-height:150px;max-width:100%;margin-top:var(--fz-space-3, 12px);overflow:hidden;border:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-radius:12px;background:var(--fz-palette-paper)}.fontzin-font-preview .fontzin-preview-canvas{display:block;width:100%;height:auto;max-width:100%;user-select:none;-webkit-user-drag:none}.fontzin-font-preview .fontzin-preview-editor{position:absolute;inset:0;z-index:2;min-height:150px;box-sizing:border-box;padding:var(--fz-space-4, 16px);overflow:hidden;border-radius:inherit;outline:0;background:transparent;color:var(--fz-ink,var(--fz-palette-ink));caret-color:var(--fz-ink,var(--fz-palette-ink));font-family:Arial,sans-serif;font-size:48px;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.fontzin-font-preview .fontzin-preview-editor:empty::before{content:attr(data-placeholder);color:var(--fz-muted,color-mix(in srgb,var(--fz-palette-ink) 75%,var(--fz-palette-paper)));pointer-events:none}.fontzin-font-preview .fontzin-preview-surface.is-editing{border-color:var(--fz-primary,var(--fz-palette-accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--fz-focus-color) 16%,transparent)}.fontzin-font-preview .fontzin-preview-status{margin:var(--fz-space-px-6, 6px) 0 0;color:var(--fz-muted,color-mix(in srgb,var(--fz-palette-ink) 75%,var(--fz-palette-paper)));font-size:13px}.fontzin-font-preview .fontzin-preview-status[data-state="loading"]{opacity:.8}.fontzin-font-preview .fontzin-preview-status[data-state="error"]{color:var(--fz-danger);font-weight:700}.fontzin-font-preview--maximum-2625.is-render-pending .fontzin-preview-canvas{opacity:.92}@media (max-width:600px){.fontzin-font-preview{padding:var(--fz-space-px-10, 10px);border-radius:var(--fz-radius-md,8px)}.fontzin-font-preview .fontzin-preview-controls{align-items:flex-start;flex-direction:column;gap:7px}.fontzin-font-preview .fontzin-preview-size-control,.fontzin-font-preview .fontzin-preview-line-height-control{width:100%;flex-wrap:wrap}.fontzin-font-preview .fontzin-preview-editor{font-size:40px}}.fontzin-font-preview--protected-2624 .fontzin-preview-surface{min-height:0}.fontzin-font-preview .fontzin-preview-editor{position:relative;inset:auto;width:100%;height:auto;min-height:calc(1.3em + 32px);overflow:visible}.fontzin-font-preview .fontzin-preview-variable-controls{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:50px;padding-top:7px;border-top:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-variable-controls[hidden]{display:none}.fontzin-font-preview .fontzin-preview-axis-control{display:grid;grid-template-columns:auto minmax(150px,auto) 40px;align-items:center;gap:var(--fz-space-px-10, 10px);margin:0}.fontzin-font-preview .fontzin-preview-axis-control[hidden]{display:none}.fontzin-font-preview .fontzin-preview-axis-control input[type="range"]{width:100%;min-width:120px}.fontzin-font-preview .fontzin-preview-axis-control output{min-width:46px;text-align:right;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}@media (max-width:600px){.fontzin-font-preview .fontzin-preview-variable-controls{width:100%;flex-direction:column}.fontzin-font-preview .fontzin-preview-axis-control{width:100%;grid-template-columns:auto minmax(90px,1fr) 48px}}.fontzin-font-preview .fontzin-preview-loading-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:var(--fz-space-px-10, 10px);padding:var(--fz-space-4, 16px);border-radius:inherit;background:color-mix(in srgb,var(--fz-palette-paper) 72%,transparent);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);color:var(--fz-ink,var(--fz-palette-ink));pointer-events:none}.fontzin-font-preview .fontzin-preview-loading-overlay[hidden]{display:none!important}.fontzin-font-preview .fontzin-preview-loading-spinner{width:20px;height:20px;flex:0 0 20px;border:2px solid color-mix(in srgb,var(--fz-palette-ink) 18%,transparent);border-top-color:currentColor;border-radius:50%;animation:fontzin-preview-spin .72s linear infinite}.fontzin-font-preview .fontzin-preview-loading-text{font-size:14px;font-weight:700;letter-spacing:.01em;animation:fontzin-preview-pulse 1.25s ease-in-out infinite}.fontzin-font-preview .fontzin-preview-loading-overlay[data-state="queued"]{background:color-mix(in srgb,var(--fz-palette-paper) 78%,transparent)}.fontzin-font-preview.is-preview-busy .fontzin-preview-canvas,.fontzin-font-preview.is-preview-busy .fontzin-preview-editor{opacity:.62}.fontzin-font-preview .fontzin-preview-status[data-state="loading"]{display:none;}@keyframes fontzin-preview-spin{to{transform:rotate(360deg)}}@keyframes fontzin-preview-pulse{0%,100%{opacity:.62}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.fontzin-font-preview .fontzin-preview-loading-spinner,.fontzin-font-preview .fontzin-preview-loading-text{animation:none}}.fontzin-font-preview{background:var(--fz-surface,var(--fz-palette-paper));border-color:var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));color:var(--fz-ink,var(--fz-palette-ink))}.fontzin-font-preview h2,.fontzin-font-preview .fontzin-preview-control-label,.fontzin-font-preview .fontzin-preview-axis-control output,.fontzin-font-preview .fontzin-line-height-value{color:var(--fz-ink,var(--fz-palette-ink));opacity:1}.fontzin-font-preview .fontzin-preview-controls{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:var(--fz-space-2, 8px) var(--fz-space-px-14, 14px);background:var(--fz-bg-soft,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-color:var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-size-control,.fontzin-font-preview .fontzin-preview-line-height-control{width:auto;min-width:0;flex-wrap:nowrap}.fontzin-font-preview .fontzin-preview-size-buttons{flex-wrap:nowrap}.fontzin-font-preview .fontzin-preview-size-buttons button,.fontzin-font-preview .fontzin-line-height-button{background:var(--fz-surface,var(--fz-palette-paper));color:var(--fz-ink,var(--fz-palette-ink));border-color:var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-size-buttons button[aria-pressed="true"]{background:var(--fz-primary,var(--fz-palette-accent));color:var(--primary-ink,var(--fz-palette-paper));border-color:var(--fz-primary,var(--fz-palette-accent));box-shadow:none}.fontzin-font-preview .fontzin-preview-size-buttons button:hover,.fontzin-font-preview .fontzin-line-height-button:hover{border-color:var(--fz-primary,var(--fz-palette-accent));color:var(--fz-ink,var(--fz-palette-ink))}.fontzin-font-preview .fontzin-preview-variable-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1 1 auto;min-width:0;gap:var(--fz-space-px-10, 10px);border-top:0;padding-top:0}.fontzin-font-preview .fontzin-preview-axis-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--fz-space-px-6, 6px);min-width:0;width:100%}.fontzin-font-preview .fontzin-preview-axis-control input[type="range"]{width:100%;min-width:0;accent-color:var(--fz-primary,var(--fz-palette-accent))}.fontzin-font-preview .fontzin-preview-axis-control output{min-width:32px;font-variant-numeric:tabular-nums}.fontzin-font-preview--maximum-2625 .fontzin-preview-input,.fontzin-font-preview .fontzin-preview-surface{background:var(--fz-surface,var(--fz-palette-paper));color:var(--fz-ink,var(--fz-palette-ink));border-color:var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-editor{color:var(--fz-ink,var(--fz-palette-ink));caret-color:var(--fz-ink,var(--fz-palette-ink))}.fontzin-font-preview .fontzin-preview-editor:empty::before{color:var(--fz-muted,color-mix(in srgb,var(--fz-palette-ink) 76%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-status{color:var(--fz-muted,color-mix(in srgb,var(--fz-palette-ink) 76%,var(--fz-palette-paper)));opacity:1}.fontzin-font-preview .fontzin-preview-loading-overlay{background:color-mix(in srgb,var(--fz-surface,var(--fz-palette-paper)) 90%,transparent);color:var(--fz-ink,var(--fz-palette-ink))}.fontzin-font-preview .fontzin-preview-loading-spinner{border-color:var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)));border-top-color:var(--fz-ink,var(--fz-palette-ink))}@media (max-width:800px){.fontzin-font-preview .fontzin-preview-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center}.fontzin-font-preview .fontzin-preview-variable-controls{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding-top:7px;border-top:1px solid var(--fz-border,color-mix(in srgb,var(--fz-palette-ink) 5%,var(--fz-palette-paper)))}.fontzin-font-preview .fontzin-preview-size-control,.fontzin-font-preview .fontzin-preview-line-height-control{width:auto;flex-wrap:nowrap}}@media (max-width:480px){.fontzin-font-preview .fontzin-preview-controls{gap:var(--fz-space-2, 8px) 5px;padding:7px 5px}.fontzin-font-preview .fontzin-preview-size-control,.fontzin-font-preview .fontzin-preview-line-height-control{gap:3px}.fontzin-font-preview .fontzin-preview-control-label{font-size:11px}.fontzin-font-preview .fontzin-preview-size-buttons{gap:var(--fz-space-px-2, 2px)}.fontzin-font-preview .fontzin-preview-size-buttons button,.fontzin-font-preview .fontzin-line-height-button{min-width:25px;min-height:28px;padding:3px var(--fz-space-1, 4px);font-size:11px}.fontzin-font-preview .fontzin-line-height-value{min-width:25px;font-size:11px}.fontzin-font-preview .fontzin-preview-variable-controls{gap:7px}.fontzin-font-preview .fontzin-preview-axis-control{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--fz-space-1, 4px)}.fontzin-font-preview .fontzin-preview-axis-control output{min-width:26px;font-size:11px}}.fontzin-font-preview .fontzin-preview-size-buttons button[aria-pressed="true"]:hover{color:var(--primary-ink,var(--fz-palette-paper))}@media (max-width:359px){.fontzin-font-preview .fontzin-preview-size-buttons button,.fontzin-font-preview .fontzin-line-height-button{min-width:22px;padding-inline:3px}.fontzin-font-preview .fontzin-preview-controls{gap:5px 3px}}

/* Multiple per-post font previews. UI is scoped to FontZin only. */
.fz-font-preview-selector { display:flex; flex-wrap:wrap; align-items:center; gap:var(--fz-space-2,8px); margin-block:var(--fz-space-3,12px); }
.fz-font-preview-selector__label { font-weight:600; }
.fz-font-preview-selector__item { display:inline-flex; padding:var(--fz-space-2,8px) var(--fz-space-3,12px); border:1px solid currentColor; border-radius:var(--fz-radius-button,8px); color:inherit; text-decoration:none; }
.fz-font-preview-selector__item:hover, .fz-font-preview-selector__item:focus-visible { outline:2px solid var(--fz-color-primary,#6938ef); outline-offset:2px; }
.fz-font-preview-selector__item.is-current { background:var(--fz-color-primary,#6938ef); color:#fff; border-color:transparent; }

/* 9.0.0 AJAX font selector. Scoped UI; defaults read from FontZin design tokens. */
html:root .fontzin-font-preview.fz-font-test{width:100%;max-width:100%;padding:var(--fz-space-px-24,24px);border:1px solid var(--fz-border,#e0e3ea);border-radius:var(--fz-ui-card-radius,16px);background:var(--fz-surface,#fff);box-shadow:0 2px 8px rgb(0 0 0 / 4%);box-sizing:border-box}
html:root .fz-font-test .fz-font-test__entry{position:relative;margin:var(--fz-space-px-14,14px) 0 var(--fz-space-3,12px)}
html:root .fz-font-test .fz-font-test__floating-label{position:absolute;top:-9px;left:16px;z-index:1;padding:0 8px;background:var(--fz-surface,#fff);color:var(--fz-muted,#657184);font-size:12px;line-height:18px;pointer-events:none}
html:root .fz-font-test .fz-font-test__input{display:block;width:100%;min-height:80px;resize:vertical;padding:21px 20px 26px;border:1px solid var(--fz-border,#d9dfe8);border-radius:var(--fz-ui-input-radius,9px);background:var(--fz-surface,#fff);color:var(--fz-ink,#161e2a);font:inherit;line-height:1.45;box-sizing:border-box}
html:root .fz-font-test .fz-font-test__input:focus-visible,html:root .fz-font-test .fz-font-test__select:focus-visible{outline:2px solid var(--fz-primary,#703fff);outline-offset:1px}
html:root .fz-font-test .fz-font-test__count{position:absolute;right:12px;bottom:9px;color:var(--fz-muted,#7b8495);font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}
html:root .fz-font-test .fz-font-test__controls{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:var(--fz-space-3,12px);margin:0 0 var(--fz-space-3,12px);padding:0;border:0;background:transparent;box-shadow:none}
html:root .fz-font-test .fz-font-test__font-field,html:root .fz-font-test .fz-font-test__slider-field{display:flex;align-items:center;gap:var(--fz-space-2,8px);min-width:0;margin:0;color:var(--fz-ink,#111827);font-weight:400}
html:root .fz-font-test .fz-font-test__font-field{min-width:0}
html:root .fz-font-test .fz-font-test__select{width:100%;min-width:0;height:38px;padding:0 30px 0 12px;border:1px solid var(--fz-border,#d1d5db);border-radius:var(--fz-ui-input-radius,8px);background:var(--fz-surface,#fff);color:inherit;font:inherit;box-sizing:border-box}
html:root .fz-font-test .fz-font-test__slider-field input[type=range],html:root .fz-font-test .fz-font-test__axes input[type=range]{width:clamp(64px,10vw,110px);min-width:0;accent-color:var(--fz-ink,#374151);margin:0}
html:root .fz-font-test .fz-font-test__slider-field output{min-width:28px;text-align:right;font-variant-numeric:tabular-nums}
html:root .fz-font-test .fz-font-test__axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:var(--fz-space-3,12px);margin:0 0 var(--fz-space-4,16px);padding:0;border:0}
html:root .fz-font-test .fz-font-test__axes[hidden]{display:none}
html:root .fz-font-test .fz-font-test__axes .fontzin-preview-axis-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--fz-space-px-10,10px);align-items:center;min-width:0}
html:root .fz-font-test .fz-font-test__axes input[type=range]{width:100%}
html:root .fz-font-test .fontzin-preview-surface{position:relative;margin-top:0;min-height:138px;padding:var(--fz-space-px-20,20px);border:1px solid var(--fz-border,#e2e8f0);border-radius:var(--fz-ui-card-radius,12px);background:var(--fz-bg-soft,#f8f9fb);overflow:auto;box-sizing:border-box}
html:root .fz-font-test .fontzin-preview-editor{min-height:1.5em;white-space:pre-wrap;overflow-wrap:anywhere;outline:none;cursor:default}
html:root .fz-font-test .fontzin-preview-canvas{max-width:100%;height:auto}
@media(max-width:700px){html:root .fontzin-font-preview.fz-font-test{padding:var(--fz-space-3,12px)}html:root .fz-font-test .fz-font-test__controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--fz-space-3,12px)}html:root .fz-font-test .fz-font-test__font-field{grid-column:1/-1}html:root .fz-font-test .fz-font-test__axes{grid-template-columns:1fr}html:root .fz-font-test .fz-font-test__slider-field{min-width:0}html:root .fz-font-test .fz-font-test__slider-field input[type=range]{width:100%}html:root .fz-font-test .fontzin-preview-surface{min-height:115px}}
@media(max-width:360px){html:root .fz-font-test .fz-font-test__controls{grid-template-columns:1fr}html:root .fz-font-test .fz-font-test__font-field{grid-column:auto}}

/* Preview heading outside the complete bordered test panel.
   Keep it inside .fz-font-test so the AJAX font-label updater still sees it. */
html:root .fontzin-font-preview.fz-font-test{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
html:root .fz-font-test .fz-font-test__floating-label{display:block;position:static;top:auto;left:auto;z-index:auto;padding:0;margin:0 0 var(--fz-space-2,8px);background:transparent;color:var(--fz-ink,#161e2a);font-size:15px;line-height:1.5;font-weight:600;pointer-events:auto}
html:root .fz-font-test .fz-font-test__floating-label strong{font:inherit;color:var(--fz-ink,#161e2a)}
html:root .fz-font-test .fz-font-test__panel{min-width:0;width:100%;padding:var(--fz-space-px-24,24px);border:1px solid var(--fz-border,#e0e3ea);border-radius:var(--fz-ui-card-radius,16px);background:var(--fz-surface,#fff);box-shadow:0 2px 8px rgb(0 0 0 / 4%);box-sizing:border-box}
html:root .fz-font-test .fz-font-test__entry{margin:0 0 var(--fz-space-3,12px)}
@media(max-width:700px){html:root .fz-font-test .fz-font-test__panel{padding:var(--fz-space-3,12px)}html:root .fz-font-test .fz-font-test__floating-label{font-size:15px}}

/* Shared toolbar structure; multi-axis remains on its own second row. */
html:root .fz-font-test .fz-font-test__controls .fz-font-test__axes {
  grid-column: 1 / -1;
  grid-row: auto;
  width: 100%;
  margin: 0 0 var(--fz-space-1,4px);
}
html:root .fz-font-test .fz-font-test__controls .fz-font-test__axes[hidden] { display: none; }

/* Font Preview desktop toolbar: Weight-only joins Font / Line / Size.
 * Other axis combinations keep the separate axis row. This is presentation
 * only: font sessions, cache, Size landmarks, and axis values are unchanged. */
@media (min-width: 701px) {
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] {
    grid-template-columns: minmax(175px,1.55fr) minmax(130px,.95fr) minmax(125px,.85fr) minmax(170px,1.2fr);
    gap: var(--fz-space-3,12px);
  }
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] .fz-font-test__axes {
    grid-column: 4;
    grid-row: 1;
    grid-template-columns: minmax(0,1fr);
    margin: 0;
    padding: 0;
  }
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] .fz-font-test__slider-field input[type="range"] {
    width: 100%;
    flex: 1 1 auto;
  }
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] .fz-font-test__axes .fontzin-preview-axis-control {
    width: 100%;
    grid-template-columns: auto minmax(0,1fr) auto;
  }
}
/* At medium desktop widths, prevent the sliders from forcing overflow. */
@media (min-width: 701px) and (max-width: 900px) {
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] {
    grid-template-columns: minmax(148px,1.3fr) minmax(108px,.85fr) minmax(102px,.8fr) minmax(140px,1fr);
    gap: var(--fz-space-2,8px);
  }
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] .fz-font-test__font-field,
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] .fz-font-test__slider-field {
    gap: var(--fz-space-1,4px);
  }
}
/* Preserve the original mobile row order: Font / Line + Size / axis. */
@media (max-width: 700px) {
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] .fz-font-test__axes {
    grid-column: 1 / -1;
    grid-row: auto;
    grid-template-columns: 1fr;
    margin: 0;
  }
}
@media (max-width: 360px) {
  html:root .fz-font-test .fz-font-test__controls[data-axis-layout="weight-only"] {
    grid-template-columns: 1fr;
  }
}

/* Hybrid per-font preview: hidden surfaces must not be displayed by legacy display rules. */
html:root .fz-font-test .fontzin-preview-editor[hidden],html:root .fz-font-test .fontzin-preview-canvas[hidden]{display:none}

/* Explicit fallback status for server-only font formats. */
.fz-font-test .fz-preview-axis-compatibility{margin:8px 0;color:var(--fz-muted,#657184);font-size:12px;line-height:1.5}
.fz-font-test .fz-preview-axis-compatibility[hidden]{display:none}
