/* Reference-board visual system: compact, icon-led and beginner friendly. */
.zib-reference-school {
  --ref-blue: #1557ff;
  --ref-navy: #061a36;
  --ref-ink: #101827;
  --ref-muted: #637083;
  --ref-line: #dfe6ef;
  --ref-soft: #f6f9fd;
  --ref-shadow: 0 3px 8px rgba(26,43,72,.07), 0 20px 48px rgba(32,61,107,.11), 0 42px 92px rgba(44,71,113,.065);
  color: var(--ref-ink);
  background: #fbfdff;
}
.zib-reference-school .zib-container { width: min(1180px, calc(100% - 34px)); }
.zib-reference-school .zib-header { min-height: 66px; border-bottom: 1px solid #e8edf4; background: rgba(255,255,255,.94); box-shadow: 0 5px 18px rgba(28,46,75,.035); backdrop-filter: blur(18px); }
.zib-reference-school .zib-header-inner { display:flex; min-height:66px; align-items:center; gap:24px; }
.zib-reference-school .zib-header-inner > .zib-nav { display:flex; height:66px; align-items:center; gap:32px; margin:auto; }
.zib-reference-school .zib-header-actions { display:flex; align-items:center; gap:8px; }
.zib-reference-school .zib-brand strong { font-size: 16px; }
.zib-reference-school .zib-brand small { display: none; }
.zib-reference-school .zib-brand-mark { width: 38px; height: 38px; border-radius: 12px; box-shadow: 0 10px 24px rgba(21,87,255,.22); }
.zib-reference-school .zib-nav { gap: 32px; font-size: 12px; }
.zib-reference-school .zib-btn { min-height: 40px; padding: 10px 18px; border-radius: 9px; box-shadow: none; }
.zib-reference-school .zib-icon-btn { width: 38px; height: 38px; border-radius: 9px; }
.zib-tech-svg { display: block; width: 100%; height: 100%; }
.zib-reference-school .zib-course-icon.has-tech-icon { overflow: visible; padding: 5px; color: inherit; background: transparent; box-shadow: none; }

/* School hub */
.zib-reference-school[data-school-page="hub"] .zib-school-hero { padding: 44px 0 20px; overflow: visible; background: radial-gradient(circle at 50% -20%,rgba(21,87,255,.08),transparent 45%); }
.zib-reference-school[data-school-page="hub"] .zib-school-hero::after,
.zib-reference-school[data-school-page="hub"] .zib-school-dashboard,
.zib-reference-school[data-school-page="hub"] .zib-school-numbers { display: none; }
.zib-reference-school[data-school-page="hub"] .zib-school-hero-grid { display: block; }
.zib-reference-school[data-school-page="hub"] .zib-school-hero-copy { max-width: 780px; margin: auto; text-align: center; }
.zib-reference-school[data-school-page="hub"] .zib-school-pill { padding: 6px 12px; font-size: 10px; }
.zib-reference-school[data-school-page="hub"] .zib-school-hero h1 { margin: 15px 0 7px; font-size: clamp(31px,4vw,47px); line-height: 1.45; letter-spacing: -1.4px; }
.zib-reference-school[data-school-page="hub"] .zib-school-hero-copy > p { max-width: 720px; margin: auto; font-size: 13px; line-height: 2; }
.zib-reference-school[data-school-page="hub"] .zib-school-hero .zib-hero-actions { margin-top: 18px; justify-content: center; }
.zib-reference-school[data-school-page="hub"] .zib-school-proof { justify-content: center; margin-top: 15px; font-size: 10px; }
.zib-reference-school .zib-school-catalog-section { padding: 24px 0 54px; }
.zib-reference-school .zib-school-section-head { align-items: center; margin-bottom: 15px; }
.zib-reference-school .zib-school-section-head h2 { margin: 4px 0; font-size: clamp(22px,2.6vw,31px); letter-spacing: -.5px; }
.zib-reference-school .zib-school-section-head p { font-size: 11px; line-height: 1.9; }
.zib-reference-school .zib-kicker { font-size: 10px; }
.zib-reference-school .zib-course-search { min-width: 310px; min-height: 41px; border-radius: 10px; background: #fff; box-shadow: 0 7px 20px rgba(30,56,95,.05); }
.zib-reference-school .zib-course-search input { font-size: 11px; }
.zib-reference-school .zib-school-filters { gap: 7px; margin: 0 0 17px; }
.zib-reference-school .zib-school-filters button { min-height: 31px; padding: 6px 13px; border-radius: 8px; font-size: 10px; }
.zib-reference-school .zib-school-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.zib-reference-school .zib-school-card { min-height: 214px; padding: 19px; border-radius: 16px; border-color: #dce4ef; box-shadow: var(--ref-shadow); overflow: hidden; }
.zib-reference-school .zib-school-card:hover { transform: translateY(-5px); box-shadow: 0 4px 10px rgba(22,40,70,.08),0 28px 56px rgba(35,67,117,.15),0 50px 100px rgba(37,68,112,.08); }
.zib-reference-school .zib-school-card::after { top: -40px; left: -35px; width: 120px; height: 120px; opacity: .065; }
.zib-reference-school .zib-school-card .zib-course-icon { float: left; width: 52px; height: 52px; margin: -2px 0 3px; border-radius: 13px; }
.zib-reference-school .zib-card-top { margin-top: 6px; font-size: 9px; }
.zib-reference-school .zib-school-card h3 { margin: 14px 0 4px; font-size: 17px; }
.zib-reference-school .zib-school-card > p { min-height: 40px; font-size: 10px; line-height: 1.9; }
.zib-reference-school .zib-card-project { margin-top: 11px; padding: 9px 11px; border: 1px solid #edf1f7; border-radius: 9px; }
.zib-reference-school .zib-card-project span { font-size: 8px; }
.zib-reference-school .zib-card-project strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.zib-reference-school .zib-school-card footer { padding-top: 10px; font-size: 9px; }
.zib-reference-school .zib-ai-school-section { padding: 50px 0; background: linear-gradient(145deg,#06152d,#0b2348); }
.zib-reference-school .zib-ai-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.zib-reference-school .zib-ai-grid .zib-school-card { min-height: 214px; border-color: #294467; background: linear-gradient(180deg,#0d2444,#091b35); }
.zib-reference-school .zib-school-method { padding: 52px 0; }

/* Course route */
.zib-reference-school[data-school-page="course"] .zib-course-hero { padding: 10px 0 0; background: #fbfdff; }
.zib-reference-school[data-school-page="course"] .zib-school-breadcrumb { display: none; }
.zib-reference-school[data-school-page="course"] .zib-course-hero-grid { position: relative; grid-template-columns: minmax(0,1fr) 315px; gap: 34px; min-height: 280px; padding: 34px 38px; overflow: hidden; border: 1px solid #15375f; border-radius: 6px; color: #eef5ff; background: radial-gradient(circle at 13% 22%,rgba(39,111,255,.26),transparent 32%),linear-gradient(135deg,#06182f,#08264a); box-shadow: 0 22px 55px rgba(5,22,46,.18); }
.zib-reference-school[data-school-page="course"] .zib-course-hero-grid::after { content:""; position:absolute; inset:-65% auto auto -3%; width:380px; height:380px; border:1px solid rgba(113,161,232,.11); border-radius:50%; box-shadow:0 0 0 32px rgba(113,161,232,.035),0 0 0 74px rgba(113,161,232,.025); pointer-events:none; }
.zib-reference-school[data-school-page="course"] .zib-course-icon-lg { width:58px; height:58px; margin-left:8px; vertical-align:middle; }
.zib-reference-school[data-school-page="course"] .zib-course-hero .zib-school-pill { color:#bcd0ed; border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.07); }
.zib-reference-school[data-school-page="course"] .zib-course-hero h1 { margin:12px 0 7px; color:#fff; font-size:clamp(28px,3.4vw,41px); line-height:1.35; letter-spacing:-1px; }
.zib-reference-school[data-school-page="course"] .zib-course-hero h1 span { color:#8eb4ff; }
.zib-reference-school[data-school-page="course"] .zib-course-hero-grid > div > p { max-width:650px; color:#c6d4e7; font-size:12px; line-height:2; }
.zib-reference-school[data-school-page="course"] .zib-quality-course-badges { margin-top:10px; }
.zib-reference-school[data-school-page="course"] .zib-quality-course-badges span { padding:5px 9px; color:#d5e2f3; border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.06); font-size:9px; }
.zib-reference-school[data-school-page="course"] .zib-hero-actions { margin-top:16px; }
.zib-reference-school[data-school-page="course"] .zib-hero-actions .zib-btn { background:#1557ff; }
.zib-reference-school[data-school-page="course"] .zib-hero-actions .zib-btn-ghost { color:#e8f0ff; border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.07); }
.zib-reference-school[data-school-page="course"] .zib-course-summary { position:relative; z-index:1; padding:18px 20px; border-color:rgba(255,255,255,.14); border-radius:15px; color:#edf5ff; background:rgba(3,18,38,.66); box-shadow:inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(12px); }
.zib-reference-school[data-school-page="course"] .zib-course-summary > small { color:#8eb5ff; font-size:9px; }
.zib-reference-school[data-school-page="course"] .zib-course-summary > strong { margin:4px 0 5px; color:#fff; font-size:17px; line-height:1.55; }
.zib-reference-school[data-school-page="course"] .zib-course-summary > p { margin:0 0 8px; color:#b8c9df; font-size:9px; line-height:1.8; }
.zib-reference-school[data-school-page="course"] .zib-course-summary > div > span { color:#cad9ec; background:rgba(255,255,255,.08); font-size:8px; }
.zib-reference-school[data-school-page="course"] .zib-course-summary > button { display:none; }
.zib-reference-progress-ring { --progress:0deg; position:relative; display:grid !important; float:left; width:78px; height:78px; margin:0 11px 7px 0; place-content:center; border-radius:50%; text-align:center; background:conic-gradient(#3b82f6 var(--progress),rgba(255,255,255,.17) 0); }
.zib-reference-progress-ring::before { content:""; position:absolute; inset:8px; border-radius:50%; background:#071a34; }
.zib-reference-progress-ring strong,.zib-reference-progress-ring span { position:relative; z-index:1; display:block !important; padding:0 !important; color:#fff !important; background:none !important; }
.zib-reference-progress-ring strong { font-size:15px; }
.zib-reference-progress-ring span { font-size:7px !important; }
.zib-reference-school .zib-curriculum-section { padding:22px 0 34px; background:#fbfdff; }
.zib-reference-school .zib-curriculum-section .zib-school-section-head { justify-content:center; text-align:center; }
.zib-reference-school .zib-curriculum-grid { display:flex; gap:0; overflow-x:auto; padding:12px 5px 26px; scroll-snap-type:x proximity; }
.zib-reference-school .zib-curriculum-grid > a { position:relative; flex:0 0 190px; display:block; min-height:178px; padding:17px 15px; border-radius:14px; border-left:0; text-align:center; scroll-snap-align:start; box-shadow:0 8px 24px rgba(26,50,86,.07); }
.zib-reference-school .zib-curriculum-grid > a:not(:last-child)::after { content:""; position:absolute; z-index:2; top:42px; left:-18px; width:35px; border-top:2px dotted #1557ff; }
.zib-reference-school .zib-roadmap-step { position:relative; display:grid; width:48px !important; height:48px !important; margin:0 auto 8px; place-items:center; border-radius:14px; color:#1557ff; background:#eef4ff; }
.zib-reference-school .zib-roadmap-step i { display:grid; width:27px; height:27px; place-items:center; }
.zib-reference-school .zib-roadmap-step svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.zib-reference-school .zib-roadmap-step b { position:absolute; top:-8px; right:-8px; display:grid; width:22px; height:22px; place-items:center; border:2px solid #fff; border-radius:50%; color:#fff; background:#1557ff; font-size:8px; }
.zib-reference-school .zib-curriculum-grid small { font-size:8px; }
.zib-reference-school .zib-curriculum-grid h3 { margin:4px 0; font-size:13px; line-height:1.55; }
.zib-reference-school .zib-curriculum-grid p { display:-webkit-box; overflow:hidden; margin:3px 0 7px; font-size:9px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.zib-reference-school .zib-curriculum-grid > a > b { font-size:9px; }
.zib-reference-school .zib-project-preview { padding:28px 0; }
.zib-reference-school .zib-project-preview-grid { grid-template-columns:1fr; gap:0; padding:22px 28px; border:1px solid #bfe5d1; border-radius:15px; text-align:center; background:linear-gradient(135deg,#f3fff8,#f8fffb); }
.zib-reference-school .zib-project-preview h2 { margin:3px 0; color:#08794b; font-size:23px; }
.zib-reference-school .zib-project-preview p { margin:5px auto; max-width:780px; font-size:11px; }
.zib-reference-school .zib-project-preview ul,.zib-reference-school .zib-project-terminal { display:none; }

/* Lesson view */
.zib-reference-school[data-school-page="lesson"] .zib-lesson-top { padding:22px 0 17px; border-bottom:1px solid #e7edf5; background:#fff; }
.zib-reference-school[data-school-page="lesson"] .zib-school-breadcrumb { margin-bottom:9px; font-size:9px; }
.zib-reference-school[data-school-page="lesson"] .zib-lesson-title { grid-template-columns:minmax(0,1fr) 125px; gap:24px; }
.zib-reference-school[data-school-page="lesson"] .zib-lesson-title h1 { margin:8px 0 4px; font-size:clamp(24px,3vw,35px); line-height:1.45; letter-spacing:-.6px; }
.zib-reference-school[data-school-page="lesson"] .zib-lesson-title p { max-width:820px; margin:0; color:var(--ref-muted); font-size:11px; line-height:1.9; }
.zib-reference-school[data-school-page="lesson"] .zib-lesson-score { padding:12px; border-radius:13px; }
.zib-reference-school[data-school-page="lesson"] .zib-lesson-score strong { font-size:22px; }
.zib-reference-school .zib-lesson-shell { padding:18px 0 46px; background:#f7fafe; }
.zib-reference-school .zib-lesson-layout { grid-template-columns:230px minmax(0,1fr); gap:16px; align-items:start; }
.zib-reference-school .zib-course-sidebar { top:78px; max-height:calc(100vh - 96px); border-radius:14px; box-shadow:0 15px 38px rgba(29,52,88,.10); }
.zib-reference-school .zib-sidebar-course { padding:14px; }
.zib-reference-school .zib-sidebar-course .zib-course-icon { flex:0 0 42px; width:42px; height:42px; }
.zib-reference-school .zib-course-sidebar nav a { min-height:50px; padding:8px 10px; font-size:10px; }
.zib-reference-school .zib-course-sidebar nav a > span { width:24px; height:24px; }
.zib-reference-school .zib-course-sidebar nav small { font-size:7px; }
.zib-reference-school .zib-school-lesson-content { padding:24px; border-radius:15px; box-shadow:0 12px 34px rgba(34,57,92,.075); font-size:14px; }
.zib-reference-school .zib-quality-content > section { margin-bottom:25px; }
.zib-reference-school .zib-quality-outcomes { grid-template-columns:180px 1fr; gap:17px; margin-bottom:18px; padding:18px; border-color:#ccebdd; border-radius:13px; background:linear-gradient(135deg,#f2fff8,#f8fffb); }
.zib-reference-school .zib-quality-outcomes h2 { font-size:16px; line-height:1.65; }
.zib-reference-school .zib-quality-outcomes ul { gap:6px; }
.zib-reference-school .zib-quality-outcomes li { padding:7px 34px 7px 9px; border:1px solid #e2f1e9; border-radius:8px; font-size:10px; box-shadow:none; }
.zib-reference-school .zib-quality-outcomes li::before { top:6px; right:9px; width:18px; height:18px; background:#16a66a; }
.zib-reference-school .zib-quality-analogy { grid-template-columns:48px 1fr; gap:14px; margin-bottom:18px; padding:19px; border-radius:13px; box-shadow:0 12px 30px rgba(5,16,34,.14); }
.zib-reference-school .zib-quality-analogy-icon { width:45px; height:45px; border-radius:12px; font-size:22px; }
.zib-reference-school .zib-quality-analogy h2 { margin:3px 0 5px; font-size:17px; }
.zib-reference-school .zib-quality-analogy p { font-size:11px; line-height:1.95; }
.zib-beginner-note { display:grid; grid-template-columns:46px 1fr; gap:14px; align-items:start; margin:0 0 20px; padding:18px; border:1px solid #f3d492; border-radius:13px; background:linear-gradient(135deg,#fffaf0,#fff6db); box-shadow:0 10px 28px rgba(142,96,16,.08); }
.zib-beginner-bulb { display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:#b87000; background:#ffedbb; }
.zib-beginner-bulb svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.zib-beginner-note span { color:#9a6100; font-size:10px; font-weight:900; }
.zib-beginner-note h2 { margin:3px 0 5px; color:#4c3107; font-size:16px; line-height:1.75; }
.zib-beginner-note p { margin:3px 0; color:#6d501b; font-size:10px; line-height:1.9; }
.zib-reference-school .zib-quality-section { margin-bottom:28px; }
.zib-reference-school .zib-quality-section > h2 { margin:4px 0 8px; font-size:22px; }
.zib-reference-school .zib-quality-section > p { margin-bottom:14px; font-size:11px; line-height:2; }
.zib-reference-school .zib-quality-concepts,.zib-reference-school .zib-quality-steps { gap:9px; }
.zib-reference-school .zib-quality-concepts article,.zib-reference-school .zib-quality-steps article { padding:15px; border-radius:12px; box-shadow:0 7px 19px rgba(28,52,88,.055); }
.zib-reference-school .zib-quality-concepts h3,.zib-reference-school .zib-quality-steps article > h3 { font-size:13px; }
.zib-reference-school .zib-quality-concepts p,.zib-reference-school .zib-quality-steps article > p { font-size:10px; }
.zib-reference-school .zib-quality-deep-dive,.zib-reference-school .zib-quality-story,.zib-reference-school .zib-quality-order-section { padding:20px; border-radius:14px; }
.zib-reference-school .zib-quality-steps { margin-top:14px; }
.zib-reference-school .zib-quality-steps article > span { width:30px; height:30px; margin-bottom:8px; border-radius:9px; }
.zib-reference-school .zib-quality-pro-tip { padding:12px 14px; border-radius:10px; font-size:10px; }
.zib-reference-school .zib-quality-flow { margin-top:12px; }
.zib-reference-school .zib-quality-flow span { padding:9px; border-radius:9px; font-size:10px; }
.zib-reference-school .zib-quality-order-grid { gap:10px; }
.zib-reference-school .zib-quality-order-grid > div { padding:12px; border-radius:12px; }
.zib-reference-school .zib-quality-order-list { min-height:110px; }
.zib-reference-school .zib-quality-order-list > button,.zib-reference-school .zib-quality-order-list > li { min-height:38px; padding:7px 9px; border-radius:8px; }
.zib-reference-school .zib-quality-lab { border-radius:14px; box-shadow:0 17px 42px rgba(7,16,31,.2); }
.zib-reference-school .zib-quality-lab .zib-lab-grid { grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); min-height:300px; }
.zib-reference-school .zib-quality-lab .zib-editor-wrap,.zib-reference-school .zib-quality-lab .zib-output-wrap { min-height:300px; }
.zib-reference-school .zib-quality-lab .zib-output-wrap pre { min-height:220px; }
.zib-reference-school .zib-quality-diagnostics { border-radius:12px; }
.zib-reference-school .zib-quality-mistakes { grid-template-columns:repeat(3,1fr); gap:8px; }
.zib-reference-school .zib-quality-mistakes article { grid-template-columns:30px 1fr; padding:11px; border-radius:10px; font-size:10px; }
.zib-reference-school .zib-quality-mistakes span { width:26px; height:26px; border-radius:8px; }
.zib-reference-school .zib-quality-quiz-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.zib-reference-school .zib-quality-quiz-card { padding:15px; border-radius:12px; box-shadow:0 8px 22px rgba(28,52,88,.065); }
.zib-reference-school .zib-quality-quiz-card h3 { font-size:13px; line-height:1.75; }
.zib-reference-school .zib-quality-quiz button { min-height:36px; padding:7px 10px; font-size:10px; }
.zib-reference-school .zib-lesson-complete { padding:20px; border-radius:14px; }

/* Dark theme keeps the same hierarchy, without flattening the cards. */
body.zib-theme-dark.zib-reference-school,body.zib-dark.zib-reference-school { --ref-ink:#edf3ff; --ref-muted:#aebbd0; --ref-line:#273b59; background:#07101f; }
body.zib-theme-dark.zib-reference-school .zib-header,body.zib-dark.zib-reference-school .zib-header { border-color:#1f3350; background:rgba(7,16,31,.94); }
body.zib-theme-dark.zib-reference-school .zib-school-catalog-section,body.zib-dark.zib-reference-school .zib-school-catalog-section,
body.zib-theme-dark.zib-reference-school .zib-curriculum-section,body.zib-dark.zib-reference-school .zib-curriculum-section,
body.zib-theme-dark.zib-reference-school .zib-lesson-top,body.zib-dark.zib-reference-school .zib-lesson-top { background:#07101f; }
body.zib-theme-dark.zib-reference-school .zib-school-card,body.zib-dark.zib-reference-school .zib-school-card,
body.zib-theme-dark.zib-reference-school .zib-school-lesson-content,body.zib-dark.zib-reference-school .zib-school-lesson-content { color:#eaf2ff; border-color:#263b59; background:linear-gradient(180deg,#0d1b2f,#0a1729); }
body.zib-theme-dark.zib-reference-school .zib-course-search,body.zib-dark.zib-reference-school .zib-course-search { border-color:#29405f; background:#0d1b2f; }
body.zib-theme-dark.zib-reference-school .zib-beginner-note,body.zib-dark.zib-reference-school .zib-beginner-note { border-color:#765b27; background:linear-gradient(135deg,#2b2415,#241d10); }
body.zib-theme-dark.zib-reference-school .zib-beginner-note h2,body.zib-dark.zib-reference-school .zib-beginner-note h2 { color:#ffe7ab; }
body.zib-theme-dark.zib-reference-school .zib-beginner-note p,body.zib-dark.zib-reference-school .zib-beginner-note p { color:#d8c28d; }

@media (max-width: 1024px) {
  .zib-reference-school .zib-school-grid,.zib-reference-school .zib-ai-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .zib-reference-school[data-school-page="course"] .zib-course-hero-grid { grid-template-columns:1fr 285px; padding:28px; }
  .zib-reference-school .zib-lesson-layout { display:block; }
  .zib-reference-school .zib-school-lesson-content { max-width:850px; margin:auto; }
}

@media (max-width: 760px) {
  .zib-reference-school .zib-container { width:min(100% - 22px,1180px); }
  .zib-reference-school .zib-header-inner > .zib-nav { display:none; }
  .zib-reference-school[data-school-page="hub"] .zib-school-hero { padding-top:26px; }
  .zib-reference-school[data-school-page="hub"] .zib-school-hero h1 { font-size:31px; }
  .zib-reference-school[data-school-page="hub"] .zib-school-hero .zib-hero-actions,.zib-reference-school[data-school-page="hub"] .zib-school-proof { display:none; }
  .zib-reference-school .zib-school-section-head { align-items:stretch; flex-direction:column; gap:12px; }
  .zib-reference-school .zib-course-search { width:100%; min-width:0; }
  .zib-reference-school .zib-school-grid,.zib-reference-school .zib-ai-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zib-reference-school .zib-school-card { min-height:205px; padding:15px; }
  .zib-reference-school[data-school-page="course"] .zib-course-hero-grid { display:block; min-height:0; padding:24px 20px; }
  .zib-reference-school[data-school-page="course"] .zib-course-summary { margin-top:18px; }
  .zib-reference-school .zib-curriculum-grid { display:grid; grid-template-columns:1fr; gap:8px; overflow:visible; }
  .zib-reference-school .zib-curriculum-grid > a { display:grid; grid-template-columns:52px 1fr auto; min-height:0; padding:12px; text-align:right; }
  .zib-reference-school .zib-curriculum-grid > a:not(:last-child)::after { top:auto; right:37px; bottom:-10px; left:auto; width:0; height:13px; border-top:0; border-right:2px dotted #1557ff; }
  .zib-reference-school .zib-roadmap-step { margin:0; }
  .zib-reference-school .zib-curriculum-grid p { -webkit-line-clamp:2; }
  .zib-reference-school[data-school-page="lesson"] .zib-lesson-title { grid-template-columns:1fr; }
  .zib-reference-school[data-school-page="lesson"] .zib-lesson-score { display:none; }
  .zib-reference-school .zib-school-lesson-content { padding:17px 14px 24px; }
  .zib-reference-school .zib-quality-outcomes { grid-template-columns:1fr; }
  .zib-reference-school .zib-quality-analogy,.zib-beginner-note { grid-template-columns:42px 1fr; }
  .zib-reference-school .zib-quality-concepts,.zib-reference-school .zib-quality-steps { grid-template-columns:1fr; }
  .zib-reference-school .zib-quality-lab .zib-lab-grid,.zib-reference-school .zib-quality-order-grid { grid-template-columns:1fr; }
  .zib-reference-school .zib-quality-lab .zib-editor-wrap { min-height:300px; border-right:0; border-bottom:1px solid #293750; }
  .zib-reference-school .zib-quality-lab .zib-output-wrap { min-height:230px; }
  .zib-reference-school .zib-quality-mistakes,.zib-reference-school .zib-quality-quiz-list { grid-template-columns:1fr; }
}

@media (max-width: 460px) {
  .zib-reference-school .zib-header-actions .zib-btn { display:none; }
  .zib-reference-school .zib-school-grid,.zib-reference-school .zib-ai-grid { grid-template-columns:1fr; }
  .zib-reference-school .zib-school-card { min-height:190px; }
  .zib-reference-school[data-school-page="course"] .zib-course-hero h1 { font-size:28px; }
  .zib-reference-school .zib-curriculum-grid > a { grid-template-columns:48px 1fr; }
  .zib-reference-school .zib-curriculum-grid > a > b { display:none; }
  .zib-reference-school .zib-quality-analogy,.zib-beginner-note { grid-template-columns:1fr; }
}
