:root{--primary: #7b61ff;--secondary: #ff6fb8;--brand: linear-gradient(135deg, #b06cff 0%, #8a8cff 45%, #f68ccb 100%);--c1: #8a7cff;--c2: #ff6fb8;--c3: #3ecf8e;--c4: #f5a524;--c5: #5ac8fa;--c6: #c084fc;--quick: .16s;--standard: .3s;--slow: .72s;--emphasized: cubic-bezier(.2, 0, 0, 1);--gentle: cubic-bezier(.4, 0, .2, 1);--bg: #0f1017;--surface: #171826;--surface-2: #1e2032;--border: #2a2c42;--text: #eef0f8;--text-dim: #9aa0bd;--text-faint: #6b7192;--ok: #3ecf8e;--warn: #f5a524;--danger: #f2545b;--radius: 10px;--radius-sm: 6px;--nav-width: 232px;--header-height: 56px;color-scheme:dark}:root[data-theme=light]{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f0f1f7;--border: #dfe1ee;--text: #16182a;--text-dim: #5d6382;--text-faint: #878ca8;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);transition:background-color var(--standard) var(--gentle),color var(--standard) var(--gentle);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.shell{display:grid;grid-template-columns:var(--nav-width) 1fr;height:100%}.nav{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px 12px;gap:4px;overflow-y:auto}.nav-toggle{display:none}@media(max-width:900px){.shell{grid-template-columns:1fr}.nav{position:fixed;inset:0 auto 0 0;width:var(--nav-width);z-index:20;transform:translate(-100%);transition:transform var(--standard) var(--emphasized),box-shadow var(--standard) var(--gentle)}.nav.open{transform:translate(0);box-shadow:24px 0 64px #00000059}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#08061473;z-index:19;animation:fade var(--quick) var(--gentle) both}.nav-toggle{display:inline-grid}.header{padding:0 12px}.header .who{display:none}.content{padding:14px}.filters{grid-template-columns:1fr 1fr}}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand-tile{background:radial-gradient(circle at 50% 30%,#2a1d5c,#0e0b1f);display:grid;place-items:center;flex:none;box-shadow:0 0 0 1px #b06cff40,0 6px 16px #7b61ff47;transition:transform var(--standard) var(--emphasized),box-shadow var(--standard) var(--gentle)}.brand:hover .brand-tile{transform:translateY(-1px) scale(1.04);box-shadow:0 0 0 1px #b06cff73,0 10px 22px #7b61ff66}.brand-name{font-weight:700;letter-spacing:.18em;font-size:13px}.brand-sub{font-size:11px;color:var(--text-faint);letter-spacing:.04em}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);padding:14px 8px 6px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background-color var(--quick) var(--gentle),color var(--quick) var(--gentle),transform var(--quick) var(--emphasized)}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item:active{transform:scale(.98)}.nav-item.active{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--brand);animation:nav-bar var(--standard) var(--emphasized) both}@keyframes nav-bar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.nav-item .glyph{width:18px;text-align:center;opacity:.9;transition:transform var(--standard) var(--emphasized)}.nav-item:hover .glyph,.nav-item.active .glyph{transform:scale(1.12)}.nav-item.locked{opacity:.42;cursor:not-allowed}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.header{height:var(--header-height);border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:12px;padding:0 20px;flex:none}.header h1{font-size:15px;font-weight:600;margin:0}.header .spacer{flex:1}.theme-toggle .glyph{display:inline-block;transition:transform var(--slow) var(--emphasized)}.theme-toggle:hover .glyph{transform:rotate(30deg)}.theme-toggle .glyph.flip{animation:spin-in var(--slow) var(--emphasized) both}@keyframes spin-in{0%{transform:rotate(-180deg) scale(.4);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.live{display:inline-flex;align-items:center;gap:6px}.live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent);animation:beacon 2.2s var(--gentle) infinite}.live.stale:before{background:var(--warn);animation:none}@keyframes beacon{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.content{padding:20px;overflow-y:auto;flex:1}.page{animation:rise var(--standard) var(--emphasized) both}.page>.grid>*{animation:rise var(--standard) var(--emphasized) both}.page>.grid>*:nth-child(1){animation-delay:0ms}.page>.grid>*:nth-child(2){animation-delay:55ms}.page>.grid>*:nth-child(3){animation-delay:.11s}.page>.grid>*:nth-child(4){animation-delay:165ms}.page>.grid>*:nth-child(5){animation-delay:.22s}.page>.grid>*:nth-child(n+6){animation-delay:275ms}.stat-row>.stat:nth-child(1){animation-delay:0ms}.stat-row>.stat:nth-child(2){animation-delay:45ms}.stat-row>.stat:nth-child(3){animation-delay:90ms}.stat-row>.stat:nth-child(4){animation-delay:135ms}.stat-row>.stat:nth-child(5){animation-delay:.18s}.stat-row>.stat:nth-child(6){animation-delay:225ms}.stat-row>.stat{animation:rise var(--standard) var(--emphasized) both}.page-title{animation:title-in var(--standard) var(--emphasized) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes title-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color var(--standard) var(--gentle),box-shadow var(--standard) var(--gentle),transform var(--standard) var(--emphasized)}.card.stat:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 14%,transparent);transform:translateY(-2px)}.stat .value{background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}.card h2{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.grid{display:grid;gap:12px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.stat .value{font-size:26px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums;line-height:1.2}.stat .value.text{font-size:20px;line-height:1.25}.stat .hint{font-size:12px;color:var(--text-dim);margin-top:2px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr{transition:background-color var(--quick) var(--gentle)}.page tbody tr{animation:rise var(--standard) var(--emphasized) both}.page tbody tr:nth-child(1){animation-delay:0ms}.page tbody tr:nth-child(2){animation-delay:30ms}.page tbody tr:nth-child(3){animation-delay:60ms}.page tbody tr:nth-child(4){animation-delay:90ms}.page tbody tr:nth-child(5){animation-delay:.12s}.page tbody tr:nth-child(6){animation-delay:.15s}.page tbody tr:nth-child(7){animation-delay:.18s}.page tbody tr:nth-child(8){animation-delay:.21s}.page tbody tr:nth-child(9){animation-delay:.24s}.page tbody tr:nth-child(10){animation-delay:.27s}.page tbody tr:nth-child(11){animation-delay:.3s}.page tbody tr:nth-child(12){animation-delay:.33s}.page tbody tr:nth-child(n+13){animation:none}tbody tr:hover{background:var(--surface-2)}tbody tr.clickable{cursor:pointer}.table-wrap{overflow-x:auto}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.badge.premium{background:color-mix(in srgb,var(--secondary) 20%,transparent);color:var(--secondary);border-color:color-mix(in srgb,var(--secondary) 40%,transparent)}.badge.free{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.badge.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.badge.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.badge.danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}button.btn{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);padding:7px 14px;cursor:pointer;font-weight:600;font-size:13px;transition:transform var(--quick) var(--emphasized),border-color var(--quick) var(--gentle),box-shadow var(--standard) var(--gentle),background-color var(--quick) var(--gentle)}button.btn:hover:not(:disabled){border-color:var(--text-faint)}button.btn:active:not(:disabled){transform:scale(.965)}button.btn:disabled{opacity:.5;cursor:not-allowed}.spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;vertical-align:-2px;margin-right:6px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button.btn.primary{background:var(--brand);border-color:transparent;color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 30%,transparent)}button.btn.primary:hover:not(:disabled){box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 42%,transparent);transform:translateY(-1px)}button.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}button.btn.ghost{background:none}button.btn.small{padding:4px 10px;font-size:12px}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;width:100%}input,select,textarea{transition:border-color var(--quick) var(--gentle),box-shadow var(--standard) var(--gentle)}input:focus,select:focus,textarea:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 70%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}input.narrow{width:88px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters{display:grid;grid-template-columns:1.6fr repeat(3,1fr) auto;gap:10px;align-items:end}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.notice{border:1px solid var(--border);border-left:3px solid var(--warn);background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text-dim);font-size:13px}.notice.privacy{border-left-color:var(--secondary)}.error{border-left-color:var(--danger);color:var(--danger)}.tabs{position:relative;display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab-indicator{position:absolute;bottom:-1px;height:2px;border-radius:2px;background:var(--brand);transition:left var(--standard) var(--emphasized),width var(--standard) var(--emphasized)}.tab-panel{animation:fade-up var(--standard) var(--emphasized) both}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tab{padding:8px 14px;border:none;background:none;cursor:pointer;color:var(--text-dim);border-bottom:2px solid transparent;font-weight:600;font-size:13px}.tab{transition:color var(--quick) var(--gentle),border-color var(--standard) var(--gentle)}.tab.active,.tab:hover{color:var(--text)}.bars{display:flex;align-items:flex-end;gap:4px;height:120px}.bars .bar{flex:1;background:linear-gradient(180deg,#b06cff,#8a8cff 55%,#f68ccb);border-radius:3px 3px 0 0;min-height:2px;position:relative;transform-origin:bottom;animation:grow var(--slow) var(--emphasized) both;transition:filter var(--quick) var(--gentle)}.bars .bar:hover{filter:brightness(1.2)}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bars .bar[data-empty=true]{background:var(--surface-2)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0806148c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;z-index:10;animation:fade var(--quick) var(--gentle) both}@keyframes fade{0%{opacity:0}to{opacity:1}}.backdrop.leaving{animation:fade var(--quick) var(--gentle) reverse both}.modal.leaving{animation:pop var(--quick) var(--gentle) reverse both}.modal:focus{outline:none}.modal-close{font-size:12px;line-height:1}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:min(460px,100%);box-shadow:0 24px 64px #00000059;animation:pop var(--standard) var(--emphasized) both;max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal.wide{width:min(720px,100%)}.modal h3{margin:0;font-size:16px}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login{position:relative;min-height:100%;display:grid;place-items:center;padding:20px;overflow:hidden}.login-bloom span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:drift 14s ease-in-out infinite alternate}.login-bloom span:nth-child(1){width:420px;height:420px;left:-120px;top:-80px;background:#b06cff}.login-bloom span:nth-child(2){width:380px;height:380px;right:-100px;bottom:-120px;background:#f68ccb;animation-delay:-5s}.login-bloom span:nth-child(3){width:300px;height:300px;right:20%;top:-140px;background:#8a8cff;animation-delay:-9s}:root[data-theme=light] .login-bloom span{opacity:.32}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(40px,30px,0) scale(1.12)}}.login .card{position:relative;width:min(380px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 64px #0a061e59;animation:pop var(--slow) var(--emphasized) both}.login-brand{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0 6px}.login-word{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text)}.login-tagline{font-size:10px;letter-spacing:.22em;font-weight:600;color:var(--primary);animation:fade var(--slow) var(--gentle) 1.9s both}.logo-pen{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.5s cubic-bezier(.65,0,.25,1) both}@keyframes draw{to{stroke-dashoffset:0}}.logo-dot{transform-box:fill-box;transform-origin:center;animation:dot-pop .6s cubic-bezier(.34,1.56,.64,1) 1.25s both}@keyframes dot-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.logo-letter{animation:letter-rise .5s cubic-bezier(0,0,.58,1) both}@keyframes letter-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-sm);height:14px;animation:pulse 1.4s ease-in-out infinite}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 8%,transparent),transparent);transform:translate(-100%);animation:shimmer 1.6s var(--gentle) infinite}@keyframes shimmer{to{transform:translate(100%)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.empty{text-align:center;padding:40px 20px;color:var(--text-dim)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch.disabled{cursor:not-allowed;opacity:.55}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;width:34px;height:20px;border-radius:999px;background:var(--border);transition:background-color var(--standard) var(--gentle),box-shadow var(--standard) var(--gentle);flex:none}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform var(--standard) var(--emphasized),width var(--quick) var(--gentle)}.switch input:checked+.switch-track{background:var(--brand)}.switch input:checked+.switch-track .switch-knob{transform:translate(14px)}.switch:active:not(.disabled) .switch-knob{width:20px}.switch input:checked:active+.switch-track .switch-knob{transform:translate(10px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,transparent)}.switch-label{font-size:12px;color:var(--text-dim)}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:30;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius-sm);padding:10px 14px;min-width:220px;max-width:360px;font-size:13px;box-shadow:0 12px 32px #0000004d;cursor:pointer;animation:toast-in var(--standard) var(--emphasized) both}.toast.error{border-left-color:var(--danger)}.toast.info{border-left-color:var(--primary)}.toast.leaving{animation:toast-out var(--quick) var(--gentle) both}.toast-glyph{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok);flex:none;animation:dot-pop .5s cubic-bezier(.34,1.56,.64,1) .12s both}.toast.error .toast-glyph{background:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger)}.toast.info .toast-glyph{background:color-mix(in srgb,var(--primary) 20%,transparent);color:var(--primary)}@keyframes toast-in{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out{to{opacity:0;transform:translate(24px) scale(.96)}}.delta{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;animation:fade var(--slow) var(--gentle) .3s both}.delta.good{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.delta.bad{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.delta.flat,.delta.new{color:var(--text-dim);background:var(--surface-2)}.delta.new{color:var(--secondary)}.stat .spark{flex:none;margin-bottom:4px}.chart{position:relative;width:100%}.chart-svg{display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--text-faint);font-size:10px;font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line 1.1s var(--emphasized) both}.chart-line.dashed{stroke-dasharray:.012 .008;stroke-dashoffset:0;stroke-width:1.6;opacity:.7;animation:fade var(--slow) var(--gentle) .4s both}@keyframes draw-line{to{stroke-dashoffset:0}}.chart-area{animation:fade var(--slow) var(--gentle) .5s both}.chart-crosshair{stroke:var(--text-faint);stroke-width:1;stroke-dasharray:3 3}.chart-dot{stroke:var(--surface);stroke-width:2;animation:dot-pop var(--quick) var(--emphasized) both}.chart-cursor{pointer-events:none}.chart-bar{transform-origin:center bottom;transform-box:fill-box;animation:grow var(--slow) var(--emphasized) both;transition:filter var(--quick) var(--gentle),opacity var(--quick) var(--gentle)}.chart-bar.empty{fill:var(--surface-2)}.chart-bar.hot{filter:brightness(1.25)}.chart-tip{position:absolute;top:40%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;box-shadow:0 12px 32px #0000004d;pointer-events:none;white-space:nowrap;z-index:2;display:grid;gap:3px;animation:fade var(--quick) var(--gentle) both}.chart-tip-title{color:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.chart-tip-row{display:flex;align-items:center;gap:6px;justify-content:space-between}.chart-tip-row b{margin-left:8px;font-variant-numeric:tabular-nums}.swatch{display:inline-block;width:9px;height:9px;border-radius:3px;flex:none}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;color:var(--text-dim)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.spark-line{fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line .9s var(--emphasized) .2s both}.spark-area{animation:fade var(--slow) var(--gentle) .6s both}.donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donut-svg{flex:none}.donut-track{fill:none;stroke:var(--surface-2)}.donut-arc{fill:none;stroke-linecap:butt;cursor:default;transition:stroke-width var(--quick) var(--gentle);animation:arc-in var(--slow) var(--emphasized) both}@keyframes arc-in{0%{opacity:0;stroke-dasharray:0 1000}}.donut-total{fill:var(--text);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.donut-label{fill:var(--text-faint);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;min-width:160px;flex:1}.legend li{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 6px;border-radius:var(--radius-sm);transition:background-color var(--quick) var(--gentle);animation:rise var(--standard) var(--emphasized) both}.legend li:nth-child(1){animation-delay:60ms}.legend li:nth-child(2){animation-delay:.12s}.legend li:nth-child(3){animation-delay:.18s}.legend li:nth-child(4){animation-delay:.24s}.legend li:nth-child(5){animation-delay:.3s}.legend li:nth-child(n+6){animation-delay:.36s}.legend li.hot{background:var(--surface-2)}.legend-label{flex:1;color:var(--text-dim)}.legend-value{font-variant-numeric:tabular-nums;font-weight:600}.ring{position:relative;display:grid;place-items:center;flex:none}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ring-arc{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1.1s var(--emphasized)}.ring-center{position:relative;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}.retention{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.retention-item{display:flex;align-items:center;gap:14px;padding:10px;border-radius:var(--radius-sm);background:var(--surface-2);animation:rise var(--standard) var(--emphasized) both}.retention-item:nth-child(2){animation-delay:70ms}.retention-item:nth-child(3){animation-delay:.14s}.retention-item .title{font-weight:600}.funnel{list-style:none;margin:0;padding:0;display:grid;gap:10px}.funnel li{animation:rise var(--standard) var(--emphasized) both}.funnel-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin-bottom:4px}.funnel-numbers{display:inline-flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.funnel-track{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.funnel-bar{height:100%;border-radius:999px;width:0;transform-origin:left center;animation:bar-grow .9s var(--emphasized) both}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.funnel-hint{margin-top:3px}.ranked{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ranked li{display:grid;grid-template-columns:minmax(80px,130px) 1fr auto;align-items:center;gap:10px;font-size:12px;animation:rise var(--standard) var(--emphasized) both}.ranked-label{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranked-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.ranked-bar{display:block;height:100%;border-radius:999px;transform-origin:left center;animation:bar-grow .8s var(--emphasized) both}.ranked-value{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.segmented button{border:none;background:none;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;color:var(--text-dim);cursor:pointer;transition:background-color var(--quick) var(--gentle),color var(--quick) var(--gentle),transform var(--quick) var(--emphasized)}.segmented button:hover{color:var(--text)}.segmented button:active{transform:scale(.96)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000040}.flash{animation:flash .7s var(--gentle) both}@keyframes flash{0%{background:color-mix(in srgb,var(--primary) 25%,transparent)}to{background:transparent}}.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.two-col.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.two-col.reverse{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}@media(max-width:1100px){.two-col,.two-col.even,.two-col.reverse{grid-template-columns:1fr}}.stat-row.tight{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid>*,.two-col>*{min-width:0}@media(max-width:600px){.stat-row,.stat-row.tight{grid-template-columns:1fr 1fr}.stat .spark{display:none}.stat .value{font-size:22px}.filters{grid-template-columns:1fr}.toasts{left:12px;right:12px;bottom:12px}.toast{max-width:none}}
