/* Quiet paper navigation. Layout and swipe transforms remain owned by app.css. */
#sidebar {
 --side-paper:color-mix(in srgb,var(--bg) 35%,var(--card));
 --side-selected:color-mix(in srgb,var(--accent) 13%,var(--side-paper));
 --side-hover:color-mix(in srgb,var(--text) 4%,var(--side-paper));
 background:var(--side-paper); border-right:1px solid var(--line-soft);
 border-radius:0 26px 26px 0; box-shadow:8px 0 30px rgba(0,0,0,.045);
 font-family:'CustomUserFont',-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;
}
#sidebar .sidebar-header { min-height:0; padding:calc(16px + var(--safe-top)) 20px 14px; border:0; gap:6px; align-items:flex-start; }
#sidebar .sidebar-brand { min-width:0; flex:1; }
#sidebar .sidebar-brand-mark { width:28px; height:28px; margin-bottom:18px; display:block; color:var(--accent); }
#sidebar .sidebar-title { font-family:inherit; font-size:19px; letter-spacing:1px; font-weight:650; }
#sidebar .sidebar-date { margin-top:7px; font-size:10px; color:var(--text3); }
#sidebar .sidebar-close { display:grid; width:28px; height:28px; margin:0; border-radius:9px; }
#sidebar .sidebar-close svg { width:17px; height:17px; }
#sidebar .sidebar-main { padding:0 16px 12px; gap:14px; }
#sidebar .sidebar-section { border:0; padding:0; }
#sidebar .sidebar-section-heading { min-height:32px; padding:0 10px; margin-bottom:7px; }
#sidebar .sidebar-section-name { font-size:10px; color:var(--text3); font-weight:500; letter-spacing:.5px; }
#sidebar .sidebar-section-count { margin-left:5px; font-size:9px; }
#sidebar .sidebar-section-action,#sidebar .sidebar-mini-btn { width:28px; height:28px; flex-basis:28px; border-radius:9px; }
#sidebar .sidebar-assistant-current { margin:0; padding:10px; min-height:84px; border-radius:15px; background:transparent; gap:9px; }
#sidebar .sidebar-assistant-avatar { width:64px; height:64px; flex:0 0 64px; font-size:24px; }
#sidebar .sidebar-current-body { min-width:0; }
#sidebar .sidebar-current-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#sidebar .sidebar-add-assistant { display:flex; align-items:center; gap:9px; width:100%; min-height:40px; padding:8px 12px; color:var(--text3); font-size:12px; border-radius:12px; }
#sidebar .sidebar-add-assistant svg { width:16px; height:16px; }
#sidebar .sidebar-add-assistant:hover { background:var(--side-hover); }
#sidebar .sidebar-current-name { font-family:inherit; font-size:14px; font-weight:600; }
#sidebar .sidebar-current-note { display:none; }
#sidebar .conv-avatar { border:0; box-shadow:none; background:color-mix(in srgb,var(--accent) 8%,var(--side-paper)); color:var(--text2); }
#sidebar .sidebar-conv-item { margin:0 0 6px; padding:10px 12px; border:0; border-radius:15px; box-shadow:none; gap:10px; background:transparent; }
#sidebar .sidebar-conv-item:hover { background:var(--side-hover); }
#sidebar .sidebar-conv-item.active,#sidebar .sidebar-conv-item:active { background:var(--side-selected); box-shadow:none; }
#sidebar .sidebar-recent-item { min-height:62px; }
#sidebar .sidebar-recent-open { gap:11px; min-width:0; min-height:42px; padding:0; }
#sidebar .sidebar-nav-icon { width:19px; height:19px; flex:0 0 19px; color:var(--text3); }
#sidebar .active .sidebar-nav-icon { color:var(--accent); }
#sidebar .sidebar-conv-name { font-size:13px; font-weight:500; color:var(--text2); }
#sidebar .active .sidebar-conv-name { color:var(--text); font-weight:600; }
#sidebar .sidebar-recent-copy { gap:5px; }
#sidebar .sidebar-recent-preview { font-size:10px; color:var(--text3); }
#sidebar .sidebar-recent-time { font-size:9px; color:var(--text3); }
#sidebar .sidebar-recent-more { width:26px; height:30px; flex:0 0 26px; border-radius:9px; }
#sidebar #sidebar-recent-list { padding:0 0 6px; }
#sidebar .sidebar-archive-section { padding-top:4px; }
#sidebar .sidebar-archive-section .sidebar-section-heading { padding:0; margin:0; }
#sidebar .sidebar-section-toggle { min-height:44px; padding:0 12px; border-radius:13px; gap:11px; justify-content:flex-start; }
#sidebar .sidebar-section-toggle .sidebar-section-name { flex:1; font-size:12px; color:var(--text2); letter-spacing:0; }
#sidebar .sidebar-section-toggle > .sidebar-nav-icon { width:19px; height:19px; transform:none; }
#sidebar .sidebar-section-toggle.open { background:var(--side-hover); }
#sidebar .sidebar-archive-search { margin:10px 0; border-radius:12px; background:var(--side-hover); }
#sidebar .sidebar-archive-item::before { display:none; }
#sidebar .sidebar-archive-empty { border:0; }
#sidebar .sidebar-footer { flex:0 0 auto; padding:10px 16px calc(8px + var(--safe-bottom)); }
#sidebar #sidebar-user-profile { border:0; padding:0; }
#sidebar .sidebar-user-card { padding:6px; border:0; border-radius:15px; background:transparent; min-height:60px; gap:8px; }
#sidebar .sidebar-user-identity { display:flex; align-items:center; gap:12px; flex:1; min-width:0; padding:4px; color:var(--text); text-align:left; border-radius:12px; }
#sidebar .sidebar-user-identity:hover { background:var(--side-hover); }
#sidebar .sidebar-user-avatar { width:42px; height:42px; flex:0 0 42px; font-size:16px; }
#sidebar .sidebar-user-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#sidebar .sidebar-settings-button { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; color:var(--text3); border-radius:10px; }
#sidebar .sidebar-settings-button:hover { background:var(--side-hover); }
#sidebar .sidebar-settings-button svg { width:21px; height:21px; }
#sidebar .sidebar-theme-button { display:flex; align-items:center; justify-content:center; gap:5px; flex:0 0 auto; width:auto; min-height:28px; margin:0; padding:0 3px; border-radius:10px; color:var(--text3); }
#sidebar .sidebar-theme-button svg { width:12px; height:12px; }
#sidebar .sidebar-theme-track { width:27px; height:16px; border-radius:20px; background:var(--line-soft); padding:2px; }
#sidebar .sidebar-theme-track::before { content:''; display:block; width:12px; height:12px; border-radius:50%; background:var(--card); box-shadow:0 1px 3px rgba(0,0,0,.12); transition:transform .2s; }
[data-theme="dark"] #sidebar .sidebar-theme-track { background:var(--accent-dim); }
[data-theme="dark"] #sidebar .sidebar-theme-track::before { transform:translateX(11px); }
#sidebar button:focus-visible,#sidebar .sidebar-user-card:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(min-width:900px){#sidebar{border-radius:0;box-shadow:none;}#sidebar .sidebar-header{padding-top:22px;}#sidebar #btn-sidebar-close{display:none;}}
@media(max-height:600px){#sidebar .sidebar-header{padding-top:calc(10px + var(--safe-top));padding-bottom:10px;}#sidebar .sidebar-brand-mark{margin-bottom:8px;width:22px;height:22px;}#sidebar .sidebar-main{gap:6px;}#sidebar .sidebar-footer{padding-top:4px;padding-bottom:calc(6px + var(--safe-bottom));}#sidebar .sidebar-recent-section{min-height:64px;}}
@media(prefers-reduced-motion:reduce){#sidebar .sidebar-theme-track::before{transition:none;}}

#page-settings .settings-page-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
#page-assistant-settings .settings-page-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
#page-assistant-settings #tools-board { padding:0; overflow:visible; width:100%; }
.settings-save-hint { padding-top:7px; text-align:center; font-size:12px; color:var(--text3); }
.settings-save-hint[hidden] { display:none; }
