:root{font-family:system-ui,-apple-system,sans-serif;color:#19302d;background:#f2f4ed;accent-color:#226c5c}*{box-sizing:border-box}body{margin:0 auto;max-width:1200px;padding:28px}header{display:flex;align-items:center;justify-content:space-between}h1{font-size:40px;letter-spacing:-1.5px;margin:4px 0 24px}h2{font-size:23px;margin:0 0 18px}small{font-size:11px;letter-spacing:2px;color:#506760}#connection{border:1px solid #ccd6c6;border-radius:30px;padding:9px 14px;font-size:13px}nav,.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}nav{border-bottom:1px solid #ccd6c6;padding-bottom:18px}button,.upload{border:1px solid #c3cec0;border-radius:9px;background:#fff;color:#19302d;padding:11px 16px;font:inherit;cursor:pointer}button:hover{background:#e5eddf}button.selected,#send,#read{background:#226c5c;color:white;border-color:#226c5c}button:disabled{opacity:.5;cursor:wait}#notice{padding:12px 16px;background:#e3ebdc;border-radius:10px;font-size:14px}#notice.error{background:#fae0da;color:#852d18}main{background:#fffdf8;border:1px solid #d5ddcf;border-radius:18px;margin-top:24px;padding:26px;min-height:500px}.columns{display:grid;grid-template-columns:240px 1fr;gap:32px}aside{border-right:1px solid #d5ddcf;padding-right:22px}.upload{display:block;text-align:center}.upload input{display:block;margin-top:12px;max-width:100%}.muted{font-size:13px;color:#61716b;line-height:1.6}.document,.output{white-space:pre-wrap;line-height:1.8;margin-top:22px;overflow-wrap:anywhere;max-height:65vh;overflow:auto}.compose{display:flex;gap:10px;margin:20px 0}input:not([type=checkbox]):not([type=range]),textarea,select{font:inherit;border:1px solid #c3cec0;border-radius:8px;padding:10px;max-width:100%;background:white;color:#19302d}input{min-width:0}.compose input{flex:1}textarea{width:100%;margin:12px 0;resize:vertical}#documents button{display:block;width:100%;margin:10px 0;text-align:left;overflow-wrap:anywhere}details{margin-top:22px}summary{cursor:pointer}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef2e8;padding:16px;border-radius:10px;font-size:13px}label{font-size:14px}#settingFields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}#settingFields label{display:flex;flex-direction:column;gap:7px}#chat{max-height:45vh;overflow:auto}.bubble{padding:15px;border-radius:10px;margin:12px 0;background:#edf2e8;white-space:pre-wrap;line-height:1.6}.bubble.user{background:#e5efeb}audio{width:100%;margin-top:18px}[hidden]{display:none!important}@media(max-width:700px){body{padding:16px}header{align-items:start}#connection{font-size:10px;padding:7px}h1{font-size:34px}nav{gap:6px}nav button{padding:10px}main{padding:18px}.columns{grid-template-columns:1fr;gap:20px}aside{border-right:0;border-bottom:1px solid #d5ddcf;padding:0 0 18px}#settingFields{grid-template-columns:1fr}.controls button{flex-grow:1}.document{max-height:45vh}}
.vocab-table{border-collapse:collapse;width:100%;font-size:15px}.vocab-table td,.vocab-table th{padding:9px;border-bottom:1px solid #8885;text-align:left}.vocab-table tr:hover{background:#8881}

#documents{max-height:42vh;overflow:auto;margin-top:10px}#documents .doc-row{display:flex;align-items:stretch;gap:5px}#documents .doc-row button:first-child{flex:1;min-width:0;margin:4px 0}#documents .doc-row .doc-delete{width:36px;flex:none;margin:4px 0;text-align:center;background:#fff0ee;color:#912d26;padding:8px}#librarySearch,#articleUrl{width:100%;margin-top:9px}.article-import{margin-top:16px;border-top:1px solid #ccd6c6;padding-top:14px}.article-import button{margin-top:8px}#quizInstructions{display:block;width:100%}

/* LocalAI library bulk management */
.library-tools{display:grid;gap:8px;margin:10px 0}.library-tools input{min-width:0;width:100%;box-sizing:border-box}.library-actions{display:flex;flex-wrap:wrap;gap:6px}.library-actions button{flex:1 1 auto;font-size:.85rem}.doc-row{display:flex;align-items:center;gap:6px}.doc-row .doc-check{flex:0 0 auto;width:17px;height:17px;cursor:pointer;margin:0}.doc-row>button:not(.doc-delete){flex:1;min-width:0;overflow-wrap:anywhere}.doc-row>.doc-delete{flex:0 0 auto}#documents{max-height:min(62vh,680px);overflow-y:auto;overflow-x:hidden}