/* ============================================================
   MaxMind · Codex 风格推理强度滑块
   移植自 https://github.com/bakabaicai/DSH-Codex-reasoning-effort-slider
   —— 组件样式原样照搬上游 client.js 的 styles；这里只补一层
      「DSH 主题变量（--dsw-*）→ 站点主题」的映射，使浅色/深色都能用。
   ============================================================ */

/* ── 主题变量映射（浅色默认；[data-theme="dark"] 覆盖） ───────── */
:root {
  --dsw-font-family: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", -apple-system, system-ui, sans-serif;
  --dsw-alias-label-primary: #1f1f1f;
  --dsw-alias-label-secondary: #444746;
  --dsw-alias-label-caption: #5f6368;
  --dsw-alias-interactive-bg-hover: rgba(0, 0, 0, .06);
  --dsw-alias-bg-layer-2: #ffffff;
  --dsw-alias-border-l1: rgba(0, 0, 0, .10);
  --dsw-alias-border-l2: rgba(0, 0, 0, .12);
  --dsw-specific-menu: #ffffff;
  --dsw-elevation-panel: 0 8px 28px rgba(0, 0, 0, .14), 0 2px 6px rgba(0, 0, 0, .08);
  --dsw-menu-backdrop-filter: blur(24px) saturate(1.8);
  --dsw-focus-ring-color: #0b57d0;
  --dsw-alias-state-error-primary: #c5221f;
  --dsh-composer-model-text-display: inline;
  --dsh-composer-model-icon-display: none;
}
[data-theme="dark"] {
  --dsw-alias-label-primary: #e3e3e3;
  --dsw-alias-label-secondary: #c4c7c5;
  --dsw-alias-label-caption: #9aa0a6;
  --dsw-alias-interactive-bg-hover: rgba(255, 255, 255, .08);
  --dsw-alias-bg-layer-2: #2b2b2e;
  --dsw-alias-border-l1: rgba(255, 255, 255, .10);
  --dsw-alias-border-l2: rgba(255, 255, 255, .16);
  --dsw-specific-menu: #2b2b2e;
  --dsw-elevation-panel: 0 10px 32px rgba(0, 0, 0, .58), 0 2px 8px rgba(0, 0, 0, .36);
  --dsw-menu-backdrop-filter: blur(24px) saturate(1.6);
  --dsw-focus-ring-color: #8ab4f8;
  --dsw-alias-state-error-primary: #f28b82;
}

