/* Inset focus stays inside the field and never crosses its label. */
html body input:not([type=checkbox]):not([type=radio]):not([type=range]):focus-visible,
html body textarea:focus-visible,html body select:focus-visible{outline:none!important;outline-offset:0!important;border-color:var(--acc)!important;box-shadow:inset 0 0 0 1px var(--acc)!important}
html body select option,html body select optgroup{background:var(--card);color:var(--txt)}
#tab-ai .ai-composer{container-type:inline-size;overflow:visible;position:relative}
#tab-ai .ai-composer textarea#aiPrompt{border-radius:10px;line-height:1.6;padding:12px;box-sizing:border-box}
#tab-ai .ai-composer .ai-composer-tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
#tab-ai .ai-composer .ai-mode{display:flex;gap:3px;width:auto;grid-column:auto;padding:3px;border-radius:10px}
#tab-ai .ai-composer .ai-mode button{width:32px;min-width:32px;height:32px;padding:7px;font-size:0;border-radius:8px;display:grid;place-items:center}
#tab-ai .ai-composer .ai-mode svg{width:18px;height:18px}
.nr-models{display:grid;grid-template-columns:115px minmax(110px,1fr) 80px;gap:6px;align-items:center;min-width:0}
#tab-ai .ai-composer #aiModelControl{display:contents!important}
#tab-ai .ai-composer #aiModelControl[hidden]{display:none!important}
#tab-ai .ai-composer #aiProviderSelect,#tab-ai .ai-composer #aiModelSelect,#tab-ai .ai-composer #aiImageRatio{width:100%;max-width:none;min-width:0;height:36px;padding:6px 25px 6px 9px;margin:0;font-size:12px;grid-column:auto;color:var(--txt);background-color:var(--bg);border:1px solid var(--line);border-radius:8px;text-overflow:ellipsis}
#tab-ai .ai-composer #aiReasoningButton{height:36px;width:80px;min-width:0;padding:6px;position:static;font-size:11px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--txt)}
#tab-ai .ai-composer .ai-reasoning-popover{right:12px;bottom:calc(100% + 8px);width:min(310px,90%)}
.nr-actions{display:flex;gap:3px;align-items:center}
#tab-ai .ai-composer .nr-actions button{width:32px;min-width:32px;height:32px;padding:6px}
#tab-ai .ai-composer .nr-actions .ai-send-button{width:36px;min-width:36px;height:36px}
#tab-ai .ai-composer .ai-composer-spacer{display:none}
@container(max-width:720px){#tab-ai .ai-composer .ai-composer-tools{grid-template-columns:1fr auto;gap:8px}.nr-models{grid-column:1/-1;grid-row:2;grid-template-columns:125px minmax(0,1fr) 80px}.nr-actions{grid-column:2;grid-row:1}}
@container(max-width:440px){.nr-models{grid-template-columns:minmax(0,1fr) 90px}#tab-ai .ai-composer #aiProviderSelect{grid-column:1;grid-row:1}#tab-ai .ai-composer #aiModelSelect{grid-column:1/-1;grid-row:2}#tab-ai .ai-composer #aiReasoningButton{grid-column:2;grid-row:1;width:90px}#tab-ai .ai-composer #aiImageRatio{grid-column:1/-1}}
.nr-backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.nr-backup-grid>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg);min-width:0}.nr-backup-grid dt{color:var(--mut);font-size:11px;margin-bottom:7px}.nr-backup-grid dd{margin:0;font-weight:650;font-size:13px;overflow-wrap:anywhere}
.nr-history{margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.nr-history-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.nr-history-list{display:grid;gap:8px;max-height:280px;overflow:auto;margin:12px 0}.nr-history-item{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12px!important;margin:0!important}.nr-history-item input{width:16px;height:16px;margin:2px 0!important}.nr-history-item small{display:block;font-weight:400;color:var(--mut);margin-top:5px;overflow-wrap:anywhere}.nr-history-item:has(input:checked){border-color:var(--acc);background:var(--acc-tint)}
#nrRecoveryStatus{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}
@media(max-width:540px){.nr-backup-grid{grid-template-columns:1fr}.nr-history-head{align-items:flex-start}}
