@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bf40d83aa9c72fb-s.075nzhq-azcwn.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3846cd278554cc73-s.32fxum-hv1zci.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a23b5cef6e04c73-s.043e7-2hd94z4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c057f24894f01f05-s.3tnad6m4sf0xz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(../media/98f992443ccb276f-s.p.1oxabuqlrz9-_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(../media/61b0fa473c495204-s.2x-ji60ehjd_i.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ba9e5337ec18f7ed-s.0m24nhe3bmgar.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(../media/52a3cc83f9028e85-s.2zcrmhc15lkbt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(../media/512edca1ee5836a2-s.39dqqg9o8jqzp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(../media/23d3c9ac01cd973c-s.p.08rc2-5ev0bam.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral Fallback;src:local(Times New Roman);ascent-override:96.46%;descent-override:42.17%;line-gap-override:0.0%;size-adjust:109.78%}.spectral_cacddd65-module__uYJpOW__className{font-family:Spectral,Spectral Fallback;font-style:normal}.spectral_cacddd65-module__uYJpOW__variable{--font-spectral:"Spectral", "Spectral Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#ececea;--color-surface:#fdfdfb;--color-text:#171a17;--color-muted:#676b66;--color-border:#d6d8d3;--color-accent:#173f32;--color-yellow:#f3f000;--color-coral:#f06d55;--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-editorial:var(--font-spectral), "Noto Serif TC", "Songti TC", Georgia, serif;--content-width:90rem;--page-gutter:clamp(1rem, 3vw, 3rem);--radius-small:.5rem;--radius-large:1.25rem}*{box-sizing:border-box}html{background:var(--color-background);min-width:20rem}body{background:var(--color-background);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}.skip-link{z-index:100;border-radius:var(--radius-small);background:var(--color-text);color:var(--color-surface);padding:.625rem .875rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-container{width:min(100% - (var(--page-gutter) * 2), var(--content-width));margin-inline:auto}.site-header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-background) 92%, transparent)}.site-header__inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4.5rem;display:flex}.site-brand{letter-spacing:.02em;font-size:1rem;font-weight:700}.site-brand:focus-visible,.site-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:.25rem;border-radius:.25rem}.site-nav ul{gap:clamp(.875rem,3vw,1.75rem);margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--color-muted);font-size:.9375rem}.site-nav a:hover{color:var(--color-text)}.site-content{flex:1;display:flex}.spatial-page{width:100%;padding-block:6.75rem 6rem}.route-scaffold{display:block}.route-scaffold__content{border:1px solid var(--color-border);background:var(--color-surface);isolation:isolate;flex-direction:column;min-height:min(43rem,100svh - 8.5rem);padding:clamp(1.5rem,3.2vw,3rem);display:flex;position:relative;overflow:hidden;box-shadow:0 1px #171a1708}.route-scaffold__content[data-route=about]{color:#f7f5ec;background:#173f32}.route-scaffold__content[data-route=projects]{color:#f5f2e8;background:#171917}.route-scaffold__topline{z-index:2;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0;font-size:.6875rem;font-weight:650;display:flex;position:relative}.route-scaffold__content[data-route=about] .route-scaffold__topline,.route-scaffold__content[data-route=projects] .route-scaffold__topline{color:#f7f5ec9e}.route-scaffold h1{z-index:2;letter-spacing:-.085em;margin:auto 0 1.5rem;font-size:clamp(4.75rem,12vw,10rem);font-weight:650;line-height:.82;position:relative}.route-scaffold__description{z-index:2;max-width:34rem;color:var(--color-muted);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.125rem,2.4vw,1.6rem);line-height:1.35;position:relative}.route-scaffold__content[data-route=about] .route-scaffold__description,.route-scaffold__content[data-route=projects] .route-scaffold__description{color:#f7f5ecb3}.route-scaffold__status{z-index:2;color:var(--color-muted);letter-spacing:.08em;opacity:.72;text-transform:uppercase;border-top:1px solid;margin:2.5rem 0 0;padding-top:1.25rem;font-size:.6875rem;position:relative}.route-scaffold__content[data-route=about] .route-scaffold__status,.route-scaffold__content[data-route=projects] .route-scaffold__status{color:#f7f5ecb3}.route-scaffold__shape{z-index:1;background:var(--color-yellow);mix-blend-mode:multiply;border-radius:50%;width:min(52vw,42rem);height:min(52vw,42rem);position:absolute;top:-12rem;right:-8rem}.route-scaffold__content[data-route=about] .route-scaffold__shape{mix-blend-mode:normal;background:0 0;border:1px solid #f7f5ec2e;top:2rem;right:-6rem;box-shadow:inset 0 0 0 5rem #f7f5ec08,inset 0 0 0 10rem #f7f5ec08}.route-scaffold__content[data-route=projects] .route-scaffold__shape{background:linear-gradient(135deg, transparent 48%, var(--color-yellow) 48% 52%, transparent 52%), #f5f2e80d;mix-blend-mode:normal;border:1px solid #f5f2e83d;border-radius:0;width:min(45vw,36rem);height:min(32vw,24rem);top:5rem;right:3rem}.route-scaffold__content[data-route=contact] .route-scaffold__shape{background:var(--color-coral)}@media (max-width:48rem){.site-header__inner{flex-direction:column;justify-content:center;align-items:flex-start;padding-block:1rem}.site-nav{width:100%}.site-nav ul{flex-wrap:wrap;row-gap:.5rem}.spatial-page{padding-block:5rem 3rem}.route-scaffold__content{min-height:calc(100svh - 6rem);padding:1.5rem}.route-scaffold h1{font-size:clamp(4.5rem,24vw,7.5rem)}.route-scaffold__shape{width:100vw;height:100vw;top:8%;right:-45%}.route-scaffold__content[data-route=projects] .route-scaffold__shape{width:auto;height:13.5rem;top:5rem;left:1.5rem;right:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
