.tpc-gcode-section{margin-top:25px}.tpc-checkbox-label{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;font-family:"Inter",sans-serif;font-weight:500;color:var(--text-color)}.tpc-checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-color);appearance:none;-webkit-appearance:none;border:2px solid #212529;border-radius:4px;position:relative;background:var(--white)}.tpc-checkbox-label input[type=checkbox]:checked{background:var(--accent-color);border-color:var(--accent-color)}.tpc-checkbox-label input[type=checkbox]:checked::after{content:"✓";position:absolute;color:white;font-size:14px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}.tpc-gcode-upload{margin-top:20px;padding:20px;background:var(--bg-light);border-radius:8px;border:1px solid;border-color:var(--border-color)}.tpc-gcode-upload-area{margin-bottom:10px}.tpc-gcode-upload .tpc-label{display:block;font-weight:600;margin-bottom:10px;color:var(--primary-color);font-family:"Inter",sans-serif}.tpc-gcode-upload .tpc-help-text{display:block;margin-top:8px;color:#6b7280;font-size:13px;font-family:"Inter",sans-serif}.tpc-color-option{display:flex;align-items:center;gap:12px;padding:8px;border:1.2px solid;border-color:var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;background:var(--white);position:relative}.tpc-color-option:hover{border-color:var(--accent-color)}.tpc-color-option input[type=radio]{display:none}.tpc-color-option input[type=radio]:checked+.tpc-color-swatch{border:2px solid var(--accent-color)}.tpc-color-option input[type=radio]:checked~.tpc-color-name{color:var(--accent-color);font-weight:700}.tpc-color-option:has(input[type=radio]:checked){border-color:var(--accent-color);border-width:2px;background:#fff7ed}.tpc-color-option:has(input[type=radio]:checked)::after{content:"✓";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--accent-color);font-size:20px;font-weight:700}.tpc-color-swatch{width:45px;height:45px;border-radius:50%;border:2px solid;border-color:var(--border-color);flex-shrink:0;transition:all .3s ease}.tpc-color-name{font-size:15px;font-weight:500;color:var(--primary-color);font-family:"Inter",sans-serif}.tpc-color-na{opacity:.5;cursor:not-allowed;pointer-events:none;position:relative}.tpc-color-na .tpc-color-swatch{filter:grayscale(1);opacity:.4}.tpc-color-na .tpc-color-name{color:#9ca3af;text-decoration:line-through}.tpc-color-na:hover{border-color:var(--border-color);background:0 0;transform:none}.tpc-multi-color-mapper{padding:25px;background:var(--bg-light);border-radius:8px;border:1px solid var(--border-color)}.tpc-multi-color-mapper h4{margin-top:0;margin-bottom:20px;font-size:18px;font-family:"Poppins",sans-serif;font-weight:600;color:var(--primary-color)}.tpc-color-map-row{display:flex;align-items:center;gap:15px;margin-bottom:12px}.tpc-color-map-row label{min-width:80px;font-weight:600;font-family:"Inter",sans-serif;color:var(--primary-color)}.tpc-color-map-row select{flex:1}.tpc-color-preview{width:35px;height:35px;border-radius:50%;border:2px solid var(--border-color)}.tpc-multi-color-mapper{background:#f8f9fa;padding:20px;border-radius:8px;border:2px solid var(--border-color)}.tpc-mapper-header{margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.tpc-mapper-header h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--primary-color);font-size:17px;font-weight:600}.tpc-mapper-header .tpc-help-text{margin:0;color:#6c757d;font-size:13px}.tpc-color-map-row{background:#fff;padding:14px 16px;border-radius:8px;margin-bottom:10px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:16px;transition:all .2s ease}.tpc-color-map-row:hover{border-color:var(--accent-color);box-shadow:0 2px 8px rgba(255,107,53,.1)}.tpc-color-map-row:last-child{margin-bottom:0}.tpc-color-row-left{display:flex;align-items:center;gap:12px;flex:0 0 auto}.tpc-color-number{width:32px;height:32px;background:var(--accent-color);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.tpc-color-info{display:flex;flex-direction:column;gap:4px}.tpc-color-label{font-weight:600;color:var(--primary-color);font-size:14px}.tpc-detected-color{font-weight:400;color:#6c757d;font-size:12px}.tpc-color-weight{color:#6c757d;font-size:12px}.tpc-gcode-detected{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;background:#e7f3ff;border-radius:4px;border:1px solid #b3d9ff}.tpc-gcode-label{font-size:11px;color:#06c;font-weight:500;text-transform:uppercase}.tpc-gcode-color-sample{width:20px;height:20px;border-radius:4px;border:2px solid rgba(0,0,0,.2);display:inline-block}.tpc-gcode-color-name{font-size:12px;color:#06c;font-weight:600}.tpc-color-row-right{display:flex;align-items:center;gap:10px;flex:1;justify-content:flex-end}.tpc-tool-color{min-width:180px;max-width:220px;padding:8px 12px;border:1.5px solid;border-radius:6px;font-size:14px;font-family:"Inter",sans-serif;background:#fff;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230f172a' d='M1.41 0L6 4.59 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.tpc-tool-color:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(255,107,53,.1)}.tpc-color-preview{width:32px;height:32px;border-radius:6px;border:2px solid #ddd;flex-shrink:0;transition:all .2s ease;background:#f0f0f0}@media screen and (max-width:768px){.tpc-multi-color-mapper{padding:16px}.tpc-color-map-row{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.tpc-color-row-left{width:100%}.tpc-color-row-right{width:100%;justify-content:space-between}.tpc-tool-color{flex:1;max-width:none;min-width:0}.tpc-gcode-detected{flex-wrap:wrap}}@media screen and (max-width:480px){.tpc-multi-color-mapper{padding:12px}.tpc-mapper-header h4{font-size:15px}.tpc-mapper-header .tpc-help-text{font-size:12px}.tpc-color-map-row{padding:12px;margin-bottom:8px}.tpc-color-number{width:28px;height:28px;font-size:14px}.tpc-color-label{font-size:13px}.tpc-color-weight{font-size:11px}.tpc-color-row-right{flex-wrap:wrap}.tpc-tool-color{width:100%}}@media screen and (max-width:480px){.tpc-color-map-row{flex-direction:column;align-items:flex-start}.tpc-color-map-row select{width:100%}}