:root{color-scheme:light;--ink:#171717;--muted:#626262;--line:#e7e7e7;--blue:#2855e8}*{box-sizing:border-box}body{color:var(--ink);background:#fff;margin:0;font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:1rem;line-height:1.8}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;height:auto;display:block}.shell{width:min(1120px,100% - 48px);margin-inline:auto}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:24px;display:flex}.brand{letter-spacing:.02em;font-size:1.6rem;font-weight:850}.brand span{color:var(--blue)}nav{flex-wrap:wrap;gap:12px;display:flex}nav a{min-height:44px;color:var(--muted);align-items:center;padding:8px 14px;display:flex}nav a:hover,nav a[aria-current=page]{color:var(--blue)}.skip{border:2px solid var(--blue);z-index:10;background:#fff;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip:focus{transform:translateY(0)}.hero{padding:90px 0 100px}.eyebrow{letter-spacing:.12em;color:var(--muted);font-size:.875rem;font-weight:650}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:-.035em;margin:20px 0;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.3}.hero h1 span{color:var(--blue)}.lead{max-width:680px;color:var(--muted);font-size:1.125rem;line-height:1.9}.actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button{background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:6px;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;font-weight:600;display:inline-flex}.button:hover{background:#2044ba}.button.secondary{color:var(--ink);border-color:var(--line);background:#fff}.button.secondary:hover{border-color:var(--ink)}.section{border-top:1px solid var(--line);padding:40px 0 56px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.section-head h2{margin:0;font-size:1.5rem}.section-head a{min-height:44px;color:var(--blue);align-items:center;display:flex}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.card{border:1px solid var(--line);border-radius:8px;min-width:0;transition:border-color .2s;overflow:hidden}.card:hover{border-color:var(--blue)}.card img{aspect-ratio:16/10;object-fit:cover;width:100%}.card-body{padding:24px}.card h3{margin:10px 0;font-size:1.25rem;line-height:1.5}.card p{color:var(--muted);margin:0 0 20px}.meta{color:var(--muted);font-size:.875rem}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{color:#44506a;background:#f3f5fb;border-radius:4px;padding:3px 10px;font-size:.875rem}.empty{background:#fafbfe;border:1px dashed #bfc5d0;border-radius:8px;padding:44px}.empty h2,.empty h3{margin:0 0 8px;font-size:1.25rem}.empty p{color:var(--muted);margin:0}.page-heading{padding:64px 0 40px}.page-heading h1{font-size:clamp(2.4rem,5vw,3.8rem)}.article{max-width:780px;margin:48px auto 0}.back{min-height:44px;color:var(--blue);align-items:center;display:inline-flex}.article-header{padding:24px 0 36px}.article-header h1{font-size:clamp(2.2rem,5vw,3.5rem)}.cover{border-radius:8px;width:100%;margin-bottom:40px}.prose{font-size:1.0625rem;line-height:1.95}.prose h2{margin-top:2.5em;font-size:1.6rem;line-height:1.5}.prose h3{margin-top:2em;font-size:1.25rem}.prose a{color:var(--blue);text-underline-offset:4px;text-decoration:underline}.prose pre{border-radius:6px;max-width:100%;padding:20px;overflow:auto}.prose :not(pre)>code{overflow-wrap:anywhere;background:#f1f3f8;border-radius:3px;padding:2px 5px}.prose blockquote{border-left:3px solid var(--blue);color:var(--muted);margin:24px 0;padding:8px 24px}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line);padding:10px 14px}.footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:80px;padding-block:28px;font-size:.875rem;display:flex}@media (width<=850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.shell{width:calc(100% - 32px)}.header{flex-direction:column;align-items:flex-start;gap:8px;padding-block:16px}nav{justify-content:space-between;gap:0;width:100%}nav a{padding-inline:10px}.hero{padding:48px 0 60px}.cards{grid-template-columns:1fr}.empty{padding:28px}.page-heading{padding-top:40px}.article{margin-top:32px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
