:root{color-scheme:dark;--bg:#090f18;--panel:#111c29;--ink:#e7edf4;--muted:#a3b1c1;--line:#273444;--accent:#50e4c2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.shell{width:min(1120px,calc(100% - 48px));margin:auto}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:88px;border-bottom:1px solid var(--line)}.logo{width:166px;max-width:40vw;display:block}.header nav{display:flex;gap:28px;font-size:14px}.active{color:var(--accent)}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:700}.hero{padding:80px 0 56px;max-width:900px}h1{font-size:clamp(32px,4.7vw,54px);line-height:1.3;letter-spacing:-.035em;margin:20px 0 24px}h2{font-size:27px;line-height:1.5;margin:0 0 24px}h3{font-size:21px;margin:32px 0 12px;line-height:1.6}.lead{font-size:19px;color:#b7c5d4;max-width:800px}.meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px;color:var(--muted);margin-top:24px}.article-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:68px;align-items:start}.toc{position:sticky;top:32px;font-size:13px;padding-top:8px}.toc strong{display:block;margin-bottom:18px;font-size:14px}.toc a{display:block;padding:8px 0;color:var(--muted);border-bottom:1px solid #1b2837}.toc a:hover{color:var(--accent)}article{font-size:17px;min-width:0}article section{padding:0 0 46px;margin-bottom:44px;border-bottom:1px solid var(--line)}article p{margin:16px 0}strong{color:#fff}blockquote{margin:24px 0;padding:18px 24px;background:var(--panel);border-left:3px solid var(--accent);color:#c9d7e4}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}.number{display:block;color:var(--accent);font-size:12px;letter-spacing:.13em;margin-bottom:12px}.diagram{margin:28px 0;padding:28px;border:1px solid #385349;background:#0c201f}.diagram .row{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:12px}.diagram strong{display:block;font-size:18px}.diagram small{display:block;color:#b4c7c5;font-size:13px}.plus{text-align:center;color:var(--accent);font-size:26px}.diagram .result{border-top:1px solid #385349;margin-top:22px;padding-top:18px;text-align:center;color:var(--accent);font-size:17px}.table-wrap{overflow-x:auto;margin:24px 0}table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 16px}th{background:var(--panel);color:var(--accent);font-weight:500}td:first-child{font-weight:700;width:25%}.note{font-size:14px;color:var(--muted)}.template{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--line);padding:26px;font-family:inherit;font-size:15px;line-height:1.9}.copy{background:var(--accent);border:0;border-radius:5px;padding:10px 18px;color:#08221c;font:inherit;font-size:14px;cursor:pointer}.copy-status{font-size:13px;color:var(--muted);margin-left:14px}.foot{border-top:1px solid var(--line);margin-top:70px;padding:30px 0 40px;display:flex;justify-content:space-between;gap:24px;font-size:13px;color:var(--muted)}.listing{padding-bottom:70px}.feature{display:grid;grid-template-columns:150px 1fr;gap:38px;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature h2{font-size:30px;max-width:780px;margin:4px 0 18px}.feature p{color:var(--muted);max-width:750px}.feature a.read{color:var(--accent);font-size:15px}.issue{font-size:64px;color:#40566a;line-height:1.2}.tags{font-size:13px;color:var(--accent);margin-bottom:18px}.back{color:var(--accent);font-size:15px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:#111;padding:10px;z-index:2}@media(max-width:850px){.article-layout{grid-template-columns:1fr;gap:36px}.toc{position:static;display:flex;flex-wrap:wrap;gap:8px 20px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.toc strong{width:100%;margin:0}.toc a{border:0;padding:3px 0}.hero{padding:50px 0 35px}.feature{grid-template-columns:70px 1fr;gap:20px}.issue{font-size:45px}}@media(max-width:520px){.shell{width:calc(100% - 36px)}.header{min-height:74px;gap:14px}.header nav{gap:14px;font-size:12px}.logo{width:138px}.lead{font-size:17px}article{font-size:16px}h2{font-size:24px}h3{font-size:19px}.feature{grid-template-columns:1fr}.issue{font-size:28px}.feature h2{font-size:25px}.diagram{padding:20px}.diagram .row{grid-template-columns:1fr}.plus{line-height:1}.foot{flex-direction:column;gap:8px}.template{padding:18px}blockquote{padding:16px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{background:#fff;color:#222}.header,.toc,.copy,.copy-status,.foot{display:none}.article-layout{display:block}.hero{padding:20px 0}h1{font-size:30px}strong,h2,h3{color:#111}.lead,.meta,.note{color:#444}blockquote,.template,.diagram{background:#f5f5f5;color:#222;border-color:#aaa}.diagram strong,.diagram small,.diagram .result,.number{color:#222}article section{break-inside:auto}}

/* Article workshop invitation */
article .workshop-invite{padding:32px;border:1px solid #d59643;border-top:4px solid #ffb44f;border-radius:14px;background:linear-gradient(145deg,#182b40,#17202d 68%);box-shadow:0 16px 44px #0003}.workshop-badge{display:inline-block;padding:5px 12px;background:#ffb44f;color:#192333;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.04em}.workshop-invite h2{font-size:32px;line-height:1.4;margin:22px 0 16px}.workshop-invite .workshop-summary{font-size:19px;color:#dce6ef}.workshop-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:26px 0 30px}.workshop-primary{display:inline-block;background:#ffb44f;color:#142333;padding:14px 22px;border-radius:6px;font-size:17px;font-weight:700;box-shadow:0 6px 18px #0003}.workshop-primary:hover{background:#ffc77a;color:#142333}.workshop-secondary{display:inline-block;padding:13px 18px;border:1px solid #698298;border-radius:6px;font-size:15px}.workshop-invite blockquote{background:#0d1926}.workshop-invite .back{color:#78d9ff}@media(max-width:520px){article .workshop-invite{padding:24px 18px}.workshop-invite h2{font-size:26px}.workshop-invite .workshop-summary{font-size:17px}.workshop-actions a{width:100%;text-align:center}}@media print{article .workshop-invite{background:#fff;box-shadow:none;border-color:#888}.workshop-badge{background:#eee;color:#222}.workshop-invite .workshop-summary{color:#222}.workshop-actions{display:none}.workshop-invite blockquote{background:#f5f5f5}.workshop-invite .back{color:#222}}
