/* KreativBüro · Schriftzug-Generator. Baut auf site.css auf (Formular und Rechner-Raster). */
.sz textarea { width: 100%; font: inherit; font-size: 1.15rem; line-height: 1.4; min-height: 0; resize: vertical; }
.sz .field input[type="range"] { width: 100%; accent-color: var(--lime-on-paper); margin: .35rem 0 0; }
.sz .field input[type="file"] { width: 100%; font: inherit; font-size: .9rem; color: var(--ink-muted); }
.sz .field input[type="file"]::file-selector-button { font: inherit; font-weight: 700; color: var(--ink); background: transparent; border: 0; box-shadow: inset 0 0 0 1.5px #c3ccd5; border-radius: var(--radius); padding: .55em .9em; margin-right: .8em; cursor: pointer; }
.sz .field input[type="file"]::file-selector-button:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }
.sz .regler-kopf { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.sz .regler-kopf output { font-family: var(--f-mono); font-size: .8rem; color: var(--ink-muted); font-variant-numeric: tabular-nums; }
.sz [hidden] { display: none !important; }

.sz-ausgabe { position: relative; }
@media (min-width: 980px) { .sz-ausgabe { position: sticky; top: 96px; } }
.sz-buehne { position: relative; border-radius: 2px; overflow: hidden; background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--paper-line); }
.sz-buehne canvas { display: block; width: 100%; aspect-ratio: 4 / 3; cursor: grab; touch-action: none; }
.sz-buehne canvas:active { cursor: grabbing; }
.sz-buehne .ohne-3d { aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 1.5rem; text-align: center; color: var(--ink-muted); margin: 0; }
.sz-buehne .sz-tipp { position: absolute; left: .7rem; bottom: .55rem; margin: 0; font-family: var(--f-mono); font-size: .72rem; color: var(--ink-muted); pointer-events: none; }
.sz-buehne::after { content: "rechnet …"; position: absolute; top: .6rem; right: .7rem; font-family: var(--f-mono); font-size: .75rem; color: var(--ink-muted); opacity: 0; transition: opacity .2s; }
.sz.rechnet .sz-buehne::after { opacity: 1; }

.sz-werte { margin: 1.1rem 0 0; display: grid; gap: .55rem; }
.sz-werte div { display: grid; grid-template-columns: 9.5rem 1fr; gap: .75rem; align-items: baseline; border-bottom: 1px dashed var(--paper-line); padding-bottom: .5rem; }
.sz-werte dt { font-size: .9rem; color: var(--ink-muted); }
.sz-werte dd { margin: 0; font-family: var(--f-mono); font-size: .85rem; font-variant-numeric: tabular-nums; color: var(--ink); }
.sz-werte .ergebnis dd { font-family: var(--f-body); font-weight: 700; font-size: 1rem; }
.sz-werte .ergebnis.gut dd { display: inline-flex; align-items: center; gap: .45rem; }
.sz-werte .ergebnis.gut dd::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 2px rgba(91, 112, 0, .25); flex: none; }
.sz-meldung { margin: .9rem 0 0; font-size: .88rem; color: var(--ink-muted); border-left: 2px solid var(--lime-on-paper); padding-left: .8rem; }
.sz-meldung.fehler { color: #a3261b; border-left-color: #b4362a; font-weight: 600; }
.sz-knoepfe { margin-top: 1.2rem; display: flex; flex-wrap: wrap; gap: .7rem; }
.sz-knoepfe .btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
@media (max-width: 639px) { .sz-werte div { grid-template-columns: 1fr; gap: .1rem; } }

.sz-schriften { list-style: none; padding: 0; margin: 0 0 1.2rem; display: grid; gap: .35rem; }
.sz-schriften li { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px dashed var(--paper-line); padding: .3rem 0; }
.sz-schriften .mono { color: var(--ink-muted); }

/* Schmale Bildschirme: Vorschau und Downloads zuerst, darunter die Einstellungen */
@media (max-width: 979px) { .sz-ausgabe { order: -1; } }
