.auth-card { width: 360px; height: 500px; padding: 40px; overflow-y: auto; background: var(--control-surface); border: 1px solid var(--control-border); border-radius: var(--control-radius-xl); box-shadow: var(--control-shadow-md); backdrop-filter: var(--control-backdrop-filter); -webkit-backdrop-filter: var(--control-backdrop-filter); }
  .auth-input { width: 100%; padding: 7px 10px; border: 1px solid var(--input-border); border-radius: var(--input-radius); font-size: 13px; margin-bottom: 10px; outline: none; background: var(--input-bg); color: var(--input-color); transition: var(--control-transition); font-family: inherit; appearance: none; -webkit-appearance: none; }
  .auth-input:focus { border-color: var(--input-border-focus); box-shadow: var(--input-focus-ring); }
  #loadingScreen { transition: opacity .22s ease; }
  #loadingScreen.loading-exit { opacity: 0; pointer-events: none; }
  .loading-stack { display: grid; justify-items: center; gap: 12px; }
  .loading-stack p { font-size: 13px; color: var(--color-muted); margin: 0; }
  #authScreen { opacity: 0; transition: opacity .22s ease; }
  #authScreen.auth-visible { opacity: 1; }
  body.mobile-layout .sidebar-new-btn { height: 34px; }
  body.mobile-layout .session-search { height: 34px; }
  body.mobile-layout #wizardModal .modal button[type="button"] { height: 34px !important; }
  body.mobile-layout #authScreen .auth-card { width: 90%; max-width: 340px; height: auto; min-height: 500px; max-height: min(90vh, 90dvh); padding: 24px 16px; }
  body.mobile-layout .modal-overlay { align-items: flex-end; padding: 10px 10px calc(10px + env(safe-area-inset-bottom)); }
  body.mobile-layout .modal { width: 100%; max-height: min(92vh, 92dvh); padding: 18px 14px; border-radius: var(--modal-radius); }
  body.mobile-layout .modal-fixed-header { padding: 0; }
  body.mobile-layout .modal-header { margin: -18px -14px 12px; padding: 12px 14px 10px; }
  body.mobile-layout .modal-fixed-header .modal-header { margin: 0; }
  body.mobile-layout .modal-fixed-header .settings-modal-header { padding: 8px 14px; }
  body.mobile-layout .modal-fixed-header .settings-modal-header h2 { font-size: 16px; line-height: 20px; }
  body.mobile-layout .modal-fixed-header .modal-scroll-body { padding: 0 14px 18px; }
  body.mobile-layout .modal-fixed-header .wizard-scroll-body { padding-top: 14px; }
  body.mobile-layout .modal-fixed-header .settings-scroll-body { padding-top: 14px; }
  body.mobile-layout .settings-modal-header { top: -18px; grid-template-columns: auto minmax(72px, 1fr) auto; gap: 6px; }
  body.mobile-layout .modal-fixed-header .settings-modal-header { top: 0; }
  body.mobile-layout .settings-save-status { max-width: min(220px, 55vw); padding-left: 10px; padding-right: 10px; }
  body.mobile-layout .modal select, body.mobile-layout .modal select option { font-family: inherit; font-size: 13px; line-height: 1.25; }
  body.mobile-layout #wizardInput { font-size: 14px; line-height: 1.45; min-height: calc(14px * 1.45 * 6 + 24px + 2px); max-height: 260px; overflow-y: auto; }
  #wizardInput { width: 100%; border: 1px solid var(--input-border); border-radius: var(--control-radius-md); padding: 12px 16px; font-size: 14px; font-family: inherit; outline: none; background: var(--input-bg); color: var(--input-color); transition: var(--control-transition); }
  body.mobile-layout #pathCards { grid-template-columns: 1fr !important; gap: 8px !important; margin-bottom: 12px !important; }
  body.mobile-layout .path-card { text-align: center; padding: 12px 14px; }
  body.mobile-layout .path-card .path-badge { display: inline-flex; width: fit-content; padding-left: 14px; padding-right: 14px; margin-bottom: 4px !important; }
  /* 移动端抽屉模式：面板背景改为不透明，避免透过半透明看到底层内容 */
  .brand-mark { width: 46px; height: 46px; margin: 0 auto 14px; border-radius: var(--brand-mark-radius); background: url('../icons/icon-192.png?v=20260628-brand2') center / cover no-repeat; box-shadow: var(--control-shadow-floating); }
  .modal-fixed-header .settings-modal-header { height: 52px; min-height: 52px; max-height: 52px; overflow: hidden; padding: 12px 32px; }
  .modal-fixed-header .settings-modal-header h2 { font-size: 17px; line-height: 22px; margin: 0; white-space: nowrap; }
  .modal-scroll-body { min-height: 0; overflow-y: auto; padding: 0 32px 32px; }
  .wizard-scroll-body { padding-top: 14px; }
  .settings-scroll-body { padding-top: 14px; }
  .settings-section { margin-top: 18px; }
  .settings-section:first-child { margin-top: 0; }
  .modal-header { display: flex; justify-content: space-between; align-items: center; margin: -32px -32px 16px; padding: 22px 32px 14px; background: var(--control-bg-soft); border-bottom: 1px solid var(--control-border-default); }
  .settings-modal-header { position: sticky; top: -32px; z-index: 20; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; }
  .modal-fixed-header .settings-modal-header { position: relative; top: auto; }
  .settings-save-status { display: inline-flex; justify-self: center; align-self: center; align-items: center; justify-content: center; width: fit-content; min-width: 0; max-width: min(320px, 100%); height: 24px; min-height: 24px; max-height: 24px; padding: 0 12px; border-radius: var(--status-badge-radius); background: var(--pill-bg); color: var(--pill-color); border: 1px solid var(--pill-border); font-size: 11px; font-weight: 700; line-height: 22px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .settings-save-status-empty { visibility: hidden; }
  .settings-save-status-saving { color: var(--control-color-primary); background: var(--pill-bg-active); }
  .settings-save-status-success { color: var(--semantic-success); background: var(--status-success-bg); }
  .settings-save-status-error { color: var(--semantic-danger); background: var(--status-danger-bg); }
  .settings-section-title { margin: 0 0 6px 0; color: var(--color-muted); font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
  .settings-group { background: var(--card-bg); border-radius: var(--card-radius); overflow: hidden; border: 1px solid var(--card-border); box-shadow: var(--card-shadow); }
  .settings-group-picker { overflow: visible; }
  .settings-row { padding: 12px 14px; border-bottom: 1px solid var(--control-border-default); }
  .settings-group input, .settings-group select { background: var(--input-bg-soft); line-height: 30px; appearance: none; -webkit-appearance: none; }
  .settings-group input, .settings-group select, .settings-group .tool-picker-trigger { height: 32px; min-height: 32px; box-sizing: border-box; padding: 0 10px; font: inherit; font-size: 13px; }
  .settings-row:last-child { border-bottom: none; }
  .settings-row-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .settings-row-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .settings-model-actions { --settings-action-btn-w: 64px; display: grid; grid-template-columns: repeat(4, var(--settings-action-btn-w)); gap: 8px; justify-content: end; }
  .settings-model-actions .btn-xs { width: var(--settings-action-btn-w); white-space: nowrap; padding-left: 0; padding-right: 0; }
  .settings-model-actions .settings-model-primary-action { background: var(--button-bg-secondary); color: var(--button-color); border: none; box-shadow: var(--button-shadow); }
  .settings-model-actions .settings-model-primary-action:hover { background: var(--button-bg-secondary-hover); color: var(--button-color); filter: none; }
  .settings-model-actions .settings-model-primary-action:disabled { opacity: var(--control-disabled-opacity); cursor: not-allowed; filter: grayscale(0.2); }
  .settings-account-actions { --settings-action-btn-w: 64px; display: grid; grid-template-columns: repeat(2, var(--settings-action-btn-w)); gap: 8px; flex-shrink: 0; justify-content: end; }
  .settings-account-actions .btn-xs { width: var(--settings-action-btn-w); white-space: nowrap; padding-left: 0; padding-right: 0; }
  .settings-account-actions .btn-xs:only-child { grid-column: 2; }
  .account-actions-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .diagnostics-summary { margin: 0; white-space: pre-wrap; word-break: break-word; color: var(--color-text); font-family: inherit; font-size: 12px; line-height: 1.6; background: transparent; border: none; padding: 0; }
  .diagnostics-overview-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: baseline; gap: 12px; padding: 4px 0; }
  .diagnostics-overview-value { color: var(--color-muted); min-width: 0; overflow-wrap: anywhere; }
  .diagnostics-overview-error, .diagnostics-overview-warning { color: var(--color-error); }
  .diagnostics-result-title { margin-bottom: 8px; font-weight: 600; color: var(--color-text); }
  .diagnostics-check-row { padding: 6px 0; border-bottom: 1px solid var(--color-border); }
  .diagnostics-check-row:last-child { border-bottom: 0; }
  .diagnostics-check-main { display: grid; grid-template-columns: 32px 72px minmax(0, 1fr) auto; align-items: baseline; gap: 8px; }
  .diagnostics-check-state { font-weight: 600; }
  .diagnostics-check-name { color: var(--color-text); }
  .diagnostics-check-summary { color: var(--color-muted); overflow-wrap: anywhere; }
  .diagnostics-check-action { align-self: center; }
  body.mobile-layout .diagnostics-check-main { grid-template-columns: 32px 64px minmax(0, 1fr); }
  body.mobile-layout .diagnostics-check-action { grid-column: 3; justify-self: start; }
  .diagnostics-check-detail { margin: 3px 0 0 120px; color: var(--color-muted); overflow-wrap: anywhere; }
  body.mobile-layout .diagnostics-check-detail { margin-left: 112px; }
  .focus-pulse { border-color: var(--control-color-primary) !important; box-shadow: var(--input-focus-ring) !important; }
  .ready-page { max-width: 820px; margin: 0 auto; padding: 56px 20px; color: var(--color-text); }
  .ready-hero { text-align: center; margin-bottom: 22px; }
  .ready-hero-icon { font-size: 32px; margin-bottom: 10px; }
  .ready-hero-title { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
  .ready-hero-subtitle { font-size: 12px; color: var(--color-muted); line-height: 1.6; }
  .ready-toggle-row { display: flex; justify-content: center; margin: -8px 0 18px; }
  .ready-toggle-btn { border: 1px solid var(--pill-border); background: var(--pill-bg); color: var(--pill-color); border-radius: var(--ready-toggle-radius); padding: 5px 12px; font-size: 11px; font-weight: 600; font-family: inherit; cursor: pointer; }
  .ready-toggle-btn:hover { background: var(--control-bg-hover); color: var(--control-color); }
  .ready-page.ready-collapsed .ready-section:not(.ready-essential) { display: none; }
  .ready-section { margin-top: 18px; }
  .ready-section-title { margin: 0 0 6px 0; color: var(--color-muted); font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
  .ready-group { background: var(--card-bg); border-radius: var(--ready-card-radius); overflow: hidden; border: 1px solid var(--card-border); box-shadow: var(--card-shadow); }
  .ready-row { padding: 11px 14px; border-bottom: 1px solid var(--control-border-default); font-size: 13px; line-height: 1.7; }
  .ready-row:last-child { border-bottom: none; }
  .ready-row b { font-weight: 650; }

.path-card { border:1px solid var(--card-border); background:var(--card-bg); border-radius:var(--path-card-radius); box-shadow: var(--card-shadow); padding:14px; cursor:pointer; text-align:center; transition:var(--control-transition); }
  .wizard-helper-text { margin: 0 2px 12px; color: var(--color-muted); font-size: 12px; line-height: 1.6; }
  .wizard-path-title { margin-bottom: 0; }
  .path-card:hover { border-color:var(--control-border-active); background:var(--control-bg-raised); }
  .path-card.selected { background:var(--control-bg-raised); }
  .path-card.selected#wcA { border-color:var(--path-a-color); box-shadow: inset 0 0 0 1px var(--path-a-color); }
  .path-card.selected#wcB { border-color:var(--path-b-color); box-shadow: inset 0 0 0 1px var(--path-b-color); }
  .path-card.selected#wcC { border-color:var(--path-c-color); box-shadow: inset 0 0 0 1px var(--path-c-color); }
