.fp-pruefer *{box-sizing:border-box}
.fp-pruefer .wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.fp-pruefer button,.fp-pruefer input,.fp-pruefer textarea{font:inherit;color:inherit}
.fp-pruefer :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fp-pruefer .mono{font-family:var(--mono);font-size:.9em;overflow-wrap:anywhere}
.fp-pruefer .dim{color:var(--muted)}
.fp-pruefer .small{font-size:13px}
.fp-pruefer mark{background:var(--accent-soft);color:var(--fg);border-radius:3px;padding:0 2px}
.fp-pruefer [hidden]{display:none !important}
.fp-pruefer .brand{font-family:var(--mono);font-weight:600;font-size:14px;color:var(--accent)}
.fp-pruefer h1{margin:0;font-size:clamp(28px,5vw,40px);line-height:1.1;text-wrap:balance}
.fp-pruefer .lead{margin:2px 0 0;color:var(--muted);max-width:60ch}
.fp-pruefer .privacy{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-top:6px}
.fp-pruefer .privacy svg{color:var(--accent);flex-shrink:0}
.fp-pruefer .drop{border:2px dashed var(--line-2);border-radius:16px;background:var(--surface);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.fp-pruefer .drop.over{border-color:var(--accent);background:var(--accent-soft)}
.fp-pruefer .drop .ico{color:var(--accent)}
.fp-pruefer .drop h2{margin:0;font-size:20px}
.fp-pruefer .drop p{margin:0;color:var(--muted);font-size:14px;max-width:52ch}
.fp-pruefer .row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.fp-pruefer .fp-btn{appearance:none;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface-2);font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.fp-pruefer .fp-btn:hover{border-color:var(--fg)}
.fp-pruefer .fp-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.fp-pruefer .fp-btn.link{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-weight:500;min-height:36px;padding:0 6px}
.fp-pruefer .fp-btn.link:hover{color:var(--fg)}
.fp-pruefer .examples{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center}
.fp-pruefer .paste{width:100%;display:flex;flex-direction:column;gap:8px;text-align:left}
.fp-pruefer .paste textarea,.fp-pruefer .report textarea{width:100%;min-height:160px;resize:vertical;border-radius:10px;border:1px solid var(--line-2);background:var(--surface-2);padding:10px 12px;font-family:var(--mono);font-size:13px}
.fp-pruefer .status{min-height:20px;font-size:14px;color:var(--muted)}
.fp-pruefer .status.err{color:var(--danger)}
.fp-pruefer .example{font-size:14px;padding:10px 14px;border-radius:10px;border:1px dashed var(--line-2);color:var(--muted)}
.fp-pruefer #result{display:flex;flex-direction:column;gap:14px;scroll-margin-top:16px}
.fp-pruefer .verdict{border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border:2px solid var(--line);background:var(--surface)}
.fp-pruefer .answer{font-size:clamp(40px,9vw,72px);font-weight:700;line-height:1;letter-spacing:-.02em}
.fp-pruefer .lvl-gefaehrlich .answer{color:var(--danger)}
.fp-pruefer .lvl-verdaechtig .answer{color:var(--warn)}
.fp-pruefer .lvl-unauffaellig .answer{color:var(--accent)}
.fp-pruefer .why{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:16px}
.fp-pruefer .why li::before{content:"• ";color:var(--muted)}
.fp-pruefer .why .more{color:var(--muted);font-size:14px}
.fp-pruefer .why .more::before{content:""}
.fp-pruefer .todo1{margin-top:6px;font-weight:600;padding:8px 14px;border-radius:10px;background:var(--surface)}
.fp-pruefer .feedback{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.fp-pruefer .feedback > span:first-child{font-weight:600}
.fp-pruefer .fb-btns{display:flex;flex-wrap:wrap;gap:8px}
.fp-pruefer .fb-btns .fp-btn{min-height:40px;font-size:14px}
.fp-pruefer .fb-btns .fp-btn.picked{border-color:var(--accent);background:var(--accent-soft)}
.fp-pruefer .fb-btns .fp-btn:disabled{cursor:default}
.fp-pruefer .fb-msg{flex-basis:100%}
.fp-pruefer .dbline{color:var(--muted);max-width:60ch}
.fp-pruefer .more-box{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.fp-pruefer .more-box summary{cursor:pointer;padding:14px 18px;font-weight:600;min-height:44px}
.fp-pruefer .details-in{padding:0 14px 14px;display:flex;flex-direction:column;gap:14px}
.fp-pruefer .v-main{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:6px}
.fp-pruefer .v-label{align-self:flex-start;font-family:var(--mono);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:20px}
.fp-pruefer .verdict h2{margin:0;font-size:clamp(18px,3vw,22px);line-height:1.3;font-weight:600;text-wrap:balance}
.fp-pruefer .verdict p{margin:0;color:var(--muted)}
.fp-pruefer .gauge{display:flex;flex-direction:column;gap:8px;padding:0 4px}
.fp-pruefer .g-track{height:10px;border-radius:5px;background:var(--line);overflow:hidden;background-color:var(--line)}
.fp-pruefer .g-track i{display:block;height:100%;border-radius:5px}
.fp-pruefer .g-num{font-family:var(--mono);font-weight:600;font-size:28px;font-variant-numeric:tabular-nums}
.fp-pruefer .g-num small{font-size:13px;color:var(--muted);font-weight:400}
.fp-pruefer .lvl-gefaehrlich{border-color:var(--danger);background:var(--danger-soft)}
.fp-pruefer .lvl-gefaehrlich .v-label{background:var(--danger);color:var(--bg)}
.fp-pruefer .lvl-gefaehrlich .g-track i,.fp-pruefer .g-track.lvl-gefaehrlich i{background:var(--danger)}
.fp-pruefer .lvl-verdaechtig{border-color:var(--warn);background:var(--warn-soft)}
.fp-pruefer .lvl-verdaechtig .v-label{background:var(--warn);color:var(--bg)}
.fp-pruefer .lvl-verdaechtig .g-track i,.fp-pruefer .g-track.lvl-verdaechtig i{background:var(--warn)}
.fp-pruefer .lvl-unauffaellig{border-color:var(--accent);background:var(--accent-soft)}
.fp-pruefer .lvl-unauffaellig .v-label{background:var(--accent);color:var(--accent-ink)}
.fp-pruefer .lvl-unauffaellig .g-track i,.fp-pruefer .g-track.lvl-unauffaellig i{background:var(--accent)}
.fp-pruefer .todo{padding:4px 4px 0}
.fp-pruefer .todo ul{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.fp-pruefer h3{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px}
.fp-pruefer .count{font-family:var(--mono);font-size:12px;background:var(--line);color:var(--fg);border-radius:10px;padding:1px 8px;letter-spacing:0}
.fp-pruefer .card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.fp-pruefer .meta{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:8px 16px;margin:0;font-size:15px}
.fp-pruefer .meta dt{color:var(--muted);font-size:14px}
.fp-pruefer .meta dd{margin:0;min-width:0;overflow-wrap:anywhere}
.fp-pruefer .pills{display:flex;flex-wrap:wrap;gap:6px}
.fp-pruefer .pill{font-family:var(--mono);font-size:12px;padding:3px 9px;border-radius:12px;border:1px solid var(--line-2)}
.fp-pruefer .pill.ok{border-color:var(--accent);color:var(--accent)}
.fp-pruefer .pill.bad{border-color:var(--danger);color:var(--danger)}
.fp-pruefer .pill.warn{border-color:var(--warn);color:var(--warn)}
.fp-pruefer .pill.none{color:var(--muted)}
.fp-pruefer .findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fp-pruefer .findings li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--surface-2);border-left:0}
.fp-pruefer .findings li div{min-width:0}
.fp-pruefer .findings b{display:block}
.fp-pruefer .findings .cat{font-size:12px;color:var(--muted);font-family:var(--mono)}
.fp-pruefer .findings p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.fp-pruefer .chip{flex-shrink:0;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:6px;width:66px;text-align:center}
.fp-pruefer .sev-hoch .chip{background:var(--danger);color:var(--bg)}
.fp-pruefer .sev-mittel .chip{background:var(--warn);color:var(--bg)}
.fp-pruefer .sev-gering .chip{background:var(--line-2);color:var(--fg)}
.fp-pruefer .notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.fp-pruefer .notes .sev-gut b{color:var(--accent)}
.fp-pruefer .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.fp-pruefer table{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}
.fp-pruefer th,.fp-pruefer td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.fp-pruefer th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2)}
.fp-pruefer tr:last-child td{border-bottom:0}
.fp-pruefer tr.bad td:last-child{color:var(--danger)}
.fp-pruefer tr.warn td:last-child{color:var(--warn)}
.fp-pruefer tr.bad mark{background:var(--danger-soft)}
.fp-pruefer .atts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fp-pruefer .atts li{padding:10px 12px;border-radius:10px;background:var(--surface-2);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.fp-pruefer .atts li p{flex-basis:100%;margin:0;font-size:14px;color:var(--muted)}
.fp-pruefer .atts .risk-hoch{box-shadow:inset 3px 0 0 var(--danger)}
.fp-pruefer .atts .risk-mittel{box-shadow:inset 3px 0 0 var(--warn)}
.fp-pruefer .actions{display:flex;flex-wrap:wrap;gap:10px}
.fp-pruefer .report{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.fp-pruefer .report ol{margin:0;padding-left:20px}
.fp-pruefer .sel{user-select:all}
@media (prefers-reduced-motion: no-preference){.fp-pruefer .fp-btn,.fp-pruefer .drop{transition:background-color .15s,border-color .15s}}
@media (max-width:520px){.fp-pruefer .meta{grid-template-columns:1fr}
.fp-pruefer .meta dt{margin-top:4px}}
