.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.site-footer[data-astro-cid-nns7i3if]{z-index:2;width:100%;max-width:90rem;color:var(--muted-foreground);font-size:var(--type-caption);justify-content:space-between;gap:1rem;margin:0 auto;padding:2rem clamp(1.25rem,6vw,6rem) 2.5rem;display:flex;position:relative}a[data-astro-cid-nns7i3if]{transition:color .13s}a[data-astro-cid-nns7i3if]:hover{color:var(--foreground)}.lang.svelte-1rpbvgp{position:relative}summary.svelte-1rpbvgp{min-height:2.75rem;color:var(--muted-foreground);font-size:var(--type-body);white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;padding:.25rem 0;list-style:none;transition:color .13s;display:inline-flex}summary.svelte-1rpbvgp:hover,.lang[open].svelte-1rpbvgp summary:where(.svelte-1rpbvgp){color:var(--foreground)}summary.svelte-1rpbvgp::-webkit-details-marker{display:none}summary.svelte-1rpbvgp svg:where(.svelte-1rpbvgp){width:.75rem;height:.75rem;transition:transform .2s}.lang[open].svelte-1rpbvgp .chevron:where(.svelte-1rpbvgp){transform:rotate(180deg)}ul.svelte-1rpbvgp{z-index:5;background:var(--raised);min-width:9rem;box-shadow:inset 0 1px 0 var(--edge-light), var(--shadow-1);border-radius:.75rem;margin:.4rem 0 0;padding:.25rem;list-style:none;position:absolute;inset-inline-end:0}a.svelte-1rpbvgp{min-height:2.75rem;font-size:var(--type-body);border-radius:.5rem;padding:.6rem .75rem;display:block}a.svelte-1rpbvgp:hover{background:var(--muted)}a[aria-current=true].svelte-1rpbvgp{color:var(--tian-ink);font-weight:600}@media (prefers-reduced-motion:reduce){summary.svelte-1rpbvgp svg:where(.svelte-1rpbvgp){transition:none}}.site-header[data-astro-cid-fzpbxy5g]{z-index:5;width:100%;max-width:90rem;color:var(--foreground);grid-template-columns:auto minmax(1rem,1fr) auto auto;align-items:center;gap:clamp(1.5rem,3vw,3rem);margin:0 auto;padding:1.5rem clamp(1.5rem,6vw,6rem);display:grid;position:relative}.integrated[data-astro-cid-fzpbxy5g]{position:absolute;inset:0 0 auto}.home[data-astro-cid-fzpbxy5g]{align-items:center;gap:.85rem;width:max-content;display:inline-flex}.home[data-astro-cid-fzpbxy5g] .mark{flex:none;width:2.45rem;height:2.45rem}.brand-signature[data-astro-cid-fzpbxy5g]{display:block}.brand-name[data-astro-cid-fzpbxy5g]{font-family:var(--font-hand);letter-spacing:.08em;font-size:1.7rem;font-weight:400;line-height:1.05;display:block}.brand-en[data-astro-cid-fzpbxy5g]{letter-spacing:.23em;margin-top:.45rem;font-family:Hanken Grotesk,system-ui,sans-serif;font-size:.58rem;line-height:1;display:block}.header-rule[data-astro-cid-fzpbxy5g]{background:var(--border);height:1px;margin:0 .6rem}nav[data-astro-cid-fzpbxy5g]{align-items:center;gap:clamp(1.5rem,2.4vw,2.4rem);font-size:1.05rem;display:flex}nav[data-astro-cid-fzpbxy5g]>a[data-astro-cid-fzpbxy5g]{text-underline-offset:.4em;white-space:nowrap;align-items:center;min-height:2.75rem;text-decoration:underline #0000;transition:text-decoration-color .2s;display:inline-flex}nav[data-astro-cid-fzpbxy5g]>a[data-astro-cid-fzpbxy5g]:hover,nav[data-astro-cid-fzpbxy5g]>a[data-astro-cid-fzpbxy5g].product-active{text-decoration-color:currentColor}.language[data-astro-cid-fzpbxy5g]{justify-self:end}@media (width<=640px){.site-header[data-astro-cid-fzpbxy5g]{grid-template-columns:minmax(0,1fr) auto;gap:0 1rem;padding:1.15rem 1.5rem .65rem}.home[data-astro-cid-fzpbxy5g]{gap:.6rem}.home[data-astro-cid-fzpbxy5g] .mark{width:2rem;height:2rem}.brand-name[data-astro-cid-fzpbxy5g]{font-size:1.5rem}.brand-en[data-astro-cid-fzpbxy5g]{letter-spacing:.2em;margin-top:.35rem;font-size:.5rem}.header-rule[data-astro-cid-fzpbxy5g]{display:none}.language[data-astro-cid-fzpbxy5g]{grid-area:1/2}nav[data-astro-cid-fzpbxy5g]{border-top:1px solid var(--border);grid-area:2/1/auto/-1;gap:1.8rem;margin-top:.85rem;padding-top:.3rem;font-size:1rem}.integrated[data-astro-cid-fzpbxy5g]+.scene-copy{padding-top:10rem}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-3xl:48rem;--container-5xl:64rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-chrome);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.flex{display:flex}.hidden{display:none}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.flex-wrap{flex-wrap:wrap}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-wrap{text-wrap:wrap}.text-muted-foreground{color:var(--muted-foreground)}.text-tian{color:var(--tian-ink)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}.prose-content{font-size:var(--type-subhead);line-height:1.85}.prose-content>*+*{margin-top:1rem}.prose-content h2{margin-top:2.25rem;font-size:1.25rem;font-weight:600;line-height:1.45}.prose-content h3{margin-top:1.75rem;font-size:1.0625rem;font-weight:600;line-height:1.5}.prose-content a{color:var(--tian-ink);text-underline-offset:.2em;text-decoration-line:underline}.prose-content ul{padding-inline-start:1.5rem;list-style:outside}.prose-content ol{padding-inline-start:1.5rem;list-style:decimal}.prose-content blockquote{border-inline-start:3px solid var(--border);color:var(--muted-foreground);padding-inline-start:1rem}.prose-content code{background:var(--muted);border-radius:.3rem;padding:.1em .35em;font-size:.9em}.prose-content pre{background:var(--muted);border-radius:.5rem;padding:.875rem 1rem;overflow-x:auto}.prose-content pre code{background:0 0;padding:0}.prose-content table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose-content th,.prose-content td{border:1px solid var(--border);text-align:start;padding:.4rem .75rem}.prose-content hr{border:0;border-top:1px solid var(--border)}.admonition{border:1px solid var(--border);border-inline-start:4px solid var(--tian-ink);background:var(--muted);border-radius:.5rem;padding:.75rem 1rem}.admonition>*+*{margin-top:.5rem}.admonition.warning,.admonition.danger{border-inline-start-color:var(--destructive)}@font-face{font-family:Hanken Grotesk;src:url(/_astro/hanken-grotesk.CaVRRdDk.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:light dark;--background:oklch(95.8% .0055 245);--foreground:oklch(23.5% .024 256);--card:oklch(97.9% .003 245);--raised:oklch(100% 0 0);--muted:oklch(93.4% .007 245);--muted-foreground:oklch(47% .02 252);--border:oklch(88.2% .009 245);--accent:oklch(94.7% .0085 243);--primary:oklch(28.5% .03 256);--primary-foreground:oklch(99% 0 0);--primary-hover:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--primary-hover:color-mix(in oklab, var(--primary) 90%, oklch(100% 0 0))}}:root{--ring:oklch(50% .085 238);--tian:var(--ring);--tian-ink:oklch(47% .08 240);--tian-edge:var(--tian)}@supports (color:color-mix(in lab, red, red)){:root{--tian-edge:color-mix(in oklab, var(--tian) 86%, var(--foreground))}}:root{--tian-glow:transparent;--thread:oklch(56.5% .152 24);--destructive:oklch(55% .19 8);--edge-light:oklch(100% 0 0/.9);--label-on-art:oklch(96% .008 250);--label-on-art-scrim:oklch(21.8% .02 266);--scene-star:oklch(36% .05 262);--shadow-0:0 1px 2px oklch(30% .04 255/.12);--shadow-1:0 1px 1px oklch(40% .03 255/.05), 0 12px 32px -14px oklch(35% .04 255/.22);--shadow-2:0 2px 4px oklch(40% .03 255/.06), 0 32px 64px -24px oklch(30% .05 255/.32);--btn-lift:0 1px 1px oklch(30% .04 255/.14), 0 5px 12px -6px oklch(30% .05 255/.42);--track-bloom:0;--ease-out:cubic-bezier(.16, 1, .3, 1);--gutter:clamp(1rem, 4vw, 2.5rem);--type-label:.71875rem;--type-caption:.78125rem;--type-body:.84375rem;--type-subhead:.9375rem;--type-heading:1.0625rem;--font-display:"Noto Serif TC", "Source Han Serif TC", "Songti TC", serif;--font-chrome:"Hanken Grotesk", "Noto Sans TC", system-ui, -apple-system, "Segoe UI", "Microsoft JhengHei", "PingFang TC", sans-serif}@media (prefers-color-scheme:dark){:root{--background:oklch(17.2% .02 258);--foreground:oklch(93% .008 250);--card:oklch(21.2% .021 258);--raised:oklch(24.8% .022 258);--muted:oklch(23.5% .02 258);--muted-foreground:oklch(71% .016 250);--border:oklch(31.5% .02 258);--accent:oklch(26.2% .022 258);--primary:oklch(93% .008 250);--primary-foreground:oklch(20% .02 258);--primary-hover:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--primary-hover:color-mix(in oklab, var(--primary) 30%, oklch(100% 0 0))}}:root{--ring:oklch(79% .075 232);--tian-ink:oklch(80% .07 232);--tian-glow:var(--tian)}@supports (color:color-mix(in lab, red, red)){:root{--tian-glow:color-mix(in srgb, var(--tian) 20%, transparent)}}:root{--thread:oklch(69% .15 26);--destructive:oklch(72% .16 8);--edge-light:oklch(100% 0 0/.075);--scene-star:oklch(95% .015 250);--shadow-0:0 1px 2px #00000073;--shadow-1:0 1px 2px oklch(0% 0 0/.35), 0 14px 34px -16px oklch(0% 0 0/.55);--shadow-2:0 2px 6px oklch(0% 0 0/.4), 0 36px 70px -24px oklch(0% 0 0/.7);--btn-lift:0 1px 2px oklch(0% 0 0/.45), 0 6px 14px -7px oklch(0% 0 0/.65);--track-bloom:1}}html{background:var(--background);color:var(--foreground);font-family:var(--font-chrome);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;line-height:1.7}html:lang(zh-CN){--font-display:"Noto Serif SC", "Source Han Serif SC", "Songti SC", serif;--font-chrome:"Hanken Grotesk", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif}html:lang(ja){--font-display:"Noto Serif JP", "Source Han Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-chrome:"Hanken Grotesk", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif}body{background:var(--background);flex-direction:column;min-height:100dvh;margin:0;display:flex;overflow-x:hidden}main{z-index:1;flex:1;position:relative}:focus-visible{outline:2px solid var(--tian-edge);outline-offset:2px;box-shadow:0 0 0 5px var(--tian-glow)}.skip-link{z-index:10;background:var(--foreground);color:var(--background);inset-inline-start:.5rem;border-radius:.5rem;padding:.5rem .75rem;position:absolute;top:-4rem}.skip-link:focus{top:.5rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{font-size:var(--type-subhead);letter-spacing:.02em;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.4rem;font-weight:600;transition:background-color .13s,transform .13s,box-shadow .13s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--btn-lift)}.btn-primary:hover{background:var(--primary-hover)}.btn:active{box-shadow:none;transform:scale(.97)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@font-face{font-family:Solunastre Hand;src:url(/_astro/lxgw-wenkai-home.Bq2_re0F.woff2)format("woff2");font-weight:400;font-display:swap}.home-scene,.home-works,.home-intro,.site-header,.site-footer{--font-hand:"Solunastre Hand", var(--font-chrome);font-family:var(--font-hand)}.home-scene,.home-works,.home-intro{--font-display:"Solunastre Hand", serif}.site-header .brand-en{font-family:Hanken Grotesk,system-ui,sans-serif}
