/* Native Control Analytics. Mobile first. */
.cra{display:grid;gap:12px;min-width:0}
.cra-head{display:grid;gap:9px}
.cra-head__copy h1{margin:0;font-size:24px;letter-spacing:-.03em}
.cra-head__copy p{margin:4px 0 0;color:var(--cr-dim);font-size:11px;line-height:1.5}
.cra-property,.cra-date{width:100%;min-height:44px;border:1px solid var(--cr-line-strong);border-radius:9px;background:var(--cr-panel);color:var(--cr-text);padding:9px 10px;font:inherit;font-size:max(16px,1rem)}
.cra-ranges,.cra-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0 3px}
.cra-ranges::-webkit-scrollbar,.cra-tabs::-webkit-scrollbar{display:none}
.cra-range,.cra-tab{flex:none;min-height:38px;border:1px solid var(--cr-line);border-radius:999px;background:var(--cr-panel);color:var(--cr-dim);padding:7px 12px;font:700 12px/1 inherit;white-space:nowrap;cursor:pointer}
.cra-range.is-on,.cra-tab.is-on{border-color:rgba(229,56,59,.72);background:rgba(229,56,59,.13);color:#fff}
.cra-custom{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;border:1px solid var(--cr-line);border-radius:10px;background:var(--cr-panel)}
.cra-custom[hidden]{display:none}.cra-custom label{display:grid;gap:5px;color:var(--cr-faint);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.cra-state{display:flex;align-items:center;gap:7px;color:var(--cr-faint);font-size:10px}.cra-state i{width:7px;height:7px;border-radius:50%;background:var(--cr-ok)}.cra-state.is-loading i{background:var(--cr-ai);animation:craPulse 1s ease-in-out infinite}.cra-state.is-error i{background:var(--cr-bad)}
@keyframes craPulse{50%{opacity:.3}}
.cra-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:8px}
.cra-kpi{min-width:0;padding:11px;border:1px solid var(--cr-line);border-radius:10px;background:var(--cr-panel)}
.cra-kpi small{display:block;color:var(--cr-faint);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.cra-kpi strong{display:block;margin-top:6px;font-size:clamp(20px,7vw,29px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.cra-kpi span{display:block;margin-top:5px;color:var(--cr-dim);font-size:9px}
.cra-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.cra-card{min-width:0;padding:12px;border:1px solid var(--cr-line);border-radius:12px;background:var(--cr-panel)}.cra-card--wide{grid-column:1/-1}.cra-card h2{margin:0;font-size:13px}.cra-card p{margin:4px 0 9px;color:var(--cr-dim);font-size:10px;line-height:1.45}
.cra-svg{display:block;width:100%;height:auto}.cra-axis{fill:var(--cr-faint);font-size:20px}.cra-gridline{stroke:rgba(255,255,255,.07);stroke-width:1}.cra-area{fill:rgba(63,147,210,.12)}.cra-line{fill:none;stroke:#3f93d2;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.cra-line--alt{stroke:#e5383b}.cra-chart{display:grid;gap:8px;min-width:0}.cra-chart__readout{display:flex;flex-wrap:wrap;gap:5px 9px;align-items:baseline;min-height:35px;padding:8px 10px;border:1px solid var(--cr-line);border-radius:9px;background:rgba(255,255,255,.025);font-size:11px}.cra-chart__readout b{font-size:12px;font-variant-numeric:tabular-nums}.cra-chart__readout span{color:var(--cr-dim);font-weight:800;font-variant-numeric:tabular-nums}.cra-chart__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.cra-chart__frame{min-width:0}.cra-chart--hourly .cra-chart__frame{min-width:1080px}.cra-point{cursor:pointer;outline:none}.cra-point__hit{fill:transparent}.cra-point__guide{stroke:rgba(255,255,255,.18);stroke-width:1;stroke-dasharray:3 4;opacity:0;pointer-events:none}.cra-point__dot{fill:#3f93d2;stroke:#12161c;stroke-width:1.5;pointer-events:none}.cra-point__dot--alt{fill:#e5383b}.cra-point:hover .cra-point__guide,.cra-point:focus .cra-point__guide,.cra-point.is-on .cra-point__guide{opacity:1}.cra-point:hover .cra-point__dot,.cra-point:focus .cra-point__dot,.cra-point.is-on .cra-point__dot{stroke:#fff;stroke-width:2.6}.cra-point:focus-visible{filter:drop-shadow(0 0 4px rgba(255,255,255,.45))}
.cra-donut-wrap{display:grid;grid-template-columns:minmax(108px,.75fr) minmax(0,1.25fr);gap:10px;align-items:center}.cra-donut{width:100%;max-width:145px;margin:auto;transform:rotate(-90deg)}.cra-donut__track{fill:none;stroke:rgba(255,255,255,.06);stroke-width:14}.cra-donut__seg{fill:none;stroke-width:14;cursor:pointer;outline:none;transition:stroke-width .14s ease,opacity .14s ease}.cra-donut__seg:hover,.cra-donut__seg:focus,.cra-donut__seg.is-on{stroke-width:19;opacity:1}
.cra-legend{display:grid;gap:6px}.cra-legend__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;font-size:10px}.cra-legend__row--button{width:100%;padding:6px;border:0;border-radius:7px;background:transparent;color:inherit;text-align:left;cursor:pointer}.cra-legend__row--button:hover,.cra-legend__row--button:focus-visible,.cra-legend__row--button.is-on{background:rgba(255,255,255,.07);outline:none}.cra-legend__row--button.is-on .cra-legend__value{color:#fff}.cra-legend__swatch{width:8px;height:8px;border-radius:50%;background:var(--swatch)}.cra-legend__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cr-dim)}.cra-legend__value{font-weight:800}
.cra-rank{display:grid;gap:4px}.cra-rank__row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:32px;padding:7px 9px;border:0;border-radius:8px;overflow:hidden;background:transparent;color:inherit;text-align:left;font:inherit;font-size:10px;cursor:pointer}.cra-rank__row:hover,.cra-rank__row:focus-visible,.cra-rank__row:active{outline:none;background:rgba(255,255,255,.065)}.cra-rank__row:hover .cra-rank__value,.cra-rank__row:focus-visible .cra-rank__value,.cra-rank__row:active .cra-rank__value{color:#fff;font-size:12px}.cra-rank__fill{position:absolute;inset:0 auto 0 0;width:var(--pct);background:rgba(63,147,210,.12)}.cra-rank__label,.cra-rank__value{position:relative;z-index:1}.cra-rank__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cra-rank__value{font-weight:800}
.cra-funnel{display:grid;gap:7px}.cra-funnel__row{display:grid;grid-template-columns:minmax(6rem,.8fr) minmax(0,1.2fr) auto;gap:7px;align-items:center;width:100%;padding:6px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;font:inherit;font-size:10px;cursor:pointer}.cra-funnel__row:hover,.cra-funnel__row:focus-visible,.cra-funnel__row:active{outline:none;background:rgba(255,255,255,.065)}.cra-funnel__row:hover b,.cra-funnel__row:focus-visible b,.cra-funnel__row:active b{color:#fff;font-size:12px}.cra-funnel__track{height:11px;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}.cra-funnel__fill{display:block;height:100%;width:var(--pct);min-width:2px;border-radius:999px;background:var(--cr-ruby-hot)}
.cra-scroll,.cra-flow-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.cra-table{width:100%;min-width:640px;border-collapse:collapse;font-size:10px}.cra-table th,.cra-table td{padding:8px;border-bottom:1px solid var(--cr-line);text-align:left;vertical-align:top}.cra-table th{color:var(--cr-faint);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.cra-table .n{text-align:right;font-variant-numeric:tabular-nums}.cra-table code{white-space:normal;word-break:break-all}
.cra-flow{display:block;min-width:720px;width:100%;height:auto}.cra-flow__edge{fill:none;stroke:rgba(159,170,184,.36);stroke-linecap:round}.cra-flow__node{fill:#171b21;stroke:#3a4654;stroke-width:1}.cra-flow__node--accent{fill:#172332}.cra-flow__node--outcome{fill:#26191b}.cra-flow__label{fill:#f4f5f7;font-size:11px;font-weight:700}.cra-flow__note{fill:#9ca3af;font-size:9px}
/* Reach vs repeat is drawn at the card's real pixel width, so these sizes
   are the sizes on screen: no viewBox scaling to compensate for. */
.cra-reach{display:grid;gap:10px;min-width:0}
.cra-reach__readout{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid rgba(229,56,59,.32);border-radius:10px;background:rgba(229,56,59,.07)}
.cra-reach__name{display:flex;gap:8px;align-items:baseline;min-width:0}.cra-reach__name span{flex:none;color:#ff9a9c;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.cra-reach__name b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.cra-reach__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.cra-reach__facts div{min-width:0}.cra-reach__facts dt{color:var(--cr-faint);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cra-reach__facts dd{margin:2px 0 0;font-size:19px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cra-card .cra-reach__math{margin:0;color:var(--cr-dim);font-size:11px}
.cra-reach__svg{display:block;width:100%;height:auto}
.cra-reach__grid{stroke:rgba(255,255,255,.07);stroke-width:1}.cra-reach__base{stroke:rgba(255,255,255,.24)}
.cra-reach__tick{fill:var(--cr-dim);font-size:11px;font-variant-numeric:tabular-nums}.cra-reach__title{fill:var(--cr-dim);font-size:11px;font-weight:700}
.cra-reach__pt{cursor:pointer}.cra-reach__hit{fill:transparent}.cra-reach__dot{fill:#3f93d2;fill-opacity:.85;stroke:#12161c;stroke-width:1.5}.cra-reach__pt.is-on .cra-reach__dot{fill:#e5383b;fill-opacity:1;stroke:#fff}
.cra-reach__label{fill:#dfe5ec;font-size:11px;paint-order:stroke;stroke:#12161c;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.cra-reach__label.is-on{fill:#fff;font-weight:800}
.cra-reach__cross{stroke:#e5383b;stroke-width:1;stroke-dasharray:3 3}
.cra-reach__chip rect{fill:#e5383b}.cra-reach__chip text{fill:#fff;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.cra-reach__list{display:grid;gap:2px;min-width:0}
.cra-reach__row{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 4.4rem 3.4rem;gap:8px;align-items:center;min-height:40px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--cr-text);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.cra-reach__row>span{text-align:right;font-variant-numeric:tabular-nums}.cra-reach__row>span:first-child{text-align:left;color:var(--cr-faint)}.cra-reach__row>.cra-reach__track{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cra-reach__row--head{min-height:26px;color:var(--cr-faint);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:default}
.cra-reach__row.is-on{background:rgba(229,56,59,.14)}.cra-reach__row.is-on>span:first-child{color:#ff9a9c}
.cra-reach__more{justify-self:start;min-height:40px;padding:8px 12px;border:1px solid var(--cr-line-strong);border-radius:999px;background:transparent;color:var(--cr-text);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
/* Setup. */
.cra-setup__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:8px}.cra-setup__name{font-size:15px}
.cra-card .cra-setup__lede{margin:8px 0 0;color:var(--cr-text);font-size:12px}
.cra-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--cr-dim);font-size:11px;font-weight:800}.cra-status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.cra-status--ok{background:rgba(53,208,127,.12);color:var(--cr-ok)}.cra-status--warn{background:rgba(240,180,77,.12);color:var(--cr-warn)}.cra-status--bad{background:rgba(239,90,99,.12);color:var(--cr-bad)}
.cra-facts,.cra-dns{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:12px 0}.cra-facts div,.cra-dns div{min-width:0}.cra-facts dt,.cra-dns dt{color:var(--cr-faint);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cra-facts dd,.cra-dns dd{margin:3px 0 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.cra-dns code,.cra-steps code,.cra-facts code{overflow-wrap:anywhere}
.cra-steps{display:grid;gap:14px;margin:14px 0 0;padding:0;list-style:none;counter-reset:cra-step}
.cra-steps li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;font-size:12px;line-height:1.5}
.cra-steps li::before{counter-increment:cra-step;content:counter(cra-step);display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--cr-line-strong);border-radius:50%;font-size:11px;font-weight:800}
.cra-card .cra-steps p{margin:4px 0 8px;color:var(--cr-dim);font-size:12px}
.cra-code{margin:6px 0 8px;padding:10px;border:1px solid var(--cr-line);border-radius:8px;background:#0b0d10;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.cra-card .cra-ok{color:var(--cr-ok);font-size:12px}
.cra-sites{display:grid;gap:6px}
.cra-site{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:52px;padding:8px 10px;border:1px solid var(--cr-line);border-radius:10px}.cra-site.is-on{border-color:rgba(229,56,59,.5)}
.cra-site__copy{display:grid;gap:2px;min-width:0}.cra-site__copy b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cra-site__copy span{color:var(--cr-dim);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cra-site__on{color:var(--cr-faint);font-size:11px;font-weight:800}
.cra-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--cr-line)}
.cra-form label{display:grid;gap:5px;color:var(--cr-faint);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cra-input{width:100%;min-height:44px;border:1px solid var(--cr-line-strong);border-radius:9px;background:var(--cr-bg);color:var(--cr-text);padding:9px 10px;font:inherit;font-size:max(16px,1rem);letter-spacing:0;text-transform:none}
.cra-card .cra-form__msg{margin:0;color:#ffb7bb;font-size:12px}.cra-form__msg:empty{display:none}
.cra-card .cr-btn{min-height:40px;font-size:13px}
.cra-error{padding:9px;border:1px solid rgba(239,90,99,.38);border-radius:9px;background:rgba(239,90,99,.06);color:#ffb7bb;font-size:10px;line-height:1.5}
/* The panel is ~40% of a wide screen beside the globe, so its columns follow the PANEL's width (a container query),
   not the window's: mobile first, min-width only, the same steps as before. */
@container cra (min-width:36rem){.cra-head{grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);align-items:end}.cra-custom{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.cra-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.cra-reach__facts{grid-template-columns:repeat(4,minmax(0,1fr))}.cra-facts,.cra-dns{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container cra (min-width:54rem){.cra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cra-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.cra-axis{font-size:10px}.cra-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.cra-form__msg{grid-column:1/-1}}
/* ---------- Identity: source → song → account ----------
   Phone first: one column of paths and account cards; wider screens only
   give the table and cards more room. */
.cra-lead{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--cr-text)}
.cra-lead b{font-weight:800}
.cra-steps2{display:grid;gap:10px}
.cra-step2{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}
.cra-step2__n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(63,147,210,.16);color:#8cc4ee;font-size:11px;font-weight:800}
.cra-step2__top{display:flex;justify-content:space-between;gap:8px;font-size:12px}
.cra-step2__top strong{font-variant-numeric:tabular-nums}
.cra-step2__bar{height:8px;margin:6px 0 4px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.cra-step2__bar i{display:block;height:100%;width:var(--pct);border-radius:inherit;background:#3f93d2}
.cra-card .cra-step2 small{display:block;color:var(--cr-dim);font-size:11px;line-height:1.4}
.cra-paths{display:grid;gap:6px}
.cra-path{position:relative;display:grid;gap:4px;width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--cr-line);border-radius:10px;background:transparent;color:var(--cr-text);text-align:left;cursor:pointer;overflow:hidden;font:inherit}
.cra-path.is-on{border-color:#3f93d2;box-shadow:inset 0 0 0 1px #3f93d2}
.cra-path__fill{position:absolute;inset:0 auto 0 0;width:var(--pct);background:rgba(63,147,210,.1);pointer-events:none}
.cra-path__chain{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}
.cra-path__arrow{color:var(--cr-faint)}
.cra-path__acct{font-weight:800}
.cra-path__meta{position:relative;color:var(--cr-dim);font-size:11px}
.cra-chip{display:inline-flex;align-items:center;min-height:24px;max-width:100%;padding:2px 9px;border-radius:999px;background:rgba(255,255,255,.07);font-size:11px;font-weight:700;overflow-wrap:anywhere}
.cra-chip--src{background:rgba(217,164,65,.16);color:#f0c97a}
.cra-chip--song{background:rgba(229,56,59,.16);color:#ff9b9d}
.cra-accts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.cra-acct{display:grid;gap:8px;padding:12px;border:1px solid var(--cr-line);border-radius:10px;min-width:0}
.cra-acct__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:13px}
.cra-acct__top small{color:var(--cr-dim);font-size:11px}
.cra-card .cra-acct__also{margin:0;font-size:11px}
.cra-acct__more summary{cursor:pointer;color:var(--cr-dim);font-size:11px;min-height:28px;display:flex;align-items:center}
.cra-acct__more dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:6px 0 0;font-size:11px}
.cra-acct__more dt{color:var(--cr-dim)}
.cra-acct__more dd{margin:0;overflow-wrap:anywhere}
.cra-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:8px 10px;border-radius:10px;background:rgba(63,147,210,.12);font-size:12px}
.cra-filter__x{min-height:36px;padding:0 12px;border:1px solid var(--cr-line);border-radius:999px;background:transparent;color:var(--cr-text);cursor:pointer;font:inherit;font-size:12px}
@media (min-width:54rem){.cra-accts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Setup: progress checklist, live test, websites */
.cra-progress{display:grid;gap:8px;margin-top:4px}.cra-progress__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:14px}
.cra-progress__bar{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.cra-progress__bar i{display:block;height:100%;border-radius:999px;background:var(--cr-ok)}
.cra-checks{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.cra-check details{border:1px solid var(--cr-line);border-radius:10px;background:rgba(255,255,255,.015)}
.cra-check details[open]{border-color:var(--cr-line-strong)}
.cra-check summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;min-height:48px;padding:10px 12px;cursor:pointer;list-style:none}
.cra-check summary::-webkit-details-marker{display:none}
.cra-check__mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--cr-line-strong);color:var(--cr-dim);font-size:12px;font-weight:800}
.cra-check--done .cra-check__mark{border-color:var(--cr-ok);background:var(--cr-ok);color:#06140c}
.cra-check--info .cra-check__mark{font-style:italic;font-family:Georgia,serif}
.cra-check--todo .cra-check__mark{border-color:#3f93d2;color:#8cc4ee}
.cra-check__copy{display:grid;gap:3px;min-width:0}.cra-check__copy b{font-size:13px}.cra-check__copy>span{color:var(--cr-dim);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.cra-check__state{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--cr-faint);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.cra-check--done .cra-check__state{color:var(--cr-ok)}.cra-check--todo .cra-check__state{color:#8cc4ee}
.cra-check__body{padding:0 12px 12px 50px;font-size:12px}.cra-card .cra-check__body p{margin:0 0 8px;font-size:12px}
.cra-check__body .cra-code{max-width:100%;overflow-x:auto;white-space:pre-wrap;word-break:break-all}
.cra-live{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--cr-line)}
.cra-live__head{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cra-live__head span{color:var(--cr-faint);font-size:11px}
.cra-card .cra-live__empty{margin:0;font-size:12px}
.cra-live__list{display:grid;margin:0;padding:0;list-style:none;font-size:12px}
.cra-live__list li{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;gap:8px;align-items:baseline;min-height:34px;padding:7px 0;border-bottom:1px solid var(--cr-line)}
.cra-live__name{font-weight:800}.cra-live__name em{margin-left:4px;color:var(--cr-faint);font-style:normal;font-weight:600}
.cra-live__path{overflow:hidden;color:var(--cr-dim);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:11px}
.cra-live__list time{color:var(--cr-faint);font-size:11px;white-space:nowrap}
ul.cra-sites{margin:0;padding:0;list-style:none}
.cra-site__dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--cr-faint)}.cra-site__dot.is-ok{background:var(--cr-ok)}
.cra-add{margin-top:10px;border-top:1px solid var(--cr-line);padding-top:10px}
.cra-add summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:800;font-size:13px;color:#8cc4ee}
.cra-mode{display:grid;gap:6px;margin:0;padding:0;border:0}.cra-mode legend{margin-bottom:5px;padding:0;color:var(--cr-faint);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.cra-mode label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid var(--cr-line);border-radius:10px;cursor:pointer}
.cra-mode label:has(input:checked){border-color:#3f93d2;background:rgba(63,147,210,.08)}
.cra-mode input{margin-top:2px;width:18px;height:18px;accent-color:#3f93d2}
.cra-mode span{display:grid;gap:2px;color:var(--cr-dim);font-size:12px;line-height:1.4}.cra-mode b{color:var(--cr-text);font-size:13px}
.cra-site{grid-template-columns:auto minmax(0,1fr) auto}


/* Page performance: compact, readable leaderboard instead of a wide matrix. */
.cra-page-performance{display:grid;gap:10px;min-width:0}
.cra-page-performance__intro{margin:0 0 5px;line-height:1.5}
.cra-page-row{border:1px solid var(--line,rgba(130,145,165,.25));border-radius:12px;overflow:hidden;min-width:0}
.cra-page-row__summary{display:grid;grid-template-columns:18px minmax(0,1fr) 52px;gap:8px;align-items:center;padding:10px;cursor:pointer;list-style:none}
.cra-page-row__summary::-webkit-details-marker{display:none}
.cra-page-row__summary:hover{background:rgba(128,145,170,.07)}
.cra-page-row__rank{opacity:.65;font-variant-numeric:tabular-nums}
.cra-page-row__main{display:grid;gap:6px;min-width:0}
.cra-page-row__main b{overflow-wrap:anywhere}
.cra-page-row__main small,.cra-page-row__traffic small,.cra-page-row__score small{opacity:.68}
.cra-page-row__bar{height:8px;background:rgba(130,145,165,.18);border-radius:99px;overflow:hidden}
.cra-page-row__bar i{display:block;height:100%;background:currentColor;border-radius:inherit;opacity:.8}
.cra-page-row__traffic{display:none}.cra-page-row__traffic,.cra-page-row__score{text-align:right;gap:4px;font-variant-numeric:tabular-nums}
.cra-page-row__score b{font-size:1.1em}
.cra-page-row__detail{padding:4px 14px 15px;border-top:1px solid rgba(130,145,165,.18)}
.cra-page-row__detail .cra-kpis{margin:12px 0}
@media(min-width:36rem){.cra-page-row__summary{grid-template-columns:28px minmax(0,1fr) 74px 72px;gap:12px;padding:13px}.cra-page-row__traffic{display:grid}.cra-page-row__score b{font-size:1.35em}}

/* ---------- THE CHARCOAL ANALYTICS (owner, 2026-10-15: "this is what analytics should aspire to look like … on vertical phone") ----------
   Phone first: header, the globe stage (legend, filter pill, summary), then swipeable cards; the detail tabs follow.
   From 64rem: about 60% globe / 40% panel, one screen tall, the panel scrolling beside the globe. Breakpoints only add. */
/* THE ACCENT (owner, 2026-10-16: red "all over the place" is out). One token, --an-accent, and everything red on this
   screen derives from it: the data (choropleth, chart line and area, bars, the legend), the ONE selected place, the active
   segment, the filter count, Clear, the current card dot. Swap the accent here and the whole screen follows; the globe
   reads the same tokens (js/control-room/analytics-globe.js). Nothing else on this screen is red. */
.cra-app{--an-accent:#e11d2e;--an-accent-ruby:color-mix(in srgb,var(--an-accent) 26%,#141416);--an-accent-line:color-mix(in srgb,var(--an-accent) 78%,transparent);--an-accent-muted:color-mix(in srgb,var(--an-accent) 38%,#2a2a2e);
  --an-rim:rgba(175,182,205,.26);--an-space:#0b0b0d;--an-earth:#131417;--an-land:#3b3e44;--an-land-context:#464950;--an-border:#80858f;--an-graticule:#ffffff;
  --k-bg:#0a0a0b;--k-card:#111113;--k-line:rgba(255,255,255,.08);--k-line2:rgba(255,255,255,.15);--k-text:#f2f2f3;--k-dim:#a1a1a8;--k-faint:#6f6f77;--k-red:var(--an-accent);--k-red-hot:var(--an-accent);--k-live:#22c55e;--k-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"DejaVu Serif","Liberation Serif",serif}
.cra-split{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;background:var(--k-bg);color:var(--k-text)}
.cra-lead-col{display:grid;min-width:0}
.cra-top{display:grid;gap:8px;padding:8px 16px 0}
.cra-top__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cra-top__eyebrow{margin:0;font:600 14px/1.1 var(--k-serif);letter-spacing:0;color:var(--k-text)}
.cra-top__title{display:flex;align-items:center;gap:10px;margin:2px 0 0;font:500 clamp(27px,7.2vw,44px)/1.05 var(--k-serif);letter-spacing:-.015em}
.cra-live{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:none;font:500 13px/1 var(--ui,system-ui,sans-serif);letter-spacing:0;color:var(--k-dim)}
.cra-live i{width:8px;height:8px;border-radius:50%;background:var(--k-faint)}
.cra-live.is-live i{background:var(--k-live);box-shadow:0 0 0 3px rgba(34,197,94,.16)}
.cra-live.is-loading i{background:#f0b44d;animation:craPulse 1s ease-in-out infinite}
.cra-live.is-error i{background:var(--k-red)}
.cra-top__me{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--k-line2);border-radius:50%;background:#111113;color:var(--k-text);cursor:pointer}
.cra-top__me svg,.cra-cal svg,.cra-pill__filters svg,.cra-car__next svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cra-top__controls{display:flex;align-items:center;gap:8px;min-width:0}
.cra-top__prop{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;min-height:44px;padding:0 34px 0 14px;border:1px solid var(--k-line2);border-radius:12px;background:#111113 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f3' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center/16px;color:var(--k-text)}
.cra-prop__face{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 15px/1 var(--ui,system-ui,sans-serif)}
.cra-prop__full{display:none}
.cra-top__prop:focus-within{outline:2px solid #fff;outline-offset:2px}
.cra-app .cra-property{position:absolute;inset:0;width:100%;min-height:44px;opacity:0;border:0;cursor:pointer;font-size:max(16px,1rem)}
.cra-seg{display:inline-flex;flex:none;border:1px solid var(--k-line2);border-radius:12px;overflow:hidden;background:#111113}
.cra-seg__b{min-height:42px;padding:0 9px;border:0;border-left:1px solid var(--k-line);background:transparent;color:var(--k-dim);font:500 13px/1 var(--ui,system-ui,sans-serif);white-space:nowrap;cursor:pointer;transition:background-color .16s ease,color .16s ease}
.cra-seg__b:first-child{border-left:0}
.cra-seg__b.is-on{background:var(--an-accent-ruby);color:#fff;box-shadow:inset 0 0 0 1px var(--an-accent-line);border-radius:11px}
.cra-seg__b:focus-visible,.cra-cal:focus-visible,.cra-pill button:focus-visible,.cra-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cra-cal{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--k-line2);border-radius:12px;background:#111113;color:var(--k-text);cursor:pointer}
.cra-cal.is-on{border-color:var(--an-accent-line);background:var(--an-accent-ruby);color:#fff}
.cra-more{display:grid;gap:8px;padding:10px;border:1px solid var(--k-line);border-radius:12px;background:var(--k-card)}
.cra-stage{position:relative;min-width:0;height:clamp(400px,49svh,640px);border:0;border-bottom:1px solid var(--k-line);border-radius:0;overflow:hidden;background:var(--k-bg)}
.cra-globe__host{position:absolute;inset:0 0 120px 0;isolation:isolate}
/* the atmosphere: a soft rim just outside the Earth (the globe fills about 82% of the host's short side, js/control-room/analytics-globe.js) */
.cra-globe__host::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle closest-side at 50% 50%,transparent 0,transparent 79%,var(--an-rim) 82.5%,color-mix(in srgb,var(--an-rim) 35%,transparent) 88%,transparent 96%)}
.crg-canvas,.crg-canvas .cesium-widget,.crg-canvas canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}
.crg-canvas .cesium-widget-credits{display:none}
.crg-msg{position:absolute;left:16px;right:16px;top:40%;margin:0;color:var(--k-dim);font-size:13px;text-align:center}
.crg-msg[hidden]{display:none}
.crg-tip{position:absolute;left:0;top:0;z-index:3;display:grid;gap:2px;padding:8px 12px;border:1px solid var(--k-line2);border-radius:10px;background:rgba(16,16,18,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.4);pointer-events:none;white-space:nowrap}
.crg-tip[hidden]{display:none}
.crg-tip b{font:500 15px/1.2 var(--ui,system-ui,sans-serif);color:#fff}.crg-tip span{font-size:13px;color:var(--k-text)}.crg-tip small{font-size:11px;letter-spacing:.02em;color:var(--k-dim)}.crg-tip small[hidden]{display:none}
.cra-globe__caption{position:absolute;left:12px;right:12px;bottom:6px;margin:0;padding:0;background:none;color:var(--k-faint);font-size:11px;line-height:1.35;text-align:center;pointer-events:none}
.cra-pill{position:absolute;left:50%;bottom:48px;z-index:2;display:flex;align-items:center;transform:translateX(-50%);max-width:calc(100% - 32px);border:1px solid var(--k-line2);border-radius:999px;background:rgba(17,17,19,.88);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.cra-pill__filters{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 16px;border:0;border-right:1px solid var(--k-line2);background:transparent;color:var(--k-text);font:500 15px/1 var(--ui,system-ui,sans-serif);cursor:pointer;white-space:nowrap}
.cra-pill__n{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--k-red);color:#fff;font-style:normal;font-size:13px;font-weight:700}
.cra-pill__country{min-width:0}
.cra-pill__select{min-width:0;max-width:11rem;min-height:44px;padding:0 34px 0 14px;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f3' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px;color:var(--k-text);font:500 max(16px,1rem)/1 var(--ui,system-ui,sans-serif);text-overflow:ellipsis;appearance:none;-webkit-appearance:none;cursor:pointer}
.cra-pill__select option{background:#141416;color:#f2f2f3}
.cra-summary{position:absolute;left:12px;right:12px;bottom:22px;z-index:2;margin:0;color:var(--k-dim);font-size:13px;text-align:center}
.cra-clear{margin-left:10px;padding:4px 2px;border:0;background:none;color:var(--k-red-hot);font:inherit;font-weight:600;cursor:pointer}
.cra-sheet{position:absolute;left:8px;right:8px;bottom:8px;z-index:4;max-height:calc(100% - 16px);overflow-y:auto;padding:12px;border:1px solid var(--k-line2);border-radius:16px;background:rgba(17,17,19,.97);box-shadow:0 20px 50px rgba(0,0,0,.55)}
.cra-sheet[hidden]{display:none}
.cra-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cra-sheet__x{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:22px;cursor:pointer}
.cra-sheet .cra-filters{border:0;padding:0;background:transparent}
.cra-side{display:grid;gap:10px;min-width:0;padding:6px 16px 24px;background:var(--k-bg)}
.cra-side__body{container-type:inline-size;container-name:cra;min-width:0}
.cra-h{width:fit-content;margin:12px 0 8px;font:500 30px/1.1 var(--k-serif);letter-spacing:-.015em;color:var(--k-text)}
.cra-carsec{min-width:0}
.cra-car{position:relative;min-width:0}
.cra-car__track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cra-car__track::-webkit-scrollbar{display:none}
.cra-car__next{display:none}
.cra-slide{scroll-snap-align:start;min-width:0;display:grid;gap:12px;align-content:start;padding:16px;border:1px solid var(--k-line);border-radius:16px;background:var(--k-card)}
.cra-slide__head{display:flex;justify-content:flex-end;min-width:0}
.cra-slide:has(> .cra-reach-main){grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);column-gap:12px;row-gap:10px}
.cra-slide:has(> .cra-reach-main) > .cra-slide__head{grid-column:2;grid-row:1}
.cra-slide:has(> .cra-reach-main) > .cra-reach-main{display:contents}
.cra-slide:has(> .cra-reach-main) .cra-big{grid-column:1;grid-row:1 / span 2;align-self:end}
.cra-slide:has(> .cra-reach-main) .cra-reach-chart{grid-column:2;grid-row:2;align-self:end}
.cra-slide:not(:has(> .cra-slide__head)) .cra-reach-chart{grid-row:1 / span 2}
.cra-slide .cra-seg{max-width:100%}
.cra-slide .cra-seg__b{padding:0 8px;font-size:12.5px;min-height:36px}
.cra-reach-main{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:12px;align-items:end;min-width:0}
.cra-big{display:grid;gap:2px;min-width:0}
.cra-big strong{font:500 clamp(44px,13vw,64px)/1 var(--k-serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff}
.cra-big__l{font-size:18px;color:var(--k-text)}
.cra-big__s{font-size:13px;line-height:1.35;color:var(--k-dim)}
.cra-reach-chart{min-width:0}
.cra-area-chart{display:block;width:100%;height:auto}
.cra-ac__grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.cra-ac__line{fill:none;stroke:var(--an-accent);stroke-width:2.2;stroke-linejoin:round}
.cra-ac__s0{stop-color:var(--an-accent);stop-opacity:.6}.cra-ac__s1{stop-color:var(--an-accent);stop-opacity:0}
.cra-ac__x{fill:var(--k-dim);font-size:13px;font-variant-numeric:tabular-nums}
.cra-c__empty,.cra-c__note{margin:0;color:var(--k-dim);font-size:12px;line-height:1.4}
.cra-hbars{display:grid;gap:8px;min-width:0}
.cra-hbar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-bottom:7px;font-size:13px}
.cra-hbar__l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--k-dim)}
.cra-hbar b{font-weight:600;font-variant-numeric:tabular-nums}
.cra-hbar i{position:absolute;left:0;bottom:0;height:3px;width:var(--pct);border-radius:3px;background:var(--k-red-hot)}
.cra-split2{display:grid;gap:10px;min-width:0}
.cra-split2__bar{display:flex;gap:3px;height:14px}
.cra-split2__bar i{flex:1;border-radius:999px;background:var(--an-accent-muted)}
.cra-split2__bar i:first-child{flex:0 0 var(--pct);background:var(--k-red-hot)}
.cra-split2__k{display:flex;justify-content:space-between;gap:10px;color:var(--k-text);font-size:14px}
.cra-split2__k span{display:grid;gap:2px}.cra-split2__k span:last-child{text-align:right}
.cra-split2__k b{font:500 22px/1.1 var(--ui,system-ui,sans-serif);font-variant-numeric:tabular-nums}
.cra-dots{display:flex;justify-content:center;gap:4px;margin-top:8px}
.cra-dot{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
.cra-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:background-color .2s ease}
.cra-dot.is-on::before{background:var(--k-red-hot)}
.cra-app .cra-state{color:var(--k-faint)}
.cra-app .cra-card{background:var(--k-card);border-color:var(--k-line)}
.cra-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;border:1px solid var(--cr-line);border-radius:12px;background:var(--cr-panel)}
.cra-filters label{display:grid;gap:4px;font-size:11px;color:var(--cr-dim);min-width:0}
.cra-filter-select{width:100%;min-width:0;min-height:40px;padding:6px 10px;border:1px solid var(--cr-line);border-radius:10px;background:#0d1117;color:#f4f5f7;font:inherit;font-size:max(16px,1rem)}
.cra-filter-select:disabled{opacity:.55}
.cra-filters__note{grid-column:1/-1;margin:0;color:var(--cr-faint);font-size:10px;line-height:1.45}
.cra-rank__row.is-on{outline:2px solid var(--an-accent);outline-offset:-2px}
@container cra (min-width:30rem){.cra-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.cra-car__track{scroll-behavior:auto}.cra-seg__b,.cra-dot::before{transition:none}.cra-live.is-loading i{animation:none}}
/* the Control Room around it: on the Analytics surface the page is the screen (no topbar, no padding) */
body.cr[data-cr-surface="analytics"]{background:#0a0a0b}
body.cr[data-cr-surface="analytics"] .cr-topbar{display:none}
/* the shared bar's "Admin" chip (js/tabbar.js) sits in the header row here, beside the account button, so it never
   covers a card or a chart; it scrolls away with the header */
body.cr[data-cr-surface="analytics"] .mcc-auth-chip{position:absolute;top:calc(14px + env(safe-area-inset-top));right:72px;bottom:auto;z-index:20}
body.cr[data-cr-surface="analytics"] .cr-shell{grid-template-rows:minmax(0,1fr);grid-template-areas:"main"}
body.cr[data-cr-surface="analytics"] .cr-main{padding:0;min-height:0}
body.cr[data-cr-surface="analytics"] .cr-surface{max-width:none}
/* the shared bottom bar (js/tabbar.js) leaves room at the foot of the page; the Control sections row
   beside it is styled in css/control-room-v2.css */
body.cr.has-appbar{padding-bottom:calc(var(--appbar-h,64px) + 1.4rem + env(safe-area-inset-bottom))}
@media (min-width:30rem){.cra-prop__short{display:none}.cra-prop__full{display:inline}}
@media (min-width:48rem){
  .cra-top{padding:20px 24px 8px}
        .cra-stage{height:clamp(420px,56svh,680px)}
  .cra-side{padding:8px 24px 28px}
  .cra-car__track{grid-auto-columns:calc(50% - 6px)}
  .cra-car__next{position:absolute;right:-12px;top:50%;display:grid;place-items:center;width:36px;height:36px;transform:translateY(-50%);border:1px solid var(--k-line2);border-radius:50%;background:#18181b;color:#fff;cursor:pointer}
}
@media (min-width:64rem){
  .cra-split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);height:calc(100dvh - var(--appbar-h,4.6rem) - 1.4rem - env(safe-area-inset-bottom));min-height:34rem}
  .cra-lead-col{grid-template-rows:auto minmax(0,1fr);min-height:0;border-right:1px solid var(--k-line)}
  .cra-stage{height:auto;min-height:0;border-bottom:0}
  .cra-side{min-height:0;overflow-y:auto;align-content:start;overscroll-behavior:contain}
  .cra-car__track{grid-auto-columns:100%}
}
@media (min-width:1024px){body.cr[data-cr-surface="analytics"] .cr-shell{grid-template-areas:"nav main"}}
