/* Stable scene footprint; the complete matrix is the no-JS default. */
.rival-lab{--rival-p:#b9e39b;--rival-x:#a9e1f5;--rival-y:#d1c1ff;--rival-z:#f2c49b}
.rival-steps{display:flex;gap:18px;padding:0 24px 18px;font:9px ui-monospace,monospace;color:#adbbb0}.rival-lab[data-scene="1"] .rival-steps span:nth-child(1),.rival-lab[data-scene="2"] .rival-steps span:nth-child(2),.rival-lab[data-scene="3"] .rival-steps span:nth-child(3){color:#e4f3d9}
.rival-stage{display:grid;margin:0 16px;min-height:420px}.rival-scene{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transform:translateY(12px) scale(.985);transition:opacity .65s,transform .65s,visibility .65s}.rival-lab[data-scene="1"] [data-rival-scene="1"],.rival-lab[data-scene="2"] [data-rival-scene="2"],.rival-lab[data-scene="3"] [data-rival-scene="3"]{opacity:1;visibility:visible;transform:none}
.rival-network{text-align:center;align-self:center}.rival-radar{position:relative;height:255px;max-width:360px;margin:0 auto}.rival-radar>span{position:absolute;left:50%;top:50%;width:210px;height:210px;border:1px solid #65816d44;border-radius:50%;transform:translate(-50%,-50%)}.rival-radar>span:nth-child(2){width:150px;height:150px}.rival-radar>span:nth-child(3){width:85px;height:85px;box-shadow:0 0 55px #c5e6a422}
.rival-own{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;background:#c5e6a4;color:#233c2a;padding:15px 20px;border-radius:14px;font-size:24px;font-weight:700;box-shadow:0 0 0 7px #c5e6a40c,0 12px 50px #0005}.rival-own>span{font-size:17px;text-align:left}.rival-own small{display:block;font:7px ui-monospace,monospace;letter-spacing:.1em;margin-top:4px}.rival-node{position:absolute;top:12%;left:14%;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#254135;border:1px solid var(--rival-x);color:var(--rival-x);font-size:18px}.rival-node small{position:absolute;top:52px;white-space:nowrap;font-size:10px;color:#d9e7dc}.rival-y{top:65%;left:77%;border-color:var(--rival-y);color:var(--rival-y)}
.rival-network>strong{font-size:20px;color:#f0f5eb}.geo-lab .rival-network>p{font-size:14px;color:#b9c9bc;margin:6px 0 22px}.rival-scanning{display:inline-flex;align-items:center;gap:8px;font:9px ui-monospace,monospace;color:#bfd1c1}.rival-scanning i{width:5px;height:5px;background:#c5e6a4;border-radius:50%;box-shadow:0 0 12px #c5e6a4}
.rival-chat{background:#f5f8f1;border:1px solid #ffffff50;border-radius:14px;padding:22px;align-self:center;color:#233b2c;box-shadow:0 10px 40px #0002}.rival-chat-head{display:flex;align-items:center;gap:9px;font-size:12px}.rival-chat-head>span:last-child{margin-left:auto;font:9px ui-monospace,monospace;color:#617365}.rival-spark{font-size:23px;color:#48624b}.rival-question{background:#e5ecdf;border:1px solid #d7e1cf;border-radius:12px 12px 3px 12px;padding:13px 15px;margin:22px 0 20px 12px;min-height:80px;font-size:12px;line-height:1.8}.rival-answer{min-height:132px;font-size:13px;line-height:2}.rival-answer mark{padding:2px 3px;border-radius:4px}.rival-answer mark[data-brand="p"]{background:#d7eac6}.rival-answer mark[data-brand="x"]{background:#d3edf6}.rival-answer mark[data-brand="y"]{background:#e2d9fa}.rival-answer mark[data-brand="z"]{background:#f6dfc9}.rival-caret{display:none;width:1px;height:12px;background:#48624b;margin-left:2px}.rival-lab.is-typing .rival-caret{display:inline-block}
.rival-brands{display:flex;flex-wrap:wrap;gap:6px;min-height:63px;align-content:start;margin-top:16px}.rival-brands>span{font-size:10px;border:1px solid #c8d5c3;background:#fff;border-radius:7px;padding:5px 8px;transition:opacity .4s,transform .4s}.rival-brands small{font-size:8px;color:#6b4d30;margin-left:4px}.rival-brands [data-rival-brand="z"]{border-color:#d8af87;background:#fcf0e5}.rival-extract{display:flex;justify-content:space-between;gap:8px;font:8px ui-monospace,monospace;color:#5e7363;border-top:1px solid #d6e0d0;padding-top:14px;margin-top:4px}
.rival-results{align-self:start}.rival-matrix-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 4px 16px}.rival-matrix-title strong{color:#e5efde;font-size:16px}.rival-matrix-title>span{font:8px ui-monospace,monospace;color:#afc2b3}.rival-matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed}.rival-matrix th,.rival-matrix td{height:46px;padding:8px;border-bottom:1px solid #42574a;text-align:center;transition:background .6s}.rival-matrix th:first-child{width:46%;text-align:left}.rival-matrix thead{font:9px ui-monospace,monospace;color:#a9beae}.rival-matrix tbody th{font-weight:500;color:#e3ece0}.rival-matrix th small{font-size:7px;color:var(--rival-z);margin-left:6px}.rival-brand-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:8px}.rival-color-p{color:var(--rival-p)}.rival-color-x{color:var(--rival-x)}.rival-color-y{color:var(--rival-y)}.rival-color-z{color:var(--rival-z)}.rival-dot{font-size:15px;text-shadow:0 0 16px currentColor}.rival-absent{color:#889c8e;font-size:14px}.rival-matrix tbody tr{transition:opacity .55s,transform .55s}.rival-lab.is-gap .rival-gap,.rival-lab:not(.is-enhanced) .rival-gap{background:#d1c1ff16}.rival-lab.is-gap tr:first-child .rival-gap,.rival-lab:not(.is-enhanced) tr:first-child .rival-gap{box-shadow:inset 0 0 0 1px #d1c1ff9c;border-radius:5px;background:#d1c1ff25}
.rival-key{display:grid;gap:4px;font:8px/1.5 ui-monospace,monospace;color:#afc3b2;margin:14px 4px}.rival-key b{font-size:10px;line-height:1.5;font-weight:400;margin-left:9px}.rival-lab.is-gap .rival-gap-label{color:#e2d5ff}.rival-insight{border:1px solid #708663;background:#283f30;border-radius:10px;padding:14px;margin-top:16px;transition:opacity .65s,transform .65s}.rival-insight-label{color:#c5e6a4;font:8px ui-monospace,monospace;letter-spacing:.06em}.geo-lab .rival-insight p{font-size:12px;line-height:1.7;color:#e1ebda;margin:8px 0 10px}.rival-insight details{border-top:1px solid #576c4e;padding-top:8px}.rival-insight summary{font-size:11px;cursor:pointer;color:#d2ebbb;list-style:none;display:flex;justify-content:space-between}.rival-insight summary::-webkit-details-marker{display:none}.rival-insight summary:focus-visible{outline:2px solid #c5e6a4;outline-offset:3px}.rival-insight details>div{padding-top:12px}.rival-insight details strong{color:#f0f4eb;font-size:11px;font-weight:500}
.rival-takeaway{padding:20px 22px 2px;font-size:12px;line-height:1.7;color:#d7e6ce;min-height:62px}.rival-lab.is-enhanced .rival-insight:not(.is-visible){opacity:0;visibility:hidden;transform:translateY(9px)}.rival-lab.is-enhanced .rival-matrix tr.is-pending{opacity:0;transform:translateY(8px)}.rival-lab.is-enhanced .rival-brands>span:not(.is-visible){opacity:0;transform:translateY(5px)}.rival-lab.is-running[data-scene="1"] .rival-radar>span:first-child{animation:rival-pulse 2.4s ease-out infinite}@keyframes rival-pulse{0%{opacity:.3;transform:translate(-50%,-50%) scale(.65)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}
@media(max-width:480px){.rival-steps{gap:15px;padding:0 16px 16px;font-size:8px}.rival-stage{margin:0 10px}.rival-chat{padding:16px}.rival-matrix-title strong{font-size:14px}.rival-matrix th,.rival-matrix td{padding:6px}.rival-matrix tbody th{font-size:11px}.rival-matrix th small{margin-left:3px;font-size:6px}.rival-brand-dot{margin-right:5px}.rival-question{margin-left:0}.rival-takeaway{padding-left:16px;padding-right:16px}.rival-radar{max-width:280px}.rival-y{left:76%}.rival-answer{font-size:12px}}
/* Override the site's light editorial table treatment inside the dark lab. */
.rival-lab .rival-matrix th,.rival-lab .rival-matrix td{background:transparent;border-color:#42574a;text-transform:none;letter-spacing:0;border-radius:0}
.rival-lab .rival-matrix thead th{color:#a9beae;font:9px ui-monospace,monospace}
.rival-lab .rival-matrix tbody th{font-size:12px;line-height:1.5;font-weight:500}
.rival-lab.is-gap .rival-matrix .rival-gap,.rival-lab:not(.is-enhanced) .rival-matrix .rival-gap{background:#d1c1ff16}
.rival-lab.is-gap .rival-matrix tr:first-child .rival-gap,.rival-lab:not(.is-enhanced) .rival-matrix tr:first-child .rival-gap{border-radius:5px;background:#d1c1ff25}
.rival-lab .rival-matrix,.rival-lab .rival-matrix thead,.rival-lab .rival-matrix tbody,.rival-lab .rival-matrix tr{background:transparent}
