:root{--dv-black:#000;--dv-dark:#1a1a1a;--dv-white:#fff;--dv-off-white:#fafafa;--dv-blue:#0d6efd;--dv-blue-dark:#0b5ed7;--dv-blue-light:#e8f0fe;--dv-indigo:#1d0a7f;--dv-purple:#7c3aed;--dv-purple-light:#7c3aed1a;--dv-green:#10b981;--dv-green-dark:#059669;--dv-red:#dc3545;--dv-gold:#f5a623;--dv-gray-50:#f8f9fa;--dv-gray-100:#f1f3f5;--dv-gray-200:#e9ecef;--dv-gray-300:#dee2e6;--dv-gray-400:#adb5bd;--dv-gray-500:#6c757d;--dv-gray-600:#495057;--dv-gray-700:#343a40;--dv-gray-800:#212529;--dv-bg:var(--dv-white);--dv-surface:var(--dv-white);--dv-text:var(--dv-gray-800);--dv-text-muted:var(--dv-gray-500);--dv-border:var(--dv-gray-200);--font-sans:"Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sp-1:4px;--sp-2:8px;--sp-3:16px;--sp-4:24px;--sp-5:32px;--sp-6:48px;--sp-7:64px;--sp-8:80px;--sp-9:100px;--sp-10:120px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:50px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--shadow-xl:0 8px 32px #0000001f;--ease:cubic-bezier(.4, 0, .2, 1);--dur-fast:.15s;--dur:.25s;--dur-slow:.4s;--gray-50:var(--dv-gray-50);--gray-100:var(--dv-gray-100);--gray-200:var(--dv-gray-200);--gray-300:var(--dv-gray-300);--gray-400:var(--dv-gray-400);--gray-500:var(--dv-gray-500);--gray-600:var(--dv-gray-600);--gray-700:var(--dv-gray-700);--gray-800:var(--dv-gray-800)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--dv-text);background:var(--dv-bg);min-height:100dvh;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);line-height:1.2}.container{width:100%;max-width:1140px;margin:0 auto;padding:0 20px}.container-narrow{width:100%;max-width:480px;margin:0 auto;padding:0 20px}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);transition:all var(--dur) var(--ease);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:600;display:inline-flex}.btn-primary{background:var(--dv-blue);color:var(--dv-white);border-color:var(--dv-blue)}.btn-primary:hover{background:var(--dv-blue-dark);border-color:var(--dv-blue-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0d6efd4d}.btn-dark{background:var(--dv-dark);color:var(--dv-white);border-color:var(--dv-dark)}.btn-dark:hover{background:var(--dv-black);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-outline-dark{color:var(--dv-dark);border:2px solid var(--dv-dark);background:0 0}.btn-outline-dark:hover{background:var(--dv-dark);color:var(--dv-white)}.btn-white{background:var(--dv-white);color:var(--dv-dark);border-color:var(--dv-white)}.btn-white:hover{background:var(--dv-gray-100);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.btn-outline-white{color:var(--dv-white);background:0 0;border:1.5px solid #ffffff80}.btn-outline-white:hover{border-color:var(--dv-white);background:#ffffff1f;transform:translateY(-1px)}.btn-lg{padding:15px 40px;font-size:16px}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--dv-gray-700);letter-spacing:.01em;font-size:13px;font-weight:600}.form-input{border:1.5px solid var(--dv-gray-300);border-radius:var(--radius-md);background:var(--dv-white);color:var(--dv-text);transition:border-color var(--dur-fast);outline:none;padding:12px 16px;font-size:15px}.form-input:focus{border-color:var(--dv-blue);box-shadow:0 0 0 3px #0d6efd1f}.form-input::placeholder{color:var(--dv-gray-400)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}.brand-logo{font-family:var(--font-sans);letter-spacing:-.03em;-webkit-user-select:none;user-select:none;align-items:baseline;font-weight:800;line-height:1;display:inline-flex}.brand-dark{color:var(--dv-dark,#1a1a1a)}.brand-lambda{width:auto;height:.82em;color:var(--dv-dark,#1a1a1a);vertical-align:baseline;margin:0 -.04em;position:relative;top:.03em}.brand-solver{color:var(--dv-gray-500,#6b7280);margin-left:.15em;font-weight:500}.navbar{z-index:100;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--dv-gray-200);background:#fffffff2;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:1140px;height:60px;margin:0 auto;padding:0 20px;display:flex}.navbar-brand{color:var(--dv-dark);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;font-size:17px;font-weight:800}.navbar-links{align-items:center;gap:8px;display:flex}.navbar-links a,.navbar-links button{color:var(--dv-gray-600);transition:color var(--dur-fast);border-radius:var(--radius-md);padding:8px 14px;font-size:14px;font-weight:500}.navbar-links a.active,.navbar-links button.active{color:var(--dv-blue);background:var(--dv-blue-light,#e8f0fe)}.navbar-links a:hover,.navbar-links button:hover{color:var(--dv-dark);background:var(--dv-gray-50)}.nav-cta{background:var(--dv-dark)!important;color:var(--dv-white)!important;border-radius:var(--radius-md)!important;padding:8px 20px!important;font-weight:600!important}.nav-cta:hover{background:var(--dv-black)!important}.nav-solve-btn{background:var(--dv-blue)!important;color:var(--dv-white)!important;border-radius:var(--radius-pill,999px)!important;transition:background var(--dur-fast), transform var(--dur-fast)!important;padding:8px 20px!important;font-weight:600!important}.nav-solve-btn.active{background:var(--dv-blue-dark)!important;color:var(--dv-white)!important}.nav-solve-btn:hover{transform:translateY(-1px);background:var(--dv-blue-dark)!important}.nav-outline-btn{background:var(--dv-blue-light,#e8f0fe)!important;color:var(--dv-blue)!important;border-radius:var(--radius-pill,999px)!important;transition:background var(--dur-fast), color var(--dur-fast), transform var(--dur-fast)!important;padding:8px 18px!important;font-size:.85rem!important;font-weight:600!important}.nav-outline-btn.active{background:var(--dv-blue)!important;color:var(--dv-white)!important}.nav-outline-btn:hover{transform:translateY(-1px);background:var(--dv-blue)!important;color:var(--dv-white)!important}.drawer-link.active,.drawer-link-primary.active{background:var(--dv-blue-dark)!important;color:var(--dv-white)!important}.nav-avatar{border-radius:var(--radius-full);background:var(--dv-blue);width:30px;height:30px;color:var(--dv-white);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.nav-avatar-lg{width:40px;height:40px;font-size:16px}.nav-user-badge{align-items:center;display:flex}.burger-btn{cursor:pointer;z-index:201;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.burger-btn span{background:var(--dv-dark);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);display:block}.burger-btn.open span:first-child{transform:translateY(7px)rotate(45deg)}.burger-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.burger-btn.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-backdrop,.nav-drawer{display:none}@media (width<=768px){.navbar-desktop{display:none!important}.burger-btn{display:flex}.nav-backdrop{z-index:199;background:#0006;animation:.2s navFadeIn;display:block;position:fixed;inset:0}.nav-drawer{background:var(--dv-white);z-index:200;-webkit-overflow-scrolling:touch;flex-direction:column;width:280px;max-width:85vw;height:100dvh;padding:80px 24px 32px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.nav-drawer.open{transform:translate(0)}.drawer-user{align-items:center;gap:12px;margin-bottom:8px;display:flex}.drawer-user strong{color:var(--dv-dark);font-size:.95rem;line-height:1.3;display:block}.drawer-email{color:var(--dv-gray-400);font-size:.78rem;line-height:1.3;display:block}.drawer-divider{background:var(--dv-gray-200);height:1px;margin:16px 0}.drawer-link{border-radius:var(--radius-md);color:var(--dv-gray-700);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.drawer-link:hover,.drawer-link:active{background:var(--dv-gray-50);color:var(--dv-dark)}.drawer-link svg{color:var(--dv-gray-400);flex-shrink:0}.drawer-link:hover svg{color:var(--dv-blue)}.drawer-link-primary{background:var(--dv-blue);border-radius:var(--radius-pill,999px);justify-content:center;margin-top:4px;font-weight:600;color:var(--dv-white)!important}.drawer-link-primary:hover,.drawer-link-primary:active{background:var(--dv-blue-dark);color:var(--dv-white)!important}.drawer-link-primary svg{color:#fffc}.drawer-link-logout{color:var(--dv-red,#dc3545);margin-top:auto}.drawer-link-logout svg{color:var(--dv-red,#dc3545)}.drawer-link-logout:hover{background:#dc35450f}}@keyframes navFadeIn{0%{opacity:0}to{opacity:1}}.footer{background:var(--dv-dark);color:#fff9;padding:var(--sp-6) var(--sp-4);margin-top:auto}.footer-inner{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;max-width:1200px;margin:0 auto;display:flex}.footer-brand{font-family:var(--font-sans);color:var(--dv-white);font-size:1.1rem;font-weight:600}.footer-links{gap:var(--sp-4);display:flex}.footer-links a{color:#ffffffa6;transition:color var(--dur-fast);font-size:.85rem}.footer-links a:hover{color:var(--dv-white,#fff)}.footer-copy{text-align:center;width:100%;margin-top:var(--sp-4);padding-top:var(--sp-4);color:#ffffff80;border-top:1px solid #ffffff1a;font-size:.8rem}.footer .brand-dark,.footer .brand-logo,.footer .brand-lambda{color:var(--dv-white,#fff)}.footer .brand-solver{color:#fff9}.landing{overflow-x:hidden}.section-title{color:var(--dv-dark);text-align:center;margin-bottom:var(--sp-4);letter-spacing:-.02em;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;line-height:1.15}.section-subtitle{text-align:center;color:var(--dv-gray-500);max-width:560px;margin:0 auto var(--sp-9);font-size:1.05rem;line-height:1.7}.hero{background:#fff;flex-direction:column;justify-content:flex-start;min-height:100dvh;padding:44px 0 0;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 700px at 90% -5%,#0d6efd38,#0000),radial-gradient(700px 600px at -5% 85%,#7c3aed33,#0000),radial-gradient(600px 500px at 80% 95%,#10b9812e,#0000),radial-gradient(500px 450px at 15% 15%,#7c3aed1f,#0000),radial-gradient(450px 400px,#0d6efd12,#0000),radial-gradient(350px 300px at 40% 2%,#10b9811a,#0000);position:absolute;inset:0}.hero:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(500px 400px at 60% 30%,#7c3aed14,#0000),radial-gradient(400px 360px at 30% 65%,#10b98117,#0000),radial-gradient(600px 300px at 70% 70%,#0d6efd0f,#0000);animation:18s ease-in-out infinite alternate orbDrift;position:absolute;inset:0}@keyframes orbDrift{0%{transform:translate(0)scale(1)}33%{transform:translate(40px,-30px)scale(1.05)}66%{transform:translate(-30px,20px)scale(.97)}to{transform:translate(20px,40px)scale(1.03)}}.hero-symbols{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.hero-symbols span{color:var(--dv-blue);opacity:0;will-change:transform, opacity;font-family:Georgia,Times New Roman,serif;position:absolute}.hero-symbols span:nth-child(3n+1){color:#0d6efd}.hero-symbols span:nth-child(3n+2){color:#7c3aed}.hero-symbols span:nth-child(3n){color:#10b981}.hero-symbols span:nth-child(3n+1){animation:18s ease-in-out infinite symDriftA}.hero-symbols span:nth-child(3n+2){animation:22s ease-in-out infinite symDriftB}.hero-symbols span:nth-child(3n){animation:25s ease-in-out infinite symDriftC}.hero-symbols span:first-child{font-size:1.5rem;animation-delay:0s;top:5%;left:2%}.hero-symbols span:nth-child(2){font-size:1.1rem;animation-delay:.8s;top:18%;left:8%}.hero-symbols span:nth-child(3){font-size:1.9rem;animation-delay:1.5s;top:3%;left:15%}.hero-symbols span:nth-child(4){font-size:1.2rem;animation-delay:2.2s;top:14%;left:22%}.hero-symbols span:nth-child(5){font-size:1.7rem;animation-delay:.4s;top:7%;left:30%}.hero-symbols span:nth-child(6){font-size:1rem;animation-delay:3s;top:22%;left:37%}.hero-symbols span:nth-child(7){font-size:1.4rem;animation-delay:1s;top:10%;left:45%}.hero-symbols span:nth-child(8){font-size:2rem;animation-delay:4.1s;top:4%;left:53%}.hero-symbols span:nth-child(9){font-size:1.1rem;animation-delay:2.8s;top:19%;left:60%}.hero-symbols span:nth-child(10){font-size:1.6rem;animation-delay:5s;top:8%;left:68%}.hero-symbols span:nth-child(11){font-size:1.3rem;animation-delay:.6s;top:16%;left:76%}.hero-symbols span:nth-child(12){font-size:1.8rem;animation-delay:6.2s;top:3%;left:84%}.hero-symbols span:nth-child(13){font-size:1rem;animation-delay:3.5s;top:12%;left:92%}.hero-symbols span:nth-child(14){font-size:1.4rem;animation-delay:7s;top:32%;left:4%}.hero-symbols span:nth-child(15){font-size:1.8rem;animation-delay:1.3s;top:42%;left:11%}.hero-symbols span:nth-child(16){font-size:1.1rem;animation-delay:8.1s;top:36%;left:19%}.hero-symbols span:nth-child(17){font-size:1.6rem;animation-delay:4.5s;top:48%;left:27%}.hero-symbols span:nth-child(18){font-size:1.2rem;animation-delay:9s;top:38%;left:35%}.hero-symbols span:nth-child(19){font-size:1.9rem;animation-delay:2.1s;top:30%;left:42%}.hero-symbols span:nth-child(20){font-size:1rem;animation-delay:10.2s;top:44%;left:50%}.hero-symbols span:nth-child(21){font-size:1.5rem;animation-delay:5.8s;top:34%;left:57%}.hero-symbols span:nth-child(22){font-size:1.3rem;animation-delay:11s;top:46%;left:65%}.hero-symbols span:nth-child(23){font-size:2.1rem;animation-delay:3.2s;top:40%;left:73%}.hero-symbols span:nth-child(24){font-size:1.1rem;animation-delay:12.5s;top:30%;left:80%}.hero-symbols span:nth-child(25){font-size:1.4rem;animation-delay:6.8s;top:48%;left:88%}.hero-symbols span:nth-child(26){font-size:1.7rem;animation-delay:.2s;top:36%;left:96%}.hero-symbols span:nth-child(27){font-size:1.3rem;animation-delay:13.5s;top:58%;left:6%}.hero-symbols span:nth-child(28){font-size:1.8rem;animation-delay:7.5s;top:68%;left:14%}.hero-symbols span:nth-child(29){font-size:1rem;animation-delay:14s;top:55%;left:21%}.hero-symbols span:nth-child(30){font-size:1.5rem;animation-delay:4s;top:72%;left:29%}.hero-symbols span:nth-child(31){font-size:2rem;animation-delay:15.2s;top:60%;left:36%}.hero-symbols span:nth-child(32){font-size:1.2rem;animation-delay:8.8s;top:66%;left:44%}.hero-symbols span:nth-child(33){font-size:1.6rem;animation-delay:16s;top:56%;left:52%}.hero-symbols span:nth-child(34){font-size:1.1rem;animation-delay:2.6s;top:74%;left:59%}.hero-symbols span:nth-child(35){font-size:1.9rem;animation-delay:10.8s;top:62%;left:67%}.hero-symbols span:nth-child(36){font-size:1.3rem;animation-delay:5.2s;top:70%;left:74%}.hero-symbols span:nth-child(37){font-size:1.7rem;animation-delay:17s;top:58%;left:82%}.hero-symbols span:nth-child(38){font-size:1rem;animation-delay:9.5s;top:68%;left:90%}.hero-symbols span:nth-child(39){font-size:1.4rem;animation-delay:18s;top:80%;left:3%}.hero-symbols span:nth-child(40){font-size:1.6rem;animation-delay:6s;top:90%;left:10%}.hero-symbols span:nth-child(41){font-size:1.2rem;animation-delay:11.5s;top:84%;left:24%}.hero-symbols span:nth-child(42){font-size:1.8rem;animation-delay:3.8s;top:88%;left:33%}.hero-symbols span:nth-child(43){font-size:1rem;animation-delay:19s;top:82%;left:41%}.hero-symbols span:nth-child(44){font-size:1.5rem;animation-delay:7.2s;top:86%;left:55%}.hero-symbols span:nth-child(45){font-size:1.3rem;animation-delay:13s;top:92%;left:63%}.hero-symbols span:nth-child(46){font-size:2rem;animation-delay:1.7s;top:84%;left:71%}.hero-symbols span:nth-child(47){font-size:1.1rem;animation-delay:14.8s;top:90%;left:79%}.hero-symbols span:nth-child(48){font-size:1.4rem;animation-delay:8.3s;top:82%;left:86%}.hero-symbols span:nth-child(49){font-size:1.7rem;animation-delay:4.6s;top:92%;left:93%}.hero-symbols span:nth-child(50){font-size:1.2rem;animation-delay:16.5s;top:26%;left:48%}@keyframes symDriftA{0%{opacity:0;transform:translateY(15px)rotate(0)scale(.85)}10%{opacity:.15}30%{opacity:.12;transform:translate(12px,-6px)rotate(8deg)scale(1)}50%{opacity:.18;transform:translate(20px,-12px)rotate(-3deg)scale(1.05)}70%{opacity:.12;transform:translate(10px,-4px)rotate(5deg)scale(1)}90%{opacity:.15}to{opacity:0;transform:translateY(15px)rotate(0)scale(.85)}}@keyframes symDriftB{0%{opacity:0;transform:translateY(-10px)rotate(0)scale(.9)}12%{opacity:.14}35%{opacity:.1;transform:translate(-15px,5px)rotate(-6deg)scale(1.02)}55%{opacity:.16;transform:translate(-22px,10px)rotate(4deg)scale(1)}75%{opacity:.1;transform:translate(-10px,3px)rotate(-2deg)scale(1.02)}88%{opacity:.14}to{opacity:0;transform:translateY(-10px)rotate(0)scale(.9)}}@keyframes symDriftC{0%{opacity:0;transform:translate(0)rotate(0)scale(.88)}8%{opacity:.13}25%{opacity:.1;transform:translate(8px,-10px)rotate(12deg)scale(1)}50%{opacity:.16;transform:translate(-6px,8px)rotate(-8deg)scale(1.04)}75%{opacity:.1;transform:translate(10px,-5px)rotate(6deg)scale(1)}92%{opacity:.13}to{opacity:0;transform:translate(0)rotate(0)scale(.88)}}.hero-grid-bg{pointer-events:none;z-index:0;background-color:#0000;background-image:linear-gradient(#0d6efd08 1px,#0000 1px),linear-gradient(90deg,#0d6efd08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:80px 80px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000,#0000);mask-image:radial-gradient(70% 70%,#000,#0000)}.hero>.container{z-index:1;position:relative}.hero-content--center{text-align:center;max-width:960px;animation:fadeInUp .6s var(--ease) both;margin:0 auto}.hero-content{animation:fadeInUp .6s var(--ease) both}.hero-content h1{color:var(--dv-dark);margin-bottom:var(--sp-3);letter-spacing:-.03em;font-size:clamp(2.6rem,5.8vw,4.3rem);font-weight:900;line-height:1.05}.hero-accent{background:linear-gradient(135deg, var(--dv-blue), var(--dv-indigo));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-wave-text{background:linear-gradient(90deg,#0d6efd 0%,#7c3aed 30%,#10b981 55%,#7c3aed 75%,#0d6efd 100%) 0 0/250% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:5s ease-in-out infinite waveShift}@keyframes waveShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.hero-desc{color:var(--dv-gray-500);margin:0 auto var(--sp-3);text-align:center;max-width:590px;font-size:1.05rem;line-height:1.65}.hero-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--dv-blue);border-radius:var(--radius-full);margin-bottom:var(--sp-3);background:#0d6efd14;border:1px solid #0d6efd26;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.hero-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.hero-actions--center{justify-content:center}.hero-actions .mockup-card-btn{padding:11px 22px;font-size:.88rem}.mockup-grid{margin-top:var(--sp-6);margin-bottom:var(--sp-5);justify-content:center;gap:64px;display:flex}.mockup-item{flex-direction:column;flex-shrink:1;width:295px;min-width:0;display:flex}.mockup-img-wrap{will-change:transform;justify-content:center;width:100%;transition:transform .45s cubic-bezier(.34,1.4,.64,1),filter .45s;display:flex}.mockup-img-wrap:hover{filter:drop-shadow(0 24px 40px #00000026);transform:translateY(-10px)scale(1.04)}.mockup-img{width:100%;height:auto;display:block}.mockup-card{padding:10px 0 0}.mockup-card-top{margin-bottom:6px}.mockup-card-title{color:var(--dv-dark);letter-spacing:-.01em;white-space:normal;margin:0 0 3px;font-family:Syne,sans-serif;font-size:.95rem;font-weight:800}.mockup-card-meta{letter-spacing:.02em;align-items:center;gap:5px;font-size:.72rem;font-weight:600;display:inline-flex}.mockup-card-meta--blue{color:#1d4ed8}.mockup-card-meta--green{color:#059669}.mockup-card-meta--purple{color:#7c3aed}.mockup-new-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.6s ease-in-out infinite glowPulse;box-shadow:0 0 5px #10b981}.mockup-card-desc{color:var(--dv-gray-500);word-break:normal;overflow-wrap:normal;margin:6px 0 14px;font-size:.82rem;line-height:1.6}.mockup-card-btn{border-radius:var(--radius-pill);align-items:center;gap:6px;padding:7px 14px;font-size:.78rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.mockup-card-btn--blue{color:#fff;background:#1d4ed8}.mockup-card-btn--blue:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 20px #1d4ed847}.mockup-card-btn--green{color:#fff;background:#059669}.mockup-card-btn--green:hover{background:#047857;transform:translateY(-1px);box-shadow:0 6px 20px #05966947}.mockup-card-btn--purple{color:#fff;background:#7c3aed}.mockup-card-btn--purple:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed47}@media (width<=780px){.mockup-grid{gap:12px}.mockup-item{width:30vw}}@media (width<=480px){.mockup-grid{flex-direction:column;align-items:center;gap:20px}.mockup-item{width:min(72vw,280px)}}.flc-section{padding:var(--sp-8) 0;background:var(--dv-off-white)}.feature-launch-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.flc{transition:transform .22s var(--ease), box-shadow .22s var(--ease);background:#fff;border:1px solid #00000012;border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000f}.flc:hover{transform:translateY(-5px);box-shadow:0 20px 48px #0000001f}.flc-accent{flex-shrink:0;width:100%;height:3px}.flc-accent--blue{background:linear-gradient(90deg,#0d6efd,#60a5fa)}.flc-accent--green{background:linear-gradient(90deg,#10b981,#34d399)}.flc-accent--purple{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.flc-body{padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-direction:column;flex:1;display:flex}.flc-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.flc-title{color:var(--dv-dark);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:800;line-height:1.2}.flc-glow-tag{letter-spacing:.04em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.flc-glow-tag--new{color:#059669;background:#10b9811a;border:1px solid #10b9814d;box-shadow:0 0 8px #10b98133,0 0 20px #10b98114}.flc-glow-dot{background:#10b981;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite glowPulse;box-shadow:0 0 6px #10b981}@keyframes glowPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}.flc-glow-tag--solve{color:#1d4ed8;background:#1d4ed812;border:1px solid #1d4ed833;box-shadow:0 0 10px #1d4ed81a}.flc-glow-tag--outline{color:#6d28d9;background:#6d28d912;border:1px solid #6d28d933;box-shadow:0 0 10px #6d28d91a}.flc-desc{color:var(--dv-gray-500);margin:0 0 var(--sp-3);flex:1;font-size:.85rem;line-height:1.6}.flc-btn{border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 18px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.flc-btn--solve{color:#fff;background:#1d4ed8}.flc-btn--solve:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 20px #1d4ed84d}.flc-btn--grade{color:#fff;background:#059669}.flc-btn--grade:hover{background:#047857;transform:translateY(-1px);box-shadow:0 6px 20px #0596694d}.flc-btn--outline{color:#fff;background:#7c3aed}.flc-btn--outline:hover{background:#6d28d9;transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed4d}@media (width<=900px){.feature-launch-grid{gap:var(--sp-3);grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}}@media (width<=600px){.flc-section{padding:var(--sp-6) 0}}.hero-features{gap:var(--sp-3);margin-top:var(--sp-5);grid-template-columns:repeat(3,1fr);display:grid}.hero-feature{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);transition:all var(--dur) var(--ease);background:#ffffff8c;border:1px solid #0d6efd14;display:flex;box-shadow:0 1px 3px #0000000a}.hero-feature:hover{background:#ffffffd9;border-color:#0d6efd26;transform:translateY(-3px);box-shadow:0 8px 24px #0d6efd14,0 2px 8px #0000000a}.hero-feature-icon{background:linear-gradient(135deg, var(--dv-blue-light,#e8f0fe), #0d6efd1f);border-radius:var(--radius-md);width:42px;height:42px;color:var(--dv-blue);flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0d6efd1a}.hero-feature strong{color:var(--dv-dark);margin-bottom:2px;font-size:.95rem;font-weight:700;display:block}.hero-feature p{color:var(--dv-gray-500);font-size:.85rem;line-height:1.5}.hero-visual{animation:fadeInUp .8s var(--ease) .15s both;justify-content:center;display:flex}.phone-mock{background:var(--dv-dark);width:270px;box-shadow:var(--shadow-xl), 0 0 0 1px #ffffff14;border-radius:36px;padding:12px;position:relative}.phone-mock-notch{background:var(--dv-dark);z-index:5;border-radius:0 0 14px 14px;width:90px;height:22px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phone-mock-screen{aspect-ratio:9/18;background:#1e293b;border-radius:24px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.phone-math-bg{opacity:.06;pointer-events:none;z-index:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.phone-math-bg span{color:#fff;font-size:2.2rem}.anim-layer{opacity:0;z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .5s,transform .5s;display:flex;position:absolute;inset:0;transform:scale(.92)}.anim-layer.active{opacity:1;transform:scale(1)}.anim-label{color:#fffc;letter-spacing:.04em;font-size:.85rem;font-weight:600}.anim-label-green{color:#4ade80}.anim-viewfinder{animation:2s ease-in-out infinite pulse-ring}@keyframes pulse-ring{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.anim-snap.active{animation:.3s ease-out flash}@keyframes flash{0%{background:0 0}30%{background:#ffffffb3}to{background:0 0}}.anim-shutter-ring{border:4px solid #fff;border-radius:50%;width:64px;height:64px;position:relative}.anim-snap.active .anim-shutter-ring{animation:.4s shutter-press}@keyframes shutter-press{0%{transform:scale(1)}40%{background:#ffffff4d;transform:scale(.82)}to{background:0 0;transform:scale(1)}}.anim-solution-lines{flex-direction:column;gap:10px;width:70%;display:flex}.anim-solution-lines span{background:#fff3;border-radius:4px;height:8px;display:block}.anim-solve.active .anim-solution-lines span{background:#4ade8059;animation:.5s forwards line-reveal}.anim-solve.active .anim-solution-lines span:first-child{animation-delay:.1s}.anim-solve.active .anim-solution-lines span:nth-child(2){animation-delay:.25s}.anim-solve.active .anim-solution-lines span:nth-child(3){animation-delay:.4s}.anim-solve.active .anim-solution-lines span:nth-child(4){animation-delay:.55s}@keyframes line-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.hero{padding:48px 0 0}.hero-grid{text-align:center;grid-template-columns:1fr}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-features{grid-template-columns:1fr}.phone-mock{width:210px}}@media (width<=480px){.hero-content h1{font-size:clamp(1.9rem,8vw,2.6rem)}.hero-desc{max-width:320px;font-size:.88rem}}.hero-trusted{text-align:center;margin-top:var(--sp-2)}.hero-trusted-label{color:var(--dv-gray-400);letter-spacing:.01em;font-size:.78rem;font-weight:500}.hero-trusted-icons{justify-content:center;align-items:center;gap:var(--sp-3);margin-bottom:4px;display:flex}.trusted-icon-svg{width:22px;height:22px;color:var(--dv-gray-400);transition:color var(--dur) var(--ease);flex-shrink:0}.hero-trusted:hover .trusted-icon-svg{color:var(--dv-blue)}.hero .carousel-wrap{margin-top:var(--sp-2);padding-bottom:var(--sp-3)}.carousel-wrap{padding:var(--sp-3) 0;z-index:1;position:relative;overflow:hidden}.carousel-wrap:before,.carousel-wrap:after{content:"";z-index:2;pointer-events:none;width:100px;position:absolute;top:0;bottom:0}.carousel-wrap:before{background:linear-gradient(90deg,#eef2f9,#0000);left:0}.carousel-wrap:after{background:linear-gradient(270deg,#eef2f9,#0000);right:0}.carousel-track{gap:var(--sp-4);width:max-content;animation:60s linear infinite scroll-carousel;display:flex}.carousel-item{border-radius:var(--radius-lg);white-space:nowrap;-webkit-backdrop-filter:blur(8px);transition:all var(--dur) var(--ease);background:#fff9;border:1px solid #0d6efd0f;flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.carousel-item:hover{background:#ffffffd9;border-color:#0d6efd1f;box-shadow:0 4px 16px #0d6efd0f,0 1px 4px #0000000a}.carousel-icon{flex-shrink:0;font-size:1.3rem}.carousel-logo{object-fit:contain;border-radius:4px;flex-shrink:0;width:32px;height:32px}.carousel-name{color:var(--dv-dark);font-size:.9rem;font-weight:600}@keyframes scroll-carousel{0%{transform:translate(0)}to{transform:translate(-50%)}}.steps-row{justify-content:center;align-items:flex-start;gap:var(--sp-4);display:flex}.step{text-align:center;max-width:280px;padding:var(--sp-6) var(--sp-5);flex:1}.step-num{background:var(--dv-dark);color:#fff;width:40px;height:40px;margin-bottom:var(--sp-3);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:inline-flex}.step h3{color:var(--dv-dark);margin-bottom:var(--sp-2);font-size:1.1rem;font-weight:700}.step p{color:var(--dv-gray-500);font-size:.93rem;line-height:1.65}.step-divider{background:var(--dv-gray-300);border-radius:1px;flex-shrink:0;width:48px;height:2px;margin-top:56px}@media (width<=768px){.steps-row{flex-direction:column;align-items:center}.step-divider{width:2px;height:32px;margin-top:0}}.boards-section{background:#fff;padding:140px 0}.boards-grid{gap:var(--sp-6);grid-template-columns:repeat(2,1fr);display:grid}.board-group{background:var(--dv-gray-50);border-radius:var(--radius-lg);padding:var(--sp-5);border:1px solid var(--dv-gray-100)}.board-group-header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.board-group-logo{object-fit:contain;border-radius:4px;flex-shrink:0;width:30px;height:30px}.board-group h4{color:var(--dv-dark);margin-bottom:0;font-size:1rem;font-weight:700}.board-tags{flex-wrap:wrap;gap:8px;display:flex}.board-tag{color:var(--dv-dark);border:1px solid var(--dv-gray-200);transition:all var(--dur) var(--ease);background:#fff;border-radius:100px;padding:6px 16px;font-size:.82rem;font-weight:600;display:inline-block}.board-tag:hover{background:var(--dv-dark);color:#fff;border-color:var(--dv-dark)}@media (width<=768px){.boards-grid{grid-template-columns:1fr}}.subjects-section{background:var(--dv-gray-50);padding:140px 0}.subjects-grid{gap:var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}.subject-card{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--radius-md);border:1px solid var(--dv-gray-100);transition:all var(--dur) var(--ease);background:#fff;display:flex}.subject-card:hover{box-shadow:var(--shadow-md);border-color:var(--dv-gray-300);transform:translateY(-2px)}.subject-icon{flex-shrink:0;font-size:1.8rem}.subject-name{color:var(--dv-dark);font-size:.95rem;font-weight:600}@media (width<=768px){.subjects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.subjects-grid{grid-template-columns:1fr}}.features-section{background:#fff;padding:140px 0}.features-grid{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{background:var(--dv-gray-50);border-radius:var(--radius-lg);padding:var(--sp-6);border:1px solid var(--dv-gray-100);transition:all var(--dur) var(--ease)}.feature-card:hover{box-shadow:var(--shadow-md);background:#fff;transform:translateY(-4px)}.feature-icon-wrap{margin-bottom:var(--sp-3);background:var(--dv-gray-100);border-radius:var(--radius-md);justify-content:center;align-items:center;width:52px;height:52px;font-size:2rem;display:flex}.feature-card h4{color:var(--dv-dark);margin-bottom:var(--sp-2);font-size:1.1rem;font-weight:700}.feature-card p{color:var(--dv-gray-500);font-size:.92rem;line-height:1.65}@media (width<=768px){.features-grid{grid-template-columns:1fr}}.testimonials-section{background:var(--dv-gray-50);padding:140px 0}.testimonials-grid{gap:var(--sp-6);grid-template-columns:repeat(3,1fr);display:grid}.testimonial-card{border-radius:var(--radius-lg);padding:var(--sp-6);border:1px solid var(--dv-gray-100);background:#fff}.testimonial-stars{color:#f59e0b;letter-spacing:2px;margin-bottom:var(--sp-3);font-size:1.1rem}.testimonial-card>p{color:var(--dv-gray-600);margin-bottom:var(--sp-4);font-size:.95rem;font-style:italic;line-height:1.7}.testimonial-author{align-items:center;gap:var(--sp-3);display:flex}.testimonial-avatar{background:var(--dv-dark);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.9rem;font-weight:700;display:flex}.testimonial-author strong{color:var(--dv-dark);font-size:.88rem;display:block}.testimonial-author span{color:var(--dv-gray-400);font-size:.78rem;display:block}@media (width<=768px){.testimonials-grid{grid-template-columns:1fr}}.faq-section{padding:var(--sp-10) 0;background:#fff}.faq-list{max-width:720px;margin:0 auto}.faq-item{border-bottom:1px solid var(--dv-gray-200)}.faq-q{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-4) 0;color:var(--dv-dark);text-align:left;cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;font-family:inherit;font-size:1rem;font-weight:600;display:flex}.faq-q:hover{color:var(--dv-blue)}.faq-chevron{color:var(--dv-gray-400);transition:transform .25s var(--ease);flex-shrink:0}.faq-chevron.rotated{transform:rotate(180deg)}.faq-a-wrap{max-height:0;transition:max-height .3s var(--ease);overflow:hidden}.faq-a-wrap.expanded{max-height:320px}.faq-a{padding:0 0 var(--sp-4);color:var(--dv-gray-500);font-size:.93rem;line-height:1.7}.cta-section{padding:var(--sp-8) 0 var(--sp-8);background:var(--dv-gray-50)}.cta-card{background:var(--dv-dark);color:#fff;border-radius:var(--radius-xl);padding:var(--sp-7) var(--sp-5);text-align:center;position:relative;overflow:hidden}.cta-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff0a 0%,#0000 70%);border-radius:50%;width:350px;height:350px;position:absolute;top:-120px;right:-120px}.cta-card h2{margin-bottom:var(--sp-2);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:800;position:relative}.cta-card p{opacity:.75;margin-bottom:var(--sp-4);max-width:480px;margin-left:auto;margin-right:auto;font-size:.95rem;position:relative}.cta-actions{justify-content:center;gap:var(--sp-4,1rem);flex-wrap:wrap;display:flex;position:relative}.how-section{background:var(--dv-gray-50);padding:140px 0}.how-inner{align-items:center;gap:40px;display:flex}.how-content{flex:1;min-width:0}.how-title{font-family:var(--font-sans);color:var(--dv-dark);letter-spacing:-.025em;margin-bottom:var(--sp-2);font-size:2.4rem;font-weight:800;line-height:1.2}.how-subtitle{color:var(--dv-gray-500);margin-bottom:var(--sp-5);font-size:1.05rem;line-height:1.65}.steps-col{flex-direction:column;gap:0;display:flex}.step{align-items:flex-start;gap:var(--sp-3);padding-bottom:var(--sp-4);display:flex;position:relative}.step:not(:last-child):after{content:"";background:linear-gradient(#0d6efd,#7c3aed);border-radius:2px;width:2.5px;position:absolute;top:44px;bottom:0;left:19px}.step-num{color:#fff;z-index:1;background:linear-gradient(135deg,#0d6efd,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;font-size:1rem;font-weight:800;display:inline-flex;position:relative;box-shadow:0 4px 14px #7c3aed40}.step-text h3{color:var(--dv-dark);margin-bottom:4px;font-size:1.1rem;font-weight:700}.step-text p{color:var(--dv-gray-500);font-size:.93rem;line-height:1.65}.how-image-wrap{flex:1;justify-content:center;min-width:0;display:flex}.how-image{width:100%;max-width:580px}@media (width<=768px){.how-inner{flex-direction:column;gap:36px}.how-image{max-width:100%}}.ibg-section{background:#fff;padding:140px 0}.ibg-inner{align-items:center;gap:80px;display:flex}.ibg-content{flex:1;min-width:0}.ibg-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:#7c3aed;margin-bottom:var(--sp-3);background:#7c3aed14;border:1px solid #7c3aed33;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.ibg-title{color:var(--dv-dark);letter-spacing:-.025em;margin-bottom:var(--sp-3);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;line-height:1.15}.ibg-desc{color:var(--dv-gray-500);margin-bottom:var(--sp-5);max-width:480px;font-size:.97rem;line-height:1.7}.ibg-list{margin-bottom:var(--sp-6);flex-direction:column;gap:14px;display:flex}.ibg-list li{color:var(--dv-gray-700);align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.ibg-check{color:#7c3aed;flex-shrink:0;margin-top:1px;font-weight:700}.ibg-btn{padding:11px 24px;font-size:.92rem}.ibg-image-wrap{flex:1;justify-content:center;min-width:0;display:flex}.ibg-image{width:100%;max-width:528px}@media (width<=768px){.ibg-inner{flex-direction:column;gap:36px}.ibg-image{max-width:100%}}.cos-section{background:var(--dv-gray-50);padding:140px 0}.cos-inner{align-items:center;gap:80px;display:flex}.cos-image-wrap{flex:1;justify-content:center;min-width:0;display:flex}.cos-image{width:100%;max-width:528px}.cos-content{flex:1;min-width:0}.cos-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:#1d4ed8;margin-bottom:var(--sp-3);background:#1d4ed814;border:1px solid #1d4ed833;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.cos-title{color:var(--dv-dark);letter-spacing:-.025em;margin-bottom:var(--sp-3);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;line-height:1.15}.cos-desc{color:var(--dv-gray-500);margin-bottom:var(--sp-5);max-width:480px;font-size:.97rem;line-height:1.7}.cos-list{margin-bottom:var(--sp-6);flex-direction:column;gap:14px;display:flex}.cos-list li{color:var(--dv-gray-700);align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.cos-check{color:#1d4ed8;flex-shrink:0;margin-top:1px;font-weight:700}.cos-btn{padding:11px 24px;font-size:.92rem}@media (width<=768px){.cos-inner{flex-direction:column;gap:36px}.cos-image{max-width:100%}}.auth-page{min-height:100vh;display:flex}@media (width<=968px){.auth-page{flex-direction:column}}.auth-image-section{padding:var(--sp-7);background:#0d0f1a;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (width<=968px){.auth-image-section{min-height:240px;padding:var(--sp-5)}}.auth-image-section img{object-fit:cover;z-index:0;opacity:.35;width:100%;height:100%;position:absolute;inset:0}.auth-image-section:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(600px 500px at 110% 10%,#0d6efd73,#0000),radial-gradient(500px 400px at -10% 90%,#7c3aed66,#0000),radial-gradient(400px 350px at 60% 110%,#10b9814d,#0000);position:absolute;inset:0}.auth-image-overlay{display:none}.auth-image-content{z-index:2;text-align:center;color:#fff;position:relative}.auth-image-content h1{font-family:var(--font-sans);margin-bottom:var(--sp-2);letter-spacing:-.025em;font-size:2.8rem;font-weight:800;line-height:1.15}.auth-image-content p{opacity:.8;max-width:340px;font-size:1.1rem;line-height:1.6}@media (width<=968px){.auth-image-content h1{font-size:2rem}.auth-image-content p{font-size:.95rem}}.auth-form-section{background:var(--dv-white);flex-direction:column;flex:1;display:flex}.auth-form-header{padding:var(--sp-4) var(--sp-5);justify-content:space-between;align-items:center;display:flex}.auth-form-logo{font-family:var(--font-sans);color:var(--dv-dark);letter-spacing:.08em;text-transform:uppercase;font-size:1.2rem;font-weight:800;text-decoration:none}.auth-form-main{padding:var(--sp-5);flex-direction:column;flex:1;justify-content:center;width:100%;max-width:460px;margin:0 auto;display:flex}.auth-title{font-family:var(--font-sans);color:var(--dv-dark);letter-spacing:-.02em;margin-bottom:6px;font-size:1.85rem;font-weight:700;line-height:1.3}.auth-subtitle{color:var(--dv-gray-400);margin-bottom:var(--sp-5);font-size:.95rem}.auth-form{gap:var(--sp-3);flex-direction:column;display:flex}.auth-form .form-row{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=480px){.auth-form .form-row{grid-template-columns:1fr}}.auth-form .form-group{margin-bottom:0}.auth-form .form-label{font-family:var(--font-sans);color:var(--dv-gray-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:.78rem;font-weight:600;display:block}.auth-form .form-input{width:100%;font-size:1.05rem;font-family:var(--font-sans);border:none;border-bottom:2px solid var(--dv-gray-200);color:var(--dv-dark);transition:border-color var(--dur) var(--ease);background:0 0;border-radius:0;outline:none;padding:12px 0}.auth-form .form-input:focus{box-shadow:none;border-bottom-color:#7c3aed}.auth-form .form-input::placeholder{color:var(--dv-gray-300)}.auth-form select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23adb5bd' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;padding-right:24px}.auth-form select.form-input option{font-family:var(--font-sans);color:var(--dv-dark);padding:8px;font-size:.95rem}.btn-auth{margin-top:var(--sp-4);font-family:var(--font-sans);color:#fff;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#0d6efd,#7c3aed);border:none;border-radius:999px;width:100%;padding:14px 40px;font-size:.95rem;font-weight:700;transition:opacity .15s,transform .15s,box-shadow .15s}.btn-auth:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed47}.btn-auth:disabled{background:var(--dv-gray-200);color:var(--dv-gray-400);cursor:not-allowed;box-shadow:none;transform:none}.auth-alert{padding:var(--sp-3);border-radius:var(--radius-md);margin-bottom:var(--sp-3);font-size:.85rem;font-weight:500}.auth-alert.error{color:#dc2626;background:#ef444414;border:1px solid #ef444426}.auth-alert.success{color:#059669;background:#10b98114;border:1px solid #10b98126}.auth-form-footer{padding:var(--sp-4) var(--sp-5);text-align:center}.auth-form-footer p{color:var(--dv-gray-400);font-size:.9rem}.auth-form-footer a{color:#7c3aed;margin-left:4px;font-weight:600;text-decoration:none}.auth-form-footer a:hover{text-decoration:underline}.auth-helper{color:var(--dv-gray-400);margin-top:var(--sp-2);font-size:.82rem}@keyframes authFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-animate{animation:authFadeIn .4s var(--ease) both}.auth-divider{align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--dv-gray-200);flex:1;height:1px}.auth-divider span{color:var(--dv-gray-400);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:500}.google-btn-wrap{justify-content:center;display:flex}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.40"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.solution-card{font-family:var(--font-sans);background:var(--dv-off-white);color:var(--dv-dark);width:100%;max-width:620px;animation:slideUp .45s var(--ease) both;margin:0 auto;padding:0 0 40px}.solution-header{z-index:10;border-bottom:1px solid var(--dv-gray-200);background:#fff;justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex;position:sticky;top:0}.solution-header-left{align-items:center;gap:10px;display:flex}.solution-icon{color:#0d6efd;flex-shrink:0}.solution-title{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:#0d6efd;font-size:.78rem;font-weight:700}.solution-close{border:1px solid var(--dv-gray-200);background:var(--dv-gray-50);width:32px;height:32px;color:var(--dv-gray-500);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.solution-close:hover{color:#0d6efd;border-color:#0d6efd}.solution-body{border:1px solid var(--dv-gray-200);color:var(--dv-gray-600);overflow-wrap:break-word;word-break:break-word;background:#fff;border-radius:16px;margin:20px 16px 12px;padding:24px;font-size:.92rem;line-height:1.8;overflow-x:hidden;box-shadow:0 2px 12px #0000000d}.solution-body h1,.solution-body h2,.solution-body h3{color:var(--dv-dark);font-family:var(--font-sans);letter-spacing:-.02em;font-weight:800}.solution-body h1{border-bottom:1px solid var(--dv-gray-100);margin:28px 0 12px;padding-bottom:8px;font-size:1.15rem}.solution-body h2{color:#0d6efd;margin:24px 0 10px;font-size:1.02rem}.solution-body h3{margin:20px 0 8px;font-size:.92rem}.solution-body h1:first-child,.solution-body h2:first-child,.solution-body h3:first-child{margin-top:0}.solution-body p{margin-bottom:10px}.solution-body strong,.solution-body b{color:var(--dv-dark);font-weight:700}.solution-body hr{border:none;border-top:1px solid var(--dv-gray-100);margin:20px 0}.solution-body table{border-collapse:collapse;border:1px solid var(--dv-gray-200);border-radius:10px;width:100%;margin:16px 0;font-size:.85rem;overflow:hidden}.solution-body th{color:#0d6efd;text-align:left;border:1px solid var(--dv-gray-200);background:#0d6efd0f;padding:10px 14px;font-size:.8rem;font-weight:700}.solution-body td{border:1px solid var(--dv-gray-200);padding:10px 14px}.solution-body .katex-display{background:var(--dv-gray-50);border-left:3px solid #0d6efd;border-radius:10px;margin:16px 0;padding:14px 16px;overflow:auto hidden}.solution-body .katex{font-size:1.05em}.solution-body pre{background:var(--dv-gray-50);border:1px solid var(--dv-gray-200);border-radius:10px;margin:16px 0;padding:14px 16px;font-size:.84rem;overflow-x:auto}.solution-body code{color:#0d6efd;background:#0d6efd0f;border-radius:5px;padding:2px 7px;font-size:.85em}.solution-body pre code{color:inherit;background:0 0;padding:0}.solution-body ol,.solution-body ul{margin-bottom:12px;padding-left:20px}.solution-body li{margin-bottom:6px;padding-left:4px}.solution-body li::marker{color:#0d6efd;font-weight:700}.solution-body blockquote{color:var(--dv-gray-600);background:var(--dv-gray-50);border-left:3px solid #0d6efd;border-radius:0 10px 10px 0;margin:16px 0;padding:12px 16px;font-size:.9rem}.solution-ai-disclaimer{color:#92400e;background:#fef9ee;border:1px solid #fde68a;border-radius:10px;align-items:center;gap:8px;margin:0 16px 12px;padding:12px 16px;font-size:.78rem;line-height:1.4;display:flex}.solution-ai-disclaimer svg{color:#d97706;flex-shrink:0}.solution-footer{justify-content:space-between;align-items:center;margin-top:4px;padding:0 16px;display:flex}.solution-remaining{color:var(--dv-gray-500);align-items:center;gap:6px;font-size:.8rem;font-weight:500;display:flex}.solution-remaining svg{color:#0d6efd;opacity:.7}.solution-new-btn{border:1.5px solid var(--dv-gray-300);width:100%;font-family:var(--font-sans);color:var(--dv-gray-600);cursor:pointer;background:0 0;border-radius:999px;margin-top:12px;padding:13px;font-size:.9rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:block}.solution-new-btn:hover{color:#0d6efd;background:#0d6efd0a;border-color:#0d6efd}.solution-card--grading .solution-title,.solution-card--grading .solution-icon{color:#d97706}.solution-card--grading .solution-close:hover{color:#d97706;border-color:#d97706}.solution-card--grading .solution-body{border-color:#fde68a}.solution-card--grading .solution-body h2{color:#d97706}.solution-card--grading .solution-body .katex-display{border-left-color:#d97706}.solution-card--grading .solution-body li::marker{color:#d97706}.solution-card--grading .solution-body blockquote{border-left-color:#d97706}.solution-card--grading .solution-body th,.solution-card--grading .solution-body code{color:#92400e;background:#fef3c7}.solution-card--grading .solution-remaining svg{color:#d97706}.solution-card--grading .solution-new-btn:hover{color:#d97706;background:#d977060a;border-color:#d97706}@media (width<=480px){.solution-body{margin-left:10px;margin-right:10px;padding:18px 16px}.solution-footer{padding-left:10px;padding-right:10px}.solution-ai-disclaimer{margin-left:10px;margin-right:10px}}.auth-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.2s both authBackdropIn;display:flex;position:fixed;inset:0}@keyframes authBackdropIn{0%{opacity:0}to{opacity:1}}.auth-modal-card{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:400px;padding:36px 32px 28px;animation:.25s cubic-bezier(.34,1.56,.64,1) both authCardIn;position:relative;box-shadow:0 24px 64px #0003,0 4px 16px #0000001a}@keyframes authCardIn{0%{opacity:0;transform:scale(.88)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex;position:absolute;top:14px;right:14px}.auth-modal-close:hover{color:#1e293b;background:#e2e8f0}.auth-modal-icon{margin-bottom:12px;font-size:2.6rem;line-height:1}.auth-modal-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 10px;font-size:1.25rem;font-weight:800;line-height:1.2}.auth-modal-body{color:#64748b;margin:0 0 24px;font-size:.92rem;line-height:1.65}.auth-modal-actions{flex-direction:column;gap:10px;display:flex}.auth-modal-btn{text-align:center;cursor:pointer;border:none;border-radius:50px;width:100%;padding:13px 20px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .15s;display:block}.auth-modal-btn-primary{color:#fff;background:#0d1117}.auth-modal-btn-primary:hover{background:#0d6efd;transform:translateY(-1px);box-shadow:0 6px 20px #0d6efd4d}.auth-modal-btn-ghost{color:#374151;background:#f1f5f9}.auth-modal-btn-ghost:hover{background:#e2e8f0}.auth-modal-skip{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:.82rem;transition:color .15s}.auth-modal-skip:hover{color:#64748b}.wa-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:340px;padding:48px 24px;animation:.5s both wa-fade-in;display:flex;position:relative;overflow:hidden}@keyframes wa-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wa-orb{filter:blur(1px);border-radius:50%;flex-shrink:0;width:100px;height:100px;margin-bottom:32px;animation:2.2s ease-in-out infinite wa-pulse,8s linear infinite wa-spin}.wa-accent--blue .wa-orb,.wa-orb.wa-accent--blue{background:conic-gradient(#1d4ed8,#60a5fa,#2563eb,#93c5fd,#1d4ed8);box-shadow:0 0 60px #1d4ed859,0 0 120px #1d4ed826}.wa-accent--green .wa-orb,.wa-orb.wa-accent--green{background:conic-gradient(#059669,#34d399,#10b981,#6ee7b7,#059669);box-shadow:0 0 60px #05966959,0 0 120px #05966926}.wa-accent--purple .wa-orb,.wa-orb.wa-accent--purple{background:conic-gradient(#7c3aed,#a78bfa,#8b5cf6,#c4b5fd,#7c3aed);box-shadow:0 0 60px #7c3aed59,0 0 120px #7c3aed26}@keyframes wa-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes wa-spin{to{rotate:360deg}}.wa-progress{font-family:var(--font-sans,system-ui, sans-serif);text-transform:uppercase;letter-spacing:2.5px;min-width:140px;margin-bottom:20px;font-size:.8rem;font-weight:700}.wa-progress.wa-accent--blue{color:#2563eb}.wa-progress.wa-accent--green{color:#059669}.wa-progress.wa-accent--purple{color:#7c3aed}.wa-message-area{justify-content:center;align-items:center;max-width:520px;min-height:56px;margin-bottom:28px;padding:0 16px;display:flex}.wa-message{font-family:var(--font-sans,system-ui, sans-serif);color:var(--dv-dark,#1a1a2e);background-size:200%;font-size:clamp(1rem,2.5vw,1.25rem);font-weight:500;line-height:1.5;text-decoration:none;transition:all .5s;position:relative}.wa-cursor{color:var(--dv-gray-400,#94a3b8);margin-left:1px;font-weight:300;animation:.6s step-end infinite wa-blink}@keyframes wa-blink{0%,to{opacity:1}50%{opacity:0}}.wa-message--strike{color:var(--dv-gray-400,#94a3b8);-webkit-text-decoration:line-through #e74c3c;text-decoration:line-through #e74c3c;text-decoration-thickness:2.5px;transition:color .3s,text-decoration-color .2s}.wa-message--fade{opacity:0;filter:blur(2px);transition:all .35s;transform:translateY(-8px)}.wa-hint{color:var(--dv-gray-400,#94a3b8);letter-spacing:.3px;font-size:.78rem;font-weight:400;animation:1s .5s both wa-fade-in}.wa-overlay-full{z-index:100;-webkit-backdrop-filter:blur(12px);background:#ffffffeb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wa-inline{min-height:420px;padding:64px 24px}@media (width<=640px){.wa-orb{width:76px;height:76px;margin-bottom:24px}.wa-message-area{min-height:48px;padding:0 12px}.wa-container{min-height:280px;padding:36px 16px}}.solver-page{z-index:50;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.solver-topbar{padding:var(--sp-3) var(--sp-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#0009;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.solver-topbar .solver-brand{font-family:var(--font-sans);color:var(--dv-white);align-items:center;gap:var(--sp-2);font-size:1.1rem;font-weight:700;display:flex}.solver-topbar .solver-brand .brand-dot{background:linear-gradient(135deg,#0d6efd,#7c3aed);border-radius:50%;width:10px;height:10px}.solver-back{color:var(--dv-white);border-radius:var(--radius-md);transition:background var(--dur-fast);background:#ffffff1a;padding:8px 16px;font-size:.9rem;font-weight:500}.solver-back:hover{background:#fff3}.camera-container{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.camera-container video{object-fit:cover;width:100%;height:100%}.camera-container canvas{display:none}.camera-guide{border-radius:var(--radius-lg);pointer-events:none;border:2px solid #fff3;position:absolute;inset:10% 8%}.camera-guide:before{content:"Point at a problem";color:#ffffff80;white-space:nowrap;font-size:.8rem;position:absolute;top:-32px;left:50%;transform:translate(-50%)}.camera-placeholder{justify-content:center;align-items:center;gap:var(--sp-3);color:#ffffff80;text-align:center;padding:var(--sp-5);flex-direction:column;display:flex}.camera-placeholder .placeholder-icon{opacity:.4;font-size:3rem}.solver-controls{padding:var(--sp-4) var(--sp-4) var(--sp-6);position:absolute;bottom:0;left:0;right:0}@media (width<=480px){.solver-controls .solver-controls{padding-bottom:calc(max(var(--sp-6,24px), env(safe-area-inset-bottom,24px)) + 64px)}.solver-controls .upload-label{z-index:60;pointer-events:auto;margin-top:6px;position:relative}.solver-controls .solver-controls{padding-left:var(--sp-4);padding-right:var(--sp-4);padding-bottom:calc(env(safe-area-inset-bottom,24px) + 20px);z-index:9999;backface-visibility:hidden;background:linear-gradient(#0000,#000000e6);flex-direction:column-reverse;align-items:center;gap:10px;padding-top:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.solver-controls .solver-controls .capture-btn{z-index:10000;border-width:4px;width:78px;height:78px;margin-bottom:6px}.solver-controls .upload-label{z-index:10000;justify-content:center;width:calc(100% - 32px);max-width:420px;padding:10px 18px;font-size:.95rem;box-shadow:0 6px 18px #00000040}}.solver-controls{align-items:center;gap:var(--sp-3);z-index:10;background:linear-gradient(#0000,#000000d9);flex-direction:column;display:flex}.capture-btn{background:var(--dv-white);cursor:pointer;width:72px;height:72px;transition:all var(--dur-fast);border:4px solid #ffffff4d;border-radius:50%;position:relative}.capture-btn:after{content:"";background:var(--dv-white);transition:all var(--dur-fast);border-radius:50%;position:absolute;inset:4px}.capture-btn:hover{transform:scale(1.05)}.capture-btn:active:after{background:var(--dv-blue)}.capture-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.upload-label{align-items:center;gap:var(--sp-2);color:#ffffffb3;cursor:pointer;border-radius:var(--radius-full);transition:background var(--dur-fast);background:#ffffff1a;padding:8px 20px;font-size:.85rem;font-weight:500;display:inline-flex}.upload-label:hover{background:#ffffff2e}.upload-label input{display:none}.processing-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;gap:var(--sp-4);z-index:20;animation:fadeIn .3s var(--ease);background:#000000bf;flex-direction:column;display:flex;position:absolute;inset:0}.processing-spinner{border:3px solid #ffffff26;border-top-color:#7c3aed;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.processing-text{color:var(--dv-white);font-family:var(--font-sans);font-size:1.1rem;font-weight:600}.processing-subtext{color:#ffffff80;font-size:.85rem}.processing-grading .processing-spinner{border-top-color:#f59e0b}.solution-overlay{background:var(--dv-off-white);z-index:20;animation:fadeIn .3s var(--ease);padding:72px 0 0;position:absolute;inset:0;overflow-y:auto}.preview-stage{flex-direction:column;flex:1;min-height:0;padding-top:72px;display:flex;position:relative;overflow:hidden}.preview-image-wrap{padding:var(--sp-3);flex:1;justify-content:center;align-items:center;min-height:0;padding-bottom:100px;display:flex;overflow:hidden}.preview-image-wrap img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%}.preview-actions{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) max(var(--sp-6), env(safe-area-inset-bottom,24px));z-index:5;background:linear-gradient(#0000,#000000d9 30%);display:flex;position:absolute;bottom:0;left:0;right:0}.preview-btn{font-family:var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur-fast);border:none;align-items:center;gap:6px;padding:12px 24px;font-size:.9rem;font-weight:600;display:inline-flex}.preview-btn-ghost{color:var(--dv-white);background:#ffffff26;border:1px solid #ffffff40}.preview-btn-ghost:hover{background:#ffffff40;border-color:#fff6}.preview-btn-primary{color:var(--dv-white);background:linear-gradient(135deg,#0d6efd,#7c3aed)}.preview-btn-primary:hover{background:linear-gradient(135deg,#0b5ed7,#6d28d9);box-shadow:0 4px 16px #7c3aed4d}.crop-stage{flex-direction:column;flex:1;min-height:0;padding-top:72px;display:flex;position:relative;overflow:hidden}.crop-area{padding:var(--sp-3);flex:1;justify-content:center;align-items:center;min-height:0;padding-bottom:100px;display:flex;overflow:hidden}.crop-source-img{max-width:100%;max-height:100%;display:block}.crop-area .ReactCrop{max-width:100%;max-height:100%}.crop-controls{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) max(var(--sp-6), env(safe-area-inset-bottom,24px));z-index:10;background:linear-gradient(#0000,#000000d9 30%);display:flex;position:absolute;bottom:0;left:0;right:0}.ReactCrop{max-height:100%}.ReactCrop__crop-selection{box-shadow:0 0 0 9999em #0009;border:2px solid var(--dv-blue)!important}.ReactCrop__drag-handle:after{background-color:var(--dv-blue)!important;border:2px solid var(--dv-white)!important;border-radius:50%!important;width:12px!important;height:12px!important}.solver-error{z-index:30;color:var(--dv-white);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);animation:fadeInUp .3s var(--ease);text-align:center;background:#ef4444e6;max-width:90%;font-size:.9rem;font-weight:500;position:absolute;top:80px;left:50%;transform:translate(-50%)}.solver-guest-badge{color:var(--dv-blue);border-radius:var(--radius-full);white-space:nowrap;background:#0d6efd1a;border:1px solid #0d6efd33;padding:4px 10px;font-size:.78rem;font-weight:600}.page-loader{justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:3px solid var(--dv-gray-100);border-top-color:var(--dv-blue);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.gr-root{font-family:var(--font-sans);background:var(--dv-off-white);color:var(--dv-dark);width:100%;max-width:620px;margin:0 auto;padding:0 0 40px}.gr-topbar{z-index:10;border-bottom:1px solid var(--dv-gray-200);background:#fff;justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex;position:sticky;top:0}.gr-topbar-label{letter-spacing:.06em;text-transform:uppercase;color:#7c3aed;font-size:.78rem;font-weight:700}.gr-close-btn{border:1px solid var(--dv-gray-200);background:var(--dv-gray-50);width:32px;height:32px;color:var(--dv-gray-500);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.gr-close-btn:hover{color:#7c3aed;border-color:#7c3aed}@keyframes grFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gr-anim{animation:.4s both grFadeUp}.gr-anim--d1{animation-delay:70ms}.gr-anim--d2{animation-delay:.13s}.gr-anim--d3{animation-delay:.19s}.gr-anim--d4{animation-delay:.26s}.gr-anim--d5{animation-delay:.35s}.gr-hero-card{border:1px solid var(--dv-gray-200);background:#fff;border-radius:16px;margin:20px 16px 12px;padding:24px;box-shadow:0 2px 12px #0000000d}.gr-subject-tag{color:#7c3aed;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;font-size:.7rem;font-weight:700}.gr-score-row{align-items:center;gap:24px;margin-bottom:18px;display:flex}.gr-ring-wrap{flex-shrink:0;width:130px;height:130px;position:relative}.gr-ring-svg{transform:rotate(-90deg)}.gr-ring-svg circle:first-child{stroke:var(--dv-gray-100)}.gr-ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gr-ring-score{color:var(--dv-dark);letter-spacing:-.03em;font-size:2.2rem;font-weight:800;line-height:1}.gr-ring-max{color:var(--dv-gray-400);margin-top:2px;font-size:.8rem;line-height:1}.gr-ring-pct{margin-top:4px;font-size:.65rem;font-weight:700;line-height:1}.gr-score-meta{flex:1;min-width:0;overflow:hidden}.gr-boundary{color:var(--dv-dark);letter-spacing:-.02em;margin-bottom:8px;font-size:1.15rem;font-weight:800}.gr-summary{color:var(--dv-gray-500);margin:0;font-size:.88rem;line-height:1.65}.gr-range-strip{background:var(--dv-gray-50);border:1px solid var(--dv-gray-100);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.78rem;display:flex}.gr-range-label{color:var(--dv-gray-600);font-weight:600;display:block}.gr-range-sub{color:var(--dv-gray-400);margin-top:2px;font-size:.7rem;display:block}.gr-range-value{color:#059669;white-space:nowrap;flex-shrink:0;font-size:1.05rem;font-weight:800}.gr-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:0 16px;display:flex}.gr-chip{border:1px solid var(--dv-gray-200);color:var(--dv-gray-600);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.gr-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.gr-section-label{color:var(--dv-gray-400);text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;padding:0 16px;font-size:.7rem;font-weight:600}.gr-criteria-list{flex-direction:column;gap:8px;margin-bottom:16px;padding:0 16px;display:flex}.gr-crit-card{border:1px solid var(--dv-gray-200);cursor:pointer;background:#fff;border-radius:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;animation:.4s both grFadeUp;overflow:hidden}.gr-crit-card--priority{border-color:#ef444459 #ef444459 #ef444459 #ef4444;border-left-style:solid;border-left-width:3px}.gr-crit-card:hover{border-color:#7c3aed;box-shadow:0 2px 10px #7c3aed14}.gr-crit-header{align-items:center;gap:10px;display:flex}.gr-crit-code{color:#7c3aed;background:#7c3aed14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:800;display:flex}.gr-crit-name{color:var(--dv-dark);overflow-wrap:break-word;word-break:break-word;flex:1;min-width:0;font-size:.88rem;font-weight:600}.gr-crit-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.75rem;font-weight:700}.gr-crit-chevron{color:var(--dv-gray-400);flex-shrink:0;font-size:1.1rem;line-height:1;transition:transform .2s}.gr-crit-chevron.open{transform:rotate(90deg)}.gr-pips{gap:3px;margin-top:10px;display:flex}.gr-pip{border-radius:999px;flex:1;height:4px}.gr-crit-body{border-top:1px solid var(--dv-gray-100);margin-top:10px;padding-top:14px}.gr-crit-pageref{color:var(--dv-gray-500);background:var(--dv-gray-50);border:1px solid var(--dv-gray-200);border-radius:999px;margin-bottom:10px;padding:3px 10px;font-family:monospace;font-size:.72rem;display:inline-block}.gr-crit-feedback{color:var(--dv-gray-600);margin:0 0 12px;font-size:.88rem;line-height:1.7}.gr-crit-improve{color:var(--dv-gray-700);border-left:2px solid;border-radius:8px;padding:12px 14px;font-size:.85rem;line-height:1.65}.gr-crit-improve-label{text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:.68rem;font-weight:700;display:block}.gr-priorities{border:1px solid var(--dv-gray-200);background:#fff;border-radius:16px;margin:0 16px 12px;padding:22px}.gr-priorities-title{color:var(--dv-dark);letter-spacing:-.01em;margin-bottom:16px;font-size:.9rem;font-weight:800}.gr-priority-row{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.gr-priority-num{color:#fff;background:#7c3aed;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;font-size:.7rem;font-weight:700;display:flex}.gr-priority-text{color:var(--dv-gray-600);margin:0;font-size:.88rem;line-height:1.65}.gr-do-not-touch{color:var(--dv-gray-600);background:#10b9810f;border:1px solid #10b98133;border-radius:10px;margin-top:8px;padding:12px 14px;font-size:.85rem;line-height:1.65}.gr-dnt-label{color:#059669;font-weight:700}.gr-regrade-note{border:1px solid var(--dv-gray-200);color:var(--dv-gray-500);background:#fff;border-radius:12px;margin:0 16px 12px;padding:14px 16px;font-size:.85rem;line-height:1.65}.gr-regrade-label{color:var(--dv-gray-400);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:.68rem;font-weight:700;display:block}.gr-another-btn{border:1.5px solid var(--dv-gray-300);width:calc(100% - 32px);font-family:var(--font-sans);color:var(--dv-gray-600);cursor:pointer;background:0 0;border-radius:999px;margin:4px 16px 0;padding:13px;font-size:.9rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:block}.gr-another-btn:hover{color:#7c3aed;background:#7c3aed0a;border-color:#7c3aed}.gr-root{box-sizing:border-box;overflow-x:hidden}.gr-hero-card,.gr-crit-card,.gr-crit-body,.gr-priorities,.gr-regrade-note,.gr-do-not-touch{box-sizing:border-box;min-width:0;overflow:hidden}.gr-summary,.gr-crit-feedback,.gr-crit-improve,.gr-priority-text,.gr-regrade-note,.gr-do-not-touch{overflow-wrap:break-word;word-break:break-word;min-width:0}.gr-summary p,.gr-crit-feedback p,.gr-crit-improve p,.gr-priority-text p,.gr-do-not-touch p,.gr-regrade-note p{overflow-wrap:break-word;word-break:break-word;margin:0 0 .5em}.gr-summary pre,.gr-crit-feedback pre,.gr-crit-improve pre,.gr-priority-text pre,.gr-do-not-touch pre{max-width:100%;overflow-x:auto}.gr-root .katex-display{max-width:100%;padding-bottom:4px;overflow:auto hidden}.gr-root .katex{white-space:normal}.gr-download-btn{border:1px solid var(--dv-gray-200);background:var(--dv-gray-50);color:var(--dv-gray-600);font-family:var(--font-sans);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.gr-download-btn:hover{color:#7c3aed;background:#7c3aed0a;border-color:#7c3aed}.gr-download-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.gr-score-row{flex-direction:column;align-items:flex-start;gap:16px}.gr-ring-wrap{align-self:center}.gr-hero-card,.gr-crit-card,.gr-priorities,.gr-regrade-note{margin-left:10px;margin-right:10px}.gr-criteria-list,.gr-chips,.gr-section-label{padding-left:10px;padding-right:10px}.gr-another-btn{width:calc(100% - 20px);margin-left:10px;margin-right:10px}}.grader-page{background:var(--dv-off-white);flex-direction:column;min-height:100vh;display:flex}.grader-topbar{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--dv-gray-200);z-index:10;background:#fff;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.grader-topbar-right{align-items:center;gap:var(--sp-3);display:flex}.grader-back{color:var(--dv-gray-500);font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s}.grader-back:hover{color:#7c3aed}.grader-guest-badge{color:#b45309;border-radius:var(--radius-full);white-space:nowrap;background:#d9770614;border:1px solid #d9770633;padding:4px 10px;font-size:.75rem;font-weight:600}.grader-upload-wrap{width:100%;max-width:540px;padding:var(--sp-6) var(--sp-4) var(--sp-7);flex-direction:column;flex:1;align-items:center;margin:0 auto;display:flex}.grader-upload-header{text-align:center;margin-bottom:var(--sp-5)}.grader-new-badge{letter-spacing:.05em;color:#059669;margin-bottom:var(--sp-3);background:#10b98114;border:1px solid #10b98140;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 0 12px #10b98126,0 0 32px #10b9810f}.grader-new-dot{background:#10b981;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite graderDotPulse;box-shadow:0 0 6px #10b981}@keyframes graderDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}.grader-upload-title{color:var(--dv-dark);letter-spacing:-.025em;margin:0 0 var(--sp-2);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;line-height:1.1}.grader-upload-sub{color:var(--dv-gray-500);max-width:420px;margin:0 auto;font-size:.95rem;line-height:1.65}.grader-error{color:#991b1b;border-radius:var(--radius-md);width:100%;padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);text-align:center;background:#fef2f2;border:1px solid #fecaca;font-size:.85rem}.grader-dropzone{border:2px dashed var(--dv-gray-300);width:100%;padding:var(--sp-6) var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-2);cursor:pointer;text-align:center;background:#fff;border-radius:18px;flex-direction:column;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.grader-dropzone:hover,.grader-dropzone--over{background:#10b98108;border-color:#10b981;box-shadow:0 0 0 4px #10b98114}.grader-dropzone-icon{color:#059669;width:56px;height:56px;margin-bottom:var(--sp-2);background:#10b98114;border-radius:14px;justify-content:center;align-items:center;display:flex}.grader-dropzone-label{color:var(--dv-gray-700);margin:0;font-size:.95rem;font-weight:600}.grader-dropzone-link{color:#059669;text-underline-offset:2px;text-decoration:underline}.grader-dropzone-hint{color:var(--dv-gray-400);margin:0;font-size:.8rem}.grader-format-chips{margin-top:var(--sp-3);flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.grader-format-chip{color:var(--dv-gray-600);background:var(--dv-gray-100);border:1px solid var(--dv-gray-200);border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:600}.grader-supported-list{gap:10px var(--sp-4);margin-top:var(--sp-5);grid-template-columns:1fr 1fr;width:100%;display:grid}.grader-supported-item{color:var(--dv-gray-600);align-items:center;gap:8px;font-size:.82rem;font-weight:500;display:flex}.grader-supported-item svg{color:#10b981;flex-shrink:0}@media (width<=400px){.grader-supported-list{grid-template-columns:1fr}}.grader-processing{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-7) var(--sp-4);text-align:center;flex-direction:column;flex:1;display:flex}.grader-spinner{border:3px solid var(--dv-gray-200);border-top-color:#10b981;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite graderSpin}@keyframes graderSpin{to{transform:rotate(360deg)}}.grader-processing-title{color:var(--dv-dark);margin:0;font-size:1.1rem;font-weight:700}.grader-processing-sub{color:var(--dv-gray-500);margin:0;font-size:.88rem;line-height:1.6}.grader-result-wrap{background:var(--dv-off-white);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.outline-page{background:var(--dv-off-white);flex-direction:column;min-height:100vh;display:flex}.outline-topbar{padding:var(--sp-3) var(--sp-4);background:var(--dv-white);border-bottom:1px solid var(--dv-gray-200);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.outline-brand{text-decoration:none}.outline-back{font-family:var(--font-sans);color:var(--dv-gray-500);transition:color var(--dur-fast,.15s);font-size:.85rem;font-weight:500;text-decoration:none}.outline-back:hover{color:var(--dv-blue)}.outline-container{width:100%;max-width:720px;padding:var(--sp-6) var(--sp-4);flex:1;margin:0 auto}.outline-form-wrap{background:var(--dv-white);border-radius:var(--radius-xl);border:1px solid var(--dv-gray-200);padding:var(--sp-5);box-shadow:0 2px 12px #0000000f}.outline-form-header{margin-bottom:var(--sp-4);align-items:flex-start;gap:14px;display:flex}.outline-form-header svg{color:#7c3aed;flex-shrink:0;margin-top:2px}.outline-form-header h1{font-family:var(--font-sans);color:var(--dv-gray-800);margin:0 0 4px;font-size:1.35rem;font-weight:700}.outline-form-header p{color:var(--dv-gray-500);margin:0;font-size:.88rem}.outline-guest-note{color:#7c3aed;font-size:.82rem;font-weight:600}.outline-error{color:#991b1b;border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);background:#fef2f2;border:1px solid #fecaca;font-size:.85rem}.outline-form{gap:var(--sp-3);flex-direction:column;display:flex}.outline-field-row{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=560px){.outline-field-row{grid-template-columns:1fr}}.outline-field{flex-direction:column;gap:6px;display:flex}.outline-field span{font-family:var(--font-sans);color:var(--dv-gray-600);font-size:.82rem;font-weight:600}.outline-field input,.outline-field select,.outline-field textarea{font-family:var(--font-sans);border:1px solid var(--dv-gray-200);border-radius:var(--radius-md);background:var(--dv-gray-50);color:var(--dv-gray-800);padding:10px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.outline-field input:focus,.outline-field select:focus,.outline-field textarea:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1f}.outline-field textarea{resize:vertical}.outline-submit{font-family:var(--font-sans);border-radius:var(--radius-pill);background:var(--dv-dark);color:var(--dv-white);cursor:pointer;margin-top:var(--sp-2);border:none;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.outline-submit:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#0d6efd)}.outline-submit:disabled{opacity:.7;cursor:not-allowed}.outline-spinner{border:2px solid #fff3;border-top-color:var(--dv-white);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite outlineSpin}@keyframes outlineSpin{to{transform:rotate(360deg)}}.outline-result{width:100%}.outline-result-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.outline-result-meta h2{font-family:var(--font-sans);color:var(--dv-gray-800);margin:0 0 4px;font-size:1.25rem;font-weight:700}.outline-result-meta p{color:var(--dv-gray-500);margin:0;font-size:.85rem}.outline-result-actions{flex-shrink:0;gap:10px;display:flex}.outline-btn{font-family:var(--font-sans);border-radius:var(--radius-pill);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.outline-btn-pdf{color:var(--dv-white);background:linear-gradient(135deg,#7c3aed,#0d6efd)}.outline-btn-pdf:hover{background:linear-gradient(135deg,#6d28d9,#0b5ed7);box-shadow:0 4px 14px #7c3aed4d}.outline-btn-new{background:var(--dv-gray-100);color:var(--dv-gray-700)}.outline-btn-new:hover{background:var(--dv-gray-200)}.outline-table-wrap{background:var(--dv-white);border-radius:var(--radius-xl);border:1px solid var(--dv-gray-200);padding:var(--sp-4);max-width:800px;margin:0 auto;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.outline-table-body table{border-collapse:collapse;width:100%;font-family:var(--font-sans);table-layout:fixed;word-wrap:break-word;overflow-wrap:break-word;font-size:.85rem}.outline-table-body thead th{color:#6d28d9;text-align:left;word-wrap:break-word;background:#7c3aed0f;border-bottom:2px solid #7c3aed;padding:10px 12px;font-weight:600}.outline-table-body tbody td{border-bottom:1px solid var(--dv-gray-200);vertical-align:top;color:var(--dv-gray-700);word-wrap:break-word;overflow-wrap:break-word;padding:10px 12px;line-height:1.55}.outline-table-body tbody tr:hover{background:var(--dv-gray-50)}.outline-table-body input[type=checkbox]{width:16px;height:16px;accent-color:var(--dv-blue);cursor:pointer}.outline-table-body td:first-child,.outline-table-body th:first-child{text-align:center;word-wrap:normal;width:36px}.animate-fade-in-up{animation:.45s both outlineFadeUp}@keyframes outlineFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.outline-page:has(.outline-result) .outline-container{max-width:860px}.dashboard-page{min-height:calc(100vh - 64px);padding:var(--sp-8) var(--sp-4);background:var(--dv-off-white)}.dashboard-inner{max-width:900px;margin:0 auto}.dashboard-greeting{margin-bottom:var(--sp-6);animation:fadeInUp .5s var(--ease) both}.dashboard-greeting h1{font-family:var(--font-sans);color:var(--dv-dark);margin-bottom:4px;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.dashboard-greeting p{color:var(--dv-gray-400);font-size:.95rem}.dash-actions-grid{gap:var(--sp-4);margin-bottom:var(--sp-6);grid-template-columns:repeat(3,1fr);display:grid}.dash-action-card{padding:var(--sp-5);border-radius:var(--radius-lg);color:#fff;transition:all var(--dur) var(--ease);animation:fadeInUp .5s var(--ease) both;flex-direction:column;align-items:flex-start;text-decoration:none;display:flex;position:relative;overflow:hidden}.dash-action-card:nth-child(2){animation-delay:60ms}.dash-action-card:nth-child(3){animation-delay:.12s}.dash-action-card:hover{transform:translateY(-3px)}.dash-action--solve{background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 4px 20px #1d4ed84d}.dash-action--solve:hover{box-shadow:0 8px 30px #1d4ed866}.dash-action--grade{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 20px #0596694d}.dash-action--grade:hover{box-shadow:0 8px 30px #05966966}.dash-action--outline{background:linear-gradient(135deg,#7c3aed,#8b5cf6);box-shadow:0 4px 20px #7c3aed4d}.dash-action--outline:hover{box-shadow:0 8px 30px #7c3aed66}.dash-action-icon{border-radius:var(--radius-md);width:48px;height:48px;margin-bottom:var(--sp-3);background:#fff3;justify-content:center;align-items:center;display:flex}.dash-action-card h3{font-family:var(--font-sans);color:#fff;margin-bottom:6px;font-size:1.1rem;font-weight:700}.dash-action-card p{color:#ffffffd9;margin-bottom:var(--sp-3);flex:1;font-size:.82rem;line-height:1.45}.dash-action-arrow{color:#ffffffb3;transition:transform var(--dur-fast), color var(--dur-fast);font-size:1.2rem;font-weight:700}.dash-action-card:hover .dash-action-arrow{color:#fff;transform:translate(4px)}@media (width<=768px){.dash-actions-grid{grid-template-columns:1fr;max-width:480px}}.stats-grid{gap:var(--sp-3);margin-bottom:var(--sp-6);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=640px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--dv-surface);border-radius:var(--radius-lg);padding:var(--sp-4);border:1px solid var(--dv-border);animation:fadeInUp .5s var(--ease) both}.stat-card:nth-child(2){animation-delay:50ms}.stat-card:nth-child(3){animation-delay:.1s}.stat-label{color:var(--dv-gray-400);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--sp-2);font-size:.8rem;font-weight:500}.stat-value{font-family:var(--font-sans);color:var(--dv-dark);font-size:1.8rem;font-weight:700}.stat-value.gold{color:var(--dv-blue)}.stat-value.green{color:var(--dv-green)}.stat-sub{color:var(--dv-gray-400);margin-top:2px;font-size:.78rem}.profile-section{background:var(--dv-surface);border-radius:var(--radius-lg);border:1px solid var(--dv-border);padding:var(--sp-5);animation:fadeInUp .5s var(--ease) .2s both;margin-bottom:var(--sp-4)}.profile-section h2{font-family:var(--font-sans);color:var(--dv-dark);margin-bottom:var(--sp-4);font-size:1.1rem;font-weight:600}.profile-row{padding:var(--sp-3) 0;border-bottom:1px solid var(--dv-gray-100);justify-content:space-between;align-items:center;display:flex}.profile-row:last-child{border-bottom:none}.profile-row .label{color:var(--dv-gray-400);font-size:.85rem}.profile-row .value{color:var(--dv-dark);font-size:.9rem;font-weight:500}.profile-row .value.verified{color:var(--dv-green)}.profile-row .value.unverified{color:#e74c3c}.password-section{background:var(--dv-surface);border-radius:var(--radius-lg);border:1px solid var(--dv-border);padding:var(--sp-5);animation:fadeInUp .5s var(--ease) .25s both;margin-bottom:var(--sp-4)}.password-header{margin-bottom:var(--sp-3);justify-content:space-between;align-items:center;display:flex}.password-header h2{font-family:var(--font-sans);color:var(--dv-dark);margin:0;font-size:1.1rem;font-weight:600}.btn-text{color:var(--dv-blue);cursor:pointer;transition:color var(--dur-fast);background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.btn-text:hover{color:var(--dv-blue-dark);text-decoration:underline}.pw-form{gap:var(--sp-3);flex-direction:column;display:flex}.pw-field label{color:var(--dv-gray-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.pw-field input{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--dv-border);border-radius:var(--radius-md);background:var(--dv-off-white);transition:border-color var(--dur-fast);box-sizing:border-box;font-size:.9rem}.pw-field input:focus{border-color:var(--dv-blue);outline:none}.pw-actions{gap:var(--sp-2);padding-top:var(--sp-1);display:flex}.btn-primary{background:var(--dv-dark);color:var(--dv-white);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast);border:none;font-size:.85rem;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--dv-blue)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border:1px solid var(--dv-border);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--dv-gray-400);cursor:pointer;transition:all var(--dur-fast);background:0 0;font-size:.85rem;font-weight:500}.btn-ghost:hover{border-color:var(--dv-dark);color:var(--dv-dark)}.pw-success{color:var(--dv-green);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);margin-bottom:var(--sp-3);background:#10b9811a;font-size:.85rem;font-weight:500}.pw-error{color:#e74c3c;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);margin-bottom:var(--sp-3);background:#e74c3c1a;font-size:.85rem;font-weight:500}.btn-logout{width:100%;padding:var(--sp-3);border-radius:var(--radius-lg);color:#e74c3c;cursor:pointer;transition:all var(--dur-fast);margin-bottom:var(--sp-8);background:0 0;border:1px solid #e74c3c;font-size:.9rem;font-weight:600}.btn-logout:hover{color:var(--dv-white);background:#e74c3c}
