:root{--brand-purple: #5c068c;--brand-purple-soft: #7d34a8;--brand-lime: #97d700;--brand-teal: #00bfb2;--ink: #1d1d1f;--ink-secondary: #424245;--ink-muted: #6e6e73;--ink-faint: #86868b;--canvas: #f5f5f7;--surface: #ffffff;--surface-sunken: #fafafa;--surface-hover: #f5f5f7;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .16);--accent: var(--brand-purple);--accent-contrast: #ffffff;--positive: #1d8348;--positive-bg: rgba(52, 199, 89, .12);--danger: #d70015;--danger-bg: rgba(255, 59, 48, .1);--warning: #9a6700;--warning-bg: rgba(255, 149, 0, .13);--band-irrelevant: #86868b;--band-weak: #86868b;--band-review: #9a6700;--band-good: #0a7d74;--band-strong: #4a6b00;--band-direct: var(--brand-purple);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 980px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--shadow-2: 0 4px 12px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .06);--shadow-3: 0 12px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.25, .1, .25, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--canvas);font-size:14px;line-height:1.47;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600;letter-spacing:-.021em;color:var(--ink)}h1{font-size:1.5rem;letter-spacing:-.024em}p{margin:0 0 .5rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::selection{background:color-mix(in srgb,var(--brand-purple) 22%,transparent)}:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-teal) 55%,transparent);outline-offset:2px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);padding:.4rem .85rem;font-size:.8125rem;font-weight:500;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:background-color .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease),box-shadow .18s var(--ease)}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);border-color:transparent;color:var(--accent-contrast);box-shadow:var(--shadow-1)}.btn-primary:hover:not(:disabled){background:var(--brand-purple-soft);border-color:transparent}.btn-useful{border-color:transparent;background:var(--positive-bg);color:var(--positive);font-weight:600}.btn-useful:hover:not(:disabled){background:color-mix(in srgb,var(--brand-lime) 26%,white)}.btn-not-useful{border-color:transparent;background:var(--danger-bg);color:var(--danger);font-weight:600}.btn-not-useful:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 16%,white)}.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.btn-sm{padding:.25rem .65rem;font-size:.75rem}.btn.is-active{background:var(--accent);border-color:transparent;color:var(--accent-contrast)}.segmented{display:inline-flex;background:#7878801f;border-radius:var(--radius);padding:2px;gap:2px}.segmented button{border:none;background:transparent;color:var(--ink-secondary);font-size:.8125rem;font-weight:500;letter-spacing:-.01em;padding:.32rem .85rem;border-radius:8px;cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.segmented button:hover:not(.is-active){color:var(--ink)}.segmented button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.8125rem}.field label{color:var(--ink-muted);font-weight:500;font-size:.75rem;letter-spacing:-.005em}.field input[type=text],.field input[type=number],.field input[type=date],.field input[type=search],.field select,.field textarea,input[type=date],select{font-family:inherit;font-size:.8125rem;padding:.42rem .6rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-teal) 22%,transparent)}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.card-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .5rem;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:600;letter-spacing:0;white-space:nowrap}.badge-band-irrelevant,.badge-band-weak{background:#7878801f;color:var(--band-weak)}.badge-band-review{background:var(--warning-bg);color:var(--band-review)}.badge-band-good{background:color-mix(in srgb,var(--brand-teal) 15%,white);color:var(--band-good)}.badge-band-strong{background:color-mix(in srgb,var(--brand-lime) 22%,white);color:var(--band-strong)}.badge-band-direct{background:color-mix(in srgb,var(--brand-purple) 11%,white);color:var(--band-direct)}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.scroll-x{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}table.data-table th,table.data-table td{padding:.62rem .75rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}table.data-table thead th{color:var(--ink-faint);font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom-color:var(--border-strong)}table.data-table tbody tr{transition:background-color .14s var(--ease)}table.data-table tbody tr:hover{background:var(--surface-hover)}table.data-table tbody tr:last-child td{border-bottom:none}.empty-state{padding:2.5rem 1rem;text-align:center;color:var(--ink-muted);font-size:.875rem}.spinner{width:15px;height:15px;border:2px solid rgba(120,120,128,.2);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .65s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.toast-stack{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000;max-width:24rem}.toast{background:#1c1c1ed1;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);color:#fff;padding:.7rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow-3);font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;gap:.9rem;animation:toast-in .28s var(--ease)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.97)}}.toast-error{background:#be0a14e6}.toast-success{background:color-mix(in srgb,var(--brand-teal) 82%,black)}.toast button{background:transparent;border:none;color:#ffffffbf;cursor:pointer;font-weight:500;font-size:.75rem;padding:0}.toast button:hover{color:#fff}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
