@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500;600&family=JetBrains+Mono:wght@400;600&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#07070f;--surface:#ffffff08;--surface-hover:#ffffff0e;--border:#ffffff12;--border-glow:#7c3aed59;--purple:#7c3aed;--blue:#3b82f6;--cyan:#22d3ee;--green:#34d399;--text:#f1f0ff;--text-muted:#f1f0ff73;--text-dim:#f1f0ff40;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:20px;--radius-sm:12px;--glow-purple:0 0 60px #7c3aed2e}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.app{min-height:100vh;position:relative}.grid-overlay{z-index:0;pointer-events:none;background-image:linear-gradient(#7c3aed08 1px,#0000 1px),linear-gradient(90deg,#7c3aed08 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.orb{filter:blur(80px);pointer-events:none;z-index:0;opacity:.55;border-radius:50%;animation:12s ease-in-out infinite orbFloat;position:fixed}.orb1{background:radial-gradient(circle,#7c3aed59,#0000 70%);width:520px;height:520px;animation-delay:0s;top:-120px;left:-120px}.orb2{background:radial-gradient(circle,#3b82f647,#0000 70%);width:420px;height:420px;animation-delay:-5s;top:40%;right:-100px}.orb3{background:radial-gradient(circle,#22d3ee2e,#0000 70%);width:340px;height:340px;animation-delay:-9s;bottom:100px;left:30%}@keyframes orbFloat{0%,to{transform:translateY(0)scale(1)}33%{transform:translateY(-30px)scale(1.04)}66%{transform:translateY(20px)scale(.97)}}.hero{position:relative;overflow:hidden}.hero-particles{pointer-events:none;z-index:0;position:absolute;inset:0}.particle{animation:particlePulse var(--dur,3s) ease-in-out infinite;opacity:0;border-radius:50%;position:absolute}.p1{background:#a78bfa;width:3px;height:3px;box-shadow:0 0 6px 2px #a78bfa88}.p2{background:#60a5fa;width:2px;height:2px;box-shadow:0 0 5px 2px #60a5fa88}.p3{background:#22d3ee;width:4px;height:4px;box-shadow:0 0 8px 3px #22d3ee66}.p4{background:#f0abfc;width:2px;height:2px;box-shadow:0 0 5px 2px #f0abfc88}.p5{background:#818cf8;width:3px;height:3px;box-shadow:0 0 6px 2px #818cf888}.p6{background:#a78bfa;width:5px;height:5px;box-shadow:0 0 10px 4px #a78bfa44}@keyframes particlePulse{0%{opacity:0;transform:scale(.4)translateY(0)}25%{opacity:.9;transform:scale(1)translateY(-8px)}50%{opacity:.6;transform:scale(.8)translateY(-14px)}75%{opacity:.85;transform:scale(1.1)translateY(-6px)}to{opacity:0;transform:scale(.4)translateY(0)}}.hero-stars{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.shooting-star{opacity:0;background:linear-gradient(90deg,#0000,#a78bfacc,#60a5fa99,#0000);border-radius:100px;width:60px;height:1.5px;animation:8s linear infinite shootAcross;position:absolute;left:-80px}@keyframes shootAcross{0%{opacity:0;transform:translate(-80px)translateY(0)rotate(-15deg)}5%{opacity:.8}30%{opacity:.4}50%{opacity:0;transform:translate(120vw)translateY(-30px)rotate(-15deg)}to{opacity:0;transform:translate(120vw)translateY(-30px)rotate(-15deg)}}.hero-badge,.hero-icon-wrap,.hero-title,.hero-subtitle,.hero-tags{z-index:1;position:relative}.hero{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:20px;padding:100px 20px 72px;display:flex;position:relative}.hero-badge{border:1px solid var(--border-glow);color:#a78bfae6;font-size:12px;font-weight:600;font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:#7c3aed1a;border-radius:100px;align-items:center;gap:8px;padding:7px 18px;animation:.6s both fadeUp;display:inline-flex}.hero-icon-wrap{justify-content:center;align-items:center;width:100px;height:100px;animation:.6s .1s both fadeUp;display:flex;position:relative}.hero-icon-ring{opacity:.7;background:conic-gradient(#7c3aed,#3b82f6,#22d3ee,#7c3aed);border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 55%,#000 56%);mask:radial-gradient(circle,#0000 55%,#000 56%)}@keyframes spin{to{transform:rotate(360deg)}}.hero-icon{background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 16px #7c3aed99);z-index:1;-webkit-background-clip:text;background-clip:text;font-size:46px;position:relative}.hero-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);font-size:clamp(48px,8vw,88px);font-weight:800;line-height:1.05;animation:.6s .15s both fadeUp}.hero-gradient{background:linear-gradient(100deg,#a78bfa 0%,#60a5fa 50%,#22d3ee 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-muted);max-width:480px;font-size:clamp(16px,2.5vw,21px);font-weight:400;line-height:1.5;animation:.6s .2s both fadeUp}.hero-tags{flex-wrap:wrap;justify-content:center;gap:10px;animation:.6s .25s both fadeUp;display:flex}.tag{border:1px solid var(--border);color:var(--text-muted);background:#ffffff0a;border-radius:100px;padding:5px 14px;font-size:12px;font-weight:500}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.main{z-index:1;flex-direction:column;gap:28px;max-width:1100px;margin:0 auto;padding:0 24px 80px;display:flex;position:relative}.glass-card{border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(24px);background:#ffffff07;padding:36px;transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.glass-card:before{content:"";background:linear-gradient(90deg,#0000,#7c3aed66,#3b82f64d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.glass-card:hover{box-shadow:var(--glow-purple);border-color:#7c3aed33}.section-header{margin-bottom:32px}.section-title{font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:22px;font-weight:700;display:flex}.section-icon{color:var(--purple);font-size:20px}.section-sub{color:var(--text-muted);font-size:14px}.sliders-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.slider-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff06;padding:20px 22px 16px;transition:border-color .25s,box-shadow .25s}.slider-card:hover{border-color:#7c3aed4d;box-shadow:0 0 24px #7c3aed14}.slider-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.slider-label-wrap{align-items:center;gap:8px;display:flex}.slider-icon{color:var(--purple);font-size:17px;display:flex}.slider-label{color:#fffc;font-size:13.5px;font-weight:600}.slider-val{font-family:var(--font-mono);color:var(--purple);background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:6px;padding:2px 10px;font-size:13px;font-weight:600}.slider-track-wrap{padding:4px 0}.slider{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--purple) 0%, var(--blue) var(--pct,50%), #ffffff1a var(--pct,50%));border-radius:100px;outline:none;width:100%;height:5px;transition:background .15s}.slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;transition:box-shadow .2s,transform .2s;box-shadow:0 0 0 3px #7c3aed80,0 2px 8px #0006}.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 5px #7c3aed59,0 2px 8px #0006}.slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 3px #7c3aed80}.slider-minmax{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);justify-content:space-between;margin-top:6px;display:flex}.predict-wrap{justify-content:center;margin-top:40px;display:flex}.predict-btn{cursor:pointer;font-family:var(--font-display);color:#fff;letter-spacing:.01em;background:linear-gradient(115deg,#6d28d9,#7c3aed,#3b82f6) 0 0/200% 100%;border:none;border-radius:100px;align-items:center;gap:10px;padding:18px 56px;font-size:17px;font-weight:700;transition:all .3s;animation:2.5s ease-in-out infinite pulse-glow;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #7c3aed66,0 8px 32px #7c3aed66,0 0 60px #7c3aed1f}.predict-btn:before{content:"";z-index:-1;opacity:0;background:linear-gradient(115deg,#7c3aed,#3b82f6,#22d3ee,#7c3aed);border-radius:100px;transition:opacity .3s;animation:3s linear infinite borderSpin;position:absolute;inset:-2px}.predict-btn:hover{background-position:100% 0;transform:translateY(-2px)scale(1.02);box-shadow:0 0 0 1px #7c3aed99,0 12px 48px #7c3aed8c,0 0 80px #7c3aed33}.predict-btn:hover:before{opacity:1}.predict-btn:active{transform:scale(.98)}.predict-btn:disabled{cursor:not-allowed;opacity:.9;animation:none}.btn-icon{font-size:20px}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 1px #7c3aed66,0 8px 32px #7c3aed66,0 0 60px #7c3aed1f}50%{box-shadow:0 0 0 1px #7c3aed80,0 8px 40px #7c3aed8c,0 0 90px #7c3aed33}}.spinner{border:2.5px solid #ffffff40;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}.loading-text{opacity:.9;font-size:14px;font-weight:600}.stats-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;background:#ffffff07;padding:26px 22px;transition:border-color .3s,transform .3s;animation:.5s both fadeUp;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg,#0000,#7c3aed4d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:#7c3aed33;transform:translateY(-3px)}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:10px;font-size:11px;font-weight:600}.stat-value{font-family:var(--font-display);margin-bottom:6px;font-size:38px;font-weight:800;line-height:1}.stat-sub{color:var(--text-muted);font-size:12px}.grade-badge{text-align:center;background:#0003;border:2px solid;border-radius:14px;width:70px;height:70px;display:inline-block;font-size:34px!important;line-height:66px!important}.meter-card{flex-direction:column;align-items:center;display:flex}.meter-wrap{justify-content:center;margin-top:4px;display:flex}.insights-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.insights-col-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:16px;font-size:13px;font-weight:700}.insight-item{border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px 14px;font-size:13.5px;line-height:1.4;transition:transform .2s;display:flex}.insight-item:hover{transform:translate(3px)}.insight-item.good{background:#34d39912;border-color:#34d39926}.insight-item.ok{background:#3b82f612;border-color:#3b82f626}.insight-item.warn{background:#fbbf2412;border-color:#fbbf2426}.insight-icon{flex-shrink:0;margin-top:1px;font-size:16px}.insight-item.good .insight-icon{color:var(--green)}.insight-item.ok .insight-icon{color:var(--blue)}.insight-item.warn .insight-icon{color:#fbbf24}.insight-text{color:#ffffffbf}.rec-item{color:#ffffffb3;background:#7c3aed12;border:1px solid #7c3aed1f;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:11px 14px;font-size:13.5px;transition:transform .2s;display:flex}.rec-item:hover{transform:translate(3px)}.rec-bullet{color:var(--purple);flex-shrink:0;font-size:16px;font-weight:700}.charts-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.chart-wrap-full{grid-column:1/-1}.chart-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;padding:22px}.chart-title{font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:13px;font-weight:700}.custom-tooltip{background:#0a0a14f2;border:1px solid #7c3aed4d;border-radius:10px;padding:10px 14px}.tooltip-label{color:var(--text-dim);margin-bottom:4px;font-size:11px}.tooltip-value{font-family:var(--font-mono);color:var(--purple);font-size:16px;font-weight:600}.actions-row{justify-content:center;gap:14px;display:flex}.action-btn{font-family:var(--font-body);cursor:pointer;border:1px solid;border-radius:100px;align-items:center;gap:8px;padding:13px 32px;font-size:14px;font-weight:600;transition:all .25s;display:inline-flex}.download-btn{color:#a78bfa;background:#7c3aed26;border-color:#7c3aed66}.download-btn:hover{background:#7c3aed40;transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed4d}.reset-btn{color:var(--text-muted);background:#ffffff0a;border-color:#ffffff1a}.reset-btn:hover{color:var(--text);background:#ffffff14;transform:translateY(-2px)}.history-section .section-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.clear-btn{color:#f87171b3;cursor:pointer;background:0 0;border:1px solid #f8717140;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:all .2s;display:flex}.clear-btn:hover{color:#f87171;background:#f871711a}.history-list{flex-direction:column;gap:10px;display:flex}.history-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff06;align-items:center;gap:20px;padding:14px 18px;transition:border-color .2s;display:flex}.history-item:hover{border-color:#7c3aed33}.history-date{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);min-width:90px}.history-marks{font-family:var(--font-display);min-width:55px;font-size:22px;font-weight:800}.history-grade-badge{border:1px solid;border-radius:6px;padding:3px 10px;font-size:13px;font-weight:700}.history-label{color:var(--text-muted);margin-left:auto;font-size:13px}.footer{z-index:1;text-align:center;color:var(--text-dim);border-top:1px solid var(--border);padding:32px 20px;font-size:13px;position:relative}.footer-accent{background:linear-gradient(90deg,#a78bfa,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.scroll-top{z-index:100;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#7c3aedd9;border:1px solid #7c3aed80;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:all .25s;display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 20px #7c3aed66}.scroll-top:hover{background:#7c3aed;transform:translateY(-3px)}.swal-custom-popup{-webkit-backdrop-filter:blur(48px)!important;backdrop-filter:blur(48px)!important;border:1px solid #7c3aed59!important;border-radius:28px!important;max-width:400px!important;padding:44px 36px 36px!important;overflow:hidden!important}.swal-inner{text-align:center;position:relative}.swal-sparkles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.swal-spark{opacity:0;border-radius:50%;animation:2.4s ease-in-out infinite swalSparkAnim;position:absolute}.swal-spark.s1{width:3px;height:3px;animation-duration:2.2s;animation-delay:0s;top:12%;left:10%}.swal-spark.s2{width:2px;height:2px;animation-duration:2.8s;animation-delay:.4s;top:20%;right:12%}.swal-spark.s3{width:4px;height:4px;animation-duration:2.1s;animation-delay:.9s;top:8%;left:55%}.swal-spark.s4{width:2px;height:2px;animation-duration:3s;animation-delay:1.2s;bottom:20%;left:20%}.swal-spark.s5{width:3px;height:3px;animation-duration:2.5s;animation-delay:.6s;bottom:28%;right:15%}.swal-spark.s6{width:5px;height:5px;animation-duration:2.9s;animation-delay:1.6s;top:35%;left:5%}@keyframes swalSparkAnim{0%{opacity:0;transform:scale(.3)translateY(4px)}30%{opacity:1;transform:scale(1)translateY(-6px)}70%{opacity:.6;transform:scale(.8)translateY(-10px)}to{opacity:0;transform:scale(.3)translateY(-14px)}}.swal-glow{filter:blur(70px);opacity:.35;pointer-events:none;border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;left:50%;transform:translate(-50%)}.swal-grade-ring{z-index:1;background:#00000059;border:2.5px solid;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 22px;display:flex;position:relative}.swal-grade-text{font-family:Syne,sans-serif;font-size:36px;font-weight:800}.swal-score-row{z-index:1;justify-content:center;align-items:baseline;gap:4px;margin-bottom:10px;line-height:1;display:flex;position:relative}.swal-marks{color:#fff;font-family:Syne,sans-serif;font-size:42px;font-weight:800;line-height:1}.swal-marks-sub{color:#ffffff61;margin-top:6px;font-family:Syne,sans-serif;font-size:24px;font-weight:600;line-height:1}.swal-label{text-transform:uppercase;letter-spacing:.12em;z-index:1;margin-bottom:18px;font-family:Syne,sans-serif;font-size:13px;font-weight:700;position:relative}.swal-divider{width:100%;height:1px;margin-bottom:18px}.swal-meta{z-index:1;background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;justify-content:center;align-items:center;gap:0;margin-bottom:22px;display:flex;position:relative;overflow:hidden}.swal-meta-item{flex-direction:column;flex:1;align-items:center;gap:5px;padding:14px 28px;display:flex}.swal-meta-sep{background:#ffffff14;flex-shrink:0;width:1px;height:40px}.swal-meta-key{color:#ffffff4d;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.swal-meta-val{color:#fff;white-space:nowrap;font-family:Syne,sans-serif;font-size:15px;font-weight:700}.swal-bar-wrap{z-index:1;width:100%;position:relative}.swal-bar-labels{color:#fff3;justify-content:space-between;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.swal-bar-track{background:#ffffff12;border-radius:100px;height:6px;overflow:hidden}.swal-bar-fill{border-radius:100px;height:100%;animation:1s cubic-bezier(.4,0,.2,1) both barGrow}@keyframes barGrow{0%{width:0%!important}}.swal-confirm-btn{letter-spacing:.02em!important;border-radius:100px!important;padding:12px 30px!important;font-family:DM Sans,sans-serif!important;font-size:14px!important;font-weight:700!important}.swal-cancel-btn{color:#ffffff73!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important;border-radius:100px!important;font-size:13px!important}@media (width<=900px){.stats-row{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.chart-wrap-full{grid-column:1}.insights-grid{grid-template-columns:1fr}}@media (width<=640px){.hero{padding:72px 16px 52px}.hero-title{font-size:42px}.glass-card{padding:24px 18px}.sliders-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.actions-row{flex-direction:column;align-items:center}.history-item{flex-wrap:wrap;gap:10px}.history-label{width:100%;margin-left:0}.predict-btn{padding:16px 36px;font-size:15px}}@media (width<=380px){.stats-row{grid-template-columns:1fr}}
