:root{color-scheme:light dark;--bg: #f8fafc;--surface: #ffffff;--surface-2: #eaf1f9;--ink: #0f172a;--muted: #64748b;--line: rgba(30, 64, 175, .12);--line-strong: rgba(30, 64, 175, .26);--accent: #3b82f6;--accent-strong: #2563eb;--accent-soft: #dbeafe;--cyan: #06b6d4;--cyan-soft: #cffafe;--lime: #84cc16;--violet: #8b5cf6;--on-accent: #ffffff;--glass: rgba(239, 248, 255, .58);--glass-panel: rgba(219, 234, 254, .42);--glass-border: rgba(255, 255, 255, .82);--glass-highlight: rgba(255, 255, 255, .96);--glass-highlight-soft: rgba(255, 255, 255, .38);--glass-shadow: rgba(15, 23, 42, .14);--glass-ink: #0f172a;--glass-muted: #64748b;--warning-surface: #fef3c7;--warning-ink: #92400e;--warning-label: #b45309;--dark-panel: #0f172a;--on-dark: #f8fafc;--on-dark-muted: #a8b5c8;--card-shadow: 0 22px 58px rgba(15, 23, 42, .06);--hover-shadow: 0 22px 50px rgba(15, 23, 42, .09);--hero-shadow: 0 28px 70px rgba(37, 99, 235, .09);--page: min(100% - clamp(24px, 5vw, 88px), 1480px);--font: "Segoe UI Variable Display", system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", sans-serif;--radius-xs: 10px;--radius-sm: 14px;--radius-md: 18px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 999px;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 22px;--ease: cubic-bezier(.16, 1, .3, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--glass-blur: 14px;--glass-saturate: 185%}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0a0e16;--surface: #111827;--surface-2: #172033;--ink: #f8fafc;--muted: #a8b5c8;--line: rgba(147, 197, 253, .13);--line-strong: rgba(147, 197, 253, .28);--accent: #60a5fa;--accent-strong: #7db4ff;--accent-soft: #172554;--cyan: #22d3ee;--cyan-soft: #164e63;--glass: rgba(37, 75, 122, .24);--glass-panel: rgba(59, 130, 246, .18);--glass-border: rgba(219, 234, 254, .4);--glass-highlight: rgba(255, 255, 255, .58);--glass-highlight-soft: rgba(191, 219, 254, .28);--glass-shadow: rgba(2, 6, 23, .3);--glass-ink: #e2e8f0;--glass-muted: #a8b5c8;--warning-surface: #2c2113;--warning-ink: #fbbf24;--warning-label: #f59e0b;--dark-panel: #101d33;--on-dark: #f8fafc;--on-dark-muted: #b6c3d5;--on-accent: #0a0e16;--card-shadow: 0 18px 46px rgba(2, 6, 23, .22);--hover-shadow: 0 20px 48px rgba(2, 6, 23, .34);--hero-shadow: 0 28px 70px rgba(2, 6, 23, .38)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0e16;--surface: #111827;--surface-2: #172033;--ink: #f8fafc;--muted: #a8b5c8;--line: rgba(147, 197, 253, .13);--line-strong: rgba(147, 197, 253, .28);--accent: #60a5fa;--accent-strong: #7db4ff;--accent-soft: #172554;--cyan: #22d3ee;--cyan-soft: #164e63;--glass: rgba(37, 75, 122, .24);--glass-panel: rgba(59, 130, 246, .18);--glass-border: rgba(219, 234, 254, .4);--glass-highlight: rgba(255, 255, 255, .58);--glass-highlight-soft: rgba(191, 219, 254, .28);--glass-shadow: rgba(2, 6, 23, .3);--glass-ink: #e2e8f0;--glass-muted: #a8b5c8;--warning-surface: #2c2113;--warning-ink: #fbbf24;--warning-label: #f59e0b;--dark-panel: #101d33;--on-dark: #f8fafc;--on-dark-muted: #b6c3d5;--on-accent: #0a0e16;--card-shadow: 0 18px 46px rgba(2, 6, 23, .22);--hover-shadow: 0 20px 48px rgba(2, 6, 23, .34);--hero-shadow: 0 28px 70px rgba(2, 6, 23, .38)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark] .bar-warp{background:#ffffff06}:root[data-theme=dark] .pill-shine{background:#dbeafe17;box-shadow:inset 0 1.5px #ffffff80,inset 0 -1.5px 1px #7dd3fc38,inset 2px 0 2px -1px #ffffff3d,inset -2px 0 2px -1px #ffffff3d,0 3px 14px #02061780}:root[data-theme=dark] .theme-toggle{border-color:#dbeafe3d;background:#ffffff09}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);transition:background .35s var(--ease)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;transition:background .35s var(--ease),color .35s var(--ease)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}svg{width:1.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{margin:0;line-height:1.2}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 14px;background:var(--ink);color:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.noscript-fallback{width:var(--page);margin:96px auto;padding:28px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.noscript-fallback h1{font-size:clamp(28px,4vw,44px);font-weight:600}.noscript-fallback p{color:var(--muted)}.noscript-fallback a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.primary-link{padding:0 18px;border-radius:var(--radius-full);background:var(--ink);color:var(--bg);transition:background .2s,color .2s}.primary-link:hover{background:var(--accent-strong);color:var(--on-accent)}.glass-chip{border:1px solid var(--glass-border);background:color-mix(in srgb,var(--glass) 78%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.site-header{--glass-x: 50%;--glass-y: 0%;position:fixed;top:14px;left:50%;z-index:100;display:flex;gap:12px;align-items:center;width:max-content;max-width:calc(100% - 16px);height:62px;padding:0 10px 0 12px;border:.5px solid var(--glass-border);border-radius:31px;box-shadow:0 16px 44px #0f172a29,inset 0 1.5px #ffffffd9,inset 0 -1px #67e8f947;transform:translate(-50%);white-space:nowrap}:root[data-theme=dark] .site-header{box-shadow:0 16px 44px #0206178c,inset 0 1.5px #fff6,inset 0 -1px #7dd3fc33}.site-header{transition:box-shadow .3s var(--ease)}.site-header.is-scrolled{box-shadow:0 16px 44px #0f172a4d,inset 0 1.5px #ffffffd9,inset 0 -1px #67e8f947}:root[data-theme=dark] .site-header.is-scrolled{box-shadow:0 16px 44px #020617c7,inset 0 1.5px #fff6,inset 0 -1px #7dd3fc33}.bar-warp{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;border-radius:inherit;background:#ffffff0d}.bar-warp:before{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;content:"";-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));filter:url(#bar-lens)}.bar-warp:after{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120px 60px ellipse at var(--glass-x) var(--glass-y),rgba(255,255,255,.38),rgba(255,255,255,.08) 45%,transparent 75%);content:"";mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .3s}.site-header:hover .bar-warp:after{opacity:1}.site-header nav,.site-header .site-brand,.site-header .theme-toggle{position:relative;z-index:1}.site-brand{display:inline-flex;gap:9px;align-items:center;color:var(--ink);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:color .2s}.site-brand:hover{color:var(--accent-strong)}.site-brand img{width:34px;height:34px;border:2px solid var(--glass-border);border-radius:50%;object-fit:cover;box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 24%,transparent);-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.site-brand:after{width:1px;height:22px;margin-left:12px;background:linear-gradient(180deg,transparent,var(--glass-border) 30%,var(--glass-border) 70%,transparent);content:""}.site-header nav{display:flex;gap:2px;padding:3px;border-radius:var(--radius-full)}.site-header nav a{position:relative;z-index:2;display:grid;min-height:44px;padding:0 22px;place-items:center;border-radius:var(--radius-full);color:var(--muted);font-size:var(--text-sm);text-decoration:none;cursor:pointer;transition:color .25s}.site-header nav a:hover,.site-header nav a.active{color:var(--ink)}.nav-glass-pill{position:absolute;top:3px;bottom:3px;left:0;z-index:1;width:0;border-radius:var(--radius-full);transition:transform .45s var(--spring),width .45s var(--spring)}.pill-warp{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit}.pill-warp:before{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;content:"";-webkit-backdrop-filter:blur(2px) saturate(170%);backdrop-filter:blur(2px) saturate(170%);filter:url(#pill-lens)}.pill-shine{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;background:#ffffff1f;box-shadow:inset 0 1.5px #fffffff2,inset 0 -1.5px 1px #67e8f94d,inset 2px 0 2px -1px #ffffff80,inset -2px 0 2px -1px #ffffff80,0 3px 14px #0f172a29}.pill-shine:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.1) 55%,transparent 70%);background-position:100% 0;background-size:260% 100%;content:"";transition:background-position .9s ease}.nav-glass-pill.sheen .pill-shine:after{background-position:0 0}.theme-toggle{display:grid;width:38px;height:38px;padding:0;border:1px solid var(--glass-border);border-radius:50%;background:#ffffff1f;place-items:center;color:var(--ink);cursor:pointer}.theme-toggle:hover{background:#ffffff38}:root[data-theme=dark] .theme-toggle:hover{background:#ffffff14}.theme-toggle svg{grid-area:1 / 1;transition:transform .4s var(--ease),opacity .25s}.theme-toggle svg:last-child{opacity:0;transform:rotate(90deg) scale(.5)}:root[data-theme=dark] .theme-toggle svg:first-child{opacity:0;transform:rotate(-90deg) scale(.5)}:root[data-theme=dark] .theme-toggle svg:last-child{opacity:1;transform:none}main,footer{width:var(--page);margin-inline:auto}.inner-page{padding-top:112px}.inner-visual-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);gap:clamp(28px,5vw,76px);align-items:center;min-height:520px;overflow:hidden;padding:clamp(42px,6vw,78px);border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 68%,var(--surface)),color-mix(in srgb,var(--cyan-soft) 30%,var(--surface)) 58%,var(--surface));box-shadow:var(--hero-shadow)}.inner-visual-hero:before{position:absolute;top:-40%;right:-10%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cyan) 24%,transparent),transparent 66%);content:"";filter:blur(12px)}.inner-hero-copy{position:relative;z-index:2}.inner-hero-copy>span{color:var(--accent-strong);font-size:var(--text-2xs);font-weight:700;letter-spacing:.16em}.inner-hero-copy h1{max-width:13ch;margin-top:14px;font-size:clamp(48px,5.6vw,82px);font-weight:600}.inner-hero-copy p{max-width:48ch;margin:24px 0 0;color:var(--muted);font-size:var(--text-lg)}.site-footer{width:100%;margin-top:74px;padding:0 clamp(12px,4.5vw,72px) 24px;border-top:1px solid var(--line-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 34%,transparent),transparent 66%);color:var(--muted);font-size:var(--text-xs)}.footer-main,.footer-bottom{width:min(100%,1480px);margin-inline:auto}.footer-main{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:clamp(48px,8vw,130px);align-items:end;padding:52px 0 38px}.footer-identity{display:flex;flex-direction:column;justify-content:flex-end}.footer-identity>span,.footer-stats small{color:var(--accent-strong);font-weight:700;letter-spacing:.15em}.footer-identity>span{font-size:var(--text-2xs)}.footer-stats small{font-size:var(--text-xs)}.footer-identity strong{margin-top:16px;color:var(--ink);font-size:clamp(26px,2.5vw,38px);font-weight:600;line-height:1.2}.footer-identity p{max-width:40ch;margin:14px 0 0;line-height:1.75}.footer-utility{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(180px,.55fr);gap:clamp(28px,5vw,68px);align-items:end}.footer-statistics{position:relative}.footer-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}.footer-stats>div{display:flex;min-height:88px;padding:16px 8px 15px 0;flex-direction:column;justify-content:space-between}.footer-stats>div+div{padding-left:22px;border-left:1px solid var(--line)}.footer-stats span{color:var(--muted);font-size:var(--text-xs)}.footer-stats strong{overflow-wrap:anywhere;color:var(--ink);font-size:clamp(18px,2vw,28px);font-weight:600;line-height:1.2}.stats-explain-toggle{display:inline-flex;gap:7px;align-items:center;min-height:44px;margin-top:6px;padding:0 4px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);letter-spacing:.08em;cursor:pointer;transition:color .2s}.stats-explain-toggle>span{display:grid;width:18px;height:18px;border:1px solid var(--line-strong);border-radius:50%;place-items:center;color:var(--accent-strong);font-family:ui-serif,Georgia,serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0}.stats-explain-toggle:hover,.stats-explain-toggle:focus-visible{color:var(--ink)}.stats-explain-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.stats-explanation{padding:14px 16px 15px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--muted);font-size:var(--text-xs);line-height:1.7}.stats-explanation p{margin:0}.stats-explanation p+p{margin-top:8px}.stats-explanation strong{color:var(--ink);font-weight:600}.footer-links{display:grid;align-content:end}.footer-links a{display:flex;gap:18px;justify-content:space-between;align-items:center;min-height:42px;border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--text-xs);transition:color .2s}.footer-links a:first-child{border-top:1px solid var(--line)}.footer-links a:hover{color:var(--accent-strong)}.footer-links svg{width:15px}.footer-bottom{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line)}.footer-bottom>small{font-size:var(--text-xs)}.footer-dates{display:flex;gap:28px;text-align:right}.footer-dates span,.footer-dates small{display:block}.footer-dates span{color:var(--ink);font-size:var(--text-xs)}.footer-dates small{margin-top:2px;color:var(--muted);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}@media (max-width: 980px){.inner-visual-hero{grid-template-columns:1fr;min-height:auto}}@media (max-width: 760px){.inner-visual-hero{padding:32px;border-radius:var(--radius-lg)}.inner-hero-copy h1{font-size:clamp(42px,9vw,62px)}}@media (max-width: 680px){:root{--page: min(100% - 22px, 1480px)}.site-header{top:8px;gap:10px}.site-brand span,.site-brand:after{display:none}.site-brand img{width:32px;height:32px}.site-header nav a{padding-inline:clamp(11px,3.7vw,18px)}.inner-visual-hero{padding:25px}.inner-hero-copy h1{font-size:clamp(38px,11vw,52px)}.footer-main{grid-template-columns:1fr;gap:36px}.footer-identity strong{max-width:none}.footer-utility{grid-template-columns:minmax(280px,1fr) minmax(180px,.55fr)}.footer-stats>div{min-height:84px}}@media (max-width: 390px){.site-header{gap:6px;padding-inline:6px}.site-brand img{width:30px;height:30px}.site-header nav{gap:0}.site-header nav a{padding-inline:9px}.theme-toggle{width:36px;height:36px}}@media (max-width: 560px){.site-footer{padding-inline:11px}.footer-utility{grid-template-columns:1fr}.footer-stats{grid-template-columns:1fr 1fr}.footer-stats>div{min-height:82px;padding-right:4px}.footer-stats>div+div{padding-left:12px}.footer-stats small{max-width:15ch;line-height:1.45}.stats-explanation{padding-inline:13px}.footer-bottom{gap:12px;flex-direction:column}.footer-dates{gap:12px;flex-direction:column;text-align:left}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.bar-warp{background:color-mix(in srgb,var(--surface) 94%,var(--bg))}.glass-chip,.portrait-frame,.blog-hero-mark,.project-window{background:color-mix(in srgb,var(--surface) 92%,transparent)}}@media (pointer: coarse){:root{--glass-blur: 8px}.bar-warp{background:color-mix(in srgb,var(--glass) 78%,var(--surface))}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.inner-hero-copy>*{animation:rise-in .65s var(--ease) both}.inner-hero-copy>*:nth-child(1){animation-delay:.05s}.inner-hero-copy>*:nth-child(2){animation-delay:.13s}.inner-hero-copy>*:nth-child(3){animation-delay:.21s}.is-revealed{animation:rise-in .7s var(--ease) both}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
