.solver-options input[type=radio],.solver-options input[type=checkbox],.option-item input[type=radio],.option-item input[type=checkbox]{-webkit-appearance:auto!important;appearance:auto!important;vertical-align:middle!important;flex-shrink:0!important;width:18px!important;height:18px!important;margin:0!important}.sl-markdown-content .tube-grid-overlay-container button,.sl-markdown-content .grid-controls-panel button,.not-content .grid-controls-panel button,.tube-grid-overlay-container button{box-sizing:border-box!important;margin:0!important;line-height:normal!important}.sl-markdown-content .solver-options input,.sl-markdown-content .option-item input{margin-top:0!important;margin-bottom:0!important}.solver-options label,.option-item label{align-items:center!important;gap:8px!important;margin:0!important;display:flex!important}.tube-cell.highlight-from-cell{z-index:5;position:relative;box-shadow:inset 0 0 0 2px #ffffe0,0 0 12px 4px #ffffe0}.tube.highlight-to{border:4px solid #90ee90;transition:transform .3s ease-in-out;transform:scale(1.05);box-shadow:0 0 12px 4px #90ee90}.solution-step-visual-item{background-color:#f9f9f9;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:15px;transition:background-color .25s,border-color .25s}.solution-step-visual-item.warning-step{background-color:#ef44441f!important;border:2px solid #ef4444!important}.solution-step-visual-item .step-description{margin-bottom:10px}.solution-steps-visual .tubes-display{margin-top:10px}.app-container{max-width:960px;margin:0 auto;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.tube{aspect-ratio:2/7;background-color:#ffffff80;border:2px solid #888;border-radius:0 0 20px 20px;flex-direction:column;flex-shrink:0;align-self:flex-end;width:14%;min-width:30px;max-width:60px;height:auto;margin:0 1%;display:flex;position:relative;overflow:hidden;margin-top:0!important}.tube.small-tube{height:auto;aspect-ratio:4/5!important;margin-top:0!important}.tube-content{flex-direction:column-reverse;flex-grow:1;width:100%;display:flex;overflow:hidden;margin-top:0!important}.tube-cell{border-top:1px solid #ffffff4d;width:100%;height:25%;padding:0;margin-top:0!important}.tube-cell.empty{background-color:#0000}.small-tube .tube-cell{height:100%}.tube-number{text-align:center;color:#333;box-sizing:border-box;width:100%;padding:0;font-size:12px}.question-mark{color:#fff;pointer-events:none;justify-content:center;align-items:center;height:100%;font-size:18px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.drop-area{text-align:center;cursor:pointer;border:2px dashed #ccc;border-radius:8px;padding:40px 20px;transition:all .3s}.drop-area.dragging{background-color:#0064ff1a;border-color:#06c}.preview-container{max-width:100%;position:relative;overflow:hidden}.preview-image{max-width:100%;max-height:400px}.replace-overlay{color:#fff;opacity:0;background-color:#00000080;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.preview-container:hover .replace-overlay{opacity:1}.solution-steps-visual .step-navigation{background-color:#f0f0f0;border-radius:5px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px;display:flex}.solution-steps-visual .step-navigation button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:4px;padding:8px 15px;font-size:.9em}.solution-steps-visual .step-navigation button:disabled{cursor:not-allowed;background-color:#ccc}.solution-steps-visual .step-indicator{font-size:1.1em;font-weight:700}.solution-steps-visual .step-description{text-align:center;margin-bottom:10px;font-size:1.1em}.solution-steps-visual .tube-display-row{margin-bottom:10px}.tubes-grid{flex-wrap:nowrap;justify-content:center;width:100%;margin-bottom:25px;padding:0 5px;display:flex}.solution-steps-visual .tubes-with-arrow-container{padding-top:30px;position:relative}.tube-cell.assumed-color-cell{background-image:repeating-linear-gradient(45deg,#0000,#0000 3px,#0000001a 3px 6px);position:relative}.error-message{animation:.3s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
