/* Growth Lab (command center → Grow → Growth Lab). js/growth-lab.js.
   The command center's stone, ink and petrol; status colours only for the
   analyst's verdicts, always with their word beside them. */
.gl{ position:relative; --gl-ok:#1E7B4E; --gl-ok-s:#DDF1E6; --gl-bad:#B3362E; --gl-bad-s:#F7E3E1; --gl-warn:#8A5A00; --gl-warn-s:#FFF1D6;
  --gl-hold:#8A837A; --gl-line:#E6E1D9; --gl-s1:#2a78d6; --gl-s2:#eb6834; --gl-ctl:#33302B; }

/* the SIMULATED band: on every screen of the lab */
.gl-simtag{ color:#8A5A00; letter-spacing:.06em; }
.gl-how .gl-simtag{ padding:3px 10px; border-radius:999px; background:#FFD166; color:#1D1B19; letter-spacing:.12em; font-size:11px; font-weight:600; }

.gl-auto{ display:inline-flex; align-items:center; gap:7px; padding:3px 10px 3px 4px; border-radius:999px; background:#fff; border:1px solid #D9D3C9; font-size:12px; font-weight:500; cursor:pointer; }
.gl-auto input{ appearance:none; width:28px; height:16px; margin:0; border-radius:999px; background:#D9D3C9; position:relative; cursor:pointer; transition:background .2s; }
.gl-auto input::after{ content:""; position:absolute; top:2px; left:2px; width:12px; height:12px; border-radius:50%; background:#fff; transition:transform .2s; }
.gl-auto input:checked{ background:var(--accent); } .gl-auto input:checked::after{ transform:translateX(12px); }
.gl-auto input:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.adm .gl-chip--warn{ background:var(--gl-warn-s); color:var(--gl-warn); }
.adm .gl-chip--bad{ background:var(--gl-bad-s); color:var(--gl-bad); }
.adm .chip--ok{ background:var(--gl-ok-s); color:var(--gl-ok); }
.gl-n{ display:inline-block; min-width:18px; padding:0 5px; margin-left:4px; border-radius:999px; background:#F0ECE5; font-size:11px; text-align:center; }
.stabs__t.is-on .gl-n{ background:rgba(255,255,255,.2); }

.gl-kpis{ padding:0 !important; margin-bottom:14px; grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:1100px){ .gl-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.gl-kpis .kpi__v small{ font-size:13px; color:#8A837A; font-weight:400; }

/* the run timeline */
.gl-tl{ list-style:none; margin:0 0 14px; padding:14px 16px; display:flex; gap:18px; overflow-x:auto; background:#fff; border:1px solid var(--gl-line); border-radius:14px; }
.gl-tl__g{ flex:1 1 0; min-width:0; }
.gl-tl__g:first-child{ flex-grow:1.2; }
.gl-tl__gh{ display:block; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#8A837A; margin-bottom:8px; }
.gl-tl__g > ol{ list-style:none; margin:0; padding:0; display:flex; }
.gl-tl__s{ position:relative; flex:1 1 0; min-width:52px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding-right:8px; font-size:12px; color:#8A837A; }
.gl-tl__s i{ position:relative; z-index:1; width:12px; height:12px; border-radius:50%; border:2px solid #C8C2B8; background:#fff; }
.gl-tl__s::before{ content:""; position:absolute; left:12px; right:0; top:5px; height:2px; background:#E6E1D9; }
.gl-tl__s:last-child::before{ display:none; }
.gl-tl__s small{ font-size:10.5px; }
.gl-tl__s span{ font-size:11.5px; line-height:1.25; }
.gl-tl__s--done{ color:#33302B; } .gl-tl__s--done i{ background:#1D1B19; border-color:#1D1B19; } .gl-tl__s--done::before{ background:#1D1B19; }
.gl-tl__s--now{ color:#121110; font-weight:600; } .gl-tl__s--now i{ border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.gl-tl__s--wait{ color:var(--gl-warn); font-weight:600; } .gl-tl__s--wait i{ border-color:#E0A31B; background:#FFD166; box-shadow:0 0 0 4px var(--gl-warn-s); animation:gl-pulse 1.6s ease-in-out infinite; }
@keyframes gl-pulse{ 50%{ box-shadow:0 0 0 7px rgba(255,209,102,.25); } }
@media (prefers-reduced-motion:reduce){ .gl-tl__s--wait i{ animation:none; } }

/* settings */
.gl-set summary{ cursor:pointer; display:flex; gap:10px; flex-wrap:wrap; align-items:baseline; }
.gl-set__row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-top:12px; }
.gl-set .field{ margin:0; }
.gl-set input[type=number]{ width:100%; padding:8px 10px; }
.gl-switch{ display:flex; gap:10px; align-items:flex-start; margin-top:10px; font-size:13px; line-height:1.45; cursor:pointer; }
.gl-switch input{ margin-top:3px; flex:none; }

/* the two columns: the work, and the agents' feed */
.gl-grid{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:14px; align-items:start; }
.gl-side{ position:sticky; top:72px; max-height:calc(100vh - 90px); overflow:auto; border-radius:14px; }
.gl-tabs{ margin-bottom:12px; }
.gl-tabs .stabs__t{ cursor:pointer; font:inherit; }
.gl-h3{ font-size:13px; font-weight:600; margin:16px 0 8px; }

.gl-empty .gl-how{ margin:10px 0 0; padding-left:20px; line-height:1.6; }
.gl-empty .gl-how li{ margin-bottom:6px; }

/* the review queue */
.gl-queue{ border-color:#F1D98A; box-shadow:0 0 0 3px #FFF4CC; }

/* an ad, as it would appear */
.gl-ads{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; align-items:start; }
.gl-ad{ display:flex; flex-direction:column; gap:8px; min-width:0; }
.gl-ad.is-out{ opacity:.55; }
.gl-ad__frame{ background:#fff; border:1px solid var(--gl-line); border-radius:12px; overflow:hidden; cursor:pointer; transition:box-shadow .2s, transform .2s; }
.gl-ad__frame:hover,.gl-ad__frame:focus-visible{ box-shadow:0 8px 24px -12px rgba(18,17,16,.35); transform:translateY(-1px); }
.gl-ad__hd{ display:flex; gap:8px; align-items:center; padding:8px 10px; }
.gl-ad__hd b{ display:block; font-size:12.5px; }
.gl-ad__hd small{ display:block; font-size:10.5px; color:#8A837A; }
.gl-ad__logo{ width:26px; height:26px; flex:none; border-radius:50%; background:#1D1B19; color:#fff; display:grid; place-items:center; font:600 12px/1 var(--f-sans); }
.gl-ad__tx{ margin:0; padding:0 10px 8px; font-size:12.5px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.gl-ad__img{ position:relative; aspect-ratio:1; background:#F2EFEA; }
.gl-ad--story .gl-ad__img{ aspect-ratio:9/16; max-height:340px; width:100%; }
.gl-ad__img .gl-pic{ position:absolute; inset:0; }
.gl-ad__ft{ display:flex; justify-content:space-between; gap:8px; align-items:center; padding:9px 10px; background:#F6F4F0; font-size:12.5px; }
.gl-ad__ft b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gl-ad__ft span,.gl-ad__ov span{ flex:none; padding:5px 10px; border-radius:6px; background:#E6E1D9; font-size:11.5px; font-weight:600; }
.gl-ad__ov{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:8px; align-items:flex-start; padding:40px 12px 14px;
  background:linear-gradient(transparent,rgba(0,0,0,.62)); color:#fff; font-size:14px; }
.gl-ad__ov span{ background:#fff; color:#121110; }
.gl-ad__meta{ display:flex; gap:4px; flex-wrap:wrap; }
.gl-ad__num{ margin:0; color:#4A4540; }
.gl-ad__acts{ display:flex; gap:6px; }
.gl-ad__acts .btn{ flex:1; }

/* the photo, with a Weave treatment hint */
.gl-pic{ display:block; overflow:hidden; background:linear-gradient(100deg,#EEEAE3 30%,#F7F5F1 50%,#EEEAE3 70%) 0 0/200% 100%; animation:gl-shimmer 1.4s linear infinite; }
.gl-pic img{ opacity:0; transition:opacity .25s ease; }
.gl-pic.is-in{ animation:none; background:#F2EFEA; } .gl-pic.is-in img{ opacity:1; }
@keyframes gl-shimmer{ to{ background-position:-200% 0; } }
@media (prefers-reduced-motion:reduce){ .gl-pic{ animation:none; } .gl-pic img{ transition:none; } }
.gl-pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.gl-pic.is-in img{ opacity:1; }
.gl-pic--s{ width:46px; height:46px; flex:none; border-radius:8px; }
.gl-pic--m{ width:96px; height:96px; flex:none; border-radius:10px; }
.gl-fr{ padding:6px; }
.gl-fr--oak{ background:#B48A5C; } .gl-fr--black{ background:#1D1B19; } .gl-fr--white{ background:#fff; box-shadow:inset 0 0 0 1px #E6E1D9; padding:9px; } .gl-fr--float{ background:#E9E5DE; padding:8px; }
.gl-fr img{ box-shadow:0 2px 8px rgba(0,0,0,.25); }
.gl-pic--s.gl-fr{ padding:3px; } .gl-pic--s.gl-fr--white{ padding:4px; }

.gl-pol--pass{ background:var(--gl-ok-s) !important; color:var(--gl-ok) !important; }
.gl-pol--flag{ background:var(--gl-warn-s) !important; color:var(--gl-warn) !important; }
.gl-pol--block{ background:var(--gl-bad-s) !important; color:var(--gl-bad) !important; }
.adm .gl-vc--scale{ background:var(--gl-ok); color:#fff; } .adm .gl-vc--kill{ background:var(--gl-bad); color:#fff; }
.adm .gl-vc--hold{ background:#E9E5DE; } .adm .gl-vc--learning{ background:#F0ECE5; color:#8A837A; } .adm .gl-vc--control{ background:#1D1B19; color:#fff; }
.gl-v{ font-weight:600; }
.gl-vt--scale{ color:var(--gl-ok); } .gl-vt--kill{ color:var(--gl-bad); } .gl-vt--hold{ color:#6B6660; } .gl-vt--learning{ color:#8A837A; } .gl-vt--control{ color:#121110; }
.gl-truth{ color:#6250d6; font-weight:500; }
.adm .chip.gl-truth{ background:#ECE9FB; }

/* copy lines with their policy result */
.gl-lines{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.gl-line{ padding:8px 10px; border-radius:8px; background:#F6F4F0; font-size:13px; display:flex; flex-direction:column; gap:3px; }
.gl-line--block{ background:var(--gl-bad-s); } .gl-line--block > span{ text-decoration:line-through; color:#8C2F26; }
.gl-line--flag{ background:var(--gl-warn-s); }
.gl-line.is-excl > span{ text-decoration:line-through; }
.gl-iss{ font-size:11.5px; color:#4A4540; } .gl-iss--block{ color:#8C2F26; } .gl-iss--flag{ color:var(--gl-warn); }

/* mutation briefs */
.gl-qbriefs{ display:grid; gap:12px; }
.gl-brief{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; padding:12px; border:1px solid var(--gl-line); border-radius:12px; background:#FBFAF8; }
.gl-brief__pics{ display:flex; align-items:center; gap:8px; }
.gl-arrow{ color:#8A837A; font-size:18px; }
.gl-brief__b{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.gl-brief__b p{ margin:0; }
.gl-brief__f{ display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.gl-weave{ color:#6250d6; }
.gl-pre{ white-space:pre-wrap; word-break:break-word; background:#F2EFEA; padding:8px; border-radius:8px; font-size:11.5px; max-height:220px; overflow:auto; }

/* report */
.gl-report{ border-color:#BFE3DA; }
.gl-rep{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr); gap:18px; margin-bottom:8px; }
.gl-hero{ display:flex; flex-direction:column; gap:4px; }
.gl-hero > b{ font-family:var(--f-display); font-size:52px; font-weight:400; line-height:1; color:var(--gl-ok); }
.gl-lineage ol{ list-style:none; margin:6px 0 0; padding:0; display:grid; gap:8px; }
.gl-lineage li{ display:flex; gap:10px; align-items:center; font-size:13px; }

/* charts */
.gl-charts{ display:grid; grid-template-columns:minmax(0,1fr); gap:22px; }
.gl-fig{ margin:0; min-width:0; }
.gl-fig figcaption{ font-size:12.5px; color:#4A4540; margin-bottom:6px; font-weight:500; }
.gl-c{ width:100%; height:auto; display:block; overflow:visible; }
.gl-c__grid{ stroke:#EFEBE4; stroke-width:1; } .gl-c__x0{ stroke:#C8C2B8; }
.gl-c__sep{ stroke:#D9D3C9; stroke-dasharray:3 4; }
.gl-c__y,.gl-c__x,.gl-c__lab,.gl-c__val{ font-size:11px; fill:#6B6660; font-family:var(--f-sans); }
.gl-c__y{ text-anchor:end; } .gl-c__x{ text-anchor:middle; } .gl-c__lab{ text-anchor:end; fill:#33302B; } .gl-c__val{ fill:#33302B; }
.gl-c__l{ fill:none; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; }
.gl-c__l--best{ stroke:var(--gl-s1); } .gl-c__l--all{ stroke:var(--gl-s2); } .gl-c__l--ctl{ stroke:var(--gl-ctl); stroke-dasharray:5 4; }
circle.gl-c__l--best{ fill:var(--gl-s1); stroke:#fff; } circle.gl-c__l--all{ fill:var(--gl-s2); stroke:#fff; } circle.gl-c__l--ctl{ fill:var(--gl-ctl); stroke:#fff; stroke-dasharray:none; }
.gl-c__cross{ stroke:#8A837A; stroke-width:1; }
.gl-c__hit,.gl-c__hitb{ fill:transparent; }
.gl-c__thr{ stroke:#8A837A; stroke-dasharray:2 3; }
.gl-c__bar:hover rect:not(.gl-c__hitb){ opacity:.8; }
.gl-v--scale{ fill:var(--gl-ok); } .gl-v--kill{ fill:var(--gl-bad); } .gl-v--hold{ fill:#B9B2A7; } .gl-v--learning{ fill:#DDD7CD; }
.gl-legend{ display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:#4A4540; margin-bottom:4px; }
.gl-sw{ display:inline-block; width:14px; height:3px; border-radius:2px; vertical-align:middle; margin-right:6px; }
.gl-sw--best{ background:var(--gl-s1); } .gl-sw--all{ background:var(--gl-s2); } .gl-sw--ctl{ background:repeating-linear-gradient(90deg,var(--gl-ctl) 0 5px,transparent 5px 8px); }
.gl-tip{ position:absolute; z-index:60; pointer-events:none; max-width:260px; padding:8px 10px; border-radius:8px; background:#1D1B19; color:#fff; font-size:12px; line-height:1.5; box-shadow:0 8px 24px -8px rgba(0,0,0,.4); }

/* winners & losers */
.gl-board{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:10px; align-items:start; }
.gl-col--empty{ display:none; }
.gl-col{ background:#FBFAF8; border:1px solid var(--gl-line); border-radius:12px; padding:10px; min-width:0; }
.gl-col h3{ margin:0; font-size:13px; display:flex; gap:6px; align-items:center; }
.gl-col p{ margin:2px 0 8px; }
.gl-col--scale{ border-top:3px solid var(--gl-ok); } .gl-col--kill{ border-top:3px solid var(--gl-bad); } .gl-col--hold{ border-top:3px solid #B9B2A7; }
.gl-col--learning{ border-top:3px solid #DDD7CD; } .gl-col--control{ border-top:3px solid #1D1B19; }
.gl-mini{ display:flex; gap:8px; align-items:flex-start; width:100%; text-align:left; padding:7px; margin-bottom:6px; border:1px solid var(--gl-line); border-radius:10px; background:#fff; cursor:pointer; font:inherit; color:inherit; }
.gl-mini:hover{ border-color:#C8C2B8; }
.gl-mini > span:last-child{ display:flex; flex-direction:column; gap:2px; min-width:0; font-size:12.5px; }
.gl-mini b{ overflow-wrap:anywhere; }
.gl-breed{ color:#6250d6; }

/* generation tree */
.gl-treew{ overflow-x:auto; padding-bottom:6px; }
.gl-tree{ position:relative; }
.gl-tree__svg{ position:absolute; left:0; top:0; pointer-events:none; }
.gl-tree__h{ position:absolute; top:0; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#8A837A; }
.gl-edge{ fill:none; stroke:#C8C2B8; stroke-width:1.5; }
.gl-edge.is-champ{ stroke:var(--accent); stroke-width:3; }
.gl-node{ position:absolute; display:flex; gap:8px; align-items:center; padding:8px; border:1px solid var(--gl-line); border-radius:12px; background:#fff; font-size:12px; box-sizing:border-box; }
.gl-node > span{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.gl-node b{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gl-node.is-champ{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.gl-node.is-out{ opacity:.5; }

/* the agents' feed */
.gl-feed{ margin:0; }
.gl-agents{ display:flex; flex-wrap:wrap; gap:6px 12px; font-size:11.5px; color:#4A4540; margin-bottom:12px; }
.gl-agents span{ display:flex; gap:5px; align-items:center; }
.gl-av{ flex:none; display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#fff; font-style:normal; font-size:9.5px; font-weight:700; letter-spacing:.02em; }
.gl-agents .gl-av{ width:20px; height:20px; font-size:8px; }
.gl-ev{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.gl-ev > li{ display:flex; gap:10px; }
.gl-ev > li > div{ display:flex; flex-direction:column; gap:2px; min-width:0; font-size:13px; }
.gl-ev details summary{ cursor:pointer; color:#6B6660; }
.gl-ev ul{ margin:4px 0 0; padding-left:16px; font-size:12px; color:#4A4540; line-height:1.45; }
.gl-ev ul li{ margin-bottom:3px; }
.gl-why{ padding-left:18px; line-height:1.5; }

/* one creative in full */
.gl-drawer{ position:fixed; inset:0; z-index:80; background:rgba(18,17,16,.35); display:flex; justify-content:flex-end; }
.gl-drawer[hidden]{ display:none; }
.gl-drawer__in{ width:min(560px,100%); height:100%; overflow:auto; background:#fff; padding:18px 20px 40px; box-shadow:-12px 0 40px -16px rgba(0,0,0,.4); }
.gl-drawer__ad{ max-width:280px; margin:10px 0; }
.gl-kpis--d{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.gl-kpis--d .kpi__v{ font-size:17px; }

.gl-flt{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.gl-flt select{ padding:6px 8px; border-radius:8px; border:1px solid #D9D3C9; background:#fff; font:inherit; font-size:13px; }

@media (max-width:1180px){ .gl-grid{ grid-template-columns:minmax(0,1fr); } .gl-side{ position:static; max-height:none; } }
@media (max-width:760px){
  .gl-rep{ grid-template-columns:minmax(0,1fr); }
  .gl-brief{ grid-template-columns:minmax(0,1fr); }
  .gl-ads{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .gl-tl{ flex-direction:column; gap:14px; }
  .gl-tl__g > ol{ overflow-x:auto; padding-bottom:4px; }
  .gl-tl__s{ flex:0 0 72px; }
  .gl-kpis--d{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gl-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* ---------- first-time clarity ---------- */
/* how this works */
.gl-how{ background:#fff; border:1px solid var(--gl-line); border-radius:14px; padding:14px 16px; margin-bottom:12px; }
.gl-how__h{ display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.gl-how__h h2{ margin:0; font-size:15px; font-weight:600; }
.gl-how__s{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gl-how__s li{ display:flex; flex-direction:column; gap:4px; padding:10px 12px; border-radius:10px; background:#F6F4F0; font-size:12.5px; color:#4A4540; border:1px solid transparent; }
.gl-how__s li b{ display:flex; gap:8px; align-items:flex-start; color:#121110; font-size:13.5px; line-height:1.3; }
.gl-how__n{ flex:none; display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#1D1B19; color:#fff; font-size:12px; }
.gl-how__s li.is-now{ background:var(--accent-soft); border-color:var(--accent); }
.gl-how__s li.is-now .gl-how__n{ background:var(--accent); }
.gl-how__s li.is-done{ opacity:.65; } .gl-how__s li.is-done .gl-how__n{ background:var(--gl-ok); }
.gl-how__note{ margin:10px 0 0; font-size:13px; color:#33302B; }

/* the "Next" box: what to do now */
.gl-next{ background:#fff; border:2px solid var(--accent); border-radius:14px; padding:14px 16px; margin-bottom:12px; box-shadow:0 6px 20px -14px rgba(11,127,140,.6); }
.gl-next.is-you{ border-color:#E0A31B; box-shadow:0 0 0 4px #FFF4CC; }
.gl-next.is-busy{ border-style:dashed; }
.gl-next__row{ display:flex; gap:12px 20px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.gl-next__row > div:first-child{ display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 320px; }
.gl-next__row b{ font-size:16px; }
.gl-next__k{ align-self:flex-start; padding:2px 9px; border-radius:999px; background:var(--accent); color:#fff; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; }
.gl-next__k--you{ background:#E0A31B; color:#1D1B19; } .gl-next__k--done{ background:var(--gl-ok); }
.gl-next__btns{ display:flex; gap:8px; flex-wrap:wrap; }
.gl-next__foot{ display:flex; gap:8px 12px; align-items:flex-start; flex-wrap:wrap; margin-top:12px; padding-top:12px; border-top:1px solid #F0ECE5; }
.gl-auto__why{ flex:1 1 300px; font-size:12.5px; color:#4A4540; line-height:1.45; }
.gl-next__tags{ display:flex; gap:6px 10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.gl-waitlist{ list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:6px; max-height:260px; overflow:auto; }
.gl-wl{ width:100%; text-align:left; display:flex; gap:6px; align-items:center; padding:6px 8px; border:1px solid var(--gl-line); border-radius:8px; background:#FBFAF8; font:inherit; font-size:12.5px; cursor:pointer; color:inherit; }
.gl-wl:hover{ border-color:#C8C2B8; background:#fff; }
.gl-spin{ flex:none; width:22px; height:22px; border-radius:50%; border:3px solid var(--accent-soft); border-top-color:var(--accent); animation:gl-rot .8s linear infinite; }
@keyframes gl-rot{ to{ transform:rotate(360deg); } }
.gl-bar{ height:6px; border-radius:999px; background:#F0ECE5; margin-top:12px; overflow:hidden; }
.gl-bar span{ display:block; height:100%; background:var(--accent); transition:width .4s ease; }
.is-busy .gl-next__row{ justify-content:flex-start; }

/* AI status */
.adm .gl-aichip{ font-weight:600; }
.gl-aireason{ flex-basis:100%; color:#8C2F26; } .gl-aireason.gl-ok{ color:var(--gl-ok); }

/* (i) */
.gl-i{ display:inline-grid; place-items:center; width:15px; height:15px; border-radius:50%; border:1px solid #A9A296; color:#6B6660; font:italic 600 10px/1 Georgia,serif; cursor:help; vertical-align:middle; margin-left:2px; user-select:none; }
.gl-i:hover,.gl-i:focus-visible{ background:#1D1B19; color:#fff; border-color:#1D1B19; outline:none; }
.gl-i--demo{ cursor:default; }
.gl-tip b{ font-weight:600; }
.gl-gloss{ margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:10px 16px; }
.gl-gloss div{ padding:8px 0; border-bottom:1px solid #F0ECE5; }
.gl-gloss dt{ font-weight:600; font-size:13px; } .gl-gloss dd{ margin:3px 0 0; font-size:12.5px; color:#4A4540; line-height:1.45; }

/* policy chips open the policy detail */
.adm button.chip{ border:0; cursor:pointer; font:inherit; font-size:11.5px; font-weight:500; }
.adm button.gl-pol:hover{ filter:brightness(.95); text-decoration:underline; }
.gl-ad.is-saving{ opacity:.8; }
.gl-iss--ok{ color:var(--gl-ok); }
.gl-pol-sec{ margin-top:8px; padding:10px 12px; border-radius:10px; background:#FBFAF8; border:1px solid var(--gl-line); }
.gl-pol-sec--flag{ background:#FFFBF0; border-color:#F1D98A; } .gl-pol-sec--block{ background:#FDF5F4; border-color:#EBC3BE; }
.gl-rules ul{ margin:6px 0 0; padding-left:16px; line-height:1.5; }
.gl-drawer__dec{ position:sticky; bottom:-40px; margin:12px -20px 0; padding:10px 20px 14px; background:#fff; border-top:1px solid var(--gl-line); }
.gl-note{ width:100%; margin:4px 0 8px; padding:8px 10px; border:1px solid #D9D3C9; border-radius:8px; font:inherit; font-size:13px; }
.gl-brief.is-hi{ box-shadow:0 0 0 3px #FFD166; }

/* the verdict */
.gl-verdict{ font-family:var(--f-display); font-size:clamp(22px,2.4vw,28px); line-height:1.2; margin:0 0 14px; }
.gl-report--no_winner{ border-color:#E6E1D9; } .gl-report--unconfirmed{ border-color:#F1D98A; }
.gl-hero > b.is-flat{ color:#6B6660; }
.gl-report--unconfirmed .gl-hero > b{ color:var(--gl-warn); }
ol.gl-lineage{ list-style:none; margin:6px 0 0; padding:0; display:grid; gap:8px; }
ol.gl-lineage li{ display:flex; gap:10px; align-items:center; font-size:13px; }

/* chart axis titles */
.gl-c__ax{ font-size:11.5px; fill:#4A4540; font-weight:500; font-family:var(--f-sans); }
.gl-c__thrl{ fill:#8A837A; }

@media (max-width:900px){ .gl-how__s{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .gl-how__s{ grid-template-columns:minmax(0,1fr); } .gl-next__row b{ font-size:15px; } .gl-next__btns .btn{ flex:1 1 auto; } }

/* Autopilot ON is never subtle */
.gl-auto.is-on{ background:var(--accent-soft); border-color:var(--accent); color:var(--accent-d); }
.gl-auto.is-on b{ letter-spacing:.02em; }
.gl-auto:has(input:disabled){ opacity:.6; cursor:not-allowed; }
.btn[disabled]{ opacity:.5; cursor:not-allowed; }
