/* These selectors belong to temporary settings layers; page editors retain their navigation. */
html .lm-settings-dialog.lm-centered-layer,
html #roleCtxBg.lm-centered-layer,
html #rdAvActionBg.lm-centered-layer {
  align-items: center;
  justify-content: center;
  padding: var(--lm-ui-dialog-gutter);
  padding-top: calc(var(--lm-ui-dialog-gutter) + var(--lm-safe-top,0px));
  padding-right: calc(var(--lm-ui-dialog-gutter) + var(--lm-safe-right,0px));
  padding-bottom: calc(var(--lm-ui-dialog-gutter) + var(--lm-safe-bottom,0px));
  padding-left: calc(var(--lm-ui-dialog-gutter) + var(--lm-safe-left,0px));
  background: var(--lm-ui-overlay);
}
html .lm-settings-dialog .lm-centered-panel,
html #roleCtxBg .lm-centered-panel,
html #rdAvActionBg .lm-centered-panel {
  max-width: var(--lm-ui-dialog-width);
  max-height: 100%;
  max-height: min(100%,var(--lm-dialog-legacy-max-height,100%));
  min-height: 0;
  border-radius: var(--lm-ui-radius-dialog);
  overflow-y: auto;
  box-sizing: border-box;
}
html .lm-settings-dialog .lm-sheet-h {
  min-height: var(--lm-ui-row-height);
  height: auto;
  flex: 0 0 auto;
  padding: var(--lm-ui-space-3) var(--lm-ui-space-6);
  font-size: var(--lm-ui-font-section);
  line-height: var(--lm-ui-line);
  text-align: center;
  overflow-wrap: break-word;
}
html .lm-backup-dialog .lm-sheet-h,html .lm-bank-dialog .lm-sheet-h { padding-left: calc(var(--lm-ui-space-6) * 3); padding-right: calc(var(--lm-ui-space-6) * 3); }
html .lm-settings-dialog .lm-sheet-b { min-height: 0; }
html #rdAvActionBg.lm-centered-layer { flex-direction: row; }
html #rdAvActionBg .rd-av-action-overlay { background: transparent; }
html #rdAvActionBg .rd-av-action-sheet { width: 100%; padding-bottom: var(--lm-ui-space-2); }
html .lm-settings-dialog .cst-dlg { display: flex; flex-direction: column; }
html .lm-settings-dialog .cst-dlg-msg { flex: 0 1 auto; min-height: 0; }
html .lm-settings-dialog .cst-dlg-btns { flex: 0 0 auto; }

