.kw-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}.kw-list{display:grid;gap:12px}.kw-item{padding:16px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.kw-item small{display:block;opacity:.7}.kw-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,3fr) minmax(180px,1fr);gap:16px;align-items:start}.kw-editor{width:100%;min-height:65vh;resize:vertical;font:15px/1.8 ui-monospace,monospace;padding:16px;box-sizing:border-box;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px}.kw-grid>*{min-width:0}.kw-grid aside{padding:16px;max-height:75vh;overflow:auto}.kw-grid details{margin:12px 0}.kw-grid pre{white-space:pre-wrap;overflow-wrap:anywhere}.kw-grid input,.kw-grid select,.kw-grid textarea{max-width:100%}.kw-proposal{width:100%;min-height:260px;white-space:pre-wrap}.kw-save-state{min-height:24px}.kw-badge{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:8px;font-size:12px}.kw-dialog{width:min(700px,90vw);max-height:85vh;overflow:auto;color:var(--text);background:var(--panel)}.kw-dialog::backdrop{background:#0008}.kw-project{margin-top:20px}.kw-item h3{margin:8px 0}.kw-title-input{width:100%;font-size:20px;box-sizing:border-box;margin-bottom:12px}.kw-error{color:var(--danger,#c33);white-space:pre-wrap}@media(max-width:1000px){.kw-grid{grid-template-columns:minmax(0,1fr)}.kw-grid>*{min-width:0}.kw-grid aside{max-height:none}.kw-editor{min-height:55vh}}

.kw-grid{display:grid;grid-template-columns:minmax(190px,1fr) minmax(420px,3.25fr) minmax(275px,1.45fr);gap:16px;align-items:start}.kw-grid>*{min-width:0}.kw-actions{position:sticky;top:0;z-index:3;padding:8px 0;background:var(--bg,#080d14)}.kw-save-state{margin:0 0 0 auto;min-height:24px;align-self:center;color:var(--muted,#9aa8ba)}.kw-main{min-width:0}.kw-fields{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(3,minmax(90px,.8fr));gap:10px;margin:12px 0}.kw-fields .field{display:grid;gap:6px;margin:0}.kw-fields select{width:100%;min-width:0}.kw-title-input{height:48px;padding:10px 14px;font-size:22px;margin:0}.kw-editor{display:block;width:100%;height:calc(100vh - 350px);min-height:440px;max-height:1000px;resize:vertical;font:15px/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;padding:20px;box-sizing:border-box;background:var(--panel,#151e2a);color:var(--text,#eef2f7);border:1px solid var(--line,#2c3949);border-radius:12px}.kw-grid aside{padding:16px;max-height:calc(100vh - 185px);overflow:auto;scrollbar-gutter:stable}.kw-context h3,.kw-assistant h3{margin:0 0 10px}.kw-muted{color:var(--muted,#a4b0c0);font-size:13px;line-height:1.55}.kw-assist-state{min-height:22px;margin:8px 0;color:var(--accent,#63d9eb);font-size:13px}.kw-field-label{display:block;margin:8px 0 6px;font-size:13px;color:var(--muted,#b0bccb)}.kw-requirements{width:100%;min-height:72px;max-height:150px;resize:vertical;box-sizing:border-box;padding:10px;border:1px solid var(--line,#2c3949);border-radius:9px;background:var(--panel,#151e2a);color:var(--text,#eef2f7);font:14px/1.55 inherit}.kw-assist-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 16px}.kw-assist-actions .btn{min-width:0;padding:8px 5px;white-space:normal;line-height:1.3}.kw-proposal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0 8px;border-top:1px solid var(--line,#2c3949)}.kw-proposal-head strong{font-size:14px}.kw-proposal-head .btn{white-space:nowrap}.kw-proposal{display:block;width:100%;height:calc(100vh - 590px);min-height:240px;max-height:550px;resize:vertical;box-sizing:border-box;padding:13px;border:1px solid var(--line,#2c3949);border-radius:10px;background:var(--panel,#151e2a);color:var(--text,#eef2f7);font:14px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace}.kw-proposal::placeholder{font-family:inherit;opacity:.7}.kw-context details{margin:12px 0}.kw-context pre{white-space:pre-wrap;overflow-wrap:anywhere}.kw-grid input,.kw-grid select,.kw-grid textarea{max-width:100%}@media(max-width:1150px){.kw-grid{grid-template-columns:minmax(170px,1fr) minmax(0,2.5fr)}.kw-assistant{grid-column:2;max-height:none!important}.kw-editor{height:60vh}.kw-proposal{height:320px}}@media(max-width:760px){.kw-grid{grid-template-columns:minmax(0,1fr)}.kw-context,.kw-assistant{grid-column:1;max-height:none!important}.kw-actions{position:static}.kw-save-state{width:100%;margin:4px 0 0}.kw-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.kw-title-input{font-size:19px}.kw-editor{height:58vh;min-height:340px;padding:14px}.kw-proposal{height:320px;min-height:220px}}

/* Writing workspace: reuse the application's theme tokens. */
#kw-writing{--kw-surface:var(--panel,#101923);--kw-border:var(--line,#293747)}
#kw-writing .kw-actions{position:static;gap:8px;margin:0 0 22px;padding:14px 16px;border:1px solid var(--kw-border);border-radius:14px;background:var(--kw-surface)}
#kw-writing .btn{border-radius:10px;font-size:13px;font-weight:600;min-height:38px;transition:background .15s,border-color .15s,transform .15s}
#kw-writing .btn:hover{border-color:#38b7d4;background:rgba(56,183,212,.09)}
#kw-writing .btn:disabled{opacity:.5;cursor:wait}
#kw-writing [data-kw=save],#kw-writing [data-action=generate],#kw-writing [data-kw=apply]{background:linear-gradient(115deg,#269dbb,#6860df);border-color:transparent;color:#fff;box-shadow:0 3px 12px #152b4933}
#kw-writing .kw-save-state{font-size:12px;line-height:1.5;min-height:0;color:var(--muted,#a4b0c0)}
#kw-writing .kw-grid{grid-template-columns:minmax(180px,.85fr) minmax(0,2.8fr) minmax(300px,1.25fr);gap:20px}
#kw-writing .kw-grid aside{border:1px solid var(--kw-border);border-radius:16px;background:var(--kw-surface);max-height:none;overflow:visible;padding:20px;scrollbar-gutter:auto}
#kw-writing .kw-grid h3{font-size:15px;font-weight:650;line-height:1.5;margin:0 0 12px}
#kw-writing .kw-context h3{padding-bottom:12px;border-bottom:1px solid var(--kw-border)}
#kw-writing .kw-muted{font-size:12px;line-height:1.7;margin:8px 0 16px}
#kw-writing .kw-context small{display:block;margin-top:16px;padding-top:12px;border-top:1px solid var(--kw-border)}
#kw-writing .kw-main{padding:22px;border:1px solid var(--kw-border);border-radius:16px;background:var(--kw-surface)}
#kw-writing .kw-title-input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--kw-border);border-radius:0;background:transparent;color:var(--text,#edf3fb);font-family:inherit;font-size:24px;font-weight:600;line-height:1.4;padding:4px 0 16px;height:auto;min-height:50px}
#kw-writing .kw-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}
#kw-writing .kw-fields .field{font-size:12px;color:var(--muted,#a4b0c0)}
#kw-writing .kw-fields select{height:40px;box-sizing:border-box;padding:0 10px;border:1px solid var(--kw-border);border-radius:9px;background:var(--panel2,var(--kw-surface));color:var(--text,#edf3fb);font-size:13px}
#kw-writing .kw-editor{height:62vh;min-height:420px;border:0;border-top:1px solid var(--kw-border);border-radius:0;background:transparent;padding:20px 0 0;font-family:inherit;font-size:15px;line-height:1.95;outline-offset:5px}
#kw-writing .kw-assist-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#kw-writing [data-action=generate]{grid-column:1/-1;min-height:42px}
#kw-writing .kw-requirements,#kw-writing .kw-proposal{font-family:inherit;font-size:13px;line-height:1.8;background:var(--panel2,var(--kw-surface));border-radius:10px;padding:12px}
#kw-writing .kw-assist-state:empty{display:none}
#kw-writing .kw-assist-state{padding:9px 11px;border-radius:8px;background:rgba(56,183,212,.08);line-height:1.6}
#kw-writing .kw-proposal-head{margin-top:18px;padding-top:16px}
#kw-writing .kw-proposal{height:320px;min-height:240px;max-height:65vh}
#kw-writing :is(input,select,textarea,button):focus-visible{outline:2px solid #39bdd9;outline-offset:3px}
@media(min-width:1550px){#kw-writing .kw-fields{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.7fr)}}
@media(max-width:1250px){#kw-writing .kw-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr)}#kw-writing .kw-context{grid-column:1/-1}#kw-writing .kw-context small{display:inline-block;margin:0 0 0 16px;padding:0;border:0}#kw-writing .kw-main{grid-column:1}#kw-writing .kw-assistant{grid-column:2}}
@media(max-width:800px){#kw-writing .kw-grid{grid-template-columns:minmax(0,1fr)}#kw-writing .kw-context,#kw-writing .kw-main,#kw-writing .kw-assistant{grid-column:1}#kw-writing .kw-main,#kw-writing .kw-grid aside{padding:16px}#kw-writing .kw-save-state{width:100%;margin:4px 0 0}#kw-writing .kw-editor{min-height:340px;height:55vh}#kw-writing .kw-title-input{font-size:20px}}
