/* Student-wide type roles. Loaded after every student component stylesheet. */
.rcc-student-app,
body.woocommerce-account .woocommerce:not(.widget){
    --rcc-type-caption:14px;
    --rcc-type-body:16px;
    --rcc-type-reading:18px;
    --rcc-type-heading:24px;
    --rcc-type-title:30px;
    --rcc-type-question:24px;
    --rcc-type-answer:20px;
    --rcc-button-radius:8px;
    /* Legacy lesson templates use these names. */
    --rcc-text-xs:var(--rcc-type-caption);--rcc-leading-xs:1.5;
    --rcc-text-sm:var(--rcc-type-body);--rcc-leading-sm:1.6;
    --rcc-text-base:var(--rcc-type-reading);--rcc-leading-base:1.65;
    --rcc-text-title:var(--rcc-type-title);--rcc-leading-title:1.3;
    font-family:"RCC Poppins",Arial,sans-serif;
    font-size:var(--rcc-type-body);line-height:1.6;
}
/* Reset old per-screen text sizes, including nested mobile overrides. */
.rcc-student-app #rcc-main :is(p,li,button,a,label,legend,input,select,textarea,summary,td,th,dt,dd),
body.woocommerce-account .woocommerce:not(.widget) :is(p,li,button,a,label,legend,input,select,textarea,summary,td,th,dt,dd){
    font-size:var(--rcc-type-body);line-height:1.6;
}
.rcc-student-app #rcc-main :is(button,input,select,textarea),
body.woocommerce-account .woocommerce:not(.widget) :is(button,input,select,textarea){font-family:inherit}
.rcc-student-app #rcc-main h1,
body.woocommerce-account .woocommerce:not(.widget) h1{font-size:var(--rcc-type-title);line-height:1.3}
.rcc-student-app #rcc-main h2,
body.woocommerce-account .woocommerce:not(.widget) h2{font-size:var(--rcc-type-heading);line-height:1.35}
.rcc-student-app #rcc-main h3,
body.woocommerce-account .woocommerce:not(.widget) h3{font-size:20px;line-height:1.4}
.rcc-student-app #rcc-main :is(.rcc-progress-labels,.rcc-package-counts,.rcc-result-row,.rcc-history-row,.rcc-topic-results,.rcc-review-answer,.rcc-question-actions>span,.rcc-learning-notice,.rcc-notice){font-size:var(--rcc-type-body);line-height:1.6}
/* Questions and lesson text need a comfortable reading size. */
.rcc-student-app #rcc-main :is(.rcc-feedback p,.rcc-lesson-body,.rcc-lesson-body p,.rcc-lesson-body li,.rcc-lesson-body blockquote,.rcc-reading>p){font-size:var(--rcc-type-reading);line-height:1.65}
.rcc-student-app #rcc-main :is(.rcc-answer-form h1,.rcc-review-copy h2){font-size:var(--rcc-type-question);line-height:1.5;font-weight:600}
.rcc-student-app #rcc-main :is(.rcc-exam-row-copy h2,.rcc-chapter h3,.rcc-lesson-outline h3){font-size:20px;line-height:1.4}
.rcc-student-app #rcc-main :is(.rcc-exam-row-copy p,.rcc-badge,.rcc-access-state,.rcc-result-row time,.rcc-grid-legend,.rcc-result-stats dt,.rcc-result-score>span,.rcc-result-score p,.rcc-result-score .rcc-score-label,.rcc-lesson-number,.rcc-lesson-status,.rcc-chapter-count,small){font-size:var(--rcc-type-caption);line-height:1.5}
.rcc-student-app #rcc-main .rcc-attempt-tools .rcc-attempt-tool{font-size:var(--rcc-type-caption);line-height:1.4;min-height:52px;min-width:60px;padding:6px 8px}
.rcc-student-app #rcc-main .rcc-attempt-clock{font-size:var(--rcc-type-body);line-height:1.5;max-width:none}
.rcc-student-app #rcc-main .rcc-timer{font-size:20px}
.rcc-student-app #rcc-main .rcc-number-answer input{font-size:22px}
.rcc-student-app #rcc-main .rcc-result-score strong{font-size:30px;line-height:1.2}
.rcc-student-app #rcc-main .rcc-package-counts dd{font-size:18px}
.rcc-student-app #rcc-main :is(.rcc-button,.rcc-text-link,.rcc-filter,.rcc-exam-result-link,.rcc-drawer-close){min-height:44px}
.rcc-student-app #rcc-main .rcc-filters{flex-wrap:wrap;gap:8px}
.rcc-student-app #rcc-main :is(.rcc-result-row,.rcc-exam-card){min-width:0}
.rcc-student-app #rcc-main .rcc-exam-row-actions{min-width:0}
/* Give larger result labels room instead of squeezing them back down. */
@media(min-width:981px){
.rcc-student-app #rcc-main .rcc-result-row{grid-template-columns:minmax(160px,1fr) 130px 110px 160px 85px}
}
@media(max-width:650px){
.rcc-student-app{--rcc-type-title:28px;--rcc-type-heading:22px}
.rcc-student-app #rcc-main .rcc-attempt-top{padding:12px;gap:10px;grid-template-columns:minmax(0,1fr)}
.rcc-student-app #rcc-main .rcc-attempt-tools{justify-content:space-between;gap:6px;flex-wrap:wrap}
.rcc-student-app #rcc-main .rcc-attempt-clock:empty{display:none}
.rcc-student-app #rcc-main .rcc-exam-card{grid-template-columns:24px minmax(0,1fr);gap:10px 12px;border-radius:16px}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-exam-number{grid-column:1;grid-row:1/3}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-exam-row-copy{grid-column:2;grid-row:1}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-badge{grid-column:2;grid-row:2}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-exam-row-actions{grid-column:2;grid-row:3;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:flex-start}
.rcc-student-app #rcc-main .rcc-result-summary{grid-template-columns:minmax(0,1fr) 110px}
.rcc-student-app #rcc-main .rcc-result-score{width:110px;height:110px}
.rcc-student-app #rcc-main .rcc-result-score strong{font-size:26px}
.rcc-student-app #rcc-main .rcc-result-actions{flex-wrap:wrap}
.rcc-student-app #rcc-main .rcc-result-actions>.rcc-button{flex:1 1 160px}
body.woocommerce-account .woocommerce:not(.widget){--rcc-type-title:28px;--rcc-type-heading:22px}
}
@media(max-width:650px){
body.rcc-student-document .rcc-student-app #rcc-main .rcc-attempt-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;width:100%;gap:16px}
body.rcc-student-document .rcc-student-app #rcc-main .rcc-attempt-tools .rcc-attempt-tool{min-width:0;min-height:64px;padding:8px 0;align-items:center;white-space:normal;text-align:center;gap:8px;font-size:12px!important;line-height:1.4}
}

