@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
body[data-module]{--bg-primary:#f4f6f3;--bg-secondary:#e9eeeb;--bg-card:#fff;--bg-card-hover:#f7f9f7;--border-color:#d7ddd8;--text-primary:#122033;--text-secondary:#56645f;--text-muted:#74817c;--accent:#006fba;--accent-hover:#005d9d;--accent-light:#006fba;--success-text:#137a58;--success-bg:#e6f4ee;--success-border:#a8d7c5;--warning-text:#9a6410;--warning-bg:#fff5df;--warning-border:#e4c17d;--danger-text:#a6373f;--danger-bg:#fbeaec;--danger-border:#deb0b5;--purple-text:#74509a;--purple-bg:#f0eaf6;--purple-border:#cbb8dc;--font:'Manrope',sans-serif;--mono:'DM Mono',monospace;--shadow:0 10px 28px rgba(16,37,57,.08);--shadow-lg:0 16px 38px rgba(16,37,57,.12);background:var(--bg-primary);color:var(--text-primary)}
body[data-module] .container{max-width:1180px}body[data-module] .site-header{min-height:68px;padding:0;background:rgba(255,255,255,.94);border-color:var(--border-color);backdrop-filter:blur(10px)}body[data-module] .site-header .container{min-height:68px}body[data-module] .site-logo{color:var(--text-primary);font:500 11px var(--mono);letter-spacing:.08em}body[data-module] .site-logo span{color:var(--accent)}body[data-module] .site-nav{gap:1rem}body[data-module] .site-nav a{color:var(--text-secondary);font-size:12px}body[data-module] .site-nav a:hover{color:var(--text-primary)}
body[data-module] .module-hero{padding:42px 0 34px;background:linear-gradient(90deg,#eef3f1 0,#f8f9f7 62%,#e5edeb 100%);border-color:var(--border-color)}body[data-module] .module-hero::before{display:none}body[data-module] .breadcrumb,body[data-module] .breadcrumb a{color:var(--text-muted);font:500 10px var(--mono)}body[data-module] .breadcrumb a:hover{color:var(--accent)}body[data-module] .module-badge{border:0;border-left:4px solid #b8cf48;border-radius:0;background:transparent;color:var(--accent);font:500 10px var(--mono);padding:3px 0 3px 10px}body[data-module] .module-hero h1{max-width:780px;color:var(--text-primary);font-size:36px;letter-spacing:0}body[data-module] .core-question{max-width:720px;color:var(--text-secondary);font-size:16px;font-style:normal}body[data-module] .core-question::before,body[data-module] .core-question::after{color:var(--accent)}body[data-module] .meta-chip{border-radius:0;background:#fff;border-color:var(--border-color);color:var(--text-secondary);font-size:11px}
body[data-module] .tab-nav{top:68px;background:rgba(255,255,255,.96);border-color:var(--border-color);box-shadow:0 5px 18px rgba(16,37,57,.04);backdrop-filter:blur(8px)}body[data-module] .tab-btn{color:var(--text-secondary);font-size:12px;padding:14px 18px}body[data-module] .tab-btn:hover{color:var(--text-primary);background:#f2f5f3}body[data-module] .tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}body[data-module] .tab-panel{padding:34px 0}
body[data-module] .info-card,body[data-module] .framework-card,body[data-module] .exercise-card,body[data-module] .rubric-intro,body[data-module] .rubric-table,body[data-module] .scenario-card,body[data-module] .misconceptions-card,body[data-module] .diagram-comparison,body[data-module] .calibration-notes,body[data-module] .learning-lab{border-radius:0;background:#fff;border-color:var(--border-color);box-shadow:none}body[data-module] .info-card-label,body[data-module] .framework-tag,body[data-module] .scenario-section-label,body[data-module] .fw-label{color:var(--accent);font-family:var(--mono)}body[data-module] .info-card-label{font-size:10px;font-weight:500}body[data-module] .arrow-list li,body[data-module] .framework-card p,body[data-module] .exercise-body p,body[data-module] .exercise-body li,body[data-module] .rubric-intro,body[data-module] .indicator-note,body[data-module] .scenario-title,body[data-module] .scenario-section p,body[data-module] .scenarios-intro{color:var(--text-secondary)}body[data-module] .outcome-item{border-radius:0;background:#eef2f0;color:var(--text-primary)}body[data-module] .outcome-check{border-radius:0;background:var(--success-bg)}body[data-module] .file-chip{border-radius:0;background:#f5f7f6;border-color:var(--border-color);color:var(--text-secondary)}body[data-module] a.file-chip:hover{background:#edf5f6;color:var(--accent);border-color:#83aab8}
body[data-module] .framework-card{border-top:3px solid #276274}body[data-module] .framework-card::after{display:none}body[data-module] .framework-card:hover{border-color:#78959d;border-top-color:#276274;background:#fbfcfb;box-shadow:var(--shadow)}body[data-module] .framework-tag{border-radius:0;border:0;background:#eaf2f5;padding:4px 7px}body[data-module] .framework-card h3,body[data-module] .scenario-customer,body[data-module] .exercise-title-group h4,body[data-module] .rubric-indicator{color:var(--text-primary)}body[data-module] .fw-section{border-color:var(--border-color)}
body[data-module] .exercise-list{gap:10px}body[data-module] .exercise-card{border-left:3px solid #276274}body[data-module] .exercise-header:hover{background:#f1f5f3}body[data-module] .exercise-num{border-radius:0;background:#155f67}body[data-module] .exercise-body{border-color:var(--border-color)}body[data-module] .exercise-prompt{border-radius:0;background:#eef5f5;color:var(--text-secondary)}body[data-module] .exercise-prompt strong{color:#155f67}body[data-module] .example-toggle{border-radius:0;background:#eef5f5;border-color:#b8c9ce;color:#155f67}body[data-module] .example-box{border-radius:0;background:#f7f9f8;border-color:var(--border-color);color:var(--text-secondary)}body[data-module] .example-box strong{color:var(--text-primary)}body[data-module] .example-table th{background:#e9eeeb;color:var(--text-primary)}body[data-module] .example-table td{border-color:var(--border-color);color:var(--text-secondary)}
body[data-module] .rubric-row{border-color:var(--border-color)}body[data-module] .rubric-row:hover{background:#f7f9f7}body[data-module] .rating-btn{border-radius:0;background:#fff}body[data-module] .btn{border-radius:0}body[data-module] .btn-primary{background:var(--accent);color:#fff}body[data-module] .btn-primary:hover{background:var(--accent-hover)}body[data-module] .btn-secondary{color:var(--text-primary);border-color:#aeb9b4}body[data-module] .btn-secondary:hover{background:#eef5f5;color:var(--text-primary);border-color:var(--accent)}
body[data-module] .scenario-card{border-left:3px solid #276274}body[data-module] .scenario-card.capstone-scenario{border-color:#83aab8;border-left:4px solid var(--accent);background:#f8fbfb}body[data-module] .scenario-card.capstone-scenario::before{border-radius:0;background:var(--accent)}body[data-module] .scenario-header{border-color:var(--border-color)}body[data-module] .framework-tag-pill{border-radius:0;background:#eaf2f5;border-color:#b8c9ce;color:#155f67}body[data-module] .scenario-outcome{border-radius:0;background:var(--success-bg)}body[data-module] .misconceptions-card{border-left:4px solid var(--warning-text)}body[data-module] .misconceptions-list li{color:var(--text-secondary);border-color:#eadfc9}body[data-module] .misconceptions-list strong{color:var(--text-primary)}body[data-module] .where-used-item{border-radius:0;background:#f5f7f6;border-color:var(--border-color)}body[data-module] .where-used-item h5{color:var(--text-primary)}body[data-module] .where-used-item p{color:var(--text-secondary)}
body[data-module] .notice{border-radius:0;background:#eef5f5;border-color:#b8c9ce;color:var(--text-secondary)}body[data-module] .notice strong{color:#155f67}body[data-module] .notice-capstone{background:var(--purple-bg);border-color:var(--purple-border)}body[data-module] .architecture-figure,body[data-module] .diagram-comparison-grid figure{border-radius:0;background:#fff;border-color:var(--border-color)}body[data-module] .diagram-comparison-grid figure figcaption{color:var(--text-secondary);background:#f5f7f6}body[data-module] .diagram-source-link{color:var(--accent)}
body[data-module] .module-footer{background:#e9eeeb;border-color:var(--border-color)}body[data-module] .mod-nav-btn,body[data-module] .mod-nav-home{border-radius:0;background:#fff;color:var(--text-secondary);border-color:#b9c3bf}body[data-module] .mod-nav-btn:hover,body[data-module] .mod-nav-home:hover{background:#eef5f5;color:var(--accent);border-color:var(--accent)}body[data-module] .progress-track{background:#cfd8d4}body[data-module] .site-footer{background:#102539;border-color:#294457;color:#aac0c8}
body[data-module] .contoso-opening,body[data-module] .contoso-transfer{max-width:1180px;border-radius:0;border-color:var(--border-color);background:#fff;color:var(--text-primary)}body[data-module] .contoso-opening aside{background:#eef5f5;border-left-color:var(--warning-text)}body[data-module] .contoso-content-grid article{background:#f5f7f6;border-top-color:#276274}body[data-module] .contoso-opening a,body[data-module] .contoso-decision a{background:#155f67}body[data-module] .contoso-decision{border-color:var(--border-color)}
@media(max-width:800px){body[data-module] .site-header .container{min-height:60px}body[data-module] .site-nav{gap:12px}body[data-module] .site-nav a{font-size:11px}body[data-module] .module-hero{padding:30px 0 24px}body[data-module] .module-hero h1{font-size:28px}body[data-module] .tab-nav{top:60px}body[data-module] .overview-grid,body[data-module] .framework-grid,body[data-module] .files-grid{grid-template-columns:minmax(0,1fr)}body[data-module] .rubric-row{grid-template-columns:1fr}body[data-module] .module-footer .container{align-items:stretch}body[data-module] .mod-nav-btn{min-width:0}body[data-module] .contoso-opening,body[data-module] .contoso-transfer{margin:16px 12px;padding:18px}}

/* Measured WCAG AA contrast corrections */
body[data-module]{--border-color:#c4cec9;--text-secondary:#4f5f59;--text-muted:#56645f;--accent:#005a9e;--accent-hover:#004b84;--accent-light:#005a9e;--success-text:#0b6b4d;--success-bg:#e6f4ee;--success-border:#8dc7b1;--warning-text:#8a4b00;--warning-bg:#fff3df;--warning-border:#d6a45e;--danger-text:#922e37;--danger-bg:#fbeaec;--danger-border:#d2989e;--purple-text:#743187;--purple-bg:#f2e9f5;--purple-border:#c8a6d2}
body[data-module] .breadcrumb,body[data-module] .breadcrumb a,body[data-module] .mod-progress-text{color:#4f5f59}
body[data-module] .contoso-kicker,body[data-module] .contoso-opening-grid>div>span,body[data-module] .contoso-content-grid span,body[data-module] .contoso-decision span{color:#4f5f59}
body[data-module] .site-footer{color:#d4e0e4}
