.home-shell .desktop-surface{background-color:var(--brand-surface);height:100dvh;min-height:0}.home-shell .desktop-wallpaper-trace{z-index:0;bottom:0;right:120px}.home-shell .desktop-menubar{z-index:10;background:var(--canvas);border-bottom:1px solid var(--hairline);height:44px;color:var(--ink);align-items:center;gap:16px;padding:0 16px;font-size:13px;display:flex;position:relative}.desktop-menubar .hck-mark{width:23px;height:23px}.menubar-app{white-space:nowrap;font-size:13px;font-weight:600}.menubar-menu{align-items:center;gap:4px;height:100%;display:flex}.menubar-menu button,.menubar-context{border-radius:var(--r-pill);background:0 0;border:0;align-items:center;min-height:32px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.menubar-menu button:hover{background:var(--surface-inset)}.menubar-context{background:var(--surface);font-weight:600}.menubar-status{color:var(--slate);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.menubar-status-button{border-radius:var(--r-pill);width:28px;height:28px;color:var(--ink);background:0 0;border:0;flex:none;place-items:center;padding:5px;display:grid}.menubar-status-button:hover{background:var(--surface-inset)}.menubar-status svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.menubar-status time{text-align:right;font-variant-numeric:tabular-nums;margin-left:8px;font-size:12px;font-weight:500}.home-shell .desk-widgets,.home-shell .desk-icons{pointer-events:none;width:auto;height:auto;min-height:0;position:absolute;inset:44px 0 112px}.home-shell .desk-widgets{z-index:1}.home-shell .desk-icons{z-index:2;display:block}.desk-widgets .desktop-widget{border-radius:var(--r-xl);background-color:var(--canvas);border:1px solid var(--hairline);min-height:0;box-shadow:var(--shadow-1);pointer-events:auto;flex-direction:column;align-items:stretch;padding:0;display:flex;position:absolute;overflow:hidden;container-type:inline-size}.home-shell .desk-widgets .desktop-widget[hidden]{display:none}.desk-widgets .desktop-widget:focus-within,.desk-widgets .desktop-widget.is-dragging{z-index:5}.desk-widgets .desktop-widget.is-dragging{cursor:grabbing}.widget-toolbar{border-bottom:1px solid var(--hairline);touch-action:none;cursor:grab;height:40px;color:var(--subtle);flex:none;justify-content:space-between;align-items:center;margin:0 18px;display:flex}.widget-drag{border-radius:var(--r-pill);color:inherit;cursor:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:11px;font-weight:500;display:flex}.widget-drag svg{opacity:.7;width:14px;height:14px}.widget-size-controls{gap:4px;display:flex}.widget-size-controls button{border-radius:var(--r-pill);width:28px;height:28px;color:inherit;font:500 18px/1 var(--font-sans);background:0 0;border:0;place-items:center;padding:0;display:grid}.widget-size-controls button:hover{background:var(--surface-inset);color:var(--ink)}.widget-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:24px;overflow:auto}.desk-widgets .desktop-widget.identity-widget{width:336px;height:419px;top:10.3984px;bottom:auto;left:15.125px}.identity-widget .widget-body{flex-direction:column;align-items:flex-start;padding:20px 30px 12px;display:flex}.desk-widgets .identity-widget .widget-label{font-family:var(--font-display);color:var(--ink);gap:10px;font-size:21px;font-weight:600}.widget-label span{font-family:var(--font-sans);color:var(--subtle);font-size:12px;font-weight:500}.desk-widgets .identity-widget .identity-kicker{color:var(--hck-qunqing-deep);margin:12px 0 0;font-size:12px}.desk-widgets .identity-widget h1{font-family:var(--font-display);margin:12px 0 16px;font-size:clamp(32px,9.5cqi,52px);font-weight:600;line-height:1.12}.desk-widgets .identity-widget .identity-body{color:var(--slate);max-width:31em;font-size:14px;line-height:1.8}.desk-widgets .identity-widget .identity-actions{gap:8px;margin-top:auto;padding-top:10px}.desk-widgets .desktop-widget.featured-widget{gap:0;width:320px;height:471px;top:11.1484px;bottom:auto;left:365.324px}.featured-widget .widget-body{flex-direction:column;gap:8px;padding:16px 22px;display:flex}.desk-widgets .featured-widget .widget-heading{flex-wrap:wrap;align-items:center}.desk-widgets .featured-widget h2{font-family:var(--font-display);margin:0;font-size:clamp(20px,6cqi,28px)}.desk-widgets .featured-widget .preview-stack{flex-direction:column;gap:0;display:flex}.desk-widgets .featured-widget .project-preview{border:0;border-bottom:1px solid var(--hairline);background:0 0;border-radius:0;flex:1;gap:4px;min-height:90px;padding:6px 0;transform:none}.desk-widgets .featured-widget .project-preview:last-child{border-bottom:0}.desk-widgets .featured-widget .project-preview:hover{background:var(--cat-tint)}.desk-widgets .featured-widget .preview-index{font-size:10px;line-height:1.5}.desk-widgets .featured-widget .preview-main{font-size:17px;line-height:1.4}.desk-widgets .featured-widget .preview-main strong{font-weight:600}.desk-widgets .featured-widget .preview-summary{-webkit-line-clamp:unset;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.7;display:block;overflow:visible}.desk-widgets .desktop-widget.contact-widget{background-color:var(--hck-shilv);border-color:var(--hck-shilv);border-radius:var(--r-hero);width:553px;height:209px;color:var(--hck-shilv-ink);box-shadow:none;gap:0;display:flex;top:auto;bottom:clamp(8px,100dvh - 892px,48px);left:33px;container-type:size}.contact-widget .widget-toolbar{color:var(--hck-shilv-ink);border-color:var(--dark-line)}.contact-widget .widget-size-controls button:hover{background:var(--hck-shilv-deep);color:var(--hck-shilv-ink)}.contact-widget .widget-body{justify-content:space-between;align-items:center;gap:12px;padding:4px 18px;display:flex;overflow:hidden}.widget-contact-details{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.desk-widgets .contact-widget .widget-contact-copy p{font-family:var(--font-display);color:inherit;margin:0;font-size:clamp(18px,min(4cqi,11cqb),28px);font-weight:600;line-height:1.25}.contact-widget .widget-contact-copy{color:inherit;min-width:0}.widget-official-account{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}@container (width<=480px){.widget-contact-details{flex-direction:column;align-items:flex-start;gap:4px}.desk-widgets .contact-widget .widget-contact-copy p{font-size:18px}.contact-widget .wechat-contact.is-compact{gap:2px}}.widget-contact-copy>span{margin-top:8px;font-size:10px;display:block}.desktop-widget .widget-signoff{border-top:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin:0 24px;padding:10px 0 14px;display:flex}.widget-caption{color:var(--subtle);font-size:10px}.widget-signature{color:var(--slate);white-space:nowrap;font-size:13px;font-weight:500}.featured-colophon{align-items:flex-end;gap:12px;display:flex}.featured-colophon .stamp-signoff{--s:32px;font-family:var(--font-display);margin:0}.featured-widget .widget-signoff{padding:8px 0 12px}.contact-widget .widget-signoff{border-color:var(--dark-line);height:52px;min-height:52px;color:var(--hck-shilv-ink);margin:0 clamp(18px,4.7cqi,38px);padding:6px 0 8px}.contact-widget .widget-caption{color:inherit}.contact-colophon{align-items:center;gap:12px;display:flex}.contact-signature{align-items:center;gap:8px;display:flex}.contact-widget .contact-signature svg{width:28px;height:28px}.contact-signature img{object-fit:contain;width:58px;height:22px;display:block}.wechat-contact{border-radius:var(--r-hero);background:var(--hck-shilv);color:var(--hck-shilv-ink);flex-direction:column;align-items:flex-start;gap:8px;padding:24px;display:flex;position:relative}.wechat-label{font-size:11px;font-weight:500}.wechat-number-row{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.wechat-number-row code{font:600 25px/1.2 var(--font-sans);font-variant-numeric:tabular-nums;color:inherit;-webkit-user-select:all;user-select:all}.wechat-contact .btn{min-height:36px;color:var(--ink);margin:0;padding:9px 14px;font-size:11px}.wechat-contact small{min-height:15px;font-size:10px}.wechat-contact.is-compact{background:0 0;border-radius:0;flex:none;gap:clamp(4px,1.1cqi,8px);padding:0}.is-compact .wechat-label{font-size:clamp(10px,min(2cqi,5.4cqb),13px);line-height:1.4}.is-compact .wechat-number-row{flex-wrap:nowrap;gap:8px}.is-compact .wechat-number-row code{font-size:clamp(12px,min(2.7cqi,7.3cqb),20px)}.is-compact small{font-size:clamp(9px,1.8cqi,12px);line-height:1.4}.desk-widgets .contact-widget .is-compact .btn{border-color:var(--dark-line);background:var(--hck-shilv-deep);width:clamp(24px,min(5cqi,13.5cqb),36px);height:clamp(24px,min(5cqi,13.5cqb),36px);min-height:clamp(24px,min(5cqi,13.5cqb),36px);color:var(--hck-shilv-ink);gap:0;padding:5px}.is-compact .btn svg{width:16px;height:16px}.home-shell .collection-window{padding:24px 28px}.home-shell .contact-window{padding:20px 24px}.window-editorial-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.home-shell .window-editorial-heading h2{font:600 32px/1.2 var(--font-display);text-wrap:balance;margin:8px 0 0}.window-editorial-heading .stamp-sm{flex:none}.home-shell .window-intro{color:var(--slate);margin:16px 0 20px;font-size:14px;line-height:1.75}.window-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.window-categories .color-card{flex-direction:column;align-items:stretch;min-width:0;padding:22px 24px;display:flex}.window-categories .cc-top{margin:0;font-size:12px}.window-categories .cc-title{font:600 25px/1.25 var(--font-display);margin:14px 0 10px}.window-categories .cc-tagline{flex:1;max-width:30em;margin:0;font-size:12px;line-height:1.75}.window-category-open{margin-top:18px;font-size:11px;font-weight:500;display:block}.window-editorial-footer{border-top:1px solid var(--hairline);color:var(--subtle);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:16px;font-size:12px;display:flex}.window-editorial-footer .link-more{font-size:12px}.articles-window .tabs{margin:20px 0}.articles-window .tabs button{font-size:13px}.window-section-heading{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 14px;display:flex}.window-section-heading h3{font:600 16px/1.5 var(--font-sans);color:var(--ink);margin:0}.window-section-heading .link-more,.window-section-heading>span{color:var(--subtle);font-size:12px}.home-shell .window-featured-articles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-shell .window-featured-articles .post{gap:0;min-width:0;padding:20px}.home-shell .window-featured-articles .post-meta{flex-wrap:wrap;gap:8px;font-size:11px}.home-shell .window-featured-articles .cat-tag{font-size:10px}.home-shell .window-featured-articles h3{font:600 17px/1.5 var(--font-sans);margin:12px 0 8px}.home-shell .window-featured-articles p{-webkit-line-clamp:unset;margin:0;font-size:12px;line-height:1.75;display:block;overflow:visible}.home-shell .window-featured-articles .link-more{align-self:flex-start;margin-top:14px;font-size:11px}.home-shell .contact-window-heading{margin:0;display:block}.home-shell .contact-window-heading h2{font:600 30px/1.25 var(--font-display);margin:8px 0}.contact-window-heading h2 small{font:400 13px var(--font-sans);color:var(--subtle);margin-left:8px}.home-shell .contact-window-heading p{color:var(--subtle);margin:0;font-size:12px}.home-shell .window-contact-quote{font:600 28px/1.3 var(--font-display);text-align:left;color:var(--ink);background:0 0;border:0;margin:20px 0 16px;padding:0}.window-contact-quote .ph{display:block}.home-shell .window-contact-bio{color:var(--slate);max-width:40em;margin:0 0 22px;font-size:13px;line-height:1.85}.home-shell .contact-window .window-wechat-card{padding:0}.home-shell .window-wechat-card .wechat-contact{color:inherit;background:0 0;gap:12px;padding:24px}.window-wechat-card .wechat-number-row{justify-content:space-between;gap:16px;width:100%}.window-wechat-card [data-wechat-number]{font:600 24px/1.3 var(--font-sans)}.home-shell .window-wechat-card .btn{height:36px;min-height:36px;padding:0 14px;font-size:12px}.window-wechat-card small{min-height:16px;font-size:11px}.home-shell .contact-window .contact-icons{gap:12px;max-width:none;margin:0}.home-shell .contact-window .contact-icons .app-icon{width:40px;height:40px}.home-shell .contact-window .contact-icons .app-icon svg{width:30px;height:30px}.home-shell .contact-window .contact-icons .app-icon-github svg,.home-shell .contact-window .contact-icons .app-icon img{width:28px;height:28px}.window-contact-signoff{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding-top:14px;display:flex}.window-contact-signoff .signoff{margin:0;font-size:11px}.home-shell .window-contact-signoff img{flex:none;margin:0}.window-contact-signoff .signoff b{font-size:12px;display:block}.window-contact-signoff .signoff span{color:var(--subtle);margin-top:4px;display:block}.window-seal-signoff{align-items:center;gap:12px;display:flex}.window-seal-signoff .t-vertical{font:500 12px/1.3 var(--font-sans);color:var(--slate)}.mobile-contact .wechat-contact{margin-top:22px}.mobile-contact>.link-more{margin-top:18px;display:inline-block}.about-contact .wechat-contact{max-width:620px;margin-bottom:24px}.home-shell .video-window{flex-direction:column;min-height:100%;padding:14px 22px;display:flex}.video-window-heading{flex:none;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.video-window-heading>div{min-width:0}.home-shell .video-window-heading h2{font:600 20px/1.35 var(--font-display);margin:6px 0 0}.video-window-heading .t-kicker{font-size:11px}.video-window-heading>.btn{flex:none;min-height:34px;padding:8px 14px;font-size:11px}.window-video-stage{aspect-ratio:16/9;border-radius:var(--r-xl);background:var(--dark);flex:none;width:100%;position:relative;overflow:hidden}.window-video-stage iframe,.home-shell .window-video-stage video{object-fit:contain;border:0;width:100%;height:100%;margin:0;display:block;position:absolute;inset:0}.window-video-links{flex:none;justify-content:space-between;gap:16px;margin-top:10px;display:flex}.window-video-links .link-more{font-size:11px}.video-window .window-section-heading{flex:none;margin:12px 0 10px}.window-video-choices{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.window-video-choices .video-card{border-radius:var(--r-xl);text-align:left;min-width:0;color:var(--ink);background:0 0;border:0;align-content:start;gap:6px;padding:0}.window-video-choices .video-thumb{aspect-ratio:16/9;background:var(--surface-inset);border:1px solid var(--hairline);display:block}.video-window .window-video-choices{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.video-window .video-choice-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:0;font-size:10px;line-height:1.5;display:-webkit-box;overflow:hidden}.window-video-choices .video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.window-video-choices .dur{font:500 10px/1.2 var(--font-sans);border-radius:var(--r-pill);background:var(--hck-mo);color:var(--hck-mo-ink);padding:2px 5px;bottom:6px;right:6px}.video-selected{border-radius:var(--r-pill);background:var(--canvas);color:var(--ink);padding:3px 7px;font-size:10px;position:absolute;top:6px;left:6px}.video-choice-title{min-height:36px;font-size:11px;font-weight:500;line-height:1.6}.window-video-choices .video-card[aria-pressed=true] .video-thumb{outline:2px solid var(--ink);outline-offset:2px}.window-video-choices .video-card:hover .video-choice-title{text-underline-offset:3px;text-decoration:underline}.external-site-window{background:var(--canvas);flex-direction:column;height:100%;min-height:0;display:flex;container-type:inline-size}.external-site-toolbar{border-bottom:1px solid var(--hairline);background:var(--surface-raised);flex:none;align-items:center;gap:12px;padding:10px 18px;display:flex}.external-site-toolbar .app-icon{border-radius:var(--r-md);width:28px;height:28px;box-shadow:none}.external-site-toolbar .app-icon svg{width:20px;height:20px}.external-site-address{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--slate);flex:1;font-size:12px;overflow:hidden}.external-site-toolbar .btn{flex:none;min-height:32px;padding:7px 13px;font-size:11px}.external-site-window>iframe{background:var(--canvas);border:0;flex:1;width:100%;min-height:0}.github-home{grid-template-columns:230px 1fr;gap:32px;min-height:0;padding:32px;display:grid;overflow:auto}.github-profile{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.github-profile img{border:1px solid var(--hairline);object-fit:cover;border-radius:50%}.github-profile h2{font-family:var(--font-display);margin:4px 0 0;font-size:28px}.github-profile>a:not(.btn),.github-profile>span{color:var(--subtle);overflow-wrap:anywhere;font-size:12px}.github-profile p{color:var(--slate);font-size:13px;line-height:1.8}.github-profile .github-followers{font-size:11px}.github-profile .btn{min-height:36px;padding:10px 14px;font-size:11px}.github-repositories{min-width:0}.github-repo-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.github-repo-heading h2{font-family:var(--font-display);margin:0;font-size:22px}.github-repo-heading h2 small{font:500 13px var(--font-sans);color:var(--subtle);margin-left:6px}.github-repo-heading>a{color:var(--slate);white-space:nowrap;font-size:11px}.external-site-note{color:var(--subtle);margin-bottom:16px;font-size:11px;line-height:1.8}.github-repo-list{flex-direction:column;display:flex}.github-repo{border-bottom:1px solid var(--hairline);flex-direction:column;gap:8px;padding:16px 0;display:flex}.github-repo:first-child{border-top:1px solid var(--hairline)}.github-repo strong{color:var(--hck-qunqing-deep);overflow-wrap:anywhere;justify-content:space-between;gap:12px;font-size:14px;display:flex}.github-repo p{color:var(--slate);font-size:12px;line-height:1.8}.github-repo>span{color:var(--subtle);font-size:10px}.github-repo:hover strong{text-underline-offset:4px;text-decoration:underline}.bilibili-home{min-height:0;overflow:auto}.bilibili-banner{background:var(--hck-zhusha);min-height:128px;color:var(--hck-zhusha-ink);flex-direction:column;justify-content:center;gap:8px;padding:24px 32px;display:flex;position:relative}.bilibili-banner>span{font:500 12px var(--font-sans);letter-spacing:.15em}.bilibili-banner h2{font:600 26px/1.25 var(--font-display);color:inherit;margin:0}.bilibili-banner>.app-icon{border-color:var(--dark-line);background:var(--hck-zhusha-deep);width:80px;height:80px;color:var(--hck-zhusha-ink);box-shadow:none;position:absolute;top:24px;right:36px;transform:rotate(-4deg)}.bilibili-profile{align-items:center;gap:18px;padding:24px 32px;display:flex}.bilibili-profile>img{border:1px solid var(--hairline);object-fit:cover;border-radius:50%;flex:none}.bilibili-profile>div{flex:1;min-width:0}.bilibili-profile h2{font:600 24px var(--font-display);margin:0 0 6px}.bilibili-profile p{color:var(--slate);margin:0 0 5px;font-size:12px;line-height:1.6}.bilibili-profile small{color:var(--subtle);overflow-wrap:anywhere;font-size:10px}.bilibili-profile>.btn{flex:none;font-size:11px}.bilibili-submissions{padding:0 32px 24px}.profile-section-heading{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:18px;display:flex}.profile-section-heading h2,.profile-section-heading h3{font:600 20px var(--font-display);margin:0}.profile-section-heading small{font:500 11px var(--font-sans);color:var(--subtle);margin-left:6px}.profile-section-heading>a{color:var(--slate);white-space:nowrap;font-size:11px}.bilibili-video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;margin-bottom:22px;display:grid}.bilibili-video-open{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.bilibili-video-cover{aspect-ratio:16/10;border-radius:var(--r-lg);background:var(--surface-inset);position:relative;overflow:hidden}.bilibili-video-cover img{object-fit:cover;width:100%;height:100%;display:block}.bilibili-duration{border-radius:var(--r-sm);color:var(--hck-mo-ink);background:var(--hck-mo);font-variant-numeric:tabular-nums;padding:2px 6px;font-size:10px;position:absolute;bottom:8px;right:8px}.bilibili-play{background:var(--canvas);width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;bottom:8px;left:10px}.bilibili-video-open strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px;margin-top:10px;font-size:12px;font-weight:500;line-height:1.6;display:-webkit-box;overflow:hidden}.bilibili-video-open:hover strong{color:var(--hck-zhusha-deep)}.bilibili-video-meta{color:var(--subtle);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:10px;display:flex}.bilibili-video-meta a{color:var(--slate)}.csdn-home{background:var(--surface);flex-direction:column;gap:16px;min-height:0;padding:20px;display:flex;overflow:auto}.csdn-author{flex:none;align-items:flex-start;gap:20px;padding:24px;display:flex}.csdn-author>img{border:1px solid var(--hairline);object-fit:cover;border-radius:50%;flex:none}.csdn-author-info{flex:1;min-width:0}.csdn-author-name{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.csdn-author h2{font:600 25px var(--font-display);margin:0}.csdn-author-label{border-radius:var(--r-pill);color:var(--hck-tenghuang-deep);background:var(--hck-tenghuang-tint);padding:3px 8px;font-size:10px}.csdn-author-info>p{color:var(--slate);margin:10px 0 8px;font-size:11px}.csdn-author-info>small{color:var(--subtle);font-size:11px;line-height:1.7}.csdn-author>.btn{flex:none;min-height:34px;padding:8px 12px;font-size:11px}.csdn-statistics{flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;display:flex}.csdn-statistics>div{flex-direction:row-reverse;align-items:baseline;gap:6px;display:flex}.csdn-statistics dt{color:var(--slate);font-size:11px;font-weight:400}.csdn-statistics dd{color:var(--ink);margin:0;font-size:19px;font-weight:600}.csdn-space-body{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.csdn-sidebar{flex-direction:column;gap:14px;display:flex}.csdn-sidebar .card{padding:18px}.csdn-sidebar h3{font:600 16px var(--font-display);border-bottom:1px solid var(--hairline);margin:0 0 16px;padding-bottom:12px}.csdn-sidebar ul{margin:0;padding:0;list-style:none}.csdn-achievements li{align-items:center;gap:10px;margin:14px 0;display:flex}.csdn-achievements li>span{border-radius:var(--r-sm);width:23px;height:23px;font:600 11px var(--font-sans);background:var(--hck-tenghuang-tint);color:var(--hck-tenghuang-deep);place-items:center;display:grid}.csdn-achievements li>p{color:var(--slate);margin:0;font-size:11px}.csdn-achievements strong{color:var(--ink);font-weight:500}.csdn-level{background:var(--surface);border-radius:var(--r-md);justify-content:space-around;margin-top:16px;padding:14px 4px;display:flex}.csdn-level>span{color:var(--subtle);flex-direction:column;align-items:center;gap:6px;font-size:10px;display:flex}.csdn-level strong{font-size:18px}.csdn-topics li{color:var(--slate);padding:9px 0;font-size:12px}.csdn-sidebar>.external-site-note{margin:0 8px}.csdn-posts{min-width:0;padding:0 22px}.csdn-tabs{border-bottom:1px solid var(--hairline);align-items:center;gap:24px;min-height:55px;display:flex}.csdn-tabs>span,.csdn-tabs>a{white-space:nowrap;min-height:55px;color:var(--slate);align-items:center;gap:4px;font-size:12px;display:flex;position:relative}.csdn-tabs>[aria-current]{color:var(--ink);font-weight:600}.csdn-tabs>[aria-current]:after{content:"";background:var(--ink);border-radius:var(--r-pill);height:2px;position:absolute;bottom:0;left:0;right:0}.csdn-tabs small{color:var(--subtle);font-size:10px;font-weight:400}.csdn-post-controls{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.csdn-sort{gap:16px;display:flex}.csdn-sort button{color:var(--slate);background:0 0;border:0;padding:4px 0;font-size:11px}.csdn-sort button[aria-pressed=true]{color:var(--hck-tenghuang-deep);font-weight:600}.csdn-post-controls input{border:1px solid var(--hairline-strong);border-radius:var(--r-pill);background:var(--canvas);width:130px;min-width:0;color:var(--ink);padding:6px 10px;font-size:11px}.csdn-post{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:18px;padding:22px 0;display:flex}.csdn-post:last-child{border-bottom:0}.csdn-post>img{object-fit:cover;border-radius:var(--r-md);background:var(--surface-inset);flex:none;width:140px;height:88px}.csdn-post-copy{flex:1;min-width:0}.csdn-post h3{font:500 15px/1.6 var(--font-sans);color:var(--ink);margin:0 0 5px}.csdn-post p{-webkit-line-clamp:2;color:var(--slate);-webkit-box-orient:vertical;margin:0 0 10px;font-size:11px;line-height:1.7;display:-webkit-box;overflow:hidden}.csdn-post-meta{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:10px;line-height:1.6;display:flex}.csdn-original{border-radius:var(--r-sm);background:var(--hck-tenghuang-tint);color:var(--hck-tenghuang-deep);padding:1px 5px}.csdn-post:hover h3{color:var(--hck-tenghuang-deep);text-underline-offset:4px;text-decoration:underline}.csdn-empty{color:var(--subtle);padding:24px 0;font-size:12px}@container (width<=850px){.csdn-space-body{grid-template-columns:180px minmax(0,1fr)}.csdn-author{flex-wrap:wrap}.csdn-author>.btn{margin-left:108px}.csdn-post>img{width:110px;height:75px}.csdn-post-controls{flex-wrap:wrap;padding:12px 0}.csdn-tabs{gap:16px}}@container (width<=720px){.github-home{grid-template-columns:1fr}.bilibili-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bilibili-profile{flex-wrap:wrap}.csdn-space-body{grid-template-columns:1fr}.csdn-sidebar{display:none}}.widget-resize{z-index:8;touch-action:none;position:absolute}.widget-resize-n,.widget-resize-s{cursor:ns-resize;height:6px;left:16px;right:16px}.widget-resize-n{top:0}.widget-resize-s{bottom:0}.widget-resize-e,.widget-resize-w{cursor:ew-resize;width:6px;top:16px;bottom:16px}.widget-resize-e{right:0}.widget-resize-w{left:0}.widget-resize-ne,.widget-resize-nw,.widget-resize-se,.widget-resize-sw{width:18px;height:18px}.widget-resize-ne{cursor:nesw-resize;top:0;right:0}.widget-resize-nw{cursor:nwse-resize;top:0;left:0}.widget-resize-se{cursor:nwse-resize;bottom:0;right:0}.widget-resize-sw{cursor:nesw-resize;bottom:0;left:0}.widget-resize-se:after{content:"";opacity:.45;border-bottom:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;bottom:7px;right:7px}.widget-resize:focus-visible{outline:2px solid var(--hck-qunqing);outline-offset:-2px}.app-icon{border:1px solid var(--dark-line);background:var(--canvas);width:64px;height:64px;color:var(--ink);box-shadow:var(--shadow-1);border-radius:26%;flex:none;place-items:center;display:grid}.app-icon svg{width:48px;height:48px;display:block}.app-icon img{width:38px;height:38px}.app-icon-works,.app-icon-robot{background:var(--hck-qunqing);color:var(--hck-qunqing-ink)}.app-icon-articles,.app-icon-archive{background:var(--hck-tenghuang-tint);color:var(--hck-tenghuang-deep);border-color:var(--hck-tenghuang)}.app-icon-videos{background:var(--hck-zhusha-tint);color:var(--hck-zhusha-deep);border-color:var(--hck-zhusha)}.app-icon-terminal,.app-icon-github{background:var(--hck-mo);color:var(--hck-mo-ink)}.app-icon-github svg{fill:currentColor;width:42px;height:42px}.app-icon-about,.app-icon-embhot{background:var(--hck-shilv);color:var(--hck-shilv-ink)}.app-icon-zhcpay{background:var(--hck-tenghuang);color:var(--hck-tenghuang-ink)}.app-icon-miaowu{background:var(--canvas);border-color:var(--hairline);overflow:hidden}.app-icon-miaowu img{object-fit:cover;width:100%;height:100%;transform:scale(1.65)translateY(9%)}.app-icon-home{border-color:var(--hairline)}.app-icon-platform{border-color:var(--hairline);overflow:hidden}.app-icon-platform img{object-fit:contain;width:72%;height:72%;display:block}.app-icon-csdn img,.app-icon-xiaohongshu img{border-radius:23%}.app-icon-wechat img{width:88%;height:88%}.app-icon-email{background:var(--surface);color:var(--slate);border-color:var(--hairline)}.desk-icons .desktop-shortcut{left:auto;right:calc(12px + var(--shortcut-column) * 106px);top:calc(28px + var(--shortcut-row) * min(112px, (100% - 132px) / 5));border-radius:var(--r-xl);width:96px;height:104px;color:var(--canvas);text-align:center;text-shadow:none;touch-action:none;pointer-events:auto;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:7px;padding:6px 0;font-size:11px;font-weight:500;display:flex;position:absolute}.desktop-shortcut .shortcut-label{border-radius:var(--r-pill);background:var(--hck-zhusha-deep);white-space:nowrap;padding:2px 7px;line-height:1.6}.shortcut-label small{font-size:10px}.desk-icons .desktop-shortcut:hover .app-icon{outline:2px solid var(--on-dark);outline-offset:2px}.desk-icons .desktop-shortcut.is-dragging{z-index:6;cursor:grabbing}.desktop-dock,.home-shell .desktop-dock{z-index:1000;left:50%;bottom:max(16px,env(safe-area-inset-bottom));border:1px solid var(--hairline-strong);border-radius:var(--r-pill);background:var(--canvas);box-shadow:var(--shadow-2);white-space:nowrap;align-items:flex-end;gap:8px;padding:10px 16px 7px;display:flex;position:fixed;transform:translate(-50%)}.desktop-dock .dock-item{border-radius:var(--r-pill);min-width:68px;color:var(--slate);background:0 0;flex-direction:column;align-items:center;gap:5px;padding:0 4px;font-size:11px;font-weight:500;display:flex}.desktop-dock .app-icon{width:52px;height:52px;transition:transform var(--dur-fast) var(--ease)}.desktop-dock .app-icon svg{width:39px;height:39px}.desktop-dock .app-icon img{width:32px;height:32px}.desktop-dock .dock-item:hover,.desktop-dock .dock-item[aria-current]{color:var(--ink);background:0 0}.desktop-dock .dock-item:hover .app-icon,.desktop-dock .dock-item:focus-visible .app-icon{transform:translateY(-5px)}.dock-label{line-height:1.2}.dock-indicator{background:0 0;border-radius:50%;width:4px;height:4px}.dock-item[aria-current] .dock-indicator{background:var(--ink)}@media (width>=901px) and (height<=760px){.desk-icons .desktop-shortcut{height:76px;top:calc(28px + var(--shortcut-row) * min(84px, (100% - 108px) / 5));gap:4px;padding:4px 0}.desktop-shortcut .app-icon{width:40px;height:40px}.desktop-shortcut .app-icon svg{width:30px;height:30px}}@media (width<=900px),(height<=500px) and (pointer:coarse){.desktop-dock,.home-shell .desktop-dock{bottom:max(12px,env(safe-area-inset-bottom));gap:4px;padding:9px 12px 6px}.desktop-dock .dock-item{gap:4px;min-width:62px;font-size:10px}.desktop-dock .app-icon{width:46px;height:46px}.desktop-dock .app-icon svg{width:35px;height:35px}.desktop-dock .app-icon img{width:29px;height:29px}}@media (prefers-reduced-motion:reduce){.desktop-dock .app-icon{transition:none}.desktop-dock .dock-item:hover .app-icon,.desktop-dock .dock-item:focus-visible .app-icon{transform:none}}.creator-home{background:var(--canvas);flex:1;min-height:0;padding:24px;overflow:auto}.creator-profile{align-items:center;gap:20px;padding:24px 0;display:flex}.creator-profile>img{object-fit:cover;border-radius:50%;flex:none}.creator-profile>div{min-width:0}.creator-profile h2{font-family:var(--font-display);margin-bottom:8px;font-size:30px;line-height:1.2}.creator-profile p{color:var(--slate);font-size:14px;line-height:1.8}.creator-profile small{color:var(--steel);font-size:12px}.creator-profile>.btn{flex:none;margin-left:auto}.creator-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:230px;padding:32px 20px;display:flex}.creator-empty .app-icon{width:52px;height:52px;box-shadow:none}.creator-empty .app-icon svg{width:38px;height:38px}.creator-empty h3{font-family:var(--font-display);font-size:24px}.creator-empty p{max-width:30em;color:var(--steel);font-size:14px;line-height:1.8}.oschina-home{background:var(--canvas);grid-template-columns:minmax(0,1fr) 280px;align-content:start;gap:20px;display:grid}.oschina-author{align-items:flex-start;padding:24px}.oschina-author p{margin-top:12px}.oschina-info h3,.oschina-tech h3{margin-bottom:16px;font-size:16px}.oschina-info .specs>div{flex-direction:column-reverse;align-items:flex-start;gap:6px;display:flex}.oschina-info .specs dd{margin:0;font-size:24px}.oschina-tech,.oschina-home .creator-feed,.oschina-home>.external-site-note{grid-column:1/-1}.oschina-home .oschina-tech{padding:24px}.oschina-tech dl{flex-direction:column;gap:16px;font-size:14px;display:flex}.oschina-tech dl>div{align-items:baseline;gap:20px;display:flex}.oschina-tech dt{color:var(--steel);flex:none}.oschina-tech dd{flex-wrap:wrap;gap:8px;line-height:1.8;display:flex}.creator-feed{padding:0 24px 24px}.creator-feed .tabs{margin:0}.creator-feed>.link-more{margin:0 auto;display:table}.xiaohongshu-home{grid-template-columns:136px minmax(0,1fr);gap:28px;display:grid}.xhs-side{border-right:1px solid var(--hairline);color:var(--steel);flex-direction:column;gap:20px;padding:20px 0;font-size:14px;display:flex}.xhs-side .app-icon{width:48px;height:48px}.xhs-side .app-icon svg{width:34px;height:34px}.xhs-side strong{font-family:var(--font-display);color:var(--ink);font-size:26px}.xhs-side a{color:var(--ink);font-size:12px}.xhs-main .creator-profile{align-items:flex-start}.xhs-main .creator-profile p{max-width:34em;margin-top:16px}.xhs-notes{text-align:center;border-top:1px solid var(--hairline);padding-bottom:24px}.xhs-notes .tabs{text-align:left;margin:0}.oshwhub-home{background:var(--surface);padding:0}.oshwhub-cover{height:164px;overflow:hidden}.oshwhub-cover img{object-fit:cover;width:100%;height:100%;display:block}.oshwhub-author{gap:20px;margin:-48px 24px 20px;padding:24px;position:relative}.oshwhub-stats{text-align:center;gap:28px;margin-left:auto;display:flex}.oshwhub-stats div{flex-direction:column-reverse;gap:8px;display:flex}.oshwhub-stats dt{color:var(--steel);font-size:12px}.oshwhub-stats dd{color:var(--ink);font-size:22px;font-weight:600}.oshwhub-body{grid-template-columns:144px minmax(0,1fr);gap:20px;padding:0 24px 24px;display:grid}.oshwhub-side{flex-direction:column;align-items:flex-start;gap:20px;padding:18px 0;font-size:13px;display:flex}.oshwhub-side a[aria-current]{color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:8px;font-weight:600}.oshwhub-side p{color:var(--steel);font-size:11px;line-height:1.8}.oshwhub-projects{padding:20px}.oshwhub-projects .profile-section-heading{border-bottom:1px solid var(--hairline);margin-bottom:20px;padding-bottom:16px}.oshwhub-projects .profile-section-heading>img{object-fit:contain;background:var(--ink);border-radius:var(--r-md);width:112px;height:36px;padding:5px 8px}.oshwhub-projects .projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.oshwhub-project{display:block;overflow:hidden}.oshwhub-project>img{aspect-ratio:4/3;object-fit:cover;background:var(--surface);width:100%;display:block}.oshwhub-project>div{padding:14px}.oshwhub-project h3{margin-bottom:10px;font-size:14px;line-height:1.65}.oshwhub-project p{color:var(--steel);margin-bottom:16px;font-size:12px;line-height:1.8}.oshwhub-project .link-more{font-size:12px}.youtube-home{grid-template-columns:64px minmax(0,1fr);gap:28px;padding:16px 28px 28px 12px;display:grid}.youtube-side{flex-direction:column;align-items:center;gap:24px;padding-top:16px;font-size:12px;display:flex}.youtube-side .app-icon{width:48px;height:48px;box-shadow:none;border:0}.youtube-side .app-icon img{width:40px;height:40px}.youtube-author{align-items:center;gap:24px;padding:24px 0}.youtube-author h2{font-family:var(--font-display);font-size:30px;line-height:1.3}.youtube-author .btn{margin-top:20px;font-size:13px}.youtube-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:24px;display:flex}.youtube-empty>img{object-fit:contain;width:200px;height:200px}.youtube-empty h3{font-family:var(--font-sans);margin-top:4px;font-size:18px;font-weight:500}.youtube-empty p{color:var(--steel);margin-top:16px;font-size:12px}@container (width<=680px){.oschina-home,.xiaohongshu-home{grid-template-columns:1fr}.xhs-side{display:none}.oshwhub-projects .projects{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-profile{flex-wrap:wrap}.creator-profile>.btn{margin-left:0}}.site-search.cmdk{width:100%;height:100%;box-shadow:none;border-radius:0;flex-direction:column;display:flex}.search-heading{flex:none;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px 20px;display:flex}.home-shell .search-heading h2{font:600 32px/1.2 var(--font-display);margin:8px 0 10px}.search-heading p{color:var(--slate);font-size:13px;line-height:1.75}.search-heading .stamp-sm{flex:none}.site-search .cmdk-input{border:1px solid var(--hairline-strong);border-radius:var(--r-xl);background:var(--surface);flex:none;height:56px;margin:0 28px;padding:0 16px}.site-search .cmdk-input:focus-within{border-color:var(--hck-qunqing);outline:1px solid var(--hck-qunqing)}.site-search .cmdk-input input{font-family:var(--font-sans);font-size:14px}.site-search .cmdk-input .prompt{font-size:12px}.search-keywords{flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:14px 28px 4px;display:flex}.search-keywords>span{color:var(--subtle);margin-right:4px;font-size:12px}.site-search .cmdk-group{color:var(--steel);flex:none;margin:0;padding:14px 28px 6px}.site-search .cmdk-list{flex:1;min-height:80px;max-height:none;margin:0;padding:0 16px 12px;list-style:none;overflow:auto}.site-search .cmdk-item{border-radius:var(--r-xl);align-items:center;gap:14px;padding:14px 12px;text-decoration:none}.search-results li+li{border-top:1px solid var(--hairline-soft)}.site-search .cmdk-item:focus-visible{outline:2px solid var(--hck-qunqing);outline-offset:-2px;background:var(--surface)}.search-result-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.search-result-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search-result-copy strong{font-size:15px;font-weight:600;line-height:1.6}.search-result-copy small{color:var(--slate);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.search-result-url{color:var(--steel);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.search-result-arrow{flex:none;margin-left:auto;padding-top:3px}.search-directory{flex:none;gap:24px;padding:12px 28px 18px;font-size:12px;display:flex}.site-search .cmdk-foot{border-top:1px solid var(--hairline);color:var(--steel);flex:none;justify-content:space-between;align-items:center;margin-top:auto;padding:10px 28px}.site-search .cmdk-foot>span{align-items:center;gap:4px;display:flex}.site-search .empty-state{padding:48px 24px}.desk-icons .desktop-shortcut:focus-visible{outline:2px solid var(--on-dark);outline-offset:2px}:is(.desk-icons,.contact-widget,.color-card) :focus-visible{outline-color:currentColor}.contact-widget .widget-resize:focus-visible{outline-color:var(--on-dark)}.desk-icons .desktop-shortcut:active .app-icon{transform:scale(.96)}.desktop-dock .dock-item:active .app-icon{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.desk-icons .desktop-shortcut:active .app-icon,.desktop-dock .dock-item:active .app-icon{transform:none}}:root{--hck-seal:#d70a1d;--hck-seal-press:#b00816;--hck-seal-on-dark:#e0757b;--hck-mark:var(--hck-seal);--hck-zhusha:#9e3d42;--hck-zhusha-tint:#f5ecec;--hck-zhusha-deep:#722c30;--hck-shilv:#427667;--hck-shilv-tint:#ecf1f0;--hck-shilv-deep:#30554a;--hck-qunqing:#475b90;--hck-qunqing-tint:#edeff4;--hck-qunqing-deep:#334268;--hck-tenghuang:#cfad6e;--hck-tenghuang-tint:#faf7f0;--hck-tenghuang-deep:#6a552b;--hck-mo:#202022;--hck-mo-tint:#ececed;--hck-mo-deep:#202022;--hck-zheshi:#8c6a4f;--hck-zheshi-tint:#f4f0ed;--hck-zheshi-deep:#654c39;--hck-daiqing:#4d5b66;--hck-daiqing-tint:#edeff0;--hck-daiqing-deep:#374249;--hck-shiqing:#84b6c2;--hck-shiqing-tint:#f3f8f9;--hck-shiqing-deep:#455f65;--hck-yanzhi:#a04b7b;--hck-yanzhi-tint:#f6edf2;--hck-yanzhi-deep:#733659;--hck-taigreen:#646d36;--hck-taigreen-tint:#f0f0eb;--hck-taigreen-deep:#484e27;--hck-qinglian:#7f5991;--hck-qinglian-tint:#f2eef4;--hck-qinglian-deep:#5b4068;--hck-zhubiao:#b15635;--hck-zhubiao-tint:#f7eeeb;--hck-zhubiao-deep:#7f3e26;--hck-huaqing:#313568;--hck-huaqing-tint:#eaebf0;--hck-huaqing-deep:#23264b;--hck-songhua:#9cad67;--hck-songhua-tint:#f5f7f0;--hck-songhua-deep:#57613a;--hck-tan:#c9a6a6;--hck-tan-tint:#faf6f6;--hck-tan-deep:#695656;--hck-zi:#4a403a;--hck-zi-tint:#edeceb;--hck-zi-deep:#352e2a;--hck-qiuxiang:#a7cf8c;--hck-qiuxiang-tint:#f6faf4;--hck-qiuxiang-deep:#526545;--hck-zhuqing:#295b34;--hck-zhuqing-tint:#eaefeb;--hck-zhuqing-deep:#295b34;--hck-qingci:#57a894;--hck-qingci-tint:#eef6f4;--hck-qingci-deep:#346559;--hck-shizi:#ad8ccf;--hck-shizi-tint:#f7f4fa;--hck-shizi-deep:#68547c;--hck-jiangzi:#733066;--hck-jiangzi-tint:#f1eaf0;--hck-jiangzi-deep:#733066;--hck-jilan:#487aad;--hck-jilan-tint:#edf2f7;--hck-jilan-deep:#375e85;--hck-zhusha-ink:#fff;--hck-shilv-ink:#fff;--hck-qunqing-ink:#fff;--hck-tenghuang-ink:#0a0a0a;--hck-mo-ink:#fff;--hck-zheshi-ink:#fff;--hck-daiqing-ink:#fff;--hck-shiqing-ink:#0a0a0a;--hck-yanzhi-ink:#fff;--hck-taigreen-ink:#fff;--hck-qinglian-ink:#fff;--hck-zhubiao-ink:#fff;--hck-huaqing-ink:#fff;--hck-songhua-ink:#0a0a0a;--hck-tan-ink:#0a0a0a;--hck-zi-ink:#fff;--hck-qiuxiang-ink:#0a0a0a;--hck-zhuqing-ink:#fff;--hck-qingci-ink:#0a0a0a;--hck-shizi-ink:#0a0a0a;--hck-jiangzi-ink:#fff;--hck-jilan-ink:#fff;--cat-diy:var(--hck-zhusha);--cat-diy-ink:var(--hck-zhusha-ink);--cat-diy-tint:var(--hck-zhusha-tint);--cat-auto:var(--hck-shilv);--cat-auto-ink:var(--hck-shilv-ink);--cat-auto-tint:var(--hck-shilv-tint);--cat-code:var(--hck-mo);--cat-code-ink:var(--hck-mo-ink);--cat-code-tint:var(--hck-mo-tint);--cat-full:var(--hck-tenghuang);--cat-full-ink:var(--hck-tenghuang-ink);--cat-full-tint:var(--hck-tenghuang-tint);--cat-emb:var(--hck-qunqing);--cat-emb-ink:var(--hck-qunqing-ink);--cat-emb-tint:var(--hck-qunqing-tint);--brand-surface:var(--hck-zhusha);--canvas:#fff;--surface-raised:#fcfcfd;--surface:#f7f8fa;--surface-soft:#f2f3f5;--surface-inset:#eef0f2;--hairline:#e5e7eb;--hairline-soft:#eaecf0;--hairline-strong:#cfd4db;--ink:#0a0a0a;--charcoal:#222;--slate:#45515e;--steel:#5f5f5f;--subtle:#6d727a;--stone:#8e8e93;--disabled:#b5b8bf;--muted:#a8aab2;--logo-text:#333;--success:var(--hck-shilv-deep);--success-bg:var(--hck-shilv-tint);--info:var(--hck-qunqing);--info-bg:var(--hck-qunqing-tint);--warning:var(--hck-tenghuang-deep);--warning-bg:var(--hck-tenghuang-tint);--danger:var(--hck-zhusha);--danger-bg:var(--hck-zhusha-tint);--dark:#0a0a0a;--dark-raised:#161618;--dark-soft:#242428;--dark-line:#ffffff14;--on-dark:#fff;--on-dark-body:#d8d8dc;--on-dark-muted:#a8aab2;--font-sans:"DM Sans", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:"Honchic Rounded", "DM Sans", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--fs-display-xl:clamp(64px, 8vw, 112px);--fs-display:clamp(44px, 6vw, 80px);--fs-display-lg:clamp(36px, 4.6vw, 56px);--fs-heading-lg:clamp(30px, 3.4vw, 40px);--fs-heading-md:clamp(24px, 2.6vw, 32px);--fs-heading-sm:clamp(20px, 2vw, 24px);--fs-card-title:20px;--fs-subtitle:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:13px;--fs-micro:12px;--lh-display:1.06;--lh-heading:1.2;--lh-title:1.45;--lh-body:1.75;--lh-ui:1.5;--tracking-display:-.02em;--tracking-heading:-.015em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:24px;--r-hero:32px;--r-pill:9999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--section-y:clamp(56px, 8vw, 96px);--container:1280px;--gutter:clamp(20px, 3vw, 32px);--measure:40em;--shadow-1:0 1px 2px #0000000a;--shadow-2:0 4px 6px #0000000f;--shadow-modal:0 12px 16px -4px #24242414, 0 0 0 1px #0a0a0a0f;--ease:cubic-bezier(.2, .7, .2, 1);--dur-fast:.16s;--dur:.24s;--dur-slow:.48s;--perf-step:20px;--perf-dot:1.6px;--perf-on-color:#ffffff21;--perf-on-light:#0a0a0a1a;--trace-on-color:#ffffffad}[data-theme=dark]{--canvas:#0f0f10;--surface-raised:#242428;--surface:#161618;--surface-soft:#1c1c1f;--surface-inset:#111113;--hairline:#2a2a2e;--hairline-soft:#232326;--hairline-strong:#3d3d42;--ink:#f4f4f5;--charcoal:#e4e4e7;--slate:#b4b8c0;--steel:#a1a1aa;--subtle:#a1a1aa;--stone:#7c7c84;--disabled:#666a72;--logo-text:#fff;--hck-mo:#2a2a2e}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--canvas);color:var(--charcoal);font:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:var(--ink);color:var(--canvas)}a{color:inherit;text-decoration:none}img,svg,video{max-width:100%;display:block}h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,h5{color:var(--ink);text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.sec{padding:var(--section-y) 0}.ph{display:inline-block}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.t-display-xl{font-size:var(--fs-display-xl);line-height:var(--lh-display);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--ink)}.t-display{font-size:var(--fs-display);line-height:1.1;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);color:var(--ink)}.t-display-lg{font-size:var(--fs-display-lg);line-height:1.1;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);color:var(--ink)}.t-heading-lg{font-size:var(--fs-heading-lg);line-height:var(--lh-heading);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);color:var(--ink)}.t-heading-md{font-size:var(--fs-heading-md);line-height:1.25;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);color:var(--ink)}.t-heading-sm{font-size:var(--fs-heading-sm);line-height:1.3;font-weight:var(--fw-semibold);color:var(--ink)}.t-lead{font-size:var(--fs-subtitle);color:var(--slate);max-width:32em;line-height:1.7}.t-meta{font-size:var(--fs-caption);line-height:var(--lh-ui);color:var(--steel)}.t-num{font-variant-numeric:tabular-nums}.prompt{font:var(--fw-medium) 14px/1.4 var(--font-mono);color:var(--steel)}.prompt b{color:var(--hck-seal);font-weight:var(--fw-medium)}h1,h2,.t-display-xl,.t-display,.t-display-lg,.t-heading-lg,.t-rounded,.hero-stack,.hero-title,.cc-title,.quote,.colophon,.seal-grid,.stat-big,.xhs-title,[class^=stamp],[class*=\ stamp]{font-family:var(--font-display)}.t-vertical{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.18em}.t-numeral{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--ink);line-height:.92}.t-silk{font:var(--fw-medium) 11px/1.3 var(--font-mono);letter-spacing:.06em;color:var(--ink)}.t-kicker{font-size:13px;font-weight:var(--fw-semibold);color:var(--steel)}.t-mono{font-family:var(--font-mono)}.hck-logo-h{aspect-ratio:3.1406;width:auto;height:36px;color:var(--logo-text)}.hck-logo-c{aspect-ratio:3.9994;width:auto;height:28px;color:var(--logo-text)}.hck-logo-v{aspect-ratio:.6487;width:auto;height:160px;color:var(--logo-text)}.hck-wordmark{aspect-ratio:1.912;width:auto;height:48px;color:var(--logo-text)}.hck-mark{flex:none;width:32px;height:32px}.hck-logo-sign{aspect-ratio:.246;width:auto;height:220px;color:var(--logo-text)}.hck-badge{width:160px;height:160px;color:var(--ink);flex:none}.hck-wordmark-cn{aspect-ratio:2.746;width:auto;height:32px;color:var(--logo-text)}.hck-wordmark-en{aspect-ratio:6.958;width:auto;height:16px;color:var(--logo-text)}.hck-seal{flex:none;width:48px;height:48px}.on-dark .hck-logo-sign,.on-dark .hck-badge,.on-dark .hck-wordmark-cn,.on-dark .hck-wordmark-en{color:var(--on-dark)}.stamp-press{animation:hck-press .52s var(--ease) both;transform-origin:50% 60%}@keyframes hck-press{0%{opacity:0;transform:scale(1.35)rotate(-14deg)}55%{opacity:1;transform:scale(.94)rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(var(--press-rotate,-9deg))}}.on-dark .hck-logo-h,.on-dark .hck-logo-c,.on-dark .hck-logo-v,.on-dark .hck-wordmark{color:var(--on-dark)}.seal-sign{margin-right:.6em;display:inline-block;position:relative}.seal-sign>svg{mix-blend-mode:multiply;pointer-events:none;width:.8em;height:.8em;position:absolute;bottom:.02em;right:-.58em;transform:rotate(-9deg)}.btn{border-radius:var(--r-pill);height:42px;font:var(--fw-semibold) 14px/1.25 var(--font-sans);text-align:center;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 22px;display:inline-flex}.btn>svg{flex:none;display:block}.btn>.btn-label{display:block;transform:translateY(-.5px)}.btn-sm{height:34px;padding:0 16px;font-size:13px}.btn-lg{height:48px;padding:0 26px;font-size:15px}.btn-primary{background:var(--ink);color:var(--canvas)}.btn-primary:hover{background:var(--charcoal)}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn-secondary:hover{background:var(--surface)}.btn-tertiary{background:var(--canvas);color:var(--ink);border-color:var(--hairline)}.btn-tertiary:hover{border-color:var(--stone)}.btn-seal{background:var(--hck-seal);color:#fff}.btn-seal:hover{background:var(--hck-seal-press)}.btn-on-color{color:var(--ink);background:#fff}.btn-on-color:hover{background:#ffffffe0}.btn-ghost-light{color:#fff;background:0 0;border-color:#fff9}.btn-ghost-light:hover{background:#ffffff1a}.btn:disabled,.btn[aria-disabled=true]{background:var(--hairline);color:var(--muted);cursor:not-allowed;border-color:#0000}.btn-icon{background:var(--canvas);border:1px solid var(--hairline);width:38px;height:38px;color:var(--ink);vertical-align:middle;cursor:pointer;border-radius:50%;place-items:center;padding:0;line-height:0;display:inline-grid}.btn-icon>svg{width:16px;height:16px;display:block}.btn-icon.btn-touch{width:44px;height:44px}.btn-icon:hover{border-color:var(--stone)}.link-more{font-size:14px;font-weight:var(--fw-semibold);color:var(--ink);white-space:nowrap;border-bottom:1.5px solid var(--ink);transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);padding-bottom:2px}.link-more:hover{color:var(--hck-zhusha);border-color:var(--hck-zhusha)}.badge{border-radius:var(--r-pill);height:24px;font:var(--fw-semibold) 12px/1.2 var(--font-sans);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.badge-new{background:var(--hck-seal);color:#fff}.badge-info{background:var(--info-bg);color:var(--info)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-neutral{background:var(--surface-soft);color:var(--slate)}.color-card .badge-new{color:var(--c,var(--brand-surface));background:#fff}.chip-code{border-radius:var(--r-sm);background:var(--surface-soft);height:22px;color:var(--charcoal);font:var(--fw-medium) 12px/1.2 var(--font-mono);white-space:nowrap;align-items:center;padding:0 7px;display:inline-flex}.stamp{border:1.5px solid var(--hck-seal);border-radius:var(--r-md);height:28px;color:var(--hck-seal);font:var(--fw-bold) 13px/1.2 var(--font-sans);letter-spacing:.08em;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex;transform:rotate(-3deg)}.stamp svg{flex:none;width:18px;height:18px;display:block}.stamp.stamp-sm{height:24px;padding:0 7px;font-size:11px}.stamp.stamp-sm svg{width:14px;height:14px}.stamp.stamp-lg{height:38px;padding:0 12px;font-size:16px}.stamp.stamp-lg svg{width:24px;height:24px}.stamp-zhu,.stamp-bai,.stamp-double,.stamp-round,.stamp-oval,.stamp-tall{--s:56px;--stamp-c:var(--hck-seal);box-sizing:border-box;color:var(--stamp-c);font-weight:var(--fw-bold);letter-spacing:0;text-align:center;transform:rotate(var(--stamp-rotate,-4deg));flex:none;justify-content:center;align-items:center;line-height:1.02;display:inline-flex}.stamp-text{white-space:nowrap;line-height:1;display:block}.stamp-zhu .stamp-text,.stamp-bai .stamp-text,.stamp-double .stamp-text{writing-mode:vertical-rl;text-orientation:upright;inline-size:calc(var(--s) * .7);text-align:center;word-break:break-all;white-space:normal}.stamp-tall .stamp-text{writing-mode:vertical-rl;text-orientation:upright}.stamp-zhu,.stamp-bai,.stamp-double{width:var(--s);height:var(--s);border-radius:calc(var(--s) * .12);font-size:calc(var(--s) * .34);padding:0}.stamp-zhu{border:calc(var(--s) * .065) solid var(--stamp-c)}.stamp-bai{background:var(--stamp-c);color:#fff}.stamp-double{border:calc(var(--s) * .04) solid var(--stamp-c);box-shadow:inset 0 0 0 calc(var(--s) * .05) var(--canvas), inset 0 0 0 calc(var(--s) * .085) var(--stamp-c)}.stamp-round{width:var(--s);height:var(--s);border:calc(var(--s) * .06) solid var(--stamp-c);font-size:calc(var(--s) * .3);border-radius:50%}.stamp-oval{height:calc(var(--s) * .62);padding:0 calc(var(--s) * .26);border:calc(var(--s) * .05) solid var(--stamp-c);font-size:calc(var(--s) * .26);letter-spacing:.12em;white-space:nowrap;border-radius:50%}.stamp-tall{width:calc(var(--s) * .5);min-height:calc(var(--s) * 1.4);padding:calc(var(--s) * .12) 0;border-radius:calc(var(--s) * .08);border:calc(var(--s) * .05) solid var(--stamp-c);font-size:calc(var(--s) * .28);letter-spacing:.08em}.stamp-sm{--s:40px}.stamp-lg{--s:88px}.stamp-ink{--stamp-c:var(--ink)}.stamp.stamp-ink{border-color:var(--ink);color:var(--ink)}.stamp-flat{--stamp-rotate:0deg}.stamp.stamp-flat{transform:none}.hotspot{position:relative}.silk{left:var(--x,50%);top:var(--y,50%);z-index:2;font:var(--fw-medium) 11px/1 var(--font-mono);letter-spacing:.04em;color:var(--ink);white-space:nowrap;align-items:center;display:flex;position:absolute;transform:translate(-6px,-50%)}.silk:before{content:"";border:2px solid var(--ink);background:var(--canvas);box-sizing:border-box;border-radius:50%;flex:none;width:12px;height:12px}.silk>span{border:1.5px solid var(--ink);background:var(--canvas);border-radius:5px;margin-left:26px;padding:4px 7px;position:relative}.silk>span:before{content:"";background:var(--ink);width:26px;height:1.5px;margin-top:-.75px;position:absolute;top:50%;right:100%}.silk.is-left{flex-direction:row-reverse;transform:translate(calc(6px - 100%),-50%)}.silk.is-left>span{margin:0 26px 0 0}.silk.is-left>span:before{left:100%;right:auto}.silk b{font-weight:var(--fw-bold);margin-right:6px}.on-dark .silk,.silk.is-light{color:#fff}.on-dark .silk:before,.silk.is-light:before,.on-dark .silk>span,.silk.is-light>span{background:var(--dark);border-color:#fff}.on-dark .silk>span:before,.silk.is-light>span:before{background:#fff}.pin-header{--n:8;--pitch:17px;--pad:14px;height:var(--pad);width:calc(var(--n) * var(--pitch) - var(--pitch) + var(--pad));background:radial-gradient(circle at calc(var(--pad) / 2) 50%, var(--canvas) 2.6px, transparent 3px) 0 0 / var(--pitch) 100% repeat-x, linear-gradient(90deg, var(--c,var(--ink)) var(--pad), transparent var(--pad)) 0 0 / var(--pitch) 100% repeat-x;border-radius:3px;display:inline-block}.gold-fingers{background:linear-gradient(90deg, var(--hck-tenghuang) 0 9px, transparent 9px) 6px 0 / 14px 100% repeat-x;border-radius:0 0 4px 4px;height:20px}.led{background:var(--stone);width:8px;height:8px;box-shadow:0 0 0 3px var(--surface-soft);vertical-align:.1em;border-radius:50%;flex:none;display:inline-block}.led.is-on{background:var(--hck-shilv);box-shadow:0 0 0 3px var(--hck-shilv-tint)}.led.is-busy{background:var(--hck-tenghuang);box-shadow:0 0 0 3px var(--hck-tenghuang-tint)}.led.is-error{background:var(--hck-zhusha);box-shadow:0 0 0 3px var(--hck-zhusha-tint)}.led-label{font-size:13px;font-weight:var(--fw-medium);color:var(--charcoal);align-items:center;gap:9px;display:inline-flex}.dip{appearance:none;cursor:pointer;border:1.5px solid var(--ink);background:var(--surface-soft);width:42px;height:24px;transition:background-color var(--dur-fast) var(--ease);border-radius:7px;flex:none;margin:0;position:relative}.dip:before{content:"";background:var(--ink);width:15px;height:15px;transition:transform var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);border-radius:4px;position:absolute;top:3px;left:3px}.dip:checked{background:var(--c,var(--hck-shilv));border-color:var(--c,var(--hck-shilv))}.dip:checked:before{background:#fff;transform:translate(18px)}.dip:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.dip-row{color:var(--charcoal);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:14px;display:flex}.dip-bank{background:var(--dark);border-radius:8px;gap:6px;padding:10px 10px 8px;display:inline-flex}.dip-bank span{font:var(--fw-medium) 9px/1 var(--font-mono);color:var(--on-dark-muted);justify-items:center;gap:5px;display:grid}.dip-bank i{background:#2a2a2e;border-radius:3px;width:12px;height:22px;position:relative}.dip-bank i:after{content:"";background:#fff;border-radius:2px;height:8px;position:absolute;bottom:2px;left:2px;right:2px}.dip-bank i.on:after{background:var(--hck-seal-on-dark);top:2px;bottom:auto}.colophon{color:var(--slate);flex-direction:row-reverse;align-items:flex-end;gap:14px;display:inline-flex}.colophon p{writing-mode:vertical-rl;letter-spacing:.22em;margin:0;font-size:15px;line-height:1.9}.colophon p.is-strong{color:var(--ink);font-size:17px;font-weight:var(--fw-semibold)}.colophon .hck-seal{width:30px;height:30px}.side-inscription{writing-mode:vertical-rl;font:var(--fw-medium) 10px/1 var(--font-mono);letter-spacing:.24em;color:var(--stone);pointer-events:none;position:absolute;top:24px;right:14px}.seal-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px;display:grid}.seal-grid figure{border:1px solid var(--hairline);border-radius:var(--r-lg);align-content:center;justify-items:center;gap:14px;min-height:160px;padding:22px 12px 16px;display:grid}.seal-grid figcaption{font-family:var(--font-sans);color:var(--steel);text-align:center;font-size:12px}.illo{color:var(--ink);--illo-fill:var(--c-tint,var(--surface-soft));--illo-accent:var(--c,var(--hck-zhusha));--illo-paper:var(--canvas);display:block}.on-dark .illo,.illo.is-light{color:#fff;--illo-fill:#ffffff14;--illo-paper:#ffffff0a}.c-diy{--c:var(--cat-diy);--c-ink:var(--cat-diy-ink);--c-tint:var(--cat-diy-tint)}.c-auto{--c:var(--cat-auto);--c-ink:var(--cat-auto-ink);--c-tint:var(--cat-auto-tint)}.c-code{--c:var(--cat-code);--c-ink:var(--cat-code-ink);--c-tint:var(--cat-code-tint)}.c-full{--c:var(--cat-full);--c-ink:var(--cat-full-ink);--c-tint:var(--cat-full-tint);--perf-color:var(--perf-on-light)}.c-emb{--c:var(--cat-emb);--c-ink:var(--cat-emb-ink);--c-tint:var(--cat-emb-tint)}.c-brand{--c:var(--brand-surface);--c-ink:#fff;--c-tint:var(--hck-zhusha-tint)}.c-zhusha{--c:var(--hck-zhusha);--c-ink:var(--hck-zhusha-ink);--c-tint:var(--hck-zhusha-tint);--c-deep:var(--hck-zhusha-deep)}.c-shilv{--c:var(--hck-shilv);--c-ink:var(--hck-shilv-ink);--c-tint:var(--hck-shilv-tint);--c-deep:var(--hck-shilv-deep)}.c-qunqing{--c:var(--hck-qunqing);--c-ink:var(--hck-qunqing-ink);--c-tint:var(--hck-qunqing-tint);--c-deep:var(--hck-qunqing-deep)}.c-tenghuang{--c:var(--hck-tenghuang);--c-ink:var(--hck-tenghuang-ink);--c-tint:var(--hck-tenghuang-tint);--c-deep:var(--hck-tenghuang-deep);--perf-color:var(--perf-on-light)}.c-mo{--c:var(--hck-mo);--c-ink:var(--hck-mo-ink);--c-tint:var(--hck-mo-tint);--c-deep:var(--hck-mo-deep)}.c-zheshi{--c:var(--hck-zheshi);--c-ink:var(--hck-zheshi-ink);--c-tint:var(--hck-zheshi-tint);--c-deep:var(--hck-zheshi-deep)}.c-daiqing{--c:var(--hck-daiqing);--c-ink:var(--hck-daiqing-ink);--c-tint:var(--hck-daiqing-tint);--c-deep:var(--hck-daiqing-deep)}.c-shiqing{--c:var(--hck-shiqing);--c-ink:var(--hck-shiqing-ink);--c-tint:var(--hck-shiqing-tint);--c-deep:var(--hck-shiqing-deep);--perf-color:var(--perf-on-light)}.c-yanzhi{--c:var(--hck-yanzhi);--c-ink:var(--hck-yanzhi-ink);--c-tint:var(--hck-yanzhi-tint);--c-deep:var(--hck-yanzhi-deep)}.c-taigreen{--c:var(--hck-taigreen);--c-ink:var(--hck-taigreen-ink);--c-tint:var(--hck-taigreen-tint);--c-deep:var(--hck-taigreen-deep)}.c-qinglian{--c:var(--hck-qinglian);--c-ink:var(--hck-qinglian-ink);--c-tint:var(--hck-qinglian-tint);--c-deep:var(--hck-qinglian-deep)}.c-zhubiao{--c:var(--hck-zhubiao);--c-ink:var(--hck-zhubiao-ink);--c-tint:var(--hck-zhubiao-tint);--c-deep:var(--hck-zhubiao-deep)}.c-huaqing{--c:var(--hck-huaqing);--c-ink:var(--hck-huaqing-ink);--c-tint:var(--hck-huaqing-tint);--c-deep:var(--hck-huaqing-deep)}.c-songhua{--c:var(--hck-songhua);--c-ink:var(--hck-songhua-ink);--c-tint:var(--hck-songhua-tint);--c-deep:var(--hck-songhua-deep);--perf-color:var(--perf-on-light)}.c-tan{--c:var(--hck-tan);--c-ink:var(--hck-tan-ink);--c-tint:var(--hck-tan-tint);--c-deep:var(--hck-tan-deep);--perf-color:var(--perf-on-light)}.c-zi{--c:var(--hck-zi);--c-ink:var(--hck-zi-ink);--c-tint:var(--hck-zi-tint);--c-deep:var(--hck-zi-deep)}.c-qiuxiang{--c:var(--hck-qiuxiang);--c-ink:var(--hck-qiuxiang-ink);--c-tint:var(--hck-qiuxiang-tint);--c-deep:var(--hck-qiuxiang-deep);--perf-color:var(--perf-on-light)}.c-zhuqing{--c:var(--hck-zhuqing);--c-ink:var(--hck-zhuqing-ink);--c-tint:var(--hck-zhuqing-tint);--c-deep:var(--hck-zhuqing-deep)}.c-qingci{--c:var(--hck-qingci);--c-ink:var(--hck-qingci-ink);--c-tint:var(--hck-qingci-tint);--c-deep:var(--hck-qingci-deep);--perf-color:var(--perf-on-light)}.c-shizi{--c:var(--hck-shizi);--c-ink:var(--hck-shizi-ink);--c-tint:var(--hck-shizi-tint);--c-deep:var(--hck-shizi-deep);--perf-color:var(--perf-on-light)}.c-jiangzi{--c:var(--hck-jiangzi);--c-ink:var(--hck-jiangzi-ink);--c-tint:var(--hck-jiangzi-tint);--c-deep:var(--hck-jiangzi-deep)}.c-jilan{--c:var(--hck-jilan);--c-ink:var(--hck-jilan-ink);--c-tint:var(--hck-jilan-tint);--c-deep:var(--hck-jilan-deep)}.c-diy{--c-deep:var(--hck-zhusha-deep)}.c-auto{--c-deep:var(--hck-shilv-deep)}.c-code{--c-deep:var(--ink)}.c-full{--c-deep:var(--hck-tenghuang-deep)}.c-emb{--c-deep:var(--hck-qunqing-deep)}.cat-tag{font-size:13px;font-weight:var(--fw-semibold);color:var(--charcoal);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.cat-tag:before{content:"";background:var(--c,var(--ink));border-radius:50%;width:9px;height:9px}.card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:var(--sp-6)}a.card,.card.is-link{transition:border-color var(--dur-fast) var(--ease)}a.card:hover,.card.is-link:hover{border-color:var(--ink)}.card-feature{background:var(--surface);border-radius:var(--r-xl);padding:var(--sp-8)}.color-card{isolation:isolate;border-radius:var(--r-hero);padding:var(--sp-8);background-color:var(--c,var(--brand-surface));color:var(--c-ink,#fff);position:relative;overflow:hidden}.color-card h2,.color-card h3,.color-card h4{color:inherit}.perf{background-image:radial-gradient(circle, var(--perf-color,var(--perf-on-color)) var(--perf-dot), transparent calc(var(--perf-dot) + .3px));background-size:var(--perf-step) var(--perf-step);background-position:100% 100%}.perf-light{--perf-color:var(--perf-on-light)}.trace{z-index:-1;color:var(--trace-on-color);pointer-events:none;position:absolute;bottom:0;right:0}.trace .hole{fill:var(--c,var(--brand-surface))}.shape-pill{border-radius:var(--r-pill)}.shape-circle{aspect-ratio:1;border-radius:50%}.shape-squircle{aspect-ratio:1;border-radius:23%}.shape-arch{border-radius:999px 999px var(--r-xl) var(--r-xl)}.shape-ellipse{border-radius:50%}.shape-tall{border-radius:var(--r-md);aspect-ratio:5/12}.shape-folder{border-radius:0 var(--r-xl) var(--r-xl) var(--r-xl);margin-top:18px;position:relative}.shape-folder:before{content:"";background:inherit;border-radius:var(--r-lg) var(--r-lg) 0 0;width:38%;height:19px;position:absolute;top:-18px;left:0}.shape-pcb{--hole:5px;--hole-gap:16px;--hole-ring:var(--hairline);background-image:radial-gradient(circle at var(--hole-gap) var(--hole-gap), var(--canvas) var(--hole), var(--hole-ring) calc(var(--hole) + .5px), var(--hole-ring) calc(var(--hole) + 1.5px), transparent calc(var(--hole) + 2px)), radial-gradient(circle at calc(100% - var(--hole-gap)) var(--hole-gap), var(--canvas) var(--hole), var(--hole-ring) calc(var(--hole) + .5px), var(--hole-ring) calc(var(--hole) + 1.5px), transparent calc(var(--hole) + 2px)), radial-gradient(circle at var(--hole-gap) calc(100% - var(--hole-gap)), var(--canvas) var(--hole), var(--hole-ring) calc(var(--hole) + .5px), var(--hole-ring) calc(var(--hole) + 1.5px), transparent calc(var(--hole) + 2px)), radial-gradient(circle at calc(100% - var(--hole-gap)) calc(100% - var(--hole-gap)), var(--canvas) var(--hole), var(--hole-ring) calc(var(--hole) + .5px), var(--hole-ring) calc(var(--hole) + 1.5px), transparent calc(var(--hole) + 2px));background-repeat:no-repeat}.shape-stamp{--tooth:6px;padding:calc(var(--tooth) * 2 + 4px);-webkit-mask:linear-gradient(#000 0 0) content-box, radial-gradient(circle var(--tooth), #0000 96%, #000) calc(var(--tooth) * -1.333) calc(var(--tooth) * -1.333) / calc(var(--tooth) * 2.666) calc(var(--tooth) * 2.666) round;-webkit-mask:linear-gradient(#000 0 0) content-box, radial-gradient(circle var(--tooth), #0000 96%, #000) calc(var(--tooth) * -1.333) calc(var(--tooth) * -1.333) / calc(var(--tooth) * 2.666) calc(var(--tooth) * 2.666) round;mask:linear-gradient(#000 0 0) content-box, radial-gradient(circle var(--tooth), #0000 96%, #000) calc(var(--tooth) * -1.333) calc(var(--tooth) * -1.333) / calc(var(--tooth) * 2.666) calc(var(--tooth) * 2.666) round}.shape-ticket{--notch:12px;-webkit-mask:radial-gradient(circle var(--notch) at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat;-webkit-mask:radial-gradient(circle var(--notch) at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat;mask:radial-gradient(circle var(--notch) at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat}.shape-pad{aspect-ratio:1;background:radial-gradient(circle, var(--canvas) 0 28%, var(--c,var(--ink)) 30%);border-radius:50%}.sec-head{justify-content:space-between;align-items:end;gap:var(--sp-8);margin-bottom:var(--sp-10);display:flex}.sec-head h2{font-size:var(--fs-heading-lg);line-height:var(--lh-heading);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display)}.sec-head p{color:var(--steel);max-width:34em;margin-top:10px}.tabs{border-bottom:1px solid var(--hairline);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs button,.tabs a{cursor:pointer;white-space:nowrap;height:48px;color:var(--steel);font-weight:var(--fw-semibold);background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;margin-bottom:-1px;padding:0 18px;font-size:14px;line-height:1.25;display:inline-flex}.tabs [aria-selected=true],.tabs [aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.tabs .count{border-radius:var(--r-pill);background:var(--surface-soft);min-width:20px;height:20px;font:var(--fw-medium) 11px/1 var(--font-mono);color:var(--steel);place-items:center;padding:0 4px;display:inline-grid}.tabs [aria-selected=true] .count{background:var(--ink);color:var(--canvas)}.pills{flex-wrap:wrap;gap:8px;display:inline-flex}.pills button,.pills a{border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--canvas);height:34px;color:var(--steel);font-weight:var(--fw-medium);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-size:14px;line-height:1.25;display:inline-flex}.pills [aria-pressed=true],.pills [aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--canvas)}.tab-segment{grid-template-columns:repeat(var(--tab-count,3), minmax(0, 1fr));border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface-inset);gap:3px;max-width:100%;padding:4px;display:inline-grid}.tab-segment button{border-radius:var(--r-pill);min-width:86px;height:44px;color:var(--slate);font:var(--fw-medium) 13px/1.25 var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.tab-segment [aria-pressed=true],.tab-segment [aria-selected=true]{border-color:var(--hairline);background:var(--canvas);color:var(--ink);font-weight:var(--fw-semibold)}.tab-rail{scrollbar-width:thin;gap:8px;padding:3px 1px 8px;display:flex;overflow-x:auto}.tab-rail button,.tab-rail a{border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--canvas);min-height:44px;color:var(--slate);font:var(--fw-medium) 13px/1.25 var(--font-sans);white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.tab-rail .dot{background:var(--c,var(--ink));border-radius:50%;flex:none;width:8px;height:8px}.tab-rail [aria-current=page],.tab-rail [aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:var(--surface-raised)}.tab-side{gap:5px;min-width:168px;display:grid}.tab-side button,.tab-side a{border-radius:var(--r-md);min-height:38px;color:var(--slate);font:var(--fw-medium) 13px/1.25 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;display:flex}.tab-side [aria-current=page],.tab-side [aria-pressed=true]{background:var(--ink);color:var(--canvas)}.tab-side small{font:500 10px/1 var(--font-mono);opacity:.7}.tab-chapters{flex-wrap:wrap;gap:8px;display:flex}.tab-chapters a{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--canvas);min-height:40px;color:var(--slate);font:var(--fw-medium) 13px/1.25 var(--font-sans);align-items:center;gap:9px;padding:0 14px;display:inline-flex}.tab-chapters a span{font:500 11px/1 var(--font-mono);color:var(--steel)}.tab-chapters a[aria-current=location]{border-color:var(--ink);color:var(--ink)}@media (width<=600px){.tab-segment{width:100%}.tab-segment button{min-width:0;padding:0 8px}}.term{background:var(--dark);color:var(--on-dark-body);border-radius:var(--r-xl);font:400 14px/1.75 var(--font-mono);overflow:hidden}.term-bar{border-bottom:1px solid var(--dark-line);align-items:center;gap:8px;height:40px;padding:0 16px;display:flex}.term-bar i{background:#3a3a3e;border-radius:50%;width:11px;height:11px}.term-bar span{text-align:center;color:var(--stone);flex:1;margin-right:54px;font-size:12px}.term-body{padding:20px 22px 24px;overflow-x:auto}.term-body p,.term-body div{white-space:pre-wrap}.term .p{color:var(--hck-seal-on-dark)}.term .c{color:#fff}.term .o{color:var(--on-dark-muted)}.cursor{vertical-align:-.2em;background:#fff;width:.6em;height:1.1em;animation:1.1s step-end infinite hck-blink;display:inline-block}@keyframes hck-blink{50%{opacity:0}}.win{background:var(--canvas);border-radius:var(--r-xl);box-shadow:var(--shadow-modal);overflow:hidden}.win-bar{border-bottom:1px solid var(--hairline-soft);align-items:center;gap:8px;height:38px;padding:0 14px;display:flex}.win-bar i{border-radius:50%;flex:none;width:12px;height:12px}.win-bar i:first-child{background:#ff5f57}.win-bar i:nth-child(2){background:#febc2e}.win-bar i:nth-child(3){background:#28c840}.win-bar span{text-align:center;font-size:12px;font-weight:var(--fw-medium);color:var(--steel);white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:52px;overflow:hidden}.win.is-dark{background:var(--dark);color:var(--on-dark-body)}.win.is-dark .win-bar{border-color:var(--dark-line)}.stats{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(4,1fr);display:grid}.stat{padding:32px 28px}.stat+.stat{border-left:1px solid var(--hairline)}.stat b{font-size:clamp(40px,4.6vw,56px);line-height:1.05;font-weight:var(--fw-semibold);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;display:block}.stat span{color:var(--steel);margin-top:8px;font-size:14px;display:block}.promo{background:var(--dark);color:var(--on-dark);font-size:14px;font-weight:var(--fw-medium)}.promo .wrap{text-align:center;justify-content:center;align-items:center;gap:12px;min-height:44px;display:flex}.promo span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.promo a{white-space:nowrap;text-underline-offset:3px;flex:none;-webkit-text-decoration:underline #ffffff80;text-decoration:underline #ffffff80}.promo a:hover{text-decoration-color:#fff}.nav{z-index:20;background:var(--canvas);border-bottom:1px solid var(--hairline-soft);position:sticky;top:0}.nav .wrap{align-items:center;gap:40px;height:68px;display:flex}.nav-links{font-size:15px;font-weight:var(--fw-medium);color:var(--charcoal);gap:28px;display:flex}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--ink)}.nav-links a[aria-current=page]{font-weight:var(--fw-semibold)}.nav-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.foot{background:var(--dark);color:var(--on-dark);padding:64px 0 32px}.foot-top{grid-template-columns:1.4fr repeat(3,1fr);gap:48px;display:grid}.foot .hck-logo-h{height:40px;color:var(--on-dark)}.foot-intro{max-width:22em;color:var(--on-dark-muted);margin-top:18px;font-size:14px;line-height:1.7}.foot h4{font-size:14px;font-weight:var(--fw-semibold);color:var(--on-dark);margin-bottom:14px}.foot li a{color:var(--on-dark-muted);padding:4px 0;font-size:14px;display:inline-block}.foot li a:hover{color:var(--on-dark)}.foot-bottom{color:var(--stone);border-top:1px solid #ffffff1f;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;font-size:13px;display:flex}.input{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--canvas);width:100%;height:40px;color:var(--ink);padding:0 14px;font-size:15px}.input::placeholder{color:var(--stone)}.input:focus{border:2px solid var(--hck-qunqing);outline:none;padding:0 13px}.input[aria-invalid=true]{border-color:var(--danger)}.search-pill{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface);min-width:200px;height:38px;color:var(--stone);align-items:center;gap:8px;padding:0 14px;font-size:14px;display:inline-flex}.search-pill kbd{font:var(--fw-medium) 11px/1 var(--font-mono);color:var(--stone);border:1px solid var(--hairline);background:var(--canvas);border-radius:4px;margin-left:auto;padding:3px 5px}.table{border-collapse:separate;border-spacing:0;border:1px solid var(--hairline);border-radius:var(--r-md);width:100%;font-size:14px;overflow:hidden}.table th{background:var(--surface);color:var(--steel);font-size:13px;font-weight:var(--fw-semibold);text-align:left;border-bottom:1px solid var(--hairline);padding:12px 16px}.table td{border-bottom:1px solid var(--hairline-soft);color:var(--charcoal);vertical-align:top;padding:14px 16px}.table tr:last-child td{border-bottom:0}.table td:first-child{color:var(--ink);font-weight:var(--fw-medium)}.prose{max-width:var(--measure);color:var(--charcoal);font-size:17px;line-height:1.85}.prose>*+*{margin-top:1.1em}.prose>h2{font-size:var(--fs-heading-md);line-height:1.3;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading);margin-top:2.4em}.prose>h3{font-size:20px;line-height:1.45;font-weight:var(--fw-semibold);margin-top:1.9em}.prose>h2+*,.prose>h3+*{margin-top:.7em}.prose a:not([class]){color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);text-underline-offset:4px;text-decoration-thickness:2px}.prose a:not([class]):hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.prose strong{font-weight:var(--fw-semibold);color:var(--ink)}.prose mark{color:inherit;background:linear-gradient(#0000 58%,#cfad6e6b 58%);padding:0 2px}.prose>ul:not([class])>li,.prose>ol:not([class])>li,.prose li>ul>li,.prose li>ol>li{padding-left:1.6em;position:relative}.prose>ul:not([class])>li+li,.prose>ol:not([class])>li+li{margin-top:.45em}.prose>ul:not([class])>li:before,.prose li>ul>li:before{content:"";background:var(--ink);border-radius:2px;width:10px;height:3px;position:absolute;top:.85em;left:.2em}.prose>ol:not([class]),.prose li>ol{counter-reset:hck-ol}.prose>ol:not([class])>li,.prose li>ol>li{counter-increment:hck-ol}.prose>ol:not([class])>li:before,.prose li>ol>li:before{content:counter(hck-ol) ".";font-weight:var(--fw-semibold);color:var(--steel);font-variant-numeric:tabular-nums;position:absolute;left:0}.prose>blockquote:not([class]){background:var(--surface);border-radius:var(--r-xl);color:var(--ink);font-weight:var(--fw-medium);padding:20px 24px}.prose code{border-radius:var(--r-sm);background:var(--surface-soft);color:var(--ink);font:var(--fw-medium) .86em/1 var(--font-mono);padding:.12em .4em}.prose>pre:not([class]){border-radius:var(--r-xl);background:var(--dark);color:var(--on-dark-body);font:400 14px/1.75 var(--font-mono);padding:20px 24px;overflow-x:auto}.prose pre code{color:inherit;font:inherit;background:0 0;padding:0}.prose img{border-radius:var(--r-xl);border:1px solid var(--hairline)}.prose figcaption{color:var(--steel);text-align:center;margin-top:8px;font-size:13px}.prose>hr{background:var(--hairline);border:0;height:1px;margin:3em 0}.prose>table:not([class]){border-collapse:separate;border-spacing:0;border:1px solid var(--hairline);border-radius:var(--r-md);width:100%;font-size:15px;overflow:hidden}.prose>table:not([class]) th{background:var(--surface);color:var(--steel);text-align:left;padding:10px 14px;font-size:13px}.prose>table:not([class]) td{border-top:1px solid var(--hairline-soft);padding:12px 14px}.hero{padding:var(--sp-24) 0 88px}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:64px;display:grid}.hero-stack{font-size:var(--fs-display-xl);line-height:var(--lh-display);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:var(--ink);margin-top:20px}.hero-stack>span{display:table}.hero-title{font-size:var(--fs-display);line-height:1.1;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);color:var(--ink);margin-top:20px}.hero .t-lead{margin-top:28px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.matrix{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.matrix>.color-card{flex-direction:column;justify-content:space-between;gap:24px;min-height:300px;display:flex}.matrix>.is-wide{grid-column:span 2;min-height:340px}.cc-top{justify-content:space-between;align-items:start;gap:16px;display:flex}.cc-count{font-size:14px;font-weight:var(--fw-medium);opacity:.82}.cc-title{font-size:clamp(30px,3.6vw,48px);line-height:1.08;font-weight:var(--fw-semibold);letter-spacing:-.02em;margin-top:12px}.is-wide .cc-title{font-size:clamp(40px,5vw,64px)}.cc-tagline{opacity:.86;margin-top:10px;font-size:15px}.cc-foot{z-index:1;max-width:26em;font-size:14px;line-height:1.55;position:relative}.cc-foot small{opacity:.72;margin-bottom:4px;font-size:12px;display:block}.cc-foot b{font-weight:var(--fw-semibold)}.cc-chips{flex-wrap:wrap;gap:6px;display:flex}.cc-chips span{border-radius:var(--r-pill);height:24px;font:var(--fw-medium) 12px/1 var(--font-mono);background:#ffffff29;align-items:center;padding:0 9px;display:inline-flex}.c-full .cc-chips span{background:#0a0a0a14}.posts{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.post{flex-direction:column;gap:14px;display:flex}.post[hidden]{display:none}.post-meta{color:var(--steel);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.post h3{font-size:19px;line-height:var(--lh-title);font-weight:var(--fw-semibold)}.post p{color:var(--steel);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.chips{flex-wrap:wrap;gap:6px;display:flex}.post .chips{margin-top:auto}.projects{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.project{flex-direction:column;padding:0;display:flex;overflow:hidden}.project-media{aspect-ratio:4/3;background-color:var(--c-tint,var(--surface));place-items:center;display:grid;position:relative;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%}.project-media .hck-mark{width:56px;height:56px;color:var(--c,var(--ink));opacity:.9}.project-body{flex-direction:column;flex:1;gap:10px;padding:20px 24px 24px;display:flex}.project-body h3{font-size:var(--fs-card-title);line-height:var(--lh-title);font-weight:var(--fw-semibold)}.project-body p{color:var(--steel);font-size:14px;line-height:1.7}.project-links{font-size:14px;font-weight:var(--fw-semibold);color:var(--ink);gap:18px;margin-top:auto;padding-top:6px;display:flex}.project-links a{border-bottom:1.5px solid var(--hairline);padding-bottom:1px}.project-links a:hover{border-color:var(--ink)}.quote{font-size:clamp(28px,3.2vw,40px);line-height:1.4;font-weight:var(--fw-semibold);letter-spacing:-.015em;color:var(--ink)}.signoff{color:var(--steel);align-items:center;gap:14px;margin-top:28px;font-size:14px;display:flex}.signoff svg{flex:none;width:52px;height:52px;transform:rotate(-8deg)}.signoff b{color:var(--ink);font-size:15px;font-weight:var(--fw-semibold);display:block}.timeline{border-top:1px solid var(--hairline)}.tl{border-bottom:1px solid var(--hairline);grid-template-columns:128px 1fr;gap:24px;padding:24px 0;display:grid}.tl time{font-size:14px;font-weight:var(--fw-semibold);color:var(--steel);font-variant-numeric:tabular-nums;padding-top:2px}.tl h4{font-size:18px;line-height:1.4;font-weight:var(--fw-semibold)}.tl p{color:var(--steel);margin-top:6px;font-size:14px;line-height:1.7}.tl .chips{margin-top:12px}.steps{counter-reset:hck-step}.step{counter-increment:hck-step;grid-template-columns:44px 1fr;gap:20px;padding-bottom:36px;display:grid;position:relative}.step:before{content:counter(hck-step);background:var(--ink);width:44px;height:44px;color:var(--canvas);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.step:after{content:"";background:var(--hairline);border-radius:2px;width:3px;position:absolute;top:52px;bottom:8px;left:20.5px}.step:last-child{padding-bottom:0}.step:last-child:after{display:none}.step h4{font-size:18px;line-height:1.4;font-weight:var(--fw-semibold);padding-top:9px}.step p{color:var(--steel);margin-top:6px;font-size:15px;line-height:1.75}.step .term,.step .codeblock{margin-top:14px}.dodont{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dodont>div{border-radius:var(--r-xl);padding:24px}.dodont .do{background:var(--success-bg)}.dodont .dont{background:var(--danger-bg)}.dodont h4{font-size:15px;font-weight:var(--fw-bold)}.dodont .do h4{color:var(--success)}.dodont .dont h4{color:var(--danger)}.dodont li{color:var(--charcoal);margin-top:10px;padding-left:24px;font-size:15px;line-height:1.7;position:relative}.dodont .do li:before{content:"";border-left:2px solid var(--success);border-bottom:2px solid var(--success);border-radius:1px;width:11px;height:6px;position:absolute;top:.5em;left:3px;transform:rotate(-45deg)}.dodont .dont li:before,.dodont .dont li:after{content:"";background:var(--danger);border-radius:2px;width:13px;height:2px;position:absolute;top:.82em;left:2px;transform:rotate(45deg)}.dodont .dont li:after{transform:rotate(-45deg)}.callout{border-radius:var(--r-xl);background:var(--info-bg);color:var(--charcoal);grid-template-columns:auto 1fr;gap:14px;padding:16px 20px;font-size:15px;line-height:1.75;display:grid}.callout>b{color:var(--info);font-weight:var(--fw-bold);white-space:nowrap}.callout.is-warning{background:var(--warning-bg)}.callout.is-warning>b{color:var(--warning)}.callout.is-success{background:var(--success-bg)}.callout.is-success>b{color:var(--success)}.callout.is-danger{background:var(--danger-bg)}.callout.is-danger>b{color:var(--danger)}.faq{border-top:1px solid var(--hairline)}.faq details{border-bottom:1px solid var(--hairline)}.faq summary{cursor:pointer;font-size:17px;font-weight:var(--fw-semibold);color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:10px;height:10px;transition:transform var(--dur-fast) var(--ease);border-radius:1px;flex:none;transform:translateY(-3px)rotate(45deg)}.faq details[open] summary:after{transform:translateY(2px)rotate(-135deg)}.faq-body{max-width:44em;color:var(--slate);padding:0 0 22px;font-size:15px;line-height:1.8}.cta{padding:64px}.cta h2{max-width:15em;font-size:clamp(30px,3.6vw,44px);line-height:1.2;font-weight:var(--fw-semibold);letter-spacing:-.02em}.cta p{opacity:.88;max-width:30em;margin-top:14px;font-size:17px;line-height:1.6}.cta .hero-actions{margin-top:32px}.docs{grid-template-columns:220px minmax(0,1fr) 180px;align-items:start;gap:48px;display:grid}.docs-side,.docs-toc{flex-direction:column;display:flex;position:sticky;top:92px}.docs-side .group{font-size:12px;font-weight:var(--fw-semibold);color:var(--stone);margin:18px 0 6px 12px}.docs-side .group:first-child{margin-top:0}.docs-side a{border-radius:var(--r-sm);color:var(--charcoal);padding:6px 12px;font-size:14px}.docs-side a:hover{color:var(--ink)}.docs-side a[aria-current=page]{background:var(--surface);color:var(--ink);font-weight:var(--fw-medium)}.docs-toc{gap:2px;font-size:13px}.docs-toc b{color:var(--ink);margin-bottom:8px;font-size:12px}.docs-toc a{color:var(--steel);padding:4px 0}.docs-toc a.is-active{color:var(--ink);font-weight:var(--fw-medium)}.desk{--c:var(--brand-surface);border-radius:var(--r-hero);background-color:var(--brand-surface);min-height:560px;position:relative;overflow:hidden}.desk .trace{z-index:0;color:#fff9}.menubar{z-index:3;background:var(--canvas);height:30px;color:var(--ink);font-size:13px;font-weight:var(--fw-medium);align-items:center;gap:18px;padding:0 16px;display:flex;position:absolute;inset:0 0 auto}.menubar .hck-mark{width:16px;height:16px}.menubar b{font-weight:var(--fw-bold)}.menubar .clock{font-variant-numeric:tabular-nums;color:var(--charcoal);margin-left:auto}.desk-icons{z-index:1;justify-items:center;gap:18px;display:grid;position:absolute;top:56px;right:28px}.desk-icon{color:#fff;width:84px;font-size:12px;font-weight:var(--fw-semibold);text-align:center;cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;display:grid}.desk-icon i{background:var(--canvas);width:56px;height:56px;font:var(--fw-bold) 15px/1 var(--font-sans);color:var(--c);border-radius:14px;place-items:center;font-style:normal;display:grid}.desk-icon i svg{width:34px;height:34px}.desk .win{z-index:2;position:absolute}.dock{z-index:3;background:var(--dark);border-radius:22px;gap:10px;padding:8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.dock i{background:var(--c,#fff);border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.dock i svg{width:28px;height:28px}.dock .sep{background:#ffffff29;width:1px;margin:4px 2px}.tree{border-radius:var(--r-xl);background:var(--surface);color:var(--charcoal);font:400 14px/1.9 var(--font-mono);white-space:pre;margin:0;padding:18px 22px;overflow-x:auto}.tree .dir{color:var(--ink);font-weight:var(--fw-medium)}.tree .note{color:var(--stone);font-family:var(--font-sans);font-size:13px}.specs{border:1px solid var(--hairline);border-radius:var(--r-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.specs>div{border-bottom:1px solid var(--hairline-soft);padding:16px 20px}.specs>div:nth-child(odd){border-right:1px solid var(--hairline-soft)}.specs>div:nth-last-child(-n+2){border-bottom:0}.specs dt{font-size:12px;font-weight:var(--fw-medium);color:var(--steel)}.specs dd{font-size:15px;font-weight:var(--fw-semibold);color:var(--ink);margin-top:4px}.codeblock{border-radius:var(--r-xl);background:var(--dark);overflow:hidden}.codeblock-head{border-bottom:1px solid var(--dark-line);height:40px;font:var(--fw-medium) 12px/1 var(--font-mono);color:var(--on-dark-muted);justify-content:space-between;align-items:center;gap:12px;padding:0 10px 0 16px;display:flex}.codeblock-head button{border-radius:var(--r-pill);height:26px;color:var(--on-dark-muted);font:var(--fw-medium) 12px/1 var(--font-sans);cursor:pointer;background:0 0;border:1px solid #ffffff29;padding:0 12px}.codeblock-head button:hover{color:#fff;border-color:#fff6}.codeblock pre{font:400 14px/1.75 var(--font-mono);color:var(--on-dark-body);margin:0;padding:18px 22px;overflow-x:auto}.tok-k{color:#e0757b}.tok-s{color:#9cc5b3}.tok-f{color:#a9b6e0}.tok-n{color:#dcc28f}.tok-c{color:#6e6e76}.article-head{border-bottom:1px solid var(--hairline-soft);padding:72px 0 40px}.crumbs{color:var(--steel);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.crumbs a:hover{color:var(--ink)}.article-head h1{max-width:18em;font-size:var(--fs-display-lg);line-height:1.15;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-display);margin-top:20px}.article-head .t-lead{margin-top:18px}.article-meta{color:var(--steel);flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px;font-size:14px;display:flex}.author{align-items:center;gap:10px;display:inline-flex}.author svg{flex:none;width:32px;height:32px}.author b{color:var(--ink);font-weight:var(--fw-semibold)}.app{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.app-side{border-right:1px solid var(--hairline);background:var(--canvas);flex-direction:column;gap:2px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.app-side .hck-logo-c{margin:4px 10px 24px}.app-side .group{font-size:12px;font-weight:var(--fw-semibold);color:var(--stone);margin:16px 12px 6px}.app-side a{border-radius:var(--r-md);color:var(--charcoal);align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.app-side a:hover{background:var(--surface)}.app-side a[aria-current=page]{background:var(--surface);color:var(--ink);font-weight:var(--fw-semibold)}.app-side a .dot{background:var(--c,var(--stone));border-radius:50%;width:8px;height:8px}.app-side a .n{color:var(--stone);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.app-main{background:var(--canvas);min-width:0;padding:28px 36px 48px}.app-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.app-top h1{font-size:var(--fs-heading-md);line-height:1.25;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading)}.board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.board-col{background:var(--surface);border-radius:var(--r-xl);gap:10px;padding:14px;display:grid}.board-col h4{font-size:14px;font-weight:var(--fw-semibold);justify-content:space-between;padding:4px 6px;display:flex}.board-col h4 span{color:var(--stone);font-weight:var(--fw-medium)}.ticket{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);gap:8px;padding:14px;display:grid}.ticket h5{font-size:15px;line-height:1.45;font-weight:var(--fw-semibold);color:var(--ink)}.ticket .t-meta{justify-content:space-between;gap:8px;display:flex}.heat{grid-template-rows:repeat(7,12px);grid-auto-columns:12px;grid-auto-flow:column;gap:3px;display:grid}.heat i{background:var(--surface-soft);border-radius:3px}.heat .l1{background:#d5e2de}.heat .l2{background:#a9c5bc}.heat .l3{background:#74a092}.heat .l4{background:var(--hck-shilv)}.cmdk-backdrop{z-index:60;background:#0a0a0a52;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.cmdk-backdrop[hidden]{display:none}.cmdk{background:var(--canvas);border-radius:var(--r-xl);width:min(620px,100%);box-shadow:var(--shadow-modal);overflow:hidden}.cmdk-input{border-bottom:1px solid var(--hairline-soft);align-items:center;gap:12px;height:56px;padding:0 18px;display:flex}.cmdk-input .prompt{flex:none}.cmdk-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.cmdk-list{max-height:360px;padding:8px;overflow:auto}.cmdk-group{font-size:12px;font-weight:var(--fw-semibold);color:var(--stone);padding:10px 12px 6px}.cmdk-item{border-radius:var(--r-md);text-align:left;width:100%;color:var(--charcoal);cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.cmdk-item[aria-selected=true],.cmdk-item:hover{background:var(--surface);color:var(--ink)}.cmdk-item .kbd{margin-left:auto}.cmdk-foot{border-top:1px solid var(--hairline-soft);color:var(--stone);gap:16px;padding:10px 18px;font-size:12px;display:flex}.dialog{border-radius:var(--r-xl);width:min(480px,100% - 32px);box-shadow:var(--shadow-modal);color:var(--charcoal);background:var(--canvas);border:0;padding:0}.dialog::backdrop{background:#0a0a0a52}.dialog-body{padding:28px 28px 8px}.dialog-body h3{font-size:20px;font-weight:var(--fw-semibold)}.dialog-body p{color:var(--slate);margin-top:8px;font-size:15px}.dialog-actions{justify-content:flex-end;gap:10px;padding:20px 28px 24px;display:flex}.toast-stack{z-index:70;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-pill);background:var(--dark);color:var(--on-dark);box-shadow:var(--shadow-modal);pointer-events:auto;animation:hck-toast var(--dur) var(--ease) both;align-items:center;gap:10px;padding:10px 16px 10px 12px;font-size:14px;display:inline-flex}@keyframes hck-toast{0%{opacity:0;transform:translateY(8px)}}.tip{position:relative}.tip:after{content:attr(data-tip);border-radius:var(--r-sm);background:var(--dark);color:var(--on-dark);font:var(--fw-medium) 12px/1.3 var(--font-sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:6px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.tip:hover:after,.tip:focus-visible:after{opacity:1;transform:translate(-50%)}.menu{border-radius:var(--r-lg);background:var(--canvas);min-width:200px;box-shadow:var(--shadow-modal);padding:6px}.menu button,.menu a{border-radius:var(--r-sm);width:100%;color:var(--charcoal);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.menu button:hover,.menu a:hover{background:var(--surface);color:var(--ink)}.menu hr{background:var(--hairline-soft);border:0;height:1px;margin:6px 4px}.menu .is-danger{color:var(--danger)}.segmented{border-radius:var(--r-pill);background:var(--surface-soft);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--r-pill);height:32px;font-size:13px;font-weight:var(--fw-semibold);color:var(--steel);cursor:pointer;background:0 0;border:0;padding:0 14px}.segmented [aria-pressed=true]{background:var(--canvas);color:var(--ink);box-shadow:var(--shadow-1), 0 0 0 1px var(--hairline)}.check,.radio{color:var(--charcoal);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:inline-flex}.check input,.radio input{appearance:none;border:1.5px solid var(--stone);background:var(--canvas);cursor:pointer;width:18px;height:18px;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex:none;place-items:center;margin:0;display:grid}.check input{border-radius:5px}.radio input{border-radius:50%}.check input:checked{background:var(--ink);border-color:var(--ink)}.check input:checked:before{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4.5px;transform:translateY(-1px)rotate(-45deg)}.radio input:checked{border-color:var(--ink);border-width:5.5px}.check input:focus-visible,.radio input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.pads-progress{--n:12;--value:.5;grid-template-columns:repeat(var(--n), 1fr);gap:4px;display:grid}.pads-progress i{aspect-ratio:1;background:radial-gradient(circle, var(--canvas) 0 26%, var(--hairline) 28%);border-radius:50%}.pads-progress i.on{background:radial-gradient(circle, var(--canvas) 0 26%, var(--c,var(--ink)) 28%)}.bar{border-radius:var(--r-pill);background:var(--surface-soft);height:6px;overflow:hidden}.bar>i{height:100%;width:calc(var(--value,.5) * 100%);border-radius:inherit;background:var(--c,var(--ink));display:block}.stepper{counter-reset:hck-stepper;align-items:center;gap:0;display:flex}.stepper li{counter-increment:hck-stepper;font-size:13px;font-weight:var(--fw-semibold);color:var(--stone);flex:1;align-items:center;gap:10px;display:flex}.stepper li:before{content:counter(hck-stepper);border:1.5px solid var(--hairline);background:var(--canvas);width:28px;height:28px;color:var(--stone);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;display:grid}.stepper li:after{content:"";background:var(--hairline);border-radius:2px;flex:1;height:3px;margin-right:10px}.stepper li:last-child{flex:none}.stepper li:last-child:after{display:none}.stepper li.is-done,.stepper li.is-current{color:var(--ink)}.stepper li.is-done:before{background:var(--ink);border-color:var(--ink);color:var(--canvas)}.stepper li.is-done:after{background:var(--ink)}.stepper li.is-current:before{border-color:var(--ink);color:var(--ink)}.pager{align-items:center;gap:6px;display:flex}.pager a,.pager span{border-radius:var(--r-pill);min-width:36px;height:36px;font-size:14px;font-weight:var(--fw-medium);color:var(--charcoal);font-variant-numeric:tabular-nums;place-items:center;padding:0 10px;display:inline-grid}.pager a:hover{background:var(--surface)}.pager [aria-current=page]{background:var(--ink);color:var(--canvas)}.pager .pager-edge{border:1px solid var(--hairline);padding:0 14px}.author-card{border:1px solid var(--hairline);border-radius:var(--r-xl);grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:20px 24px;display:grid}.author-card .hck-mark{width:56px;height:56px}.author-card b{color:var(--ink);font-size:16px;display:block}.author-card p{color:var(--steel);margin-top:2px;font-size:13px}.author-card .chips{margin-top:10px}.comment{border-bottom:1px solid var(--hairline-soft);grid-template-columns:36px 1fr;gap:12px;padding:16px 0;display:grid}.comment .avatar{background:var(--c-tint,var(--surface-soft));width:36px;height:36px;color:var(--c-deep,var(--ink));font:var(--fw-bold) 14px/1 var(--font-sans);border-radius:50%;place-items:center;display:grid}.comment header{color:var(--stone);align-items:baseline;gap:10px;font-size:13px;display:flex}.comment header b{color:var(--ink);font-size:14px}.comment p{color:var(--charcoal);margin-top:4px;font-size:14px;line-height:1.7}.quote-card{border-radius:var(--r-xl);background:var(--surface);padding:32px 36px;position:relative;overflow:hidden}.quote-card blockquote{font-family:var(--font-display);font-size:clamp(20px,2.2vw,26px);line-height:1.55;font-weight:var(--fw-medium);color:var(--ink)}.quote-card footer{color:var(--steel);align-items:center;gap:10px;margin-top:18px;font-size:13px;display:flex}.quote-card [class^=stamp]{position:absolute;bottom:22px;right:24px}.changelog{border-left:0}.changelog>li{border-top:1px solid var(--hairline);grid-template-columns:112px 1fr;gap:24px;padding:20px 0;display:grid}.changelog .ver{align-content:start;gap:6px;display:grid}.changelog .ver b{font:var(--fw-semibold) 15px/1 var(--font-mono);color:var(--ink)}.changelog .ver time{color:var(--stone);font-size:12px}.changelog h4{font-size:16px;font-weight:var(--fw-semibold)}.changelog ul{gap:6px;margin-top:8px;display:grid}.changelog ul li{color:var(--slate);padding-left:18px;font-size:14px;position:relative}.changelog ul li:before{content:"";background:var(--c,var(--ink));border-radius:2px;width:8px;height:3px;position:absolute;top:.72em;left:0}.plans{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.plan-card{border:1px solid var(--hairline);border-radius:var(--r-xl);flex-direction:column;gap:14px;padding:28px;display:flex}.plan-card h3{font-size:18px;font-weight:var(--fw-semibold)}.plan-card .price{font:var(--fw-semibold) 32px/1 var(--font-sans);letter-spacing:-.03em;color:var(--ink)}.plan-card .price small{color:var(--steel);letter-spacing:0;font-size:14px;font-weight:var(--fw-medium)}.plan-card ul{color:var(--slate);gap:8px;font-size:14px;display:grid}.plan-card ul li{padding-left:20px;position:relative}.plan-card ul li:before{content:"";border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);width:10px;height:5px;position:absolute;top:.45em;left:2px;transform:rotate(-45deg)}.plan-card .btn{margin-top:auto}.plan-card.is-featured{background:var(--dark);border-color:var(--dark);color:var(--on-dark-body)}.plan-card.is-featured h3,.plan-card.is-featured .price{color:var(--on-dark)}.plan-card.is-featured ul{color:var(--on-dark-muted)}.plan-card.is-featured ul li:before{border-color:var(--hck-seal-on-dark)}.video-card{gap:12px;display:grid}.video-thumb{aspect-ratio:16/9;border-radius:var(--r-xl);background-color:var(--c,var(--dark));place-items:center;display:grid;position:relative;overflow:hidden}.video-thumb .play{background:#ffffffeb;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.video-thumb .play:before{content:"";border-left:16px solid var(--ink);border-top:10px solid #0000;border-bottom:10px solid #0000;margin-left:4px}.video-thumb .dur{border-radius:var(--r-sm);color:#fff;font:var(--fw-medium) 12px/1 var(--font-mono);background:#0a0a0ab8;padding:3px 7px;position:absolute;bottom:10px;right:10px}.video-card h4{font-size:16px;line-height:1.45;font-weight:var(--fw-semibold)}.video-card .t-meta{gap:12px;display:flex}.pinout{grid-template-columns:1fr auto 1fr;align-items:center;gap:0 16px;display:grid}.pinout ol{gap:6px;display:grid}.pinout li{font:var(--fw-medium) 12px/1 var(--font-mono);color:var(--charcoal);align-items:center;gap:10px;display:flex}.pinout .left li{justify-content:flex-end}.pinout li i{background:var(--surface-soft);width:22px;height:16px;color:var(--steel);border-radius:4px;flex:none;place-items:center;font-size:10px;font-style:normal;display:grid}.pinout li i.is-power{background:var(--hck-zhusha-tint);color:var(--hck-zhusha-deep)}.pinout li i.is-gnd{background:var(--dark);color:#fff}.pinout li i.is-io{background:var(--hck-qunqing-tint);color:var(--hck-qunqing-deep)}.pinout .chip-body{border-radius:var(--r-md);background:var(--dark);color:#fff;width:88px;min-height:140px;font:var(--fw-semibold) 12px/1.2 var(--font-mono);text-align:center;align-self:stretch;place-items:center;display:grid;position:relative}.pinout .chip-body:before{content:"";background:#fff6;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:10px}.spark-stat{border:1px solid var(--hairline);border-radius:var(--r-xl);grid-template-columns:1fr auto;align-items:end;gap:4px 16px;padding:18px 20px;display:grid}.spark-stat .label{color:var(--steel);grid-column:1/-1;font-size:13px}.spark-stat b{font:var(--fw-semibold) 30px/1 var(--font-sans);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.spark-stat .delta{font-size:12px;font-weight:var(--fw-semibold);color:var(--success)}.spark-stat svg{width:96px;height:32px;color:var(--c,var(--ink))}.kbd{border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas);min-width:22px;height:22px;font:var(--fw-medium) 11px/1 var(--font-mono);color:var(--steel);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.diff{border-radius:var(--r-xl);background:var(--dark);font:400 13px/1.75 var(--font-mono);color:var(--on-dark-body);overflow:hidden}.diff .codeblock-head{border-bottom:1px solid var(--dark-line)}.diff pre{margin:0;padding:12px 0;overflow-x:auto}.diff pre span{white-space:pre;padding:0 20px 0 36px;display:block;position:relative}.diff pre span:before{color:var(--stone);position:absolute;left:16px}.diff .add{background:#42766747}.diff .add:before{content:"+";color:#9cc5b3}.diff .del{background:#9e3d4247}.diff .del:before{content:"-";color:#e0757b}.empty-state{text-align:center;border:1.5px dashed var(--hairline);border-radius:var(--r-xl);justify-items:center;gap:12px;padding:48px 24px;display:grid}.empty-state .hck-mark{width:44px;height:44px;color:var(--muted)}.empty-state h4{font-size:16px;font-weight:var(--fw-semibold)}.empty-state p{color:var(--steel);max-width:26em;font-size:14px}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--surface-soft) 0 40%, var(--surface) 50%, var(--surface-soft) 60%) 0 0 / 300% 100%;animation:hck-skeleton 1.4s var(--ease) 2}@keyframes hck-skeleton{to{background-position:-150% 0}}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--canvas);height:32px;font-size:13px;font-weight:var(--fw-medium);color:var(--charcoal);cursor:pointer;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.filter-chip:before{content:"";background:var(--c,var(--stone));border-radius:50%;width:8px;height:8px}.filter-chip[aria-pressed=true]{background:var(--c-tint,var(--surface));border-color:var(--c,var(--ink));color:var(--c-deep,var(--ink))}.filter-chip .x{color:var(--stone);margin-left:2px;font-size:14px;line-height:1}.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(180px,auto);gap:16px;display:grid}.bento>*{min-width:0}.bento .w2{grid-column:span 2}.bento .w3{grid-column:span 3}.bento .h2{grid-row:span 2}.editorial{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.editorial aside{border-top:2px solid var(--ink);gap:16px;padding-top:6px;display:grid;position:sticky;top:96px}.scrolly{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);display:grid}.scrolly-visual{place-items:center;height:76vh;display:grid;position:sticky;top:12vh}.scrolly-steps{gap:40vh;padding:20vh 0 30vh;display:grid}.scrolly-step{border-radius:var(--r-xl);background:var(--canvas);border:1px solid var(--hairline);opacity:.42;transition:opacity var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:24px 28px}.scrolly-step.is-active{opacity:1;border-color:var(--ink)}.exploded{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:48px;display:grid}.exploded .hotspot{border-radius:var(--r-hero);background:var(--c-tint,var(--surface));min-height:420px}.exploded ol{counter-reset:hck-ex;gap:14px;display:grid}.exploded ol li{counter-increment:hck-ex;color:var(--slate);grid-template-columns:34px 1fr;gap:12px;font-size:14px;display:grid}.exploded ol li:before{content:counter(hck-ex, decimal-leading-zero);font:var(--fw-semibold) 13px/1.6 var(--font-mono);color:var(--ink)}.exploded ol li b{color:var(--ink);font-size:15px;display:block}.compare-split{--pos:50%;border-radius:var(--r-xl);border:1px solid var(--hairline);aspect-ratio:16/9;position:relative;overflow:hidden}.compare-split>.after,.compare-split>.before{position:absolute;inset:0}.compare-split>.after{clip-path:inset(0 0 0 var(--pos))}.compare-split:after{content:"";top:0;bottom:0;left:var(--pos);background:var(--ink);pointer-events:none;width:3px;margin-left:-1.5px;position:absolute}.compare-split input[type=range]{opacity:0;cursor:ew-resize;width:100%;height:100%;margin:0;position:absolute;inset:0}.compare-split .lbl{border-radius:var(--r-pill);background:var(--canvas);font-size:12px;font-weight:var(--fw-semibold);box-shadow:0 0 0 1px var(--hairline);padding:4px 10px;position:absolute;top:14px}.compare-split .lbl.l{left:14px}.compare-split .lbl.r{right:14px}.handscroll{scroll-snap-type:x mandatory;padding:0 var(--gutter) 16px;scrollbar-width:thin;grid-auto-columns:min(78vw,880px);grid-auto-flow:column;gap:20px;display:grid;overflow-x:auto}.handscroll>*{scroll-snap-align:center}.dash{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.dash>*{min-width:0}.dash .c3{grid-column:span 3}.dash .c4{grid-column:span 4}.dash .c5{grid-column:span 5}.dash .c6{grid-column:span 6}.dash .c7{grid-column:span 7}.dash .c8{grid-column:span 8}.dash .c12{grid-column:1/-1}.tile{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);padding:20px}.tile-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tile-head h3{font-size:15px;font-weight:var(--fw-semibold)}.tabbar{z-index:40;background:var(--dark);border-radius:22px;justify-content:space-around;padding:8px;display:none;position:fixed;bottom:12px;left:12px;right:12px}.tabbar a,.tabbar button{color:var(--on-dark-muted);font-size:11px;font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0;border-radius:14px;justify-items:center;gap:4px;padding:6px 10px;display:grid}.tabbar svg{width:22px;height:22px}.tabbar [aria-current=page]{color:#fff;background:#ffffff1a}.hero-overlap{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;min-height:560px;display:grid;position:relative}.hero-overlap .ov-card{border-radius:var(--r-hero);grid-area:1/6/auto/-1;align-self:stretch;min-height:460px}.hero-overlap .ov-text{z-index:2;grid-area:1/1/auto/10;padding-bottom:40px;position:relative}.hero-overlap .ov-text h1{font-size:clamp(56px,8.4vw,128px);line-height:1.02;font-weight:var(--fw-semibold);letter-spacing:-.01em}.hero-overlap .ov-text h1 .on-card{color:var(--c-ink,#fff);padding-left:calc(55.6% + .35em);display:block}@media (width<=1024px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento .w3{grid-column:span 2}.dash .c3,.dash .c4,.dash .c5{grid-column:span 6}.dash .c6,.dash .c7,.dash .c8{grid-column:1/-1}.plans{grid-template-columns:1fr}}@media (width<=900px){.editorial,.scrolly,.exploded{grid-template-columns:1fr}.editorial aside{position:static}.scrolly-visual{z-index:1;background:var(--canvas);height:42vh;position:sticky;top:64px}.scrolly-steps{gap:24vh;padding:4vh 0 20vh}.hero-overlap{grid-template-columns:1fr;min-height:0}.hero-overlap .ov-card{grid-area:2/1;min-height:260px}.hero-overlap .ov-text{grid-area:1/1;padding-bottom:24px}.hero-overlap .ov-text h1 .on-card{color:inherit;padding-left:0}.tabbar{display:flex}.changelog>li{grid-template-columns:1fr;gap:8px}}@media (width<=600px){.bento{grid-template-columns:1fr}.bento .w2,.bento .w3{grid-column:auto}.bento .h2{grid-row:auto}.dash .c3,.dash .c4,.dash .c5,.dash .c6{grid-column:1/-1}.pinout{grid-template-columns:1fr}.pinout .left li{justify-content:flex-start}}.drawer-root[hidden]{display:none}.drawer-root{z-index:55;position:fixed;inset:0}.drawer-scrim{cursor:pointer;background:#0a0a0a52;border:0;padding:0;position:absolute;inset:0}.drawer{background:var(--canvas);width:min(440px,100%);height:100%;box-shadow:var(--shadow-modal);animation:hck-drawer var(--dur) var(--ease) both;flex-direction:column;display:flex;position:absolute;top:0;right:0;overflow:auto}@keyframes hck-drawer{0%{transform:translate(28px)}}.drawer-head{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.drawer-head h2{font-size:22px;line-height:1.35;font-weight:var(--fw-semibold)}.drawer-body{align-content:start;gap:16px;padding:22px 24px 48px;display:grid}.view[hidden]{display:none!important}.ticket[draggable=true]{cursor:grab}.ticket.is-over{outline:2px dashed var(--ink);outline-offset:2px}.ticket.is-dragging{opacity:.45}.readbar{z-index:80;background:var(--ink);pointer-events:none;width:0;height:3px;position:fixed;top:0;left:0}.trace.is-pulse .pulse{stroke-dasharray:14 100;stroke-dashoffset:114px;animation:hck-pulse 2.6s var(--ease) 1 forwards}@keyframes hck-pulse{to{stroke-dashoffset:0}}.circuit{width:100%;height:auto;color:var(--ink)}.circuit .wire{fill:none;stroke:var(--hairline);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.circuit .wire.is-on{stroke:var(--ink)}.circuit .pad{fill:var(--canvas);stroke:var(--hairline);stroke-width:2px}.circuit .pad.is-on{fill:var(--ink);stroke:var(--ink)}.circuit text{font:600 12px var(--font-sans);fill:var(--steel)}.circuit text.is-on{fill:var(--ink)}.share-nav{border-top:1px solid var(--hairline);grid-template-columns:1fr 1fr;gap:16px;padding-top:28px;display:grid}.share-nav a{gap:6px;display:grid}.share-nav .next{text-align:right;justify-items:end}.share-nav span{color:var(--steel);font-size:12px}.share-nav b{color:var(--ink);font-size:16px}.meter{gap:10px;display:grid}.meter li{color:var(--charcoal);grid-template-columns:92px 1fr 40px;align-items:center;gap:10px;font-size:13px;display:grid}.meter .bar{height:8px}@media (width<=900px){.studio .app-side{display:none}.has-tabbar{padding-bottom:108px}}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:translateY(12px)}.reveal.is-in{opacity:1;transform:none}@media (width<=1024px){.foot-top{grid-template-columns:1fr 1fr}.search-pill{display:none}.hero-grid{grid-template-columns:1fr;gap:48px}.posts,.projects{grid-template-columns:1fr 1fr}.docs{grid-template-columns:minmax(0,1fr)}.docs-side,.docs-toc{display:none}}@media (width<=900px){.nav-links{display:none}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--hairline)}.sec-head{flex-direction:column;align-items:start}.matrix{grid-template-columns:1fr}.matrix>.is-wide{grid-column:auto}.dodont,.app{grid-template-columns:1fr}.app-side{border-right:0;border-bottom:1px solid var(--hairline);flex-direction:row;align-items:center;height:auto;padding:10px 14px;position:static;overflow-x:auto}.app-side .group{display:none}.app-side .hck-logo-c{flex:none;margin:0 12px 0 4px}.app-side a{flex:none}.app-main{padding:24px 20px 40px}.board{grid-template-columns:1fr}.desk{min-height:640px}.desk-icons{display:none}}@media (width<=600px){.hero{padding:64px 0 56px}.color-card{padding:28px}.cta{padding:32px 28px}.posts,.projects{grid-template-columns:1fr}.tl{grid-template-columns:1fr;gap:6px}.specs{grid-template-columns:1fr}.specs>div:nth-child(odd){border-right:0}.specs>div:nth-last-child(2){border-bottom:1px solid var(--hairline-soft)}.foot-top{grid-template-columns:1fr}.foot-bottom{flex-direction:column}.prose{font-size:16px}.btn-lg{height:46px;padding:0 22px}.article-head{padding:48px 0 32px}.table,.prose>table:not([class]){white-space:nowrap;display:block;overflow-x:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}.reveal{opacity:1;transform:none}}.type-pair{align-content:start;gap:12px;display:grid}.type-pair .cn{font:600 var(--fs-display)/1.1 var(--font-display);letter-spacing:var(--tracking-display);color:var(--ink);display:block}.type-pair .en{font:500 clamp(18px, 2vw, 26px)/1.2 var(--font-sans);letter-spacing:-.03em;color:var(--steel);display:block}.type-diagram-label{font:500 11px/1.4 var(--font-mono);letter-spacing:.02em;color:var(--steel)}.type-data{font:600 clamp(44px, 5vw, 72px)/.98 var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:-.06em;color:var(--ink)}.type-colophon{writing-mode:vertical-rl;font:500 13px/1.5 var(--font-display);letter-spacing:.12em;color:var(--slate)}.brand-id{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:600;display:inline-flex}.brand-id .hck-mark{width:28px;height:28px}.brand-id--nav .hck-mark{width:22px;height:22px}.brand-id--sign{align-items:end;gap:12px}.brand-id--sign .hck-mark{width:38px;height:38px}.brand-corner{z-index:2;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);font:500 11px/1 var(--font-mono);color:var(--steel);align-items:center;gap:7px;padding:8px 10px;display:flex;position:absolute;top:20px;right:20px}.brand-corner .hck-mark{width:18px;height:18px}.shape-index{border-radius:var(--r-xl);position:relative}.shape-index:before{content:"";border:1px solid var(--hairline);background:inherit;border-bottom:0;border-radius:9px 9px 0 0;width:76px;height:12px;position:absolute;top:-11px;left:24px}.shape-connector{border-radius:var(--r-xl);position:relative}.shape-connector:after{content:"";border:3px solid var(--c,var(--ink));background:var(--canvas);border-radius:50%;width:16px;height:16px;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.shape-scroll-cap{border-radius:var(--r-hero);position:relative}.shape-scroll-cap:before,.shape-scroll-cap:after{content:"";background:var(--c,var(--ink));border-radius:var(--r-pill);width:8px;position:absolute;top:12%;bottom:12%}.shape-scroll-cap:before{left:-5px}.shape-scroll-cap:after{right:-5px}.shape-drawing{border:1px solid var(--hairline);border-radius:var(--r-xl);position:relative}.shape-drawing:before{content:"";border:1px solid var(--hairline-soft);border-radius:var(--r-md);pointer-events:none;position:absolute;inset:8px}.shape-sheet{border:1px solid var(--hairline-strong);border-radius:var(--r-hero) var(--r-hero) var(--r-xl) var(--r-xl);background:var(--surface-raised);position:relative}.shape-sheet:before{content:"";border-radius:var(--r-pill);background:var(--hairline-strong);width:36px;height:4px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.shape-split{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);position:relative;overflow:hidden}.shape-split:before{content:"";background:var(--hairline-strong);width:1px;position:absolute;inset:0 auto 0 34%}.shape-stack{isolation:isolate;border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);position:relative;overflow:visible}.shape-stack:after{content:"";z-index:-1;border:1px solid var(--hairline-strong);border-radius:inherit;background:var(--surface-soft);position:absolute;inset:8px -8px -8px 8px}.shape-poster{border:1px solid var(--hairline-strong);border-radius:var(--r-lg);background:var(--canvas);position:relative}.shape-poster:before{content:"";border:1px solid var(--hairline);border-radius:var(--r-md);pointer-events:none;position:absolute;inset:9px}.motif-figure-id{border-top:1px solid var(--hairline-strong);border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 18px;padding:12px 0;display:flex}.motif-figure-id small{font:500 11px/1.4 var(--font-mono);color:var(--steel)}.motif-figure-id b{color:var(--ink);font-size:15px;font-weight:600}.motif-route{justify-content:space-between;gap:12px;display:flex;position:relative}.motif-route:before{content:"";background:var(--hairline-strong);height:2px;position:absolute;top:13px;left:13px;right:13px}.motif-route li{text-align:center;min-width:0;color:var(--slate);justify-items:center;gap:8px;font-size:12px;display:grid;position:relative}.motif-route .node{border:2px solid var(--c,var(--ink));background:var(--canvas);width:28px;height:28px;font:600 11px/1 var(--font-mono);color:var(--ink);border-radius:50%;place-items:center;display:grid}.motif-proof{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-raised);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.motif-proof>div{min-width:0;padding:16px}.motif-proof>div+div{border-left:1px solid var(--hairline)}.motif-proof dt{font:500 10px/1.4 var(--font-mono);color:var(--steel)}.motif-proof dd{color:var(--ink);overflow-wrap:anywhere;margin-top:6px;font-size:13px;font-weight:600}.motif-folio{border-bottom:1px solid var(--hairline-strong);align-items:end;gap:18px;padding:16px 0;display:flex}.motif-folio .no{font:600 clamp(42px, 6vw, 68px)/.9 var(--font-sans);letter-spacing:-.06em;color:var(--ink)}.motif-folio .title{max-width:13ch;font:600 clamp(20px, 2.5vw, 30px)/1.25 var(--font-display);color:var(--ink)}.motif-folio .meta{font:500 11px/1.4 var(--font-mono);color:var(--steel);margin-left:auto}.stamp-seam{z-index:2;position:absolute;top:50%;right:0;transform:translate(50%,-50%)rotate(-4deg)}.stamp-corner{z-index:2;position:absolute;bottom:20px;right:24px;transform:rotate(-4deg)}.stamp-lead{margin-bottom:18px;display:inline-flex;transform:rotate(-4deg)}.stamp-cover{z-index:2;position:absolute;top:18px;right:18px;transform:rotate(-4deg)}.stamp-spine{z-index:2;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)rotate(-4deg)}.stamp-figure{z-index:2;position:absolute;bottom:18px;left:20px;transform:rotate(-4deg)}.stamp-tab{z-index:2;position:absolute;top:0;left:24px;transform:translateY(-50%)rotate(-4deg)}.stamp-signoff{vertical-align:middle;margin-left:10px;display:inline-flex;transform:rotate(-4deg)}.atlas-lead{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(28px,4vw,72px);display:grid}.atlas-lead>*{min-width:0}.atlas-lead .type-pair{margin:18px 0 24px}.atlas-lead .t-lead{max-width:34em}.atlas-figure{isolation:isolate;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-hero);min-height:440px;padding:26px;position:relative;overflow:hidden}.atlas-figure:before{content:"";border:1px solid var(--hairline);border-radius:var(--r-xl);pointer-events:none;position:absolute;inset:16px}.atlas-figure .illo{width:min(88%,620px);height:auto;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.atlas-figure .fig-no{font:500 11px/1.4 var(--font-mono);color:var(--steel);position:absolute;top:26px;left:28px}.atlas-figure .fig-caption{color:var(--slate);justify-content:space-between;gap:12px;font-size:12px;display:flex;position:absolute;bottom:24px;left:28px;right:28px}.atlas-figure .fig-caption b{color:var(--ink);font-weight:600}.atlas-callout{z-index:1;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--canvas);font:500 11px/1.3 var(--font-mono);color:var(--charcoal);white-space:nowrap;align-items:center;gap:7px;padding:6px 9px;display:flex;position:absolute}.atlas-callout:before{content:"";border:2px solid var(--c,var(--ink));border-radius:50%;width:7px;height:7px}.atlas-callout.a{top:22%;left:7%}.atlas-callout.b{top:29%;right:6%}.atlas-callout.c{bottom:21%;left:11%}.atlas-projects{grid-template-rows:repeat(3,minmax(150px,auto));grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:16px;display:grid}.atlas-projects>*{min-width:0}.atlas-project{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);flex-direction:column;justify-content:space-between;gap:18px;padding:28px;display:flex;position:relative;overflow:hidden}.atlas-project.shape-index{overflow:visible}.atlas-project:first-child{background:var(--c-tint,var(--surface));grid-row:span 3;padding:36px}.atlas-project h3{max-width:22ch;font-size:clamp(20px,2.1vw,28px);font-weight:600;line-height:1.32}.atlas-project:first-child h3{max-width:14ch;font:600 clamp(32px, 3.1vw, 48px)/1.16 var(--font-display)}.atlas-project p{max-width:50ch;color:var(--slate);font-size:14px}.atlas-project .illo{align-self:end;width:min(60%,250px);height:auto}.atlas-project .link-more{align-self:start}.atlas-process{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:24px 0;display:grid}.atlas-process>li{align-content:start;gap:12px;padding:8px clamp(16px,2.5vw,36px);display:grid;position:relative}.atlas-process>li+li{border-left:1px solid var(--hairline)}.atlas-process .node{border:2px solid var(--ink);width:34px;height:34px;font:600 13px/1 var(--font-sans);border-radius:50%;place-items:center;display:grid}.atlas-process h3{font-size:20px;font-weight:600}.atlas-process p{max-width:31ch;color:var(--slate);font-size:14px}.atlas-evidence{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(24px,4vw,64px);display:grid}.atlas-evidence .term{width:100%}.atlas-index{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.atlas-index a{border-radius:var(--r-pill);color:var(--slate);align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.atlas-index a:hover,.atlas-index a:focus-visible{background:var(--surface);color:var(--ink)}.atlas-index a span{font:500 10px/1 var(--font-mono);color:var(--steel)}.focus-workspace{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px;display:grid}.focus-workspace .focus-main{border-radius:var(--r-xl);background:var(--dark);min-height:300px;color:var(--on-dark);padding:32px}.focus-workspace .focus-main h2{max-width:16ch;font:600 clamp(28px, 3vw, 40px)/1.2 var(--font-display);color:var(--on-dark)}.focus-workspace .focus-side{gap:16px;display:grid}.compact-figure{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);display:grid;overflow:hidden}.compact-figure .visual{background:var(--c-tint,var(--surface));place-items:center;min-height:260px;padding:22px;display:grid}.compact-figure .visual .illo{width:min(100%,460px);height:auto}.compact-figure figcaption{align-content:center;gap:16px;padding:24px;display:grid}.compact-figure figcaption h3{font-size:22px;font-weight:600;line-height:1.3}.compact-figure figcaption p,.compact-figure figcaption li{color:var(--slate);font-size:13px;line-height:1.6}.compact-figure figcaption ol{gap:8px;padding-left:18px;display:grid}.task-focus-card{border-radius:var(--r-xl);background:var(--surface-inset);min-height:260px;color:var(--ink);gap:22px;padding:28px;display:grid}.task-focus-card.is-dark{background:var(--dark);color:var(--on-dark)}.task-focus-card .task-top{font:500 11px/1.4 var(--font-mono);color:var(--steel);justify-content:space-between;gap:16px;display:flex}.task-focus-card.is-dark .task-top{color:var(--on-dark-muted)}.task-focus-card h3{max-width:18ch;font:600 clamp(24px, 2.5vw, 34px)/1.2 var(--font-display);color:inherit}.task-focus-card .task-next{border-top:1px solid var(--hairline-strong);color:var(--slate);align-self:end;padding-top:16px;font-size:13px}.task-focus-card.is-dark .task-next{border-color:var(--dark-line);color:var(--on-dark-body)}.evidence-ledger{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);overflow:hidden}.evidence-ledger>div{grid-template-columns:110px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:17px 20px;display:grid}.evidence-ledger>div+div{border-top:1px solid var(--hairline)}.evidence-ledger dt{font:500 11px/1.4 var(--font-mono);color:var(--steel)}.evidence-ledger dd{color:var(--charcoal);font-size:14px}.evidence-ledger a,.evidence-ledger .status{color:var(--ink);white-space:nowrap;font-size:12px;font-weight:600}.action-dock{z-index:20;border:1px solid var(--hairline-strong);border-radius:var(--r-pill);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px 10px 20px;display:flex;position:sticky;bottom:12px}.action-dock.is-static{position:static}.action-dock .context{gap:3px;min-width:0;display:grid}.action-dock .context b{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;overflow:hidden}.action-dock .context span{color:var(--steel);font-size:11px}.action-dock .btn{flex:none}.mobile-task-layout{border:1px solid var(--hairline-strong);border-radius:var(--r-hero);background:var(--canvas);gap:16px;width:min(390px,100%);padding:20px;display:grid}.mobile-task-layout .top{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-task-layout .task-focus-card{min-height:230px}.mobile-task-layout .btn,.sheet-layout .btn,.action-dock .btn{min-height:44px}.sheet-layout{border:1px solid var(--hairline);border-radius:var(--r-hero);background:var(--surface);width:min(390px,100%);min-height:460px;padding:24px;position:relative;overflow:hidden}.sheet-layout .shape-sheet{min-height:220px;padding:32px 24px 24px;position:absolute;inset:auto 0 0}.workspace-three{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);grid-template-columns:minmax(150px,.55fr) minmax(0,1.65fr) minmax(190px,.8fr);min-height:470px;display:grid;overflow:hidden}.workspace-three>aside,.workspace-three>.workspace-main{min-width:0;padding:24px}.workspace-three>aside:first-child{border-right:1px solid var(--hairline)}.workspace-three>aside:last-child{border-left:1px solid var(--hairline);background:var(--surface-raised)}.workspace-three>.workspace-main{align-content:start;gap:18px;display:grid}.poster-layout{aspect-ratio:4/5;border:1px solid var(--hairline-strong);border-radius:var(--r-lg);background:var(--canvas);flex-direction:column;justify-content:space-between;width:min(440px,100%);padding:clamp(28px,5vw,54px);display:flex}.poster-layout h2{max-width:7ch;font:600 clamp(40px, 5vw, 70px)/1.08 var(--font-display)}.card-sequence{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.card-sequence>article{aspect-ratio:3/4;border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(20px,2.4vw,32px);display:flex}.card-sequence h3{font:600 clamp(22px, 2.5vw, 34px)/1.2 var(--font-display)}.reader-flow{gap:32px;width:min(700px,100%);margin-inline:auto;display:grid}.reader-flow>header{border-bottom:1px solid var(--hairline);padding-bottom:24px}.reader-flow h2{font:600 clamp(30px, 3vw, 42px)/1.2 var(--font-display)}.reader-flow p{color:var(--charcoal);line-height:1.75}.reader-flow .compact-figure{grid-template-columns:1fr}@media (width<=900px){.atlas-lead,.atlas-evidence,.focus-workspace{grid-template-columns:1fr}.atlas-projects{grid-template-rows:auto;grid-template-columns:1fr 1fr}.atlas-project:first-child{grid-area:auto/1/auto/-1}.atlas-process{grid-template-columns:1fr}.atlas-process>li{padding:18px 8px}.atlas-process>li+li{border-left:0;border-top:1px solid var(--hairline)}.compact-figure{grid-template-columns:1fr}.workspace-three{grid-template-columns:minmax(120px,.45fr) minmax(0,1.55fr)}.workspace-three>aside:last-child{border-left:0;border-top:1px solid var(--hairline);grid-column:1/-1}}@media (width<=600px){.atlas-figure{border-radius:var(--r-xl);min-height:350px;padding:16px}.atlas-figure .illo{width:94%}.atlas-figure .fig-no{top:18px;left:18px}.atlas-figure .fig-caption{bottom:18px;left:18px;right:18px}.atlas-callout{padding:5px 6px;font-size:9px}.atlas-callout.a{left:5%}.atlas-callout.b{right:4%}.atlas-callout.c{left:7%}.atlas-projects{grid-template-columns:1fr}.atlas-project:first-child{grid-column:auto}.atlas-project{padding:24px}.motif-proof{grid-template-columns:1fr}.motif-proof>div+div{border-left:0;border-top:1px solid var(--hairline)}.compact-figure .visual{min-height:220px}.evidence-ledger>div{grid-template-columns:1fr;gap:5px}.action-dock{border-radius:var(--r-xl);padding:10px}.action-dock .context{display:none}.action-dock .btn{width:100%}.workspace-three{grid-template-columns:1fr}.workspace-three>aside:first-child{border-right:0;border-bottom:1px solid var(--hairline)}.workspace-three>aside:last-child{grid-column:auto}.card-sequence{scroll-snap-type:x mandatory;padding-bottom:10px;display:flex;overflow-x:auto}.card-sequence>article{scroll-snap-align:start;flex:0 0 min(75vw,260px)}}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Latin.woff2)format("woff2");font-style:normal;font-weight:400 500;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Honchic Rounded;src:url(/fonts/HonchicRounded-500.woff2)format("woff2");font-style:normal;font-weight:400 649;font-display:swap}@font-face{font-family:Honchic Rounded;src:url(/fonts/HonchicRounded-700.woff2)format("woff2");font-style:normal;font-weight:650 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;color:var(--charcoal)}[hidden]{display:none!important}button{cursor:pointer}button:disabled{cursor:not-allowed}.site-shell{min-height:100vh}.site-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:24px;max-width:1600px;height:76px;margin:auto;padding:0 clamp(24px,4vw,64px);display:flex}.site-brand{color:var(--ink);flex:none;align-items:center;gap:10px;font-weight:700;line-height:1.1;display:inline-flex}.site-brand img{flex:none}.site-brand small{color:var(--steel);letter-spacing:.02em;font-size:11px;font-weight:500;display:block}.eyebrow{color:var(--steel);letter-spacing:.06em;font-size:12px;font-weight:700;display:block}.desktop-surface{background-color:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-hero);min-height:595px;padding:22px 22px 105px;position:relative;overflow:hidden}.identity-widget,.featured-widget,.contact-widget{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-xl);min-width:0}.identity-widget{flex-direction:column;align-items:flex-start;min-height:465px;padding:clamp(30px,4vw,60px);display:flex}.widget-label{color:var(--slate);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.identity-kicker{color:var(--hck-qunqing-deep);margin-top:auto;font-size:15px;font-weight:600}.identity-widget h1{letter-spacing:-.025em;margin:10px 0 18px;font-size:clamp(44px,4.3vw,76px);font-weight:600;line-height:1.12}.identity-body{max-width:34em;color:var(--slate);font-size:16px;line-height:1.75}.identity-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.featured-widget{flex-direction:column;gap:20px;padding:24px 22px;display:flex}.widget-heading{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.widget-heading h2{margin-top:7px;font-size:24px;font-weight:600;line-height:1.22}.widget-heading>a{white-space:nowrap;color:var(--steel);font-size:12px;font-weight:600}.widget-heading>a:hover{color:var(--ink)}.preview-stack{flex:1;gap:10px;display:grid}.project-preview{text-align:left;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-xl);width:100%;min-height:105px;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);flex-direction:column;justify-content:center;gap:6px;padding:14px 18px;display:flex}.project-preview:hover{border-color:var(--cat-color);transform:translateY(-2px)}.preview-index{color:var(--cat-color);font-size:11px;font-weight:700}.preview-main{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:18px;display:flex}.preview-main strong{font-weight:700}.preview-main>span{font-size:18px}.preview-summary{color:var(--steel);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.cat-robot-development{--cat-color:var(--cat-emb);--cat-tint:var(--cat-emb-tint)}.cat-ai-intelligent-development{--cat-color:var(--cat-auto);--cat-tint:var(--cat-auto-tint)}.cat-ai-coding{--cat-color:var(--cat-code);--cat-tint:var(--cat-code-tint)}.cat-full-stack-development{--cat-color:var(--cat-full);--cat-tint:var(--cat-full-tint)}.category-dot{background:var(--cat-color);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.contact-widget{background:var(--hck-zhusha-tint);border-color:var(--hck-zhusha-tint);flex-direction:column;align-items:flex-start;padding:28px 24px;display:flex}.contact-widget p{font-family:var(--font-display);color:var(--ink);margin:32px 0 auto;font-size:clamp(26px,2.45vw,38px);font-weight:600;line-height:1.2}.desktop-window{background:var(--canvas);border:1px solid var(--hairline-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-modal);flex-direction:column;min-width:380px;max-width:calc(100vw - 20px);min-height:250px;max-height:calc(100vh - 178px);display:flex;position:fixed;overflow:hidden}.desktop-window[data-window-id=terminal]{min-width:360px;min-height:220px}.desktop-window.is-maximized{max-height:none;width:calc(100vw - 40px)!important;height:calc(100vh - 182px)!important;top:62px!important;left:20px!important}.window-titlebar{background:var(--surface-raised);border-bottom:1px solid var(--hairline);touch-action:none;cursor:move;flex:none;justify-content:center;align-items:center;height:45px;display:flex;position:relative}.window-controls{display:flex;position:absolute;top:12px;left:11px}.window-controls button{background:0 0;border:0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid;position:relative}.window-controls button:before{content:"";box-sizing:border-box;border:1px solid var(--hairline-strong);background:var(--light);border-radius:50%;width:12px;height:12px}.window-controls button:after{font:700 10px/1 var(--font-sans);color:var(--dark);opacity:0;transition:opacity var(--dur-fast) var(--ease);place-items:center;display:grid;position:absolute;inset:0}.window-controls .close{--light:#ff5f57}.window-controls .close:after{content:"×"}.window-controls .minimize{--light:#febc2e}.window-controls .minimize:after{content:"−"}.window-controls .maximize{--light:#28c840}.window-controls .maximize:after{content:"+"}.window-controls:hover button:after,.window-controls button:focus-visible:after{opacity:.55}.window-controls button:active:before{border-color:var(--slate)}.window-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:-1px}.window-title{color:var(--ink);transition:color var(--dur-fast) var(--ease);font-size:12px;font-weight:600}.desktop-window:not(.is-active){box-shadow:var(--shadow-2)}.desktop-window:not(.is-active) .window-title{color:var(--subtle)}.desktop-window:not(.is-active) .window-controls:not(:hover):not(:focus-within) button:before{background:var(--hairline)}.window-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.window-resize{cursor:nwse-resize;touch-action:none;width:25px;height:25px;position:absolute;bottom:0;right:0}.window-resize:after{content:"";border-right:2px solid var(--hairline-strong);border-bottom:2px solid var(--hairline-strong);width:9px;height:9px;position:absolute;bottom:7px;right:7px}.window-content{padding:28px 32px 36px}.window-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:22px;display:flex}.contact-window h2,.project-window h2{margin-bottom:14px;font-size:31px;line-height:1.25}.contact-window p,.project-window p{color:var(--slate);max-width:40em;margin-bottom:16px;line-height:1.75}.project-window .eyebrow{color:var(--hck-qunqing)}.video-window{padding:22px}.video-embed{aspect-ratio:16/9;background:var(--dark);border-radius:var(--r-xl);margin-bottom:16px;overflow:hidden}.video-embed iframe{border:0;width:100%;height:100%;display:block}.video-window video{aspect-ratio:16/9;background:var(--dark);border-radius:var(--r-lg);width:100%;margin-bottom:16px}.desktop-window[data-window-id=terminal] .window-scroll{overflow:hidden}.terminal-panel{overscroll-behavior:contain;scrollbar-width:thin;background:var(--dark);height:100%;color:var(--on-dark-body);font:13px/1.65 var(--font-mono);cursor:text;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:14px 16px;overflow:auto}.terminal-history,.terminal-completions{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.terminal-history .command{color:var(--on-dark)}.terminal-history .system{color:var(--on-dark-muted)}.terminal-command-line{align-items:flex-start;gap:9px;display:flex}.terminal-command-line label{white-space:nowrap;flex:none}.terminal-panel .terminal-prompt{color:var(--hck-seal-on-dark)}.terminal-command-line textarea{resize:none;min-width:0;height:22px;min-height:22px;color:var(--on-dark);caret-color:var(--on-dark);font:inherit;line-height:inherit;background:0 0;border:0;border-radius:0;outline:0;flex:1;margin:0;padding:0;display:block;overflow:hidden}.terminal-panel:not(:focus-within) .terminal-command-line{opacity:.55}.terminal-panel::selection{background:var(--hck-qunqing);color:var(--on-dark)}.terminal-panel ::selection{background:var(--hck-qunqing);color:var(--on-dark)}.terminal-search-result{white-space:pre-wrap;color:var(--on-dark)}.terminal-search-result span{color:var(--on-dark-muted);font-size:11px;display:block}.terminal-search-result.no-match{color:var(--hck-seal-on-dark)}.site-footer{background:var(--canvas);color:var(--steel);border-top:1px solid var(--hairline);padding:0 0 112px}.site-footer .footer-inner{padding:28px var(--gutter);color:var(--steel);border-top:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:0;font-size:12px;display:grid}.footer-brand .hck-mark{width:36px;height:36px}.footer-brand small{margin-top:6px;font-size:12px}.footer-icp{text-align:center;white-space:nowrap}.footer-contact{justify-self:end}.footer-inner a:hover{text-underline-offset:4px;text-decoration:underline}.content-main{min-height:calc(100vh - 186px);padding-top:62px;padding-bottom:145px}.content-header{max-width:850px;margin-bottom:48px}.content-header .eyebrow{color:var(--hck-qunqing-deep)}.content-header h1{margin:12px 0 20px;font-size:clamp(40px,5vw,72px);font-weight:600;line-height:1.12}.content-header p{color:var(--slate);font-size:18px;line-height:1.75}.breadcrumbs{color:var(--steel);flex-wrap:wrap;gap:9px;margin-bottom:24px;font-size:13px;display:flex}.breadcrumbs a:hover{color:var(--ink);text-decoration:underline}.filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:28px 0 20px;display:flex}.filter-bar input{border:1px solid var(--hairline-strong);border-radius:var(--r-md);background:var(--canvas);flex:1;min-width:210px;max-width:360px;padding:11px 14px}.filter-bar select{border:1px solid var(--hairline-strong);border-radius:var(--r-md);background:var(--canvas);padding:11px 14px}.result-count{color:var(--steel);font-size:13px}.article-list{gap:14px;display:grid}.evidence-links{margin:22px 0}.article-layout{grid-template-columns:minmax(0,720px) minmax(190px,260px);align-items:start;gap:clamp(35px,5vw,90px);display:grid}.article-layout .prose{overflow-wrap:anywhere;max-width:40em;font-size:17px;line-height:1.85}.article-layout .prose>*+*{margin-top:1.2em}.article-layout .prose h2{margin-top:2.4em;scroll-margin-top:25px;font-size:28px}.article-layout .prose h3{margin-top:2em;scroll-margin-top:25px;font-size:22px}.article-layout .prose img{border:1px solid var(--hairline);border-radius:var(--r-xl);object-fit:contain;max-height:640px;margin:10px auto}.article-layout .prose pre:not(.tree){background:var(--dark);max-width:100%;color:var(--on-dark);border-radius:var(--r-xl);font:13px/1.65 var(--font-mono);padding:20px;overflow:auto}.article-layout .prose code{font-family:var(--font-mono)}.article-layout .prose blockquote{background:var(--surface);border-radius:var(--r-xl);color:var(--slate);padding:18px 22px}.article-layout .prose a{color:var(--hck-qunqing-deep);text-underline-offset:3px;text-decoration:underline}.article-layout .prose details{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--surface-raised);margin-top:42px;overflow:hidden}.article-layout .prose details>summary{color:var(--ink);cursor:pointer;padding:17px 22px;font-size:15px;font-weight:600;list-style:none}.article-layout .prose details>summary:after{content:"＋";float:right;color:var(--steel)}.article-layout .prose details[open]>summary:after{content:"－"}.article-layout .prose details>summary::-webkit-details-marker{display:none}.article-toc{border-left:1px solid var(--hairline);max-height:calc(100vh - 56px);padding-left:20px;position:sticky;top:28px;overflow:auto}.article-toc h2{font:600 13px/1.4 var(--font-sans);margin-bottom:12px}.article-toc a{color:var(--steel);padding:6px 0;font-size:12px;line-height:1.5;display:block}.article-toc a:hover{color:var(--ink)}.article-meta{color:var(--steel);flex-wrap:wrap;gap:15px;font-size:13px;display:flex}.video-page-player{aspect-ratio:16/9;background:var(--dark);border-radius:var(--r-xl);max-width:950px;margin:25px 0;overflow:hidden}.video-actions{color:var(--steel);flex-wrap:wrap;align-items:center;gap:16px;margin-top:-18px;font-size:13px;display:flex}.video-page-player iframe,.video-page-player video{border:0;width:100%;height:100%;display:block}.video-page-player video{object-fit:contain}.external-resource{border-radius:var(--r-xl);border:1px solid var(--hairline);background:var(--surface);margin:34px 0;padding:26px}.external-resource p{color:var(--slate);margin:9px 0 18px;font-size:14px}@media (width<=1150px){.contact-widget{flex-direction:row;grid-column:1/-1;align-items:center;gap:24px;min-height:155px}.contact-widget p{margin:0 auto 0 0}.desktop-surface{min-height:820px}}@media (width<=900px){.site-header{flex-wrap:wrap;height:auto;min-height:70px;padding:16px 20px}.desktop-surface{border-radius:var(--r-2xl);min-height:0;padding:18px 14px 95px}.identity-widget{min-height:470px}.featured-widget{gap:12px}.preview-stack{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-preview{min-height:165px}.contact-widget{flex-direction:column;align-items:flex-start;min-height:200px;display:flex}.contact-widget p{margin:12px 0 0}.desktop-window{border-radius:0;max-width:none;max-height:none;position:fixed;width:100vw!important;height:100dvh!important;top:0!important;left:0!important}.desktop-window.is-maximized{width:100vw!important;height:100dvh!important;top:0!important;left:0!important}.window-resize{display:none}.article-toc{border-left:0;border-bottom:1px solid var(--hairline);grid-row:1;max-height:180px;padding:0 0 18px;position:static;overflow:auto}.article-toc a{margin:0;display:block}}@media (width<=600px){.site-header{padding:13px 16px}.site-brand{font-size:14px}.identity-widget{min-height:420px;padding:28px 23px}.identity-widget h1{font-size:clamp(41px,10vw,56px)}.identity-body{font-size:15px}.identity-actions{gap:8px}.featured-widget{padding:21px}.preview-stack{grid-template-columns:1fr}.project-preview{min-height:103px}.contact-widget p{font-size:30px}.content-main{padding:40px 0 70px}.content-header h1{font-size:40px}.content-header p,.article-layout .prose{font-size:16px}.article-layout .prose h2{font-size:25px}.footer-inner{flex-wrap:wrap;padding-top:22px;padding-bottom:22px}.footer-inner>span{flex-basis:calc(100% - 60px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.project-preview:hover{transform:none}}.home-shell .desktop-surface{background-color:var(--brand-surface);border:0;border-radius:0;max-width:none;height:max(700px,100dvh);min-height:700px;margin:0;padding:0;overflow:hidden}.mobile-home{display:none}.window-resize{z-index:3;background:0 0}.window-resize:after{display:none}.window-resize-n,.window-resize-s{width:auto;height:8px;left:12px;right:12px}.window-resize-n{cursor:ns-resize;top:0;bottom:auto}.window-resize-s{cursor:ns-resize;top:auto;bottom:0}.window-resize-e,.window-resize-w{width:8px;height:auto;top:12px;bottom:12px}.window-resize-e{cursor:ew-resize;left:auto;right:0}.window-resize-w{cursor:ew-resize;left:0;right:auto}.window-resize-ne,.window-resize-nw,.window-resize-se,.window-resize-sw{width:17px;height:17px}.window-resize-ne{cursor:nesw-resize;top:0;bottom:auto;right:0}.window-resize-nw{cursor:nwse-resize;inset:0 auto auto 0}.window-resize-se{cursor:nwse-resize;bottom:0;right:0}.window-resize-sw{cursor:nesw-resize;bottom:0;left:0;right:auto}.window-resize:focus-visible{outline:2px solid var(--hck-qunqing);outline-offset:-2px;background:var(--hck-qunqing-tint)}:where(a,button,input,select,summary):focus-visible{outline:2px solid var(--hck-qunqing);outline-offset:3px}.btn:active{transform:translateY(1px)}.works-page{padding-top:40px}.works-header{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:48px;max-width:none;display:grid}.works-header h1{margin:12px 0 20px;font-size:clamp(48px,4.6vw,64px);line-height:1.1}.works-header p{max-width:38em;font-size:16px;line-height:1.8}.works-jump{margin-top:20px}.works-counts{grid-template-columns:repeat(3,1fr)}.works-counts .stat{text-align:center;padding:24px 12px}.works-counts .stat span{white-space:nowrap;font-size:12px}.works-feature{grid-template-columns:2fr 1fr;gap:16px;margin:32px 0 80px;display:grid}.works-feature-card{flex-direction:column;gap:12px;min-width:0;display:flex}.works-feature-card.is-main{grid-row:span 2;justify-content:space-between;gap:28px}.featured-main-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}.featured-kind{font-size:12px;font-weight:500}.works-feature-card h2{font-family:var(--font-display);margin:0;font-size:30px;font-weight:600;line-height:1.2}.works-feature-card.is-main h2{margin:16px 0;font-size:clamp(34px,3vw,44px)}.works-feature-card p{color:inherit;font-size:14px;line-height:1.75}.works-feature-card.is-main p{font-size:16px}.works-feature-card .chips{margin-top:20px}.works-feature-card .chip-code{color:var(--ink)}.works-feature-card small{font-size:12px;line-height:1.75}.featured-open{margin-top:auto;padding-top:4px;font-size:14px;font-weight:600}.featured-actions{flex-wrap:wrap;gap:12px;display:flex}.feature-photo{min-width:0;display:block}.feature-photo img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--hairline);border-radius:var(--r-xl);width:100%;height:auto;display:block}.feature-photo span{margin-top:12px;font-size:12px;line-height:1.5;display:block}.featured-logo-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.featured-logo-heading h2{margin-top:12px}.featured-logo-heading img{object-fit:contain;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-xl);flex:none;width:76px;height:76px}.works-feature-card:focus-within{outline:2px solid var(--ink);outline-offset:4px}.works-history .sec-head{margin-bottom:24px}.works-page .work-years{z-index:4;background:var(--canvas);border-bottom:1px solid var(--hairline);margin:0;padding:16px 0;position:sticky;top:0}.works-page .work-timeline{border-top:0;margin-top:0}.works-page .work-year{padding-top:32px;scroll-margin-top:88px}.works-page .work-timeline-item{grid-template-columns:128px minmax(0,1fr) 208px;align-items:start;gap:32px;padding:28px 0}.work-item-copy{min-width:0}.work-item-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.work-item-meta .badge{height:28px}.work-item-meta .cat-tag{background:var(--c-tint);color:var(--c-deep);padding:0 12px;text-decoration:none}.work-item-meta a.cat-tag:hover{outline:1px solid var(--c)}.work-item-copy h3{margin:12px 0 8px;font-size:22px;font-weight:600;line-height:1.45}.work-item-copy h3 a:hover{text-underline-offset:4px;text-decoration:underline}.work-item-copy p{max-width:40em;line-height:1.75}.work-item-open{margin-top:16px;font-size:13px;display:inline-flex}.work-item-source{color:var(--subtle);margin-top:12px;font-size:12px}.work-thumbnail{border:1px solid var(--hairline);border-radius:var(--r-xl);aspect-ratio:16/9;align-self:center}.work-thumbnail img{position:absolute;inset:0}.work-thumbnail img.is-logo{object-fit:contain;background:var(--canvas);padding:8px}.work-thumbnail>span{color:var(--c-deep);font-size:20px;font-weight:600}.work-thumbnail .hck-mark{width:32px;height:32px}.work-thumbnail:hover{border-color:var(--ink)}.catalog-page{padding-top:40px}.catalog-header{margin-bottom:32px}.catalog-counts{grid-template-columns:repeat(2,1fr)}.content-sections{margin:0 0 28px}.content-sections a[aria-current=page]{color:var(--ink);border-color:var(--ink);font-weight:600}.article-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.article-categories .category-entry{flex-direction:column;justify-content:space-between;gap:40px;min-height:340px;display:flex}.article-categories .cc-title{font-family:var(--font-display);font-size:clamp(36px,3.2vw,48px)}.article-categories a:focus-visible{outline-color:var(--ink);outline-offset:4px}.article-categories .cc-foot{z-index:1;text-wrap:pretty;max-width:calc(100% - 152px);position:relative}.article-categories .category-main .cc-foot{max-width:calc(100% - 180px)}.category-symbol{opacity:.5;pointer-events:none;--illo-accent:currentColor;--illo-screen:transparent;width:144px;height:auto;position:absolute;bottom:24px;right:24px}.category-symbol.is-light{--illo-paper:var(--c);--illo-fill:transparent}.category-entry.c-full .category-symbol{color:var(--c-deep);--illo-paper:var(--c);--illo-fill:transparent}.article-category-page .filter-bar{margin-bottom:8px}.article-category-page [hidden]{display:none}.category-empty{color:var(--steel);padding:48px 0}.video-cover{aspect-ratio:16/9;display:block}.video-cover img{position:absolute;inset:0}.video-duration{border-radius:var(--r-pill);background:var(--ink);color:var(--canvas);font-variant-numeric:tabular-nums;padding:4px 8px;font-size:12px;position:absolute;bottom:12px;right:12px}.video-card h2{font-size:20px;font-weight:600;line-height:1.4}.video-card h2 a:hover{text-underline-offset:4px;text-decoration:underline}.video-card .project-links{padding-top:12px}.video-card .post-meta{flex-wrap:wrap}.video-card:focus-within{outline:2px solid var(--ink);outline-offset:4px}.work-timeline{border-top:1px solid var(--hairline);margin:28px 0 0;padding:0;list-style:none}.work-years{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.work-years a{border:1px solid var(--hairline-strong);border-radius:var(--r-pill);justify-content:center;align-items:center;min-height:40px;padding:8px 17px;font-size:13px;font-weight:600;display:inline-flex}.work-years a:hover,.work-years a:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--canvas)}.work-year{padding:40px 0 8px;scroll-margin-top:40px}.work-year h2{font-family:var(--font-display);font-size:clamp(30px,3.4vw,40px);font-weight:600}.work-timeline-item{border-bottom:1px solid var(--hairline);grid-template-columns:170px minmax(0,1fr);gap:clamp(20px,4vw,60px);padding:25px 0;display:grid}.work-timeline-item>time{color:var(--steel);font-variant-numeric:tabular-nums;padding-top:4px;font-size:13px}.timeline-type{color:var(--cat-color);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.work-timeline-item:not(.tl) h3{font-family:var(--font-sans);margin:6px 0;font-size:23px;font-weight:600}.work-timeline-item:not(.tl) h3 a:hover{text-underline-offset:4px;text-decoration:underline}.work-timeline-item p{color:var(--slate);font-size:14px;line-height:1.7}.timeline-qr{color:var(--slate);align-items:center;gap:14px;margin-top:15px;font-size:13px;display:flex}.timeline-qr img{border:1px solid var(--hairline);border-radius:var(--r-md)}.article-layout .prose .article-image{border-radius:var(--r-xl);min-width:130px;max-width:100%;margin:16px 0;display:block;overflow:hidden}.article-layout .prose .image-pending{background:var(--surface);border:1px solid var(--hairline);color:var(--slate);padding:24px}.article-layout .prose .image-pending strong,.article-layout .prose .image-pending small{font-size:13px;line-height:1.6;display:block}.article-layout .prose .image-pending strong{color:var(--ink)}.article-layout .prose .article-image img{object-fit:contain;width:100%;height:auto}.article-layout .prose .article-image small{color:var(--steel);padding:8px;font-size:12px;display:block}.article-layout .prose .source-image-link{color:var(--steel);margin:0 0 12px;font-size:12px;display:inline-block}.article-layout .prose p:has(>.article-image){margin:16px 0}.article-layout .prose td .article-image{margin:0}.article-layout .prose ol{padding-left:1.6em}.article-layout .prose table{border-radius:var(--r-md)}.article-layout .prose blockquote{border:0}.article-head .cat-tag{margin-bottom:10px}.article-head .author{color:var(--ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.article-head .author .hck-mark{width:20px;height:20px}.about-intro{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:80px;max-width:none;display:grid}.about-intro .eyebrow{letter-spacing:0;font-weight:500}.about-intro h1{letter-spacing:-.02em;font-size:clamp(44px,4.2vw,64px);line-height:1.18}.about-intro p{max-width:40em;font-size:var(--fs-subtitle);line-height:1.85}.about-intro-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.about-portrait{border:1px solid var(--hairline);justify-self:end;width:300px;height:300px;margin:0;overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%;display:block}.about-section{border-top:1px solid var(--hairline);padding:64px 0}.about-section-head{gap:12px;margin-bottom:32px;display:grid}.about-section-head h2{font-size:var(--fs-heading-lg);line-height:1.2;font-family:var(--font-display);margin:0;font-weight:600}.about-section-head p{color:var(--slate);font-size:var(--fs-body);margin:0;line-height:1.75}.about-toolbox{grid-template-columns:280px minmax(0,1fr);gap:16px 24px;display:grid}.about-tool-card{flex-direction:column;align-items:flex-start;min-height:232px;padding:32px;display:flex}.toolbox-kicker{font-size:var(--fs-caption);opacity:.86;font-weight:500;line-height:1.5}.about-tool-card .cc-title{font-size:var(--fs-heading-lg);margin:16px 0 0;line-height:1.2}.about-tool-card .cc-tagline{font-size:var(--fs-body);opacity:1;margin-top:16px;line-height:1.75}.toolbox-symbol{opacity:.48;--illo-accent:currentColor;width:64px;height:64px;position:absolute;bottom:24px;right:24px}.about-capabilities{background:var(--canvas);grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;margin:0}.about-capabilities>div{border-bottom:0;border-right:1px solid var(--hairline-soft);padding:24px}.about-capabilities>div:last-child{border-right:0}.about-capabilities dt{font:600 var(--fs-subtitle)/1.5 var(--font-sans);color:var(--ink)}.about-capabilities dd{font:400 var(--fs-body)/1.75 var(--font-sans);color:var(--slate);margin-top:16px}.skill-line{display:block}.skill-line+.skill-line{margin-top:8px}.about-tool-environment{grid-column:1/-1;grid-template-columns:232px minmax(0,1fr);align-items:baseline;gap:24px;padding:24px;display:grid}.about-tool-environment h3{font:600 var(--fs-subtitle)/1.5 var(--font-sans)}.about-tool-environment p{font-size:var(--fs-body);color:var(--slate);flex-wrap:wrap;gap:8px 24px;line-height:1.75;display:flex}.about-tool-environment .skill-line{margin:0}.about-experience .tl{grid-template-columns:256px minmax(0,1fr);gap:48px;padding:32px 0}.experience-period{flex-direction:column;gap:12px;display:flex}.about-experience time{font:600 24px/1.3 var(--font-sans);color:var(--ink);padding:0}.experience-period span{font-size:var(--fs-caption);color:var(--steel)}.about-experience .tl:first-child time{color:var(--hck-qunqing-deep)}.about-experience h3{font:600 var(--fs-heading-sm)/1.3 var(--font-sans)}.about-experience p{max-width:40em;font-size:var(--fs-body);color:var(--slate);margin-top:12px;line-height:1.85}.about-contact-grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;display:grid}.contact-platform-caption{font-size:var(--fs-body);color:var(--slate);line-height:1.75}.contact-icons{flex-wrap:wrap;align-items:center;gap:16px;max-width:320px;margin-top:24px;display:flex}.contact-icons>a,.contact-icons>button{border-radius:var(--r-xl);display:block}.contact-icons>button{cursor:pointer;background:0 0;border:0;padding:0}.contact-icons .app-icon{width:48px;height:48px;box-shadow:none;pointer-events:none}.contact-icons .app-icon svg{width:36px;height:36px}.contact-icons .app-icon-github svg{width:32px;height:32px}.contact-icons .app-icon img{width:36px;height:36px}.contact-icons .app-icon-platform img{width:32px;height:32px}.contact-icons .app-icon-wechat img{width:40px;height:40px}.contact-icons>a:hover,.contact-icons>a:focus-visible,.contact-icons>button:hover,.contact-icons>button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.contact-dialog{width:480px;max-width:calc(100vw - 48px);color:var(--ink);background:var(--canvas);text-align:left;margin:auto;padding:28px}.contact-dialog::backdrop{background:color-mix(in srgb,var(--ink) 35%,transparent)}.contact-dialog-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.contact-dialog-heading h2{font:600 26px/1.3 var(--font-display);margin:0}.contact-dialog p{color:var(--slate);margin:0 0 20px;font-size:14px;line-height:1.75}.contact-dialog .contact-email-address{font:600 22px/1.5 var(--font-sans);color:var(--ink);-webkit-user-select:all;user-select:all}.contact-dialog-actions{gap:12px;display:flex}.contact-dialog small{color:var(--subtle);margin-top:16px;font-size:12px;display:block}.wechat-contact.is-profile{gap:24px;max-width:none;margin:0;padding:32px}.wechat-profile-heading{justify-content:space-between;align-items:flex-start;gap:24px;width:100%;display:flex}.is-profile .wechat-label{font-size:var(--fs-caption);font-weight:500;line-height:1.5}.is-profile .cc-title{font-size:var(--fs-heading-md);margin-top:16px;line-height:1.3}.wechat-profile-heading>img{object-fit:contain;flex:none;display:block}.is-profile .wechat-number-row{justify-content:space-between;gap:24px;width:100%}.is-profile [data-wechat-number]{font:600 26px/1.3 var(--font-sans);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.wechat-contact.is-profile .btn{height:44px;min-height:44px;padding:0 20px;font-size:14px}.wechat-contact.is-profile .btn svg{width:18px;height:18px}.wechat-contact.is-profile small{font-size:var(--fs-caption);min-height:20px;line-height:1.5}.about-contact{margin-bottom:0}@media (width>=901px) and (width<=1100px){.works-header{grid-template-columns:1fr 240px;gap:32px}.works-feature{grid-template-columns:1.6fr 1fr}.featured-main-grid{grid-template-columns:1fr}.feature-photo{max-width:320px}.works-page .work-timeline-item{grid-template-columns:108px minmax(0,1fr) 180px;gap:24px}}@media (width<=900px),(height<=500px) and (pointer:coarse){.home-shell .desktop-surface{display:none}.mobile-home{padding:30px 20px 120px;display:block}.mobile-home-intro{padding:0 0 56px}.mobile-home-intro>.site-brand{margin-bottom:55px}.mobile-home h1{font-family:var(--font-display);margin:10px 0 25px;font-size:clamp(42px,10vw,62px);line-height:1.1}.mobile-home p{color:var(--slate);line-height:1.8}.mobile-home-section{border-top:1px solid var(--hairline);padding:48px 0}.mobile-home-section h2{font-family:var(--font-display);margin:10px 0 20px;font-size:30px}.mobile-project{border-bottom:1px solid var(--hairline);grid-template-columns:12px 1fr;gap:4px 10px;padding:18px 0;display:grid}.mobile-project strong{font-size:18px}.mobile-project small{color:var(--slate);grid-column:2;font-size:13px;line-height:1.6}.mobile-home-section .link-more{margin-top:24px;display:inline-block}.home-shell .site-footer{display:none}.works-feature{grid-template-columns:1fr 1fr}.works-header{grid-template-columns:1fr}.works-counts{max-width:320px}.works-feature-card.is-main{grid-area:auto/1/auto/-1}.featured-main-grid{grid-template-columns:1fr}.work-timeline-item,.works-page .work-timeline-item{grid-template-columns:120px 1fr}.work-thumbnail{grid-column:2;width:208px;max-width:100%}.about-toolbox,.about-contact-grid{grid-template-columns:1fr}}@media (width<=600px){.works-feature{grid-template-columns:1fr}.works-feature-card:first-child{grid-column:auto}.work-timeline-item,.works-page .work-timeline-item{grid-template-columns:1fr;gap:5px}.work-thumbnail{grid-column:auto}.timeline-qr{align-items:flex-start}.timeline-qr img{width:70px;height:70px}.about-section-head{grid-template-columns:1fr;gap:8px}.about-robot-tools .cc-title{font-size:32px}.article-layout .prose pre,.article-layout .prose table{font-size:12px}}.header-context{color:var(--steel);font-size:13px}.works-page,.catalog-page,.about-page{padding-bottom:48px}.home-icp{z-index:80;white-space:nowrap;color:var(--canvas);font-size:10px;line-height:14px;position:fixed;bottom:1px;left:50%;transform:translate(-50%)}.home-icp:focus-visible{outline:2px solid var(--canvas);outline-offset:1px}@media (width<=600px){.header-context{display:none}.content-main{padding-bottom:130px}}.article-layout .prose{width:100%;min-width:0}.article-layout .prose :is(pre,table){max-width:100%;overflow-x:auto}@media (width<=900px){.article-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.content-header h1{font-size:clamp(30px,8vw,36px)}.article-layout .prose{min-width:0}.content-main.wrap{padding-inline:20px}}.article-table-scroll{border-radius:var(--r-md);max-width:100%;overflow-x:auto}.article-layout .prose .table{width:100%;max-width:100%}.article-layout .prose>table.table{white-space:normal;width:100%;max-width:100%;display:table}.article-layout .prose .table :is(th,td){overflow-wrap:break-word}.article-layout .prose .table code{-webkit-box-decoration-break:clone;box-decoration-break:clone}.article-layout .prose .tree{font-size:13px;line-height:1.85}.article-layout .prose .term{margin-top:1.2em}.article-layout .prose .term-body{border-radius:0;margin:0}.article-layout .prose .callout{grid-template-columns:minmax(0,1fr)}.article-layout .prose .callout>div{min-width:0}.article-layout .prose .callout p{margin:0}.article-layout .prose .callout strong{color:var(--ink)}.article-related{border-top:1px solid var(--hairline);margin-top:64px;padding-top:32px}.article-related .sec-head p{font-size:14px}.article-related .posts{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.article-related .post h3{font-family:var(--font-sans)}.article-cta{margin-top:48px}.article-cta h2{font-family:var(--font-display)}.article-cta .ph{display:block}.article-cta .hero-actions{margin-top:24px}:root{--site-header-h:0px}.site-header-nav{display:none}@media (width>=901px){:root{--site-header-h:64px}html{scroll-padding-top:var(--site-header-h)}.site-header{z-index:50;height:var(--site-header-h);background:var(--canvas);max-width:none;padding-inline:max(clamp(24px,4vw,64px),50% - 800px + clamp(24px,4vw,64px));position:sticky;top:0}.site-header-nav{display:flex}.site-header .header-context{display:none}.works-page .work-years{top:var(--site-header-h)}.content-main{min-height:calc(100vh - var(--site-header-h) - 220px)}}.desktop-dock{transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.desktop-dock.is-tucked{opacity:0;pointer-events:none;transform:translate(-50%,calc(100% + 24px))}.content-header.article-head{padding-top:24px}.content-header.article-head h1{max-width:18em;font-size:var(--fs-display-lg);margin:16px 0 0;line-height:1.15}.content-header.article-head>p{margin-top:16px}.article-toc a.is-active{color:var(--ink);font-weight:var(--fw-medium)}.reader-directory{min-width:0}.reader-directory>summary{display:none}.reader-directory>nav{flex-direction:column;display:flex}.footer-legal{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.footer-legal small{color:var(--subtle);font-size:12px}.c-brand{--c-deep:var(--hck-zhusha-deep)}.article-layout .prose :is(.term,.codeblock){border-radius:var(--r-xl);margin-top:1.2em;overflow:hidden}.article-layout .prose :is(.term,.codeblock)>pre{border-radius:0;margin:0}.article-layout .prose .term-bar span{margin-right:0}.article-layout .prose .codeblock-head>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reader-code{position:relative}.article-layout .prose .reader-code>pre{padding-right:88px}.reader-copy{border-radius:var(--r-pill);border:1px solid var(--dark-line);background:var(--dark-raised);height:26px;color:var(--on-dark-muted);font:var(--fw-medium) 12px/1 var(--font-sans);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);flex:none;padding:0 12px}.reader-copy:hover{color:var(--on-dark);border-color:var(--on-dark-muted)}.reader-code>.reader-copy{position:absolute;top:12px;right:12px}.prose :is(.term,.codeblock,.reader-code) .reader-copy:focus-visible{outline:2px solid var(--on-dark);outline-offset:2px}.article-layout .prose ol.steps{padding-left:0;list-style:none}.article-layout .prose .steps>.step{min-height:44px;margin:0;padding:9px 0 28px 64px;display:block}.article-layout .prose .steps>.step:before{position:absolute;top:0;left:0}.article-layout .prose .steps>.step:last-child{padding-bottom:0}.article-layout .prose .callout>div>p:first-child>strong:first-of-type{color:var(--info)}.article-layout .prose .callout.is-warning>div>p:first-child>strong:first-of-type{color:var(--warning)}.tutorial-collection{margin-top:64px}.tutorial-category-entry{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:64px;min-height:288px;display:grid}.tutorial-category-entry .cc-title{font-family:var(--font-display)}.tutorial-category-entry .cc-tagline{max-width:28em}.tutorial-category-entry .cc-foot{flex-direction:column;gap:12px;max-width:28em;display:flex}.tutorial-category-entry .cc-foot small{font-size:13px}.tutorial-category-entry .cc-foot b{font-size:22px;line-height:1.5;font-weight:var(--fw-semibold)}.tutorial-category-entry .cc-foot .ph{display:block}.tutorial-entry-action{font-size:14px;font-weight:var(--fw-semibold);border-bottom:1px solid;margin-top:28px;padding-bottom:4px;display:inline-block}.tutorial-category-entry:focus-visible{outline-color:var(--ink);outline-offset:4px}.works-with-tutorials .works-header{grid-template-columns:minmax(0,1fr) 400px}.works-with-tutorials .works-counts{grid-template-columns:repeat(4,1fr)}.catalog-with-tutorials .works-header{grid-template-columns:minmax(0,1fr) 340px}.catalog-with-tutorials .catalog-counts{grid-template-columns:repeat(3,1fr)}.tutorial-stat{border-left:1px solid var(--hairline)}.tutorial-stat:hover{background:var(--surface)}.timeline-date-kind{color:var(--subtle);margin-top:8px;font-size:12px;display:block}.work-thumbnail .tutorial-timeline-cover{background:var(--c);width:100%;height:100%;color:var(--c-ink,var(--ink));flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.tutorial-timeline-cover b{font-size:16px;line-height:1.3}.tutorial-timeline-cover small{font-size:12px;font-weight:var(--fw-medium)}.tutorial-catalog .work-timeline{margin-top:24px}.tutorial-reader{max-width:1440px}.tutorial-reader .docs{grid-template-columns:220px minmax(0,1fr) 220px;gap:32px}.tutorial-reader .docs-toc{justify-self:end;width:180px}.tutorial-main{min-width:0}.tutorial-prose{overflow-wrap:anywhere;width:100%;max-width:40em;margin:auto}.tutorial-prose.prose ul>li{padding-left:1.3em;position:relative}.tutorial-prose.prose ul>li:before{content:"";border-radius:var(--r-pill);background:var(--steel);width:5px;height:5px;position:absolute;top:.8em;left:.3em}.tutorial-prose .tutorial-chapter-head{margin:0 0 32px}.tutorial-chapter-head h1{font-size:var(--fs-heading-lg);line-height:1.3;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-heading)}.tutorial-chapter-head .article-meta{margin-top:20px;font-size:12px}.tutorial-prose :is(h1,h2,h3,h4){scroll-margin-top:32px}.tutorial-prose h4{font-size:18px;line-height:1.5;font-weight:var(--fw-semibold);margin-top:32px}.tutorial-prose img{max-width:100%;height:auto;display:block}.tutorial-prose figure{margin:32px 0}.tutorial-prose figure img+img{margin-top:16px}.tutorial-diagram a{cursor:zoom-in;display:block}.tutorial-table{overscroll-behavior-x:contain;max-width:100%;margin:24px 0;overflow-x:auto}.tutorial-table .table{width:max-content;min-width:100%;max-width:none}.tutorial-table td,.tutorial-table th{overflow-wrap:anywhere;min-width:100px;max-width:320px}.tutorial-table td p{margin:0}.tutorial-prose .recovered-product-gallery .table{table-layout:fixed;width:100%}.tutorial-prose .recovered-product-gallery td{vertical-align:middle;width:50%;min-width:0;max-width:none}.tutorial-prose .recovered-product-gallery figure{margin:0}.tutorial-prose .recovered-product-gallery img{width:100%}.tutorial-code{min-width:0;margin:24px 0;position:relative}.tutorial-code>pre,.tutorial-code .term-body pre{background:var(--dark);max-width:100%;color:var(--on-dark-body);border-radius:var(--r-xl);font:400 14px/1.75 var(--font-mono);white-space:pre;overflow-wrap:normal;padding:24px;overflow-x:auto}.tutorial-code .term-body{padding:0}.tutorial-code .term-body pre,.tutorial-code.codeblock>pre{border-radius:0;margin:0}.tutorial-code .codeblock-head{overflow-wrap:anywhere;height:auto;min-height:40px;padding-block:8px}.tutorial-manual-copy{border:1px solid var(--dark-line);border-radius:var(--r-xl);background:var(--dark);width:100%;color:var(--on-dark-body);font:400 14px/1.75 var(--font-mono);resize:vertical;white-space:pre;padding:24px;display:block;overflow:auto}.tutorial-code .term-bar span{text-align:left;color:var(--on-dark-muted);margin-right:0}.tutorial-code-tools{justify-content:flex-end;margin-bottom:8px;display:flex}.tutorial-code .tree{background:var(--surface);color:var(--charcoal);border:1px solid var(--hairline)}.tutorial-prose .callout{grid-template-columns:auto minmax(0,1fr);margin:24px 0}.tutorial-prose .callout>.admonition-title{font-weight:var(--fw-semibold);color:var(--info);white-space:nowrap;margin:0}.tutorial-prose .is-warning>.admonition-title{color:var(--warning)}.tutorial-prose .is-danger>.admonition-title{color:var(--danger)}.callout-content{min-width:0;max-width:none;font-size:inherit;line-height:inherit}.callout-content>*+*{margin-top:12px}.callout-content li+li{margin-top:6px}.callout-content .tutorial-code{margin:16px 0}.tutorial-sidebar,.tutorial-toc{overscroll-behavior-y:contain;scrollbar-width:thin;max-height:calc(100vh - 124px);padding-bottom:12px;overflow-y:auto}.tutorial-sidebar .group{color:var(--subtle)}.tutorial-sidebar .tutorial-book-name{font-weight:var(--fw-semibold);padding:0 12px 12px;line-height:1.6}.tutorial-reader-flow .tutorial-sidebar,.tutorial-reader-flow .docs-toc.tutorial-reading-rail{overscroll-behavior-y:auto;max-height:none;position:static;overflow:visible}.tutorial-reader-flow .tutorial-reading-rail>.tutorial-toc{overscroll-behavior-y:auto;max-height:none;padding-bottom:12px;overflow:visible}@media (width>=901px){.tutorial-reader-flow .tutorial-sidebar,.tutorial-reader-flow .docs-toc.tutorial-reading-rail{top:var(--tutorial-sticky-top,calc(var(--site-header-h) + 28px));position:sticky}.tutorial-reader-flow .tutorial-sidebar-tree a:not(.tutorial-book-name){padding-block:4px;line-height:1.6}.tutorial-reader-flow .tutorial-sidebar-tree .caption{margin-top:12px}}.tutorial-sidebar-tree ul{margin:0;padding:0;list-style:none}.tutorial-sidebar-tree ul ul{padding-left:12px}.tutorial-sidebar-tree a{display:block}.tutorial-sidebar-tree .caption{font-size:12px;font-weight:var(--fw-semibold);color:var(--subtle);margin:18px 0 6px 12px}.tutorial-toc a{line-height:1.6}.tutorial-toc{padding-bottom:116px}.tutorial-reader~.desktop-dock{left:auto;right:max(16px,50vw - 704px);transform:none}.tutorial-toc .toc-level-3{padding-left:12px}.tutorial-toc .toc-level-4{padding-left:24px}.tutorial-reader-tools{justify-content:space-between;align-items:flex-start;gap:24px;margin:24px 0 40px;display:flex}.tutorial-search{flex:1;max-width:640px;position:relative}.tutorial-search label{font-size:13px;font-weight:var(--fw-medium);margin-bottom:8px;display:block}.tutorial-search input{border:1px solid var(--hairline-strong);border-radius:var(--r-pill);background:var(--canvas);width:100%;color:var(--charcoal);font:inherit;padding:12px 16px;font-size:14px}.tutorial-search-status{color:var(--steel);margin-top:8px;font-size:12px}.tutorial-search-results{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--canvas);max-height:320px;margin-top:8px;padding:16px;overflow-y:auto}.tutorial-search-results li+li{margin-top:12px}.tutorial-search-results a{font-size:14px;line-height:1.6;display:block}.tutorial-progress{z-index:50;background:var(--surface);height:3px;position:fixed;top:0;left:0;right:0}.tutorial-progress span{width:var(--reading-progress,0%);background:var(--ink);height:100%;display:block}.tutorial-chapter-nav{border-top:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;width:100%;max-width:40em;margin:32px auto 0;padding-top:24px;font-size:17px;display:grid}.tutorial-chapter-nav .btn{white-space:normal;text-align:left;flex-direction:column;align-items:flex-start;gap:4px;max-width:100%;height:auto;min-height:42px;padding:12px 16px;line-height:1.5;display:flex}.tutorial-chapter-direction{font-size:12px;font-weight:var(--fw-medium)}.tutorial-chapter-title{text-wrap:balance;min-width:0}.tutorial-chapter-prev{grid-area:1/1;justify-self:start}.tutorial-chapter-directory{white-space:nowrap;grid-area:1/2}.tutorial-chapter-next{grid-area:1/3;justify-self:end}.tutorial-signoff{border-top:1px solid var(--hairline);justify-content:flex-end;margin-top:48px;padding-top:32px;display:flex}.tutorial-colophon{margin:0}.tutorial-ending{max-width:40em;margin:48px auto 0;font-size:17px}.tutorial-ending .btn{margin-top:24px}.tutorial-book-head{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:center;gap:48px;display:grid}.tutorial-book-cover{flex-direction:column;justify-content:space-between;min-height:400px;padding:40px;display:flex}.tutorial-cover-meta{font-size:13px;font-weight:var(--fw-medium);justify-content:space-between;display:flex}.tutorial-book-cover h1{font:var(--fw-semibold) var(--fs-display-lg)/1.18 var(--font-display);letter-spacing:var(--tracking-heading);margin:32px 0}.tutorial-book-cover h1 .ph{display:block}.tutorial-cover-author{font-size:14px}.tutorial-book-intro h2{font:var(--fw-semibold) var(--fs-heading-md)/1.35 var(--font-display);margin:24px 0 16px}.tutorial-book-intro p{color:var(--slate);max-width:30em;margin-bottom:28px;font-size:15px;line-height:1.85}.tutorial-book-intro .btn{width:max-content;max-width:100%;margin-top:12px;display:flex}.tutorial-book-directory{grid-template-columns:minmax(0,.38fr) minmax(0,1fr);gap:0 64px;margin-top:80px;display:grid}.tutorial-directory-head{align-self:start;position:sticky;top:96px}.tutorial-directory-head h2{font:var(--fw-semibold) var(--fs-heading-lg)/1.25 var(--font-display);margin:0 0 24px}.tutorial-book-directory-sphinx .tutorial-directory-head{position:static}.tutorial-book-chapters{min-width:0}.tutorial-book-directory-sphinx .caption{font:var(--fw-semibold) var(--fs-heading-sm)/1.4 var(--font-display);margin:0 0 20px}.tutorial-book-directory-sphinx .tutorial-chapter-group ul ul{margin-top:12px;padding-left:24px}.tutorial-chapter-group{border-top:1px solid var(--hairline);max-width:none;padding:28px 0 40px}.tutorial-chapter-group>p{font:var(--fw-semibold) var(--fs-heading-sm)/1.4 var(--font-display);margin:0 0 20px}.tutorial-chapter-group ul{gap:12px;margin:0;padding:0;display:grid}.tutorial-chapter-group ul>li{margin:0;padding:0}.tutorial-chapter-group ul>li:before{display:none}.tutorial-book-directory .tutorial-chapter-group a{border:1px solid var(--hairline);border-radius:var(--r-xl);padding:16px 20px;font-size:16px;line-height:1.6;text-decoration:none;display:block}.tutorial-chapter-group a:hover{background:var(--surface);border-color:var(--hairline-strong)}.tutorial-source-package{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;margin-top:40px;padding:32px;display:grid}.tutorial-source-package h2{font:var(--fw-semibold) var(--fs-heading-md)/1.3 var(--font-display);margin:20px 0 12px}.tutorial-source-package p{color:var(--slate);margin:0;font-size:15px;line-height:1.8}.tutorial-source-callout .callout-content>p:first-child{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.tutorial-purchase-button{white-space:normal;text-align:left;max-width:100%;height:auto;min-height:48px;padding:16px 24px;font-size:15px;line-height:1.6}.tutorial-window h2{font:var(--fw-semibold) 28px/1.4 var(--font-display);margin:16px 0}.tutorial-window .window-actions{flex-wrap:wrap;margin-bottom:32px}.tutorial-window-group{margin-top:24px}.tutorial-window-group h3{color:var(--steel);margin-bottom:12px;font-size:13px}.tutorial-window-group li+li{margin-top:8px}.tutorial-window-group a{border:1px solid var(--hairline);border-radius:var(--r-xl);justify-content:space-between;gap:16px;padding:12px 16px;font-size:15px;line-height:1.5;display:flex}.tutorial-window-group a:hover{background:var(--surface)}.tutorial-book-cover h1{color:inherit}@media (width>=901px){.tutorial-progress{top:var(--site-header-h)}}.official-account-follow{width:100%;min-width:0;max-width:40em;color:var(--ink);background:var(--canvas);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 24px;font-size:17px;display:grid}.official-account-heading{grid-area:1/1;align-self:end}.official-account-heading h3{font:600 20px/1.4 var(--font-sans);color:var(--ink);margin:6px 0 0}.official-account-qr{width:var(--official-account-qr-size);height:var(--official-account-qr-size);background:var(--canvas);cursor:zoom-in;max-width:100%;display:block}.official-account-follow .official-account-qr{grid-area:1/2/3;padding:0}.official-account-qr img{object-fit:contain;width:100%;height:100%;color:var(--steel);font:400 12px/1.5 var(--font-sans);display:block}.official-account-details{grid-area:2/1;align-self:start;min-width:0}.official-account-follow .official-account-details p{font:400 14px/1.7 var(--font-sans);color:var(--slate);margin:0}.official-account-follow.is-sidebar,.official-account-follow.is-panel{text-align:center;flex-direction:column;flex:none;gap:12px;display:flex}.official-account-follow.is-sidebar{padding:12px}.is-sidebar .official-account-heading,.is-sidebar .official-account-details,.is-panel .official-account-heading,.is-panel .official-account-details{align-self:stretch}.is-sidebar .official-account-heading h3{margin:0;font-size:15px}.official-account-follow.is-sidebar .official-account-details p{font-size:12px}.official-account-follow.is-panel{justify-content:center;gap:20px;max-width:none;padding:24px}.is-panel .official-account-heading h3{font:600 26px/1.35 var(--font-display);margin-top:8px}.article-reading-main{min-width:0}.article-reading-main>.official-account-follow{margin:32px 0 0}.tutorial-main>.official-account-follow{margin:32px auto 0}.tutorial-book>.official-account-follow{margin:40px auto 0}.about-contact-grid{align-items:stretch}.about-contact-grid #official-account-section>.official-account-follow{max-width:none;height:100%}.about-contact .wechat-contact{margin-bottom:0}.about-contact-platforms{grid-column:1/-1}.about-contact-platforms .contact-icons{max-width:none}.contact-window>.official-account-follow{gap:8px 20px;max-width:none;margin-bottom:20px;padding:20px}.contact-widget .widget-follow-button{flex:none;height:32px;min-height:32px;padding:0 12px;font-size:12px}@media (width>=901px){.article-toc.article-reading-rail,.docs-toc.tutorial-reading-rail{max-height:var(--reading-rail-height,calc(100dvh - 224px));flex-direction:column;gap:16px;padding-bottom:0;display:flex;position:sticky;top:92px;overflow:visible}.article-reading-rail>.reader-directory,.tutorial-reading-rail>.tutorial-toc{overscroll-behavior-y:contain;scrollbar-width:thin;flex-direction:column;flex:0 auto;min-height:0;max-height:none;padding-bottom:12px;display:flex;position:static;overflow-y:auto}}@media (width<=900px),(height<=500px) and (pointer:coarse){body:has(dialog[open]){overflow:hidden}.home-shell .desktop-surface{display:none}.site-header{padding-top:calc(16px + env(safe-area-inset-top));padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}.content-main.wrap{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}.mobile-home{max-width:720px;padding:calc(24px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));margin:auto;display:block}.mobile-home-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:48px;display:flex}.mobile-home-toolbar svg{width:18px;height:18px}.mobile-home h1{text-wrap:balance;font-size:clamp(36px,9vw,62px)}.mobile-home-section h2{text-wrap:balance;font-size:clamp(26px,5vw,32px);line-height:1.35}.mobile-project{grid-template-columns:12px minmax(0,1fr);align-items:baseline;gap:6px 12px}.mobile-project small{font-size:14px;line-height:1.75}.mobile-home-section p{font-size:16px}.home-icp{padding:0 20px calc(124px + env(safe-area-inset-bottom));text-align:center;white-space:normal;color:var(--steel);font-size:11px;line-height:1.75;display:block;position:static;transform:none}.home-icp:focus-visible{outline-color:var(--hck-qunqing)}.desktop-dock,.home-shell .desktop-dock{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right))}.desktop-dock .dock-item{font-size:11px}.site-footer{padding-bottom:calc(124px + env(safe-area-inset-bottom))}.site-footer .footer-inner{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right));grid-template-columns:minmax(0,1fr) auto;gap:20px}.footer-icp{white-space:normal;text-align:left;grid-area:2/1/auto/-1;justify-self:start;line-height:1.75}.footer-brand,.footer-brand>span{min-width:0}.works-header{gap:24px}.works-counts{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.catalog-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.works-counts .stat:nth-child(3){border-top:0;border-left:1px solid var(--hairline)}.article-categories .cc-foot,.article-categories .category-main .cc-foot{max-width:100%}.article-categories .category-entry{gap:32px;min-height:360px;padding-bottom:140px}.category-entry .trace{display:none}.category-symbol{opacity:.4;bottom:16px}.content-main:is(.works-with-tutorials,.catalog-with-tutorials) .works-header{grid-template-columns:minmax(0,1fr)}.content-main:is(.works-with-tutorials,.catalog-with-tutorials) .works-counts{max-width:480px}.catalog-with-tutorials .tutorial-category-entry{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0}.catalog-with-tutorials .tutorial-category-entry .cc-foot{max-width:none}.about-intro{grid-template-columns:minmax(0,1fr) 200px;gap:32px}.about-intro h1{text-wrap:balance;font-size:clamp(30px,4.5vw,44px);line-height:1.3}.about-portrait{width:200px;height:200px}.about-tool-environment{grid-template-columns:minmax(0,1fr);gap:12px}.about-experience .tl{grid-template-columns:180px minmax(0,1fr);gap:24px}.about-capabilities>div{overflow-wrap:anywhere;min-width:0}.about-contact-grid{gap:28px}.tutorial-book-head{grid-template-columns:minmax(0,1fr);gap:32px}.tutorial-book-cover{min-height:320px;padding:32px}.tutorial-book-cover h1{overflow-wrap:anywhere;font-size:clamp(32px,6vw,48px)}.tutorial-cover-meta{flex-wrap:wrap;gap:16px}.tutorial-book-intro .btn{white-space:normal;text-align:left;height:auto;min-height:44px;line-height:1.6}.tutorial-book-directory{margin-top:48px;display:block}.tutorial-directory-head{margin-bottom:32px;position:static}.tutorial-source-package{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px}.tutorial-source-package .btn{white-space:normal;max-width:100%;height:auto;min-height:44px;line-height:1.6}.contact-dialog{width:480px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:24px;overflow-y:auto}.contact-dialog .contact-email-address{overflow-wrap:anywhere;font-size:clamp(16px,5vw,22px)}.contact-dialog-actions{flex-wrap:wrap}.mobile-search-dialog{top:calc(16px + env(safe-area-inset-top) + var(--mobile-search-top,0px));width:min(680px,calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));height:calc(var(--mobile-search-height,100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--hairline-strong);border-radius:var(--r-xl);background:var(--canvas);max-width:none;max-height:none;color:var(--ink);margin:0 auto;padding:0;position:fixed;bottom:auto;left:0;right:0;overflow:hidden}.mobile-search-dialog[open]{flex-direction:column;display:flex}.mobile-search-dialog::backdrop{background:color-mix(in srgb,var(--ink) 35%,transparent)}.mobile-search-toolbar{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.mobile-search-dialog .site-search{flex:1;height:auto;min-height:0;overflow-y:auto}.mobile-search-dialog .search-heading{padding:20px}.home-shell .mobile-search-dialog .search-heading h2{font-size:26px}.mobile-search-dialog .cmdk-input{margin-inline:20px;padding-inline:12px}.mobile-search-dialog .cmdk-input .prompt{display:none}.mobile-search-dialog .cmdk-input input{min-width:0;font-size:16px}.mobile-search-dialog .search-keywords,.mobile-search-dialog .cmdk-group{padding-inline:20px}.mobile-search-dialog .cmdk-list{flex:1 0 120px;padding-inline:8px}.mobile-search-dialog .search-directory{flex-wrap:wrap;gap:8px 20px;padding:12px 20px}.mobile-search-dialog .cmdk-foot{display:none}:is(.btn,.link-more,.work-years a,.content-sections a,.evidence-links a){min-height:44px}.link-more{align-items:center;display:inline-flex}.wechat-contact .btn{min-height:44px;font-size:14px}.filter-bar input,.filter-bar select{min-height:44px;font-size:16px}}@media (width<=1024px),(height<=500px) and (pointer:coarse){.article-layout{grid-template-columns:minmax(0,1fr);max-width:40em;margin-inline:auto;font-size:17px}.article-toc.article-reading-rail{border:0;grid-row:1;max-height:none;padding:0;position:static;overflow:visible}.article-toc a{padding:12px 0;font-size:14px}.article-reading-rail>.official-account-follow,.tutorial-reading-rail>.official-account-follow{display:none}.reader-directory{border:1px solid var(--hairline);border-radius:var(--r-xl);width:100%;padding:0 16px}.reader-directory>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:48px;font-size:14px;font-weight:600;list-style:none;display:flex}.reader-directory>summary::-webkit-details-marker{display:none}.reader-directory>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:8px;height:8px;transform:rotate(45deg)}.reader-directory[open]>summary:after{transform:rotate(225deg)}.reader-directory>nav{padding-bottom:12px}.reader-directory>nav>:is(h2,b){display:none}.reader-directory a{overflow-wrap:anywhere}.tutorial-reader .docs{flex-direction:column;gap:16px;width:100%;max-width:40em;margin-inline:auto;font-size:17px;display:flex}.tutorial-reader .tutorial-main{order:3;width:100%}.tutorial-reader .tutorial-sidebar,.tutorial-reader .docs-toc.tutorial-reading-rail{width:100%;max-height:none;padding:0;display:block;position:static;overflow:visible}.tutorial-reader .tutorial-sidebar{order:1}.tutorial-reader .tutorial-reading-rail{order:2}.tutorial-reader .tutorial-toc{max-height:none;padding-bottom:0;overflow:visible}.tutorial-sidebar .reader-directory>a,.tutorial-sidebar .reader-directory li>a,.tutorial-toc a{min-height:44px;padding-block:12px;line-height:1.6;display:block}.tutorial-reader~.desktop-dock{left:50%;right:auto;transform:translate(-50%)}.tutorial-reader-tools{flex-direction:column;gap:12px;width:100%;max-width:40em;margin:24px auto;font-size:17px}.tutorial-search{width:100%;max-width:none}.tutorial-search input{min-height:48px;font-size:16px}.tutorial-search-results a{overflow-wrap:anywhere;min-height:44px}.tutorial-chapter-nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.tutorial-chapter-nav .btn{overflow-wrap:anywhere;width:100%;min-height:44px}.tutorial-chapter-nav .tutorial-chapter-next{grid-column:2}.tutorial-chapter-nav .tutorial-chapter-directory{grid-area:2/1/auto/-1;justify-self:center}.tutorial-prose .callout{grid-template-columns:minmax(0,1fr)}.tutorial-prose :is(pre,.tutorial-code,.tutorial-table){min-width:0;max-width:100%}.tutorial-code>pre,.tutorial-code .term-body pre{padding:16px}.reader-copy,[data-copy-code]{min-width:44px;height:auto;min-height:44px}.article-layout .prose :is(.term-bar,.codeblock-head){height:auto;min-height:56px;padding-block:6px}.article-layout .prose .term-bar>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.article-layout .prose>table.table{overscroll-behavior-x:contain;display:block;overflow-x:auto}.article-layout .prose>table.table :is(th,td){min-width:120px}.article-layout .prose :is(pre,.codeblock,.term,.tree,.article-table-scroll){min-width:0;max-width:100%}.article-layout .prose :is(pre,.tree){overscroll-behavior-x:contain;overflow-x:auto}.article-layout .prose :is(.codeblock,.term) pre{white-space:pre;overflow-wrap:normal}.article-related{margin-top:48px}.article-related .post-meta{flex-wrap:wrap;gap:8px}}@media (width<=600px){.content-header{margin-bottom:32px}.content-header h1{overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(28px,7.5vw,40px);line-height:1.25}.content-header.article-head h1{font-size:clamp(28px,7.5vw,40px);line-height:1.3}.official-account-follow.is-inline{grid-template-columns:minmax(0,1fr);justify-items:start;gap:12px;padding:24px}.official-account-follow.is-inline .official-account-heading{grid-area:1/1}.official-account-follow.is-inline .official-account-details{grid-area:2/1}.official-account-follow.is-inline .official-account-qr{grid-area:3/1}.works-header h1{font-size:clamp(36px,10vw,48px)}.article-categories{grid-template-columns:minmax(0,1fr)}.article-categories .cc-title{font-size:clamp(30px,8vw,38px);line-height:1.25}.article-categories .category-entry{min-height:320px}.article-categories .category-main{padding-bottom:28px}.works-feature{margin-bottom:48px}.works-feature-card.is-main h2{font-size:32px}.featured-actions .btn{white-space:normal;text-align:center;height:auto}.works-with-tutorials .works-header .works-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.works-with-tutorials .works-counts .stat:nth-child(3){border-left:0;border-top:1px solid var(--hairline)}.works-with-tutorials .works-counts .stat:nth-child(4){border-top:1px solid var(--hairline)}.content-main:is(.works-with-tutorials,.catalog-with-tutorials) .works-counts .stat{padding:20px 8px}.content-main:is(.works-with-tutorials,.catalog-with-tutorials) .works-counts .stat b{font-size:clamp(32px,9vw,40px)}.content-main:is(.works-with-tutorials,.catalog-with-tutorials) .works-counts .stat span{white-space:normal;line-height:1.5}.works-with-tutorials .works-feature-card{padding:24px}.works-with-tutorials .featured-actions .btn{flex:140px}.catalog-with-tutorials .category-entry{gap:28px;min-height:0;padding:24px 24px 112px}.catalog-with-tutorials .category-main{padding-bottom:24px}.catalog-with-tutorials .category-symbol{width:96px;bottom:16px;right:24px}.catalog-with-tutorials .tutorial-collection{margin-top:32px}.catalog-with-tutorials .tutorial-category-entry{padding:24px}.catalog-with-tutorials .tutorial-category-entry .cc-foot b{font-size:20px}.work-timeline-item,.works-page .work-timeline-item{gap:16px}.work-item-copy h3{font-size:20px}.work-thumbnail{justify-self:start;width:100%;max-width:360px}.work-timeline-item .timeline-qr{flex-wrap:wrap;align-items:flex-start}.filter-bar input{flex-basis:100%;width:100%;min-width:0;max-width:none}.about-intro{grid-template-columns:minmax(0,1fr);gap:28px}.about-portrait{grid-row:1;justify-self:start;width:144px;height:144px}.about-intro h1{font-size:clamp(26px,7vw,38px);line-height:1.35}.about-section{padding:40px 0}.about-capabilities{grid-template-columns:minmax(0,1fr)}.about-capabilities>div{border-right:0;border-bottom:1px solid var(--hairline-soft);padding:24px}.about-capabilities>div:last-child{border-bottom:0}.about-experience .tl{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}.experience-period{flex-direction:row;align-items:baseline}.wechat-contact.is-profile{padding:24px}.wechat-profile-heading{gap:16px}.wechat-profile-heading>img{width:44px;height:44px}.is-profile .cc-title{font-size:24px}.is-profile .wechat-number-row{gap:16px}.is-profile [data-wechat-number]{font-size:24px}.contact-icons{gap:16px;max-width:none}.site-footer .footer-inner{grid-template-columns:minmax(0,1fr);gap:16px}.footer-icp{grid-row:auto}.footer-contact{justify-self:start}.article-layout{gap:28px}.article-layout .prose h2{font-size:24px;line-height:1.5}.article-layout .prose h3{font-size:20px;line-height:1.5}.article-layout .prose pre:not(.tree){padding:16px}.article-layout .prose .article-image{min-width:0}.article-cta h2{font-size:clamp(22px,6.5vw,30px)}.article-cta .hero-actions{flex-wrap:wrap}.article-cta .btn{white-space:normal;text-align:center;height:auto}.video-actions{align-items:flex-start}.video-actions .btn{white-space:normal;text-align:center}.mobile-search-dialog .search-heading{gap:12px}.mobile-search-dialog .stamp-sm{--s:32px}}@media (hover:none){.desktop-dock .dock-item:hover .app-icon{transform:none}}@media (width<=1024px) and (height<=500px) and (orientation:landscape),(height<=500px) and (pointer:coarse){.video-page-player{max-width:calc(177.778svh - 320px);margin-inline:auto}}
