
:root{--ink:#171a1f;--muted:#65707e;--line:#dce1e8;--blue:#225bde;--light:#f7f9fc;--header:76px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:hover{color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.wrap{width:min(1320px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:-100px;background:#fff;padding:12px;z-index:99}.skip:focus{top:8px}.header{height:var(--header);background:#ffffffef;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:20px}.brand{font-size:27px;letter-spacing:-1.3px;font-weight:750}.brand span{color:var(--blue)}.header-nav{display:flex;align-items:center;gap:26px;font-size:14px}.pill{display:inline-flex;padding:9px 18px;align-items:center;gap:8px;line-height:1.5;border:1px solid var(--line);border-radius:999px;background:#fff}.pill.primary{background:var(--ink);border-color:var(--ink);color:white}.pill:hover{border-color:var(--blue)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;padding:66px 0 45px;align-items:center}.eyebrow{letter-spacing:1.8px;font-size:12px;font-weight:650;color:var(--blue);margin:0 0 18px}.hero h1{font-size:clamp(36px,4.5vw,61px);line-height:1.27;letter-spacing:-1.6px;margin:0 0 21px}.hero-desc{color:var(--muted);font-size:18px;max-width:550px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.meta{color:var(--muted);font-size:13px}.hero-art{position:relative;min-height:365px;display:flex;justify-content:center;gap:18px;align-items:center}.hero-art img{width:29%;max-width:139px;border:1px solid #b7bec8;border-radius:8px;box-shadow:0 12px 25px #0d183610}.hero-art img:first-child{transform:rotate(-7deg) translateY(24px)}.hero-art img:last-child{transform:rotate(7deg) translateY(24px)}.search-box{padding:23px;border:1px solid var(--line);border-radius:18px;position:relative;margin:0 0 30px}.search-top{display:flex;gap:18px;align-items:center}.search-top label{font-size:16px;font-weight:650;white-space:nowrap}.input-wrap{position:relative;flex:1}.input-wrap input{width:100%;height:52px;padding:0 45px 0 16px;border:1px solid #bfc8d5;border-radius:10px;background:#fff;outline-offset:3px}.input-wrap button{position:absolute;right:10px;top:7px;border:0;background:#fff;padding:3px 8px;color:var(--muted);font-size:22px}.search-note{font-size:13px;color:var(--muted);margin:10px 0 0}.search-results{background:#fff;max-height:480px;overflow:auto;border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.search-result{display:block;padding:10px 12px;border-radius:8px}.search-result:hover{background:var(--light)}.search-result small{display:block;color:var(--muted);font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 49px}.quick-link{border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:15px}.quick-link b{display:block}.quick-link span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:65px;align-items:start}.toc{position:sticky;top:101px;max-height:calc(100vh - 125px);overflow:auto;scrollbar-width:thin;padding:0 18px 15px 0}.toc h2{font-size:17px;margin:0 0 14px}.toc a{display:flex;gap:12px;font-size:13px;line-height:1.6;padding:8px 10px;border-radius:7px;margin:2px 0}.toc a span{font:11px/1.9 ui-monospace,monospace;color:var(--muted)}.toc a.active{color:var(--blue);background:#f0f5ff;font-weight:650}.toc .sub{margin-top:21px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}.toc-toggle{display:none}.chapter{padding:0 0 48px;margin-bottom:48px;border-bottom:1px solid var(--line);scroll-margin-top:98px}.chapter-num{font-size:12px;letter-spacing:1.2px;color:var(--blue);font-weight:650;margin-bottom:8px}.chapter h2{font-size:30px;line-height:1.45;letter-spacing:-.7px;margin:0 0 15px}.intro{font-size:17px;color:var(--muted);margin-bottom:25px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin:25px 0 36px}.gallery:has(figure:only-child){grid-template-columns:minmax(230px,340px)}.gallery:has(figure:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px}.gallery figure{margin:0;min-width:0}.screen-button{display:block;border:1px solid #cfd5df;border-radius:12px;padding:9px;background:#fafbfd;width:100%;overflow:hidden}.screen-button svg{display:block;width:100%;height:auto;background:white}.screen-button:hover{border-color:var(--blue)}figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin:9px 2px 0}.legend{list-style:none;margin:9px 0 0;padding:0;font-size:12px;color:#354153;line-height:1.7}.legend li{display:flex;align-items:start;gap:7px;margin:6px 0}.legend span{border-radius:50%;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--blue);font:11px/1 ui-monospace,monospace;margin-top:2px}.task:target{border-left:3px solid var(--blue);padding-left:18px}.task{scroll-margin-top:96px;margin:0 0 33px}.task h3{font-size:20px;line-height:1.55;margin:0 0 10px;letter-spacing:-.2px}.task-number{font-family:ui-monospace,monospace;font-size:13px;color:var(--blue);margin-right:11px}.path{border-left:3px solid var(--blue);background:#f7f9ff;color:#344560;padding:9px 14px;border-radius:0 7px 7px 0;font-size:13px;margin-bottom:15px;overflow-wrap:anywhere}.path b{display:inline-block;margin-right:11px;font-weight:600;color:var(--blue)}.steps{list-style:none;counter-reset:step;padding:0;margin:0}.steps li{counter-increment:step;position:relative;padding-left:36px;margin:13px 0}.steps li:before{content:counter(step);position:absolute;left:0;top:2px;width:23px;height:23px;background:#f1f4f8;border:1px solid #d5dde8;border-radius:50%;text-align:center;font:12px/21px ui-monospace,monospace;color:#4c5c70}.result,.tip{font-size:13px;line-height:1.8;padding:10px 14px;margin:12px 0;border:1px solid var(--line);border-radius:8px}.result strong,.tip strong{margin-right:8px;color:#243349}.tip{background:#fafbfd;color:var(--muted)}.task-image-link{font-size:13px;color:var(--blue);display:inline-block;margin-top:7px}.table-wrap{overflow:auto;margin:22px 0 30px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:90px}th{background:#f7f9fc;font-weight:650;border-top:1px solid var(--line)}.table-title{font-size:18px;font-weight:650;margin:20px 0 8px}.scope{font-size:12px;color:var(--muted);max-width:750px;margin:36px 0}.footer{border-top:1px solid var(--line);padding:30px 0;margin-top:35px;font-size:13px;color:var(--muted)}.footer .wrap{display:flex;justify-content:space-between;gap:16px}.back-top{position:fixed;bottom:88px;right:24px;padding:9px 15px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;box-shadow:0 4px 15px #1426440b}.lightbox{border:1px solid var(--line);border-radius:16px;max-width:min(94vw,1050px);max-height:94vh;padding:24px;background:#fff}.lightbox::backdrop{background:#18233680;backdrop-filter:blur(5px)}.lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.lightbox-head h2{font-size:18px;margin:0}.lightbox-close{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 13px}.lightbox-body{display:flex;gap:28px;align-items:flex-start}.lightbox svg{display:block;width:min(53vw,470px);height:auto;max-height:74vh}.lightbox .legend{font-size:15px;max-width:315px}.lightbox .legend span{min-width:23px;height:23px;font-size:12px}.lightbox small{display:block;margin-top:18px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1000px){.layout{grid-template-columns:220px minmax(0,1fr);gap:30px}.hero{gap:30px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){:root{--header:65px}.wrap{width:calc(100% - 36px)}.brand{font-size:24px}.header-nav{gap:15px}.header-nav .official{display:none}.header-nav .pill{font-size:12px;padding:8px 12px}.hero{display:block;padding:38px 0 20px}.hero h1{font-size:37px}.hero-desc{font-size:16px}.hero-art{min-height:240px;margin:23px 0 20px}.hero-art img{width:27%;max-width:105px}.search-top{display:block}.search-top label{display:block;margin-bottom:9px}.search-box{padding:17px}.input-wrap input{font-size:14px}.quick-grid{gap:9px;margin-bottom:25px}.quick-link{padding:13px;font-size:14px}.layout{display:block}.toc-toggle{display:block;width:100%;padding:12px 17px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 0 15px;font-size:14px}.toc{position:static;max-height:none;display:none;padding:15px 0 23px;columns:2}.toc.open{display:block}.toc h2,.toc .sub{column-span:all}.toc a{break-inside:avoid;font-size:12px;padding-left:0}.chapter{margin-top:25px;margin-bottom:35px}.chapter h2{font-size:25px}.intro{font-size:16px}.task h3{font-size:18px}.steps li{font-size:15px;padding-left:30px}.gallery{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery:has(figure:only-child){grid-template-columns:minmax(200px,320px)}.screen-button{padding:5px;border-radius:8px}.legend{font-size:11px}.path{font-size:12px}.footer .wrap{display:block}.lightbox-body{display:block}.lightbox svg{width:100%;max-height:60vh}.lightbox{padding:15px}.lightbox .legend{font-size:13px;max-width:none}.back-top{right:12px;bottom:73px}.meta{font-size:12px}th,td{font-size:13px;padding:10px}.scope{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.header,.toc,.search-box,.quick-grid,.hero-art,.back-top,.toc-toggle,.footer{display:none}.wrap{width:100%}.layout{display:block}.hero{padding:0;display:block}.chapter{break-before:page}.task{break-inside:avoid}.gallery{grid-template-columns:repeat(3,1fr)}.screen-button{border:0}.hero-actions{display:none}}
