:root{--bg:#f4f0ff;--bg-soft:#faf8ff;--surface:#fff;--surface-soft:#f7f3ff;--surface-deep:#ece5ff;--ink:#211d2d;--muted:#6f6880;--line:#ddd4f3;--purple:#6755dc;--purple-dark:#5140c0;--purple-soft:#e7e0ff;--lavender:#cfc4ff;--code:#1d1a26;--code-line:#312d3d;--code-text:#f5f0ff;--success:#2f8f68;--warning:#b17721;--shadow:0 14px 38px #3f30781a;--radius:18px;--radius-sm:12px;--font-sans:Inter, "Avenir Next", Avenir, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Noto Sans TC", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{min-height:100vh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 4%,#9f8aff2e,#0000 28rem),linear-gradient(#f1ecff 0%,#f7f4ff 42%,#f3effb 100%);margin:0;line-height:1.62}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}::selection{color:#1d1830;background:#bfb2ff}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f4ffe0;border-bottom:1px solid #cfc4ffbf;position:sticky;top:0}.site-header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:28px;width:min(1180px,100% - 36px);height:68px;margin:0 auto;display:grid}.brand{letter-spacing:-.02em;align-items:center;gap:9px;font-weight:760;display:inline-flex}.brand img{border-radius:11px;box-shadow:0 6px 18px #4835ae2e}.version-chip{color:var(--purple-dark);background:var(--purple-soft);border:1px solid var(--lavender);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.main-nav{justify-content:center;gap:4px;display:flex}.nav-link{color:#5d566e;border-radius:9px;padding:8px 11px;font-size:14px;font-weight:650;transition:all .18s}.nav-link:hover{color:var(--ink);background:#6755dc12}.nav-link.active{color:var(--purple-dark);background:var(--purple-soft)}.header-actions{align-items:center;gap:9px;display:flex}.language-toggle,.github-link{border:1px solid var(--line);cursor:pointer;background:#ffffffb8;border-radius:10px;padding:8px 11px;font-size:13px;font-weight:700}.language-toggle:hover,.github-link:hover{background:#fff;border-color:#bfb2e9}main{min-height:calc(100vh - 250px)}.container{width:min(1120px,100% - 36px);margin:0 auto}.narrow{width:min(860px,100% - 36px);margin:0 auto}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;width:min(1120px,100% - 36px);margin:0 auto;padding:80px 0 62px;display:grid}.hero-copy{max-width:650px}.hero-logo-row{align-items:center;gap:14px;margin-bottom:20px;display:flex}.hero-logo-row img{border-radius:20px;box-shadow:0 16px 34px #4d3aa833}.hero-logo-row span{color:var(--purple-dark);letter-spacing:.02em;font-size:14px;font-weight:760}.hero h1{letter-spacing:-.045em;margin:0 0 20px;font-size:clamp(40px,6vw,58px);font-weight:790;line-height:1.06}.hero p{color:var(--muted);max-width:610px;margin:0 0 28px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:11px;display:flex}.button-primary,.button-secondary,.button-quiet{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:9px 16px;font-size:14px;font-weight:720;transition:all .18s;display:inline-flex}.button-primary{background:var(--purple);color:#fff;box-shadow:0 10px 24px #5844c433}.button-primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.button-secondary{border-color:var(--line);color:var(--ink);background:#fff}.button-secondary:hover{border-color:#b9ace3;transform:translateY(-1px)}.button-quiet{color:var(--purple-dark);background:0 0;border-color:#0000}.hero-panel{box-shadow:var(--shadow);background:#fffc;border:1px solid #d7cdf0;border-radius:22px;position:relative;overflow:hidden}.hero-panel:before{content:"";background:#ebe5fb;border-bottom:1px solid #d8cfed;height:36px;display:block}.window-dots{gap:6px;display:flex;position:absolute;top:13px;left:15px}.window-dots i{background:#bbb0d5;border-radius:999px;width:9px;height:9px;display:block}.hero-code{background:var(--code);color:var(--code-text);min-height:300px;font-family:var(--font-mono);white-space:pre-wrap;padding:27px 28px 30px;font-size:14px;line-height:1.75}.hero-code .kw{color:#c9bbff}.hero-code .str{color:#b9e6cf}.hero-code .num{color:#ffd89c}.section{padding:64px 0}.section-tight{padding:44px 0}.section-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(26px,3vw,34px);line-height:1.15}.section-heading p{color:var(--muted);max-width:640px;margin:8px 0 0}.section-heading a{color:var(--purple-dark);white-space:nowrap;font-size:14px;font-weight:720}.feature-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.feature-card{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc2;padding:22px;box-shadow:0 10px 24px #45377a0d}.feature-icon{background:var(--purple-soft);width:36px;height:36px;color:var(--purple-dark);border-radius:10px;place-items:center;margin-bottom:15px;font-weight:800;display:grid}.feature-card h3{letter-spacing:-.02em;margin:0 0 8px;font-size:17px}.feature-card p{color:var(--muted);margin:0;font-size:14px}.stat-strip{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.stat{border-right:1px solid var(--line);padding:25px}.stat:last-child{border-right:0}.stat strong{letter-spacing:-.03em;color:var(--purple-dark);font-size:26px;display:block}.stat span{color:var(--muted);font-size:13px}.code-card{background:var(--code);border:1px solid #393349;border-radius:15px;overflow:hidden;box-shadow:0 16px 34px #261f3821}.code-toolbar{color:#aaa1ba;text-transform:uppercase;letter-spacing:.07em;background:#26222f;border-bottom:1px solid #3a3447;justify-content:space-between;align-items:center;min-height:38px;padding:0 13px;font-size:11px;font-weight:700;display:flex}.code-toolbar button{color:#d2c7eb;cursor:pointer;background:0 0;border:0;font-size:11px}.code-card pre{color:var(--code-text);font:13px/1.72 var(--font-mono);margin:0;padding:20px;overflow-x:auto}.code-card code{font-family:inherit}.inline-code{font-family:var(--font-mono);background:#ebe5fa;border:1px solid #ddd3f2;border-radius:6px;padding:2px 6px;font-size:.92em}.install-band{color:#fff;box-shadow:var(--shadow);background:#312a47;border-radius:20px;grid-template-columns:.8fr 1.2fr;align-items:center;gap:34px;padding:30px;display:grid}.install-band h2{letter-spacing:-.03em;margin:0 0 8px;font-size:26px}.install-band p{color:#cfc6dc;margin:0}.install-command{font:12px/1.6 var(--font-mono);color:#f6efff;background:#1b1822;border:1px solid #494157;border-radius:12px;padding:15px 17px;overflow-x:auto}.page-intro{max-width:780px;padding:66px 0 30px}.eyebrow{color:var(--purple-dark);background:var(--purple-soft);text-transform:uppercase;letter-spacing:.08em;border:1px solid #d8cefb;border-radius:999px;align-items:center;gap:7px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.page-intro h1{letter-spacing:-.045em;margin:14px 0 12px;font-size:clamp(34px,5vw,48px);line-height:1.08}.page-intro p{color:var(--muted);margin:0;font-size:17px}.docs-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:38px;padding-bottom:76px;display:grid}.docs-sidebar{border:1px solid var(--line);background:#ffffffa6;border-radius:15px;max-height:calc(100vh - 118px);padding:13px;position:sticky;top:92px;overflow:auto}.docs-sidebar strong{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:7px 9px;font-size:12px;display:block}.sidebar-link{color:#625b70;border-radius:8px;padding:8px 9px;font-size:13px;display:block}.sidebar-link:hover{background:var(--surface-soft);color:var(--purple-dark)}.docs-main{min-width:0}.docs-main h2{letter-spacing:-.03em;margin:0 0 12px;font-size:26px}.docs-main h3{margin:30px 0 10px;font-size:19px}.docs-main p{color:#514a60}.lesson-list{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.lesson-card{border:1px solid var(--line);background:#ffffffc2;border-radius:15px;padding:19px;transition:all .18s;display:block}.lesson-card:hover{border-color:#c2b5eb;transform:translateY(-2px);box-shadow:0 10px 25px #44347a12}.lesson-number{background:var(--purple-soft);width:28px;height:28px;color:var(--purple-dark);border-radius:9px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.lesson-card h3{margin:14px 0 6px;font-size:17px}.lesson-card p{color:var(--muted);margin:0;font-size:13px}.lesson-content{border:1px solid var(--line);background:#ffffffb3;border-radius:18px;padding:28px}.lesson-content ul{color:#514a60;padding-left:20px}.lesson-content li{margin-bottom:8px}.lesson-nav{justify-content:space-between;gap:14px;margin-top:26px;display:flex}.lesson-nav a{border:1px solid var(--line);background:#ffffffad;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:700}.module-controls{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.search-input{border:1px solid var(--line);min-width:240px;color:var(--ink);background:#ffffffd1;border-radius:11px;outline:none;flex:1;padding:11px 13px}.search-input:focus{border-color:#aa9ae3;box-shadow:0 0 0 3px #6755dc1a}.filter-select{border:1px solid var(--line);color:var(--ink);background:#ffffffd1;border-radius:11px;padding:10px 12px}.module-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.module-card{border:1px solid var(--line);background:#ffffffc2;border-radius:16px;flex-direction:column;min-height:154px;padding:19px;transition:all .18s;display:flex}.module-card:hover{border-color:#bcaee8;transform:translateY(-2px);box-shadow:0 10px 25px #44347a12}.module-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.module-card code{font:700 15px var(--font-mono);color:var(--purple-dark)}.module-card p{color:var(--muted);flex:1;margin:12px 0 15px;font-size:13px}.module-meta{color:#7b7389;align-items:center;gap:7px;font-size:11px;display:flex}.badge{color:#6153a7;background:#eee8fc;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.module-doc{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:30px;padding-bottom:72px;display:grid}.module-api{min-width:0}.api-list{border:1px solid var(--line);background:#ffffffbd;border-radius:15px;overflow:hidden}.api-row{border-bottom:1px solid #e6def6;grid-template-columns:210px 1fr;gap:20px;padding:16px 18px;display:grid}.api-row:last-child{border-bottom:0}.api-signature code{font:700 12px/1.55 var(--font-mono);color:var(--purple-dark);word-break:break-word}.api-desc p{color:#4f485d;margin:0 0 4px;font-size:13px}.api-desc .zh-line{color:#827a91;font-size:12px}.module-aside{position:sticky;top:92px}.module-aside .info-card{border:1px solid var(--line);background:#ffffffbf;border-radius:15px;margin-bottom:13px;padding:18px}.info-card strong{margin-bottom:8px;font-size:13px;display:block}.info-card p{color:var(--muted);margin:0;font-size:12px}.playground-shell{min-height:590px;box-shadow:var(--shadow);background:#fff;border:1px solid #d3c8ed;border-radius:18px;grid-template-columns:1fr 1fr;margin-bottom:72px;display:grid;overflow:hidden}.editor-pane,.output-pane{flex-direction:column;min-width:0;display:flex}.editor-pane{background:#1f1c29}.output-pane{background:#fdfcff;border-left:1px solid #d8d0e8}.playground-toolbar{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.output-pane .playground-toolbar{border-bottom-color:var(--line)}.playground-toolbar strong{font-size:12px}.editor-pane .playground-toolbar strong{color:#d8d0e6}.editor-actions{gap:7px;display:flex}.run-button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:7px 12px;font-size:12px;font-weight:750}.reset-button{color:#c9c0d6;cursor:pointer;background:0 0;border:1px solid #4b4559;border-radius:9px;padding:6px 10px;font-size:12px}.code-editor{resize:none;color:#f4effb;width:100%;font:13px/1.7 var(--font-mono);tab-size:4;background:0 0;border:0;outline:none;flex:1;padding:18px 20px}.output-console{color:#282231;font:13px/1.7 var(--font-mono);white-space:pre-wrap;flex:1;margin:0;padding:18px 20px;overflow:auto}.playground-note{border-top:1px solid var(--line);color:#6b637a;background:#f2eefb;padding:12px 15px;font-size:11px}.example-tabs{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.example-tab{border:1px solid var(--line);cursor:pointer;background:#ffffffbf;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:700}.example-tab.active{background:var(--purple-soft);color:var(--purple-dark);border-color:#c9bcf5}.web-guide-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.guide-card{border:1px solid var(--line);background:#ffffffbf;border-radius:16px;padding:22px}.guide-card h2{margin:0 0 9px;font-size:20px}.guide-card p{color:var(--muted);margin:0 0 15px;font-size:14px}.notice{border-left:3px solid var(--purple);color:#554d67;background:#eee9fc;border-radius:0 10px 10px 0;margin:18px 0;padding:12px 14px;font-size:13px}.warning{border-left-color:var(--warning);background:#fff8e8}.install-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.install-card{border:1px solid var(--line);background:#ffffffc7;border-radius:16px;padding:22px}.install-card h2{margin:0 0 8px;font-size:20px}.install-card p{color:var(--muted);font-size:13px}.command-box{color:#f4edff;font:12px/1.6 var(--font-mono);background:#201c2a;border-radius:11px;padding:14px;overflow-x:auto}.site-footer{border-top:1px solid var(--line);background:#efeaf9b8;padding:44px 0 20px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:40px;width:min(1120px,100% - 36px);margin:0 auto;display:grid}.footer-brand{font-size:20px;font-weight:800}.footer-grid p{color:var(--muted);font-size:13px}.footer-grid strong{text-transform:uppercase;letter-spacing:.07em;color:#6f677d;margin-bottom:10px;font-size:12px;display:block}.footer-grid a{color:#5f576c;margin:6px 0;font-size:13px;display:block}.footer-grid a:hover{color:var(--purple-dark)}.footer-bottom{color:#8b8397;border-top:1px solid #ddd4ec;width:min(1120px,100% - 36px);margin:28px auto 0;padding-top:16px;font-size:11px}@media (max-width:980px){.site-header-inner{grid-template-columns:auto 1fr auto;gap:12px}.main-nav{justify-content:flex-start;overflow-x:auto}.github-link{display:none}.hero{grid-template-columns:1fr;gap:34px;padding-top:56px}.hero-panel{max-width:720px}.feature-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.module-doc{grid-template-columns:1fr}.module-aside{position:static}.docs-layout{grid-template-columns:1fr}.docs-sidebar{gap:4px;max-height:none;display:flex;position:static;overflow-x:auto}.docs-sidebar strong{display:none}.sidebar-link{white-space:nowrap}.playground-shell{grid-template-columns:1fr}.output-pane{border-top:1px solid #d8d0e8;border-left:0;min-height:270px}}@media (max-width:720px){.site-header-inner{grid-template-columns:auto auto;width:min(100% - 22px,1120px);height:auto;min-height:62px}.main-nav{order:3;grid-column:1/-1;padding-bottom:8px}.header-actions{justify-self:end}.hero,.container,.narrow,.footer-grid,.footer-bottom{width:min(100% - 24px,1120px)}.hero{padding-top:42px}.hero h1{font-size:38px}.hero p{font-size:16px}.feature-grid,.module-grid,.lesson-list,.web-guide-grid,.install-grid{grid-template-columns:1fr}.stat-strip{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.install-band{grid-template-columns:1fr;padding:22px}.api-row{grid-template-columns:1fr;gap:7px}.page-intro{padding-top:44px}.page-intro h1{font-size:36px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
