:root{--mc-bg: var(--white);--mc-border: #e2e8f0;--mc-soft: #f8fafc;--mc-a: #2563eb;--mc-a-light: #eff6ff;--mc-a-border: #bfdbfe;--mc-b: #7c3aed;--mc-b-light: #f5f3ff;--mc-b-border: #ddd6fe;--mc-adv: #0f766e;--mc-adv-light: #f0fdfa;--mc-adv-border: #99f6e4;--mc-special: #d97706;--mc-special-light: #fffbeb;--mc-special-border: #fde68a}.container{max-width:1120px;margin:0 auto;padding:40px 20px 60px}.config-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end;background:var(--mc-bg);padding:18px 20px;border-radius:var(--radius);margin-bottom:28px;border:1px solid var(--mc-border);box-shadow:var(--shadow-sm)}.config-label{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:700;margin-bottom:8px;color:var(--text-dark);text-transform:uppercase;letter-spacing:.07em}.dim-inputs{display:flex;align-items:center;gap:8px;justify-content:center}.dim-inputs input{width:62px;padding:10px 8px;text-align:center;font-size:1rem;border:1px solid var(--mc-border);border-radius:10px;background:var(--mc-soft);color:var(--text-dark);transition:border-color .2s,box-shadow .2s,background .2s}.dim-inputs input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f;background:var(--mc-bg);outline:none}.cross{color:var(--text-light);font-size:1.1rem}.config-actions{display:flex;gap:10px;justify-content:center;align-items:center}.set-btn{padding:10px 18px;background:var(--primary-gradient);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:700;font-size:.9rem;height:42px;box-shadow:var(--shadow-md);transition:transform .18s,box-shadow .18s}.set-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow)}.clear-btn{width:42px;height:42px;border-radius:12px;background:var(--mc-bg);border:1px solid var(--mc-border);color:#dc2626;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,box-shadow .2s,transform .2s}.clear-btn:hover{border-color:#fecaca;box-shadow:0 6px 16px #dc26261f;transform:translateY(-1px)}.input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444433;animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);gap:20px;align-items:start;margin-bottom:28px}.matrix-box{display:flex;flex-direction:column;align-items:center;background:var(--mc-bg);border:1px solid var(--mc-border);border-radius:16px;padding:18px 16px;box-shadow:0 4px 20px #0f172a12;min-width:0;transition:box-shadow .2s}.matrix-box--a{border-top:3px solid var(--mc-a)}.matrix-box--b{border-top:3px solid var(--mc-b)}.matrix-box:hover{box-shadow:0 8px 28px #0f172a1a}.box-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px}.box-title-group{display:flex;align-items:center;gap:10px}.box-badge{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;flex-shrink:0}.badge--a{background:var(--mc-a-light);color:var(--mc-a);border:1px solid var(--mc-a-border)}.badge--b{background:var(--mc-b-light);color:var(--mc-b);border:1px solid var(--mc-b-border)}.box-title{font-weight:700;color:var(--text-dark);font-size:1rem}.quick-fill{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.quick-fill button{padding:4px 9px;font-size:.72rem;border:1px solid var(--mc-border);background:var(--mc-soft);color:var(--text-light);border-radius:999px;cursor:pointer;font-weight:600;transition:background .15s,border-color .15s,color .15s}.quick-fill button:hover{background:#eff6ff;border-color:var(--mc-a-border);color:var(--mc-a)}.bracket-wrapper{position:relative;padding:10px 14px;display:inline-block;margin-bottom:14px}.bracket-wrapper:before,.bracket-wrapper:after{content:"";position:absolute;top:0;bottom:0;width:10px;border:2px solid var(--text-dark)}.bracket-wrapper:before{left:0;border-right:none}.bracket-wrapper:after{right:0;border-left:none}.matrix-grid{display:grid;gap:7px;justify-content:center}.matrix-grid .mat-input{width:clamp(42px,6vw,56px);height:clamp(36px,5vw,46px);text-align:center;border:1px solid var(--mc-border);border-radius:8px;font-size:.95rem;background:var(--mc-soft);color:var(--text-dark);transition:border-color .15s,box-shadow .15s,background .15s;padding:0;font-family:inherit;-webkit-appearance:none;-moz-appearance:textfield;appearance:none}.matrix-grid .mat-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1f;background:var(--mc-bg)}.matrix-grid input[type=number]::-webkit-inner-spin-button,.matrix-grid input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scalar-pow-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;min-height:0}.param-input{width:64px!important;height:36px;text-align:center;border:1px solid var(--mc-special-border);border-radius:8px;font-size:.9rem;background:var(--mc-special-light);color:var(--text-dark)}.param-confirm-btn{padding:6px 12px;border:1px solid var(--mc-special-border);background:var(--mc-special-light);color:var(--mc-special);border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:700;transition:background .15s}.param-confirm-btn:hover{background:#fde68a}.ops-chips-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);margin-bottom:8px;align-self:flex-start}.ops-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.chip{padding:6px 12px;font-size:.78rem;font-weight:700;border-radius:999px;cursor:pointer;border:1px solid var(--mc-border);background:var(--mc-soft);color:var(--text-dark);transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;white-space:nowrap}.chip:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0f172a1a}.chip--primary{background:var(--mc-a-light);border-color:var(--mc-a-border);color:var(--mc-a)}.chip--primary:hover{background:#dbeafe}.chip--special{background:var(--mc-special-light);border-color:var(--mc-special-border);color:var(--mc-special)}.chip--special:hover{background:#fde68a}.chip--adv{background:var(--mc-adv-light);border-color:var(--mc-adv-border);color:var(--mc-adv)}.chip--adv:hover{background:#ccfbf1}.matrix-box--b .chip--primary{background:var(--mc-b-light);border-color:var(--mc-b-border);color:var(--mc-b)}.matrix-box--b .chip--primary:hover{background:#ede9fe}.ops-bridge{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px;background:var(--mc-soft);border:1px solid var(--mc-border);border-radius:16px;align-self:center}.ops-bridge-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}.op-pill{display:flex;flex-direction:column;align-items:center;gap:2px;width:66px;padding:10px 6px;border:1px solid var(--mc-border);border-radius:12px;background:var(--mc-bg);cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;box-shadow:0 2px 8px #0f172a0f}.op-pill:hover{transform:translateY(-2px);border-color:var(--mc-a-border);box-shadow:0 6px 18px #2563eb1f}.op-pill--primary{background:var(--primary-gradient);border:none;box-shadow:var(--shadow-glow)}.op-pill--primary .op-sym,.op-pill--primary .op-label{color:#fff}.op-sym{font-size:1.4rem;font-weight:700;color:var(--text-dark);line-height:1}.op-label{font-size:.62rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.axb-panel{background:var(--mc-soft);border:1px solid var(--mc-border);border-radius:14px;padding:20px;margin-bottom:20px}.axb-panel-inner{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.axb-label{font-size:.9rem;color:var(--text-dark);font-weight:500}.b-vector-inputs{display:flex;gap:8px;flex-wrap:wrap}.b-vector-inputs .mat-input{width:68px;height:38px;text-align:center;border:1px solid var(--mc-border);border-radius:8px;font-size:.95rem;background:var(--mc-bg);color:var(--text-dark);padding:0;font-family:inherit;-webkit-appearance:none;-moz-appearance:textfield;appearance:none}.history-section{margin-bottom:20px}.history-toggle{border:1px solid var(--mc-border);background:var(--mc-bg);border-radius:10px;padding:10px 16px;font-size:.85rem;font-weight:600;color:var(--text-dark);cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;gap:8px}.history-toggle:hover{background:var(--mc-soft);border-color:var(--primary)}.history-body{margin-top:10px;border:1px solid var(--mc-border);border-radius:12px;overflow:hidden;background:var(--mc-bg)}.history-entry{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--mc-border)}.history-entry:last-child{border-bottom:none}.history-label{flex:1;font-size:.88rem;color:var(--text-dark)}.history-time{font-size:.78rem;color:var(--text-light)}.history-restore{padding:4px 10px;font-size:.75rem;font-weight:700;border:1px solid var(--mc-a-border);background:var(--mc-a-light);color:var(--mc-a);border-radius:8px;cursor:pointer;transition:background .15s;box-shadow:none!important}.history-restore:hover{background:#dbeafe}.result-section{display:flex;flex-direction:column;align-items:center;margin-top:10px;padding:24px 20px;border-radius:16px;background:var(--mc-bg);border:1px solid var(--mc-border);border-top:3px solid #10b981;box-shadow:0 8px 28px #0f172a17;animation:fadeInUp .3s ease;width:100%;box-sizing:border-box}.result-header{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}.result-title-wrap{display:flex;align-items:center;gap:10px}.result-actions{display:flex;gap:6px;flex-wrap:wrap}.action-chip{padding:6px 12px;font-size:.78rem;font-weight:600;border:1px solid var(--mc-border);background:var(--mc-soft);color:var(--text-dark);border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.action-chip:hover{background:var(--mc-a-light);border-color:var(--mc-a-border);color:var(--mc-a)}.result-cell{width:clamp(44px,6vw,60px);height:clamp(36px,5vw,48px);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-dark);font-size:.95rem;background:#f0fdf4;border-radius:6px}.scalar-res{font-size:clamp(2rem,4vw,3rem);font-weight:800;padding:12px 24px;color:var(--text-dark);background:#f0fdf4;border-radius:12px}.steps-container{margin-top:24px;background:var(--white, #ffffff);border:1px solid var(--mc-border);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000a;animation:slideUpFade .4s cubic-bezier(.16,1,.3,1);width:100%}.steps-header{width:100%;padding:16px 24px;background:#f8fafc;border:none;border-bottom:1px solid var(--mc-border);text-align:left;font-size:1.05rem;font-weight:600;color:var(--text-dark);cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .2s}.steps-header:hover{background:#f1f5f9}#steps-toggle-icon{color:#64748b;font-size:.8rem}.steps-content{padding:24px;overflow-x:auto}.step-item{margin-bottom:32px;padding-left:28px;border-left:3px solid var(--mc-border);position:relative;text-align:left}.step-item:last-child{margin-bottom:0}.step-title{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--text-dark);margin-bottom:16px;font-size:1.1rem;letter-spacing:-.01em}.step-badge{position:absolute;left:-17px;top:-2px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:50%;font-size:.95rem;font-weight:800;box-shadow:0 0 0 6px var(--mc-bg, #ffffff),0 4px 6px -1px #0000001a}.step-formula{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#1e293b;padding:12px 16px;border-radius:10px;margin-bottom:12px;color:#e2e8f0;font-size:.95rem;box-shadow:inset 0 2px 4px #0000001a;overflow-x:auto}.step-sub{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;padding:16px;margin-bottom:12px;color:#475569;font-size:.95rem;background:#f8fafc;border-radius:8px;border:1px dashed #cbd5e1;overflow-x:auto}.step-result{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;padding:16px;background:#ecfdf5;color:#047857;font-weight:800;font-size:1rem;border-radius:8px;border-left:4px solid #10b981;overflow-x:auto}.step-matrix-wrapper{display:flex;justify-content:flex-start;margin:8px 0;overflow-x:auto}.step-matrix{display:inline-grid;gap:1px;background:#cbd5e1;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.step-matrix-cell{background:#fff;padding:8px 14px;text-align:center;font-weight:600;font-size:.95rem;color:#0f172a;display:flex;align-items:center;justify-content:center;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.step-matrix-aug-first{border-left:2px solid #3b82f6!important}.step-formula .step-matrix{background:#475569;border-color:#475569}.step-formula .step-matrix-cell{background:#1e293b;color:#f1f5f9}.step-formula .step-matrix-aug-first{border-left:2px solid #60a5fa!important}.step-result .step-matrix{background:#10b981;border-color:#10b981}.step-result .step-matrix-cell{background:#ecfdf5;color:#065f46}.step-result .step-matrix-aug-first{border-left:2px solid #059669!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.ops-bridge{flex-direction:row;border-radius:14px;justify-content:center;flex-wrap:wrap;padding:12px 16px;align-self:stretch}}@media(max-width:640px){.container{padding:24px 14px 48px}.config-panel{grid-template-columns:1fr}.config-actions{justify-content:flex-start}.box-header{flex-direction:column;align-items:flex-start;gap:10px}.quick-fill{justify-content:flex-start}.result-header{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.op-pill,.set-btn,.chip{transition:none}.result-section{animation:none}}
