/* Drohnen-Layout 0.4.0 – Werkzeuge in der Markenwelt „Kennzeichnung“. Farben kommen aus dem Theme (--fs-*), mit Rückfallwerten. */
.dnl-tool { --t-ink: var(--fs-schwarz, #15171A); --t-plate: var(--fs-plakette, #121416); --t-paper: var(--fs-papier, #fff); --t-line: var(--fs-linie, #CFD3D4); --t-muted: var(--fs-grau, #5B6166); --t-red: var(--fs-rot, #D21F3C); --t-silver: var(--fs-silber, #C9CED1); --t-display: var(--fs-display, inherit); --t-ok: #136B3A; --t-no: #A3122A;
	margin: 0 0 1.6rem; padding: clamp(1.1rem, 3vw, 1.9rem); background: var(--t-paper); border: 1.5px solid var(--t-ink); border-radius: 9px; max-width: 46rem; }
.dnl-tool fieldset { margin: 0 0 1.4rem; padding: 0; border: 0; min-width: 0; }
.dnl-tool legend, .dnl-tool .dnl-tool-h { padding: 0; margin: 0 0 .8rem; font: 800 1.7rem/1 var(--t-display); letter-spacing: .03em; text-transform: uppercase; color: var(--t-ink); }
.dnl-tool .dnl-tool-sub { margin: 1.6rem 0 .7rem; font: 800 1.3rem/1 var(--t-display); letter-spacing: .04em; text-transform: uppercase; }
.dnl-tool .dnl-tool-note, .dnl-tool-source { margin: .8rem 0 0; font-size: .9rem; line-height: 1.5; color: var(--t-muted); max-width: 62ch; }
.dnl-tool-source { margin: -.8rem 0 1.6rem; }
.dnl-tool-row { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.1rem; }

.dnl-choices { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.dnl-choices-col { grid-template-columns: 1fr; }
.dnl-choice { display: flex; align-items: center; gap: .7rem; min-height: 48px; padding: .6rem .85rem; border: 1.5px solid var(--t-line); border-radius: 5px; background: var(--t-paper); cursor: pointer; font-weight: 600; line-height: 1.3; transition: border-color .15s, background .15s; }
.dnl-choice:hover { border-color: var(--t-ink); }
.dnl-choice input { flex: none; width: 1.15rem; height: 1.15rem; margin: 0; accent-color: var(--t-plate); }
.dnl-choice:has(input:checked) { border-color: var(--t-ink); background: var(--t-plate); color: #fff; }
.dnl-choice:has(input:checked) input { accent-color: var(--t-red); }
.dnl-choice:has(input:focus-visible) { outline: 3px solid var(--fs-a1, #1D4FC4); outline-offset: 2px; }
.dnl-fields { display: grid; gap: .9rem; }
.dnl-field { display: grid; gap: .35rem; font-weight: 600; font-size: .95rem; }
.dnl-field input { width: 100%; max-width: 15rem; min-height: 44px; padding: .5rem .75rem; border: 1.5px solid var(--t-ink); border-radius: 5px; background: var(--t-paper); color: var(--t-ink); font: inherit; font-variant-numeric: tabular-nums; }

.dnl-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .6rem 1.2rem; border: 1.5px solid var(--t-ink); border-radius: 5px; background: var(--t-paper); color: var(--t-ink); font: inherit; font-weight: 800; cursor: pointer; transition: background .15s, color .15s, transform .18s cubic-bezier(.16,1,.3,1); }
.dnl-btn:hover:not(:disabled) { background: var(--t-plate); color: #fff; }
.dnl-btn-primary { background: var(--t-red); border-color: var(--t-red); color: #fff; }
.dnl-btn-primary:hover:not(:disabled) { background: var(--t-plate); border-color: var(--t-plate); transform: translateX(3px); }
.dnl-btn:disabled { opacity: .45; cursor: not-allowed; }
.dnl-chiprow { display: flex; flex-wrap: wrap; gap: .5rem; }
.dnl-chipbtn { min-height: 44px; padding: .45rem .8rem; border: 1.5px solid var(--t-ink); border-radius: 4px; background: var(--t-paper); color: var(--t-ink); font: inherit; font-weight: 600; font-size: .95rem; cursor: pointer; }
.dnl-chipbtn:hover { background: var(--t-plate); color: #fff; }

/* Merker „Hier weitermachen“: gefaltete Markierung an der Kante */
.dnl-resume { position: relative; margin: 0 0 1.6rem; padding: 1.5rem 1.1rem 1.1rem; border: 1.5px solid var(--t-ink); border-radius: 5px; background: var(--fs-weiss, #F4F5F3); }
.dnl-resume-flag { position: absolute; top: -1.5px; left: 1rem; padding: .3rem .7rem .35rem; background: var(--t-red); color: #fff; font: 800 1.05rem/1 var(--t-display); letter-spacing: .08em; text-transform: uppercase; border-radius: 0 0 4px 4px; }
.dnl-resume-t { margin: .5rem 0 0; font-weight: 800; }

/* Fragekarte */
.dnl-q-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; font-size: .9rem; font-weight: 600; color: var(--t-muted); font-variant-numeric: tabular-nums; }
.dnl-q-topic { color: var(--t-ink); font: 800 1.1rem/1 var(--t-display); letter-spacing: .08em; text-transform: uppercase; }
.dnl-bar { height: 8px; margin: .7rem 0 1.3rem; border: 1.5px solid var(--t-ink); border-radius: 4px; overflow: hidden; }
.dnl-bar span { display: block; height: 100%; background: var(--t-plate); transition: width .3s cubic-bezier(.16,1,.3,1); }
.dnl-tool .dnl-q-text { margin: 0 0 1.1rem; font: 800 1.3rem/1.35 inherit; font-family: inherit; text-transform: none; letter-spacing: 0; }
.dnl-q-text:focus { outline: none; }
.dnl-opts { display: grid; gap: .55rem; }
.dnl-opt { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; min-height: 52px; padding: .7rem 1rem; border: 1.5px solid var(--t-line); border-radius: 5px; background: var(--t-paper); color: var(--t-ink); font: inherit; line-height: 1.4; text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.dnl-opt:hover:not(:disabled) { border-color: var(--t-ink); }
.dnl-opt.is-picked { border-color: var(--t-ink); box-shadow: inset 4px 0 0 var(--t-ink); }
.dnl-opt-m { flex: none; font: 800 .95rem/1 var(--t-display); letter-spacing: .08em; text-transform: uppercase; }
.dnl-opt.is-picked .dnl-opt-m::after { content: "Gewählt"; }
.dnl-opt.is-right { border-color: var(--t-ok); box-shadow: inset 4px 0 0 var(--t-ok); }
.dnl-opt.is-right .dnl-opt-m::after { content: "Richtig"; color: var(--t-ok); }
.dnl-opt.is-wrong { border-color: var(--t-no); box-shadow: inset 4px 0 0 var(--t-no); }
.dnl-opt.is-wrong .dnl-opt-m::after { content: "Falsch"; color: var(--t-no); }
.dnl-opt:disabled { cursor: default; opacity: 1; }
.dnl-fb { min-height: 1.5em; margin-top: 1rem; line-height: 1.55; max-width: 62ch; }
.dnl-ok { color: var(--t-ok); } .dnl-no { color: var(--t-no); }

/* Auswertung, Ergebnis, Tabellen */
.dnl-result-mark { display: inline-block; margin-bottom: .8rem; padding: .35rem .7rem; border: 2px solid currentColor; border-radius: 4px; font: 800 1.3rem/1 var(--t-display); letter-spacing: .1em; text-transform: uppercase; transform: rotate(-2deg); }
.is-pass .dnl-result-mark { color: var(--t-ok); } .is-fail .dnl-result-mark { color: var(--t-no); }
.dnl-tool table { width: 100%; margin: .9rem 0 0; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.dnl-tool table td { padding: .55rem .2rem; border: 0; border-bottom: 1px solid var(--t-line); background: none; }
.dnl-tool table td:last-child { text-align: right; font-weight: 800; white-space: nowrap; }
.dnl-tool table tr.dnl-calc-sum td { border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; font-weight: 800; }
.dnl-wrong { margin-top: .7rem; padding: .8rem 1rem; border: 1.5px solid var(--t-line); border-radius: 5px; }
.dnl-wrong p { margin: 0 0 .3rem; font-size: .95rem; line-height: 1.5; }
.dnl-wrong-q { font-weight: 800; } .dnl-wrong-a { color: var(--t-ok); font-weight: 600; } .dnl-wrong-e { color: var(--t-muted); }

.dnl-weg-out, .dnl-calc-out { margin-top: .4rem; padding: clamp(1rem, 3vw, 1.6rem); border-radius: 9px; background: var(--fs-buerste, none), var(--t-plate); color: var(--t-silver); }
.dnl-weg-out .dnl-tool-h, .dnl-calc-out .dnl-tool-h { color: #fff; }
.dnl-weg-out .dnl-tool-note, .dnl-calc-out .dnl-tool-note { color: #9AA1A6; }
.dnl-weg-sub { margin: 0 0 1rem; max-width: 60ch; }
.dnl-tool ul.dnl-weg-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.dnl-weg-list > li { display: grid; grid-template-columns: 8.5rem 1fr; gap: .9rem; align-items: center; padding: .65rem .8rem; border: 1.5px solid #5D6367; border-radius: 5px; }
.dnl-weg-badge { padding: .3rem .4rem; border-radius: 4px; font: 800 1.05rem/1 var(--t-display); letter-spacing: .08em; text-transform: uppercase; text-align: center; border: 1.5px solid #5D6367; color: #AEB4B8; }
.is-yes .dnl-weg-badge { background: var(--fs-weiss, #F4F5F3); border-color: var(--fs-weiss, #F4F5F3); color: var(--t-plate); }
.dnl-weg-list :is(a, strong) { display: block; color: #fff; font-weight: 800; }
.dnl-weg-d { display: block; font-size: .9rem; color: #AEB4B8; }
.dnl-calc-out table td { border-bottom-color: #3A3F43; color: var(--t-silver); }
.dnl-calc-out table td:last-child, .dnl-calc-out tr.dnl-calc-sum td { color: #fff; }
@media (max-width: 479.98px) { .dnl-weg-list > li { grid-template-columns: 1fr; } .dnl-weg-badge { justify-self: start; padding-inline: .7rem; } }
