/* AceGPT v18 — screenshot-inspired compact, animated reasoning picker */
.ace-effort-widget{--effort-progress:33.333%;position:relative;flex:0 0 auto;z-index:11;align-self:center;font-family:'DM Sans',sans-serif}
.ace-effort-trigger{display:inline-flex;align-items:center;gap:6px;height:32px;border-radius:17px;padding:0 11px 0 12px;background:#252525;color:#e6e6e6;border:1px solid #393939;cursor:pointer;font:600 12px/1 'DM Sans',sans-serif;transition:background .2s,border-color .2s,transform .16s,box-shadow .2s}
.ace-effort-trigger:hover,.ace-effort-widget.is-open .ace-effort-trigger{background:#303030;border-color:#454545}
.ace-effort-trigger:active{transform:scale(.97)}
.ace-effort-trigger svg{width:14px;height:14px;color:#c2c2c2;transition:transform .23s cubic-bezier(.22,1,.36,1)}
.ace-effort-widget.is-open .ace-effort-trigger svg{transform:rotate(180deg)}
.ace-effort-popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);z-index:80;width:256px;padding:12px 12px 11px;border-radius:18px;background:#2b2b2b;color:#f6f6f6;border:1px solid #3d3d3d;box-shadow:0 12px 40px #000a;animation:aceEffortAppear .22s cubic-bezier(.17,.89,.32,1.2) both;transform-origin:50% 110%;overflow:visible}
.ace-effort-popover[hidden]{display:none!important}
@keyframes aceEffortAppear{from{opacity:0;transform:translateX(-50%) translateY(7px) scale(.96)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
.ace-effort-heading{min-height:29px;display:flex;justify-content:center;align-items:center;gap:5px;color:#eee;font-size:14px;line-height:1.1;font-weight:700}
.ace-effort-heading-arrow{color:#9f9f9f;font-size:21px;line-height:1}
.ace-effort-track-wrap{position:relative;height:30px;display:flex;align-items:center;margin-top:2px;--knob-size:27px}
.ace-effort-track{position:absolute;inset:10px 0 9px;height:11px;border-radius:99px;background:#454545;overflow:visible}
.ace-effort-fill{position:absolute;inset:0 auto 0 0;width:var(--effort-progress);border-radius:inherit;background:#3b82f6;transition:width .2s cubic-bezier(.22,1,.36,1);will-change:width}
.ace-effort-dot{position:absolute;top:50%;width:4px;height:4px;border-radius:50%;background:#ffffff66;transform:translate(-50%,-50%);z-index:2}
.ace-effort-thumb{position:absolute;top:50%;left:var(--ace-thumb-left,0px);width:var(--knob-size);height:var(--knob-size);border-radius:50%;background:#fafafa;border:1px solid #eaeaea;box-shadow:0 1px 5px #0005;transform:translateY(-50%);transition:left .23s cubic-bezier(.22,1,.36,1),box-shadow .18s;pointer-events:none;z-index:4}
.ace-effort-widget:has(input:active) .ace-effort-thumb{box-shadow:0 0 0 6px #3b82f622,0 2px 10px #0007}
.ace-effort-track-wrap input[type=range]{position:absolute;inset:0;width:100%;height:30px;margin:0;cursor:grab;appearance:none;-webkit-appearance:none;background:transparent!important;opacity:0;z-index:5;touch-action:pan-y}
.ace-effort-track-wrap input[type=range]:active{cursor:grabbing}
.ace-effort-track-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:27px;height:27px;border:0}
.ace-effort-track-wrap input[type=range]::-moz-range-thumb{width:27px;height:27px;border:0}
.ace-effort-popover:focus-within{outline:1px solid #55637e}
.ace-effort-scale{display:flex;justify-content:space-between;margin-top:2px;font-size:10px;color:#bebebe;letter-spacing:.01em}
.ace-effort-scale span:first-child{text-align:left}.ace-effort-scale span:last-child{text-align:right}
.provider-logo.ace-brand-icon{width:27px;height:27px;object-fit:contain;filter:none!important;opacity:1!important;flex:0 0 27px}
.provider-choice .provider-logo.ace-brand-icon{width:20px!important;height:20px!important;flex:0 0 20px!important}
.model-chip .provider-logo.ace-brand-icon{width:18px!important;height:18px!important;flex:0 0 18px!important}
.ace-brand-missing{filter:grayscale(1)!important}
@media(max-width:760px){.ace-effort-popover{left:auto;right:-56px;transform:none;width:min(256px,calc(100vw - 34px));animation:aceEffortAppearMobile .22s ease-out both}@keyframes aceEffortAppearMobile{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ace-effort-trigger{height:31px}}
@media(prefers-reduced-motion:reduce){.ace-effort-popover,.ace-effort-fill,.ace-effort-thumb,.ace-effort-trigger{transition:none!important;animation:none!important}}
