:root{--os-navy:#071b2d;--os-blue:#1c69da;--os-cyan:#19a7b8;--os-gold:#e7b82f;--os-ink:#102c4c;--os-muted:#5d7187;--os-bg:#f2f6fb;--os-line:#cbd9e8;--os-white:#fff}.os-page{margin:0;background:var(--os-bg);color:var(--os-ink);font-family:Arial,sans-serif}.os-page *{box-sizing:border-box}.os-layout{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:start}.os-sidebar{position:sticky;top:72px;height:calc(100vh - 72px);padding:18px 13px;overflow:auto;border-right:1px solid var(--os-line);background:#fff}.os-sidebar-title{padding:14px 16px;border-left:5px solid var(--os-cyan);border-radius:9px;background:#edf7fa;font-size:1.1rem;font-weight:900}.os-search{width:100%;min-height:46px;margin:14px 0;padding:10px 12px;border:1px solid #b9cde0;border-radius:9px;font:inherit}.os-sidebar a{display:block;padding:8px 12px;border-radius:7px;color:#173a5d;text-decoration:none}.os-sidebar a:hover,.os-sidebar a:focus-visible,.os-sidebar a.active{background:#e9f2ff;color:#125ac5}.os-sidebar-group{margin:15px 9px 5px;color:#8a6500;font-size:.72rem;font-weight:900;letter-spacing:.06em}.os-home-link{font-weight:900}.os-search-empty{padding:12px;color:#985027}.os-sidebar-toggle{display:none}.os-main{min-width:0;padding:24px clamp(18px,3vw,42px) 46px}.os-hero{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;padding:36px;border-radius:19px;background:linear-gradient(135deg,#071b2d,#123855 58%,#17616b);color:#fff;box-shadow:0 16px 38px rgba(7,27,45,.18)}.os-label{color:var(--os-gold);font-size:.78rem;font-weight:900;letter-spacing:.1em}.os-hero h1{max-width:760px;margin:.7rem 0;font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.9rem);line-height:1.05}.os-hero p{max-width:720px;color:#c4d7e8;font-size:1.05rem;line-height:1.65}.os-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.os-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 17px;border:1px solid transparent;border-radius:9px;font-weight:900;text-decoration:none}.os-button.primary{background:#e8b92f;color:#11273c}.os-button.secondary{border-color:#5d7d96;color:#fff}.os-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.os-stats div{padding:12px;border:1px solid #3d6079;border-radius:9px;background:rgba(255,255,255,.04)}.os-stats strong,.os-stats span{display:block}.os-stats strong{color:#56d2dc;font-size:1.35rem}.os-stats span{margin-top:.2rem;color:#c2d4e3;font-size:.75rem}.os-machine{align-self:center;overflow:hidden;border:1px solid #4e7188;border-radius:14px;background:#061725}.os-machine-bar{display:flex;gap:6px;padding:10px 13px;border-bottom:1px solid #35576f;color:#8fdbe2;font-size:.72rem;font-weight:900}.os-machine-bar span{margin-right:auto}.os-machine-bar i{width:9px;height:9px;border-radius:50%;background:#416277}.os-apps,.os-hardware{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:14px}.os-apps b,.os-hardware span{padding:12px;border:1px solid #385a70;border-radius:7px;background:#0d3044;text-align:center}.os-call{padding:11px;border-block:1px dashed #557489;color:#edc54d;text-align:center;font-family:monospace}.os-kernel{padding:15px;background:#123f53}.os-kernel>span{display:block;margin-bottom:9px;color:#63d6dd;font-weight:900}.os-kernel>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.os-kernel b{padding:10px;border-radius:7px;background:#0a2a3b;text-align:center}.os-hardware{grid-template-columns:repeat(4,1fr);background:#050f19}.os-card,.os-section{margin-top:22px;padding:25px;border:1px solid var(--os-line);border-radius:15px;background:#fff}.os-card h2,.os-section h2{margin:.45rem 0;color:#0d3766;font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.35rem)}.os-card p,.os-section>header p{color:var(--os-muted);font-size:1rem;line-height:1.55}.os-progress-card{display:grid;grid-template-columns:1fr .75fr;gap:30px;align-items:center}.os-progress-count{display:flex;align-items:end;gap:6px}.os-progress-count strong{color:var(--os-blue);font-size:2rem}.os-progress-track{height:12px;margin:10px 0;overflow:hidden;border-radius:999px;background:#e2eaf3}.os-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--os-blue),var(--os-cyan))}.os-progress-foot{display:flex;justify-content:space-between}.os-progress-foot button{border:0;background:transparent;color:#9b4c35;cursor:pointer}.os-stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.os-stage-grid article{padding:18px;border:1px solid var(--os-line);border-radius:11px;background:#f6f9fd}.os-stage-grid b{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--os-navy);color:#fff}.os-stage-grid span{display:block;margin-top:12px;color:#8a6500;font-size:.72rem;font-weight:900}.os-stage-grid h3{margin:.45rem 0;color:#104678}.os-stage-grid p{color:var(--os-muted)}.os-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:17px}.os-level-grid article{display:flex;min-width:0;flex-direction:column;padding:19px;border:1px solid var(--os-line);border-top:4px solid #69bfd0;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(18,53,86,.06)}.os-level-grid article>span{color:#8a6500;font-size:.73rem;font-weight:900}.os-level-grid article>i{display:grid;width:43px;height:43px;margin:9px 0;place-items:center;border-radius:10px;background:#e8f3ff;color:#1767d6;font-style:normal;font-weight:900}.os-level-grid h3{margin:.2rem 0;color:#0d3766}.os-level-grid p,.os-level-grid li{color:var(--os-muted);line-height:1.45}.os-level-grid li{margin:.35rem 0}.os-level-grid article>a{margin-top:auto;color:#125dcc;font-weight:900;text-decoration:none}.os-level-grid button{min-height:40px;margin-top:12px;border:1px solid #b9cce0;border-radius:8px;background:#f5f8fc;color:#23496c;font-weight:850;cursor:pointer}.os-level-grid button.is-complete{border-color:#6fc0a2;background:#e8f8f0;color:#08704c}.os-next{display:flex;align-items:center;justify-content:space-between;gap:20px}.os-sidebar-backdrop{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.os-page .footer{position:relative;z-index:3}
@media(min-width:769px){.os-page .top-header{position:fixed;right:0;left:0}.os-layout{padding-top:72px}}
@media(max-width:1100px){.os-hero{grid-template-columns:1fr}.os-machine{width:100%}.os-level-grid{grid-template-columns:1fr 1fr}.os-stage-grid{grid-template-columns:1fr 1fr}}
/*  @media(max-width:768px){.os-layout{display:block;width: 100%;
        min-height: 0;
        padding-top: 0;}.os-sidebar-toggle{display:block;position:sticky;top:64px;z-index:1000;width:100%;min-height:44px;border:0;background:#0a3152;color:#fff;font-weight:900}.os-sidebar{position:fixed;top:112px;bottom:0;left:0;z-index:1200;width:min(88vw,320px);height:auto;transform:translateX(-105%);transition:transform .2s}.os-sidebar.is-open{transform:translateX(0)}.os-sidebar-backdrop{position:fixed;inset:112px 0 0;z-index:1100;background:rgba(4,17,29,.48)}.os-sidebar-backdrop:not([hidden]){display:block}.os-main{padding:15px 12px 35px}.os-hero{padding:23px}.os-progress-card{grid-template-columns:1fr}.os-stats{grid-template-columns:1fr 1fr}.os-next{align-items:stretch;flex-direction:column}}   */
@media (max-width: 768px) {

    .os-layout {
        display: block;
        width: 100%;
        min-height: 0;
        padding-top: 0;
    }


    .os-sidebar-toggle {
        display: block;

        position: sticky;
        top: 64px;

        z-index: 1000;

        width: 100%;
        min-height: 44px;

        border: 0;

        background: #0a3152;
        color: #fff;

        font-weight: 900;
    }


    .os-sidebar {
        position: fixed;

        top: 108px;
        bottom: 0;
        left: 0;

        z-index: 1200;

        width: min(88vw, 320px);
        height: auto;

        overflow-y: auto;

        transform: translateX(-105%);

        transition: transform .2s ease;
    }


    .os-sidebar.is-open {
        transform: translateX(0);
    }


    .os-sidebar-backdrop {
        position: fixed;

        inset: 108px 0 0;

        z-index: 1100;

        background: rgba(4, 17, 29, .48);
    }


    .os-sidebar-backdrop:not([hidden]) {
        display: block;
    }


    .os-main {
        width: 100%;
        min-width: 0;

        margin: 0;

        padding: 15px 12px 35px;
    }
}
@media(max-width:560px){.os-level-grid,.os-stage-grid{grid-template-columns:1fr}.os-apps,.os-hardware{grid-template-columns:1fr 1fr}.os-hero h1{font-size:2.1rem}.os-card,.os-section{padding:18px}}

/* Course-wide consistency layer: loaded last through the shared OS stylesheet. */
.os-page{overflow-x:hidden}.os-page img,.os-page svg,.os-page canvas{max-width:100%}.os-main,.lesson-section,.lesson-section>*{min-width:0}.lesson-section{overflow-wrap:anywhere}.lesson-section table{max-width:100%}.lesson-section input,.lesson-section select,.lesson-section textarea,.lesson-section button{max-width:100%}.lesson-section button,.os-topic-navigation a{min-height:42px}.concept-check-list .check-options{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-grid article,.completion-panel,.lesson-goal-card{min-width:0}.os-level-grid article>a{display:inline-flex;align-items:center;min-height:40px}.os-level-grid article:not(:has(>a)) button{margin-top:auto}.footer-container>*{min-width:0}
@media(max-width:820px){.lesson-hero{grid-template-columns:1fr}.lesson-jump-bar{top:112px;z-index:900}.lesson-jump-bar a{white-space:nowrap}.lesson-section{overflow:hidden}.lesson-section table{display:block;overflow-x:auto}.concept-check-list .check-options{grid-template-columns:1fr}.lesson-hero h1{font-size:clamp(2rem,9vw,2.75rem)}.lesson-hero>div>p{font-size:1rem}.question-bank-grid{grid-template-columns:1fr}.footer-container{grid-template-columns:1fr 1fr}.os-sidebar a{min-height:40px}}
@media(max-width:520px){.lesson-section{padding:21px 16px}.lesson-jump-bar{margin-inline:0}.footer-container{grid-template-columns:1fr}.os-topic-navigation a{width:100%}.lesson-meta span{font-size:.75rem}.lesson-goal-card{padding:20px}}
