/* Study path: recognizable exam blocks → two lessons → six real practice sets. */
.app-layout .curriculum-page { font-size: 16px; line-height: 1.65; }
.app-layout .curriculum-page .exam-heading h1 { font-size: 30px; line-height: 1.3; }
.app-layout .curriculum-page .exam-heading p { font-size: 16px; line-height: 1.65; }
.app-layout .curriculum-page .exam-section-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.app-layout .curriculum-page .exam-section-card { display:grid; grid-template-columns:minmax(0,1fr) 112px; column-gap:14px; min-height:230px; padding:24px; border:0; border-radius:16px; box-shadow:0 7px 18px -14px #664733; background:#fffaf4; overflow:hidden; }
.app-layout .curriculum-page .curriculum-section-card--listening { background:#f2dfce; }
.app-layout .curriculum-page .curriculum-section-card--reading { background:#fffaf4; }
.app-layout .curriculum-page .curriculum-section-card--grammar { background:#e9dfd2; }
.app-layout .curriculum-page .curriculum-section-card--word-formation { background:#edcdb9; }
.app-layout .curriculum-page .curriculum-section-card--vocabulary { background:#f7ead6; }
.app-layout .curriculum-page .curriculum-section-card--email { background:#f4dfd2; }
.app-layout .curriculum-page .curriculum-section-card--essay { background:#e7dccc; }
.app-layout .curriculum-page .curriculum-section-card--speaking-1 { background:#efcfb6; }
.app-layout .curriculum-page .exam-section-card:hover { outline:2px solid #80583c; outline-offset:2px; }
.app-layout .curriculum-page .exam-section-card h2 { font-size:22px; line-height:1.3; color:#35261c; }
.app-layout .curriculum-page .exam-card-range { font-size:14px; color:#654d3c; margin-bottom:12px; }
.app-layout .curriculum-page .curriculum-section-copy { min-width:0; }
.app-layout .curriculum-page .curriculum-section-copy>p { margin-top:10px; font-size:15px; line-height:1.6; color:#654d3c; }
.app-layout .curriculum-page .curriculum-art { width:112px; height:135px; align-self:center; object-fit:contain; display:block; filter:drop-shadow(0 9px 7px rgb(55 35 20 / 12%)); }
.app-layout .curriculum-page span.curriculum-art { height:112px; background:transparent url('assets/study-objects-3d.png') left center / 300% 100% no-repeat; }
.app-layout .curriculum-page span.curriculum-art--repeat { background-position:center; }
.app-layout .curriculum-page span.curriculum-art--writing { background-position:right center; }
.app-layout .curriculum-page .exam-card-bottom { grid-column:1/-1; padding-top:18px; }
.app-layout .curriculum-page .exam-card-meta { gap:7px 14px; font-size:13px; color:#654d3c; }
.app-layout .curriculum-page .exam-card-open { font-size:15px; color:#493120; margin-top:14px; }
.app-layout .curriculum-page .exam-group-heading h2 { font-size:22px; }
.app-layout .curriculum-page .exam-group-heading>span { font-size:14px; }
.app-layout .curriculum-page .exam-filters a { font-size:14px; min-height:44px; }
.app-layout .curriculum-page .exam-bank-link { font-size:14px; }
.app-layout .curriculum-page .curriculum-block-heading { display:flex; align-items:center; gap:24px; justify-content:space-between; padding:0 0 20px; margin:0 0 22px; border:0; border-radius:0; background:none; box-shadow:none; }
.app-layout .curriculum-page .curriculum-block-heading>div { min-width:0; }
.app-layout .curriculum-page .curriculum-block-heading h1 { color:#35261c; }
.app-layout .curriculum-page .curriculum-block-heading h1>span { display:inline; padding:0; background:none; box-shadow:none; text-shadow:none; color:#795941; font-size:24px; }
.app-layout .curriculum-page .curriculum-block-heading p { color:#654d3c; }
.app-layout .curriculum-page .curriculum-block-heading .curriculum-art { width:110px; height:110px; flex:none; }
.app-layout .curriculum-page .curriculum-lesson-heading { padding-bottom:6px; }
.app-layout .curriculum-page .curriculum-lesson-heading h1 { max-width:40ch; }
.app-layout .curriculum-page .curriculum-lesson-heading>p { margin:10px 0 0; color:#795941; font-weight:650; }
.app-layout .curriculum-page .curriculum-author { background:#3c291e; color:#fff9ef; border-radius:16px; padding:26px 28px; margin:0 0 32px; }
.app-layout .curriculum-page .curriculum-author-heading { display:flex; align-items:center; gap:18px; }
.app-layout .curriculum-page .curriculum-author h2 { font-size:24px; line-height:1.35; color:#fff9ef; }
.app-layout .curriculum-page .curriculum-author p { margin-top:7px; font-size:16px; color:#efd8c6; max-width:66ch; }
.app-layout .curriculum-page .curriculum-pdf-mark { display:grid; place-items:center; flex:none; width:58px; height:72px; border-radius:6px 14px 6px 6px; background:#f3d4b8; color:#4b3020; font-size:15px; font-weight:800; box-shadow:0 5px 12px -7px #1e120a; }
.app-layout .curriculum-page .curriculum-author-files { margin-top:20px; border-top:1px solid #80644e; }
.app-layout .curriculum-page .curriculum-author .exam-pdf-row { display:flex; align-items:center; gap:18px; padding:17px 0 0; color:#fff9ef; }
.app-layout .curriculum-page .curriculum-author .exam-pdf-row + .exam-pdf-row { margin-top:15px; border-top:1px solid #80644e; }
.app-layout .curriculum-page .curriculum-author .exam-pdf-copy strong { color:#fff9ef; font-size:16px; font-weight:650; }
.app-layout .curriculum-page .curriculum-author .exam-pdf-copy>span { color:#efd8c6; font-size:14px; margin-top:3px; }
.app-layout .curriculum-page .curriculum-pdf-download { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:none; min-height:48px; padding:11px 17px; border-radius:9px; background:#f3d4b8; color:#3c291e; text-decoration:none; font-size:15px; font-weight:800; }
.app-layout .curriculum-page .curriculum-pdf-download:hover { background:#fff1df; }
.app-layout .curriculum-page :is(.curriculum-lessons,.curriculum-topics,.curriculum-homework,.curriculum-assigned)>h2,
.app-layout .curriculum-page .curriculum-homework>header h2 { font-size:24px; line-height:1.4; color:#35261c; margin-bottom:16px; }
.app-layout .curriculum-page .curriculum-lesson-list { display:grid; gap:16px; }
.app-layout .curriculum-page .curriculum-lesson-list>a { display:grid; grid-template-columns:76px minmax(0,1fr) 24px; gap:20px; align-items:center; padding:25px; border-radius:14px; background:#fffaf4; color:#35261c; text-decoration:none; box-shadow:0 6px 15px -13px #684c34; }
.app-layout .curriculum-page .curriculum-lesson-list>a:hover { background:#f4e1d3; }
.app-layout .curriculum-page .curriculum-lesson-number { align-self:start; padding:8px; text-align:center; background:#ead0bb; border-radius:8px; font-size:15px; font-weight:800; }
.app-layout .curriculum-page .curriculum-lesson-list h3 { font-size:21px; line-height:1.4; }
.app-layout .curriculum-page .curriculum-lesson-list>a.curriculum-part-link { grid-template-columns:minmax(0,1fr) 24px; gap:18px; min-height:82px; padding:22px 25px; }
.app-layout .curriculum-page .curriculum-lesson-list>a.curriculum-part-link>.icon { grid-column:2; grid-row:1; align-self:center; margin:0; }
.app-layout .curriculum-page .curriculum-lesson-list p { margin-top:8px; font-size:16px; color:#654d3c; }
.app-layout .curriculum-page .curriculum-part-link p { max-width:78ch; line-height:1.65; color:#4c382b; }
.app-layout .curriculum-page .curriculum-lesson-meta { display:block; margin-top:12px; font-size:14px; font-weight:650; color:#795941; }
.app-layout .curriculum-page .curriculum-topics { margin:0 0 24px; }
.app-layout .curriculum-page .curriculum-topics>p { max-width:72ch; margin:0 0 16px; color:#4c382b; font-size:17px; line-height:1.65; }
.app-layout .curriculum-page .curriculum-topics ul { padding-left:22px; margin:0; display:grid; gap:8px; max-width:72ch; color:#654d3c; font-size:16px; }
.app-layout .curriculum-page .curriculum-topics li::marker { color:#795941; }
.app-layout .curriculum-page .curriculum-material-notes { border-block:1px solid #d7c6b6; margin:24px 0 30px; }
.app-layout .curriculum-page .curriculum-material-notes summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; cursor:pointer; font-size:18px; font-weight:750; color:#493120; list-style:none; }
.app-layout .curriculum-page .curriculum-material-notes summary::-webkit-details-marker { display:none; }
.app-layout .curriculum-page .curriculum-material-notes summary>.icon { transform:rotate(90deg); }
.app-layout .curriculum-page .curriculum-material-notes[open] summary>.icon { transform:rotate(-90deg); }
.app-layout .curriculum-page .curriculum-material-notes .exam-handouts { margin-bottom:20px; }
.app-layout .curriculum-page .curriculum-homework>header p { margin:-7px 0 20px; color:#654d3c; font-size:16px; max-width:68ch; }
.app-layout .curriculum-page .curriculum-practice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.app-layout .curriculum-page .curriculum-practice-set { display:grid; grid-template-columns:42px minmax(0,1fr) 20px; gap:14px; align-items:center; padding:20px; border:1px solid #d7c6b6; border-radius:12px; text-decoration:none; color:#35261c; background:#fffaf4; }
.app-layout .curriculum-page .curriculum-practice-set:hover { background:#f3dfcf; border-color:#a17b5e; }
.app-layout .curriculum-page .curriculum-set-number { display:grid; place-items:center; width:42px; height:46px; border-radius:8px; background:#e8cbb5; color:#493120; font-weight:800; font-size:20px; }
.app-layout .curriculum-page .curriculum-practice-set h3 { font-size:18px; line-height:1.4; }
.app-layout .curriculum-page .curriculum-practice-set p { color:#795941; font-size:14px; margin-top:4px; }
.app-layout .curriculum-page .curriculum-set-status { display:block; color:#493120; font-size:13px; font-weight:750; margin-top:5px; }
.app-layout .curriculum-page .curriculum-tutor { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 28px; margin-top:32px; border-radius:14px; background:#e9c3a5; color:#35261c; }
.app-layout .curriculum-page .curriculum-tutor h2 { font-size:21px; line-height:1.4; }
.app-layout .curriculum-page .curriculum-tutor p { font-size:16px; line-height:1.6; color:#64432c; margin-top:6px; max-width:48ch; }
.app-layout .curriculum-page .curriculum-tutor a { display:inline-flex; align-items:center; justify-content:center; gap:12px; flex:none; min-height:48px; padding:12px 18px; border-radius:9px; text-decoration:none; font-size:15px; font-weight:750; color:#fff9ef; background:#3c291e; }
.app-layout .curriculum-page .curriculum-tutor a:hover { background:#60412d; }
.app-layout .curriculum-page .curriculum-assigned { margin:28px 0; }
.app-layout .curriculum-page .curriculum-assigned>div { border-radius:14px; background:#fffaf4; overflow:hidden; }
.app-layout .curriculum-page .curriculum-assigned article { display:flex; align-items:center; gap:22px; justify-content:space-between; padding:22px 24px; }
.app-layout .curriculum-page .curriculum-assigned article+article { border-top:1px solid #d7c6b6; }
.app-layout .curriculum-page .curriculum-assigned article>div { min-width:0; }
.app-layout .curriculum-page .curriculum-assigned h3 { font-size:19px; line-height:1.4; overflow-wrap:anywhere; }
.app-layout .curriculum-page .curriculum-assigned p { margin-top:6px; font-size:15px; color:#654d3c; overflow-wrap:anywhere; }
.app-layout .curriculum-page .curriculum-assigned article span { display:block; margin-top:8px; color:#795941; font-size:14px; font-weight:750; }
.app-layout .curriculum-page .curriculum-assigned a { display:inline-flex; align-items:center; gap:8px; color:#493120; font-size:14px; font-weight:750; flex:none; max-width:220px; min-height:44px; }
.app-layout .curriculum-page .curriculum-material-intro { display:flex; gap:22px; align-items:center; background:#3c291e; border-radius:16px; padding:28px; margin-bottom:34px; }
.app-layout .curriculum-page .curriculum-material-intro h1 { color:#fff9ef; }
.app-layout .curriculum-page .curriculum-material-intro p { color:#efd8c6; }
.app-layout .curriculum-page .exam-material-group + .exam-material-group { margin-top:30px; }
.app-layout .curriculum-page .exam-material-group>header { background:#ead4bf; border-radius:12px; padding:17px 22px; margin:0 0 12px; }
.app-layout .curriculum-page .exam-material-group h2 { font-size:24px; line-height:1.4; color:#35261c; }
.app-layout .curriculum-page .exam-material-group h2>span { display:block; margin:0 0 3px; font-size:15px; font-weight:750; color:#795941; }
.app-layout .curriculum-page .exam-material-group>header>a { font-size:15px; color:#493120; }
.app-layout .curriculum-page .exam-pdf-copy strong { font-size:16px; }
.app-layout .curriculum-page .exam-pdf-copy .exam-pdf-format { font-size:14px; }
.app-layout .curriculum-page :is(a,summary):focus-visible { outline:3px solid #a56c39; outline-offset:4px; }
@media(max-width:1050px) {
 .app-layout .curriculum-page .exam-section-card { grid-template-columns:minmax(0,1fr) 82px; padding:21px; gap:12px; }
 .app-layout .curriculum-page .curriculum-art { width:82px; height:105px; }
 .app-layout .curriculum-page span.curriculum-art { height:82px; }
 .app-layout .curriculum-page .exam-section-card h2 { font-size:20px; }
 .app-layout .curriculum-page .curriculum-tutor { align-items:flex-start; flex-direction:column; gap:16px; }
}
@media(max-width:700px) {
 .app-layout .curriculum-page .exam-section-grid { grid-template-columns:1fr; }
 .app-layout .curriculum-page .exam-section-card { grid-template-columns:minmax(0,1fr) 96px; min-height:0; }
 .app-layout .curriculum-page .curriculum-art { width:96px; height:115px; }
 .app-layout .curriculum-page span.curriculum-art { height:96px; }
 .app-layout .curriculum-page .exam-heading h1 { font-size:27px; }
 .app-layout .curriculum-page .exam-heading p { font-size:16px; }
 .app-layout .curriculum-page .curriculum-block-heading { gap:14px; }
 .app-layout .curriculum-page .curriculum-block-heading .curriculum-art { width:78px; height:90px; }
 .app-layout .curriculum-page .curriculum-block-heading h1>span { font-size:21px; white-space:nowrap; }
 .app-layout .curriculum-page .curriculum-author { padding:22px; }
 .app-layout .curriculum-page .curriculum-author-heading { gap:14px; align-items:flex-start; }
 .app-layout .curriculum-page .curriculum-author h2 { font-size:21px; }
 .app-layout .curriculum-page .curriculum-author .curriculum-pdf-mark { width:42px; height:56px; font-size:12px; }
 .app-layout .curriculum-page .curriculum-author .exam-pdf-row { align-items:flex-start; flex-direction:column; gap:12px; }
 .app-layout .curriculum-page .curriculum-author .exam-pdf-copy { width:100%; flex:auto; }
 .app-layout .curriculum-page .curriculum-author .curriculum-pdf-download { width:100%; }
 .app-layout .curriculum-page .curriculum-lesson-list>a { grid-template-columns:minmax(0,1fr) 24px; gap:12px; padding:22px; }
 .app-layout .curriculum-page .curriculum-lesson-number { grid-column:1; justify-self:start; padding:6px 12px; }
 .app-layout .curriculum-page .curriculum-lesson-list>a>div { grid-column:1; }
 .app-layout .curriculum-page .curriculum-lesson-list>a>.icon { grid-column:2; grid-row:2; align-self:start; margin-top:5px; }
 .app-layout .curriculum-page .curriculum-lesson-list h3 { font-size:20px; }
 .app-layout .curriculum-page .curriculum-practice-grid { grid-template-columns:1fr; }
 .app-layout .curriculum-page .curriculum-tutor { padding:22px; }
 .app-layout .curriculum-page .curriculum-tutor a { width:100%; }
 .app-layout .curriculum-page .curriculum-assigned article { align-items:flex-start; flex-direction:column; padding:22px; gap:12px; }
 .app-layout .curriculum-page .curriculum-material-intro { align-items:flex-start; padding:22px; gap:15px; }
 .app-layout .curriculum-page .curriculum-material-intro .curriculum-pdf-mark { width:42px; height:56px; font-size:12px; }
 .app-layout .curriculum-page .curriculum-material-intro h1 { font-size:25px; }
 .app-layout .curriculum-page .exam-material-group>header { align-items:flex-start; padding:18px; }
 .app-layout .curriculum-page .exam-material-group h2 { font-size:22px; }
 .app-layout .curriculum-page .exam-material-group>header>a { font-size:14px; }
 .app-layout .curriculum-page .exam-material-group h2>span { font-size:14px; }
 .app-layout .curriculum-page .exam-pdf-copy strong { font-size:16px; }
}
@media(max-width:380px) {
 .app-layout .curriculum-page .exam-section-card { grid-template-columns:minmax(0,1fr) 72px; padding:18px; }
 .app-layout .curriculum-page .curriculum-art { width:72px; height:90px; }
 .app-layout .curriculum-page span.curriculum-art { height:72px; }
 .app-layout .curriculum-page .curriculum-block-heading .curriculum-art { width:60px; height:75px; }
 .app-layout .curriculum-page .exam-material-group>header { flex-direction:column; gap:5px; }
}

@media(max-width:560px) {
 .app-layout .curriculum-page .curriculum-section-copy {display:contents;}
 .app-layout .curriculum-page .curriculum-section-copy>.exam-card-range,
 .app-layout .curriculum-page .curriculum-section-copy>h2 {grid-column:1 / -1;}
 .app-layout .curriculum-page .curriculum-section-copy>h2 {margin:0;}
 .app-layout .curriculum-page .curriculum-section-copy>p {grid-column:1;margin:0;}
 .app-layout .curriculum-page .curriculum-section-card>.curriculum-art {grid-column:2;grid-row:3;}
}

/* Cabinet desktop scale is 80%; keep reading copy at a comfortable rendered size. */
@media(min-width: 821px) {
 .app-layout .curriculum-page .curriculum-section-copy>p,
 .app-layout .curriculum-page .exam-heading p,
 .app-layout .curriculum-page .curriculum-author-heading p,
 .app-layout .curriculum-page .curriculum-lesson-list p,
 .app-layout .curriculum-page .curriculum-topics ul,
 .app-layout .curriculum-page .curriculum-homework>header p,
 .app-layout .curriculum-page .curriculum-tutor p {font-size:20px;line-height:1.6;}
 .app-layout .curriculum-page .exam-card-meta,
 .app-layout .curriculum-page .exam-card-range,
 .app-layout .curriculum-page .curriculum-practice-set p,
 .app-layout .curriculum-page .curriculum-set-status {font-size:16px;}
 .app-layout .curriculum-page .exam-section-card h2 {font-size:26px;}
 .app-layout .curriculum-page .curriculum-practice-set h3 {font-size:21px;}
}

/* Clear entry to practice and legible section metadata. */
.app-layout .curriculum-page .exam-bank-link{background:#3c291e;color:#fffaf4;padding:13px 18px;border-radius:10px;font-size:18px;min-height:50px;text-decoration:none;gap:10px;white-space:nowrap}
.app-layout .curriculum-page .curriculum-all-sections{margin-top:32px;border-block:1px solid #c8b29e;padding:0 0 22px}
.app-layout .curriculum-page .curriculum-all-sections>summary{display:flex;justify-content:space-between;align-items:center;min-height:66px;cursor:pointer;font-size:24px;font-weight:800;color:#35261c;list-style:none}
.app-layout .curriculum-page .curriculum-all-sections>summary::-webkit-details-marker{display:none}
.app-layout .curriculum-page .curriculum-all-sections[open]>summary{margin-bottom:12px}
.app-layout .curriculum-page .exam-card-meta{color:#493120;font-size:18px;line-height:1.6}
.app-layout .curriculum-page .exam-group-heading>span{color:#493120;font-size:18px}
.app-layout .curriculum-page .curriculum-section-copy>p{color:#493120}
@media(max-width:820px){.app-layout .curriculum-page .exam-bank-link{font-size:16px}.app-layout .curriculum-page .exam-card-meta,.app-layout .curriculum-page .exam-group-heading>span{font-size:15px}.app-layout .curriculum-page .curriculum-all-sections>summary{font-size:22px}}
