/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.table{display:table}.delay-1{transition-delay:1ms}}:root{--ink:#10201e;--muted:#65716e;--paper:#f4f5f0;--white:#fff;--line:#d9ddd5;--acid:#c8ff5a;--blue:#9fc6ff;--orange:#ffad72;--serif:Georgia, "Noto Serif SC", "Songti SC", serif;--sans:Inter, "PingFang SC", "Microsoft YaHei", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--acid);color:var(--ink)}.section-shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f5f0e6;border-bottom:1px solid #10201e1f;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:76px;display:flex}.brand{letter-spacing:.12em;align-items:center;gap:12px;font-size:13px;font-weight:800;display:inline-flex}.brand-mark{aspect-ratio:1;background:var(--ink);width:34px;color:var(--acid);font:700 12px/1 var(--sans);letter-spacing:-.04em;border-radius:50%;place-items:center;display:grid}.nav-links{align-items:center;gap:34px;font-size:14px;display:flex}.nav-links>a:not(.nav-contact){color:#44504e;position:relative}.nav-links>a:not(.nav-contact):after{content:"";background:var(--ink);height:2px;transition:right .25s;position:absolute;bottom:-7px;left:0;right:100%}.nav-links>a:hover:after,.nav-links>a.active:after{right:0}.nav-links>a.active{color:var(--ink);font-weight:700}.nav-contact{background:var(--ink);color:#fff;border-radius:100px;align-items:center;gap:20px;padding:10px 13px 10px 18px;display:inline-flex}.nav-contact span{color:var(--acid);font-size:17px}.menu-button{background:0 0;border:0;width:40px;height:40px;padding:10px;display:none}.menu-button span{background:var(--ink);height:1px;margin:6px 0;display:block}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:70px;min-height:710px;padding-block:88px 72px;display:grid;position:relative;overflow:hidden}.hero-grid{pointer-events:none;opacity:.38;background-image:linear-gradient(#10201e1f 1px,#0000 1px),linear-gradient(90deg,#10201e1f 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0 52% 0 -12vw;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.hero-copy{z-index:1;position:relative}.eyebrow{letter-spacing:.2em;align-items:center;gap:10px;margin:0 0 24px;font-size:11px;font-weight:800;display:flex}.eyebrow>span{background:currentColor;width:26px;height:2px}.hero h1,.page-hero h1,.contact-copy h1{font:500 clamp(54px, 5.5vw, 82px)/1.08 var(--serif);letter-spacing:-.055em;margin:0}.hero h1{max-width:780px}.hero-intro{color:#53605d;max-width:650px;margin:34px 0 0;font-size:18px;line-height:1.85}.hero-intro strong{color:var(--ink)}.hero-actions{gap:12px;margin-top:36px;display:flex}.button{border:1px solid var(--ink);cursor:pointer;border-radius:3px;justify-content:space-between;align-items:center;min-width:160px;padding:14px 18px;font-size:14px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:#fff}.button-primary span{color:var(--acid);font-size:18px}.button-secondary{background:0 0}.availability{color:var(--muted);align-items:center;gap:9px;margin-top:28px;font-size:12px;display:flex}.availability i,.tool-status i{background:#66b858;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #66b8581f}.profile-visual{place-items:center;min-height:500px;display:grid;position:relative}.profile-card{aspect-ratio:.78;color:#fff;background:#132826;flex-direction:column;justify-content:space-between;width:min(390px,90%);padding:22px;display:flex;position:relative;overflow:hidden;transform:rotate(2.5deg);box-shadow:30px 38px 60px #10201e29}.profile-card:before{content:"";border:1px solid #c8ff5a61;border-radius:44% 56% 63% 37%;width:420px;height:420px;position:absolute;bottom:30px;left:-110px;transform:rotate(28deg)}.profile-card:after{content:"";background:radial-gradient(circle,#c8ff5a57,#0000 64%);position:absolute;inset:35% -20% -25% 30%}.profile-topline{color:#ffffff8c;letter-spacing:.16em;z-index:1;justify-content:space-between;font-size:8px;display:flex;position:relative}.avatar-mark{z-index:1;width:180px;height:180px;color:var(--acid);font:500 68px/1 var(--serif);letter-spacing:-.08em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#c8ff5a14;border:1px solid #ffffff47;border-radius:50%;align-self:center;place-items:center;display:grid;position:relative}.profile-bottom{z-index:1;justify-content:space-between;align-items:flex-end;display:flex;position:relative}.profile-bottom>div:first-child{flex-direction:column;display:flex}.profile-bottom strong{font:500 25px/1.2 var(--serif)}.profile-bottom span{color:#ffffff8c;letter-spacing:.08em;margin-top:4px;font-size:10px}.profile-code{color:var(--acid);font:11px/1 var(--sans);letter-spacing:.1em}.orbit{border:1px solid #10201e2e;border-radius:50%;position:absolute}.orbit-one{width:490px;height:220px;transform:rotate(-25deg)}.orbit-two{width:380px;height:540px;transform:rotate(28deg)}.floating-label{z-index:2;background:var(--acid);color:var(--ink);letter-spacing:.15em;padding:8px 12px;font-size:9px;font-weight:800;position:absolute;box-shadow:8px 8px 20px #10201e1f}.label-one{animation:4s ease-in-out infinite float;top:16%;right:0}.label-two{animation:4s ease-in-out 1.2s infinite float;bottom:12%;left:2%}@keyframes float{50%{transform:translateY(-10px)}}.ticker{background:var(--acid);border-block:1px solid var(--ink);letter-spacing:.18em;white-space:nowrap;padding:14px 0;font-size:11px;font-weight:900;overflow:hidden}.ticker div{width:max-content;animation:28s linear infinite marquee}.ticker span{margin-inline:24px}@keyframes marquee{to{transform:translate(-35%)}}.about-section,.writing-section{padding-block:120px}.section-number{letter-spacing:.22em;color:var(--muted);margin-bottom:34px;font-size:10px;font-weight:800}.section-number.light{color:#ffffff80}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:120px;display:grid}.about-grid h2,.section-heading h2,.contact-banner h2,.mini-cta h2,.tool-note h2{font:500 clamp(38px, 4vw, 58px)/1.18 var(--serif);letter-spacing:-.04em;margin:0}.about-copy{color:#53605d;padding-top:6px;font-size:16px}.about-copy p{margin:0 0 18px}.text-link{border-bottom:1px solid var(--ink);color:var(--ink);align-items:center;gap:28px;margin-top:12px;padding-bottom:4px;font-size:13px;font-weight:700;display:inline-flex}.skill-row{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:72px;display:grid}.skill-row span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:18px;min-height:70px;padding:16px 20px;font-size:13px;display:flex}.skill-row b{color:#97a19e;font-size:9px}.projects-section{background:var(--ink);color:#fff;padding-block:110px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:50px;display:flex}.projects-section .section-number{color:#ffffff73}.projects-section .text-link{color:#fff;border-color:#fff9}.project-list{border-top:1px solid #ffffff2e}.project-row{border-bottom:1px solid #ffffff2e;grid-template-columns:50px 1.5fr 1fr 48px;align-items:center;gap:25px;padding:32px 0;transition:padding .25s,background .25s;display:grid}.project-row:hover{background:#ffffff09;padding-inline:18px}.project-index{color:var(--acid);font-size:11px}.project-main h3{font:500 27px/1.2 var(--serif);margin:0 0 5px}.project-main p{color:#ffffff85;max-width:500px;margin:0;font-size:12px}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-list span{color:inherit;opacity:.68;border:1px solid;border-radius:100px;padding:5px 9px;font-size:9px}.round-arrow{border:1px solid #ffffff73;border-radius:50%;justify-self:end;place-items:center;width:42px;height:42px;transition:transform .25s,background .25s,color .25s;display:grid}.project-row:hover .round-arrow{background:var(--acid);color:var(--ink);transform:rotate(45deg)}.post-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.post-card{min-width:0}.post-visual{height:220px;color:var(--ink);justify-content:space-between;align-items:flex-start;padding:20px;display:flex;position:relative;overflow:hidden}.post-visual:before,.post-visual:after{content:"";border:1px solid #10201e59;border-radius:50%;position:absolute}.post-visual:before{width:260px;height:90px;top:78px;left:-35px;transform:rotate(28deg)}.post-visual:after{width:130px;height:260px;top:0;right:20px;transform:rotate(48deg)}.visual-1{background:var(--acid)}.visual-2{background:var(--blue)}.visual-3{background:var(--orange)}.post-visual span,.post-visual b{z-index:1;letter-spacing:.12em;font-size:10px;position:relative}.post-visual b{font-size:36px;font-family:var(--serif);font-weight:400}.post-meta{color:var(--muted);letter-spacing:.08em;gap:14px;margin-top:18px;font-size:10px;display:flex}.post-card h3{font:500 24px/1.35 var(--serif);letter-spacing:-.02em;margin:13px 0 8px}.post-card h3 a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.post-card p{color:var(--muted);margin:0 0 18px;font-size:13px}.post-card .tag-list{color:var(--ink)}.contact-banner{color:#fff;background:#1b3330;padding-block:100px}.contact-banner-inner{justify-content:space-between;align-items:center;gap:50px;display:flex}.contact-banner h2{max-width:850px}.contact-circle{aspect-ratio:1;background:var(--acid);color:var(--ink);border-radius:50%;flex-direction:column;flex:0 0 150px;justify-content:space-between;padding:25px;font-size:12px;font-weight:700;transition:transform .25s;display:flex}.contact-circle:hover{transform:rotate(7deg)scale(1.04)}.contact-circle b{align-self:flex-end;font-size:24px}.site-footer{color:#fff;background:#0d1d1b;padding-block:70px 35px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:70px;display:grid}.footer-brand{margin-bottom:18px}.footer-grid>div{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.footer-grid p,.footer-grid a{color:#ffffff8c;margin:0;font-size:12px}.footer-grid a:hover{color:var(--acid)}.footer-grid b{letter-spacing:.18em;margin-bottom:10px;font-size:10px}.footer-note{color:#ffffff59;letter-spacing:.08em;border-top:1px solid #ffffff1f;grid-column:1/-1;justify-content:space-between;margin-top:35px;padding-top:30px;font-size:10px;flex-direction:row!important}.subpage{min-height:70vh}.page-hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:500px;padding-block:105px 80px;display:flex}.page-hero.compact{min-height:440px}.page-hero h1{max-width:830px}.page-hero>p:last-child{max-width:610px;color:var(--muted);margin:30px 0 0 auto;font-size:16px}.project-showcase{padding-block:90px}.project-case{border-bottom:1px solid var(--line);grid-template-columns:1.1fr .9fr;align-items:center;gap:80px;padding:45px 0;display:grid}.project-case:first-child{padding-top:0}.project-cover{justify-content:space-between;align-items:flex-start;height:390px;padding:24px;display:flex;position:relative;overflow:hidden}.cover-lime{background:var(--acid)}.cover-blue{background:var(--blue)}.cover-orange{background:var(--orange)}.project-cover>span{letter-spacing:.15em;max-width:150px;font-size:10px;font-weight:800}.project-cover>b{font:400 48px/1 var(--serif)}.cover-node{border:1px solid #10201e73;border-radius:50%;position:absolute}.n1{width:240px;height:240px;top:24%;left:24%}.n2{width:330px;height:90px;top:44%;left:14%;transform:rotate(25deg)}.n3{width:100px;height:330px;top:12%;left:48%;transform:rotate(42deg)}.project-status{letter-spacing:.16em;color:var(--muted);font-size:9px}.project-details h2{font:500 39px/1.2 var(--serif);letter-spacing:-.035em;margin:13px 0 16px}.project-details>p{color:var(--muted);font-size:14px}.project-details .tag-list{margin-block:24px}.project-links{border-top:1px solid var(--line);flex-direction:column;display:flex}.disabled-link{color:#87918f;border-bottom:1px solid var(--line);padding:11px 0;font-size:11px}.mini-cta{background:var(--acid);grid-template-columns:1fr auto;align-items:center;margin-bottom:100px;padding:60px;display:grid}.mini-cta p{grid-column:1;margin-bottom:0}.mini-cta .button{grid-area:1/2/span 2}.blog-section{padding-block:70px 110px}.blog-controls{justify-content:space-between;align-items:center;gap:25px;margin-bottom:45px;display:flex}.category-tabs{flex-wrap:wrap;gap:6px;display:flex}.category-tabs button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:100px;padding:8px 14px;font-size:11px}.category-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.search-box{border-bottom:1px solid var(--ink);align-items:center;gap:10px;width:min(280px,100%);padding:8px 0;display:flex}.search-box input{background:0 0;border:0;outline:none;width:100%;font-size:12px}.blog-list{border-top:1px solid var(--line)}.blog-list article{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr 50px;align-items:center;gap:34px;padding:32px 0;display:grid}.blog-index{justify-content:space-between;align-items:flex-start;height:120px;padding:14px;display:flex}.tone-1{background:var(--acid)}.tone-2{background:var(--blue)}.tone-3{background:var(--orange)}.blog-index span{font-size:9px}.blog-index b{font:400 28px/1 var(--serif)}.blog-copy .post-meta{margin-top:0}.blog-copy h2{font:500 28px/1.25 var(--serif);margin:8px 0}.blog-copy p{color:var(--muted);margin:0 0 10px;font-size:12px}.blog-list .round-arrow{color:var(--ink);border-color:var(--ink)}.empty-state{text-align:center;color:var(--muted);padding:60px}.article-header{border-bottom:1px solid var(--line);padding-block:90px 70px}.back-link{color:var(--muted);margin-bottom:55px;font-size:11px;display:inline-block}.article-header .post-meta{margin:0 0 20px}.article-header h1{max-width:930px;font:500 clamp(46px, 5vw, 72px)/1.12 var(--serif);letter-spacing:-.045em;margin:0}.article-header>p{max-width:680px;color:var(--muted);margin:25px 0;font-size:16px}.article-layout{grid-template-columns:170px minmax(0,700px) 150px;justify-content:space-between;gap:45px;padding-block:75px 110px;display:grid}.toc{flex-direction:column;align-self:start;gap:10px;display:flex;position:sticky;top:110px}.toc b{letter-spacing:.16em;margin-bottom:5px;font-size:9px}.toc a{color:var(--muted);font-size:11px;line-height:1.5}.toc a:hover{color:var(--ink)}.article-content{font-size:16px;line-height:1.95}.article-content>p{margin:0 0 22px}.article-content h2{font:500 34px/1.25 var(--serif);letter-spacing:-.025em;margin:54px 0 18px;scroll-margin-top:110px}.article-content h3{margin:35px 0 15px;scroll-margin-top:110px;font-size:20px}.article-content ul{margin:0 0 26px;padding-left:22px}.article-content li{margin:8px 0}.article-content blockquote{border-left:4px solid var(--acid);font:500 20px/1.65 var(--serif);background:#e8eadf;margin:30px 0;padding:24px 28px}.article-content :not(pre)>code{background:#e2e5dd;border-radius:3px;padding:2px 5px;font-family:Consolas,monospace;font-size:.88em}.code-head{color:#ffffff80;background:#1a2927;border-bottom:1px solid #ffffff1a;margin-top:32px;padding:9px 16px;font:10px/1 Consolas,monospace}.article-content pre{color:#dfe6df;background:#10201e;margin:0 0 32px;padding:22px;overflow-x:auto}.article-content pre code{font:13px/1.75 Consolas,Courier New,monospace}.code-keyword{color:#c8ff5a}.code-string{color:#ffbd86}.code-comment{color:#738a85}.article-share{color:var(--muted);flex-direction:column;align-self:start;gap:9px;padding-top:4px;font-size:9px;display:flex}.article-share a{color:var(--ink);font-size:11px}.article-next{background:var(--blue);margin-bottom:100px;padding:60px}.article-next>p{letter-spacing:.15em;margin:0;font-size:10px}.article-next h2{font:500 38px/1.25 var(--serif);margin:15px 0 30px}.article-next>div{align-items:center;gap:30px;display:flex}.article-next .disabled-link{border:0}.tools-page{padding-bottom:110px}.tool-grid{grid-template-columns:repeat(3,1fr);gap:18px;padding-block:80px;display:grid}.tool-grid article{border:1px solid var(--line);background:#ffffff61;flex-direction:column;min-height:330px;padding:28px;transition:transform .25s,box-shadow .25s;display:flex}.tool-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 50px #10201e14}.tool-icon{width:64px;height:64px;font:700 13px/1 var(--sans);place-items:center;margin-bottom:30px;display:grid}.tool-1{background:var(--acid)}.tool-2{background:var(--blue)}.tool-3{background:var(--orange)}.tool-status{color:var(--muted);letter-spacing:.1em;align-items:center;gap:8px;font-size:9px;display:flex}.tool-grid h2{font:500 27px/1.3 var(--serif);margin:12px 0 8px}.tool-grid p{color:var(--muted);margin:0;font-size:12px}.tool-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:auto;padding-top:20px;font-size:9px;display:flex}.tool-note{background:var(--ink);color:#fff;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;padding:65px;display:grid}.tool-note>div>span{color:var(--acid);letter-spacing:.18em;font-size:9px}.tool-note p{color:#ffffff8c;font-size:13px}.tool-note code{color:var(--acid)}.contact-page{min-height:760px;padding-block:90px 110px}.contact-layout{grid-template-columns:1fr .8fr;gap:100px;display:grid}.contact-copy>p:not(.eyebrow){max-width:520px;color:var(--muted)}.contact-methods{border-top:1px solid var(--line);margin-top:45px}.contact-methods>a{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr auto;align-items:center;padding:16px 0;display:grid}.contact-methods a span{color:var(--muted);letter-spacing:.15em;font-size:9px}.contact-methods a b{font-size:12px}.contact-methods a i{font-style:normal}.wechat-row{align-items:center;gap:20px;padding-top:25px;display:flex}.qr-placeholder{aspect-ratio:1;border:1px solid var(--line);text-align:center;background:repeating-linear-gradient(45deg,#dfe2da,#dfe2da 3px,#f4f5f0 3px 6px);align-content:center;place-items:center;width:96px;display:grid}.qr-placeholder span{background:var(--paper);padding:3px;font-size:9px}.qr-placeholder small{background:var(--paper);color:var(--muted);padding:2px}.wechat-row p{flex-direction:column;margin:0;display:flex}.wechat-row p b{font-size:12px}.wechat-row p span{max-width:260px;color:var(--muted);font-size:10px}.form-panel{background:#fff;padding:38px;box-shadow:0 25px 65px #10201e17}.panel-label{color:var(--muted);letter-spacing:.16em;font-size:9px}.form-panel h2{font:500 32px/1.2 var(--serif);margin:14px 0 5px}.form-panel>p{color:var(--muted);margin:0 0 25px;font-size:11px}.contact-form{flex-direction:column;gap:20px;display:flex}.contact-form label{flex-direction:column;gap:7px;display:flex}.contact-form label>span{font-size:10px;font-weight:700}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);resize:vertical;background:0 0;outline:none;width:100%;padding:11px 0;font-size:12px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.contact-form .button{width:100%;margin-top:7px}.form-note{color:var(--muted);margin:0;font-size:10px}.reveal{animation:.7s ease-out both reveal}.delay-1{animation-delay:.16s}@keyframes reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.hero{grid-template-columns:1fr;gap:35px;padding-top:65px}.hero-grid{right:0}.profile-visual{min-height:430px}.about-grid,.contact-layout{grid-template-columns:1fr;gap:45px}.about-grid{gap:25px}.project-row{grid-template-columns:40px 1fr 45px}.project-row .tag-list{display:none}.post-grid,.tool-grid{grid-template-columns:1fr 1fr}.project-case{gap:40px}.article-layout{grid-template-columns:minmax(0,1fr)}.toc,.article-share{display:none}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:35px}.contact-layout{max-width:720px}}@media (width<=680px){.section-shell{width:min(100% - 30px,1180px)}.header-inner{height:66px}.menu-button{display:block}.nav-links{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:20px 15px 25px;display:none;position:absolute;top:66px;left:0;right:0}.nav-links.open{display:flex}.nav-links>a:not(.nav-contact){border-bottom:1px solid var(--line);padding:12px 6px}.nav-links>a:after{display:none}.nav-contact{justify-content:space-between;margin-top:15px}.hero{min-height:auto;padding-block:52px 65px}.hero h1,.page-hero h1,.contact-copy h1{font-size:48px}.hero-intro{margin-top:24px;font-size:15px}.hero-actions{flex-direction:column}.button{width:100%}.profile-visual{min-height:400px}.profile-card{width:290px}.avatar-mark{width:140px;height:140px;font-size:52px}.orbit-one{width:330px}.orbit-two{width:280px;height:420px}.label-one{right:2%}.label-two{left:0}.about-section,.writing-section{padding-block:80px}.about-grid h2,.section-heading h2,.contact-banner h2,.tool-note h2{font-size:38px}.skill-row{grid-template-columns:1fr 1fr;margin-top:45px}.projects-section{padding-block:75px}.section-heading{flex-direction:column;align-items:flex-start;gap:25px}.project-row{grid-template-columns:30px 1fr 38px;gap:10px;padding:25px 0}.project-main h3{font-size:22px}.project-main p{display:none}.round-arrow{width:36px;height:36px}.post-grid,.tool-grid{grid-template-columns:1fr}.contact-banner{padding-block:75px}.contact-banner-inner{flex-direction:column;align-items:flex-start}.contact-circle{flex-basis:125px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.page-hero,.page-hero.compact{min-height:390px;padding-block:70px 55px}.page-hero>p:last-child{margin-left:0}.project-showcase{padding-block:60px}.project-case{grid-template-columns:1fr;gap:28px;padding-block:38px}.project-cover{height:260px}.mini-cta{grid-template-columns:1fr;padding:35px 25px}.mini-cta .button{grid-area:auto/1;margin-top:25px}.blog-controls{flex-direction:column;align-items:stretch}.search-box{width:100%}.blog-list article{grid-template-columns:90px 1fr;gap:18px}.blog-index{height:100px}.blog-list .round-arrow{display:none}.blog-copy h2{font-size:22px}.article-header{padding-block:60px 45px}.back-link{margin-bottom:38px}.article-header h1{font-size:41px}.article-layout{padding-block:45px 75px}.article-content{font-size:15px}.article-content h2{font-size:29px}.article-next{padding:35px 25px}.article-next h2{font-size:31px}.article-next>div{flex-direction:column;align-items:stretch}.tool-note{grid-template-columns:1fr;gap:25px;padding:35px 25px}.contact-page{padding-block:60px 80px}.form-panel{padding:26px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
