:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f2ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:#151515;cursor:pointer;background:#fff;border:1px solid #d9d4ca;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:700;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}button:hover:not(:disabled){background:#f7f7f4;border-color:#aaa397}button:active:not(:disabled){transform:translateY(1px)}button:disabled{color:#9a948b;cursor:not-allowed}main{max-width:1280px;margin:0 auto;padding:28px}.appHeader{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:#4a6b54;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2,p{margin:0}h1{font-size:4.4rem;line-height:.96}h2{font-size:1.05rem}.subtitle{color:#5f5a52;max-width:620px;margin-top:14px;font-size:1.03rem;line-height:1.5}.heroStatus{color:#fff;white-space:nowrap;background:#151515;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 16px;display:flex}.toolbar{background:#e7e2d8;border:1px solid #d6d0c5;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.countControl,.toolbarActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.countControl label{color:#403c36;font-weight:800}.countControl input{background:#fff;border:1px solid #cfc8bd;border-radius:8px;width:76px;height:42px;padding:0 10px}.primary{color:#fff;background:#151515;border-color:#151515}.primary:hover:not(:disabled){background:#34302b;border-color:#34302b}.warning,.message{border-radius:8px;margin-top:14px;padding:12px 14px}.warning{color:#6a4b00;background:#fff2cc;border:1px solid #efcf78}.message{color:#403c36;background:#fff;border:1px solid #ded8ce}.grid{grid-template-columns:minmax(0,1fr) minmax(480px,.7fr);gap:18px;min-width:0;margin-top:18px;display:grid}.leftColumn,.rightColumn{gap:18px;min-width:0;display:grid}.panel{background:#fff;border:1px solid #ded8ce;border-radius:8px;min-width:0;padding:18px}.simulationPanel{min-width:480px}.sectionTitle{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.sectionTitle span{color:#686159;font-size:.9rem}.sliderList{gap:12px;display:grid}.positionRow{grid-template-columns:110px minmax(220px,1fr) 32px;align-items:center;gap:14px;display:grid}.rowLabel{color:#403c36;font-weight:800}.sliderViewport{--slider-step:32px;--slider-position:4;justify-content:center;align-items:center;width:100%;height:48px;display:flex;position:relative;overflow:visible}.sliderViewport.compact{--slider-step:24px;height:34px}.centerMarker{z-index:3;background:#151515;border:3px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #151515}.sliderViewport.compact .centerMarker{border-width:2px;width:13px;height:13px}.movingSliderFrame{height:34px;transform:translateX(calc((4 - var(--slider-position)) * var(--slider-step)));width:calc((var(--slider-step) * 7) + 18px);background:#fbfaf7;border:1px solid #bdb5aa;border-radius:7px;justify-content:center;align-items:center;padding:0 8px;transition:transform .18s;display:flex;box-shadow:inset 0 0 0 1px #fff}.sliderViewport.compact .movingSliderFrame{height:26px;width:calc((var(--slider-step) * 7) + 14px);border-radius:6px;padding:0 6px}.movingSliderTrack{grid-template-columns:repeat(7, var(--slider-step));justify-items:center;gap:0;display:grid}.sliderRing{aspect-ratio:1;background:#fff;border:2px solid #151515;border-radius:50%;width:18px;min-height:0;padding:0;display:block}.sliderViewport.compact .sliderRing{border-width:1px;width:12px}.sliderRing.interactive{min-height:18px}.sliderRing.interactive:hover{background:#eef5ef;border-color:#4a6b54}.positionValue{color:#4a6b54;text-align:right;font-weight:900}.matrixWrap{padding-bottom:4px;overflow-x:auto}.couplingMatrix{border-collapse:collapse;min-width:100%}.couplingMatrix th{color:#5f5a52;padding:6px;font-size:.88rem}.couplingMatrix td{padding:5px}.matrixCell{border-radius:6px;justify-content:center;min-width:48px;height:42px;padding:0}.matrixCell.value1{color:#236332;background:#e5f4e8;border-color:#58a268}.matrixCell.value-1{color:#8e2b22;background:#ffe9e4;border-color:#d76c5e}.matrixCell.locked{background:#efede8;border-color:#ded8ce}.network{aspect-ratio:1;width:100%;max-height:360px}.edge{stroke-width:3px;opacity:.7}.edge.same{stroke:#399452}.edge.opposite{stroke:#d44d42}.node{fill:#151515;stroke:#fff;stroke-width:4px}.nodeText{fill:#fff;text-anchor:middle;font-size:15px;font-weight:900}.stateDots{gap:10px;display:grid}.stateDots.compact{gap:6px}.miniSlider{grid-template-columns:34px 1fr;align-items:center;gap:10px;display:grid}.miniSlider span{color:#403c36;font-size:.82rem;font-weight:800}.buttonGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.buttonGrid button{justify-content:center}.solutionPanel{margin-top:18px}.solutionList{gap:10px;max-height:520px;display:grid;overflow:auto}.solutionItem{background:#f7f5f1;border:1px solid #e2ddd3;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.solutionItem.active{background:#eaf4ed;border-color:#6fb27b}code{color:#fff;white-space:nowrap;background:#151515;border-radius:6px;padding:5px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem}@media (width<=1080px){main{padding:18px}.appHeader,.toolbar{flex-direction:column;align-items:stretch}.heroStatus{justify-content:center}.grid{grid-template-columns:1fr}.simulationPanel{min-width:0}h1{font-size:3.2rem}}@media (width<=620px){h1{font-size:2.45rem}.sliderViewport{--slider-step:24px;height:40px}.movingSliderFrame{height:30px;width:calc((var(--slider-step) * 7) + 14px);padding:0 6px}.sliderRing{width:15px}.positionRow{grid-template-columns:1fr;align-items:start}.panel{padding:14px}.positionValue{text-align:left}.sectionTitle,.solutionItem{flex-direction:column;align-items:flex-start}.buttonGrid{grid-template-columns:1fr}.toolbarActions button,.countControl button{justify-content:center;width:100%}.countControl input{flex:1}}
