@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(./dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(./dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{font-family:Inter Variable,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#1d1d1f;background:#fff;font-synthesis:none;font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #1d1d1f;--muted: #6e6e73;--line: #e5e5e7;--paper: #f5f5f7;--motion-fast: .12s;--motion-snap: .15s;--motion-base: .2s;--motion-panel: .3s;--motion-scene: .45s;--ease-out: cubic-bezier(.165, .84, .44, 1);--ease-snap: cubic-bezier(.32, .72, 0, 1);--ease-expand: cubic-bezier(.19, 1, .22, 1)}*{box-sizing:border-box}body{margin:0;min-width:288px}h1,h2,h3,h4,h5,p,figure,dl,dd{margin:0}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #1d1d1f;outline-offset:5px}::-moz-selection{color:#11151c;background:#ffe04b}::selection{color:#11151c;background:#ffe04b}.page-width{width:min(1264px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;padding:15px 24px;background:var(--ink);color:#fff;z-index:2000}.skip-link:focus{top:15px}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between}.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.055em;font-weight:650}.brand-mark{width:34px;height:30px;flex:none}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px}.site-header nav a{min-height:44px;display:flex;align-items:center;transition:opacity .18s}.site-header nav a:hover{opacity:.5}.home-intro{padding-top:24px;padding-bottom:48px}.intro-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:24px}.home-intro h1{font-size:clamp(48px,6.3vw,88px);line-height:1.05;letter-spacing:-.075em;font-weight:550;margin:0 0 0 -4px}.name-dot{color:#a7a7aa}.intro-bottom{display:grid;grid-template-columns:7fr 5fr;gap:28px;align-items:end}.intro-bottom p{font-size:clamp(18px,1.7vw,24px);font-weight:400;line-height:1.5;letter-spacing:-.025em}.intro-bottom>span{color:var(--muted);font-size:13px;padding-bottom:4px}.work-heading{padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:28px;display:flex;justify-content:space-between;align-items:center}.work-heading h2{font-size:20px;font-weight:500;letter-spacing:-.03em}.work-heading h2 span{font-size:12px;color:var(--muted);margin-left:8px;font-family:DM Mono,monospace}.work-filters{display:flex;gap:24px}.work-filters button{min-height:44px;padding:8px 0;font-size:13px;color:var(--muted);position:relative}.work-filters button[aria-pressed=true]{color:var(--ink)}.work-filters button[aria-pressed=true]:after{content:"";position:absolute;height:1px;left:0;right:0;bottom:3px;background:currentColor}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:72px 28px}.project-card{position:relative;min-width:0;grid-column:span 6}.card-aitron,.card-baiziji{grid-column:span 5}.card-itemdesk,.card-func-dictionary{grid-column:span 7}.card-aitron{margin-top:52px}.card-baiziji{margin-top:78px}.card-scraper{grid-column:span 12}.is-filtered .project-card{grid-column:span 6;margin-top:0}.project-link{display:block}.project-cover{-webkit-user-select:none;-moz-user-select:none;user-select:none;height:var(--cover-height, 520px);background:var(--paper);position:relative;overflow:hidden;border-radius:3px;isolation:isolate}.card-aitron{--cover-height: clamp(460px, 41vw, 530px)}.card-itemdesk{--cover-height: clamp(540px, 50vw, 640px)}.card-func-dictionary{--cover-height: clamp(460px, 43vw, 540px)}.card-baiziji{--cover-height: clamp(420px, 36vw, 460px)}.is-filtered .project-card{--cover-height: 530px}.project-art{height:100%;width:100%;position:relative;overflow:hidden}.site-grid{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:30;pointer-events:none;fill:none;stroke:#343438;stroke-width:1;shape-rendering:crispEdges}.site-grid-lines{opacity:.07}.site-grid-crosses{opacity:.26}.cover-reveal,.cover-preview{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cover-reveal-defs{position:absolute}.cover-reveal-cell{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .2s cubic-bezier(.4,0,.2,1);transition-delay:calc((1 - var(--distance)) * .18s)}.project-card[data-preview=true] .cover-reveal-cell{transform:scale(1);transition-delay:calc(var(--distance) * .22s)}.cover-preview{background:#f3f3f5}.aitron-art .cover-preview{background:#eceef3}.cover-toggle{display:none;position:absolute;right:16px;top:16px;z-index:2;min-height:44px;padding:0 15px;align-items:center;gap:8px;background:#fff;color:var(--ink);border-radius:30px;font-size:12px;box-shadow:0 0 0 1px #1d1d1f0c}@media(hover:none),(pointer:coarse),(max-width:760px){.cover-toggle{display:flex}}@media(prefers-reduced-motion:reduce){.cover-reveal-cell{transition:none!important}}@media print{.site-grid{display:none}}.card-open{position:absolute;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:#fff;opacity:0;transform:translateY(7px);transition:opacity .2s,transform .2s}.project-card[data-preview=true] .card-open,.project-link:focus-visible .card-open{opacity:1;transform:none}.project-caption{display:flex;justify-content:space-between;align-items:flex-start;padding-top:22px}.project-caption h3{font-size:20px;font-weight:500;letter-spacing:-.025em}.project-caption p{color:var(--muted);font-size:12px;margin-top:8px}.project-caption>span{color:#6e6e73;font:11px DM Mono,monospace;padding-top:5px}.dictionary-icon{display:inline-block;position:relative;width:192px;aspect-ratio:1;flex:none;border-radius:23%;overflow:hidden;background:#004845;box-shadow:inset 0 0 0 1px #ffffff25}.dictionary-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.word-dictionary{transform:translate(3.1%,-.8%) scale(1.2)}.word-func{transform:translate(-7.4%,3%)}.thinking-ring{transform:translate(11.5%,16.3%) scale(.75)}.card-scraper .project-cover{height:245px}.object-art{background:#f3f3f3;display:grid;place-items:center}.object-art>span{display:flex;align-items:center;gap:60px;font-size:65px;font-weight:300;letter-spacing:-.06em;color:#6e6e73}.object-art>span>span{font:10px DM Mono,monospace;color:#6e6e73;letter-spacing:.04em}.object-art>img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-cover>.bz-cover{height:100%;min-height:0;aspect-ratio:auto}.about-section{padding-block:135px;display:grid;grid-template-columns:1fr 2fr 1.7fr;gap:30px;align-items:start}.section-kicker{display:block;font-size:11px;color:var(--muted);letter-spacing:.06em;margin-bottom:20px}.about-section>.section-kicker{padding-top:10px}.about-section h2{font-size:clamp(26px,3.1vw,40px);line-height:1.4;font-weight:450;letter-spacing:-.045em}.about-section p{font-size:14px;line-height:1.9;color:#656569}.about-section a{font-size:13px;display:inline-block;margin-top:25px;padding-bottom:5px;border-bottom:1px solid #a5a5a7}.site-footer{border-top:1px solid var(--line);padding-block:28px 38px;display:flex;align-items:center;gap:25px;font-size:11px;color:var(--muted)}.site-footer>a:first-child{color:var(--ink);font-size:13px;letter-spacing:-.04em}.site-footer>a:last-child{margin-left:auto;padding-block:10px}.cursor-trail{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;overflow:hidden}.cursor-trail i{position:absolute;left:0;top:0;width:6px;height:6px;background:#202022;opacity:0;pointer-events:none;will-change:transform,opacity}.loading-page{min-height:70vh;padding-block:100px}.loading-page h1{margin-bottom:30px;font-size:32px}.loading-page a{text-decoration:underline}.case-nav{margin-top:42px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.case-nav a{display:inline-flex;align-items:center;gap:9px;min-height:44px}.case-nav>span{font:10px DM Mono,monospace}.case-header{padding-top:38px;padding-bottom:65px}.case-title-line{display:flex;justify-content:space-between;gap:25px;align-items:baseline}.case-title-line h1{font-size:clamp(44px,6.7vw,86px);font-weight:500;letter-spacing:-.055em;line-height:1.1}.case-title-line>span{font-size:12px;color:var(--muted)}.case-intro{display:grid;grid-template-columns:1fr;gap:12px;margin-top:28px}.case-intro h2{font-size:clamp(24px,2.5vw,34px);letter-spacing:-.03em;font-weight:400;line-height:1.5;max-width:600px}.case-intro>p{font-size:15px;line-height:1.95;color:#66666a;max-width:660px}.case-meta{display:flex;flex-wrap:wrap;gap:25px 70px;border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.case-meta dt{font-size:10px;color:var(--muted);margin-bottom:12px}.case-meta dd{font-size:12px}.case-meta dd a{display:inline-flex;align-items:center;gap:8px}.case-content{padding-bottom:10px}.screen-gallery{background:#f4f4f6;padding:32px clamp(20px,4vw,60px) 28px}.aitron-gallery{background:#eceef3}.gallery-topline{display:flex;justify-content:space-between;font-size:11px;color:#626269;margin-bottom:45px}.device-row{display:flex;justify-content:center;gap:clamp(24px,4vw,60px)}.device-row figure{width:clamp(210px,24vw,300px);flex:0 0 auto}.device-row figure button{position:relative;padding:0;width:100%;display:block}.device-row img{width:100%;height:auto}.device-row figcaption{margin-top:22px;font-size:11px;color:#626269;text-align:center}.screen-zoom{position:absolute;bottom:20px;right:15px;height:36px;width:36px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 1px 10px #0001;opacity:0;transition:opacity .18s}.device-row button:hover .screen-zoom,.device-row button:focus-visible .screen-zoom{opacity:1}.gallery-note{font-size:10px;color:#6e6e73;margin-top:35px;text-align:center}.dictionary-board{min-height:620px;background:#edf2f0;display:grid;grid-template-columns:1fr 1.1fr;gap:6%;align-items:center;padding:clamp(30px,6vw,85px)}.dictionary-board-brand .dictionary-icon{width:150px}.dictionary-board-brand h2{font-size:34px;font-weight:500;letter-spacing:-.065em;margin-top:24px}.dictionary-board-brand p{font-size:14px;color:#66726f;margin-top:12px}.dictionary-specimen{background:#fff;border:1px solid #d6dfdb;padding:34px}.specimen-label{font-size:10px;color:#75817b}.specimen-title{margin-block:28px;display:flex;flex-direction:column;gap:12px}.specimen-title code{font:26px DM Mono,monospace;letter-spacing:-.055em}.specimen-title>span{color:#75817b;font-size:11px}.dictionary-specimen dl>div{border-top:1px solid #e5e9e6;display:flex;align-items:center;padding-block:16px;gap:32px;font-size:12px}.dictionary-specimen dt{color:#7b857f;white-space:nowrap}.specimen-foot{display:flex;justify-content:space-between;font-size:10px;color:#7b857f;margin-top:30px}.object-placeholder>.project-art{height:500px}.object-placeholder>p{font-size:12px;color:var(--muted);text-align:center;padding:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-heading h2{font-size:clamp(27px,3vw,40px);font-weight:450;letter-spacing:-.045em;line-height:1.4}.section-heading>p{color:var(--muted);font-size:12px;line-height:1.8;padding-bottom:4px}.decisions-section{padding-block:100px}.decision-list{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.decision-list article{border-top:1px solid var(--line);padding-top:24px}.decision-list article>span{font:10px DM Mono,monospace;color:var(--muted)}.decision-list h3{font-size:19px;font-weight:500;letter-spacing:-.025em;margin-top:25px;margin-bottom:13px}.decision-list p{font-size:13px;line-height:1.9;color:#727276}.next-project{display:flex;justify-content:space-between;align-items:center;margin-top:100px;padding-block:60px 70px;border-top:1px solid var(--line)}.next-project span{font-size:11px;color:var(--muted)}.next-project h2{font-size:clamp(30px,4vw,52px);font-weight:450;letter-spacing:-.05em;margin-top:17px}.next-project>svg{transition:transform .2s}.next-project:hover>svg{transform:translate(8px)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#f5f5f5ed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:fade-in var(--motion-base) var(--ease-out)}.lightbox-content{position:fixed;z-index:1001;top:35px;right:35px;bottom:35px;left:35px;display:flex;justify-content:center;align-items:center;outline:none;animation:panel-enter var(--motion-panel) var(--ease-out)}.lightbox-overlay[data-state=closed]{animation:fade-in var(--motion-fast) ease-in reverse}.lightbox-content[data-state=closed]{animation:panel-enter var(--motion-fast) ease-in reverse}@keyframes panel-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.lightbox-content>img{max-height:100%;width:auto;max-width:90%;-o-object-fit:contain;object-fit:contain}.lightbox-close{position:absolute;right:0;top:0;border-radius:50%;background:#fff;width:48px;height:48px;display:grid;place-items:center;box-shadow:0 2px 12px #0001}.workflow-section{padding-bottom:20px}.document-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.document-tabs{width:min(100%,280px);flex-shrink:0;position:relative;isolation:isolate;display:flex;border:0;background:var(--document-well, var(--paper));padding:4px;border-radius:12px}.document-tabs:before{content:"";position:absolute;z-index:-1;inset:4px auto 4px 4px;width:calc((100% - 8px)/2);border-radius:9px;background:var(--ink);box-shadow:0 1px 2px #00000012;transform:translate(0);transition:transform var(--motion-snap) var(--ease-snap)}.document-tabs:has(button:last-child[data-state=active]):before{transform:translate(100%)}.document-tabs button{flex:1 1 0;white-space:nowrap;min-height:44px;padding:10px 20px;font-size:12px;font-weight:500;color:var(--muted);border-radius:9px;transition:color var(--motion-snap) var(--ease-out)}.document-tabs button[data-state=active]{background:transparent;color:#fff}.print-button{display:flex;align-items:center;gap:8px;font-size:11px;color:#6e6e73;min-height:44px}.document-sheet{border:1px solid #dedee0;background:#fff}.document-sheet[data-state=active]{animation:document-enter var(--motion-base) var(--ease-out)}@keyframes document-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.document-header{padding:30px 5.5% 40px;border-bottom:1px solid var(--line)}.document-meta{display:flex;justify-content:space-between;color:#6e6e73;font:10px DM Mono,monospace}.document-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:45px}.document-type{font:10px DM Mono,monospace;color:var(--muted)}.document-title h3{font-size:clamp(30px,3.7vw,48px);font-weight:500;letter-spacing:-.045em;margin-top:14px}.document-title p{font-size:14px;margin-top:13px;color:#6e6e73}.document-number{font-size:clamp(64px,9vw,112px);letter-spacing:-.07em;font-weight:300;line-height:1;color:#e1e1e5}.document-body{padding-inline:5.5%}.doc-section{padding-block:40px;border-bottom:1px solid var(--line)}.doc-section:last-child{border-bottom:0}.doc-label{font-size:10px;color:#6e6e73;display:block;margin-bottom:26px}.doc-section>h4{font-size:clamp(21px,2.35vw,29px);font-weight:450;letter-spacing:-.035em;line-height:1.6;max-width:800px}.doc-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;margin-top:36px}.doc-section h5{font-size:13px;font-weight:500}.doc-columns ul{list-style:none;padding:0;margin:14px 0 0}.doc-columns li{font-size:12px;color:#737379;line-height:1.9;padding-block:2px}.architecture-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.architecture-list>div{border-top:1px solid #bbbbbf;padding-top:15px;display:flex;flex-direction:column;gap:13px}.architecture-list span{font:10px DM Mono,monospace;color:#6e6e73}.architecture-list strong{font-size:12px;font-weight:500;line-height:1.8}.requirements-head,.requirement-row{display:grid;grid-template-columns:.85fr 1.25fr 1.2fr;gap:30px}.requirements-head{font-size:10px;color:var(--muted);padding-block:12px;border-bottom:1px solid #bdbdc2}.requirement-row{padding-block:22px;border-bottom:1px solid var(--line)}.requirement-row:last-child{border-bottom:0;padding-bottom:0}.requirement-row code{font:10px DM Mono,monospace;color:var(--muted)}.requirement-row h5{margin-top:9px;line-height:1.6}.requirement-row p{font-size:12px;color:#69696f;line-height:1.9}.requirement-row .acceptance{color:#4a4a50}.mobile-label{display:none}.doc-section>p{font-size:13px;line-height:1.9;color:#69696f}.entity-list{word-spacing:8px}.stage-list{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;gap:20px;margin-top:30px}.stage-list li{border-top:1px solid #d4d4d9;padding-top:15px}.stage-list li>span{font:10px DM Mono,monospace;color:#6e6e73}.stage-list h5{margin-top:16px}.stage-list p{font-size:11px;line-height:1.9;margin-top:8px;color:#6e6e73}.document-footer{display:flex;justify-content:space-between;gap:16px;padding:20px 5.5%;font-size:10px;color:#6e6e73;border-top:1px solid var(--line)}.diagram-intro{margin-bottom:25px}.diagram-message{min-height:320px;display:grid;place-items:center;font-size:13px;color:var(--muted)}.diagram-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fafafa;border:1px solid #ebebed;padding:4px 10px 4px 18px}.diagram-tools>span{font-size:10px;color:#6e6e73}.diagram-tools>div{display:flex}.diagram-tools button,.diagram-tools a{width:40px;height:40px;display:grid;place-items:center;border-radius:3px}.diagram-tools button:hover,.diagram-tools a:hover{background:#ededf0}.diagram-viewport{width:100%!important;height:680px!important;border:1px solid #ebebed;border-top:0;background:#fcfcfc;cursor:grab}.diagram-viewport:active{cursor:grabbing}.diagram-content{width:100%!important}.diagram-svg{width:100%;padding:24px;display:flex;justify-content:center}.diagram-svg>svg{display:block;width:min(100%,540px);height:auto;flex:none}.path-text ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:25px 40px}.path-text li{display:flex;gap:15px;align-items:baseline}.path-text code{font:10px DM Mono,monospace;color:#6e6e73;white-space:nowrap}.path-text strong{font-size:12px;font-weight:500}.path-text p{margin-top:8px;font-size:11px;line-height:1.9;color:#6e6e73}@keyframes fade-in{0%{opacity:0}to{opacity:1}}::view-transition-group(*){animation-duration:var(--motion-panel);animation-timing-function:var(--ease-snap)}::view-transition-old(root),::view-transition-new(root){animation-duration:.21s}@media(min-width:1600px){.cover-phone{height:470px}}@media(max-width:1100px){.page-width{width:calc(100% - 72px)}.project-grid{gap:56px 24px}.cover-devices{gap:12px;padding:24px 12px}.cover-phone{height:440px}.card-aitron .cover-phone-1{display:none}.case-intro{gap:40px}.device-row{justify-content:flex-start;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory}.device-row figure{scroll-snap-align:center;width:250px}.device-row figure:first-child{margin-left:auto}.device-row figure:last-child{margin-right:auto}.about-section{grid-template-columns:.6fr 1.5fr 1.5fr}.decision-list{gap:25px}}@media(max-width:760px){.page-width{width:calc(100% - 40px)}.site-header{height:78px}.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:18px}.site-header nav{gap:20px;font-size:12px}.home-intro{padding-top:25px;padding-bottom:38px}.intro-top{font-size:10px;margin-bottom:20px}.home-intro h1{font-size:clamp(36px,10.8vw,70px);letter-spacing:-.075em;margin:0 0 0 -2px}.intro-bottom{grid-template-columns:1fr;gap:22px}.intro-bottom p{font-size:17px}.work-heading{margin-bottom:24px;padding-bottom:13px}.work-heading h2{font-size:18px}.work-filters{gap:clamp(11px,3.5vw,17px)}.work-filters button{font-size:12px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card,.is-filtered .project-card{grid-column:auto;margin-top:0;--cover-height: clamp(430px, 112vw, 560px)}.card-itemdesk,.is-filtered .card-itemdesk{--cover-height: clamp(465px, 124vw, 600px)}.card-baiziji,.is-filtered .card-baiziji{--cover-height: clamp(370px, 97vw, 490px)}.cover-phone{height:370px}.card-aitron .cover-phone-1{display:block}.cover-devices{gap:12px;padding:70px 12px 24px}.bz-cover-preview{padding:70px 26px 24px}.bz-cover-page{height:376px}.project-caption{padding-top:17px}.project-caption h3{font-size:18px}.project-caption p{font-size:11px;margin-top:6px}.card-open{opacity:1;transform:none;width:36px;height:36px;right:16px;bottom:16px}.card-open svg{width:18px}.dictionary-icon{width:178px}.card-scraper .project-cover{height:210px}.object-art>span{font-size:45px;gap:40px}.about-section{padding-block:85px;grid-template-columns:1fr;gap:22px}.about-section>.section-kicker{margin:0}.about-section h2{font-size:30px}.about-section>div{max-width:410px}.site-footer{gap:15px;font-size:10px;padding-bottom:26px}.case-nav{margin-top:18px}.case-header{padding-top:24px;padding-bottom:35px}.case-title-line h1{font-size:clamp(36px,7.7vw,57px);line-height:1.2}.case-title-line>span{display:none}.case-intro{grid-template-columns:1fr;gap:22px;margin-top:29px}.case-intro h2{font-size:25px}.case-intro>p{font-size:13px;line-height:1.9}.case-meta{margin-top:28px;padding-top:22px;gap:22px 32px}.case-meta dt{margin-bottom:8px}.case-meta dd{font-size:11px}.screen-gallery{padding:22px 20px;margin-inline:-20px}.gallery-topline{margin-bottom:30px;font-size:10px}.device-row{gap:22px}.device-row figure{width:235px}.device-row figcaption{font-size:10px}.gallery-note{margin-top:25px;text-align:left;line-height:1.8}.dictionary-board{grid-template-columns:1fr;padding:40px 25px;gap:38px}.dictionary-board-brand{text-align:center}.dictionary-board-brand h2{font-size:29px}.dictionary-board-brand .dictionary-icon{width:125px}.dictionary-specimen{padding:24px}.dictionary-specimen dl>div{gap:24px;font-size:11px}.object-placeholder>.project-art{height:360px}.decisions-section{padding-block:70px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:28px}.section-heading>p{margin-top:15px;font-size:11px}.section-kicker{margin-bottom:14px}.decision-list{grid-template-columns:1fr;gap:27px}.decision-list article{display:grid;grid-template-columns:30px 1fr;gap:13px 12px}.decision-list article>span{padding-top:5px}.decision-list h3{margin:0;font-size:18px}.decision-list p{grid-column:2;font-size:13px}.document-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.document-tabs{width:100%}.document-tabs button{flex:1;padding-inline:8px;font-size:11px}.print-button{min-height:34px;margin-left:auto}.document-header{padding:24px 22px 28px}.document-meta{font-size:8px;gap:20px}.document-title{margin-top:35px}.document-type{font-size:8px}.document-title h3{font-size:27px}.document-title p{font-size:12px}.document-number{font-size:62px}.document-body{padding-inline:22px}.doc-section{padding-block:30px}.doc-label{margin-bottom:20px}.doc-section>h4{font-size:21px}.doc-columns{grid-template-columns:1fr;gap:24px;margin-top:24px}.architecture-list{grid-template-columns:1fr 1fr;gap:22px 15px}.architecture-list strong{font-size:11px}.requirements-head{display:none}.requirement-row{grid-template-columns:1fr;gap:12px;padding-block:22px}.requirement-row:first-of-type{border-top:1px solid #bdbdc2}.requirement-row>div{display:flex;align-items:baseline;gap:15px}.requirement-row h5{margin:0;font-size:14px}.requirement-row .acceptance{border-left:2px solid #e3e3e7;padding-left:14px}.mobile-label{display:block;font-size:10px;color:#6e6e73;margin-bottom:4px}.stage-list{grid-template-columns:1fr 1fr;gap:24px 18px}.doc-section>p{font-size:12px}.document-footer{padding-inline:22px;font-size:9px;flex-wrap:wrap}.diagram-tools{padding-left:12px}.diagram-tools>span{font-size:9px;max-width:60px;line-height:1.5}.diagram-tools button,.diagram-tools a{width:34px}.diagram-viewport{height:590px!important}.diagram-svg{padding:16px}.diagram-svg>svg{width:100%}.diagram-content{width:100%!important}.path-text ol{grid-template-columns:1fr}.next-project{margin-top:65px;padding-block:35px 45px}.next-project h2{font-size:29px}.next-project>svg{width:30px}.lightbox-content{top:65px;right:12px;bottom:25px;left:12px}.lightbox-close{top:-50px;right:8px;width:40px;height:40px}}@media(max-width:490px){.card-aitron .cover-phone-1{display:none}}@media(hover:none),(pointer:coarse){.cursor-trail{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.cursor-trail{display:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media print{@page{size:A4;margin:14mm}body{min-width:0}.site-header,.site-footer,.skip-link,.cursor-trail,.case-nav,.case-header,.case-content>div,.decisions-section,.next-project,.workflow-section>.section-heading,.document-toolbar,.diagram-tools{display:none!important}.page-width{width:100%}.workflow-section,.case-content{margin:0;padding:0}.document-sheet{border:0}.document-header{padding:0 0 25px}.document-body,.document-footer{padding-inline:0}.doc-section{padding-block:24px}.requirement-row,.doc-columns,.stage-list,.document-header{-moz-column-break-inside:avoid;break-inside:avoid}.document-title h3{font-size:32px}.document-number{font-size:72px}.diagram-viewport{border:0;height:auto!important;overflow:visible!important}.diagram-content{transform:none!important;width:100%!important}.diagram-svg{padding:0;width:100%;min-width:0}.diagram-svg>svg{max-height:850px}.path-text ol{grid-template-columns:1fr 1fr}}.photo-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.photo-row figure:first-child{grid-column:1 / -1}.photo-row button{width:100%;padding:0;position:relative}.photo-row img{width:100%;height:auto}.photo-row figcaption{font-size:12px;color:var(--muted);margin-top:15px}.photo-row button:hover .screen-zoom{opacity:1}@media(max-width:760px){.photo-row{grid-template-columns:1fr}}.document-title{margin-top:24px}.document-title h3{margin-top:0;letter-spacing:-.03em}.document-baseline{padding-block:24px;border-bottom:1px solid #dedee0}.document-baseline p{max-width:72ch;font-size:14px;line-height:1.8;color:#46464c}.document-baseline p:first-child{font-weight:600;color:#202020;margin-bottom:8px}.flow-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.flow-choices button{min-height:44px;padding:10px 16px;border:1px solid #d4d4d8;border-radius:6px;font-size:13px;color:#46464c}.flow-choices button[aria-pressed=true]{background:#202020;border-color:#202020;color:#fff}.flow-choices button:focus-visible,.diagram-tools :is(button,a):focus-visible,.diagram-source-link:focus-visible{outline:2px solid #377ffe;outline-offset:3px}.workflow-section .diagram-viewport{height:auto!important;max-width:760px;margin-inline:auto}.workflow-section .diagram-svg{padding:16px}.workflow-section .diagram-svg>svg{width:100%}.workflow-section .diagram-tools{max-width:760px;margin-inline:auto}.workflow-section .diagram-tools :is(button,a){min-width:44px;min-height:44px}.diagram-source-link{display:block;width:-moz-fit-content;width:fit-content;margin-top:16px;font-size:12px;color:#46464c;text-decoration:underline;text-underline-offset:4px}.workflow-section .diagram-intro{margin-top:12px;max-width:72ch;color:#46464c}.workflow-section .path-text ol{grid-template-columns:1fr;max-width:72ch;gap:16px}.workflow-section .path-text li>span{color:#6e6e73;font-variant-numeric:tabular-nums}.workflow-section .path-text p{margin:0}@media(max-width:700px){.document-meta{gap:16px;flex-wrap:wrap}.flow-choices{flex-direction:column}.flow-choices button{text-align:left}.workflow-section .diagram-svg{padding:8px}}@media print{.flow-choices,.diagram-source-link{display:none}.workflow-section .diagram-viewport{aspect-ratio:auto!important}.workflow-section .diagram-svg>svg{max-height:none}}.document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.document-download{font-size:12px;color:#46464c;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}@media print{.document-actions{display:none}}.workflow-section .diagram-svg>svg{max-width:var(--diagram-width, 760px)}img.image-load-pending{opacity:0}@media(prefers-reduced-motion:reduce){img.image-load-pending{opacity:1}}.showcase-art{container-type:inline-size}.project-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate}.device-image{display:block;position:relative;aspect-ratio:900 / 1840}.device-image>.device-shell{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.device-image>.device-screen{position:absolute;top:2.5%;left:5.3333%;width:89.3334%;height:95%;border-radius:14%/6.4%;-o-object-fit:cover;object-fit:cover}.case-artwork{position:relative;height:clamp(480px,55vw,740px);overflow:hidden;isolation:isolate}.lightbox-content>.device-image{width:min(80vw,calc((100dvh - 70px) * 900 / 1840));flex:none}.vibe-label{position:absolute;z-index:4;top:0;right:0;padding:2px 4px;background:#dfff00;pointer-events:none}.vibe-label>img{display:block;width:48px;height:18px;-o-object-fit:contain;object-fit:contain}.cover-toggle{top:auto;bottom:3px;right:0}.aitron-identity{padding:0 0 64px}.aitron-identity-board{display:grid;grid-template-columns:1fr 1.65fr;background:#f3f4f5;min-height:330px}.aitron-identity-icon{display:grid;place-items:center;padding:40px;border-right:1px solid #1d1d1f0d}.aitron-identity-icon img{width:min(180px,100%)}.aitron-identity-wordmark{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:44px}.aitron-identity-wordmark>img{width:min(390px,100%)}.aitron-identity-downloads{display:flex;gap:24px;font-size:11px;color:#626269}.aitron-identity-downloads a{padding-block:12px;text-decoration:underline;text-underline-offset:4px}.dictionary-case-workbench{padding:0;background:transparent}.case-page .case-artwork-func-dictionary[class]:has(.func-demo){height:auto;overflow:visible}.dictionary-case-workbench>p{margin:24px 0 0;color:#5b6963;font-size:11px}.dictionary-case-window{height:auto;container-type:inline-size}@media(max-width:760px){.case-artwork{height:540px}.aitron-identity-board{min-height:210px;grid-template-columns:1fr 1.5fr}.aitron-identity-icon{padding:24px}.aitron-identity-wordmark{padding:22px;gap:20px}.aitron-identity-downloads{gap:14px;font-size:10px}.dictionary-case-window{height:auto}}@media(hover:none),(pointer:coarse),(max-width:760px){.project-card:has(.cover-toggle) .project-caption>span{display:none}.project-card:has(.cover-toggle) .project-caption{padding-right:95px}}.editorial-case-board{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.case-page .case-artwork[class]:has(.editorial-case-board){height:auto;aspect-ratio:1}.case-page .case-artwork-itemdesk[class]:has(.editorial-case-board){aspect-ratio:3 / 4}.case-page .case-artwork-func-dictionary[class]:has(.editorial-case-board),.case-page .case-artwork-scraper[class]:has(.editorial-case-board){aspect-ratio:2.5}.editorial-case-picture{display:contents}.curved-artwork,.curved-artwork-dom,.portfolio-board{position:absolute;top:0;right:0;bottom:0;left:0}.curved-artwork-dom img,.portfolio-board>img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.curved-artwork-reveal{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;clip-path:circle(0% at var(--reveal-x, 50%) var(--reveal-y, 50%));transition:clip-path .42s cubic-bezier(.22,1,.36,1)}.curved-artwork-dom>img:first-child{opacity:0;transition:opacity .24s ease-out}.curved-artwork[data-front-ready=true] .curved-artwork-dom>img:first-child{opacity:1;transition:none}.curved-artwork[data-preview=true][data-reveal-ready=true] .curved-artwork-reveal{clip-path:circle(150% at var(--reveal-x, 50%) var(--reveal-y, 50%))}.artwork-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:24px;color:#a8b6ca;background:#142133;font-size:12px;transition:opacity .2s ease-out}.artwork-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #2b394d}.curved-artwork[data-front-ready=true] .artwork-placeholder{opacity:0}.artwork-case-loading{display:grid;place-items:center;color:#4a5568;background:#e8edf2;min-height:260px}.case-artwork:has(.portfolio-board){height:auto;aspect-ratio:4 / 3}@media(prefers-reduced-motion:reduce){.artwork-placeholder,.curved-artwork-dom>img:first-child{transition:none}}.curved-artwork-dom>picture{display:contents}.curved-artwork{overflow:hidden;isolation:isolate}.curved-artwork[data-instant=true] .curved-artwork-reveal{transition:none}@media(prefers-reduced-motion:reduce){.curved-artwork-reveal{transition:none}}.dict-artwork{--dict-forest: #183f43;--dict-mint: #a8dcc5;position:absolute;top:0;right:0;bottom:0;left:0;container:dictionary-scene / inline-size;overflow:hidden;isolation:isolate;color:var(--dict-forest);background:var(--dict-forest)}.dict-board-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.dict-workbench-placement{position:absolute;z-index:2;top:37%;right:4.8%;bottom:7.5%;left:34%}.dict-workbench-placement>.dict-workbench{border-color:#edf4e4;border-radius:clamp(5px,1.1cqw,12px);box-shadow:0 1px #fffc,0 2.5cqw 3.5cqw -1.1cqw #143f3c55,0 .5cqw .8cqw #183f431a}.dict-artwork-case .dict-workbench-placement{top:31%;left:30%;right:4.8%;bottom:6%}.dict-query{display:flex;align-items:center;min-width:0;gap:14px;padding:17px 19px;font-size:clamp(16px,4.1cqw,27px);font-weight:450;letter-spacing:-.035em;line-height:1.3;border:1px solid #c9d5c3;border-radius:8px;background:#fbfcf8}.dict-query>svg{width:23px;height:23px;flex:none;color:#73907b}.dict-query>span:not(.dict-query-key){min-width:0}.dict-query-key{margin-left:auto;font-size:20px;color:#809680}@container dictionary-scene (max-width: 420px){.dict-workbench-placement,.dict-artwork-case .dict-workbench-placement{top:38%;left:22%;right:4.5%;bottom:5%}.dict-workbench-placement .dict-window-bar{height:23px;padding-inline:8px;font-size:7px}.dict-workbench-placement .dict-window-controls{gap:3px}.dict-workbench-placement .dict-window-controls>i{width:5px;height:5px}.dict-workbench-placement .dict-window-body{height:calc(100% - 23px)}.dict-workbench-placement .dict-results{padding:5px 8px}.dict-workbench-placement .dict-query-compact{padding:4px;font-size:8px}.dict-workbench-placement .dict-entry{padding:6px 8px}.dict-workbench-placement .dict-entry-header h3{font-size:11px;margin-block:3px}.dict-workbench-placement .dict-entry-header>code{font-size:7px}.dict-workbench-placement .dict-entry-location{margin-top:5px;padding-top:4px}.dict-workbench-placement .dict-entry-location h4{display:none}.dict-workbench-placement .dict-source-file{margin-top:0;font-size:7px}}.dict-workbench{height:100%;min-height:0;color:#273e34;background:#fbfcf8;border:1px solid #a7bdb077;border-radius:10px;overflow:hidden;box-shadow:0 20px 55px #05282038;container:dictionary-workbench / inline-size}.dict-window-bar{display:flex;height:32px;padding:0 12px;align-items:center;gap:12px;border-bottom:1px solid #d7e0d7;background:#eef2e9;font-size:9px;color:#687b6c}.dict-window-bar>span{margin-inline:auto}.dict-window-controls{display:flex;gap:5px}.dict-window-controls>i{display:block;width:7px;height:7px;border-radius:50%;background:#da7c73}.dict-window-controls>i:nth-child(2){background:#d4b268}.dict-window-controls>i:nth-child(3){background:#84b592}.dict-window-body{display:grid;grid-template-columns:17% 30% minmax(0,1fr);height:calc(100% - 32px)}.dict-sidebar{display:flex;flex-direction:column;min-width:0;padding:16px 7px 12px;background:#e8efe3;border-right:1px solid #dce4d8}.dict-ui-eyebrow{font-size:9px;line-height:1.4;color:#91a08f}.dict-sidebar>.dict-ui-eyebrow{padding-left:5px}.dict-project-selected{display:flex;align-items:center;gap:5px;margin-top:13px;padding:7px 5px;background:#d9e5d3;border-radius:4px;font-size:8px}.dict-project-selected>svg{flex:none}.dict-project-selected>span{min-width:0;overflow-wrap:anywhere}.dict-sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:5px;font-size:8px;color:#8f9d89}.dict-results{min-width:0;padding:17px 7px;border-right:1px solid #e4e9df}.dict-results-heading{margin-bottom:12px;font-size:10px;font-weight:600}.dict-query-compact{padding:7px 5px;gap:4px;font-size:9px;line-height:1.5;border-color:#d7e0d2;border-radius:5px}.dict-query-compact>svg{width:10px;height:10px}.dict-query-compact>span{overflow-wrap:anywhere}.dict-result-list{margin-top:10px}.dict-result-row{display:flex;flex-direction:column;min-width:0;gap:6px;padding:10px 6px;border-radius:5px;margin-block:3px}.dict-result-row.is-selected{background:#d8e8d6}.dict-result-title{font-size:9px;font-weight:550;line-height:1.4}.dict-result-row code{font:8px/1.5 DM Mono,monospace;overflow-wrap:anywhere;color:#607758}.dict-result-location{font:7px/1.5 DM Mono,monospace;overflow-wrap:anywhere;color:#99a48f}.dict-entry{min-width:0;padding:17px 15px;overflow:hidden}.dict-entry-header h3{margin:8px 0;font-size:15px;letter-spacing:-.045em;line-height:1.3;font-weight:600}.dict-entry-header>code{color:#5c8263;font:9px/1.6 DM Mono,monospace;overflow-wrap:anywhere}.dict-entry-header>p{margin:10px 0 0;color:#89957f;font-size:9px;line-height:1.65}.dict-entry h4{display:flex;align-items:center;gap:5px;margin:0 0 9px;font-size:9px;font-weight:550}.dict-entry-location,.dict-entry-callers{margin-top:15px;padding-top:13px;border-top:1px solid #e0e7d9}.dict-entry-location>code{display:block;font:8px/1.7 DM Mono,monospace;color:#597453;overflow-wrap:anywhere}.dict-source-file{display:flex;flex-direction:column;gap:4px;margin-top:10px;font:8px/1.6 DM Mono,monospace;overflow-wrap:anywhere}.dict-source-file>span{color:#9ba58f}.dict-source-file>strong{color:#64825c;font-weight:400;text-decoration:underline;text-underline-offset:3px}.dict-entry-callers>div{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:7px;font:8px/1.5 DM Mono,monospace}.dict-entry-callers code{min-width:0;overflow-wrap:anywhere}.dict-entry-callers>div>span{color:#9ca68f}.dict-entry-output{margin-top:17px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:8px;color:#859b7c}.dict-entry-output code{font-size:inherit;overflow-wrap:anywhere}@container dictionary-workbench (min-width: 650px){.dict-window-bar{height:39px;font-size:12px}.dict-window-body{height:calc(100% - 39px);grid-template-columns:18% 30% minmax(0,1fr)}.dict-sidebar{padding:25px 16px 17px}.dict-ui-eyebrow{font-size:11px}.dict-project-selected{font-size:11px;padding:10px 8px;gap:8px}.dict-sidebar-foot{font-size:10px}.dict-results{padding:26px 16px}.dict-results-heading{font-size:14px}.dict-query-compact{font-size:12px;padding:10px 8px}.dict-query-compact>svg{width:14px;height:14px}.dict-result-row{padding:15px 10px;gap:9px}.dict-result-title{font-size:13px}.dict-result-row code{font-size:10px}.dict-result-location{font-size:9px}.dict-entry{padding:25px 28px}.dict-entry-header h3{font-size:24px;margin-block:12px}.dict-entry-header>code{font-size:13px}.dict-entry-header>p{font-size:12px;max-width:28em}.dict-entry h4{font-size:12px}.dict-entry-location,.dict-entry-callers{margin-top:18px;padding-top:17px}.dict-entry-location>code,.dict-source-file,.dict-entry-callers>div,.dict-entry-output{font-size:11px}}@container dictionary-workbench (max-width: 360px){.dict-window-body{grid-template-columns:33px minmax(0,1fr)}.dict-sidebar{grid-column:1;grid-row:1 / 3;padding:15px 5px}.dict-sidebar>.dict-ui-eyebrow,.dict-project-selected>span,.dict-sidebar-foot>span{display:none}.dict-project-selected{padding:7px 4px;margin-top:0}.dict-sidebar-foot{padding:3px}.dict-results{padding:10px 12px;border-right:0;border-bottom:1px solid #dce4d8}.dict-results-heading,.dict-result-list{display:none}.dict-query-compact{font-size:10px;padding:8px}.dict-query-compact>svg{width:12px;height:12px}.dict-entry{grid-column:2;padding:12px}.dict-entry-header>.dict-ui-eyebrow{font-size:8px}.dict-entry-header h3{font-size:15px;margin:5px 0}.dict-entry-header>p,.dict-entry-location>code,.dict-source-file>span{display:none}.dict-entry-location,.dict-entry-callers{margin-top:10px;padding-top:9px}.dict-entry h4{margin-bottom:6px}.dict-entry-callers>div{margin-top:5px}.dict-entry-output{display:none}.dict-source-file{margin-top:6px}.dict-window-body{grid-template-rows:auto minmax(0,1fr)}}.func-demo-playground{min-width:0;width:100%;color:#173e31;font-family:Noto Sans SC,PingFang SC,sans-serif}.func-demo{color:#173e31;background:#f8faf7;border:1px solid #c5d4c8;border-radius:16px;overflow:hidden;font-family:Noto Sans SC,PingFang SC,sans-serif;box-shadow:0 12px 32px #173e3109}.func-demo-bar{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #c5d4c8;font-size:13px}.func-demo-body{padding:24px}.func-demo code{font-family:DM Mono,Menlo,monospace;overflow-wrap:anywhere}.func-demo-query{display:flex;align-items:center;gap:10px;background:#fff;padding:8px 12px;border:1px solid #b4c9bd;border-radius:9px;margin-bottom:18px}.func-demo-query>svg{flex:none}.func-demo-query input{min-width:0;width:100%;min-height:32px;background:none;border:0;outline:0;font:inherit;font-size:14px;color:inherit}.func-demo-query:focus-within{outline:2px solid #315e4b;outline-offset:3px}.func-demo-query-actions{display:flex;gap:2px}.func-demo-query-actions button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.func-demo-query-actions button:disabled{opacity:.3;cursor:default}.func-demo-results{display:grid;gap:8px;overflow-anchor:none}.func-demo-result{border:1px solid #c5d4c8;border-radius:9px;overflow:hidden;transition:background-color var(--motion-snap) var(--ease-snap),border-color var(--motion-snap) var(--ease-snap)}.func-demo-result[data-selected=true]{border-color:#a5bda9}.func-demo-result-trigger{position:relative;display:flex;align-items:center;gap:12px;padding:18px 16px;width:100%;min-height:58px;text-align:left;color:inherit;border:0;background:transparent;cursor:pointer;transition:background-color var(--motion-snap) var(--ease-snap)}.func-demo-result-trigger[aria-expanded=true]{background:#dce9dd}.func-demo-result-trigger strong{font-size:16px;font-weight:600}.func-demo-result-trigger code{font-size:14px}.func-demo-chevron{flex:none;margin-left:auto;transition:transform var(--motion-snap) var(--ease-snap)}.func-demo-result-trigger[aria-expanded=true] .func-demo-chevron{transform:rotate(180deg)}.func-demo-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--motion-base) var(--ease-expand),visibility 0s var(--motion-base)}.func-demo-panel[data-open=true]{grid-template-rows:1fr;visibility:visible;transition-delay:0s}.func-demo-panel-clip{min-height:0;overflow:hidden}.func-demo-entry{padding:20px 24px 24px;min-width:0;opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}.func-demo-panel[data-open=true] .func-demo-entry{opacity:1;transition-duration:var(--motion-base)}.func-demo-entry-top{font-size:12px;color:#4f6b5b;margin-bottom:12px}.func-demo-entry>p{font-size:14px;line-height:1.8;margin:15px 0 22px}.func-demo-section{padding:20px 0;border-top:1px solid #d4dfd6}.func-demo-section h4{font-size:13px;margin:0 0 14px;font-weight:600}.func-demo-section h4 span{float:right;color:#4f6b5b;font-size:11px;font-weight:400}.func-demo-section ol{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0;padding-left:20px;font-size:13px;line-height:1.8}.func-demo-params{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.func-demo-params>div{padding:14px 12px;background:#eef3ec;border-radius:8px}.func-demo-params dt{font-size:12px}.func-demo-params dt code{display:block;margin-top:6px;font-size:11px;color:#4f6b5b}.func-demo-params dd{display:flex;align-items:baseline;gap:4px;margin:14px 0 0;font:22px DM Mono,Menlo,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.func-demo-source>code{display:block;font-size:12px;line-height:1.7}.func-demo-test{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.func-demo-test button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:96px;border:0;border-radius:8px;background:#173e31;color:#f8faf7;padding:10px 16px;font:inherit;font-size:13px;cursor:pointer}.func-demo-test button,.func-demo-query-actions button{transition:transform var(--motion-fast) var(--ease-out),background-color var(--motion-snap) var(--ease-snap)}.func-demo[data-input=pointer] :is(.func-demo-test,.func-demo-query-actions) button:not(:disabled):active{transform:scale(.97)}.func-demo-result-trigger:active{background:#d4e3d7}.func-demo button:focus-visible,.func-demo-preview-card:focus-visible{outline:2px solid #315e4b;outline-offset:-3px}.func-demo-empty,.func-demo-error{font-size:12px;line-height:1.8;color:#4f6b5b}.func-demo-compact{border-color:transparent;box-shadow:none;border-radius:16px}.func-demo-compact .func-demo-body{padding:24px}.func-demo-compact .func-demo-query{padding:0 8px 10px;margin-bottom:12px;background:transparent;border:0;border-bottom:1px solid #d4dfd6;border-radius:0}.func-demo-compact .func-demo-query input{font-size:18px;font-weight:500}.func-demo-compact .func-demo-results{gap:0}.func-demo-compact .func-demo-result{border:0;border-radius:9px}.func-demo-compact .func-demo-result[data-selected=true]{background:#e5eee8}.func-demo-compact .func-demo-result-trigger{padding:14px;min-height:52px}.func-demo-compact .func-demo-result-trigger[aria-expanded=true]{background:transparent}.func-demo-compact .func-demo-result+.func-demo-result{border-top:1px solid #d4dfd6}.func-demo-compact .func-demo-result-trigger strong{flex:0 0 132px}.func-demo-compact .func-demo-result-trigger code{font-size:17px}.func-demo-owner{margin-left:auto;color:#4f6b5b;font-size:11px;opacity:0;transition:opacity var(--motion-snap) var(--ease-snap)}.func-demo-result[data-selected=true] .func-demo-owner{opacity:1}.func-demo-owner+.func-demo-chevron{margin-left:0}.func-demo-compact .func-demo-entry{padding:0 14px 16px;min-height:148px}.func-demo-compact .func-demo-params>div{background:#f8faf7}.func-demo-compact .func-demo-params dt code{display:inline;margin:0;font-size:inherit;color:inherit}.func-demo-param-label{display:inline-block;white-space:nowrap}.func-demo-param-label:before{content:" / ";white-space:pre}.func-demo-compact .func-demo-params dd{margin-top:12px;font-size:24px}.func-demo-compact-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.func-demo-compact-footer .func-demo-source{min-width:0}.func-demo-compact-footer .func-demo-source p{margin:4px 0 0;font-size:11px;line-height:1.6}.func-demo-compact .func-demo-test{flex:none}.func-demo-compact .func-demo-test button{min-width:80px;background:transparent;color:#173e31;border:1px solid #c5d4c8;font-size:11px;padding:8px 10px}.func-demo-compact-structure{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style-position:inside;margin:0;padding:0}.func-demo-compact-structure li{padding:20px 12px;border-radius:8px;background:#f8faf7;font-size:12px;line-height:1.8}@media(hover:hover)and (pointer:fine){.func-demo-result-trigger:hover{background:#e2ebe0}.func-demo-compact .func-demo-result-trigger:hover{background:#dce8df}.func-demo-query-actions button:not(:disabled):hover{background:#dce9dd}.func-demo-test button:hover{background:#295443}.func-demo-compact .func-demo-test button:hover{background:#d7e5db}}.func-demo[data-input=keyboard] :is(.func-demo-result,.func-demo-result-trigger,.func-demo-chevron,.func-demo-owner,.func-demo-panel,.func-demo-entry,.func-demo-test button,.func-demo-query-actions button){transition:none}@container func-demo (max-width: 600px){.func-demo-body,.func-demo-compact .func-demo-body,.func-demo-bar{padding:16px}.func-demo-query{gap:8px;padding:6px 10px}.func-demo-query-actions button{width:36px;height:40px}.func-demo-result-trigger{padding:14px;gap:8px}.func-demo-result-trigger strong{font-size:14px}.func-demo-result-trigger code{font-size:12px}.func-demo-entry{padding:18px 14px}.func-demo-params{gap:6px}.func-demo-params>div{padding:12px 8px}.func-demo-params dd{font-size:18px}.func-demo-compact .func-demo-query{padding-inline:0}.func-demo-query input,.func-demo-compact .func-demo-query input{font-size:16px}.func-demo-compact .func-demo-result-trigger{gap:8px;padding:12px 10px}.func-demo-compact .func-demo-result-trigger strong{flex-basis:auto;min-width:78px}.func-demo-compact .func-demo-result-trigger code{font-size:13px}.func-demo-owner{display:none}.func-demo-owner+.func-demo-chevron{margin-left:auto}.func-demo-compact .func-demo-entry{padding:0 10px 14px}.func-demo-compact .func-demo-params dt{font-size:10px;line-height:1.6}.func-demo-compact .func-demo-params dt code,.func-demo-param-label{display:block}.func-demo-param-label:before{content:none}.func-demo-compact .func-demo-params dd{font-size:18px}.func-demo-compact-footer{align-items:flex-start;flex-direction:column;margin-top:12px}.func-demo-compact-structure{grid-template-columns:1fr}.func-demo-compact-structure li{padding:10px}}@media(prefers-reduced-motion:reduce){.func-demo *,.func-demo *:before,.func-demo *:after{transition:none!important;animation:none!important}.func-demo button:not(:disabled):active{transform:none}}.func-demo-param-value{width:100%;min-width:0;padding:2px 0;border:0;border-bottom:1px solid #b4c9bd;border-radius:0;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.func-demo-param-value::-webkit-inner-spin-button,.func-demo-param-value::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.func-demo-param-value:focus-visible{outline:2px solid #315e4b;outline-offset:3px}.func-demo-param-value[aria-invalid=true]{border-color:#a6422a}.func-demo-param-unit{flex:none;font-size:.65em}.func-demo-param-error{display:block;margin-top:8px;color:#a6422a;font-size:10px}.func-demo-test button:disabled{opacity:.4;cursor:default}.func-demo-preview-card[data-testing=true]{position:relative;z-index:1}.func-demo-parameter-title{margin:20px 0 12px;font-size:12px;color:#4f6b5b;font-weight:500}.func-demo-testbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.func-demo-key-hint{color:#4f6b5b;font-size:11px}.func-demo-key-hint kbd{padding:3px 6px;margin-right:4px;border:1px solid #c5d4c8;border-radius:4px;font:inherit}.func-demo-preview{display:grid;place-items:center;padding:32px 16px;overflow:clip}.func-demo-preview-card{width:min(100%,290px);min-height:164px;display:grid;justify-items:center;align-content:center;gap:12px;padding:22px;border:1px solid #c5d4c8;border-radius:14px;background:#f8faf7;color:#173e31;box-shadow:0 10px 24px #173e3110;font:inherit;cursor:pointer}.func-demo-preview-card strong{font-size:20px;font-weight:560;letter-spacing:-.02em;text-wrap:balance}.func-demo-preview-card>span{color:#4f6b5b;font-size:11px}.func-demo-preview-card:disabled{cursor:default;opacity:.5}@media(hover:hover)and (pointer:fine){.func-demo-preview-card:not(:disabled):hover{border-color:#74988a}}.home-page{--home-surface: #080d18;--home-ink: #edf4ff;--home-muted: #a8b6ca;--home-line: #2b394d;--home-accent: #9bc8f5;--home-ease: var(--ease-out);color:var(--home-ink)}body:has(.home-page){--layer-sky: 0;--layer-grid: 1;--layer-content: 2;--layer-outro: 3;--layer-navigation: 5;--layer-cursor: 10;--layer-sculpture: 20;background:#080d18;color:#edf4ff}body:has(.home-page) .page-width{width:calc(100% - 112px);max-width:1760px}body:has(.home-page) .site-header{position:absolute;left:0;right:0;top:0;height:96px;z-index:var(--layer-navigation);border:0;color:#edf4ff}body:has(.home-page) .site-header nav{font-size:14px}body:has(.home-page) .wordmark{font-family:Inter Variable,sans-serif;letter-spacing:-.04em}body:has(.home-page) .site-grid{z-index:var(--layer-grid);stroke:#c0d9ef}body:has(.home-page) .cursor-trail{z-index:var(--layer-cursor)}.home-masthead{height:max(760px,100svh);max-height:1180px;width:100%;position:relative;background:transparent}.hero-stickers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:clip;pointer-events:none;opacity:var(--hero-copy-opacity, 1)}.hero-stickers canvas{display:block;width:100%;height:100%}.code-text{display:inline-block;position:relative;max-width:100%;vertical-align:baseline}.code-text-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.code-text-canvas[hidden]{display:none}.masthead-intro{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);padding-top:120px;gap:12px}.masthead-discipline{font:500 26px/1.2 Inter Variable,sans-serif;letter-spacing:-.03em}.masthead-description{grid-column:1;font-size:16px;line-height:1.7}.masthead-copy{position:absolute;left:0;right:0;bottom:116px;z-index:2}.home-masthead h1{margin-left:-.035em;font:680 clamp(64px,6.65vw,96px) / .98 "Inter Variable",sans-serif;letter-spacing:-.04em}.home-masthead h1>span{display:block}.home-masthead h1>span+span{margin-top:.06em}.masthead-sculpture{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;background:transparent}.sculpture-sky{background:radial-gradient(ellipse at 68% 26%,#354c68 0%,transparent 60%),radial-gradient(ellipse at 24% 72%,#223c53,#080d18 70%)}.sculpture-hero-background,.sculpture-glass{position:fixed;height:max(760px,100svh);max-height:1180px;contain:paint}.sculpture-hero-background{z-index:var(--layer-sky)}.sculpture-glass{z-index:var(--layer-sculpture)}.masthead-intro,.masthead-copy,.masthead-baseline{opacity:var(--hero-copy-opacity, 1)}body:has(.home-page){color-scheme:dark}body:has(.home-page) :is(button,a,[tabindex]):focus-visible{outline-color:#9bc8f5}.sculpture-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;visibility:hidden}.sculpture-fallback{position:absolute;width:39%;height:45%;left:29.5%;top:25.5%;transform:perspective(900px) scale(var(--flight-scale, 1)) rotateY(var(--flight-rotation, 0rad));transform-origin:center}.masthead-sculpture[data-renderer=webgl] .sculpture-canvas{visibility:inherit}.masthead-sculpture[data-renderer=webgl] .sculpture-fallback{visibility:hidden}.masthead-baseline{display:flex;align-items:center;justify-content:space-between;position:absolute;left:0;right:0;bottom:32px;z-index:2}.masthead-year{font:11px/1.5 DM Mono,monospace}.masthead-down{display:inline-flex;align-items:center;gap:16px;min-height:52px;font-size:13px}.masthead-down-icon{width:52px;height:52px;border:1px solid #a8b6ca;border-radius:50%;display:grid;place-items:center;transition:background .22s,color .22s,transform .4s var(--home-ease)}.masthead-down:hover .masthead-down-icon{color:var(--home-surface);background:var(--home-ink);transform:translateY(3px)}.home-work{opacity:var(--work-outro-opacity, 1);padding:76px 0 112px;position:relative;z-index:2;scroll-margin-top:28px}.home-work .project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:clamp(16px,2vw,28px);column-gap:clamp(16px,2vw,28px);row-gap:clamp(72px,8vw,128px);align-items:start}.home-work .project-card,.home-work .is-filtered .project-card{grid-column:span 5;margin:0}.home-work .card-func-dictionary,.home-work .is-filtered .card-func-dictionary{grid-column:5 / -1}.home-work .card-aitron,.home-work .is-filtered .card-aitron{grid-column:7 / 12}.home-work .card-itemdesk,.home-work .is-filtered .card-itemdesk,.home-work .card-baiziji,.home-work .is-filtered .card-baiziji{grid-column:1 / 6}.home-work .card-scraper,.home-work .is-filtered .card-scraper{grid-column:5 / -1}@media(min-width:1101px){.home-work .card-func-dictionary{grid-column:4 / 12}.home-work .card-itemdesk{grid-column:1 / 6}.home-work .card-aitron{grid-column:8 / -1;margin-top:clamp(96px,10vw,180px)}.home-work .card-baiziji{grid-column:2 / 6;margin-top:clamp(16px,2vw,36px)}.home-work .card-scraper{grid-column:7 / -1;margin-top:clamp(180px,16vw,260px)}}.home-work .project-cover{height:auto;aspect-ratio:1;border-radius:0;background:transparent}.home-work .card-func-dictionary .project-cover{aspect-ratio:2.5}.home-work .card-func-dictionary .curved-artwork-dom{background:#e5eee8}.home-work :is(.card-func-dictionary,.card-scraper,.card-aitron) .curved-artwork-dom img{-o-object-fit:contain;object-fit:contain}.home-work .card-scraper .curved-artwork-dom{background:#ff6b20}.home-work .card-itemdesk .project-cover{aspect-ratio:3 / 4}.home-work .project-card.card-scraper .project-cover{width:100%;height:auto;aspect-ratio:2.5}.home-work .is-filtered .card-scraper .project-cover{aspect-ratio:2.5}.home-work .is-filtered .scraper-studio-object{width:94%;left:4%;top:21%}.home-work .project-caption{padding:19px 96px 0 0;min-height:47px}.home-work .project-caption h3{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:470;letter-spacing:-.02em;line-height:1.5}.home-work .project-description{margin-top:5px;color:var(--home-muted);font-size:14px;line-height:1.65;letter-spacing:0}.home-work .project-card:has(.project-description) .cover-toggle{bottom:22px}.project-title-arrow{width:16px;height:16px;flex:0 0 auto;opacity:0;transform:translate(-4px,4px);transition:transform .25s var(--home-ease),opacity .2s}.project-link:hover .project-title-arrow,.project-link:focus-visible .project-title-arrow{opacity:1;transform:none}.home-work .cover-toggle{display:inline-flex;inset:auto -5px -5px auto;min-width:84px;min-height:44px;gap:9px;padding:5px;align-items:center;justify-content:flex-end;box-shadow:none;border:0;border-radius:0;background:transparent;color:var(--home-muted);font-size:13px}.home-work .cover-toggle:hover,.home-work .cover-toggle[aria-expanded=true]{color:var(--home-ink)}.home-work .cover-toggle svg{width:18px;height:18px;transition:transform .25s var(--home-ease)}.home-work .cover-toggle[aria-expanded=true] svg{transform:translateY(-2px)}.footer-baseline{width:100%;display:flex;align-items:center;gap:24px}.footer-baseline>a:last-child{margin-left:auto}.home-footer{--footer-screen: 100svh;--footer-screen: 100dvh;position:relative;z-index:var(--layer-outro);display:block;width:100%;min-height:var(--footer-screen);padding:0;border:0;background:transparent;color:#edf4ff}.home-footer[data-reveal]{height:calc(var(--footer-screen) * 2);margin-top:calc(var(--footer-screen) * -1);pointer-events:none}.footer-scene{position:sticky;top:0;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;width:100%;height:var(--footer-screen);padding:clamp(72px,12svh,150px) 0 28px;gap:clamp(24px,7svh,72px);overflow:clip;background:#080d18;opacity:var(--footer-opacity, 1);pointer-events:var(--footer-pointer, auto)}.footer-scene>.site-grid{position:absolute;top:0;right:0;bottom:0;left:0}.footer-invitation,.footer-signature,.home-footer .footer-baseline{position:relative;z-index:2;opacity:var(--footer-copy-opacity, 1)}.footer-invitation{display:grid;grid-template-columns:1fr;align-items:center}.footer-invitation h2{font-size:clamp(34px,4.8vw,68px);font-weight:500;line-height:1.25;letter-spacing:-.03em}.footer-signature{display:block;font:650 clamp(24px,5.1vw,72px) / 1 "Inter Variable",sans-serif;letter-spacing:-.04em;margin-block:auto 0;text-decoration-line:underline;text-decoration-thickness:.035em;text-underline-offset:.16em;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.footer-signature:focus-visible{outline:2px solid #9bc8f5;outline-offset:8px}.home-footer .footer-baseline{border-top:0;padding-top:24px;font:12px/1.5 DM Mono,monospace}.footer-baseline a{min-height:44px;display:inline-flex;align-items:center;gap:12px}@media(max-width:760px){.footer-scene{padding-top:max(64px,12svh);gap:52px}.footer-invitation{grid-template-columns:1fr;gap:24px}.footer-signature{font-size:clamp(18px,4.9vw,37px)}}@media(max-width:1100px){body:has(.home-page) .page-width{width:calc(100% - 72px)}.masthead-discipline{font-size:22px}.masthead-note,.masthead-description{font-size:14px}.home-work .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 20px}.home-work .project-card,.home-work .is-filtered .project-card{grid-column:auto}.home-work :is(.card-itemdesk,.card-func-dictionary,.card-scraper),.home-work .is-filtered :is(.card-itemdesk,.card-func-dictionary,.card-scraper){grid-column:1 / -1}}@media(max-width:760px){body:has(.home-page) .page-width{width:calc(100% - 40px)}body:has(.home-page) .site-header{height:76px}body:has(.home-page) .site-header nav{font-size:12px;gap:22px}body:has(.home-page) .wordmark{font-size:17px}.home-masthead,.sculpture-hero-background,.sculpture-glass{height:max(700px,100svh);max-height:940px}.masthead-intro{padding-top:100px;grid-template-columns:1fr 1fr;gap:20px}.masthead-discipline{font-size:21px;max-width:8em}.masthead-note{display:none}.masthead-description{grid-column:1;font-size:13px}.masthead-copy{bottom:122px}.home-masthead h1{font-size:clamp(37px,8.9vw,68px)}.sculpture-fallback{width:88%;left:6%;height:45%;top:25%}.masthead-baseline{bottom:28px}.masthead-down{font-size:12px;gap:12px}.masthead-down-icon{width:46px;height:46px}.home-work{padding:42px 0 64px;scroll-margin-top:16px}.home-work .project-caption{padding-top:15px;min-height:43px}.home-work .project-caption h3{font-size:16px}.home-work .project-description{font-size:13px}.project-title-arrow{opacity:.55;transform:none}.home-work .cover-toggle{bottom:-4px;font-size:12px}}@media(prefers-reduced-motion:reduce){.sculpture-fallback{transform:none}.masthead-copy{animation:none}.masthead-down-icon,.project-title-arrow,.home-work .cover-toggle svg{transform:none!important;transition:none}}@media(max-height:600px){.footer-scene{padding-block:28px 16px;gap:20px}.footer-invitation{grid-template-columns:1fr;gap:16px}.footer-invitation h2{font-size:clamp(28px,8dvh,48px)}.footer-signature{font-size:min(5.1vw,10dvh,62px)}.home-footer .footer-baseline{padding-top:12px}}@font-face{font-family:Nothing You Could Do;src:url(../fonts/nothing-you-could-do.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.site-header nav a[aria-current=location]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.resume-content{padding:0}.resume-hero{display:grid;grid-template-columns:1fr 2fr;padding-bottom:24px;gap:0}.resume-portrait{padding-right:20%}.resume-photo{position:relative}.resume-photo img{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.resume-signature{font-family:Nothing You Could Do,cursive;color:#ffe04b;font-size:clamp(2.75rem,4.7vw,5rem);line-height:1;position:absolute;left:-.22em;top:-.2em;transform:rotate(-14deg);pointer-events:none}.resume-portrait figcaption{display:flex;flex-direction:column;gap:8px;margin-top:24px;color:var(--home-muted);font-size:.875rem}.resume-portrait .resume-name{color:var(--home-ink);font-size:1.25rem}.resume-intro h2{font-size:clamp(1.875rem,2.7vw,3.25rem);font-weight:450;line-height:1.5;letter-spacing:-.035em;text-wrap:balance}.resume-lead{margin-top:24px;font-size:clamp(1.25rem,1.65vw,2rem);line-height:1.4;letter-spacing:-.025em;color:var(--home-muted);text-wrap:pretty}.resume-lead a{color:var(--home-ink);text-decoration:underline;text-decoration-color:var(--home-line);text-decoration-thickness:1px;text-underline-offset:6px;transition:text-decoration-color .16s ease}.resume-lead a:hover{text-decoration-color:var(--home-ink)}.resume-actions{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px}.resume-actions a{display:inline-flex;align-items:center;gap:12px;font-size:.9375rem;min-height:44px}.resume-actions a:hover{text-decoration:underline;text-underline-offset:5px}.resume-section{display:grid;grid-template-columns:1fr 2fr;padding:48px 0 64px;border-top:1px solid var(--home-line)}.resume-section h3{font-size:1.5rem;font-weight:500;letter-spacing:-.025em}.resume-section-content{display:flex;flex-direction:column;gap:44px}.resume-entry-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 24px}.resume-entry h4{font-size:1.65rem;font-weight:500;letter-spacing:-.025em}.resume-entry-heading h4 a{display:inline-flex;align-items:center;gap:6px;min-height:44px}.resume-entry-heading a:hover{text-decoration:underline;text-underline-offset:5px}.resume-entry-heading>span{color:var(--home-muted);font-size:.875rem;font-variant-numeric:tabular-nums}.resume-entry-role{margin:4px 0 14px;color:var(--home-muted)}.resume-entry>p,.resume-skills{font-size:1rem;line-height:1.85}.resume-entry>p:last-child{max-width:68ch;color:var(--home-muted);text-wrap:pretty}.resume-skills{display:flex;flex-direction:column;gap:24px}.resume-skills div{display:grid;grid-template-columns:140px 1fr;gap:24px}.resume-skills dt{font-weight:500}.resume-skills dd{color:var(--home-muted);max-width:60ch}@media(max-width:1100px){.resume-portrait{padding-right:15%}.resume-hero{padding-bottom:24px}.resume-signature{font-size:3.5rem}}@media(max-width:760px){.resume-content{padding:0}.resume-hero{grid-template-columns:1fr;gap:32px;padding-bottom:20px}.resume-portrait{padding-right:0;width:min(75%,320px)}.resume-signature{left:0;font-size:clamp(2.75rem,11vw,4rem)}.resume-portrait figcaption{gap:6px;font-size:.8125rem}.resume-intro h2{font-size:clamp(1.5rem,5.8vw,2rem);line-height:1.35}.resume-lead{font-size:1.125rem;margin-top:20px;line-height:1.5}.resume-actions{margin-top:20px}.resume-section{grid-template-columns:1fr;gap:28px;padding:32px 0 44px}.resume-section h3{font-size:1.25rem}.resume-entry h4{font-size:1.375rem}.resume-section-content{gap:32px}.resume-skills div{grid-template-columns:1fr;gap:4px}}@media print{.resume-content{padding-top:0}.resume-actions{display:none}.resume-hero{padding-bottom:32px}.resume-section{-moz-column-break-inside:avoid;break-inside:avoid;padding:24px 0}.resume-entry{-moz-column-break-inside:avoid;break-inside:avoid}}.home-resume{position:relative;z-index:var(--layer-content);color:var(--home-ink);padding-block:76px 0;scroll-margin-top:0}.resume-details>summary{display:flex;align-items:center;gap:12px;width:-moz-fit-content;width:fit-content;min-height:44px;cursor:pointer;list-style:none;color:var(--home-muted);font-size:.9375rem;margin-left:33.333333%}.resume-details>summary::-webkit-details-marker{display:none}.resume-details[open]>summary svg{transform:rotate(180deg)}.resume-details[open]>summary{margin-bottom:0}.resume-details>.resume-section{margin-top:24px}.home-page .home-resume :is(a,summary,[tabindex]):focus-visible{outline:2px solid var(--home-ink);outline-offset:5px}@media(max-width:760px){.home-resume{padding-block:56px 0}.resume-details>summary{margin-left:0}}.home-resume .resume-content{border-top:1px solid var(--home-line);padding-top:48px}.resume-details>summary:hover{color:var(--home-ink)}@media(max-width:760px){.home-resume .resume-content{padding-top:40px}}@media(max-width:600px){.home-work .project-grid{grid-template-columns:1fr;gap:48px}.home-work .project-card,.home-work .is-filtered .project-card{grid-column:1}}.home-work .card-aitron .curved-artwork-dom{background:#101114}@media print{.hero-stickers{display:none}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:is(.case-reading-main,.document-sheet) :is(h2,h3,h4,h5),.home-work .project-caption h3{text-wrap:balance}:is(.case-reading-main,.resume-entry) :is(p,li),.project-description{text-wrap:pretty;overflow-wrap:anywhere;word-break:normal}.case-reading-main :is(.case-intro>p,.app-case-chapter-heading>p,.bz-story-copy>p){line-height:1.85;letter-spacing:0}.case-reading-main :is(.doc-section h4,.app-case-chapter-heading h2,.bz-story-copy h2){letter-spacing:-.02em;line-height:1.4;font-weight:560}.case-reading-sidebar nav a{position:relative;transition:color var(--motion-fast) var(--ease-out)}.case-reading-sidebar nav{padding-left:12px}.case-reading-sidebar nav a[aria-current=location]{font-weight:560}.case-reading-sidebar nav a:before{content:"";position:absolute;inset:12px auto 12px -12px;width:2px;background:currentColor;transform:scaleY(.35);opacity:0;transition:transform var(--motion-base) var(--ease-out),opacity var(--motion-fast)}.case-reading-sidebar nav a[aria-current=location]:before{transform:scaleY(1);opacity:1}.document-meta,.case-nav,.case-year,.resume-entry-heading>span,.masthead-baseline>span,.footer-baseline{font-variant-numeric:tabular-nums}.prd-original a>svg,.case-intro p>svg{display:inline-block;width:1em;height:1em;vertical-align:-.125em}.home-page :is(.resume-section h3,.resume-entry h4){font-weight:470}.home-page .resume-entry>p:not(.resume-entry-role){line-height:1.85;letter-spacing:0}:is(.cover-toggle,.lightbox-close,.diagram-tools button,.flow-choices button,.print-button){transition:transform var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}:is(.cover-toggle,.lightbox-close,.diagram-tools button,.flow-choices button,.print-button):active{transform:scale(.97)}:is(.resume-details,.detailed-prd)>summary{transition:color var(--motion-fast) var(--ease-out)}:is(.resume-details,.detailed-prd)>summary svg{transition:transform var(--motion-base) var(--ease-out)}:is(.resume-details,.detailed-prd)>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}@supports (interpolate-size: allow-keywords){:is(.resume-details,.detailed-prd)::details-content{interpolate-size:allow-keywords;height:0;overflow:clip;transition:height var(--motion-base) var(--ease-out),content-visibility var(--motion-base) allow-discrete}:is(.resume-details,.detailed-prd)[open]::details-content{height:auto}}@media(hover:hover)and (pointer:fine){.resume-actions a>svg,.case-reading-back>svg,.masthead-down-icon{transition:transform var(--motion-base) var(--ease-out)}.resume-actions a:hover>svg{transform:translateY(-2px)}.resume-actions a[download]:hover>svg{transform:translateY(2px)}.case-reading-back:hover>svg{transform:translate(-3px)}.lightbox-close:hover{background:#eeeeef}.diagram-tools button:hover{background:var(--document-well, var(--paper))}}@media(max-width:900px){.case-reading-sidebar nav{padding-left:0}.case-reading-sidebar nav a:before{inset:auto 0 3px;width:auto;height:1px}}@media(prefers-reduced-motion:reduce){:is(.resume-details,.detailed-prd)::details-content,.document-tabs:before,.case-reading-sidebar nav a:before{transition:none}.document-sheet[data-state=active],.lightbox-overlay,.lightbox-content{animation:none}:is(.cover-toggle,.lightbox-close,.diagram-tools button,.flow-choices button,.print-button):active{transform:none}}:root{--gen-line: #9a9a9a;--gen-strong: #6c6c6c;--gen-ink: rgba(13, 13, 13, .32);--gen-surface: #ffffff;--gen-text: #0d0d0d;--gen-muted: #8b8b8b;--gen-dot: 2.1px;--gen-font: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--gen-line: #6f6f6f;--gen-strong: #a3a3a3;--gen-ink: rgba(245, 245, 245, .3);--gen-surface: #181818;--gen-text: #f2f2f2;--gen-muted: #8f8f8f}}[data-theme=dark]{--gen-line: #6f6f6f;--gen-strong: #a3a3a3;--gen-ink: rgba(245, 245, 245, .3);--gen-surface: #181818;--gen-text: #f2f2f2;--gen-muted: #8f8f8f}.t-gen{position:absolute;z-index:2147483000;pointer-events:none}.t-gen-svg{position:absolute;left:0;top:0;overflow:visible}.t-gen-dot{fill:var(--gen-ink)}.t-gen-dot.is-lit{fill:var(--gen-strong)}.t-gen-wireframe{stroke-width:var(--gen-dot)}.t-gen-wire{fill:none;stroke:var(--gen-line);stroke-linecap:round;stroke-linejoin:round}.t-gen-guide{fill:none;stroke:var(--gen-line);stroke-width:1.6;stroke-linecap:round}.t-gen-guide--dashed,.t-gen-guide--scan{stroke-dasharray:0 5}.t-gen-head,.t-gen-flyer{fill:var(--gen-strong)}.t-gen-handle{fill:var(--gen-surface);stroke:var(--gen-strong);stroke-width:1}.t-gen-reticle{fill:none;stroke:var(--gen-strong);stroke-width:1.2;stroke-linecap:round}.t-gen-glow-stop{stop-color:var(--gen-line)}.t-gen-label{font-family:var(--gen-font);font-size:9px;fill:var(--gen-line);letter-spacing:.02em}.t-gen-label--small{font-size:7.5px;fill:var(--gen-strong)}.t-gen-label--tag{font-size:7.5px;fill:var(--gen-strong);letter-spacing:.05em;text-transform:uppercase}.t-gen-panel{position:absolute;top:0;font-family:var(--gen-font);font-size:7.5px;line-height:11px;color:var(--gen-muted);letter-spacing:.03em;white-space:pre;overflow:hidden;opacity:0}.t-gen-panel--log{text-align:right}.t-gen-panel--below{top:calc(100% + 56px);left:0;right:0;text-align:center}.t-gen-panel-head{color:var(--gen-text);letter-spacing:.08em;padding-bottom:4px;margin-bottom:4px;background:radial-gradient(circle,var(--gen-line) .6px,transparent .9px) 0 100% / 4px 2px repeat-x}.t-gen-panel-foot{margin-top:6px;color:var(--gen-text);opacity:.6;letter-spacing:.08em}.t-gen-panel b{font-weight:inherit;color:var(--gen-text);opacity:.75}.t-gen-panel em{font-style:normal;opacity:.6}.t-gen-panel .is-comment{color:var(--gen-text);opacity:.9;letter-spacing:.06em}.t-gen-panel .is-selector{color:var(--gen-text);opacity:.75}.t-gen-steps{position:absolute;left:50%;top:calc(100% + 28px);height:18px}.t-gen-step{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;white-space:nowrap;opacity:0;font-family:var(--gen-font);font-size:11px;line-height:18px;color:var(--gen-muted)}.t-gen-step i{width:6px;height:6px;border-radius:50%;background:var(--gen-line);animation:t-gen-pulse .56s ease-in-out infinite alternate}.t-gen-step.is-done i{animation:none}@keyframes t-gen-pulse{0%{transform:scale(.6)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.t-gen{display:none}}[data-generation]{--gen-font: "DM Mono", ui-monospace, monospace}[data-generation-state=pending]{opacity:0}.func-demo[data-generation]{--gen-line: #728982;--gen-strong: #244d42;--gen-ink: rgba(31, 74, 62, .22);--gen-surface: #edf5ee}.t-gen{--gen-font: "DM Mono", ui-monospace, monospace;z-index:20;overflow:clip;overflow-clip-margin:44px}@media(prefers-reduced-motion:reduce){[data-generation-state=pending]{opacity:1}}@media print{[data-generation]{opacity:1!important;clip-path:none!important;filter:none!important}.t-gen{display:none}}:root{--motion-press: 70ms;--hairline: 1px}@media(min-resolution:2dppx){:root{--hairline: .5px}}.case-page{--control-fill: color-mix(in srgb, var(--ink) 5%, transparent);--control-hover: color-mix(in srgb, var(--ink) 9%, transparent);--control-selected: color-mix(in srgb, var(--ink) 10%, var(--paper));--control-line: color-mix(in srgb, var(--ink) 16%, transparent)}body:has(.case-page) .site-grid{opacity:0}.scroll-fade{--fade-direction: to bottom;--fade-start: 0px;--fade-end: 0px;min-width:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--control-line) transparent;-webkit-mask-image:linear-gradient(var(--fade-direction),transparent,#0000000d calc(var(--fade-start) * .15),#00000026 calc(var(--fade-start) * .3),#0000004d calc(var(--fade-start) * .45),#00000080 calc(var(--fade-start) * .6),#000000b3 calc(var(--fade-start) * .75),#000000d9 calc(var(--fade-start) * .87),#000 var(--fade-start),#000 calc(100% - var(--fade-end)),#000000d9 calc(100% - var(--fade-end) * .87),#000000b3 calc(100% - var(--fade-end) * .75),#00000080 calc(100% - var(--fade-end) * .6),#0000004d calc(100% - var(--fade-end) * .45),#00000026 calc(100% - var(--fade-end) * .3),#0000000d calc(100% - var(--fade-end) * .15),transparent);mask-image:linear-gradient(var(--fade-direction),transparent,#0000000d calc(var(--fade-start) * .15),#00000026 calc(var(--fade-start) * .3),#0000004d calc(var(--fade-start) * .45),#00000080 calc(var(--fade-start) * .6),#000000b3 calc(var(--fade-start) * .75),#000000d9 calc(var(--fade-start) * .87),#000 var(--fade-start),#000 calc(100% - var(--fade-end)),#000000d9 calc(100% - var(--fade-end) * .87),#000000b3 calc(100% - var(--fade-end) * .75),#00000080 calc(100% - var(--fade-end) * .6),#0000004d calc(100% - var(--fade-end) * .45),#00000026 calc(100% - var(--fade-end) * .3),#0000000d calc(100% - var(--fade-end) * .15),transparent)}.scroll-fade[data-axis=horizontal]{--fade-direction: to right;overflow-x:auto}.scroll-fade[data-axis=vertical]{overflow-y:auto}.case-page .case-reading-sidebar{overflow:visible}.case-page .case-reading-sidebar nav{padding-left:0}.case-page .case-reading-chapters{max-height:calc(100dvh - 212px);padding:4px;margin:-4px}.case-page .case-reading-sidebar nav a{display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:450;transition:color var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.case-page .case-reading-sidebar nav a:before{display:none}.case-page .case-reading-sidebar nav a[aria-current=location]{background:var(--control-selected);color:var(--ink);font-weight:560}.case-page .case-reading-sidebar nav li+li{margin-top:2px}.case-reading-toggle{display:none}.case-page .case-reading-main{container:reading / inline-size}.case-page .case-reading-main .case-intro>p{max-width:60ch}.case-page .case-meta dt{font-size:12px}.case-page .case-meta dd{font-size:14px;line-height:1.75}.case-page .workflow-tabs .document-sheet{border:0;background:transparent}.case-page .document-body{padding-inline:0}.case-page .case-reading-main .document-sheet :is(.document-header,.doc-section,.document-footer){padding-inline:0}.case-page .document-header{padding-block:20px 28px}.case-page .document-meta{font-size:11px}.case-page .document-title h3{font-size:clamp(26px,3vw,34px);font-weight:560}.case-page .document-title p{font-size:15px}.case-page .document-baseline{padding-block:24px;border-bottom:0}.case-page .document-baseline p{color:var(--ink);font-weight:450;font-size:16px}.case-page .doc-section{padding-block:36px;border-bottom-width:var(--hairline)}.case-page .doc-label{font-size:12px;margin-bottom:20px}.case-page .doc-section>h4{font-size:24px;max-width:32em}.case-page .doc-section h5{font-size:16px;font-weight:560}.case-page :is(.doc-columns li,.requirement-row p,.doc-section>p,.product-specifications li,.product-specifications article p){font-size:15px;line-height:1.85;letter-spacing:0;color:var(--muted)}.case-page .architecture-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-page .architecture-list>div{border-color:var(--control-line);border-top-width:var(--hairline)}.case-page .architecture-list strong{font-size:14px;font-weight:500}.case-page .requirement-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 32px;padding-block:28px}.case-page .requirement-row>div{grid-column:1 / -1;display:flex;align-items:baseline;gap:12px}.case-page .requirement-row h5{margin:0}.case-page .requirement-row code{font-size:11px;white-space:nowrap}.case-page .requirements-head{display:none}.case-page .requirement-row .mobile-label{display:block;margin-bottom:4px;font-size:11px;color:var(--muted)}.case-page .prd-original{font-size:15px;line-height:1.9}.case-page .document-toolbar{gap:12px 20px;flex-wrap:wrap}.case-page .document-tabs{width:min(100%,260px);padding:3px;border-radius:12px;background:var(--control-fill)}.case-page .document-tabs:before{inset:3px auto 3px 3px;width:calc((100% - 6px)/2);background:var(--document-paper, white);box-shadow:0 1px 3px #0000000d,0 0 0 var(--hairline) var(--control-line)}.case-page .document-tabs button{font-size:13px;padding:10px 12px}.case-page .document-tabs button[data-state=active]{color:var(--ink);font-weight:600}.case-page .document-actions{gap:8px}.case-page :is(.document-download,.print-button){padding-inline:10px;border-radius:8px;font-size:12px;text-decoration:none}.case-page .flow-choice-scroll{margin-bottom:24px;padding:4px}.case-page .flow-choices{flex-flow:row nowrap;width:-moz-max-content;width:max-content;gap:6px;margin:0}.case-page .flow-choices button{flex:none;border:0;background:var(--control-fill);color:var(--muted);border-radius:8px}.case-page .flow-choices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.case-page .diagram-message{gap:16px;align-content:center}.case-page .diagram-message button{text-decoration:underline;text-underline-offset:4px;min-height:44px}.diagram-skeleton{display:grid;width:180px;gap:24px}.diagram-skeleton i{position:relative;display:block;height:40px;border-radius:8px;background:var(--control-fill);overflow:hidden}.diagram-skeleton i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 20%,#ffffff80 50%,transparent 80%);animation:quiet-shimmer 1.4s ease-in-out infinite}@keyframes quiet-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.case-page .diagram-tools{border-radius:10px 10px 0 0;border:0;background:var(--control-fill)}.case-page .diagram-tools :is(button,a){border:0;border-radius:8px}.case-page .func-demo-playground{container:func-demo / inline-size}.case-page .func-demo:not(.func-demo-compact){border:1px solid #b4c9bd;box-shadow:none}.case-page .func-demo-query{transition:box-shadow var(--motion-fast) var(--ease-out),background-color var(--motion-fast) var(--ease-out)}.case-page .func-demo-query:focus-within{outline:0;box-shadow:0 0 0 2px #315e4b;border-radius:9px}.case-page .func-demo:not(.func-demo-compact) .func-demo-result{border-color:transparent}.case-page .func-demo:not(.func-demo-compact) .func-demo-result[data-selected=true]{background:#ffffff60}.case-page .func-demo:not(.func-demo-compact) .func-demo-result-trigger[aria-expanded=true]{background:#dce9dd80}.case-page .func-demo:not(.func-demo-compact) .func-demo-result+.func-demo-result{border-top:var(--hairline) solid var(--control-line)}.case-page .func-demo-result-trigger strong{font-weight:560}.case-page .func-demo-params>div{transition:background-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.case-page .func-demo-params>div:focus-within{background:#fff;box-shadow:0 0 0 2px #315e4b}.case-page .func-demo-param-value{border-bottom-color:transparent;outline:none}.case-page .func-demo-param-value[aria-invalid=true]{border-bottom-color:#a6422a}.func-demo-actions{display:flex;align-items:center;gap:8px}.func-demo-reset{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;border-radius:8px;font-size:12px;transition:color var(--motion-fast),background-color var(--motion-fast),transform var(--motion-fast) var(--ease-out)}.func-demo-reset:disabled{opacity:.35;cursor:default}.case-page .func-demo-compact .func-demo-test button{background:#173e31;border:0;color:#f8faf7;font-size:13px}.case-page .func-demo-key-hint{white-space:nowrap}.case-page .func-demo-testbar{flex-wrap:wrap}.case-page .func-demo-testbar .func-demo-actions{margin-left:auto}.case-page .func-demo-key-hint kbd{border:0;box-shadow:inset 0 -1px #173e3124;background:#173e3108}.case-page .func-demo-preview-card{border-color:transparent;box-shadow:0 1px 2px #173e3108,0 8px 24px #173e3108,0 0 0 var(--hairline) var(--control-line)}.app-screen-overlay[data-state=open]{animation:gallery-backdrop-in .18s var(--ease-out)}.app-screen-overlay[data-state=closed]{animation:gallery-backdrop-out .12s ease-in}.app-screen-dialog[data-state=open]{animation:gallery-panel-in .26s var(--ease-out)}.app-screen-dialog[data-state=closed]{animation:gallery-panel-out .12s ease-in}.app-screen-dialog :is(.app-screen-close,.app-screen-dialog-footer button){transition:background-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}@keyframes gallery-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes gallery-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes gallery-panel-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gallery-panel-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.99)}}:is(.cover-toggle,.case-reading-toggle,.func-demo-test button,.func-demo-reset,.func-demo-query-actions button,.document-actions a,.print-button,.diagram-tools button,.flow-choices button,.app-screen-dialog-footer button,.app-screen-close):not(:disabled):active{transform:scale(.98);transition-duration:var(--motion-press)}.case-page :is(button,a,input):focus-visible{outline:2px solid var(--ink);outline-offset:3px}.case-page .func-demo-param-value:focus-visible{outline:none}@media(hover:hover)and (pointer:fine){.case-page .case-reading-sidebar nav a:not([aria-current]):hover,.case-page :is(.document-download,.print-button):hover,.func-demo-reset:not(:disabled):hover{background:var(--control-hover)}.case-page .func-demo-compact .func-demo-test button:hover{background:#295443}}@container reading (max-width: 540px){.case-page .requirement-row{grid-template-columns:minmax(0,1fr);gap:12px}.case-page .doc-columns{grid-template-columns:minmax(0,1fr);gap:24px}.case-page .doc-section>h4{font-size:21px}.case-page .document-tabs{width:100%}.case-page .document-actions{margin-left:auto}}@container func-demo (max-width: 360px){.case-page .func-demo-result-trigger{flex-wrap:wrap;-moz-column-gap:8px;column-gap:8px}.case-page .func-demo-result-trigger strong{font-size:13px}.case-page .func-demo-result-trigger code{font-size:12px}.case-page .func-demo-testbar{gap:12px 4px}.case-page .func-demo-key-hint{font-size:10px}.func-demo-actions{gap:2px}}@media(max-width:900px){.case-page .case-reading-layout{display:block}.case-page .case-reading-sidebar{position:sticky;top:12px;z-index:15;max-height:none;margin-bottom:36px;padding:4px;border-radius:12px;background:var(--paper);box-shadow:0 2px 8px #00000008,0 0 0 var(--hairline) var(--control-line);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.case-page .case-reading-back{margin:0;padding-inline:10px;gap:6px;font-size:12px}.case-page .case-reading-toggle{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border-radius:8px;text-align:left;font-size:12px;color:var(--muted)}.case-reading-toggle span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.case-reading-toggle strong{color:var(--ink);font-weight:550;margin-left:8px}.case-reading-toggle>svg{flex:none;transition:transform var(--motion-base) var(--ease-out)}.case-reading-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.case-page .case-reading-nav-panel{grid-column:1 / -1;display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--motion-base) var(--ease-expand),visibility 0s var(--motion-base)}.case-page .case-reading-nav-panel[data-open=true]{grid-template-rows:1fr;visibility:visible;transition-delay:0s}.case-page .case-reading-chapters{min-height:0;max-height:min(50dvh,360px);margin:0;padding:0 4px}.case-page .case-reading-sidebar ol{display:block;padding-block:4px}.case-page .case-reading-main :is(section[id],header[id]){scroll-margin-top:88px}}@media(prefers-reduced-motion:reduce){.app-screen-dialog[data-state],.app-screen-overlay[data-state]{animation:none}.diagram-skeleton i:after{animation:none}.case-page .case-reading-nav-panel,.case-reading-toggle>svg{transition:none}:is(.cover-toggle,.case-reading-toggle,.func-demo-test button,.func-demo-reset,.func-demo-query-actions button,.document-actions a,.print-button,.diagram-tools button,.flow-choices button,.app-screen-dialog-footer button,.app-screen-close):active{transform:none}}@media print{.case-page .case-reading-sidebar,.case-page .flow-choice-scroll{display:none}.scroll-fade{-webkit-mask-image:none;mask-image:none}}
