:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--header-font-size-mobile: 1.8rem;--header-font-size-tablet: 2.2rem;--header-font-size-desktop: 2.5rem;--icon-size-mobile: 24px;--icon-size-tablet: 32px;--icon-size-desktop: 36px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--container-padding-mobile: 12px;--container-padding-tablet: 20px;--container-padding-desktop: 24px;--touch-target-min: 44px}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;-webkit-overflow-scrolling:touch}@media (max-width: 480px){body{overflow:auto;height:auto;overflow-x:hidden}}@media (min-width: 481px) and (max-width: 768px){body{overflow:auto;height:auto;overflow-x:hidden}}@media (max-width: 768px) and (orientation: landscape){body{overflow:auto;height:auto;overflow-x:hidden}}@media (max-height: 600px){body{overflow:auto;height:auto;overflow-x:hidden}}h1{font-size:var(--header-font-size-desktop);line-height:1.1}@media (max-width: 480px){h1{font-size:var(--header-font-size-mobile)}}@media (min-width: 481px) and (max-width: 768px){h1{font-size:var(--header-font-size-tablet)}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s;min-height:var(--touch-target-min);min-width:var(--touch-target-min)}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (max-width: 768px){button{padding:.8em 1.4em;font-size:1.1em;min-height:48px}}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9;color:#213547}}#root{width:100vw;height:100vh;margin:0;padding:0;text-align:center;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){#root{height:auto;min-height:100vh;overflow:visible}}@media (max-height: 600px){#root{height:auto;min-height:100vh;overflow:visible}}.container{width:100%;height:100%;max-width:none;margin:0;padding:var(--container-padding-desktop);box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 480px){.container{padding:var(--container-padding-mobile);padding-bottom:var(--spacing-2xl);height:auto;min-height:100vh;overflow:visible}}@media (min-width: 481px) and (max-width: 768px){.container{padding:var(--container-padding-tablet);padding-bottom:var(--spacing-xl);height:auto;min-height:100vh;overflow:visible}}@media (max-height: 600px){.container{padding:var(--container-padding-mobile);padding-bottom:var(--spacing-xl);height:auto;min-height:100vh;overflow:visible}}.upload-area{border:2px dashed #ccc;border-radius:10px;padding:var(--spacing-2xl);text-align:center;cursor:pointer;transition:border-color .3s ease;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}@media (max-width: 480px){.upload-area{padding:var(--spacing-lg);border-radius:8px;min-height:180px}}@media (min-width: 481px) and (max-width: 768px){.upload-area{padding:var(--spacing-xl);border-radius:8px;min-height:190px}}@media (max-height: 600px){.upload-area{padding:var(--spacing-lg);border-radius:8px;min-height:160px}}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.main-content{flex:none;overflow:visible}}@media (max-height: 600px){.main-content{flex:none;overflow:visible}}.upload-area:hover{border-color:#646cff}.upload-area.dragover{border-color:#646cff;background-color:#646cff1a}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-result{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--spacing-lg)}.app-header{margin-bottom:var(--spacing-xl);flex-shrink:0;margin-top:var(--spacing-lg)}@media (max-width: 768px){.app-header{margin-bottom:var(--spacing-lg);margin-top:var(--spacing-md)}}@media (max-width: 480px){.app-header{margin-bottom:var(--spacing-md);margin-top:var(--spacing-sm)}}.app-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:5px;font-size:var(--header-font-size-desktop)}@media (max-width: 480px){.app-title{gap:var(--spacing-sm);font-size:var(--header-font-size-mobile)}}@media (min-width: 481px) and (max-width: 768px){.app-title{font-size:var(--header-font-size-tablet)}}.feature-cards{display:flex;justify-content:center;gap:var(--spacing-2xl);margin-bottom:var(--spacing-xl);flex-wrap:wrap}@media (max-width: 480px){.feature-cards{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-direction:column;align-items:center}}@media (min-width: 481px) and (max-width: 768px){.feature-cards{gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}}.feature-card{text-align:center;max-width:200px}@media (max-width: 480px){.feature-card{max-width:250px}}.progress-bar{width:100%;height:20px;background-color:#f0f0f0;border-radius:10px;overflow:hidden;margin:20px 0}.progress-fill{height:100%;background-color:#646cff;transition:width .3s ease}.structure-display{margin:0;text-align:left;box-sizing:border-box}.structure-display pre{background-color:#fff;border:1px solid #dee2e6;border-radius:4px;padding:15px;overflow-x:auto;font-size:14px;line-height:1.4}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px}::-webkit-scrollbar-thumb{background:#f0fdf4;border:2px solid #22c55e;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#dcfce7;border-color:#16a34a}::-webkit-scrollbar-corner{background:#f1f1f1}*{scrollbar-width:thin;scrollbar-color:#f0fdf4 #f1f1f1}@media (prefers-color-scheme: dark){.structure-display{color:#e2e8f0}.structure-display pre{background-color:#1a202c;border-color:#4a5568;color:#e2e8f0}::-webkit-scrollbar-track{background:#2d3748}::-webkit-scrollbar-thumb{background:#f0fdf4;border:2px solid #22c55e}::-webkit-scrollbar-thumb:hover{background:#dcfce7;border-color:#16a34a}::-webkit-scrollbar-corner{background:#2d3748}*{scrollbar-color:#f0fdf4 #2d3748}}.stats-cards{display:flex;gap:var(--spacing-md);align-items:center;justify-content:center;flex-wrap:wrap;max-width:900px;margin:0 auto}@media (max-width: 480px){.stats-cards{gap:var(--spacing-sm);flex-direction:row;justify-content:space-around}}.stats-card{text-align:center;padding:12px 18px;border-radius:8px;min-width:90px;max-width:140px;box-shadow:0 2px 4px #0000001a;flex:1;min-width:80px}@media (max-width: 480px){.stats-card{padding:8px 12px;min-width:70px;max-width:100px}}.stats-value{font-size:18px;font-weight:700;line-height:1}.stats-label{font-size:11px;margin-top:2px}@media (max-width: 480px){.stats-value{font-size:16px}.stats-label{font-size:10px}}.data-table-container{flex:1;overflow:auto;border:1px solid #e1e5e9;border-radius:12px;background-color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-height:0;height:100%}@media (max-width: 768px){.data-table-container{border-radius:8px;max-height:calc(100vh - 200px)}}@media (max-width: 480px){.data-table-container{border-radius:6px;max-height:calc(100vh - 180px)}}.data-table{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;font-size:14px}@media (max-width: 768px){.data-table{font-size:12px}}.data-table th{background-color:#f8fafc;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:1}.data-table td{padding:10px 16px;border-right:1px solid #e2e8f0;vertical-align:top;max-width:200px;word-wrap:break-word;color:#1a202c;font-size:14px}@media (max-width: 768px){.data-table th{padding:8px 12px;font-size:12px}.data-table td{padding:8px 12px;font-size:12px;max-width:150px}}@media (max-width: 480px){.data-table th{padding:6px 8px;font-size:11px}.data-table td{padding:6px 8px;font-size:11px;max-width:120px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);padding-top:var(--spacing-2xl)}@media (max-width: 480px){.loading-container{padding:var(--spacing-lg) var(--spacing-md);padding-top:var(--spacing-lg)}}.loading-branding{margin-bottom:var(--spacing-2xl)}@media (max-width: 480px){.loading-branding{margin-bottom:var(--spacing-xl)}}.loading-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);font-size:var(--header-font-size-desktop);margin:0 0 5px;color:#fff}@media (max-width: 480px){.loading-title{gap:var(--spacing-sm);font-size:var(--header-font-size-mobile)}}@media (min-width: 481px) and (max-width: 768px){.loading-title{font-size:var(--header-font-size-tablet)}}.button-group{display:flex;gap:var(--spacing-md);align-items:center;justify-content:center;flex-wrap:wrap}@media (max-width: 480px){.button-group{gap:var(--spacing-sm);flex-direction:column;width:100%}.button-group button{width:100%;max-width:280px}}.text-lg{font-size:16px;font-weight:500}.text-sm{font-size:14px}@media (max-width: 480px){.text-lg{font-size:15px}.text-sm{font-size:13px}}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}@media (max-width: 768px){.mb-sm{margin-bottom:var(--spacing-xs)}}@media (max-width: 480px){.mb-sm{margin-bottom:6px}}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.icon-sm{width:var(--icon-size-mobile);height:var(--icon-size-mobile)}.icon-md{width:var(--icon-size-tablet);height:var(--icon-size-tablet)}.icon-lg{width:var(--icon-size-desktop);height:var(--icon-size-desktop)}@media (max-width: 480px){.icon-responsive{width:var(--icon-size-mobile);height:var(--icon-size-mobile)}}@media (min-width: 481px) and (max-width: 768px){.icon-responsive{width:var(--icon-size-tablet);height:var(--icon-size-tablet)}}@media (min-width: 769px){.icon-responsive{width:var(--icon-size-desktop);height:var(--icon-size-desktop)}}.data-table-title{margin:0 0 var(--spacing-md) 0;flex-shrink:0;text-align:center;font-size:18px;font-weight:600;color:#fff}@media (max-width: 768px){.data-table-title{margin-bottom:var(--spacing-sm);font-size:16px}}@media (max-width: 480px){.data-table-title{margin-bottom:var(--spacing-xs);font-size:15px}}@media (max-width: 375px){:root{--header-font-size-mobile: 1.6rem;--icon-size-mobile: 20px;--container-padding-mobile: 8px;--spacing-xs: 6px;--spacing-sm: 10px}.stats-cards{gap:var(--spacing-xs)}.stats-card{padding:6px 10px;min-width:60px;max-width:85px}.stats-value{font-size:14px}.stats-label{font-size:9px}}@media (min-width: 414px) and (max-width: 480px){.feature-cards{flex-direction:row;justify-content:space-around}.feature-card{max-width:120px}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.container{padding:var(--spacing-xl)}.stats-cards{gap:var(--spacing-lg)}.feature-cards{gap:var(--spacing-2xl)}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.app-header{margin-bottom:var(--spacing-lg);margin-top:var(--spacing-md)}.feature-cards{flex-direction:row;gap:var(--spacing-xl)}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 500px){.app-header{margin-bottom:var(--spacing-md);margin-top:var(--spacing-sm)}.loading-branding{margin-bottom:var(--spacing-lg)}.feature-cards{margin-bottom:var(--spacing-md)}.upload-area{min-height:120px;padding:var(--spacing-md)}}@media (max-width: 320px){:root{--header-font-size-mobile: 1.4rem;--icon-size-mobile: 18px;--container-padding-mobile: 6px}.stats-cards{flex-direction:column;gap:var(--spacing-xs);align-items:stretch}.stats-card{max-width:none;min-width:auto}.feature-cards{gap:var(--spacing-md)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.data-table{font-size:13px}@media (max-width: 768px){.data-table{font-size:11px}}}
