/* Student learning journey: Ashwamedh maroon, gold and parchment UI. */
:root{--journey-maroon:#650600;--journey-deep:#3e0805;--journey-gold:#c99a42;--journey-gold-light:#f4e4b5;--journey-paper:#fffaf0;--journey-ink:#312318;--journey-line:#e7d5ad}
.rp-content .royal-explorer{max-width:none;padding:18px 20px 34px;background:linear-gradient(180deg,#fffaf0,#fffdf8)}
.rp-content .royal-explorer .rp-hero{min-height:132px;padding:24px 28px;border:1px solid var(--journey-gold);border-radius:15px 15px 0 0;background:linear-gradient(90deg,#fff8e5eF 0%,#fff8e5c7 43%,#fff8e530 100%),url('/images/gurukul-portal-banner.png') center 47%/cover;color:var(--journey-deep)}
.rp-content .royal-explorer .rp-hero h1{font-size:clamp(28px,3vw,40px);color:var(--journey-maroon)}
.rp-content .royal-explorer .rp-hero blockquote{max-width:260px;font-size:13px}
.royal-steps{position:sticky;top:0;z-index:4;gap:5px;padding:10px 0 0;background:var(--journey-paper)}
.royal-steps span{border:1px solid #d9ad55;border-radius:9px 9px 5px 5px;background:linear-gradient(180deg,#970f08,#5a0502);box-shadow:0 3px 8px #4c0c0818;font-size:15px;font-weight:700;letter-spacing:.01em}
.royal-explorer-grid{grid-template-columns:minmax(220px,1fr) minmax(320px,1.28fr) minmax(260px,1.12fr);gap:14px;padding:14px 0 0;align-items:stretch}
.royal-explorer .rp-panel{overflow:hidden;border:1px solid var(--journey-line);border-radius:13px;background:linear-gradient(160deg,#fffdf8,#fff9e8);box-shadow:0 7px 22px #4310000c}
.royal-explorer .rp-panel>h2{margin:-18px -18px 12px;padding:14px 18px;background:linear-gradient(100deg,#fff5d4,#fffaf0);border-bottom:1px solid var(--journey-line);color:var(--journey-maroon);font-size:21px}
.royal-list-link{min-height:52px;padding:11px 10px;border-bottom:1px solid #eadfc8;color:#68100a;transition:background .18s ease,transform .18s ease}
.royal-list-link:hover{background:#fff0c4;transform:translateX(2px)}
.royal-list-link.selected{background:#ffe5a4;box-shadow:inset 3px 0 #8b1007}
.royal-list-link svg{flex:0 0 auto;color:#9b4b20}
.royal-list-link b{font-size:15px}
.royal-list-link small{color:#76644a;font-size:12px}
.royal-filter{padding:12px;border:1px solid #ead7ab;border-radius:10px;background:#fffefb}
.royal-filter label{color:#5a261b;font-size:14px}
.royal-filter input,.royal-filter select{min-height:44px;border-color:#d8c38e;border-radius:8px;background:#fff}
.royal-filter .button{min-height:45px;border-radius:8px;background:linear-gradient(#9d160e,#690600);font-weight:700}
.royal-explorer .notice{padding:12px 14px;border-left:4px solid #c99a42;border-radius:0 8px 8px 0;background:#f8efd6;color:#554326}
.royal-preview{display:flex;flex-direction:column}
.royal-preview>img{height:190px;object-fit:cover;border:1px solid #e2c67e;border-radius:10px;background:#f8e9c4}
.royal-preview>h2{margin:14px 0 3px!important;padding:0!important;border:0!important;background:none!important;font-size:25px!important;color:var(--journey-maroon)!important}
.royal-preview>p{margin:7px 0;line-height:1.65;color:#5c4a35}
.royal-preview .ag-gold-button{min-height:48px;margin-top:auto;border-radius:9px;text-align:center;font-weight:700}
.royal-preview-empty{display:grid;place-content:center;min-height:390px;padding:30px 16px;border:1px dashed #d8bb77;border-radius:12px;background:radial-gradient(circle at 50% 25%,#fff8e2,#fffdf9 68%);text-align:center}
.royal-preview-empty svg{margin:0 auto 12px;color:#a17a37}
.royal-preview-empty h3{color:#6c160d}
.royal-preview-empty p{max-width:230px;margin:4px auto;color:#756448}
/* Lesson view mirrors the module / video / progress composition in the reference. */
.student-lesson-page{max-width:none!important;padding:16px 20px 32px!important}
.learning-lesson-layout{display:grid;grid-template-columns:minmax(205px,250px) minmax(0,1fr) minmax(205px,250px);gap:14px;align-items:start}
.learning-lesson-layout .lesson-toc,.learning-lesson-layout .lesson-aside,.learning-lesson-layout .lesson-main{min-width:0;border:1px solid var(--journey-line);border-radius:12px;background:var(--journey-paper);box-shadow:0 6px 20px #4310000b}
.lesson-toc{position:sticky;top:16px;max-height:calc(100vh - 36px);overflow:auto;padding:15px}
.lesson-toc h2,.lesson-aside h2{margin:0 0 13px;color:var(--journey-maroon);font-size:19px}
.lesson-toc h3{margin:15px -15px 5px;padding:10px 14px;background:#f5e8c7;color:#69100a;font-size:14px}
.lesson-toc-link{display:grid;gap:3px;padding:10px 9px;border-bottom:1px solid #ecdfc5;color:#433426;text-decoration:none}
.lesson-toc-link small{color:#8b6c38;font-size:11px}
.lesson-toc-link span{font-size:13px;line-height:1.35}
.lesson-toc-link.selected{border-radius:7px;background:#ffe5a4;color:#68100a;font-weight:700}
.lesson-main{padding:20px!important}
.lesson-main>.eyebrow{color:#967126;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.lesson-main>h1{margin:5px 0 16px;color:var(--journey-maroon);font-size:clamp(24px,2.2vw,32px)}
.lesson-main .lesson-video{display:block;width:100%;max-height:490px;aspect-ratio:16/9;object-fit:cover;border:1px solid #d9bd78;border-radius:10px;background:#260f0c}
.lesson-progress-card{margin-bottom:15px;padding:15px;border:1px solid #e5d2a3;border-radius:10px;background:#fffdf7}
.lesson-progress-card h2{margin-bottom:8px}
.lesson-progress-card p{margin:0 0 8px;color:#5f4b31;font-size:13px}
.lesson-progress-card progress{width:100%;height:11px;accent-color:#258950}
.lesson-progress-card>strong{display:block;margin-top:4px;text-align:right;color:#276b42}
.lesson-aside{padding:14px}
.lesson-aside>img{width:100%;height:135px;object-fit:cover;border:1px solid #e1c87f;border-radius:8px}
.lesson-aside>h2{margin:11px 0}
.lesson-next-link{display:block;margin-top:8px;padding:11px 12px;border:1px solid #e1cb95;border-radius:8px;background:#fff6db;color:#650800;text-align:center;text-decoration:none;font-weight:700}
.lesson-next-link:hover{background:#ffe9b0}
.lesson-next-link.secondary{background:#fffdf7;color:#513c24}
.lesson-main .lesson-complete{margin-top:14px}
.lesson-main .lesson-complete .button,.lesson-main .lesson-quiz>.button{min-height:44px;border-radius:8px;background:linear-gradient(#9b140c,#650600)}
/* Exam paper and palette. */
.student-exam-page{max-width:1180px!important;padding:18px 20px 32px!important}
.student-exam-page .rp-hero{margin-bottom:16px}
.student-exam-page .rp-hero h1{color:var(--journey-maroon)}
.student-exam-form{padding:16px!important;border:1px solid var(--journey-line)!important;border-radius:13px!important;background:#fffdf7!important}
.rp-exam-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px;align-items:start}
.rp-exam-questions fieldset{margin:0 0 14px;padding:16px;border:1px solid #e8d8b6;border-radius:10px;background:#fff}
.rp-exam-questions legend{padding:0 5px;color:#5c170e;font-size:17px;font-weight:700}
.rp-answer{margin:9px 0;padding:12px 13px;border-color:#eadfc8;border-radius:8px;font-size:15px!important;line-height:1.45}
.rp-answer:has(input:checked){border-color:#c99a42;background:#fff1cb}
.rp-answer input{flex:0 0 auto}
.rp-exam-aside{position:sticky;top:15px;padding:15px!important;border:1px solid var(--journey-line)!important;border-radius:11px!important;background:#fffaf0!important}
.rp-exam-aside h2{margin:0 0 12px;color:var(--journey-maroon);font-size:19px}
.rp-question-palette{grid-template-columns:repeat(5,minmax(30px,1fr));gap:7px}
.rp-question-palette a{display:grid;place-items:center;min-height:37px;border:1px solid #e2d7c1;border-radius:7px;background:#fff;color:#5d3728;text-decoration:none;font-weight:700}
.rp-question-palette a:hover{border-color:#9a1c12;background:#fff0cf}
.rp-exam-aside .button{min-height:44px;margin-top:7px;border-radius:8px;background:linear-gradient(#9b140c,#650600)}
/* Result summary and certificate. */
.student-result-page{max-width:1120px!important;padding:18px 20px 34px!important}
.student-result-page .rp-hero h1{color:var(--journey-maroon)}
.student-result-page .rp-result-banner{gap:22px;padding:22px;border:1px solid #b9dec8;border-radius:14px;background:linear-gradient(120deg,#f1fff4,#e6f7eb)}
.result-score-ring{display:grid;place-content:center;flex:0 0 112px;width:112px;height:112px;border:7px solid #2f9d67;border-radius:50%;background:#fff;text-align:center;color:#186f46}
.result-score-ring strong{font-size:32px;line-height:1}
.result-score-ring span{font-size:13px}
.student-result-page .rp-result-banner h2{margin:0;color:#17744a}
.student-result-page .rp-result-banner p{margin:5px 0}
.rp-result-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-bottom:16px}
.rp-result-summary>div{display:grid;gap:4px;padding:12px 2px;border-bottom:1px solid #eadfc8}
.rp-result-summary small{color:#806b4f}
.rp-result-summary b{color:#3b291a}
.student-result-page .rp-certificate{break-inside:avoid}
.student-result-page .rp-panel{border:1px solid var(--journey-line);border-radius:12px;background:#fffdf7}
.student-result-page .rp-answer-review{border-radius:0 8px 8px 0}

@media(max-width:1100px){
 .royal-explorer-grid{grid-template-columns:minmax(200px,.9fr) minmax(280px,1.2fr)}
 .royal-preview{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.8fr) 1.2fr;gap:10px 16px;align-items:center}
 .royal-preview>h2:first-child{grid-column:1/-1}
 .royal-preview>img{grid-row:2/6;height:180px}
 .royal-preview .ag-gold-button{grid-column:2}
 .learning-lesson-layout{grid-template-columns:minmax(185px,220px) minmax(0,1fr)}
 .learning-lesson-layout .lesson-aside{grid-column:2;display:grid;grid-template-columns:150px 1fr;gap:8px 12px;align-items:center}
 .learning-lesson-layout .lesson-aside .lesson-progress-card{grid-column:1/-1}
 .lesson-aside>img{grid-row:2/5;height:95px}
}
@media(max-width:700px){
 .rp-content .royal-explorer{padding:10px 10px 24px}
 .rp-content .royal-explorer .rp-hero{min-height:130px;padding:17px 16px;background-position:center}
 .rp-content .royal-explorer .rp-hero blockquote{display:none}
 .royal-steps{display:flex;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
 .royal-steps span{flex:0 0 auto;padding:10px 13px;font-size:12px}
 .royal-explorer-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 0}
 .royal-explorer .rp-panel{padding:14px!important}
 .royal-explorer .rp-panel>h2{margin:-14px -14px 10px!important;padding:12px 14px!important;font-size:18px!important}
 .royal-explorer-grid>.rp-panel:first-child{max-height:245px;overflow:auto}
 .royal-list-link{min-height:45px;padding:9px 6px}
 .royal-filter{padding:10px}
 .royal-preview{display:flex;grid-column:auto}
 .royal-preview>img{height:180px}
 .royal-preview-empty{min-height:210px}
 .student-lesson-page{padding:10px!important}
 .learning-lesson-layout{display:flex;flex-direction:column;gap:10px}
 .learning-lesson-layout .lesson-main{order:1;width:100%;padding:13px!important}
 .learning-lesson-layout .lesson-aside{order:2;width:100%;display:block;padding:12px}
 .learning-lesson-layout .lesson-toc{position:static;order:3;width:100%;max-height:250px;padding:12px}
 .lesson-main>h1{font-size:24px}
 .lesson-main .lesson-video{aspect-ratio:16/10}
 .lesson-aside>img{height:150px}
 .student-exam-page,.student-result-page{padding:10px!important}
 .student-exam-form{padding:10px!important}
 .rp-exam-layout{display:flex;flex-direction:column;gap:10px}
 .rp-exam-questions{width:100%}
 .rp-exam-aside{position:sticky;z-index:3;bottom:70px;order:-1;width:100%;padding:11px!important;box-shadow:0 5px 18px #3b160022}
 .rp-question-palette{grid-template-columns:repeat(8,minmax(28px,1fr));gap:5px}
 .rp-question-palette a{min-height:32px;font-size:13px}
 .rp-exam-aside .rp-palette-legend{display:none}
 .rp-exam-questions fieldset{padding:12px}
 .rp-answer{padding:10px;font-size:14px!important}
 .student-result-page .rp-result-banner{gap:12px;padding:14px}
 .result-score-ring{flex-basis:82px;width:82px;height:82px;border-width:5px}
 .result-score-ring strong{font-size:25px}
 .rp-result-summary{grid-template-columns:1fr}
 .rp-certificate{margin:12px auto;padding:24px 12px;border-width:12px;border-image-width:15px}
 .rp-certificate .ag-crest{width:72px;height:72px}
 .rp-certificate h1{font-size:28px}
 .rp-certificate h2{font-size:25px;margin:12px 0}
}
@media print{
 .rp-top,.rp-sidebar,.rp-mobile-nav,.rp-drawer-shade,.ag-bottom-nav,.rp-page>.rp-hero,.rp-home-link,.rp-logout{display:none!important}
 .rp-shell,.rp-body,.rp-content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:white!important}
 .rp-certificate{margin:0 auto;border-image-width:25px;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Curriculum explorer: matching three-column desktop reference on every learning system. */
.royal-explorer .royal-steps{display:flex;gap:8px;padding:11px 0 0;overflow-x:auto;scrollbar-width:none;background:transparent}
.royal-explorer .royal-steps::-webkit-scrollbar{display:none}
.royal-explorer .royal-steps span{flex:1 0 max-content;min-width:100px;padding:12px 16px;border:1px solid #d7ad5f;border-radius:9px;background:linear-gradient(180deg,#96140c,#580400);box-shadow:0 4px 10px #4c0c0818;color:#fff5dc;text-align:center;white-space:nowrap;font-family:Georgia,'Noto Serif Devanagari',serif;font-size:15px;line-height:1.2}
.royal-explorer-grid{grid-template-columns:minmax(190px,.9fr) minmax(235px,1.08fr) minmax(285px,1.35fr);gap:14px;padding:14px 0 0;align-items:stretch}
.royal-explorer .royal-department-panel,.royal-explorer .royal-subject-panel,.royal-explorer .royal-courses-panel{min-width:0;padding:16px!important}
.royal-explorer .rp-panel>h2{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin:-16px -16px 12px!important;padding:13px 16px!important;background:linear-gradient(100deg,#fff0c5,#fffaf0)!important;color:#67100a!important;font-size:20px!important}
.royal-explorer .rp-panel>h2 small{overflow:hidden;color:#94743b;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.royal-department-list,.royal-subject-list,.royal-course-list{max-height:510px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c6a35b #f8f0dd;scrollbar-width:thin}
.royal-course-list{max-height:300px}
.royal-explorer .royal-list-link{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 8px;border-bottom:1px solid #eee2c9;color:#65100a;text-decoration:none}
.royal-explorer .royal-list-link>span{min-width:0;flex:1;line-height:1.35}
.royal-explorer .royal-list-link b{font-size:14px}
.royal-explorer .royal-list-link small{display:block;margin-top:4px;color:#806d4d;font-size:11px}
.royal-explorer .royal-list-link svg{width:17px;height:17px;flex:0 0 auto;color:#966f32}
.royal-explorer .royal-list-link .royal-chevron{flex:0 0 auto;color:#80130c;font-size:20px}
.royal-explorer .royal-list-link:hover,.royal-explorer .royal-list-link.selected{background:linear-gradient(90deg,#ffedbc,#fff7e2);box-shadow:inset 3px 0 #86130c}
.royal-subject-panel .royal-filter{gap:9px;margin:0 0 12px;padding:10px;border:1px solid #ead9b5;border-radius:9px;background:#fffdf8}
.royal-subject-panel .royal-filter label{display:grid;gap:5px;color:#5e3324;font-size:13px}
.royal-subject-panel .royal-filter select,.royal-subject-panel .royal-filter input{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid #d9c79e;border-radius:7px;background:#fff;color:#3e3022;font-size:13px}
.royal-subject-panel .royal-filter .button{min-height:40px;border-radius:7px;background:linear-gradient(#98150d,#630600);color:#fff6df;font-weight:700}
.royal-explorer .royal-course-preview{display:grid;grid-template-columns:minmax(105px,.72fr) minmax(0,1.28fr);gap:12px;margin-top:14px;padding:11px;border:1px solid #dfc486;border-radius:10px;background:linear-gradient(135deg,#fff6dc,#fffdf6);box-shadow:0 4px 12px #5b2a0c12}
.royal-course-preview>img{width:100%;height:155px;object-fit:cover;border:1px solid #e5ce97;border-radius:7px;background:#fff}
.royal-course-info{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}
.royal-course-info>small{color:#967333;font-size:10px;font-weight:800;letter-spacing:.08em}
.royal-course-info h3{margin:0;color:#650800;font-size:18px;line-height:1.2}
.royal-course-info p{margin:0;color:#5d4b34;font-size:12px;line-height:1.45}
.royal-course-info .ag-gold-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:39px;margin-top:auto;padding:8px 12px;border-radius:7px;background:linear-gradient(#98150d,#630600);color:#fff6df;text-decoration:none;font-size:13px;font-weight:700}
.royal-explorer .royal-preview-empty{min-height:180px;margin-top:12px;padding:18px;border-color:#dfc486;background:radial-gradient(circle at 50% 20%,#fff3d1,#fffdf8 72%)}
.royal-explorer .royal-preview-empty h3{margin:7px 0 2px;font-size:17px}
.royal-explorer .royal-preview-empty p{font-size:13px}
@media(max-width:1180px){
 .royal-explorer-grid{grid-template-columns:minmax(185px,.9fr) minmax(250px,1.1fr)}
 .royal-explorer-grid>.royal-courses-panel{grid-column:1/-1}
 .royal-explorer .royal-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}
}
@media(max-width:700px){
 .rp-content .royal-explorer{padding:10px 10px 24px}
 .rp-content .royal-explorer .rp-hero{min-height:118px;padding:16px;border-radius:12px;background-position:center}
 .rp-content .royal-explorer .rp-hero h1{font-size:25px}
 .royal-explorer .royal-steps{display:none}
 .royal-explorer-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 0}
 .royal-explorer .royal-department-panel,.royal-explorer .royal-subject-panel,.royal-explorer .royal-courses-panel{padding:13px!important}
 .royal-explorer .rp-panel>h2{margin:-13px -13px 10px!important;padding:11px 13px!important;font-size:17px!important}
 .royal-department-list{max-height:170px}
 .royal-subject-list{max-height:190px}
 .royal-explorer .royal-courses-panel{scroll-margin-top:14px}
 .royal-course-list{display:block!important;max-height:340px}
 .royal-subject-panel .royal-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
 .royal-subject-panel .royal-filter label{min-width:0}
 .royal-explorer .royal-list-link{min-height:43px;padding:8px 6px}
 .royal-explorer .royal-course-preview{grid-template-columns:105px minmax(0,1fr);gap:10px;margin-top:11px;padding:9px}
 .royal-course-preview>img{height:132px}
 .royal-course-info h3{font-size:16px}
 .royal-course-info p{font-size:11px}
 .royal-course-info .ag-gold-button{min-height:36px;padding:7px 9px;font-size:12px}
 .royal-explorer .royal-preview-empty{min-height:145px;padding:14px}
}
