/* One reading surface for all accounts; scale by width, never stretch to fill ultrawide screens. */
:root{--shell-width:250px;--reading-scale:1;--lesson-width:1200px}
@media(min-width:1800px){:root{--reading-scale:1.15}}
@media(min-width:2200px){:root{--reading-scale:1.35}}
@media(min-width:2800px){:root{--reading-scale:1.6}}
@media(min-width:3400px){:root{--reading-scale:1.9}}
html{zoom:var(--reading-scale)}
body{margin:0;background:#f4f7fb;color:#28455d;font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif}
button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #eca92d;outline-offset:3px}
.sidebar{width:var(--shell-width);height:calc(100vh / var(--reading-scale));padding:20px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}
.sidebar .brand{margin:0 0 18px}.sidebar .brand img{width:170px;height:56px}
#course-drawer{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}#course-drawer>summary{display:none}
#catalog{display:block;overflow:visible;height:auto}#catalog button{border:0;background:transparent;text-align:left;color:#587189;border-radius:7px;width:100%;font-size:15px;line-height:1.55;padding:9px 10px}
#catalog button:hover:not(:disabled){background:#eff5fc}#catalog button.current{background:#e8f2ff;color:#246abd;box-shadow:inset 2px 0 #438be1}
#catalog .back-link{font-size:13px;color:#71899d;margin-bottom:14px}.is-course-lesson .home-link{display:none}
.lesson-directory-heading{padding:6px 10px 18px;border-bottom:1px solid #e1eaf4;margin-bottom:12px}.lesson-directory-heading>span{font-size:13px;color:#7990a5}.lesson-directory-heading h2{font-size:20px;line-height:1.4;margin:5px 0 0}
.course-block{border:0;margin:3px 0;padding:0}.course-block>summary{display:flex;align-items:center;gap:10px;padding:10px 8px;font-size:15px;cursor:pointer;list-style:none}.course-block>summary::after{content:'›';margin-left:auto}.course-block[open]>summary::after{transform:rotate(90deg)}
.nav-course-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;background:#edf3fb;font-size:14px;font-variant-numeric:tabular-nums}
.is-course-lesson .course-block>summary{display:none}.chapter-list{display:block}.chapter:disabled{opacity:1!important;color:#9aaaba!important}.chapter:disabled::after{content:' · 未开放';font-size:11px}
.page-list{margin:3px 0 12px 13px;border-left:1px solid #deE7f1;padding-left:4px}#catalog .page-link{font-size:14px;line-height:1.65;padding:7px 9px}
.workspace{margin-left:var(--shell-width)}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-size:15px}.topbar a{color:#648199;text-decoration:none;font-size:13px}
.workspace main,main:has(.early-study),main:has(.l4-study){width:100%;max-width:var(--lesson-width)!important;margin:0 auto!important;padding:20px 24px!important;min-height:0!important}
.l1-reading,main:has(.early-study) .l1-reading{padding:22px!important;border-radius:20px;background:#fff;border:1px solid #e0e8f2}
.l1-reading>h1,main:has(.early-study) .l1-reading>h1{font-size:29px;line-height:1.35;margin:8px 0 12px}
.l1-reading>.l1-lead{font-size:18px;line-height:1.65;max-width:44em;padding-right:150px;margin:0 0 16px!important}
.early-study,.l4-study{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.early-explanation p,.early-keypoint,.l4-explanation p,.l4-keypoint{font-size:18px;line-height:1.65}
.early-study .l1-code pre,.early-study .l1-output pre,.l4-study .l1-code pre,.l4-study .l1-output pre{font-size:18px;line-height:1.6}
.study-control-row{justify-content:flex-start;align-items:center;gap:12px 16px;min-height:54px}.early-toolbar,.l4-toolbar{margin-bottom:14px}
.lesson-heading-art{pointer-events:none}.l1-quiz{margin:22px 0 0;padding:20px;background:#f4f8ff}.l1-quiz h3{font-size:20px;line-height:1.6;margin:8px 0 16px}
.options{display:grid;gap:10px;max-width:100%}.short-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.options label{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #bed4ee;border-radius:10px;background:#fff;font-size:18px;line-height:1.6;cursor:pointer;min-width:0}.options label:has(:checked){border-color:#367ecf;background:#eaf3ff;box-shadow:0 0 0 1px #367ecf}.options span{white-space:pre-wrap;overflow-wrap:anywhere}.options input{margin-top:7px;accent-color:#286fc8}
.quiz form>input{font-size:18px;padding:10px;border:1px solid #bed4ee;border-radius:8px}.primary{border:0;background:#286fc8;color:white;padding:10px 18px;border-radius:9px;font-size:17px;font-weight:600}.quiz .primary{margin-top:14px}.feedback{padding:12px;border-radius:8px;background:#eaf6ee;font-size:17px}.feedback.wrong{background:#fff3dc}.status{font-size:14px;color:#6f8499}.status:empty{display:none}.online-save-error,.error{padding:16px;background:#fff1df;color:#855121;border-radius:10px}
.l1-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:20px;padding-top:18px}.l1-bottom button:not(.primary){background:white;border:1px solid #ccdaea;color:#4e6f8a;border-radius:8px;padding:8px 14px}
.home-hero,.lesson-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(115deg,#edf5ff,#fff8df);border:1px solid #dfe9f3;border-radius:22px;padding:30px}.home-hero h1,.lesson-hero h1{font-size:32px;line-height:1.4;white-space:pre-line}.home-hero p,.lesson-hero p{font-size:18px;line-height:1.7}.hero-art,.lesson-hero img{width:220px;height:220px;object-fit:contain}.eyebrow{font-size:14px;color:#71899e}.home-card-grid,.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-card{padding:20px;border:1px solid #e0eaf4;border-radius:16px;background:white}.home-card img{width:110px;height:110px;object-fit:contain}.home-card h3{font-size:21px}.home-card p{font-size:17px;line-height:1.6}.chapter-head h1{font-size:30px}.page-nav{display:flex;justify-content:space-between;margin-top:20px}.page-nav button{padding:10px 18px;border:1px solid #bed4ee;border-radius:8px;background:white}.page{padding:22px}.lesson-content>ul{font-size:18px;line-height:1.8}.sidebar-bottom{font-size:11px;margin-top:12px;color:#7990a5}
/* Real vector icons: avoid CSP/browser-dependent data-URI masks rendering as squares. */
.l1-code>.l1-label::before,.l1-output>.l1-label::before,.early-explanation h2::before,.l4-explanation h2::before,.l1-quiz>.l1-label::before{display:none}
.panel-symbol{display:inline-block;width:20px;height:20px;vertical-align:-4px;margin-right:7px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1100px){:root{--shell-width:220px}.workspace main,main:has(.early-study){padding:16px!important}.early-study,.l4-study{grid-template-columns:1fr}.l1-reading>.l1-lead{padding-right:0}.home-card-grid{grid-template-columns:1fr}.home-card img{float:right}}
@media(max-width:700px){:root{--shell-width:0px;--reading-scale:1}.sidebar{position:static;width:100%;height:auto;padding:12px 16px}.sidebar .brand{margin:0 0 10px}.sidebar .brand img{width:132px;height:40px}#course-drawer>summary{display:block;padding:10px;border:1px solid #dce7f3;border-radius:9px;font-size:16px}#course-drawer[open]>nav{max-height:55vh;overflow:auto}#course-drawer:not([open])>nav{display:none}.sidebar-bottom{display:none}.topbar{padding:0 16px;font-size:13px}.topbar a{white-space:nowrap}.l1-reading{padding:16px!important}.l1-reading>h1,main:has(.early-study) .l1-reading>h1{font-size:25px}.short-options{grid-template-columns:1fr}.home-hero,.lesson-hero{padding:20px;flex-direction:column-reverse;gap:8px}.hero-art,.lesson-hero img{width:140px;height:140px}.home-hero h1{font-size:26px}.early-study .l2-svg-scroll svg{min-width:0}.study-control-row{align-items:flex-start}}

/* Keep native choice controls compact inside the original lesson typography. */
.l1-quiz .options input[type=radio]{display:inline-block;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:5px 0 0;padding:0;border-radius:50%}
.l1-quiz .options label>span{flex:1;min-width:0}
.l1-reading button.primary{background:#286fc8;color:#fff;border-color:#286fc8}
.unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.unit-card{background:white;border:1px solid #dbe7f1;border-radius:14px;padding:18px;text-align:left;color:#28455d}.unit-card h3{font-size:19px}.unit-card p{font-size:16px;line-height:1.65}.unit-card>span{font-size:13px;color:#7990a5}
@media(max-width:700px){.unit-grid{grid-template-columns:1fr}}

.online-course-main .l1-teaching{display:block}.online-course-main .l1-teaching>.l1-art{padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.online-course-main .l4-toolbar,.online-course-main .early-toolbar{width:100%}

#catalog .chapter .lock{display:none}#catalog .chapter:disabled::after{content:"未开放";display:block;font-size:11px;line-height:1.4;color:#93a4b5;margin-top:2px}

/* v108: restore the authored chapter hierarchy and illustrated overview. */
#catalog .chapter{display:grid;grid-template-columns:28px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:11px 8px;margin:3px 0;font-weight:600;color:#4d6b84}
.chapter-number{display:flex;align-items:center;justify-content:center;height:28px;border-radius:8px;background:#edf3f9;font-size:12px;font-variant-numeric:tabular-nums;color:#7892a9;font-weight:500}
.chapter-chevron{font-size:21px;line-height:1;color:#89a0b5;text-align:center}
#catalog .chapter.active{background:#eaf3ff;color:#2468ae}.chapter.active .chapter-number{background:white;color:#2878ca}.chapter.active .chapter-chevron{color:#2878ca}
#catalog .chapter:disabled::after{grid-column:2;margin:0;font-weight:400}#catalog .chapter:disabled .chapter-chevron{display:none}
.page-list{margin:2px 0 12px 21px;padding:3px 0 3px 10px}.page-number{flex:0 0 3.6em;color:#8da1b5;font-size:11px;font-variant-numeric:tabular-nums;line-height:1.8}
#catalog .page-link{display:flex;gap:6px;align-items:baseline;font-size:13px;padding:8px 8px;line-height:1.65}#catalog .page-link.current{font-weight:600}#catalog .page-link.current .page-number{color:#2c78c7}#catalog .overview-link{font-size:12px;color:#8297aa;padding-left:39px}
.lesson-directory-heading{padding-bottom:15px;margin-bottom:15px}.lesson-directory-heading h2{font-size:21px}
.online-overview .lesson-hero{padding:26px 30px;min-height:225px;gap:24px}.online-overview .lesson-hero>div{flex:1;min-width:0}.online-overview .lesson-hero h1{font-size:30px;margin:10px 0 13px}.online-overview .lesson-hero p{font-size:17px;line-height:1.7;margin:0 0 18px;max-width:34em}.online-overview .lesson-hero img{width:240px;height:215px;flex:0 0 240px;object-fit:contain}
.lesson-units>h2{font-size:22px;margin:25px 0 14px}.unit-grid{gap:16px}.unit-card{position:relative;overflow:hidden;display:flex;align-items:center;min-height:192px;padding:20px;border-radius:18px;background:#f0f7ff;border-color:#dfeaf6;transition:box-shadow .15s,transform .15s}.unit-card:nth-child(3n+2){background:#fff8e6;border-color:#efe6cc}.unit-card:nth-child(3n){background:#edf8f3;border-color:#dcece3}.unit-card:hover{box-shadow:0 5px 18px #2d659014;transform:translateY(-2px)}.unit-copy{flex:1;min-width:0;padding-right:8px}.unit-order{display:inline-block;font-size:13px;font-weight:600;color:#718da8;margin-bottom:5px}.unit-card h3{font-size:20px;line-height:1.45;margin:0 0 8px}.unit-card p{font-size:15px;line-height:1.75;margin:0;color:#607b91}.unit-card .unit-art{width:132px;height:148px;object-fit:contain;flex:0 0 132px;align-self:center}
@media(max-width:1100px){.online-overview .unit-grid{grid-template-columns:1fr}}
@media(max-width:700px){.online-overview .lesson-hero{padding:22px;flex-direction:row;min-height:180px;gap:4px}.online-overview .lesson-hero img{width:100px;height:120px;flex-basis:100px}.online-overview .lesson-hero h1{font-size:24px}.online-overview .lesson-hero p{font-size:16px}.unit-card{padding:16px}.unit-card .unit-art{width:100px;height:120px;flex-basis:100px}.unit-card h3{font-size:19px}}

#catalog .course-practice-link{margin-top:14px;padding:12px;border-top:1px solid #dce7f2;color:#286fc8;font-weight:600}.chapter-practice-start{margin-top:18px}.practice-chapter{margin-top:28px}.practice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-heading h2{font-size:22px}.practice-heading button{font-size:14px;padding:6px 12px}.practice-chapter .l1-quiz{margin-top:14px}
/* Course projects keep the same reading width and a stable title illustration. */
.supplement-header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.supplement-header img{width:170px;height:150px;object-fit:contain;flex:none}
.supplement-page .l1-task{padding-left:1.6em;line-height:1.8}
.supplement-page .l1-example{margin:20px 0;padding:20px;border:1px solid #d9e5f2;border-radius:16px}
.supplement-page .l1-example>summary{font-weight:700;cursor:pointer}
.supplement-page .l1-pair{display:block;margin-top:16px}
.supplement-page pre{white-space:pre-wrap;overflow-wrap:anywhere}
.project-table-scroll{overflow-x:auto;margin:16px 0}
.project-table-scroll table{width:100%;border-collapse:collapse}
.project-table-scroll td,.project-table-scroll th{padding:14px;text-align:left;border-bottom:1px solid #d9e5f2}
.download-source{margin-top:14px}
.chapter-title .l1-optional-tag{margin-left:6px;white-space:nowrap;font-size:12px}
.advanced-practice>summary{cursor:pointer;font-weight:700;color:#75549e;padding:16px 0}
@media(max-width:700px){.supplement-header img{width:96px;height:110px}.supplement-page .l1-example{padding:12px}.supplement-header{gap:10px}}
/* v111: course > chapter > page, with practice always near the course heading. */
#catalog .course-block{margin:8px 0 12px}
#catalog .course-block>summary{font-size:16px;font-weight:700;color:#294760;padding:12px 7px;gap:9px}
#catalog .nav-course-number{width:auto;min-width:42px;height:25px;padding:0 5px;border-radius:6px;background:#e5effb;color:#326caa;font-size:12px;white-space:nowrap}
#catalog .course-block[open]>summary{background:#eef5ff;border-radius:9px}
#catalog .chapter-list{margin:6px 0 10px 17px;border-left:1px solid #dce6f0;padding-left:9px}
#catalog .chapter{grid-template-columns:29px minmax(0,1fr) 10px;gap:5px;font-size:14px;font-weight:400;padding:8px 4px;margin:0;line-height:1.55}
#catalog .chapter-number,#catalog .chapter.active .chapter-number{height:auto;background:transparent;border-radius:0;font-size:11px;color:#8299af;font-weight:400}
#catalog .chapter-chevron{font-size:16px}
#catalog .chapter.active{font-weight:600}
#catalog .page-list{margin:2px 0 8px 14px;padding-left:4px}
#catalog .page-link{font-size:13px;padding:7px 6px;font-weight:400}
#catalog .page-link.current{font-weight:600}
#catalog .course-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 8px 10px 17px;padding:9px 0;border-bottom:1px solid #e1eaf4}
#catalog .course-action{font-size:12px;padding:7px 6px;text-align:center;color:#627f99;border:1px solid #dce7f3;background:#fff;line-height:1.5}
#catalog .course-action.practice{grid-column:1/-1;background:#eaf3ff;border-color:#c7ddf8;color:#266abb;font-weight:600;font-size:14px}
#catalog .course-action.current{box-shadow:inset 3px 0 #347ddd;background:#e0edff}
.is-course-lesson #catalog .course-actions{margin:0 0 12px}
.is-course-lesson #catalog .chapter-list{margin-left:0;padding-left:0;border-left:0}
#catalog .page-link:has(+.page-link){scroll-margin-top:10px}

/* v112: course actions follow the chapter list. */
#catalog .course-actions{border-bottom:0;border-top:1px solid #e1eaf4;padding:12px 0 4px;margin-top:10px}
.is-course-lesson #catalog .course-actions{margin:12px 0 6px}
/* v113: one accordion directory; end-of-course links share its row style. */
#catalog .course-actions{display:block;margin:6px 0 12px 26px;padding:6px 0 0;border-top:1px solid #e1eaf4}
#catalog .course-action,#catalog .course-action.practice{display:flex;align-items:center;gap:8px;width:100%;padding:9px 6px;margin:0;border:0;background:transparent;border-radius:7px;color:#587189;font-size:14px;font-weight:400;text-align:left;line-height:1.55}
#catalog .course-action .action-icon{display:inline-flex;justify-content:center;width:22px;flex:none;color:#8299af;font-size:16px}
#catalog .course-action.current{background:#e8f2ff;color:#246abd;box-shadow:inset 2px 0 #438be1;font-weight:600}
/* v114: explicit home spacing independent of the shared lesson reset. */
.online-home .home-hero{padding:34px 36px;gap:32px;min-height:0}
.online-home .hero-copy{flex:1;min-width:0}
.online-home .hero-copy>.eyebrow{display:block;margin:0 0 14px;line-height:1.5}
.online-home .home-hero h1{margin:0 0 18px;font-size:32px;line-height:1.4}
.online-home .home-hero p{margin:0 0 24px;max-width:36em;font-size:18px;line-height:1.75}
.online-home .home-hero .primary{display:inline-block;padding:11px 19px;line-height:1.5}
.online-home .hero-art{flex:0 0 220px}
.online-home .home-paths{margin-top:30px}
.online-home .home-paths>h2{margin:0 0 16px;font-size:24px;line-height:1.45}
.online-home .home-card{padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.online-home .home-card img{display:block;float:none;width:100px;height:100px;margin:0 0 18px}
.online-home .home-card h3{margin:0 0 10px;font-size:20px;line-height:1.4}
.online-home .home-card p{margin:0;font-size:17px;line-height:1.75}
@media(max-width:700px){.online-home .home-hero{padding:24px;gap:16px}.online-home .hero-art{flex-basis:auto;width:140px;height:140px}.online-home .home-hero h1{font-size:26px}.online-home .home-paths{margin-top:24px}.online-home .home-card{padding:22px}}
#course-drawer,#catalog{overflow-anchor:none}

/* Object rows need their natural height; never squeeze several rows into 155px. */
.course-object-map{max-height:none!important;height:auto;display:block;width:100%;margin:0 0 18px}

.online-course-main .early-explanation,.online-course-main .l4-explanation{padding:18px 20px}
.online-course-main .early-explanation h2,.online-course-main .l4-explanation h2{margin:0 0 12px;line-height:1.45}
.online-course-main .early-explanation p,.online-course-main .l4-explanation p{margin:0;line-height:1.8}
.online-course-main .early-keypoint,.online-course-main .l4-keypoint{padding:14px 18px;line-height:1.8}
.topbar{gap:16px;position:relative;z-index:30}
.topbar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#account{flex:none;position:relative}
.account-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:4px 10px 4px 4px;border:1px solid #dce7f3;border-radius:24px;background:#fff;color:#294d68;font-size:15px}
.account-toggle::-webkit-details-marker{display:none}
.account-toggle img{width:36px;height:36px;object-fit:contain;background:#eef5ff;border-radius:50%}
.account-name{max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-chevron{color:#7290ab}
.account-toggle:focus-visible,.account-item:focus-visible{outline:3px solid #73a7ee;outline-offset:2px}
.account-panel{position:absolute;right:0;top:calc(100% + 10px);width:240px;max-width:calc(100vw - 32px);padding:16px;background:#fff;border:1px solid #dce7f3;border-radius:16px;box-shadow:0 10px 32px #28496620;display:flex;flex-direction:column;gap:4px}
.account-display-name{font-size:17px;color:#294d68;overflow-wrap:anywhere}
.account-username{font-size:13px;color:#7290ab;margin-bottom:10px;overflow-wrap:anywhere}
.topbar .account-item{display:block;width:100%;box-sizing:border-box;text-align:left;padding:11px 12px;border:0;border-radius:9px;font:inherit;font-size:15px;text-decoration:none;color:#365975;background:#f3f7fc;cursor:pointer}
.topbar .account-item:hover{background:#e7f0fd}
.topbar .account-logout{color:#ad4141;background:#fff7f5}
.account-logout:disabled{opacity:.65;cursor:wait}
.account-status{margin:6px 0 0;font-size:13px;line-height:1.5;color:#ad4141}
.account-status:empty{display:none}
@media(max-width:700px){.account-name{display:none}.account-toggle{padding:3px 6px 3px 3px}.account-toggle img{width:32px;height:32px}.account-panel{width:224px}}
/* Structured explanations use real text and tables, not shrunken SVG labels. */
.teaching-structure{margin:1.1rem 0 1.6rem;padding:1.1rem;border:1px solid #d8e5ef;border-radius:16px;background:#f7faff}
.teaching-structure h2,.lesson-input-transcript h2{font-size:1.08rem;margin:0 0 .8rem}
.teaching-syntax-layout{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}
.syntax-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:0}
.syntax-parts>div{padding:.7rem;background:white;border-radius:8px;border:1px solid #dfE8f0}
.syntax-parts dt{font-weight:600;margin:0 0 .3rem;color:#315e80}
.syntax-parts dd{margin:0;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.teaching-format{margin:0;padding:1.2rem;background:#21394b;color:#fff;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:1rem}
.teaching-rules{width:100%;border-collapse:collapse;table-layout:fixed;line-height:1.65;font-size:1rem}
.teaching-rules th,.teaching-rules td{padding:.65rem .85rem;text-align:left;vertical-align:top;border-bottom:1px solid #dce7ef;white-space:pre-line;overflow-wrap:anywhere}
.teaching-rules thead th{color:#315e80;background:#eaf2fa;font-weight:600}
.teaching-rules tbody th{font-weight:500;width:24%}
.teaching-rules tr:last-child>*{border-bottom:0}
.lesson-input-transcript{margin:0 0 .9rem;padding:1rem;border:1px solid #c9dfd9;border-radius:12px;background:#f0f8f5}
.input-transcript-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.55rem 0}
.input-transcript-cell{min-width:0;background:white;border:1px solid #dce5ee;border-radius:8px;padding:.6rem .7rem}
.input-transcript-cell span{display:block;font-size:.78rem;color:#607e91;margin-bottom:.25rem}
.input-transcript-cell code{font-size:1rem;white-space:pre-wrap;overflow-wrap:anywhere}
.input-transcript-cell.typed{background:#e6f0ff;border-color:#8fb9ee}
.input-transcript-cell.returned{background:#fff7df}
.lesson-input-transcript>p{font-size:.8rem;color:#617f79;margin:.7rem 0 0;line-height:1.5}
@media(max-width:1000px){.syntax-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.input-transcript-row{grid-template-columns:1fr}.input-transcript-cell{display:grid;grid-template-columns:6em minmax(0,1fr);gap:.4rem}.teaching-rules th,.teaching-rules td{padding:.5rem .35rem}}
@media(max-width:600px){.syntax-parts{grid-template-columns:1fr}}

/* v121: brand and course identity; stable, wrapping directory rows. */
.sidebar .brand{flex:none;margin-bottom:8px;align-self:center}
.sidebar .brand img{width:170px;height:56px;object-fit:contain}
.course-identity{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;text-decoration:none;color:#284b68;padding:4px 0 17px;flex:none}
.course-identity strong{font-size:17px;line-height:1.45}.course-identity>span{font-size:11px;line-height:1.6;padding:1px 6px;border:1px solid #d2e1f2;border-radius:5px;color:#60809e;background:#eff5fc}
#course-drawer{overflow-x:hidden}#catalog{min-width:0;max-width:100%}
#catalog .course-block>summary{min-width:0}#catalog .nav-course-title{min-width:0;flex:1;overflow-wrap:anywhere}#catalog .course-block>summary::after{flex:none;margin-left:0}
#catalog button{box-sizing:border-box;min-width:0;overflow-wrap:anywhere}
@media(max-width:700px){.sidebar .brand{margin-bottom:4px}.sidebar .brand img{width:150px;height:49px}.course-identity{padding-bottom:12px}#course-drawer[open]>nav{overflow-x:hidden}}

/* v122: one compact brand group, aligned with the directory. */
.sidebar-heading{flex:none;padding:2px 8px 16px;margin-bottom:12px;border-bottom:1px solid #e4ebf3}
.sidebar .sidebar-heading .brand{display:block;width:190px;margin:0 0 8px -24px;padding:0}
.sidebar .sidebar-heading .brand img{display:block;width:190px;height:63px;object-fit:contain}
.sidebar-heading .course-identity{justify-content:flex-start;flex-wrap:nowrap;gap:9px;padding:0;color:#506e87;white-space:nowrap}
.sidebar-heading .course-identity strong{font-size:15px;font-weight:500;line-height:1.5;letter-spacing:.1px}
.sidebar-heading .course-identity>span{font-size:10px;font-weight:400;line-height:1.4;padding:0 0 0 9px;border:0;border-left:1px solid #ccd9e6;border-radius:0;background:none;color:#8296a8}
@media(max-width:700px){.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;margin-bottom:10px}.sidebar .sidebar-heading .brand{width:132px;margin:0;flex:none}.sidebar .sidebar-heading .brand img{width:132px;height:44px}.sidebar-heading .course-identity{align-items:flex-start;flex-direction:column;gap:3px}.sidebar-heading .course-identity strong{font-size:14px}.sidebar-heading .course-identity>span{border:0;padding:0;font-size:10px}}

/* v123: course name leads; naming rules pair each verdict with its reason. */
.sidebar .sidebar-heading .brand{width:176px;margin-left:-22px;margin-bottom:9px}
.sidebar .sidebar-heading .brand img{width:176px;height:58px}
.sidebar-heading .course-identity{gap:7px}.sidebar-heading .course-identity strong{font-size:17px;font-weight:600;color:#345873}
.sidebar-heading .course-identity>span{padding-left:7px}
.teaching-structure.naming-rule-list{padding:0;border:0;background:transparent;display:grid;gap:16px}
.naming-rule{padding:20px;border:1px solid #dde7f1;border-radius:14px;background:#fff}
.naming-rule-list .naming-rule>h2{font-size:20px;line-height:1.5;margin:0 0 14px;color:#294b65}
.naming-rule-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.naming-example{padding:16px 18px;border-radius:10px;min-width:0;background:#f0f8f4}
.naming-example.incorrect{background:#fff4f1}
.naming-example-heading{display:flex;align-items:center;gap:8px;font-size:15px;color:#267451}
.incorrect .naming-example-heading{color:#aa483a}
.naming-verdict{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#d9efdf;font-size:20px;font-weight:700}
.incorrect .naming-verdict{background:#fbe0d9}
.naming-example pre{margin:12px 0 8px;padding:0;background:none;color:#28455d;font-size:20px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.naming-example p{margin:0;color:#547085;font-size:16px;line-height:1.7}
@media(max-width:700px){.sidebar .sidebar-heading .brand{width:124px;margin:0}.sidebar .sidebar-heading .brand img{width:124px;height:41px}.sidebar-heading .course-identity strong{font-size:16px}.naming-rule-examples{grid-template-columns:1fr;gap:10px}.naming-rule{padding:16px}.naming-rule-list .naming-rule>h2{font-size:19px}}