html[data-lm-theme="clean"] {
  --lm-settings-card-gap: var(--lm-ui-space-3);
  --lm-settings-avatar-surface: var(--lm-ui-input);
  --lm-settings-avatar-text: var(--lm-ui-muted);
  --lm-settings-period: #e85379;
  --lm-settings-period-soft: #fce2e9;
  --lm-settings-ovulation: #7478bf;
  --lm-settings-ovulation-soft: #ececf8;
}
html[data-lm-theme="clean"] .set-group,
html[data-lm-theme="clean"] .set-card,
html[data-lm-theme="clean"] .api-card,
html[data-lm-theme="clean"] .role-card,
html[data-lm-theme="clean"] .rd-menu-card,
html[data-lm-theme="clean"] .lm-mask-role-card,
html[data-lm-theme="clean"] .lm-b-card,
html[data-lm-theme="clean"] .mn-sec {
  border-color: transparent;
  border-radius: var(--lm-ui-radius-group);
  background: var(--lm-ui-surface);
  box-shadow: none;
}
html[data-lm-theme="clean"] .set-item,
html[data-lm-theme="clean"] .rd-menu-item {
  min-height: var(--lm-ui-row-height);
  box-sizing: border-box;
  padding: var(--lm-ui-space-3) var(--lm-ui-space-4);
}
html[data-lm-theme="clean"] .set-item-text,
html[data-lm-theme="clean"] .set-nick,
html[data-lm-theme="clean"] .api-card .aname,
html[data-lm-theme="clean"] .rd-mi-title {
  color: var(--lm-ui-text);
  font-size: var(--lm-ui-font-body);
  overflow-wrap: break-word;
}
html[data-lm-theme="clean"] .set-item-arrow,
html[data-lm-theme="clean"] .rd-mi-arrow,
html[data-lm-theme="clean"] .role-card-dots,
html[data-lm-theme="clean"] .lm-mask-role-dots { color: var(--lm-ui-faint); }
html[data-lm-theme="clean"] .api-card .aurl,
html[data-lm-theme="clean"] .api-card .ainfo,
html[data-lm-theme="clean"] .role-card-desc,
html[data-lm-theme="clean"] .rd-mi-desc,
html[data-lm-theme="clean"] .lm-mask-role-desc,
html[data-lm-theme="clean"] .lm-mask-role-state { color: var(--lm-ui-muted); }
html[data-lm-theme="clean"] .set-avatar,
html[data-lm-theme="clean"] .role-av,
html[data-lm-theme="clean"] .rd-avatar,
html[data-lm-theme="clean"] .lm-mask-role-av,
html[data-lm-theme="clean"] .lm-mask-editor-avatar-preview {
  background: var(--lm-settings-avatar-surface);
  color: var(--lm-settings-avatar-text);
}
html[data-lm-theme="clean"] .role-card:active,
html[data-lm-theme="clean"] .lm-mask-role-card:active { transform: none; background: var(--lm-ui-pressed); }
html[data-lm-theme="clean"] .role-create-input,
html[data-lm-theme="clean"] .role-create-textarea,
html[data-lm-theme="clean"] .mem-vec-sel,
html[data-lm-theme="clean"] .tts-picker-btn {
  border: var(--lm-ui-border-width) solid var(--lm-ui-border);
  border-radius: var(--lm-ui-radius-control);
  background-color: var(--lm-ui-input);
  color: var(--lm-ui-text);
  font-size: var(--lm-ui-font-body);
}
html[data-lm-theme="clean"] .mem-tab { color: var(--lm-ui-muted); background: var(--lm-ui-input); }
html[data-lm-theme="clean"] .mem-tab.active { color: var(--lm-ui-selected-text); background: var(--lm-ui-selected); }
html[data-lm-theme="clean"] .hist-summary { color: var(--lm-ui-text); background: var(--lm-ui-input); border-left-color: var(--lm-ui-border); }
html[data-lm-theme="clean"] .hist-date,
html[data-lm-theme="clean"] .hist-msg-me,
html[data-lm-theme="clean"] .hist-msg-ai { color: var(--lm-ui-text); }
html[data-lm-theme="clean"] .hist-msg-me { background: var(--lm-ui-selected); }
html[data-lm-theme="clean"] .mem-vec-toggle input:checked + .mem-vec-slider { background: var(--lm-ui-toggle-on); }
html[data-lm-theme="clean"] .lm-mask-btn,
html[data-lm-theme="clean"] .lm-b-btn,
html[data-lm-theme="clean"] .lm-bank-btn,
html[data-lm-theme="clean"] .lm-bank-dialog .lm-btn {
  min-height: var(--lm-ui-control-height);
  border-radius: var(--lm-ui-radius-control);
  background: var(--lm-ui-selected);
  color: var(--lm-ui-selected-text);
}
html[data-lm-theme="clean"] .lm-mask-btn.ghost,
html[data-lm-theme="clean"] .lm-bank-btn.ghost,
html[data-lm-theme="clean"] .lm-bank-dialog .lm-btn.ghost { background: var(--lm-ui-input); color: var(--lm-ui-muted); }
html[data-lm-theme="clean"] .lm-mask-item.on { background: var(--lm-ui-selected); border-color: var(--lm-ui-border); }
html[data-lm-theme="clean"] .mn-day.period,
html[data-lm-theme="clean"] .mn-i-period { background: var(--lm-settings-period); }
html[data-lm-theme="clean"] .mn-day.predicted,
html[data-lm-theme="clean"] .mn-i-pred { background: var(--lm-settings-period-soft); color: var(--lm-settings-period); }
html[data-lm-theme="clean"] .mn-day.ovulation { background: var(--lm-settings-ovulation-soft); color: var(--lm-settings-ovulation); }
html[data-lm-theme="clean"] .mn-day.ovulation-day { box-shadow: inset 0 0 0 var(--lm-ui-border-width) var(--lm-settings-ovulation); }
html[data-lm-theme="clean"] .mn-i-ovu { background: var(--lm-settings-ovulation); }
html[data-lm-theme="clean"] .mn-ico { background: var(--lm-ui-input); }
html[data-lm-theme="clean"] .mn-ico svg,
html[data-lm-theme="clean"] .lm-bank-bill-ic svg { stroke: var(--lm-ui-text); }