/* ── 组件样式（照搬上游） ─────────────────────────────────────── */
.dsh-codex-reasoning-effort-slider-root{position:relative;display:inline-flex;font-family:var(--dsw-font-family);font-size:14px;letter-spacing:0}
.dsh-codex-reasoning-effort-slider-root *{box-sizing:border-box;corner-shape:round}
.dsh-codex-reasoning-effort-slider-root button{font:inherit;cursor:pointer;border:0}
.dsh-codex-reasoning-effort-slider-trigger{display:inline-flex;align-items:center;gap:5px;max-width:250px;height:28px;padding:0 7px;background:transparent;color:var(--dsw-alias-label-caption);border-radius:8px;font-size:13px!important}
.dsh-codex-reasoning-effort-slider-trigger:hover{background:var(--dsw-alias-interactive-bg-hover)}
.dsh-codex-reasoning-effort-slider-trigger>.dsh-codex-reasoning-effort-slider-icon{transition:transform .18s ease}
.dsh-codex-reasoning-effort-slider-trigger[aria-expanded=true]>.dsh-codex-reasoning-effort-slider-icon{transform:rotate(180deg)}
.dsh-codex-reasoning-effort-slider-trigger[aria-busy=true]{opacity:.7}
.dsh-codex-reasoning-effort-slider-caption{display:var(--dsh-composer-model-text-display,inline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsh-codex-reasoning-effort-slider-trigger.ultra .dsh-codex-reasoning-effort-slider-trigger-effort{color:#9c4ce3}
.dsh-codex-reasoning-effort-slider-compact{display:var(--dsh-composer-model-icon-display,none)}
.dsh-codex-reasoning-effort-slider-root button:disabled{cursor:default;opacity:.5}
.dsh-codex-reasoning-effort-slider-root button:focus-visible,.dsh-codex-reasoning-effort-slider-rail:focus-visible{outline:2px solid var(--dsw-focus-ring-color);outline-offset:2px}
.dsh-codex-reasoning-effort-slider-popup{position:fixed;bottom:var(--dsh-codex-reasoning-effort-slider-bottom,40px);left:var(--dsh-codex-reasoning-effort-slider-left,12px);width:272px;max-width:calc(100vw - 24px);height:var(--dsh-codex-reasoning-effort-slider-height,104px);max-height:calc(100vh - var(--dsh-codex-reasoning-effort-slider-bottom,40px) - 12px);padding:0;background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2));border-radius:14px;box-shadow:var(--dsw-elevation-panel);backdrop-filter:var(--dsw-menu-backdrop-filter);z-index:120;transform-origin:bottom left;transition:opacity .18s ease,transform .18s ease,height .2s cubic-bezier(.2,.8,.2,1),visibility 0s}
.dsh-codex-reasoning-effort-slider-popup.closed{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(5px) scale(.98);transition-delay:0s,0s,0s,.18s}
.dsh-codex-reasoning-effort-slider-pane{position:absolute;left:0;right:0;bottom:0;opacity:1;transform:translateY(0);transition:opacity .14s ease,transform .2s ease,visibility 0s}
.dsh-codex-reasoning-effort-slider-pane.hidden{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(5px);transition-delay:0s,0s,.14s}
.dsh-codex-reasoning-effort-slider-main{height:104px}
.dsh-codex-reasoning-effort-slider-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.dsh-codex-reasoning-effort-slider-small{width:14px;height:14px}
.dsh-codex-reasoning-effort-slider-tool{position:absolute;top:7px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border-radius:8px;color:var(--dsw-alias-label-caption)}
.dsh-codex-reasoning-effort-slider-tool:hover{background:var(--dsw-alias-interactive-bg-hover)}
.dsh-codex-reasoning-effort-slider-reset{right:7px}
.dsh-codex-reasoning-effort-slider-tool>.dsh-codex-reasoning-effort-slider-icon{width:16px;height:16px}
.dsh-codex-reasoning-effort-slider-model-link{position:absolute;left:43px;right:43px;top:8px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 4px;background:transparent;border-radius:5px;transition:opacity .2s ease}
.dsh-codex-reasoning-effort-slider-model-link:hover{background:var(--dsw-alias-interactive-bg-hover)}
.dsh-codex-reasoning-effort-slider-heading{display:flex;gap:3px;justify-content:center;align-items:center;max-width:100%;height:20px;color:#3989e9;font-size:14px;line-height:20px}
.dsh-codex-reasoning-effort-slider-popup.ultra .dsh-codex-reasoning-effort-slider-heading{color:#9c4ce3}
.dsh-codex-reasoning-effort-slider-heading .dsh-codex-reasoning-effort-slider-icon{width:10px;height:10px;color:var(--dsw-alias-label-caption)}
.dsh-codex-reasoning-effort-slider-model{display:block;max-width:100%;height:18px;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsh-codex-reasoning-effort-slider-tool,.dsh-codex-reasoning-effort-slider-warning{transition:opacity .2s ease}
.dsh-codex-reasoning-effort-slider-warning{position:absolute;left:29px;right:29px;top:20px;text-align:center;line-height:18px;font-size:13px;opacity:0;pointer-events:none}
.dsh-codex-reasoning-effort-slider-warning span{display:inline-block;background:linear-gradient(90deg,#a965dd 0%,#a965dd 42%,#653780 50%,#a965dd 58%,#a965dd 100%);background-size:300% 100%;background-position:0% 0;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dsh-codex-reasoning-effort-slider-popup.message .dsh-codex-reasoning-effort-slider-model-link,.dsh-codex-reasoning-effort-slider-popup.message .dsh-codex-reasoning-effort-slider-tool{opacity:0;pointer-events:none}
.dsh-codex-reasoning-effort-slider-popup.message .dsh-codex-reasoning-effort-slider-warning{opacity:1}
.dsh-codex-reasoning-effort-slider-popup.message .dsh-codex-reasoning-effort-slider-warning span{animation:dsh-codex-reasoning-effort-slider-sweep 1.1s linear .2s 1 both}
@keyframes dsh-codex-reasoning-effort-slider-sweep{from{background-position:100% 0}to{background-position:0% 0}}
.dsh-codex-reasoning-effort-slider-rail{position:absolute;left:12px;right:12px;top:65px;height:26px;border-radius:16px;background:var(--dsw-alias-border-l2);touch-action:none;cursor:pointer}
.dsh-codex-reasoning-effort-slider-fill,.dsh-codex-reasoning-effort-slider-sparks{position:absolute;inset:0 auto 0 0;width:calc((100% - 30px)*var(--dsh-codex-reasoning-effort-slider-pos,0) + 15px);border-radius:13px 0 0 13px;overflow:hidden;pointer-events:none;transition:width .18s cubic-bezier(.2,.8,.2,1)}
.dsh-codex-reasoning-effort-slider-fill{background:#3988f6}
.dsh-codex-reasoning-effort-slider-popup.ultra .dsh-codex-reasoning-effort-slider-fill{background:linear-gradient(95deg,#3065de 0%,#7757ee 32%,#b052f1 53%,#7d42e7 76%,#5631d0 100%);background-size:155% 100%;animation:dsh-codex-reasoning-effort-slider-colorflow 3.8s ease-in-out infinite alternate}
.dsh-codex-reasoning-effort-slider-popup.ultra .dsh-codex-reasoning-effort-slider-fill:before{content:"";position:absolute;inset:-10px -40px;background:linear-gradient(100deg,transparent 18%,#ffffff08 35%,#ffffff30 48%,#ffffff06 66%,transparent 84%);animation:dsh-codex-reasoning-effort-slider-shimmer 4.5s ease-in-out infinite alternate}
@keyframes dsh-codex-reasoning-effort-slider-colorflow{from{background-position:0 0}to{background-position:100% 0}}
@keyframes dsh-codex-reasoning-effort-slider-shimmer{from{transform:translateX(-45%)}to{transform:translateX(45%)}}
.dsh-codex-reasoning-effort-slider-dot{position:absolute;top:11px;left:calc((100% - 30px)*var(--dsh-codex-reasoning-effort-slider-tick) + 15px);width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--dsw-alias-label-caption);pointer-events:none;transition:opacity .18s ease .22s,transform .14s ease}
.dsh-codex-reasoning-effort-slider-dot.passed{background:#ffffff65}.dsh-codex-reasoning-effort-slider-dot.hovered{transform:scale(1.75)}
.dsh-codex-reasoning-effort-slider-popup.ultra .dsh-codex-reasoning-effort-slider-dot,.dsh-codex-reasoning-effort-slider-popup.fast-mode .dsh-codex-reasoning-effort-slider-dot.covered{opacity:0;transition-delay:0s}
.dsh-codex-reasoning-effort-slider-sparks{opacity:0;transition:width .18s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
.dsh-codex-reasoning-effort-slider-popup.fast-mode .dsh-codex-reasoning-effort-slider-sparks{opacity:1;transition-delay:0s,.18s}
.dsh-codex-reasoning-effort-slider-popup.ultra .dsh-codex-reasoning-effort-slider-sparks{opacity:1}
.dsh-codex-reasoning-effort-slider-particles{display:block;width:var(--dsh-codex-reasoning-effort-slider-rail-width,248px);height:26px}
.dsh-codex-reasoning-effort-slider-knob{position:absolute;left:calc((100% - 30px)*var(--dsh-codex-reasoning-effort-slider-pos,0));top:-2px;width:30px;height:30px;border-radius:50%;background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-elevation-panel);border:.5px solid var(--dsw-alias-border-l1);pointer-events:none;transition:left .18s cubic-bezier(.2,.8,.2,1)}
.dsh-codex-reasoning-effort-slider-burst{position:absolute;left:calc(100% - 41px);top:-13px;width:52px;height:52px;pointer-events:none;z-index:4}
.dsh-codex-reasoning-effort-slider-tooltip{position:absolute;bottom:calc(100% + 4px);padding:6px 9px;white-space:nowrap;background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-elevation-panel);border-radius:8px;font-size:12px;line-height:18px;text-align:center;color:var(--dsw-alias-label-primary);opacity:0;pointer-events:none;transition:opacity .12s;z-index:130}
.dsh-codex-reasoning-effort-slider-tooltip span{color:var(--dsw-alias-label-secondary)}
.dsh-codex-reasoning-effort-slider-reset .dsh-codex-reasoning-effort-slider-tooltip{right:-15px}
.dsh-codex-reasoning-effort-slider-tool:hover .dsh-codex-reasoning-effort-slider-tooltip,.dsh-codex-reasoning-effort-slider-tool:focus-visible .dsh-codex-reasoning-effort-slider-tooltip{opacity:1}
.dsh-codex-reasoning-effort-slider-models{height:100%;padding:5px;overflow:auto;overscroll-behavior:contain}
.dsh-codex-reasoning-effort-slider-menu-title{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 8px;color:var(--dsw-alias-label-caption);font-size:12px}
.dsh-codex-reasoning-effort-slider-menu-back{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;padding:0;border-radius:5px;background:transparent;color:inherit}
.dsh-codex-reasoning-effort-slider-menu-back:hover{background:var(--dsw-alias-interactive-bg-hover)}
.dsh-codex-reasoning-effort-slider-group{height:22px;padding:3px 8px;color:var(--dsw-alias-label-secondary);font-size:11px}
.dsh-codex-reasoning-effort-slider-option{width:100%;height:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:0 8px;border-radius:8px;background:transparent;color:var(--dsw-alias-label-primary);font-size:13px!important}
.dsh-codex-reasoning-effort-slider-option:hover,.dsh-codex-reasoning-effort-slider-option:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}
.dsh-codex-reasoning-effort-slider-option-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:19px}
.dsh-codex-reasoning-effort-slider-status{padding:8px;color:var(--dsw-alias-label-secondary);font-size:11px;line-height:16px}
.dsh-codex-reasoning-effort-slider-error{position:absolute;top:7px;left:37px;right:37px;display:flex;align-items:center;gap:4px;padding:3px 5px;max-height:48px;background:var(--dsw-specific-menu,var(--dsw-alias-bg-layer-2));color:var(--dsw-alias-state-error-primary);border-radius:5px;z-index:5}
.dsh-codex-reasoning-effort-slider-error-text{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dsh-codex-reasoning-effort-slider-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dsh-codex-reasoning-effort-slider-noeffort{position:absolute;top:65px;left:12px;right:12px;text-align:center;font-size:12px;color:var(--dsw-alias-label-secondary)}

/* 容器：接在 .composer-row 里的位置（原 #effortBtn 处） */
.codex-slider-host{display:inline-flex;align-items:center;min-width:0}

/* 拖拽滑块的光标：默认「张开手」(grab)，按住拖动时「抓紧」(grabbing)。
   抓紧态挂在 <html> 上（配合 JS 的 dsh-slider-dragging 类），指针拖出滑块范围也保持。 */
.dsh-codex-reasoning-effort-slider-rail:active{cursor:grabbing}
html.dsh-slider-dragging,html.dsh-slider-dragging *{cursor:grabbing!important}
