:root{--brand:#c8102e;--brand-hover:#a30d26;--brand-fg:#fff;--brand-soft:#fff1f2;--brand-ring:#c8102e2e;--bordeaux:#3d0e0e;--maple:#c8102e;--gray-0:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-150:#efefef;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--gray-950:#0a0a0a;--bg:var(--gray-0);--bg-subtle:var(--gray-50);--bg-muted:var(--gray-100);--surface:var(--gray-0);--surface-2:var(--gray-50);--border:var(--gray-200);--border-strong:var(--gray-300);--fg:var(--gray-950);--fg-muted:var(--gray-600);--fg-subtle:var(--gray-500);--fg-faint:var(--gray-400);--success:#16a34a;--success-bg:#f0fdf4;--warning:#d97706;--warning-bg:#fffbeb;--error:#dc2626;--error-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Inter Display", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--t-12:12px;--t-13:13px;--t-14:14px;--t-16:16px;--t-18:18px;--t-20:20px;--t-24:24px;--t-32:32px;--t-40:40px;--t-48:48px;--t-64:64px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-2xl:16px;--r-full:9999px;--shadow-xs:0 1px 2px #0a0a0a0a;--shadow-sm:0 1px 3px #0a0a0a0f, 0 1px 2px #0a0a0a0a;--shadow-md:0 4px 12px #0a0a0a0f, 0 1px 3px #0a0a0a0a;--shadow-lg:0 12px 32px #0a0a0a14, 0 2px 6px #0a0a0a0a;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--t-fast:.12s;--t-base:.18s;--t-slow:.28s;--container:1200px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{min-height:100vh}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-size:var(--t-14);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";flex-direction:column;min-height:100vh;line-height:1.5;display:flex}.dtv-app-shell{flex-direction:column;flex:1;min-height:0;display:flex}button{cursor:pointer;color:inherit;background:0 0;border:0;padding:0;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}.frame{background:var(--bg);width:100%;min-height:0;color:var(--fg);flex:1;position:relative;overflow:hidden}.grid-bg{background-image:linear-gradient(to right, var(--gray-200) 1px, transparent 1px), linear-gradient(to bottom, var(--gray-200) 1px, transparent 1px);opacity:.4;background-size:48px 48px}.dot-bg{background-image:radial-gradient(circle, var(--gray-300) 1px, transparent 1px);opacity:.5;background-size:24px 24px}.noise{opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-md);font-size:var(--t-14);letter-spacing:-.005em;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);white-space:nowrap;cursor:pointer;border:1px solid #0000;font-weight:500;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--brand-ring);outline:none}.btn-sm{height:32px;padding:0 var(--s-3);font-size:var(--t-13)}.btn-md{height:36px}.btn-lg{height:44px;padding:0 var(--s-5);font-size:var(--t-14)}.btn-primary{background:var(--gray-950);color:var(--gray-0)}.btn-primary:hover{background:var(--gray-800)}.btn-brand{background:var(--brand);color:var(--brand-fg)}.btn-brand:hover{background:var(--brand-hover)}.btn-secondary{background:var(--gray-0);color:var(--gray-900);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--border-strong)}.btn-ghost{color:var(--gray-700);background:0 0}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-950)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;height:40px;padding:0 var(--s-3);background:var(--gray-0);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--t-14);color:var(--fg);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);outline:none}.input::placeholder{color:var(--fg-faint)}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.label{font-size:var(--t-13);color:var(--fg);margin-bottom:var(--s-2);font-weight:500;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl)}.card-elevated{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}.badge{align-items:center;gap:var(--s-1);height:22px;padding:0 var(--s-2);border-radius:var(--r-sm);font-size:var(--t-12);letter-spacing:-.005em;background:var(--gray-100);color:var(--gray-700);font-weight:500;display:inline-flex}.badge-brand{background:var(--brand-soft);color:var(--brand)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.eyebrow{font-size:var(--t-12);letter-spacing:.04em;color:var(--fg-muted);text-transform:uppercase;font-weight:500}.h-display{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg);font-weight:500;line-height:1.05}.h-section{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);font-weight:500;line-height:1.15}.mono{font-family:var(--font-mono);font-feature-settings:"tnum"}.divider{background:var(--border);height:1px}.topbar{height:56px;padding:0 var(--s-6);border-bottom:1px solid var(--border);background:var(--bg);align-items:center;display:flex}.nav-link{height:32px;padding:0 var(--s-3);border-radius:var(--r-md);font-size:var(--t-13);color:var(--fg-muted);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);align-items:center;font-weight:500;display:inline-flex}.nav-link:hover,.nav-link.active{background:var(--gray-100);color:var(--fg)}.tbl{border-collapse:collapse;width:100%;font-size:var(--t-13)}.tbl th{text-align:left;color:var(--fg-muted);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);font-weight:500;font-size:var(--t-12);letter-spacing:.02em}.tbl td{padding:var(--s-3);border-bottom:1px solid var(--border);vertical-align:middle}.tbl tr{transition:background var(--t-fast) var(--ease)}.tbl tbody tr:hover{background:var(--gray-50)}.progress{background:var(--gray-150);border-radius:var(--r-full);height:4px;overflow:hidden}.progress>div{background:var(--gray-950);border-radius:var(--r-full);height:100%;transition:width var(--t-slow) var(--ease)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--gray-100) 0%, var(--gray-150) 50%, var(--gray-100) 100%);border-radius:var(--r-md);background-size:200% 100%;animation:1.6s linear infinite shimmer}::selection{background:var(--brand);color:#fff}
