/* Purposeful learning surfaces. Scoped to avoid changing existing machine/tools pages. */
.learning-page [hidden] { display:none!important; }
.learning-page { --learn-mint:#a4ecc2; --learn-muted:#adbdB3; --learn-panel:#101b14; }
.learning-hero { padding:56px 0 38px; border-bottom:1px solid #2d3e33; background:radial-gradient(ellipse at 85% 10%,#21432c55,transparent 65%); }
.learning-hero .shell { max-width:1120px; }
.learning-kicker { display:block; color:#95d7ae; letter-spacing:.15em; text-transform:uppercase; font-size:11px; font-weight:750; }
.learning-hero h1 { margin:16px 0 20px; font-size:clamp(34px,5.3vw,62px); line-height:1.25; letter-spacing:-.045em; }
.learning-hero h1 em { font-style:normal; color:var(--learn-mint); }
.learning-lead { color:#b9cabe; max-width:760px; font-size:15px; line-height:1.95; }
.learning-hero .learning-lead { margin-bottom:0; }
.learning-subnav { display:flex; gap:12px 28px; flex-wrap:wrap; margin-top:26px; }
.learning-subnav a { display:flex; align-items:center; min-height:44px; color:#c0dfcd; font-size:13px; border-bottom:1px solid #385441; }
.learning-subnav a[aria-current="page"] { color:#a4ecc2; border-color:#8be9ad; }
.learning-main { padding-bottom:62px; }
.learning-section { padding:42px 0; border-bottom:1px solid #263a2c; scroll-margin-top:100px; }
.learning-section:last-child { border:0; }
.learning-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 24px; margin-bottom:24px; }
.learning-section-heading h2 { margin:0; font-size:clamp(24px,3vw,32px); letter-spacing:-.035em; }
.learning-section-heading p { color:#a8bbae; margin:0; font-size:13px; line-height:1.9; }
.learning-route { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; list-style:none; gap:12px; counter-reset:route; }
.learning-route li { min-width:0; counter-increment:route; border:1px solid #36523e; padding:21px; background:#121f16; border-radius:11px; }
.learning-route li::before { content:'0' counter(route); font-size:11px; color:#8dcba5; letter-spacing:.08em; }
.learning-route strong { display:block; font-size:17px; color:#edf6f0; margin:10px 0; }
.learning-route p { font-size:12px; line-height:1.9; margin:0; color:#aebfb3; }
.learning-route a { display:inline-flex; align-items:center; min-height:44px; margin-top:7px; color:#a4ecc2; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.learning-jump { display:flex; gap:9px; flex-wrap:wrap; margin-top:24px; }
.learning-jump a,.glossary-category { min-height:43px; display:inline-flex; align-items:center; justify-content:center; padding:8px 15px; font-family:inherit; font-size:12px; border:1px solid #405847; color:#c2d6c8; background:#132017; border-radius:7px; text-decoration:none; cursor:pointer; }
.learning-jump a:hover,.glossary-category:hover { border-color:#96cbaa; }
.learning-task { display:grid; grid-template-columns:1fr 1.7fr; gap:24px; align-items:start; padding:22px 26px; margin-bottom:20px; border-left:3px solid #96e7b5; background:#132219; border-radius:0 10px 10px 0; }
.learning-task > div > span { font-size:11px; letter-spacing:.05em; color:#98c9aa; }
.learning-task h3 { margin:7px 0 0; line-height:1.65; font-size:17px; }
.learning-task p { margin:0; color:#b8cbbf; line-height:1.9; font-size:13px; }
.learning-task details { margin-top:10px; }
.learning-task summary { cursor:pointer; color:#bbefd0; font-size:12px; padding:8px 0; }
.learning-task details p { font-size:12px; margin-top:5px; }
.learning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.learning-card { display:flex; flex-direction:column; min-width:0; padding:23px; border:1px solid #304637; background:#0f1913; border-radius:10px; transition:background .16s,border-color .16s; }
.learning-card:hover { background:#16251b; border-color:#60886d; }
.learning-card-meta { display:flex; gap:12px; justify-content:space-between; font-size:11px; color:#a4bdae; }
.learning-card h3 { font-size:18px; line-height:1.65; margin:12px 0 10px; letter-spacing:-.025em; }
.learning-card p { font-size:13px; color:#adbfB3; line-height:1.9; margin:0 0 18px; }
.learning-card a { margin-top:auto; padding-top:12px; min-height:44px; color:#ade8c4; font-size:12px; border-top:1px solid #2e4435; display:flex; justify-content:space-between; align-items:center; }
.learning-small { font-size:12px; line-height:1.9; color:#9db1a3; margin-top:20px; }
.learning-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.learning-tool { padding:26px; border:1px solid #456750; border-radius:13px; background:linear-gradient(120deg,#1b3323,#101b14); }
.learning-tool h3 { font-size:21px; margin:8px 0 14px; }
.learning-tool p { color:#b2c7b9; line-height:1.95; font-size:13px; }
.learning-tool a { display:inline-flex; min-height:44px; align-items:center; color:#baf0cd; text-decoration:underline; text-underline-offset:4px; font-size:13px; }
.learning-button { min-height:47px; border:1px solid #a4ecc2; border-radius:7px; background:#a4ecc2; color:#072512; font-family:inherit; font-weight:750; font-size:14px; line-height:1.5; padding:12px 21px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; cursor:pointer; }
.learning-button.secondary { border-color:#587262; background:#14221a; color:#d2e6d9; }
.learning-button:disabled { opacity:.4; cursor:not-allowed; }
.learning-inline-link { min-height:44px; display:inline-flex; align-items:center; color:#b5e7c8; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
/* Search never hides the dictionary when JavaScript isn't available. */
.glossary-controls { padding:25px 0; border-bottom:1px solid #304c38; }
.glossary-search-row { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.glossary-search-field { display:flex; flex-direction:column; gap:9px; flex:1 1 250px; }
.glossary-search-field label { font-size:12px; font-weight:700; color:#bfd5c7; }
.glossary-search-field input { width:100%; box-sizing:border-box; min-height:50px; padding:12px 16px; border:1px solid #4b6755; border-radius:7px; background:#101d15; color:#e9f5ed; font-family:inherit; font-size:16px; }
.glossary-search-field input::placeholder { color:#839e8e; }
.glossary-categories { display:flex; flex-wrap:wrap; gap:8px; margin:17px 0; }
.glossary-category[aria-pressed="true"] { color:#092915; background:#adecc7; border-color:#adecc7; }
.glossary-status { min-height:22px; margin:0; color:#b7cdbe; font-size:12px; }
.glossary-index { display:flex; flex-wrap:wrap; gap:4px 15px; padding:20px 0; margin:0; list-style:none; }
.glossary-index a { color:#a9c6b4; font-size:12px; min-height:38px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:4px; }
.glossary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.term-card { min-width:0; border:1px solid #324b3a; border-radius:12px; padding:25px; background:#101b14; scroll-margin-top:100px; }
.term-card:target { border-color:#b0f0cd; box-shadow:0 0 0 2px #92dfb44d; }
.term-card header { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.term-card h2 { font-size:23px; line-height:1.4; margin:10px 0 4px; letter-spacing:-.025em; }
.term-anchor { color:#8fc4a3; padding:9px; min-width:32px; text-align:center; font-size:17px; }
.term-reading { color:#a4bdac; font-size:11px; margin:0 0 16px; }
.term-category { color:#86c89f; font-size:10px; letter-spacing:.08em; }
.term-definition { color:#e0eae3; line-height:1.9; font-size:14px; margin:0 0 17px; }
.term-card dl { margin:0; padding-top:13px; border-top:1px solid #304235; }
.term-card dt { color:#a0cbb0; font-size:11px; font-weight:700; margin-top:13px; }
.term-card dd { margin:5px 0 0; font-size:12px; line-height:1.9; color:#adbfB3; }
.term-card .learning-inline-link { margin-top:15px; }
.glossary-empty { border:1px dashed #5b7965; border-radius:10px; padding:25px; margin-block:20px; color:#bfD2c6; font-size:14px; }
.learning-sources { margin:42px 0 0; padding:24px; border-top:1px solid #3a5441; background:#0c160f; border-radius:10px; }
.learning-sources h2 { font-size:18px; margin:0 0 15px; }
.learning-sources p,.learning-sources li { font-size:12px; line-height:1.9; color:#a5bbad; }
.learning-sources ul { padding-left:20px; }
.learning-sources a { color:#b1ddc0; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
/* State check: large native radio targets and numbered, re-entrant steps. */
.check-layout { max-width:920px; margin-inline:auto; }
.check-intro { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px; }
.check-intro div { border:1px solid #365340; border-radius:9px; padding:18px; background:#142019; }
.check-intro span { display:block; color:#8fcfa8; font-size:11px; }
.check-intro strong { display:block; font-size:15px; line-height:1.65; margin-top:7px; }
.check-app { margin-top:32px; padding:28px; border:1px solid #405e49; border-radius:15px; background:linear-gradient(135deg,#15251a,#0e1711); }
.check-progress { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; list-style:none; margin:0 0 32px; padding:0; }
.check-progress li { display:flex; flex-direction:column; gap:7px; align-items:center; font-size:10px; color:#91ac9a; text-align:center; }
.check-progress-number { width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-size:12px; border:1px solid #496b54; border-radius:50%; }
.check-progress .is-answered .check-progress-number { color:#b1ecc8; border-color:#94bfa3; background:#203e2a; }
.check-progress [aria-current="step"] { color:#d4f6e0; font-weight:750; }
.check-progress [aria-current="step"] .check-progress-number { background:#b2f1ce; color:#092512; border-color:#b2f1ce; }
.check-form fieldset { min-width:0; border:0; margin:0; padding:0; }
.check-question { display:block; padding:0; width:100%; font-size:clamp(21px,3.2vw,29px); line-height:1.65; font-weight:750; letter-spacing:-.03em; }
.check-question .learning-kicker { margin-bottom:12px; }
.check-help { color:#adbfB3; line-height:1.9; font-size:13px; margin:13px 0 22px; }
.check-options { display:grid; gap:10px; margin:22px 0 10px; }
.check-option { display:flex; align-items:flex-start; gap:12px; padding:18px; background:#111d15; border:1px solid #48614f; border-radius:8px; cursor:pointer; }
.check-option:has(input:checked) { border-color:#abedc5; background:#1b3625; }
.check-option:has(input:focus-visible) { outline:3px solid #a4ecc2; outline-offset:3px; }
.check-option input { flex:0 0 auto; accent-color:#a4ecc2; width:18px; height:18px; margin:3px 0 0; }
.check-option span { color:#d1e3d7; font-size:14px; line-height:1.8; }
.check-actions { display:flex; justify-content:space-between; gap:14px; padding-top:20px; margin-top:15px; border-top:1px solid #334c3b; }
.check-reset { display:block; margin:25px 0 0; border:0; border-bottom:1px solid #486752; padding:8px 0; background:transparent; color:#a8cbb5; font-size:12px; font-family:inherit; cursor:pointer; min-height:44px; }
.check-result h2 { font-size:clamp(24px,3.5vw,34px); line-height:1.5; margin:12px 0; }
.check-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0; }
.check-summary { background:#15261a; border:1px solid #41624d; border-radius:10px; padding:22px; }
.check-summary.needs-review { background:#1b2219; border-color:#69705b; }
.check-summary h3 { font-size:15px; margin:0 0 16px; color:#cae6d5; }
.check-summary p { font-size:13px; line-height:1.9; color:#b8cbbc; }
.check-result-list { margin:0; padding-left:19px; }
.check-result-list li { font-size:12px; color:#b9cdc1; line-height:1.9; margin-bottom:12px; }
.check-next-links { list-style:none; padding:0; margin:0 0 20px; }
.check-next-links a { display:inline-flex; min-height:44px; align-items:center; color:#bcecca; text-decoration:underline; text-underline-offset:4px; font-size:13px; }
.check-answers { margin-top:28px; border-top:1px solid #38523f; padding-top:16px; }
.check-answers summary { cursor:pointer; min-height:44px; font-size:14px; }
.check-answers ul { padding:0; list-style:none; }
.check-answers li { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; border-bottom:1px solid #2d4335; padding:13px 0; font-size:12px; line-height:1.9; color:#b4c9bc; }
.check-answers button { margin-left:auto; font-family:inherit; border:1px solid #607b67; background:#1a2a1f; padding:9px 14px; min-height:44px; border-radius:5px; color:#dcEEE2; cursor:pointer; }
.check-static { margin-top:32px; padding:26px; border:1px solid #395944; border-radius:12px; }
.check-static h2 { font-size:24px; margin:0 0 16px; }
.check-static ol { padding-left:22px; }
.check-static li { margin-bottom:18px; font-size:14px; line-height:1.9; color:#b4c8bb; }
.check-static a { color:#b5ecc9; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:760px){.learning-route{grid-template-columns:repeat(2,minmax(0,1fr));}.learning-task{grid-template-columns:1fr;gap:15px;}.learning-grid,.glossary-grid,.learning-tools,.check-result-grid{grid-template-columns:1fr;}.learning-hero{padding:40px 0 28px;}.learning-section{padding:32px 0;}.check-intro{gap:8px;}.check-intro div{padding:13px;}.check-intro strong{font-size:12px;}.check-app{padding:20px;}}
@media(max-width:420px){.learning-route li{padding:17px;}.learning-route strong{font-size:15px;}.learning-task,.learning-card,.term-card{padding:20px;}.check-app{padding:16px;}.check-progress{gap:3px;}.check-progress li{font-size:9px;}.check-progress-number{width:25px;height:25px;}.check-option{padding:14px;}.check-option span{font-size:13px;}.check-intro{grid-template-columns:1fr;}.check-intro div{display:flex;align-items:center;gap:13px;}.check-intro strong{margin:0;font-size:13px;}}
@media(prefers-reduced-motion:reduce){.learning-page *{transition:none!important;scroll-behavior:auto!important;}}
@media print{.learning-subnav,.glossary-controls,.check-reset,.learning-page .site-header,.learning-page .site-footer{display:none!important;}.learning-page{background:white;color:black;}.term-card,.learning-card,.check-summary{break-inside:avoid;background:white;border-color:#888;}.learning-page p,.learning-page h1,.learning-page h2,.learning-page h3,.learning-page li,.learning-page dd,.learning-page dt{color:black!important;}}
