/* Shared content-platform layer. It styles the reading shell and keeps the
   course-specific commands, diagrams and evidence blocks untouched. */
:root{--cp-ink:#18191c;--cp-muted:#6b7280;--cp-line:#e7e9ee;--cp-canvas:#f6f7f9;--cp-accent:#fb7299;--cp-accent-deep:#e9567e;--cp-radius:14px}
body.site-has-nav{background:var(--cp-canvas);color:var(--cp-ink)}
body.site-has-nav>:is(main,.main,.container,.chapter-container,.doc-article,.doc-prose){position:relative}
body.site-has-nav section,body.site-has-nav article,body.site-has-nav .card,body.site-has-nav .content-card,body.site-has-nav .week{border-radius:var(--cp-radius)}
body.site-has-nav :is(.main-content,.chapter-container,.doc-article,.doc-prose){border-color:var(--cp-line)}
body.site-has-nav h1{letter-spacing:-.035em}body.site-has-nav h2{letter-spacing:-.02em}body.site-has-nav a{text-underline-offset:3px}body.site-has-nav pre{border-radius:12px}
.cp-context{width:min(1180px,calc(100% - 40px));margin:16px auto 0;min-height:42px;display:flex;align-items:center;gap:10px;color:var(--cp-muted);font-size:13px}
.cp-context__tag{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#fff0f4;color:var(--cp-accent-deep);font-size:12px;font-weight:700}.cp-context__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.site-has-nav>h1,body.site-has-nav>p,body.site-has-nav>section,body.site-has-nav>nav:not(.site-nav-home):not(.cp-step-nav),body.site-has-nav>.full-v3{max-width:min(980px,calc(100% - 40px))}
.cp-course-index{position:sticky;bottom:16px;z-index:30;display:flex;align-items:center;gap:10px;width:fit-content;margin:24px 24px 20px auto;padding:10px 13px;border:1px solid rgba(24,25,28,.08);border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(18,20,26,.12);backdrop-filter:blur(12px)}
.cp-course-index a{color:#18191c;font-size:13px;font-weight:700;text-decoration:none}.cp-course-index a:hover{color:var(--cp-accent-deep)}.cp-course-index b{color:#b7bcc6;font-weight:400}
html[data-theme="dark"] body.site-has-nav{background:#18191c!important}html[data-theme="dark"] .cp-context{color:#aeb4c0}html[data-theme="dark"] .cp-context__tag{background:#442333;color:#ff9ab4}html[data-theme="dark"] .cp-course-index{background:rgba(35,36,40,.92);border-color:#3f4249}html[data-theme="dark"] .cp-course-index a{color:#e7e9ee!important}
/* MIPI CSI-2 / CCI uses a technical reader layout.  These overrides make the
   spec reader feel like part of the learning hub while retaining its dense
   engineering tables and bilingual material. */
body.site-has-nav .top:has(.topin .crumb){margin:0;border:0;background:linear-gradient(116deg,#20222a,#343743 55%,#fb7299);box-shadow:none}body.site-has-nav .top:has(.topin .crumb) .topin{max-width:1180px;padding-top:28px;padding-bottom:30px}body.site-has-nav .top:has(.topin .crumb) .crumb{color:#d8dbe2}body.site-has-nav .top:has(.topin .crumb) .crumb a{color:#fff;font-weight:700}body.site-has-nav .top:has(.topin .crumb) h1{font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}body.site-has-nav .wrap:has(.side){max-width:1180px;gap:18px;padding-top:22px}.site-has-nav .side{border:1px solid #e7e9ee;border-radius:14px;box-shadow:0 6px 18px rgba(18,20,26,.05)}.site-has-nav .side h2{background:#fff2f5;color:#e9567e;border-bottom:1px solid #ffe0e8}.site-has-nav .side a{padding:10px 14px;border-color:#f0f1f3;color:#4b505a}.site-has-nav .side a:hover{background:#fff6f8;color:#e9567e;text-decoration:none}.site-has-nav .side a.active{border-left-color:#fb7299;background:#fff0f4;color:#e9567e}.site-has-nav .content{border-color:#e7e9ee;border-radius:16px;box-shadow:0 8px 24px rgba(18,20,26,.045)}.site-has-nav .content>.eyebrow{display:inline-flex;padding:5px 9px;border-radius:7px;background:#fff0f4;color:#e9567e;font-size:12px}.site-has-nav .content h2{border-left-color:#fb7299}.site-has-nav .callout{border-left-color:#fb7299;background:#fff7f9}.site-has-nav .button{border-radius:9px;background:#fb7299}.site-has-nav .button.next{background:#30323a}
html[data-theme="dark"] .site-has-nav .top:has(.topin .crumb){background:linear-gradient(116deg,#17181d,#2e2330 60%,#7e2945)}html[data-theme="dark"] .site-has-nav .side,html[data-theme="dark"] .site-has-nav .content{border-color:#3a3d45!important}html[data-theme="dark"] .site-has-nav .side h2,html[data-theme="dark"] .site-has-nav .side a.active{background:#442333!important;color:#ffb0c5!important}html[data-theme="dark"] .site-has-nav .callout{background:#3b2730!important;border-left-color:#ff8ead!important}
/* Linux kernel camera course: shared semantic blocks across the long-form chapters. */
body.site-has-nav .catalog-container{max-width:1180px;padding:0 20px 40px}body.site-has-nav .catalog-hero{margin:0 -20px 20px;padding:48px max(20px,calc((100vw - 1180px)/2 + 20px)) 42px;text-align:left;border-radius:0;background:radial-gradient(circle at 84% 0%,rgba(255,255,255,.17),transparent 27%),linear-gradient(117deg,#20222a,#37313a 59%,#df587f)}body.site-has-nav .catalog-hero h1{font-size:clamp(29px,4vw,43px);letter-spacing:-.05em;line-height:1.16}body.site-has-nav .catalog-hero .subtitle{display:inline-flex;margin-top:10px;padding:5px 10px;border:1px solid rgba(255,255,255,.21);border-radius:999px;background:rgba(255,255,255,.1);color:#fff0f4;font-size:12px;letter-spacing:.03em}body.site-has-nav .stats-bar{justify-content:flex-start;gap:28px;margin-bottom:18px;padding:14px 17px;border-color:#e7e9ee;border-radius:14px;box-shadow:0 5px 16px rgba(18,20,26,.04)}body.site-has-nav .stats-number{color:#e9567e}body.site-has-nav .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}body.site-has-nav .catalog-card{padding:17px 16px 14px;border-color:#e7e9ee;border-radius:14px;box-shadow:0 5px 16px rgba(18,20,26,.045)}body.site-has-nav .catalog-card:hover{border-color:#ffb3c7;box-shadow:0 12px 25px rgba(24,25,28,.09)}body.site-has-nav .card-number{width:auto;height:auto;min-width:39px;padding:5px 7px;border-radius:8px;background:#fff0f4;color:#e9567e}body.site-has-nav .card-title{min-height:0;font-size:15px;letter-spacing:-.015em}body.site-has-nav .card-points li::before{color:#fb7299}body.site-has-nav .card-action{padding:7px 11px;border-radius:8px;background:#fb7299}body.site-has-nav .catalog-card:hover .card-action{background:#e9567e}
body.site-has-nav .chapter-container{max-width:980px;margin:0 auto 42px;padding:28px 34px 42px;border:1px solid #e7e9ee;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,20,26,.045)}body.site-has-nav .chapter-header{margin:-28px -34px 28px;padding:31px 34px 29px;border-radius:17px 17px 0 0;background:radial-gradient(circle at 84% 0%,rgba(255,255,255,.17),transparent 28%),linear-gradient(117deg,#20222a,#37313a 59%,#df587f)}body.site-has-nav .chapter-header h2{font-size:clamp(23px,3vw,32px);letter-spacing:-.045em}body.site-has-nav .chapter-guide{border-color:#e7e9ee;border-radius:14px;box-shadow:0 4px 14px rgba(18,20,26,.035)}body.site-has-nav .guide-meta{background:#f6f7f9;border-bottom-color:#eceef2}body.site-has-nav .guide-meta-item{border-right-color:#eceef2}body.site-has-nav .guide-learn-label,body.site-has-nav .guide-concepts-label{color:#e9567e}body.site-has-nav .guide-learn-label::before,body.site-has-nav .guide-concepts-label::before{background:#fb7299}body.site-has-nav .guide-learn li::before{color:#fb7299}body.site-has-nav .guide-concept-tag,body.site-has-nav .keyword-tags .tag{border-color:#ffd7e3;background:#fff5f8;color:#d94b73}body.site-has-nav .chapter-content h3{border-left-color:#fb7299;background:#fff6f8}body.site-has-nav .concept-block,body.site-has-nav .key-point{border-color:#ffd7e3;background:#fff7f9}body.site-has-nav .concept-block h4,body.site-has-nav .key-point h4{color:#d94b73}body.site-has-nav .tip-box{border-left-color:#fb7299}body.site-has-nav .tip-box::before{color:#e9567e;background:#fff0f4}body.site-has-nav .practice-box{border-color:#ffd1df;border-left-color:#fb7299;background:linear-gradient(135deg,#fff7f9,#fff)}body.site-has-nav .practice-box::before{color:#d94b73;border-bottom-color:#ffd7e3}body.site-has-nav .practice-box code{background:#fff0f4;color:#d94b73}body.site-has-nav .question-section.followup-section,body.site-has-nav .question-section.quick-answer{background:#fff7f9;border-bottom-color:#ffd7e3}body.site-has-nav .question-section.quick-answer h4,body.site-has-nav .question-section.quick-answer p{color:#b83e60}
html[data-theme="dark"] body.site-has-nav .stats-bar,html[data-theme="dark"] body.site-has-nav .catalog-card,html[data-theme="dark"] body.site-has-nav .chapter-container,html[data-theme="dark"] body.site-has-nav .chapter-guide{border-color:#3a3d45!important;background:#232428!important;box-shadow:none}html[data-theme="dark"] body.site-has-nav .guide-meta{background:#2b2d33!important;border-bottom-color:#3a3d45!important}html[data-theme="dark"] body.site-has-nav .guide-meta-item{border-right-color:#3a3d45!important}html[data-theme="dark"] body.site-has-nav .catalog-card :is(.card-title,.card-points li),html[data-theme="dark"] body.site-has-nav .chapter-container :is(h3,h4,p,li){color:#dfe1e6!important}html[data-theme="dark"] body.site-has-nav :is(.concept-block,.key-point,.practice-box,.question-section.followup-section,.question-section.quick-answer){background:#3b2730!important;border-color:#613645!important}html[data-theme="dark"] body.site-has-nav .chapter-content h3{background:#442333!important;border-left-color:#ff8ead!important}
/* Embedded Linux driver course: normalize the legacy directory and two-column reader. */
body.site-has-nav .course-container{max-width:1180px;margin:0 auto;padding:0 20px 40px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}body.site-has-nav .course-container .header{display:block;margin:0 -20px 22px;padding:49px max(20px,calc((100vw - 1180px)/2 + 20px)) 42px;border:0;background:radial-gradient(circle at 84% 0%,rgba(255,255,255,.17),transparent 27%),linear-gradient(117deg,#20222a,#37313a 59%,#df587f)}body.site-has-nav .course-container .header h1{display:block;color:#fff;background:none;-webkit-text-fill-color:#fff;text-shadow:none;font-size:clamp(29px,4vw,43px);letter-spacing:-.05em;line-height:1.16}body.site-has-nav .course-container .header h1::before{display:none}body.site-has-nav .header-badge{display:inline-flex;margin-top:15px;padding:5px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);box-shadow:none;color:#fff0f4;font-size:12px}body.site-has-nav .header-badge i{margin-left:6px;padding:0;background:transparent;color:#fff;font-size:inherit}body.site-has-nav .course-container .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}body.site-has-nav .chapter-card{padding:17px;border-color:#e7e9ee;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(18,20,26,.045)}body.site-has-nav .chapter-card:hover{transform:translateY(-3px);border-color:#ffb3c7;background:#fff;box-shadow:0 12px 25px rgba(24,25,28,.09)}body.site-has-nav .chapter-num{min-width:39px;padding:5px 7px;border:0;border-radius:8px;background:#fff0f4;color:#e9567e;font-size:13px;line-height:1.4}body.site-has-nav .chapter-title{color:#30323a;font-size:15px;line-height:1.35}body.site-has-nav .chapter-title small{border:1px solid #eceef2;background:#f6f7f9;color:#6b7280;font-size:10px}body.site-has-nav .topic-list span{padding:3px 7px;border-color:#eceef2;background:#f6f7f9;color:#6b7280;font-size:11px}body.site-has-nav .card-arrow{color:#e9567e}body.site-has-nav .card-arrow span{background:#fff0f4}
body.site-has-nav .double-border{max-width:1120px;margin:0 auto 40px;border:1px solid #e7e9ee;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,20,26,.045);overflow:hidden}body.site-has-nav .double-border .container{grid-template-columns:232px minmax(0,1fr);background:#fff}body.site-has-nav .sidebar{padding:22px 14px;border-right:1px solid #e7e9ee;background:#f6f7f9}body.site-has-nav .sidebar h3{padding-left:11px;border-left:3px solid #fb7299;color:#30323a;font-size:16px}body.site-has-nav .chapter-list a{padding:8px 10px;border-radius:8px;color:#4b505a;font-size:13px}.site-has-nav .chapter-list a:hover{transform:none;background:#fff0f4;color:#e9567e}.site-has-nav .chapter-list .active{background:#fb7299;box-shadow:none}.site-has-nav .main-content{padding:29px 34px;background:#fff}.site-has-nav .main-content h2{border-left-color:#fb7299;color:#30323a}.site-has-nav .main-content h3{color:#30323a}.site-has-nav .main-content table{border-color:#e7e9ee;background:#fff}.site-has-nav .main-content th,.site-has-nav .main-content td{border-color:#e7e9ee}.site-has-nav .main-content th{background:#fff6f8}.site-has-nav .main-content .tip{border-left-color:#fb7299;background:#fff7f9}.site-has-nav .main-content .highlight{border-color:#ffd1df;background:#fff7f9}.site-has-nav .footer-nav{border-top-color:#e7e9ee}.site-has-nav .footer-nav a{color:#d94b73;background:#fff0f4}.site-has-nav .footer-nav a:hover{background:#ffe0e8;transform:none}
html[data-theme="dark"] body.site-has-nav .course-container .chapter-card,html[data-theme="dark"] body.site-has-nav .double-border,html[data-theme="dark"] body.site-has-nav .double-border .container,html[data-theme="dark"] body.site-has-nav .main-content{border-color:#3a3d45!important;background:#232428!important;box-shadow:none}html[data-theme="dark"] body.site-has-nav .sidebar{border-color:#3a3d45!important;background:#1e1f23!important}html[data-theme="dark"] body.site-has-nav .chapter-card :is(.chapter-title,.topic-list span),html[data-theme="dark"] body.site-has-nav .main-content :is(h2,h3,p,li,td){color:#dfe1e6!important}html[data-theme="dark"] body.site-has-nav .main-content th{background:#442333!important;color:#ffb0c5!important}
@media(max-width:700px){.cp-context{width:calc(100% - 24px);margin-top:8px;font-size:12px}.cp-context__title{max-width:58vw}body.site-has-nav>h1,body.site-has-nav>p,body.site-has-nav>section,body.site-has-nav>nav:not(.site-nav-home):not(.cp-step-nav),body.site-has-nav>.full-v3{max-width:calc(100% - 24px)}.cp-course-index{right:12px;bottom:12px;margin:18px 12px 12px auto}}
