@font-face{font-family:'IBM Plex Sans';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
/* Sources: Lobewise site/index.html and Brand/Brand basics.md. Semantic derivatives
   provide contrast on paper; the live website dark palette supplies dark surfaces. */
:root,[data-theme=light]{
 color-scheme:light;
 --bg:#f5f2ea;--panel:#fffdf8;--sunk:#eeeae0;--ink:#121214;--ink2:#39372f;--muted:#68645c;--faint:#706b62;
 --line:#c8c2b6;--line2:#ded9ce;--hover:#e9e3d7;--selected:#e5dac4;
 --acc:#865000;--acc-ink:#764500;--acc-soft:#fff0d4;--acc-line:#b78130;--on-acc:#fffdf8;
 --warn:#805000;--warn-bg:#fff0d4;--warn-line:#b78130;
 --bad:#ab3021;--bad-bg:#ffebe5;--bad-line:#d69a8e;--good:#24653c;--good-bg:#e3f1e5;
 --brand-amber:#e8961e;--sans:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
}
[data-theme=dark]{
 color-scheme:dark;
 --bg:#09090a;--panel:#111113;--sunk:#18181b;--ink:#edebe6;--ink2:#d6d2c9;--muted:#aaa69e;--faint:#9a978f;
 --line:#494640;--line2:#32302c;--hover:#252321;--selected:#3c3020;
 --acc:#ffb547;--acc-ink:#ffc778;--acc-soft:#342818;--acc-line:#94703b;--on-acc:#1a1205;
 --warn:#ffbd63;--warn-bg:#342818;--warn-line:#94703b;
 --bad:#ff7a66;--bad-bg:#38201d;--bad-line:#a45b50;--good:#7edb9e;--good-bg:#1b3023;--brand-amber:#ffb547;
}
::selection{background:var(--acc);color:var(--on-acc)}
button:disabled,input:disabled,select:disabled{opacity:.6;cursor:not-allowed}
button,input,select,textarea{accent-color:var(--acc)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.mark,.tag,.btn.primary{color:var(--on-acc)}
.mark{background:var(--brand-amber);color:#1a1205}
.btn.primary:hover{background:var(--acc-ink);color:var(--on-acc)}
.preferences{padding:8px 18px;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}
.preferences select{width:auto;flex:1;min-height:44px}
.chat-library{padding:0 12px 8px;font-size:12px;color:var(--muted)}
.chat-library label{display:block;margin-bottom:5px}
.folder-controls{display:flex;gap:6px;align-items:center}
.folder-controls select{min-width:0;flex:1;min-height:44px}
.folder-controls .btn{min-height:44px;padding:6px;white-space:nowrap}
#folder-edit{width:100%;margin-top:6px;min-height:44px}
#chat-message{font-size:11px;overflow-wrap:anywhere;margin:8px 0}
#chat-message.error,#library-error{color:var(--bad)}
#chat-reload{font-size:11px;min-height:44px;width:100%;justify-content:center}
.rail h6{margin-top:10px;color:var(--muted)}
.rail h6 button{min-height:44px;min-width:60px}
.chat-row{display:flex;gap:4px;align-items:center;margin-bottom:3px}
.chat-item{min-width:0;min-height:44px;flex:1}
.chat-manage{min-width:44px;min-height:44px;justify-content:center;padding:6px}
.chat-empty{font-size:12px;color:var(--muted);padding:8px}
.library-dialog{max-width:520px}
.library-dialog form{min-height:0;display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}
.library-dialog .work-dialog-body{flex:1}
#library-membership{margin-top:18px}
#library-scope{font-size:13px;color:var(--muted)}
#library-error{white-space:pre-wrap;font-size:13px}
.library-dialog::backdrop{background:#0009}
.q .text,.ans{overflow-wrap:anywhere;min-width:0}
@media(max-width:900px){
 .preferences{position:absolute;right:14px;top:10px;padding:0;max-width:170px}
 .preferences label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .brand{padding-right:130px}.preferences select{width:95px}
 #chatToggle{margin-left:auto}.brand>div:nth-child(2){min-width:0}.brand span{display:none}
 .rail>.chat-library{display:none}.rail.chats-open>.chat-library{display:block;padding:8px 14px}
 .rail.chats-open{max-height:65dvh;overflow:auto}.rail.chats-open>.chats{max-height:160px}
 .rail.chats-open>h6{margin-top:0;margin-bottom:0}
}

.chat-backups{display:flex;gap:4px;margin-top:4px}.chat-backups .btn{flex:1;min-width:0;font-size:10px;min-height:44px;justify-content:center;padding:4px}

#chat-save-status{max-width:860px;margin:0 auto 10px}

/* CTO polish (PRA-22): quieter chat controls on desktop pointers; 44px kept for touch/narrow screens. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
 .folder-controls select,.folder-controls .btn,#chat-reload,.chat-backups .btn{min-height:32px}
 .chat-manage{min-width:32px;min-height:32px;border-color:transparent;background:none;color:var(--muted)}
 .chat-row:hover .chat-manage,.chat-manage:focus-visible{border-color:var(--line);color:var(--ink2)}
 .chat-item{padding:7px 10px;min-height:34px}
 .chat-row{margin-bottom:1px}
}
