/* Growth Strategy · 04 SIGNATURE next-best-customer scorer — weights · bar race · agent + people */
.cgs-scorer{position:relative;background:var(--paper);overflow:hidden}
.cgs-scorer .cgs-survey{mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);opacity:.7}
.cgs-scorer .wrap{position:relative}
.cgs-sc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);border:1px solid var(--ink);border-radius:var(--r);background:var(--paper);box-shadow:var(--sh-2)}
.cgs-sc>*{min-width:0;padding:clamp(20px,2.2vw,30px)}
.cgs-sc__weights{border-right:1px solid var(--line-3)}
.cgs-sc__side{border-left:1px solid var(--line-3);background:var(--paper-2);border-radius:0 var(--r) var(--r) 0;display:flex;flex-direction:column;gap:24px}
.cgs-sc__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.cgs-sc__k{font-family:var(--f);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);line-height:1.3}
.cgs-sc__auto{display:inline-flex;align-items:center;gap:8px;font-family:var(--f);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-d);line-height:1.2;transition:opacity .3s}
.cgs-sc__auto i{width:6px;height:6px;border-radius:50%;background:var(--blue)}
.cgs-sc.is-live .cgs-sc__auto i{animation:cgs-sc-pulse 1.4s var(--e-io) infinite}
.cgs-sc__auto.is-off{color:var(--muted)}
.cgs-sc__auto.is-off i{background:var(--ghost);animation:none}
@keyframes cgs-sc-pulse{50%{opacity:.25}}

/* presets */
.cgs-sc__presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.cgs-sc__preset{padding:7px 11px;border:1px solid var(--line-3);border-radius:var(--r-pill);background:var(--paper);font-family:var(--f-b);font-size:var(--t-xs);font-weight:500;color:var(--txt);cursor:pointer;transition:border-color var(--d1),color var(--d1),background var(--d1)}
.cgs-sc__preset:hover{border-color:var(--ink);color:var(--ink)}
.cgs-sc__preset[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}

/* sliders */
.cgs-sc__w{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:8px;padding:12px 0;border-top:1px dashed var(--line)}
.cgs-sc__w:first-of-type{border-top:0}
.cgs-sc__wl{display:flex;flex-direction:column;gap:3px;min-width:0}
.cgs-sc__wl b{font-family:var(--f-h);font-weight:500;font-size:1rem;letter-spacing:-.012em;color:var(--ink);line-height:1.2}
.cgs-sc__wl span{font-size:var(--t-xs);color:var(--muted);line-height:1.45}
.cgs-sc__wv{align-self:start;min-width:2.4ch;text-align:right;font-family:var(--f);font-size:1.1rem;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}
.cgs-sc__range{grid-column:1 / -1;-webkit-appearance:none;appearance:none;width:100%;height:22px;margin:0;background:transparent;cursor:pointer}
.cgs-sc__range::-webkit-slider-runnable-track{height:22px;background:linear-gradient(var(--blue),var(--blue)) 0 50% / calc(var(--v) * 100%) 3px no-repeat,repeating-linear-gradient(90deg,var(--line-3) 0 1px,transparent 1px 10%) 0 50% / 100% 9px no-repeat,linear-gradient(var(--line),var(--line)) 0 50% / 100% 3px no-repeat}
.cgs-sc__range::-moz-range-track{height:22px;background:linear-gradient(var(--line),var(--line)) 0 50% / 100% 3px no-repeat}
.cgs-sc__range::-moz-range-progress{height:3px;background:var(--blue)}
.cgs-sc__range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--paper);border:2px solid var(--blue);box-shadow:0 2px 6px rgba(25,25,29,.18)}
.cgs-sc__range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--paper);border:2px solid var(--blue)}
.cgs-sc__range:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}

/* bar race */
.cgs-sc__list{position:relative;margin:0;padding:0;list-style:none}
.cgs-sc__row{position:relative;display:grid;grid-template-columns:28px minmax(0,150px) minmax(0,1fr) 36px 34px;align-items:center;column-gap:12px;height:66px;border-bottom:1px solid var(--line-2);will-change:transform}
.cgs-sc__pos{font-family:var(--f);font-size:var(--t-sm);color:var(--faint);font-variant-numeric:tabular-nums}
.cgs-sc__name{display:flex;flex-direction:column;gap:2px;min-width:0}
.cgs-sc__name b{font-family:var(--f-h);font-weight:500;font-size:1rem;letter-spacing:-.012em;color:var(--ink);line-height:1.2}
.cgs-sc__name span{font-size:var(--t-xs);color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.cgs-sc__track{position:relative;height:12px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 10%);border-bottom:1px solid var(--line-3)}
.cgs-sc__track i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(var(--s));transition:transform .7s var(--e),background .4s}
.cgs-sc__val{font-family:var(--f);font-size:var(--t-body);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.cgs-sc__move{font-family:var(--f);font-size:10px;color:var(--faint);text-align:right;white-space:nowrap}
.cgs-sc__move.is-up{color:var(--blue-d)}
.cgs-sc__row.is-short .cgs-sc__pos{color:var(--blue)}
.cgs-sc__row.is-short .cgs-sc__track i{background:var(--blue)}
.cgs-sc__cut{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-family:var(--f);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-d)}
.cgs-sc__cut::before{content:"";width:18px;height:2px;background:var(--blue)}
.cgs-sc__list::after{content:"";position:absolute;left:0;right:0;top:198px;border-top:2px dashed var(--blue);pointer-events:none}

