.sf-wrap { max-width:820px; margin:1.25rem auto; padding:0 1rem; font-family:'DM Mono',monospace; }
.sf-wrap button { font:inherit; cursor:pointer; border:1px solid #888; padding:.55rem .85rem; border-radius:4px; }
.sf-wrap > .sf-auf { background:transparent; color:inherit; font-size:.8rem!important; border:0; padding:.4rem 0; text-decoration:underline; text-underline-offset:3px; }
.sf-dialog { margin:auto; inset:0; width:min(620px,calc(100vw - 2rem)); max-height:85dvh; box-sizing:border-box; padding:1.25rem; border:1px solid #655e53; border-radius:10px; background:#f5f0e6; color:#211e19; box-shadow:0 20px 90px #0009; }
.sf-dialog::backdrop { background:#000b; }
.sf-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.sf-heading h2 { margin:0; font-size:1.4rem; }
.sf-dialog label { display:block; font-size:.9rem; margin-bottom:.5rem; }
.sf-text { box-sizing:border-box; width:100%; padding:.75rem; background:#fffdf8; color:#211e19; border:1px solid #807768; border-radius:4px; font:inherit; font-size:.9rem; resize:vertical; }
.sf-hinweis,.sf-dialog details,.sf-antwort { font-size:.78rem; line-height:1.6; margin:.75rem 0; }
.sf-dialog summary { cursor:pointer; }
.sf-context { white-space:pre-wrap; overflow-wrap:anywhere; max-height:180px; overflow:auto; font-size:.7rem; background:#e9e3d8; padding:.75rem; }
.sf-actions { display:flex; justify-content:flex-end; gap:.75rem; margin-top:1rem; }
.sf-senden { background:#a91f30; color:white; border-color:#a91f30!important; }
.sf-senden:disabled { opacity:.6; cursor:wait; }
.sf-antwort.fehl { color:#a11926; }
.sf-antwort.ok { color:#226c37; }
.sf-dialog :focus-visible { outline:3px solid #b62939; outline-offset:3px; }

.sf-wrap .sf-dialog .sf-form { background:transparent; color:#211e19; border:0; margin:0; padding:0; }

.sf-wrap .sf-dialog .sf-hinweis { color:#625b51; }