/* The same question hierarchy is used for practice, exams and review. */
.rcc-student-app #rcc-main :is(.rcc-question-position,.rcc-review-position){font-size:var(--rcc-type-body);line-height:1.5;color:#6f6c79}
.rcc-student-app #rcc-main :is(.rcc-answer-option,.rcc-review-answer){font-size:var(--rcc-type-answer);line-height:1.5}
.rcc-student-app #rcc-main .rcc-answer-option{min-height:64px}
/* One radius for every app button, including native commerce actions. */
.rcc-student-app #rcc-main :is(button,.rcc-button,.rcc-filter,.rcc-text-link,.rcc-answer-option,.button,[role=button]),
.rcc-student-app .rcc-student-header :is(a[data-nav],summary),
body.woocommerce-account .woocommerce:not(.widget) :is(button,.button,[role=button]){border-radius:var(--rcc-button-radius)}
@media(max-width:650px){
.rcc-student-app #rcc-main .rcc-question-nav{display:flex;flex-wrap:nowrap;gap:8px;align-items:stretch}
.rcc-student-app #rcc-main .rcc-question-nav>.rcc-button{flex:1 1 auto;min-width:0;min-height:50px;padding:12px 8px;font-size:14px;line-height:1.4;white-space:nowrap}
}
@media(max-width:360px){
.rcc-student-app #rcc-main .rcc-question-nav{gap:6px}
.rcc-student-app #rcc-main .rcc-question-nav>.rcc-button{padding-inline:4px}
}

