.vc-wrap{max-width:860px;margin:0 auto;padding:20px 16px 48px}.vc-wrap h1{font-size:1.8rem;font-weight:800;margin-bottom:2px}.vc-sub{font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono);margin-bottom:20px}.vc-dim-row{display:flex;align-items:center;gap:10px;margin-bottom:18px}.vc-dim-label{font-size:12px;font-weight:700;font-family:var(--font-mono);color:var(--text-muted)}.vc-dim-btn{font-family:var(--font-mono);font-size:13px;font-weight:800;padding:5px 18px;border-radius:99px;border:1.5px solid var(--border2);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .15s}.vc-dim-btn.active{background:#1e3a8a;color:#fff;border-color:#1e3a8a}[data-theme=dark] .vc-dim-btn.active{background:#2563eb;border-color:#2563eb}.vc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width:580px){.vc-inputs{grid-template-columns:1fr}}.vc-panel{background:var(--surface);border:1.5px solid var(--border2);border-radius:16px;overflow:hidden}.vc-panel-head{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border2);background:var(--surface2)}.vc-panel-label{font-size:14px;font-weight:800;font-family:var(--font-mono);color:var(--text-primary, #111);flex:1}[data-theme=dark] .vc-panel-label{color:#f3f4f6}.vc-clear-btn{font-size:11px;font-weight:700;font-family:var(--font-mono);padding:3px 10px;border-radius:6px;border:1.5px solid var(--border2);background:transparent;color:var(--text-muted);cursor:pointer}.vc-panel-body{padding:16px}.vc-components{display:flex;flex-direction:column;gap:10px}.vc-comp-row{display:flex;align-items:center;gap:10px}.vc-comp-axis{width:22px;font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--text-muted);text-align:center;flex-shrink:0}.vc-axis-x{color:#dc2626}.vc-axis-y{color:#16a34a}.vc-axis-z{color:#2563eb}[data-theme=dark] .vc-axis-x{color:#f87171}[data-theme=dark] .vc-axis-y{color:#4ade80}[data-theme=dark] .vc-axis-z{color:#60a5fa}.vc-input{flex:1;height:44px;text-align:center;font-family:var(--font-mono);font-size:16px;font-weight:700;border:1.5px solid var(--border2);border-radius:10px;background:var(--surface2);color:var(--text-primary, #111);transition:border-color .15s;padding:0 10px}[data-theme=dark] .vc-input{color:#f3f4f6;background:#1e2433}.vc-input:focus{outline:none;border-color:#3b82f6}.vc-notation{font-family:var(--font-mono);font-size:13px;margin-top:12px;color:var(--text-muted);border-top:1px solid var(--border2);padding-top:10px;line-height:1.6}.vc-notation .vc-comp-x{color:#dc2626;font-weight:700}.vc-notation .vc-comp-y{color:#16a34a;font-weight:700}.vc-notation .vc-comp-z{color:#2563eb;font-weight:700}[data-theme=dark] .vc-notation .vc-comp-x{color:#f87171}[data-theme=dark] .vc-notation .vc-comp-y{color:#4ade80}[data-theme=dark] .vc-notation .vc-comp-z{color:#60a5fa}.vc-scalar-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--border2);border-radius:12px;padding:10px 14px;margin-bottom:16px}.vc-scalar-label{font-size:13px;font-weight:700;font-family:var(--font-mono);color:var(--text-muted)}.vc-scalar-input{width:100px;height:38px;text-align:center;font-family:var(--font-mono);font-size:16px;font-weight:700;border:1.5px solid var(--border2);border-radius:8px;background:var(--surface2);color:var(--text-primary, #111);padding:0 8px}[data-theme=dark] .vc-scalar-input{color:#f3f4f6;background:#1e2433}.vc-scalar-input:focus{outline:none;border-color:#3b82f6}.vc-ops{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vc-op-btn{font-family:var(--font-mono);font-size:13px;font-weight:800;padding:8px 16px;border-radius:10px;border:1.5px solid var(--border2);background:var(--surface);color:var(--text-primary, #111);cursor:pointer;transition:all .14s}[data-theme=dark] .vc-op-btn{color:#f3f4f6}.vc-op-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#1e40af}[data-theme=dark] .vc-op-btn:hover{background:#1e2c4a;color:#93c5fd;border-color:#3b82f6}.vc-op-btn.primary{background:#1e3a8a;color:#fff;border-color:#1e3a8a}[data-theme=dark] .vc-op-btn.primary{background:#2563eb;border-color:#2563eb}.vc-op-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.vc-op-sep{width:1px;height:32px;background:var(--border2);margin:0 2px}.vc-result{background:var(--surface);border:1.5px solid var(--border2);border-radius:16px;overflow:hidden}.vc-result-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border2);background:var(--surface2)}.vc-result-label{font-size:11px;font-weight:800;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.vc-result-op{font-size:13px;font-weight:800;font-family:var(--font-mono);color:var(--text-primary, #111)}[data-theme=dark] .vc-result-op{color:#f3f4f6}.vc-result-body{padding:18px 20px}.vc-res-scalar{font-family:var(--font-mono);font-size:2rem;font-weight:800;color:#166534}[data-theme=dark] .vc-res-scalar{color:#4ade80}.vc-res-scalar.error{font-size:1rem;color:#dc2626}[data-theme=dark] .vc-res-scalar.error{color:#f87171}.vc-res-vector{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vc-res-bracket{font-size:2.6rem;color:var(--text-muted);line-height:1}.vc-res-components{display:flex;flex-direction:column;gap:6px}.vc-res-comp{font-family:var(--font-mono);font-size:1.2rem;font-weight:800;padding:4px 16px;border-radius:8px;background:#f0fdf4;color:#166534;border:1.5px solid #bbf7d0}[data-theme=dark] .vc-res-comp{background:#0d1f14;color:#4ade80;border-color:#14532d}.vc-steps-toggle{font-size:11px;font-weight:700;font-family:var(--font-mono);padding:3px 10px;border-radius:6px;border:1.5px solid var(--border2);background:transparent;color:var(--text-muted);cursor:pointer;margin-top:12px;display:block}.vc-steps{margin-top:10px;padding:12px 14px;background:var(--surface2);border-radius:10px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);line-height:1.8;white-space:pre-wrap;display:none}.vc-steps.show{display:block}.vc-empty{font-size:13px;color:var(--text-muted);font-family:var(--font-mono)}.vc-viz-panel{margin-top:16px;background:var(--surface);border:1.5px solid var(--border2);border-radius:16px;overflow:hidden}.vc-viz-head{padding:8px 14px;border-bottom:1px solid var(--border2);background:var(--surface2);font-size:11px;font-weight:800;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.vc-canvas-wrap{padding:12px;display:flex;justify-content:center}#vc-canvas{border-radius:10px;max-width:100%}
