:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--success:#22c55e;--error:#ef4444;--border:#475569;--shadow:0 10px 15px -3px rgba(0,0,0,0.3);--border-radius-sm:0.5rem;--border-radius-md:0.75rem;--border-radius-lg:1rem;--transition:all 0.3s ease}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-card:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--border:#cbd5e1;--shadow:0 10px 15px -3px rgba(0,0,0,0.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s,color .3s;min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.header{background:var(--bg-secondary);padding:.75rem 0;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-content{justify-content:space-between;gap:1rem}.header-content,.logo{display:flex;align-items:center}.logo{gap:.5rem}.logo i{font-size:1.75rem;color:var(--accent)}.logo h1{font-size:1.25rem;font-weight:600;white-space:nowrap}.theme-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;padding:.5rem 1rem;color:var(--text-primary);cursor:pointer;transition:var(--transition);white-space:nowrap;font-size:.9rem}.theme-toggle:hover{background:var(--accent);color:#fff}.main-content{flex:1;padding:1rem 0}.upload-section{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin:1.5rem 0}.info-card,.upload-card{background:var(--bg-secondary);border-radius:var(--border-radius-lg);padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow);height:fit-content;overflow:hidden;min-width:0}.upload-icon{text-align:center;font-size:3rem;color:var(--accent);margin-bottom:.75rem}.text-muted{margin-bottom:1.25rem;font-size:.95rem}.file-upload-area{border:2px dashed var(--border);border-radius:var(--border-radius-md);padding:1.5rem;text-align:center;margin:1rem 0;transition:var(--transition);cursor:pointer}.file-upload-area:hover{border-color:var(--accent);background:rgba(59,130,246,.05)}.file-upload-area.drag-over{border-color:var(--accent);background:rgba(59,130,246,.1)}.file-name{margin-top:.75rem;color:var(--text-secondary);font-size:.85rem;word-break:break-all}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:1px solid var(--border);border-radius:var(--border-radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:var(--transition);background:var(--bg-card);color:var(--text-primary);text-decoration:none;white-space:nowrap}.btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-large{width:100%;padding:.875rem}.btn-small{padding:.375rem .75rem;font-size:.85rem}.btn-icon{padding:.5rem;font-size:1.1rem;border-radius:var(--border-radius-sm)}.action-buttons{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.action-buttons .btn{flex:1 1 auto;min-width:120px}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.375rem;color:var(--text-secondary);font-weight:500;font-size:.9rem}.form-group label i{margin-right:.375rem;color:var(--accent);width:1rem}.form-input,.form-select{width:100%;padding:.625rem .875rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.95rem;transition:var(--transition)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-range{height:.5rem;border-radius:.25rem;accent-color:var(--accent)}.advanced-toggle,.form-range{width:100%;background:var(--bg-primary)}.advanced-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;margin:1rem 0;font-size:.95rem;transition:var(--transition)}.advanced-toggle:hover{background:var(--bg-card)}.advanced-toggle i:last-child{margin-left:auto;transition:transform .3s}.advanced-toggle.active i:last-child{transform:rotate(180deg)}.advanced-panel{padding:1rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);margin-bottom:1rem;border:1px solid var(--border);transition:var(--transition)}.advanced-panel.hidden{display:none}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0;width:100%;box-sizing:border-box}.checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border);transition:var(--transition);font-size:.9rem;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}.checkbox:hover{background:var(--bg-card)}.checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--accent);flex-shrink:0}.checkbox i{color:var(--accent);width:1.1rem;flex-shrink:0}.checkbox label,.checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:100%}.info-card ul{list-style:none;margin:1rem 0}.info-card li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.95rem}.info-card li i{color:var(--accent);width:1.25rem}.code-block{background:var(--bg-primary);border-radius:var(--border-radius-sm);padding:.3rem;overflow-x:auto;font-family:Courier,monospace;font-size:.85rem;border:1px solid var(--border);white-space:preserve-breaks;word-break:break-word}.chart-section{background:var(--bg-secondary);border-radius:var(--border-radius-lg);padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow);margin:1.5rem 0;overflow:hidden;min-width:0}.chart-section.hidden{display:none}.chart-header{justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.chart-header,.chart-header h2{display:flex;align-items:center}.chart-header h2{gap:.75rem;font-size:1.25rem}.chart-actions{display:flex;gap:.5rem;flex-wrap:wrap}.chart-container{background:var(--bg-primary);border-radius:var(--border-radius-md);padding:1rem;margin-bottom:1.5rem;min-height:400px;height:auto;display:flex;align-items:center;justify-content:center;position:relative}.chart-container canvas{max-width:100%;height:auto!important}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-card{background:var(--bg-primary);padding:1rem;border-radius:var(--border-radius-md);display:flex;align-items:center;gap:1rem;border:1px solid var(--border);transition:var(--transition)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card i{font-size:1.75rem;color:var(--accent)}.stat-info{min-width:0;flex:1}.stat-label{display:block;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{display:block;font-size:1.1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-section{margin:1.5rem 0;padding:1rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border);overflow:hidden}.preview-section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--accent);font-size:1rem}.table-container{max-height:300px;overflow:auto;border:1px solid var(--border);border-radius:var(--border-radius-sm);-webkit-overflow-scrolling:touch;position:relative;width:100%}.table-container::-webkit-scrollbar{width:8px;height:8px}.table-container::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:var(--accent)}.table-container{scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-primary)}.preview-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:auto}.preview-table th{background:var(--bg-card);padding:.5rem .75rem;text-align:left;position:sticky;top:0;z-index:20;border-bottom:2px solid var(--border);border-right:1px solid var(--border);font-weight:600;white-space:nowrap;min-width:100px;max-width:300px}.preview-table td:first-child,.preview-table th:first-child{position:sticky;left:0;background:var(--bg-card);z-index:15;border-right:2px solid var(--border)}.preview-table td:first-child{font-weight:500}.preview-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);border-right:1px solid rgba(71,85,105,.3);white-space:nowrap;min-width:100px;max-width:300px;overflow:hidden;text-overflow:ellipsis}.preview-table td:last-child,.preview-table th:last-child{border-right:none}.preview-table tr:last-child td{border-bottom:none}.preview-table tr:hover td,.preview-table tr:hover td:first-child{background:var(--bg-card)}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(270deg,var(--bg-primary),transparent);pointer-events:none;opacity:0;transition:opacity .3s}.table-container.has-scroll:after{opacity:1}.column-section{margin:1.5rem 0;padding:1rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border);overflow:hidden;max-width:100%;box-sizing:border-box}.column-section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--accent);font-size:1rem}#yAxisColumns{min-height:120px;max-height:200px;overflow:auto;padding:.5rem;background:var(--bg-card);border-radius:var(--border-radius-sm);border:1px solid var(--border);width:100%;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;align-content:start;contain:layout size style}#yAxisColumns,#yAxisColumns>*{max-width:100%;box-sizing:border-box}#yAxisColumns .checkbox-group{margin:0!important;grid-template-columns:1fr!important}#yAxisColumns .checkbox-group,#yAxisColumns>.checkbox{width:100%!important;max-width:100%!important;box-sizing:border-box}#yAxisColumns>.checkbox{overflow:hidden;flex-shrink:0}#yAxisColumns .checkbox{max-width:100%!important;width:100%!important;box-sizing:border-box;overflow:hidden;word-break:break-word}#yAxisColumns .checkbox label,#yAxisColumns .checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}#yAxisColumns>label.checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border);cursor:pointer;transition:var(--transition);font-size:.9rem;max-width:100%;width:100%;box-sizing:border-box}#yAxisColumns>label.checkbox:hover{background:var(--bg-card)}#yAxisColumns>label.checkbox input{flex-shrink:0;width:1.1rem;height:1.1rem}#yAxisColumns>label.checkbox i{flex-shrink:0;width:1.1rem;color:var(--accent)}#yAxisColumns>label.checkbox{overflow:hidden}#yAxisColumns label.checkbox i,#yAxisColumns label.checkbox input{flex-shrink:0}#yAxisColumns label.checkbox span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#yAxisColumns label.checkbox{min-width:0}#yAxisColumns::-webkit-scrollbar{width:6px;height:6px}#yAxisColumns::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:3px}#yAxisColumns::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}#yAxisColumns::-webkit-scrollbar-thumb:hover{background:var(--accent)}#yAxisColumns{scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-primary)}.dataset-legend{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);margin-bottom:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--bg-card);border-radius:2rem;border:1px solid var(--border);font-size:.85rem;transition:var(--transition)}.legend-item:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.legend-color{width:.875rem;height:.875rem;border-radius:.25rem;flex-shrink:0}.color-palette{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:1rem;background:var(--bg-primary);border-radius:var(--border-radius-sm);border:1px solid var(--border)}.color-swatch{width:2rem;height:2rem;border-radius:var(--border-radius-sm);cursor:pointer;border:2px solid transparent;transition:var(--transition);position:relative;flex-shrink:0}.color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.color-swatch.selected{border-color:var(--accent);transform:scale(1.1);box-shadow:0 0 0 2px var(--accent)}.color-swatch.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:700;font-size:.9rem}.color-picker-input{width:100%;height:2.5rem;padding:.25rem;border:1px solid var(--border);border-radius:var(--border-radius-sm);background:var(--bg-primary);cursor:pointer;margin-top:.5rem}.chart-type-category{margin-bottom:1.5rem}.chart-type-category h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.chart-type-category h4 i{color:var(--accent);font-size:.9rem}.chart-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem}.type-option{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .25rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition);color:var(--text-primary);text-align:center}.type-option:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.type-option i{font-size:1.25rem}.type-option span{font-weight:600;font-size:.8rem}.type-option small{font-size:.65rem;opacity:.8;display:none}.type-option[data-type=horizontalBar] i{transform:rotate(90deg)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;opacity:0;visibility:hidden;transition:var(--transition)}.modal:not(.hidden){opacity:1;visibility:visible}.modal.hidden{display:none}.modal-content{background:var(--bg-secondary);border-radius:var(--border-radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid var(--border);transform:translateY(-20px);transition:transform .3s ease}.modal:not(.hidden) .modal-content{transform:translateY(0)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg-secondary);z-index:10}.modal-header h3{font-size:1.1rem}.modal-close{background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:var(--transition)}.modal-close:hover{background:var(--bg-card)}.modal-body{padding:1.5rem}.paste-textarea{width:100%;min-height:150px;padding:.875rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:Courier,monospace;font-size:.9rem;resize:vertical;margin-bottom:1rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.error-message{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:rgba(239,68,68,.1);border:1px solid var(--error);border-radius:var(--border-radius-sm);color:var(--error);margin-top:1rem;font-size:.9rem}.error-message.hidden{display:none}.loading{display:inline-flex;align-items:center;gap:.5rem;padding:1rem;color:var(--text-secondary)}.loading i{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);margin-top:auto;padding:1rem 0}.footer-content{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.footer-center,.footer-left,.footer-right{flex:1;min-width:200px}.footer-left{text-align:left}.footer-center{text-align:center}.footer-right{text-align:right}.footer-text{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0;display:flex;align-items:center;gap:.5rem}.footer-left .footer-text{justify-content:flex-start}.footer-center .footer-text{justify-content:center}.footer-right .footer-text{justify-content:flex-end}.footer-text i{color:var(--accent)}.footer-text strong{color:var(--text-primary)}.footer-copyright{color:var(--text-secondary);font-size:.8rem;margin:.25rem 0;opacity:.8}.footer-links{display:flex;gap:1.5rem;align-items:center;justify-content:center;flex-wrap:wrap}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:var(--transition);display:inline-flex;align-items:center;gap:.375rem}.footer-link:hover{color:var(--accent)}.footer-link i{font-size:.85rem}.footer-divider{color:var(--text-secondary);opacity:.5}.overflow-container{overflow:hidden}.overflow-container,.overflow-container *{max-width:100%;box-sizing:border-box}.custom-select-wrapper{z-index:100}.custom-select-trigger{width:100%;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;text-align:left;font-size:14px}.custom-select-trigger:hover{border-color:var(--accent)}.custom-select-dropdown{z-index:9999!important}.custom-select-group{padding:8px 0;border-bottom:1px solid var(--border)}.custom-select-group:last-child{border-bottom:none}.custom-select-group-label{padding:8px 12px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.custom-select-option{padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--text-primary);transition:background .2s}.custom-select-option:hover{background:var(--bg-hover)}.custom-select-option.disabled-option{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--bg-disabled,hsla(0,0%,50.2%,.1))}.custom-select-option.disabled-option:hover{background:none}.custom-select-option .fa-ban{margin-left:auto;opacity:.5;font-size:12px}#xAxisColumn.form-select{display:none}.btn-dropdown-wrapper{position:relative;display:inline-block}.btn-dropdown-wrapper .btn.active{background:var(--accent);color:#fff}.btn-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);min-width:280px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1000;pointer-events:none}.btn-dropdown.show{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.btn-dropdown:before{content:"";position:absolute;top:-6px;right:12px;width:12px;height:12px;background:var(--bg-card);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg)}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;user-select:none}.dropdown-item:hover{background:var(--accent);color:#fff}.dropdown-item:active{transform:scale(.98)}.dropdown-item i:first-child{font-size:18px;width:24px;text-align:center;opacity:.8;transition:all .3s ease}.dropdown-item-content{flex:1;display:flex;flex-direction:column;gap:2px}.dropdown-title{font-weight:600;font-size:14px}.dropdown-subtitle{font-size:11px;opacity:.7}.dropdown-item:hover .dropdown-subtitle{opacity:.9}.dropdown-badge{font-size:12px;color:gold;margin-left:auto;animation:pulse 2s ease-in-out infinite}.dropdown-item:hover .dropdown-badge{color:#fff;animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.dropdown-item.downloading{pointer-events:none;opacity:.7}.dropdown-item.downloading i:first-child{animation:spin 1s linear infinite}.dropdown-item i.fa-check{animation:checkBounce .5s ease}@keyframes checkBounce{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.dropdown-divider{height:1px;background:var(--border);margin:4px 0}.dropdown-item.keyboard-selected{background:var(--accent);color:#fff;outline:2px solid var(--accent);outline-offset:2px}.btn-dropdown.closing{animation:fadeOutSlight .5s ease}@keyframes fadeOutSlight{0%{opacity:1}50%{opacity:.95}to{opacity:1}}.hidden{display:none!important}.text-center{text-align:center}.w-100{width:100%}.constrain-width,.constrain-width *{max-width:100%;box-sizing:border-box}@media (max-width:767.98px){:root{--border-radius-lg:0.75rem}.container{padding:0 .75rem}.header{padding:.5rem 0}.logo h1{font-size:1rem}.logo i{font-size:1.5rem}.theme-toggle{padding:.375rem .75rem;font-size:.85rem}.upload-section{grid-template-columns:1fr;gap:1rem;margin:1rem 0}.info-card,.upload-card{padding:1rem}.upload-icon{font-size:2.5rem;margin-bottom:.5rem}.text-muted{font-size:.875rem;margin-bottom:1rem}.file-upload-area{padding:1.25rem 1rem;margin:.75rem 0}.file-name{font-size:.8rem}.btn{padding:.75rem 1rem;font-size:.9rem}.btn-large{padding:1rem}.action-buttons{flex-direction:column;gap:.75rem;margin:.75rem 0}.action-buttons .btn{width:100%;min-width:unset}.form-group{margin-bottom:1rem}.form-group label{font-size:.85rem;margin-bottom:.5rem}.form-input,.form-select{padding:.75rem;font-size:.9rem}.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:1rem}.stat-card i{font-size:1.5rem}.stat-label{font-size:.7rem}.stat-value{font-size:1rem}.chart-section{padding:1rem;margin:1rem 0}.chart-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.chart-header h2{font-size:1.1rem}.chart-actions{width:100%;gap:.5rem}.chart-actions .btn{flex:1;padding:.625rem .75rem;font-size:.85rem}.chart-container{min-height:350px;height:auto;padding:.5rem;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.chart-container canvas{width:100%!important;min-height:320px!important;max-height:500px!important}.dataset-legend{gap:.5rem;padding:.75rem}.legend-item{font-size:.8rem;padding:.375rem .625rem}.legend-color{width:.75rem;height:.75rem}.preview-section{padding:.75rem;margin:1rem 0}.preview-section h3{font-size:.9rem;margin-bottom:.75rem}.table-container{max-height:200px;width:100%}.preview-table{font-size:.8rem;table-layout:auto}.preview-table td,.preview-table th{padding:.5rem;font-size:.75rem;min-width:80px;max-width:200px}.preview-table td:first-child,.preview-table th:first-child{min-width:60px;max-width:150px}.column-section{padding:.75rem;margin:1rem 0;overflow:hidden;max-width:100%}.column-section h3{font-size:.9rem}#yAxisColumns{min-height:100px;max-height:150px;width:100%;max-width:100%;box-sizing:border-box}#yAxisColumns,#yAxisColumns .checkbox-group{grid-template-columns:1fr}.checkbox-group{grid-template-columns:1fr;gap:.5rem}.checkbox,.checkbox-group{width:100%;max-width:100%;box-sizing:border-box}.checkbox{padding:.625rem;font-size:.85rem;min-width:0}.checkbox label,.checkbox span{font-size:.85rem;max-width:calc(100% - 3rem)}.color-palette{padding:.75rem;gap:.5rem}.color-swatch{width:2.25rem;height:2.25rem}.chart-type-category{margin-bottom:1rem}.chart-type-category h4{font-size:.8rem;margin-bottom:.5rem}.chart-type-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.type-option{padding:1rem .5rem}.type-option i{font-size:1.5rem}.type-option span{font-size:.75rem}.type-option small{display:none}.modal{padding:0}.modal-content{max-height:100vh;border-radius:0;margin:0}.modal-header{padding:1rem}.modal-header h3{font-size:1rem}.modal-body{padding:1rem}.paste-textarea{min-height:120px;padding:.75rem;font-size:.85rem}.modal-actions{gap:.5rem}.modal-actions .btn{flex:1}.info-card li{font-size:.875rem;padding:.375rem 0}.code-block{padding:.1rem;font-size:.8rem}.advanced-toggle{padding:.75rem;font-size:.875rem}.advanced-panel{padding:.75rem}.custom-select-trigger{padding:.75rem;font-size:.9rem}.custom-select-dropdown{max-height:300px}.custom-select-option{padding:.75rem;font-size:.875rem}.btn-dropdown{min-width:260px;max-width:calc(100vw - 32px);right:auto;left:50%;transform:translateX(-50%) translateY(-10px)}.btn-dropdown.show{transform:translateX(-50%) translateY(0)}.btn-dropdown:before{left:50%;transform:translateX(-50%) rotate(45deg)}.dropdown-item{padding:.875rem}.dropdown-item i:first-child{font-size:20px;width:28px}.dropdown-title{font-size:15px}.dropdown-subtitle{font-size:12px}.footer{padding:.5rem 0}.footer-content{flex-direction:column;text-align:center;gap:1rem}.footer-center,.footer-left,.footer-right{text-align:center;width:100%;min-width:unset}.footer-text{justify-content:center!important;font-size:.85rem}.footer-links{gap:1rem;justify-content:center}.footer-link{font-size:.85rem}.footer-copyright{font-size:.75rem}}@media (max-width:359.98px){.logo h1{font-size:.9rem}.chart-container{min-height:300px}.chart-container canvas{min-height:280px!important}.stats-grid{gap:.5rem}.stat-card{padding:.75rem}.chart-type-grid{grid-template-columns:1fr}}@media (max-width:767.98px) and (orientation:landscape){.chart-container{min-height:280px}.chart-container canvas{min-height:250px!important;max-height:350px!important}.table-container{max-height:150px}.modal-content{max-height:85vh}}@media (min-width:768px) and (max-width:991.98px){.upload-section{grid-template-columns:1fr;gap:1.25rem}#yAxisColumns,.checkbox-group,.stats-grid{grid-template-columns:repeat(2,1fr)}.chart-type-grid{grid-template-columns:repeat(3,1fr)}.chart-container{min-height:380px}.chart-container canvas{min-height:350px!important}}@media (min-width:992px) and (max-width:1199.98px){.stats-grid{grid-template-columns:repeat(3,1fr)}.chart-type-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.chart-container{min-height:420px}}@media (min-width:1200px){.container{padding:0 1.5rem}.chart-type-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.type-option small{display:block}.chart-container{min-height:450px}}@media (min-width:1920px){:root{--border-radius-lg:1.25rem}.container{max-width:1400px}body{font-size:1.05rem}.chart-container{min-height:550px}}@media print{.btn,.chart-actions,.header,.theme-toggle,.upload-section{display:none!important}.chart-section{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}.chart-container{min-height:400px}body{background:#fff;color:#000}}@media (hover:none) and (pointer:coarse){.btn:hover,.checkbox:hover,.color-swatch:hover,.type-option:hover{transform:none}.file-upload-area{padding:2rem 1rem}.btn,.form-input,.form-select,.paste-textarea{font-size:16px}.btn,.checkbox{min-height:44px}.type-option{min-height:80px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:767.98px){body{-webkit-overflow-scrolling:touch;overflow-x:hidden}.chart-actions .btn-icon{min-width:44px;min-height:44px}.error-message{font-size:.85rem;padding:.75rem}.form-range{height:.625rem}.btn-dropdown{position:fixed;bottom:0;top:auto;left:0;right:0;width:100%;min-width:unset;max-width:unset;border-radius:16px 16px 0 0;transform:translateY(100%);box-shadow:0 -4px 24px rgba(0,0,0,.3);padding:16px 12px 24px}.btn-dropdown.show{transform:translateY(0)}.btn-dropdown:before{display:none}.btn-dropdown:after{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:40px;height:4px;background:var(--text-secondary);border-radius:2px;opacity:.3}.dropdown-item{padding:1rem;margin-bottom:4px}.dropdown-item i:first-child{font-size:22px;width:32px}.dropdown-title{font-size:16px}.dropdown-subtitle{font-size:13px}.dropdown-badge{font-size:14px}.btn-dropdown.show:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:-1;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.format-examples{display:flex;flex-direction:column;gap:1.5rem;margin:1rem 0}.format-item{background:var(--bg-primary);border-radius:var(--border-radius-sm);padding:1rem;border:1px solid var(--border)}.format-item h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.95rem;color:var(--text-primary)}.format-item h4 i{font-size:1.1rem}.features-list{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.features-list h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--accent)}.features-list ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.features-list li{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.features-list li i{width:1.25rem}.text-muted{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem}.custom-select-wrapper{position:relative;width:100%;z-index:10}.custom-select-wrapper.dropdown-open{z-index:1000!important}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;max-height:400px;overflow-y:auto;z-index:1001!important;box-shadow:0 8px 24px rgba(0,0,0,.3);transform:translateZ(0);-webkit-transform:translateZ(0)}.upload-card{z-index:1}.advanced-panel,.upload-card{overflow:visible!important;position:relative}.advanced-panel{z-index:5}#chartTypeDropdown,#scaleTypeDropdown,#sortDataDropdown,#xAxisDropdown{position:absolute;z-index:1001}#chartTypeWrapper.dropdown-open{z-index:1002}#xAxisWrapper.dropdown-open{z-index:1003}#sortDataWrapper.dropdown-open{z-index:1004}#scaleTypeWrapper.dropdown-open{z-index:1005}@media (max-width:767.98px){.custom-select-dropdown{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:320px;max-height:80vh;z-index:10000!important}.custom-select-dropdown.show-mobile:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:-1;animation:fadeIn .2s ease}.custom-select-wrapper.dropdown-open{z-index:10000!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.header-actions{display:flex;align-items:center;gap:.5rem}.language-selector{position:relative;z-index:100}.language-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;padding:.5rem .75rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;transition:var(--transition);min-width:70px}.language-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.language-toggle i:first-child{font-size:.9rem}.language-toggle span{font-weight:500}.language-toggle i:last-child{font-size:.7rem;margin-left:auto}.language-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;box-shadow:var(--shadow);min-width:150px;z-index:1000;display:none;overflow:hidden}.language-dropdown.show{display:block;animation:fadeIn .2s ease}.language-option{padding:.75rem 1rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--transition);border-bottom:1px solid var(--border)}.language-option:last-child{border-bottom:none}.language-option:hover{background:var(--accent);color:#fff}.language-name{font-size:.9rem}.language-code{font-size:.8rem;opacity:.7;background:var(--bg-primary);padding:.2rem .4rem;border-radius:.25rem}.language-option:hover .language-code{background:hsla(0,0%,100%,.2);color:#fff}@media (max-width:767.98px){.header-actions{gap:.25rem}.language-toggle{padding:.4rem .5rem;min-width:60px;font-size:.8rem}.language-dropdown{right:-10px}}.language-dropdown{max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ccc var(--bg-primary)}.language-dropdown::-webkit-scrollbar{width:6px}.language-dropdown::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:3px}.language-dropdown::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.language-dropdown::-webkit-scrollbar-thumb:hover{background:#999}.language-search{padding:10px;border-bottom:1px solid var(--bg-primary);position:sticky;top:0;background:var(--bg-primary);z-index:1}.language-search input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:20px;font-size:14px;outline:none}.language-search input:focus{border-color:#2563eb}