/* Approved settings home; original page builders and routing remain unchanged. */
#app:has(#set-main){--settings-page:var(--t-page,#f5f6f7);--settings-paper:var(--t-card,#fff);--settings-text:var(--lm-app-text,#2d343a);--settings-muted:var(--lm-app-muted,#7a858e);--settings-line:var(--t-border,#dce1e5);--settings-gutter:22px;--settings-section-gap:23px;--settings-row-height:64px;--settings-gap:15px;--settings-row-side:16px;--settings-row-pad:15px;--settings-font:var(--lm-app-font-control,13px);--settings-label-font:var(--lm-app-font-small,10px);--settings-radius:var(--lm-app-radius-control,10px);--settings-icon-size:32px;--settings-arrow-size:16px;--settings-header-height:56px;--settings-header-edge:12px;--settings-hit:44px;--settings-title-font:var(--lm-app-font-section,16px);--settings-back-font:25px;--settings-create-size:30px;--settings-content-top:20px;--settings-content-bottom:30px;--settings-label-gap:8px;--lm-safe-header-height:var(--settings-header-height)}
#app:has(#set-main) #app-bar{display:grid;grid-template-columns:var(--settings-hit) minmax(0,1fr) var(--settings-hit);align-items:center;height:calc(var(--settings-header-height) + var(--lm-safe-top,0px));padding:var(--lm-safe-top,0px) max(var(--settings-header-edge),var(--lm-safe-right,0px)) 0 max(var(--settings-header-edge),var(--lm-safe-left,0px));box-sizing:border-box;background:var(--settings-page);border-bottom:1px solid var(--settings-line)}
#app:has(#set-main) #app-title{position:static;min-width:0;color:var(--settings-text);font-size:var(--settings-title-font);text-align:center;line-height:1.4}
#app:has(#set-main) #app-back,#app:has(#set-main) #app-header-plus{width:var(--settings-hit);height:var(--settings-hit);padding:0;margin:0;color:var(--settings-text);line-height:var(--settings-hit);text-align:center}
#app:has(#set-main) #app-back{font-size:var(--settings-back-font)}
#app:has(#set-main) #app-header-plus{font-size:0;line-height:0;position:relative}
#app:has(#set-main) #app-header-plus::after{content:'';display:block;position:absolute;inset:0;width:var(--settings-create-size);height:var(--settings-create-size);margin:auto;background:currentColor;mask:url("chat-icons/settings-create.svg") center/contain no-repeat;-webkit-mask:url("chat-icons/settings-create.svg") center/contain no-repeat}
html #set-main .set-content-plain{padding:var(--settings-content-top) var(--settings-gutter) calc(var(--settings-content-bottom) + var(--lm-safe-bottom,0px));background:var(--settings-page)}
html #set-main .settings-home-section{margin:0 0 var(--settings-section-gap)}
html #set-main .settings-home-group-title{font-size:var(--settings-label-font);color:var(--settings-muted);font-weight:400;line-height:1.6;margin:0 0 var(--settings-label-gap);letter-spacing:0}
html #set-main .set-group{margin:0;padding:0;border:1px solid var(--settings-line);border-radius:var(--settings-radius);background:var(--settings-paper);box-shadow:none;overflow:hidden}
html #set-main .set-item{display:grid;grid-template-columns:var(--settings-icon-size) minmax(0,1fr) var(--settings-arrow-size);align-items:center;gap:var(--settings-gap);min-height:var(--settings-row-height);padding:var(--settings-row-pad) var(--settings-row-side)}
html #set-main .set-item-text{min-width:0;font-size:var(--settings-font);line-height:1.6;color:var(--settings-text);overflow-wrap:anywhere}
html #set-main .set-item+.set-item{border-top:1px solid var(--settings-line)}
html #set-main .set-item-icon{width:var(--settings-icon-size);height:var(--settings-icon-size);margin:0;color:var(--settings-text)}
html #set-main .settings-home-symbol{display:block;width:100%;height:100%;color:var(--settings-text);background:currentColor;mask:var(--settings-symbol) center/contain no-repeat;-webkit-mask:var(--settings-symbol) center/contain no-repeat}
html #set-main .set-item-arrow{width:var(--settings-arrow-size);height:var(--settings-arrow-size);margin:0;background:currentColor;color:var(--settings-muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
#app:has(#set-main),#app:has(#set-main) *{scrollbar-width:none}
#app:has(#set-main)::-webkit-scrollbar,#app:has(#set-main) *::-webkit-scrollbar{display:none}
html #set-main .set-item[data-sub="theme"]{--settings-symbol:url("chat-icons/settings-theme.svg")}
html #set-main .set-item[data-sub="lock"]{--settings-symbol:url("chat-icons/settings-lock.svg")}
html #set-main .set-item[data-sub="notification"]{--settings-symbol:url("chat-icons/通知与交互.svg")}
html #set-main .set-item[data-sub="api"]{--settings-symbol:url("chat-icons/settings-api.svg")}
html #set-main .set-item[data-sub="prompt"]{--settings-symbol:url("chat-icons/settings-prompt.svg")}
html #set-main .set-item[data-sub="role"]{--settings-symbol:url("chat-icons/settings-role.svg")}
html #set-main .set-item[data-sub="mask"]{--settings-symbol:url("chat-icons/settings-mask.svg")}
html #set-main .set-item[data-sub="voice"]{--settings-symbol:url("chat-icons/settings-voice.svg")}
html #set-main .set-item[data-sub="mcp"]{--settings-symbol:url("chat-icons/settings-mcp.svg")}
html #set-main .set-item[data-sub="backup"]{--settings-symbol:url("chat-icons/settings-backup.svg")}
html #set-main .set-item[data-sub="data-manager"]{--settings-symbol:url("chat-icons/settings-data.svg")}