/* Exam cards contain only the title, actual status and one primary action. */
.rcc-student-app #rcc-main .rcc-exam-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;min-height:0;padding:20px;border-radius:14px}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-exam-row-copy{grid-column:1;grid-row:1;min-width:0}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-badge{grid-column:1;grid-row:2;justify-self:start}
.rcc-student-app #rcc-main .rcc-exam-card>.rcc-exam-row-actions{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center}
.rcc-student-app #rcc-main .rcc-exam-row-actions>.rcc-text-link{min-height:44px;padding:10px 14px;background:#f3efff;border:1px solid #e3dbff;color:#5429df;white-space:nowrap;text-decoration:none}
@media(max-width:650px){.rcc-student-app #rcc-main .rcc-exam-card{padding:16px;gap:8px 12px}}
/* Google branding stays separate from the app font; all actions keep touch-sized targets. */
@font-face{font-family:"RCC Google Sans";font-style:normal;font-weight:500;font-display:swap;src:url("google-sans-login-500.woff2") format("woff2");unicode-range:U+20,U+47,U+49,U+65,U+67,U+6c-6f,U+74}
#rcc-main .rcc-google-form{display:flex;flex-direction:column;gap:12px;margin:0 0 24px;align-items:stretch}
#rcc-main .rcc-google-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px;border:1px solid #747775;background:#fff;color:#1f1f1f;border-radius:8px;font-family:"RCC Google Sans",Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:.25px;cursor:pointer}
#rcc-main .rcc-google-button:hover{background:#f8fafd;border-color:#1f1f1f}
#rcc-main .rcc-google-button:focus-visible{outline:3px solid #4285f4;outline-offset:3px}
#rcc-main .rcc-google-button img{display:block;width:20px;height:20px;object-fit:contain;flex:0 0 20px;margin:0}
#rcc-main .rcc-google-account{border-top:1px solid #e5e2eb;padding-top:24px;margin-top:32px}
#rcc-main .rcc-google-account h2{margin:0 0 16px}
#rcc-main .rcc-google-error{padding:12px 16px;border:1px solid #e8bdc4;border-radius:8px;background:#fff5f6;color:#8c2338;margin:0 0 20px}
#rcc-main .rcc-google-account .rcc-google-form{max-width:440px}
#rcc-main .rcc-social-only .woocommerce-EditAccountForm fieldset{display:none}

/* Imported lessons have nested wrappers and some bare text blocks. Apply the
   reading measure to the entire article, rather than only its paragraphs. */
.rcc-student-app #rcc-main .rcc-focused-course .rcc-reading>h1{
    box-sizing:border-box;max-width:760px;margin:0 auto;padding:32px 40px 0;
    font-size:28px;line-height:1.35;font-weight:600;letter-spacing:-.025em;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body{
    box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:24px 40px 40px;
    color:#343744;font-size:17px;line-height:1.85;font-weight:400;overflow-wrap:break-word;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(div,p,li,span,a,blockquote){
    font-size:inherit;line-height:inherit;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(p,ul,ol,blockquote,figure,table){
    max-width:100%;margin:0 0 24px;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4){
    color:#202330;font-weight:600;letter-spacing:-.02em;text-wrap:pretty;scroll-margin-top:110px;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body h2{font-size:23px;line-height:1.4;margin:44px 0 18px}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body h3{font-size:20px;line-height:1.45;margin:32px 0 14px}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body h4{font-size:18px;line-height:1.5;margin:28px 0 12px}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4) :is(strong,b){font-weight:inherit}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(ul,ol){padding-left:1.5em}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body li{padding-left:.25em;margin:0 0 10px}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body li:last-child{margin-bottom:0}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body li::marker{color:#77758b}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body li :is(ul,ol){margin:12px 0}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body a{
    color:#5430bd;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body a:hover{color:#361b86;text-decoration-thickness:2px}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:6px}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body blockquote{padding:16px 20px;border-left:3px solid #d8cff3;background:#f8f6fc}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body blockquote>:last-child{margin-bottom:0}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body section[id]{scroll-margin-top:110px}
@media(max-width:650px){
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-reading>h1{padding:26px 20px 0;font-size:24px}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body{padding:20px 20px 30px;font-size:16px;line-height:1.8}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body h2{font-size:21px;margin-top:36px}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body h3{font-size:19px}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(p,ul,ol,blockquote,figure,table){margin-bottom:22px}
}

/* Keep the same iframe mounted while reading, so playback never restarts. */
.rcc-student-app:has(.rcc-focused-course .rcc-player[data-lesson-id])>.rcc-student-header{margin-bottom:0}
.rcc-student-app #rcc-main.rcc-student-main:has(.rcc-focused-course .rcc-player[data-lesson-id]){padding-top:0}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-reading{overflow:visible}
.rcc-student-app #rcc-main .rcc-focused-course:has(>.rcc-player){max-width:none;row-gap:0}
.rcc-student-app #rcc-main .rcc-focused-course:has(>.rcc-player)>.rcc-reading{grid-row:2}
.rcc-student-app #rcc-main .rcc-focused-course:has(>.rcc-player)>.rcc-curriculum{grid-row:1/3}
.rcc-student-app #rcc-main .rcc-focused-course>.rcc-player{
    grid-column:1;grid-row:1;min-width:0;
    position:static;z-index:30;
    box-sizing:border-box;width:100%;margin:0;padding:12px 16px;
    background:#fff;border-bottom:1px solid #e8e6ee;overflow:hidden;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-player iframe{display:block;width:960px!important;max-width:100%;margin:0 auto;border-radius:8px;background:#101828}
.rcc-student-app #rcc-main .rcc-playback-tools{grid-column:1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:10px;min-width:0}
.rcc-student-app #rcc-main .rcc-playback-tools select{flex:1;min-width:150px;width:auto;max-width:100%;min-height:42px;padding:8px 30px 8px 10px;margin:0;border:1px solid #e2dfeb;border-radius:8px;background:#fff;color:#343044;font:14px/1.4 var(--rcc-font)}
.rcc-student-app #rcc-main .rcc-playback-tools label{display:flex;align-items:center;gap:8px;margin-left:auto;color:#565160;font:13px/1.5 var(--rcc-font)}
.rcc-student-app #rcc-main .rcc-playback-tools input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;accent-color:#5430bd}
.rcc-playback-save-error{grid-column:1;font-size:13px;color:#8c2338;padding-top:8px}
.rcc-playback-save-error[hidden]{display:none}
.rcc-playback-save-error button{margin-left:8px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:760px){
    .rcc-student-app #rcc-main .rcc-playback-tools{max-width:360px;margin:0 auto;gap:6px}
    .rcc-student-app #rcc-main .rcc-playback-tools select{min-width:120px;flex-basis:120px}
    .rcc-student-app #rcc-main .rcc-playback-tools label{margin-left:0}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4,section[id]){scroll-margin-top:calc(var(--rcc-video-top,82px) + 370px)}
}
@media(max-width:650px){
    .rcc-student-app #rcc-main .rcc-playback-tools{max-width:300px}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4,section[id]){scroll-margin-top:calc(var(--rcc-video-top,82px) + 335px)}
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4,section[id]){
    scroll-margin-top:110px;
}
.rcc-student-app #rcc-main .rcc-focused-course .rcc-player iframe:fullscreen{width:100vw!important;max-width:none;height:100vh!important;aspect-ratio:auto!important;border-radius:0}
@media(min-width:761px){
    .rcc-student-app #rcc-main .rcc-focused-course>.rcc-player{display:block}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-player iframe{grid-column:1;width:100%!important;margin:0}
    .rcc-student-app #rcc-main .rcc-focused-course>.rcc-curriculum{align-self:start;margin-top:12px;top:16px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
    .rcc-student-app .rcc-student-header{position:static;top:auto}
}
@media(max-width:760px){
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-player iframe{width:360px!important}
    .rcc-student-app #rcc-main .rcc-focused-course>.rcc-player:has(iframe){position:sticky;top:var(--rcc-video-top,82px)}
    .rcc-student-app #rcc-main .rcc-focused-course:has(>.rcc-player)>.rcc-curriculum{grid-row:3;margin-top:16px}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4,section[id]){scroll-margin-top:calc(var(--rcc-video-top,82px) + 250px)}
}
@media(max-width:650px){
    .rcc-student-app #rcc-main .rcc-focused-course>.rcc-player:has(iframe){top:var(--rcc-video-top,82px)}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-player iframe{width:300px!important}
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4,section[id]){scroll-margin-top:calc(var(--rcc-video-top,82px) + 215px)}
}

.rcc-lesson-body :is(img,.rcc-image-open){cursor:zoom-in}
.rcc-student-app #rcc-main .rcc-lesson-body .rcc-image-open{display:block;width:fit-content;max-width:100%;padding:0;margin:24px auto;background:transparent;border:0;border-radius:6px}
.rcc-student-app #rcc-main .rcc-lesson-body .rcc-image-open img{margin:0}
body.rcc-image-lightbox-open{overflow:hidden}
.rcc-image-lightbox{box-sizing:border-box;width:fit-content;max-width:96vw;max-height:94dvh;padding:48px 16px 16px;border:0;border-radius:12px;background:#fff;color:#202330;overflow:auto;box-shadow:0 24px 90px #0006}
.rcc-image-lightbox::backdrop{background:#101828cc}
.rcc-image-lightbox[open]{animation:rcc-image-reveal .18s ease-out}
.rcc-image-lightbox img{display:block;max-width:calc(96vw - 32px);max-height:calc(94dvh - 64px);width:auto;height:auto;object-fit:contain;margin:0}
.rcc-image-lightbox [hidden]{display:none}
.rcc-image-lightbox-close{position:absolute;top:6px;right:8px;display:grid;place-items:center;min-width:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:#202330;font:28px/1 Arial,sans-serif;cursor:pointer}
.rcc-image-lightbox-close:hover{background:#f1eef8}
.rcc-image-lightbox-close:focus-visible{outline:3px solid #5430bd;outline-offset:1px}
.rcc-image-lightbox-error{margin:8px 0;font:16px/1.5 Arial,sans-serif}
@keyframes rcc-image-reveal{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.rcc-image-lightbox[open]{animation:none}}
@media(max-width:760px){
    .rcc-student-app #rcc-main .rcc-focused-course .rcc-lesson-body :is(h2,h3,h4,section[id]){scroll-margin-top:calc(var(--rcc-video-top,82px) + var(--rcc-video-height,320px) + 16px)}
}
