:root{--apple-black:#1d1d1f;--apple-gray:#86868b;--apple-light-gray:#f5f5f7;--apple-white:#fff;--apple-off-white:#fbfbfd;--apple-blue:#0071e3;--apple-blue-hover:#0077ed;--apple-blue-dark:#0a84ff;--c2c-gradient:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-start:#fbfbfd;--gradient-end:#f5f5f7;--max-width:980px;--max-width-wide:1200px;--section-padding:100px 0;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--font-sans-zh:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--font-mono:"SF Mono", Monaco, "Courier New", monospace;--nav-label-size:13px;--nav-label-weight:500}
:root{--ink:#1d1d1f;--muted:#86868b;--paper:#fff;--surface:#fff;--panel:#f5f5f7;--line:#00000014;--line-strong:#0000002e;--blue:#0071e3;--purple:#7b3a8a;--green:#5f9f47;--green-text:#467d32;--route-blue:#155bae}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-snap-type:y mandatory}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);letter-spacing:-.022em;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:17px;line-height:1.47;overflow-x:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:4px;outline:3px solid #0071e35c}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--blue);color:#fff;z-index:2000;padding:10px 14px;font-size:13px;font-weight:650;transition:top .16s;position:fixed;top:-56px;left:18px}.skip-link:focus{top:0}.scale-story{--story-panel-width:clamp(420px, 40vw, 560px);min-height:400svh;position:relative}.chart-sticky{width:100%;height:100svh;position:sticky;top:0;overflow:hidden}.chart-sticky:before{background:linear-gradient(90deg, var(--surface) 0, var(--surface) calc(100% - var(--story-panel-width)), var(--panel) calc(100% - var(--story-panel-width)), var(--panel) 100%);content:"";position:absolute;inset:0}.chart-sticky:after{background:var(--line);content:"";bottom:44px;left:calc(100% - var(--story-panel-width));width:1px;position:absolute;top:76px}.chart-sticky canvas{height:100%;width:calc(100% - var(--story-panel-width));z-index:1;position:absolute;inset:0}.chart-sticky.is-route-three canvas{cursor:crosshair}.story-steps{pointer-events:none;z-index:5;margin-top:-100svh;position:relative}.story-step{pointer-events:none;scroll-snap-align:start;scroll-snap-stop:always;justify-content:flex-end;align-items:center;min-height:100svh;padding:108px 40px 48px;display:flex;position:relative}.story-copy{border-left:1px solid var(--line-strong);opacity:.5;pointer-events:auto;width:calc(var(--story-panel-width) - 80px);padding:8px 0 8px 38px;transition:opacity .5s,transform .65s cubic-bezier(.22,1,.36,1);position:relative;transform:translateY(20px)}.story-copy:before{background:var(--ink);content:"";width:3px;height:62px;position:absolute;top:0;left:-2px}.story-copy-1:before{background:var(--purple)}.story-copy-2:before{background:var(--green)}.story-copy-3:before{background:var(--route-blue)}.story-step.is-active .story-copy{opacity:1;transform:translateY(0)}.story-meta{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.story-stage-label{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.1em;text-transform:uppercase;font-family:inherit;font-size:12px;font-weight:540}.story-copy-1 .story-stage-label,.story-copy-1 .story-eyebrow{color:var(--purple)}.story-copy-2 .story-stage-label,.story-copy-2 .story-eyebrow{color:var(--green-text)}.story-copy-3 .story-stage-label,.story-copy-3 .story-eyebrow{color:var(--route-blue)}.story-eyebrow{color:var(--ink);letter-spacing:.11em;text-transform:uppercase;margin-bottom:17px;font-size:12px;font-weight:650}.story-copy h1,.story-copy h2{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(46px,4.6vw,68px);font-weight:700;line-height:1.1}.story-body{color:var(--muted);max-width:37ch;margin-top:26px;font-size:18px;line-height:1.56}.overview-legend{flex-wrap:wrap;gap:12px 20px;margin-top:32px;display:flex}.overview-legend a{color:var(--muted);align-items:center;gap:8px;padding:4px 0;font-family:inherit;font-size:10px;text-decoration:none;transition:color .18s;display:flex}.overview-legend a:hover{color:var(--ink)}.overview-legend i{width:20px;height:2px}.overview-legend .route-one-dot{background:var(--purple)}.overview-legend .route-two-dot{background:var(--green)}.overview-legend .route-three-dot{background:var(--route-blue)}.variable-row{flex-wrap:wrap;align-items:center;gap:9px;margin-top:32px;display:flex}.variable-row span{color:var(--purple);text-transform:uppercase;border-bottom:1px solid #74487c66;padding:5px 0;font-family:inherit;font-size:10px;font-weight:540}.variable-row i{color:var(--muted);font-size:11px;font-style:normal}.project-pills{flex-wrap:wrap;gap:10px 22px;margin-top:32px;display:flex}.project-pill{border-bottom:1px solid var(--line-strong);align-items:center;gap:9px;min-height:36px;font-family:inherit;font-size:11px;text-decoration:none;transition:border-color .18s,gap .18s;display:inline-flex}.project-pill:hover{border-color:var(--ink);gap:13px}.story-copy-2 .project-pill strong{color:var(--green-text)}.story-copy-3 .project-pill strong{color:var(--route-blue)}.project-pill span{color:var(--muted)}html.home-free-scroll{scroll-snap-type:none}.projects-section{background:var(--panel);align-items:center;min-height:100svh;padding:120px clamp(24px,5vw,72px);display:flex}.projects-inner{width:100%;max-width:980px;margin:0 auto}.projects-eyebrow{color:var(--ink);letter-spacing:.11em;text-transform:uppercase;font-size:12px;font-weight:650}.projects-title{letter-spacing:-.03em;text-wrap:balance;margin-top:16px;font-size:clamp(32px,5vw,56px);font-weight:600;line-height:1.1}.projects-lead{color:var(--muted);max-width:560px;margin-top:18px;font-size:19px;line-height:1.5}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px;display:grid}.project-card{background:#fff;border-radius:18px;flex-direction:column;gap:14px;padding:28px;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex;box-shadow:0 2px 20px #0000000a}.project-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.project-card-top{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.project-card-icon{background:var(--panel);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.project-card-icon img{object-fit:contain;width:38px;height:38px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.project-card:hover .project-card-icon img{transform:scale(1.15)}.project-card-route{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:620}.project-card-route.route-two{color:var(--green-text)}.project-card-route.route-three{color:var(--route-blue)}.project-card-name{letter-spacing:-.02em;font-size:21px;font-weight:620}.project-card-desc{color:var(--muted);font-size:14px;line-height:1.45}.project-card-cta{color:var(--blue);align-items:center;gap:6px;margin-top:auto;font-size:13px;transition:gap .18s;display:inline-flex}.project-card:hover .project-card-cta{gap:10px}[data-reveal]{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.projects-title[data-reveal]{transition-delay:80ms}.projects-lead[data-reveal]{transition-delay:.16s}[data-reveal].is-revealed{opacity:1;transform:none}@media (max-width:979px){.projects-section{min-height:auto;padding:88px 28px}}@media (max-width:720px){.projects-section{padding:72px 20px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}.projects-lead{font-size:17px}}@media (max-width:480px){.projects-grid{grid-template-columns:1fr}}@media (max-width:979px){html{scroll-snap-type:none}.scale-story{min-height:auto}.chart-sticky{background:var(--surface);height:clamp(300px,50svh - 44px,430px);top:calc(44px + var(--site-language-offset));z-index:10;position:sticky}.chart-sticky:before{background:var(--surface)}.chart-sticky:after{bottom:0;width:auto;height:1px;inset:auto 20px 0}.chart-sticky canvas{width:100%}.story-steps{background:var(--panel);z-index:1;margin-top:44px;position:relative}.story-step{scroll-snap-align:none;scroll-snap-stop:normal;justify-content:center;align-items:flex-start;min-height:72svh;padding:72px 28px 88px}.scale-story .story-step{scroll-margin-top:calc(50svh + 28px)}.story-copy{border-left:0;border-top:1px solid var(--line-strong);width:100%;max-width:680px;padding:25px 0 0;transform:translateY(10px)}.story-copy:before{width:64px;height:3px;top:-2px;left:0}.story-step.is-active .story-copy{transform:translateY(0)}}@media (hover:none){.chart-sticky.is-route-three canvas{cursor:auto}}@media (max-width:720px){.story-step{min-height:76svh;padding:56px 20px 78px}.story-copy{padding-top:21px}.story-meta{margin-bottom:16px}.story-eyebrow{margin-bottom:12px;font-size:10px}.story-copy h1,.story-copy h2{font-size:clamp(38px,11vw,46px)}.story-body{margin-top:17px;font-size:15px;line-height:1.52}.overview-legend,.project-pills,.variable-row{margin-top:18px}}@media (min-width:980px) and (max-height:720px){.story-step{padding-top:96px;padding-bottom:30px}.story-copy{padding-left:32px}.story-meta{margin-bottom:18px}.story-copy h1,.story-copy h2{font-size:clamp(42px,4vw,54px)}.story-body{margin-top:18px;font-size:16px}.overview-legend,.project-pills,.variable-row{margin-top:20px}}html:lang(zh-CN) :is(.story-copy h1,.story-copy h2,.projects-title){letter-spacing:-.025em;text-wrap:balance;line-height:1.2}html:lang(zh-CN) :is(.story-body,.projects-lead){letter-spacing:0;line-height:1.75}html:lang(zh-CN) :is(.story-eyebrow,.project-card-desc,.sp-description small,.sp-contents-description){letter-spacing:0}html:lang(zh-CN) .story-body{line-break:strict;max-width:none}.story-phrase{vertical-align:top;max-width:100%;display:inline-block}.story-body p+p{margin-top:.85em}@media (min-width:980px){.scale-story{min-height:calc(400svh - 4 * var(--site-language-offset))}.chart-sticky{top:var(--site-language-offset);height:calc(100svh - var(--site-language-offset))}.story-steps{margin-top:calc(-100svh + var(--site-language-offset))}.story-step{min-height:calc(100svh - var(--site-language-offset))}}.story-step+.story-step:after{content:"";width:calc(var(--story-panel-width) - 80px);background:var(--line-strong);height:1px;position:absolute;top:0;right:40px}.story-subtitle{color:var(--ink);letter-spacing:-.01em;margin-top:18px;font-size:17px;font-weight:500}.story-copy-0 .story-body{margin-top:18px}@media (min-width:980px){.story-steps{row-gap:12svh;display:grid}.scale-story .story-step{scroll-margin-top:0}}@media (max-width:979px){html{scroll-snap-type:y proximity}.scale-story .story-step{scroll-snap-align:none}.scale-story .story-step:first-child{scroll-snap-align:start}.story-step:not(:first-child) .story-copy{scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:calc(clamp(300px,50svh - 44px,430px) + 68px)}.story-step+.story-step{padding-top:80px}.story-step+.story-step:after{width:100%;right:0}.story-copy{opacity:.72;transform:none}.story-subtitle{margin-top:14px;font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.sp-global,.sp-local{color:var(--apple-black);font-family:var(--font-sans);font-size:var(--nav-label-size);font-weight:var(--nav-label-weight);letter-spacing:-.022em;-webkit-backdrop-filter:saturate(180%)blur(20px);background:#fbfbfdeb;border-bottom:1px solid #0000000f;line-height:1.47;transition:transform .35s,opacity .25s;position:fixed;top:0;left:0;right:0}.sp-global *,.sp-local *{box-sizing:border-box}.sp-global{z-index:10000;height:44px}.sp-global.hidden{pointer-events:none;transform:translateY(-100%)}.sp-global.menu-open{pointer-events:auto;transform:translateY(0)}.sp-local{z-index:9999;opacity:0;pointer-events:none;height:52px;transform:translateY(-100%)}.sp-local.nav-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sp-bar{justify-content:space-between;align-items:center;width:100%;max-width:1200px;height:100%;margin:0 auto;padding:0 22px;display:flex;position:relative}.sp-home,.sp-category,.sp-all,.sp-contents-toggle{min-width:44px;height:44px;color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:7px;margin:0;padding:0 4px;text-decoration:none;display:inline-flex}.sp-home svg{width:20px;height:20px}.sp-title{font-size:inherit;font-weight:600}.sp-categories{display:none}.sp-home:hover,.sp-category:hover,.sp-category[aria-expanded=true],.sp-all[aria-expanded=true],.sp-contents-toggle:hover,.sp-contents-toggle[aria-expanded=true]{color:var(--apple-blue)}.sp-global :focus-visible,.sp-local :focus-visible{outline:2px solid var(--apple-blue);outline-offset:-2px;border-radius:4px}.sp-contents-toggle svg{transition:transform .2s}.sp-contents-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.sp-backdrop{cursor:default;background:#1d1d1f1f;border:0;width:100%;height:calc(100dvh - 44px);margin:0;padding:0;animation:.18s ease-out both sp-backdrop-enter;position:fixed;top:44px;left:0}.sp-projects,.sp-contents{overscroll-behavior:contain;transform-origin:top;background:#fff;border-radius:18px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 68px);padding:12px;animation:.3s cubic-bezier(.22,1,.36,1) both sp-menu-enter;position:absolute;top:54px;right:max(12px,50vw - 578px);overflow-y:auto;box-shadow:0 16px 44px #00000021,0 0 0 1px #0000000a}.sp-projects{z-index:1}.sp-projects[hidden],.sp-backdrop[hidden],.sp-group[hidden]{display:none}.sp-group{margin:0;padding:0;animation:.24s cubic-bezier(.22,1,.36,1) 40ms both sp-group-enter}.sp-group:nth-child(2){animation-delay:.1s}.sp-group:nth-child(3){animation-delay:.16s}.sp-group+.sp-group{border-top:1px solid #00000014;margin-top:8px;padding-top:12px}.sp-group h2{letter-spacing:.04em;text-transform:uppercase;color:var(--apple-gray);margin:6px 12px 4px;font-size:11px;font-weight:600;line-height:1.4}.sp-projects a{min-height:84px;color:var(--apple-black);border-radius:12px;align-items:center;gap:14px;padding:12px;text-decoration:none;transition:background .18s;display:flex}.sp-projects a:hover,.sp-projects a:focus-visible,.sp-contents a:hover,.sp-contents a:focus-visible{background:var(--apple-light-gray)}.sp-projects a.active{background:linear-gradient(135deg,#667eea1a,#764ba21a)}.sp-icon{background:var(--apple-light-gray);border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.sp-icon img{object-fit:contain;width:36px;height:36px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.sp-projects a:hover img{transform:scale(1.12)}.sp-description{gap:3px;min-width:0;display:grid}.sp-description strong{color:var(--apple-black);font-size:16px;font-weight:600;line-height:1.3}.sp-description small{color:#6e6e73;font-size:13px;line-height:1.4}.sp-contents{opacity:0;visibility:hidden;pointer-events:none;border-radius:18px;gap:12px;width:min(360px,100vw - 24px);max-height:calc(100dvh - 76px);padding:16px;transition:opacity .16s,transform .18s cubic-bezier(.4,0,1,1),visibility 0s linear .18s;animation:none;display:grid;top:60px;right:22px;transform:translateY(-8px)}.sp-contents.mobile-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),visibility;transform:translateY(0)}.sp-contents-group{opacity:0;min-width:0;margin:0;padding:0;transition:opacity .12s,transform .16s;transform:translateY(-4px)}.sp-contents.mobile-open .sp-contents-group{opacity:1;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--sp-group-index) * 35ms);transform:translateY(0)}.sp-contents-group+.sp-contents-group{border-top:1px solid #0000000f;padding-top:12px}.sp-contents-group h2{color:var(--apple-gray);letter-spacing:.04em;text-transform:uppercase;margin:4px 10px 8px;font-size:11px;font-weight:600;line-height:1.4}.sp-contents a{min-height:44px;color:var(--apple-black);border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:10px;text-decoration:none;transition:background .16s,color .16s;display:flex}.sp-contents-label{font-size:14px;font-weight:500;line-height:1.4}.sp-contents-description{color:#6e6e73;font-size:12px;font-weight:400;line-height:1.4}.sp-contents a:hover .sp-contents-label,.sp-contents a:focus-visible .sp-contents-label{color:var(--apple-blue)}body.global-menu-open{overflow:hidden}section[id],article[id]{scroll-margin-top:68px}@keyframes sp-menu-enter{0%{opacity:0;transform:translateY(-12px)scaleY(.97)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes sp-group-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes sp-backdrop-enter{0%{opacity:0}to{opacity:1}}@media (min-width:900px){.sp-all{display:none}.sp-categories{align-items:center;gap:36px;height:44px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.sp-category{padding:0 6px}.sp-projects{margin:0 auto;left:0;right:0}.sp-group{border:0!important;margin:0!important;padding:0!important;animation-delay:40ms!important}.sp-contents{width:min(calc(var(--sp-column-count) * 220px),calc(100vw - 44px));grid-template-columns:repeat(var(--sp-column-count),minmax(0,1fr));gap:16px;padding:20px}.sp-contents-group+.sp-contents-group{border-top:0;border-left:1px solid #0000000f;padding-top:0;padding-left:16px}}@media (max-width:768px){.sp-bar{padding:0 12px}.sp-projects{width:auto;left:12px;right:12px}.sp-contents{right:12px}}@media (prefers-reduced-motion:reduce){.sp-global,.sp-local,.sp-icon img,.sp-contents-toggle svg,.sp-contents,.sp-contents.mobile-open,.sp-contents-group,.sp-contents.mobile-open .sp-contents-group,.sp-contents a{transition:none}.sp-projects,.sp-group,.sp-contents.mobile-open,.sp-backdrop{animation:none}}
:root,:where(.section),[data-ui-surface=white]{--sp-control-fill:#f5f5f7;--sp-control-hover:#eaeaf0;--sp-control-ink:#1d1d1f;--sp-control-muted:#62626a;--sp-control-border:#dedee3;--sp-control-accent:#0071e3;--sp-group-fill:#f5f5f7;--sp-selected-fill:#fff}:where(.section-gray,.team-section),[data-ui-surface=gray]{--sp-control-ink:#1d1d1f;--sp-control-muted:#62626a;--sp-control-border:#dedee3;--sp-control-accent:#0071e3;--sp-selected-fill:#fff;--sp-control-fill:#fff;--sp-control-hover:#eeeef2;--sp-group-fill:#e8e8ed}:where(.section-dark),[data-ui-surface=dark]{--sp-control-fill:#323236;--sp-control-hover:#414146;--sp-control-ink:#f5f5f7;--sp-control-muted:#c3c3ca;--sp-control-border:#56565d;--sp-control-accent:#8fc5ff;--sp-group-fill:#29292d;--sp-selected-fill:#505058}.sp-control.sp-control,.sp-select.sp-select{box-sizing:border-box;background-color:var(--sp-control-fill);min-height:44px;color:var(--sp-control-ink);cursor:pointer;border:1px solid #0000;font-family:inherit;transition:background-color .18s,border-color .18s,color .18s}.sp-control.sp-control{border-radius:980px;padding:8px 16px;font-size:13px;font-weight:500}.sp-control[hidden],select.sp-select[hidden]{display:none!important}.sp-control.sp-control--icon{border-radius:50%;width:44px;padding:0}.sp-control[aria-pressed=true]{background-color:var(--sp-control-hover);color:var(--sp-control-accent)}.sp-select.sp-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m5 6.5 3 3 3-3' fill='none' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-radius:12px;padding:11px 40px 11px 14px;font-size:14px;line-height:1.4}.sp-segmented.sp-segmented{isolation:isolate;background:var(--sp-group-fill);border:0;border-radius:14px;flex-wrap:wrap;align-items:stretch;gap:3px;max-width:100%;padding:3px;display:inline-flex;position:relative}.sp-segmented.sp-segmented>button{z-index:1;appearance:none;min-width:44px;min-height:44px;color:var(--sp-control-muted);font:500 13px/1.4 var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:8px 15px;transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s;position:relative}.sp-segmented.sp-segmented>button:is([aria-pressed=true],.active){background:var(--sp-selected-fill);color:var(--sp-control-ink);border-color:#0000;box-shadow:0 1px 4px #00000010}.sp-segmented[data-selection-ready]:before{content:"";width:var(--sp-selection-width);height:var(--sp-selection-height);transform:translate(var(--sp-selection-x), var(--sp-selection-y));background:var(--sp-selected-fill);pointer-events:none;border-radius:11px;position:absolute;inset:0 auto auto 0;box-shadow:0 1px 4px #00000010}.sp-segmented[data-selection-animate]:before{transition:transform .36s cubic-bezier(.42,0,.12,1),width .36s cubic-bezier(.42,0,.12,1),height .36s cubic-bezier(.42,0,.12,1)}.sp-segmented.sp-segmented[data-selection-ready]>button{box-shadow:none;background:0 0}:is(.sp-control,.sp-select,.sp-segmented>button):focus:not(:focus-visible){outline:none}:is(.sp-control,.sp-select,.sp-segmented>button):focus-visible{outline:2px solid var(--sp-control-accent);outline-offset:3px}:is(.sp-control,.sp-select,.sp-segmented>button):disabled{opacity:.5;cursor:default}@media (hover:hover) and (pointer:fine){.sp-control.sp-control:not(:disabled):hover,.sp-select.sp-select:not(:disabled):hover{background-color:var(--sp-control-hover);color:var(--sp-control-accent)}.sp-segmented.sp-segmented>button:not(:disabled):hover{color:var(--sp-control-accent)}}@media (max-width:600px){.sp-segmented.sp-segmented>button{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.sp-segmented[data-selection-animate]:before,.sp-control.sp-control,.sp-select.sp-select,.sp-segmented.sp-segmented>button{transition:none}}
.authors-list{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.author-tag{border:var(--sp-author-border,1px solid var(--sp-control-border));background:var(--sp-author-fill,var(--sp-control-fill));min-height:44px;color:var(--apple-black);font:500 14px/1.4 var(--font-sans);transition:background var(--sp-control-duration) ease,color var(--sp-control-duration) ease;border-radius:980px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;text-decoration:none;display:inline-flex}.author-tag sup{opacity:.6;font-size:10px}.sp-authors{text-align:center;--sp-author-border:0;--sp-author-fill:var(--apple-light-gray)}.sp-authors .affiliations{color:var(--apple-gray);margin-top:24px;font-size:14px;line-height:1.8}.sp-authors .author-note{font-size:12px}.author-tag:focus-visible{outline:2px solid var(--apple-blue);outline-offset:4px}@media (hover:hover) and (pointer:fine){a.author-tag:hover{background:var(--apple-blue);color:#fff}}@media (prefers-reduced-motion:reduce){.author-tag{transition:none}}
:root{--sp-control-radius:10px;--sp-control-duration:.18s;--sp-control-ease:cubic-bezier(.22,1,.36,1)}.sp-back-to-top,.sp-copy{box-sizing:border-box;appearance:none;font-family:var(--font-sans);cursor:pointer;-webkit-tap-highlight-color:transparent}.sp-back-to-top{right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:900;background:var(--apple-blue);color:#fff;opacity:0;visibility:hidden;pointer-events:none;width:48px;height:48px;transition:opacity var(--sp-control-duration) ease, visibility 0s linear .18s, transform .24s var(--sp-control-ease), background var(--sp-control-duration) ease, box-shadow var(--sp-control-duration) ease;border:0;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:fixed;transform:translateY(8px);box-shadow:0 4px 16px #0071e338}.sp-back-to-top svg{width:22px;height:22px;display:block}.sp-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}body.global-menu-open .sp-back-to-top{opacity:0;visibility:hidden;pointer-events:none}body:has(.sp-contents.mobile-open) .sp-back-to-top{opacity:0;visibility:hidden;pointer-events:none}.sp-back-to-top:active{transform:scale(.96)}.sp-citation{min-width:0;color:var(--apple-black);text-align:left;background:#fff;border:1px solid #00000014;border-radius:16px;margin-top:32px;overflow:hidden}.sp-citation-header{background:var(--apple-off-white);border-bottom:1px solid #0000000f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}.sp-citation-title{font:600 14px/1.4 var(--font-sans);letter-spacing:-.022em}.sp-copy{border:1px solid var(--sp-control-border);border-radius:var(--sp-control-radius);background:var(--sp-control-fill);min-width:138px;min-height:44px;color:var(--apple-black);letter-spacing:-.022em;transition:background var(--sp-control-duration) ease, color var(--sp-control-duration) ease, transform var(--sp-control-duration) ease;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.sp-copy svg{width:16px;height:16px;display:block}.sp-copy-check{display:none}.sp-copy[data-state=success]{color:var(--apple-blue);background:#0071e314}.sp-copy[data-state=success] .sp-copy-icon{display:none}.sp-copy[data-state=success] .sp-copy-check{display:inline-flex}.sp-copy:active{transform:scale(.98)}.sp-copy:disabled{cursor:wait}.sp-citation pre{overscroll-behavior-x:contain;max-width:100%;color:var(--apple-black);white-space:pre;tab-size:2;background:#fff;margin:0;padding:20px;font:400 13px/1.6 SF Mono,Monaco,Courier New,monospace;display:block;overflow-x:auto}.sp-citation pre code{color:inherit;font:inherit;white-space:inherit;background:0 0;padding:0}.sp-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{min-height:44px;font:400 17px/1.4 var(--font-sans);letter-spacing:-.022em;cursor:pointer;transition:background var(--sp-control-duration) ease, color var(--sp-control-duration) ease, transform .24s var(--sp-control-ease);border:1px solid #0000;border-radius:980px;justify-content:center;align-items:center;gap:8px;padding:16px 32px;text-decoration:none;display:inline-flex}.btn.btn-primary{background:var(--apple-blue);color:#fff}.btn.btn-secondary{border-color:var(--apple-blue);color:var(--apple-blue);background:0 0}.btn:active{transform:scale(.98)}.sp-back-to-top:focus-visible,.sp-copy:focus-visible,.btn:focus-visible{outline:2px solid var(--apple-blue);outline-offset:4px}.sp-citation pre:focus-visible{outline:2px solid var(--apple-blue);outline-offset:-3px}@media (hover:hover) and (pointer:fine){.sp-back-to-top.is-visible:hover{background:var(--apple-blue-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0071e347}.sp-copy:hover{background:var(--apple-blue);color:#fff}.btn.btn-primary:hover{background:var(--apple-blue-hover);color:#fff;transform:scale(1.02)}.btn.btn-secondary:hover{background:var(--apple-blue);color:#fff}}@media (max-width:768px){.sp-back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.sp-citation-header{padding:10px 14px}.sp-citation pre{padding:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.sp-back-to-top,.sp-copy,.btn{transition:none}}.sp-footer{padding:36px 24px max(36px,env(safe-area-inset-bottom));background:var(--apple-off-white);color:var(--apple-black);font:400 13px/1.5 var(--font-sans);letter-spacing:-.01em;text-align:left;border-top:1px solid #0000000f;margin:0;display:block;position:relative}.sp-footer,.sp-footer *{box-sizing:border-box}.sp-footer-inner{justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:980px;margin:0 auto;padding-right:56px;display:flex}.sp-footer-identity strong{color:var(--apple-black);font:600 14px/1.5 var(--font-sans);display:block}.sp-footer-identity p{color:#6e6e73;font:400 13px/1.5 var(--font-sans);margin:4px 0 0;padding:0}.sp-footer-contact{flex-wrap:wrap;align-items:center;column-gap:12px;scroll-margin-top:72px;display:flex}.sp-footer-contact a{min-height:44px;color:var(--apple-blue);align-items:center;text-decoration:none;display:inline-flex}.sp-footer-contact a:hover{text-underline-offset:3px;text-decoration:underline}.sp-footer-contact a:focus-visible{outline:2px solid var(--apple-blue);outline-offset:4px;border-radius:2px}.sp-footer-links{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.sp-footer-links a{min-height:44px;color:var(--apple-black);font:400 13px/1.5 var(--font-sans);white-space:nowrap;align-items:center;padding:0;text-decoration:none;transition:color .18s;display:inline-flex}.sp-footer-links a:hover{color:var(--apple-blue);text-underline-offset:3px;text-decoration:underline}.sp-footer-links a:focus-visible{outline:2px solid var(--apple-blue);outline-offset:4px;border-radius:2px}.sp-footer-languages{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.sp-footer-languages>span{color:#b8b8bd}.sp-footer-languages a{color:#6e6e73;justify-content:center;min-width:44px}.sp-footer-languages a[aria-current=page]{color:var(--apple-black);font-weight:600}@media (max-width:600px){.sp-footer{padding-top:28px;padding-bottom:max(28px,env(safe-area-inset-bottom))}.sp-footer-inner{flex-direction:column;align-items:flex-start;gap:16px}}@media (prefers-reduced-motion:reduce){.sp-footer-links a{transition:none}}.btn[data-resource-pending] svg,.btn[data-resource-icon] svg{flex-shrink:0;width:1em;height:1em}.btn[data-resource-pending]:disabled{cursor:default;opacity:.6;transform:none}.btn.btn-primary[data-resource-pending]:disabled:hover{background:var(--apple-blue);color:#fff;transform:none}.btn.btn-secondary[data-resource-pending]:disabled:hover{color:var(--apple-blue);background:0 0;transform:none}.sp-copy[data-copy-empty]{cursor:default;opacity:.5}.sp-copy[data-copy-empty]:hover{background:var(--apple-light-gray);color:var(--apple-black)}.sp-footer-languages .sp-language-unavailable{color:#86868b;cursor:default;align-items:center;gap:6px;min-height:44px;display:inline-flex}.sp-language-unavailable small{font-size:11px}
html{--site-language-offset:0px;scroll-padding-top:var(--site-language-offset)}html:has(.site-language-notice[data-open=true]){--site-language-offset:44px}body{padding-top:var(--site-language-offset);transition:padding-top .28s cubic-bezier(.22,1,.36,1)}body .sp-global,body .sp-local{top:var(--site-language-offset);transition:top .28s cubic-bezier(.22,1,.36,1),transform .35s,opacity .25s}body .sp-projects{max-height:calc(100dvh - 68px - var(--site-language-offset))}body .sp-contents{max-height:calc(100dvh - 76px - var(--site-language-offset))}body .sp-backdrop{height:calc(100dvh - 44px - var(--site-language-offset))}.site-language-notice,.site-language-notice *{box-sizing:border-box}.site-language-notice{z-index:10001;background:var(--apple-light-gray);color:var(--apple-black);font:400 13px/1.5 var(--font-sans);opacity:0;visibility:hidden;border-bottom:1px solid #0000000f;transition:opacity .18s,transform .28s cubic-bezier(.22,1,.36,1),visibility .28s;position:fixed;inset:0 0 auto;transform:translateY(-100%)}.site-language-notice[data-open=true]{opacity:1;visibility:visible;transform:translateY(0)}.site-language-inner{justify-content:center;align-items:center;gap:32px;max-width:1200px;min-height:43px;margin:auto;padding:0 22px;display:flex}.site-language-notice p{text-wrap:balance;margin:0;font-weight:500}.site-language-actions{flex-shrink:0;align-items:center;gap:24px;display:flex}.site-language-actions a,.site-language-actions button{min-height:43px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;text-decoration:none;display:inline-flex}.site-language-actions a{color:var(--apple-blue)}.site-language-actions button{color:#6e6e73}.site-language-actions :is(a,button):hover{color:var(--apple-blue-hover)}.site-language-actions :is(a,button):focus-visible{outline:2px solid var(--apple-blue);outline-offset:3px;border-radius:3px}@media (max-width:600px){.site-language-inner{gap:12px;padding:0 16px}.site-language-actions{gap:12px}}@media (prefers-reduced-motion:reduce){body,body .sp-global,body .sp-local,.site-language-notice{transition:none}}body:lang(zh-CN){font-family:var(--font-sans-zh)}:lang(zh-CN){line-break:strict}:is(.hero-title,.section-title,.hero-subtitle,.section-subtitle):lang(zh-CN){letter-spacing:0;text-wrap:balance}:is(.hero-subtitle,.section-subtitle):lang(zh-CN){line-height:1.65}.section-subtitle:lang(zh-CN){text-wrap:pretty}.i18n-nowrap{white-space:nowrap}.i18n-phrase{vertical-align:top;text-wrap:balance;max-width:100%;display:inline-block}.site-project-content :is(h2,h3):lang(zh-CN){letter-spacing:0;line-height:1.3}.site-project-content :is(p:not(.hero-subtitle),li):lang(zh-CN){text-wrap:pretty}.i18n-affiliations{flex-wrap:wrap;justify-content:center;gap:4px 16px;display:flex}.i18n-affiliations>span{white-space:nowrap}.i18n-author-notes{margin-top:8px;font-size:12px;display:block}.site-project-content{display:contents}
