/* iOS-style grouped settings with system colors, native-sized controls and large titles. */
:is(#page-settings,#page-assistant-settings).settings-studio {
    --settings-bg:#f2f2f7; --settings-card:#fff; --settings-ink:#1c1c1e;
    --settings-secondary:#707075; --settings-fill:#e9e9ee; --settings-line:#d1d1d6;
    --settings-accent:#007aff; --settings-accent-fill:#e8f2ff;
    --settings-action:#007aff; --settings-action-ink:#fff; --settings-switch:#34c759;
    --settings-switch-off:#e5e5ea; --settings-danger:#ff3b30;
    --page-back-ink:#007aff; --page-back-active:#e8f2ff;
    background:var(--settings-bg); color:var(--settings-ink);
    font-family:'CustomUserFont',-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue','Noto Sans CJK SC',sans-serif;
    letter-spacing:0;
}
[data-theme="dark"] :is(#page-settings,#page-assistant-settings).settings-studio {
    --settings-bg:#000; --settings-card:#1c1c1e; --settings-ink:#f2f2f7;
    --settings-secondary:#a1a1a6; --settings-fill:#2c2c2e; --settings-line:#38383a;
    --settings-accent:#0a84ff; --settings-accent-fill:#122b48;
    --settings-action:#0a84ff; --settings-action-ink:#fff; --settings-switch:#30d158;
    --settings-switch-off:#39393d; --settings-danger:#ff453a;
    --page-back-ink:#0a84ff; --page-back-active:#122b48;
}
:is(#page-settings,#page-assistant-settings).settings-studio [hidden] { display:none !important; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(button,input,select,textarea) { font-family:inherit; letter-spacing:0; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(button,input,select,textarea,[role="switch"]):focus-visible { outline:2px solid var(--settings-accent); outline-offset:3px; }
:is(#page-settings,#page-assistant-settings).settings-studio > .topbar { min-height:calc(44px + env(safe-area-inset-top,0px)); height:auto; padding:env(safe-area-inset-top,0px) 8px 0; border:0; background:var(--settings-bg); }
:is(#page-settings,#page-assistant-settings).settings-studio > .topbar .app-page-back { display:flex; gap:4px; width:auto; min-width:44px; padding:0 8px; }
:is(#page-settings,#page-assistant-settings).settings-studio > .topbar .topbar-title { position:static; transform:none; margin-left:0; text-align:left; font-family:inherit; font-size:17px; font-weight:400; color:var(--settings-accent); }
:is(#page-settings,#page-assistant-settings).settings-studio > .scroll-area { padding:0; background:transparent; scroll-padding-top:16px; scroll-padding-bottom:24px; overscroll-behavior:contain; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-intro { width:min(704px,100%); min-height:78px; padding:8px 20px 20px; margin:0 auto; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-intro h1 { margin:0; color:var(--settings-ink); font-size:34px; font-weight:700; letter-spacing:-.8px; line-height:1.2; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-home { width:min(704px,100%); margin:0 auto; padding:0 16px calc(32px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; gap:28px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-group { overflow:hidden; border-radius:24px; background:var(--settings-card); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-row { position:relative; display:flex; align-items:center; gap:14px; width:100%; min-height:56px; padding:11px 16px; border:0; background:transparent; color:var(--settings-ink); text-align:left; cursor:pointer; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-row + .settings-category-row::before { content:""; position:absolute; top:0; left:61px; right:16px; height:1px; transform:scaleY(.5); background:var(--settings-line); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-row:active { background:var(--settings-fill); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-icon { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:7px; color:#fff; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-icon svg { width:21px; height:21px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-blue { background:#007aff; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-red { background:#ff3b30; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-gray { background:#8e8e93; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-label { flex:1; min-width:0; font-size:17px; font-weight:400; line-height:1.35; overflow-wrap:anywhere; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-chevron { display:flex; flex:0 0 12px; color:#c5c5c7; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-category-chevron svg { width:12px; height:18px; stroke-width:3; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-card { display:flex; align-items:center; gap:14px; width:100%; padding:20px 16px; border:0; border-radius:24px; background:var(--settings-card); color:var(--settings-ink); text-align:left; cursor:pointer; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-card:active { background:var(--settings-fill); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-avatar { display:grid; place-items:center; flex:0 0 60px; width:60px; height:60px; overflow:hidden; border-radius:50%; background:#a9abb2; color:white; font-size:26px; font-weight:500; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-avatar img { width:100%; height:100%; object-fit:cover; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:5px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:21px; font-weight:500; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-account-copy small { font-size:13px; line-height:1.4; color:var(--settings-secondary); }
[data-theme="dark"] :is(#page-settings,#page-assistant-settings).settings-studio .settings-category-chevron { color:#636366; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-list { width:min(704px,100%); margin:0 auto; padding:0 16px 28px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-edit-section { gap:24px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-section { padding:16px; overflow:hidden; background:var(--settings-card); border:0; border-radius:12px; box-shadow:none; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-edit-section > .settings-section + .settings-section { padding-top:16px; border-top:0; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-section-title { padding:0; color:var(--settings-ink); font-family:inherit; font-size:15px; font-weight:600; line-height:1.45; letter-spacing:0; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-section-heading { align-items:center; gap:12px; margin-bottom:12px; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.settings-section-note,.settings-row-description) { color:var(--settings-secondary); font-size:11px; line-height:1.65; margin-top:5px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row [style*="var(--text3)"] { color:var(--settings-secondary) !important; line-height:1.55; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.settings-row,.settings-field-row) { min-height:58px; padding:13px 0; gap:12px; border-top:1px solid var(--settings-line); background:transparent; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-section-title + :is(.settings-row,.settings-field-row) { margin-top:12px; border-top-color:var(--settings-line); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row:last-child { padding-bottom:1px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row:active { background:color-mix(in srgb,var(--settings-fill) 60%,transparent); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row > :is(div,span) { min-width:0; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row-label { color:var(--settings-ink); font-size:16px; font-weight:400; line-height:1.45; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row-value { max-width:45%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--settings-secondary); font-size:12px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-chevron { flex-shrink:0; color:var(--settings-secondary); width:16px; height:16px; opacity:.7; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row-icon { display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; border:0; border-radius:7px; background:var(--settings-icon-bg,var(--settings-fill)) !important; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row-icon svg { width:19px; height:19px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-icon-sky { --settings-icon-bg:#5856d6; color:#fff; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-icon-blue { --settings-icon-bg:#007aff; color:#fff; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-icon-pink { --settings-icon-bg:#ff2d55; color:#fff; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-icon-orange { --settings-icon-bg:#ff9500; color:#fff; }
#page-settings.settings-studio .settings-app-lock-symbol { flex-shrink:0; width:35px; height:35px; color:var(--settings-accent); background:var(--settings-accent-fill); border-radius:11px; }
#page-settings.settings-studio .settings-app-lock-copy strong { font-size:14px; font-weight:500; color:var(--settings-ink); }
#page-settings.settings-studio .settings-app-lock-copy small { font-size:11px; color:var(--settings-secondary); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-row-actions { gap:8px; }
#btn-reset-font { display:block; min-height:44px; width:100%; text-align:left; font-size:15px; }
#btn-reset-font:disabled { opacity:.45; }
:is(#page-settings,#page-assistant-settings).settings-studio #user-message-time-row .settings-row-icon { display:none; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.field-input,.field-textarea,.edit-sheet-input,.edit-sheet-textarea) { border:1px solid transparent; border-radius:9px; background:var(--settings-fill); color:var(--settings-ink); font-size:16px; box-shadow:none; }
:is(#page-settings,#page-assistant-settings).settings-studio .field-input { min-height:44px; padding:11px 12px; }
:is(#page-settings,#page-assistant-settings).settings-studio .field-input::placeholder { color:var(--settings-secondary); }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.field-input,.field-textarea,.edit-sheet-input):focus { border-color:color-mix(in srgb,var(--settings-accent) 55%,var(--settings-line)); box-shadow:0 0 0 3px color-mix(in srgb,var(--settings-accent) 10%,transparent); }
:is(#page-settings,#page-assistant-settings).settings-studio .field-label { color:var(--settings-secondary); font-size:12px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-single-control { border:0; margin-top:10px; padding:0; min-height:44px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-single-control .field-input { max-width:none; width:100%; background:transparent; color:var(--settings-accent); padding:6px 0; min-height:36px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-add-button { flex-shrink:0; min-height:36px; border:0; padding:8px 12px; border-radius:8px; background:transparent; color:var(--settings-accent); font-size:15px; font-weight:400; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-list { gap:9px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider { border:0; border-radius:10px; background:var(--settings-card); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-head { min-height:58px; padding:12px; color:var(--settings-ink); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-head strong { font-size:14px; font-weight:550; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.settings-provider-head small,.settings-provider-model small) { color:var(--settings-secondary); font-size:10px; margin-top:2px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-chevron { color:var(--settings-secondary); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider.open .settings-provider-chevron { color:var(--settings-accent); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-body { padding:5px 7px 7px; border-color:var(--settings-line); background:var(--settings-card); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-model { min-height:46px; border-radius:10px; color:var(--settings-ink); padding:8px 10px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-model strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:500; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-model.active { background:var(--settings-accent-fill); color:var(--settings-accent); }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.settings-provider-model.active small,.settings-model-check,.settings-provider-edit,.settings-text-button) { color:var(--settings-accent); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-edit { min-height:38px; margin:5px 5px 0 auto; padding:8px 4px; font-size:11px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-empty { color:var(--settings-secondary); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-provider-empty.standalone { border-color:var(--settings-line); border-radius:14px; background:var(--settings-fill); padding:22px 12px; font-size:12px; }
:is(#page-settings,#page-assistant-settings).settings-studio .toggle { flex:0 0 auto; width:50px; height:30px; border:0; border-radius:999px; background:var(--settings-switch-off); box-shadow:inset 0 0 0 1px #00000003; }
:is(#page-settings,#page-assistant-settings).settings-studio .toggle::after { top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 2px 4px #3b33252b; transition:transform .2s ease; }
:is(#page-settings,#page-assistant-settings).settings-studio .toggle.on { background:var(--settings-switch); }
:is(#page-settings,#page-assistant-settings).settings-studio .toggle.on::after { transform:translateX(20px); }
:is(#page-settings,#page-assistant-settings).settings-studio input[type="range"] { accent-color:var(--settings-accent); }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.settings-range-row,.settings-avatar-mode-row) { border-color:var(--settings-line); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-range-row :is(label,output), :is(#page-settings,#page-assistant-settings).settings-studio .settings-avatar-mode-row > span { color:var(--settings-secondary); }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.format-picker,.settings-avatar-mode-picker) { border:0; border-radius:11px; padding:4px; background:var(--settings-fill); }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.format-btn,.settings-avatar-mode-picker button) { border-radius:8px; color:var(--settings-secondary); }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.format-btn.active,.settings-avatar-mode-picker button.active) { background:var(--settings-card); color:var(--settings-ink); box-shadow:0 1px 4px #3e33280d; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-inline-button { min-height:34px; border:0; border-radius:11px; background:var(--settings-fill); color:var(--settings-ink); }
:is(#page-settings,#page-assistant-settings).settings-studio .modal-btn.secondary { min-height:38px; border:0; border-radius:12px; background:var(--settings-fill); color:var(--settings-ink); }
:is(#page-settings,#page-assistant-settings).settings-studio .fontsize-controls { display:flex; align-items:center; gap:6px; padding:3px; background:var(--settings-fill); border-radius:999px; }
:is(#page-settings,#page-assistant-settings).settings-studio .fontsize-btn { width:38px !important; height:38px !important; border:0; background:var(--settings-card) !important; color:var(--settings-ink) !important; box-shadow:0 1px 4px #3e33280d; }
:is(#page-settings,#page-assistant-settings).settings-studio #fontsize-value { min-width:19px; font-size:13px; color:var(--settings-ink); }
:is(#page-settings,#page-assistant-settings).settings-studio #tools-board { padding:0; overflow:visible; width:100%; }
:is(#page-settings,#page-assistant-settings).settings-studio .tools-section-title { padding:2px 3px 12px; color:var(--settings-secondary); font-size:12px; font-weight:550; letter-spacing:0; text-transform:none; }
:is(#page-settings,#page-assistant-settings).settings-studio .tool-card { min-width:0; gap:12px; padding:17px; margin-bottom:10px; border:0; border-radius:12px; background:var(--settings-card); box-shadow:none; }
:is(#page-settings,#page-assistant-settings).settings-studio .tool-card > div { min-width:0; }
:is(#page-settings,#page-assistant-settings).settings-studio .tool-card-icon { width:34px; height:34px; border:0; border-radius:7px; background:var(--settings-fill) !important; font-size:18px; }
:is(#page-settings,#page-assistant-settings).settings-studio .tool-card-name { color:var(--settings-ink); font-size:14px; font-weight:550; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(.tool-card-desc,.tool-card-meta) { color:var(--settings-secondary); font-size:11px; line-height:1.55; overflow-wrap:anywhere; }
:is(#page-settings,#page-assistant-settings).settings-studio .tool-func-tag { color:var(--settings-accent); background:var(--settings-accent-fill); border-radius:7px; }
:is(#page-settings,#page-assistant-settings).settings-studio .tool-card-manage { color:var(--settings-accent); background:var(--settings-accent-fill); border-radius:10px; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-companion-option { border-color:var(--settings-line); border-radius:15px; background:var(--settings-fill); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-companion-option.active { background:var(--settings-accent-fill); border-color:color-mix(in srgb,var(--settings-accent) 40%,var(--settings-line)); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-companion-option :is(strong,small) { color:var(--settings-ink); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-companion-option small { opacity:.65; }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-page-actions { flex-shrink:0; display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap:6px; padding:12px max(16px,calc((100% - 672px)/2)) calc(12px + env(safe-area-inset-bottom,0px)); background:color-mix(in srgb,var(--settings-bg) 90%,transparent); border-top:1px solid var(--settings-line); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); }
:is(#page-settings,#page-assistant-settings).settings-studio .settings-page-actions .save-btn { width:100%; min-height:47px; margin:0; padding:13px 18px; border:0; border-radius:11px; color:var(--settings-action-ink); background:var(--settings-action); font-size:17px; font-weight:600; box-shadow:none; }
:is(#page-settings,#page-assistant-settings).settings-studio :is(#save-hint,.settings-save-hint) { order:1; margin:0; padding:0; color:var(--settings-secondary) !important; font-size:11px !important; text-align:center; }
:is(#page-settings,#page-assistant-settings).settings-studio #btn-clear-cache { width:100%; min-height:48px; margin:0 !important; padding:13px; border:0 !important; border-radius:12px; background:var(--settings-card) !important; color:var(--settings-danger) !important; font-size:16px; font-weight:500; }
@media(max-width:360px) {
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-intro { padding-inline:20px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-intro h1 { font-size:30px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-section { padding:16px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-edit-section > .settings-section + .settings-section { padding-top:16px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-row { gap:9px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-row-icon { flex-basis:28px; width:28px; height:28px; border-radius:9px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-range-row { grid-template-columns:72px minmax(0,1fr) 39px; gap:7px; }
    :is(#page-settings,#page-assistant-settings).settings-studio .settings-avatar-mode-row { grid-template-columns:72px minmax(0,1fr); gap:7px; }
}
@media(max-height:500px) { :is(#page-settings,#page-assistant-settings).settings-studio .settings-intro { min-height:60px; padding-block:6px 12px; } :is(#page-settings,#page-assistant-settings).settings-studio .settings-page-actions { padding-block:8px; } }
@media(prefers-reduced-motion:reduce) { :is(#page-settings,#page-assistant-settings).settings-studio .toggle::after { transition:none; } }
