/* Approved source: E:/KD/弹窗页面修改.pen, SHA256 10c32130fd3e009e6b8aa69b0491345dd30a1ec1b486ad3af015ef8a07a54989.
   Owns only the ten approved popup families. Closed pages and business tokens are untouched. */
html:root body.ui4-app {
  --kp-bg:#fff; --kp-inset:#f4f2f8; --kp-selected:#eee6fa;
  --kp-line:#e3e7ef; --kp-text:#2d2440; --kp-muted:#667085;
  --kp-dim:#697386; --kp-accent:#7c3aed; --kp-on-accent:#fff;
  --kp-mask:rgba(8,7,12,.66); --kp-shadow:0 24px 64px rgba(0,0,0,.22);
  --kp-visible-height:100dvh;
}
html:root[data-theme=dark] body.ui4-app {
  --kp-bg:#201f29; --kp-inset:#1b1a23; --kp-selected:#2a2436;
  --kp-line:#2e2b3a; --kp-text:#f5f3fa; --kp-muted:#b7b0c4;
  --kp-dim:#8e88a0; --kp-accent:#a38af5; --kp-on-accent:#17121f;
  --kp-shadow:0 24px 64px rgba(0,0,0,.55);
}
/* The id list deliberately outranks the retained per-dialog skins, without styling other dialogs. */
html:root body.ui4-app :is(#changePwModal,#scoreHelpModal,#weeklyHelpModal,#changelogModal,#priorityOverlay,#ui4RadarSearchSheet,#ui4RadarSignalSheet,#sheetOverlay).kd-popup-mask {
  box-sizing:border-box!important; padding:48px 16px!important;
  background:var(--kp-mask)!important; backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important; align-items:center!important; justify-content:center!important;
}
html:root body.ui4-app :is(#changePwModal>.kd-popup,#scoreHelpModal>.kd-popup,#weeklyHelpModal>.kd-popup,#changelogModal>.kd-popup,#priorityOverlay>.kd-popup,#sheetOverlay>.kd-popup,#quickPriceAlertMenu.kd-popup,.content-radar-sheet.kd-popup,dialog.kd-popup) {
  box-sizing:border-box!important; width:min(358px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important; min-width:0!important;
  height:fit-content!important; min-height:0!important;
  max-height:min(560px,calc(var(--kp-visible-height) * .7),calc(var(--kp-visible-height) - 96px))!important;
  padding:0!important; margin:0; border:1px solid var(--kp-line)!important; border-radius:16px!important;
  background:var(--kp-bg)!important; color:var(--kp-text)!important; box-shadow:var(--kp-shadow)!important;
  overflow:hidden!important; font-family:'UI4 Noto Sans SC','UI4 Noto SC Extended','Noto Sans SC',sans-serif!important;
  font-size:13px!important; line-height:1.6!important; letter-spacing:0!important;
}
html:root body.ui4-app .kd-popup:not(dialog):not([hidden]),html:root body.ui4-app dialog.kd-popup[open] {display:flex!important;flex-direction:column!important}
html:root body.ui4-app dialog.kd-popup {margin:auto!important;inset:0!important}
html:root body.ui4-app :is(dialog.kd-popup,dialog.kd-help-host)::backdrop {background:var(--kp-mask)!important;backdrop-filter:blur(4px)!important}
html:root body.ui4-app .kd-popup .kd-popup-head {
  box-sizing:border-box!important; position:relative!important; display:flex!important; align-items:center!important;
  justify-content:space-between!important; flex:0 0 60px!important; height:60px!important; min-height:60px!important;
  gap:10px!important; padding:0 20px!important; margin:0!important; border:0!important; background:transparent!important;
}
html:root body.ui4-app .kd-popup .kd-popup-title {
  flex:1!important; min-width:0!important; margin:0!important; padding:0!important;
  color:var(--kp-text)!important; font-size:16px!important; font-weight:600!important;
  line-height:1.4!important; letter-spacing:0!important; text-align:left!important; border:0!important; font-family:inherit!important;
}
html:root body.ui4-app .kd-popup .kd-popup-close {
  box-sizing:border-box!important; position:static!important; display:flex!important; align-items:center!important; justify-content:center!important;
  flex:0 0 44px!important; width:44px!important; height:44px!important; min-width:44px!important; min-height:44px!important;
  padding:12px!important; margin:0!important; border:0!important; border-radius:8px!important;
  color:var(--kp-muted)!important; background:transparent!important; box-shadow:none!important; cursor:pointer;
}
html:root body.ui4-app .kd-popup .kd-popup-close svg {display:block;width:20px!important;height:20px!important;flex:none!important}
html:root body.ui4-app .kd-popup .kd-popup-close:hover {background:var(--kp-inset)!important;color:var(--kp-text)!important}
html:root body.ui4-app .kd-popup .kd-popup-body {
  box-sizing:border-box!important; flex:1 1 auto!important; min-height:0!important; height:auto!important;
  max-height:none!important; overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain;
  padding:0 20px 20px!important; margin:0!important; background:transparent!important; border:0!important;
  color:var(--kp-muted)!important; font-size:13px!important; line-height:1.6!important;
}
html:root body.ui4-app .kd-popup .kd-popup-foot {
  box-sizing:border-box!important; flex:none!important; margin:0!important; padding:0 20px 20px!important;
  display:flex!important; gap:10px!important; background:var(--kp-bg)!important; border:0!important;
}
html:root body.ui4-app .kd-popup .kd-popup-foot>button,html:root body.ui4-app .kd-popup .kd-popup-primary,html:root body.ui4-app .kd-popup .priority-actions>button {
  box-sizing:border-box!important; flex:1!important; min-width:0!important; width:100%!important; height:48px!important; min-height:48px!important;
  padding:0 12px!important; border:0!important; border-radius:12px!important; box-shadow:none!important;
  font-family:inherit!important; font-size:14px!important; font-weight:600!important; line-height:1.4!important;
  background:var(--kp-inset)!important; color:var(--kp-muted)!important; cursor:pointer;
}
html:root body.ui4-app .kd-popup :is(.kd-popup-primary,.approved-settings-save,.priority-save,.quick-alert-submit,.sb-btn.accent) {
  background:var(--kp-accent)!important; color:var(--kp-on-accent)!important;
}
html:root body.ui4-app .kd-popup button:disabled {opacity:.5!important;cursor:not-allowed!important}
html:root body.ui4-app .kd-popup :is(button,input,select):focus-visible {outline:2px solid var(--kp-accent)!important;outline-offset:2px!important}
html:root body.ui4-app .kd-popup :is(input:not([type=checkbox]):not([type=radio]),select,.ui4-approved-select) {
  box-sizing:border-box; min-height:44px; border:1px solid var(--kp-line); border-radius:10px!important;
  background:var(--kp-inset)!important; color:var(--kp-text)!important; font-family:inherit!important; font-size:13px!important;
}
html:root body.ui4-app .kd-popup :is(.kd-popup-inset,.prototype-group) {
  background:var(--kp-inset)!important; color:var(--kp-muted)!important; border:0!important; border-radius:10px!important;
}
html:root body.ui4-app .kd-popup .kd-popup-body :is(p,small,label,legend) {font-size:max(12px,1em)}
html:root body.ui4-app .kd-popup .kd-popup-body :is(h3,h4) {color:var(--kp-dim)!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important}
/* Settings keep their existing populated fields, drafts, saves, and dirty-close guards. */
html:root body.ui4-app dialog.approved-radar-settings.kd-popup .approved-radar-content {display:flex!important;flex-direction:column!important;gap:16px!important}
html:root body.ui4-app dialog.approved-radar-settings.kd-popup [data-pencil-name] {max-width:100%;min-width:0}
html:root body.ui4-app dialog.approved-radar-settings.kd-popup [data-pencil-name*="分段选择"] {border-radius:10px!important;background:var(--kp-inset)!important}
html:root body.ui4-app dialog.approved-radar-settings.kd-popup [aria-pressed=true] {border-radius:10px!important;background:var(--kp-selected)!important;color:var(--kp-accent)!important}
html:root body.ui4-app dialog.approved-radar-settings.kd-popup .settings-center__state {flex:none;margin:0 20px 12px;font-size:12px}
/* Three true bottom sheets; the design's 390px is the reference viewport, not a desktop fixed width. */
@media(max-width:900px) {
  html:root body.ui4-app :is(#ui4RadarSearchSheet,#ui4RadarSignalSheet,#sheetOverlay).kd-popup-mask {padding:48px 0 0!important;align-items:flex-end!important}
  html:root body.ui4-app :is(#ui4RadarSearchSheet,#ui4RadarSignalSheet)>.content-radar-sheet.kd-popup,
  html:root body.ui4-app #sheetOverlay>.sheet.kd-popup {width:100%!important;max-width:100%!important;border-radius:16px 16px 0 0!important;margin:0!important}
  html:root body.ui4-app .kd-popup-sheet .kd-popup-foot {padding-bottom:max(20px,env(safe-area-inset-bottom,0px))!important}
}
html:root body.ui4-app .kd-popup .kd-popup-handle {display:flex!important;align-items:center;justify-content:center;flex:0 0 20px;height:20px;padding:0!important;margin:0!important;background:none!important}
html:root body.ui4-app .kd-popup .kd-popup-handle::before {content:'';display:block;width:32px;height:4px;border-radius:2px;background:#463f57}
html:root:not([data-theme=dark]) body.ui4-app .kd-popup .kd-popup-handle::before {background:#c8c5d1}
html:root body.ui4-app :is(#ui4RadarSearchSheet,#ui4RadarSignalSheet) .kd-popup-body {padding-top:8px!important}
html:root body.ui4-app #ui4RadarSearchSheet .kdr-search-input-row {border:1px solid var(--kp-line)!important;border-radius:10px!important;background:var(--kp-inset)!important;height:48px!important}
html:root body.ui4-app #ui4RadarSearchSheet #kdrSearch {border:0!important;background:transparent!important;box-shadow:none!important}
html:root body.ui4-app #ui4RadarSearchSheet .kd-popup-markets {display:flex;gap:4px;padding:4px;background:var(--kp-inset);border-radius:10px;margin:14px 0}
html:root body.ui4-app #ui4RadarSearchSheet .kd-popup-markets button {flex:1;min-width:0;min-height:44px;padding:0 4px;border:0;border-radius:8px;background:transparent;color:var(--kp-muted);font:inherit}
html:root body.ui4-app #ui4RadarSearchSheet .kd-popup-markets [aria-pressed=true] {background:var(--kp-selected)!important;color:var(--kp-accent)!important}
html:root body.ui4-app #ui4RadarSearchSheet :is(.content-radar-search-label,.content-radar-search-hint) {color:var(--kp-dim)!important;font-size:12px!important;line-height:1.6}
html:root body.ui4-app #ui4RadarSignalSheet .content-radar-signal {box-sizing:border-box;min-height:56px!important;height:56px!important;padding:0 12px!important;margin:0 0 4px!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:var(--kp-muted)!important;font-size:13px!important}
html:root body.ui4-app #ui4RadarSignalSheet .content-radar-signal[aria-checked=true] {background:var(--kp-selected)!important;border-color:var(--kp-accent)!important;color:var(--kp-accent)!important}
html:root body.ui4-app #ui4RadarSignalSheet .content-radar-signal i {box-sizing:border-box;width:16px!important;height:16px!important;border:1px solid var(--kp-dim)!important;border-radius:50%;background:transparent!important;flex:none}
html:root body.ui4-app #ui4RadarSignalSheet .content-radar-signal[aria-checked=true] i {border-color:var(--kp-accent)!important;box-shadow:inset 0 0 0 4px var(--kp-selected);background:var(--kp-accent)!important}
html:root body.ui4-app #ui4RadarSignalSheet .content-radar-signal b {margin-left:auto;font:12px 'JetBrains Mono',Consolas,monospace!important;color:inherit!important}
/* Anchored quick panel remains 328px and retains the existing positioning code. */
html:root body.ui4-app #quickPriceAlertMenu.kd-popup {width:min(328px,calc(100vw - 32px))!important}
html:root body.ui4-app #quickPriceAlertMenu.kd-popup::before {display:none!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-head {margin:0!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-identity {display:flex!important;align-items:center;gap:10px;padding:0!important;min-width:0}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-icon {display:flex!important;width:28px;height:28px;flex:none;align-items:center;justify-content:center;background:var(--kp-selected);color:var(--kp-accent);border-radius:8px}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-icon svg {width:16px;height:16px}
html:root body.ui4-app #quickPriceAlertMenu #quickPriceAlertName {font-size:14px!important;font-weight:600!important;color:var(--kp-text)!important}
html:root body.ui4-app #quickPriceAlertMenu :is(#quickPriceAlertCode,.ui4-alert-identity-meta) {display:block!important;font-size:12px!important;color:var(--kp-dim)!important}
html:root body.ui4-app #quickPriceAlertMenu:has(.ui4-alert-identity-meta) #quickPriceAlertCode {display:none!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-form {gap:14px!important}
html:root body.ui4-app #quickPriceAlertMenu :is(.quick-alert-current,.quick-alert-levels) {margin-bottom:14px!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-levels-head {display:flex!important;font-size:12px;color:var(--kp-dim)}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-levels-head em {margin-left:auto}
html:root body.ui4-app #quickPriceAlertMenu :is(.quick-alert-price,.quick-alert-sources button,.quick-alert-direction button,.kd-approved-trigger-button) {border-radius:10px!important;background:var(--kp-inset)!important;color:var(--kp-muted)!important;font-size:13px!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-direction button.active {background:var(--kp-selected)!important;color:var(--kp-accent)!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-presets button {height:44px!important;min-height:44px!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-presets {margin-top:8px!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-target {flex:none}
html:root body.ui4-app #quickPriceAlertBackdrop {background:var(--kp-mask)!important;backdrop-filter:blur(4px)!important}
/* Priority and the price-alert stock filter retain every actual stock and their original click handlers. */
html:root body.ui4-app #priorityOverlay .priority-subtitle {margin:0 0 16px!important;font-size:12px!important;line-height:1.6!important;color:var(--kp-muted)!important}
html:root body.ui4-app #priorityOverlay :is(.priority-tools,.priority-summary) {padding:0!important;margin:0 0 12px!important;background:none!important}
html:root body.ui4-app #priorityOverlay .priority-list {padding:0!important;overflow:visible!important;max-height:none!important;flex:none!important}
html:root body.ui4-app #priorityOverlay .priority-tabs {padding:4px!important;background:var(--kp-inset)!important;border-radius:10px!important;gap:2px!important}
html:root body.ui4-app #priorityOverlay .priority-tab {padding:0 4px!important;min-height:44px!important;height:44px!important;min-width:0!important;flex:1!important;border:0!important;border-radius:8px!important;background:transparent!important;font-size:12px!important;color:var(--kp-muted)!important}
html:root body.ui4-app #priorityOverlay .priority-tab.active {background:var(--kp-selected)!important;color:var(--kp-accent)!important}
html:root body.ui4-app #priorityOverlay .priority-search {width:100%!important;margin-top:12px!important;padding:0 12px!important;min-height:44px!important;border:1px solid var(--kp-line)!important}
html:root body.ui4-app #priorityOverlay .priority-row {padding:10px 0!important;min-height:56px!important;border-color:var(--kp-line)!important}
html:root body.ui4-app #priorityOverlay :is(.priority-star,.priority-star-btn,.priority-stars button) {font-size:14px!important;min-width:44px!important;min-height:44px!important}
html:root body.ui4-app #priorityOverlay .priority-foot {flex-direction:column!important;gap:10px!important}
html:root body.ui4-app #priorityOverlay .priority-note {font-size:12px!important;color:var(--kp-dim)!important}
html:root body.ui4-app #priorityOverlay .priority-actions {display:flex!important;gap:10px!important;width:100%!important}
html:root body.ui4-app #sheetOverlay .sheet {transform:none!important;bottom:auto!important}
html:root body.ui4-app #sheetOverlay .sheet-list {padding:0!important;max-height:none!important;overflow:visible!important}
html:root body.ui4-app #sheetOverlay .sheet-item {box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:56px!important;padding:8px 0!important;border-bottom:1px solid var(--kp-line)!important;color:var(--kp-muted)!important;font-size:13px!important}
html:root body.ui4-app #sheetOverlay .sheet-item.selected {color:var(--kp-accent)!important;background:var(--kp-selected)!important;border-radius:10px!important}
html:root body.ui4-app #sheetOverlay .sheet-item .check {margin-left:auto}
html:root body.ui4-app #sheetOverlay .scode {font:12px 'JetBrains Mono',Consolas,monospace!important;color:var(--kp-dim)!important}
html:root body.ui4-app .kd-popup-symbol-search {width:100%;margin:8px 0 12px;padding:0 12px}
html:root body.ui4-app :is(#changePwModal,.kd-password-settings) .form-group {margin:0 0 14px!important}
html:root body.ui4-app :is(#changePwModal,.kd-password-settings) .form-group label {display:block;margin:0 0 6px!important;font-size:12px!important;color:var(--kp-muted)!important}
html:root body.ui4-app :is(#changePwModal,.kd-password-settings) .form-group input {width:100%;height:44px!important;padding:0 12px!important;border:1px solid var(--kp-line)!important}
/* Help content is never shortened: all score thresholds, weekly semantics and release records survive. */
html:root body.ui4-app :is(#scoreHelpModal,#weeklyHelpModal,#changelogModal) .kd-popup-body>div {font-size:13px!important;color:var(--kp-muted)!important;line-height:1.65!important}
html:root body.ui4-app :is(#scoreHelpModal,#weeklyHelpModal,#changelogModal) .kd-popup-inset {padding:12px!important;margin:0 0 14px!important;color:var(--kp-muted)!important;border-radius:10px!important;border-left:0!important;background:var(--kp-inset)!important}
html:root body.ui4-app :is(#scoreHelpModal,#weeklyHelpModal,#changelogModal) .kd-popup-inset>div:first-child {color:var(--kp-dim)!important;font-weight:600!important;font-size:12px!important}
html:root body.ui4-app :is(#scoreHelpModal,#weeklyHelpModal,#changelogModal) .kd-popup-body :is(div,b) {font-size:12px!important}
html:root body.ui4-app .kd-help-host {padding:0!important;border:0!important;margin:auto!important;inset:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;max-width:calc(100vw - 32px)!important;width:358px!important}
html:root body.ui4-app .kd-help-host>:is(h2,button) {display:none!important}
html:root body.ui4-app .kd-help-host :is(#scoreHelpModal,#weeklyHelpModal) {position:static!important;display:block!important;width:100%!important;height:auto!important;inset:auto!important;padding:0!important;background:transparent!important;backdrop-filter:none!important}
html:root body.ui4-app .kd-help-host :is(#scoreHelpModal,#weeklyHelpModal)>.kd-popup {width:100%!important;border-radius:16px!important;background:var(--kp-bg)!important;box-shadow:var(--kp-shadow)!important}
html:root body.ui4-app .kd-help-host :is(#scoreHelpModal,#weeklyHelpModal)>.kd-popup>.kd-popup-head {display:flex!important}
@media(prefers-reduced-motion:reduce) {html:root body.ui4-app .kd-popup,html:root body.ui4-app .kd-popup * {scroll-behavior:auto!important;animation:none!important;transition:none!important}}
html:root body.ui4-app #sheetOverlay .sheet-item[hidden] {display:none!important}
html:root body.ui4-app .kd-password-settings :is(.kd-password-note,.kd-password-state) {margin:0 0 12px;font-size:12px;color:var(--kp-muted)}
html:root body.ui4-app .kd-password-settings .kd-password-state {color:var(--status-negative,#be123c)}

html:root body.ui4-app dialog.approved-radar-settings.kd-popup .approved-radar-content [data-pencil-name^="说明"] {font-size:12px!important}
html:root body.ui4-app #priorityOverlay .kd-popup-body :is(.priority-summary span,.market-pill,.priority-name span) {font-size:12px!important;line-height:1.6!important}
html:root body.ui4-app #priorityOverlay .kd-popup-body .priority-name strong {font-size:13px!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-price {height:56px!important;padding:6px 12px!important}
html:root body.ui4-app #quickPriceAlertMenu #quickPriceAlertPrice {height:44px!important;min-height:44px!important;box-sizing:border-box!important}
html:root body.ui4-app #weeklyHelpModal .kd-weekly-row {display:flex;gap:10px;align-items:flex-start;margin:12px 0;line-height:1.65!important}
html:root body.ui4-app #weeklyHelpModal .kd-weekly-number {flex:none;color:var(--kp-accent)!important;font:12px 'JetBrains Mono',Consolas,monospace}
html:root body.ui4-app #weeklyHelpModal .kd-weekly-copy {flex:1;min-width:0}
html:root body.ui4-app #weeklyHelpModal .kd-weekly-copy b {display:block;color:var(--kp-text)!important;font-size:13px!important;font-weight:600!important}

html:root body.ui4-app #ui4RadarSearchSheet .kdr-ocr-button {height:44px!important;min-height:44px!important;width:44px!important;min-width:44px!important;padding:0!important}
html:root body.ui4-app #quickPriceAlertMenu .quick-alert-direction button {height:44px!important;min-height:44px!important}
html:root body.ui4-app #quickPriceAlertMenu #quickPriceAlertMode {height:44px!important;min-height:44px!important}
html:root body.ui4-app #quickPriceAlertMenu :is(.quick-alert-current>span,.quick-alert-quote-state,#quickPriceAlertCount,#quickPriceAlertPriceLabel,.quick-alert-presets button,.quick-alert-levels-head em,.quick-alert-sources b,.quick-alert-sources small,.quick-alert-level-message) {font-size:12px!important;line-height:1.6!important}

html:root body.ui4-app #quickPriceAlertMenu .quick-alert-actions.kd-popup-foot {border:0!important;padding:0 20px 20px!important}

/* Preserve the newly released KD value editor and all its state/validation; unify its radar shell only. */
html:root body.ui4-app dialog.kdv2-dialog.kd-popup {--v2-surface:var(--kp-bg);--v2-field:var(--kp-inset);--v2-soft:var(--kp-inset);--v2-text:var(--kp-text);--v2-tab-active:var(--kp-accent);--v2-muted:var(--kp-muted);--v2-hint:var(--kp-dim);--v2-border:var(--kp-line);--v2-line:var(--kp-line);--v2-active:var(--kp-selected);--v2-primary:var(--kp-accent);--v2-on-primary:var(--kp-on-accent)}
html:root body.ui4-app dialog.kdv2-dialog.kd-popup .kdv2-body {padding:0 20px!important;min-height:0;overflow:hidden}
html:root body.ui4-app dialog.kdv2-dialog.kd-popup .kdv2-panels.kd-popup-body {padding:0 0 20px!important}
html:root body.ui4-app dialog.kdv2-dialog.kd-popup .kdv2-tabs {height:44px;min-height:44px}
html:root body.ui4-app dialog.kdv2-dialog.kd-popup :is(.kdv2-segment,.kdv2-stepper button) {min-height:44px;min-width:44px}
html:root body.ui4-app dialog.kdv2-dialog.kd-popup :is(.kdv2-segments,.kdv2-select-box,.kdv2-number-box) {border-radius:10px}
html:root body.ui4-app dialog.kdv2-dialog.kd-popup .kdv2-close::before {display:none}

html:root body.ui4-app dialog.kdv2-dialog.kd-popup .kdv2-summary-head {font-size:12px}
