:root{--ink:#172d38;--muted:#5b717b;--line:#dce6e8;--teal:#087f83;--paper:#f5f8f8;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--teal);text-underline-offset:4px}button,input{font:inherit}button,.button{display:inline-block;border:1px solid #b9ced1;border-radius:8px;background:#fff;color:var(--ink);padding:9px 16px;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#edf5f5}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd7c45;outline-offset:4px}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#066569}.shell{width:min(1200px,calc(100% - 64px));margin:auto}.topnav{display:flex;justify-content:space-between;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);font-size:14px}.intro{padding:44px 0 28px}.eyebrow{margin:0 0 9px;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--teal)}h1{font-size:clamp(27px,4vw,43px);line-height:1.3;letter-spacing:-.025em;margin:0 0 18px}h2{font-size:24px;line-height:1.4;margin:0 0 8px}h3{font-size:17px;margin:10px 0 8px}p{margin:0 0 14px}.lead{font-size:19px}.lead span{display:inline-block;margin-left:16px;color:var(--muted);font-size:15px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.tags span{font-size:12px;border:1px solid #c6dfda;background:#eef7f4;border-radius:5px;padding:4px 10px}.sections{display:flex;gap:26px;padding:14px 0;margin-bottom:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sections a{text-decoration:none;font-weight:600;font-size:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.status{font-size:12px;flex-shrink:0;background:#e7f4ef;color:#16664f;padding:5px 12px;border-radius:20px}.status.busy{background:#fff3d9;color:#7c5900}.note{font-size:13px;color:var(--muted)}.sim-frame{position:relative;border:1px solid #cfdde2;border-radius:14px;overflow:hidden;background:#f5f6f8;min-height:560px}iframe{display:block;border:0;width:100%;height:620px;background:#f5f6f8}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#f5f8f8e8;color:var(--muted);pointer-events:none}.loading[hidden]{display:none}.caption{font-size:12px;color:var(--muted);margin:12px 0 0}.learning{padding:48px 0 0}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.learning-grid article{padding:23px;border:1px solid var(--line);background:white;border-radius:12px}.learning-grid p{font-size:14px;color:#4b646f;margin:0}.number{color:var(--teal);font-size:12px;font-weight:bold}code{font-family:Consolas,"Microsoft YaHei",monospace;font-size:.93em}.source{margin:40px 0;padding:28px;background:white;border:1px solid var(--line);border-radius:14px}.source>p{font-size:14px;color:#4b646f}.commands{padding:18px;background:#102f3b;color:#e2f2ee;border-radius:9px;overflow:auto;line-height:1.9}details{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}summary{font-weight:600;cursor:pointer}.code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-top:18px}.source-code{max-height:560px;overflow:auto;background:#f5f8f8;padding:18px;border:1px solid var(--line);border-radius:8px;font-size:13px;tab-size:4}.adaptation p{font-size:13px;color:var(--muted);margin:14px 0 0}.error{background:#fff0ed;color:#a13727;padding:12px 16px;border-radius:8px;margin-bottom:12px}.recovery{margin-bottom:15px}.recovery button+button{margin-left:8px}.skip{position:fixed;top:-100px;left:12px;z-index:20;padding:10px;background:white}.skip:focus{top:12px}footer{font-size:12px;color:var(--muted);padding:0 0 28px}.embedded .topnav,.embedded .intro,.embedded .sections,.embedded footer,.embedded #learning,.embedded #source{display:none}.embedded .shell{width:100%;padding:14px}.embedded .section-heading h2{font-size:18px}.embedded .sim-frame{border-radius:8px}.embedded .caption{font-size:11px}
@media(max-width:720px){.shell{width:calc(100% - 32px)}.intro{padding-top:30px}.lead span{display:block;margin:7px 0 0}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.learning-grid{grid-template-columns:1fr}.learning-grid article{padding:20px}.source{padding:20px}.sections{gap:23px}.sim-frame{min-height:600px}iframe{height:760px}h2{font-size:21px}.source .button{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
