:root{--bg: #0d1117;--panel: rgba(255, 255, 255, .05);--panel-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .62);--muted-2: rgba(255, 255, 255, .5);--shadow: 0 4px 12px rgba(0, 0, 0, .2);--brand: #7c5cff;--brand-2: #2dd4bf;--danger: #ff5c7a;--radius: 12px;--radius-sm: 10px;--ring: 0 0 0 2px rgba(255, 255, 255, .15);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,Liberation Sans,sans-serif;line-height:1.45}#root{max-width:1200px;margin:0 auto;padding:28px 18px 40px}.appHeader{margin-bottom:20px}.appTitle{margin:0;letter-spacing:-.02em;font-size:clamp(22px,2.2vw + 14px,34px);line-height:1.1}.appSubtitle{margin:8px 0 0;color:var(--muted);max-width:70ch;font-size:14px}.appShell{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:980px){.appShell{grid-template-columns:420px 1fr;align-items:start}}.stack{display:grid;gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.cardBody{padding:16px}.cardTitleRow{margin-bottom:10px}.cardTitle{margin:0;font-size:15px;letter-spacing:-.01em}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#ffffff0d;padding:6px 10px;border-radius:999px;color:var(--muted);font-size:12px}.btn{appearance:none;border:1px solid var(--border);background:#ffffff0f;color:var(--text);padding:10px 12px;border-radius:12px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.btn:hover{background:#ffffff1a;border-color:#ffffff2e;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btnPrimary{border-color:#7c5cff66;background:#7c5cff33}.btnPrimary:hover{background:#7c5cff47}.btnIcon{display:inline-flex;align-items:center;gap:8px}.field{display:grid;gap:8px}.label{font-size:13px;color:var(--muted)}.fileInput{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0000002e;color:var(--text)}.fileInput:focus-visible{outline:none;box-shadow:var(--ring)}.helpText{margin:0;color:var(--muted-2);font-size:12px}.statusText{margin:10px 0 0;font-size:13px;color:var(--muted)}.statusSuccess{color:#2dd4bff2}.statusError{color:#ff5c7af2}.kvList{margin:0;padding:0;list-style:none;display:grid;gap:10px}.kvItem{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#00000029}.kvKey{color:var(--muted);font-size:13px}.kvVal{font-weight:700;letter-spacing:.01em}.list{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px}.chartsGrid{display:grid;gap:14px}@media(min-width:980px){.chartsGrid{grid-template-columns:1fr}}.chartPanel{padding:14px;border-radius:var(--radius);border:1px solid var(--border);background:#0000001f}.chartPanel .chartTitle{margin:0 0 10px;font-size:14px;letter-spacing:-.01em}.loadingRow{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.22);border-top-color:#ffffffb8;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
