/* Learning UI, scoped to its own cards; all content follows the site theme. */
.lw-learn,.learn-hub,.learn-home{box-sizing:border-box;min-width:0;overflow-wrap:anywhere}.lw-learn *,.learn-hub *,.learn-home *{box-sizing:border-box;min-width:0}.lw-learn[hidden],.lw-learn [hidden]{display:none!important}.lw-learn{margin:26px 0;padding:clamp(20px,4vw,36px);border:1px solid var(--border);border-radius:22px;background:linear-gradient(130deg,var(--accent-wash),transparent 70%),var(--bg-panel);color:var(--text-primary);scroll-margin-top:100px;isolation:isolate}.lw-learn h2,.learn-hub h1,.learn-home h2{color:var(--text-primary);line-height:1.15;letter-spacing:-.035em;text-transform:none}.lw-learn h2{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 16px}.lw-learn h3{font-size:1.12rem;margin:22px 0 12px;line-height:1.4}.lw-learn h4{font-size:1rem;margin:0 0 8px}.lw-learn p,.learn-hub>p,.learn-home p{color:var(--text-secondary);line-height:1.7}.lw-learn .learn-kicker,.learn-kicker{font:700 .7rem/1.6 var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}.lw-learn .learn-note{font-size:.82rem;line-height:1.65}.lw-learn a,.learn-home a,.learn-hub-nav a{color:var(--accent);text-underline-offset:4px}.learn-field{display:grid;gap:8px;font-size:.95rem;font-weight:600;margin:22px 0;line-height:1.5}.learn-field input,.learn-field select,.learn-dialog select{width:100%;max-width:100%;min-height:46px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--bg-body);color:var(--text-primary);font:400 16px/1.5 var(--font-main,sans-serif)}.learn-field input[type=range]{accent-color:var(--accent);padding:0}.lw-learn button,.learn-dialog button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid var(--accent);border-radius:11px;background:var(--accent);color:var(--on-accent,#fff);font:600 .9rem/1.5 var(--font-main,sans-serif);cursor:pointer;text-align:left;white-space:normal;max-width:100%}.lw-learn button:disabled{opacity:.48;cursor:default}.lw-learn :focus-visible,.learn-hub-nav a:focus-visible,.learn-home a:focus-visible,.learn-inline-term:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.learn-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}.learn-actions a{display:inline-flex;align-items:center;min-height:44px}.learn-status:empty{display:none}.lw-learn .learn-status{border-left:3px solid var(--accent);padding:14px 16px;background:var(--accent-wash);color:var(--text-primary);border-radius:0 10px 10px 0}.learn-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;list-style:none;counter-reset:learn-step;margin:24px 0}.learn-steps li{counter-increment:learn-step;padding:12px 10px;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);font-size:.83rem;line-height:1.45}.learn-steps li:before{content:counter(learn-step) ' · ';font-weight:700}.learn-steps [aria-current=step]{border-color:var(--accent);background:var(--accent-wash);color:var(--text-primary)}.lw-learn details{border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin:14px 0;background:var(--bg-body)}.lw-learn summary{min-height:44px;cursor:pointer;font-weight:600;line-height:1.5;padding:8px 0;color:var(--text-primary)}.lw-learn pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-body);padding:14px;border:1px solid var(--border);border-radius:10px;font:.82rem/1.7 var(--font-mono,monospace);max-width:100%;color:var(--text-primary)}.lw-learn fieldset{margin:18px 0;padding:0;border:0}.lw-learn legend{font-weight:600;margin-bottom:12px}.learn-choices{display:grid;gap:10px}.learn-choices button{justify-content:flex-start;background:var(--bg-body);color:var(--text-primary)}.learn-choices button[aria-pressed=true]{border-width:2px;background:var(--accent-wash)}.learn-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.learn-compare>div{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-body);display:grid;gap:9px}.learn-compare strong{font:700 1.5rem/1.25 var(--font-mono,monospace);color:var(--text-primary)}.learn-compare span{color:var(--text-secondary);font-size:.85rem}.learn-compare i,.learn-term-bar{height:12px;border-radius:20px;background:var(--border);overflow:hidden;display:block}.learn-compare b,.learn-term-bar b{display:block;height:100%;background:var(--accent);transition:width .18s ease}.learn-code{border:1px solid var(--border);background:var(--bg-body);border-radius:14px;overflow:hidden;margin:20px 0}.learn-code pre{margin:0;border:0;padding:10px 16px;border-radius:0}.learn-code ol{margin:0;padding:0 0 0 48px;font:.82rem/1.7 var(--font-mono,monospace);color:var(--text-secondary)}.learn-code li{padding:10px 14px 10px 6px;border-left:3px solid transparent;transition:background .18s ease}.learn-code li[aria-current=step]{background:var(--accent-wash);border-left-color:var(--accent);color:var(--text-primary)}.learn-code code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.learn-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:20px 0}.learn-vars>div{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-body)}.learn-vars dt{font-size:.78rem;color:var(--text-secondary)}.learn-vars dd{margin:7px 0 0;font:.85rem/1.5 var(--font-mono,monospace);color:var(--text-primary);overflow-wrap:anywhere}
.learn-map{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:60px 60px 60px;gap:30px 14px;margin:28px 0}.learn-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}.learn-map path{stroke:var(--border);stroke-width:3;fill:none;transition:stroke .18s ease}.learn-map path[data-active=true]{stroke:var(--accent);stroke-width:4}.learn-map button{padding:8px!important;background:var(--bg-body);color:var(--text-primary);border-color:var(--border);font-size:.85rem}.learn-map [aria-pressed=true]{border-color:var(--accent);background:var(--accent-wash);box-shadow:0 0 0 3px var(--accent-wash)}.learn-map [data-station=browser]{grid-column:2;grid-row:1}.learn-map [data-station=pi]{grid-column:2;grid-row:2}.learn-map [data-station=blog]{grid-column:1;grid-row:3}.learn-map [data-station=tools]{grid-column:2;grid-row:3}.learn-map [data-station=search]{grid-column:3;grid-row:3}.learn-site-detail{min-height:150px;border:1px solid var(--border);padding:18px;border-radius:14px;background:var(--bg-body);margin:20px 0}.learn-site-detail h3{margin-top:0}.learn-question{font-weight:600;font-size:1.05rem;color:var(--text-primary)!important}.learn-dialog{box-sizing:border-box;border:1px solid var(--border);border-radius:20px;padding:clamp(20px,4vw,32px);width:min(680px,calc(100% - 32px));max-height:85vh;max-height:85svh;overflow:auto;color:var(--text-primary);background:var(--bg-panel)}.learn-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.learn-dialog h3{font-size:1.5rem}.learn-dialog p{color:var(--text-secondary);line-height:1.7}.learn-dialog .learn-dialog-close{display:flex;margin-left:auto;background:var(--bg-body);color:var(--text-primary);border-color:var(--border)}.learn-term-bar{margin:18px 0;height:16px}.learn-inline-term{font:inherit!important;display:inline!important;min-height:0!important;padding:0 .05em!important;border:0!important;border-bottom:1px dashed var(--accent)!important;border-radius:0!important;background:transparent!important;color:var(--accent)!important;cursor:pointer!important}.learn-inline-term:after{content:' ?';font-size:.7em;vertical-align:super}.learn-path-steps{padding-left:24px;display:grid;gap:20px}.learn-path-steps>li{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-body)}.learn-path-steps [data-done=true]{border-color:var(--accent)}.learn-path-steps [data-done=true] h4:before{content:'✓ ';color:var(--accent)}.lw-learn progress{width:100%;height:16px;accent-color:var(--accent);margin:8px 0 20px}.learn-path-steps p{margin:8px 0}.learn-hub{display:block!important;width:100%;padding:clamp(24px,5vw,60px)}.learn-hub h1{font-size:clamp(2.1rem,5vw,4.5rem);max-width:950px;margin:10px 0 24px}.learn-hub>p{max-width:800px;font-size:1.08rem}.learn-hub-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}.learn-hub-nav a{padding:20px;border:1px solid var(--border);background:var(--bg-body);border-radius:14px;text-decoration:none;font-weight:600;min-height:72px;display:flex;align-items:center;gap:12px}.learn-hub-nav span{font:700 .85rem/1 var(--font-mono,monospace);color:var(--text-secondary)}.learn-hub-section{margin:18px 0;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--bg-panel)}.learn-hub-section>summary{cursor:pointer;min-height:64px;padding:20px;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.learn-hub-section>.lw-learn{border:0;margin:0}.learn-home{grid-column:1/-1;margin:24px 0;padding:clamp(24px,4vw,40px);border:1px solid var(--border);border-radius:20px;background:linear-gradient(110deg,var(--accent-wash),transparent),var(--bg-panel)}.learn-home h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 12px}.learn-home-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.learn-home-links a{min-height:44px;display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--border);background:var(--bg-body);border-radius:10px;text-decoration:none;font-weight:600}.learn-article-return{padding:16px;border:1px solid var(--border);border-radius:12px;margin:20px 0;color:var(--text-secondary)}.learn-article-return a{color:var(--accent)}
@media(max-width:700px){.learn-hub-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-steps{grid-template-columns:1fr}.learn-steps li{padding:8px 10px}.learn-compare{gap:10px}.learn-compare>div{padding:12px}.learn-compare strong{font-size:1.15rem}.learn-map{gap:30px 6px}.learn-map button{font-size:.73rem!important}.learn-vars{grid-template-columns:1fr 1fr}.learn-path-steps{padding-left:18px}.learn-path-steps>li{padding:12px}.learn-hub{padding:24px 16px}.learn-hub-nav a{padding:14px 10px;font-size:.85rem}.learn-home-links{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lw-learn *{transition:none!important;animation:none!important}}
