/* Reading preferences shared by the homepage, case studies and component library. */
html[data-locale-pending] body{visibility:hidden}
html,.case-page.case-routed{overflow-anchor:none}
html[data-appearance="dark"]{color-scheme:dark}
html[data-appearance="light"]{color-scheme:light;--nz-bg:#faf9f6;--nz-surface:#f0efeb;--nz-ink:#202729;--nz-muted:#586361;--nz-line:#39494330;--nz-gold:#76603d;--nz-nexo:#3d637b;--nz-fellou:#705395;--nz-stone:#4c6b4d;--nz-solitude:#79652e;--nz-tomato:#9a4a42;--nz-mood:#705c9e;--nz-accent:var(--nz-gold);--ground:var(--nz-bg);--ink:var(--nz-ink);--muted:var(--nz-muted);--gold:var(--nz-gold);--line:var(--nz-line)}
html[data-appearance] body{background-color:var(--nz-bg);color:var(--nz-ink)}
/* Hide page scrollbars on every route, including the homepage project overlay.
   Keep native wheel, touch and keyboard scrolling; do not lock overflow. */
html,body,.case-page.case-routed{scrollbar-width:none;scrollbar-gutter:auto;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,.case-page.case-routed::-webkit-scrollbar{display:none;width:0;height:0}
.site-preferences{--preferences-line:color-mix(in srgb,var(--nz-ink) 14%,transparent);position:fixed;top:22px;right:22px;z-index:650;font:14px/1.5 var(--nz-sans,Arial,"Microsoft YaHei",sans-serif);color:var(--nz-ink);letter-spacing:0;text-transform:none;flex-shrink:0;box-sizing:border-box}
.site-preferences.is-inline{position:relative;top:auto;right:auto;z-index:650;margin-left:auto}
.site-preferences summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;box-sizing:border-box;border:1px solid var(--preferences-line);border-radius:999px;background:color-mix(in srgb,var(--nz-bg) 76%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--nz-ink) 5%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;list-style:none;font-size:12px;line-height:1.4;white-space:nowrap;transition:background-color 220ms ease,border-color 220ms ease}
.site-preferences summary svg{display:block;flex-shrink:0;opacity:.86}
.site-preferences summary [data-locale-short]{letter-spacing:.04em}
.site-preferences summary>span[aria-hidden="true"]{width:1px;height:12px;margin-inline:2px;flex-shrink:0;font-size:0;background:currentColor;opacity:.22}
.site-preferences summary::-webkit-details-marker{display:none}
.site-preferences summary:hover,.site-preferences[open] summary{border-color:color-mix(in srgb,var(--nz-ink) 28%,transparent);background:color-mix(in srgb,var(--nz-bg) 92%,transparent)}
.site-preferences :is(summary,button,select):focus-visible{outline:2px solid var(--nz-accent);outline-offset:3px}
.site-preferences-panel{position:absolute;right:0;top:calc(100% + 12px);width:280px;max-width:calc(100vw - 32px);padding:20px;box-sizing:border-box;border:1px solid var(--preferences-line);border-radius:14px;background:var(--nz-bg);box-shadow:0 12px 36px #0002}
.site-preferences-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.site-preferences-heading strong{font-size:15px;font-weight:500}
.site-preferences-heading button{border:0;color:inherit;background:transparent;font:24px/1 Arial;min-width:36px;min-height:36px;cursor:pointer}
.site-preferences-panel label{display:grid;gap:8px;margin-bottom:16px;font-size:13px}
.site-preferences-panel select{width:100%;height:44px;padding:8px 10px;border:1px solid var(--nz-line);border-radius:4px;background:var(--nz-surface);color:var(--nz-ink);font:14px/1.5 var(--nz-sans,Arial,sans-serif)}
.site-preferences-panel{max-height:calc(100svh - 92px);overflow:auto;overscroll-behavior:contain}
.site-preferences-toggles{display:grid;gap:10px;margin:4px 0 20px}
.site-preference-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}
.site-preferences .site-preference-toggle{position:static;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:78px;min-height:44px;margin:0;padding:8px 14px;border:1px solid var(--nz-line);border-radius:22px;background:var(--nz-surface);color:var(--nz-muted);font:13px/1.5 var(--nz-sans);letter-spacing:0;cursor:pointer;white-space:nowrap}
.site-preferences .site-preference-toggle:before{content:"";width:7px;height:7px;border:1px solid currentColor;border-radius:50%;box-sizing:border-box}
.site-preferences .site-preference-toggle[aria-pressed="true"]{color:var(--nz-ink);border-color:var(--nz-accent)}
.site-preferences .site-preference-toggle[aria-pressed="true"]:before{background:var(--nz-accent);border-color:var(--nz-accent)}
.site-preferences .site-preference-toggle:disabled{opacity:.55;cursor:default}
.site-preferences .site-preference-toggle svg{display:none}
.site-preferences-panel p{margin:4px 0 0;color:var(--nz-muted);font-size:12px;line-height:1.7}
.site-preferences :is(.motion-control,.sound-control){position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;font-size:13px}
.site-preferences :is(.motion-control,.sound-control) button{min-height:44px;padding:8px 12px;border:1px solid var(--nz-line);border-radius:6px;background:var(--nz-surface);color:var(--nz-ink);font:12px/1.5 var(--nz-sans,Arial,sans-serif);backdrop-filter:none;cursor:pointer}
.entry-locked .site-preferences .motion-control{visibility:visible!important}
.site-preferences-panel{max-height:calc(100svh - 94px);overflow-y:auto;scrollbar-width:none}
.case-nav{position:relative;flex-wrap:wrap;padding-block:18px}
.case-nav .site-preferences.is-inline{position:fixed;top:22px;right:22px;margin-left:0}
.lib-toolbar .site-preferences{margin-left:0;position:fixed;top:14px;right:clamp(28px,4.5vw,76px)}
.lib-toolbar{padding-right:116px}
html:has(#ning-water-garden) .index-toggle{right:calc(22px + var(--site-preferences-width,112px) + 16px)}
.index-toggle .index-lines{border-color:currentColor}
.index-toggle .index-lines:after{background:currentColor}
html.case-locked .site-preferences{position:fixed;top:22px;right:22px}
.case-nav{padding-right:130px}
/* Leave room for the fixed switcher when chapter navigation reaches the top. */
.case-page .case-chapter-links{margin-right:max(0px,calc(134px - max(6vw,(100vw - 1280px)/2)))}
/* Fixed columns use minmax; text grows vertically rather than clipping. */
:is(.lib-component,.lib-project-intro,.lib-share-project,.preview-project,.case-overview,.case-facts)>*{min-width:0}
:is(.lib-toolbar,.lib-subhead,.lib-reading-controls,.lib-preview-meta,.lib-feedback-stage-label,.nz-dialog-header){flex-wrap:wrap}
.lib-toolbar{gap:12px}
.lib-toolbar>span{flex:1;min-width:0}
.lib-component-head h4>span,.lib-group-heading h3>span{display:none}
.lib-component-head h4{overflow-wrap:anywhere}
.lib-preview-settings label,.lib-feedback-controls label{line-height:1.6}
.lib-group-heading h3{font-size:clamp(22px,2vw,26px)}
.lib-group-count{white-space:nowrap}
.nz-link{white-space:normal}
.lib-share-copy{height:auto;line-height:1.5}
html[lang="zh-CN"]{--nz-serif:"Noto Serif SC","Source Han Serif SC","Songti SC",STSong,SimSun,serif;--nz-sans:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif}
html[lang="zh-CN"] :is(.case-page h2,.case-page h3,.case-keyword-line,.ng-section-head h2,.ng-about h2,.ng-practice h2,.lib-hero-copy h1,.lib-section-heading h2,.nz-heading){font-family:"Noto Serif SC","Source Han Serif SC",SimSun,serif;letter-spacing:0;line-height:1.4;word-break:normal}
html[lang="zh-CN"] :is(.case-eyebrow,.nz-label,.ng-eyebrow){letter-spacing:.06em;line-height:1.7}
html[lang="zh-CN"] .case-keyword-line .case-keyword-token{white-space:normal}
/* Light mode changes the website surfaces, never inverts artwork or app screens. */
html[data-appearance="light"] :is(.lib-sidebar,.lib-toolbar,.lib-component,.lib-demo,.lib-preview-stage,.lib-code pre,.lib-code-tools,.lib-motion-stage){background:var(--nz-surface);color:var(--nz-ink)}
html[data-appearance="light"] .lib-toolbar{background:var(--nz-bg)}
html[data-appearance="light"] :is(.lib-navigation a>span,.lib-type-scale code){color:var(--nz-muted)}
html[data-appearance="light"] .lib-navigation a[aria-current]{background:#76603d0b}
html[data-appearance="light"] .lib-navigation a:hover{background:#20272908}
html[data-appearance="light"] #component-preview{color-scheme:light}
html[data-appearance="light"] .lib-share-copy{color:#fff}
html[data-appearance="light"] .lib-share-copy:hover:not(:disabled){background:color-mix(in srgb,var(--nz-accent) 88%,black)}
html[data-appearance="light"] .case-page[data-case]{--case-ink:var(--nz-ink);--case-muted:var(--nz-muted);--case-gold:var(--nz-gold);--nexo-line:var(--nz-line);--fellou-line:var(--nz-line);--study-line:var(--nz-line);background:var(--nz-bg);color:var(--nz-ink)}
html[data-appearance="light"] .case-page[data-case="nexo"]{--case-gold:var(--nz-nexo)}
html[data-appearance="light"] .case-page[data-case="fellou"]{--case-gold:var(--nz-fellou)}
html[data-appearance="light"] .case-page[data-case="stone-roses"]{--case-gold:var(--nz-stone)}
html[data-appearance="light"] .case-page[data-case="solitude"]{--case-gold:var(--nz-solitude)}
html[data-appearance="light"] .case-page[data-case="mood-tracker"]{--case-gold:var(--nz-mood)}
html[data-appearance="light"] .case-page[data-case="ms-tomato"]{--case-gold:var(--nz-tomato)}
html[data-appearance="light"] .case-page :is(.case-description,.case-intro-bottom p,.fellou-story p,.nexo-story p,.study-story p,.msu-story p):not(:where(.mood-device *)){color:var(--nz-muted)}
html[data-appearance="light"] .case-page :is(.case-keyword-line,.case-discover,.case-resources a,.mood-restart){color:var(--nz-ink)}
html[data-appearance="light"] .case-page :is(.case-keyword:hover,a:hover,.nexo-film-copy h2 em,.mood-handoff strong){color:var(--case-gold)}
html[data-appearance="light"] :is(.nexo-closing,.mood-demo,.mood-originals,.fellou-poster-grid .fellou-figure){background:var(--nz-surface)}
html[data-appearance="light"] .mood-demo-steps li[aria-current]>span{background:var(--nz-mood);color:white}
html[data-appearance="light"] :is(.mood-demo-steps li,.mood-branches span,.mood-palette span,.study-story .mood-demo-guide .mood-demo-disclaimer){color:var(--nz-muted)}
html[data-appearance="light"] :is(.mood-premise>span,.mood-premise strong,.mood-demo-steps li[aria-current],.mood-demo-steps li.is-complete>span){color:var(--nz-mood)}
html[data-appearance="light"] .mood-rules dt{color:var(--nz-ink)}
html[data-appearance="light"] .case-page :is(.case-nav,.case-facts,.case-footer,.case-resources a){border-color:var(--nz-line)}
html[data-appearance="light"] :is(.nexo-story,.fellou-story,.study-story){--nexo-line:var(--nz-line);--fellou-line:var(--nz-line);--study-line:var(--nz-line)}
html[data-appearance="light"] .nz-toast[data-type="success"] .nz-toast-icon{color:var(--nz-stone)}
html[data-appearance="light"] .nz-toast[data-type="error"] .nz-toast-icon{color:var(--nz-tomato)}
html[data-appearance="light"] :is(.return-link,.site-footer a,.collection-intro h1 em){color:var(--nz-accent)}
html[data-appearance="light"] :is(.project-dialog,.dialog-bar){background:var(--nz-bg);color:var(--nz-ink)}
html[data-appearance="light"] #ning-water-garden{--ng-paper:var(--nz-ink);--ng-muted:var(--nz-muted);--ng-gold:var(--nz-gold);--ng-line:var(--nz-line);background:var(--nz-bg);color:var(--nz-ink)}
/* The opening header belongs to the night scene; light surfaces start below it. */
html[data-appearance="light"] #ning-water-garden :is(.ng-work,.ng-practice,.ng-about,.ng-footer){background:var(--nz-bg);color:var(--nz-ink);border-color:var(--nz-line)}
html[data-appearance="light"] #ning-water-garden .ng-practice{background:var(--nz-surface)}
html[data-appearance="light"] #ning-water-garden :is(.ng-project-toggle,.ng-contacts a,.ng-nav button){color:var(--nz-ink)}
html[data-appearance="light"] #ning-water-garden .ng-project-toggle:hover .ng-title{color:var(--nz-accent)}
html[data-appearance="light"] #ning-water-garden .ng-work :is(.ng-section-head,.ng-project-toggle,.ng-title){text-shadow:none}
html[data-appearance="light"] #ning-water-garden .ng-work .ng-project.is-lamp-lit .ng-title{color:var(--nz-gold)}
html[data-appearance="light"] :is(.work-lamp-hint,.work-book-hint){color:var(--nz-gold)}
html[data-appearance="light"] #ning-water-garden .ng-material{color:#eee9df}
html[data-appearance="light"] #welcome{--ng-paper:#eee9df;--ng-muted:#aab3b0;--ng-gold:#bca47e;color:#eee9df}
html[data-appearance="light"] body.reading-projects :is(.index-toggle,.chapter-rail button){color:var(--nz-ink)}
html[data-appearance="light"] body.reading-projects .index-toggle{background:transparent;border:0}
@media(max-width:760px){
 .site-preferences{top:14px;right:12px}
 .site-preferences summary{padding:8px;gap:5px;min-width:84px}
 .case-nav{gap:10px;min-height:88px}
 .case-nav .case-number{flex-basis:100%;order:3}
 .case-signature{margin-left:auto}
 .case-nav .site-preferences.is-inline,html.case-locked .site-preferences{top:14px;right:12px;margin-left:0}
 .lib-toolbar{gap:8px;flex-wrap:nowrap}
 .lib-toolbar{padding-right:96px}
 .lib-toolbar .site-preferences{top:10px;right:24px}
 .lib-toolbar>.nz-link{display:none}
 .lib-mobile-directory{flex:1;min-width:0}
 .lib-mobile-directory select{max-width:100%}
 html:has(#ning-water-garden) .index-toggle{right:112px}
 .case-nav{padding-right:0;padding-top:70px}
 .case-page .case-chapter-links{margin-right:max(0px,calc(108px - 6vw))}
 .lib-reading-controls{gap:12px}
 .lib-reading-controls small{flex-basis:100%;order:3}
 .lib-neutral-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html[lang="zh-CN"] .case-page h2{font-size:clamp(28px,7vw,42px)}
}
@media(prefers-reduced-motion:reduce){.site-preferences *{transition:none!important}}


/* Mobile home navigation shares one stable top row with reading preferences. */
@media(max-width:760px){
 html:has(#ning-water-garden){--home-ui-top:max(14px,env(safe-area-inset-top));--home-ui-right:max(12px,env(safe-area-inset-right))}
 html:has(#ning-water-garden):not(.case-locked) .site-preferences:not(.is-inline){top:var(--home-ui-top);right:var(--home-ui-right)}
 html:has(#ning-water-garden):not(.case-locked) .site-preferences:not(.is-inline) summary{width:auto;min-height:44px}
 html:has(#ning-water-garden) .index-toggle{top:var(--home-ui-top);right:calc(var(--home-ui-right) + var(--site-preferences-width,132px) + 10px);width:44px;height:44px;padding:0;justify-content:center;gap:0;border-radius:6px;background:#09100ec7}
 html[data-appearance="light"]:has(#ning-water-garden) body.reading-projects .index-toggle{background:var(--nz-bg)}
 html:has(#ning-water-garden) .chapter-rail{--mobile-index-ink:#dbe0d8;--mobile-index-active:#e5cfaa;display:none;top:calc(var(--home-ui-top) + 52px);right:var(--home-ui-right);width:min(200px,calc(100vw - 24px));max-height:calc(100svh - var(--home-ui-top) - 76px);overflow-y:auto;scrollbar-width:none;padding:12px 16px;gap:2px;border:1px solid #8a9e8233;border-radius:12px;background:#09100ef5;box-shadow:0 12px 32px #0002;transform:none}
 html:has(#ning-water-garden) .chapter-rail::-webkit-scrollbar{display:none}
 html:has(#ning-water-garden) body.index-open .chapter-rail{display:flex;opacity:1;pointer-events:auto}
 html:has(#ning-water-garden) .chapter-rail button{width:100%;min-height:44px;gap:14px;padding:8px 0;color:var(--mobile-index-ink);font-size:12px}
 html:has(#ning-water-garden) .chapter-rail button[aria-current="step"]{color:var(--mobile-index-active)}
 html:has(#ning-water-garden) .chapter-rail b{display:inline;opacity:1;font-size:13px}
 html:has(#ning-water-garden) .chapter-rail .rail-line{display:none}
 html[data-appearance="light"]:has(#ning-water-garden) body.reading-projects .chapter-rail{--mobile-index-ink:var(--nz-ink);--mobile-index-active:var(--nz-gold);background:var(--nz-bg);border-color:var(--nz-line)}
}
@media(max-width:639px){
 #ning-water-garden .shore-intro{top:max(calc(8% - 12px),calc(var(--home-ui-top,14px) + 56px))}
}

/* A quiet, consistent reading utility across the portfolio. */
:root{--site-return-width:144px}
html[lang="zh-CN"]{--site-return-width:112px}
.site-back-to-top,.site-home-pull-caption{
 display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 16px;
 border:1px solid var(--nz-line,#ffffff25);border-radius:999px;
 background:var(--nz-bg,#0a1011);color:var(--nz-ink,#eee9df);box-shadow:0 3px 16px #0000000a;
 font:12px/1.5 var(--nz-sans,Arial,sans-serif);letter-spacing:0;white-space:nowrap;cursor:pointer;
}
.site-back-to-top{
 position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:640;
 opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);
 transition:opacity 180ms ease,transform 220ms ease,bottom 220ms ease,visibility 0s linear 220ms;
}
.site-back-to-top[data-visible="true"]{
 opacity:1;visibility:visible;pointer-events:auto;transform:none;
 transition:opacity 180ms ease,transform 220ms ease,bottom 220ms ease,visibility 0s;
}
.site-back-to-top svg,.site-home-return-arrow{display:block;flex-shrink:0}
.site-back-to-top[data-with-home="true"]{min-width:var(--site-return-width);box-sizing:border-box}
.site-back-to-top:hover,.site-home-pull-caption:hover{border-color:var(--nz-muted);background:var(--nz-surface,#141c1d)}
.site-back-to-top:focus-visible,.site-home-pull:focus-visible .site-home-pull-caption{outline:2px solid var(--nz-accent,#bba17d);outline-offset:4px}
.site-back-to-home{text-decoration:none}
@media(max-width:760px){
 :root{--site-return-width:136px}
 html[lang="zh-CN"]{--site-return-width:108px}
 .site-back-to-top,.site-home-pull-caption{min-height:44px;padding:9px 13px;gap:9px;font-size:12px}
 .site-back-to-top{right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
 /* The opening scene has its own bottom navigation row. */
 html:has(#ning-water-garden) body:not(.reading-projects)>.site-back-to-top{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 112px)}
}
@media(prefers-reduced-motion:reduce){.site-back-to-top,.site-back-to-top[data-visible="true"]{transition:none;transform:none}}
@media print{.site-back-to-top{display:none!important}}

/* A woven tieback cord and small thread tassel, matching the opening curtains. */
.site-home-pull{
 --home-pull-axis:50%;
 --home-pull-highlight:#cfc2a3;position:fixed;top:0;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 64px);right:max(22px,env(safe-area-inset-right));
 width:var(--site-return-width);z-index:640;display:block;border:0;background:none;color:var(--nz-ink,#eee9df);
 opacity:0;visibility:hidden;pointer-events:none;text-decoration:none;user-select:none;-webkit-user-select:none;
 transition:opacity 240ms ease,visibility 0s linear 240ms;
}
.site-home-pull[data-visible="true"]{opacity:1;visibility:visible;transition:opacity 240ms ease,visibility 0s}
html:has(#ning-water-garden):not(.case-locked) .site-home-pull{display:none!important}
.site-home-cord{position:absolute;left:var(--home-pull-axis);transform:translateX(-50%);display:block;width:86px;height:100%;overflow:hidden;pointer-events:none;touch-action:none;opacity:0;visibility:hidden;transition:opacity 200ms ease}
.site-home-pull.is-cord-open .site-home-cord{opacity:.84;visibility:visible}
.site-home-cord-hit{stroke:transparent;stroke-width:28;pointer-events:none;cursor:grab;touch-action:none}
.site-home-cord-thread{stroke:#655b46;stroke-width:3.8;stroke-opacity:.94}
.site-home-cord-links{stroke:#9c8a66;stroke-width:2.1;stroke-linecap:round}
.site-home-cord-link-light{stroke:#d6c49c;stroke-width:2;stroke-opacity:.96;stroke-linecap:round}
.site-home-pull-weight,.site-home-pull-knot{fill-opacity:.96}
.site-home-tassel-threads{stroke:#5e5541;stroke-width:.65;opacity:.58}
.site-home-tassel-fringe{stroke:#b5a583;opacity:.85}
.site-home-pull-sheen{stroke:#e0d3b4;opacity:.4;transition:opacity 220ms}
.site-home-cord-mount{opacity:.5}
.site-home-pull-hit{
 position:absolute;left:var(--home-pull-axis);margin-left:-26px;width:52px;height:70px;display:block;
 border-radius:22px;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;
}
.site-home-pull-caption{
 position:absolute;left:0;right:0;bottom:0;box-sizing:border-box;
 transition:opacity 180ms ease;cursor:pointer;
}
.site-home-pull-caption small{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);display:none;font-size:10px;line-height:1.5;color:var(--nz-muted,#aab3b0)}
.site-home-pull.is-cord-open .site-home-pull-caption small{display:block}
.site-home-pull[data-visible="true"] .site-home-pull-caption{pointer-events:auto}
.site-home-pull[data-visible="true"].is-cord-open:not(.is-cord-dropping,.is-returning) .site-home-pull-hit{pointer-events:auto}
.site-home-pull[data-visible="true"].is-cord-open:not(.is-cord-dropping,.is-returning) .site-home-cord-hit{pointer-events:stroke}
.site-home-pull.is-cord-open:is(:hover,:focus-visible,.is-pulling,.is-returning) .site-home-cord{opacity:1}
.site-home-pull:is(:hover,:focus-visible,.is-armed,.is-returning) .site-home-pull-sheen{opacity:.48}
.site-home-pull.is-pulling :is(.site-home-pull-hit,.site-home-cord-hit){cursor:grabbing}
.site-home-pull.is-pulling .site-home-pull-caption{opacity:.7}
.site-home-pull.is-armed .site-home-pull-caption{opacity:1}
.site-home-pull.is-armed .site-home-pull-caption small{color:var(--home-pull-highlight)}
.site-home-pull.is-returning :is(.site-home-pull-hit,.site-home-cord-hit){pointer-events:none}
.site-home-pull.is-returning .site-home-pull-caption{opacity:0;pointer-events:none}
.site-home-pull:focus-visible{outline:none}
html[data-appearance="light"] .site-home-pull{--home-pull-highlight:#7c7056}
html[data-appearance="light"] .site-home-cord-thread{stroke:#6d5d41;stroke-opacity:.96}
@media(max-width:760px){
 .site-home-pull{right:max(14px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 60px)}
 .site-home-pull-hit{margin-left:-24px;width:48px}
 .site-home-cord-hit{stroke-width:16}
 .site-home-pull-caption small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.site-home-pull,.site-home-pull *{transition:none!important}}
@media print{.site-home-pull{display:none!important}}

/* One continuous lamp gesture: the current view gives, then lifts to reveal home. */
.home-pull-surface{translate:0 var(--home-page-pull,0px);will-change:translate}
.home-pull-header{position:relative;top:var(--home-page-pull,0px)}
@view-transition{navigation:auto}
html.home-pull-departing .site-home-pull{view-transition-name:home-return-chain}
html.home-pull-arriving::view-transition-group(home-return-chain){animation:none;z-index:3}
html.home-pull-arriving::view-transition-old(home-return-chain){animation:home-chain-retract 640ms cubic-bezier(.32,.08,.22,1) both;mix-blend-mode:normal}
html.home-pull-arriving::view-transition-group(root){animation:none}
html.home-pull-arriving::view-transition-image-pair(root){isolation:auto}
html.home-pull-arriving::view-transition-old(root){animation:home-lamp-lift 640ms cubic-bezier(.32,.08,.22,1) both;mix-blend-mode:normal;z-index:2}
html.home-pull-arriving::view-transition-new(root){animation:home-lamp-arrive 640ms cubic-bezier(.32,.08,.22,1) both;mix-blend-mode:normal;z-index:1}
@keyframes home-chain-retract{to{transform:translateY(-100vh)}}
@keyframes home-lamp-lift{
  0%{transform:translateY(0)}
  100%{transform:translateY(-100vh)}
}
@keyframes home-lamp-arrive{
  0%{transform:translateY(100vh)}
  100%{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .home-pull-surface{translate:none;will-change:auto}
 .home-pull-header{top:0}
 html.home-pull-arriving::view-transition-old(root),html.home-pull-arriving::view-transition-new(root),html.home-pull-arriving::view-transition-old(home-return-chain){animation:none}
}

/* Public ICP registration link. */
.site-registration{
  box-sizing:border-box;width:100%;padding:0 24px 28px;text-align:center;
  font-family:var(--site-sans,"Microsoft YaHei",sans-serif);font-size:13px;line-height:1.6;letter-spacing:0;
}
html .site-registration>a,
html #ning-water-garden .site-registration>a{
  display:inline-flex;align-items:center;min-height:44px;color:var(--nz-muted,#aab3b0);
  text-decoration:none;white-space:nowrap;
}
html .site-registration>a:hover,
html #ning-water-garden .site-registration>a:hover{color:var(--nz-ink,#eee9df);text-decoration:underline;text-underline-offset:4px}
.site-registration>a:focus-visible{outline:1px solid currentColor;outline-offset:4px;border-radius:2px}
@media(max-width:760px){.site-registration{padding-bottom:calc(124px + env(safe-area-inset-bottom))}}
