:root{--bg-base:#f4f7f9;--text-main:#111827;--text-muted:#4b5563;--glass-bg-main:rgba(255,255,255,0.25);--glass-bg-solid:rgba(255,255,255,0.55);--glass-border-light:rgba(255,255,255,0.8);--glass-border-dark:rgba(255,255,255,0.2);--glass-shadow:0 25px 50px -12px rgba(0,0,0,0.35),0 10px 20px -5px rgba(0,0,0,0.2);--glass-shadow-hover:0 35px 60px -15px rgba(0,0,0,0.45),0 15px 30px -5px rgba(0,0,0,0.25);--glass-reflection:inset 0 1px 1px rgba(255,255,255,0.9),inset 0 -1px 2px rgba(255,255,255,0.1);--accent-dark:#111827;--accent-blue:rgba(0,85,255,0.8);--accent-green:rgba(0,160,45,0.8);--accent-red:rgba(220,38,38,0.85);--radius-lg:20px;--radius-md:12px;--radius-sm:8px;--transition-smooth:all .4s cubic-bezier(0.16,1,0.3,1)}body{font-family:'Inter',system-ui,-apple-system,sans-serif;background-color:var(--bg-base);margin:0;padding:40px 20px;display:flex;flex-direction:column;align-items:center;min-height:100vh;position:relative;overflow-x:hidden}body.no-scroll{overflow:hidden}.bg-abstract{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;background-color:#ebf0f5}.shape{position:absolute;filter:blur(80px);opacity:.75;border-radius:50%;animation:floatShape 25s infinite alternate ease-in-out}.shape-1{width:55vw;height:55vw;top:-15%;left:-10%;background:linear-gradient(135deg,#a1c4fd 0,#c2e9fb 100%);border-radius:40% 60% 60% 40% / 50% 40% 60% 50%}.shape-2{width:45vw;height:45vw;bottom:-10%;right:-10%;background:linear-gradient(135deg,#d8a7b1 0,#f6cbd1 100%);border-radius:60% 40% 50% 50% / 40% 60% 40% 60%;animation-delay:-5s}.shape-3{width:45vw;height:45vw;top:20%;right:10%;background:linear-gradient(135deg,#b39ddb 0,#8fa8e0 100%);border-radius:50% 50% 40% 60% / 60% 40% 60% 40%;animation-delay:-10s}.shape-4{width:40vw;height:40vw;bottom:15%;left:5%;background:linear-gradient(135deg,#8bb0d4 0,#e0c3fc 100%);border-radius:50%;animation-delay:-15s}@keyframes floatShape{0%{transform:translate(0,0) rotate(0) scale(1)}33%{transform:translate(5vw,5vh) rotate(10deg) scale(1.05)}66%{transform:translate(-5vw,10vh) rotate(-5deg) scale(0.95)}100%{transform:translate(2vw,-5vh) rotate(15deg) scale(1.1)}}.container{width:100%;max-width:1100px;position:relative;z-index:1}.main-title{text-align:center;font-weight:700;letter-spacing:-1px;font-size:2.5rem;margin-bottom:35px;color:var(--accent-dark);text-shadow:0 2px 10px rgba(255,255,255,0.8)}h2,h3{font-weight:600;margin-top:0;letter-spacing:-0.5px}.controls.glass-panel,#resultsCarousel{background:var(--glass-bg-main);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-top:2px solid var(--glass-border-light);border-left:2px solid var(--glass-border-light);border-right:1px solid var(--glass-border-dark);border-bottom:1px solid var(--glass-border-dark);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow),var(--glass-reflection);padding:35px;margin-bottom:30px;transition:var(--transition-smooth);box-sizing:border-box}#resultsCarousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:35px 0 20px 0;background:rgba(255,255,255,0.3) !important}.controls.glass-panel:hover,#resultsCarousel:hover{box-shadow:var(--glass-shadow-hover),var(--glass-reflection);transform:translateY(-2px)}.glass-panel-inner{background:var(--glass-bg-solid);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);padding:18px;box-shadow:inset 0 2px 5px rgba(255,255,255,0.5)}.settings-panel{background:var(--glass-bg-solid);border:1px solid rgba(255,255,255,0.6);border-radius:var(--radius-md);padding:15px 20px;margin-bottom:15px;box-shadow:0 4px 15px rgba(0,0,0,0.03);transition:var(--transition-smooth)}.settings-panel:hover{background:rgba(255,255,255,0.7);box-shadow:0 8px 20px rgba(0,0,0,0.06)}.accent-panel{border-left:4px solid var(--accent-dark)}label{display:flex;align-items:center;margin-bottom:10px;cursor:pointer;font-size:14.5px;font-weight:500}input[type="radio"]{margin-right:10px;transform:scale(1.1);accent-color:var(--accent-dark)}.glass-input,textarea{background:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.8);border-top:1px solid rgba(0,0,0,0.1);border-left:1px solid rgba(0,0,0,0.05);border-radius:var(--radius-sm);padding:10px 14px;font-family:'Inter',sans-serif;font-size:14px;color:var(--text-main);box-shadow:inset 0 2px 4px rgba(0,0,0,0.02);transition:var(--transition-smooth);box-sizing:border-box;backdrop-filter:blur(5px)}.glass-input:focus,textarea:focus{outline:0;border-color:rgba(0,0,0,0.2);background:rgba(255,255,255,0.8);box-shadow:inset 0 2px 4px rgba(0,0,0,0.02),0 0 0 3px rgba(0,0,0,0.05)}.glass-input:disabled{opacity:.5;cursor:not-allowed}textarea{width:100%;min-height:120px;resize:vertical;line-height:1.5;margin-top:10px}.custom-file-input{width:100%;margin:15px 0;padding:12px;background:rgba(255,255,255,0.4);border:2px dashed rgba(0,0,0,0.2);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);box-sizing:border-box;backdrop-filter:blur(10px)}.custom-file-input:hover{border-color:var(--text-main);background:rgba(255,255,255,0.7)}.file-queue{margin-bottom:20px}.file-queue ul{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.file-queue li{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid rgba(0,0,0,0.03);font-size:14px;font-weight:500;background:rgba(255,255,255,0.7);margin-bottom:8px;border-radius:var(--radius-sm);box-shadow:0 2px 8px rgba(0,0,0,0.02)}button{font-family:'Inter',sans-serif;font-weight:600;font-size:14px;border-radius:var(--radius-sm);padding:12px 24px;cursor:pointer;transition:var(--transition-smooth);border:1px solid var(--glass-border-light);box-shadow:0 4px 10px rgba(0,0,0,0.08),inset 0 1px 1px rgba(255,255,255,0.5);margin-right:10px;margin-bottom:10px;backdrop-filter:blur(8px)}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.12),inset 0 1px 1px rgba(255,255,255,0.6)}button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 5px rgba(0,0,0,0.1)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:rgba(17,24,39,0.9);color:#fff;border-color:rgba(255,255,255,0.2);border-top-color:rgba(255,255,255,0.4)}.btn-primary:hover{background:rgba(0,0,0,1)}.btn-glass{background:rgba(255,255,255,0.6);color:var(--text-main)}.btn-glass:hover{background:rgba(255,255,255,0.9)}.btn-danger{background:var(--accent-red);color:#fff;border-color:rgba(255,255,255,0.3)}.btn-danger:hover{background:rgba(185,28,28,0.95)}.preview-btn{margin:0;padding:6px 14px;font-size:12px;background:rgba(75,85,99,0.8);color:#fff}.preview-btn:hover{background:rgba(31,41,55,0.95)}.full-width{width:100%;box-sizing:border-box;margin-bottom:8px}.btn-x{background:var(--accent-blue);color:#fff;border-color:rgba(255,255,255,0.3)}.btn-y{background:var(--accent-green);color:#fff;border-color:rgba(255,255,255,0.3)}.floating-btn{position:fixed;bottom:30px;right:30px;background:rgba(17,24,39,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,0.2);border-top:1px solid rgba(255,255,255,0.4);border-radius:50px;padding:15px 30px;font-size:15px;z-index:100;box-shadow:0 10px 30px rgba(0,0,0,0.15),inset 0 1px 2px rgba(255,255,255,0.3);animation:bounceIn .6s cubic-bezier(0.175,0.885,0.32,1.275) forwards}.floating-btn:hover{background:rgba(0,0,0,0.95);transform:translateY(-5px) scale(1.02);box-shadow:0 15px 40px rgba(0,0,0,0.25),inset 0 1px 2px rgba(255,255,255,0.4)}@keyframes bounceIn{0%{transform:translateY(100px) scale(0.5);opacity:0}100%{transform:translateY(0) scale(1);opacity:1}}table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:30px;border-radius:var(--radius-md);background:rgba(255,255,255,0.4);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.5),0 4px 15px rgba(0,0,0,0.03);backdrop-filter:blur(10px)}th,td{padding:14px 15px;text-align:center;border-bottom:1px solid rgba(0,0,0,0.04)}th{background-color:rgba(0,0,0,0.02);font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}tr{transition:background-color .2s}tr:hover{background-color:rgba(255,255,255,0.6)}tr:last-child td{border-bottom:0}.cross-table th{background-color:rgba(0,0,0,0.03);border:1px solid rgba(0,0,0,0.03)}.cross-table td{border:1px solid rgba(0,0,0,0.03)}.cross-table .total-cell{font-weight:700;background-color:rgba(255,255,255,0.5);color:var(--accent-dark)}.carousel-nav{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;margin-bottom:25px}#carouselIndicator{font-weight:700;letter-spacing:1px;color:var(--text-main)}.dataset-block{flex:0 0 100%;width:100%;scroll-snap-align:center;padding:0 35px;box-sizing:border-box}.dataset-block>h3{margin-left:5px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(0,0,0,0.05);color:var(--accent-dark)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:35px}.stat-card{background:rgba(255,255,255,0.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border-light);border-bottom:1px solid var(--glass-border-dark);border-right:1px solid var(--glass-border-dark);border-radius:var(--radius-md);padding:22px;box-shadow:0 8px 25px rgba(0,0,0,0.03),inset 0 1px 1px rgba(255,255,255,0.8);transition:var(--transition-smooth)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px rgba(0,0,0,0.06),inset 0 1px 1px rgba(255,255,255,1);background:rgba(255,255,255,0.6)}.stat-card h3{font-size:13px;color:var(--text-muted);border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:10px;margin-bottom:15px;text-transform:uppercase}.stat-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;align-items:center;font-weight:500}.chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.chart-item{background:rgba(255,255,255,0.5);backdrop-filter:blur(16px);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);padding:18px;height:260px;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,0.03),inset 0 1px 1px rgba(255,255,255,0.8);transition:var(--transition-smooth)}.chart-item:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,0,0,0.08),inset 0 1px 1px rgba(255,255,255,1);background:rgba(255,255,255,0.7)}.chart-item h4{text-align:center;text-transform:uppercase;font-size:12px;color:var(--text-muted);border-bottom:1px solid rgba(0,0,0,0.05);padding-bottom:10px;margin-top:0}.chart-canvas-wrapper{position:relative;flex-grow:1;width:100%}.chart-accordion{margin-top:35px;width:100%}.accordion-item{border:1px solid var(--glass-border-light);border-radius:var(--radius-md);background:rgba(255,255,255,0.3);backdrop-filter:blur(16px);overflow:hidden;transition:var(--transition-smooth);box-shadow:0 8px 25px rgba(0,0,0,0.03)}.accordion-header{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.4);font-weight:600;font-size:14px;transition:background .3s}.accordion-header:hover{background:rgba(255,255,255,0.7)}.accordion-arrow{transition:transform .3s;font-size:12px;color:var(--text-muted)}.accordion-item.active .accordion-arrow{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;padding:0 24px}.accordion-item.active .accordion-content{max-height:1000px;padding:24px;border-top:1px solid rgba(0,0,0,0.05)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(17,24,39,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:center;transition:opacity .4s ease}.modal.hidden{display:none !important}.modal:not(.hidden) .modal-content{animation:modalAppear .5s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes modalAppear{0%{transform:scale(0.9) translateY(30px);opacity:0}100%{transform:scale(1) translateY(0);opacity:1}}.modal-content{background:rgba(255,255,255,0.7);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);width:95%;max-width:1300px;height:90vh;border-top:1px solid var(--glass-border-light);border-left:1px solid var(--glass-border-light);border-right:1px solid var(--glass-border-dark);border-bottom:1px solid var(--glass-border-dark);border-radius:var(--radius-lg);padding:30px;display:flex;flex-direction:column;box-shadow:0 30px 60px rgba(0,0,0,0.15),inset 0 1px 1px rgba(255,255,255,0.9)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,0.06);margin-bottom:20px;padding-bottom:15px}.close-btn{font-size:28px;color:var(--text-muted);cursor:pointer;transition:color .2s;line-height:1}.close-btn:hover{color:var(--accent-red)}.modal-instructions{margin-bottom:5px;font-size:14.5px;font-weight:500}.modal-tip{font-size:13px;color:var(--text-muted);margin-top:0;margin-bottom:20px}.bivariate-grid{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.bivariate-box{flex:1;min-width:250px;padding:20px;border-radius:var(--radius-md);background:rgba(255,255,255,0.5);border:1px solid var(--glass-border-light);box-shadow:0 4px 15px rgba(0,0,0,0.03)}.box-x{border-left:4px solid var(--accent-blue)}.box-y{border-left:4px solid var(--accent-green)}.data-count{font-size:13px;font-weight:600;margin-top:12px;color:var(--text-muted)}.table-glass-container{flex-grow:1;overflow:auto;background:rgba(255,255,255,0.6);border-radius:var(--radius-md);border:1px solid rgba(0,0,0,0.08);position:relative;user-select:none;box-shadow:inset 0 2px 10px rgba(0,0,0,0.03)}.table-glass-container table{width:max-content;margin:0;box-shadow:none;border-radius:0;background:transparent}.table-glass-container td,.table-glass-container th{padding:10px 14px;min-width:60px;cursor:cell;border-right:1px solid rgba(0,0,0,0.04)}.cell-selected{background-color:rgba(0,0,0,0.08) !important;font-weight:600}.cell-saved{background-color:var(--text-muted) !important;color:#fff !important}.cell-saved-x{background-color:var(--accent-blue) !important;color:#fff !important;font-weight:600}.cell-saved-y{background-color:var(--accent-green) !important;color:#fff !important;font-weight:600}.range-badge{font-weight:600;color:var(--text-muted);font-size:14px;background:rgba(255,255,255,0.6);padding:8px 14px;border-radius:20px;border:1px solid rgba(255,255,255,0.8)}.procedure-body{flex-grow:1;overflow-y:auto;padding:10px 25px;font-size:15px;line-height:1.7}.procedure-step{margin-bottom:35px;padding-bottom:25px;border-bottom:1px solid rgba(0,0,0,0.06)}.procedure-step h3{color:var(--accent-dark);border-bottom:2px solid var(--accent-dark);display:inline-block;padding-bottom:6px;font-size:16px}.math-formula{background:rgba(255,255,255,0.7);border-left:4px solid var(--accent-dark);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:16px 20px;margin:12px 0;font-family:'Courier New',Courier,monospace;font-size:14.5px;overflow-x:auto;box-shadow:0 4px 10px rgba(0,0,0,0.03)}.math-highlight{font-weight:700;color:var(--accent-red)}.tooltip{position:relative;display:inline-block;border-bottom:1px dotted var(--text-muted);cursor:help}.tooltip .tooltiptext{visibility:hidden;width:max-content;max-width:280px;background-color:rgba(17,24,39,0.9);color:#fff;text-align:center;border-radius:var(--radius-sm);padding:12px 16px;position:absolute;z-index:10;bottom:130%;left:50%;transform:translateX(-50%);opacity:0;transition:opacity .3s;font-family:'Inter',sans-serif;font-size:12px;font-weight:500;line-height:1.4;box-shadow:0 10px 25px rgba(0,0,0,0.2);backdrop-filter:blur(5px)}.tooltip .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:rgba(17,24,39,0.9) transparent transparent transparent}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.hidden{display:none !important}.mt-15{margin-top:15px}.ml-15{margin-left:15px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.3);border:2px solid transparent;background-clip:padding-box}@media(max-width:768px){body{padding:20px 10px}.main-title{font-size:1.8rem;margin-bottom:20px}.controls.glass-panel,#resultsCarousel{padding:20px 15px;margin-bottom:20px}.settings-panel{padding:12px 15px}.btn-group{display:flex;flex-direction:column;gap:10px}.btn-group button{width:100%;margin-right:0;margin-bottom:0}.manual-input-label{flex-wrap:wrap;align-items:flex-start}#kManualValue{width:100%;max-width:100%;margin-top:8px;margin-left:0}.dataset-block>table,.cross-table,.procedure-body table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}th,td{padding:10px 12px;font-size:12px}.dataset-block{padding:0 15px}.chart-grid{display:flex;flex-direction:column;align-items:center;gap:20px}.chart-item{height:220px;width:100%;max-width:280px;margin:0 auto}.modal-content{padding:15px;height:92vh;width:95%;border-radius:var(--radius-md);display:flex;flex-direction:column;overflow-y:auto;justify-content:flex-start}.modal-header{margin-bottom:10px;padding-bottom:10px}.modal-header h2{font-size:1.2rem}.close-btn{font-size:24px}.modal-instructions{font-size:13px;line-height:1.4;margin-bottom:8px}.modal-tip{font-size:12px;margin-bottom:15px}.bivariate-grid{flex-direction:column;gap:10px;margin-bottom:10px}.bivariate-box{padding:12px;min-width:100%}.range-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px}.range-controls button{margin:0;width:100%;padding:10px;font-size:13.5px}.range-badge{text-align:center;margin-left:0 !important;width:auto;font-size:12px;padding:6px 10px}.table-glass-container{flex:0 0 auto;height:400px;min-height:400px;margin-top:15px;width:100%}.chart-modal-size{height:auto;max-height:80vh}.chart-modal-body{height:50vh;min-height:300px;display:flex;align-items:center;justify-content:center;width:100%}.procedure-body{padding:10px}.math-formula{padding:12px;font-size:13px}.floating-btn{bottom:20px;right:20px;padding:12px 20px;font-size:14px}}.mobile-range-start{box-shadow:inset 0 0 0 2px var(--accent-dark) !important;background-color:rgba(17,24,39,0.1) !important;animation:pulse-border 1.5s infinite}@keyframes pulse-border{0%{box-shadow:inset 0 0 0 2px rgba(17,24,39,1)}50%{box-shadow:inset 0 0 0 2px rgba(17,24,39,0.2)}100%{box-shadow:inset 0 0 0 2px rgba(17,24,39,1)}}