:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7fb;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 56px}.intro{margin-bottom:24px}.copyright{color:#64748b;margin:8px 0 0;font-size:.92rem;font-weight:600}h1,h2{margin:0;line-height:1.2}h1{font-size:2.6rem}.empty{color:#5b6472}.input-panel,.coefficient-panel,.result-panel,.solution-panel,.history-panel{background:#fff;border:1px solid #d9deea;border-radius:8px;padding:20px;box-shadow:0 10px 30px #1f29370f}.history-panel{margin-top:20px}.input-workspace,.result-workspace{grid-template-columns:minmax(360px,1fr) minmax(280px,.8fr);align-items:start;gap:20px;display:grid}.result-workspace{margin-top:20px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.size-controls{flex-wrap:wrap;gap:12px;display:flex}.size-controls label{color:#4b5563;gap:6px;font-size:.88rem;font-weight:700;display:grid}.size-controls select{width:92px}input,select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 10px}input:focus,select:focus{border-color:#2563eb;outline:3px solid #2563eb29}.matrix-editor{padding-bottom:4px;overflow-x:auto}.input-matrix{border-collapse:collapse;border-left:3px solid #111827;border-right:3px solid #111827;width:max-content}.input-matrix td{border:1px solid #cbd5e1;padding:0}.input-matrix input{text-align:center;border:0;border-radius:0;width:78px;padding:10px 8px}.input-matrix input:focus{z-index:1;outline:3px solid #2563eb47;position:relative}.equation-editor{gap:12px;padding-bottom:6px;display:grid;overflow-x:auto}.equation-row{color:#111827;white-space:nowrap;align-items:center;gap:10px;width:max-content;min-width:100%;font-size:1.06rem;font-weight:800;display:flex}.equation-term{align-items:center;gap:8px;display:flex}.equation-row input{text-align:center;width:72px;padding:9px 8px}.equation-row .right-side-input{margin-left:2px}.operator{color:#475569;font-weight:900}.equals{margin-left:4px}.variable{min-width:24px}.variable sub{font-size:.7em;line-height:0}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;display:flex}button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:6px;padding:10px 22px;font-weight:800}button:disabled{cursor:not-allowed;background:#94a3b8}.error{color:#b91c1c;margin:0;font-weight:700}.history-list{gap:14px;margin-top:16px;display:grid}.separator{color:#1d4ed8;background:#f8fafc;border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;padding:10px 12px;font-weight:800}.matrix-step{grid-template-columns:minmax(180px,280px) 1fr;align-items:start;gap:16px;display:grid}.operation{color:#374151;font-weight:800;line-height:1.5}.matrix{border-collapse:collapse;border-left:3px solid #111827;border-right:3px solid #111827;width:max-content}.matrix td{text-align:center;border:1px solid #d8dee9;min-width:64px;padding:10px 14px;transition:background .16s,color .16s}.matrix td.rhs-cell{border-left:3px solid #111827}.matrix tr.target-row td{background:#fff7ed}.matrix td.pivot-cell{color:#fff;background:#2563eb;font-weight:900}.matrix tr.target-row td.pivot-cell{color:#fff;background:#2563eb}.result-panel h2{margin-bottom:18px}.coefficient-panel h2,.solution-panel h2{margin-bottom:16px}.result-matrix-wrap{padding-bottom:4px;overflow-x:auto}.plain-matrix td{background:#fff}.solution-list{color:#111827;white-space:nowrap;gap:10px;font-size:1rem;font-weight:700;line-height:1.6;display:grid;overflow-x:auto}@media (width<=700px){.app{width:min(100% - 20px,1180px);padding-top:20px}.input-workspace,.result-workspace,.panel-header,.matrix-step{grid-template-columns:1fr;display:grid}.input-panel,.coefficient-panel,.result-panel,.solution-panel,.history-panel{padding:16px}.input-workspace,.result-workspace{gap:12px}h1{font-size:2rem}.copyright{font-size:.86rem}.equation-row{gap:8px;font-size:1rem}.equation-row input{width:64px}}
