/* Isolated, quiet surfaces for the assistant; the page's galaxy remains outside. */
.kchat{display:flex;flex-direction:column-reverse;align-items:flex-end}
.kchat-log{scroll-behavior:auto!important;overflow-anchor:none;min-height:0!important}
.kchat-header-actions{display:flex;align-items:center;gap:8px;flex:none}.kchat-clear{background:transparent;color:var(--chat-muted);border:1px solid var(--chat-line);border-radius:8px;padding:7px;font-size:11px!important;min-height:34px}
.kchat-header>div:first-child{min-width:0}.kchat-panel{min-height:0}.kchat-log:focus-visible{outline:2px solid var(--chat-gold);outline-offset:-3px}
.kchat-message-actions button{min-height:34px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:360px){.kchat-header{gap:6px;padding-inline:12px}.kchat-header h2{font-size:17px!important}.kchat-header-actions{gap:5px}.kchat-clear{font-size:10px!important;padding:5px}.kchat-close{width:30px;height:30px}}
:root[data-theme] .kchat :is(input,textarea){background:var(--chat-bg)!important;color:var(--chat-text)!important;border-color:var(--chat-line)!important;outline-color:var(--chat-gold)!important;box-shadow:none!important}
.kchat{--chat-bg:#14120e;--chat-panel:#1c1912;--chat-text:#f4f0e6;--chat-muted:#b7ae99;--chat-gold:#e5c36e;--chat-line:#d8bb703b;--chat-user:#3b3018;--chat-error:#f0b3b0;font-family:Jakarta,Arial,sans-serif;color:var(--chat-text);position:fixed;inset:auto 22px 22px auto;z-index:9000;max-width:calc(100vw - 28px);line-height:1.6;font-size:14px;text-align:left}
[data-theme=light] .kchat{--chat-bg:#fffdf8;--chat-panel:#f3eee2;--chat-text:#24231f;--chat-muted:#625f55;--chat-gold:#85621f;--chat-line:#cbbd9c;--chat-user:#efe0b8;--chat-error:#9d3156}
.kchat *{box-sizing:border-box}.kchat[hidden],.kchat [hidden]{display:none!important}
.kchat button,.kchat textarea,.kchat input{font:inherit}.kchat button,.kchat a{touch-action:manipulation}.kchat button{cursor:pointer}.kchat button:disabled{opacity:.6;cursor:wait}.kchat :is(a,button,input,textarea):focus-visible{outline:2px solid var(--chat-gold);outline-offset:3px}
.kchat-launch{margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid var(--chat-line);border-radius:40px;padding:8px 15px 8px 8px;background:var(--chat-bg);color:var(--chat-text);box-shadow:0 8px 30px #0002;font-weight:600;font-size:13px;min-height:53px}
.kchat-orb{position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;color:#24231f;background:radial-gradient(circle at 35% 25%,#fff0b8,#e5c36e 55%,#a17a2b);box-shadow:0 0 17px #d5af4930,inset -3px -4px 10px #805c2440;animation:kchat-breathe 5s ease-in-out infinite}.kchat-orb>span{font-size:19px;font-weight:700}
.kchat-panel{width:390px;max-width:calc(100vw - 28px);height:min(650px,calc(100dvh - 110px));max-height:calc(100dvh - 110px);display:flex;flex-direction:column;overflow:hidden;margin-bottom:12px;border:1px solid var(--chat-line);border-radius:20px;background:var(--chat-bg);box-shadow:0 20px 75px #0005;animation:kchat-arrive .24s ease-out}
.kchat-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 20px 17px;border-bottom:1px solid var(--chat-line);flex:none;background:var(--chat-bg)}
.kchat-header h2{font-size:20px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:-.04em!important;color:var(--chat-text);margin:5px 0 0!important}.kchat-eyebrow{font-size:11px;color:var(--chat-gold);letter-spacing:.04em}
.kchat-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--chat-line);border-radius:50%;background:transparent;color:var(--chat-muted);font-size:25px;line-height:1;flex:none}
.kchat-log{min-height:75px;flex:1;overflow:auto;overscroll-behavior:contain;padding:18px 16px 8px;scrollbar-width:thin;scrollbar-color:var(--chat-line) transparent}
.kchat-message{max-width:95%;width:fit-content;padding:11px 13px;border:1px solid var(--chat-line);border-radius:13px 13px 13px 3px;background:var(--chat-panel);margin:0 0 13px;overflow-wrap:anywhere}
.kchat-message--user{margin-left:auto;border-color:transparent;border-radius:13px 13px 3px 13px;background:var(--chat-user)}
.kchat-message-label{display:block;font-size:10px;letter-spacing:.025em;color:var(--chat-gold);margin-bottom:4px}.kchat-message p{color:var(--chat-text);font-size:13px;line-height:1.75;margin:0;white-space:pre-wrap}.kchat-message.is-pending{opacity:.75}.kchat-message.is-unsent{border-style:dashed}
.kchat-sources,.kchat-message-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.kchat-sources a{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--chat-gold)}
.kchat-message-actions :is(button,a){display:inline-block;padding:6px 10px;border:1px solid var(--chat-line);border-radius:7px;color:var(--chat-gold);background:transparent;font-size:12px;text-decoration:none}
.kchat-quick{display:flex;gap:7px;flex-wrap:wrap;flex:none;padding:10px 16px}.kchat-quick button{border:1px solid var(--chat-line);border-radius:20px;padding:7px 10px;background:transparent;color:var(--chat-text);font-size:11px;min-height:34px}.kchat-quick button:hover,.kchat-message-actions :is(button,a):hover{background:var(--chat-user);color:var(--chat-gold)}
.kchat-status{font-size:12px;line-height:1.5;color:var(--chat-muted);margin:0;padding:0 17px;white-space:pre-wrap;overflow-wrap:anywhere;flex:none}.kchat-status:not(:empty){padding-block:7px}.kchat .is-error{color:var(--chat-error)}
.kchat-compose{display:flex;align-items:flex-end;gap:9px;padding:12px 16px 7px;border-top:1px solid var(--chat-line);margin:0;flex:none}
.kchat-compose textarea{display:block;width:100%;min-width:0;min-height:47px;max-height:110px;resize:vertical;padding:10px 11px;border:1px solid var(--chat-line)!important;border-radius:10px;background:var(--chat-panel)!important;color:var(--chat-text)!important;box-shadow:none!important;font-size:13px!important;line-height:1.6}
.kchat-compose textarea::placeholder{color:var(--chat-muted)!important}
.kchat-send,.kchat .kchat-primary{border:1px solid var(--chat-gold);background:#e5c36e;color:#24231f;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:600;min-height:43px}
[data-theme=light] .kchat-send,[data-theme=light] .kchat .kchat-primary{background:#24231f;border-color:#24231f;color:#faf8f2}
.kchat-footer{margin:0!important;padding:0 16px 12px;font-size:10px!important;color:var(--chat-muted);flex:none;line-height:1.5!important}.kchat-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@keyframes kchat-breathe{0%,100%{box-shadow:0 0 12px #d5af4920,inset -3px -4px 10px #805c2440}50%{box-shadow:0 0 22px #d5af4945,inset -3px -4px 10px #805c2440}}
@keyframes kchat-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){.kchat{right:14px;bottom:max(14px,env(safe-area-inset-bottom));max-width:calc(100vw - 28px)}.kchat-panel{width:min(390px,calc(100vw - 28px));height:min(650px,calc(100dvh - 101px));max-height:calc(100dvh - 101px);border-radius:17px}.kchat-header{padding:16px}.kchat-launch{min-height:48px;padding:6px 12px 6px 6px}.kchat-orb{width:33px;height:33px}.kchat-quick{gap:6px;padding-inline:12px}.kchat-quick button{font-size:11px;padding-inline:8px}.kchat-log{padding-inline:12px}.kchat-compose{padding-inline:12px}.kchat-compose textarea{font-size:16px!important}.kchat-footer{padding-inline:12px}}
@media(max-height:550px){.kchat-panel{height:calc(100dvh - 88px);max-height:calc(100dvh - 88px)}.kchat-header{padding:10px 14px}.kchat-header h2{font-size:17px!important}.kchat-quick{padding-block:6px}.kchat-footer{padding-bottom:7px}}
@media(prefers-reduced-motion:reduce){.kchat *,.kchat :before,.kchat :after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
