@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--paper: #f5f7fb;--surface: #ffffff;--surface-2: #f1f5f9;--surface-3: #e4eaf2;--line: #e4e9f0;--line-strong: #c8d2e0;--ink: #0f1a2e;--ink-2: #4a5a72;--ink-3: #8a99af;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eef4ff;--accent-line: #bed4fe;--accent-ink: #1a44a8;--accent-grad: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);--amber: #b45309;--amber-soft: #fff7e8;--rose: #c8342b;--rose-soft: #fef1f0;--steel: #0e7490;--steel-soft: #ecfbff;--green: #047857;--green-soft: #ecfdf4;--r-lg: 14px;--r-md: 10px;--r-sm: 7px;--shadow-sm: 0 1px 2px rgba(15, 26, 46, .05);--shadow-md: 0 1px 2px rgba(15, 26, 46, .04), 0 4px 14px rgba(15, 26, 46, .06);--shadow-lg: 0 10px 40px rgba(15, 26, 46, .14);--ring: 0 0 0 3px rgba(37, 99, 235, .16);--font-display: "Plus Jakarta Sans", "Inter", -apple-system, "Segoe UI", sans-serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:14px;background:var(--paper);color:var(--ink);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--accent-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}video{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.021em;line-height:1.22}h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1rem;letter-spacing:-.01em}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.small{font-size:.82rem}.tiny{font-size:.73rem}.shell{min-height:100vh;display:flex;flex-direction:column}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.grow{flex:1;min-width:0}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.wrap-row{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:14px}@media (max-width: 900px){.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{padding:0 18px}}@media (max-width: 520px){.grid-4{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-pad{padding:18px 20px}.card-head{padding:13px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;background:var(--surface)}.card-body{padding:18px 20px}.card-accent{border-color:var(--accent-line);box-shadow:var(--shadow-md)}.divider{height:1px;background:var(--line);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-md);padding:9px 15px;font-weight:500;font-size:.86rem;border:1px solid transparent;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.btn-ghost:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}.btn-soft{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.btn-soft:hover:not(:disabled){background:#e2edff}.btn-quiet{color:var(--ink-3);padding:7px 10px}.btn-quiet:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.btn-danger{background:var(--rose-soft);color:var(--rose);border-color:transparent}.btn-danger:hover:not(:disabled){background:var(--rose);color:#fff}.btn-sm{padding:6px 11px;font-size:.78rem;border-radius:var(--r-sm)}.btn-lg{padding:12px 22px;font-size:.92rem}.btn-block{width:100%}.field{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:9px 12px;color:var(--ink);transition:border-color .14s ease,box-shadow .14s ease}.field:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.field::placeholder{color:var(--ink-3)}select.field{cursor:pointer}.label{display:block;font-size:.76rem;font-weight:600;color:var(--ink-2);margin-bottom:6px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:.73rem;color:var(--ink-2);font-weight:500}.chip-accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.chip-amber{background:var(--amber-soft);border-color:#f5e3c3;color:var(--amber)}.chip-rose{background:var(--rose-soft);border-color:#f7d8d5;color:var(--rose)}.chip-steel{background:var(--steel-soft);border-color:#c9eef7;color:var(--steel)}.chip-green{background:var(--green-soft);border-color:#c5ecd8;color:var(--green)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-ok{background:var(--green)}.dot-warn{background:var(--amber)}.dot-bad{background:var(--rose)}.dot-live{animation:breathe 2.4s ease-in-out infinite}.tabs{display:flex;gap:3px;align-items:center;overflow-x:auto;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:4px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:99px;font-size:.84rem;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.tab:hover{color:var(--ink)}.tab[data-active=true]{background:var(--surface);color:var(--accent-ink);font-weight:600;box-shadow:var(--shadow-sm)}.subtabs{display:flex;gap:4px;align-items:center;overflow-x:auto}.subtab{padding:7px 13px;border-radius:var(--r-md);font-size:.83rem;font-weight:500;color:var(--ink-3);white-space:nowrap}.subtab:hover{color:var(--ink-2);background:var(--surface-2)}.subtab[data-active=true]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.meter{height:6px;background:var(--surface-3);border-radius:99px;overflow:hidden}.meter>i{display:block;height:100%;border-radius:99px;background:var(--accent);transition:width .45s cubic-bezier(.4,0,.2,1)}.meter-quiet>i{background:var(--line-strong)}.meter-green>i{background:var(--green)}.meter-amber>i{background:var(--amber)}.stat-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;letter-spacing:-.03em}.bars{display:flex;align-items:flex-end;gap:3px;height:46px}.bars>i{flex:1;min-width:3px;border-radius:2px 2px 0 0;background:var(--accent-line);transition:height .3s ease}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);padding:40px 24px;text-align:center;cursor:pointer;background:var(--surface-2);transition:border-color .18s ease,background .18s ease}.dropzone:hover,.dropzone[data-active=true]{border-color:var(--accent);background:var(--accent-soft)}.table{width:100%;border-collapse:collapse;font-size:.84rem}.table th{text-align:left;font-weight:600;font-size:.71rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:9px 12px;border-bottom:1px solid var(--line)}.table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--surface-2)}.empty{padding:46px 24px;text-align:center;color:var(--ink-3)}.empty h3{color:var(--ink-2);margin-bottom:6px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.35}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .26s ease both}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;opacity:.8}.spinner-lg{width:34px;height:34px;border-width:2.5px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mark{font-family:var(--font-display);font-size:2.3rem;font-weight:800;letter-spacing:-.035em;line-height:1.1;color:var(--ink)}.brandmark{width:34px;height:34px;border-radius:10px;background:var(--accent-grad);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 8px #3b82f659}.thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--surface-3);display:block}.stage{position:relative;aspect-ratio:4 / 3;border-radius:var(--r-md);overflow:hidden;background:#0d1424;display:grid;place-items:center}.scroll-y{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 760px){.brand-sub,.hide-narrow{display:none}}kbd{font-family:var(--font-mono);font-size:.7rem;background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px;color:var(--ink-2)}code{font-family:var(--font-mono);font-size:.8em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
