Upload data to see numeric columns.
Original Data
Upload a file to begin
Normalized Data
Result appears here
'), var(--bg-color); } .main-content-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: clamp(1rem, 2vw, 1.5rem); overflow: hidden; } @media (min-width: 1200px) { .main-content-grid { grid-template-columns: 420px 1fr; grid-template-rows: 1fr; } } @media (max-width: 1199px) { body { height: auto; overflow-y: auto; } .app-container { height: auto; } } .hidden { display: none !important; } /* --- General Components --- */ .glass-pane { background: var(--glass-bg); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--glass-border); border-radius: 16px; box-shadow: 0 8px 32px 0 var(--shadow-color); padding: clamp(1rem, 3vw, 1.5rem); display: flex; flex-direction: column; overflow: hidden; } .app-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: clamp(0.5rem, 1vw, 1rem); } .app-title { font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 700; } .theme-toggle { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 50px; cursor: pointer; padding: 0.5rem; position: relative; width: 60px; height: 32px; } .theme-toggle i { position: absolute; top: 50%; transform: translateY(-50%); font-size: 1rem; color: var(--text-secondary); transition: opacity 0.3s ease; } .theme-toggle .fa-sun { left: 8px; } .theme-toggle .fa-moon { right: 8px; } [data-theme="dark"] .theme-toggle .fa-sun { opacity: 0; } [data-theme="light"] .theme-toggle .fa-moon { opacity: 0; } /* --- Controls Panel --- */ .controls-container { gap: 1rem; overflow-y: auto; } .control-group { margin-bottom: 1rem; } .control-group > label { display: block; font-weight: 600; margin-bottom: 0.75rem; color: var(--text-secondary); font-size: 0.9rem; } .action-btn { width: 100%; padding: 0.75rem 1rem; font-family: var(--font-primary); font-size: 1rem; font-weight: 600; background-color: var(--accent-primary); color: #fff; border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s ease; text-align: center; } .action-btn:not(:disabled):hover { transform: translateY(-2px); background-color: #6159e6; } .action-btn i { margin-right: 0.5em; } .action-btn:disabled { background-color: var(--glass-border); color: var(--text-secondary); opacity: 0.7; cursor: not-allowed; } #file-name-display { color: var(--text-secondary); font-size: 0.8rem; margin-top: 0.75rem; min-height: 1.2em; text-align: center; } #error-message { color: var(--error-color); font-size: 0.85rem; margin-top: 1rem; text-align: center; min-height: 1.2em; } .radio-group, .checkbox-group { display: flex; flex-wrap: wrap; gap: 0.75rem; } .radio-group label, .checkbox-group label { display: flex; align-items: center; padding: 0.5rem 1rem; border: 1px solid var(--glass-border); border-radius: 8px; cursor: pointer; transition: all 0.2s ease; font-size: 0.9rem; } .radio-group input, .checkbox-group input { display: none; } .radio-group input:checked + label, .checkbox-group input:checked + label { background-color: var(--accent-primary); color: #fff; border-color: var(--accent-primary); } /* --- Output Grid & Tables --- */ .output-grid-container { display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; gap: clamp(1rem, 2vw, 1.5rem); overflow: hidden; } @media (min-width: 768px) { .output-grid-container { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; } } .table-wrapper h3 { font-weight: 600; color: var(--text-secondary); margin-bottom: 1rem; } .table-output-container { height: 100%; width: 100%; overflow: auto; } .data-table { width: 100%; border-collapse: collapse; } .data-table th, .data-table td { padding: 0.8rem 1rem; text-align: left; border-bottom: 1px solid var(--glass-border); white-space: nowrap; font-size: 0.9rem; transition: background-color 0.3s ease; } .data-table thead th { font-weight: 600; color: var(--text-secondary); position: sticky; top: 0; z-index: 1; background: var(--glass-bg-header); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); } .data-table .normalized-cell { background-color: var(--highlight-bg); font-weight: 600; color: var(--accent-secondary); } .placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--text-secondary); flex-direction: column; text-align: center; } .placeholder i { font-size: 3rem; margin-bottom: 1rem; }
Upload data to see numeric columns.
Upload a file to begin
Result appears here