/* what carries the leader — contribution readout under the race */
.cgs-sc__why{margin-top:28px;padding:18px 18px 16px;border:1px dashed var(--line-3);border-radius:var(--r-sm);background:var(--paper-2)}
.cgs-sc__whyk{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin:0 0 14px;font-family:var(--f);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.cgs-sc__whyk b{font-weight:500;color:var(--blue-d)}
.cgs-sc__parts{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.cgs-sc__parts li{display:grid;grid-template-columns:64px minmax(0,1fr) 40px;align-items:center;gap:12px}
.cgs-sc__parts span{font-size:var(--t-xs);color:var(--txt);line-height:1.3}
.cgs-sc__parts i{position:relative;height:6px;background:var(--line-2);border-radius:3px;overflow:hidden}
.cgs-sc__parts b{position:absolute;inset:0;background:var(--ink);border-radius:3px;transform-origin:left;transform:scaleX(var(--p));transition:transform .7s var(--e),background .3s}
.cgs-sc__parts li.is-top b{background:var(--blue)}
.cgs-sc__parts li.is-top span{color:var(--ink);font-weight:600}
.cgs-sc__parts em{font-style:normal;font-family:var(--f);font-size:var(--t-xs);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.cgs-sc__whyn{margin:14px 0 0;font-size:var(--t-xs);line-height:1.5;color:var(--muted)}

/* agent + people */
.cgs-sc__who{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--f);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-d)}
.cgs-sc__who i{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--blue);background:var(--blue-wash-2)}
.cgs-sc__who--p{color:var(--ink)}
.cgs-sc__who--p i{border-radius:50%;border-color:var(--ink);background:transparent}
.cgs-sc__say{margin:0;min-height:7.5em;font-size:var(--t-sm);line-height:1.65;color:var(--ink)}
.cgs-sc__say.is-fresh{animation:cgs-sc-note .6s var(--e)}
@keyframes cgs-sc-note{from{opacity:.2;transform:translateY(4px)}}
.cgs-sc__src{margin:12px 0 0;font-family:var(--f);font-size:10px;letter-spacing:.06em;color:var(--muted);line-height:1.5}
.cgs-sc__people{padding-top:22px;border-top:1px solid var(--line-3)}
.cgs-sc__people ol{margin:0;padding:0;list-style:none;counter-reset:cgsp}
.cgs-sc__people li{counter-increment:cgsp;position:relative;padding:0 0 12px 26px;display:flex;flex-direction:column;gap:3px}
.cgs-sc__people li::before{content:counter(cgsp);position:absolute;left:0;top:1px;font-family:var(--f);font-size:10px;color:var(--faint)}
.cgs-sc__people b{font-size:var(--t-sm);font-weight:600;color:var(--ink);line-height:1.35}
.cgs-sc__people span{font-size:var(--t-xs);color:var(--muted);line-height:1.5}
.cgs-sc__sign{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:14px;border:1px dashed var(--line-3);border-radius:var(--r-sm);background:var(--paper)}
.cgs-sc__state{font-family:var(--f);font-size:10.5px;letter-spacing:.06em;color:var(--txt);line-height:1.45}
.cgs-sc__sign.is-signed{border-style:solid;border-color:var(--blue)}
.cgs-sc__sign.is-signed .cgs-sc__state{color:var(--blue-d)}
.cgs-sc__btn{align-self:flex-start;padding:9px 14px;border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);font-family:var(--f-b);font-size:var(--t-xs);font-weight:500;cursor:pointer;transition:background var(--d1)}
.cgs-sc__btn:hover{background:#000}
.cgs-sc__btn[disabled]{background:var(--paper-4);color:var(--muted);cursor:default}

@media (max-width:1180px){
  .cgs-sc{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
  .cgs-sc__side{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line-3);border-radius:0 0 var(--r) var(--r);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px)}
  .cgs-sc__people{padding-top:0;border-top:0}
}
@media (max-width:820px){
  .cgs-sc{grid-template-columns:minmax(0,1fr)}
  .cgs-sc__weights{border-right:0;border-bottom:1px solid var(--line-3)}
  .cgs-sc__side{grid-template-columns:minmax(0,1fr)}
  .cgs-sc__people{padding-top:22px;border-top:1px solid var(--line-3)}
}
@media (max-width:520px){
  .cgs-sc__row{grid-template-columns:22px minmax(0,1fr) 34px 30px;grid-template-rows:auto 8px;column-gap:10px;row-gap:8px;height:74px;align-content:center}
  .cgs-sc__pos{grid-column:1;grid-row:1 / 3;align-self:center}
  .cgs-sc__name{grid-column:2;grid-row:1}
  .cgs-sc__name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cgs-sc__track{grid-column:2;grid-row:2;height:8px}
  .cgs-sc__val{grid-column:3;grid-row:1 / 3;align-self:center}
  .cgs-sc__move{grid-column:4;grid-row:1 / 3;align-self:center}
  .cgs-sc__list::after{top:222px}
}
