.kf-widget{--kf-accent:#b3202b;--kf-bg:#fff;--kf-bd:#d9dde3;--kf-tx:#1c2430;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--kf-tx);box-sizing:border-box}
.kf-widget *{box-sizing:border-box}
.kf-widget,.kf-panel,.kf-answer,.kf-answer *,.kf-turn{text-align:left}
.kf-panel{background:var(--kf-bg);border:1px solid var(--kf-bd);border-radius:12px;padding:16px;max-width:760px;margin:1.5em 0}
.kf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:1.05em}
.kf-form{display:flex;gap:8px;align-items:flex-start}
.kf-q{flex:1;resize:vertical;min-height:48px;padding:10px 12px;border:1px solid var(--kf-bd);border-radius:8px;font:inherit;color:inherit;background:#fff}
.kf-q:focus{outline:2px solid var(--kf-accent);outline-offset:1px}
.kf-go{padding:10px 18px;border:0;border-radius:8px;background:var(--kf-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.kf-go:disabled{opacity:.5;cursor:wait}
.kf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.kf-sr{position:absolute;left:-9999px}
.kf-ex{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.kf-chip{border:1px solid var(--kf-bd);background:#f6f7f9;color:inherit;border-radius:999px;padding:4px 12px;font:inherit;font-size:.85em;cursor:pointer;text-align:left}
.kf-chip:hover{border-color:var(--kf-accent)}
.kf-out{margin:6px 0 12px}
.kf-out:empty{margin:0}
.kf-turn{margin:0 0 14px}
.kf-turn+.kf-turn{padding-top:12px;border-top:1px solid var(--kf-bd)}
.kf-uq{display:inline-block;max-width:92%;margin:0 0 6px auto;padding:6px 12px;border-radius:12px;background:#eef1f5;font-size:.95em}
.kf-turn{display:flex;flex-direction:column}
.kf-uq{align-self:flex-end}
.kf-tools{display:flex;gap:8px;align-items:center}
.kf-new,.kf-openbtn{border:1px solid var(--kf-bd);background:#fff;color:inherit;border-radius:8px;padding:4px 10px;font:inherit;font-size:.85em;cursor:pointer}
.kf-new:hover,.kf-openbtn:hover{border-color:var(--kf-accent)}
.kf-new[hidden]{display:none}
.kf-open{margin:10px 0 0;text-align:right}
.kf-page .kf-panel{max-width:900px;margin:1em auto;padding:20px}
.kf-page .kf-q{min-height:64px}
.kf-q:disabled{background:#f2f3f5}
.kf-answer p{margin:.5em 0}
.kf-answer ul{margin:.5em 0 .5em 1.2em;padding:0}
.kf-ref{display:inline-block;min-width:1.4em;padding:0 .35em;margin:0 .1em;border-radius:6px;background:#fbe9ea;color:var(--kf-accent)!important;font-size:.78em;font-weight:700;text-align:center;text-decoration:none;vertical-align:super;line-height:1.5}
.kf-src{margin-top:12px;padding-top:10px;border-top:1px solid var(--kf-bd);font-size:.9em}
.kf-src span{font-weight:600}
.kf-src ol{margin:.3em 0 0 1.4em;padding:0}
.kf-wait{color:#5b6572}
.kf-err{color:#a1001a}
.kf-note{margin:14px 0 0;font-size:.78em;color:#5b6572}
.kf-close{border:0;background:none;font-size:1.6em;line-height:1;cursor:pointer;color:inherit}

/* Flytande variant */
.kf-floating .kf-panel{display:none;position:fixed;right:16px;bottom:72px;width:min(420px,calc(100vw - 32px));max-height:80vh;overflow:auto;margin:0;z-index:99999;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.kf-floating.kf-open .kf-panel{display:block}
.kf-floating.kf-open .kf-fab{display:none}
.kf-fab{position:fixed;right:16px;bottom:16px;z-index:99998;border:0;border-radius:999px;padding:12px 20px;background:var(--kf-accent);color:#fff;font:inherit;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.3);cursor:pointer}
@media (max-width:520px){.kf-form{flex-direction:column}.kf-go{width:100%}}

.kf-fb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;font-size:.85em}
.kf-rate{display:inline-flex;gap:6px;align-items:center;margin-left:auto}
.kf-rl{color:#5b6572}
.kf-fb button,.kf-cmgo,.kf-rolebox button{border:1px solid var(--kf-bd);background:#fff;color:inherit;border-radius:8px;padding:3px 10px;font:inherit;font-size:.95em;cursor:pointer}
.kf-fb button:hover,.kf-cmgo:hover,.kf-rolebox button:hover{border-color:var(--kf-accent)}
.kf-fbx:not(:empty){display:flex;gap:8px;align-items:flex-start;margin-top:8px}
.kf-cm{flex:1;padding:8px 10px;border:1px solid var(--kf-bd);border-radius:8px;font:inherit;font-size:.9em;color:inherit}
.kf-rolebox{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px;padding:8px 10px;border:1px dashed var(--kf-bd);border-radius:10px;font-size:.88em}
.kf-rolebox em{color:#5b6572}
.kf-rolebox .kf-rx{margin-left:auto;border:0;background:none;font-size:1.3em;line-height:1;padding:0 4px}

.kf-head{flex-wrap:wrap;gap:6px}
.kf-tools{margin-left:auto}
.kf-pg{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 10px;font:inherit;font-size:.85em;white-space:nowrap;border:1px solid var(--kf-bd);background:#fff;color:inherit;border-radius:8px;cursor:pointer}
.kf-pg:hover{border-color:var(--kf-accent);color:var(--kf-accent)}
.kf-floating .kf-panel{width:min(520px,calc(100vw - 32px));max-height:85vh}

.kf-caret{display:inline-block;width:.5em;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--kf-accent);opacity:.7;animation:kfb 1s steps(2) infinite}
@keyframes kfb{50%{opacity:0}}

.kf-pgrow{margin:10px 0 0}
.kf-pgrow .kf-pg{height:30px}
