#kp-assistant{--ink:#173e34;--green:#176b53;--line:#dbe6df;position:fixed;right:20px;bottom:max(18px,env(safe-area-inset-bottom));z-index:90000;color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
#kp-assistant *,#kp-assistant *:before,#kp-assistant *:after{box-sizing:border-box}
#kp-assistant [hidden]{display:none!important}
#kp-assistant button,#kp-assistant a,#kp-assistant textarea{font:inherit;letter-spacing:normal;text-transform:none}
#kp-assistant button{cursor:pointer;margin:0;width:auto}
#kp-assistant button:disabled{opacity:.6;cursor:wait}
#kp-assistant :focus-visible{outline:3px solid #67b598;outline-offset:2px}
#kp-assistant .kp-ai-launcher{display:flex;align-items:center;gap:9px;border:1px solid #ffffff40;border-radius:28px;padding:13px 19px;background:var(--green);color:white;box-shadow:0 6px 25px #173e3430;font-weight:650}
#kp-assistant .kp-ai-badge{display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#fff;color:var(--green);font-size:12px}
#kp-assistant .kp-ai-panel{position:absolute;right:0;bottom:65px;display:flex;flex-direction:column;width:min(740px,calc(100vw - 36px));height:min(660px,calc(100dvh - 116px));border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;box-shadow:0 18px 65px #173e3440;text-align:left}
#kp-assistant .kp-ai-header{display:flex;align-items:center;gap:10px;padding:17px 18px;background:#f3f8f5;border-bottom:1px solid var(--line)}
#kp-assistant .kp-ai-header>div{flex:1}
#kp-assistant h2{font:700 17px/1.3 system-ui;margin:0;color:var(--ink)}
#kp-assistant .kp-ai-header p{margin:3px 0 0;font-size:11px;color:#638273}
#kp-assistant .kp-ai-new{border:1px solid #b8cfc1;border-radius:9px;background:white;color:var(--green);padding:7px 10px;font-size:13px;white-space:nowrap}
#kp-assistant .kp-ai-close{border:0;background:transparent;color:#658173;font-size:24px;padding:0 4px}
#kp-assistant .kp-ai-list-status{font-size:11px;color:#678272;margin:0;padding:7px 16px;border-bottom:1px solid #edf2ee}
#kp-assistant .kp-ai-body{display:flex;flex:1;min-height:0}
#kp-assistant .kp-ai-tasks{width:220px;flex-shrink:0;overflow:auto;padding:10px;border-right:1px solid var(--line);background:#fbfcfa}
#kp-assistant .kp-ai-task{display:block;width:100%;padding:11px 10px;margin-bottom:7px;text-align:left;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink)}
#kp-assistant .kp-ai-task[aria-pressed=true]{border-color:#b6d5c5;background:#edf6ef}
#kp-assistant .kp-ai-task-title{display:block;font-weight:650;font-size:12px;line-height:1.5}
#kp-assistant .kp-ai-task-status{display:block;margin-top:5px;font-size:11px;line-height:1.4;color:#6b8375}
#kp-assistant .kp-ai-task-status:before{content:'';display:inline-block;margin-right:5px;width:6px;height:6px;border-radius:50%;background:#a4b6aa}
#kp-assistant .kp-ai-task[data-status=running] .kp-ai-task-status:before,#kp-assistant .kp-ai-task[data-status=queued] .kp-ai-task-status:before{background:#d49c36}
#kp-assistant .kp-ai-task[data-status=ready] .kp-ai-task-status:before{background:#269564}
#kp-assistant .kp-ai-task[data-status=failed] .kp-ai-task-status:before{background:#c56652}
#kp-assistant .kp-ai-thread{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}
#kp-assistant .kp-ai-thread-header{padding:13px 16px;border-bottom:1px solid #edf2ee}
#kp-assistant h3{font-size:13px;margin:0;font-weight:650;color:var(--ink)}
#kp-assistant .kp-ai-stage{font-size:11px;color:#6b8275;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
#kp-assistant .kp-ai-messages{flex:1;min-height:70px;overflow:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
#kp-assistant .kp-ai-message{align-self:flex-start;max-width:95%;border:1px solid #e2ebe4;border-radius:13px 13px 13px 3px;background:#f4f8f4;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
#kp-assistant .kp-ai-message[data-role=user]{align-self:flex-end;background:var(--green);border-color:var(--green);color:white;border-radius:13px 13px 3px 13px}
#kp-assistant .kp-ai-choices{display:flex;flex-wrap:wrap;gap:7px}
#kp-assistant .kp-ai-choice{padding:6px 10px;background:white;border:1px solid #bad2c3;border-radius:9px;color:var(--green);font-size:12px}
#kp-assistant .kp-ai-actions{padding:0 15px 10px;max-height:220px;overflow:auto}
#kp-assistant .kp-ai-actions:empty{padding:0}
#kp-assistant .kp-ai-progress{appearance:none;width:100%;height:5px;border:0;border-radius:5px;background:#e4eee6;margin:8px 0}
#kp-assistant .kp-ai-progress::-webkit-progress-bar{background:#e4eee6;border-radius:5px}
#kp-assistant .kp-ai-progress::-webkit-progress-value{background:#559b77;border-radius:5px}
#kp-assistant .kp-ai-progress::-moz-progress-bar{background:#559b77}
#kp-assistant .kp-ai-hint{font-size:11px;color:#74877b;margin:5px 0 9px}
#kp-assistant .kp-ai-warning{font-size:12px;color:#91513c;white-space:pre-wrap;margin:8px 0}
#kp-assistant .kp-ai-result{background:#f0f8f1;border:1px solid #d4e6d8;border-radius:12px;padding:12px}
#kp-assistant .kp-ai-result p{font-size:12px;margin:5px 0 10px}
#kp-assistant .kp-ai-primary{display:inline-block;padding:8px 12px;border-radius:9px;background:var(--green);color:white;text-decoration:none;font-weight:600;font-size:12px}
#kp-assistant .kp-ai-form{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;border-top:1px solid #edf2ee}
#kp-assistant textarea{width:100%;min-width:0;min-height:46px;max-height:110px;resize:none;border:1px solid #c9dacf;border-radius:11px;padding:10px;color:var(--ink);background:#fff;margin:0;font-size:13px}
#kp-assistant .kp-ai-send{background:var(--green);color:white;border:0;border-radius:11px;padding:11px 12px;min-height:44px}
#kp-assistant .kp-ai-connection{padding:7px 15px;background:#fafcf9;border-top:1px solid var(--line);font-size:10px;color:#718878;white-space:pre-wrap;max-height:85px;overflow:auto}
@media(max-width:620px){#kp-assistant{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}#kp-assistant .kp-ai-panel{width:calc(100vw - 20px);bottom:64px}#kp-assistant .kp-ai-body{flex-direction:column}#kp-assistant .kp-ai-tasks{width:100%;max-height:110px;display:flex;gap:7px;overflow-x:auto;flex-shrink:0;border-right:0;border-bottom:1px solid var(--line);padding:7px}#kp-assistant .kp-ai-task{width:185px;min-width:185px;margin:0;padding:7px 9px}#kp-assistant .kp-ai-task-title{font-size:11px}#kp-assistant .kp-ai-header{padding:12px}#kp-assistant .kp-ai-header p{font-size:10px}#kp-assistant textarea{font-size:16px}#kp-assistant .kp-ai-actions{max-height:170px}}

.kp-ai-page-progress{position:relative;z-index:1000;box-sizing:border-box;width:100%;padding:12px 20px;background:#f0f8f1;border-bottom:1px solid #bad6c4;color:#243d30;font:14px/1.45 system-ui,sans-serif;overflow-wrap:anywhere}
.kp-ai-page-progress p{margin:4px 0}.kp-ai-page-progress progress{display:block;width:min(500px,100%);height:9px;margin:8px 0}.kp-ai-page-progress button{cursor:pointer;padding:7px 12px;border:1px solid #bad6c4;border-radius:8px;background:white}

#kp-assistant .kp-ai-list-tools{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line)}
#kp-assistant .kp-ai-list-tools input{flex:1;min-width:0;box-sizing:border-box;border:1px solid #bad2c3;border-radius:8px;padding:7px 9px;background:white;font:12px system-ui;color:var(--ink);height:34px;margin:0}
#kp-assistant .kp-ai-list-tools select{max-width:145px;border:1px solid #bad2c3;border-radius:8px;padding:6px;background:white;font:12px system-ui;color:var(--ink);height:34px;margin:0}
#kp-assistant .kp-ai-manage{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
#kp-assistant .kp-ai-manage button{font-size:11px;padding:4px 8px}
#kp-assistant .kp-ai-empty{font-size:12px;padding:8px;color:#678272}
#kp-assistant .kp-ai-delete-confirm{border:1px solid #dfb4a8;background:#fff7f4;border-radius:10px;padding:10px;font-size:12px;margin:7px 0}
#kp-assistant .kp-ai-delete-confirm p{margin:5px 0 9px}
#kp-assistant .kp-ai-delete-confirm button{margin-right:6px}
#kp-assistant .kp-ai-error-details{font-size:11px;padding:8px 0}
#kp-assistant .kp-ai-error-details summary{cursor:pointer}
#kp-assistant .kp-ai-error-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;color:#4d6557;background:#f4f8f4;border-radius:7px;padding:9px;user-select:text}
@media(max-width:620px){#kp-assistant .kp-ai-list-tools input{font-size:16px}#kp-assistant .kp-ai-manage{margin-top:4px}}
