:root{--header-bg: #000000;--table-border: #e5e7eb;--input-border: #d1d5db;--danger: #dc2626;--success: #22c55e;--primary: #4f46e5;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-size-base: 14px;--line-height-normal: 1.5;--content-width: 1200px;--readonly-bg: #e5e7eb}body{margin:0;font-family:var(--font-sans);line-height:var(--line-height-normal);background:#fff}header{border-bottom:1px solid var(--table-border);background:#fff}.header-title{margin:0;padding:var(--spacing-md) 0}.header-title h1{margin:0;font-size:24px;font-weight:600;color:#111827}.disclaimer{font-size:12px;color:#6b7280;margin-top:8px;line-height:1.4}.units-display{font-size:14px;color:#6b7280;margin-top:4px}.container{max-width:var(--content-width);margin:0 auto;padding:var(--spacing-md)}.controls-section{margin-bottom:var(--spacing-sm)}.control-group{display:flex;align-items:center;gap:8px}.control-label{font-size:16px;font-weight:500;color:#111827;min-width:140px;text-align:left}.control-select{width:200px;padding:6px 12px;border:1px solid var(--input-border);border-radius:4px;font-size:14px;background:#fff;text-align:left}.control-value{font-size:14px;color:#111827;font-family:var(--font-sans)}.notes-section{margin:var(--spacing-md) 0;width:100%}.notes-heading{font-size:16px;font-weight:500;margin:0 0 8px;color:#111827}.notes-textarea{width:100%;min-height:1.5em;padding:12px 16px;border:1px solid var(--table-border);border-radius:4px;font-family:var(--font-sans);font-size:14px;line-height:1.5;resize:none;overflow:hidden;box-sizing:border-box}.notes-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.section-heading{font-size:16px;font-weight:500;margin:var(--spacing-md) 0;color:#111827}.button-group{display:flex;gap:8px;margin:var(--spacing-md) 0;justify-content:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;height:32px;min-width:100px;justify-content:center;font-family:var(--font-sans)}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background-color:#4338ca}.btn-primary svg{width:16px;height:16px;stroke-width:2}.btn-danger{background-color:#fff;color:#dc2626;border:1px solid #fee2e2;box-shadow:0 1px 2px #0000000d}.btn-danger:hover{background-color:#fee2e2}.btn-success{background-color:#fff;color:#16a34a;border:1px solid #dcfce7;box-shadow:0 1px 2px #0000000d}.btn-success:hover{background-color:#dcfce7}.table-container{margin:var(--spacing-md) 0;overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;width:100%}table{width:100%;min-width:var(--content-width);border-collapse:separate;border-spacing:0;font-size:var(--font-size-base);table-layout:fixed}th:nth-child(1),td:nth-child(1){width:40px;text-align:center}th:nth-child(2),td:nth-child(2){width:auto}th:nth-child(3),td:nth-child(3){width:85px}th:nth-child(4),td:nth-child(4){width:85px}th:nth-child(5),td:nth-child(5){width:85px}th:nth-child(6),td:nth-child(6){width:85px}th:nth-child(7),td:nth-child(7){width:85px}th:nth-child(8),td:nth-child(8){width:85px}th:nth-child(9),td:nth-child(9){width:85px}th:nth-child(10),td:nth-child(10){width:85px}td:nth-child(2),td:nth-child(2) input{text-align:left}td:nth-child(4),td:nth-child(4) input{text-align:left}td:nth-child(5),td:nth-child(5) input{text-align:left}.description-input{width:100%;min-height:28px;padding:4px 8px;border:1px solid var(--input-border);border-radius:4px;font-family:var(--font-sans);font-size:13px;line-height:1.5;resize:none;overflow:hidden;box-sizing:border-box;background:#fff;text-align:left}.description-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.header-row{background:var(--header-bg)}th{color:#fff;font-weight:500;text-align:center;padding:12px 8px;border-bottom:1px solid var(--table-border);overflow:hidden;text-overflow:ellipsis;white-space:normal;height:auto;vertical-align:middle;line-height:1.2;font-size:13px;word-wrap:break-word}.header-units{font-size:11px;opacity:.8;margin-top:4px}td{padding:8px;border-bottom:1px solid var(--table-border);background:#fff;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;white-space:normal;position:relative}.index-cell{text-align:center!important;font-family:var(--font-sans);font-size:13px;color:#666;background-color:var(--readonly-bg)!important}td:nth-child(1),td:nth-child(7),td:nth-child(8),td:nth-child(9){background-color:var(--readonly-bg);color:#666}input,select{width:100%;padding:4px 8px;border:1px solid var(--input-border);border-radius:4px;font-size:13px;background:#fff;height:28px;text-align:center;box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.displacement-input,.tolerance-input{width:calc(100% - 16px);text-align:left;margin:0 8px;position:relative;z-index:1}.tolerance-cell{position:relative;min-width:85px}.tolerance-bar-container{position:absolute;left:8px;top:0;height:100%;width:calc(100% - 16px);padding:4px 0;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start}.tolerance-bar{height:24px;background-color:#ef444426;border-radius:4px}.tolerance-input{position:relative;z-index:2;background:transparent!important}.action-buttons{display:flex;gap:4px;justify-content:center}.action-btn{padding:2px 6px;border:none;background:none;cursor:pointer;color:#666;font-size:16px;line-height:1;border-radius:4px;transition:all .2s ease}.action-btn:hover{background-color:#f3f4f6;color:var(--primary)}.result-row td{background:#fff3f3;font-weight:500;text-align:center}.accumulated-value{font-family:monospace;text-align:center}.row-zero td{background:var(--readonly-bg);color:#666;text-align:center}@media (max-width: 1024px){.container{padding:var(--spacing-sm)}.button-group{flex-wrap:wrap}.btn{flex:1;min-width:0}.control-select{max-width:none}}.visualization-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;margin:var(--spacing-md) 0;overflow:hidden;width:100%;display:flex;flex-direction:column;gap:20px}.visualization-main{display:flex;gap:20px;align-items:flex-start;flex:1;background:#fff;padding:15px;border-radius:6px;overflow:visible}.visualization-text-pane{flex:0 0 300px;padding:15px;background:#f8fafc;border-radius:6px;font-size:13px;display:flex;flex-direction:column;gap:10px;overflow:visible}.visualization-text-entry{padding:8px;border-radius:4px;background:#fff;box-shadow:0 1px 2px #0000000d;height:80px;display:flex;align-items:center}.text-entry-line{display:flex;flex-direction:column;gap:4px;width:100%}.line-number{font-weight:600;color:#1f2937}.line-value{color:#4b5563}.visualization-wrapper{flex:1;min-width:0;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:10px;display:flex;flex-direction:column;height:100%}#visualizationCanvas{width:100%;height:100%}.settings-controls{background:#f8fafc;border-radius:6px;padding:20px;margin-top:20px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.settings-group{display:flex;flex-direction:column;gap:6px}.settings-label{font-size:12px;font-weight:500;color:#4b5563;text-transform:capitalize}.settings-input{padding:6px 10px;border:1px solid var(--input-border);border-radius:4px;font-size:13px;width:100%;background:#fff}.settings-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}
