:root{--color-primary-50: #f0f9ff;--color-primary-100: #e0f2fe;--color-primary-200: #bae6fd;--color-primary-300: #7dd3fc;--color-primary-400: #38bdf8;--color-primary-500: #0ea5e9;--color-primary-600: #0284c7;--color-primary-700: #0369a1;--color-primary-800: #075985;--color-primary-900: #0c4a6e;--color-secondary-50: #f0fdfa;--color-secondary-100: #ccfbf1;--color-secondary-200: #99f6e4;--color-secondary-300: #5eead4;--color-secondary-400: #2dd4bf;--color-secondary-500: #14b8a6;--color-secondary-600: #0d9488;--color-secondary-700: #0f766e;--color-accent-50: #fef3c7;--color-accent-100: #fde68a;--color-accent-400: #fbbf24;--color-accent-500: #f59e0b;--color-accent-600: #d97706;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-warning-50: #fff7ed;--color-warning-100: #ffedd5;--color-warning-500: #f97316;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--gradient-primary: linear-gradient(135deg, #0ea5e9 0%, #0284c7 50%, #0369a1 100%);--gradient-secondary: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%);--gradient-accent: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--gradient-mesh: radial-gradient(at 0% 0%, rgba(14, 165, 233, .1) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(20, 184, 166, .1) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(14, 165, 233, .05) 0px, transparent 50%), radial-gradient(at 0% 100%, rgba(20, 184, 166, .05) 0px, transparent 50%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-colored: 0 10px 25px -5px rgba(14, 165, 233, .2), 0 8px 10px -6px rgba(14, 165, 233, .1);--shadow-glow: 0 0 20px rgba(14, 165, 233, .3);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--glass-blur: blur(12px);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-dropdown: 1025;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:clamp(14px,1vw + 12px,16px);height:100%;scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-family);line-height:1.55;color:var(--color-gray-800);background:var(--color-gray-50);min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(14,165,233,.2);padding:0;margin:0;width:100%;overflow-x:hidden;overscroll-behavior-x:none;max-width:100vw}#app{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;max-width:100vw}.site-header{background:#0ea5e9d9;color:#fff;box-shadow:var(--shadow-lg);border-bottom:1px solid rgba(232,238,245,.3);position:sticky;top:0;z-index:var(--z-sticky);transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),background .4s cubic-bezier(.4,0,.2,1),backdrop-filter .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%}.site-header.header-scrolled{padding:0;box-shadow:var(--shadow-xl);background:#0ea5e9e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,238,245,.4)}.site-header.header-hidden{transform:translateY(-100%);box-shadow:none}.header-container{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-4);display:flex;align-items:center;justify-content:space-between;transition:padding .4s cubic-bezier(.4,0,.2,1);min-height:72px}.site-header.header-scrolled .header-container{padding:var(--space-4) var(--space-4);min-height:64px}.brand{flex-shrink:0;min-width:0}.brand-link{display:flex;align-items:center;gap:var(--space-3);color:#fff;text-decoration:none;transition:opacity var(--transition-fast)}.brand-link:hover{opacity:.9}.brand-icon{font-size:2rem;line-height:1;transition:font-size .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);flex-shrink:0}.site-header.header-scrolled .brand-icon{font-size:1.3rem}.brand-content{display:flex;flex-direction:column;gap:var(--space-1)}.brand-text{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;transition:font-size .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header.header-scrolled .brand-text{font-size:1.25rem}.brand-tagline{font-size:.875rem;font-weight:400;opacity:.95;line-height:1.3;transition:font-size .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1),max-height .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);max-height:50px;overflow:hidden}.site-header.header-scrolled .brand-tagline{font-size:.75rem;opacity:.75;max-height:20px}.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2);z-index:1001}.hamburger{display:block;width:24px;height:2px;background-color:#fff;position:relative;transition:background-color var(--transition-normal)}.hamburger:before,.hamburger:after{content:"";position:absolute;width:24px;height:2px;background-color:#fff;transition:transform var(--transition-normal)}.hamburger:before{top:-7px}.hamburger:after{bottom:-7px}.menu-toggle[aria-expanded=true] .hamburger{background-color:transparent}.menu-toggle[aria-expanded=true] .hamburger:before{transform:rotate(45deg) translate(5px,5px)}.menu-toggle[aria-expanded=true] .hamburger:after{transform:rotate(-45deg) translate(5px,-5px)}.main-nav{max-width:100%;display:flex;align-items:center}.nav-list{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);color:#fff;text-decoration:none;font-weight:500;border-radius:var(--radius-md);transition:background-color var(--transition-fast);background:none;border:none;cursor:pointer;font-size:.9375rem;font-family:var(--font-family);white-space:nowrap}.nav-link:hover{background-color:#ffffff1a}.dropdown-icon{transition:transform var(--transition-normal);flex-shrink:0}.dropdown-trigger[aria-expanded=true] .dropdown-icon{transform:rotate(180deg)}.nav-cta{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-5);background:#ffffff26;color:#fff;text-decoration:none;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-normal);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.nav-cta:hover{background:#ffffff40;transform:translateY(-1px);box-shadow:var(--shadow-md)}.mega-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(-8px);margin-top:var(--space-4);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);padding:var(--space-3);width:auto;max-width:420px;max-height:70vh;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity var(--transition-smooth),visibility var(--transition-smooth),transform var(--transition-smooth);z-index:var(--z-dropdown);border:1px solid var(--color-gray-200);box-sizing:border-box}.nav-item.has-dropdown.is-open .mega-dropdown,.nav-item.is-open .mega-dropdown,.dropdown-trigger[aria-expanded=true]+.mega-dropdown{opacity:1!important;visibility:visible!important;margin-top:var(--space-2);max-height:none!important;transform:translate(-50%) translateY(0)!important}.mega-dropdown-container{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.mega-dropdown-column{display:flex;flex-direction:column}.dropdown-heading{font-size:.875rem;font-weight:600;color:var(--color-gray-900);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.dropdown-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.dropdown-link{display:block;padding:var(--space-1) var(--space-2);color:var(--color-gray-700);text-decoration:none;font-size:.8125rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.dropdown-link:hover{background-color:var(--color-primary-50);color:var(--color-primary-700);transform:translate(var(--space-1))}.mega-dropdown-footer{grid-column:1 / -1;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-gray-200);text-align:center}.mega-dropdown.curve-methods-dropdown{max-width:280px;left:50%;transform:translate(-50%) translateY(-8px)}.dropdown-all-link{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-5);background:var(--gradient-primary);color:#fff;text-decoration:none;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);font-size:.8125rem}.dropdown-all-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-colored)}h1{font-size:2.5rem;font-weight:700;margin-bottom:var(--space-2);letter-spacing:-.025em}.subtitle{font-size:1.1rem;font-weight:400;opacity:.9}main{flex:1;padding:var(--space-6) var(--space-4);width:100%;max-width:100vw;overflow-x:hidden}.hero-section{text-align:center;margin:var(--space-12) 0 var(--space-12) 0;padding:var(--space-8) var(--space-6);position:relative;background-color:#fff;border-radius:var(--radius-xl);box-shadow:0 4px 24px #00000014}.hero-section h1{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-3);position:relative;z-index:2}.hero-section h1:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:100%;max-width:600px;height:120%;background:radial-gradient(ellipse at center,rgba(14,165,233,.1) 0%,transparent 70%);z-index:-1;border-radius:50%}.hero-description{font-size:.95rem;color:var(--color-gray-600);line-height:1.5;max-width:650px;margin:0 auto;font-weight:400}.container{max-width:1200px;margin:0 auto;width:100%;overflow-x:hidden}.card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);box-shadow:0 4px 16px #0000000d;padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid rgba(255,255,255,.5);transition:all var(--transition-smooth);position:relative;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-normal)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card:hover:before{opacity:1}h2{font-size:1.5rem;font-weight:600;margin-bottom:var(--space-4);color:var(--color-gray-800)}h3{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-4);color:var(--color-gray-800)}.input-section .card h2,.info-section .card h2{text-align:center;font-size:1.4rem;margin-bottom:var(--space-3);letter-spacing:.025em}.similar-tools-section h3{text-align:center;font-size:1.2rem;margin-bottom:var(--space-3);letter-spacing:.025em}.advanced-section h2{text-align:center;font-size:1.4rem;margin-bottom:var(--space-3);letter-spacing:.025em}.helper-text{font-size:.875rem;color:var(--color-gray-600);margin-bottom:var(--space-2)}.example-text{font-size:.75rem;color:var(--color-gray-500);margin-top:var(--space-2);font-style:italic}.hidden{display:none!important}.input-section{margin-bottom:var(--space-8);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box;background-color:var(--color-gray-100);padding:var(--space-4);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-left:0;margin-right:0}.site-footer{background-color:var(--color-gray-800);color:var(--color-gray-200);padding:var(--space-10) var(--space-4) var(--space-6);margin-top:auto}.footer-container{max-width:1200px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-8);margin-bottom:var(--space-8)}.footer-column{display:flex;flex-direction:column}.footer-heading{font-size:1rem;font-weight:600;color:#fff;margin-bottom:var(--space-4);letter-spacing:.025em}.footer-text{font-size:.875rem;line-height:1.6;color:var(--color-gray-300);margin:0}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer-link{color:var(--color-gray-300);text-decoration:none;font-size:.875rem;transition:color var(--transition-fast);display:inline-block}.footer-link:hover{color:#fff}.footer-bottom{text-align:center;padding-top:var(--space-6);border-top:1px solid var(--color-gray-700);font-size:.875rem}.footer-bottom-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.footer-bottom-link{color:var(--color-gray-400);text-decoration:none;transition:color var(--transition-fast);font-size:.875rem}.footer-bottom-link:hover{color:#fff}.footer-separator{color:var(--color-gray-600);-webkit-user-select:none;user-select:none}.footer-bottom p{margin:0;color:var(--color-gray-400)}@media (max-width: 639px){.method-list{grid-template-columns:1fr;gap:var(--space-4)}main{padding:var(--space-4) 0}.container{padding:0}.similar-tools-section,.best-practices-section,.implementation-section,.advanced-section,.faq-section,.info-section,.tips-section{padding-left:var(--space-3);padding-right:var(--space-3);margin-left:0;margin-right:0;border-radius:var(--radius-md)}.hero-section{padding:var(--space-10) var(--space-6);margin:var(--space-6) var(--space-4);border-radius:var(--radius-xl);width:calc(100% - var(--space-8));background-color:#fff;box-shadow:0 4px 24px #00000014}.hero-section h1{font-size:1.75rem;line-height:1.2;font-weight:700;margin-bottom:var(--space-3)}.input-section{padding:var(--space-3)}.menu-toggle{display:block}.header-container{padding:var(--space-3) var(--space-3)!important;min-height:56px!important;margin-bottom:0!important}.brand-icon{font-size:1.4rem!important}.site-header.header-scrolled .brand-icon{font-size:1.2rem!important}.brand-text{font-size:1rem!important}.site-header.header-scrolled .brand-text{font-size:.95rem!important}.brand-tagline{display:none!important}.main-nav{position:fixed;top:0;left:100%;width:85vw;max-width:320px;height:100vh;background-color:var(--color-primary-700);box-shadow:var(--shadow-lg);transform:translate(0);transition:transform var(--transition-normal);padding:0;overflow:hidden;z-index:var(--z-fixed);display:flex;flex-direction:column;overscroll-behavior:contain;will-change:transform;touch-action:pan-y;visibility:hidden}.main-nav.active{transform:translate(-100%);visibility:visible}.main-nav>.nav-list{flex:1;overflow-y:auto;padding:var(--space-2) 0 var(--space-4)}.nav-list{flex-direction:column;gap:0;width:100%}.nav-link{width:100%;padding:var(--space-4);border-radius:0;border-bottom:1px solid rgba(255,255,255,.1);justify-content:space-between}.nav-item.has-dropdown{display:flex;flex-direction:column}.mega-dropdown{position:static!important;transform:none!important;margin:0!important;padding:0!important;background:var(--color-primary-800)!important;box-shadow:none!important;border:none!important;border-radius:0!important;width:100%!important;max-width:none!important;max-height:0!important;overflow:hidden!important;transition:max-height var(--transition-smooth)!important;box-sizing:border-box!important}.nav-item.has-dropdown.is-open .mega-dropdown,.nav-item.is-open .mega-dropdown,.dropdown-trigger[aria-expanded=true]+.mega-dropdown{max-height:1000px!important;padding:var(--space-2) 0!important;border-top:1px solid rgba(255,255,255,.1)!important;transform:none!important;left:auto!important;position:static!important}.share-dropdown{width:auto;max-width:none}.mega-dropdown-container{grid-template-columns:1fr;gap:var(--space-2);padding:0}.mega-dropdown-column{padding:var(--space-1) var(--space-3);border-bottom:1px solid rgba(255,255,255,.05)}.mega-dropdown-column:last-child{border-bottom:none}.dropdown-heading{color:#ffffffe6;font-size:.75rem;margin-bottom:var(--space-1)}.dropdown-link{color:#fffc;font-size:.75rem;padding:var(--space-1) var(--space-2)}.dropdown-link:hover{background-color:#ffffff1a;color:#fff;transform:none}.mega-dropdown-footer{padding:var(--space-1) var(--space-3);border-top:1px solid rgba(255,255,255,.1);margin:0}.dropdown-all-link{width:100%;justify-content:center}.nav-cta{width:100%;justify-content:center;text-align:center}.cta-item{width:100%}.footer-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.site-footer{padding:var(--space-8) var(--space-3) var(--space-4)}h1{font-size:2rem;line-height:1.2}h2{font-size:1.5rem}.hero-section{padding:var(--space-6) var(--space-4);margin-bottom:var(--space-4)}.hero-description{font-size:.95rem;line-height:1.6}h3{font-size:1.25rem}.input-section .card h2,.info-section .card h2,.advanced-section h2{font-size:1.2rem}.similar-tools-section h3{font-size:1.1rem}.container{padding:var(--space-4) var(--space-3)}.card{padding:var(--space-3)}.button,.btn{min-height:44px;padding:var(--space-3) var(--space-4);font-size:1rem}input,select,textarea{min-height:44px;font-size:16px}.method-list{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:var(--space-2)}.action-buttons .btn,.action-buttons button{width:100%}.param-group{margin-bottom:var(--space-2)}.grade-boundaries .boundary-row{flex-wrap:wrap;gap:var(--space-2)}.grade-distribution .distribution-row{padding:var(--space-2);font-size:.9rem}.helper-text,.example-text{font-size:.875rem}#grades-input{font-size:16px;min-height:120px}.individual-inputs .input-group{gap:var(--space-2)}.curve-param-section{padding:var(--space-3)}h2{font-size:1.2rem;margin-bottom:var(--space-3)}h3{font-size:1rem;margin-bottom:var(--space-2)}h4{font-size:.9rem}.card{margin-bottom:var(--space-3);border-radius:var(--radius-lg)}.info-section{margin-top:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md)}.tips-section{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md)}.faq-section{padding:var(--space-3);margin-top:var(--space-4);border-radius:var(--radius-md)}.similar-tools-section,.best-practices-section,.implementation-section,.advanced-section{margin:var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-md)}.method-item{padding:var(--space-3)}.method-item h3{font-size:.9rem;margin-bottom:var(--space-1)}.method-item p{font-size:.82rem;line-height:1.45}.faq-list{grid-template-columns:1fr;gap:var(--space-3)}.faq-item{padding:var(--space-3)}.faq-item h4{font-size:.875rem}.faq-item p{font-size:.875rem;line-height:1.5}.faq-item ol,.faq-item ul,.method-detail ol,.method-detail ul{padding-left:var(--space-4);margin:var(--space-2) 0}.faq-item ol li,.faq-item ul li,.method-detail ol li,.method-detail ul li{font-size:.875rem;line-height:1.5;margin-bottom:var(--space-1)}.jump-links-section{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.quick-overview-section{margin-bottom:var(--space-3)}.stats-grid{gap:var(--space-2)}.stat-item{padding:var(--space-2) var(--space-3)}.stat-value{font-size:1.25rem}.stat-label{font-size:.7rem}}@media (min-width: 640px) and (max-width: 1023px){.method-list{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}main{padding:var(--space-6) var(--space-3)}.container{padding:var(--space-4) var(--space-3)}.menu-toggle{display:block}.header-container{padding:var(--space-3) var(--space-4)!important;min-height:60px!important}.brand-tagline{display:none!important}.main-nav{position:fixed;top:0;left:100%;width:85vw;max-width:360px;height:100vh;background-color:var(--color-primary-700);box-shadow:var(--shadow-lg);transform:translate(0);transition:transform var(--transition-normal);padding:0;overflow:hidden;z-index:var(--z-fixed);display:flex;flex-direction:column;overscroll-behavior:contain;will-change:transform;touch-action:pan-y;visibility:hidden}.main-nav.active{transform:translate(-100%);visibility:visible}.main-nav>.nav-list{flex:1;overflow-y:auto;padding:var(--space-2) 0 var(--space-4)}.nav-list{flex-direction:column;gap:0;width:100%}.nav-link{width:100%;padding:var(--space-4);border-radius:0;border-bottom:1px solid rgba(255,255,255,.1)}.mega-dropdown{position:static!important;transform:none!important;margin:0!important;padding:0!important;background:var(--color-primary-800)!important;box-shadow:none!important;border:none!important;border-radius:0!important;width:100%!important;max-width:none!important;max-height:0!important;overflow:hidden!important;transition:max-height var(--transition-smooth)!important;box-sizing:border-box!important}.nav-item.has-dropdown.is-open .mega-dropdown,.nav-item.is-open .mega-dropdown,.dropdown-trigger[aria-expanded=true]+.mega-dropdown{max-height:1000px!important;padding:var(--space-2) 0!important;border-top:1px solid rgba(255,255,255,.1)!important;transform:none!important;left:auto!important;position:static!important}.mega-dropdown-container{grid-template-columns:1fr;gap:var(--space-2)}.mega-dropdown-column{padding:var(--space-1) var(--space-2)}.dropdown-heading{font-size:.75rem;margin-bottom:var(--space-2)}.dropdown-link{padding:var(--space-1) var(--space-2);padding:var(--space-1)}.mega-dropdown-footer{padding-top:var(--space-2);margin-top:var(--space-2)}.footer-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.site-footer{padding:var(--space-10) var(--space-6) var(--space-6)}main{padding:var(--space-8) var(--space-6)}h1{font-size:2.5rem}h2{font-size:1.75rem}.container{padding:var(--space-6) var(--space-4)}.card{padding:var(--space-4)}.method-list{grid-template-columns:repeat(2,1fr)}.button,.btn,input,select,textarea{min-height:44px}}@media (min-width: 1024px) and (max-width: 1439px){.brand-tagline{display:block!important}.header-container{max-width:1200px;padding:var(--space-5) var(--space-6)}.site-header.header-scrolled .header-container{padding:var(--space-3) var(--space-6)}.mega-dropdown{max-width:900px;padding:var(--space-4)}.mega-dropdown-container{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.brand-icon{font-size:2rem}.site-header.header-scrolled .brand-icon,.brand-text{font-size:1.5rem}.site-header.header-scrolled .brand-text{font-size:1.25rem}.footer-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-8)}.site-footer{padding:var(--space-12) var(--space-6) var(--space-8)}.method-list{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.container{max-width:1200px}}@media (min-width: 1440px){.brand-tagline{display:block!important}.header-container{max-width:1400px;padding:var(--space-6) var(--space-8)}.site-header.header-scrolled .header-container{padding:var(--space-4) var(--space-8)}.mega-dropdown{max-width:900px;padding:var(--space-5)}.mega-dropdown-container{grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.brand-icon{font-size:2.25rem}.site-header.header-scrolled .brand-icon,.brand-text{font-size:1.75rem}.site-header.header-scrolled .brand-text{font-size:1.4rem}.brand-tagline{font-size:1rem}.site-header.header-scrolled .brand-tagline{font-size:.85rem}.footer-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-10)}.site-footer{padding:var(--space-16) var(--space-8) var(--space-10)}.container{max-width:1400px}.method-list{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}h1{font-size:3.5rem}h2{font-size:2.25rem}}@media (min-width: 640px){h1{font-size:3rem}.subtitle{font-size:1.25rem}}@media (min-width: 768px){h1{font-size:3rem}.subtitle{font-size:1.25rem}}.info-section{margin-top:var(--space-12);margin-bottom:var(--space-8);background:#f8fbff;padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl)}.info-content{margin-top:var(--space-6)}.method-list{display:grid;gap:var(--space-8);margin-top:var(--space-6)}.method-item{background-color:var(--color-gray-50);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-gray-200);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.method-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.method-item h3{color:var(--color-primary-600);margin-bottom:var(--space-2);font-size:1.1rem;display:flex;align-items:center;gap:var(--space-2)}.method-item h3 .method-icon{font-size:1.2rem;opacity:.8}.method-item p{color:var(--color-gray-700);font-size:.95rem;line-height:1.5}.tips-section{margin-top:var(--space-8);padding:var(--space-6);background-color:var(--color-primary-50);border-radius:var(--radius-lg);border:1px solid var(--color-primary-100)}.tips-section h3{color:var(--color-primary-700);margin-bottom:var(--space-4)}.tips-list{list-style-type:none;padding:0}.tips-list li{position:relative;padding-left:var(--space-6);margin-bottom:var(--space-3);color:var(--color-gray-700)}.tips-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary-500);font-weight:700}@media (max-width: 768px){.method-list{grid-template-columns:1fr}.info-section{margin-top:var(--space-6);padding:var(--space-4) var(--space-3);border-radius:var(--radius-md);margin-left:0;margin-right:0}.tips-section{padding:var(--space-3) var(--space-3);margin-left:0;margin-right:0}.faq-section{padding:var(--space-4) var(--space-3);margin-top:var(--space-6);margin-left:0;margin-right:0}.similar-tools-section,.best-practices-section,.implementation-section{padding:var(--space-4) var(--space-3);margin:var(--space-6) 0}.quick-overview-section{padding:0 var(--space-1);margin-bottom:var(--space-4)}}.similar-tools-section{margin:var(--space-8) 0;padding:var(--space-6);background-color:var(--color-secondary-50);border-radius:var(--radius-lg);border:1px solid var(--color-secondary-100)}.similar-tools-section h3{color:var(--color-secondary-700);margin-bottom:var(--space-2);font-size:1.5rem}.similar-tools-section>p{color:var(--color-gray-600);margin-bottom:var(--space-4);font-size:.95rem}.tool-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.tool-item{background-color:#fff;padding:var(--space-4);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000000d;transition:all var(--transition-normal);border:1px solid var(--color-gray-200)}.tool-item:hover{transform:translateY(-3px);box-shadow:0 6px 14px #00000014}.tool-item h4{margin:0 0 var(--space-2) 0;font-size:1.1rem;display:flex;align-items:center;gap:var(--space-2)}.tool-item h4 .tool-icon{font-size:1.1rem;opacity:.8}.tool-link{color:var(--color-secondary-600);text-decoration:none;font-weight:600;transition:color var(--transition-fast)}.tool-link:hover{color:var(--color-secondary-700);text-decoration:underline}.tool-item p{color:var(--color-gray-700);font-size:.9rem;line-height:1.5;margin:0}@media (max-width: 768px){.tool-list{grid-template-columns:1fr;gap:var(--space-3)}.tool-item{padding:var(--space-3)}}.faq-section{margin-top:var(--space-8);padding:var(--space-6);background-color:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.faq-section h3{text-align:center}.faq-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--space-6);margin-top:var(--space-4)}.faq-item{padding:var(--space-5);background-color:#fff;border-radius:var(--radius-md);box-shadow:0 4px 16px #0000000d;transition:all var(--transition-normal)}.faq-item:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.faq-item h4{color:var(--color-primary-600);margin-bottom:var(--space-2);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:var(--space-2)}.faq-item h4 .faq-icon{font-size:1rem;opacity:.7;color:var(--color-primary-500)}.faq-item p{color:var(--color-gray-700);font-size:.95rem;line-height:1.6}@media (max-width: 768px){.faq-list{grid-template-columns:1fr}}.best-practices-section{margin:var(--space-8) 0;padding:var(--space-6);background-color:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.best-practices-section h3{color:var(--color-primary-700);margin-bottom:var(--space-4);text-align:center}.best-practices-section p{color:var(--color-gray-700);line-height:1.6;font-size:.95rem}.implementation-section{margin:var(--space-8) 0;padding:var(--space-6);background-color:var(--color-primary-50);border-radius:var(--radius-lg);border:1px solid var(--color-primary-100)}.implementation-section h2{color:var(--color-primary-700);margin-bottom:var(--space-4);font-size:1.75rem}.implementation-section h3{color:var(--color-primary-600);margin:var(--space-4) 0 var(--space-2);font-size:1.25rem;text-align:center}.implementation-content{padding:var(--space-4);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box}@media (max-width: 639px){.implementation-content{padding:var(--space-3)}}.implementation-content p{color:var(--color-gray-700);line-height:1.6;font-size:.95rem;margin-bottom:var(--space-4)}.advanced-section{margin:var(--space-8) 0;padding:var(--space-6);background-color:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200)}.advanced-section h2{color:var(--color-primary-700);margin-bottom:var(--space-4);font-size:1.75rem}.advanced-section h3{color:var(--color-primary-600);margin:var(--space-4) 0 var(--space-2);font-size:1.25rem}.advanced-section p{color:var(--color-gray-700);line-height:1.6;font-size:.95rem;margin-bottom:var(--space-4)}.strategy-list{list-style:none;padding:0;margin:var(--space-4) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4)}.strategy-list li{position:relative;padding:var(--space-3) var(--space-6);background-color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-gray-700);font-size:.95rem;line-height:1.4;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.strategy-list li:before{content:"→";position:absolute;left:var(--space-2);color:var(--color-primary-500);font-weight:700}.strategy-list li:hover{transform:translate(var(--space-2));box-shadow:var(--shadow-md)}@media (max-width: 768px){.strategy-list{grid-template-columns:1fr}.advanced-section{padding:var(--space-4)}}.quick-overview-section{margin-bottom:var(--space-8)}.quick-overview-section h3{color:var(--color-primary-700);margin-bottom:var(--space-4);font-size:1.25rem;text-align:center}.method-link{display:inline-block;margin-top:var(--space-2);color:var(--color-primary-600);text-decoration:none;font-weight:500;font-size:.875rem;transition:color var(--transition-fast)}.method-link:hover{color:var(--color-primary-700);text-decoration:underline}.jump-links-section{margin:var(--space-6) 0;padding:var(--space-4);background-color:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200);text-align:center}.jump-links-section p{margin:0;font-size:.95rem}.jump-links-section a{color:var(--color-primary-600);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.jump-links-section a:hover{color:var(--color-primary-700);text-decoration:underline}.detailed-methods-section{margin-top:var(--space-8)}.method-detail{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-gray-200)}.method-detail:last-child{border-bottom:none;margin-bottom:0}.method-detail h2{color:var(--color-primary-700);margin-bottom:var(--space-4);font-size:1.5rem;scroll-margin-top:100px}.method-detail p{color:var(--color-gray-700);line-height:1.6;margin-bottom:var(--space-3)}.method-detail p:last-child{margin-bottom:0}@media (max-width: 768px){.jump-links-section{padding:var(--space-3)}.jump-links-section p{font-size:.875rem;line-height:1.6}.method-detail h2{font-size:1.25rem;scroll-margin-top:80px}.detailed-methods-section{margin-top:var(--space-6)}.method-detail{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.method-detail p{font-size:.875rem;line-height:1.55}.method-detail h3{font-size:1rem}}.title-link{color:inherit;text-decoration:none;transition:opacity var(--transition-fast)}.title-link:hover{opacity:.9}.policy-content,.disclaimer-content,.contact-content{max-width:800px;margin:0 auto}.policy-content section,.disclaimer-content section{margin-bottom:var(--space-8)}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6);margin:var(--space-6) 0}.contact-method{padding:var(--space-4);background-color:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.contact-method h4{color:var(--color-primary-600);margin-bottom:var(--space-2)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);color:var(--color-gray-700);font-weight:500}.form-group input,.form-group textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:inherit}.form-group textarea{resize:vertical}.image-section{margin:var(--space-8) 0;text-align:center}.feature-image{max-width:100%;height:auto;max-height:90%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);object-fit:cover}.image-caption{margin-top:var(--space-4);color:var(--color-gray-600);font-style:italic;font-size:.8rem;opacity:.8}img,video,canvas,svg{max-width:100%;height:auto;display:block}button,a,input,select,textarea{touch-action:manipulation}@media (hover: hover) and (pointer: fine){.method-item:hover{transform:translateY(-2px)}button:hover:not(:disabled),.btn:hover:not(:disabled){transform:translateY(-1px)}}@media (hover: none) and (pointer: coarse){.method-item:hover{transform:none}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.98)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.site-header{transition:none!important}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}@supports (backdrop-filter: blur(10px)){.site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-header.header-scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}@media (max-width: 320px){h1{font-size:1.75rem}.brand-text{font-size:1rem}.brand-icon{font-size:1.25rem}}.hero-section h1{font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.2;font-weight:700}*{box-sizing:border-box}.site-header,main,.container,.hero-section,.card,.input-section{max-width:100%}.hero-section{margin:var(--space-8) auto}@media (min-width: 1024px){.main-nav{position:static!important;transform:none!important;height:auto!important;width:auto!important;background:transparent!important;padding:0!important;box-shadow:none!important;display:flex;align-items:center}.nav-list{flex-wrap:nowrap}.mega-dropdown{position:absolute!important;top:100%!important;left:50%!important;transform:translate(-50%) translateY(-8px)!important;background:#fff!important;box-shadow:var(--shadow-lg)!important;padding:var(--space-4)!important;opacity:0!important;visibility:hidden!important;max-height:70vh!important;width:auto!important;max-width:420px!important;border:1px solid var(--color-gray-200)!important;border-radius:var(--radius-xl)!important;margin-top:var(--space-2)!important;overflow-y:auto!important}.nav-item.has-dropdown.is-open .mega-dropdown,.nav-item.is-open .mega-dropdown,.dropdown-trigger[aria-expanded=true]+.mega-dropdown{opacity:1!important;visibility:visible!important;transform:translate(-50%) translateY(0)!important;max-height:70vh!important}}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1015;cursor:pointer;touch-action:none;pointer-events:none}.nav-overlay.active{display:block;pointer-events:auto}body.nav-open{overflow:hidden!important;overscroll-behavior:none!important;height:100%!important}.nav-close-bar{display:none}@media (max-width: 1023px){.main-nav{overflow-x:hidden!important;position:fixed!important;top:0!important;left:100%!important;right:auto!important;width:85vw!important;max-width:320px!important;height:100vh!important;background-color:var(--color-primary-700)!important;box-shadow:var(--shadow-lg)!important;transform:translate(0)!important;transition:transform var(--transition-normal)!important;padding:0!important;overflow-y:auto!important;z-index:var(--z-fixed)!important;display:flex!important;flex-direction:column!important;will-change:transform!important;touch-action:pan-y!important;overscroll-behavior:contain!important;visibility:hidden!important}.main-nav.active{transform:translate(-100%)!important;visibility:visible!important}.menu-toggle{display:block}.nav-close-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.15);flex-shrink:0}.nav-close-bar__label{color:#ffffffb3;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nav-close-bar__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffffff26;border:none;border-radius:50%;color:#fff;font-size:1.1rem;cursor:pointer;line-height:1;transition:background .15s ease}.nav-close-bar__btn:hover{background:#ffffff47}.mega-dropdown-container{display:block!important}.dropdown-link{white-space:normal!important;word-break:break-word;display:block}}@media (max-width: 639px){main{padding:var(--space-4) 0}.container{padding:0}.info-section{padding:var(--space-3);margin-top:var(--space-4);margin-bottom:var(--space-4);margin-left:0;margin-right:0;border-radius:var(--radius-md);width:100%;box-sizing:border-box}.info-content{margin-top:var(--space-2)}.tips-section,.faq-section{padding:var(--space-3);margin-top:var(--space-4);margin-left:0;margin-right:0;border-radius:var(--radius-md);width:100%;box-sizing:border-box}.similar-tools-section,.best-practices-section,.implementation-section,.advanced-section{padding:var(--space-3);margin:var(--space-4) 0;margin-left:0;margin-right:0;border-radius:var(--radius-md);width:100%;box-sizing:border-box}.input-section,.results-section{margin-left:0;margin-right:0;width:100%;box-sizing:border-box}.method-list{gap:var(--space-3);margin-top:var(--space-3)}.method-item{padding:var(--space-3)}.method-item h3{font-size:.9rem;margin-bottom:var(--space-1)}.method-item p{font-size:.875rem;line-height:1.5}.faq-list{grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-3)}.faq-item{padding:var(--space-3)}.faq-item h4{font-size:.9rem;margin-bottom:var(--space-1)}.faq-item p{font-size:.875rem;line-height:1.5}.faq-quick-answer{padding:14px!important;margin-bottom:16px!important;border-radius:8px!important}.faq-quick-answer h3{font-size:1rem!important;margin-bottom:6px!important}.faq-quick-answer p{font-size:.875rem!important;line-height:1.5!important}.faq-item ol,.faq-item ul,.method-detail ol,.method-detail ul{padding-left:var(--space-4);margin:var(--space-2) 0}.faq-item ol li,.faq-item ul li,.method-detail ol li,.method-detail ul li{font-size:.875rem;line-height:1.5;margin-bottom:var(--space-1)}.detailed-methods-section{margin-top:var(--space-4)}.method-detail{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.method-detail h2,.method-detail h3{font-size:1rem;margin-bottom:var(--space-2)}.method-detail p{font-size:.875rem;line-height:1.55;margin-bottom:var(--space-2)}.implementation-content{padding:var(--space-3)}.implementation-content p{font-size:.875rem;line-height:1.5;margin-bottom:var(--space-3)}.advanced-section h2,.advanced-section h3{font-size:1rem}.advanced-section p{font-size:.875rem;line-height:1.5}.strategy-list{padding:0}.strategy-list li{padding:var(--space-2) var(--space-3);font-size:.875rem}.tips-list li{padding-left:var(--space-4);font-size:.875rem;margin-bottom:var(--space-2)}.jump-links-section{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:.875rem}.quick-overview-section{margin-bottom:var(--space-3);padding:0}.best-practices-section p,.implementation-section p,.advanced-section p{font-size:.875rem;line-height:1.5}}.input-section{margin-bottom:var(--space-8);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.tabs{display:flex;border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--space-4);width:100%;max-width:100%;box-sizing:border-box}.tab-btn{padding:var(--space-3) var(--space-4);border:none;background:transparent;font-weight:500;color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid transparent;white-space:nowrap;box-sizing:border-box}.tab-btn.active{color:var(--color-primary-600);border-bottom:2px solid var(--color-primary-600)}.tab-btn:hover:not(.active){color:var(--color-primary-500);border-bottom-color:var(--color-gray-300)}.tab-content{display:none;padding-top:var(--space-3);width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.tab-content.active{display:block}textarea,input[type=number],select{width:100%;max-width:100%;padding:var(--space-4) var(--space-5);border:2px solid var(--color-gray-300);border-radius:var(--radius-lg);font-family:var(--font-family);font-size:1rem;background:#fff;transition:all var(--transition-smooth);position:relative;box-sizing:border-box}textarea:hover,input[type=number]:hover,select:hover{border-color:var(--color-gray-500)}textarea:focus,input[type=number]:focus,select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 4px #0ea5e91a,0 1px 3px #0000001a;transform:translateY(-1px)}textarea::placeholder,input::placeholder{color:var(--color-gray-400);transition:color var(--transition-fast)}textarea:focus::placeholder,input:focus::placeholder{color:var(--color-gray-500)}textarea{resize:vertical}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.individual-inputs{margin-bottom:var(--space-4);width:100%;max-width:100%;box-sizing:border-box}.input-group{display:flex;align-items:center;margin-bottom:var(--space-2);width:100%;max-width:100%;box-sizing:border-box;gap:var(--space-2)}.grade-input{flex:1}.remove-grade{background:none;border:none;font-size:1.25rem;color:var(--color-error-500);cursor:pointer;padding:0 var(--space-2)}.curve-param-section{margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.param-group{margin-bottom:var(--space-4)}.param-group:last-child{margin-bottom:0}.param-group label{display:block;font-weight:500;margin-bottom:var(--space-1);color:var(--color-gray-700)}.input-with-unit{display:flex;align-items:center}.input-with-unit input{border-top-right-radius:0;border-bottom-right-radius:0}.input-with-unit .unit{background-color:var(--color-gray-100);border:1px solid var(--color-gray-300);border-left:none;padding:var(--space-3);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);color:var(--color-gray-600)}.grade-boundaries{display:flex;flex-direction:column;gap:var(--space-3)}.boundary-row{display:flex;align-items:center;justify-content:space-between}.grade-label{font-weight:600;font-size:1.25rem;color:var(--color-gray-800);width:2rem;text-align:center}.boundary-range{display:flex;align-items:center;gap:var(--space-2);flex:1}.boundary-input{width:4rem;text-align:center}.boundary-separator{color:var(--color-gray-400)}.action-buttons{display:flex;gap:var(--space-3);margin-top:var(--space-6);width:100%;max-width:100%;box-sizing:border-box}.primary-btn,.secondary-btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-smooth);border:none;position:relative;overflow:hidden;letter-spacing:.025em;box-sizing:border-box}.primary-btn{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #0045ff40}.primary-btn:hover{box-shadow:0 6px 16px #0045ff59,var(--shadow-colored)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.secondary-btn{background:#fff;color:var(--color-gray-800);border:2px solid var(--color-gray-300);box-shadow:var(--shadow-sm)}.secondary-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-400);box-shadow:var(--shadow-md)}.results-section{width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4);width:100%;max-width:100%;box-sizing:border-box}.stats-overview{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-8);width:100%;max-width:100%;box-sizing:border-box}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.stat-item{background:linear-gradient(135deg,#ffffffe6,#f8fafce6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-5);border-radius:var(--radius-xl);border:1px solid rgba(226,232,240,.8);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-smooth)}.stat-item:hover:before{transform:scaleX(1)}.stat-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-gray-600);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.chart-container{margin:var(--space-8) 0;height:300px}.grades-table-container{overflow-x:auto;margin-top:var(--space-6);position:relative;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;box-sizing:border-box;background:linear-gradient(90deg,#fff 30%,#fff0),linear-gradient(90deg,#fff0,#fff 70%) 0 100%,radial-gradient(farthest-side at 0% 50%,#00000026,#0000),radial-gradient(farthest-side at 100% 50%,#00000026,#0000) 0 100%;background-repeat:no-repeat;background-color:#fff;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-position:0 0,100%,0 0,100%;background-attachment:local,local,scroll,scroll}.grades-table{width:100%;border-collapse:collapse;min-width:600px}.grades-table th,.grades-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-gray-200);white-space:nowrap}.grades-table th{background-color:var(--color-gray-50);font-weight:600;color:var(--color-gray-700);position:sticky;top:0;z-index:10}.grades-table th:first-child,.grades-table td:first-child{position:sticky;left:0;background:#fff;z-index:11}.grades-table th:first-child{background-color:var(--color-gray-50);z-index:12}.grades-table tbody tr:hover,.grades-table tbody tr:hover td:first-child{background-color:var(--color-gray-50)}.positive-change{color:var(--color-success-500)}.negative-change{color:var(--color-error-500)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:var(--space-3);max-width:400px}.toast{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-xl);border-left:4px solid var(--color-primary-500);display:flex;align-items:center;gap:var(--space-3);position:relative;overflow:hidden}.toast.success{border-left-color:var(--color-success-500)}.toast.error{border-left-color:var(--color-error-500)}.toast.warning{border-left-color:var(--color-warning-500)}.toast-icon{font-size:1.5rem;flex-shrink:0}.toast-content{flex:1}.toast-title{font-weight:600;font-size:1rem;color:var(--color-gray-800);margin-bottom:var(--space-1)}.toast-message{font-size:.9375rem;color:var(--color-gray-600);line-height:1.5}.toast-close{background:none;border:none;font-size:1.25rem;color:var(--color-gray-400);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toast-close:hover{background:var(--color-gray-100);color:var(--color-gray-600)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:var(--color-primary-500);transform-origin:left;animation:toast-progress linear forwards}.toast.success .toast-progress{background:var(--color-success-500)}.toast.error .toast-progress{background:var(--color-error-500)}.toast.warning .toast-progress{background:var(--color-warning-500)}.toast-success{background-color:var(--color-success-500)}.toast-error{background-color:var(--color-error-500)}.toast-warning{background-color:var(--color-warning-500)}.toast.show{transform:translateY(0);opacity:1}.grades-table{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.grades-table th{background:var(--gradient-primary);color:#fff;font-weight:600;text-transform:uppercase;font-size:.875rem;letter-spacing:.05em}.grades-table tbody tr{border-bottom:1px solid var(--color-gray-200)}.grades-table tbody tr:last-child{border-bottom:none}.grades-table tbody tr:hover{background:linear-gradient(90deg,rgba(14,165,233,.05) 0%,transparent 100%)}.skeleton-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6)}.skeleton-text{height:1rem;margin-bottom:var(--space-3);border-radius:var(--radius-sm)}.skeleton-text.title{height:1.5rem;width:60%}.skeleton-text.full{width:100%}.skeleton-text.half{width:50%}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23475569' d='M1.41 0L6 4.59L10.59 0L12 1.42L6 7.42L0 1.42L1.41 0Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10);cursor:pointer}select:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230ea5e9' d='M1.41 0L6 4.59L10.59 0L12 1.42L6 7.42L0 1.42L1.41 0Z'/%3E%3C/svg%3E")}.file-input{padding:var(--space-8) var(--space-4);border:2px dashed var(--color-gray-300);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all var(--transition-smooth);background:var(--color-gray-50)}.file-input:hover{border-color:var(--color-primary-500);background:var(--color-primary-50)}@media (min-width: 768px){.stats-overview{flex-direction:row}.stats-column{flex:1}.toast-container{max-width:450px}}@media (min-width: 1024px){.input-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}}@media (max-width: 639px){.toast-container{left:var(--space-3);right:var(--space-3);top:var(--space-3);max-width:none}.input-section{overflow-x:hidden}.tabs{flex-wrap:wrap;justify-content:center;gap:var(--space-1)}.tab-btn{flex-grow:1;flex-basis:auto;padding:var(--space-2) var(--space-3);font-size:.85rem;min-height:44px;text-align:center;min-width:80px}.tab-content{overflow-x:hidden}textarea,input[type=number],select{max-width:100%;width:100%}.input-group{flex-wrap:nowrap}.grade-input{min-width:0}.button-group{flex-direction:column;gap:var(--space-2)}.button-group .btn{width:100%}.stats-overview{gap:var(--space-3)}.grades-table th,.grades-table td{padding:var(--space-1);font-size:.875rem}.grades-table{min-width:360px}.grades-table th:first-child,.grades-table td:first-child{background:var(--color-gray-50)}.grades-table tbody tr:hover td:first-child{background-color:var(--color-gray-100)}.grades-table-container{margin:var(--space-4) 0;border-radius:var(--radius-md)}.grades-table-container h3{font-size:1.125rem;margin-bottom:var(--space-3)}.results-header{flex-direction:column;align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-4)}.results-header h2{font-size:1.5rem}.results-header .action-buttons{width:100%;flex-direction:column;gap:var(--space-2)}.results-header .action-buttons .btn,.results-header .action-buttons button{width:100%}.stats-overview{gap:var(--space-2);margin-bottom:var(--space-4)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stats-grid .stat-item:nth-child(5){grid-column:span 2}.stat-label{font-size:.8125rem}.stat-value{font-size:1.5rem}.stats-column h3{font-size:1.125rem;margin-bottom:var(--space-2)}.stat-item{padding:var(--space-2)}.chart-container{height:250px;margin:var(--space-6) 0}.stat-label{font-size:.7rem;margin-bottom:var(--space-1)}.stat-value{font-size:1.2rem}.chart-container{padding:var(--space-3);overflow-x:auto}canvas{max-width:100%;height:auto!important}}.curve-methods-dropdown .dropdown-link{white-space:nowrap}.share-dropdown{min-width:auto;width:max-content;max-width:260px;padding:0}.share-dropdown .share-dropdown-container{padding:12px 14px}.share-dropdown .dropdown-heading{font-size:.75rem;font-weight:600;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.share-dropdown .dropdown-links{display:flex;flex-direction:column;gap:6px}.share-dropdown .dropdown-link{padding:6px 8px;border-radius:6px;white-space:nowrap;font-size:.95rem}.share-dropdown .dropdown-link:hover{background:var(--color-gray-100)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #0ea5e966}50%{box-shadow:0 0 0 15px #0ea5e900}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes shimmerWave{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 5px rgba(14,165,233,.5))}50%{filter:drop-shadow(0 0 20px rgba(14,165,233,.8))}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes countUp{0%{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ripple{to{transform:scale(4);opacity:0}}.card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}.input-section .card:first-child{animation:fadeInDown .5s cubic-bezier(.4,0,.2,1)}.input-section .card:last-child{animation:fadeInDown .5s cubic-bezier(.4,0,.2,1);animation-delay:.1s}.results-section .card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}.stat-item{transition:all var(--transition-smooth)}.stat-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-lg)}.stat-value{animation:countUp .8s cubic-bezier(.4,0,.2,1)}.primary-btn{position:relative;overflow:hidden;transition:all var(--transition-normal)}.primary-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.primary-btn:hover:before{width:300px;height:300px}.primary-btn:active{transform:scale(.96)}.primary-btn:hover{box-shadow:var(--shadow-colored);transform:translateY(-2px)}.secondary-btn{transition:all var(--transition-normal)}.secondary-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.tab-btn{position:relative;overflow:hidden}.tab-btn:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-smooth)}.tab-btn.active:before{transform:scaleX(1)}.tab-btn:hover:not(.active):before{transform:scaleX(.5)}.tab-content{animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}.tab-content.active{animation:fadeInUp .4s cubic-bezier(.4,0,.2,1)}.loading-btn{position:relative;overflow:hidden;pointer-events:none}.loading-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#fff0,#fff3 20%,#ffffff80,#fff0);animation:shimmer 2s infinite}.appear-row{animation:fadeIn .3s ease-out forwards}.chart-appear{opacity:0;transform:scale(.95);transition:opacity .5s ease-out,transform .5s ease-out}.chart-appear.visible{opacity:1;transform:scale(1)}.grade-emoji{display:inline-block;font-size:2rem;margin-right:.5rem;animation:bounce 2s ease-in-out infinite}button:focus,input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.grades-table tbody tr{transition:background-color var(--transition-fast)}.boundary-row{transition:transform var(--transition-fast),background-color var(--transition-fast)}.boundary-row:hover{background-color:var(--color-gray-100);transform:translate(4px);border-radius:var(--radius-sm)}.success-flash{animation:successFlash 1.5s ease-out}@keyframes successFlash{0%,to{background-color:transparent}50%{background-color:#22c55e1a}}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti{position:fixed;width:10px;height:10px;background:var(--color-primary-500);animation:confetti-fall 3s linear forwards;z-index:var(--z-modal)}html{scroll-behavior:smooth}.method-item:nth-child(1){animation-delay:.1s}.method-item:nth-child(2){animation-delay:.2s}.method-item:nth-child(3){animation-delay:.3s}.method-item:nth-child(4){animation-delay:.4s}.method-item:nth-child(5){animation-delay:.5s}.method-item{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both}.faq-item:nth-child(1){animation-delay:.1s}.faq-item:nth-child(2){animation-delay:.2s}.faq-item:nth-child(3){animation-delay:.3s}.faq-item:nth-child(4){animation-delay:.4s}.faq-item{animation:scaleIn .5s cubic-bezier(.4,0,.2,1) both}textarea:focus,input:focus,select:focus{animation:pulseGlow 2s ease-in-out}.site-header{background-size:200% 200%;animation:gradientShift 8s ease infinite}.spinner{width:40px;height:40px;border:4px solid rgba(14,165,233,.1);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes toast-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast{animation:toast-in .4s cubic-bezier(.4,0,.2,1)}.toast.closing{animation:toast-out .4s cubic-bezier(.4,0,.2,1)}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 0%,var(--color-gray-300) 20%,var(--color-gray-200) 40%,var(--color-gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
