:root{color-scheme:light;--ink:#182922;--muted:#52645b;--paper:#f7f8f4;--surface:#fff;--line:#d9e2d8;--accent:#116650;--pale:#e4f2e8;font:17px/1.65 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}a{color:var(--accent);text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{padding:.65rem 1rem;min-height:46px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;cursor:pointer}button:hover{background:var(--pale)}button:disabled{opacity:.65;cursor:default}button.primary{background:var(--accent);color:white;border-color:var(--accent)}:focus-visible{outline:3px solid #b36a0b;outline-offset:3px}input,textarea{width:100%;padding:.65rem .8rem;border:1px solid #96ab9c;border-radius:10px;background:#fff;color:var(--ink)}textarea{min-height:140px;resize:vertical}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2rem,5vw,3.5rem);margin:.5rem 0 1rem}h2{font-size:clamp(1.5rem,3vw,2.25rem)}p{max-width:75ch}main{max-width:1320px;margin:auto;padding:0 28px}.top{border-bottom:1px solid var(--line);padding:18px max(28px,calc((100vw - 1264px)/2));display:flex;align-items:center;gap:24px;background:#fff}.top>span{color:var(--muted);font-size:.85rem}.top nav{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:.9rem}.brand{font-weight:750;text-decoration:none;white-space:nowrap}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:750;color:var(--accent)}.intro,.gate{padding:44px 0 34px}.gate{max-width:700px;margin:auto}.gate a{margin-left:16px}.muted,.meta{font-size:.85rem;color:var(--muted)}.progress-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}progress{accent-color:var(--accent);height:12px;width:240px;max-width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:36px;align-items:start}aside{position:sticky;top:20px;max-height:90vh;overflow:auto;padding:3px 8px 18px 3px}.search-label{font-size:.85rem;font-weight:650}details{margin:12px 0;border-top:1px solid var(--line)}summary{padding:14px 3px;cursor:pointer;font-weight:650;font-size:.9rem}#curriculum ol{padding:0;list-style:none;margin:0}#curriculum button{text-align:left;width:100%;margin:3px 0;background:transparent;border-color:transparent;font-size:.85rem;line-height:1.45}#curriculum button[aria-current="step"]{background:var(--pale);border-color:#a4c8af}#curriculum .meta{display:block;font-size:.72rem}article{min-height:600px;padding:34px;border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow-wrap:anywhere;scroll-margin-top:20px}.objective{font-size:1.1rem;color:var(--muted)}.section{margin:32px 0}.section h3{font-size:1.15rem;margin-bottom:12px}.callout{padding:20px;background:var(--pale);border-left:4px solid var(--accent);border-radius:0 12px 12px 0}.steps{padding-left:25px}.steps li{margin:12px 0}.prompt{white-space:pre-wrap;padding:18px;background:#f5f6f1;border:1px solid var(--line);border-radius:12px;font: .9rem/1.6 system-ui;max-height:360px;overflow:auto}.quiz fieldset{border:0;padding:0;margin:0}.quiz legend{font-weight:650;margin-bottom:14px}.quiz label{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer}.quiz input{width:auto;flex:none;margin-top:7px}.quiz button{margin-top:10px}.feedback{border-radius:8px;padding:12px;background:#f3f5ef}.diagram{display:flex;align-items:center;gap:10px;margin:24px 0}.diagram>div{flex:1;padding:16px;border:1px solid var(--line);background:#f4f8f1;border-radius:14px;text-align:center;min-width:0}.diagram strong{display:block}.diagram small{font-size:.8rem}.lab{padding:24px;border:1px solid #a8c8b0;border-radius:16px;background:#f5faf3}.lab .actions{margin:12px 0}.lab output{display:block;font-size:1.4rem;font-weight:700;margin-top:16px;min-height:2em}.lab .trace{font-size:.85rem;color:var(--muted)}.map-grid,.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.map-grid{padding-bottom:34px}.map-grid button{text-align:left;padding:20px;min-height:110px;position:relative}.map-grid strong{display:block;margin-top:4px}.tools{padding:50px 0}.tool{padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;font-size:.87rem}.tool h3{font-size:1.05rem;margin:0 0 10px}.tool a{overflow-wrap:anywhere}.lesson-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:30px;border-top:1px solid var(--line);padding-top:22px}.checkbox{display:flex;gap:12px;align-items:center}.checkbox input{width:22px;height:22px}.skip{position:absolute;top:-80px;left:10px;background:#fff;padding:12px;z-index:100}.skip:focus{top:5px}footer{max-width:1264px;margin:20px auto;padding:24px 28px;border-top:1px solid var(--line);font-size:.85rem}@media(max-width:850px){.top>span{display:none}.workspace{grid-template-columns:220px minmax(0,1fr);gap:20px}.map-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}article{padding:24px}}@media(max-width:620px){main{padding:0 16px}.top{padding:14px 16px;flex-wrap:wrap;gap:8px}.top nav{margin-left:0;width:100%;gap:16px}.workspace{display:block}aside{position:static;max-height:280px;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:20px}.intro{padding-top:28px}article{padding:22px 18px;min-height:0}.map-grid,.tool-grid{grid-template-columns:1fr}.diagram{flex-direction:column}.diagram>div{width:100%}.diagram>span{transform:rotate(90deg)}.actions button{flex-grow:1}h1{font-size:2.25rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.tool{min-height:0}
.tutorial video{display:block;width:100%;max-height:70vh;margin:16px 0;background:#182922;border-radius:12px}.tutorial-transcript p{white-space:pre-line}
.learning-paths{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.learning-paths .meta{display:block;margin-top:8px}.prerequisites button{margin:4px 8px 4px 0}@media(max-width:620px){.learning-paths{grid-template-columns:1fr}}

.intro-visual{display:grid;grid-template-columns:1fr 1.1fr;gap:24px 36px;align-items:center}.intro-copy h1{margin-bottom:16px}.intro-copy .lead{font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.35;font-weight:650}.course-cover{margin:0;background:#eeeadd;border:1px solid #e0dfd1;border-radius:24px;overflow:hidden}.course-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.course-cover figcaption{padding:10px 20px;color:#47564a;font-size:.75rem}.intro-progress{grid-column:1/-1;padding:20px 24px;background:white;border:1px solid var(--line);border-radius:18px}.intro-progress .actions{margin-top:16px}.intro-progress p:last-child{margin-bottom:0}.media-shelf{margin:10px 0 40px}.section-heading h2{margin:5px 0 10px}.section-heading p{margin-top:6px}.media-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.media-card{text-align:left;padding:0;overflow:hidden;background:white}.media-card strong,.media-card>.meta{display:block;padding:0 16px}.media-card strong{font-size:.93rem;line-height:1.4;padding-bottom:18px}.media-card>.meta{margin:12px 0 5px}.media-thumb{display:block;position:relative;aspect-ratio:16/9;background:#e4ede5;overflow:hidden}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}.media-play{position:absolute;bottom:10px;left:12px;background:#153d30;color:white;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:14px}.map-grid button>img{display:block;width:100%;height:auto;aspect-ratio:8/5;border-radius:10px;margin-bottom:14px}.lesson-visual{margin:26px 0;border:1px solid #dedfd0;border-radius:18px;overflow:hidden;background:#faf9f2}.lesson-visual>img{display:block;width:100%;height:auto}.lesson-visual figcaption{padding:18px 20px;border-top:1px solid #e6e4d7;font-size:.87rem}.lesson-visual figcaption strong{font-size:1rem}.lesson-visual figcaption p{margin:8px 0 16px}.visual-dialog{width:min(1120px,calc(100% - 24px));max-height:92vh;border:1px solid var(--line);border-radius:18px;padding:24px;color:var(--ink);background:#fff;overscroll-behavior:contain}.visual-dialog::backdrop{background:#102b24b8}.visual-dialog>button{float:right;position:sticky;top:0;z-index:1;background:#fff}.visual-dialog h3{font-size:1.3rem;clear:both;padding-top:10px}.visual-zoom{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px;scrollbar-width:auto}.visual-zoom img{display:block;width:960px;max-width:none;height:auto}.tutorial-poster{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin:16px 0}.lab-entry{background:#fff5df;border:1px solid #e8d9ad;border-radius:16px;padding:24px;margin:28px 0}.lab-entry h3{margin-top:0}.lab-entry a{display:inline-block;padding:11px 16px;border:1px solid #c5a25c;border-radius:10px;background:white;font-weight:650;min-height:46px}.lab-entry .meta{margin-bottom:0}@media(max-width:850px){.intro-visual{grid-template-columns:1fr 1fr;gap:24px}.media-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.intro-visual{grid-template-columns:1fr;gap:18px}.intro-copy .lead{font-size:1.35rem}.course-cover{border-radius:18px}.intro-progress{padding:18px}.media-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 14px;gap:14px}.media-card{flex:0 0 82%;scroll-snap-align:start;min-width:0}.media-shelf{margin-bottom:28px}.lesson-visual figcaption{padding:16px}.visual-dialog{padding:16px}.visual-zoom img{width:900px}.lab-entry{padding:20px}.map-grid button>img{max-height:240px;object-fit:contain}.course-cover figcaption{padding:10px 16px}}
.tutor{border:1px solid #a4c8af;background:#f4faf5;padding:24px;border-radius:18px}.tutor h3{margin-top:0}.tutor-panel summary{font-size:1rem}.tutor-panel form{margin:20px 0}.tutor-panel label{display:block;font-weight:650;margin-bottom:8px}.tutor-panel .actions{margin:12px 0}.tutor-panel .actions button{font-size:.87rem}.tutor-answer p{white-space:pre-wrap}.tutor-answer h4{margin-bottom:6px}.tutor-references{border-top:1px solid var(--line);padding-top:18px}.tutor-status{font-size:.9rem;min-height:1.5em}@media(max-width:620px){.tutor{padding:18px}.tutor-panel .actions button{width:100%}}

.installation-guide{border:1px solid var(--line,#d5ded9);border-radius:12px;padding:18px;margin:14px 0}.installation-guide summary{font-weight:700;cursor:pointer}.installation-guide h4{margin:18px 0 8px}.installation-steps>li{padding:8px 0 22px}.installation-figure{margin:18px 0}.installation-figure img{display:block;max-width:100%;height:auto;border:1px solid #d5ded9;border-radius:8px}.installation-figure figcaption{font-size:.9rem;margin:8px 0}.installation-guide a{overflow-wrap:anywhere}.installation-guide pre{white-space:pre-wrap;overflow-wrap:anywhere}

/* Course presentation layer. Product state remains in the existing course modules. */
:root{--ink:#18342d;--muted:#526b62;--paper:#f5f7f4;--surface:#fff;--line:#dce5df;--accent:#087c70;--pale:#eaf5ef;--ux-fast:140ms;--ux-change:220ms;--ux-ease:cubic-bezier(.2,.8,.2,1);font-family:Inter,system-ui,sans-serif}
body{font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit}button{transition:background-color var(--ux-fast),border-color var(--ux-fast),box-shadow var(--ux-fast);font-weight:550}button:hover:not(:disabled){border-color:#8eb7a9;background:#edf6f1}button.primary:hover:not(:disabled){background:#06675d;color:#fff}button:active:not(:disabled){background:#dceee5}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b46c13;outline-offset:4px}button,input,textarea,summary{scroll-margin-block:24px}
.top{padding-block:14px;gap:20px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);letter-spacing:-.035em}.brand img{width:28px;height:28px}.top nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.top nav a:hover{text-decoration:underline}.top #exit{font-size:.85rem;padding:8px 16px}.intro-visual{padding-block:38px 28px;gap:22px 48px;grid-template-columns:1fr 1fr}.intro-copy h1{font-size:clamp(2.5rem,4.7vw,4rem);letter-spacing:-.055em;line-height:1.02;margin:12px 0 22px}.intro-copy .intro-lead{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:550;line-height:1.4;color:var(--ink);letter-spacing:-.03em}.intro-copy>p:not(.eyebrow):not(.intro-lead){font-size:.92rem;color:var(--muted);max-width:48ch}.intro-copy #availability{font-size:.8rem;margin-bottom:20px}.course-cover{box-shadow:0 12px 36px -28px #18342d70;border-color:#dce2d6}.course-cover figcaption{font-size:.73rem}.eyebrow{font-size:.68rem;letter-spacing:.16em}.intro-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;padding:22px 26px;border-radius:20px;align-items:center}.intro-progress .progress-row{gap:12px}.intro-progress .muted{grid-column:1;font-size:.75rem;margin:10px 0 0}.intro-progress .actions{grid-column:2;grid-row:1/3;margin:0}.intro-progress .actions button{font-size:.77rem;padding:9px 13px}.intro-progress #save-message{grid-column:1/-1;font-size:.82rem;margin:10px 0 0}.intro-progress #save-message:empty{display:none}#progress-label{font-size:.8rem}progress{appearance:none;border:none;height:8px;border-radius:99px;overflow:hidden;background:#e4ece5;width:150px}progress::-webkit-progress-bar{background:#e4ece5;border-radius:99px}progress::-webkit-progress-value{background:var(--accent);border-radius:99px}progress::-moz-progress-bar{background:var(--accent);border-radius:99px}
.ux-continue{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:white;background:var(--accent);border:1px solid var(--accent);border-radius:14px;padding:12px 18px;min-height:48px;font-size:.9rem;font-weight:650}.ux-continue:hover{background:#06675d;color:#fff}.ux-continue::after{content:'↗';font-size:1.1rem}.ux-current{display:block;font-size:.76rem;color:var(--muted);margin-top:10px;max-width:48ch}
.media-shelf{padding:24px 0 28px;margin:0 0 22px;border-bottom:1px solid var(--line)}.section-heading h2{font-size:1.4rem;letter-spacing:-.035em}.section-heading>p:last-child{font-size:.85rem;color:var(--muted)}.media-cards{display:flex;overflow-x:auto;gap:14px;padding:4px 4px 14px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#9cb5a8 transparent}.media-card{flex:0 0 228px;min-width:0;scroll-snap-align:start;border-radius:16px;transition:border-color var(--ux-fast),box-shadow var(--ux-fast)}.media-card:hover{box-shadow:0 5px 14px -10px #173d32}.media-card strong{font-size:.8rem;font-weight:650;padding-bottom:16px}.media-card>.meta{font-size:.68rem}.media-play{width:30px;height:30px;font-size:11px}.media-thumb img{transition:transform var(--ux-change) var(--ux-ease)}@media(hover:hover) and (prefers-reduced-motion:no-preference){.media-card:hover .media-thumb img{transform:scale(1.025)}}
#map{padding:24px;background:#edf3ee;border:1px solid var(--line);border-radius:22px;margin-bottom:32px}#map>h2{margin-top:0;font-size:1.5rem}#map>p{font-size:.9rem;color:var(--muted)}.map-grid{gap:14px;padding-bottom:0}.map-grid button{background:#fff;border-radius:16px;font-size:.8rem}.map-grid button:hover{border-color:#7aa994}.map-grid strong{font-size:1rem;line-height:1.35;margin:8px 0}.map-grid .meta{font-size:.77rem}.learning-paths{gap:12px;margin-bottom:12px}.learning-paths>button{background:#f9fcf7;border-color:#b9cec0;min-height:110px;font-weight:650}.learning-paths>button .meta{font-weight:400}.map-grid button>img{aspect-ratio:8/5;border-radius:10px}
.workspace{grid-template-columns:266px minmax(0,1fr);gap:30px}aside{top:20px;max-height:calc(100vh - 40px);padding:16px 12px 20px;background:#fff;border:1px solid var(--line);border-radius:18px;scrollbar-width:thin}.search-label{display:block;margin-bottom:9px;font-size:.78rem;color:var(--muted)}#search{font-size:.82rem;min-height:46px}#curriculum details{border:0;border-bottom:1px solid var(--line);margin:4px 0}#curriculum summary{font-size:.8rem;line-height:1.5;padding:15px 4px;min-height:48px}#curriculum button{border-radius:10px;padding:11px 12px;font-size:.78rem;border-left:3px solid transparent}#curriculum button[aria-current=step]{background:var(--pale);border-color:transparent;border-left-color:var(--accent);font-weight:650}#curriculum .meta{font-size:.65rem;font-weight:400;margin-top:5px}#curriculum button:hover{background:#f2f7f3}#lesson{padding:clamp(24px,4vw,52px);box-shadow:0 10px 28px -25px #18342d40;scroll-margin-top:24px}#lesson-module{margin-top:0}#lesson-title{font-size:clamp(1.65rem,2.6vw,2.4rem);letter-spacing:-.045em;line-height:1.16;margin:12px 0 18px;max-width:26ch}#objective{font-size:1.04rem;line-height:1.65;max-width:62ch;margin-bottom:24px}#lesson-body>p{max-width:65ch;font-size:.95rem}.section{margin:36px 0}.section h3{font-size:1.12rem;letter-spacing:-.03em}.lesson-visual{margin:28px 0}.lesson-visual figcaption{font-size:.82rem;padding:18px 22px}.lesson-visual button{font-size:.8rem}.steps{padding-left:30px}.steps li{padding-left:8px;margin:18px 0}.steps li::marker{font-weight:700;color:var(--accent)}.prompt{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.75;background:#f5f7f3;border-color:#d3e2d7}.callout{background:#eaf5ef;font-size:.92rem;line-height:1.75}.quiz fieldset{min-width:0}.quiz label{padding:15px;border-color:#d5e2d9;border-radius:13px;transition:background-color var(--ux-fast),border-color var(--ux-fast)}.quiz label:has(input:checked){background:var(--pale);border-color:#599b85}.quiz input{accent-color:var(--accent)}.feedback{border:1px solid #cbded0;background:#eff7ee;padding:16px;font-size:.9rem}.checkbox{margin-top:18px;align-items:flex-start;padding:15px;background:#f0f6ef;border-radius:12px;font-size:.85rem}.checkbox input{flex:none;margin-top:3px;accent-color:var(--accent)}.lesson-controls button{font-size:.85rem}.lab{border-radius:18px}.lab h3{margin-top:0}.lab input{max-width:360px}.lab .actions button{font-size:.8rem}.tutor{background:#eef7f2;border-radius:18px}.tutor-panel summary{font-size:.9rem}.installation-guide{border-radius:16px}.installation-guide summary{line-height:1.5}.visual-dialog{box-shadow:0 30px 80px #0b241c40}.tools{padding-block:52px}.tools>h2{font-size:1.5rem}.tools>p{color:var(--muted);font-size:.9rem}.tool{box-shadow:none;min-height:0}.tool p{font-size:.83rem}.tool button{font-size:.78rem}.tool h3{letter-spacing:-.02em}
.ux-lesson-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 22px;margin:0 0 28px;border-bottom:1px solid var(--line)}.ux-lesson-nav a{font-size:.74rem;padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;background:#f4f7f3;border:1px solid var(--line);border-radius:99px;font-weight:550}.ux-lesson-nav a:hover{background:var(--pale);border-color:#8ab7a4}.ux-local-target{scroll-margin-top:24px}.ux-curriculum-toggle{display:none}.ux-nav-hint{font-size:.7rem;color:var(--muted);margin:12px 0 0}.ux-nav-hint:empty{display:none}
@media(max-width:1050px){.intro-progress{display:block}.intro-progress .actions{margin-top:18px}.intro-visual{gap:24px}.workspace{grid-template-columns:240px minmax(0,1fr);gap:20px}#lesson{padding:30px}.top>span{display:none}}
@media(max-width:760px){.intro-visual{grid-template-columns:1fr;gap:22px}.course-cover{max-width:560px}.intro-copy .intro-lead{font-size:1.4rem}.workspace{display:block}aside{position:static;max-height:350px;margin-bottom:20px}.ux-ready .ux-curriculum-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:14px;text-align:left;font-size:.84rem;padding:14px 16px;gap:12px}.ux-curriculum-toggle::after{content:'+';font-size:1.15rem}.ux-curriculum-toggle[aria-expanded=true]::after{content:'−'}.ux-ready .workspace:not(.ux-nav-open)>aside{display:none}#lesson{padding:28px 22px}.map-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-paths{grid-template-columns:1fr}.map-grid button{padding:14px}.intro-progress{grid-column:1}.ux-current{font-size:.76rem}}
@media(max-width:620px){.top{padding:12px 16px;gap:6px}.top nav{gap:18px;font-size:.78rem}.intro-visual{padding-top:26px}.intro-copy h1{font-size:2.6rem;margin-bottom:20px}.intro-copy .intro-lead{font-size:1.3rem}.intro-copy #availability{font-size:.76rem}.intro-progress{padding:20px}.intro-progress .actions{gap:8px}.intro-progress .actions button{flex:1 1 120px;font-size:.75rem}.media-card{flex-basis:230px}.media-shelf{padding-top:8px}.section-heading h2{font-size:1.3rem}.map-grid,.tool-grid{grid-template-columns:1fr}#map{padding:18px}#lesson{padding:24px 18px;border-radius:18px}#lesson-title{font-size:1.75rem}#objective{font-size:.97rem}.ux-lesson-nav{gap:6px;margin-bottom:24px}.ux-lesson-nav a{font-size:.72rem;padding:8px 10px}.lesson-visual figcaption{padding:16px}.section{margin:30px 0}.lab{padding:18px}.lab .actions button{flex-grow:1}.tutor{padding:18px}.callout{padding:16px}.steps{padding-left:24px}.steps li{padding-left:3px}.checkbox{padding:12px}.lesson-controls button{flex:1 1 130px;font-size:.78rem}.tools{padding-top:34px}footer{font-size:.76rem}}
main,footer{overflow-wrap:anywhere;min-width:0}.top nav{flex-wrap:wrap}.brand{white-space:normal;max-width:100%}.brand img{flex:none;border-radius:50%}.intro-progress button{white-space:normal;overflow-wrap:anywhere}.ux-continue{max-width:100%;overflow-wrap:anywhere}.top nav a{overflow-wrap:anywhere}@media(max-width:620px){.installation-guide{padding:16px 14px}.installation-guide ul,.installation-guide ol{padding-left:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}select{font:inherit;max-width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px}select:focus-visible{outline:3px solid #b46c13;outline-offset:4px}.student-save{padding:18px 20px;margin-top:20px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;font-size:.78rem}.student-save>p{margin:0;flex:1 1 250px}.student-save>label{display:flex;align-items:center;gap:8px;min-height:44px}.student-save input{width:20px;height:20px;accent-color:var(--accent)}.student-save button{min-height:44px;font-size:.76rem}.student-save a{min-height:44px;display:inline-flex;align-items:center}.student-save #revision-message,.student-save #sync-conflict{flex:1 1 100%;padding:16px;background:#fff4dc;border-radius:10px}.student-save #sync-conflict button{margin:4px}.intro-copy>button{margin:5px 6px 0 0;min-height:46px}.learner-greeting{font-weight:650}.welcome{display:grid;grid-template-columns:1fr 1.5fr;gap:32px;padding:28px;background:#fff8e8;border:1px solid #e6d8b7;border-radius:20px;margin:20px 0 32px}.welcome h2{font-size:1.4rem;margin:10px 0}.welcome p{font-size:.88rem}.welcome label{font-size:.85rem;display:block}.welcome input,.welcome select{display:block;width:100%;margin:8px 0 16px}.welcome-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.welcome .actions button{font-size:.8rem;min-height:46px}.learning-blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0 36px}.learning-block{border:1px solid var(--line);border-radius:22px;background:#fff;padding:28px;min-width:0}.learning-block h3{font-size:1.5rem;line-height:1.2;margin:10px 0}.learning-block>p{font-size:.9rem}.learning-block .meta{font-size:.76rem;color:var(--muted)}.block-modules{list-style:none;padding:0;margin:20px 0 0}.block-modules li+li{margin-top:8px}.block-modules button{width:100%;text-align:left;min-height:70px;font-size:.9rem;background:#f7faf6;display:block}.block-modules .meta{display:block;margin-top:6px}.learning-block:nth-child(2){background:#f4f9f6}.ux-continue,.ux-current{display:none}.nav-block>h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;padding:16px 4px 4px}.lesson-mode #school>.intro,.lesson-mode #welcome,.lesson-mode #course-path,.lesson-mode #media-shelf,.lesson-mode #map,.lesson-mode #school>.tools{display:none!important}.lesson-mode main{max-width:1600px}.workspace{margin-top:24px;grid-template-columns:224px minmax(0,1fr);gap:22px}.lesson-topbar{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:8px 0 18px;border-bottom:1px solid var(--line)}.lesson-topbar>span{flex:1;font-size:.83rem}.lesson-topbar a{font-size:.83rem;min-height:44px;display:inline-flex;align-items:center}.lesson-topbar button{min-height:46px}.workspace>aside{grid-column:1;grid-row:2}.workspace>#lesson{grid-column:2;grid-row:2;min-width:0;padding:32px}.workspace #lesson-title{max-width:38ch}.workspace #lesson-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 32px}.workspace #lesson-body>*{grid-column:1/-1;min-width:0;margin:0}.workspace #lesson-body>.lesson-watch{grid-column:1;grid-row:2;align-self:start}.workspace #lesson-body>.lesson-practice{grid-column:2;grid-row:2 / span 2;align-self:start;border-left:1px solid var(--line);padding-left:28px}.workspace #lesson-body>.lesson-explanation{grid-column:1;grid-row:3;align-self:start;background:#f4f8f3;padding:18px;border-radius:14px;font-size:.9rem}.workspace #lesson-body>.lesson-prompt{grid-column:1;grid-row:4;align-self:start}.workspace #lesson-body>.lesson-resources{grid-column:2;grid-row:4;align-self:start;border:1px solid var(--line);border-radius:16px;padding:20px;background:#fcfdf9}.workspace #lesson-body>.prerequisites{grid-row:1}.workspace #lesson-body>.ux-lesson-nav{grid-row:1}.workspace #lesson-body:has(>.prerequisites)>.ux-lesson-nav{grid-row:auto}.lesson-explanation summary{font-weight:650;cursor:pointer;min-height:44px;display:flex;align-items:center}.lesson-practice .steps{font-size:.91rem;line-height:1.65}.lesson-practice .steps li:first-child{margin-top:10px}.lesson-task{font-weight:600;font-size:.93rem}.lesson-watch h3,.lesson-prompt h3,.lesson-resources h3{margin-top:0}.lesson-watch .lesson-visual{margin:18px 0}.lesson-prompt pre{max-height:390px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.lesson-prompt .actions{gap:8px}.lesson-prompt button{font-size:.8rem;min-height:46px}.lesson-resources{font-size:.87rem}.lesson-resources .installation-guides>h3{font-size:1rem}.lesson-resources ul{padding-left:20px}.lesson-resources a{overflow-wrap:anywhere}.lesson-controls{grid-column:1/-1}.lesson-mode footer{max-width:1600px}.workspace #lesson-filter{width:100%;font-size:.82rem}.workspace aside>.search-label:not(:first-child){margin-top:18px}.workspace #search-count{font-size:.75rem}
@media(max-width:1150px){.workspace #lesson-body{display:block}.workspace #lesson-body>*+*{margin-top:26px}.workspace #lesson-body>.lesson-practice{border-left:0;padding-left:0}.workspace{grid-template-columns:220px minmax(0,1fr)}.welcome{grid-template-columns:1fr}.welcome-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.learning-blocks{grid-template-columns:1fr;gap:18px}.learning-block{padding:22px}.welcome{padding:22px;gap:14px}.welcome-fields{grid-template-columns:1fr}.workspace{display:flex;flex-direction:column;gap:0}.lesson-topbar{order:-2;margin-bottom:16px;gap:8px 14px}.lesson-topbar>span{flex-basis:50%;font-size:.74rem}.lesson-topbar>a{font-size:.76rem}.ux-curriculum-toggle{order:-1}.workspace>#lesson{padding:24px 18px}.workspace>aside{max-height:55vh;overflow:auto}.student-save{padding:14px;font-size:.74rem}.student-save>p{flex-basis:100%}.student-save>label{flex-basis:100%}.student-save button{font-size:.73rem}.lesson-prompt .actions>button{flex-basis:100%}.lesson-prompt pre{max-height:320px}.welcome .actions>button{flex-basis:100%}.lesson-resources{padding:16px!important}.lesson-topbar button{font-size:.76rem}.intro-copy #resume-learning,.intro-copy #profile-open{width:100%;margin:8px 0 0}.lesson-mode .top>nav{gap:14px}}

.first-conversation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;list-style:none}.first-conversation button{width:100%;height:100%;text-align:left;min-height:70px;font-size:.85rem;background:#eaf5ef}.student-save>.sync-description{flex-basis:100%;font-size:.74rem;color:var(--muted)}.welcome textarea{margin-top:8px;min-height:100px}#school:focus{outline:none}@media(max-width:760px){.first-conversation{grid-template-columns:1fr 1fr}.first-conversation button{font-size:.78rem;padding:12px}}@media(max-width:360px){.first-conversation{grid-template-columns:1fr}}

.student-save .sync-description{line-height:1.5}.lesson-topbar a,.lesson-resources>a{min-height:44px;display:inline-flex;align-items:center}

#sync-status,#sync-retry,#profile-access,#search-count,.sync-description{font-size:13px;line-height:1.45}
.eyebrow{font-size:12.5px}
#sync-enable{min-width:24px;min-height:24px}

/* Hierarquia de entrada e controles, sem alterar estados ou ordem de leitura. */
.student-save{gap:8px 14px}
.student-save .sync-description{font-size:13px;line-height:1.5}
.quiz label,.checkbox{min-height:44px}
.quiz input[type=radio],.checkbox input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px;flex:none;accent-color:var(--accent)}
.quiz label{align-items:center}
.quiz input{margin-top:0}
.lesson-prompt pre{font-size:15px;line-height:1.65}
.lesson-practice .steps{line-height:1.7}
.top nav a{display:inline-flex;align-items:center;min-height:44px}
button{transition:background-color .16s,border-color .16s,box-shadow .16s}
button:active:not(:disabled){box-shadow:inset 0 0 0 2px #087c704d}
.media-card:focus-visible,.block-modules button:focus-visible{outline:3px solid #b46c13;outline-offset:3px}
@media(max-width:760px){
 .student-save{padding:12px 14px;gap:6px 12px}
 .student-save>label{flex-basis:auto}
 .intro{padding-top:24px}
 .intro-copy h1{font-size:clamp(2rem,9vw,2.65rem);margin-top:8px;margin-bottom:14px}
 .intro-copy .intro-lead{margin-top:16px;margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}


.tool-brand{display:flex;align-items:center;gap:12px;min-height:40px;margin-bottom:16px}.tool-brand img{display:block;width:36px;height:36px;flex:0 0 36px;object-fit:contain}.tool-brand h3{margin:0;min-width:0}

@media (hover:hover) and (pointer:fine){
  button:not(:disabled),.ux-lesson-nav a,.lab-entry a,.tool,.learning-block,.installation-guide,.top nav a {
    transition:translate .2s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .2s ease,background-color .18s ease,color .18s ease;
  }
  button:not(:disabled):not([aria-disabled="true"]):is(:hover,:focus-visible),.ux-lesson-nav a:is(:hover,:focus-visible),.lab-entry a:is(:hover,:focus-visible){translate:0 -2px;box-shadow:0 7px 16px -12px #183e3580;border-color:#82b9a6}
  button:not(:disabled):active,.ux-lesson-nav a:active,.lab-entry a:active{translate:0 0}
  #curriculum button:not(:disabled):is(:hover,:focus-visible){translate:3px 0;background:var(--pale);box-shadow:none}
  .media-card:not(:disabled):is(:hover,:focus-visible){translate:0 -2px;box-shadow:0 9px 22px -14px #173d3260}
  .media-card:is(:hover,:focus-visible) .media-thumb img{transform:scale(1.035)}
  .tool:is(:hover,:focus-within),.learning-block:is(:hover,:focus-within){translate:0 -2px;border-color:#8bbbaa;box-shadow:0 12px 28px -22px #173d3270}
  .tool-brand img{transition:scale .25s ease}
  .tool:is(:hover,:focus-within) .tool-brand img{scale:1.06}
  .installation-guide:is(:hover,:focus-within){border-color:#8bbbaa;background:#f7fbf8}
  .top nav a:is(:hover,:focus-visible){translate:0 -1px;text-decoration:underline}
  .lesson-resources a,.tool a{transition:color .18s ease;text-decoration-color:#087c7080}
  .lesson-resources a:is(:hover,:focus-visible),.tool a:is(:hover,:focus-visible){color:#06675d;text-decoration-color:currentColor;text-decoration-thickness:2px}
}
.tool:focus-within,.learning-block:focus-within,.installation-guide:focus-within{border-color:#8bbbaa}
@media(prefers-reduced-motion:reduce){
  button,.ux-lesson-nav a,.lab-entry a,.tool,.learning-block,.installation-guide,.top nav a,.tool-brand img{translate:none!important;scale:none!important}
  .media-card:is(:hover,:focus-visible) .media-thumb img{transform:none!important}
}

.content-use-notice{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 12px}.content-use-status{font-size:13px;line-height:1.5;color:var(--ink);margin:0}.content-use-status:empty{display:none}

