:root{--bg:#0c0a09;--surface-1:#faf0dc06;--surface-2:#faf0dc0b;--border:#faf0dc12;--border-strong:#faf0dc24;--text:#f4f1ec;--text-muted:#a8a29e;--text-dim:#78716c;--text-faint:#57534e;--accent:#fbbf24;--accent-soft:#fbbf2424;--accent-strong:#fbbf2480;--accent-text:#0c0a09;--good:#34d399;--warn:#fbbf24;--bad:#f87171;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 50% -10%,#fbbf240a,#0000 60%),radial-gradient(60% 40% at 50% 100%,#fbbf2405,#0000 60%);position:fixed;inset:0}#root{z-index:1;min-height:100vh;position:relative}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}input:focus-visible{outline-color:var(--accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.brand{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);align-items:baseline;gap:10px;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);font-size:22px;font-weight:600;line-height:1}.brand-name em{color:var(--accent);font-style:italic;font-weight:500}.subtitle{color:var(--text-faint);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font-size:11px;font-weight:400}.step-pill{cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-body);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex}.step-active{background:var(--accent-soft);border-color:var(--accent-strong);color:var(--accent)}.step-done{color:var(--good);background:#34d39914;border-color:#34d39940}.step-future{background:var(--surface-1);border-color:var(--border);color:var(--text-faint)}.step-pill:hover:not(.step-active){border-color:var(--border-strong);color:var(--text-muted)}.biz-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:center;font-family:var(--font-body);color:var(--text);width:100%;padding:24px 16px;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .18s,background .18s}.biz-card:hover{background:var(--accent-soft);border-color:var(--accent-strong);transform:translateY(-2px)}.biz-card-label{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:600}.biz-card-meta{color:var(--text-faint);letter-spacing:.04em;font-size:11px}.tool-chip{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);background:var(--surface-1);-webkit-user-select:none;user-select:none;font-size:13px;font-family:var(--font-body);color:var(--text);align-items:center;gap:8px;padding:8px 12px;transition:all .15s;display:inline-flex}.tool-chip:hover{border-color:var(--border-strong);background:var(--surface-2)}.tool-chip-selected{border-color:var(--accent-strong);background:var(--accent-soft);color:var(--accent)}.tool-chip-selected:hover{border-color:var(--accent);background:var(--accent-soft)}.cat-label{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.cat-label-icon{font-size:14px;line-height:1}.viz-edge{transition:opacity .25s,stroke-width .25s}.node-group{cursor:pointer}.stat-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:16px}.stat-value{font-family:var(--font-display);letter-spacing:-.03em;font-size:28px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:10px;font-weight:500}.gap-pill{border-radius:var(--radius-sm);color:#fca5a5;cursor:help;background:#f8717114;border:1px solid #f8717138;align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:inline-flex}.isolated-pill{border-radius:var(--radius-sm);color:#fcd34d;background:#fbbf2414;border:1px solid #fbbf2438;align-items:center;gap:5px;padding:5px 10px;font-size:12px;display:inline-flex}.btn-primary{font-family:var(--font-display);border-radius:var(--radius-md);cursor:pointer;background:var(--accent);color:var(--accent-text);letter-spacing:-.01em;border:none;padding:11px 20px;font-size:13px;font-weight:600;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,background .15s}.btn-primary:hover:not(:disabled){background:#fcd34d;transform:translateY(-1px);box-shadow:0 6px 20px #fbbf2440}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-secondary{font-family:var(--font-body);border-radius:var(--radius-md);border:1px solid var(--border-strong);cursor:pointer;background:var(--surface-1);color:var(--text-muted);padding:9px 16px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.btn-secondary:hover{border-color:var(--accent-strong);color:var(--text);background:var(--surface-2)}.insight-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.insight-heading{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes nodeAppear{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes edgeDraw{0%{stroke-dashoffset:500px}to{stroke-dashoffset:0}}.animate-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}@media (width<=768px){.brand-name{font-size:18px}.step-pill>.step-pill-label{display:none}.stat-value{font-size:22px}}
