.kit-chat{max-width:52rem;margin:0 auto;padding:1.6rem 1.1rem 3rem}
.kit-chat h1{margin:0 0 .6rem}
.kit-chat h2{margin:2rem 0 .5rem}
.kit-chat h3{margin:1.2rem 0 .25rem;font-size:1.05rem}
.kc-app{margin:1.4rem 0;padding:1rem;border:2px solid currentColor;border-radius:.8rem}
.kc-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin:.4rem 0 .8rem}
.kc-row label{display:block;font-weight:700;margin-bottom:.2rem}
.kc-app select,.kc-app textarea,.kc-app button{font:inherit;color:inherit;background:transparent;border:2px solid currentColor;border-radius:.5rem;padding:.55rem .8rem;min-height:44px;box-sizing:border-box}
.kc-row>div{flex:1 1 14rem;min-width:0}
.kc-app select{width:100%;max-width:100%;background:Canvas;color:CanvasText}
.kc-app textarea{width:100%;resize:vertical;display:block}
.kc-app button{cursor:pointer;font-weight:700}
.kc-app button:disabled,.kc-app textarea:disabled,.kc-app select:disabled{opacity:.55;cursor:not-allowed}
.kc-app button:focus-visible,.kc-app select:focus-visible,.kc-app textarea:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.kc-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
#kc-status{margin:.4rem 0;min-height:1.4em}
#kc-prog{width:100%;height:.9rem}
#kc-log{margin:.8rem 0;max-height:26rem;min-height:6rem;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.2rem}
.kc-msg{padding:.6rem .8rem;border:1px solid currentColor;border-radius:.6rem;max-width:92%;overflow-wrap:anywhere}
.kc-msg p{margin:.2rem 0 0;white-space:pre-wrap}
.kc-who{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.8}
.kc-user{align-self:flex-end;border-width:2px}
.kc-assistant{align-self:flex-start;background:color-mix(in srgb,currentColor 7%,transparent)}
.kc-ideas ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.kc-ideas summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}
.kc-note{font-size:.92rem;opacity:.9}
.kc-v2 .kc-app{border-style:dashed;border-radius:0}.kc-v2 .kc-msg{border-radius:0}
.kc-v3 .kc-app{border-width:1px;box-shadow:6px 6px 0 currentColor}.kc-v3 .kc-msg{border-radius:1.1rem}
@media (max-width:520px){.kc-app{padding:.7rem}.kc-msg{max-width:100%}.kc-btns button{flex:1 1 auto}}
@media print{.kc-app{display:none}}
