body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;font-size:15px}#root{min-height:100vh}.app-loading,.page-loading{--pl-bg-top:#f6f9ff;--pl-bg-bottom:#eff5ff;--pl-blue:#2f80ff;--pl-blue-deep:#165fd8;--pl-blue-soft:#b7cff8;--pl-ink:#25386b;--pl-muted:#5a6790;align-items:center;background:radial-gradient(620px 320px at 7% 8%,#ffc47847 0,#ffc47800 70%),radial-gradient(680px 340px at 92% 12%,#b5ceff5c 0,#b5ceff00 70%),linear-gradient(180deg,var(--pl-bg-top) 0,var(--pl-bg-bottom) 100%);color:var(--pl-ink);display:flex;font-family:Sarabun,Noto Sans Thai,sans-serif;isolation:isolate;justify-content:center;min-height:100vh;overflow:hidden;padding:clamp(1.5rem,4vw,2.8rem) clamp(1rem,3vw,2rem);position:relative;width:100%}.page-loading{min-height:100dvh}.page-loading-backdrop{background:linear-gradient(180deg,#f7faff47,#f0f6ff61),radial-gradient(700px 360px at 50% 44%,#97c2ff2e 0,#97c2ff00 68%);inset:0;overflow:hidden;position:absolute;z-index:0}.page-loading-backdrop:before{background:radial-gradient(520px 220px at 74% 53%,#ffa6c457 0,#ffa6c400 66%),radial-gradient(420px 240px at 84% 86%,#5fc29e3d 0,#5fc29e00 70%),radial-gradient(460px 260px at 34% 42%,#6fa2ff38 0,#6fa2ff00 70%),radial-gradient(300px 170px at 8% 6%,#ffb3694d 0,#ffb36900 72%);content:"";filter:blur(16px);inset:-28px;opacity:.58;position:absolute}.page-loading-backdrop:after{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#f9fcff3d;content:"";inset:0;position:absolute;z-index:2}.page-loading-blur-shell{grid-gap:clamp(22px,4vw,58px);display:grid;filter:blur(8px);gap:clamp(22px,4vw,58px);grid-template-rows:82px 1fr 86px;inset:clamp(18px,3vw,48px) clamp(18px,4vw,72px);opacity:.88;position:absolute;transform:scale(1.015);z-index:1}.page-loading-blur-footer,.page-loading-blur-main,.page-loading-blur-nav{grid-gap:clamp(18px,2.6vw,40px);display:grid;gap:clamp(18px,2.6vw,40px)}.page-loading-blur-nav{align-items:center;grid-template-columns:90px 1fr 130px 120px}.page-loading-blur-footer span,.page-loading-blur-nav span,.page-loading-blur-panel{background:#ffffffe6;border-radius:24px;box-shadow:0 24px 64px #4265a033}.page-loading-blur-nav span:first-child{background:linear-gradient(145deg,#ffb448d1,#ffffffbf);border-radius:999px;height:70px;width:70px}.page-loading-blur-nav span:nth-child(2){background:#accaffc7;height:44px;width:min(520px,70%)}.page-loading-blur-nav span:nth-child(3),.page-loading-blur-nav span:nth-child(4){height:50px}.page-loading-blur-main{align-items:center;grid-template-columns:minmax(170px,.76fr) minmax(260px,1fr) minmax(220px,.88fr)}.page-loading-blur-panel{align-content:start;display:grid;min-height:clamp(280px,34vw,430px);padding:clamp(22px,3vw,42px)}.page-loading-blur-panel span{background:#6fa2ff7a;border-radius:999px;display:block;height:36px;margin-bottom:28px}.page-loading-blur-panel span:nth-child(2){width:72%}.page-loading-blur-panel span:nth-child(3){width:54%}.page-loading-blur-panel span:nth-child(4){width:86%}.page-loading-blur-panel.panel-center{background:linear-gradient(150deg,#ffffffe6,#c3d8ffc2);min-height:clamp(320px,38vw,500px)}.page-loading-blur-panel.panel-right{background:linear-gradient(145deg,#ffc2d8b3,#ffffffd1)}.page-loading-blur-footer{grid-template-columns:1.2fr .8fr 1fr}.page-loading-blur-footer span{min-height:82px}.app-loading:after,.app-loading:before,.page-loading:after,.page-loading:before{border:clamp(4px,.5vw,7px) solid #ffffff94;border-radius:52% 48% 62% 38%/43% 57% 45% 55%;content:"";opacity:.7;pointer-events:none;position:absolute;z-index:0}.app-loading:before,.page-loading:before{aspect-ratio:1/1;bottom:clamp(-240px,-22vw,-120px);left:clamp(-180px,-16vw,-96px);width:min(560px,68vw)}.app-loading:after,.page-loading:after{aspect-ratio:1/1;right:clamp(-165px,-14vw,-86px);top:clamp(-208px,-18vw,-100px);width:min(430px,52vw)}.page-loading-scene{align-items:center;display:flex;flex-direction:column;padding-top:clamp(.2rem,1.6vh,1.2rem);position:relative;text-align:center;width:min(920px,100%);z-index:3}.page-loading-brand{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffc7;border-radius:999px;box-shadow:0 10px 28px #375aa626;display:inline-flex;gap:.5rem;margin-bottom:clamp(.85rem,2.2vw,2rem);padding:.4rem .8rem .4rem .42rem}.page-loading-brand-badge{background:linear-gradient(145deg,#ffaf47,#ff8a00 52%,#2f80ff);border-radius:999px;box-shadow:0 6px 16px #2f80ff52;color:#fff;display:grid;font-size:.95rem;font-weight:800;height:28px;place-items:center;width:28px}.page-loading-brand-copy{color:#3e5ba9;font-size:.78rem;font-weight:700;letter-spacing:.14em}.page-loading-hero{animation:page-loading-float 4.4s ease-in-out infinite;margin-bottom:clamp(4.6rem,10vh,8.5rem);position:relative;width:min(560px,72vw)}.page-loading-image{display:block;filter:drop-shadow(0 24px 30px rgba(53,86,153,.14));height:auto;width:100%}.page-loading-star{animation:page-loading-twinkle 2.2s ease-in-out infinite;font-size:clamp(1rem,2vw,1.6rem);font-weight:700;line-height:1;position:absolute;text-shadow:0 0 16px #5096ff66}.page-loading-star.star-a{color:#4e97ff;left:-4%;top:16%}.page-loading-star.star-b{animation-delay:.5s;color:#4a8eff;right:-5%;top:18%}.page-loading-star.star-c{animation-delay:1s;color:#f9b01b;right:-16%;top:46%}.page-loading-title{color:#2167db;font-size:clamp(1.7rem,3.15vw,3rem);font-weight:700;letter-spacing:.01em;line-height:1.2;margin:0;max-width:92%;text-shadow:0 2px 0 #ffffffb8}.page-loading-subtitle{color:var(--pl-muted);font-size:clamp(1.02rem,1.5vw,1.42rem);font-weight:500;line-height:1.45;margin:clamp(.5rem,1.1vw,.8rem) 0 clamp(1rem,2.2vw,1.35rem);max-width:92%}.page-loading-indicator{align-items:flex-end;display:inline-flex;gap:clamp(.45rem,1vw,.62rem);justify-content:center;margin-top:.25rem;min-height:clamp(20px,3vw,28px)}.page-loading-dot{animation:page-loading-bounce .95s ease-in-out infinite;aspect-ratio:1/1;background:linear-gradient(180deg,#4f94ff,#2369dd);border-radius:999px;box-shadow:0 8px 16px #296fe252;width:clamp(10px,1.1vw,15px)}.page-loading-dot.dot-b{animation-delay:.16s}.page-loading-dot.dot-c{animation-delay:.32s}.page-loading-note{color:#5d688d;font-size:clamp(1rem,1.3vw,1.38rem);margin-top:clamp(1rem,2.2vw,1.4rem)}.page-loading-note:before{color:#5ea8ff;content:"✦";margin-right:.52rem}@keyframes page-loading-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes page-loading-twinkle{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes page-loading-bounce{0%,80%,to{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-10px)}}@media (max-width:768px){.page-loading-blur-shell{gap:28px;grid-template-rows:70px 1fr 78px;inset:18px}.page-loading-blur-nav{grid-template-columns:62px 1fr 88px}.page-loading-blur-nav span:nth-child(4){display:none}.page-loading-blur-main{grid-template-columns:1fr 1fr}.page-loading-blur-panel.panel-left{display:none}.page-loading-brand{margin-bottom:1rem}.page-loading-image{width:min(100%,640px)}.page-loading-indicator{min-height:22px}}@media (max-width:520px){.app-loading,.page-loading{padding:1.15rem .85rem 1.7rem}.page-loading-blur-shell{grid-template-rows:58px 1fr 70px;inset:12px;opacity:.5}.page-loading-blur-main{grid-template-columns:1fr}.page-loading-blur-panel.panel-right{display:none}.page-loading-hero{margin-bottom:clamp(3rem,7vh,4.8rem);width:min(96vw,430px)}.page-loading-subtitle{margin-top:.58rem}.page-loading-indicator{gap:.46rem}}@media (prefers-reduced-motion:reduce){.page-loading-dot,.page-loading-hero,.page-loading-star{animation:none!important}}.container{margin:0 auto;max-width:1200px;padding:0 20px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-2px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-2px)}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.card-header{padding:20px 20px 0}.card-content{padding:20px}.card-footer{padding:0 20px 20px}.form-group{margin-bottom:20px}.form-group label{font-weight:500;margin-bottom:8px}.form-control{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-control:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#dc3545}.error-message,.success-message{font-size:14px;margin-bottom:20px}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;padding:12px 16px}@media (max-width:768px){.container{padding:0 16px}.btn{font-size:14px;padding:10px 20px}.card-content{padding:16px}}:root{--primary-color:#4ecdc4;--primary-dark:#20b2aa;--primary-gradient:linear-gradient(135deg,#4ecdc4,#20b2aa);--text-primary:#2c3e50;--text-secondary:#6c757d;--text-muted:#7f8c8d;--background-primary:#f8f9fa;--background-white:#fff;--border-color:#e9ecef;--border-light:#f1f3f5;--shadow-light:0 2px 8px #0000001a;--shadow-medium:0 4px 16px #00000014;--shadow-heavy:0 8px 25px #00000026;--radius-small:8px;--radius-medium:12px;--radius-large:20px}.app-auth{--primary-color:#f08b6f;--primary-dark:#e26d65;--primary-gradient:linear-gradient(135deg,#f7b394,#f08b6f);--action-primary:#2aa9a2;--action-primary-hover:#228e88;--action-secondary:#f08b6f;--action-secondary-hover:#e26d65;--action-secondary-border:#f08b6f80;--text-primary:#1f2d3d;--text-secondary:#5b6877;--text-muted:#6b7785;--background-primary:#f4f7fb;--background-white:#fff;--border-color:#e7eaf0;--border-light:#f1f3f5;--shadow-light:0 2px 10px #1f2d3d14;--shadow-medium:0 6px 20px #1f2d3d1f;--shadow-heavy:0 12px 28px #1f2d3d29}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;background-color:var(--background-primary);color:#2c3e50;color:var(--text-primary);font-family:Sarabun,Arial,sans-serif;line-height:1.6}.home-page{background:radial-gradient(circle at 15% 18%,#7be9d666,#0000 45%),radial-gradient(circle at 84% 22%,#ffcdb26b,#0000 46%),linear-gradient(135deg,#f6fbff,#fdf1ec 58%,#f9f4ff);color:#1f2d3d;min-height:100vh}.home-page .app-header,.legal-page .app-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf8f5b8;border-bottom:1px solid #4156681f;box-shadow:none;color:#1f2d3d}.home-page .header-container,.legal-page .header-container{margin:0 auto;max-width:1680px;min-height:64px;padding:.28rem clamp(1.35rem,3vw,3.5rem) .24rem}.home-page .header-left,.legal-page .header-left{justify-content:flex-start}.home-page .app-title,.legal-page .app-title{color:#21364a;font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif}.home-page .app-icon{filter:drop-shadow(0 2px 4px rgba(240,139,111,.3))}.home-page .auth-action,.legal-page .auth-action{border-color:#ea6e6566;color:#ea6e65}.home-page .auth-action.solid,.legal-page .auth-action.solid{background:linear-gradient(135deg,#f39b7f,#ea6e65);box-shadow:0 10px 22px #ea6e6540}.app-footer{background:#fff;border-top:1px solid #e7eaf0;color:#6b7785;font-size:.95rem;padding:1.5rem 1rem;text-align:center}.app-guest .app-footer{background:linear-gradient(135deg,#f6fbff,#fdf1ec 55%,#f9f4ff);border-top:none;color:#1f2d3db3}.App:has(.home-page) .app-footer{display:none}.App:has(.page-loading) .app-footer{display:none}.landing-main{--landing-ink:#1f2d3d;--landing-soft-ink:#526070;--landing-card:#ffffffd1;--landing-border:#374d5f24;--landing-accent:#e67c63;--landing-accent-dark:#d96450;--landing-highlight:#2aa9a2;--landing-highlight-soft:#7ed5c6;color:var(--landing-ink);font-family:IBM Plex Sans Thai,Sarabun,Noto Sans Thai,sans-serif;overflow:hidden;padding:clamp(2rem,4vw,3.7rem) 0 0;position:relative}.landing-floating-art{--floating-size:clamp(410px,46vw,690px);inset:0;pointer-events:none;position:absolute;z-index:1}.landing-floating-item{animation:landing-float 6s ease-in-out infinite;filter:drop-shadow(0 14px 24px rgba(17,34,51,.12));opacity:.72;position:absolute;width:var(--floating-size)}.landing-floating-art .floating-pencil-left{--rot:-16deg;--float-x:34px;left:-72px;top:110px}.landing-floating-art .floating-ruler-top{--rot:-12deg;--float-x:-34px;animation-delay:.8s;right:-86px;top:72px}.landing-floating-art .floating-eraser{--rot:11deg;--float-x:28px;animation-delay:1.3s;bottom:240px;left:-60px}.landing-floating-art .floating-half-circle-right{--rot:-8deg;--float-x:-28px;animation-delay:1.8s;bottom:180px;right:-30px}@keyframes landing-float{0%{transform:translateZ(0) rotate(0deg);transform:translateZ(0) rotate(var(--rot,0deg))}50%{transform:translate3d(0,-16px,0) rotate(1.25deg);transform:translate3d(var(--float-x,0),-16px,0) rotate(calc(var(--rot, 0deg) + 1.25deg))}to{transform:translateZ(0) rotate(0deg);transform:translateZ(0) rotate(var(--rot,0deg))}}.landing-section{margin:0 auto;padding:0 1.4rem;position:relative;width:min(1180px,100%);z-index:2}.landing-hero{padding-bottom:.55rem;text-align:center}.landing-hero-center{margin:0 auto;max-width:980px;padding:clamp(1.5rem,2.8vw,2.4rem) 0 .4rem}.landing-kicker{color:#3c5c7f;font-size:.96rem;font-weight:700;letter-spacing:.02em;margin:0 auto .9rem;max-width:760px}.landing-hero h1{font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif;font-size:clamp(2.35rem,5vw,4.15rem);line-height:1.1;margin:0}.landing-hero-description{color:var(--landing-soft-ink);font-size:1.05rem;margin:1.2rem auto 0;max-width:760px}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.35rem}.landing-hero-actions.center{justify-content:center}.landing-cta{border:1px solid #0000;border-radius:999px;cursor:pointer;font-weight:700;min-width:156px;padding:.66rem 1.35rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.landing-cta.dark{background:#101820;border-color:#101820;box-shadow:0 12px 24px #10182042;color:#fff}.landing-cta.dark:hover{background:#151f28;transform:translateY(-2px)}.landing-cta.solid{background:linear-gradient(135deg,var(--landing-accent),#f09a6c);box-shadow:0 12px 26px #e67c6347;color:#fff}.landing-cta.solid:hover{background:linear-gradient(135deg,var(--landing-accent-dark),#e9885d);transform:translateY(-2px)}.landing-cta.outline{background:#ffffffe6;border-color:#39586f47;color:#2f4b62}.landing-cta.outline:hover{box-shadow:0 8px 18px #293f5224;transform:translateY(-2px)}.landing-capabilities,.landing-value{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;padding:0}.landing-capabilities,.landing-faq,.landing-footer,.landing-parent,.landing-value,.landing-workflow{width:min(1360px,100%)}.landing-capability-row{grid-gap:1.35rem;display:grid;gap:1.35rem;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-capability-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(180deg,#ffffff75,#fff3);border:1px solid #3f586c1f;border-radius:24px;box-shadow:0 18px 40px #1b2e3d14;min-height:250px;padding:1.55rem 1.35rem;transition:transform .2s ease,box-shadow .2s ease}.landing-capability-card:hover{box-shadow:0 22px 46px #1b2e3d1f;transform:translateY(-2px)}.landing-capability-icon{align-items:center;background:#4c6e8721;border-radius:50%;display:inline-flex;font-size:.92rem;height:26px;justify-content:center;width:26px}.landing-capability-icon.large{background:#0000;border-radius:0;height:84px;margin:0 auto .95rem;width:118px}.landing-capability-icon-image{display:block;height:100%;object-fit:contain;width:100%}.landing-capability-card h3{font-size:1.58rem;line-height:1.25;margin:0 0 .62rem}.landing-capability-card p{color:var(--landing-soft-ink);font-size:1.08rem;line-height:1.62;margin:0}.landing-capability-card.centered{text-align:center}.landing-asset-placeholder{align-items:center;background:linear-gradient(125deg,#ffffffd1,#f4faffc7),repeating-linear-gradient(-45deg,#41576c0d,#41576c0d 8px,#41576c05 0,#41576c05 16px);border:1.5px dashed #405b6e52;border-radius:16px;display:flex;justify-content:center;min-height:140px;padding:1rem}.landing-asset-placeholder span{color:#3f5f78;font-size:.98rem;font-weight:600;line-height:1.45;text-align:center}.landing-section+.landing-section{margin-top:3.5rem}.landing-section-head{grid-gap:.25rem;display:grid;gap:.25rem;max-width:860px}.landing-section-chip{align-items:center;background:#ffffffbd;border:1px solid #40596d38;border-radius:999px;color:#35546a;display:inline-flex;font-size:.78rem;font-weight:700;letter-spacing:.06em;padding:.3rem .62rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.landing-section-head h2{font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif;font-size:clamp(1.85rem,3vw,2.5rem);margin:0}.landing-section-head p{color:var(--landing-soft-ink);font-size:1.02rem;margin-top:.7rem}.landing-value-stack{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.25rem);margin-top:1.75rem;margin-inline:auto;max-width:1240px;width:min(1240px,100%)}.landing-value-head{margin-bottom:0;padding-block:2.35rem 1.2rem;text-align:center}.landing-value-head:after{background:linear-gradient(90deg,var(--landing-accent) 0 46%,var(--landing-highlight) 46% 100%);border-radius:999px;content:"";display:block;height:8px;margin:1rem auto 0;width:min(190px,38vw)}.landing-value-head h2{color:#1f2d3d;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.06;margin:0}.landing-value-head h2,.landing-value-head p{font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif}.landing-value-head p{color:#3f6f78;font-size:clamp(1.08rem,2vw,1.5rem);font-weight:600;line-height:1.15;margin:.35rem 0 0}.landing-value-feature{grid-gap:clamp(1.5rem,4vw,3rem);align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,.72fr) minmax(420px,1fr);padding:clamp(1rem,2.5vw,1.8rem) 0}.landing-value-feature.reverse{grid-template-columns:minmax(420px,1fr) minmax(0,.72fr)}.landing-value-feature.reverse .landing-value-visual{order:1}.landing-value-feature.reverse .landing-value-copy{order:2}.landing-value-copy{grid-gap:.95rem;align-content:center;display:grid;gap:.95rem;width:min(100%,560px)}.landing-value-copy h3{color:var(--landing-accent);font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif;font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.08;margin:0;max-width:16ch}.landing-value-copy p{color:#4b6874;font-size:1.02rem;line-height:1.72;margin:0;max-width:52ch}.landing-value-visual{align-items:center;display:flex;justify-content:center}.landing-value-asset{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at top left,#6f9de41f,#0000 42%),radial-gradient(circle at right center,#adceff1a,#0000 48%),linear-gradient(145deg,#f9fcffeb,#f1f7ffe6);border:1px solid #cfdceb;border-radius:28px;box-shadow:0 16px 36px #2f73d614,inset 0 1px 0 #ffffffb3;margin:0;min-height:0;overflow:hidden;padding:clamp(.45rem,1.3vw,.75rem);width:min(100%,780px)}.landing-value-asset img{display:block;height:auto;margin:0 auto;max-height:none;object-fit:cover;object-position:center;width:100%}.landing-workflow-track{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.25rem}.landing-workflow-card{align-content:start;display:grid;justify-items:center;min-height:265px;padding:.5rem .35rem;position:relative;text-align:center}.landing-workflow-card:not(:last-child):after{color:#b24e399e;content:"→";font-size:2.8rem;line-height:1;position:absolute;right:-1.2rem;top:46%;transform:translateY(-50%)}.landing-workflow-image{align-items:center;display:flex;justify-content:center;margin-top:.7rem;min-height:148px;width:100%}.landing-workflow-image img{display:block;max-height:148px;object-fit:contain;width:min(86%,250px)}.landing-workflow-number{align-items:center;border:1px solid #0000;border-radius:50%;display:inline-flex;font-weight:700;height:34px;justify-content:center;width:34px}.landing-workflow-number.step-1{background:#488aff29;border-color:#488aff61;color:#2f75f6}.landing-workflow-number.step-2{background:#ffba4c2e;border-color:#eb9f3066;color:#c67b1f}.landing-workflow-number.step-3{background:#ffa65e30;border-color:#f08a3e6b;color:#c66328}.landing-workflow .landing-section-head{justify-items:center;max-width:none;text-align:center}.landing-workflow .landing-section-head h2{color:#24384d;font-size:clamp(2.35rem,4.6vw,3.25rem);font-weight:700;line-height:1.08}.landing-workflow-card h3{font-size:1.04rem;line-height:1.35;margin:.45rem 0 0;min-height:2.7em}.landing-workflow-card p{color:var(--landing-soft-ink);font-size:.9rem;line-height:1.5;margin:.3rem 0 0;max-width:30ch}.landing-parent-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.landing-parent-card{background:#ffffffe6;border:1px solid var(--landing-border);border-radius:18px;padding:1.18rem 1.12rem}.landing-parent-card.pain{box-shadow:inset 0 0 0 1px #af6f5d24}.landing-parent-card.solution{box-shadow:inset 0 0 0 1px #487b8a29}.landing-parent-card h3{font-size:1.17rem;margin:0}.landing-bullet-list{grid-gap:.56rem;display:grid;gap:.56rem;list-style:none;margin:.9rem 0 0;padding:0}.landing-bullet-list li{color:var(--landing-soft-ink);padding-left:1.42rem;position:relative}.landing-bullet-list li:before{color:#d96c52;content:"•";font-size:1.12rem;left:.4rem;line-height:1;position:absolute}.landing-asset-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.landing-faq-shell{grid-gap:1.3rem;align-items:start;display:grid;gap:1.3rem;grid-template-columns:minmax(300px,.42fr) minmax(0,1fr)}.landing-faq-intro h2{font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.06;margin:0}.landing-faq-intro p{color:#384655;font-size:clamp(1.08rem,1.9vw,1.9rem);font-weight:700;line-height:1.2;margin:.52rem 0 0}.landing-faq-list{grid-gap:.72rem;display:grid;gap:.72rem}.landing-faq-item{animation:landingFaqFadeUp .46s ease both;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffff8a;border:1px solid #344d5e24;border-radius:16px;opacity:1;padding:.86rem 1rem;transform:translateY(0);transition:transform .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease}.landing-faq-item:first-child{animation-delay:.06s}.landing-faq-item:nth-child(2){animation-delay:.12s}.landing-faq-item:nth-child(3){animation-delay:.18s}.landing-faq-item:nth-child(4){animation-delay:.24s}.landing-faq-item:focus-within,.landing-faq-item:hover{border-color:#3f5e7447;box-shadow:0 10px 24px #1c2d3d1a;transform:translateY(-2px)}.landing-faq-item.is-open{background:#ffffffe0;border-color:#3a526338;box-shadow:0 8px 22px #1c2d3d14}.landing-faq-trigger{-webkit-appearance:none;appearance:none;background:#0000;border:0;color:#1f2d3d;cursor:pointer;display:block;font-family:inherit;font-size:1.02rem;font-weight:700;line-height:1.45;padding:0 1.4rem 0 0;position:relative;text-align:left;transition:color .2s ease;width:100%}.landing-faq-item:focus-within .landing-faq-trigger,.landing-faq-trigger:hover{color:#163b55}.landing-faq-trigger:focus-visible{border-radius:8px;outline:2px solid #456d886b;outline-offset:4px}.landing-faq-trigger:after{color:#617182;content:"▾";font-size:1rem;position:absolute;right:.08rem;top:.12rem;transition:transform .2s ease,color .2s ease}.landing-faq-item.is-open .landing-faq-trigger:after{color:#334454;transform:rotate(180deg)}.landing-faq-answer{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transform:translateY(-6px);transition:grid-template-rows .36s ease,opacity .26s ease,transform .3s ease}.landing-faq-answer-inner{min-height:0;overflow:hidden}.landing-faq-answer p{border-top:1px solid #566b7e29;color:var(--landing-soft-ink);font-size:1rem;line-height:1.75;margin:.64rem 0 0;padding-top:.58rem}.landing-faq-item.is-open .landing-faq-answer{grid-template-rows:1fr;opacity:1;transform:translateY(0)}@keyframes landingFaqFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.landing-footer{border-top:1px solid #354f642e;margin-top:1.6rem;padding-bottom:2.4rem;padding-top:.9rem}.landing-footer-main{grid-gap:2.25rem;align-items:start;display:grid;gap:2.25rem;grid-template-columns:1.45fr 1fr 1fr 1fr;margin-top:.1rem;padding:.85rem 0 0}.landing-footer-meta{align-items:center;border-top:1px solid #344f6538;display:flex;gap:.8rem;grid-column:1/-1;justify-content:space-between;margin-top:.55rem;padding-top:.95rem}.landing-footer-col h3,.landing-footer-col h4{color:#1f3042;margin:0}.landing-footer-col h4{font-size:1.12rem}.landing-footer-brand-head{align-items:center;display:flex;gap:.7rem;margin-bottom:-6px;margin-top:-10px}.landing-footer-logo{height:132px;object-fit:contain;width:132px}.landing-footer-brand p{line-height:1.5;max-width:480px}.landing-footer-col p{color:var(--landing-soft-ink);margin:.55rem 0 0}.landing-footer-col ul{grid-gap:.55rem;color:var(--landing-soft-ink);display:grid;gap:.55rem;list-style:none;margin:.65rem 0 0;padding:0}.landing-footer-col a{color:#2f4c62;font-weight:600;text-decoration:none}.landing-footer-col a:hover{color:#1f3a4f;text-decoration:underline;text-underline-offset:3px}.landing-contact-qr{background:repeating-linear-gradient(45deg,#5cb26e26,#5cb26e26 6px,#ffffffeb 0,#ffffffeb 12px);border:2px solid #68bb796b;border-radius:14px;color:#2f9c4f;display:grid;font-weight:800;height:108px;letter-spacing:.03em;margin-top:.35rem;place-items:center;width:108px}.landing-footer-legal-links{align-items:center;color:#567086;display:inline-flex;flex-wrap:wrap;font-size:.95rem;gap:.55rem}.landing-footer-legal-links a{color:#27465d;font-weight:700;text-decoration:none}.landing-footer-legal-links a:hover{color:#1c3a50;text-decoration:underline;text-underline-offset:3px}.landing-footer-copy{color:#294153c2;font-size:.9rem;margin:0}@media (max-width:1100px){.landing-capability-row{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-parent-grid,.landing-workflow-track{grid-template-columns:1fr}.landing-workflow-card:not(:last-child):after{bottom:-1.2rem;content:"↓";right:50%;top:auto;transform:translateX(50%)}.landing-workflow-card{min-height:0}.landing-workflow-image{min-height:124px}.landing-workflow-image img{max-height:126px;width:min(82%,220px)}.landing-value-feature{grid-template-columns:1fr}.landing-asset-grid,.landing-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-faq-shell{gap:.95rem;grid-template-columns:1fr}.landing-footer-meta{align-items:flex-start;flex-direction:column}}@media (max-width:768px){.landing-main{padding-top:1.5rem}.landing-section{padding:0 1rem}.landing-floating-item{opacity:.5;width:330px}.landing-floating-art .floating-pencil-left{--float-x:22px;left:-66px;top:120px}.landing-floating-art .floating-ruler-top{--float-x:-22px;right:-76px;top:95px}.landing-floating-art .floating-eraser{display:none}.landing-floating-art .floating-half-circle-right{--float-x:-20px;bottom:220px;right:-78px}.landing-kicker{font-size:.88rem}.landing-hero h1{font-size:clamp(2rem,9vw,2.7rem)}.landing-hero-description{font-size:.95rem}.landing-cta{margin-inline:auto;width:min(100%,280px)}.landing-hero-actions{justify-content:center;width:100%}.landing-capability-row{grid-template-columns:1fr}.landing-capability-card{border-radius:18px;min-height:0;padding:1.06rem .9rem}.landing-capability-icon.large{height:68px;margin-bottom:.62rem;width:94px}.landing-capability-icon-image{height:100%;width:100%}.landing-capability-card h3{font-size:1.24rem}.landing-capability-card p{font-size:.98rem}.landing-asset-grid{grid-template-columns:1fr}.landing-value-stack{margin-top:1.35rem}.landing-value-feature{gap:1.15rem;padding:.4rem 0}.landing-value-feature.reverse{grid-template-columns:1fr}.landing-value-copy{gap:.75rem}.landing-value-copy h3{font-size:clamp(1.7rem,8vw,2.2rem);max-width:100%}.landing-value-copy p{font-size:.98rem;max-width:100%}.landing-value-asset{border-radius:16px;min-height:0;padding:.5rem}.landing-footer-main{grid-template-columns:1fr}.landing-faq-intro h2{font-size:clamp(1.9rem,8vw,2.45rem)}.landing-faq-intro p{font-size:1.05rem}.landing-value-head p{font-size:1.02rem}}@media (prefers-reduced-motion:reduce){.landing-cta,.landing-faq-answer,.landing-faq-item,.landing-faq-trigger,.landing-faq-trigger:after,.landing-floating-item{animation:none;transition:none}}.legal-page{background:radial-gradient(circle at 14% 16%,#7be9d659,#0000 44%),radial-gradient(circle at 84% 24%,#ffcdb257,#0000 46%),linear-gradient(135deg,#f6fbff,#fdf1ec 58%,#f9f4ff);min-height:100vh}.legal-main{margin:0 auto;padding:clamp(2.3rem,4vw,3.35rem) 1.2rem 3.4rem;width:min(980px,100%)}.legal-document{text-wrap:pretty;color:#1f3550;margin:0 auto;overflow-wrap:break-word;padding:.25rem .25rem 1.2rem;text-align:left;width:min(760px,100%);word-break:normal}.legal-breadcrumb{align-items:center;color:#55697d;display:flex;flex-wrap:wrap;font-size:.92rem;gap:.46rem;margin-bottom:.85rem}.legal-breadcrumb a{color:#2e4b60;font-weight:700;text-decoration:none}.legal-breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}.legal-title{color:#122c4c;font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif;font-size:clamp(2rem,3.1vw,2.8rem);letter-spacing:0;line-height:1.18;margin:0}.legal-updated{color:#4f6377;font-size:1rem;line-height:1.7;margin:1rem 0 0}.legal-summary{color:#3f566d;font-size:1.05rem;line-height:1.9;margin:1.15rem 0 0}.legal-intro{grid-gap:.72rem;display:grid;gap:.72rem;margin-top:1rem}.legal-intro p{color:#3f566d;font-size:1.05rem;line-height:1.9;margin:0}.legal-meta{align-items:center;color:#617485;display:flex;flex-wrap:wrap;font-size:.91rem;gap:.45rem;margin-top:1.15rem}.legal-meta span{background:#ffffffbf;border:1px solid #566b7d38;border-radius:999px;padding:.3rem .64rem}.legal-error,.legal-loading{font-size:.94rem;margin-top:.72rem}.legal-loading{color:#4f6377}.legal-error{color:#ad4d3f}.legal-sections{grid-gap:0;display:grid;gap:0;margin-top:1.35rem}.legal-section-block{border-top:1px solid #48607438;padding:1.45rem 0 1.35rem}.legal-section-block h2{color:#122c4c;font-family:K2D,IBM Plex Sans Thai,Sarabun,sans-serif;font-size:clamp(1.42rem,2vw,1.9rem);letter-spacing:0;line-height:1.32;margin:0}.legal-section-block ul{grid-gap:.74rem;color:#3f566d;display:grid;font-size:1.03rem;gap:.74rem;line-height:1.85;margin:1rem 0 0;padding-left:1.25rem}.legal-section-block li::marker{color:#2f73d6}.legal-contact{border-top:1px solid #48607438;color:#3f5569;font-weight:700;line-height:1.75;margin:1.25rem 0 0;padding-top:1rem}@media (max-width:768px){.legal-main{padding:1.45rem 1rem 2.2rem}.legal-title{font-size:clamp(1.72rem,8vw,2.25rem)}.legal-intro p,.legal-section-block ul,.legal-summary{font-size:.98rem;line-height:1.82}.legal-section-block h2{font-size:clamp(1.2rem,6vw,1.6rem)}}.login-page{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{animation:fadeInUp .6s ease;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;max-width:450px;padding:40px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px;text-align:center}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4ecdc4,#44a08d);-webkit-background-clip:text;background-clip:text;font-size:28px;margin-bottom:8px}.login-header h2{color:#2c3e50;font-size:20px;margin-bottom:12px}.login-header p{color:#6c757d;font-size:14px}.login-form{margin-bottom:30px}.login-button{background:linear-gradient(135deg,#4ecdc4,#20b2aa);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:14px 24px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#20b2aa,#4ecdc4);box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.demo-credentials{background:#f8f9fa;background:var(--background-primary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-small);padding:1.5rem;text-align:center}.demo-credentials h3{color:#2c3e50;font-size:16px;margin-bottom:12px}.demo-account p{color:#6c757d;font-size:14px;margin:4px 0}.browse-section{display:flex;flex-direction:column;gap:1.55rem}.browse-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.browse-header-row h2{color:#2c3e50;color:var(--text-primary);font-size:clamp(2rem,3vw,3rem);font-weight:800;line-height:1.08;margin:0 0 .2rem}.browse-header-row p{color:#6c757d;color:var(--text-secondary);margin:0}.all-courses-hero{align-items:center;background:linear-gradient(135deg,#4ecdc433,#20b2aa26);border-radius:20px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;overflow:hidden;padding:1.75rem 2rem;position:relative}.all-courses-hero:after{background:radial-gradient(circle at 80% 20%,#4ecdc459,#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.all-courses-hero h2{color:#2c3e50;color:var(--text-primary);font-size:2rem;margin-bottom:.4rem}.all-courses-hero p{color:#6c757d;color:var(--text-secondary);font-size:1rem}.hero-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.85rem}.hero-meta span{background:#fff;border-radius:999px;box-shadow:0 10px 26px #2d496f1a;color:#10294c;font-weight:800;padding:.66rem 1.15rem}.course-search-bar{margin:0}.browse-filters{display:flex;flex-direction:column;gap:.9rem}.browse-filter-group{grid-gap:.62rem;background:#0000;border:none;border-bottom:1px solid #e6edf7;border-radius:0;display:grid;gap:.62rem;min-width:0;padding:0 0 .95rem}.browse-filter-group:last-of-type{border-bottom:none;padding-bottom:.2rem}.browse-filter-title{color:#1f2937;font-size:.9rem;font-weight:600;margin:0}.browse-checkbox-list{grid-gap:.48rem;display:grid;gap:.48rem;max-height:240px;overflow:auto;padding-right:2px}.browse-checkbox-columns{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.browse-checkbox-list.grade-column{max-height:none;overflow:visible}.browse-checkbox-item{align-items:center;border-radius:999px;color:#334155;display:flex;font-size:.9rem;gap:.5rem;min-height:26px;padding:.1rem .25rem;transition:background .18s ease,color .18s ease}.browse-checkbox-item.checked{background:#4b86f21c;color:#12396e;font-weight:700}.browse-checkbox-item input{accent-color:#4b86f2;height:16px;width:16px}.browse-filter-clear{background:#fff;border:1px solid #4b86f29e;border-radius:10px;color:#2f73d6;cursor:pointer;font-weight:700;padding:.68rem .8rem}.search-field{align-items:center;background:#fff;border:1px solid #0000;border-radius:999px;box-shadow:0 16px 32px #2d496f17;display:flex;gap:.85rem;padding:.72rem 1.15rem}.search-field:focus-within{border-color:#4b86f2a6;box-shadow:0 0 0 4px #4b86f221,0 16px 32px #2d496f17}.search-field input{border:none;flex:1 1;font-size:1rem;outline:none}.search-icon{color:#7d91b5;flex:0 0 auto}.search-clear{background:#4ecdc426;border:none;border-radius:999px;color:#20b2aa;color:var(--primary-dark);cursor:pointer;font-weight:600;padding:.35rem .75rem}.sort-dropdown{align-items:center;background:#fff;border-radius:999px;box-shadow:0 10px 26px #2d496f1a;color:#10294c;display:flex;font-weight:800;gap:.45rem;padding:.58rem .8rem .58rem 1rem}.sort-dropdown:after{color:#16345f;content:"⌄";font-weight:900;line-height:1}.sort-dropdown select{-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#2c3e50;color:var(--text-primary);cursor:pointer;font-weight:800;outline:none}.recommended-section{background:#fff;border:1px solid #f1f3f5;border:1px solid var(--border-light);border-radius:18px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-light);padding:1.5rem}.recommended-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.recommended-header h2{margin-bottom:.25rem}.recommended-header p{color:#6c757d;color:var(--text-secondary)}.recommended-badge{background:linear-gradient(135deg,#4ecdc4,#20b2aa);background:var(--primary-gradient);border-radius:999px;color:#fff;font-size:.85rem;font-weight:600;padding:.4rem .9rem}.ai-tooltip{display:inline-flex;font-size:.9rem;margin-left:.4rem}.recommended-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.browse-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:280px minmax(0,1fr)}.filter-panel{background:#fff;border:1px solid #dce8f6;border-radius:18px;box-shadow:0 12px 30px #25406414;height:-webkit-fit-content;height:fit-content;padding:1.3rem 1.25rem 1.1rem;position:-webkit-sticky;position:sticky;top:110px}.course-results{min-width:0}.filter-panel-content{display:flex;flex-direction:column;gap:1rem}.filter-panel-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.filter-panel-header h3{align-items:center;color:#10294c;display:inline-flex;font-size:1.08rem;gap:.5rem}.filter-clear-link{color:#2f73d6;font-weight:800;padding:0;white-space:nowrap}.filter-clear,.filter-clear-link{background:#0000;border:none;cursor:pointer}.filter-clear{color:#20b2aa;color:var(--primary-dark);font-weight:600}.filter-section{margin-bottom:1.25rem}.filter-section h4{color:#2c3e50;color:var(--text-primary);font-size:.95rem;margin-bottom:.5rem}.filter-chip-group{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{background:#fff;border:1px solid #4ecdc433;border-radius:999px;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:.4rem .85rem;transition:all .2s ease}.filter-chip.active{background:linear-gradient(135deg,#4ecdc4,#20b2aa);background:var(--primary-gradient);border-color:#0000;color:#fff}.course-results-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1200px){.course-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.course-results-grid{grid-template-columns:1fr}}.course-card-new{background:#fff;border:1px solid #dce8f6;border-radius:20px;box-shadow:0 12px 26px #25406414;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.course-card-new:hover{box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.course-card-new:focus-visible{outline:3px solid #2aa9a259;outline-offset:2px}.course-card-new.highlight{border-color:#2aa9a259;box-shadow:0 14px 30px #2aa9a226}.course-card-new.highlight:before{border-left:4px solid #2aa9a2b3;border-radius:18px;content:"";inset:0;pointer-events:none;position:absolute}.course-card-new.expiring-soon{border-color:#f59e0b80;box-shadow:0 12px 24px #f59e0b29}.course-card-new.expired{border-color:#ef444480;box-shadow:0 12px 24px #ef444424}.course-card-new.expired:before{display:none}.course-card-new.compact{padding:1rem}.course-card-content{display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem}.course-card-cover{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;height:132px;overflow:hidden;position:relative;width:100%}.course-card-cover img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.course-card-cover-image{opacity:0;position:relative;transition:opacity .24s ease;z-index:1}.course-card-cover-image.is-visible{opacity:1}.course-card-cover-skeleton{background:#e6edf8;border-radius:inherit;inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:2}.course-card-cover-skeleton:after{animation:course-card-cover-shimmer 1.15s ease-in-out infinite;background:linear-gradient(90deg,#e6edf800,#ffffffd1,#e6edf800);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes course-card-cover-shimmer{to{transform:translateX(100%)}}.browse-section .course-card-cover{height:clamp(156px,20vw,188px)}.course-card-cover-fallback{align-items:center;background:linear-gradient(135deg,#e5f3ff,#f3f7ff);color:#0f766e;display:flex;font-size:1rem;font-weight:700;height:100%;justify-content:center;position:relative;width:100%;z-index:1}.course-favorite-btn{align-items:center;background:#fffffff0;border:2px solid #dbe8ff;border-radius:999px;box-shadow:0 8px 18px #1f37571a;color:#6c85ad;cursor:pointer;display:inline-flex;height:38px;justify-content:center;position:absolute;right:10px;top:10px;width:38px;z-index:3}.course-card-header{display:flex;gap:1rem;justify-content:space-between}.course-card-header h3{color:#2c3e50;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0 0 .25rem}.course-card-desc{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#6c757d;color:var(--text-secondary);display:-webkit-box;font-size:.88rem;overflow:hidden}.course-card-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.35rem}.browse-course-rating{background:#ffd66640;border-radius:999px;font-weight:600;padding:.35rem .7rem}.browse-course-price{background:#0000;border-radius:0;color:#ec7425;font-size:.95rem;font-weight:700;padding:0;white-space:nowrap}.course-highlight-badge{background:#2aa9a21f;border-radius:999px;color:#11766f;font-size:.75rem;font-weight:700;padding:.25rem .65rem}.course-card .course-highlight-badge{align-self:flex-start}.course-badges{display:flex;flex-wrap:wrap;gap:.5rem}.browse-badge{border-radius:999px;font-size:.8rem;font-weight:600;padding:.25rem .65rem}.browse-badge.subject{background:#4b86f221;color:#2f73d6}.browse-badge.grade{background:#f08b6f33;color:#b85b47}.course-stats{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.course-stats span{align-items:center;color:#6c757d;color:var(--text-secondary);display:inline-flex;font-size:.8rem;gap:.35rem;white-space:nowrap}.course-stats strong{display:block;font-weight:700}.browse-progress{background:#2aa9a21f;border-radius:12px;padding:.6rem .8rem}.progress-row{color:#6c757d;color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.4rem}.browse-progress-bar{background:#2aa9a233;border-radius:999px;height:6px;overflow:hidden}.browse-progress-bar span{background:var(--action-primary);display:block;height:100%}.course-card-footer{display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:.45rem}.course-teacher{align-items:center;color:#6c757d;color:var(--text-secondary);display:inline-flex;font-size:.9rem;gap:.4rem}.course-teacher svg{color:#2f73d6}.course-teacher-avatar{align-items:center;background:#e6f0ff;border-radius:999px;color:#2f73d6;display:inline-flex;font-size:.78rem;font-weight:800;height:24px;justify-content:center;width:24px}.course-price-footer{align-self:flex-end;font-size:.86rem;margin-top:.1rem}.browse-actions{align-content:flex-start;display:flex;flex-wrap:nowrap;gap:.5rem}.course-card-actions{display:flex;flex-direction:column;gap:.45rem;margin-top:auto;min-height:108px;padding-top:.85rem}.browse-action{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;flex:1 1;font-weight:600;justify-content:center;min-height:44px;padding:.55rem 1.1rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.browse-action:focus-visible{outline:3px solid #2aa9a259;outline-offset:2px}.browse-action:disabled{cursor:not-allowed;opacity:.6}.browse-action.primary{background:#fff;border-color:#4b86f2b8;color:#2f73d6}.browse-action.primary:hover{background:#4b86f214;transform:translateY(-1px)}.browse-action.secondary{background:linear-gradient(135deg,#f6943e,#ec7425);border-color:#0000;box-shadow:0 8px 16px #ec742533;color:#fff}.browse-action.secondary:hover{filter:brightness(1.03)}.browse-action.secondary.expired{background:#ef444424;color:#b42318}.browse-action.secondary.expired:hover{background:#ef444438}.browse-action.secondary.disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.course-expiry-note{color:#6f7d8c;font-size:.76rem;line-height:1.3;margin-top:auto;padding-top:.35rem;text-align:right}.course-expiry-note.expiring-soon{color:#b45309}.course-expiry-note.expired{color:#b42318;font-weight:600}.browse-action.tertiary{background:#0000;border:1px dashed #f08b6f66;color:var(--action-secondary)}.browse-action:active{transform:scale(.98)}.browse-empty-state{background:#fff;border:2px dashed #d1d5db;border-radius:16px;color:#6c757d;color:var(--text-secondary);padding:2.5rem 2rem;text-align:center}.browse-empty-state h3{color:#2c3e50;color:var(--text-primary);margin-bottom:.5rem}.browse-empty-icon{font-size:2.5rem;margin-bottom:1rem}.browse-empty-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.mobile-filter-button{align-items:center;background:linear-gradient(135deg,#4ecdc4,#20b2aa);background:var(--primary-gradient);border:none;border-radius:999px;bottom:24px;box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy);color:#fff;display:none;font-weight:600;gap:.5rem;padding:.75rem 1.4rem;position:fixed;right:20px;z-index:30}.filter-badge{background:#fff;border-radius:999px;color:#20b2aa;color:var(--primary-dark);font-size:.75rem;font-weight:700;padding:.2rem .6rem}.filter-sheet-overlay{align-items:flex-end;background:#0f172a73;display:flex;inset:0;position:fixed;z-index:40}.filter-sheet{background:#fff;border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto;padding:1.5rem 1.25rem 2rem;width:100%}.filter-sheet-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.filter-sheet-header button{background:#0000;border:none;color:#20b2aa;color:var(--primary-dark);font-weight:600}@media (max-width:1024px){.browse-layout{grid-template-columns:1fr}.filter-panel{display:none}.mobile-filter-button{display:inline-flex}}@media (max-width:768px){.all-courses-hero{padding:1.5rem}.course-stats{grid-template-columns:1fr}}.app-header{background:linear-gradient(135deg,#4ecdc4,#20b2aa);background:var(--primary-gradient);box-shadow:0 2px 4px #0000001a;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-auth .app-header{background:linear-gradient(135deg,#3f6f83,#4c8296);box-shadow:0 8px 18px #27556742}.header-container{height:auto;justify-content:space-between;margin:0;max-width:none;min-height:54px;padding:.46rem 1.2rem;position:relative;width:100%}.header-container,.header-left{align-items:center;display:flex}.header-left{justify-content:flex-start}.header-center{align-items:center;display:inline-flex;justify-content:center;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%)}.header-right{align-items:flex-start;display:flex;justify-content:flex-end;justify-self:flex-end;margin-left:auto}.header-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:3.5rem;pointer-events:auto}.header-tab{background:#0000;border:none;color:#f0f8ffeb;cursor:pointer;font-size:1rem;font-weight:600;padding:.2rem 0;transition:color .2s ease,opacity .2s ease}.header-tab:hover{color:#fff;opacity:.9}.header-tab.active{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.app-title-link{color:inherit;text-decoration:none;transition:opacity .2s ease}.app-title-link:hover{opacity:.8}.app-title{align-items:center;color:#f6fbff;cursor:pointer;display:inline-flex;font-size:1.65rem;font-weight:700;gap:0;line-height:1;margin:0;white-space:nowrap}.app-logo{display:block;height:auto;object-fit:contain;width:clamp(86px,7vw,122px)}.user-info{position:relative}.auth-actions{align-items:center;display:flex;gap:12px}.auth-action{background:#0000;border:2px solid #ffffffbf;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:.45rem 1.4rem;transition:all .2s ease}.auth-action:hover{box-shadow:0 6px 14px #00000026;transform:translateY(-1px)}.auth-action.outline{background:#0000}.auth-action.solid{background:#fff;border-color:#fff;color:#1c8f86}.auth-action.solid:hover{box-shadow:0 6px 16px #ffffff4d}.user-menu-trigger{align-items:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:8px 16px;transition:all .2s ease}.user-menu-trigger:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#4ecdc4,#20b2aa);border-radius:50%;box-shadow:0 2px 8px #fff3;color:#fff;display:flex;font-size:.8rem;font-weight:600;height:28px;justify-content:center;width:28px}.user-details{align-items:flex-start;display:flex;flex-direction:column}.user-name{color:#fff;font-size:14px;font-weight:600}.dropdown-arrow,.user-id{color:#fffc;font-size:12px}.dropdown-arrow{transition:transform .2s ease}.user-dropdown{animation:dropdownFadeIn .2s ease;background:#fff;border:2px solid #e1e8ed;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:4px;min-width:200px;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;display:flex;gap:12px;padding:16px}.user-avatar-large{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);border-radius:50%;display:flex;font-size:24px;height:50px;justify-content:center;width:50px}.dropdown-name{color:#2c3e50;font-weight:600}.dropdown-id{color:#6c757d;font-size:12px}.dropdown-divider{background:#e9ecef;background:var(--border-color);height:1px;margin:0 1rem}.menu-action-button{background:none;border:none;color:#2f3d4d;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.menu-action-button:hover{background:#f4f7fb;color:#1f2d3d}.logout-button{background:none;border:none;border-radius:0 0 12px 12px;border-radius:0 0 var(--radius-medium) var(--radius-medium);border-top:1px solid #e9ecef;border-top:1px solid var(--border-color);color:#e74c3c;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.logout-button:hover{background:#fdf2f2;color:#c0392b}.dashboard-page{background:#f8f9fa;min-height:100vh}.app-auth .course-page,.app-auth .dashboard-page,.app-auth .lesson-page,.app-auth .quiz-interface{background:radial-gradient(circle at 20% 10%,#f39b7f26,#0000 40%),radial-gradient(circle at 80% 5%,#7be9d640,#0000 45%),linear-gradient(135deg,#f7f9fc,#fdf1ec 55%,#f4f6ff)}.app-auth .course-header{background:#ffffffeb;border-bottom:1px solid #1f2d3d14}.dashboard-main{padding:2rem 0}.dashboard-container{margin:0 auto;max-width:1400px;padding:0 2rem}.payment-history-page{min-height:100vh}.payment-history-main{padding:2rem 0}.payment-history-shell{margin:0 auto;max-width:1200px}.payment-history-shell .payment-history-header h1{color:#18354f;font-size:1.5rem;font-weight:700;margin:0}.chat-tutor-page{background:radial-gradient(circle at 10% 8%,#4ecdc41f,#0000 40%),radial-gradient(circle at 88% 12%,#f08b6f17,#0000 38%),#f4f7fb;display:flex;flex-direction:column;height:100dvh;min-height:100vh;overflow:hidden}.chat-tutor-main{display:flex;flex:1 1;min-height:0;overflow:hidden;padding:12px 18px 14px}.chat-tutor-shell{flex:1 1;height:100%;margin:0 auto;max-width:1120px;min-height:0;width:100%}.chat-tutor-room{background:#fff;border:1px solid #e1e8f0;border-radius:18px;box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-medium);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.chat-tutor-room-header{align-items:center;background:linear-gradient(140deg,#f9fcff,#f3f8fc);border-bottom:1px solid #e6edf5;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.chat-tutor-room-header h1{color:#1f2d3d;font-size:1.2rem;margin:0 0 2px}.chat-tutor-room-header p{color:#64748b;font-size:.92rem;margin:0}.chat-tutor-room-header button{background:#fff;border:1px solid #d8e2ee;border-radius:999px;color:#2f3d4d;cursor:pointer;font-weight:600;padding:.5rem .95rem}.chat-tutor-room-header button:hover{border-color:#9fcfcb;box-shadow:0 6px 14px #2aa9a21f}.chat-tutor-room-body{flex:1 1;height:100%;min-height:0}.chat-tutor-room-body .chat-interface{border-radius:0 0 18px 18px;height:100%;min-height:0;overflow:hidden}.chat-tutor-room-body .chat-messages{min-height:0;padding:16px 20px 110px}.chat-tutor-room-body .floating-input-container{bottom:2px;left:14px;right:14px}.chat-tutor-room-body .floating-chat-input{max-width:880px}.App:has(.chat-tutor-page) .app-footer{display:none}.dashboard-welcome{background:#fff;border-radius:20px;border-radius:var(--radius-large);box-shadow:0 12px 30px #00000014;padding:2.5rem}.welcome-hero{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.welcome-kicker{color:#148f8a;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.welcome-content h2{color:#1f2d3d;font-size:2rem;margin:0 0 1rem}.welcome-content p{color:#5f6b7a;font-size:1.05rem;margin-bottom:1.5rem}.welcome-actions{display:flex;flex-wrap:wrap;gap:1rem}.welcome-btn{border:2px solid #0000;border-radius:999px;cursor:pointer;font-weight:600;padding:.6rem 1.6rem;transition:all .2s ease}.welcome-btn.solid{background:linear-gradient(135deg,#4ecdc4,#20b2aa);box-shadow:0 8px 20px #20b2aa40;color:#fff}.welcome-btn.solid:hover{transform:translateY(-1px)}.welcome-btn.outline{background:#0000;border-color:#148f8a66;color:#148f8a}.welcome-btn.outline:hover{background:#148f8a14}.welcome-features{grid-gap:1rem;display:grid;gap:1rem}.welcome-feature-card{background:#f7fbfb;border:1px solid #4ecdc433;border-radius:12px;border-radius:var(--radius-medium);padding:1.25rem}.welcome-feature-card h3{color:#1f2d3d;font-size:1.1rem;margin:0 0 .5rem}.welcome-feature-card p{color:#5f6b7a;margin:0}.dashboard-hero{background:linear-gradient(135deg,#355f72,#427587 52%,#4f8799);border-radius:20px;border-radius:var(--radius-large);box-shadow:0 18px 36px #2855664d;color:#fff;margin-bottom:1.5rem;overflow:hidden;padding:2rem 2.2rem;position:relative;text-align:left}.dashboard-hero:before{background:#ffffff1a;bottom:0;content:"";position:absolute;right:0;top:0;transform:skewX(-15deg);transform-origin:top;width:200px}.dashboard-hero:after{background:radial-gradient(circle at 16% 20%,#9be6e338,#0000 42%),radial-gradient(circle at 84% 12%,#ffd6a829,#0000 44%);content:"";inset:0;opacity:.95;pointer-events:none;position:absolute}.dashboard-hero h1{color:#fff;font-size:clamp(2.45rem,5vw,3.65rem);font-weight:800;letter-spacing:.2px;line-height:1.1;margin-bottom:.4rem;text-shadow:0 2px 10px #1f2d3d33}.dashboard-hero p{margin:0}.dashboard-hero-headline{color:#fffffff5;font-size:1.2rem;font-weight:700;margin-bottom:.28rem!important}.dashboard-hero-message{color:#e4eef8f2;font-size:1rem;font-weight:600;line-height:1.45;margin-bottom:.35rem!important}.dashboard-hero-motivation{color:#daf2fbf2;font-size:.92rem;font-weight:500;line-height:1.35;margin-bottom:.7rem!important}.dashboard-greeting{color:#ffffffe6;display:inline-block;font-size:1.02rem;font-weight:700;margin-bottom:.45rem}.dashboard-benefits{color:#fffffff2;font-size:.95rem;margin:0 0 .5rem;padding-left:1.2rem}.dashboard-benefits li{margin-bottom:.35rem}.dashboard-note{background:#1b4d6285;border:1px solid #ade8e566;border-radius:999px;color:#eef9ff;display:inline-block;font-size:.9rem;max-width:min(100%,540px);overflow:hidden;padding:.42rem .78rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-hero-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.dashboard-progress-pill{align-items:center;background:#2da4993d;border:1px solid #7de9e273;border-radius:999px;color:#ebfffe;display:inline-flex;font-size:.85rem;font-weight:600;padding:.42rem .78rem}.dashboard-cta{margin-bottom:1.5rem}.dashboard-cta-card{display:flex;flex-wrap:wrap;gap:1rem}.primary-cta-btn,.secondary-cta-btn{border:none;border-radius:14px;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:.85rem 1.5rem;transition:all .2s ease}.primary-cta-btn{align-items:center;background:linear-gradient(135deg,#2b9892,#34a8a2);box-shadow:0 10px 22px #2b989257;color:#fff;display:inline-flex;justify-content:center;max-width:min(100%,540px);overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.primary-cta-btn:hover{background:linear-gradient(135deg,#31a19b,#3db8b2);box-shadow:0 14px 26px #2daea859;transform:translateY(-1px)}.primary-cta-btn:active{box-shadow:0 8px 18px #2aa9a24d;transform:scale(.98)}.ai-recommendation-btn:focus-visible,.course-action:focus-visible,.course-primary-btn:focus-visible,.course-secondary-btn:focus-visible,.exam-primary-btn:focus-visible,.exam-secondary-btn:focus-visible,.primary-cta-btn:focus-visible,.secondary-cta-btn:focus-visible{outline:3px solid #2aa9a259;outline-offset:2px}.secondary-cta-btn{background:#0000;border:2px solid #2d7f9857;color:#2d7f98}.secondary-cta-btn:hover{background:#2d7f981a;transform:translateY(-1px)}.secondary-cta-btn:active{transform:scale(.98)}.course-ai-insight{color:var(--action-primary);font-size:.85rem;font-weight:600;margin-top:.35rem}.section-title{color:#2c3e50;color:var(--text-primary);font-size:1.4rem;font-weight:600;margin-bottom:1rem}.onboarding-steps{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.onboarding-step{background:#fff;border:1px solid #f1f3f5;border:1px solid var(--border-light);border-radius:12px;border-radius:var(--radius-medium);box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-light);padding:1.25rem}.onboarding-step p{color:#2c3e50;color:var(--text-primary);font-weight:600;margin:0}.step-index{align-items:center;background:#4ecdc426;border-radius:999px;color:#1f8f87;display:inline-flex;font-size:.8rem;font-weight:600;justify-content:center;margin-bottom:.75rem;padding:.25rem .6rem}.skeleton-card{align-items:flex-start;flex-direction:column;gap:.75rem}.skeleton-line{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,#f0f4f8,#e8eef5 50%,#f0f4f8);border-radius:999px;height:12px;width:80%}.skeleton-line.short{width:55%}@keyframes shimmer{0%{background-position:-120px 0}to{background-position:120px 0}}.stats-section{margin-bottom:50px}.dashboard-tabs{border-bottom:2px solid #f1f3f5;border-bottom:2px solid var(--border-light);display:flex;gap:.5rem;justify-content:flex-start;margin-bottom:1.5rem;max-width:100%}.tab-button{background:none;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;border-radius:var(--radius-small) var(--radius-small) 0 0;color:#6c757d;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.tab-button:hover{background:#4ecdc40d}.tab-button.active,.tab-button:hover{color:#4ecdc4;color:var(--primary-color)}.tab-button.active{background:#fff;background:var(--background-white);border-bottom-color:#4ecdc4;border-bottom-color:var(--primary-color);box-shadow:0 -2px 8px #0000000d}.invitations-tab{margin-top:1rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1000px}.stat-card{align-items:center;background:#fff;background:var(--background-white);border:1px solid #f1f3f5;border-left:3px solid #4ecdc4;border:1px solid var(--border-light);border-left:3px solid var(--primary-color);border-radius:12px;border-radius:var(--radius-medium);box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-medium);display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{border-color:#4ecdc4;border-color:var(--primary-color);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.stat-icon{align-items:center;background:var(--action-primary);border-radius:12px;border-radius:var(--radius-medium);box-shadow:0 4px 15px #2aa9a24d;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.stat-content h3{color:#2c3e50;color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.stat-content p{color:#7f8c8d;color:var(--text-muted);font-size:.9rem;margin:0}.courses-section h2{align-items:center;color:#2c3e50;color:var(--text-primary);display:flex;font-size:1.8rem;font-weight:600;gap:12px;margin-bottom:1.5rem}.payment-history-section{background:#fff;border:1px solid #dde6ef;border-radius:18px;box-shadow:0 8px 20px #2446640f;margin-top:1.5rem;padding:1.1rem 1.1rem .8rem}.payment-history-header{align-items:center;display:flex;gap:.9rem;justify-content:space-between;margin-bottom:.8rem}.payment-history-header h2{color:#18354f;font-size:1.3rem;font-weight:700;margin:0}.payment-history-header span{color:#58748c;font-size:.9rem;font-weight:600}.payment-history-table-wrap{overflow-x:auto;width:100%}.payment-history-empty{color:#657f95;font-weight:500;margin:.35rem 0 .55rem}.payment-history-table{border-collapse:collapse;min-width:720px;width:100%}.payment-history-table td,.payment-history-table th{border-bottom:1px solid #e4ecf3;color:#20384d;padding:.78rem .75rem;text-align:left;vertical-align:middle}.payment-history-table th{color:#58748c;font-size:.85rem;font-weight:700}.payment-history-table td{font-size:.93rem;font-weight:500}.payment-status-chip,.payment-system-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:700;justify-content:center;padding:.18rem .58rem;white-space:nowrap}.payment-status-chip.success{background:#eaf8ef;border:1px solid #bfe8cd;color:#22794b}.payment-status-chip.pending{background:#fff5e8;border:1px solid #f3d7ab;color:#966428}.payment-system-chip.in{background:#e9f7ff;border:1px solid #bfdef0;color:#1f6588}.payment-system-chip.out{background:#f4f6f9;border:1px solid #d9e0e7;color:#6a7886}.courses-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.subject-overview{grid-gap:1.05rem;display:grid;gap:1.05rem;margin-top:.5rem}.subject-overview-loading{animation:subject-overview-loading-fade .24s ease-out}.subject-overview-skeleton-button,.subject-overview-skeleton-chart,.subject-overview-skeleton-chip,.subject-overview-skeleton-line,.subject-overview-skeleton-progress{background:#e8eef4;overflow:hidden;position:relative}.subject-overview-skeleton-button:after,.subject-overview-skeleton-chart:after,.subject-overview-skeleton-chip:after,.subject-overview-skeleton-line:after,.subject-overview-skeleton-progress:after{animation:subject-overview-skeleton-shimmer 1.25s ease-in-out infinite;background:linear-gradient(90deg,#e8eef400,#ffffffb8 50%,#e8eef400);content:"";inset:0;position:absolute;transform:translateX(-100%)}.subject-overview-skeleton-line{border-radius:999px;height:12px}.subject-overview-skeleton-line.h-20{height:20px}.subject-overview-skeleton-line.h-22{height:22px}.subject-overview-skeleton-line.h-28{height:28px}.subject-overview-skeleton-line.h-30{height:30px}.subject-overview-skeleton-line.w-16{width:16%}.subject-overview-skeleton-line.w-28{width:28%}.subject-overview-skeleton-line.w-32{width:32%}.subject-overview-skeleton-line.w-38{width:38%}.subject-overview-skeleton-line.w-40{width:40%}.subject-overview-skeleton-line.w-44{width:44%}.subject-overview-skeleton-line.w-52{width:52%}.subject-overview-skeleton-line.w-58{width:58%}.subject-overview-skeleton-line.w-62{width:62%}.subject-overview-skeleton-line.w-68{width:68%}.subject-overview-skeleton-line.w-72{width:72%}.subject-overview-skeleton-chart{border-radius:12px;margin-top:.7rem;min-height:260px;width:100%}.subject-overview-skeleton-row{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.subject-overview-skeleton-chip{border-radius:999px;height:24px;width:78px}.subject-overview-skeleton-progress{border-radius:999px;height:10px;width:100%}.subject-overview-skeleton-button{border-radius:10px;height:38px;width:56%}@keyframes subject-overview-skeleton-shimmer{to{transform:translateX(100%)}}@keyframes subject-overview-loading-fade{0%{opacity:.45}to{opacity:1}}@media (prefers-reduced-motion:reduce){.subject-overview-loading,.subject-overview-skeleton-button:after,.subject-overview-skeleton-chart:after,.subject-overview-skeleton-chip:after,.subject-overview-skeleton-line:after,.subject-overview-skeleton-progress:after{animation:none}}.subject-overview-head{background:#0000;border-radius:0;box-shadow:none;color:#2c3e50;color:var(--text-primary);padding:.1rem .1rem .2rem}.subject-overview-head h2{color:#0f2f50;font-size:1.96rem;margin:0 0 .2rem}.subject-overview-head p{color:#5d7794;font-size:1.03rem;margin:0}.overview-filter-row{align-items:center;display:flex;gap:.9rem;justify-content:space-between}.subject-chart-course-filter{align-items:center;color:#214967;display:inline-flex;flex-wrap:wrap;font-size:.98rem;font-weight:700;gap:.45rem;margin-left:0}.subject-chart-course-filter span{white-space:nowrap}.subject-chart-course-filter select{background:#f7fbff;border:1px solid #c6d9ec;border-radius:12px;color:#1f3e57;font-size:.98rem;font-weight:700;height:46px;min-width:280px;padding:0 .8rem}.overview-quick-status{grid-gap:.95rem;display:grid;gap:.95rem;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-status-card{grid-gap:.4rem;background:#fff;border:1px solid #d7e5f3;border-radius:15px;box-shadow:0 6px 18px #24486b12;display:grid;gap:.4rem;padding:1rem 1.05rem;text-align:left}.quick-status-card span{color:#536f89;font-size:.94rem;font-weight:700}.quick-status-card strong{color:#0f3458;font-size:2.24rem;line-height:1}.quick-status-card p{color:#5f7691;font-size:.92rem;margin:0}.kpi-summary-card{align-content:start;min-height:168px}.kpi-main-row{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.kpi-donut{--value:0;background:conic-gradient(var(--donut-color) calc(var(--value)*1%),#deebf8 0);border-radius:50%;display:grid;height:96px;place-items:center;position:relative;width:96px}.kpi-donut:after{background:#fff;border-radius:50%;content:"";inset:11px;position:absolute}.kpi-donut span{color:#184463;font-size:.95rem;font-weight:700;position:relative;z-index:1}.kpi-donut-green{--donut-color:#10b981}.kpi-donut-blue{--donut-color:#2f73d6}.kpi-sub-row{align-items:center;color:#1a4a6d;display:flex;flex-wrap:wrap;font-size:1.02rem;gap:.8rem}.kpi-sub-row b{font-weight:700}.kpi-sub-row b.good{color:#0f9f5f}.kpi-sub-row b.bad{color:#ef4444}.overview-visual-layer{grid-gap:.95rem;display:grid;gap:.95rem;grid-template-columns:repeat(2,minmax(0,1fr))}.subject-chart-card{background:#fff;border:1px solid #d7e5f3;border-radius:15px;box-shadow:0 8px 20px #26496a14;display:flex;flex-direction:column;padding:1.02rem}.subject-chart-head h3{color:#133a62;font-size:1.34rem;line-height:1.3;margin:0}.subject-chart-head p{color:#637d96;font-size:1rem;line-height:1.45;margin:.3rem 0 .82rem}.consistency-trend-chart-wrap,.course-metric-chart-wrap{background:#fbfdff;border:1px solid #dfebf7;border-radius:14px;min-height:320px;overflow-x:auto;overflow-y:hidden;width:100%}.consistency-trend-chart-wrap{min-height:300px}.consistency-trend-chart,.course-metric-chart{display:block;height:310px;min-width:560px;width:100%}.consistency-trend-chart .consistency-grid-line,.course-metric-grid-line{stroke:#e3edf8;stroke-width:1}.consistency-trend-chart .consistency-axis-line,.course-metric-axis-line{stroke:#bdd2e7;stroke-width:1.25}.consistency-trend-chart .consistency-y-tick,.course-metric-y-tick{fill:#58748f;text-anchor:end;font-size:15px;font-weight:700}.consistency-trend-chart .consistency-x-tick,.course-metric-x-label{fill:#466782;font-size:13px;font-weight:700}.consistency-trend-chart .consistency-x-tick.today{fill:#0f4679;font-weight:800}.course-metric-value{fill:#113f6b;stroke:#fbfdff;stroke-width:4px;stroke-linejoin:round;font-size:14px;font-weight:800;paint-order:stroke}.course-metric-target-line{stroke:#f1995e;stroke-width:1.6;stroke-dasharray:5 5}.course-metric-target-label{fill:#a95c27;font-size:12px;font-weight:800}.course-metric-area{fill:url(#course-metric-area-gradient)}.course-metric-drop-line{stroke:#d6e3f2;stroke-width:1;stroke-dasharray:2 4}.course-metric-point-halo{fill:#2f73d629}.course-metric-line{fill:none;stroke:#2f73d6;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round}.course-metric-point{fill:#2f73d6;stroke:#fff;stroke-width:2}.course-metric-point.latest{fill:#174c98;stroke-width:2.2}.consistency-trend-chart .consistency-bar{fill:#dce7f7}.consistency-trend-chart .consistency-bar.peak{fill:#4f8af8}.consistency-trend-chart .consistency-bar.today{fill:#2f73d6}.consistency-trend-chart .consistency-bar-value{fill:#486987;font-size:13px;font-weight:800}.consistency-trend-chart .consistency-bar-value.peak,.consistency-trend-chart .consistency-bar-value.today{fill:#184b7a}.time-chart-meta{align-items:center;color:#4c6782;display:flex;font-size:.97rem;font-weight:700;gap:1rem;justify-content:space-between;margin-top:.75rem}.course-progress-grid{grid-gap:.95rem;display:grid;gap:.95rem;grid-template-columns:repeat(2,minmax(0,1fr))}.course-progress-card{grid-gap:.7rem;background:#fff;border:1px solid #d7e5f3;border-radius:15px;box-shadow:0 8px 20px #26496a14;gap:.7rem;padding:1.02rem}.course-progress-head{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.course-progress-head h3{color:#123a62;font-size:1.24rem;margin:0}.report-topic-list{grid-gap:.75rem;display:grid;gap:.75rem}.report-topic-group{grid-gap:.55rem;background:#f8fbff;border:1px solid #e0eaf5;border-radius:12px;display:grid;gap:.55rem;padding:.72rem}.report-topic-group-head{align-items:center;display:flex;gap:.65rem;justify-content:space-between}.report-topic-group-head strong{color:#123a62;font-size:.98rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-topic-group-head small{color:#6b7f93;flex:0 0 auto;font-size:.82rem;font-weight:700}.report-topic-row{grid-gap:.6rem;align-items:center;display:grid;gap:.6rem;grid-template-columns:minmax(0,1.5fr) minmax(0,2fr) auto auto}.report-topic-row span{color:#183f63;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-topic-track{background:#e5edf7;border-radius:999px;height:9px;overflow:hidden}.report-topic-track>i{background:linear-gradient(90deg,#2f73d6,#4c94ff);border-radius:inherit;display:block;height:100%}.report-topic-row strong{color:#143d66;font-size:1.06rem}.report-topic-row small{color:#7a8ea0;font-size:.86rem;font-weight:700}.report-topic-row small.up{color:#0f9f5f}.report-topic-row small.down{color:#ef4444}.report-topic-row small.report-topic-meta{color:#5d7285;font-weight:600;white-space:nowrap}.goal-target-text{color:#4c6a86;font-size:.96rem;margin:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.goal-progress-head{align-items:flex-start}.goal-score-control{align-items:center;color:#59738d;display:inline-flex;font-size:.84rem;font-weight:700;gap:.35rem;white-space:nowrap}.goal-score-control input{background:#fff;border:1px solid #d7e5f3;border-radius:10px;color:#143d66;font-size:1rem;font-weight:800;height:36px;text-align:center;width:72px}.goal-score-control b{color:#143d66}.goal-score-save{background:#2f73d6;border:0;border-radius:10px;box-shadow:0 8px 18px #2f73d633;color:#fff;cursor:pointer;font-size:.88rem;font-weight:800;height:36px;padding:0 .95rem}.goal-score-save:hover{background:#2464c2}.goal-progress-bar{background:#e6eef8;border-radius:999px;height:12px;overflow:hidden;width:100%}.goal-progress-bar>i{background:linear-gradient(90deg,#2f73d6,#4a91ff);border-radius:inherit;display:block;height:100%}.goal-progress-meta{align-items:baseline;display:flex;gap:.6rem;justify-content:space-between}.goal-progress-meta strong{color:#143d66;font-size:2rem;line-height:1}.goal-progress-meta span{color:#57728c;font-size:.94rem;text-align:right}.report-empty-note{color:#607b93;font-size:.9rem;margin:0}.subject-overview-empty{background:#fffffff5;border:1px dashed #c9ddef;border-radius:16px;padding:1.4rem 1.2rem;text-align:center}.subject-overview-empty h3{color:#133d66;margin:0 0 .45rem}.subject-overview-empty p{color:#5e7891;margin:0 0 .95rem}.subject-overview-empty button{background:linear-gradient(135deg,#2f73d6,#4f8ff0);border:1px solid #b9d0e8;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;padding:.5rem 1rem}.subject-overview-empty button:hover{filter:brightness(1.04)}.course-card{background:#fff;background:var(--background-white);border:2px solid #0000;border-radius:12px;border-radius:var(--radius-medium);box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-medium);color:inherit;cursor:default;display:flex;flex-direction:column;gap:1rem;height:100%;padding:1.5rem;position:relative;transition:all .3s ease}.course-card.in-progress{border-color:#2aa9a233}.course-card.highlight{box-shadow:0 16px 30px #2aa9a229}.course-card:before{background:#4ecdc4;background:var(--course-color,var(--primary-color));content:"";height:4px;left:0;position:absolute;right:0;top:0}.course-card:hover{border-color:#4ecdc4;border-color:var(--primary-color);box-shadow:0 8px 25px #00000026;box-shadow:var(--shadow-heavy);transform:translateY(-2px)}.course-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.course-image{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.course-category{background:var(--action-primary);border-radius:20px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.course-content h3{color:#2c3e50;color:var(--text-primary);font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.course-content p{color:#6c757d;color:var(--text-secondary);font-size:14px;margin-bottom:12px}.course-card .course-content{display:flex;flex:1 1;flex-direction:column}.course-instructor{color:#6c757d;font-size:12px;margin-bottom:16px}.course-progress{margin-bottom:16px}.course-progress-empty{color:#6c757d;font-size:.9rem;padding:.5rem 0}.progress-bar{background:#e9ecef;border-radius:4px;margin-bottom:8px}.progress-fill{background:var(--action-primary)}.progress-text{color:#6c757d;font-size:12px;text-align:right}.course-next-action{color:var(--action-primary);font-size:.9rem;font-weight:600}.course-actions{display:flex;flex-wrap:wrap;gap:.75rem}.course-card .course-actions{margin-top:auto}.course-primary-btn,.course-secondary-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;min-height:44px;padding:.6rem 1rem;text-decoration:none}.course-primary-btn{background:var(--action-primary);color:#fff}.course-secondary-btn{background:#fff;border:2px solid var(--action-secondary-border);color:var(--action-secondary)}.course-primary-btn:hover,.course-secondary-btn:hover{transform:translateY(-1px)}.course-secondary-btn:hover{background:#f08b6f1a}.course-primary-btn:hover{background:var(--action-primary-hover)}.course-primary-btn:active,.course-secondary-btn:active{transform:scale(.98)}.empty-state{background:#fff;border:2px dashed #d1d5db;border-radius:16px;color:#4b5563;grid-column:1/-1;padding:2.5rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state-icon.minimal{background:linear-gradient(150deg,#bfdbfe8c,#e2e8f0a6);border:1px solid #cbd5e1;border-radius:16px;height:56px;margin:0 auto 1rem;width:56px}.empty-state h3{color:#374151;margin-bottom:.5rem}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.empty-state-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.course-footer{align-items:center;display:flex;justify-content:space-between}.last-activity{color:#6c757d;font-size:12px}.course-action{background:none;border:none;color:#4ecdc4;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:600}.course-page{background:#f4f6f7;min-height:100vh}.course-header{background:#fff;border-bottom:1px solid #e9ecef;padding:20px 0}.lesson-breadcrumb-bar{background:radial-gradient(circle at 10% 10%,#4ecdc433,#0000 52%),radial-gradient(circle at 92% 0,#ff7a5929,#0000 48%),linear-gradient(120deg,#f8fffd,#f3fbff 70%,#fffaf5);border-bottom:1px solid #0f172a0f;padding:10px 0}.lesson-breadcrumb-bar .course-breadcrumb{margin:0;max-width:none;padding:0 20px}.course-hero.lesson-breadcrumb-hero:after{display:none}.course-hero.lesson-breadcrumb-hero{background:#0000;border-bottom:none}.course-hero.lesson-breadcrumb-hero .course-hero-inner{margin:0 auto;max-width:1120px;padding:12px 20px 8px}.course-hero.lesson-breadcrumb-hero .course-breadcrumb{margin-bottom:0}.mock-exam-breadcrumb-hero .course-hero-inner{margin:0;max-width:none;padding-bottom:10px}.mock-exam-breadcrumb-hero .course-breadcrumb{margin:0;max-width:none;padding:0}.course-breadcrumb{align-items:center;display:flex;flex-wrap:nowrap;font-size:13px;font-weight:500;gap:6px;letter-spacing:.01em;margin:0 auto 12px;max-width:1400px;min-width:0;padding:0 20px}.course-breadcrumb a{color:#f2994a;text-decoration:none;transition:color .2s ease}.course-breadcrumb a:hover{color:#e67e22;text-decoration:underline}.course-breadcrumb span{color:#9aa3af}.course-breadcrumb span:last-child{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-info{margin:0 auto;max-width:1400px;padding:0 20px}.course-title{align-items:center;display:flex;gap:16px}.course-emoji{font-size:48px}.course-title h1{color:#2c3e50;font-size:32px;font-weight:600;margin-bottom:8px}.course-title p{color:#6c757d;font-size:16px;margin-bottom:12px}.course-meta{color:#6c757d;display:flex;font-size:14px;gap:24px}.course-content{margin:0 auto;max-width:1100px;padding:24px 20px 48px}.course-content.course-content-preview{max-width:1360px;padding-top:26px}.mock-exam-content{max-width:1280px;padding-top:18px}.mock-exam-stage{grid-gap:18px;display:grid;gap:18px}.mock-exam-stage-header{align-items:flex-start;background:linear-gradient(135deg,#ffffffeb,#f8fafce6);border:1px solid #94a3b833;border-radius:20px;box-shadow:0 22px 44px #0f172a12;display:flex;gap:18px;justify-content:space-between;padding:20px 24px}.mock-exam-stage-copy{grid-gap:8px;display:grid;gap:8px;max-width:760px}.mock-exam-stage-kicker{align-items:center;background:#14b8a61f;border-radius:999px;color:#0f766e;display:inline-flex;font-size:12px;font-weight:800;gap:6px;letter-spacing:.04em;padding:5px 10px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.mock-exam-stage-copy h1{color:#0f172a;font-size:clamp(28px,3vw,38px);line-height:1.08;margin:0}.mock-exam-stage-copy p{color:#64748b;font-size:15px;line-height:1.65;margin:0;max-width:720px}.mock-exam-stage-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(110px,1fr));min-width:250px}.mock-exam-stage-stat{grid-gap:4px;background:#f1f5f9c7;border:1px solid #94a3b829;border-radius:16px;display:grid;gap:4px;padding:16px 18px}.mock-exam-stage-stat strong{color:#0f172a;font-size:28px;line-height:1}.mock-exam-stage-stat span{color:#64748b;font-size:12px;font-weight:700}.mock-exam-stage-body{background:#ffffffeb;border:1px solid #94a3b838;border-radius:22px;box-shadow:0 26px 54px #0f172a14;overflow:hidden}.mock-exam-loading-shell{grid-gap:14px;animation:subject-overview-loading-fade .24s ease-out;display:grid;gap:14px}.mock-exam-loading-stage{grid-gap:14px;background:#ffffffeb;border:1px solid #94a3b838;border-radius:22px;box-shadow:0 26px 54px #0f172a14;display:grid;gap:14px;padding:18px}.mock-exam-loading-stage-head{grid-gap:10px;display:grid;gap:10px}.mock-exam-loading-toolbar{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:auto auto minmax(0,1fr)}.mock-exam-loading-body{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(90px,120px) minmax(0,1fr);min-height:min(66vh,760px)}.mock-exam-loading-sidebar{grid-gap:8px;align-content:start;background:#f1f5f9b3;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:8px;padding:12px 10px}.mock-exam-loading-main{grid-gap:12px;align-content:start;background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:12px;padding:16px}.mock-exam-loading-options{grid-gap:10px;display:grid;gap:10px;margin-top:6px}.mock-exam-loading-option{grid-gap:10px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:10px;grid-template-columns:20px minmax(0,1fr);padding:10px 12px}.mock-exam-loading-option-copy{grid-gap:8px;display:grid;gap:8px}.mock-exam-loading-footer{display:flex;gap:10px;justify-content:space-between}.mock-exam-loading-skeleton{background:#e8eef4;overflow:hidden;position:relative}.mock-exam-loading-skeleton:after{animation:subject-overview-skeleton-shimmer 1.25s ease-in-out infinite;background:linear-gradient(90deg,#e8eef400,#ffffffb8,#e8eef400);content:"";inset:0;position:absolute;transform:translateX(-100%)}.mock-exam-loading-skeleton.line{border-radius:999px;height:12px}.mock-exam-loading-skeleton.line.tall{height:18px}.mock-exam-loading-skeleton.line.w-18{width:18%}.mock-exam-loading-skeleton.line.w-30{width:30%}.mock-exam-loading-skeleton.line.w-46{width:46%}.mock-exam-loading-skeleton.line.w-58{width:58%}.mock-exam-loading-skeleton.line.w-68{width:68%}.mock-exam-loading-skeleton.line.w-80{width:80%}.mock-exam-loading-skeleton.line.w-82{width:82%}.mock-exam-loading-skeleton.line.w-94{width:94%}.mock-exam-loading-skeleton.line.right{justify-self:end}.mock-exam-loading-skeleton.chip{border-radius:999px;height:28px;width:110px}.mock-exam-loading-skeleton.chip.short{width:82px}.mock-exam-loading-skeleton.nav-chip{border-radius:10px;height:28px;width:100%}.mock-exam-loading-skeleton.choice-dot{border-radius:50%;height:18px;width:18px}.mock-exam-loading-skeleton.button{border-radius:999px;height:42px;width:min(180px,44%)}.mock-exam-loading-skeleton.button.ghost{width:min(200px,48%)}.course-hero{background:radial-gradient(circle at 10% 10%,#4ecdc440,#0000 55%),radial-gradient(circle at 90% 0,#ff7a5933,#0000 50%),linear-gradient(120deg,#f8fffd,#f3fbff 70%,#fffaf5);border-bottom:1px solid #0f172a0f;overflow:hidden;position:relative}.course-hero.course-hero-payment-mode{background:linear-gradient(180deg,#f8fbff,#f4f8ff);border-bottom:1px solid #0f172a14}.course-hero:after{background-image:radial-gradient(#0f172a14 1px,#0000 0);background-size:28px 28px;content:"";inset:0;opacity:.15;pointer-events:none;position:absolute}.course-hero.course-hero-payment-mode:after{opacity:.08}.course-hero-inner{margin:0 auto;max-width:1120px;padding:20px 20px 32px;position:relative;z-index:1}.course-hero.course-hero-payment-mode .course-hero-inner{max-width:1360px;padding:16px 20px 14px}.course-hero-payment-layout{grid-gap:14px;display:grid;gap:14px}.course-hero-payment-back-link{align-items:center;color:#5f7290;display:inline-flex;font-size:16px;font-weight:700;gap:8px;text-decoration:none;width:-webkit-fit-content;width:fit-content}.course-hero-payment-back-link:hover{color:#27476e}.course-hero-payment-panel{grid-gap:16px;align-items:start;background:#fff;border:1px solid #dce6f3;border-radius:18px;box-shadow:0 12px 28px #19355c0f;display:grid;gap:16px;grid-template-areas:"media content actions";grid-template-columns:minmax(250px,290px) minmax(0,1fr) minmax(230px,260px);isolation:isolate;overflow:hidden;padding:18px;position:relative}.course-hero-payment-media{align-self:start;aspect-ratio:16/9;background:#eef4ff;border:1px solid #dce5f4;border-radius:14px;grid-area:media;grid-column:1/2;justify-self:stretch;max-height:186px;min-height:154px;overflow:hidden;position:relative;z-index:1}.course-hero-payment-media img{background:linear-gradient(180deg,#eef5ff,#f5f9ff);display:block;height:100%;object-fit:cover;object-position:center;width:100%}.course-hero-payment-fallback{background:linear-gradient(180deg,#eef5ff,#f5f9ff);color:#4f82e8;display:grid;max-height:186px;min-height:154px;place-items:center;width:100%}.course-hero-payment-subject-chip{background:#f3f7ff;border:1px solid #c7d8f8;border-radius:999px;bottom:14px;color:#4974d8;font-size:13px;font-weight:700;left:16px;line-height:1;padding:6px 10px;position:absolute}.course-hero-payment-side{grid-gap:10px;align-content:stretch;color:#1e425b;display:grid;gap:10px;grid-area:content;grid-column:2/3;min-width:0;position:relative;z-index:2}.course-hero-payment-label{color:#3f5f83;display:inline-block;font-size:14px;font-weight:700;line-height:1.1}.course-hero-payment-side h1{color:#0f2f5e;font-size:clamp(22px,1.55vw,28px);font-weight:700;letter-spacing:0;line-height:1.16;margin:0;overflow-wrap:anywhere}.course-hero-payment-description{color:#5d7190;font-size:15px;line-height:1.55;margin:2px 0 0}.course-hero-payment-feature-row{grid-gap:0;border-top:1px solid #e5ebf5;display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px;padding-top:10px}.course-hero-payment-feature-card{align-items:center;display:flex;gap:8px;min-height:52px;padding-right:8px}.course-hero-payment-feature-card+.course-hero-payment-feature-card{border-left:1px solid #e7edf7;padding-left:12px}.course-hero-payment-feature-icon{background:#f3f8ff;border:1px solid #d8e3f6;border-radius:999px;color:#4a79de;display:grid;flex:0 0 auto;height:30px;place-items:center;width:30px}.course-hero-payment-feature-card strong{color:#183964;display:block;font-size:15px;line-height:1.25}.course-hero-payment-feature-card div>span{color:#607694;display:block;font-size:14px;margin-top:3px}.course-hero-payment-feature-list{display:none}.course-hero-payment-actions{grid-gap:18px;align-content:center;background:#fff;border:1px solid #d8e4f6;border-radius:18px;box-shadow:0 16px 34px #204c9614;display:grid;gap:18px;grid-area:actions;grid-column:3/4;min-width:0;padding:28px 28px 22px;position:relative;z-index:2}.course-hero-payment-price-block span{color:#596b8d;font-size:15px;font-weight:700}.course-hero-payment-price-block strong{align-items:baseline;color:#2f63e7;display:flex;gap:10px;letter-spacing:0;line-height:1;margin-top:8px}.course-hero-payment-price-value{color:#2f63e7;font-size:clamp(42px,3.8vw,52px);font-weight:800}.course-hero-payment-price-unit{color:#1f5de3;font-size:clamp(21px,1.8vw,25px);font-weight:800}.course-hero-payment-button{align-items:center;background:linear-gradient(90deg,#2d66ef,#1e4edd);border:0;border-radius:8px;box-shadow:0 10px 24px #2a5edd47;color:#fff;display:inline-flex;font-size:18px;font-weight:700;gap:12px;justify-content:center;line-height:1.2;min-height:56px;padding:8px 12px;text-align:center;text-decoration:none;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;white-space:normal;width:100%}.course-hero-payment-button svg{flex:0 0 auto}.course-hero-payment-button:hover{box-shadow:0 12px 26px #2a5edd57;filter:brightness(1.03)}.course-hero-payment-secure-note{align-items:center;color:#7080a1;display:flex;font-size:15px;font-weight:700;gap:8px;grid-column:1/-1;justify-content:center;margin:0}.course-hero-payment-secure-note svg{color:#7184a8;flex:0 0 auto}.course-hero-grid{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:minmax(0,1.6fr) minmax(240px,.75fr)}.course-title-row{align-items:flex-start;display:flex;gap:16px}.course-cover{background:linear-gradient(145deg,#fff,#e9f5fb);border:1px solid #0f172a1f;border-radius:18px;box-shadow:0 12px 24px #0f172a1a;display:grid;height:132px;min-width:132px;overflow:hidden;place-items:center;width:132px}.course-cover img{height:100%;object-fit:cover;width:100%}.course-cover-fallback{color:#365d80;font-size:13px;font-weight:700;letter-spacing:.08em}.course-title-block h1{color:#0f172a;font-size:32px;font-weight:700;margin-bottom:6px}.course-title-block p{color:#475569;font-size:15px}.course-starting-price{color:#345a73;font-size:14px;margin-top:10px}.course-starting-price strong{color:#0f172a;font-size:19px;margin-left:6px}.course-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}.course-chip{background:#ffffffb3;border:1px solid #0f172a14;border-radius:999px;color:#334155;font-size:13px;padding:6px 12px}.course-chip-accent{background:#ff7a591f;border-color:#ff7a5966;color:#b4533c}.course-actions-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.course-ghost-action,.course-primary-action,.course-share-action{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 18px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.course-primary-action{background:linear-gradient(135deg,#ff7a59,#f15a5a);box-shadow:0 8px 20px #f15a5a40;color:#fff}.course-primary-action:hover{box-shadow:0 12px 22px #f15a5a4d;transform:translateY(-1px)}.course-ghost-action{background:#ffffffe6;border:1px solid #f15a5a59;color:#b4533c}.course-share-action{background:#1294bb1a;border:1px solid #1294bb59;color:#0a617b}.course-share-status{color:#0a617b;font-size:13px;font-weight:600;margin:-8px 0 14px}.course-share-status.payment{color:#315d75;font-size:14px;margin:10px 0 0}.course-ghost-action.small,.course-primary-action.small,.course-share-action.small{font-size:13px;padding:8px 14px}.course-ghost-action:disabled,.course-primary-action:disabled,.course-share-action:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.course-stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.course-detail-panels{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:18px}.course-detail-card{grid-gap:6px;background:#ffffffeb;border:1px solid #0f172a14;border-radius:16px;display:grid;gap:6px;padding:14px 16px}.course-detail-card h3{color:#0f172a;font-size:14px;font-weight:700}.course-detail-card p{color:#475569;font-size:13px;line-height:1.5}.course-overview{background:#fff;border:1px solid #dde6f3;border-radius:18px;box-shadow:0 12px 26px #1838600f;overflow:hidden}.course-overview-tabs{background:#f8fafc;border-bottom:1px solid #0f172a14;display:flex;flex-wrap:wrap;gap:0}.course-overview-tab{border-bottom:2px solid #0000;color:#475569;font-size:14px;font-weight:600;padding:12px 16px}.course-overview-tab.active{border-bottom-color:#0f766e;color:#0f172a}.course-overview-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1.72fr) minmax(300px,.86fr);padding:20px}.course-overview-main h2{color:#0f2f60;font-size:24px;line-height:1.2;margin:0 0 12px}.course-overview-box{background:#fbfdff;border:1px solid #6088be38;border-radius:16px;margin-bottom:18px;padding:16px}.course-overview-box-head{align-items:center;display:inline-flex;gap:10px;margin-bottom:10px}.course-overview-box-icon{background:#70a8f11f;border:1px solid #70a8f15c;border-radius:999px;display:grid;height:42px;place-items:center;position:relative;width:42px}.course-overview-box-icon:before{background:linear-gradient(160deg,#468de6f2,#2563cde6);border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff73;content:"";height:15px;width:15px}.course-overview-box h3{color:#0f2f5b;font-size:22px;margin:0}.course-overview-box ul{grid-gap:10px;color:#355c84;display:grid;gap:10px;list-style:none;margin:0;padding:0}.course-overview-box ul li{font-size:15px;line-height:1.5;padding-left:22px;position:relative}.course-overview-box ul li:before{background:radial-gradient(circle at center,#458de6 0 35%,#0000 38%),#458de61f;border-radius:999px;content:"";height:12px;left:0;position:absolute;top:.54em;width:12px}.course-overview-description{color:#5f7391;font-size:16px;line-height:1.55;margin:16px 0 0}.course-overview-intro{grid-gap:14px;align-items:flex-start;background:#f4f8ff;border:1px solid #dce8ff;border-radius:10px;box-shadow:0 8px 18px #2d66ef0a;color:#385172;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);margin:18px 0 0;padding:16px 18px}.course-overview-intro svg{color:#2d66ef;flex:0 0 auto;margin-top:2px}.course-overview-intro p{color:#385172;font-size:16px;line-height:1.65;margin:0}.course-overview-subhead{color:#132f58;font-size:20px;line-height:1.25;margin:0 0 10px}.course-overview-content-list{grid-gap:12px;display:grid;gap:12px}.course-overview-content-ordered{grid-gap:10px;display:grid;gap:10px;margin:0;padding-left:26px}.course-overview-content-row{color:#0f172a;line-height:1.6}.course-overview-content-row::marker{color:#0f172a;font-weight:700}.course-overview-content-row strong{color:#0f172a;display:block;font-size:15px}.course-overview-content-row p{color:#475569;margin:2px 0 0}.course-overview-content-item{grid-gap:12px;align-items:center;background:#fff;border:1px solid #dbe5f4;border-radius:14px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px 14px}.course-overview-content-item-icon{border:1px solid #d8e1f2;border-radius:10px;color:#4f7de6;display:grid;height:40px;place-items:center;width:40px}.course-overview-content-item-icon.tone-0{background:#edf4ff}.course-overview-content-item-icon.tone-1{background:#eef9f4;color:#2d9071}.course-overview-content-item-icon.tone-2{background:#fff7e8;color:#be8b18}.course-overview-content-item-icon.tone-3{background:#f4efff;color:#7554c6}.course-overview-content-item-icon.tone-4{background:#edf2ff;color:#4f69d9}.course-overview-content-item-body{min-width:0}.course-overview-content-item strong{color:#15375f;display:block;font-size:17px;letter-spacing:0;line-height:1.2;overflow-wrap:anywhere}.course-overview-content-item p{color:#627794;font-size:15px;line-height:1.45;margin:4px 0 0}.course-overview-content-item-count{color:#3467e3;font-size:16px;font-weight:700;white-space:nowrap}.course-overview-side{grid-gap:10px;align-content:start;display:grid;gap:10px}.course-overview-metric{grid-gap:12px;align-items:center;background:#fff;border:1px solid #dce6f3;border-radius:14px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:12px 13px}.course-overview-metric-icon{background:#edf4ff;border:1px solid #cfe0fb;border-radius:999px;color:#3c73d2;display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.course-overview-metric-icon:before{display:none}.course-overview-metric-icon.violet{background:#f4efff;border-color:#d6cbfa;color:#6e56c6}.course-overview-metric-icon.sky{background:#ecf8fa;border-color:#cce8ec;color:#2b93a9}.course-overview-metric-icon.orange{background:#fff6ea;border-color:#f6d8b3;color:#c9791f}.course-overview-metric-icon.blue{background:#eef3ff;border-color:#d2def8;color:#4a6edb}.course-overview-metric-icon.teal{background:#edf8fb;border-color:#cae8ec;color:#3b8ca4}.course-overview-metric>div:last-child{grid-gap:3px;display:grid;gap:3px;min-width:0}.course-overview-metric strong{color:#14345d;display:block;font-size:18px;line-height:1.2;overflow-wrap:anywhere}.course-overview-metric span{color:#607592;font-size:15px;line-height:1.4}.course-overview-teacher{background:#f8fafc;border:1px solid #0f172a1f;border-radius:12px;padding:12px}.course-overview-teacher h4{color:#0f172a;font-size:14px;margin:0 0 6px}.course-overview-teacher p{color:#334155;margin:0}.course-stat-card{grid-gap:4px;align-content:center;background:#ffffffd9;border:1px solid #0f172a14;border-radius:14px;display:grid;gap:4px;min-height:74px;padding:14px 15px}.course-stat-label{color:#64748b;font-size:12px}.course-stat-value{color:#0f172a;font-size:20px;font-weight:700}.course-progress-card{grid-gap:12px;align-content:start;background:#fffffff2;border:1px solid #0f172a14;border-radius:18px;box-shadow:0 12px 30px #0f172a14;display:grid;gap:12px;padding:18px 18px 16px}.progress-ring{background:conic-gradient(#ff7a59 0 calc(var(--progress)*1%),#e2e8f0 calc(var(--progress)*1%) 100%);border-radius:50%;display:grid;height:96px;margin:0 auto;place-items:center;position:relative;width:96px}.progress-ring:after{background:#fff;border-radius:50%;content:"";inset:10px;position:absolute}.progress-ring span{color:#0f172a;font-weight:700;position:relative;z-index:1}.progress-content{grid-gap:10px;display:grid;gap:10px}.progress-label{color:#0f172a;font-size:13px;font-weight:700;letter-spacing:.3px}.progress-helper{color:#64748b;font-size:13px;margin:0}.course-expiry-banner{background:#f8fafc;border:1px solid #0f172a14;border-radius:10px;color:#475569;font-size:13px;line-height:1.4;margin:-2px 0 0;padding:8px 10px}.course-expiry-line{display:block}.course-expiry-banner.warning{background:#fffbeb;border-color:#f59e0b73;color:#92400e}.course-expiry-banner.danger{background:#fef2f2;border-color:#ef444473;color:#991b1b}.progress-summary-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.progress-summary-item{grid-gap:2px;background:#0f172a0a;border:1px solid #0f172a14;border-radius:10px;display:grid;gap:2px;padding:8px 10px}.progress-summary-item span{color:#64748b;font-size:11px}.progress-summary-item strong{color:#0f172a;font-size:18px;line-height:1.1}.progress-summary-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.progress-summary-track>span{background:linear-gradient(135deg,#ff7a59,#f15a5a);border-radius:inherit;display:block;height:100%;transition:width .25s ease}.course-progress-card .course-ghost-action.small,.course-progress-card .course-primary-action.small{width:100%}.course-pricing-panel{grid-gap:10px;display:grid;gap:10px}.course-pricing-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.course-plan-option{grid-gap:2px;background:#fff;border:1px solid #0f172a24;border-radius:10px;cursor:pointer;display:grid;gap:2px;padding:10px;text-align:left}.course-plan-option strong{color:#0f172a;font-size:13px}.course-plan-option span{color:#0f766e;font-size:14px;font-weight:700}.course-plan-option small{color:#64748b;font-size:11px}.course-plan-option.active{background:#ecfeff;border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1f}.course-plan-summary{grid-gap:3px;background:#0f172a0a;border:1px solid #0f172a14;border-radius:10px;display:grid;gap:3px;padding:10px}.course-plan-summary span{color:#64748b;font-size:12px}.course-plan-summary strong{color:#0f172a;font-size:18px}.course-plan-summary small{color:#334155;font-size:12px}.course-tabs{display:flex;gap:12px;margin:18px auto 0;padding:0 20px}.course-tabs-row{align-items:center;flex-wrap:wrap;justify-content:flex-start}.course-tabs-left{display:flex;flex-wrap:wrap;gap:12px}.course-tabs-right{align-items:center;display:flex}.course-tab-action{background:linear-gradient(135deg,#ff7a59,#f59e0b);border:none;border-radius:999px;box-shadow:0 10px 20px #f59e0b40;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:10px 18px;transition:all .2s ease}.course-tab-action:hover{box-shadow:0 14px 24px #f59e0b4d;transform:translateY(-1px)}.course-tab-action.active{background:linear-gradient(135deg,#0f172a,#1f2937);box-shadow:0 10px 20px #0f172a33}.course-tab{background:#fff;border:1px solid #0f172a1a;border-radius:999px;color:#334155;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.course-tab.active{background:#0f172a;border-color:#0f172a;box-shadow:0 10px 20px #0f172a33;color:#fff}.learning-path{grid-gap:10px;display:grid;gap:10px}.lesson-card{grid-gap:12px;animation:courseFadeUp .6s ease forwards;animation-delay:var(--delay);background:#fff;border:1px solid #0f172a14;border-radius:18px;display:grid;gap:12px;grid-template-columns:78px 1fr;opacity:0;overflow:hidden;padding:12px 14px;position:relative;transform:translateY(10px)}.lesson-card.completed{background:linear-gradient(120deg,#ecfdf5d9,#fff);border-color:#10b98140}.lesson-step{grid-gap:8px;display:grid;gap:8px;justify-items:center}.lesson-index{background:#ff7a5926;border-radius:16px;color:#b4533c;display:grid;font-size:16px;font-weight:700;height:44px;place-items:center;width:44px}.lesson-status{border-radius:999px;font-size:11px;font-weight:700;min-width:72px;padding:5px 10px;text-align:center}.lesson-progress-ring{display:grid;height:56px;place-items:center;position:relative;width:56px}.lesson-progress-ring svg{height:56px;transform:rotate(-90deg);width:56px}.lesson-progress-ring-fill,.lesson-progress-ring-track{fill:none;stroke-width:6}.lesson-progress-ring-track{stroke:#e2e8f0}.lesson-progress-ring-fill{stroke:#64748b;stroke-linecap:round;transition:stroke-dashoffset .35s ease}.lesson-progress-ring.done .lesson-progress-ring-fill{stroke:#10b981}.lesson-progress-ring.in-progress .lesson-progress-ring-fill{stroke:#f59e0b}.lesson-progress-ring.pending .lesson-progress-ring-fill{stroke:#94a3b8}.lesson-progress-ring span{color:#1f2937;display:grid;font-size:11px;font-weight:700;inset:0;place-items:center;position:absolute}.lesson-status.done{background:#10b98126;color:#047857}.lesson-status.in-progress{background:#fb923c29;color:#b45309}.lesson-status.pending{background:#94a3b829;color:#64748b}.lesson-body h4{color:#0f172a;font-size:17px;margin:0 0 4px}.lesson-top{gap:12px;justify-content:space-between}.lesson-pills,.lesson-top{display:flex;flex-wrap:wrap}.lesson-pills{gap:8px}.lesson-pill{background:#0f172a0d;border-radius:999px;color:#334155;font-size:12px;padding:4px 10px}.lesson-description{color:#475569;margin:4px 0 8px}.lesson-actions{display:flex;flex-wrap:wrap;gap:8px}.mock-exam-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(340px,560px));justify-content:flex-start}.mock-exam-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.analysis-column,.mock-exam-column{grid-gap:16px;display:grid;gap:16px;width:100%}.analysis-column{align-self:start}.analysis-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.analysis-layout.compact-dashboard{gap:14px}.analysis-main,.analysis-side{grid-gap:16px;display:grid;gap:16px;width:100%}.analysis-side{align-self:start}.analysis-layout.compact-dashboard .analysis-side{position:-webkit-sticky;position:sticky;top:92px}.analysis-grid{grid-gap:16px;display:grid;gap:16px}.analysis-badge{align-items:center;background:#14b8a61f;border:1px solid #14b8a640;border-radius:999px;color:#0f766e;display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-top:10px;padding:4px 10px}.insight-card.placeholder,.progress-card.placeholder,.summary-card.placeholder{background:#fff;border-style:dashed}.analysis-error-card{background:#fef2f299;border-color:#dc26264d}.insight-card .insight-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.insight-block{background:#f8fafc;border:1px solid #0f172a0f;border-radius:12px;padding:12px}.insight-block h4{color:#0f172a;font-size:13px;margin:0 0 8px}.insight-block ul{grid-gap:6px;color:#475569;display:grid;font-size:12px;gap:6px;margin:0;padding-left:18px}.progress-card .progress-list{grid-gap:12px;display:grid;gap:12px;margin-top:12px}.progress-row-header{align-items:center;color:#0f172a;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.progress-bar{background:#e2e8f0;height:8px}.progress-bar-fill{background:linear-gradient(90deg,#20b2aa,#34d399);border-radius:999px;height:100%}.progress-bar-fill.good{background:linear-gradient(90deg,#10b981,#34d399)}.progress-bar-fill.mid{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.progress-bar-fill.low{background:linear-gradient(90deg,#fb923c,#f97316)}.progress-note{color:#64748b;font-size:11px;margin:6px 0 0}.ai-panel .analysis-card-header p{color:#64748b}.ai-level-group{grid-gap:10px;display:grid;gap:10px;margin-top:12px}.ai-level-title{color:#0f172a;font-size:12px;font-weight:700}.ai-level-cards{grid-gap:10px;display:grid;gap:10px}.ai-suggestion-card{grid-gap:8px;background:#fff;border:1px solid #0f172a14;border-radius:14px;display:grid;gap:8px;padding:12px}.ai-suggestion-card.level-strength{background:#10b98114;border-color:#10b9814d}.ai-suggestion-card.level-practice{background:#f59e0b14;border-color:#f59e0b59}.ai-suggestion-card.level-help{background:#ef444414;border-color:#ef44444d}.ai-suggestion-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:0}.ai-suggestion-label{color:#0f172a;font-size:13px;font-weight:600;text-align:left}.ai-suggestion-toggle{color:#64748b;font-size:11px}.ai-suggestion-summary{color:#475569;font-size:12px;line-height:1.5;margin:0}.ai-suggestion-actions{display:flex;justify-content:flex-start}.ai-suggestion-link{align-items:center;background:#14b8a61f;border:1px solid #14b8a640;border-radius:999px;color:#0f766e;display:inline-flex;font-size:12px;gap:6px;padding:6px 10px;text-decoration:none}.ai-suggestion-link:hover{background:#14b8a633}.ai-response-card{grid-gap:8px;background:#fff;border:1px solid #0f172a14;border-radius:14px;display:grid;gap:8px;margin-top:14px;padding:12px}.ai-response-header{align-items:center;color:#0f172a;display:flex;font-size:12px;font-weight:600;justify-content:space-between}.ai-response-toggle{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:11px}.ai-response-title{color:#0f172a;font-size:13px;margin:0}.ai-response-text{line-height:1.5}.ai-response-list,.ai-response-text{color:#475569;font-size:12px;margin:0}.ai-response-list{grid-gap:6px;display:grid;gap:6px;padding-left:18px}.ai-ask{margin-top:12px}.ai-ask-toggle{background:#f8fafc;border:1px dashed #0f172a33;border-radius:10px;color:#0f172a;cursor:pointer;font-size:12px;padding:8px 12px}.ai-ask-body{grid-gap:8px;display:grid;gap:8px;margin-top:10px}.ai-ask-body input{border:1px solid #e2e8f0;border-radius:10px;font-size:12px;padding:10px}.ai-ask-send{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px}.ai-ask-send:disabled{cursor:not-allowed;opacity:.5}.ai-ask-hint{color:#94a3b8;font-size:11px;margin:0}.empty-cta{grid-gap:14px;align-items:start;background:#fff8f1;border:1px dashed #f15a5a59;display:grid;gap:14px;grid-template-columns:auto 1fr}.empty-cta-icon{font-size:24px}.empty-cta h3{color:#0f172a;font-size:16px;margin:0 0 4px}.empty-cta p{color:#6b7280;font-size:13px;margin:0 0 10px}.empty-cta-list{grid-gap:6px;color:#475569;display:grid;font-size:12px;gap:6px;margin:0 0 12px;padding-left:18px}.empty-cta-actions{display:flex;flex-wrap:wrap;gap:10px}.empty-cta-primary{background:linear-gradient(135deg,#ff7a59,#f15a5a);border:none;border-radius:10px;color:#fff}.empty-cta-primary,.empty-cta-secondary{cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.empty-cta-secondary{background:#fff;border:1px solid #f15a5a59;border-radius:10px;color:#b4533c}.analysis-card{background:#fff;border:1px solid #0f172a14;border-radius:18px;box-shadow:0 10px 24px #0f172a14;padding:14px;width:100%}.analysis-layout.simple-quick{grid-template-columns:1fr}.analysis-template-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.template-card{min-height:280px}.template-card .analysis-card-header h3{color:#0b1f3f;font-size:24px;letter-spacing:.3px}.template-overall-body{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:170px minmax(0,1fr)}.template-gauge{height:150px;margin:0 auto;position:relative;width:150px}.template-gauge svg{height:150px;transform:rotate(-90deg);width:150px}.template-gauge-track{fill:none;stroke:#dbe4ef;stroke-width:12}.template-gauge-fill{fill:none;stroke-width:12;stroke-linecap:round}.template-gauge-fill.good{stroke:#16a34a}.template-gauge-fill.mid{stroke:#f59e0b}.template-gauge-fill.low{stroke:#f97316}.template-gauge-text{grid-gap:3px;display:grid;gap:3px;inset:0;place-content:center;position:absolute;text-align:center}.template-gauge-text strong{color:#1e3a8a;font-size:36px;line-height:1}.template-gauge-text span{color:#166534;font-size:13px;font-weight:700}.template-overall-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.template-overall-stats div{grid-gap:2px;background:#f8fbff;border:1px solid #dde6ef;border-radius:10px;display:grid;gap:2px;padding:8px 10px}.template-overall-stats span{color:#475569;font-size:12px}.template-overall-stats strong{color:#0b1f3f;font-size:18px}.template-status-note{grid-gap:3px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;display:grid;gap:3px;margin-top:10px;padding:10px 12px}.template-status-note strong{font-size:13px}.template-status-note span{color:#334155;font-size:12px}.template-status-note.good{background:#16a34a14;border-color:#16a34a59;color:#166534}.template-status-note.mid{background:#f59e0b14;border-color:#f59e0b59;color:#92400e}.template-status-note.low{background:#ef444414;border-color:#ef444459;color:#991b1b}.template-bars-wrap{grid-gap:8px;display:grid;gap:8px}.template-bars-grid{color:#94a3b8;display:flex;font-size:11px;justify-content:space-between}.template-bars{grid-gap:10px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:10px;min-height:170px;padding:10px}.template-bar-col{grid-gap:4px;display:grid;gap:4px}.template-bar-row-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.template-bar-row-head span{color:#334155;font-size:12px;font-weight:600}.template-bar-row-head strong{color:#0b1f3f;font-size:12px}.template-bar-track{background:#e2e8f0;border-radius:999px;height:14px;overflow:hidden;width:100%}.template-bar-fill{border-radius:999px;height:100%;min-width:10px}.template-bar-fill.blue{background:#3b82f6}.template-bar-fill.green{background:#22c55e}.template-bar-fill.yellow{background:#facc15}.template-bar-col small{color:#64748b;font-size:11px}.template-legend{color:#475569;display:flex;flex-wrap:wrap;font-size:11px;font-weight:700;gap:16px}.line-scale-hint{color:#64748b;font-weight:600;margin-left:auto}.line-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.line-dot.me{background:#2563eb}.line-dot.class{background:#16a34a}.template-line-chart{height:180px;width:100%}.line-grid{stroke:#e2e8f0;stroke-width:1}.line-axis{fill:#94a3b8;font-size:10px}.line-series{fill:none;stroke-width:3}.line-series.me{stroke:#2563eb}.line-series.class{stroke:#16a34a}.line-point.me{fill:#2563eb}.line-point.class{fill:#16a34a}.line-value{font-size:10px;font-weight:700}.line-value.me{fill:#1d4ed8}.line-value.class{fill:#15803d}.template-progress-insight{border-top:1px solid #e2e8f0;color:#334155;font-size:12px;margin:8px 0 0;padding-top:8px}.template-donut-wrap{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:150px minmax(0,1fr)}.template-donut{height:140px;transform:rotate(-90deg);width:140px}.template-grade-legend{grid-gap:8px;display:grid;gap:8px}.template-grade-legend div{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;font-size:13px;justify-content:space-between;padding:8px 10px}.template-grade-legend span{font-weight:700}.template-grade-legend div.active{background:#eef2ff;border-color:#cbd5e1}.template-grade-alert{border:1px solid #cbd5e1;border-radius:10px;font-size:12px;font-weight:600;margin:0 0 10px;padding:8px 10px}.template-grade-alert.critical{background:#ef44441a;border-color:#ef444466;color:#991b1b}.template-grade-alert.warn{background:#f59e0b1f;border-color:#f59e0b66;color:#92400e}.template-grade-alert.ok{background:#16a34a1a;border-color:#16a34a66;color:#166534}.analysis-quick-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.quick-card{grid-gap:12px;display:grid;gap:12px;min-height:260px}.quick-overall-main{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:120px minmax(0,1fr)}.quick-ring{display:grid;height:120px;place-items:center;position:relative;width:120px}.quick-ring svg{height:120px;transform:rotate(-90deg);width:120px}.quick-ring-track{fill:none;stroke:#e2e8f0;stroke-width:10}.quick-ring-fill{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .26s ease}.quick-ring-fill.good{stroke:#10b981}.quick-ring-fill.mid{stroke:#f59e0b}.quick-ring-fill.low{stroke:#f97316}.quick-ring strong{color:#0f172a;font-size:26px;font-weight:800;position:absolute}.quick-kpis{grid-gap:8px;display:grid;gap:8px}.quick-kpis div{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:8px;justify-content:space-between;padding:8px 10px}.quick-kpis span{color:#64748b;font-size:12px}.quick-kpis strong{color:#0f172a;font-size:15px}.quick-topic-list{grid-gap:10px;display:grid;gap:10px}.quick-topic-weakness{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:10px;color:#92400e;font-size:12px;margin-top:2px;padding:8px 10px}.quick-topic-weakness strong{color:#9a3412}.quick-topic-head{align-items:center;color:#334155;display:flex;font-size:13px;gap:8px;justify-content:space-between}.quick-topic-head strong{color:#0f172a}.quick-topic-bar{background:#e2e8f0;border-radius:999px;height:10px;margin-top:4px;overflow:hidden;width:100%}.quick-topic-fill{border-radius:inherit;height:100%}.quick-topic-fill.good{background:linear-gradient(90deg,#10b981,#34d399)}.quick-topic-fill.mid{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.quick-topic-fill.low{background:linear-gradient(90deg,#f97316,#fb923c)}.quick-progress-list{grid-gap:10px;display:grid;gap:10px}.quick-progress-row{grid-gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:6px;padding:8px 10px}.quick-progress-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.quick-progress-head strong{color:#0f172a;font-size:13px}.quick-progress-delta{font-size:12px;font-weight:700}.quick-progress-delta.up{color:#047857}.quick-progress-delta.down{color:#b45309}.quick-progress-chips{display:flex;flex-wrap:wrap;gap:6px}.quick-progress-empty{color:#64748b;font-size:12px}.quick-difficulty-list{grid-gap:10px;display:grid;gap:10px}.quick-difficulty-row{grid-gap:4px;display:grid;gap:4px}.quick-difficulty-head{align-items:center;color:#334155;display:flex;font-size:13px;gap:8px;justify-content:space-between}.quick-difficulty-head strong{color:#0f172a}.quick-difficulty-bar{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden;width:100%}.quick-difficulty-fill{border-radius:inherit;height:100%}.quick-difficulty-fill.easy{background:linear-gradient(90deg,#22c55e,#4ade80)}.quick-difficulty-fill.medium{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.quick-difficulty-fill.hard{background:linear-gradient(90deg,#ef4444,#fb7185)}.quick-difficulty-row small{color:#64748b;font-size:11px}.quick-journey-top{grid-gap:4px;display:grid;gap:4px}.quick-trend{font-size:22px;line-height:1.2}.quick-trend.good{color:#059669}.quick-trend.mid{color:#b45309}.quick-trend.low{color:#c2410c}.quick-journey-top span{color:#64748b;font-size:13px}.quick-recent-row{display:flex;flex-wrap:wrap;gap:8px}.quick-recent-chip{border:1px solid #0000;border-radius:999px;font-size:13px;font-weight:700;min-width:64px;padding:8px 10px;text-align:center}.quick-recent-chip.good{background:#10b9811f;border-color:#10b9814d;color:#047857}.quick-recent-chip.mid{background:#f59e0b1f;border-color:#f59e0b47;color:#b45309}.quick-recent-chip.low{background:#f973161f;border-color:#f9731647;color:#c2410c}.quick-action-btn{background:linear-gradient(135deg,#4ecdc4,#20b2aa);background:var(--primary-gradient);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:auto;min-height:42px}.quick-action-btn.subtle{background:#f15a5a2e;border:1px solid #f15a5a4d;box-shadow:none;color:#b4533c}.analysis-empty-soft{grid-gap:8px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;display:grid;gap:8px;padding:18px}.analysis-empty-soft h4{color:#0f172a;font-size:16px;margin:0}.analysis-empty-soft p{color:#64748b;font-size:13px;margin:0}.analysis-empty-soft button{background:linear-gradient(135deg,#4ecdc4,#20b2aa);background:var(--primary-gradient);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;justify-self:start;min-height:40px;padding:0 14px}.analysis-redesign{grid-gap:14px;display:grid;gap:14px}.analysis-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-kpi-card{grid-gap:4px;display:grid;gap:4px;padding:14px}.analysis-kpi-card span{color:#64748b;font-size:12px}.analysis-kpi-card strong{color:#0f172a;font-size:26px;line-height:1.1}.analysis-kpi-card small{color:#475569;font-size:12px}.analysis-priority-list{grid-gap:8px;display:grid;gap:8px;margin-top:10px}.analysis-priority-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.analysis-priority-actions .analysis-muted{margin:0}.analysis-priority-item{grid-gap:10px;align-items:start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:10px;grid-template-columns:34px 1fr;padding:10px 12px}.analysis-priority-item .rank{background:#f15a5a29;border-radius:9px;color:#b4533c;display:grid;font-weight:800;height:28px;place-items:center;width:28px}.analysis-priority-item strong{color:#0f172a;font-size:14px}.analysis-priority-item p{color:#475569;font-size:12px;margin:3px 0 0}.analysis-practice-card{grid-gap:12px;display:grid;gap:12px}.analysis-practice-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.analysis-practice-card .quiz-interface{margin-top:0}.analysis-table-wrap{margin-top:10px;overflow-x:auto}.analysis-table{border-collapse:collapse;font-size:13px;width:100%}.analysis-table td,.analysis-table th{border-bottom:1px solid #e2e8f0;padding:10px 8px;text-align:left;white-space:nowrap}.analysis-table th{color:#64748b;font-size:12px;font-weight:700}.analysis-status-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;padding:4px 10px}.analysis-status-chip.good{background:#22c55e24;color:#166534}.analysis-status-chip.mid{background:#f59e0b24;color:#92400e}.analysis-status-chip.risk{background:#ef444424;color:#991b1b}.analysis-status-chip.neutral{background:#64748b24;color:#334155}.analysis-trend-chart{height:190px;margin-top:8px}.analysis-time-line{fill:none;stroke:#f97316;stroke-width:3}.analysis-time-axis{fill:#f97316;font-size:10px;font-weight:700}.analysis-ai-summary-text{color:#334155;font-size:18px;line-height:1.72;margin:10px 0 0}.analysis-ai-summary-list{grid-gap:10px;display:grid;gap:10px;margin:12px 0 0}.analysis-ai-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.analysis-ai-summary-item{grid-gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:10px;padding:12px 14px}.analysis-ai-summary-kicker{align-items:center;background:#eef4ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:13px;font-weight:700;gap:8px;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.analysis-ai-dot{background:#1d4ed8;border-radius:999px;display:inline-block;height:8px;width:8px}.analysis-ai-summary-copy,.analysis-ai-summary-metric-group{grid-gap:8px;display:grid;gap:8px}.analysis-ai-summary-metric-label{color:#0f172a;font-size:14px;font-weight:700;margin:0}.analysis-ai-summary-metrics{display:flex;flex-wrap:wrap;gap:8px}.analysis-ai-summary-metric{align-items:center;background:#fff;border:1px solid #dbe7f1;border-radius:12px;display:inline-flex;gap:8px;padding:8px 10px}.analysis-ai-summary-metric span{color:#526476;font-size:13px;font-weight:600}.analysis-ai-summary-metric strong{color:#0f172a;font-size:15px;line-height:1}.analysis-ai-summary-copy strong{color:#0f172a;font-size:18px;line-height:1.4}.analysis-ai-summary-item p{color:#334155;font-size:15px;line-height:1.65;margin:0}.analysis-ai-summary-item p b{color:#0f172a}.analysis-ai-summary-action{color:#0f766e}.analysis-ai-summary-note{color:#64748b}.analysis-ai-summary-card .analysis-card-header h3{font-size:20px}.analysis-ai-summary-card .analysis-card-header p{font-size:15px}.analysis-ai-loading-minimal{align-items:center;display:inline-flex;gap:7px;margin-top:10px;min-height:22px}.analysis-ai-loading-dot{animation:analysis-ai-dot-fade 1.05s ease-in-out infinite;background:#3b82f6;border-radius:50%;height:7px;opacity:.34;width:7px}.analysis-ai-loading-dot:nth-child(2){animation-delay:.18s}.analysis-ai-loading-dot:nth-child(3){animation-delay:.36s}@keyframes analysis-ai-dot-fade{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:.92;transform:translateY(-2px)}}.analysis-muted{color:#64748b;font-size:13px;margin:10px 0 0}.analysis-difficulty-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.analysis-difficulty-item{grid-gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:8px;padding:10px}.analysis-difficulty-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.analysis-difficulty-head strong{color:#0f172a;font-size:15px}.analysis-difficulty-metric{grid-gap:4px;display:grid;gap:4px}.analysis-difficulty-metric span{color:#475569;font-size:12px}.analysis-difficulty-item small{color:#64748b;font-size:11px}.analysis-meter{background:#dbe4ef;border-radius:999px;height:8px;overflow:hidden}.analysis-meter>i{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:inherit;display:block;height:100%}.analysis-meter.danger>i{background:linear-gradient(90deg,#fb7185,#f97316)}.analysis-trend-simple{grid-gap:10px;display:grid;gap:10px;margin-top:8px}.analysis-trend-granularity{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;display:inline-flex;gap:6px;padding:4px}.analysis-trend-granularity-btn{background:#0000;border:none;border-radius:8px;color:#475569;cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px;transition:all .2s ease}.analysis-trend-granularity-btn.active{background:#fff;box-shadow:0 1px 2px #0f172a1f;color:#0f172a}.analysis-trend-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-trend-summary>div{grid-gap:3px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:3px;padding:10px}.analysis-trend-summary span{color:#64748b;font-size:12px}.analysis-trend-summary strong{color:#0f172a;font-size:28px;line-height:1}.analysis-trend-summary small{font-size:12px;font-weight:700}.analysis-trend-summary small.up{color:#047857}.analysis-trend-summary small.down{color:#b45309}.analysis-trend-list{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.analysis-trend-target{color:#475569;font-size:12px;font-weight:700}.analysis-trend-legend{color:#334155;display:flex;flex-wrap:wrap;font-size:12px;font-weight:700;gap:12px}.analysis-trend-legend span{align-items:center;display:inline-flex;gap:6px}.analysis-trend-legend i{border-radius:50%;display:inline-block;height:10px;width:10px}.analysis-trend-chart-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px}.analysis-trend-chart{display:block;height:420px;width:100%}.analysis-trend-chart.comparison-lines,.analysis-trend-chart.weekly-bars{height:320px}.trend-grid-v{stroke:#eef2f7;stroke-width:1}.trend-axis{fill:#64748b;font-size:14px;font-weight:600}.analysis-trend-bars{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.analysis-trend-bar-row{grid-gap:10px;align-items:center;border-bottom:1px solid #e2e8f0;display:grid;gap:10px;grid-template-columns:112px 1fr auto;padding:10px 12px}.analysis-trend-bar-row:last-child{border-bottom:none}.analysis-trend-bar-label{color:#64748b;font-size:12px}.analysis-trend-bar-track{align-items:center;background:#eaf0f7;border-radius:999px;display:flex;height:22px;overflow:hidden;position:relative}.analysis-trend-bar-fill{background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:inherit;height:100%}.analysis-trend-bar-track strong{color:#0f172a;font-size:12px;font-weight:800;position:absolute;right:8px}.analysis-trend-bar-row em{color:#c2410c;font-size:12px;font-style:normal;font-weight:700}.analysis-trend-row{grid-gap:10px;align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:grid;gap:10px;grid-template-columns:1fr auto auto;padding:10px 12px}.analysis-trend-row:last-child{border-bottom:none}.analysis-trend-row span{color:#64748b;font-size:12px}.analysis-trend-row strong{color:#1d4ed8;font-size:14px}.analysis-trend-row em{color:#c2410c;font-size:12px;font-style:normal;font-weight:700}.analysis-kpi-strip{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}.analysis-kpi-tile{grid-gap:2px;background:#f8fafc;border:1px solid #0f172a0f;border-radius:12px;display:grid;gap:2px;padding:8px 10px}.analysis-kpi-tile span{color:#64748b;font-size:11px}.analysis-kpi-tile strong{color:#0f172a;font-size:18px;line-height:1.2}.analysis-card-header h3{color:#0f172a;font-size:16px;margin:0 0 6px}.analysis-card-header p{color:#64748b;font-size:13px;margin:0}.analysis-scope-note{color:#475569;font-size:12px;font-weight:600;margin:0}.summary-hero{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:minmax(0,160px) minmax(0,1fr);margin-top:14px}.summary-insight{background:linear-gradient(135deg,#10b98114,#3b82f60f);border:1px solid #0f172a14;border-radius:16px;display:flex;gap:12px;margin-top:10px;padding:12px}.summary-empty{background:#f8fafc;border:1px dashed #94a3b8b3;border-radius:12px;color:#64748b;font-size:13px;margin-top:12px;padding:12px 14px}.summary-insight-main,.summary-insight-next{flex:1 1}.summary-insight-kicker{align-items:center;color:#64748b;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.02em;text-transform:uppercase}.summary-insight-value{color:#0f172a;display:block;font-size:22px;font-weight:700;margin:6px 0}.summary-insight p{color:#475569;font-size:14px;margin:0}.summary-insight-next strong{color:#0f172a;display:block;font-size:16px;margin:4px 0}.summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);margin:10px 0}.summary-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px}.summary-panel-header h4{color:#0f172a;font-size:15px;font-weight:700;margin:0 0 4px}.summary-panel-header p{color:#64748b;font-size:12px;margin:0 0 10px}.summary-radial{display:grid;height:160px;place-items:center;position:relative;width:160px}.summary-radial svg{height:160px;transform:rotate(-90deg);width:160px}.radial-track{fill:none;stroke:#e2e8f0;stroke-width:12}.radial-progress{fill:none;stroke-width:12;stroke-linecap:round}.radial-progress.good{stroke:url(#radial-green)}.radial-progress.mid{stroke:#f59e0b}.radial-progress.low{stroke:#fb923c}.summary-radial-text{grid-gap:4px;display:grid;gap:4px;inset:0;place-content:center;position:absolute;text-align:center}.summary-radial-text span{color:#64748b;font-size:12px}.summary-radial-text strong{color:#0f172a;font-size:22px}.summary-hero-meta{grid-gap:12px;display:grid;gap:12px}.summary-hero-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.summary-hero-label{color:#64748b;font-size:12px}.summary-hero-value{color:#0f172a;display:block;font-size:16px}.summary-attempts{background:#f0fdfa;border:1px solid #0f766e33;border-radius:999px;color:#0f766e;font-size:12px;padding:4px 8px}.summary-mini-chart{background:#f8fafc;border:1px solid #0f172a0f;border-radius:12px;padding:10px}.summary-mini-chart svg{height:60px;width:100%}.summary-mini-line{fill:none;stroke:#14b8a6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.summary-mini-grid{stroke:#94a3b880;stroke-width:1}.summary-mini-point{fill:#94a3b8}.summary-mini-point.latest{fill:#14b8a6;stroke:#0f766e;stroke-width:1}.summary-mini-labels{color:#64748b;display:flex;font-size:11px;justify-content:space-between;margin-top:6px}.summary-mini-labels .latest{color:#0f766e;font-weight:600}.summary-mini-empty{background:#f8fafc;border:1px dashed #94a3b899;border-radius:10px;color:#94a3b8;display:grid;font-size:12px;height:60px;place-items:center}.summary-mini-helper{color:#475569;font-size:12px;margin-top:6px}.summary-level-bar{grid-gap:10px;display:grid;gap:10px}.summary-level-track{background:#e2e8f0;border-radius:999px;height:12px;overflow:hidden;position:relative}.summary-level-fill{background:#60a5fa;border-radius:999px;height:100%}.summary-level-fill.good{background:#22c55e}.summary-level-fill.mid{background:#f59e0b}.summary-level-fill.low{background:#ef4444}.summary-level-marker{border-left:2px dashed #0f172a59;height:24px;position:absolute;top:-6px;width:0}.summary-level-marker span{color:#475569;font-size:10px;left:-12px;position:absolute;top:-18px}.summary-level-meta{align-items:baseline;color:#0f172a;display:flex;gap:8px}.summary-level-meta strong{font-size:18px}.summary-snapshot .summary-kpi-grid{margin-top:6px}.summary-kpi-grid{grid-gap:10px;display:grid;gap:10px}.summary-kpi{grid-gap:6px;background:#f8fafc;border:1px solid #0f172a0f;border-radius:12px;display:grid;gap:6px;padding:10px}.summary-kpi-row{align-items:center;color:#0f172a;display:flex;font-size:12px;justify-content:space-between}.summary-kpi-row strong{color:#0f172a;font-size:13px}.summary-kpi-bar{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.summary-kpi-fill{background:linear-gradient(90deg,#fbbf24,#f97316);border-radius:999px;height:100%}.summary-kpi.good .summary-kpi-fill{background:linear-gradient(90deg,#10b981,#34d399)}.summary-kpi.mid .summary-kpi-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.summary-kpi.low .summary-kpi-fill{background:linear-gradient(90deg,#fb923c,#f97316)}.summary-kpi.latest .summary-kpi-row strong{color:#0f766e}.analysis-empty,.analysis-error,.analysis-loading{color:#64748b;font-size:13px;margin-top:12px}.analysis-error{color:#dc2626}.analysis-loading-shell{grid-gap:14px;animation:subject-overview-loading-fade .24s ease-out;display:grid;gap:14px;margin-top:12px}.analysis-loading-kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-loading-kpi-card,.analysis-loading-panel{background:#fffffff0;border:1px solid #0f172a14;border-radius:16px}.analysis-loading-kpi-card{grid-gap:10px;display:grid;gap:10px;padding:14px}.analysis-loading-panel{grid-gap:12px;display:grid;gap:12px;padding:16px}.analysis-loading-panel.tall{min-height:260px}.analysis-loading-panel-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.analysis-loading-summary-list{grid-gap:10px;display:grid;gap:10px}.analysis-loading-summary-item{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:26px minmax(0,1fr)}.analysis-loading-summary-copy{grid-gap:8px;display:grid;gap:8px}.analysis-loading-skeleton{background:#e8eef4;overflow:hidden;position:relative}.analysis-loading-skeleton:after{animation:subject-overview-skeleton-shimmer 1.25s ease-in-out infinite;background:linear-gradient(90deg,#e8eef400,#ffffffb8 50%,#e8eef400);content:"";inset:0;position:absolute;transform:translateX(-100%)}.analysis-loading-skeleton.line{border-radius:999px;height:12px}.analysis-loading-skeleton.line.tall{height:28px}.analysis-loading-skeleton.line.w-28{width:28%}.analysis-loading-skeleton.line.w-32{width:32%}.analysis-loading-skeleton.line.w-38{width:38%}.analysis-loading-skeleton.line.w-40{width:40%}.analysis-loading-skeleton.line.w-44{width:44%}.analysis-loading-skeleton.line.w-52{width:52%}.analysis-loading-skeleton.line.w-58{width:58%}.analysis-loading-skeleton.line.w-68{width:68%}.analysis-loading-skeleton.line.w-72{width:72%}.analysis-loading-skeleton.chip{border-radius:999px;height:24px;width:96px}.analysis-loading-skeleton.chip.short{width:72px}.analysis-loading-skeleton.avatar{border-radius:50%;height:24px;width:24px}.analysis-loading-skeleton.chart{border-radius:14px;min-height:180px;width:100%}.analysis-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.analysis-stat{grid-gap:4px;background:#f8fafc;border-radius:12px;display:grid;gap:4px;padding:10px}.analysis-stat span{color:#64748b;font-size:12px}.analysis-stat strong{color:#0f172a;font-size:18px}.analysis-recent{grid-gap:8px;display:grid;gap:8px;margin-top:8px}.analysis-recent-title{color:#0f172a;font-size:13px;font-weight:600}.analysis-recent-row{align-items:center;background:#f8fafc;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:7px 9px}.analysis-details{background:#fff;border:1px dashed #94a3b8a6;border-radius:12px}.analysis-details summary{color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:10px 12px}.analysis-details-body{grid-gap:10px;display:grid;gap:10px;padding:0 10px 10px}.ai-panel.compact{max-height:calc(100vh - 190px);overflow:auto}.ai-panel.compact .analysis-card-header p{font-size:12px}.ai-panel.compact .ai-level-group{gap:6px;margin-top:8px}.ai-panel.compact .ai-suggestion-card{gap:6px;padding:10px}.ai-panel.compact .ai-suggestion-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ai-compact-note{color:#64748b;font-size:11px}.analysis-recent-meta{grid-gap:2px;display:grid;gap:2px}.analysis-recent-row strong{color:#0f172a;font-size:13px}.analysis-recent-row span{color:#64748b;font-size:12px}.analysis-recent-score{color:#0f172a;font-weight:700}.analysis-recent-score.good{color:#059669}.analysis-recent-score.mid{color:#d97706}.analysis-recent-score.low{color:#ea580c}.analysis-recent-bar{background:#e2e8f0;border-radius:999px;flex-basis:100%;height:6px;overflow:hidden;width:100%}.analysis-recent-fill{background:linear-gradient(90deg,#14b8a6,#34d399);border-radius:999px;height:100%}.analysis-card.ai-card .chat-interface{margin-top:12px}.analysis-ai-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.analysis-chip{background:#f0fdfa;border:1px solid #20b2aa66;border-radius:999px;color:#0f766e;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.analysis-chip:hover{background:#ccfbf1;transform:translateY(-1px)}.mock-exam-card{grid-gap:12px;animation:courseFadeUp .6s ease forwards;animation-delay:var(--delay);background:linear-gradient(165deg,#f8fbff,#fff 68%);border:1px solid #3b82f661;border-radius:20px;box-shadow:0 10px 24px #2563eb14;display:grid;gap:12px;min-height:236px;opacity:0;overflow:hidden;padding:18px;position:relative;transform:translateY(10px);transition:transform .2s ease,box-shadow .2s ease}.mock-exam-card:after{background:radial-gradient(circle,#93c5fd57 0,#93c5fd00 72%);border-radius:50%;content:"";height:140px;pointer-events:none;position:absolute;right:-50px;top:-50px;width:140px}.mock-exam-card:hover{box-shadow:0 14px 28px #2563eb24;transform:translateY(-2px)}.mock-exam-card-top{align-items:center;display:flex;justify-content:flex-start}.mock-exam-badge{align-items:center;background:#3b82f614;border:1px solid #3b82f652;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.16px;padding:4px 12px}.mock-exam-title-row{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr)}.mock-exam-icon{align-items:center;background:linear-gradient(145deg,#dbeafe59,#3b82f629);border:1px solid #3b82f657;border-radius:50%;color:#2563eb;display:inline-flex;height:54px;justify-content:center;width:54px}.mock-exam-title-copy{grid-gap:4px;display:grid;gap:4px;min-width:0}.mock-exam-card h4{color:#0f172a;font-size:22px;line-height:1.2;margin:0}.mock-exam-card p{color:#334155;margin:0}.mock-exam-summary{color:#1f2937;font-size:15px;line-height:1.4}.mock-exam-support-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#475569;display:-webkit-box;font-size:12px;line-height:1.45;overflow:hidden}.mock-exam-reason-note{color:#1d4ed8;font-size:12px}.mock-exam-meta-list{grid-gap:8px;display:grid;gap:8px}.mock-exam-meta-item{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:10px}.mock-exam-meta-item svg{color:#64748b;flex-shrink:0}.mock-exam-attempt-note{color:#64748b;font-size:12px;margin:-2px 0 0}.mock-exam-start-button{background:linear-gradient(135deg,#4f7ef2,#3b82f6);border-radius:12px;box-shadow:0 8px 18px #3b82f64d;font-size:16px;min-height:46px;width:100%}.mock-exam-start-button:hover{box-shadow:0 12px 24px #3b82f657}.mock-exam-analysis-button{background:#eff6ffe6;border-color:#3b82f65c;color:#2563eb;width:100%}.mock-exam-analysis-button:hover{background:#eff6ff}@media (max-width:768px){.mock-exam-grid{grid-template-columns:1fr}.mock-exam-card{max-width:none;min-height:0;padding:16px;width:100%}.mock-exam-title-row{gap:10px}.mock-exam-icon{height:48px;width:48px}.mock-exam-card h4{font-size:20px}.mock-exam-meta-item,.mock-exam-summary{font-size:14px}}@keyframes courseFadeUp{to{opacity:1;transform:translateY(0)}}@media (max-width:1280px){.course-hero-payment-panel{gap:14px;grid-template-areas:"media content" "actions actions";grid-template-columns:minmax(224px,.86fr) minmax(0,1fr)}.course-hero-payment-actions,.course-hero-payment-media,.course-hero-payment-side{grid-column:auto}.course-hero-payment-actions{align-items:center;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:22px 24px 20px}.course-hero-payment-price-block strong{margin-top:6px}.course-hero-payment-button{font-size:17px;min-height:54px}.course-hero-payment-feature-row{gap:10px;grid-template-columns:1fr}.course-hero-payment-feature-card{min-height:0;padding-right:0}.course-hero-payment-feature-card+.course-hero-payment-feature-card{border-left:0;border-top:1px solid #e7edf7;padding-left:0;padding-top:10px}.course-overview-main h2{font-size:23px}.course-overview-subhead{font-size:19px}.course-overview-content-item strong{font-size:16px}.course-overview-content-item p{font-size:14px}.course-overview-metric strong{font-size:16px}.course-overview-metric span{font-size:14px}}@media (max-width:960px){.course-hero-grid{grid-template-columns:1fr}.course-hero-payment-panel{border-radius:16px;gap:16px;grid-template-areas:"media" "content" "actions";grid-template-columns:1fr;padding:18px}.course-hero-payment-actions,.course-hero-payment-media,.course-hero-payment-side{grid-column:auto}.course-hero-payment-actions{grid-template-columns:1fr}.course-hero-payment-fallback,.course-hero-payment-media{max-height:none;min-height:182px}.course-stats-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.course-overview-grid{gap:16px;grid-template-columns:1fr}.course-overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.course-title-row{flex-direction:column}.course-cover{height:170px;min-width:0;width:100%}.course-hero-payment-panel{border-radius:14px;gap:14px;padding:14px}.course-hero-payment-fallback,.course-hero-payment-media{max-height:none;min-height:170px}.course-hero-payment-label{font-size:14px}.course-hero-payment-side h1{font-size:22px}.course-hero-payment-description,.course-hero-payment-feature-card strong{font-size:14px}.course-hero-payment-feature-card div>span{font-size:13px}.course-hero-payment-price-block strong{margin-top:6px}.course-hero-payment-button{border-radius:8px;font-size:16px;min-height:52px;padding:8px 14px}.course-hero-payment-actions{grid-template-columns:1fr;padding:20px 22px 18px}.course-hero-payment-button{width:100%}.course-overview-grid{gap:14px;padding:14px}.course-overview-main h2{font-size:22px}.course-overview-subhead{font-size:18px}.course-overview-content-item{padding:11px 12px}.course-overview-content-item strong{font-size:15px}.course-overview-content-item p{font-size:14px}.course-overview-intro{gap:12px;grid-template-columns:auto minmax(0,1fr);padding:14px}.course-overview-intro p{font-size:14px;line-height:1.6}.course-overview-content-item-count{font-size:15px}.course-overview-metric{padding:11px 12px}.course-overview-metric strong{font-size:16px}.course-overview-metric span{font-size:14px}.course-overview-side,.lesson-card{grid-template-columns:1fr}.lesson-step{justify-items:start}.analysis-layout,.course-pricing-grid,.mock-exam-layout{grid-template-columns:1fr}.analysis-layout.compact-dashboard .analysis-side{position:static}.analysis-header{align-items:stretch;flex-direction:column}.analysis-controls{align-items:stretch;grid-template-columns:1fr}.analysis-filter{width:100%}.analysis-type-filter{justify-self:stretch;min-width:0}.analysis-source-toggle{grid-template-columns:1fr 1fr}.analysis-last-updated{min-width:0}.analysis-filter select{width:100%}.analysis-quick-grid,.analysis-template-grid{grid-template-columns:1fr}.analysis-kpi-grid,.analysis-loading-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-difficulty-grid,.analysis-trend-bar-row,.analysis-trend-summary{grid-template-columns:1fr}.analysis-trend-bar-row{gap:6px}.quick-card,.template-card{min-height:0}.quick-overall-main,.template-overall-body{grid-template-columns:1fr;justify-items:center}.template-overall-stats{width:100%}.template-donut-wrap{grid-template-columns:1fr;justify-items:center}.quick-kpis{width:100%}.summary-hero{grid-template-columns:1fr}.summary-radial{margin:0 auto}.summary-insight{flex-direction:column}.summary-grid{grid-template-columns:1fr}.analysis-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-cta,.insight-card .insight-grid{grid-template-columns:1fr}.course-tabs-row{align-items:flex-start}.course-tabs-right{justify-content:flex-start;width:100%}}@media (max-width:520px){.analysis-kpi-grid,.analysis-loading-kpis{grid-template-columns:1fr}.analysis-source-toggle button{font-size:12px;padding:7px 6px}}.lessons-tab{max-width:1100px}.lessons-header h3{color:#111827;font-size:18px;margin:0 0 6px}.lessons-header p{color:#6b7280;font-size:13px;margin:0 0 16px}.analysis-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.analysis-controls{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(220px,1fr) auto;width:min(100%,940px)}.analysis-last-updated{grid-gap:2px;display:grid;gap:2px;min-width:180px}.analysis-last-updated span{color:#64748b;font-size:11px}.analysis-last-updated strong{color:#0b1f3f;font-size:13px;font-weight:700}.analysis-filter{grid-gap:6px;display:grid;gap:6px;min-width:220px}.analysis-filter.analysis-filter-hidden{pointer-events:none;visibility:hidden}.analysis-filter label{color:#475569;font-size:12px;font-weight:700}.analysis-type-filter{justify-self:end;min-width:260px}.analysis-topic-filter.is-hidden{pointer-events:none;visibility:hidden}.analysis-source-toggle{grid-gap:8px;background:#f8fbff;border:1px solid #dbe5ef;border-radius:12px;display:grid;gap:8px;grid-template-columns:1fr 1.25fr;padding:4px;width:100%}.analysis-source-toggle button{background:#0000;border:1px solid #0000;border-radius:10px;color:#475569;cursor:pointer;font-size:13px;font-weight:700;line-height:1.2;min-width:0;padding:8px 10px;text-align:center;white-space:nowrap}.analysis-source-toggle button.active{background:#0f3a74;border-color:#0f3a74;color:#fff}.analysis-filter select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;font-size:14px;padding:9px 11px}.lessons-list{grid-gap:12px;display:grid;gap:12px}.lesson-item{grid-gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:12px;grid-template-columns:44px 1fr;padding:14px 16px}.lesson-number{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:50%;color:#374151;font-weight:600;height:32px;justify-content:center;margin-top:4px;width:32px}.lesson-header,.lesson-number{align-items:center;display:flex}.lesson-header{gap:8px}.lesson-header h4{color:#111827;font-size:16px;margin:0}.completion-badge{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9999px;color:#059669;font-size:12px;padding:2px 8px}.lesson-description{color:#4b5563;font-size:13px;margin:6px 0 8px}.lesson-materials{color:#6b7280;display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.material-count{white-space:nowrap}.quiz-start-button,.start-lesson-btn{background:#4ecdc4;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px}.quiz-start-button:hover,.start-lesson-btn:hover{background:#20b2aa;background:var(--primary-dark)}.lesson-quizzes .quiz-card h5{font-size:14px;margin:0 0 2px}.lesson-quizzes .no-quizzes{color:#6b7280;font-size:13px}.exam-section{margin-top:16px}.lesson-loading-shell{grid-gap:18px;animation:subject-overview-loading-fade .24s ease-out;display:grid;gap:18px}.lesson-loading-header{grid-gap:10px;display:grid;gap:10px;padding-top:2px}.lesson-loading-section{grid-gap:14px;display:grid;gap:14px}.lesson-loading-section-head{grid-gap:8px;display:grid;gap:8px}.lesson-loading-recommendation{grid-gap:16px;align-items:stretch;background:linear-gradient(135deg,#ffffffe0,#f1f7fadb);border:1px solid #4c829638;border-radius:16px;box-shadow:0 8px 24px #2755671a;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(260px,340px);min-height:214px;padding:18px}.lesson-loading-card-copy,.lesson-loading-card-title,.lesson-loading-recommendation-copy,.lesson-loading-recommendation-side{grid-gap:10px;align-content:start;display:grid;gap:10px;min-width:0}.lesson-loading-recommendation-side{align-content:stretch}.lesson-loading-button-row,.lesson-loading-chip-row{display:flex;flex-wrap:wrap;gap:8px}.lesson-loading-chip-row.compact{justify-content:flex-end;max-width:210px}.lesson-loading-toolbar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1.3fr) minmax(180px,.9fr) minmax(180px,.9fr)}.lesson-loading-grid{margin-top:0}.lesson-loading-card{grid-gap:14px;background:#fffffff0;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-light);display:grid;gap:14px;min-height:214px;min-width:0;overflow:hidden;padding:16px 16px 14px}.lesson-loading-card-head{align-items:flex-start}.lesson-loading-card-body,.lesson-loading-card-head{display:flex;gap:12px;justify-content:space-between;min-width:0}.lesson-loading-card-body{align-items:stretch}.lesson-loading-score{grid-gap:10px;align-content:center;background:linear-gradient(135deg,#3f6f831a,#4c829614);border:1px solid #4c829638;border-radius:14px;display:grid;gap:10px;justify-items:center;margin-left:auto;min-height:146px;min-width:146px;padding:12px}.lesson-loading-pagination{align-items:center;display:flex;gap:12px;justify-content:space-between}.lesson-loading-skeleton{background:#e8eef4;display:block;max-width:100%;overflow:hidden;position:relative}.lesson-loading-skeleton:after{animation:subject-overview-skeleton-shimmer 1.25s ease-in-out infinite;background:linear-gradient(90deg,#e8eef400,#ffffffbd,#e8eef400);content:"";inset:0;position:absolute;transform:translateX(-100%)}.lesson-loading-skeleton.line{border-radius:999px;height:12px}.lesson-loading-skeleton.line.tall{height:18px}.lesson-loading-skeleton.line.heading{height:24px}.lesson-loading-skeleton.w-22{width:22%}.lesson-loading-skeleton.w-24{width:24%}.lesson-loading-skeleton.w-28{width:28%}.lesson-loading-skeleton.w-34{width:34%}.lesson-loading-skeleton.w-38{width:38%}.lesson-loading-skeleton.w-44{width:44%}.lesson-loading-skeleton.w-46{width:46%}.lesson-loading-skeleton.w-52{width:52%}.lesson-loading-skeleton.w-58{width:58%}.lesson-loading-skeleton.w-62{width:62%}.lesson-loading-skeleton.w-68{width:68%}.lesson-loading-skeleton.w-72{width:72%}.lesson-loading-skeleton.w-78{width:78%}.lesson-loading-skeleton.chip{border-radius:999px;height:28px;width:112px}.lesson-loading-skeleton.chip.short{width:78px}.lesson-loading-skeleton.chip.wide{width:156px}.lesson-loading-skeleton.button{border-radius:10px;height:44px;width:108px}.lesson-loading-skeleton.button.ghost{width:142px}.lesson-loading-skeleton.button.full{border-radius:12px;height:48px;width:100%}.lesson-loading-skeleton.field{border-radius:12px;height:42px;width:100%}.lesson-loading-skeleton.media{border-radius:14px;height:clamp(82px,10vw,124px);width:100%}.lesson-loading-skeleton.circle{border-radius:50%;height:84px;width:84px}.exam-section-header{margin-bottom:12px}.exam-section-header h4{color:#111827;font-size:16px;margin:0 0 4px}.exam-section-header p{color:#6b7280;font-size:13px;margin:0}.exam-toolbar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1.3fr) minmax(180px,.9fr) minmax(180px,.9fr);margin-bottom:14px}.exam-toolbar-field{background:linear-gradient(180deg,#fff,#f9fcfd);border:1px solid #d7e1e8;border-radius:12px;color:#1f2937;font-size:14px;min-height:42px;padding:0 12px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.exam-toolbar-field::placeholder{color:#94a3b8}.exam-toolbar-field:hover{border-color:#bdd2dc}.exam-toolbar-field:focus{background:#fff;border-color:#67a9c2;box-shadow:0 0 0 3px #67a9c22e;outline:none}.exam-toolbar-search{padding-left:14px}.exam-toolbar-select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,#0000 50%,#64748b 0),linear-gradient(135deg,#64748b 50%,#0000 0),linear-gradient(180deg,#fff,#f9fcfd);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px),0 0;background-repeat:no-repeat;background-size:6px 6px,6px 6px,100% 100%;padding-right:34px}.ai-recommendation{grid-gap:16px;align-items:stretch;background:linear-gradient(135deg,#3f6f8329,#4c82961f);border:1px solid #4c829647;border-radius:16px;box-shadow:0 8px 24px #27556724;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(260px,340px);padding:18px}.ai-recommendation-content{min-width:0}.ai-recommendation-side{align-items:stretch;display:flex;flex-direction:column;gap:12px;justify-content:space-between;min-height:100%}.ai-recommendation-illustration{height:clamp(82px,10vw,124px);min-height:0;object-fit:contain;object-position:center;width:100%}.ai-recommendation-title{color:#2f6178;font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.ai-recommendation h3{color:#0f172a;font-size:18px;margin:0}.ai-recommendation p{color:#334155;font-size:14px;margin:0}.ai-recommendation-reasons{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0 0;padding:0}.ai-recommendation-reasons li{background:#ffffff94;border:1px solid #4c829638;border-radius:999px;color:#1f4d61;font-size:12px;font-weight:700;line-height:1.35;max-width:100%;padding:6px 10px}.ai-recommendation-target{color:#0f172a;display:inline-flex;font-size:13px;font-weight:800;margin-top:12px}.ai-recommendation-btn{background:linear-gradient(135deg,#f39b7f,#ea7f66);border:none;border-radius:12px;box-shadow:0 8px 20px #ea7f663d;color:#fff;cursor:pointer;font-weight:700;min-height:48px;width:100%}.ai-recommendation-btn:hover{filter:brightness(.98)}@media (max-width:760px){.ai-recommendation{grid-template-columns:1fr}.ai-recommendation-side{align-items:stretch}.ai-recommendation-illustration{align-self:flex-end;height:96px;width:min(240px,100%)}}.exam-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.exam-inline-empty{background:linear-gradient(180deg,#fff,#f8fbfd);border:1px dashed #d5dee6;border-radius:14px;color:#64748b;grid-column:1/-1;padding:24px 20px;text-align:center}.exam-inline-empty h3{color:#1f2937;font-size:18px;margin:0 0 6px}.exam-inline-empty p{margin:0}.exam-inline-empty .exam-secondary-btn{margin-top:12px}@media (max-width:900px){.exam-toolbar,.lesson-loading-toolbar{grid-template-columns:1fr}.lesson-loading-card-body{align-items:flex-start;flex-direction:column}.lesson-loading-score{align-self:flex-end}.exam-grid{grid-template-columns:1fr}}@media (max-width:760px){.lesson-loading-recommendation{grid-template-columns:1fr}.lesson-loading-recommendation-side{align-content:start}.lesson-loading-skeleton.media{height:96px;justify-self:end;width:min(240px,100%)}}@media (max-width:640px){.lesson-loading-card-body,.lesson-loading-card-head,.lesson-loading-pagination{align-items:stretch;flex-direction:column}.lesson-loading-chip-row.compact{justify-content:flex-start}.lesson-loading-score{align-self:flex-end}}.exam-card{grid-gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow-light);cursor:pointer;display:grid;gap:14px;min-width:0;overflow:hidden;padding:16px 16px 14px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.exam-card:hover{border-color:#cfdce6;box-shadow:0 10px 24px #0f172a14;transform:translateY(-1px)}.exam-card:focus-visible{outline:2px solid #4c829659;outline-offset:2px}.exam-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.exam-card-header h4{color:#111827;font-size:15px;margin:0}.exam-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{border-radius:999px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.badge-purpose{background:#4ecdc426;color:#0f766e}.badge-status.recommended{background:#e0f2fe;color:#0369a1}.badge-status.new{background:#f0fdf4;color:#15803d}.badge-status.review{background:#fff1f2;color:#be123c}.badge-difficulty.easy{background:#ecfdf5;color:#059669}.badge-difficulty.medium{background:#fffbeb;color:#d97706}.badge-difficulty.hard{background:#fef2f2;color:#dc2626}.exam-meta{grid-gap:6px;align-content:start;color:#6b7280;display:grid;font-size:13px;gap:6px}.exam-meta span{align-items:center;display:inline-flex;gap:6px}.exam-body{align-items:stretch;display:flex;flex-direction:row;gap:12px;justify-content:space-between;min-width:0}.exam-left{grid-gap:10px;align-content:start;display:grid;flex:1 1;gap:10px;min-width:0}.exam-power-panel{align-items:center;align-self:flex-end;background:linear-gradient(135deg,#3f6f8329,#4c82961f);border:1px solid #4c829647;border-radius:14px;display:flex;flex:0 0 auto;justify-content:center;margin-left:auto;min-height:146px;min-width:146px;padding:10px 10px 12px;width:auto}.exam-power{grid-gap:10px;display:grid;gap:10px;justify-items:center}.exam-power-ring{flex:0 0 auto;height:84px;position:relative;width:84px}.exam-power-ring svg{height:100%;transform:rotate(-90deg);width:100%}.exam-power-ring-bg,.exam-power-ring-value{fill:none;stroke-width:7}.exam-power-ring-bg{stroke:#c8d8e1}.exam-power-ring-value{stroke:#4c8296;stroke-linecap:round;transition:stroke-dashoffset .24s ease}.exam-power-ring-text{align-items:center;color:#0f172a;display:flex;font-size:20px;font-weight:700;inset:0;justify-content:center;position:absolute}.exam-power-copy{grid-gap:3px;color:#1e3a8a;display:grid;font-size:12px;font-weight:700;gap:3px;min-width:0;text-align:center}.exam-power-copy small{color:#475569;font-size:11px;font-weight:600;min-width:0;overflow-wrap:anywhere}@media (max-width:900px){.exam-body{align-items:flex-start;flex-direction:column}.exam-power-panel{align-self:flex-end;flex-basis:auto;width:auto}}@media (max-width:640px){.exam-body{align-items:stretch;flex-direction:column}.exam-power-panel{align-self:flex-end;flex-basis:auto;width:auto}}.exam-difficulty{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:8px}.exam-difficulty .star-row{font-size:14px;letter-spacing:1px}.exam-difficulty .difficulty-text{font-size:12px}.exam-difficulty.difficulty-easy .star-row{color:#059669}.exam-difficulty.difficulty-medium .star-row{color:#d97706}.exam-difficulty.difficulty-hard .star-row{color:#dc2626}.exam-reasons{grid-gap:6px;color:#374151;display:grid;font-size:13px;gap:6px;list-style:none;margin:0;padding:0}.exam-reasons li{align-items:flex-start;display:flex;gap:6px}.exam-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.exam-primary-btn,.exam-secondary-btn{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;min-height:44px;padding:0 14px}.exam-primary-btn{background:linear-gradient(135deg,#f39b7f,#ea7f66);color:#fff}.exam-card .exam-primary-btn{box-shadow:0 8px 18px #ea7f663d;font-weight:700;min-height:46px;padding:0 18px}.exam-secondary-btn{background:#fff7f4;border:1px solid #f4b8a7;color:#cf6e57}.exam-primary-btn:hover{filter:brightness(.98)}.exam-secondary-btn:hover{background:#ffefe9}.exam-empty-state{background:#fff;border:2px dashed #d1d5db;border-radius:16px;color:#6b7280;padding:32px;text-align:center}.exam-empty-icon{font-size:36px;margin-bottom:12px}.course-content:has(.split-screen){height:calc(100dvh - 78px);margin:0;max-width:none;min-height:0;padding:10px}.course-content:has(.split-screen-maximized){height:calc(100dvh - 78px);margin:0;max-width:none;padding:10px}.App:has(.split-screen) .course-header,.App:has(.split-screen-maximized) .course-header{display:none}.App:has(.split-screen) .app-footer,.App:has(.split-screen-maximized) .app-footer{display:none}.split-screen,.split-screen-maximized{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;min-height:0}.split-screen-maximized{gap:16px;height:100%;min-height:0}.left-panel,.right-panel{background:#fff;border:1px solid #f1f3f5;border-radius:12px;box-shadow:0 4px 16px #00000014;display:flex;flex-direction:column;min-height:0;overflow:hidden}.left-panel .quiz-interface{height:100%;overflow:auto}.right-panel .chat-interface{height:100%}.chat-interface{background:radial-gradient(circle at 10% 0,#4ecdc429,#0000 45%),radial-gradient(circle at 90% 0,#20b2aa1a,#0000 42%),linear-gradient(180deg,#f7fcfb,#f3f8fb);color:#1f2937;display:flex;flex-direction:column;font-size:18px;height:100%;min-height:0;position:relative}.qa-container{margin:0 auto;max-width:1100px;padding:8px 12px 32px}.qa-breadcrumb{align-items:center;color:#9aa3af;display:flex;flex-wrap:wrap;font-size:13px;font-weight:500;gap:6px;letter-spacing:.01em}.qa-breadcrumb a{color:#f2994a;text-decoration:none;transition:color .2s ease}.qa-breadcrumb a:hover{color:#e67e22;text-decoration:underline}.qa-breadcrumb span{color:#9aa3af}.qa-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.qa-header.center{justify-content:center;text-align:center}.qa-header.center .qa-header-left{align-items:center}.qa-header.center .qa-breadcrumb{justify-content:center}.qa-header.center .qa-actions{display:none}.qa-title{color:#111827;font-size:22px;font-weight:700;margin:6px 0 4px}.qa-subtitle{color:#6b7280;font-size:13px}.qa-actions{align-items:center;display:flex;gap:10px}.qa-tabs{align-items:center;background:#ffffffe6;border:1px solid #0f172a14;border-radius:999px;display:inline-flex;gap:8px;margin-bottom:16px;padding:6px}.qa-tab{background:#0000;border:none;border-radius:999px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.qa-tab.active{background:#20b2aa;box-shadow:0 6px 14px #20b2aa40;color:#fff}.qa-history-table-wrap{overflow-x:auto}.qa-button{background:#fff;border:1px solid #0000;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s ease}.qa-button:focus{outline:2px solid #2ab3a8;outline-offset:2px}.qa-loading{display:flex;flex-direction:column;gap:16px}.qa-button.primary{background:#2ab3a8;color:#fff}.qa-button.primary:hover{background:#20968c}.qa-button.ghost{border:1px solid #e5e7eb;color:#0f172a}.qa-button.full{width:100%}.qa-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.qa-kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:6px;min-height:110px;padding:16px}.qa-kpi-label{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px}.qa-kpi-value{color:#111827;font-size:26px;font-weight:700}.qa-kpi-helper{color:#9ca3af;font-size:12px}.qa-kpi-positive{background:#f0fdf4;border-color:#bbf7d0}.qa-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:20px;padding:16px}.qa-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.qa-section-title{font-size:16px;font-weight:700;margin:0}.qa-section-subtitle{color:#6b7280;font-size:12px;margin-top:4px}.qa-chart{position:relative}.qa-chart-legend{align-items:center;color:#6b7280;display:inline-flex;font-size:12px;gap:6px;margin-bottom:8px}.qa-chart-dot{background:#2ab3a8;border-radius:999px;height:10px;width:10px}.qa-chart-axis{font-size:12px;margin-top:-8px}.qa-chart-axis,.qa-chart-empty{color:#6b7280;text-align:center}.qa-chart-empty{background:#f9fafb;border-radius:12px;padding:40px 16px}.qa-tooltip{background:#111827;border-radius:8px;color:#fff;font-size:12px;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%,-100%);white-space:nowrap}.qa-table{display:flex;flex-direction:column;gap:8px}.qa-table-header{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600}.qa-table-header,.qa-table-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:120px 110px 110px 110px 1fr 130px;padding:8px 6px}.qa-table-row{align-items:center;border-radius:10px;transition:background .2s ease}.qa-table-expand,.qa-table-row:hover{background:#f9fafb}.qa-table-expand{border:1px solid #e5e7eb;border-radius:10px;grid-column:1/-1;padding:10px 12px}.qa-expand-title{font-size:13px;font-weight:600;margin-bottom:8px}.qa-expand-content{display:flex;flex-wrap:wrap;gap:8px}.qa-answer-chip{background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;padding:4px 8px}.qa-score-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:4px 8px}.qa-score-badge.green{background:#dcfce7;color:#166534}.qa-score-badge.amber{background:#fef3c7;color:#92400e}.qa-score-badge.red{background:#fee2e2;color:#991b1b}.qa-align-right{text-align:right}.qa-sort-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.qa-sort-button{background:#fff;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;font-size:12px;padding:6px 12px}.qa-sort-button.active{background:#2ab3a8;border-color:#2ab3a8;color:#fff}.qa-state{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;text-align:center}.qa-state-title{font-size:16px;font-weight:700;margin-bottom:8px}.qa-state-body{color:#6b7280;font-size:13px;margin-bottom:16px}.qa-skeleton{animation:qa-skeleton 1.4s ease infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;border-radius:12px}.qa-skeleton-line{background:#e5e7eb;border-radius:8px;height:12px;margin-bottom:10px}.qa-skeleton-line.tall{height:24px}.qa-skeleton-line.short{width:40%}.qa-skeleton-line.medium{width:70%}.qa-skeleton-line.full{width:100%}.qa-table-skeleton{display:flex;flex-direction:column;gap:10px}.qa-desktop-only{display:block}.qa-mobile-only{display:none}.qa-attempt-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:12px;padding:14px}.qa-attempt-card-header{display:flex;font-weight:600;justify-content:space-between}.qa-attempt-card-body{grid-gap:10px;color:#6b7280;display:grid;font-size:12px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.qa-attempt-card-body strong{color:#111827;display:block;margin-top:4px}@keyframes qa-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:900px){.qa-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qa-table-header,.qa-table-row{grid-template-columns:110px 100px 100px 100px 1fr 110px}}@media (max-width:768px){.qa-header{align-items:flex-start;flex-direction:column}.qa-kpi-grid{grid-template-columns:1fr}.qa-desktop-only{display:none}.qa-mobile-only{display:block}}.chat-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-bottom:1px solid #20b2aa38;justify-content:space-between;padding:14px 18px}.chat-header,.chat-title{align-items:center;display:flex}.chat-title{gap:12px}.ai-icon{font-size:24px}.chat-title h3{color:#0f172a;font-size:19px;font-weight:600;margin-bottom:2px}.chat-status,.chat-title p{color:#475569;font-size:15px}.chat-status{align-items:center;display:flex;gap:8px}.online-indicator{animation:pulse 2s infinite;background:#28a745;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.online-indicator.error{animation:pulseError 1.5s infinite;background:#dc3545}@keyframes pulseError{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.chat-error-banner{align-items:center;animation:slideDown .3s ease;background:#fff8e8;border:1px solid #f7db9f;border-left:4px solid #ffc107;color:#9a6a00;display:flex;font-size:14px;gap:8px;margin:0;padding:12px 16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chat-error-banner .error-icon{font-size:16px}.chat-error-banner .retry-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-left:auto;padding:4px 8px;transition:background-color .2s}.chat-error-banner .retry-button:hover{background:#0000001a}.chat-energy-banner{align-items:center;background:#fffffff5;border:1px solid #20b2aa47;border-radius:10px;display:flex;gap:10px;margin:0 0 8px;padding:8px 10px;width:min(320px,100%)}.chat-energy-banner.exhausted{background:#fef2f2f2;border-color:#f8717166}.chat-energy-banner-label{color:#0f766e;font-size:12px;font-weight:700;white-space:nowrap}.chat-energy-banner.exhausted .chat-energy-banner-label{color:#991b1b}.chat-energy-banner-meter{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.chat-energy-banner-track{background:#0f172a1f;border-radius:999px;flex:1 1;height:6px;overflow:hidden}.chat-energy-banner-track>span{background:linear-gradient(90deg,#34d399,#10b981);border-radius:inherit;display:block;height:100%}.chat-energy-banner.exhausted .chat-energy-banner-track>span{background:linear-gradient(90deg,#fb7185,#ef4444)}.chat-energy-banner-percent{color:#0f172a;font-size:12px;font-weight:700;min-width:34px;text-align:right}.chat-energy-banner.exhausted .chat-energy-banner-percent{color:#991b1b}.message.ai .message-bubble.error{background:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:18px;overflow-x:hidden;overflow-y:auto;padding:24px 24px 148px;position:relative;width:100%}.message{animation:messageSlideIn .3s ease;display:flex;gap:0;margin-bottom:0;max-width:none;width:100%}.message.ai{justify-content:flex-start;margin-left:0}.message.ai,.message.user{align-items:flex-start;max-width:100%}.message.user{justify-content:flex-end;margin-left:auto;margin-right:0}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:center;border-radius:50%;display:flex;display:none;flex-shrink:0;font-size:16px;font-weight:600;height:42px;justify-content:center;width:42px}.message.ai .message-avatar{background:#f1f5f914;border:1px solid #94a3b84d;color:#f8fafc}.message.user .message-avatar{background:#64748b73;color:#e2e8f0;font-size:19px}.message-content{word-wrap:break-word;flex:1 1;max-width:100%;overflow-wrap:break-word}.message.user .message-content{align-items:flex-end;display:flex;flex:0 1 auto;flex-direction:column;max-width:min(72%,560px);width:auto}.message.ai .message-content{align-items:flex-start;display:flex;flex-direction:column;max-width:min(100%,78ch);width:auto}.message-bubble{word-wrap:break-word;border-radius:18px;font-size:17px;line-height:1.72;max-width:100%;padding:16px 22px}.message.ai .message-bubble{background:#0000;border:none;box-shadow:none;color:#0f172a;line-height:1.72;max-width:78ch;min-width:0;padding:0;width:auto}.message.context-message{margin-top:2px}.message.ai.context-message .message-content.context-content{max-width:100%;width:min(100%,82ch)}.message.ai .message-bubble.context-bubble{background:linear-gradient(180deg,#f8fbff,#f2f7ff);border:1px solid #c9d8ec;border-left:4px solid #7ea7e8;border-radius:14px;box-shadow:0 8px 20px #1f3f7a14;max-width:100%;padding:15px 16px 13px;position:relative;width:min(100%,82ch)}.message.ai .message-bubble.context-bubble:before{background:#7ea7e82e;border:1px solid #4f7ecc47;border-radius:999px;color:#466fbf;content:"📖 ข้อมูลจากโจทย์";display:inline-block;font-size:12px;font-weight:700;letter-spacing:.01em;margin-bottom:8px;padding:2px 9px}.message.ai .message-bubble.context-bubble,.message.ai .message-bubble.context-bubble a,.message.ai .message-bubble.context-bubble em,.message.ai .message-bubble.context-bubble h1,.message.ai .message-bubble.context-bubble h2,.message.ai .message-bubble.context-bubble h3,.message.ai .message-bubble.context-bubble li,.message.ai .message-bubble.context-bubble p,.message.ai .message-bubble.context-bubble strong{color:#264162}.suggested-replies{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.suggested-reply{background:#eef2ff;border:1px solid #cbd5f5;border-radius:999px;color:#1d4ed8;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px}.suggested-reply:hover{background:#e0e7ff}.message.user .message-bubble{background:linear-gradient(145deg,#d2e9eb,#c4e2e6);border:1px solid #53869147;border-radius:14px 14px 8px 14px;box-shadow:0 4px 12px #48758024;color:#1e4f58;display:inline-block;font-size:1rem;line-height:1.45;max-width:100%;padding:9px 14px;width:auto}.message.user .message-bubble,.message.user .message-bubble a,.message.user .message-bubble em,.message.user .message-bubble h1,.message.user .message-bubble h2,.message.user .message-bubble h3,.message.user .message-bubble li,.message.user .message-bubble p,.message.user .message-bubble strong{color:#1e4f58!important}.message-time{color:#64748b;font-size:14px;margin-top:6px}.message.user .message-time{color:#5f7388;margin-right:2px;margin-top:4px;text-align:right}.message.ai .message-time{color:#64748b}.bullet-point{padding-left:16px;position:relative}.bullet-point:before{color:#4ecdc4;content:"•";font-weight:700;left:0;position:absolute}.message-header{font-weight:600;margin-bottom:8px;margin-top:8px}.message-bubble p:first-child{margin-top:0}.message-bubble p:last-child{margin-bottom:0}.message-bubble p{line-height:1.88;margin-bottom:.95rem}.message-bubble ol,.message-bubble ul{margin:.75rem 0;padding-left:1.5rem}.message-bubble ol+p,.message-bubble ul+p{margin-top:1rem}.message-bubble li{line-height:1.6;margin-bottom:.5rem}.message-bubble pre{background:#f1f5f9;border:1px solid #dbe4ee;border-radius:.5rem;font-size:19px;margin:1rem 0;overflow-x:auto;padding:1rem}.message-bubble table{border-collapse:collapse;font-size:19px;margin:1rem 0;width:100%}.message-bubble td,.message-bubble th{border:1px solid #e9ecef;padding:.75rem;text-align:left}.message-bubble blockquote,.message-bubble code,.message-bubble em,.message-bubble h1,.message-bubble h2,.message-bubble h3,.message-bubble li,.message-bubble ol,.message-bubble p,.message-bubble strong,.message-bubble ul{font-size:19px}.message-bubble th{background:#f8f9fa;font-weight:600}.message-bubble h1,.message-bubble h2,.message-bubble h3{margin:1.25rem 0 .75rem}.message-bubble h1:first-child,.message-bubble h2:first-child,.message-bubble h3:first-child{margin-top:0}.typing{align-items:center;display:flex;gap:8px}.typing-indicator{display:flex;gap:4px}.typing-indicator span{animation:typingAnimation 1.4s infinite;background:#6c757d;border-radius:50%;height:6px;width:6px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingAnimation{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.floating-input-container{background:#0000;bottom:6px;left:16px;padding:0;pointer-events:none;position:absolute;right:16px}.floating-chat-input{margin:0 auto;max-width:920px;pointer-events:all;width:100%}.floating-input-wrapper{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #20b2aa3d;border-radius:24px;box-shadow:0 12px 26px #0f172a1f;display:flex;padding:4px 4px 4px 12px;position:relative;transition:all .3s ease;width:100%}.floating-input-wrapper:hover{box-shadow:0 14px 28px #0f172a29;transform:translateY(-2px)}.floating-input-wrapper:focus-within{border-color:#4ecdc4;box-shadow:0 12px 40px #4ecdc433,0 4px 12px #4ecdc426;transform:translateY(-3px)}.floating-input{background:#0000;border:none;color:#1f2937;flex:1 1;font-family:inherit;font-size:18px;line-height:1.5;outline:none;padding:12px 0}.message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.message-attachment-image{border:1px solid #e5e7eb;border-radius:10px;max-width:220px;object-fit:cover}.chat-attachment-preview{align-items:center;background:#f8fbfc;border:1px dashed #20b2aa61;border-radius:12px;display:flex;gap:8px;margin-bottom:8px;padding:6px 8px}.chat-attachment-preview img{border:1px solid #e5e7eb;border-radius:8px;height:44px;object-fit:cover;width:44px}.chat-attachment-name{color:#475569;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-remove{align-items:center;background:#e2e8f0;border:none;border-radius:50%;color:#334155;cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .2s ease;width:24px}.chat-attachment-remove:hover{background:#e2e8f0}.chat-attachment-error{color:#b91c1c;font-size:12px;margin-bottom:6px}.floating-input::placeholder{color:#64748b;font-weight:400}.input-actions{align-items:center;display:flex;gap:8px;margin-left:12px}.attachment-button{align-items:center;background:none;border:none;border-radius:12px;color:#475569;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.attachment-button:hover:not(:disabled){background:#20b2aa24;color:#0f172a;transform:scale(1.1)}.attachment-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.camera-button,.draw-button{font-size:15px}.floating-send-button{align-items:center;background:linear-gradient(135deg,#4ecdc4,#20b2aa);border:none;border-radius:18px;box-shadow:0 4px 12px #4ecdc44d;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.floating-send-button:hover:not(:disabled){background:linear-gradient(135deg,#20b2aa,#4ecdc4);box-shadow:0 6px 20px #4ecdc466;transform:scale(1.05)}.floating-send-button:active{transform:scale(.98)}.floating-send-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.floating-send-button.disabled-by-energy{background:linear-gradient(135deg,#fca5a5,#f87171);box-shadow:none}.floating-send-button svg{transition:transform .2s ease}.floating-send-button:hover:not(:disabled) svg{transform:translateX(2px)}.sending-indicator{align-items:center;display:flex;gap:3px}.sending-indicator span{animation:sendingPulse 1.4s ease-in-out infinite;background:currentColor;border-radius:50%;height:4px;width:4px}.sending-indicator span:first-child{animation-delay:-.32s}.sending-indicator span:nth-child(2){animation-delay:-.16s}.sending-indicator span:nth-child(3){animation-delay:0s}@keyframes sendingPulse{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.input-footer{display:none}.input-hint{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border:1px solid #20b2aa2e;border-radius:12px;color:#475569;font-size:12px;padding:4px 8px}.draw-modal-overlay{align-items:center;background:#0000;display:flex;inset:10px 10px 96px 10px;justify-content:center;padding:10px;position:absolute;z-index:40}.draw-modal{background:#fff;border:1px solid #94a3b859;border-radius:14px;box-shadow:0 20px 44px #0f172a3d;max-height:100%;overflow:hidden;width:min(820px,100%)}.draw-modal-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 14px}.draw-modal-header h4{color:#0f172a;font-size:16px;margin:0}.draw-close-btn{background:#e2e8f0;border:none;border-radius:8px;color:#0f172a;cursor:pointer;height:32px;width:32px}.draw-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;padding:10px 14px}.draw-toolbar label{align-items:center;color:#334155;display:inline-flex;font-size:14px;gap:8px}.draw-toolbar input[type=range]{width:110px}.draw-save-btn,.draw-submit-btn,.draw-tool-btn{border:none;border-radius:10px;cursor:pointer;font-size:14px;padding:8px 12px}.draw-tool-btn{background:#e2e8f0;color:#0f172a}.draw-save-btn{background:linear-gradient(135deg,#4ecdc4,#20b2aa);color:#fff}.draw-submit-btn{background:linear-gradient(135deg,#86efac,#4ade80);color:#14532d;font-weight:700}.draw-submit-btn:disabled{cursor:not-allowed;opacity:.65}.draw-canvas{background:#fff;cursor:crosshair;display:block;height:min(56vh,440px);touch-action:none;width:100%}@media (max-width:768px){.mock-exam-content{padding-top:14px}.mock-exam-stage{gap:14px}.mock-exam-stage-header{align-items:stretch;flex-direction:column;padding:16px}.mock-exam-stage-meta{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.mock-exam-stage-copy h1{font-size:24px}.mock-exam-stage-copy p{font-size:14px}.mock-exam-stage-body .quiz-interface{min-height:0}.mock-exam-loading-stage{gap:12px;padding:14px}.mock-exam-loading-toolbar{grid-template-columns:1fr 1fr}.mock-exam-loading-skeleton.line.right{grid-column:1/-1;justify-self:start;width:44%}.mock-exam-loading-body{grid-template-columns:1fr;min-height:0}.mock-exam-loading-sidebar{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.mock-exam-loading-footer{display:grid;grid-template-columns:1fr 1fr}.mock-exam-loading-skeleton.button,.mock-exam-loading-skeleton.button.ghost{width:100%}.message.ai .message-bubble,.message.ai .message-content{max-width:100%}.chat-energy-banner{margin:0 0 6px;padding:7px 9px;width:min(250px,92%)}.chat-energy-banner-label{font-size:11px}.chat-energy-banner-percent{font-size:11px;min-width:30px}.floating-chat-input{max-width:none}.floating-input-container{bottom:4px;left:12px;right:12px}.floating-input-wrapper{padding:4px 4px 4px 14px}.chat-messages{padding:18px 14px 124px}.floating-input{font-size:17px;padding:12px 0}.floating-send-button{height:36px;width:36px}.attachment-button{font-size:14px;height:32px;width:32px}.draw-modal{width:100%}.draw-canvas{height:min(46vh,360px)}}.quiz-interface{display:flex;flex-direction:column;height:100%;min-height:0}.mock-exam-stage-body .quiz-interface{background:linear-gradient(180deg,#fffffff0,#f8fafcf5);min-height:min(76vh,980px)}.back-to-course-button{align-items:center;background:#0f172a0a;border:1px solid #dbe3ea;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;line-height:1.2;padding:5px 10px;text-decoration:none;transition:all .2s ease}.back-to-course-button:hover{background:#0f172a14;border-color:#c9d3df;transform:translateY(-1px)}.quiz-top-actions{display:flex;justify-content:flex-start;margin-bottom:10px}.quiz-header{background:linear-gradient(135deg,#4ecdc4,#20b2aa);box-shadow:0 2px 4px #0000001a;color:#fff;padding:1.5rem}.quiz-header h3{align-items:center;display:flex;font-size:18px;gap:8px;margin-bottom:8px}.quiz-title-row{align-items:flex-start;display:flex;gap:4px;justify-content:space-between;width:100%}.submit-top-button{background:#16a34a24;border:1px solid #16a34a73;border-radius:999px;color:#166534;cursor:pointer;font-size:.75rem;font-weight:700;line-height:1;margin-left:auto;padding:.28rem .62rem;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;white-space:nowrap}.submit-top-button:hover{background:#16a34a33;box-shadow:0 2px 8px #16a34a33;transform:translateY(-1px)}.quiz-header p{font-size:14px;opacity:.9}.quiz-list{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.quiz-card{background:#fff;border:2px solid #f1f3f5;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:1.5rem;transition:all .3s ease}.quiz-card:hover{border-color:#4ecdc4;box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.quiz-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.quiz-card-header h4{color:#2c3e50;font-size:16px;margin-bottom:4px}.quiz-score{background:#28a745;border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.quiz-description{color:#6c757d;font-size:14px;margin-bottom:16px}.quiz-stats{display:flex;gap:16px;margin-bottom:16px}.stat-item{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:4px}.stat-icon{font-size:14px}.quiz-start-button{background:linear-gradient(135deg,#4ecdc4,#20b2aa);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.quiz-start-button.completed{background:#6c757d}.quiz-start-button:hover{background:linear-gradient(135deg,#20b2aa,#4ecdc4);box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-1px)}.quiz-progress{background:radial-gradient(circle at 0 0,#4ecdc424,#0000 34%),linear-gradient(180deg,#fffffffa,#f7fbfff5);border-bottom:1px solid #dbe7f1;padding:16px 20px 18px;position:relative}.quiz-info{align-items:stretch;display:flex;flex-direction:column;gap:4px;justify-content:flex-start;margin-bottom:8px}.quiz-info h3{color:#0f172a;font-size:clamp(20px,1.8vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.08}.quiz-meta{align-items:center;color:#526476;display:flex;flex-wrap:nowrap;font-size:13px;gap:14px;min-width:0}.quiz-title-copy{grid-gap:8px;display:grid;flex:1 1;gap:8px;min-width:0;padding-right:136px}.quiz-top-side{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:6px;margin:0;position:absolute;right:16px;top:10px}.timer{color:#0f766e;font-weight:700}.timer.warning{animation:pulse 1s infinite;color:#e74c3c}.progress-bar{background:#d8e0e8;border-radius:999px;height:7px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#0ea5a5,#14b8a6);height:100%;transition:width .3s ease}.question-container{background:linear-gradient(180deg,#fffffffa,#f9fbfff5);flex:1 1;min-height:0;overflow-y:auto;padding:24px 24px 20px}.question-header{align-items:flex-start;flex-wrap:nowrap;gap:10px;margin-bottom:18px}.question-meta-badges{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.quiz-energy-banner{border-radius:999px;gap:7px;margin:0;padding:5px 8px;width:min(205px,100%)}.quiz-energy-banner.top-card{margin:0;padding:4px 8px;width:min(158px,100%)}.quiz-energy-banner .chat-energy-banner-label{font-size:11px}.quiz-energy-banner .chat-energy-banner-track{height:9px}.quiz-energy-banner .chat-energy-banner-percent{font-size:11px;min-width:28px}.question-number{background:linear-gradient(135deg,#4ecdc4,#20b2aa);border-radius:12px;box-shadow:0 10px 20px #20b2aa38;color:#fff;font-size:.84rem;font-weight:700;padding:.48rem .88rem}.question-difficulty{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;padding:.28rem .6rem}.question-difficulty-easy{background:#dcfce7;color:#166534}.question-difficulty-medium{background:#fef3c7;color:#92400e}.question-difficulty-hard{background:#fee2e2;color:#991b1b}.question-text{color:#18324a;font-size:clamp(24px,2.1vw,32px);font-weight:600;letter-spacing:-.01em;line-height:1.52;margin-bottom:20px}.question-context-block{background:#f8fbfe;border:1px solid #d8e6f2;border-radius:14px;color:#38526b;font-size:15px;line-height:1.7;margin-bottom:14px;padding:12px 14px;white-space:pre-wrap}.hint-panel{background:#fafafa;border:1px dashed #e5e7eb;border-radius:10px;margin:8px 0 12px;padding:8px 10px}.hint-panel-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.hint-panel-title{font-size:13px;font-weight:600}.hint-panel-subtitle{color:#6b7280;font-size:12px}.hint-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.hint-button{border-radius:8px;font-size:12px;padding:6px 10px}.options-container{display:flex;flex-direction:column;gap:14px}.option-button{align-items:center;background:#ffffffeb;border:1px solid #d7e5ef;border-radius:16px;box-shadow:0 10px 22px #0f172a0d;cursor:pointer;display:flex;font-size:19px;gap:14px;padding:15px 16px;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.option-button:hover{background:#fff;border-color:#20b2aa99;box-shadow:0 16px 30px #2c93a41f;transform:translateY(-1px)}.option-button.selected{background:#4ecdc41a;border-color:#4ecdc4;box-shadow:0 16px 30px #4ecdc429;color:#17364b}.option-button.correct{background:#22c55e1f;border-color:#22c55e}.option-button.incorrect{background:#ef44441f;border-color:#ef4444}.option-button:disabled{cursor:default;opacity:.95}.option-label{align-items:center;background:#4ecdc4;border-radius:14px;box-shadow:inset 0 -1px 0 #ffffff38;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:2.75rem;justify-content:center;width:2.75rem}.option-button.selected .option-label{background:#20b2aa}.option-text{flex:1 1;font-size:19px;line-height:1.5}.selected-mark{color:#4ecdc4;font-size:16px;font-weight:700}.answer-feedback{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;margin-top:18px;padding:14px 16px}.answer-feedback.correct{background:#22c55e14;border-color:#22c55e}.answer-feedback.incorrect{background:#ef444414;border-color:#ef4444}.answer-feedback-title{font-weight:700;margin-bottom:4px}.answer-feedback-detail{color:#374151;font-size:14px;margin-bottom:8px}.answer-feedback-user{color:#6b7280;font-size:13px;margin-bottom:8px}.answer-explanation strong{display:inline-block;margin-bottom:4px}.answer-explanation p{color:#374151;line-height:1.5;margin:0}.answer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.question-submit-row{display:flex;justify-content:flex-end;margin-top:16px}.submit-answer-button{background:#1f2937;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:19px;font-weight:600;padding:8px 14px}.submit-answer-button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.answer-status{color:#64748b;font-size:19px}.answer-status.warning{color:#b45309}.quiz-navigation{background:linear-gradient(180deg,#fffffff7,#f4f8fcfa);border-top:1px solid #dbe7f1;padding:16px 18px}.nav-buttons{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.nav-buttons,.nav-buttons-main{align-items:center;display:flex}.nav-buttons-main{flex:1 1;gap:10px;min-width:0}.nav-buttons-right{align-items:flex-end;display:flex;flex-direction:row;gap:10px}.nav-buttons.split-mode{gap:16px;justify-content:center}.nav-button{align-items:center;background:linear-gradient(135deg,#67cfc7,#4db8b0);border:none;border-radius:12px;box-shadow:0 10px 22px #4db8b038;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;height:44px;justify-content:center;min-width:124px;padding:0 1rem;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.nav-button:disabled{cursor:not-allowed;opacity:.5}.nav-button:hover:not(:disabled){box-shadow:0 14px 26px #4db8b047;filter:brightness(.98);transform:translateY(-1px)}.submit-nav-button{align-items:center;background:linear-gradient(135deg,#86efac,#4ade80);border:none;border-radius:999px;box-shadow:0 6px 16px #4ade8052;color:#14532d;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;height:34px;justify-content:center;min-width:108px;padding:0 .82rem;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;white-space:nowrap}.submit-nav-button.top-card{box-shadow:0 4px 10px #4ade803d;font-size:.7rem;height:30px;min-width:116px;padding:0 .72rem}.submit-nav-button:hover{box-shadow:0 10px 20px #4ade8066;filter:brightness(.96);transform:translateY(-1px)}@media (max-width:768px){.question-header{flex-wrap:wrap}.quiz-title-row{align-items:flex-start;flex-wrap:wrap;width:100%}.quiz-title-copy{padding-right:0;width:100%}.quiz-top-side{align-items:flex-start;margin-top:0;position:static;width:100%}.submit-nav-button.top-card{min-width:0;width:min(158px,62vw)}}.submit-all-button{background:linear-gradient(135deg,#16a34a,#22c55e);border:none;border-radius:999px;box-shadow:0 6px 16px #22c55e4d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;margin-left:auto;padding:.7rem 1.25rem;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.submit-all-button:hover{box-shadow:0 10px 20px #22c55e59;filter:brightness(.98);transform:translateY(-1px)}.question-indicators{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;margin-bottom:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.question-indicators-shell{display:flex;flex:1 1;min-width:0}.question-indicators-shell.centered{justify-content:center}.question-indicators-inline{justify-content:flex-start;margin-bottom:0;max-width:100%;padding:0 4px 4px;scroll-padding-inline:4px;width:-webkit-max-content;width:max-content}.indicator{background:#fff;border:1px solid #d8e5ef;border-radius:50%;box-shadow:0 4px 12px #0f172a0d;color:#66788b;cursor:pointer;flex:0 0 auto;font-size:11px;font-weight:700;height:30px;transition:all .2s ease;width:30px}.indicator.current{background:#4ecdc4;border-color:#4ecdc4;color:#fff}.indicator.answered{background:#28a745;border-color:#28a745;color:#fff}.indicator.answered.current{background:#4ecdc4;border-color:#4ecdc4}.exit-quiz{background:#ffffffe6;border:1px solid #dbe7f1;border-radius:999px;box-shadow:0 6px 16px #0f172a14;color:#64748b;cursor:pointer;font-size:13px;padding:8px;position:absolute;right:20px;top:20px;transition:all .2s ease}.exit-quiz:hover{background:#fff;color:#dc3545}.quiz-results{grid-gap:24px;background:radial-gradient(circle at 0 0,#4ecdc41f,#0000 28%),linear-gradient(180deg,#fffffffa,#f7fbfff5);display:grid;flex:1 1;gap:24px;overflow-y:auto;padding:28px 24px 34px}.results-header{margin-bottom:0;text-align:center}.results-header h3{color:#16324a;font-size:clamp(28px,2.4vw,40px);line-height:1.08;margin-bottom:8px}.results-header h4{color:#6c757d;font-size:19px;font-weight:700}.score-display{grid-gap:24px;align-items:center;background:#f8fbfff2;border:1px solid #deebf3;border-radius:24px;box-shadow:0 18px 40px #0f172a14;display:grid;gap:24px;grid-template-columns:minmax(220px,300px) minmax(0,1fr);padding:28px}.score-ring-card{align-items:center;aspect-ratio:1;display:flex;justify-content:center;margin:0 auto;position:relative;width:min(240px,100%)}.score-ring{filter:drop-shadow(0 12px 24px rgba(44,147,164,.2));height:100%;overflow:visible;transform:rotate(-90deg);width:100%}.score-ring-track{fill:none;stroke:#dbe8f2;stroke-width:14}.score-ring-progress{fill:none;stroke:#3eb7b0;stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.score-ring-center{align-items:center;background:linear-gradient(180deg,#fff,#f4fbfb);border:1px solid #3eb7b029;border-radius:50%;box-shadow:inset 0 1px 0 #ffffffe6;display:flex;flex-direction:column;gap:6px;inset:22%;justify-content:center;position:absolute}.score-ring-center small{color:#6a7c8d;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.score-percentage{color:#17364b;font-size:clamp(34px,4vw,52px);font-weight:800}.score-details{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.score-detail-card{grid-gap:6px;align-content:center;background:#fffffff5;border:1px solid #dbe7f1;border-radius:18px;box-shadow:0 12px 28px #0f172a0d;display:grid;gap:6px;min-height:112px;padding:16px 18px}.score-detail-card span{color:#6b7d8e;font-size:13px;font-weight:700}.score-detail-card strong{color:#17364b;font-size:28px;line-height:1.08}.score-part-breakdown{grid-gap:12px;background:#fffffff0;border:1px solid #dbe7f1;border-radius:18px;display:grid;gap:12px;padding:18px 20px}.score-part-breakdown-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.score-part-breakdown-header h4{color:#2c3e50;font-size:18px;margin:0}.score-part-breakdown-header span{background:#ecf3fb;border:1px solid #d6e3f1;border-radius:999px;color:#5f7385;font-size:13px;font-weight:700;padding:4px 10px}.score-part-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.score-part-card{grid-gap:7px;background:#fff;border:1px solid #dbe7f1;border-radius:14px;display:grid;gap:7px;padding:12px}.score-part-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.score-part-label{color:#17364b;font-size:14px;line-height:1.35}.score-part-percent{color:#0f766e;font-size:16px;font-weight:800;white-space:nowrap}.score-part-meta{color:#607182;font-size:13px;margin:0}.score-part-track{background:#e3edf7;border-radius:999px;height:7px;overflow:hidden}.score-part-track span{background:linear-gradient(135deg,#4ecdc4,#20b2aa);border-radius:inherit;display:block;height:100%}.score-part-index{color:#7a8b9b;font-size:12px}.answer-review h4{color:#2c3e50;font-size:18px;margin-bottom:16px}.answer-review{background:#fffffff0;border:1px solid #dbe7f1;border-radius:18px;padding:18px 20px}.answer-review p{color:#65788a;font-size:15px;line-height:1.6;margin:0}.results-question-review-list{grid-gap:14px;display:grid;gap:14px}.question-result{background:#fff;border-left:4px solid #e9ecef;border-radius:12px;margin-bottom:16px;padding:20px}.question-result:has(.question-status.correct){border-left-color:#28a745}.question-result:has(.question-status.incorrect){border-left-color:#dc3545}.question-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.question-status{font-size:16px}.question-status.neutral{color:#64748b}.question-number{color:#6c757d;font-size:14px;font-weight:600}.question-text{color:#2c3e50;font-size:19px;font-weight:500;margin-bottom:16px}.options-review{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.option-review{align-items:center;border-radius:6px;display:flex;font-size:14px;gap:8px;padding:8px 12px}.option-review.correct-answer{background:#28a7451a;color:#28a745}.option-review.user-answer:not(.correct-answer){background:#dc35451a;color:#dc3545}.option-label{font-weight:600;min-width:20px}.correct-mark,.wrong-mark{font-weight:700;margin-left:auto}.explanation{background:#4ecdc41a;border-left:3px solid #4ecdc4;border-radius:8px;padding:16px}.explanation strong{color:#2c3e50;display:block;margin-bottom:8px}.explanation p{color:#2c3e50;font-size:14px;line-height:1.6;margin:0}.answer-review-meta{grid-gap:4px;display:grid;gap:4px;margin-bottom:12px}.answer-review-meta p{color:#374151;font-size:14px;margin:0}.results-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:0}.results-actions .back-button,.results-actions .history-button,.results-actions .retry-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;justify-content:center;line-height:1;min-height:52px;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.results-actions .back-button{background:#eff5f9;border:1px solid #d8e5ef;color:#39536a;min-width:230px}.results-actions .back-button:hover{background:#e7eef4;transform:translateY(-2px)}.results-actions .retry-button{background:linear-gradient(135deg,#4ecdc4,#20b2aa);box-shadow:0 10px 24px #4ecdc43d;color:#fff;min-width:132px}.results-actions .retry-button:hover{box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-2px)}.results-actions .history-button{background:#fff;border:1px solid #cbd5f5;color:#0f172a;min-width:168px}.results-actions .history-button:hover{background:#e2e8f0;transform:translateY(-2px)}.quiz-history-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.quiz-history-actions{display:flex;flex-wrap:wrap;gap:10px}.quiz-history-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.quiz-history-table{border-collapse:collapse;width:100%}.quiz-history-table tbody tr.active{background:#f0fdfa}.quiz-history-detail{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:16px;overflow:hidden}.quiz-history-detail-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;font-weight:600;gap:12px;justify-content:space-between;padding:12px 16px}.quiz-history-detail-header span{color:#64748b;font-size:13px}.quiz-history-detail-body{grid-gap:16px;display:grid;gap:16px;padding:12px 16px}.quiz-history-question{background:#fafafa;border:1px solid #edf2f7;border-radius:10px;padding:12px}.quiz-history-question-title{grid-gap:4px;display:grid;gap:4px;margin-bottom:8px}.quiz-history-question-title span{color:#64748b;font-size:12px;font-weight:600}.quiz-history-question-title p{color:#0f172a;font-weight:600;margin:0}.quiz-history-choices{grid-gap:8px;display:grid;gap:8px;margin:10px 0 12px}.quiz-history-choice{align-items:flex-start;background:#fff;border:1px solid #0000;border-radius:8px;display:flex;gap:10px;padding:8px 10px}.quiz-history-choice span{color:#64748b;font-weight:600}.quiz-history-choice p{color:#334155;margin:0}.quiz-history-choice.selected{background:#fef2f2;border-color:#ef4444}.quiz-history-choice.correct{background:#f0fdf4;border-color:#22c55e}.quiz-history-answer{color:#475569;display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.quiz-history-answer strong{color:#0f172a}.course-not-found{background:#f8f9fa;min-height:100vh}.not-found-content{margin:0 auto;max-width:600px;padding:100px 20px;text-align:center}.not-found-content h2{color:#2c3e50;font-size:32px;margin-bottom:16px}.not-found-content p{color:#6c757d;font-size:16px;margin-bottom:32px}.back-button{align-items:center;background:linear-gradient(135deg,#4ecdc4,#20b2aa);border-radius:8px;color:#fff;display:inline-flex;font-weight:600;gap:8px;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.back-button:hover{background:linear-gradient(135deg,#20b2aa,#4ecdc4);box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-1px)}@media (max-width:1200px){.split-screen{gap:16px;grid-template-columns:1fr}.chat-tutor-shell{height:100%;max-height:none;min-height:0}.chat-tutor-room{min-height:0}.home-features{grid-template-columns:repeat(2,minmax(0,1fr))}.left-panel{min-height:400px}.right-panel{min-height:500px}}@media (max-width:768px){.browse-header-row{align-items:flex-start;flex-direction:column}.browse-filters{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr;width:100%}.browse-filter-clear{width:100%}.header-container{flex-wrap:wrap;padding:.5rem 12px;row-gap:.5rem}.home-main{padding:2rem 0 3rem}.floating-item{opacity:.6;width:240px}.floating-pencil-left{left:-64px;top:106px}.floating-ruler-top{right:-64px;top:86px}.floating-eraser{bottom:102px;left:-88px}.floating-half-circle-right{bottom:84px;right:-66px}.home-hero{padding:0 16px}.home-hero-shell{width:100%}.home-hero-card{border-radius:20px;padding:1.6rem}.home-hero-card h2{font-size:1.9rem}.home-intro{padding:0 16px}.home-features{grid-template-columns:1fr;padding:0 16px}.home-feature-card h3{font-size:1.35rem}.home-steps{padding:0 16px}.home-steps-track{gap:.8rem;grid-template-columns:1fr}.home-step-arrow{display:none}.home-step{min-height:0;padding:1.5rem 1.25rem}.home-step h4{font-size:1.45rem}.header-center,.header-left{justify-content:flex-start}.header-center{order:3;position:static;transform:none;width:100%}.header-right{align-items:flex-start;justify-content:flex-end}.header-tab{font-size:.85rem;padding:.15rem 0}.app-title{font-size:18px}.app-logo{width:clamp(72px,22vw,98px)}.user-details{display:none}.auth-actions{gap:8px}.auth-action{font-size:.85rem;padding:.35rem .9rem}.course-content,.dashboard-container{padding:0 16px}.chat-tutor-main{padding:12px 8px 20px}.chat-tutor-shell{height:100%;max-height:none;min-height:0}.chat-tutor-room-header{align-items:flex-start;flex-direction:column;padding:12px 14px}.chat-tutor-room-header h1{font-size:1.1rem}.chat-tutor-room-body{height:100%;min-height:0}.chat-tutor-room-body .chat-messages{padding:14px 12px 104px}.chat-tutor-room-body .floating-input-container{bottom:2px;left:10px;right:10px}.chat-tutor-room-body .floating-chat-input{max-width:none}.dashboard-welcome{padding:1.75rem}.welcome-hero{grid-template-columns:1fr}.welcome-content h2{font-size:1.6rem}.dashboard-hero h1{font-size:28px}.dashboard-hero{padding:1.5rem}.dashboard-hero-headline{font-size:1.12rem}.dashboard-hero-message{font-size:1rem}.dashboard-hero-motivation{font-size:.88rem}.dashboard-hero-meta{align-items:flex-start;flex-direction:column;gap:.45rem}.dashboard-note,.dashboard-progress-pill{max-width:100%}.dashboard-benefits{font-size:.9rem}.dashboard-cta-card{align-items:stretch;flex-direction:column}.primary-cta-btn,.secondary-cta-btn{justify-content:center;width:100%}.courses-grid{grid-template-columns:1fr}.subject-overview-head{padding:1.05rem}.subject-overview-head h2{font-size:1.3rem}.overview-filter-row{align-items:stretch;flex-direction:column}.overview-quick-status,.overview-visual-layer{grid-template-columns:1fr}.consistency-trend-chart,.course-metric-chart{height:292px;min-width:520px}.subject-chart-course-filter{justify-content:space-between;width:100%}.subject-chart-course-filter select{flex:1 1;min-width:0}.kpi-main-row{align-items:flex-start}.kpi-donut{height:84px;width:84px}.kpi-donut:after{inset:10px}.report-topic-row{gap:.35rem .55rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.report-topic-track{grid-column:1/-1}.goal-progress-meta{gap:.25rem}.goal-progress-head,.goal-progress-meta{align-items:flex-start;flex-direction:column}.goal-score-control{justify-content:space-between;width:100%}.goal-score-save{width:100%}.course-meta{flex-direction:column;gap:8px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-content h3{font-size:24px}.course-stats{flex-direction:column;gap:8px}.course-title{align-items:flex-start;flex-direction:column;text-align:left}.course-emoji{font-size:32px}.course-title h1{font-size:24px}.split-screen{height:auto;min-height:auto}.left-panel,.right-panel{min-height:300px}.message-content{max-width:95%}.question-indicators{gap:6px}.indicator{font-size:11px;height:28px;width:28px}.score-display{gap:16px;grid-template-columns:1fr;padding:20px}.score-ring-card{width:min(200px,72vw)}.score-percentage{font-size:24px}.score-details,.score-part-grid{grid-template-columns:1fr}.results-actions{flex-direction:column}.results-actions .back-button,.results-actions .history-button,.results-actions .retry-button{min-width:0;width:min(100%,320px)}}.text-selection-tooltip{animation:tooltipFadeIn .3s ease;pointer-events:none;position:fixed;z-index:10000}.tooltip-container{pointer-events:auto;position:relative}.tooltip-content{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 8px 32px #0003;gap:8px;min-width:200px;padding:8px;position:relative;z-index:10001}.tooltip-button,.tooltip-content{display:flex;justify-content:center}.tooltip-button{align-items:center;background:linear-gradient(135deg,#4ecdc4,#20b2aa);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;gap:6px;min-width:80px;padding:8px 16px;transition:all .2s ease}.tooltip-button:hover:not(:disabled){box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-2px)}.tooltip-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.tooltip-button.secondary{background:#6c757d}.tooltip-button.secondary:hover:not(:disabled){background:#5a6268;box-shadow:0 4px 12px #6c757d4d}.tooltip-arrow{border-top:8px solid #fff;left:50%;top:100%;transform:translateX(-50%);z-index:1001}.tooltip-arrow,.tooltip-arrow:before{border-left:8px solid #0000;border-right:8px solid #0000;height:0;position:absolute;width:0}.tooltip-arrow:before{border-top:8px solid #e9ecef;content:"";left:-8px;top:-9px}.selected-text-preview{background:#2c3e50;border-radius:6px;color:#fff;font-size:12px;margin-top:8px;max-width:250px;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;top:100%;white-space:nowrap;z-index:999}.selected-text-preview,.selected-text-preview:before{left:50%;position:absolute;transform:translateX(-50%)}.selected-text-preview:before{border-bottom:6px solid #2c3e50;border-left:6px solid #0000;border-right:6px solid #0000;bottom:100%;content:"";height:0;width:0}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #fff3;border-top-color:#fff;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#4ecdc4;height:16px;height:40px;margin-bottom:1rem;width:16px;width:40px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}::selection{background-color:#4ecdc44d;color:#2c3e50}::-moz-selection{background-color:#4ecdc44d;color:#2c3e50}@media (max-width:768px){.tooltip-content{gap:6px;min-width:160px;padding:6px}.tooltip-button{font-size:12px;min-width:60px;padding:6px 12px}.selected-text-preview{font-size:11px;max-width:200px;padding:4px 8px}}@media (max-width:480px){.course-progress-grid{grid-template-columns:1fr}.subject-chart-course-filter{align-items:flex-start;flex-direction:column}.subject-chart-course-filter span{white-space:normal}.subject-chart-course-filter select{width:100%}.consistency-trend-chart,.course-metric-chart{height:278px;min-width:460px}.consistency-trend-chart .consistency-y-tick,.course-metric-y-tick{font-size:13px}.consistency-trend-chart .consistency-x-tick,.course-metric-x-label{font-size:12px}.course-metric-value{font-size:13px}.quick-status-card strong{font-size:1.6rem}.kpi-sub-row{font-size:.88rem;gap:.4rem}.login-container{margin:16px;padding:24px}.login-header h1{font-size:24px}.login-header h2{font-size:18px}.welcome-section h1{font-size:24px}.welcome-section p{font-size:16px}.chat-header,.course-card,.quiz-header{padding:16px}.chat-messages{padding:16px 10px 120px}.question-container,.quiz-list,.quiz-navigation{padding:16px}.nav-buttons{align-items:stretch;flex-direction:column;gap:12px}.nav-buttons-main{flex-wrap:wrap;gap:8px;justify-content:space-between;width:100%}.nav-buttons-right{gap:8px}.question-indicators-shell{margin-top:4px;order:3;width:100%}.question-indicators-inline{max-width:100%;width:100%}.submit-all-button{justify-content:center;margin-left:0;width:100%}.question-text{font-size:19px}.option-button{padding:12px}.quiz-meta{flex-wrap:wrap;gap:10px}.nav-button,.submit-nav-button{font-size:.85rem;height:38px;min-width:102px}}.auth-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:clamp(1rem,3vh,2rem);position:fixed;z-index:1000}.auth-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:480px;overflow-y:auto;padding:0;position:relative;width:90vw}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:40px;z-index:1}.auth-modal-close:hover{background-color:#f0f0f0;color:#333}.auth-modal-content{padding:2rem}.auth-form{width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h2{color:#2c3e50;font-size:1.8rem;margin-bottom:.5rem}.auth-header p{color:#666;font-size:.95rem}.form-group,.form-row{margin-bottom:1.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input{background-color:#fff;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;min-height:44px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus{border-color:#4ecdc4;box-shadow:0 0 0 3px #4ecdc41a;outline:none}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.password-input-container{position:relative}.password-input-container input{padding-right:140px}.password-toggle{background:#4ecdc41f;border:none;border-radius:999px;color:#167b75;cursor:pointer;font-size:.85rem;padding:6px 10px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:background-color .2s}.password-toggle:hover{background-color:#4ecdc433}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.auth-submit-btn{align-items:center;background:linear-gradient(135deg,#4ecdc4,#20b2aa);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:1.5rem;min-height:48px;padding:14px 24px;transition:all .3s;width:100%}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#20b2aa,#4ecdc4);box-shadow:0 4px 12px #4ecdc44d;transform:translateY(-1px)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-submit-btn.loading{pointer-events:none}.oauth-button{align-items:center;background:#fff;border:2px solid #e1e8ed;border-radius:10px;color:#1f2937;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;margin-bottom:1rem;min-height:48px;transition:all .2s ease;width:100%}.oauth-button:hover:not(:disabled){border-color:#d1d5db;box-shadow:0 6px 16px #00000014;transform:translateY(-1px)}.oauth-button:disabled{cursor:not-allowed;opacity:.7}.oauth-icon{align-items:center;background:#f3f4f6;border-radius:50%;color:#ea4335;display:inline-flex;font-size:1rem;font-weight:700;height:32px;justify-content:center;width:32px}.oauth-divider{align-items:center;color:#6b7280;display:flex;font-size:.85rem;gap:12px;margin-bottom:1rem}.oauth-divider:after,.oauth-divider:before{background:#e5e7eb;content:"";flex:1 1;height:1px}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.auth-footer{border-top:1px solid #e1e8ed;padding-top:1rem;text-align:center}.auth-footer p{color:#666;font-size:.9rem}.link-button{background:none;border:none;border-radius:4px;color:#4ecdc4;cursor:pointer;font-size:inherit;font-weight:600;margin-left:.5rem;padding:2px 4px;transition:all .2s}.link-button:hover:not(:disabled){background-color:#4ecdc41a;color:#20b2aa}.link-button:disabled{cursor:not-allowed;opacity:.5}.auth-link{color:#157a75;font-size:.9rem;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-btn:focus-visible,.auth-demo-btn:focus-visible,.auth-link:focus-visible,.auth-secondary-btn:focus-visible,.auth-submit-btn:focus-visible,.oauth-button:focus-visible,.password-toggle:focus-visible{outline:3px solid #4ecdc459;outline-offset:2px}.field-error{color:#d64545}.field-error,.input-helper{font-size:.85rem;margin-top:.5rem}.input-helper{color:#6c757d}.error-message{align-items:center;background-color:#fdf2f2;border-left:4px solid #e53e3e;border-radius:8px;color:#e53e3e;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1.5rem;padding:12px 16px}.error-icon{font-size:1rem}.success-message{padding:2rem;text-align:center}.success-icon{font-size:4rem;margin-bottom:1rem}.success-message h2{color:#38a169;margin-bottom:1rem}.success-message p{color:#666;margin-bottom:.5rem}@media (max-width:768px){.auth-modal{margin:1rem;width:95vw}.auth-modal-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.auth-header h2{font-size:1.5rem}}.math-text{line-height:1.5;word-break:break-word}.math-text.inline{display:inline}.math-text.inline>p{display:inline;margin:0}.math-text>p{margin:0 0 .35rem}.math-text>p:last-child{margin-bottom:0}.math-text .katex{font-size:1.02em}.math-text .katex-display{margin:.5rem 0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}@media (max-width:480px){.password-input-container input{padding-right:120px}.password-toggle{font-size:.8rem}}.auth-landing{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:clamp(2rem,4vw,3.5rem);position:relative}.auth-landing:after,.auth-landing:before{background:#ffffff1f;border-radius:50%;content:"";filter:blur(.5px);position:absolute;z-index:0}.auth-landing:before{height:240px;right:5%;top:-60px;width:240px}.auth-landing:after{bottom:-120px;height:320px;left:8%;width:320px}.auth-landing-content{grid-gap:clamp(2rem,6vw,4rem);align-items:center;display:grid;gap:clamp(2rem,6vw,4rem);grid-template-columns:1fr 1fr;max-width:1180px;position:relative;width:100%;z-index:1}.auth-hero{color:#fff}.auth-title{font-size:clamp(2.4rem,4vw,3.4rem);font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px #0000001a}.auth-subtitle{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;margin-bottom:1.5rem;opacity:.9}.auth-description{font-size:1.1rem;line-height:1.8;margin-bottom:3rem;opacity:.85}.auth-features{grid-gap:1.5rem;display:grid;gap:1.5rem;list-style:none;margin-top:2rem;padding:0}.feature-item{align-items:flex-start;display:flex;gap:1rem}.feature-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;font-size:1.6rem;padding:.5rem .6rem}.feature-item h3{color:#fff;font-size:1.3rem;margin-bottom:.5rem}.feature-item p{line-height:1.6;opacity:.8}.auth-card{background:#fff;border:1px solid #fff6;border-radius:20px;box-shadow:0 20px 60px #0000001a;padding:clamp(2rem,3vw,3rem);text-align:left}.auth-card-header{margin-bottom:1.5rem}.auth-card h2{color:#2c3e50;font-size:1.8rem;margin-bottom:.5rem}.auth-card-header p{color:#666;font-size:1.05rem}.auth-form-row{gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.auth-form-row,.checkbox-field{align-items:center;display:flex}.checkbox-field{color:#2c3e50;font-size:.95rem;gap:.5rem}.checkbox-field input{accent-color:#20b2aa;height:18px;width:18px}.auth-privacy{color:#6c757d;font-size:.85rem;margin:0 0 1.5rem}.auth-secondary-btn{background:#fff;border:2px solid #20b2aa;border-radius:10px;color:#1f8f87;cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:12px 18px;transition:all .2s ease;width:100%}.auth-secondary-btn:hover:not(:disabled){background:#4ecdc41a;transform:translateY(-1px)}.auth-secondary-btn:disabled{cursor:not-allowed;opacity:.7}.auth-support-links{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center}.auth-demo{background:#4ecdc414;border:1px solid #4ecdc433;border-radius:12px;font-size:.9rem;margin-top:1.75rem;padding:1rem}.auth-demo summary{color:#156f69;cursor:pointer;font-weight:600;margin-bottom:.5rem}.auth-demo-btn{background:#ffffffb3;border:1px dashed #20b2aa;border-radius:10px;color:#1f8f87;cursor:pointer;font-weight:600;margin-top:.75rem;min-height:44px;transition:all .2s ease;width:100%}.auth-demo-btn:hover:not(:disabled){background:#4ecdc41a}.auth-modal.login-mode{border-radius:20px;display:grid;grid-template-columns:minmax(280px,40%) 1fr;height:min(92vh,780px);max-height:calc(100vh - 2rem);max-width:1040px;overflow:hidden;width:min(95vw,1040px)}.auth-modal.login-mode .auth-modal-close{border-radius:10px;color:#6f7683;font-size:26px;height:34px;right:18px;top:18px;width:34px}.auth-modal.login-mode .auth-modal-close:hover{background:#3c485f14;color:#2d3f66}.auth-modal-welcome{align-items:center;background:linear-gradient(180deg,#f5f9ff,#f0f5ff);border-right:1px solid #e7eef9;display:flex;flex-direction:column;justify-content:center;min-height:0;overflow:hidden;padding:2rem;position:relative;text-align:center}.auth-modal-welcome:before{background-image:radial-gradient(circle at 10px 10px,#6991f81f 1.6px,#0000 0);background-size:26px 26px;content:"";inset:0;opacity:.35;pointer-events:none;position:absolute}.auth-modal-welcome-visual{margin:0 auto 1.3rem;position:relative;transform:translateY(-.25rem);width:min(320px,88%);z-index:1}.auth-modal-welcome-visual img{display:block;height:auto;width:100%}.auth-modal-welcome h3{color:#1f2d52;font-size:2rem;line-height:1.2;margin:0 0 .7rem;position:relative;z-index:1}.auth-modal-welcome h3 span{color:#f29b27}.auth-modal-welcome p{color:#51627f;font-size:1.03rem;line-height:1.65;margin:0;position:relative;z-index:1}.auth-modal.login-mode .auth-modal-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:2rem 2.1rem 1.65rem;scrollbar-gutter:stable}.auth-modal.login-mode .auth-header{margin-bottom:1.4rem}.auth-modal.login-mode .auth-header h2{color:#253b6f;font-size:clamp(2rem,2.9vw,2.45rem);margin-bottom:.3rem}.auth-modal.login-mode .auth-header p{color:#78869d;font-size:1.02rem}.auth-modal.login-mode .oauth-button{border:1.5px solid #d5dfef;border-radius:12px;margin-bottom:1.05rem;min-height:50px}.auth-modal.login-mode .oauth-icon{background:#f4f7fd;color:#ea4335}.auth-modal.login-mode .form-group,.auth-modal.login-mode .oauth-divider{margin-bottom:1rem}.login-auth-form .auth-input-shell,.register-auth-form .auth-input-shell{position:relative}.login-auth-form .auth-input-icon,.register-auth-form .auth-input-icon{align-items:center;color:#94a3b8;display:inline-flex;height:20px;justify-content:center;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:20px}.login-auth-form .auth-input-icon svg,.register-auth-form .auth-input-icon svg{stroke:currentColor;height:18px;width:18px}.login-auth-form .auth-input-shell input,.register-auth-form .auth-input-shell input{padding-left:42px}.auth-modal.login-mode .register-auth-form .form-row{gap:.8rem;margin-bottom:.6rem}.auth-modal.login-mode .register-auth-form .auth-submit-btn{margin-bottom:.9rem}.auth-modal.login-mode .register-auth-form .auth-footer{padding-top:.95rem}.auth-modal.login-mode .register-auth-form .success-message{padding:1.2rem .4rem}.auth-modal.login-mode .register-auth-form .success-icon{align-items:center;background:#3f72f01f;border-radius:50%;color:#275bd6;display:inline-flex;font-size:2.2rem;height:72px;justify-content:center;margin:0 auto 1rem;width:72px}.auth-modal.login-mode .form-group label{color:#2a3f70}.auth-modal.login-mode .form-group input{border:1.5px solid #d3ddeb;border-radius:10px;min-height:48px}.auth-modal.login-mode .form-group input:focus{border-color:#4f7fff;box-shadow:0 0 0 3px #4f7fff1f}.auth-modal.login-mode .password-input-container input{padding-right:108px}.auth-modal.login-mode .password-toggle{background:#0000;color:#3f70ee;font-size:.92rem;padding:0;right:14px}.auth-modal.login-mode .password-toggle:hover{background:#0000;color:#1f53d0}.auth-modal.login-mode .input-helper{color:#74829a}.auth-modal.login-mode .checkbox-field{color:#405273;gap:.55rem}.auth-modal.login-mode .checkbox-field input{accent-color:#4f7fff}.auth-modal.login-mode .auth-link{color:#3768e8}.auth-modal.login-mode .auth-submit-btn{background:linear-gradient(90deg,#4b7df8,#3f72f0);border-radius:10px;box-shadow:0 10px 20px #3f72f038;margin-bottom:.9rem}.auth-modal.login-mode .auth-submit-btn:hover:not(:disabled){background:linear-gradient(90deg,#406fe5,#3363dd);box-shadow:0 12px 24px #3363dd3d}.auth-modal.login-mode .auth-privacy{color:#7584a0;margin-bottom:1rem;text-align:center}.auth-modal.login-mode .auth-secondary-btn{border:1.5px solid #4b7df8;border-radius:10px;color:#3766df}.auth-modal.login-mode .auth-secondary-btn:hover:not(:disabled){background:#4372f014}.auth-modal.login-mode .auth-footer{border-top:none;padding-top:1rem}.auth-modal.login-mode .auth-support-links{gap:1.5rem}@media (max-width:900px){.auth-modal.login-mode{display:block;height:auto;max-height:calc(100vh - 2rem);overflow:hidden;width:95vw}.auth-modal-welcome{display:none}.auth-modal.login-mode .auth-modal-content{max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.4rem 1.2rem 1.2rem}.auth-modal.login-mode .password-input-container input{padding-right:96px}.auth-modal.login-mode .password-toggle{font-size:.82rem;right:12px}}.auth-callback{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-callback-card{grid-gap:1rem;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000001f;display:grid;gap:1rem;max-width:420px;padding:2rem;text-align:center;width:100%}.onboarding-modal-overlay{align-items:center;background:#0f172aa6;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1200}.onboarding-modal{background:#fff;border:1px solid #1f2d3d14;border-radius:24px;box-shadow:0 28px 60px #0000003d;overflow:hidden;width:min(760px,100%)}.onboarding-header{background:linear-gradient(135deg,#fff7f2,#fffdf9);border-bottom:1px solid #f0ece7;padding:1.25rem 1.5rem}.onboarding-close{background:#fff;border:1px solid #1f2d3d29;border-radius:10px;color:#5b6877;cursor:pointer;float:right;height:34px;transition:all .2s ease;width:34px}.onboarding-close:hover{border-color:#1f2d3d47;color:#1f2d3d}.onboarding-kicker{color:#da6f50;display:inline-flex;font-size:.84rem;font-weight:600;margin-bottom:.35rem}.onboarding-header h2{color:#1f2d3d;margin:0 0 .35rem}.onboarding-header p{color:#5b6877;font-size:.95rem;margin:0}.onboarding-progress-track{background:#eaf0f7;border-radius:999px;height:8px;margin-top:.9rem;overflow:hidden;width:100%}.onboarding-progress-track span{background:linear-gradient(135deg,#f3a17f,#ea6e65);display:block;height:100%;transition:width .2s ease}.onboarding-header small{color:#6b7785;display:inline-block;margin-top:.35rem}.onboarding-body{min-height:330px;padding:1.5rem}.onboarding-body h3{font-size:1.2rem;margin:0 0 1rem}.onboarding-input{border:1px solid #d7dfeb;border-radius:14px;font-size:1.05rem;min-height:54px;padding:.65rem .9rem;width:100%}.onboarding-input:focus{border-color:#f08b6f;box-shadow:0 0 0 3px #f08b6f33;outline:none}.onboarding-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-grid.subjects{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-card{grid-gap:.2rem;background:#fff;border:1px solid #d8e2ed;border-radius:16px;cursor:pointer;display:grid;gap:.2rem;min-height:96px;padding:.75rem;place-items:center;text-align:center;transition:all .2s ease}.onboarding-card .emoji{font-size:1.4rem}.onboarding-card strong{color:#1f2d3d}.onboarding-card small{color:#64748b}.onboarding-card:hover{box-shadow:0 10px 20px #1f2d3d1a;transform:translateY(-1px)}.onboarding-card.active{background:#fff6f2;border-color:#ea6e65;box-shadow:0 10px 20px #ea6e6529}.age-picker{align-items:center;display:flex;gap:1rem;justify-content:center}.age-picker button{background:#fff;border:1px solid #d7dfeb;border-radius:14px;cursor:pointer;font-size:2rem;height:56px;line-height:1;width:56px}.age-picker button:hover{border-color:#f08b6f}.age-value{background:#fafcff;border:1px solid #dbe3ef;border-radius:18px;display:grid;min-height:110px;place-items:center;width:160px}.age-value strong{font-size:2.5rem;line-height:1}.age-value span{color:#6b7785}.onboarding-pill-group{grid-gap:.75rem;display:grid;gap:.75rem}.onboarding-pill{align-items:center;background:#fff;border:1px solid #d8e2ed;border-radius:999px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.7rem;min-height:62px;padding:.45rem 1rem;text-align:left;width:100%}.onboarding-pill span{font-size:1.25rem}.onboarding-pill.active{background:#fff4ee;border-color:#ea6e65}.onboarding-error{color:#d14343;font-weight:600;margin:0;padding:0 1.5rem}.onboarding-footer{border-top:1px solid #f0ece7;display:flex;gap:.75rem;justify-content:space-between;padding:1rem 1.5rem 1.3rem}.onboarding-back,.onboarding-next{border:none;border-radius:12px;cursor:pointer;font-weight:700;min-height:48px;padding:0 1.1rem}.onboarding-back{background:#f1f5f9;color:#334155}.onboarding-next{background:linear-gradient(135deg,#f39b7f,#ea6e65);box-shadow:0 10px 18px #ea6e6538;color:#fff}.onboarding-back:disabled,.onboarding-next:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.profile-edit-overlay{align-items:center;background:#0f172a9e;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1300}.profile-edit-modal{background:#fff;border:1px solid #1f2d3d1a;border-radius:22px;box-shadow:0 30px 60px #0f172a40;max-height:92vh;overflow:auto;width:min(860px,100%)}.profile-edit-header{align-items:flex-start;background:linear-gradient(135deg,#fff7f2,#fffdf9);border-bottom:1px solid #eceff4;display:flex;gap:1rem;justify-content:space-between;padding:1.35rem 1.5rem}.profile-edit-kicker{color:#da6f50;display:inline-flex;font-size:.84rem;font-weight:600;margin-bottom:.35rem}.profile-edit-header h2{color:#1f2d3d;margin:0 0 .3rem}.profile-edit-header p{color:#5b6877;margin:0}.profile-edit-close{background:#fff;border:1px solid #1f2d3d29;border-radius:10px;color:#5b6877;cursor:pointer;height:34px;width:34px}.profile-edit-body{grid-gap:1.1rem;display:grid;gap:1.1rem;padding:1.3rem 1.5rem}.profile-edit-section{grid-gap:.65rem;display:grid;gap:.65rem}.profile-edit-label{color:#1f2d3d;font-weight:600}.profile-edit-input{border:1px solid #1f2d3d24;border-radius:12px;color:#1f2d3d;font-size:1rem;padding:.75rem .9rem;width:100%}.profile-edit-input:focus{border-color:#ea6e65;box-shadow:0 0 0 3px #ea6e6529;outline:none}.profile-edit-chip-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(4,minmax(0,1fr))}.profile-edit-chip-grid.subjects{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-edit-chip{background:#fff;border:1px solid #1f2d3d24;border-radius:12px;color:#334155;cursor:pointer;padding:.6rem .7rem;transition:all .2s ease}.profile-edit-chip:hover{border-color:#ea6e6580}.profile-edit-chip.active{background:#fff1eb;border-color:#ea6e65;color:#b54b46;font-weight:600}.profile-edit-goals{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-edit-goal{background:#fff;border:1px solid #1f2d3d24;border-radius:12px;color:#334155;cursor:pointer;padding:.65rem .7rem;text-align:left}.profile-edit-goal.active{background:#fff1eb;border-color:#ea6e65;color:#b54b46;font-weight:600}.profile-edit-error{color:#b91c1c;font-size:.92rem;margin:0;padding:0 1.5rem}.profile-edit-footer{border-top:1px solid #eceff4;display:flex;gap:.7rem;justify-content:flex-end;padding:1rem 1.5rem 1.4rem}.profile-edit-cancel,.profile-edit-save{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:.65rem 1.2rem}.profile-edit-cancel{background:#eef2f7;color:#4b5b6a}.profile-edit-save{background:linear-gradient(135deg,#f39b7f,#ea6e65);box-shadow:0 10px 20px #ea6e653d;color:#fff}.profile-edit-cancel:disabled,.profile-edit-save:disabled{cursor:not-allowed;opacity:.55}@media (max-width:768px){.auth-landing-content{gap:2rem;grid-template-columns:1fr}.auth-title{font-size:2.5rem}.auth-subtitle{font-size:1.2rem}.auth-card{padding:2rem}.auth-form-row{align-items:flex-start;flex-direction:column}.auth-modal{margin:1rem;width:95vw}.auth-modal-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.auth-header h2{font-size:1.5rem}.onboarding-modal{border-radius:18px}.onboarding-body{min-height:300px;padding:1.2rem}.onboarding-grid,.onboarding-grid.subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-pill{border-radius:16px;font-size:.95rem;min-height:56px}.profile-edit-header{padding:1.1rem}.profile-edit-body{padding:1rem 1.1rem}.profile-edit-chip-grid,.profile-edit-chip-grid.subjects,.profile-edit-goals{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-edit-footer{padding:1rem 1.1rem 1.2rem}}.student-ranking-page{background:linear-gradient(135deg,#e4f4f3,#f8ece8);background:var(--bg-gradient,linear-gradient(135deg,#e4f4f3 0,#f8ece8 100%));display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.student-ranking-main{display:flex;flex:1 1;margin:0 auto;max-width:1180px;padding:24px 16px 10px;width:100%}.student-ranking-shell{background:#ffffffbd;border:1px solid #c8d8e3;border-radius:18px;box-shadow:0 16px 30px #0f172a14;display:flex;flex-direction:column;min-height:100%;padding:20px;width:100%}.student-ranking-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.student-ranking-header h1{font-size:30px;margin:0}.student-ranking-header p{color:#5f7688;margin:4px 0 0}.student-ranking-header button{background:#f6fafc;border:1px solid #cdd8e4;border-radius:999px;color:#274b63;cursor:pointer;font-weight:600;padding:10px 16px}.student-ranking-status{color:#385a72;margin:14px 0}.student-ranking-status.error{color:#b94739}.student-ranking-loading{grid-gap:12px;display:grid;flex:1 1;gap:12px;grid-template-rows:auto auto minmax(0,1fr)}.ranking-loading-head{align-items:center;color:#35536b;display:inline-flex;gap:10px}.ranking-loading-head p{font-size:.95rem;font-weight:600;margin:0}.ranking-loading-spinner{animation:ranking-spin .9s linear infinite;border:2px solid #c5d8e5;border-radius:999px;border-top-color:#2c93a4;height:18px;width:18px}.ranking-loading-tabs{display:flex;flex-wrap:wrap;gap:10px}.ranking-loading-panel{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #d6e1ea;border-radius:14px;display:flex;flex-direction:column;gap:12px;min-height:280px;padding:14px}.ranking-loading-table{grid-gap:10px;display:grid;gap:10px;overflow-x:auto}.ranking-loading-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:84px minmax(220px,1.4fr) repeat(4,minmax(90px,1fr))}.ranking-loading-row.heading{opacity:.74}.ranking-loading-student-cell{align-items:center;display:inline-flex;gap:10px}.ranking-loading-student-cell .ranking-skeleton-cell{width:72%}.ranking-loading-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:6px}.ranking-skeleton{background:#e8f0f5;border-radius:999px;display:block;overflow:hidden;position:relative}.ranking-skeleton:after{animation:ranking-shimmer 1.35s ease-in-out infinite;background:linear-gradient(90deg,#fff0,#ffffffc7 50%,#fff0);content:"";inset:0;position:absolute;transform:translateX(-100%)}.ranking-skeleton-chip{border-radius:999px;height:34px}.ranking-skeleton-chip.short{width:128px}.ranking-skeleton-chip.medium{width:180px}.ranking-skeleton-chip.long{width:248px}.ranking-skeleton-title{border-radius:8px;height:24px;width:min(360px,48%)}.ranking-skeleton-cell{height:12px;width:100%}.ranking-skeleton-cell.rank{width:64%}.ranking-skeleton-cell.wide{width:86%}.ranking-skeleton-avatar{border-radius:50%;flex-shrink:0;height:34px;width:34px}.ranking-skeleton-button{height:36px;width:170px}@keyframes ranking-shimmer{to{transform:translateX(100%)}}@keyframes ranking-spin{to{transform:rotate(1turn)}}.ranking-course-tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.ranking-course-tab{background:#f7fbfd;border:1px solid #cdd8e4;border-radius:999px;color:#2b526d;cursor:pointer;font-weight:600;padding:8px 14px;white-space:nowrap}.ranking-course-tab.active{background:#0f7f9a;border-color:#0f7f9a;color:#fff}.ranking-course-panel{background:#fff;border:1px solid #d6e1ea;border-radius:14px;display:flex;flex:1 1;flex-direction:column;margin-top:12px;padding:14px}.ranking-course-panel h2{font-size:22px;margin:0}.ranking-actions{margin:10px 0 12px}.ranking-actions.bottom-right{display:flex;justify-content:flex-end;margin:auto 0 0;padding-top:12px}.ranking-toggle-button{background:#eef7fb;border:1px solid #bdd0de;border-radius:999px;color:#1f5874;cursor:pointer;font-weight:700;padding:8px 14px}.ranking-toggle-button:hover{background:#e3f1f8}.ranking-table-wrap{overflow-x:auto}.ranking-table{border-collapse:collapse;table-layout:fixed;width:100%}.ranking-table td,.ranking-table th{border-bottom:1px solid #e4edf4;padding:10px 12px;text-align:left;vertical-align:middle}.ranking-table td:first-child,.ranking-table th:first-child{width:12%}.ranking-table td:nth-child(2),.ranking-table th:nth-child(2){width:28%}.ranking-table td:nth-child(3),.ranking-table td:nth-child(4),.ranking-table td:nth-child(5),.ranking-table td:nth-child(6),.ranking-table th:nth-child(3),.ranking-table th:nth-child(4),.ranking-table th:nth-child(5),.ranking-table th:nth-child(6){width:15%}.ranking-table tbody td{height:58px}.ranking-table th{color:#5f7688;font-size:13px;letter-spacing:.03em;text-transform:uppercase}.ranking-table tbody tr.current-user{background:#eef9ff}.ranking-table tbody tr.top-rank{background:linear-gradient(90deg,#f8fbffe6,#fffdf5f2)}.ranking-table tbody tr.top-rank-1{box-shadow:inset 0 0 0 1px #ffc94d59}.ranking-table tbody tr.top-rank-2{box-shadow:inset 0 0 0 1px #a8b5cd52}.ranking-table tbody tr.top-rank-3{box-shadow:inset 0 0 0 1px #c787584d}.rank-medal{align-items:center;display:inline-flex;font-weight:800;gap:6px}.rank-medal span{font-size:18px}.rank-medal strong{font-size:14px}.rank-medal.gold strong{color:#ad7b00}.rank-medal.silver strong{color:#4c6078}.rank-medal.bronze strong{color:#99552a}.ranking-student-cell{align-items:center;display:flex;gap:10px}.ranking-avatar{background:#e7f1f8;border:1px solid #c8d9e6;border-radius:50%;color:#1f4f6d;display:grid;font-size:13px;font-weight:800;height:34px;place-items:center;position:relative;width:34px}.ranking-avatar.top-1,.ranking-avatar.top-2,.ranking-avatar.top-3{font-size:16px;height:46px;width:46px}.ranking-avatar.top-1{background:radial-gradient(circle at 30% 25%,#fff9dc,#ffe58a);border-color:#f2b41d;box-shadow:0 0 0 5px #ffd65c40}.ranking-avatar.top-2{background:radial-gradient(circle at 30% 25%,#f4f7fb,#ced8e4);border-color:#97a9bf;box-shadow:0 0 0 5px #a3b0c638}.ranking-avatar.top-3{background:radial-gradient(circle at 30% 25%,#fff1e7,#e9b793);border-color:#c7885d;box-shadow:0 0 0 5px #d2926533}.ranking-crown{filter:drop-shadow(0 2px 3px rgba(0,0,0,.22));font-size:16px;position:absolute;right:-4px;top:-11px}.ranking-student-meta{align-items:center;display:inline-flex;gap:8px}.ranking-student-name{font-weight:600}.ranking-row-separator td{color:#7a8f9f;font-weight:700;text-align:center}.ranking-placeholder-row td{background:#f8fcffdb;border-bottom:1px dashed #e1eaf2;color:#8aa0b4;font-weight:600}.current-user-badge{align-items:center;background:#0f7f9a;border-radius:999px;color:#fff;display:inline-flex;font-size:12px;font-weight:700;margin-left:8px;padding:2px 8px}@media (max-width:768px){.student-ranking-header{align-items:flex-start;flex-direction:column}.student-ranking-header h1{font-size:24px}.ranking-loading-row{min-width:760px}.ranking-loading-panel{padding:12px}}.course-payment-page{background:#f6f9ff;min-height:100vh}.course-payment-main{margin:0 auto;max-width:1360px;padding:20px 24px 52px}.course-payment-status{color:#2a4465;font-size:15px}.course-payment-status.error{color:#c83b3b}.course-payment-status.success{color:#0f7f55;font-weight:700}.course-payment-shell{grid-gap:18px;display:grid;gap:18px}.course-payment-shell-skeleton{gap:18px}.course-payment-skeleton-panel{overflow:hidden;position:relative}.course-payment-benefit-skeleton,.course-payment-skeleton-ai,.course-payment-skeleton-banner,.course-payment-skeleton-block,.course-payment-skeleton-button,.course-payment-skeleton-chip,.course-payment-skeleton-divider,.course-payment-skeleton-input,.course-payment-skeleton-line,.course-payment-skeleton-list-item,.course-payment-skeleton-metric,.course-payment-skeleton-plan,.course-payment-skeleton-total{background:#e7eef9;border-radius:10px;overflow:hidden;position:relative}.course-payment-benefit-skeleton:after,.course-payment-skeleton-ai:after,.course-payment-skeleton-banner:after,.course-payment-skeleton-block:after,.course-payment-skeleton-button:after,.course-payment-skeleton-chip:after,.course-payment-skeleton-divider:after,.course-payment-skeleton-input:after,.course-payment-skeleton-line:after,.course-payment-skeleton-list-item:after,.course-payment-skeleton-metric:after,.course-payment-skeleton-plan:after,.course-payment-skeleton-total:after{animation:course-payment-skeleton-shimmer 1.25s ease-in-out infinite;background:linear-gradient(90deg,#e7eef900,#ffffffd1,#e7eef900);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes course-payment-skeleton-shimmer{to{transform:translateX(100%)}}.course-payment-skeleton-back-link{border-radius:9px;height:18px;width:190px}.course-payment-skeleton-stack{grid-gap:8px;align-content:start;display:grid;gap:8px}.course-payment-skeleton-media{border-radius:12px;height:136px;width:160px}.course-payment-skeleton-chip{border-radius:12px;height:30px;width:60px}.course-payment-skeleton-metrics{grid-gap:0;border-bottom:1px solid #e8eef7;border-top:1px solid #e8eef7;display:grid;gap:0;grid-template-columns:1fr 1px 1fr;margin:16px 0;padding:14px 0 12px}.course-payment-skeleton-metric{border-radius:12px;height:62px}.course-payment-skeleton-divider{border-radius:2px}.course-payment-skeleton-list-item{border-radius:8px;height:17px;width:100%}.course-payment-skeleton-list-item.w-92{width:92%}.course-payment-skeleton-list-item.w-88{width:88%}.course-payment-skeleton-ai{border-radius:12px;height:74px;margin-top:auto;width:100%}.course-payment-skeleton-banner{border-radius:14px;height:74px;margin-bottom:16px;width:100%}.course-payment-skeleton-price-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.course-payment-skeleton-plan{border-radius:11px;height:47px;margin-top:8px;width:100%}.course-payment-skeleton-total{border-radius:12px;height:52px;margin:10px 0 14px;width:100%}.course-payment-skeleton-input{border-radius:11px;height:48px;margin-top:8px;width:100%}.course-payment-skeleton-button{border-radius:12px;height:56px;margin-top:12px;width:100%}.course-payment-skeleton-button.secondary{height:48px;margin-top:8px}.course-payment-skeleton-line.centered{margin:12px auto 0}.course-payment-skeleton-line.h-14{height:14px}.course-payment-skeleton-line.h-16{height:16px}.course-payment-skeleton-line.h-22{height:22px}.course-payment-skeleton-line.h-24{height:24px}.course-payment-skeleton-line.h-26{height:26px}.course-payment-skeleton-line.h-30{height:30px}.course-payment-skeleton-line.h-32{height:32px}.course-payment-skeleton-line.w-22{width:22%}.course-payment-skeleton-line.w-28{width:28%}.course-payment-skeleton-line.w-34{width:34%}.course-payment-skeleton-line.w-42{width:42%}.course-payment-skeleton-line.w-44{width:44%}.course-payment-skeleton-line.w-60{width:60%}.course-payment-skeleton-line.w-62{width:62%}.course-payment-skeleton-line.w-72{width:72%}.course-payment-skeleton-line.w-100{width:100%}.course-payment-benefits-skeleton{align-items:stretch}.course-payment-benefit-skeleton{border-radius:12px;min-height:64px}.course-payment-back-link{align-items:center;color:#5d728c;display:inline-flex;font-size:14px;font-weight:600;gap:8px;text-decoration:none;width:-webkit-fit-content;width:fit-content}.course-payment-back-link:hover{color:#324d6c}.course-payment-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.16fr) minmax(0,.96fr)}.course-payment-method-card,.course-payment-order-card{background:#fff;border:1px solid #dce6f3;border-radius:16px;box-shadow:0 12px 28px #18345a0d;padding:22px 24px}.course-payment-order-card{grid-gap:14px;align-content:start;display:grid;gap:14px}.course-payment-method-card h2,.course-payment-order-card h2{color:#112e55;font-size:24px;line-height:1.06;margin:0 0 18px}.course-payment-order-item-main{grid-gap:16px;border-bottom:1px solid #e8eef7;display:grid;gap:16px;grid-template-columns:160px minmax(0,1fr);margin-bottom:0;padding-bottom:14px}.course-payment-order-media{background:#f4f8ff;border:1px solid #e3ebf8;border-radius:12px;height:136px;overflow:hidden;width:160px}.course-payment-order-media img{display:block;height:100%;object-fit:cover;width:100%}.course-payment-media-fallback{color:#4c7de0;display:grid;height:100%;place-items:center;width:100%}.course-payment-order-badge{align-items:center;background:#f4f7ff;border:1px solid #d9e4f8;border-radius:10px;color:#4c7de0;display:inline-flex;font-size:14px;font-weight:700;padding:6px 12px}.course-payment-order-info h3{color:#0f2d55;font-size:22px;letter-spacing:0;line-height:1.14;margin:10px 0 8px}.course-payment-order-info p{color:#5f7290;font-size:15px;line-height:1.45;margin:0}.course-payment-summary-metrics{grid-gap:10px;align-items:stretch;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.course-payment-summary-divider{display:none}.course-payment-summary-metric{align-items:center;background:#fbfdff;border:1px solid #e2eaf8;border-radius:12px;display:flex;gap:11px;min-height:62px;padding:12px 13px}.course-payment-summary-metric p{color:#5f7290;font-size:16px;margin:0}.course-payment-summary-metric strong{color:#0f2d55;font-size:19px}.course-payment-summary-icon{background:#f5f9ff;border:1px solid #dae6fa;border-radius:10px;color:#4a7de0;display:grid;height:40px;place-items:center;width:40px}.course-payment-learning-box{background:#fbfdff;border:1px solid #e2eaf7;border-radius:12px;margin:0;padding:12px 14px 10px}.course-payment-learning-box p{color:#152f55;font-size:19px;font-weight:700;margin:0 0 10px}.course-payment-learning-box ul{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0;padding:0}.course-payment-learning-box li{align-items:flex-start;color:#415b7c;display:flex;font-size:16px;gap:8px;line-height:1.4}.course-payment-learning-box li svg{color:#3b78f0;flex:0 0 auto}.course-payment-ai-box{align-items:center;background:#f6f9ff;border:1px solid #e3eaf8;border-radius:12px;color:#3f78e8;display:flex;gap:10px;margin-top:0;padding:14px 16px}.course-payment-ai-box strong{color:#2b61cb;display:block;font-size:17px}.course-payment-ai-box p{color:#5f7392;font-size:15px;margin:3px 0 0}.course-payment-promptpay-banner{align-items:center;background:#fff;border:1px solid #d7e2f2;border-radius:14px;display:flex;gap:12px;margin-bottom:16px;padding:14px 16px;width:100%}.course-payment-promptpay-banner img{background:#fff;border:1px solid #d8e4f3;border-radius:8px;height:44px;object-fit:contain;padding:4px;width:86px}.course-payment-promptpay-banner p{color:#102e55;font-size:22px;font-weight:700;margin:0}.course-payment-promptpay-banner span{color:#607390;font-size:14px}.course-payment-promptpay-banner>svg{color:#8296b3;flex:0 0 auto;margin-left:auto}.course-payment-price-box{align-items:center;background:#fff;border:0;display:flex;justify-content:space-between;margin-bottom:4px;padding:8px 0 12px}.course-payment-price-box span{color:#506886;font-size:20px;font-weight:600}.course-payment-price-box strong{color:#102f57;font-size:28px}.course-payment-plan-list{grid-gap:7px;display:grid;gap:7px;grid-template-columns:1fr;margin:2px 0 10px}.course-payment-plan-item{grid-gap:8px;align-items:center;background:#f7faff;border:1px solid #d5e2f4;border-radius:11px;color:#2d486a;cursor:pointer;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;text-align:left}.course-payment-plan-item strong{color:#11345f;font-size:16px}.course-payment-plan-item.selected{background:#f2f7ff;border-color:#4f83ea;box-shadow:0 0 0 2px #4f83ea29}.course-payment-total-row{align-items:center;background:#f2f6ff;border-radius:12px;color:#2f4c74;display:flex;justify-content:space-between;margin:2px 0 16px;padding:12px 16px}.course-payment-total-row span{font-size:17px;font-weight:700}.course-payment-total-row strong{color:#2d5de2;font-size:22px}.course-payment-email-field{grid-gap:7px;display:grid;gap:7px}.course-payment-email-field span{color:#607390;font-size:15px;font-weight:600}.course-payment-email-field input{background:#fff;border:1px solid #d4e1f2;border-radius:11px;color:#16375e;font-size:16px;height:48px;padding:0 14px;width:100%}.course-payment-qr-box{grid-gap:10px;background:#f7faff;border:1px solid #d4e2f5;border-radius:12px;display:grid;gap:10px;justify-items:center;margin-top:12px;padding:12px}.course-payment-qr-box p{color:#1f3f6c;font-size:15px;font-weight:700;margin:0}.course-payment-qr-box img{background:#fff;border:1px solid #d6e4f7;border-radius:10px;height:auto;padding:6px;width:min(240px,100%)}.course-payment-qr-box a{align-items:center;background:#fff;border:1px solid #2a5de4;border-radius:10px;color:#2a5de4;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;min-height:40px;padding:0 14px;text-decoration:none}.course-payment-qr-box a:hover{background:#edf3ff}.course-payment-method-actions{grid-gap:8px;display:grid;gap:8px;margin-top:12px}.course-payment-primary{align-items:center;background:linear-gradient(90deg,#2d66ef,#1f4fdf);border:0;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:19px;font-weight:700;gap:8px;justify-content:center;min-height:56px;padding:10px 14px;text-decoration:none;width:100%}.course-payment-primary:hover:not(:disabled){filter:brightness(1.05)}.course-payment-primary svg{flex:0 0 auto}.course-payment-primary:disabled{cursor:not-allowed;opacity:.65}.course-payment-secondary{align-items:center;background:#f7faff;border:1px solid #b8caf0;border-radius:12px;color:#1c4dcc;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;justify-content:center;min-height:48px;padding:8px 12px;width:100%}.course-payment-secondary:hover:not(:disabled){background:#edf3ff}.course-payment-secondary:disabled{cursor:not-allowed;opacity:.65}.course-payment-access-note{color:#3f5f89;font-size:14px;margin:0;text-align:center}.course-payment-secure-note{align-items:center;color:#657a98;display:flex;font-size:14px;gap:7px;justify-content:center;margin:14px 0 0}.course-payment-secure-note svg{color:#7188aa}.course-payment-share-status{color:#2f5278;font-size:15px;margin-top:4px;opacity:.95}.course-payment-benefits{grid-gap:8px;background:#fff;border:1px solid #dde7f4;border-radius:16px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 20px}.course-payment-benefit{align-items:center;color:#7390ba;display:flex;gap:12px}.course-payment-benefit h3{color:#18365f;font-size:18px;line-height:1.08;margin:0}.course-payment-benefit p{color:#607390;font-size:13px;margin:4px 0 0}@media (max-width:1200px){.course-payment-method-card h2,.course-payment-order-card h2{font-size:22px}.course-payment-order-info h3{font-size:20px}.course-payment-order-info p{font-size:14px}.course-payment-learning-box p,.course-payment-price-box span,.course-payment-promptpay-banner p{font-size:19px}.course-payment-price-box strong{font-size:26px}.course-payment-promptpay-banner span{font-size:13px}.course-payment-benefit h3{font-size:17px}}@media (max-width:960px){.course-payment-main{padding:16px 14px 32px}.course-payment-grid{gap:14px;grid-template-columns:1fr}.course-payment-order-item-main{gap:12px;grid-template-columns:108px minmax(0,1fr);padding-bottom:12px}.course-payment-skeleton-media{height:98px;width:108px}.course-payment-skeleton-metrics{gap:10px;grid-template-columns:1fr}.course-payment-skeleton-divider{display:none}.course-payment-order-media{height:98px;width:108px}.course-payment-method-card,.course-payment-order-card{border-radius:13px;padding:16px}.course-payment-method-card h2,.course-payment-order-card h2{font-size:22px}.course-payment-order-info h3{font-size:20px}.course-payment-order-info p{font-size:14px}.course-payment-learning-box p{font-size:18px}.course-payment-summary-metrics{gap:10px;grid-template-columns:1fr}.course-payment-summary-metric{min-height:56px;padding:10px 11px}.course-payment-summary-divider{display:none}.course-payment-promptpay-banner p{font-size:20px}.course-payment-price-box span,.course-payment-promptpay-banner span{font-size:16px}.course-payment-price-box strong{font-size:28px}.course-payment-total-row span{font-size:15px}.course-payment-qr-box img{width:min(210px,100%)}.course-payment-benefits{gap:14px;grid-template-columns:1fr;padding:14px 15px}.course-payment-benefit-skeleton{min-height:58px}.course-payment-benefit h3{font-size:19px}.course-payment-benefit p{font-size:14px}}.dashboard-dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a121c99;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1200}.dashboard-dialog{animation:dashboardDialogIn .2s ease-out;background:#fff;border-radius:18px;box-shadow:0 24px 56px #071c2c3d;padding:22px 24px;width:min(560px,100%)}@keyframes dashboardDialogIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-dialog h3{color:#132940;font-size:1.22rem;font-weight:700;margin:0}.dashboard-dialog-message{color:#2d435a;font-size:.98rem;line-height:1.65;margin:12px 0 0;white-space:pre-line}.dashboard-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.dashboard-dialog-btn{border:0;border-radius:12px;cursor:pointer;font-size:.96rem;font-weight:700;min-height:42px;min-width:96px;padding:8px 18px}.dashboard-dialog-btn.secondary{background:#edf2f7;color:#3c556d}.dashboard-dialog-btn.primary{background:#0f7c95;color:#fff}.dashboard-dialog-btn.secondary:hover{background:#e0e8f0}.dashboard-dialog-btn.primary:hover{background:#0c667d}@media (max-width:640px){.dashboard-dialog{border-radius:14px;padding:18px}.dashboard-dialog-actions{justify-content:stretch}.dashboard-dialog-btn{flex:1 1}}.quiz-dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a121c99;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1250}.quiz-dialog{animation:quizDialogIn .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 24px 52px #08182847;padding:20px 22px;width:min(520px,100%)}@keyframes quizDialogIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.quiz-dialog h3{color:#112c43;font-size:1.15rem;margin:0}.quiz-dialog-message{color:#304b63;line-height:1.6;margin:10px 0 0;white-space:pre-line}.quiz-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.quiz-dialog-btn{border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:700;min-height:40px;min-width:92px;padding:8px 16px}.quiz-dialog-btn.secondary{background:#ecf2f7;color:#33516a}.quiz-dialog-btn.primary{background:#0f7c95;color:#fff}.quiz-dialog-btn.secondary:hover{background:#dfe8ef}.quiz-dialog-btn.primary:hover{background:#0c667d}@media (max-width:640px){.quiz-dialog{border-radius:13px;padding:16px}.quiz-dialog-actions{justify-content:stretch}.quiz-dialog-btn{flex:1 1}}.question-figure-preview{align-items:center;background:linear-gradient(180deg,#fffffff5,#f3fafbf0),radial-gradient(circle at top left,#0f7c9514,#0000 42%);border:1px solid #0f7c9524;border-radius:20px;display:flex;justify-content:center;margin:.9rem 0 1rem;padding:.85rem}.question-figure-image{display:block;max-height:260px;object-fit:contain;width:min(100%,360px)}.app-auth{--student-surface:#fff;--student-bg:#f2f7ff;--student-border:#d6e3f3;--student-text:#1f3550;--student-subtext:#5a7290;--student-blue:#6f9de4;--student-blue-dark:#4f7ecc;--student-orange:#f39a57;--student-orange-dark:#ea7c39;--student-teal:#8ab5f0;--student-shadow:0 14px 34px #14345f1a}.app-auth .chat-tutor-page,.app-auth .course-page,.app-auth .course-payment-page,.app-auth .dashboard-page,.app-auth .lesson-page,.app-auth .payment-history-page,.app-auth .quiz-interface,.app-auth .student-ranking-page{background:radial-gradient(circle at 12% 2%,#78a4ff33,#0000 36%),radial-gradient(circle at 89% 6%,#7cd6e033,#0000 34%),var(--student-bg)}.app-auth .app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid var(--student-border);box-shadow:0 8px 22px #1c385814;color:var(--student-text)}.app-auth .header-container{margin:0;max-width:none;min-height:68px;padding:.28rem clamp(1.5rem,3.2vw,4rem);width:100%}.app-auth .app-logo{width:clamp(112px,8.4vw,152px)}.app-auth .header-left{margin-left:0}.app-auth .header-right{align-items:center}.app-auth .user-info{align-items:center;display:flex}.app-auth .header-tabs{gap:clamp(1rem,2vw,2rem);max-width:none}.app-auth .header-tab{color:#2f3f53;font-size:clamp(.78rem,.86vw,.9rem);font-weight:700;padding:.36rem .04rem;position:relative;white-space:nowrap}.app-auth .header-tab:hover{color:#1f3045;opacity:1}.app-auth .header-tab.active{color:var(--student-orange);text-decoration:none}.app-auth .header-tab.active:after{background:var(--student-orange);border-radius:999px;bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.app-auth .user-menu-trigger{background:#fff;border:1px solid #d5e1ee;border-radius:14px;box-shadow:0 6px 18px #1e3b5b14;min-height:46px;padding:6px 12px}.app-auth .user-menu-trigger:hover{background:#f9fcff;border-color:#bfd0e4}.app-auth .user-name{color:#2a3e56;font-size:1rem}.app-auth .dropdown-arrow{color:#5c6f83}.app-auth .user-avatar{background:linear-gradient(135deg,#60cec6,#38b0a8);box-shadow:none;height:34px;width:34px}.app-auth .dashboard-main{padding:1.65rem 0 2.5rem}.app-auth .dashboard-container{max-width:1280px;padding:0 clamp(1rem,2.5vw,2.4rem)}.app-auth .dashboard-hero{background:linear-gradient(102deg,#e2efff 2%,#d3e8ff 40%,#bedcff);border:1px solid #cbdef7;border-radius:26px;box-shadow:var(--student-shadow);margin:0 auto 1.25rem;max-width:1220px;padding:0}.app-auth .dashboard-hero-content-wrap{grid-gap:clamp(.35rem,1vw,.8rem);gap:clamp(.35rem,1vw,.8rem);grid-template-columns:minmax(0,1fr) 620px}.app-auth .dashboard-hero-content{padding:clamp(1.05rem,2vw,1.55rem) clamp(1rem,2vw,1.75rem)}.app-auth .dashboard-greeting{color:var(--student-blue);font-size:1.35rem;margin-bottom:.2rem}.app-auth .dashboard-hero h1{color:var(--student-blue);font-size:clamp(2.2rem,5.4vw,4.15rem);margin-bottom:.6rem;text-shadow:none}.app-auth .dashboard-hero-headline{color:var(--student-text);font-size:clamp(1.12rem,2vw,1.42rem)}.app-auth .dashboard-hero-message{color:#33506d;font-size:1.17rem}.app-auth .dashboard-hero-motivation{color:#607a95;font-size:1.02rem;margin-bottom:.95rem!important}.app-auth .dashboard-hero-meta{gap:.7rem}.app-auth .dashboard-note{background:#2f73d61f;border:1px solid #2f73d64d;color:var(--student-blue);font-weight:700}.app-auth .dashboard-progress-pill{background:#ff9a4d2e;border:1px solid #ff8f3d61;color:#b85b1c;font-weight:700}.app-auth .dashboard-hero-media{min-height:240px;padding:clamp(.35rem,1vw,.8rem) clamp(.25rem,1vw,.6rem) 0 0}.app-auth .dashboard-hero-media img{filter:drop-shadow(0 14px 24px rgba(47,115,214,.14));max-height:330px;transform:translateY(6px);width:min(100%,620px)}.app-auth .dashboard-cta{margin-bottom:1.35rem}.app-auth .dashboard-cta-card{gap:.75rem}.app-auth .primary-cta-btn{background:linear-gradient(135deg,var(--student-orange),var(--student-orange-dark));box-shadow:0 10px 20px #ff8f3d47}.app-auth .primary-cta-btn:hover{background:linear-gradient(135deg,#ff9b51,#f07e33);box-shadow:0 14px 24px #ff8f3d57}.app-auth .secondary-cta-btn{background:#fff;border:2px solid #2f73d659;color:var(--student-blue)}.app-auth .secondary-cta-btn:hover{background:#2f73d61a}.app-auth .stats-grid{gap:1rem}.app-auth .stat-card{border:1px solid #d8e5f1;border-left-width:4px;box-shadow:0 10px 24px #1d395914}.app-auth .stat-card-time{border-left-color:var(--student-blue)}.app-auth .stat-card-quiz{border-left-color:var(--student-orange)}.app-auth .stat-card-progress{border-left-color:var(--student-teal)}.app-auth .stat-card-progress .stat-card-title{margin-bottom:.1rem}.app-auth .stat-icon{border-radius:14px;box-shadow:none;color:#fff;font-size:1.5rem;height:54px;width:54px}.app-auth .stat-card-time .stat-icon{background:linear-gradient(135deg,#4b97ff,#2f73d6)}.app-auth .stat-card-quiz .stat-icon{background:linear-gradient(135deg,#ffb055,#ff8f3d)}.app-auth .stat-card-progress .stat-icon{background:linear-gradient(135deg,#57d7ca,#35b9b1)}.app-auth .stat-content h3{color:#1d3550}.app-auth .stat-content p{color:#60768d}.app-auth .courses-section h2{color:#1f3348;margin-bottom:1rem}.app-auth .courses-grid{gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.app-auth .course-card-new{border:1px solid #d8e5f1;border-radius:20px;box-shadow:0 10px 24px #1d395914}.app-auth .course-card-new:hover{box-shadow:0 16px 30px #1d395924}.app-auth .course-card-cover{border-color:#dce8f3;border-radius:14px}.app-auth .course-card-desc,.app-auth .course-expiry-note,.app-auth .course-next-action,.app-auth .course-teacher{color:var(--student-subtext)}.app-auth .browse-badge.subject,.app-auth .course-highlight-badge{background:#2f73d61f;color:var(--student-blue)}.app-auth .browse-action.primary,.app-auth .browse-action.secondary,.app-auth .course-primary-action,.app-auth .course-tab-action,.app-auth .current-user-badge,.app-auth .dashboard-dialog-btn.primary,.app-auth .qa-button.primary,.app-auth .quiz-dialog-btn.primary,.app-auth .ranking-course-tab.active{background:linear-gradient(135deg,var(--student-orange),var(--student-orange-dark));border-color:#0000;color:#fff}.app-auth .browse-section .browse-action.primary{background:#fff;border-color:#2f73d68c;color:var(--student-blue)}.app-auth .browse-section .browse-action.primary:hover{background:#2f73d614;filter:none}.app-auth .browse-section .browse-action.secondary{background:linear-gradient(135deg,var(--student-orange),var(--student-orange-dark));border-color:#0000;color:#fff}.app-auth .browse-action.primary:hover,.app-auth .browse-action.secondary:hover,.app-auth .course-primary-action:hover,.app-auth .course-tab-action:hover,.app-auth .dashboard-dialog-btn.primary:hover,.app-auth .qa-button.primary:hover,.app-auth .quiz-dialog-btn.primary:hover{filter:brightness(1.03)}.app-auth .course-detail-card,.app-auth .course-ghost-action,.app-auth .course-progress-card,.app-auth .course-tab,.app-auth .dashboard-dialog-btn.secondary,.app-auth .payment-history-section,.app-auth .qa-section-card,.app-auth .qa-tab,.app-auth .quiz-dialog-btn.secondary,.app-auth .ranking-course-panel,.app-auth .ranking-course-tab,.app-auth .ranking-toggle-button,.app-auth .student-ranking-shell{border-color:#d9e5f2}.app-auth .course-overview-tab.active,.app-auth .course-tab.active,.app-auth .qa-tab.active,.app-auth .ranking-toggle-button{background:#2f73d61a;border-color:#2f73d647;box-shadow:none;color:var(--student-blue)}.app-auth .course-ghost-action,.app-auth .course-secondary-btn,.app-auth .course-tab,.app-auth .qa-tab,.app-auth .ranking-course-tab,.app-auth .ranking-toggle-button{background:#fff;color:var(--student-blue)}.app-auth .course-header,.app-auth .course-hero,.app-auth .course-hero.course-hero-payment-mode,.app-auth .lesson-breadcrumb-bar{border-bottom-color:#d7e4f0}.app-auth .course-hero,.app-auth .course-hero.course-hero-payment-mode{background:radial-gradient(circle at 12% 10%,#6f9de426,#0000 44%),radial-gradient(circle at 90% 8%,#ffa66617,#0000 38%),linear-gradient(120deg,#f7faff,#edf4ff 58%,#f4f7fb)}.app-auth .course-hero.course-hero-payment-mode:after,.app-auth .course-hero:after{opacity:.04}.app-auth .subject-overview{--analysis-card-bg:#fffffff5;--analysis-card-border:#d6e3f2;--analysis-headline:#173a62;--analysis-body:#5e7590;--analysis-accent:#2f73d6;--analysis-accent-soft:#dce9fb;--analysis-warm:#f39a57;--analysis-warm-soft:#fff3e8}.app-auth .subject-overview-head h2{color:var(--analysis-headline)}.app-auth .course-progress-card,.app-auth .quick-status-card,.app-auth .subject-chart-card,.app-auth .subject-overview-empty{background:var(--analysis-card-bg);border-color:var(--analysis-card-border)}.app-auth .course-progress-explainer,.app-auth .course-progress-meta span,.app-auth .course-progress-name,.app-auth .course-status-explainer,.app-auth .quick-status-card p,.app-auth .quick-status-card span,.app-auth .quick-status-difficulty-item small,.app-auth .subject-chart-head p,.app-auth .subject-overview-empty p{color:var(--analysis-body)}.app-auth .course-progress-head h3,.app-auth .course-progress-meta strong,.app-auth .quick-mini-ring span,.app-auth .quick-status-card strong,.app-auth .quick-status-progress-row strong,.app-auth .quick-status-score-head strong,.app-auth .subject-chart-head h3,.app-auth .subject-overview-empty h3{color:var(--analysis-headline)}.app-auth .course-progress-bar,.app-auth .quick-status-progress-track{background:#e6eef8}.app-auth .course-progress-bar>i,.app-auth .quick-status-progress-track>i{background:linear-gradient(90deg,#5f8ed9,var(--analysis-accent))}.app-auth .quick-status-card.priority{background:linear-gradient(135deg,var(--analysis-warm-soft),#fff8f0);border-color:#f39a5775}.app-auth .quick-status-card.priority strong,.app-auth .quick-status-link-hint{color:#b85d27}.app-auth .quick-status-card.clickable:hover{border-color:#f39a57b3;box-shadow:0 12px 24px #f39a5738}.app-auth .quick-mini-ring{background:conic-gradient(var(--ring-color) calc(var(--value)*1%),#dde7f3 0)}.app-auth .quick-mini-ring:after{background:#fff}.app-auth .quick-mini-ring.easy{--ring-color:#2f73d6}.app-auth .quick-mini-ring.medium{--ring-color:#5f8ed9}.app-auth .quick-mini-ring.hard{--ring-color:#f39a57}.app-auth .consistency-trend-chart .consistency-x-tick,.app-auth .consistency-trend-chart .consistency-y-tick,.app-auth .course-metric-btn,.app-auth .course-metric-legend,.app-auth .course-metric-x-label,.app-auth .course-metric-y-tick,.app-auth .subject-chart-course-filter,.app-auth .subject-chart-course-filter select{color:var(--analysis-body)}.app-auth .subject-chart-course-filter select{background:#f7fbff;border-color:#cfdff1}.app-auth .course-metric-toggle{background:#f4f8ff;border-color:#d8e4f3}.app-auth .course-metric-btn:hover:not(.active){background:#e8f0fb;color:var(--analysis-headline)}.app-auth .course-metric-btn.active{background:var(--analysis-accent);box-shadow:0 4px 10px #2f73d63d}.app-auth .consistency-trend-chart-wrap,.app-auth .course-metric-chart-wrap{background:#fbfdff;border-color:#d9e6f4}.app-auth .consistency-trend-chart .consistency-grid-line,.app-auth .course-metric-grid-line{stroke:#e5eef8}.app-auth .consistency-trend-chart .consistency-axis-line,.app-auth .course-metric-axis-line{stroke:#cfdff0}.app-auth .consistency-trend-chart .consistency-x-tick.today,.app-auth .course-metric-value{fill:var(--analysis-headline)}.app-auth .consistency-trend-chart .consistency-x-tick,.app-auth .consistency-trend-chart .consistency-y-tick,.app-auth .course-metric-x-label,.app-auth .course-metric-y-tick{fill:var(--analysis-body)}.app-auth .consistency-trend-chart .consistency-line,.app-auth .consistency-trend-chart .consistency-point,.app-auth .course-metric-bar.confidence,.app-auth .course-metric-bar.lesson,.app-auth .course-metric-legend i.lesson{fill:var(--analysis-accent);stroke:var(--analysis-accent)}.app-auth .consistency-trend-chart .consistency-point.today,.app-auth .course-metric-bar.mock-exam,.app-auth .course-metric-bar.time,.app-auth .course-metric-legend i.mock-exam{fill:var(--analysis-warm);stroke:var(--analysis-warm)}.app-auth .course-progress-card button{background:#eff6ff;border-color:#bfd5ef;color:#1f558f}.app-auth .course-progress-card button:hover{background:#e4effd;border-color:#9bbde4}@media (max-width:1100px){.app-auth .dashboard-hero-content-wrap{grid-template-columns:1fr}.app-auth .dashboard-hero-media{justify-content:center;order:2;padding-top:0}.app-auth .dashboard-hero-media img{max-height:280px;width:min(100%,520px)}.app-auth .courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.app-auth .header-container{min-height:64px;padding:.24rem .68rem}.app-auth .header-tabs{gap:1rem}.app-auth .courses-grid,.app-auth .stats-grid{grid-template-columns:1fr}.app-auth .dashboard-hero-content{padding:1.25rem 1.1rem}.app-auth .dashboard-greeting{font-size:1.12rem}.app-auth .dashboard-hero h1{font-size:clamp(1.9rem,11vw,2.8rem)}.app-auth .dashboard-hero-message,.app-auth .dashboard-hero-motivation{font-size:.96rem}}.home-page,.legal-page{background:radial-gradient(circle at 12% 16%,#74a8ff24,#0000 38%),radial-gradient(circle at 88% 14%,#ffb77829,#0000 36%),linear-gradient(180deg,#f5f8fe,#eff4fb 56%,#edf2f9);color:#18324f;min-height:100vh}.home-page .app-header,.legal-page .app-header{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffffff5;border-bottom:1px solid #d8e3ef;box-shadow:0 10px 22px #18324f14;color:#1f3550}.home-page .header-container,.legal-page .header-container{margin:0;max-width:none;min-height:72px;padding:.04rem clamp(1.25rem,3vw,3.5rem);width:100%}.home-page .header-left,.legal-page .header-left{margin-left:0}.home-page .header-right,.legal-page .header-right{align-items:center;justify-content:flex-end;margin-left:auto}.home-page .app-logo,.legal-page .app-logo{height:36px;transform:translateY(2px) scale(2.4);transform-origin:left center;width:auto}.home-page .auth-action,.legal-page .auth-action{background:#fff;border:2px solid #ff8b38;border-radius:999px;color:#ff8b38;font-size:.9rem;font-weight:700;min-height:42px;min-width:108px;padding:.42rem 1rem}.home-page .auth-actions,.legal-page .auth-actions{gap:10px}.home-page .auth-action:hover,.legal-page .auth-action:hover{box-shadow:0 10px 20px #ff8b3833}.home-page .auth-action.solid,.legal-page .auth-action.solid{background:linear-gradient(135deg,#ff9b45,#ff7e2f);border-color:#0000;box-shadow:0 12px 24px #ff802a4d;color:#fff}.home-page .auth-action.solid:hover,.legal-page .auth-action.solid:hover{background:linear-gradient(135deg,#ffa756,#ff8840)}.home-page .landing-main{--landing-ink:#122c4c;--landing-soft-ink:#637791;--landing-card:#ffffffeb;--landing-border:#d4e0ee;--landing-accent:#ff8b38;--landing-accent-dark:#f0732e;--landing-highlight:#2f73d6;--landing-highlight-soft:#8bb5ff;overflow:hidden;padding:clamp(2rem,4.4vw,3.8rem) 0 0;position:relative}.home-page .landing-main:after,.home-page .landing-main:before{background:#ffffffb3;border-radius:120px;bottom:clamp(220px,21vw,320px);content:"";filter:blur(.2px);height:clamp(130px,16vw,210px);pointer-events:none;position:absolute;width:clamp(220px,28vw,420px);z-index:0}.home-page .landing-main:before{left:clamp(-120px,-6vw,-40px)}.home-page .landing-main:after{right:clamp(-120px,-7vw,-36px)}.home-page .landing-floating-art{--floating-size:clamp(310px,34vw,470px)}.home-page .landing-floating-item{filter:drop-shadow(0 10px 18px rgba(24,50,79,.14));opacity:.88}.home-page .landing-floating-art .floating-pencil-left{--rot:-14deg;left:clamp(-116px,-4vw,-34px);top:clamp(130px,15vw,210px);width:clamp(185px,20vw,300px)}.home-page .landing-floating-art .floating-ruler-top{--rot:-13deg;right:clamp(-124px,-4.5vw,-38px);top:clamp(120px,11vw,186px);width:clamp(196px,21vw,320px)}.home-page .landing-floating-art .floating-eraser,.home-page .landing-floating-art .floating-half-circle-right{opacity:.35}.home-page .landing-section{width:min(1220px,100%);z-index:2}.home-page .landing-hero{padding-bottom:.65rem}.home-page .landing-hero-center{max-width:960px;padding-top:clamp(.85rem,1.7vw,1.4rem)}.home-page .landing-kicker{color:#2f73d6;font-size:clamp(.92rem,1vw,1.05rem);font-weight:700;letter-spacing:0;margin-bottom:.62rem}.home-page .landing-hero h1{color:#122c4c;font-size:clamp(2.08rem,4.2vw,3.65rem);font-weight:700;line-height:1.09;margin:0 auto;max-width:20ch}.home-page .landing-headline-accent{color:#ff8b38}.home-page .landing-hero-description{color:#677d95;font-size:clamp(.95rem,1.06vw,1.16rem);line-height:1.52;margin-top:.92rem;max-width:850px}.home-page .landing-hero-actions{margin-top:1.1rem}.home-page .landing-cta{border-radius:999px;font-size:.98rem;min-width:156px;padding:.64rem 1.35rem}.home-page .landing-cta.dark,.home-page .landing-cta.solid{background:linear-gradient(135deg,#ff9b45,#ff7e2f);border:1px solid #0000;box-shadow:0 12px 24px #ff802a47;color:#fff}.home-page .landing-cta.dark:hover,.home-page .landing-cta.solid:hover{background:linear-gradient(135deg,#ffaa59,#ff8d43)}.home-page .landing-capabilities{margin-top:.85rem}.home-page .landing-capability-row{gap:1.3rem}.home-page .landing-capability-card{background:#fff;border:1px solid #d9e4f1;border-radius:22px;box-shadow:0 14px 28px #18324f14;min-height:222px;padding:1.32rem 1.16rem}.home-page .landing-capability-card h3{color:#2f73d6;font-size:clamp(1.1rem,1.35vw,1.45rem);font-weight:700}.home-page .landing-capability-card p{color:#667c95;font-size:clamp(.88rem,.96vw,1rem);line-height:1.52}.home-page .landing-faq-intro h2,.home-page .landing-section-head h2,.home-page .landing-value-head h2,.home-page .landing-workflow .landing-section-head h2{color:#122c4c;font-size:clamp(2rem,3.2vw,3rem)}.home-page .landing-bullet-list li,.home-page .landing-faq-intro p,.home-page .landing-footer-col p,.home-page .landing-footer-col ul,.home-page .landing-section-head p,.home-page .landing-value-head p,.home-page .landing-workflow-card p{color:#667c95;font-size:clamp(.92rem,1vw,1.02rem)}.home-page .landing-value-head:after{background:linear-gradient(90deg,#2f73d6 0 48%,#ff8b38 48% 100%)}.home-page .landing-value-copy h3{color:#2f73d6}.home-page .landing-footer{border-top:1px solid #d6e2ef}.home-page .landing-footer-col a,.home-page .landing-footer-legal-links a{color:#244d7b}.home-page .landing-footer-col a:hover,.home-page .landing-footer-legal-links a:hover{color:#1d4068}@media (max-width:1100px){.home-page .landing-main:after,.home-page .landing-main:before{display:none}.home-page .landing-floating-art .floating-pencil-left{left:-82px;top:136px;width:clamp(140px,22vw,210px)}.home-page .landing-floating-art .floating-ruler-top{right:-88px;width:clamp(150px,24vw,220px)}}@media (max-width:768px){.home-page .app-header,.legal-page .app-header{box-shadow:0 8px 16px #18324f14}.home-page .header-container,.legal-page .header-container{min-height:66px;padding:.04rem .6rem}.app-auth .header-left,.home-page .header-left{margin-left:0}.home-page .app-logo,.legal-page .app-logo{height:32px;transform:translateY(2px) scale(2.4);transform-origin:left center;width:auto}.home-page .auth-action,.legal-page .auth-action{font-size:.84rem;min-height:38px;min-width:94px;padding:.34rem .78rem}.app-auth .user-menu-trigger{min-height:38px;padding:5px 10px}.home-page .landing-main{padding-top:1.42rem}.home-page .landing-kicker{font-size:.84rem}.home-page .landing-hero h1{font-size:clamp(1.75rem,8.8vw,2.45rem)}.home-page .landing-hero-description{font-size:.88rem}.home-page .landing-capability-card{min-height:0}.home-page .landing-floating-art .floating-eraser,.home-page .landing-floating-art .floating-half-circle-right{display:none}}.app-auth .left-panel,.app-auth .right-panel{border:1px solid #d6e3f3;box-shadow:0 8px 22px #14345f17}.app-auth .chat-interface{background:radial-gradient(circle at 8% 0,#6f9de433,#0000 46%),radial-gradient(circle at 92% 0,#f39a5724,#0000 44%),linear-gradient(180deg,#f8fbff,#f2f8ff)}.app-auth .chat-header{background:#ffffffeb;border-bottom:1px solid #6f9de459}.app-auth .chat-energy-banner{border-color:#6f9de452}.app-auth .chat-energy-banner-label{color:#4f7ecc}.app-auth .chat-energy-banner-track>span{background:linear-gradient(90deg,#6f9de4,#8ab5f0)}.app-auth .message.user .message-bubble{background:linear-gradient(145deg,#dce8fb,#cfdef7);border-color:#6f9de45c;box-shadow:0 6px 16px #4f7ecc29;color:#1f3f7a}.app-auth .message.user .message-bubble,.app-auth .message.user .message-bubble a,.app-auth .message.user .message-bubble em,.app-auth .message.user .message-bubble h1,.app-auth .message.user .message-bubble h2,.app-auth .message.user .message-bubble h3,.app-auth .message.user .message-bubble li,.app-auth .message.user .message-bubble p,.app-auth .message.user .message-bubble strong{color:#1f3f7a!important}.app-auth .message.ai .message-bubble.context-bubble{background:linear-gradient(180deg,#f9fcff,#f2f8ff);border-color:#6f9de461 #6f9de461 #6f9de461 #f39a57;box-shadow:0 10px 22px #4f7ecc17}.app-auth .message.ai .message-bubble.context-bubble:before{background:#f39a5729;border-color:#ea7c3957;color:#b85d27}.app-auth .bullet-point:before{color:#f39a57}.app-auth .quiz-header{background:linear-gradient(135deg,#6f9de4,#4f7ecc)}.app-auth .quiz-progress{background:radial-gradient(circle at 0 0,#6f9de433,#0000 35%),linear-gradient(180deg,#fffffffc,#f5f9fffa)}.app-auth .progress-fill{background:linear-gradient(90deg,#6f9de4,#f39a57)}.app-auth .timer{color:#4f7ecc}.app-auth .question-number{background:linear-gradient(135deg,#f6aa6d,#ea7c39);box-shadow:0 10px 20px #ea7c393d}.app-auth .option-button:hover{border-color:#6f9de4ad;box-shadow:0 16px 30px #4f7ecc29}.app-auth .option-button.selected{background:#6f9de41c;border-color:#6f9de4;box-shadow:0 16px 30px #4f7ecc33}.app-auth .option-label{background:linear-gradient(135deg,#6f9de4,#4f7ecc)}.app-auth .option-button.selected .option-label{background:linear-gradient(135deg,#5f8ed9,#4670bf)}.app-auth .selected-mark{color:#4f7ecc}.app-auth .nav-button{background:linear-gradient(135deg,#84adea,#5f8ed9);box-shadow:0 10px 22px #4f7ecc45;color:#fff}.app-auth .nav-button.next{background:linear-gradient(135deg,#f6aa6d,#ea7c39);box-shadow:0 10px 22px #ea7c394d}.app-auth .nav-button:hover:not(:disabled){box-shadow:0 14px 26px #4f7ecc57}.app-auth .nav-button.next:hover:not(:disabled){box-shadow:0 14px 26px #ea7c3961}.app-auth .submit-nav-button{background:linear-gradient(135deg,#f6aa6d,#ea7c39);box-shadow:0 6px 16px #ea7c3947;color:#fff}.app-auth .submit-nav-button:hover{box-shadow:0 10px 20px #ea7c3957}.app-auth .indicator.answered.current,.app-auth .indicator.current{background:#6f9de4;border-color:#6f9de4}.app-auth .score-ring-progress{stroke:#6f9de4}.app-auth .results-actions .retry-button{background:linear-gradient(135deg,#f6aa6d,#ea7c39)}.app-auth{--student-sidebar-width:232px}.app-auth .app-sidebar{background:#fff;border-right:1px solid #e2e8f2;box-shadow:none;display:flex;flex-direction:column;height:100dvh;inset:0 auto 0 0;position:fixed;width:var(--student-sidebar-width);z-index:170}.app-auth .app-sidebar-top{border-bottom:1px solid #edf2f8;padding:1rem 1rem .8rem}.app-auth .app-sidebar .app-title{color:#1d3d67}.app-auth .app-sidebar-nav{grid-gap:.72rem;align-content:start;display:grid;flex:1 1;gap:.72rem;overflow-y:auto;padding:1.02rem .6rem}.app-auth .sidebar-nav-item{grid-column-gap:.78rem;align-items:center;background:#0000;border:0;border-radius:14px;color:#3f5877;column-gap:.78rem;cursor:pointer;display:grid;font-size:1.01rem;font-weight:600;grid-template-columns:24px minmax(0,1fr);line-height:1.25;min-height:52px;padding:.62rem .78rem;text-align:left}.app-auth .sidebar-nav-item:hover{background:#f4f8ff;color:#2f4d74}.app-auth .sidebar-nav-item.active{background:#eaf1ff;box-shadow:inset 0 0 0 1px #d8e7ff;color:#2f73d6}.app-auth .sidebar-nav-icon{align-items:center;border:0;border-radius:0;display:inline-flex;flex:0 0 24px;height:24px;justify-content:center;line-height:0;opacity:1;transform:none;width:24px}.app-auth .sidebar-nav-icon svg{stroke:currentColor;fill:none;display:block;height:18px;width:18px}.app-auth .app-sidebar-bottom{display:none}.app-auth .app-footer,.app-auth .chat-tutor-page,.app-auth .course-page,.app-auth .course-payment-page,.app-auth .dashboard-page,.app-auth .lesson-page,.app-auth .payment-history-page,.app-auth .student-ranking-page{margin-left:var(--student-sidebar-width)}.app-auth .chat-tutor-page,.app-auth .course-page,.app-auth .course-payment-page,.app-auth .dashboard-page,.app-auth .lesson-page,.app-auth .payment-history-page,.app-auth .student-ranking-page{min-height:100dvh}.app-auth .course-content:has(.split-screen),.app-auth .course-content:has(.split-screen-maximized){box-sizing:border-box;height:calc(100dvh - 72px);margin:0 auto;min-height:calc(100dvh - 72px);padding:.72rem clamp(.75rem,1.1vw,1rem) 0;width:min(100%,1660px)}.app-auth .split-screen,.app-auth .split-screen-maximized{gap:clamp(.85rem,1vw,1.05rem);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-auth .left-panel .quiz-interface{margin-left:0}.app-auth:has(.split-screen) .course-hero.lesson-breadcrumb-hero .course-hero-inner,.app-auth:has(.split-screen-maximized) .course-hero.lesson-breadcrumb-hero .course-hero-inner{margin:0;max-width:none;padding:.5rem clamp(.75rem,1.1vw,1rem) .4rem}.app-auth:has(.split-screen) .course-hero.lesson-breadcrumb-hero .course-breadcrumb,.app-auth:has(.split-screen-maximized) .course-hero.lesson-breadcrumb-hero .course-breadcrumb{margin:0;max-width:none;padding:0}@media (max-width:1200px){.app-auth .split-screen,.app-auth .split-screen-maximized{grid-template-columns:1fr}.app-auth .course-content:has(.split-screen),.app-auth .course-content:has(.split-screen-maximized){height:auto;min-height:calc(100dvh - 104px)}.app-auth .course-hero.lesson-breadcrumb-hero .course-hero-inner{padding-right:20px}}.app-auth .dashboard-main{padding:1rem 0 2.35rem}.app-auth .dashboard-main.ai-recommend-dashboard-main{--ai-recommend-top-offset:clamp(3.75rem,7vh,4.75rem);--ai-recommend-bottom-lift:clamp(3rem,5vh,3.75rem);display:flex;min-height:100dvh;padding-bottom:var(--ai-recommend-bottom-lift);padding-top:var(--ai-recommend-top-offset)}.app-auth .dashboard-container{box-sizing:border-box;margin:0 auto;max-width:1600px;padding:0 clamp(1rem,1.6vw,1.5rem);width:min(100%,1600px)}.app-auth .dashboard-main.ai-recommend-dashboard-main .dashboard-container{align-items:end;display:grid;min-height:calc(100dvh - var(--ai-recommend-top-offset) - var(--ai-recommend-bottom-lift))}.app-auth .dashboard-main.ai-recommend-dashboard-main.ai-recommend-empty-dashboard-main{display:block;min-height:auto;padding-bottom:2.35rem;padding-top:1rem}.app-auth .dashboard-main.ai-recommend-dashboard-main.ai-recommend-empty-dashboard-main .dashboard-container{display:block;min-height:0}.app-auth .dashboard-main.ai-recommend-dashboard-main .ai-recommend-loading{align-self:start;margin-top:clamp(2rem,4vh,3rem)}.app-auth .app-header-utility{align-items:center;display:flex;gap:14px;position:fixed;right:28px;top:22px;z-index:230}.app-auth .header-notification-btn{background:#0000;border:0;border-radius:10px;color:#566c86;cursor:pointer;display:grid;height:34px;place-items:center;width:34px}.app-auth .header-notification-btn:hover{background:#eef5ff}.app-auth .app-header-profile{position:relative}.app-auth .header-profile-trigger{align-items:center;background:#0000;border:0;border-radius:999px;color:#263e5c;cursor:pointer;display:inline-flex;font-weight:700;gap:9px;min-height:40px;padding:0}.app-auth .header-profile-avatar{background:#4f8df5;border-radius:50%;color:#fff;display:grid;font-size:1rem;font-weight:700;height:38px;place-items:center;width:38px}.app-auth .header-profile-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-auth .header-profile-caret{color:#6d819c;flex:0 0 auto}.app-auth .header-profile-dropdown{grid-gap:4px;background:#fff;border:1px solid #dbe7f5;border-radius:12px;box-shadow:0 12px 28px #1e3b5b29;display:grid;gap:4px;min-width:200px;padding:6px;position:absolute;right:0;top:calc(100% + 8px)}.app-auth .header-profile-dropdown .logout-button,.app-auth .header-profile-dropdown .menu-action-button{background:#0000;border:0;border-radius:9px;color:#334c6b;cursor:pointer;min-height:36px;padding:7px 10px;text-align:left;width:100%}.app-auth .header-profile-dropdown .logout-button:hover,.app-auth .header-profile-dropdown .menu-action-button:hover{background:#f2f7ff}.app-auth .header-profile-dropdown .logout-button{color:#b42318}.app-auth .browse-section{padding-top:.25rem}.app-auth .browse-header-row{padding-right:clamp(190px,14vw,250px)}.app-auth .dashboard-greeting-row{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;min-height:100px;padding-right:0;position:relative}.app-auth .dashboard-greeting-row h1{color:#102f55;font-size:1.8rem;font-weight:800;letter-spacing:0;line-height:1.2;margin:0}.app-auth .dashboard-greeting-row p{color:#5f728b;font-size:1.03rem;margin:.5rem 0 0}.app-auth .dashboard-date-pill{align-items:center;background:#fff;border:1px solid #e4ebf5;border-radius:999px;box-shadow:0 8px 20px #284e760f;color:#526a86;display:inline-flex;flex:0 0 auto;font-weight:700;gap:.58rem;min-height:44px;padding:.55rem 1rem;position:absolute;right:0;top:-54px}.app-auth .dashboard-date-pill svg{color:#4f8df5}.app-auth .dashboard-hero{background:#fff;border:1px solid #e3ebf5;border-radius:24px;box-shadow:0 10px 26px #29496d14;margin:0 0 1.05rem;max-width:none;overflow:hidden;width:100%}.app-auth .dashboard-hero:after,.app-auth .dashboard-hero:before{display:none}.app-auth .dashboard-hero-content-wrap{grid-gap:clamp(1rem,1.9vw,1.6rem);align-items:center;display:grid;gap:clamp(1rem,1.9vw,1.6rem);grid-template-columns:minmax(0,1fr) minmax(380px,520px)}.app-auth .dashboard-hero-content{padding:clamp(1.35rem,1.9vw,1.7rem) clamp(1.25rem,1.8vw,1.8rem)}.app-auth .dashboard-hero-kicker{color:#2f73d6;font-size:1.05rem;font-weight:800;line-height:1.3;margin:0 0 .42rem}.app-auth .dashboard-hero h2{color:#173b62;font-size:2.12rem;font-weight:800;letter-spacing:0;line-height:1.12;margin:0}.app-auth .dashboard-hero-headline{color:#496580;font-size:1rem;font-weight:700;line-height:1.5;margin:.54rem 0 0}.app-auth .dashboard-hero-metrics{grid-gap:.64rem;display:grid;gap:.64rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.92rem}.app-auth .dashboard-hero-metric-card{grid-gap:.56rem;align-items:center;background:#fff;border:1px solid #dbe7f5;border-radius:14px;display:grid;gap:.56rem;grid-template-columns:34px minmax(0,1fr);min-height:62px;padding:.58rem .7rem}.app-auth .dashboard-hero-metric-icon{background:#eaf2ff;border-radius:10px;color:#2f73d6;display:grid;height:34px;place-items:center;width:34px}.app-auth .dashboard-hero-metric-copy{grid-gap:.08rem;display:grid;gap:.08rem;min-width:0}.app-auth .dashboard-hero-metric-copy span{color:#5e7692;font-size:.8rem;font-weight:700;line-height:1.25}.app-auth .dashboard-hero-metric-copy strong{color:#183a62;font-size:1.02rem;font-weight:800;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-auth .dashboard-hero-start-btn{align-items:center;background:linear-gradient(135deg,#ff9e4a,#ff7e2e);border:0;border-radius:999px;box-shadow:0 10px 20px #ff843138;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:800;gap:.58rem;justify-content:center;margin-top:.9rem;min-height:48px;padding:.6rem 1.48rem}.app-auth .dashboard-hero-start-btn:hover{box-shadow:0 13px 24px #ff843147}.app-auth .dashboard-hero-media{align-items:flex-end;display:flex;justify-content:flex-end;min-height:230px;padding:.5rem .95rem 0 0}.app-auth .dashboard-hero-media img{display:block;filter:none;max-height:268px;object-fit:contain;object-position:right bottom;transform:none;width:min(100%,460px)}.app-auth .courses-section,.app-auth .dashboard-cta{display:none}.app-auth .stats-section{margin:0 0 1.2rem}.app-auth .stats-grid{grid-gap:clamp(.9rem,1.25vw,1.1rem);display:grid;gap:clamp(.9rem,1.25vw,1.1rem);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;max-width:none}.app-auth .stat-card{grid-gap:.78rem 1rem;align-items:start;background:#fff;border:1px solid #e0e8f2;border-radius:16px;box-shadow:0 10px 24px #29496d12;display:grid;gap:.78rem 1rem;grid-template-areas:"title title" "media content";grid-template-columns:102px minmax(0,1fr);min-height:198px;padding:1.1rem 1.2rem}.app-auth .stat-card-title{color:#173b62;font-size:1.2rem;font-weight:800;grid-area:title;line-height:1.24;margin:0;text-align:left}.app-auth .stat-progress-circle{grid-area:media;height:92px;width:92px}.app-auth .stat-progress-circle .ant-progress-text{color:#163b63;font-size:1rem;font-weight:800}.app-auth .stat-card .stat-icon{background:#fff6ef;border-radius:18px;box-shadow:none;color:#ff8738;font-size:2.2rem;grid-area:media;height:72px;justify-self:center;width:72px}.app-auth .stat-fire-icon{display:block;height:72px;object-fit:contain;width:72px}.app-auth .stat-content{grid-area:content;min-width:0}.app-auth .stat-content strong{color:#12365f;display:block;font-size:2.8rem;font-weight:800;line-height:1.05;margin-bottom:.32rem}.app-auth .stat-content p{color:#667b93;font-size:1rem;font-weight:700;line-height:1.4;margin:0}.app-auth .stat-content small{color:#25b55f;display:block;font-size:.92rem;font-weight:700;line-height:1.35;margin-top:.42rem}.app-auth .stat-time-summary{color:#1a3f66!important;font-size:2rem;font-weight:800!important;line-height:1.1!important}.app-auth .stat-time-goal{color:#5c7590!important;font-size:.95rem!important;font-weight:700!important;margin-top:.35rem!important}.app-auth .stat-update-row{align-items:center;color:#667f9a;display:inline-flex;font-size:.88rem;font-weight:700;gap:.38rem;margin-top:.62rem}.app-auth .stat-update-row svg{color:#8196b0}.app-auth .stat-improve-badge{align-items:center;background:#eef5ff;border:1px solid #d5e6ff;border-radius:999px;color:#2f73d6;display:inline-flex;font-size:.85rem;font-weight:800;margin-top:.6rem;min-height:30px;padding:.18rem .7rem}.app-auth .stat-streak-week{grid-gap:.36rem;display:grid;gap:.36rem;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:.72rem}.app-auth .stat-streak-day{background:#f9fcff;border:1px solid #dde8f4;border-radius:999px;color:#6f87a1;display:grid;font-weight:800;min-height:52px;padding:.2rem .15rem .24rem;place-items:center}.app-auth .stat-streak-day small{color:#5f7892;display:block;font-size:.86rem;font-weight:800;line-height:1}.app-auth .stat-streak-day i{color:#9aaec2;font-size:.92rem;font-style:normal;line-height:1}.app-auth .stat-streak-day.active{background:#ecfff2;border-color:#68c88c;box-shadow:inset 0 0 0 1px #33ab5d1f;color:#168543}.app-auth .stat-streak-day.active i,.app-auth .stat-streak-day.active small{color:#168543}.app-auth .stat-streak-day.today{background:#eef5ff;border-color:#2f73d6;box-shadow:0 0 0 2px #2f73d629}.app-auth .stat-streak-day.today small{color:#174c98}.app-auth .stat-streak-day.today i{color:#2f73d6}.app-auth .stat-streak-day.active.today{background:#e8fff0;border-color:#17a553;box-shadow:0 0 0 2px #17a5532e}.app-auth .stat-consistency-content{padding-top:.06rem}.app-auth .stat-consistency-headline{align-items:baseline;display:inline-flex;gap:.44rem;margin-bottom:.14rem}.app-auth .stat-consistency-headline strong{font-size:3rem;line-height:1;margin:0}.app-auth .stat-consistency-headline span{color:#153b63;font-size:1.05rem;font-weight:800;line-height:1}.app-auth .dashboard-continue-section{margin-top:.1rem}.app-auth .dashboard-continue-section h2{color:#183b60;font-size:1.18rem;font-weight:800;letter-spacing:0;line-height:1.3;margin:0 0 .8rem}.app-auth .dashboard-continue-card{grid-gap:clamp(.92rem,1.3vw,1.38rem);align-items:center;background:#fff;border:1px solid #e0e8f2;border-radius:16px;box-shadow:0 10px 24px #29496d12;display:grid;gap:clamp(.92rem,1.3vw,1.38rem);grid-template-columns:92px minmax(0,1fr) minmax(160px,188px);min-height:138px;padding:1rem clamp(1rem,1.4vw,1.3rem)}.app-auth .continue-course-icon{background:linear-gradient(145deg,#f2f1ff,#e8ecff);border-radius:14px;color:#6b59e8;display:grid;height:82px;place-items:center;width:82px}.app-auth .continue-main{min-width:0}.app-auth .continue-top-label{color:#607894;font-size:.9rem;font-weight:700;line-height:1.2;margin:0}.app-auth .continue-main h3{color:#1c3c61;font-size:1.82rem;font-weight:800;letter-spacing:0;line-height:1.15;margin:.26rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-auth .continue-subtitle{color:#4e6885;font-size:.98rem;font-weight:700;line-height:1.35;margin:.26rem 0 0}.app-auth .continue-progress-row{grid-gap:.9rem;align-items:center;display:grid;gap:.9rem;grid-template-columns:auto minmax(120px,1fr) auto;margin-top:.7rem}.app-auth .continue-progress-meta{align-items:center;display:inline-flex;gap:.55rem}.app-auth .continue-badge{align-items:center;background:#eaf6ea;border-radius:999px;color:#3ea055;display:inline-flex;font-size:.84rem;font-weight:800;min-height:30px;padding:.14rem .62rem}.app-auth .continue-progress-meta p{color:#5f7893;font-size:.88rem;font-weight:700;margin:0;white-space:nowrap}.app-auth .continue-progress-track{background:#e9f1fc;border-radius:999px;height:9px;min-width:0;overflow:hidden}.app-auth .continue-progress-track>span{background:linear-gradient(90deg,#64a4ff,#3f82eb);border-radius:inherit;display:block;height:100%}.app-auth .continue-progress-row strong{color:#2f73d6;font-size:2rem;font-weight:800;line-height:1;margin:0;white-space:nowrap}.app-auth .continue-action-btn{background:#fff;border:2px solid #9ebef5;border-radius:16px;color:#2f73d6;cursor:pointer;font-size:1.5rem;font-weight:800;letter-spacing:0;min-height:52px;padding:.5rem 1.1rem}.app-auth .continue-action-btn:hover{background:#f1f7ff}.app-auth .dashboard-continue-empty{align-items:center;background:#fff;border:1px dashed #c7daef;border-radius:16px;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.app-auth .dashboard-continue-empty p{color:#4f6681;font-weight:600;margin:0}.app-auth .dashboard-continue-empty button{background:#f5f9ff;border:1px solid #bdd2ec;border-radius:12px;color:#285c97;cursor:pointer;font-weight:800;min-height:42px;padding:.4rem .9rem}.app-auth .my-courses-section{grid-gap:1.1rem;display:grid;gap:1.1rem}.app-auth .my-courses-skeleton{grid-gap:1rem;display:grid;gap:1rem}.app-auth .my-course-card-grid-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .my-course-card-skeleton,.app-auth .my-course-chart-card-skeleton,.app-auth .my-course-focus-card-skeleton,.app-auth .my-course-overview-skeleton,.app-auth .my-kpi-card-skeleton{pointer-events:none}.app-auth .my-course-skeleton-button,.app-auth .my-course-skeleton-chart,.app-auth .my-course-skeleton-line,.app-auth .my-course-skeleton-media,.app-auth .my-course-skeleton-progress{background:#e7eef8;border-radius:10px;overflow:hidden;position:relative}.app-auth .my-course-skeleton-button:after,.app-auth .my-course-skeleton-chart:after,.app-auth .my-course-skeleton-line:after,.app-auth .my-course-skeleton-media:after,.app-auth .my-course-skeleton-progress:after{animation:my-course-skeleton-shimmer 1.35s ease-in-out infinite;background:linear-gradient(90deg,#e7eef800,#fffc,#e7eef800);content:"";inset:0;position:absolute;transform:translateX(-100%)}.app-auth .my-course-skeleton-line.heading{height:28px;width:min(420px,58%)}.app-auth .my-course-skeleton-line.title{height:22px;width:min(260px,75%)}.app-auth .my-course-skeleton-line.chip{border-radius:999px;height:28px;width:86px}.app-auth .my-course-skeleton-line.text-lg{height:28px;width:min(280px,72%)}.app-auth .my-course-skeleton-line.text-md{height:20px;width:min(210px,64%)}.app-auth .my-course-skeleton-line.text-sm{height:15px;width:min(190px,56%)}.app-auth .my-course-skeleton-line.value{height:34px;width:min(130px,46%)}.app-auth .my-course-skeleton-line.range-chip{border-radius:999px;height:34px;width:128px}.app-auth .my-course-skeleton-progress{border-radius:999px;height:8px;width:100%}.app-auth .my-course-skeleton-chart{border-radius:12px;height:265px;margin-top:.55rem;width:100%}.app-auth .my-course-skeleton-media{border-radius:12px;height:205px;width:100%}.app-auth .my-course-skeleton-button{border-radius:10px;height:42px;margin-top:auto;width:100%}@keyframes my-course-skeleton-shimmer{to{transform:translateX(100%)}}.app-auth .my-courses-header h2{color:#163761;font-size:2rem;line-height:1.15;margin:0}.app-auth .my-courses-header p{color:#5e7694;font-size:1rem;font-weight:500;margin:.3rem 0 0}.app-auth .my-course-card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.app-auth .my-course-card{grid-gap:.45rem;background:#fff;border:1px solid #d9e7f6;border-radius:16px;color:#1d3553;cursor:pointer;display:grid;gap:.45rem;padding:.9rem;text-align:left}.app-auth .my-course-card.active{border-color:#4d88e8;box-shadow:0 10px 24px #2f73d624}.app-auth .my-course-card-head{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.app-auth .my-course-card-head h3{font-size:1.04rem;line-height:1.35;margin:0}.app-auth .my-course-status{background:#e9f2ff;border-radius:999px;color:#2f73d6;font-size:.79rem;padding:.2rem .6rem;white-space:nowrap}.app-auth .my-course-card p{color:#294d77;font-weight:700;margin:0}.app-auth .my-course-card small{color:#627a95}.app-auth .my-course-progress-track{background:#e6edf6;border-radius:999px;height:8px;overflow:hidden}.app-auth .my-course-progress-track span{background:linear-gradient(90deg,#6ea4ff,#2f73d6);border-radius:inherit;display:block;height:100%}.app-auth .my-course-overview{grid-gap:1rem;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #dbe8f7;border-radius:20px;display:grid;gap:1rem;padding:clamp(1rem,1.4vw,1.35rem)}.app-auth .my-course-overview h3{color:#173b65;font-size:1.2rem;margin:0}.app-auth .my-course-kpi-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.app-auth .my-kpi-card{grid-gap:.3rem;background:#fff;border:1px solid #dfebf9;border-radius:14px;display:grid;gap:.3rem;padding:.8rem}.app-auth .my-kpi-card span{color:#5f7894;font-size:.9rem}.app-auth .my-kpi-card strong{color:#163761;font-size:1.75rem;line-height:1.05}.app-auth .my-course-bottom-grid{grid-gap:.8rem;align-items:stretch;display:grid;gap:.8rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.app-auth .my-course-chart-card,.app-auth .my-course-focus-card{background:#fff;border:1px solid #dfebf9;border-radius:14px;height:100%;padding:.9rem}.app-auth .my-course-chart-card{align-self:start;display:flex;flex-direction:column}.app-auth .my-course-chart-card h4,.app-auth .my-course-focus-card h4{color:#173b65;font-size:1rem;margin:0}.app-auth .my-course-chart-head{align-items:center;display:flex;gap:.8rem;justify-content:space-between}.app-auth .my-course-chart-range{background:#fff;border:1px solid #d7e4f4;border-radius:999px;color:#4c6482;font-size:.86rem;font-weight:700;min-height:34px;padding:.35rem .82rem}.app-auth .my-course-chart{aspect-ratio:760/260;margin-top:.55rem;width:100%}.app-auth .my-course-chart-empty{background:#f7fbff;border:1px dashed #cfdced;border-radius:14px;color:#58728e;display:grid;font-size:.98rem;font-weight:700;min-height:230px;padding:.9rem;place-items:center;text-align:center}.app-auth .my-course-chart-svg{display:block;height:100%;width:100%}.app-auth .my-course-chart-grid{stroke:#e4ecf8;stroke-width:1;stroke-dasharray:4 4}.app-auth .my-course-chart-y-label{fill:#7085a1;text-anchor:end;font-size:12px}.app-auth .my-course-chart-line{fill:none;stroke:#4d88e8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.app-auth .my-course-chart-point{fill:#4d88e8;stroke:#fff;stroke-width:2}.app-auth .my-course-chart-value{fill:#173b65;text-anchor:middle;font-size:12px;font-weight:700}.app-auth .my-course-chart-x-label{fill:#6b809c;text-anchor:middle;font-size:11px}.app-auth .my-course-focus-card{grid-gap:.78rem;align-content:start;display:grid;gap:.78rem}.app-auth .my-course-focus-course-card{background:#fff;border:1px solid #d8e5f1;border-radius:20px;box-shadow:0 10px 24px #1d395914;display:flex;flex-direction:column;gap:.72rem;min-height:100%;padding:.92rem}.app-auth .my-course-focus-cover{height:150px}.app-auth .my-course-focus-cover.placeholder{background:linear-gradient(135deg,#edf4ff,#f9fbff)}.app-auth .my-course-focus-favorite{align-items:center;background:#fffffff0;border:2px solid #dbe8ff;border-radius:999px;box-shadow:0 8px 18px #1f37571a;color:#6c85ad;display:inline-flex;height:34px;justify-content:center;position:absolute;right:10px;top:10px;width:34px}.app-auth .my-course-focus-header h3{margin:0 0 .25rem}.app-auth .my-course-focus-header .course-card-desc{-webkit-line-clamp:2;line-height:1.43;min-height:2.86em}.app-auth .my-course-focus-stats{margin-top:.04rem}.app-auth .my-course-focus-metrics{display:flex;flex-wrap:wrap;gap:.45rem}.app-auth .my-course-focus-metrics span{align-items:center;background:#f4f8ff;border:1px solid #dce8f6;border-radius:999px;color:#2f4f75;display:inline-flex;font-size:.84rem;font-weight:700;max-width:100%;min-height:30px;padding:.2rem .66rem;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.app-auth .my-course-focus-note{color:#5a7390;display:block;font-size:.86rem;font-weight:600;line-height:1.4;margin:0}.app-auth .my-course-focus-teacher{margin-top:auto}.app-auth .my-course-focus-card button,.app-auth .my-courses-empty button{background:linear-gradient(90deg,#ff924d,#ff6f3d);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;min-height:42px;padding:.45rem .85rem}.app-auth .my-courses-empty{grid-gap:.5rem;background:#f7fbff;border:1px dashed #cadcf0;border-radius:16px;color:#345274;display:grid;gap:.5rem;justify-items:start;padding:1rem}.app-auth .my-courses-empty h3,.app-auth .my-courses-empty p{margin:0}.app-auth .student-settings-page{grid-gap:1.55rem;display:grid;gap:1.55rem;padding:1.65rem 0 0}.app-auth .student-settings-header h1{color:#102f55;font-size:2rem;font-weight:800;letter-spacing:0;line-height:1.2;margin:0}.app-auth .student-settings-header p{color:#627895;font-size:1.05rem;font-weight:600;margin:.6rem 0 0}.app-auth .student-settings-layout{grid-gap:clamp(1.25rem,1.8vw,1.75rem);align-items:stretch;display:grid;gap:clamp(1.25rem,1.8vw,1.75rem);grid-template-columns:294px minmax(0,1fr)}.app-auth .settings-account-card,.app-auth .settings-side-panel{background:#fff;border:1px solid #dfe8f4;border-radius:16px;box-shadow:0 12px 28px #26466c12}.app-auth .settings-side-panel{display:flex;flex-direction:column;gap:1rem;justify-content:space-between;min-height:710px;padding:1rem}.app-auth .settings-section-nav{grid-gap:.62rem;display:grid;gap:.62rem}.app-auth .settings-section-button{align-items:center;background:#0000;border:0;border-radius:12px;color:#526984;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:.9rem;min-height:58px;padding:.65rem .9rem;text-align:left}.app-auth .settings-section-button svg{color:#5c7492;flex:0 0 auto}.app-auth .settings-section-button:hover{background:#f5f8ff;color:#285c97}.app-auth .settings-section-button.active{background:#edf4ff;color:#2f73d6}.app-auth .settings-section-button.active svg{color:#2f73d6}.app-auth .settings-premium-card{grid-gap:.58rem;border:1px solid #dfe8f4;border-radius:14px;color:#183a61;display:grid;gap:.58rem;justify-items:center;padding:1.1rem .95rem;text-align:center}.app-auth .settings-premium-card svg{fill:#5a8df51f;color:#5a8df5}.app-auth .settings-premium-card strong{color:#173b62;font-size:1rem;font-weight:800}.app-auth .settings-premium-card p{color:#5e7390;font-size:.9rem;line-height:1.55;margin:0}.app-auth .settings-premium-card button{background:#fff;border:1px solid #bcd4f5;border-radius:12px;color:#2f73d6;font-weight:800;min-height:42px;width:100%}.app-auth .ai-recommend-panel{grid-gap:.78rem;display:grid;gap:.78rem;max-width:100%;min-width:0;overflow-x:clip;padding-top:.6rem;width:100%}.app-auth .ai-recommend-empty-state,.app-auth .subject-overview-no-courses{gap:1.1rem}.app-auth .ai-recommend-empty-state{padding-top:0}.app-auth .ai-recommend-header{align-items:center;background:#fff;border:1px solid #dce7f5;border-radius:20px;box-shadow:0 8px 24px #1e3b5b0f;display:flex;gap:1.2rem;justify-content:space-between;padding:.82rem 1.25rem}.app-auth .ai-recommend-title-block{grid-gap:.28rem;display:grid;gap:.28rem;min-width:0}.app-auth .ai-recommend-kicker{align-items:center;background:#f1f6ff;border:1px solid #d8e6ff;border-radius:999px;color:#2f73d6;display:inline-flex;font-size:.92rem;font-weight:800;gap:.36rem;margin:0;min-height:30px;padding:.28rem .64rem;width:-webkit-fit-content;width:fit-content}.app-auth .ai-recommend-header h2{color:#173a62;font-size:clamp(1.55rem,2.2vw,2.35rem);line-height:1.06;margin:0}.app-auth .ai-recommend-subtitle{color:#617999;font-size:.95rem;line-height:1.38;margin:0}.app-auth .ai-recommend-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.app-auth .ai-recommend-course-select{grid-gap:.25rem;display:grid;gap:.25rem}.app-auth .ai-recommend-course-select span{color:#5f7792;font-size:.76rem;font-weight:700}.app-auth .ai-recommend-course-select select{background:#fbfdff;border:1px solid #ccdbef;border-radius:12px;color:#173a62;font-size:.94rem;font-weight:700;min-height:42px;min-width:300px;padding:.42rem .76rem}.app-auth .ai-recommend-updated{align-items:center;background:#fbfdff;border:1px solid #dbe8f6;border-radius:999px;color:#536d89;display:inline-flex;font-size:.9rem;font-weight:700;gap:.42rem;min-height:42px;padding:.42rem .82rem}.app-auth .ai-recommend-top-grid{grid-gap:.82rem;align-items:stretch;display:grid;gap:.82rem;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.app-auth .ai-advice-card,.app-auth .ai-hero-card{height:380px;min-height:380px}.app-auth .ai-card{background:#fff;border:1px solid #dbe7f6;border-radius:18px;box-shadow:0 8px 22px #1e3b5b12;padding:.86rem .95rem}.app-auth .ai-card h4{color:#163a61;font-size:1rem;margin:0}.app-auth .ai-card-kicker{align-items:center;color:#5a7390;display:inline-flex;font-size:.86rem;font-weight:800;gap:.34rem;margin:0}.app-auth .ai-hero-card{background:radial-gradient(circle at 82% 10%,#5389ff8f 0,#5389ff00 33%),linear-gradient(114deg,#1f4ab1,#2962d3 55%,#2f72de);border-color:#4774d9a6;overflow:hidden;padding:1.35rem 1.4rem;position:relative}.app-auth .ai-hero-card:before{background-image:radial-gradient(circle at 12% 22%,#ffffff29 0 3px,#0000 3px),radial-gradient(circle at 31% 72%,#ffffff1f 0 5px,#0000 5px),radial-gradient(circle at 53% 35%,#ffffff1a 0 4px,#0000 4px),radial-gradient(circle at 72% 66%,#ffffff14 0 6px,#0000 6px);content:"";inset:0;pointer-events:none;position:absolute}.app-auth .ai-hero-card h3{color:#fff;font-size:1.9rem;letter-spacing:0;line-height:1.12;margin:.42rem 0 0;max-width:560px}.app-auth .ai-hero-layout{grid-gap:clamp(.9rem,2vw,1.5rem);align-items:center;display:grid;gap:clamp(.9rem,2vw,1.5rem);grid-template-columns:minmax(0,1fr) minmax(250px,36%);height:100%;min-height:0;position:relative;z-index:1}.app-auth .ai-hero-copy{align-self:center;min-width:0}.app-auth .ai-hero-kicker{background:#d0e0ff2b;border:1px solid #e7f0ff73;border-radius:999px;color:#e9f1ff;font-size:.92rem;min-height:32px;padding:.28rem .72rem}.app-auth .ai-hero-media{align-items:center;display:flex;justify-content:flex-end;min-width:0}.app-auth .ai-hero-media img{max-height:250px;max-width:118%;object-fit:contain;object-position:right center;width:clamp(285px,24vw,390px)}.app-auth .ai-hero-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#f0f5ff;display:-webkit-box;font-size:1rem;line-height:1.48;margin:.56rem 0 0;max-width:660px;overflow:hidden}.app-auth .ai-hero-alert{align-items:center;background:#fff3e8;border:1px solid #ffd9c0;border-radius:13px;color:#b65a22;display:inline-flex;font-size:.9rem;font-weight:800;gap:.42rem;margin-top:.74rem;min-height:36px;padding:.36rem .72rem}.app-auth .ai-hero-actions{display:flex;flex-wrap:wrap;gap:.62rem;margin-top:.64rem}.app-auth .ai-ghost-btn,.app-auth .ai-primary-btn{align-items:center;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:800;gap:.45rem;min-height:38px;padding:.38rem .86rem}.app-auth .ai-primary-btn{background:#fff;border:1px solid #d3e2ff;color:#2f61be}.app-auth .ai-primary-btn:hover{filter:brightness(.98)}.app-auth .ai-ghost-btn{background:#2451ae33;border:1px solid #d4e1ff9e;color:#e6efff}.app-auth .ai-ghost-btn:hover{background:#2451ae47}.app-auth .ai-progress-head{align-items:flex-start;display:flex;gap:.65rem;justify-content:space-between}.app-auth .ai-progress-head p{color:#5f7691;font-weight:700;margin:0}.app-auth .ai-progress-head strong{color:#163a61;display:inline-block;font-size:1.85rem;line-height:1;margin-top:.25rem}.app-auth .ai-progress-delta{align-items:center;background:#edf4ff;border-radius:999px;color:#2f73d6;display:inline-flex;font-size:.85rem;font-weight:700;gap:.32rem;margin-top:.2rem;min-height:30px;padding:.28rem .62rem}.app-auth .ai-progress-delta.down{background:#fff2e9;color:#d15f1f}.app-auth .ai-advice-card{grid-gap:.8rem;align-content:stretch;background:linear-gradient(145deg,#fff,#fbfdff 54%,#fffaf0);border-color:#7997d94d;border-radius:18px;box-shadow:0 18px 42px #36508c21;display:grid;gap:.8rem;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:1.02rem 1.08rem .78rem;position:relative}.app-auth .ai-advice-card:before{background:radial-gradient(circle at 13% 0,#fbd68938,#0000 30%),radial-gradient(circle at 92% 0,#60a5fa21,#0000 34%);content:"";inset:0;pointer-events:none;position:absolute}.app-auth .ai-advice-card>*{position:relative;z-index:1}.app-auth .ai-advice-head{gap:1rem}.app-auth .ai-advice-head,.app-auth .ai-advice-title-wrap{align-items:center;display:flex;justify-content:space-between}.app-auth .ai-advice-title-wrap{gap:.72rem;width:100%}.app-auth .ai-advice-title-copy{grid-gap:.12rem;display:grid;flex:1 1 auto;gap:.12rem;min-width:0}.app-auth .ai-advice-head h4{color:#132f5d;font-size:1.18rem;font-weight:900;line-height:1.18;margin:0;min-width:0;overflow-wrap:anywhere}.app-auth .ai-advice-title-copy p{color:#8090aa;font-size:.86rem;font-weight:800;line-height:1.3;margin:0}.app-auth .ai-advice-title-emoji{background:#fff;border-radius:999px;box-shadow:0 12px 28px #3d599e24;color:#f0b82c;display:inline-grid;flex:0 0 auto;font-size:1.35rem;height:2.55rem;place-items:center;width:2.55rem}.app-auth .ai-advice-status{align-items:center;background:#fffaf0;border:1px solid #eebd5961;border-radius:999px;box-shadow:0 10px 24px #9e742614;color:#a86c16;display:inline-flex;font-size:.84rem;font-weight:900;gap:.48rem;justify-content:center;min-height:38px;padding:.34rem .72rem;white-space:nowrap}.app-auth .ai-advice-status svg{color:#f1b52d}.app-auth .ai-advice-status.llm{background:#fffaf0;border-color:#eebd5961;color:#a86c16}.app-auth .ai-advice-status.fallback{background:#fff8e5e6;border-color:#f5b44e57;color:#9a5a13}.app-auth .ai-advice-summary{align-items:center;background:#ffffffb8;border:1px solid #879edb3d;border-radius:999px;color:#345b84;display:inline-flex;font-size:.94rem;font-weight:900;gap:.34rem;line-height:1.28;margin:0;padding:.28rem .62rem;width:-webkit-fit-content;width:fit-content}.app-auth .ai-advice-metrics{display:flex;flex-wrap:wrap;gap:.52rem}.app-auth .ai-advice-metric{align-items:center;background:#fff;border:1px solid #dbe7f5;border-radius:12px;display:inline-flex;gap:.44rem;padding:.35rem .55rem}.app-auth .ai-advice-metric span{color:#547095;font-size:.78rem;font-weight:700}.app-auth .ai-advice-metric strong{color:#123a67;font-size:.88rem;line-height:1}.app-auth .ai-advice-highlight{grid-gap:.56rem;align-items:center;background:#f4f8ff;border:1px solid #d8e4f4;border-radius:16px;display:grid;gap:.56rem;grid-template-columns:auto minmax(0,1fr);margin-top:auto;padding:.72rem .82rem}.app-auth .ai-advice-highlight svg{color:#2f61be}.app-auth .ai-advice-highlight p{color:#264f85;font-size:1.03rem;font-weight:700;line-height:1.56;margin:0}.app-auth .ai-advice-slider{grid-gap:.36rem;display:grid;gap:.36rem;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0}.app-auth .ai-advice-slider-body{display:block;height:100%;min-height:0;overflow:visible}.app-auth .ai-advice-slider-body .ai-advice-action-list{height:100%}.app-auth .ai-advice-nav-btn{align-items:center;background:#fff;border:1px solid #d8e4f8;border-radius:999px;box-shadow:0 7px 18px #3d5ba61f;color:#2b55b8;cursor:pointer;display:inline-flex;height:2.28rem;justify-content:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;width:2.28rem}.app-auth .ai-advice-nav-btn:hover:not(:disabled){background:#fff;border-color:#5276dc6b;transform:translateY(-1px)}.app-auth .ai-advice-nav-btn:disabled{background:#f6f9fe;border-color:#deebf8;color:#9ab1cd;cursor:default}.app-auth .ai-advice-slider-controls{grid-gap:.55rem;align-items:center;background:#ffffffb8;border-top:1px solid #dae5f7d9;box-shadow:0 -8px 24px #38578e0a;display:grid;gap:.55rem;grid-template-columns:2.28rem minmax(0,1fr) 2.28rem;margin:0 -1.08rem -.78rem;padding:.42rem 1.08rem .5rem}.app-auth .ai-advice-slider-controls.single{grid-template-columns:minmax(0,1fr)}.app-auth .ai-advice-slider-controls .ai-advice-nav-btn:first-child{justify-self:start}.app-auth .ai-advice-slider-controls .ai-advice-nav-btn:last-child{justify-self:end}.app-auth .ai-advice-slider-meta{align-items:center;display:flex;gap:.52rem;justify-content:center}.app-auth .ai-advice-slider-index{color:#33476c;font-size:.86rem;font-weight:900}.app-auth .ai-advice-dots{align-items:center;display:inline-flex;gap:.28rem}.app-auth .ai-advice-dots span{background:#cbd8ee;border-radius:999px;height:8px;width:8px}.app-auth .ai-advice-dots span.active{background:#5d82e8;width:22px}.app-auth .ai-advice-action-list{grid-gap:0;display:grid;gap:0;height:100%;min-height:0}.app-auth .ai-advice-action-item{background:#0000;border:0;border-radius:0;box-shadow:none;display:none;grid-area:1/1;height:auto;min-height:0;overflow:visible;padding:0;pointer-events:none;visibility:hidden}.app-auth .ai-advice-action-item.active{display:block;pointer-events:auto;visibility:visible}.app-auth .ai-advice-action-order{align-items:center;background:#f9f2df;border-radius:999px;box-shadow:inset 0 0 0 1px #c4d1e859;color:#24579f;display:inline-flex;font-size:1.24rem;font-weight:800;height:3.05rem;justify-content:center;margin-top:0;width:3.05rem}.app-auth .ai-advice-action-copy{grid-gap:.58rem;align-content:start;display:grid;gap:.58rem;min-height:0;min-width:0;overflow:visible}.app-auth .ai-advice-action-head{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:auto minmax(0,1fr);min-width:0}.app-auth .ai-advice-action-title{grid-gap:.2rem;display:grid;gap:.2rem;min-width:0}.app-auth .ai-advice-layer-label{background:#eef4ff;border-radius:999px;color:#4269b4;font-size:.76rem;font-weight:900;letter-spacing:0;min-height:22px;padding:.16rem .48rem;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.app-auth .ai-advice-action-copy strong{color:#193d70;display:block;font-size:1rem;line-height:1.28;margin:0;overflow-wrap:anywhere}.app-auth .ai-advice-layer{grid-gap:.68rem;align-items:center;border-radius:14px;display:grid;gap:.68rem;grid-template-columns:auto minmax(0,1fr);padding:.64rem .76rem}.app-auth .ai-advice-layer-head{align-items:center;display:flex;margin-bottom:.16rem;min-width:0}.app-auth .ai-advice-layer-head span{align-items:center;background:#eaf1ff;border-radius:999px;color:#1d5cc7;display:inline-flex;font-size:.74rem;font-weight:900;line-height:1.15;min-height:22px;padding:.1rem .45rem;width:-webkit-fit-content;width:fit-content}.app-auth .ai-advice-layer-copy{min-width:0}.app-auth .ai-advice-layer-copy strong{color:#143570;display:block;font-size:1rem;font-weight:900;line-height:1.22;margin:0;overflow-wrap:anywhere}.app-auth .ai-advice-layer-evidence{background:#ffffffd1;border:1px solid #99b0dd57}.app-auth .ai-advice-layer-action{background:#f1fffad1;border:1px solid #80ccad4d}.app-auth .ai-advice-layer-action .ai-advice-action-order{background:#effcf7;box-shadow:inset 0 0 0 1px #7ecdae59}.app-auth .ai-advice-layer-action .ai-advice-layer-head span{background:#dff8ec;color:#2a9a63}.app-auth .ai-advice-layer-action .ai-advice-layer-copy strong{color:#1d6049}.app-auth .ai-advice-action-evidence{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#50617f;display:-webkit-box;font-size:.84rem;font-weight:800;line-height:1.38;margin:.22rem 0 0;overflow:hidden;overflow-wrap:anywhere}.app-auth .ai-advice-action-text{color:#1d5c4e;display:block;font-size:.93rem;font-weight:820;line-height:1.5;margin:0;overflow-wrap:anywhere}.app-auth .ai-advice-action-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#607895;display:-webkit-box;font-size:.8rem;font-weight:800;line-height:1.35;margin:.22rem 0 0;overflow:hidden;overflow-wrap:anywhere}.app-auth .ai-progress-chart{height:170px;width:100%}.app-auth .ai-progress-grid{stroke:#e5eef9;stroke-width:1;stroke-dasharray:3 4}.app-auth .ai-progress-axis,.app-auth .ai-progress-label{fill:#6b809b;font-size:10px}.app-auth .ai-progress-axis{text-anchor:end}.app-auth .ai-progress-axis-line{stroke:#d2e0f1;stroke-width:1}.app-auth .ai-progress-line{fill:none;stroke:#2f73d6;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.app-auth .ai-progress-dot{fill:#2f73d6;stroke:#fff;stroke-width:1.6}.app-auth .ai-recommend-weak-grid{grid-gap:.82rem;align-items:stretch;display:grid;gap:.82rem;grid-template-columns:repeat(12,minmax(0,1fr))}.app-auth .ai-difficulty-card,.app-auth .ai-mistake-card,.app-auth .ai-topic-card{grid-column:span 4;min-height:0}.app-auth .ai-recommend-weak-grid .ai-card{border-radius:12px;box-shadow:0 6px 16px rgba(30,59,91,.055);display:flex;flex-direction:column;padding:.82rem .88rem}.app-auth .ai-block-head{align-items:flex-start;display:flex;gap:.58rem;justify-content:space-between}.app-auth .ai-block-head h4{align-items:flex-start;color:#1f3f66;display:inline-flex;font-size:clamp(1rem,1.02vw,1.16rem);gap:.38rem;line-height:1.18;margin:0;max-width:100%;min-width:0}.app-auth .ai-block-head h4 svg{color:#9cb3d8;flex:0 0 auto;height:1.12em;margin-top:.08em;width:1.12em}.app-auth .ai-block-head h4 span{min-width:0;overflow-wrap:anywhere}.app-auth .ai-difficulty-list{display:flex;flex:1 1;flex-direction:column;gap:.82rem;justify-content:center;margin-top:.82rem;min-height:154px}.app-auth .ai-difficulty-item{grid-gap:.38rem;color:#345476;display:grid;font-weight:700;gap:.38rem;grid-template-columns:1fr;min-height:48px;padding:0}.app-auth .ai-difficulty-label-row{grid-gap:.42rem;align-items:center;display:grid;gap:.42rem;grid-template-columns:auto minmax(0,1fr) auto}.app-auth .ai-difficulty-label-row:before{border-radius:999px;content:"";height:9px;width:9px}.app-auth .ai-difficulty-item.easy .ai-difficulty-label-row:before{background:#65c890}.app-auth .ai-difficulty-item.medium .ai-difficulty-label-row:before{background:#f3c45d}.app-auth .ai-difficulty-item.hard .ai-difficulty-label-row:before{background:#f17d78}.app-auth .ai-difficulty-item.focus .ai-difficulty-label-row:before{background:#5c8fe8}.app-auth .ai-difficulty-item span{color:#21446b;font-size:.88rem;line-height:1.25}.app-auth .ai-difficulty-item strong{color:#254a72;font-size:.88rem}.app-auth .ai-difficulty-track{background:#edf3fa;border-radius:999px;box-shadow:inset 0 1px 2px #1f3f6614;height:13px;overflow:hidden}.app-auth .ai-difficulty-track i{border-radius:inherit;box-shadow:inset 0 -1px 0 #ffffff47;display:block;height:100%}.app-auth .ai-difficulty-item.easy .ai-difficulty-track i{background:#8dcfbe}.app-auth .ai-difficulty-item.medium .ai-difficulty-track i{background:#efcf88}.app-auth .ai-difficulty-item.hard .ai-difficulty-track i{background:#efaca9}.app-auth .ai-difficulty-item.focus .ai-difficulty-track i{background:#8fb3ee}.app-auth .ai-list{grid-gap:.5rem;display:grid;gap:.5rem;list-style:none;margin:.66rem 0 0;padding:0}.app-auth .ai-list li{grid-gap:.62rem;align-items:center;background:#fbfdff;border:1px solid #e1eaf8;border-radius:10px;display:grid;gap:.62rem;grid-template-columns:minmax(0,1fr) auto;min-height:48px;padding:.52rem .64rem}.app-auth .ai-mistake-card .ai-list li{background:#fbfdff;border-color:#d8e5f6;box-shadow:none;min-height:62px}.app-auth .ai-mistake-card .ai-list li.ai-review-focus-item{align-items:center;grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:.48rem .6rem}.app-auth .ai-review-action-btn,.app-auth .ai-review-focus-item .ai-count-pill{align-self:start;margin-top:.08rem}.app-auth .ai-review-action-btn{background:#eef5ff;border:1px solid #9fc0f2;border-radius:999px;box-shadow:0 5px 12px #2f73d61f;color:#245bb5;cursor:pointer;font-size:.76rem;font-weight:900;line-height:1.1;padding:.22rem .58rem;white-space:nowrap}.app-auth .ai-review-action-btn:hover{background:#e2efff;border-color:#6f9de4;color:#174c98}.app-auth .ai-review-action-btn-main{align-self:flex-start;flex:0 0 auto;margin-top:0}.app-auth .ai-topic-card .ai-list li{background:#fcfdff;border-color:#edf3fb;grid-template-columns:auto minmax(0,1fr) auto;min-height:44px}.app-auth .ai-topic-chart-wrap{grid-gap:.6rem;align-items:center;display:grid;gap:.6rem;grid-template-columns:minmax(104px,.46fr) minmax(0,1fr);margin-top:.68rem}.app-auth .ai-topic-pie{align-content:center;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #34578014,0 9px 20px #24476e17;color:#24476e;display:grid;justify-self:center;place-items:center;position:relative;width:min(124px,100%)}.app-auth .ai-topic-pie:after{background:#fff;border-radius:50%;box-shadow:0 0 0 1px #d7e3f4e6;content:"";inset:28%;position:absolute}.app-auth .ai-topic-pie small,.app-auth .ai-topic-pie span,.app-auth .ai-topic-pie strong{position:relative;z-index:1}.app-auth .ai-topic-pie small,.app-auth .ai-topic-pie span{color:#66809e;font-size:.72rem;font-weight:800;line-height:1}.app-auth .ai-topic-pie strong{color:#1f3f66;font-size:1.28rem;font-weight:900;line-height:1;margin-top:.14rem}.app-auth .ai-topic-chart-list{grid-gap:.4rem;display:grid;gap:.4rem;list-style:none;margin:0;padding:0;width:100%}.app-auth .ai-topic-chart-list li{grid-gap:.48rem;align-items:center;background:#fcfdff;border:1px solid #edf3fb;border-radius:10px;display:grid;gap:.48rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:42px;padding:.42rem .52rem}.app-auth .ai-topic-chart-list i{border-radius:999px;height:10px;width:10px}.app-auth .ai-topic-chart-list strong{background:#f4f8fd;border:1px solid #d8e5f5;border-radius:999px;color:#31567d;font-size:.78rem;font-weight:900;line-height:1;padding:.18rem .42rem;white-space:nowrap}.app-auth .ai-list-main{grid-gap:.18rem;display:grid;gap:.18rem;min-width:0}.app-auth .ai-list li span{color:#294f79;font-size:.9rem;font-weight:800;line-height:1.28;overflow-wrap:anywhere}.app-auth .ai-list li small{color:#5f7894;font-size:.8rem;font-weight:700;line-height:1.24;overflow-wrap:anywhere}.app-auth .ai-review-focus-item .ai-list-main{gap:.1rem}.app-auth .ai-review-focus-item .ai-review-detail{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#345b87;display:-webkit-box;overflow:hidden}.app-auth .ai-review-focus-item .ai-review-reason{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#6d829b;display:-webkit-box;overflow:hidden}.app-auth .ai-count-pill{background:#f4f8fd;border:1px solid #d8e5f5;border-radius:999px;color:#31567d;font-size:.78rem;font-weight:800;line-height:1.1;padding:.2rem .48rem;white-space:nowrap}.app-auth .ai-topic-rank{background:#eef5ff;border-radius:999px;color:#2f67b8;display:inline-grid;font-size:.78rem;font-weight:900;height:24px;place-items:center;width:24px}.app-auth .ai-muted{color:#6a809a;margin:.72rem 0 0}.app-auth .ai-section-head h3{align-items:center;color:#1f3d69;display:inline-flex;font-size:1.58rem;gap:.56rem;line-height:1.08;margin:0}.app-auth .ai-section-head h3 svg{color:#3f77ec}.app-auth .ai-plan-grid{grid-gap:.72rem;display:grid;gap:.72rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.72rem}.app-auth .ai-plan-card{grid-gap:.68rem;align-content:start;display:grid;gap:.68rem}.app-auth .ai-plan-card.locked{background:#f8fbff}.app-auth .ai-plan-head{align-items:center;display:flex;gap:.4rem;justify-content:space-between}.app-auth .ai-plan-head h4{color:#173a62;margin:0}.app-auth .ai-plan-head svg{color:#2f73d6}.app-auth .ai-plan-card.locked .ai-plan-head svg{color:#7589a2}.app-auth .ai-plan-tasks{grid-gap:.45rem;color:#4e6987;display:grid;font-size:.9rem;gap:.45rem;margin:0;padding-left:1rem}.app-auth .ai-exercise-grid{grid-gap:.82rem;display:grid;gap:.82rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.56rem}.app-auth .ai-exercise-card{grid-gap:.28rem .72rem;align-content:start;display:grid;gap:.28rem .72rem;grid-template-columns:auto minmax(0,1fr);padding:.86rem .98rem}.app-auth .ai-exercise-card h4{align-self:end;color:#1b3f6f;font-size:1.2rem;line-height:1.1;margin:0}.app-auth .ai-exercise-card p{color:#6a819d;font-size:.9rem;line-height:1.25;margin:0}.app-auth .ai-exercise-card strong{align-items:baseline;color:#163e70;display:inline-flex;font-size:1.56rem;gap:.28rem;line-height:1;min-height:30px}.app-auth .ai-exercise-card strong small{color:#5c7794;font-size:.82rem;font-weight:700}.app-auth .ai-exercise-btn{background:#fff;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:800;gap:.34rem;margin-top:.34rem;min-height:34px}.app-auth .ai-exercise-btn,.app-auth .ai-exercise-icon{align-items:center;display:inline-flex;justify-content:center}.app-auth .ai-exercise-icon{align-self:start;border-radius:50%;grid-row:span 3;height:54px;width:54px}.app-auth .ai-exercise-card .ai-exercise-btn{grid-column:1/-1}.app-auth .ai-exercise-card.easy{border-color:#bfe3cf}.app-auth .ai-exercise-card.easy .ai-exercise-icon{background:#eaf8f0;color:#4aa96c}.app-auth .ai-exercise-btn.easy{border:1px solid #93d3af;color:#3f9561}.app-auth .ai-exercise-card.medium{border-color:#efd9b0}.app-auth .ai-exercise-card.medium .ai-exercise-icon{background:#fff6e7;color:#df9d25}.app-auth .ai-exercise-btn.medium{border:1px solid #e8be76;color:#cd8a15}.app-auth .ai-exercise-card.hard{border-color:#e2d1f6}.app-auth .ai-exercise-card.hard .ai-exercise-icon{background:#f4ecff;color:#8f62dd}.app-auth .ai-exercise-btn.hard{border:1px solid #be9ced;color:#8d60d8}.app-auth .ai-error-note,.app-auth .ai-loading-note{align-items:center;border-radius:12px;display:inline-flex;font-weight:700;gap:.4rem;min-height:40px;padding:.5rem .72rem;width:-webkit-fit-content;width:fit-content}.app-auth .ai-loading-note{background:#f4f9ff;border:1px solid #d7e5f7;color:#2f73d6}.app-auth .ai-error-note{background:#fff5f2;border:1px solid #f4d7cf;color:#b35622}.app-auth .ai-summary-notes{grid-gap:.38rem;background:#f8fbff;border:1px solid #d9e6f5;border-radius:14px;display:grid;gap:.38rem;padding:.74rem .82rem}.app-auth .ai-summary-notes p{align-items:flex-start;color:#355677;display:flex;gap:.45rem;margin:0}.app-auth .ai-summary-notes p span{color:#2f73d6;font-weight:800}.app-auth .ai-recommend-empty{grid-gap:.5rem;background:#fff;border:1px dashed #cdddf1;border-radius:16px;display:grid;gap:.5rem;padding:1.05rem}.app-auth .ai-recommend-empty h2,.app-auth .ai-recommend-empty h3{color:#173a62;margin:0}.app-auth .ai-recommend-empty p{color:#5f7894;margin:0}.app-auth .ai-recommend-empty button{background:#fff;border:1px solid #cbdcf2;border-radius:11px;color:#275f9e;cursor:pointer;font-weight:800;justify-self:start;min-height:40px;padding:.45rem .9rem}.app-auth .ai-recommend-loading{animation:subject-overview-loading-fade .24s ease-out}.app-auth .ai-recommend-loading-header{align-items:flex-start}.app-auth .ai-recommend-loading-copy{grid-gap:.5rem;align-content:start;display:grid;flex:1 1;gap:.5rem;min-width:0}.app-auth .ai-recommend-loading-controls{grid-gap:.5rem;display:grid;gap:.5rem;justify-items:end;min-width:260px}.app-auth .ai-recommend-loading-card{overflow:hidden}.app-auth .ai-recommend-loading-hero,.app-auth .ai-recommend-loading-stack{grid-gap:.5rem;align-content:start;display:grid;gap:.5rem}.app-auth .ai-recommend-loading-hero{min-height:210px;padding-right:min(38%,360px);position:relative}.app-auth .ai-recommend-hero-image-skeleton{border-radius:18px;height:150px;position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:min(34%,340px)}.app-auth .ai-recommend-loading-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.18rem}.app-auth .ai-recommend-skeleton{background:#e7edf6;border-radius:12px;display:block;overflow:hidden;position:relative;width:100%}.app-auth .ai-recommend-skeleton.line{border-radius:999px;height:12px}.app-auth .ai-recommend-skeleton.block{border-radius:12px}.app-auth .ai-recommend-skeleton.chip{border-radius:999px}.app-auth .ai-recommend-skeleton.button{border-radius:10px}.app-auth .ai-recommend-skeleton:after{animation:subject-overview-skeleton-shimmer 1.25s ease-in-out infinite;background:linear-gradient(90deg,#e7edf600,#ffffffc2 50%,#e7edf600);content:"";inset:0;position:absolute;transform:translateX(-100%)}.app-auth .ai-recommend-skeleton.h-12{height:12px}.app-auth .ai-recommend-skeleton.h-14{height:14px}.app-auth .ai-recommend-skeleton.h-20{height:20px}.app-auth .ai-recommend-skeleton.h-22{height:22px}.app-auth .ai-recommend-skeleton.h-24{height:24px}.app-auth .ai-recommend-skeleton.h-28{height:28px}.app-auth .ai-recommend-skeleton.h-30{height:30px}.app-auth .ai-recommend-skeleton.h-36{height:36px}.app-auth .ai-recommend-skeleton.h-38{height:38px}.app-auth .ai-recommend-skeleton.h-40{height:40px}.app-auth .ai-recommend-skeleton.h-42{height:42px}.app-auth .ai-recommend-skeleton.w-18{width:18%}.app-auth .ai-recommend-skeleton.w-22{width:22%}.app-auth .ai-recommend-skeleton.w-24{width:24%}.app-auth .ai-recommend-skeleton.w-28{width:28%}.app-auth .ai-recommend-skeleton.w-30{width:30%}.app-auth .ai-recommend-skeleton.w-34{width:34%}.app-auth .ai-recommend-skeleton.w-38{width:38%}.app-auth .ai-recommend-skeleton.w-44{width:44%}.app-auth .ai-recommend-skeleton.w-46{width:46%}.app-auth .ai-recommend-skeleton.w-52{width:52%}.app-auth .ai-recommend-skeleton.w-58{width:58%}.app-auth .ai-recommend-skeleton.w-62{width:62%}.app-auth .ai-recommend-skeleton.w-68{width:68%}.app-auth .ai-recommend-skeleton.w-70{width:70%}.app-auth .ai-recommend-skeleton.w-72{width:72%}.app-auth .ai-recommend-skeleton.w-74{width:74%}.app-auth .ai-recommend-skeleton.w-78{width:78%}.app-auth .ai-recommend-skeleton.w-84{width:84%}.app-auth .ai-recommend-skeleton.w-86{width:86%}.app-auth .ai-recommend-skeleton.w-190{width:min(190px,100%)}.app-auth .ai-recommend-skeleton.w-260{width:min(260px,100%)}@media (max-width:1100px){.app-auth .ai-recommend-top-grid{grid-template-columns:1fr}.app-auth .ai-advice-card,.app-auth .ai-hero-card{height:auto;min-height:0}.app-auth .ai-recommend-header h2{font-size:clamp(1.8rem,4vw,2.45rem)}.app-auth .ai-recommend-subtitle{font-size:.95rem}.app-auth .ai-hero-layout{grid-template-columns:minmax(0,1fr) minmax(245px,34%);height:auto;min-height:260px}.app-auth .ai-recommend-loading-hero{padding-bottom:145px;padding-right:0}.app-auth .ai-recommend-hero-image-skeleton{bottom:0;height:125px;left:50%;right:auto;top:auto;transform:translateX(-50%);width:min(340px,100%)}.app-auth .ai-hero-media{justify-content:flex-end}.app-auth .ai-hero-media img{max-height:220px;width:clamp(265px,32vw,340px)}.app-auth .ai-advice-head h4,.app-auth .ai-block-head h4,.app-auth .ai-section-head h3{font-size:1.52rem}.app-auth .ai-recommend-weak-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .ai-advice-action-item,.app-auth .ai-advice-action-list{height:auto;max-height:none;min-height:0}.app-auth .ai-mistake-card{grid-column:1/-1;order:-1}.app-auth .ai-difficulty-card,.app-auth .ai-topic-card{grid-column:auto}.app-auth .ai-topic-chart-wrap{align-items:center;grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);justify-items:stretch}.app-auth .ai-topic-pie{justify-self:center}.app-auth .ai-plan-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.app-auth .ai-recommend-header{align-items:flex-start;flex-direction:column;padding:1rem 1rem 1.05rem}.app-auth .ai-recommend-kicker{font-size:.92rem;min-height:30px}.app-auth .ai-recommend-header h2{font-size:1.8rem}.app-auth .ai-recommend-subtitle{font-size:.92rem}.app-auth .ai-advice-head h4,.app-auth .ai-block-head h4,.app-auth .ai-section-head h3{font-size:1.28rem}.app-auth .ai-advice-title-wrap{align-items:center;flex-wrap:wrap;gap:.78rem}.app-auth .ai-advice-status{min-height:44px;padding:.48rem .84rem;text-align:left;white-space:normal}.app-auth .ai-advice-summary{align-items:flex-start;border-radius:14px;width:100%}.app-auth .ai-advice-slider-body{height:auto}.app-auth .ai-advice-slider-controls{gap:.38rem;grid-template-columns:2rem minmax(0,1fr) 2rem}.app-auth .ai-advice-action-item{min-height:0;padding:0}.app-auth .ai-advice-layer{align-items:start;gap:.72rem;grid-template-columns:minmax(0,1fr);padding:1rem}.app-auth .ai-advice-action-order{height:3.2rem;width:3.2rem}.app-auth .ai-recommend-loading-controls{justify-items:start;min-width:0;width:100%}.app-auth .ai-recommend-controls{justify-content:flex-start;width:100%}.app-auth .ai-recommend-course-select{width:100%}.app-auth .ai-recommend-course-select select{min-width:0;width:100%}.app-auth .ai-hero-card h3{font-size:1.6rem}.app-auth .ai-hero-layout{grid-template-columns:1fr;min-height:0}.app-auth .ai-hero-media{justify-content:center;margin-top:.35rem}.app-auth .ai-hero-media img{max-height:190px;max-width:100%;object-position:center;width:min(100%,310px)}.app-auth .ai-advice-action-text,.app-auth .ai-advice-highlight p,.app-auth .ai-advice-summary,.app-auth .ai-hero-summary{font-size:1rem}.app-auth .ai-advice-action-evidence,.app-auth .ai-advice-action-note{font-size:.92rem}.app-auth .ai-difficulty-item,.app-auth .ai-list li{min-height:44px;padding:.45rem .62rem}.app-auth .ai-difficulty-item{padding:0}.app-auth .ai-mistake-card .ai-list li,.app-auth .ai-topic-card .ai-list li{justify-items:start}.app-auth .ai-mistake-card .ai-list li.ai-review-focus-item{grid-template-columns:minmax(0,1fr) auto}.app-auth .ai-topic-chart-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}.app-auth .ai-review-focus-item .ai-review-detail{-webkit-line-clamp:1}.app-auth .ai-topic-pie{width:min(148px,78vw)}.app-auth .ai-topic-chart-list li{grid-template-columns:auto minmax(0,1fr) auto}.app-auth .ai-list li small,.app-auth .ai-list li span{font-size:.88rem}.app-auth .ai-list li small{font-size:.78rem}.app-auth .ai-exercise-icon{height:56px;width:56px}.app-auth .ai-exercise-card h4{font-size:1.34rem}.app-auth .ai-exercise-card strong{font-size:1.82rem}.app-auth .ai-exercise-grid,.app-auth .ai-recommend-weak-grid{grid-template-columns:1fr}.app-auth .ai-difficulty-card,.app-auth .ai-mistake-card,.app-auth .ai-topic-card{grid-column:auto}.app-auth .ai-plan-grid{grid-template-columns:1fr}.app-auth .ai-progress-chart{height:180px}}.app-auth .settings-account-card{grid-gap:1.45rem;display:grid;gap:1.45rem;padding:2rem}.app-auth .settings-account-card h2,.app-auth .settings-action-row h3,.app-auth .settings-form-section h3{color:#12365f;font-weight:800;letter-spacing:0;margin:0}.app-auth .settings-account-card h2{font-size:1.25rem}.app-auth .settings-profile-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto}.app-auth .settings-avatar-wrap{height:76px;position:relative;width:76px}.app-auth .settings-avatar{background:linear-gradient(135deg,#4f8df5,#2f73d6);border-radius:50%;color:#fff;display:grid;font-size:1.8rem;font-weight:800;height:76px;place-items:center;width:76px}.app-auth .settings-avatar-image{border:1px solid #d8e3ef;border-radius:50%;display:block;height:76px;object-fit:cover;width:76px}.app-auth .settings-avatar-camera{background:#fff;border:1px solid #d2e0f0;border-radius:50%;bottom:4px;color:#2f73d6;cursor:pointer;display:grid;height:28px;place-items:center;position:absolute;right:-3px;width:28px}.app-auth .settings-hidden-input{display:none}.app-auth .settings-profile-copy{grid-gap:.34rem;display:grid;gap:.34rem;min-width:0}.app-auth .settings-profile-copy strong{color:#12365f;font-size:1.18rem;font-weight:800}.app-auth .settings-profile-copy span{color:#5f7694;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-auth .settings-danger-action,.app-auth .settings-save-button,.app-auth .settings-secondary-action{align-items:center;border-radius:12px;display:inline-flex;font-size:.98rem;font-weight:800;gap:.55rem;justify-content:center;min-height:48px;padding:.5rem 1rem}.app-auth .settings-secondary-action{background:#fff;border:1px solid #d9e5f2;color:#526984}.app-auth .settings-danger-action:disabled,.app-auth .settings-premium-card button:disabled,.app-auth .settings-secondary-action:disabled{cursor:not-allowed;opacity:1}.app-auth .settings-divider{background:#e4ebf3;height:1px}.app-auth .settings-form-section{grid-gap:1.25rem;display:grid;gap:1.25rem}.app-auth .settings-section-copy{color:#647993;font-size:.94rem;font-weight:600;margin:-.65rem 0 0}.app-auth .settings-form-grid{grid-gap:1.2rem 1.35rem;display:grid;gap:1.2rem 1.35rem;grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .settings-field{grid-gap:.5rem;color:#4c6380;display:grid;font-size:.95rem;font-weight:700;gap:.5rem;min-width:0}.app-auth .settings-field input,.app-auth .settings-field select{background:#fff;border:1px solid #d8e3ef;border-radius:12px;color:#19395d;font-size:1rem;font-weight:600;min-height:50px;outline:none;padding:0 1rem;width:100%}.app-auth .settings-field input:focus,.app-auth .settings-field select:focus{border-color:#8ab8f8;box-shadow:0 0 0 3px #4f8df524}.app-auth .settings-field input[readonly]{background:#fbfdff;color:#526984}.app-auth .settings-save-row{align-items:center;display:flex;gap:1rem;justify-content:flex-end;min-height:44px}.app-auth .settings-status-message{color:#2b8a57;font-size:.92rem;font-weight:700}.app-auth .settings-save-button{background:linear-gradient(135deg,#4f8df5,#2f73d6);border:0;color:#fff}.app-auth .settings-save-button:disabled{background:#d8e3ef;color:#7a8da5;cursor:not-allowed}.app-auth .settings-choice-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}.app-auth .settings-choice-button{align-items:center;background:#fff;border:1px solid #d9e5f2;border-radius:12px;color:#526984;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:700;gap:.42rem;justify-content:center;min-height:52px;padding:.55rem .75rem;text-align:center}.app-auth .settings-choice-button.active{background:#edf4ff;border-color:#78a6e8;color:#2f73d6}.app-auth .settings-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .settings-toggle-row{align-items:center;background:#f9fcff;border:1px solid #d9e5f2;border-radius:10px;color:#496685;cursor:pointer;display:inline-flex;font-size:.94rem;font-weight:700;gap:.65rem;min-height:44px;padding:.65rem .8rem;width:-webkit-fit-content;width:fit-content}.app-auth .settings-toggle-row input{cursor:pointer;height:18px;width:18px}.app-auth .settings-info-grid{grid-gap:.95rem;display:grid;gap:.95rem;grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .settings-info-card{grid-gap:.32rem;background:#f8fbff;border:1px solid #dce7f5;border-radius:12px;display:grid;gap:.32rem;padding:.85rem .95rem}.app-auth .settings-info-card span{color:#5d7592;font-size:.84rem;font-weight:700}.app-auth .settings-info-card strong{color:#173b62;font-size:1rem;font-weight:800;line-break:anywhere}.app-auth .settings-info-card small{color:#6a829f;font-size:.8rem;font-weight:700}.app-auth .settings-payment-history-section{gap:1rem}.app-auth .settings-payment-history-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.app-auth .settings-payment-history-header .settings-section-copy{margin-top:.45rem}.app-auth .settings-payment-history-header span{align-items:center;background:#edf4ff;border:1px solid #d8e6ff;border-radius:999px;color:#2f73d6;display:inline-flex;flex:0 0 auto;font-size:.88rem;font-weight:800;min-height:34px;padding:.34rem .7rem}.app-auth .settings-payment-history-table-wrap{background:#fbfdff;border:1px solid #e2ebf5;border-radius:12px}.app-auth .settings-payment-history-table{background:#fff;min-width:880px}.app-auth .settings-payment-history-table td,.app-auth .settings-payment-history-table th{padding:.82rem .78rem}.app-auth .payment-history-skeleton-table td,.app-auth .payment-history-skeleton-table th{vertical-align:middle}.app-auth .payment-history-skeleton{background:#e7eef8;border-radius:999px;display:block;overflow:hidden;position:relative}.app-auth .payment-history-skeleton:after{animation:my-course-skeleton-shimmer 1.35s ease-in-out infinite;background:linear-gradient(90deg,#e7eef800,#ffffffd1,#e7eef800);content:"";inset:0;position:absolute;transform:translateX(-100%)}.app-auth .payment-history-skeleton.line{height:14px}.app-auth .payment-history-skeleton.chip{height:28px;width:76px}.app-auth .payment-history-skeleton.w-18{min-width:46px;width:18%}.app-auth .payment-history-skeleton.w-20{min-width:54px;width:20%}.app-auth .payment-history-skeleton.w-22{min-width:58px;width:22%}.app-auth .payment-history-skeleton.w-24{min-width:64px;width:24%}.app-auth .payment-history-skeleton.w-36{min-width:120px;width:36%}.app-auth .payment-history-skeleton.w-44{min-width:150px;width:44%}.app-auth .ai-quota-section{gap:1rem}.app-auth .ai-quota-overview{grid-gap:1.15rem;align-items:center;background:radial-gradient(circle at 8% 10%,#4f8df529,#0000 42%),linear-gradient(135deg,#f8fbff,#fff);border:1px solid #d8e6ff;border-radius:16px;display:grid;gap:1.15rem;grid-template-columns:minmax(0,.72fr) minmax(240px,1fr);padding:1.15rem}.app-auth .ai-quota-overview.exhausted{background:radial-gradient(circle at 8% 10%,#f8717121,#0000 42%),linear-gradient(135deg,#fff7f7,#fff);border-color:#fecaca}.app-auth .ai-quota-main{grid-gap:.28rem;display:grid;gap:.28rem;min-width:0}.app-auth .ai-quota-kicker{background:#edf4ff;border:1px solid #d8e6ff;border-radius:999px;color:#2f73d6;font-size:.82rem;font-weight:800;padding:.28rem .62rem;width:-webkit-fit-content;width:fit-content}.app-auth .ai-quota-main strong{color:#12365f;font-size:clamp(2.1rem,4vw,3rem);font-weight:900;line-height:1}.app-auth .ai-quota-main p{color:#5f7694;font-size:.98rem;font-weight:700;margin:0}.app-auth .ai-quota-meter{grid-gap:.62rem;display:grid;gap:.62rem;min-width:0}.app-auth .ai-quota-meter-track{background:linear-gradient(90deg,#4f8df5 0 100%,#e5edf7 100% 100%);background:linear-gradient(90deg,#4f8df5 0 var(--ai-quota-fill,100%),#e5edf7 var(--ai-quota-fill,100%) 100%);border-radius:999px;box-shadow:inset 0 1px 2px #1f3f6614;height:14px;overflow:hidden}.app-auth .ai-quota-overview.exhausted .ai-quota-meter-track{background:linear-gradient(90deg,#ef4444 0 0,#fee2e2 0 100%);background:linear-gradient(90deg,#ef4444 0 var(--ai-quota-fill,0),#fee2e2 var(--ai-quota-fill,0) 100%)}.app-auth .ai-quota-meter-labels{color:#647993;display:flex;font-size:.9rem;font-weight:800;gap:1rem;justify-content:flex-start}.app-auth .ai-quota-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-auth .settings-link-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .settings-link-action{text-decoration:none}.app-auth .settings-action-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.app-auth .settings-action-row p{color:#647993;font-size:.94rem;font-weight:600;margin:.45rem 0 0}.app-auth .settings-danger-action{background:#fff;border:1px solid #ff5a5f;color:#ff383f;min-width:178px}html[data-student-font-size=small]{font-size:15px}html[data-student-font-size=medium]{font-size:16px}html[data-student-font-size=large]{font-size:17px}html[data-student-reduced-motion=true] .app-auth *,html[data-student-reduced-motion=true] .app-auth :after,html[data-student-reduced-motion=true] .app-auth :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}html[data-student-theme=dark] body{background:#07111f;color:#dbe7f5}html[data-student-theme=dark] .app-auth{--text-primary:#e6eef8;--text-secondary:#b2c1d4;--text-muted:#8fa2b8;--background-primary:#07111f;--background-white:#101c2d;--border-color:#24344a;--border-light:#1b2a3d;--shadow-light:0 2px 10px #00000047;--shadow-medium:0 10px 26px #00000052;--shadow-heavy:0 18px 40px #0000006b}html[data-student-theme=dark] .app-auth .chat-tutor-page,html[data-student-theme=dark] .app-auth .course-page,html[data-student-theme=dark] .app-auth .course-payment-page,html[data-student-theme=dark] .app-auth .dashboard-page,html[data-student-theme=dark] .app-auth .lesson-page,html[data-student-theme=dark] .app-auth .payment-history-page,html[data-student-theme=dark] .app-auth .quiz-interface,html[data-student-theme=dark] .app-auth .student-ranking-page{background:radial-gradient(circle at 10% 0,#4f8df524,#0000 30%),linear-gradient(135deg,#07111f,#0b1728 52%,#10202f);color:#dbe7f5}html[data-student-theme=dark] .app-auth .app-sidebar,html[data-student-theme=dark] .app-auth .header-profile-dropdown,html[data-student-theme=dark] .app-auth .left-panel,html[data-student-theme=dark] .app-auth .right-panel,html[data-student-theme=dark] .app-auth .settings-account-card,html[data-student-theme=dark] .app-auth .settings-side-panel{background:#101c2d;border-color:#24344a;box-shadow:0 16px 36px #0000003d}html[data-student-theme=dark] .app-auth .app-sidebar-top{border-bottom-color:#1f2f44}html[data-student-theme=dark] .app-auth .ai-quota-main strong,html[data-student-theme=dark] .app-auth .app-sidebar .app-title,html[data-student-theme=dark] .app-auth .settings-account-card h2,html[data-student-theme=dark] .app-auth .settings-action-row h3,html[data-student-theme=dark] .app-auth .settings-form-section h3,html[data-student-theme=dark] .app-auth .settings-info-card strong,html[data-student-theme=dark] .app-auth .settings-profile-copy strong,html[data-student-theme=dark] .app-auth .student-settings-header h1{color:#eaf2ff}html[data-student-theme=dark] .app-auth .ai-quota-main p,html[data-student-theme=dark] .app-auth .ai-quota-meter-labels,html[data-student-theme=dark] .app-auth .settings-info-card small,html[data-student-theme=dark] .app-auth .settings-info-card span,html[data-student-theme=dark] .app-auth .settings-profile-copy span,html[data-student-theme=dark] .app-auth .settings-section-copy,html[data-student-theme=dark] .app-auth .student-settings-header p{color:#9fb1c7}html[data-student-theme=dark] .app-auth .header-notification-btn,html[data-student-theme=dark] .app-auth .header-profile-caret,html[data-student-theme=dark] .app-auth .header-profile-trigger,html[data-student-theme=dark] .app-auth .settings-section-button,html[data-student-theme=dark] .app-auth .settings-section-button svg,html[data-student-theme=dark] .app-auth .sidebar-nav-item{color:#b7c6d9}html[data-student-theme=dark] .app-auth .header-notification-btn:hover,html[data-student-theme=dark] .app-auth .header-profile-dropdown .logout-button:hover,html[data-student-theme=dark] .app-auth .header-profile-dropdown .menu-action-button:hover,html[data-student-theme=dark] .app-auth .settings-section-button:hover,html[data-student-theme=dark] .app-auth .sidebar-nav-item:hover{background:#17263a;color:#dce9ff}html[data-student-theme=dark] .app-auth .settings-section-button.active,html[data-student-theme=dark] .app-auth .sidebar-nav-item.active{background:#1b3150;box-shadow:inset 0 0 0 1px #2d4b75;color:#8fb8ff}html[data-student-theme=dark] .app-auth .settings-section-button.active svg{color:#8fb8ff}html[data-student-theme=dark] .app-auth .settings-choice-button,html[data-student-theme=dark] .app-auth .settings-field input,html[data-student-theme=dark] .app-auth .settings-field select,html[data-student-theme=dark] .app-auth .settings-info-card,html[data-student-theme=dark] .app-auth .settings-secondary-action,html[data-student-theme=dark] .app-auth .settings-toggle-row{background:#0d1828;border-color:#2a3d55;color:#d8e5f4}html[data-student-theme=dark] .app-auth .settings-field,html[data-student-theme=dark] .app-auth .settings-secondary-action{color:#c2d0e2}html[data-student-theme=dark] .app-auth .settings-choice-button.active{background:#1b3150;border-color:#4f8df5;color:#9fc3ff}html[data-student-theme=dark] .app-auth .settings-payment-history-header span{background:#172a47;border-color:#375887;color:#9fc3ff}html[data-student-theme=dark] .app-auth .settings-payment-history-table,html[data-student-theme=dark] .app-auth .settings-payment-history-table-wrap{background:#0d1828;border-color:#2a3d55}html[data-student-theme=dark] .app-auth .settings-payment-history-table td,html[data-student-theme=dark] .app-auth .settings-payment-history-table th{border-bottom-color:#24344a}html[data-student-theme=dark] .app-auth .payment-history-empty,html[data-student-theme=dark] .app-auth .settings-payment-history-table th{color:#9fb1c7}html[data-student-theme=dark] .app-auth .settings-payment-history-table td{color:#d8e5f4}html[data-student-theme=dark] .app-auth .payment-history-skeleton{background:#1c2d44}html[data-student-theme=dark] .app-auth .payment-history-skeleton:after{background:linear-gradient(90deg,#1c2d4400,#607da461,#1c2d4400)}html[data-student-theme=dark] .app-auth .settings-field input[readonly]{background:#0a1422;color:#9fb1c7}html[data-student-theme=dark] .app-auth .settings-divider{background:#24344a}html[data-student-theme=dark] .app-auth .settings-save-button:disabled{background:#26364c;color:#8192aa}html[data-student-theme=dark] .app-auth .ai-quota-overview{background:radial-gradient(circle at 8% 10%,#4f8df533,#0000 42%),linear-gradient(135deg,#111f34,#0d1828);border-color:#2f4770}html[data-student-theme=dark] .app-auth .ai-quota-kicker{background:#172a47;border-color:#375887;color:#9fc3ff}html[data-student-theme=dark] .app-auth .ai-quota-meter-track{background:linear-gradient(90deg,#6aa4ff 0 100%,#22324a 100% 100%);background:linear-gradient(90deg,#6aa4ff 0 var(--ai-quota-fill,100%),#22324a var(--ai-quota-fill,100%) 100%)}@media (max-width:1180px){.app-auth .dashboard-greeting-row{padding-right:150px}.app-auth .dashboard-hero-content-wrap{grid-template-columns:minmax(0,1fr) 350px}.app-auth .dashboard-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .stats-grid{grid-template-columns:1fr}.app-auth .stat-card{justify-content:flex-start}.app-auth .my-course-card-grid{grid-template-columns:1fr}.app-auth .my-course-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .my-course-bottom-grid{grid-template-columns:1fr}.app-auth .student-settings-layout{grid-template-columns:250px minmax(0,1fr)}.app-auth .settings-choice-grid{grid-template-columns:1fr}}@media (max-width:980px){.app-auth .app-sidebar{border-bottom:1px solid #d8e5f1;border-right:0;box-shadow:0 8px 16px #1c385814;height:auto;padding:.5rem .68rem 0;position:-webkit-sticky;position:sticky;top:0;width:100%}.app-auth .app-sidebar-top{border-bottom:0;padding:0 0 .42rem}.app-auth .app-sidebar-nav{display:flex;flex-wrap:nowrap;gap:.56rem;overflow-x:auto;padding:0 0 .48rem}.app-auth .sidebar-nav-item{border-radius:999px;column-gap:.62rem;flex-shrink:0;font-size:.9rem;grid-template-columns:20px minmax(0,1fr);min-height:42px;min-width:-webkit-max-content;min-width:max-content;padding:.42rem .74rem}.app-auth .app-footer,.app-auth .chat-tutor-page,.app-auth .course-page,.app-auth .course-payment-page,.app-auth .dashboard-page,.app-auth .lesson-page,.app-auth .payment-history-page,.app-auth .quiz-interface,.app-auth .student-ranking-page{margin-left:0}.app-auth .app-header-utility{gap:6px;right:10px;top:8px}.app-auth .header-notification-btn{height:32px;width:32px}.app-auth .header-profile-trigger{gap:0;min-height:34px}.app-auth .header-profile-avatar{font-size:.82rem;height:28px;width:28px}.app-auth .header-profile-caret,.app-auth .header-profile-name{display:none}.app-auth .browse-header-row{padding-right:0}.app-auth .dashboard-main{padding-top:.9rem}.app-auth .dashboard-main.ai-recommend-dashboard-main{display:block;min-height:auto;padding-bottom:2.35rem;padding-top:.9rem}.app-auth .dashboard-main.ai-recommend-dashboard-main .dashboard-container{display:block;min-height:0}.app-auth .dashboard-greeting-row{align-items:flex-start;flex-direction:column;min-height:auto;padding-right:0;position:static}.app-auth .dashboard-greeting-row h1{font-size:1.55rem}.app-auth .dashboard-date-pill{min-height:40px;position:static}.app-auth .dashboard-hero-content-wrap{grid-template-columns:1fr}.app-auth .dashboard-hero-metrics{grid-template-columns:1fr 1fr}.app-auth .dashboard-hero-media{justify-content:center;min-height:150px;padding:0 1rem .6rem}.app-auth .dashboard-hero-media img{max-height:180px;object-position:center bottom;width:min(100%,340px)}.app-auth .dashboard-continue-card{align-items:stretch;grid-template-columns:1fr}.app-auth .continue-course-icon{height:72px;width:72px}.app-auth .continue-main h3{font-size:1.4rem;white-space:normal}.app-auth .continue-progress-row{gap:.52rem;grid-template-columns:1fr}.app-auth .continue-progress-meta{flex-wrap:wrap;justify-content:space-between}.app-auth .continue-progress-row strong{font-size:1.5rem;justify-self:end}.app-auth .continue-action-btn{font-size:1.1rem;min-height:48px}.app-auth .my-course-kpi-grid{grid-template-columns:1fr}.app-auth .student-settings-page{padding-top:1rem}.app-auth .student-settings-layout{grid-template-columns:1fr}.app-auth .settings-side-panel{min-height:0}.app-auth .settings-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth .ai-quota-info-grid,.app-auth .ai-quota-overview{grid-template-columns:1fr}}@media (max-width:640px){.app-auth .dashboard-container{padding:0 .82rem}.app-auth .dashboard-hero-content{padding:1.15rem 1rem .9rem}.app-auth .dashboard-hero h2{font-size:1.72rem}.app-auth .dashboard-hero-headline,.app-auth .dashboard-hero-kicker{font-size:.94rem}.app-auth .dashboard-hero-metrics{grid-template-columns:1fr}.app-auth .stat-card{gap:.9rem;grid-template-columns:90px minmax(0,1fr);min-height:148px;padding:1rem}.app-auth .stat-progress-circle{height:82px;width:82px}.app-auth .stat-card .stat-icon{flex-basis:54px;font-size:2.1rem;height:54px;width:54px}.app-auth .stat-fire-icon{height:60px;width:60px}.app-auth .stat-content strong,.app-auth .stat-time-summary{font-size:2rem}.app-auth .continue-progress-meta p{white-space:normal}.app-auth .stat-streak-week{gap:.32rem}.app-auth .dashboard-continue-empty{align-items:stretch;flex-direction:column}.app-auth .my-course-chart{aspect-ratio:2.8/1}.app-auth .my-course-focus-cover,.app-auth .my-course-skeleton-media{height:170px}.app-auth .settings-account-card{padding:1.2rem}.app-auth .settings-action-row,.app-auth .settings-form-grid,.app-auth .settings-profile-row,.app-auth .settings-section-nav{grid-template-columns:1fr}.app-auth .settings-profile-row{justify-items:start}.app-auth .settings-save-row{align-items:stretch;flex-direction:column}.app-auth .settings-danger-action,.app-auth .settings-save-button,.app-auth .settings-secondary-action{width:100%}.app-auth .settings-info-grid,.app-auth .settings-link-grid{grid-template-columns:1fr}.app-auth .settings-payment-history-header{display:grid}.app-auth .settings-payment-history-header span{justify-self:start}.app-auth .settings-toggle-row{width:100%}}
/*# sourceMappingURL=main.4882beb0.css.map*/