:root{color-scheme:light dark;font-family:system-ui,-apple-system,sans-serif;--bg:light-dark(#f6f6f8,#131316);--surface:light-dark(#ffffff,#1b1b1f);--border:light-dark(#e4e4e9,#2c2c33);--text:light-dark(#1b1b22,#ececf1);--muted:light-dark(#68687a,#9b9ba8);--accent:light-dark(#4f46e5,#8b85f4);--accent-contrast:light-dark(#ffffff,#16161a);--ok:light-dark(#157347,#51d28f);--warn:light-dark(#9a5b00,#e8b04b);--danger:light-dark(#b42328,#ef8a8d)}*{box-sizing:border-box}body{margin:0;line-height:1.5;background:var(--bg);color:var(--text)}main{max-width:68rem;margin:0 auto;padding:1.5rem 1.5rem 5rem}nav{display:flex;gap:1.5rem;align-items:center;padding:.7rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}nav .spacer{flex:1 1}nav a{text-decoration:none;color:var(--muted);font-weight:500;font-size:.95rem}nav a:hover{color:var(--text)}nav strong{color:var(--accent);letter-spacing:.02em}h1{font-size:1.5rem;margin:.5rem 0 .25rem}h2{font-size:1.1rem;margin:2.25rem 0 .25rem}.lede{color:var(--muted);font-size:.9rem;max-width:62ch;margin:.25rem 0 .75rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin:.75rem 0 0}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92rem}td,th{text-align:left;padding:.45rem .75rem;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.num.pos{color:var(--ok)}td.num.neg{color:var(--danger);font-weight:600}.badge,.chip{display:inline-block;white-space:nowrap;font-size:.74rem;font-weight:600;letter-spacing:.02em;padding:.16rem .6rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.chip--warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.chip--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.chip--danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.callout{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:.9rem}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:.75rem;gap:.75rem;margin:.75rem 0}.template-card{display:grid;grid-gap:.3rem;gap:.3rem;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit}.template-card.active,.template-card:hover{border-color:var(--accent)}.template-card.active{box-shadow:0 0 0 1px var(--accent)}.template-card strong{font-size:.92rem}.template-card .muted{font-size:.8rem;line-height:1.4}.explore-controls{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:start}.explore-controls>.field{min-width:11rem}.explore-controls>.field select{width:100%}.measures-field{border:0;padding:0;margin:0;flex-basis:100%}.measure-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;padding-top:.3rem}.measure-checks .check{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--text);white-space:nowrap}.measure-checks input{width:auto}.explore-controls .field{gap:.3rem}.explore-controls .filters{flex-basis:100%}.explore-controls .filters summary{cursor:pointer;font-size:.85rem;color:var(--muted)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));grid-gap:.75rem 1rem;gap:.75rem 1rem;margin-top:.75rem}.filter-grid .field{min-width:0}.filter-grid select{width:100%}[aria-label=tip] path{fill:var(--surface)!important;stroke:var(--border)!important}[aria-label=tip] text,[aria-label=tip] tspan{fill:var(--text)!important}.chart-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.82rem;color:var(--text);margin-bottom:.5rem}.chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.chart-legend .sw{width:.85rem;height:.85rem;border-radius:3px;display:inline-block}.chart-legend .sw.line{height:.2rem;border-radius:2px;width:1.1rem}.chart-legend .sw.dot{border-radius:50%;width:.7rem;height:.7rem}.drill-links{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem 0 .25rem}.drill-label{font-size:.85rem;color:var(--muted);font-weight:600}.drill{font-size:.85rem;padding:.32rem .7rem;border-radius:999px;border:1px solid var(--border);color:var(--text);text-decoration:none}.drill:hover{border-color:var(--accent);color:var(--accent)}.funnel-stage{cursor:pointer}.funnel-stage rect{transition:fill-opacity .12s}.funnel-stage:hover rect{fill-opacity:1}.funnel-stage:hover .funnel-name{text-decoration:underline}.pivot-group{text-align:center;border-bottom:1px solid var(--border);font-weight:600;color:var(--muted)}.measure-focus{color:var(--accent);font-weight:600}.muted,.note{color:var(--muted)}.note{font-size:.85rem;max-width:62ch}button,input,select{font:inherit;padding:.3rem .55rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:inherit}select,select option{background-color:var(--surface)}select option{color:var(--text)}input:focus,select:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}button{cursor:pointer;font-weight:500}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}button.primary:hover{filter:brightness(1.08)}button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,transparent)}input[type=number]{width:6.5rem}.settings{display:flex;gap:2rem;align-items:end;flex-wrap:wrap}.field{display:grid;grid-gap:.3rem;gap:.3rem}.field>span{font-size:.8rem;font-weight:600;color:var(--muted)}.campaigns{display:grid}.campaign-row{display:grid;grid-template-columns:minmax(10rem,1.3fr) minmax(8rem,10rem) max-content max-content minmax(10rem,1fr);grid-gap:.6rem .75rem;gap:.6rem .75rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--border)}.campaign-row:last-child{border-bottom:0}.campaign-row form{display:contents}.campaign-row .actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center;flex-wrap:nowrap;white-space:nowrap;min-width:0}.campaign-row .actions select{max-width:11.5rem;min-width:0}.campaign-row .actions .merge-note{flex:1 1 12rem;min-width:7rem;white-space:normal;text-align:right;line-height:1.35}.campaign-row.is-merged{opacity:.55}.name-cell{display:grid;grid-gap:.1rem;gap:.1rem}.name-cell input{border-color:transparent;background:transparent;font-weight:600;font-size:.98rem;padding-left:.3rem;margin-left:-.3rem;width:100%}.name-cell input:hover{border-color:var(--border)}.name-cell .meta{font-size:.78rem;color:var(--muted);padding-left:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rate{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;font-size:.9rem;color:var(--muted)}.broken-notice{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.broken-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.broken-dismiss{margin-left:auto}.broken-notice code{font-family:ui-monospace,monospace;font-size:.85rem;padding:.1rem .4rem;border-radius:5px;background:color-mix(in srgb,var(--danger) 12%,transparent)}.broken-notice table{margin-bottom:0}.stepper{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:1rem 0 1.5rem}.step a,.step>span{display:flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);text-decoration:none;color:var(--muted);font-size:.85rem;white-space:nowrap}.step .step-n{display:grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:color-mix(in srgb,var(--muted) 18%,transparent);font-size:.72rem;font-weight:700}.step--current>span{border-color:var(--accent);color:var(--text)}.step--current .step-n{background:var(--accent);color:var(--accent-contrast)}.step--done a{color:var(--text);border-color:color-mix(in srgb,var(--ok) 45%,var(--border))}.step--done .step-n{background:var(--ok);color:var(--accent-contrast)}.step a:hover{border-color:var(--accent);color:var(--accent)}.wizard-step{margin-top:.5rem}.wizard-step h2{margin-top:0}.wizard-nav{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}.drill.primary-link{border-color:var(--accent);color:var(--accent);font-weight:600}.upload{display:grid;grid-gap:.6rem;gap:.6rem}.upload-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.upload-row input[type=file]{flex:1 1 16rem;min-width:0}.upload code{font-family:ui-monospace,monospace;font-size:.85rem;padding:.05rem .3rem;border-radius:4px;background:color-mix(in srgb,var(--muted) 15%,transparent)}.upload-ok{color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent);border-radius:8px;padding:.5rem .7rem;font-size:.9rem}.login-box{max-width:24rem;margin:12vh auto;display:grid;grid-gap:.75rem;gap:.75rem}.login-box .note a{color:var(--accent)}.auth-error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:8px;padding:.5rem .7rem}