:root {
  --student-bg: #f5f7fb;
  --student-surface: #ffffff;
  --student-surface-soft: #f8faff;
  --student-text: #172033;
  --student-muted: #6f7a90;
  --student-border: #e4e9f2;
  --student-primary: #5268f5;
  --student-primary-dark: #3d50d7;
  --student-primary-soft: #eef0ff;
  --student-secondary: #7b61ff;
  --student-success: #18a875;
  --student-success-soft: #eaf9f3;
  --student-warning: #e69a24;
  --student-warning-soft: #fff7e7;
  --student-danger: #e65454;
  --student-danger-soft: #fff0f0;
  --student-info: #3185d8;
  --student-info-soft: #edf6ff;
  --student-shadow: 0 18px 50px rgba(34, 48, 77, .09);
  --student-shadow-sm: 0 8px 26px rgba(34, 48, 77, .07);
  --student-radius: 24px;
  --student-radius-sm: 16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.student-body{margin:0;background:var(--student-bg);color:var(--student-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}.student-body a{text-decoration:none}.student-main{padding:34px 0 90px;min-height:calc(100vh - 76px)}
.student-topbar{height:76px;position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,229,239,.86);display:flex;align-items:center}.student-brand{display:flex;align-items:center;gap:12px;color:var(--student-text)}.student-brand:hover{color:var(--student-text)}.student-brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--student-primary),var(--student-secondary));display:grid;place-items:center;color:#fff;box-shadow:0 8px 22px rgba(82,104,245,.26);font-size:20px;flex:none}.student-brand strong{display:block;font-size:15px;line-height:1.25}.student-brand small{display:block;color:var(--student-muted);font-size:11px;margin-top:2px}.student-nav{gap:6px}.student-nav-link{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;color:#4d5870;font-size:14px;font-weight:700;transition:.2s}.student-nav-link:hover{background:var(--student-primary-soft);color:var(--student-primary)}.student-profile-button{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:5px;border-radius:15px;color:var(--student-text)}.student-profile-button:hover{background:#f6f8fc}.student-profile-button strong{display:block;font-size:13px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-profile-button small{display:block;font-size:11px;color:var(--student-muted)}.student-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#e9edff,#dde5ff);color:var(--student-primary);font-weight:800;display:grid;place-items:center}.student-dropdown{border-radius:16px;min-width:230px;padding:8px}.student-dropdown .dropdown-item{border-radius:10px;font-size:14px}.student-mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:1040;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--student-border);display:grid;grid-template-columns:repeat(3,1fr);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-shadow:0 -10px 30px rgba(34,48,77,.07)}.student-mobile-nav a{color:var(--student-muted);font-size:11px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px}.student-mobile-nav i{font-size:20px;color:var(--student-primary)}
.student-flash-stack{margin-bottom:22px}.student-alert{border:0;border-radius:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--student-shadow-sm)}.student-alert-icon{font-size:18px}.student-page-hero,.student-dashboard-hero,.concept-hero,.result-hero{border-radius:30px;position:relative;overflow:hidden;margin-bottom:28px}.student-page-hero{background:linear-gradient(135deg,#273562,#5268f5);padding:34px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.student-page-hero:after,.student-dashboard-hero:after,.concept-hero:after,.result-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.09);right:-80px;top:-100px}.student-page-hero>*{position:relative;z-index:1}.student-page-hero h1{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.035em;margin:8px 0}.student-page-hero p{color:rgba(255,255,255,.78);max-width:680px;margin:0}.compact-hero{padding:30px 34px}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--student-primary);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:850}.eyebrow-light{color:#dfe4ff}.student-back-link{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.82);font-size:13px;font-weight:700}.student-back-link:hover{color:#fff}.student-page-hero .student-btn-soft{background:#fff;color:#31405f;border-color:#fff}
.student-dashboard-hero{min-height:250px;background:linear-gradient(130deg,#26345e 0%,#5268f5 54%,#7b61ff 100%);padding:38px 42px;color:#fff;display:flex;align-items:center;justify-content:space-between}.hero-copy{position:relative;z-index:2;max-width:720px}.hero-copy h1{font-size:clamp(32px,5vw,52px);line-height:1.08;font-weight:850;letter-spacing:-.045em;margin:10px 0}.hero-copy p{color:rgba(255,255,255,.82);font-size:16px;max-width:650px}.hero-id{margin-top:20px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.09);border-radius:999px;font-size:12px;font-weight:700}.hero-orbit{width:190px;height:190px;border:1px solid rgba(255,255,255,.15);border-radius:50%;position:relative;z-index:2;flex:none}.hero-orbit:before{content:"";position:absolute;inset:30px;border:1px solid rgba(255,255,255,.13);border-radius:50%}.orbit-core{width:72px;height:72px;border-radius:24px;background:rgba(255,255,255,.96);color:var(--student-primary);display:grid;place-items:center;position:absolute;left:59px;top:59px;font-size:30px;box-shadow:0 20px 50px rgba(0,0,0,.18)}.orbit-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.11)}.dot-one{top:18px;left:65px}.dot-two{right:8px;bottom:54px}.dot-three{left:7px;bottom:42px;background:#ffd670}.student-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.student-stat-grid.four-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.student-stat-card{background:var(--student-surface);border:1px solid var(--student-border);border-radius:20px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:var(--student-shadow-sm)}.student-stat-card .stat-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:21px;flex:none}.stat-blue{background:#edf2ff;color:#4f67ec}.stat-green{background:#eaf9f3;color:#149365}.stat-orange{background:#fff4e5;color:#d88a19}.stat-purple{background:#f0ecff;color:#7255e9}.student-stat-card strong{display:block;font-size:24px;line-height:1.15;letter-spacing:-.03em}.student-stat-card .stat-code{font-size:14px;letter-spacing:0}.student-stat-card span{color:var(--student-muted);font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:34px 0 18px}.section-heading h2{font-size:24px;font-weight:800;letter-spacing:-.03em;margin:5px 0 2px}.section-heading p{color:var(--student-muted);margin:0;font-size:14px}.student-text-link{display:inline-flex;align-items:center;gap:7px;color:var(--student-primary);font-size:13px;font-weight:800}.student-text-link:hover{color:var(--student-primary-dark)}
.learning-journey-card,.student-course-card,.student-panel{background:var(--student-surface);border:1px solid var(--student-border);border-radius:var(--student-radius);box-shadow:var(--student-shadow-sm)}.learning-journey-card{padding:24px;display:flex;flex-direction:column}.journey-card-top,.course-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.course-code{display:inline-block;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--student-primary);background:var(--student-primary-soft);border-radius:999px;padding:4px 8px;margin-bottom:7px}.journey-card-top h3,.student-course-card h2{font-size:19px;font-weight:800;letter-spacing:-.025em;margin:0}.journey-progress{padding:20px 0;border-bottom:1px solid var(--student-border)}.journey-progress>.d-flex{font-size:13px;color:var(--student-muted)}.journey-mini-stats{display:flex;gap:18px;margin-top:9px;color:var(--student-muted);font-size:11px}.journey-mini-stats strong{color:var(--student-text)}.student-progress{height:9px;background:#edf0f6;border-radius:999px;overflow:hidden}.student-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--student-primary),var(--student-secondary));min-width:0;transition:width .6s ease}.recommendation-panel,.recommendation-banner{margin-top:20px;border-radius:18px;padding:18px;display:flex;gap:14px;align-items:flex-start;border:1px solid #dfe5f2;background:#f8faff}.recommendation-banner{align-items:center;margin-top:0}.rec-success{background:var(--student-success-soft);border-color:#cdeee2}.rec-warning{background:var(--student-warning-soft);border-color:#f5deb5}.rec-danger{background:var(--student-danger-soft);border-color:#f2cccc}.rec-info,.rec-primary{background:var(--student-info-soft);border-color:#d3e7fb}.recommendation-icon{width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--student-primary);font-size:20px;box-shadow:0 5px 18px rgba(45,62,95,.08);flex:none}.recommendation-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--student-muted)}.recommendation-panel h4,.recommendation-banner h3{font-size:16px;font-weight:800;margin:3px 0}.recommendation-panel p,.recommendation-banner p{font-size:13px;color:#5f6b82;margin:0}.recommendation-concept{margin-top:10px;font-size:12px;display:flex;gap:6px;align-items:center;color:#49556c}.journey-actions{display:flex;gap:10px;margin-top:auto;padding-top:20px}.student-btn-primary,.student-btn-success,.student-btn-soft,.student-btn-disabled{border-radius:13px;font-weight:800;padding:11px 16px;border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:8px}.student-btn-primary{background:linear-gradient(135deg,var(--student-primary),#6d5df5);color:#fff;box-shadow:0 10px 22px rgba(82,104,245,.20)}.student-btn-primary:hover{background:linear-gradient(135deg,var(--student-primary-dark),#5e50df);color:#fff;transform:translateY(-1px)}.student-btn-success{background:linear-gradient(135deg,#169c70,#1ab883);color:#fff;box-shadow:0 10px 22px rgba(24,168,117,.18)}.student-btn-success:hover{background:#128b63;color:#fff;transform:translateY(-1px)}.student-btn-soft{background:#f6f8fc;border-color:#dfe5ee;color:#45516a}.student-btn-soft:hover{background:#eef2f8;color:var(--student-text)}.student-btn-disabled{background:#eef1f5;border-color:#e0e5ec;color:#9aa3b3}.student-icon-btn{width:47px;height:47px;border-radius:13px;background:#f7f9fc;border:1px solid var(--student-border);display:grid;place-items:center;color:var(--student-primary);flex:none}.student-icon-btn:hover{background:var(--student-primary-soft);color:var(--student-primary)}.student-status{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.status-mastered,.status-completed{background:var(--student-success-soft);color:#108359}.status-learning,.status-developing{background:var(--student-primary-soft);color:#4f5ed2}.status-ready{background:#f0f3f8;color:#647086}.status-warning,.status-remedial{background:var(--student-warning-soft);color:#b16d0e}.status-locked{background:#f0f1f4;color:#7c8595}.status-not_mastered{background:var(--student-danger-soft);color:#c84545}.student-empty-state{text-align:center;background:#fff;border:1px dashed #ced6e4;border-radius:24px;padding:55px 24px}.empty-icon{width:68px;height:68px;border-radius:22px;background:var(--student-primary-soft);color:var(--student-primary);display:grid;place-items:center;margin:0 auto 16px;font-size:30px}.student-empty-state h2{font-size:21px;font-weight:800}.student-empty-state p{color:var(--student-muted);max-width:500px;margin:0 auto 20px}.student-empty-inline{padding:18px;border-radius:16px;background:#f7f9fc;color:var(--student-muted);display:flex;align-items:center;gap:10px;font-size:13px}
.student-course-card{padding:24px;display:flex;flex-direction:column;position:relative;overflow:hidden}.course-card-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--student-primary),var(--student-secondary))}.course-icon{width:50px;height:50px;border-radius:16px;background:var(--student-primary-soft);color:var(--student-primary);display:grid;place-items:center;font-size:22px;flex:none}.course-progress-block{margin:24px 0 18px;font-size:13px;color:var(--student-muted)}.course-metrics{display:grid;grid-template-columns:repeat(3,1fr);background:#f8f9fc;border-radius:16px;padding:14px;margin-bottom:14px}.course-metrics div{text-align:center;border-right:1px solid #e6eaf1}.course-metrics div:last-child{border:0}.course-metrics span{display:block;font-size:18px;font-weight:800;color:var(--student-text)}.course-metrics small{font-size:10px;color:var(--student-muted)}.course-checkpoints{display:flex;gap:14px;margin-bottom:20px;font-size:12px;color:var(--student-muted)}.course-checkpoints .done{color:var(--student-success)}
.progress-hero{padding:32px 38px}.progress-ring{width:132px;height:132px;border-radius:50%;background:conic-gradient(#fff calc(var(--progress) * 3.6),rgba(255,255,255,.18) 0);display:grid;place-items:center;position:relative;z-index:2;flex:none}.progress-ring:before{content:"";position:absolute;inset:9px;background:#465ee0;border-radius:50%}.progress-ring div{position:relative;z-index:2;text-align:center}.progress-ring strong{display:block;font-size:24px}.progress-ring span{font-size:10px;color:rgba(255,255,255,.7)}.concept-map-list{position:relative}.concept-map-item{display:grid;grid-template-columns:48px 1fr}.concept-map-rail{position:relative;display:flex;justify-content:center}.concept-map-rail:after{content:"";position:absolute;top:42px;bottom:-20px;width:2px;background:#dfe5ee}.concept-map-item:last-child .concept-map-rail:after{display:none}.concept-map-dot{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eef1f6;color:#7c8596;z-index:1}.concept-mastered .concept-map-dot{background:var(--student-success-soft);color:var(--student-success)}.concept-learning .concept-map-dot{background:var(--student-primary-soft);color:var(--student-primary)}.concept-remedial .concept-map-dot{background:var(--student-warning-soft);color:var(--student-warning)}.concept-ready .concept-map-dot{background:#eff2ff;color:#6674e5}.concept-map-card{background:#fff;border:1px solid var(--student-border);border-radius:20px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--student-shadow-sm)}.concept-map-header{display:flex;justify-content:space-between;gap:16px}.topic-label{font-size:10px;color:var(--student-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:750}.concept-map-header h3{font-size:16px;font-weight:800;margin:3px 0}.concept-map-header h3 span{color:var(--student-primary);font-size:12px;margin-right:6px}.concept-desc{color:var(--student-muted);font-size:13px;margin:10px 0}.concept-data-row{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;color:var(--student-muted)}.concept-data-row i{color:var(--student-primary)}.concept-lock-note{margin-top:12px;padding:8px 10px;background:#f4f5f7;border-radius:10px;color:#7e8796;font-size:11px}.concept-map-actions{margin-top:14px}
.learning-breadcrumb{display:flex;align-items:center;gap:8px;color:var(--student-muted);font-size:11px;margin-bottom:16px}.learning-breadcrumb a{color:var(--student-primary)}.concept-hero{background:linear-gradient(135deg,#26345e,#5268f5);padding:34px 38px;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:center}.concept-hero>*{position:relative;z-index:2}.concept-hero-main h1{font-size:clamp(28px,4vw,44px);font-weight:850;letter-spacing:-.04em;margin:8px 0}.concept-hero-main p{color:rgba(255,255,255,.78);max-width:720px}.concept-meta-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.concept-meta-pills span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;border:1px solid rgba(255,255,255,.13)}.concept-mastery-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);padding:20px;border-radius:20px;backdrop-filter:blur(10px)}.concept-mastery-card>span{display:block;font-size:11px;color:rgba(255,255,255,.68)}.concept-mastery-card>strong{display:block;font-size:18px;margin-top:3px}.concept-mastery-card small{display:block;margin-top:9px;color:rgba(255,255,255,.65);font-size:10px}.concept-mastery-card .student-progress{background:rgba(255,255,255,.18)}.concept-mastery-card .student-progress-bar{background:#fff}.learning-side-panel{top:100px;background:#fff;border:1px solid var(--student-border);border-radius:20px;box-shadow:var(--student-shadow-sm);overflow:hidden}.side-panel-section{padding:20px;border-bottom:1px solid var(--student-border)}.side-panel-section:last-child{border:0}.side-panel-label{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:var(--student-muted)}.objective-list{padding-left:18px;margin:12px 0 0}.objective-list li{padding-left:4px;margin-bottom:12px;font-size:12px;color:#536078}.objective-list li span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--student-primary);font-weight:850}.side-nav-link{display:flex;align-items:center;gap:9px;padding:9px 0;color:#526078;font-size:12px;font-weight:700}.side-nav-link:hover{color:var(--student-primary)}.learning-section{background:#fff;border:1px solid var(--student-border);border-radius:24px;padding:24px;margin-bottom:22px;box-shadow:var(--student-shadow-sm)}.learning-section-recommended{border-color:#cfd7ff;box-shadow:0 15px 40px rgba(82,104,245,.10)}.learning-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.learning-section-header h2{font-size:21px;font-weight:800;margin:5px 0 2px}.learning-section-header p{font-size:13px;color:var(--student-muted);margin:0}.recommended-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--student-primary-soft);color:var(--student-primary);padding:7px 10px;font-size:10px;font-weight:850}.resource-stack{display:grid;gap:16px}.resource-card{border:1px solid var(--student-border);border-radius:18px;overflow:hidden;background:#fff}.resource-recommended{border-color:#bfc9ff;box-shadow:0 8px 24px rgba(82,104,245,.08)}.resource-card-top{display:flex;gap:14px;align-items:flex-start;padding:18px}.resource-type-icon{width:42px;height:42px;border-radius:13px;background:#f1f4ff;color:var(--student-primary);display:grid;place-items:center;font-size:19px;flex:none}.resource-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}.resource-tags span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#728098;background:#f5f7fa;padding:3px 6px;border-radius:6px}.resource-card h3{font-size:16px;font-weight:800;margin:0 0 3px}.resource-card-top p{font-size:12px;color:var(--student-muted);margin:0}.resource-content{padding:20px 22px;border-top:1px solid var(--student-border);background:#fcfdff}.student-rich-content{font-size:14px;color:#354158}.student-rich-content h1,.student-rich-content h2,.student-rich-content h3{font-weight:800;color:var(--student-text);margin-top:1.2em}.student-rich-content img{max-width:100%;height:auto;border-radius:12px}.student-rich-content pre{background:#182238;color:#ecf0ff;padding:16px;border-radius:14px;overflow:auto}.student-rich-content table{width:100%;display:block;overflow:auto}.resource-external-link{display:inline-flex;align-items:center;gap:6px;margin:0 22px 18px;color:var(--student-primary);font-size:12px;font-weight:750}.resource-card-footer{border-top:1px solid var(--student-border);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fafbfe}.resource-learning-state{font-size:11px;color:var(--student-muted)}.quiz-ready-card{border-radius:24px;padding:24px;background:linear-gradient(135deg,#eaf9f3,#eef8ff);border:1px solid #cdece0;display:flex;align-items:center;gap:18px}.quiz-ready-icon{width:58px;height:58px;border-radius:18px;background:#fff;color:var(--student-success);display:grid;place-items:center;font-size:28px;flex:none}.quiz-ready-card h2{font-size:20px;font-weight:800;margin:4px 0}.quiz-ready-card p{font-size:13px;color:var(--student-muted);margin:0}.student-callout{border-radius:18px;padding:16px 18px;display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;border:1px solid}.student-callout>i{font-size:20px;flex:none}.student-callout strong{display:block}.student-callout p{margin:2px 0 0;font-size:13px}.student-callout.danger{background:var(--student-danger-soft);border-color:#f2d0d0;color:#8d3434}.student-callout.info{background:var(--student-info-soft);border-color:#d4e8fb;color:#315b80}.student-callout.success{background:var(--student-success-soft);border-color:#caeadf;color:#216d56}
.assessment-intro-shell{max-width:820px;margin:18px auto}.assessment-intro-card{background:#fff;border:1px solid var(--student-border);border-radius:30px;padding:36px;box-shadow:var(--student-shadow);text-align:center}.assessment-intro-icon{width:76px;height:76px;border-radius:24px;background:linear-gradient(135deg,var(--student-primary-soft),#f1ecff);color:var(--student-primary);font-size:32px;display:grid;place-items:center;margin:0 auto 16px}.assessment-intro-card h1{font-size:clamp(28px,4vw,40px);font-weight:850;letter-spacing:-.04em;margin:7px 0}.assessment-intro-card>p{color:var(--student-muted);max-width:620px;margin:0 auto 24px}.assessment-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.assessment-metric-grid div{background:#f8f9fc;border-radius:16px;padding:14px 8px}.assessment-metric-grid i{display:block;color:var(--student-primary);margin-bottom:4px}.assessment-metric-grid strong{display:block;font-size:18px}.assessment-metric-grid span{font-size:10px;color:var(--student-muted)}.assessment-rules{text-align:left;background:#f8f9fc;border-radius:18px;padding:18px 20px;margin:20px 0}.assessment-rules h2{font-size:14px;font-weight:800}.assessment-rules ul{margin:10px 0 0;padding-left:20px;color:#5e6b83;font-size:12px}.assessment-agreement{display:flex;gap:10px;text-align:left;background:#fff;border:1px solid var(--student-border);border-radius:14px;padding:13px 14px;margin-bottom:14px;font-size:12px}.assessment-agreement input{margin-top:4px}.celebration-card .assessment-intro-icon{background:linear-gradient(135deg,#fff1c7,#ffdf8d);color:#bf7b0c}
.student-exam-body{background:#f2f4f8}.exam-topbar{height:70px;background:#fff;border-bottom:1px solid var(--student-border);display:flex;align-items:center}.student-brand-static{pointer-events:none}.exam-security-pill{display:inline-flex;align-items:center;gap:6px;color:#49705f;background:#edf8f3;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.exam-main{padding:26px 0 55px}.exam-status-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.exam-status-row h1{font-size:21px;font-weight:800;margin:5px 0 1px}.exam-status-row p{color:var(--student-muted);font-size:12px;margin:0}.exam-timer-card{background:#fff;border:1px solid var(--student-border);border-radius:18px;padding:10px 18px;min-width:132px;text-align:center;box-shadow:var(--student-shadow-sm)}.exam-timer-card span,.exam-timer-card small{display:block;color:var(--student-muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.exam-timer-card strong{display:block;font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--student-primary)}.exam-progress-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin-bottom:18px}.exam-progress-row span{font-size:11px;font-weight:750;color:var(--student-muted)}.exam-question-card{background:#fff;border:1px solid var(--student-border);border-radius:26px;padding:26px;box-shadow:var(--student-shadow)}.exam-question-meta{display:flex;justify-content:space-between;color:var(--student-muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;padding-bottom:14px;border-bottom:1px solid var(--student-border)}.exam-question-text{font-size:18px;font-weight:700;line-height:1.65;padding:24px 0;color:#253047}.answer-list{display:grid;gap:12px}.answer-option{position:relative;display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:12px;border:1px solid #dfe5ee;border-radius:16px;padding:13px 15px;cursor:pointer;transition:.18s;background:#fff}.answer-option:hover{border-color:#b6c1ff;background:#fafbff;transform:translateY(-1px)}.answer-option input{position:absolute;opacity:0;pointer-events:none}.answer-letter{width:38px;height:38px;border-radius:12px;background:#f2f4f8;display:grid;place-items:center;font-weight:850;color:#65718a}.answer-text{font-size:13px;color:#3d4960}.answer-check{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e8ebf1;color:transparent}.answer-option:has(input:checked){border-color:var(--student-primary);background:var(--student-primary-soft);box-shadow:0 6px 20px rgba(82,104,245,.10)}.answer-option:has(input:checked) .answer-letter{background:var(--student-primary);color:#fff}.answer-option:has(input:checked) .answer-check{background:var(--student-primary);color:#fff}.exam-submit{margin-top:20px;min-width:250px}.exam-focus-note{text-align:center;color:#7b8596;font-size:10px;margin-top:16px}.finish-shell{max-width:720px;margin:45px auto;background:#fff;border:1px solid var(--student-border);border-radius:28px;padding:38px;text-align:center;box-shadow:var(--student-shadow)}.finish-icon{width:78px;height:78px;border-radius:25px;background:var(--student-success-soft);color:var(--student-success);display:grid;place-items:center;font-size:38px;margin:0 auto 15px}.finish-shell h1{font-size:30px;font-weight:850}.finish-shell>p{color:var(--student-muted)}.finish-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.finish-metrics div{background:#f8f9fc;border-radius:15px;padding:13px}.finish-metrics strong{display:block;font-size:19px}.finish-metrics span{font-size:9px;color:var(--student-muted);text-transform:uppercase;letter-spacing:.05em}
.result-hero{background:linear-gradient(135deg,#26345e,#5268f5);padding:34px 38px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.result-success{background:linear-gradient(135deg,#176f59,#18a875)}.remedial-hero{background:linear-gradient(135deg,#9a6114,#e69a24)}.result-hero>*{position:relative;z-index:2}.result-hero h1{font-size:clamp(28px,4vw,42px);font-weight:850;letter-spacing:-.04em;margin:8px 0}.result-hero p{color:rgba(255,255,255,.78)}.result-score strong{font-size:38px;display:block;line-height:1}.result-score span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}.mastery-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mastery-result-card{background:#fff;border:1px solid var(--student-border);border-radius:20px;padding:20px;box-shadow:var(--student-shadow-sm);border-left:4px solid #cfd5df}.mastery-mastered{border-left-color:var(--student-success)}.mastery-developing{border-left-color:var(--student-warning)}.mastery-not_mastered{border-left-color:var(--student-danger)}.mastery-result-card h3{font-size:15px;font-weight:800;margin:0}.mastery-score-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 10px}.mastery-score-row div{background:#f8f9fc;border-radius:12px;padding:10px}.mastery-score-row span{display:block;font-size:9px;color:var(--student-muted);text-transform:uppercase}.mastery-score-row strong{font-size:17px}.student-details{background:#fff;border:1px solid var(--student-border);border-radius:18px;overflow:hidden}.student-details summary{cursor:pointer;padding:15px 17px;font-size:12px;font-weight:800}.student-details>div{border-top:1px solid var(--student-border);padding:15px 17px;font-size:11px;color:var(--student-muted)}.recommendation-large-icon{width:64px;height:64px;border-radius:20px;background:var(--student-primary-soft);color:var(--student-primary);display:grid;place-items:center;font-size:28px}.explain-block{background:#f8f9fc;border-radius:15px;padding:14px 16px;margin-top:12px}.explain-block span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--student-muted)}.explain-block strong{display:block;margin-top:3px}.explain-block small{color:var(--student-muted)}.mastery-mini-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--student-border);padding:11px 0;font-size:12px}.mastery-mini-row:last-child{border:0}
.student-auth-body{background:#edf1f7}.student-auth-main{min-height:100vh;padding:0}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(430px,.9fr)}.auth-story{background:linear-gradient(135deg,#26345e 0%,#5268f5 58%,#7b61ff 100%);padding:7vw;color:#fff;align-items:center;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.auth-story:before{width:420px;height:420px;right:-120px;top:-140px}.auth-story:after{width:260px;height:260px;left:-70px;bottom:-90px}.auth-story-inner{position:relative;z-index:2;max-width:700px}.auth-story h1{font-size:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-.055em;font-weight:880;margin:14px 0 20px}.auth-story>div>p{font-size:17px;color:rgba(255,255,255,.77);max-width:600px}.auth-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.auth-feature-grid>div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:18px;padding:16px;backdrop-filter:blur(8px)}.auth-feature-grid i{font-size:22px}.auth-feature-grid strong{display:block;margin-top:8px;font-size:13px}.auth-feature-grid span{display:block;color:rgba(255,255,255,.66);font-size:10px;margin-top:3px}.auth-quote{margin-top:32px;display:flex;gap:12px;color:rgba(255,255,255,.75);font-size:13px}.auth-quote i{font-size:24px}.auth-form-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:50px}.auth-form-card{width:100%;max-width:460px}.auth-form-card h2{font-size:34px;font-weight:850;letter-spacing:-.04em;margin:9px 0 5px}.auth-subtitle{color:var(--student-muted);font-size:13px;margin-bottom:26px}.student-form .form-label{font-size:11px;font-weight:800;color:#566078}.student-input-wrap{position:relative}.student-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8b95a8;z-index:2}.student-input-wrap .form-control{height:52px;border-radius:14px;border:1px solid #dfe5ee;padding-left:44px;font-size:14px}.student-input-wrap .form-control:focus{border-color:#aebaff;box-shadow:0 0 0 4px rgba(82,104,245,.10)}.auth-security-note{display:flex;align-items:flex-start;gap:9px;margin-top:20px;color:#8992a3;font-size:10px}.auth-mobile-brand{display:flex;align-items:center;gap:12px}.auth-mobile-brand strong,.auth-mobile-brand small{display:block}.auth-mobile-brand small{color:var(--student-muted);font-size:10px}
@media (max-width:1199.98px){.student-stat-grid.four-stats{grid-template-columns:repeat(2,1fr)}.auth-feature-grid{grid-template-columns:1fr}.auth-feature-grid>div{display:grid;grid-template-columns:28px 1fr;column-gap:8px}.auth-feature-grid strong{margin-top:0}.auth-feature-grid span{grid-column:2}.hero-orbit{width:150px;height:150px}.orbit-core{left:44px;top:44px;width:62px;height:62px}.concept-hero{grid-template-columns:1fr 220px}}
@media (max-width:991.98px){.student-main{padding-top:24px}.student-dashboard-hero,.student-page-hero,.concept-hero,.result-hero{border-radius:24px}.hero-orbit{display:none}.student-dashboard-hero{padding:32px}.student-stat-grid{grid-template-columns:repeat(3,1fr)}.concept-hero{grid-template-columns:1fr}.concept-mastery-card{max-width:380px}.learning-side-panel{position:static!important}.resource-card-top{flex-wrap:wrap}.resource-card-top>.student-status{margin-left:56px}.resource-card-footer{align-items:flex-start;flex-direction:column}.quiz-ready-card{align-items:flex-start;flex-wrap:wrap}.auth-shell{grid-template-columns:1fr}.auth-form-panel{min-height:100vh;padding:28px}}
@media (max-width:767.98px){.student-topbar{height:66px}.student-brand small{display:none}.student-brand-mark{width:38px;height:38px;border-radius:12px}.student-main{padding:20px 0 95px}.student-dashboard-hero{padding:26px 22px;min-height:220px}.hero-copy h1{font-size:34px}.student-stat-grid,.student-stat-grid.four-stats{grid-template-columns:1fr 1fr;gap:10px}.student-stat-card{padding:15px;gap:10px;border-radius:16px}.student-stat-card .stat-icon{width:40px;height:40px;border-radius:12px;font-size:17px}.student-stat-card strong{font-size:20px}.section-heading{align-items:flex-start}.section-heading .student-text-link{display:none}.learning-journey-card,.student-course-card{padding:19px;border-radius:20px}.recommendation-panel,.recommendation-banner{flex-wrap:wrap}.recommendation-banner>.btn{width:100%}.journey-actions{flex-wrap:wrap}.journey-actions .flex-grow-1{width:calc(100% - 57px)}.course-card-header{gap:10px}.course-icon{width:44px;height:44px}.course-metrics{padding:11px}.student-page-hero{padding:26px 22px;align-items:flex-start}.student-page-hero>.btn{display:none}.progress-ring{width:96px;height:96px}.progress-ring:before{inset:7px}.progress-ring strong{font-size:19px}.concept-map-item{grid-template-columns:36px 1fr}.concept-map-dot{width:30px;height:30px;border-radius:10px}.concept-map-rail:after{top:36px}.concept-map-card{padding:16px}.concept-map-header{flex-direction:column;gap:8px}.concept-data-row{display:grid;gap:6px}.concept-hero{padding:27px 22px}.concept-hero-main h1{font-size:30px}.learning-section{padding:18px;border-radius:20px}.learning-section-header{flex-direction:column}.resource-card-top{padding:15px}.resource-card-top>.student-status{margin-left:0}.resource-content{padding:17px}.resource-card-footer{padding:12px 15px}.quiz-ready-card{padding:18px}.assessment-intro-card{padding:24px 18px;border-radius:24px}.assessment-metric-grid{grid-template-columns:repeat(2,1fr)}.exam-topbar{height:62px}.exam-main{padding:18px 0 40px}.exam-status-row{align-items:flex-start}.exam-status-row h1{font-size:17px}.exam-timer-card{min-width:102px;padding:8px 10px}.exam-timer-card strong{font-size:25px}.exam-question-card{padding:18px;border-radius:20px}.exam-question-text{font-size:16px;padding:20px 0}.answer-option{grid-template-columns:38px 1fr 24px;padding:11px 12px}.answer-letter{width:34px;height:34px}.exam-submit{width:100%;min-width:0}.finish-shell{margin:20px auto;padding:24px 18px}.finish-metrics{grid-template-columns:repeat(2,1fr)}.result-hero{padding:28px 22px;align-items:flex-start}.result-hero-action{display:none}.mastery-result-grid{grid-template-columns:1fr}.auth-form-panel{padding:24px 18px}.auth-form-card h2{font-size:30px}}
@media (max-width:420px){.student-stat-grid,.student-stat-grid.four-stats{grid-template-columns:1fr}.student-stat-card{flex-direction:row}.course-metrics{grid-template-columns:1fr 1fr 1fr}.progress-ring{display:none}.student-page-hero{display:block}.exam-status-row{gap:10px}.exam-question-meta{flex-direction:column;gap:3px}.answer-option{grid-template-columns:34px 1fr}.answer-check{display:none}.auth-form-panel{padding:18px 14px}}

.student-rich-content iframe{display:block;width:100%;max-width:960px;aspect-ratio:16/9;height:auto;min-height:240px;margin:18px auto;border:0;border-radius:16px;background:#000;box-shadow:0 12px 30px rgba(31,43,72,.12)}@media (max-width:767.98px){.student-rich-content iframe{min-height:0;border-radius:12px}}

/* Waktu asesmen dihitung dari setiap soal, bukan dari input waktu asesmen. */
.assessment-metric-grid.five-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.assessment-metric-grid .duration-value{font-size:clamp(12px,1.35vw,18px);line-height:1.35;overflow-wrap:break-word}
.assessment-metric-grid span{font-size:11px;line-height:1.4;display:block;margin-top:4px}
@media (max-width:767.98px){.assessment-metric-grid.five-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
