/* The selected ink-entry composition: paper, vertical type and seven dots. */
html:not(.nb-ready),html:not(.nb-ready) body{overflow-y:hidden!important;scroll-behavior:auto!important}
html.nb-entering,html.nb-entering body{overflow-y:hidden!important;scroll-behavior:auto!important}
html:not(.nb-ready) #guanju-site{visibility:hidden!important;pointer-events:none!important}
html:not(.nb-ready) #nb-shell{transform:none!important}
html:not(.nb-ready) #nb-shell>:not(.nb-loader){visibility:hidden!important}
#nb-shell .nb-loader{
 --loader-ink:#17475a;display:block;gap:0;padding:0;overflow:hidden;
 color:var(--loader-ink);text-shadow:none;isolation:isolate;
 background:#f4efdf;
 transition:opacity .65s ease,visibility .65s ease;
}
/* The new ink sheet owns entry; the invisible legacy loader needs no paper. */
#loader,.loader-experience,.cs-unified-loader{display:none!important;background-image:none!important}
#nb-shell .nb-loader::before{
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:url('loader-art-v23/ink-entry-background.webp') center/cover no-repeat;
 animation:nb-loader-ink-arrival 1.3s ease-out both;
}
#nb-shell .nb-loader-content{
 position:absolute;left:49.8%;top:46.5%;transform:translate(-50%,-50%);
 width:max-content;max-width:calc(100% - 80px);
}
#nb-shell .nb-loader-signature{position:relative;width:max-content}
#nb-shell .nb-loader-brand{
 display:flex;flex-direction:column;gap:6px;
 font:400 clamp(82px,10.7svh,116px)/1.06 GuanjuSerif,"Songti SC",SimSun,serif;
 letter-spacing:0;margin:0;
}
#nb-shell .nb-loader-brand>span{display:block}
#nb-shell .nb-loader-slogan{
 position:absolute;left:calc(100% + 20px);top:50%;transform:translateY(-50%);
 writing-mode:vertical-rl;white-space:nowrap;padding-left:18px;
 border-left:1px solid #b29659;font:400 18px/1.35 GuanjuSerif,"Songti SC",SimSun,serif;
 letter-spacing:.15em;color:#7d7b6c;
}
#nb-shell .nb-loader-progress-area{
 position:absolute;left:50%;bottom:max(11.2%,calc(env(safe-area-inset-bottom) + 28px));
 transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;
 gap:19px;width:max-content;
}
#nb-shell .nb-loader-progress{display:flex;gap:21px;align-items:center}
#nb-shell .nb-loader-dot{
 display:block;position:relative;overflow:hidden;width:11px;height:11px;
 border-radius:50%;background:#b9ad9294;
}
#nb-shell .nb-loader-dot>i{
 display:block;position:absolute;inset:0;border-radius:inherit;
 background:var(--loader-ink);clip-path:inset(0 var(--dot-empty,100%) 0 0);
 transition:clip-path .28s ease-out;
}
#nb-shell .nb-loader-phase{
 display:inline-flex;align-items:baseline;gap:9px;white-space:nowrap;
 font:400 16px/1.5 GuanjuSerif,"Songti SC",SimSun,serif;
 color:#667979;letter-spacing:.06em;
}
#nb-shell .nb-loader-percentage{min-width:4ch;font-variant-numeric:tabular-nums;letter-spacing:.02em}
#nb-shell .nb-loader-direct{
 display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:44px;
 padding:10px 24px;border:1px solid #17475a35;border-radius:999px;
 background:#f7f2e3b8;color:#17475a;font:14px/1.5 GuanjuSerif,"Songti SC",SimSun,serif;
 letter-spacing:.06em;transition:background .18s,border-color .18s,transform .1s;
}
#nb-shell .nb-loader-direct:hover{background:#f9f4e9e8;border-color:#17475a80}
#nb-shell .nb-loader-direct:active{transform:scale(.97)}
#nb-shell .nb-loader-direct:disabled{cursor:progress;opacity:.7}
/* Direct entry has no tall prologue spacer or hidden graphics behind the site. */
html.nb-direct-site #root{display:none!important}
html.nb-direct-site .xp-canvas{display:none!important}
html.nb-direct-site,html.nb-direct-site body{min-height:100vh!important;height:auto!important}
html.nb-direct-site #nb-shell{transform:none!important;z-index:100}
html.nb-direct-site:not(.nb-loading) #nb-shell{display:none!important}
/* Resource readiness and visible entry are separate. A real first frame stays
   behind this opaque sheet until complete() starts the ink opening. */
.nb-ready #nb-shell .nb-loader{opacity:1;visibility:visible;pointer-events:auto}
#nb-shell .nb-loader.has-ink-mask.is-revealing{
 -webkit-mask-image:linear-gradient(#fff,#fff),var(--loader-ink-mask);
 mask-image:linear-gradient(#fff,#fff),var(--loader-ink-mask);
 -webkit-mask-size:100% 100%,0vmax 0vmax;mask-size:100% 100%,0vmax 0vmax;
 -webkit-mask-position:center;mask-position:center;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-composite:xor;mask-composite:exclude;
 animation:nb-loader-reveal-ink var(--loader-reveal-duration,1250ms) cubic-bezier(.2,.08,.26,1) both;
}
#nb-shell .nb-loader:not(.has-ink-mask).is-revealing{animation:nb-loader-reveal-fade var(--loader-reveal-duration,220ms) ease-out both}
#nb-shell .nb-loader-content,#nb-shell .nb-loader-progress-area{transition:opacity .22s ease}
#nb-shell .nb-loader.is-revealing .nb-loader-content,#nb-shell .nb-loader.is-revealing .nb-loader-progress-area{opacity:0}
#nb-shell .nb-loader.is-complete{opacity:0;visibility:hidden;pointer-events:none}
@keyframes nb-loader-reveal-ink{
 0%{-webkit-mask-size:100% 100%,0vmax 0vmax;mask-size:100% 100%,0vmax 0vmax}
 12%{-webkit-mask-size:100% 100%,18vmax 18vmax;mask-size:100% 100%,18vmax 18vmax}
 64%{-webkit-mask-size:100% 100%,155vmax 155vmax;mask-size:100% 100%,155vmax 155vmax}
 100%{-webkit-mask-size:100% 100%,320vmax 320vmax;mask-size:100% 100%,320vmax 320vmax}
}
@keyframes nb-loader-reveal-fade{from{opacity:1}to{opacity:0}}
#nb-shell .nb-loader-retry{font:14px/1.5 GuanjuSerif,serif;padding:7px 18px;border:1px solid #b2965980;border-radius:30px;color:#17475a;background:#f7f1e3b8;cursor:pointer}
@keyframes nb-loader-ink-arrival{from{opacity:.25}to{opacity:1}}
@media(max-width:620px){
 #nb-shell .nb-loader::before{background-position:52% 50%}
 #nb-shell .nb-loader-brand{font-size:clamp(68px,9.5svh,80px);gap:5px}
 #nb-shell .nb-loader-slogan{left:calc(100% + 14px);padding-left:12px;font-size:12px;letter-spacing:.15em}
 #nb-shell .nb-loader-progress{gap:16px}
 #nb-shell .nb-loader-dot{width:8px;height:8px}
 #nb-shell .nb-loader-progress-area{gap:17px;bottom:max(12%,calc(env(safe-area-inset-bottom) + 26px))}
 #nb-shell .nb-loader-phase{font-size:13px}
}
@media(max-height:660px){
 #nb-shell .nb-loader::before{background-position:50% 45%}
 #nb-shell .nb-loader-brand{font-size:clamp(60px,11svh,76px);gap:4px}
 #nb-shell .nb-loader-content{top:45%}
 #nb-shell .nb-loader-slogan{font-size:14px;padding-left:14px;left:calc(100% + 16px)}
 #nb-shell .nb-loader-progress-area{bottom:max(13%,calc(env(safe-area-inset-bottom) + 24px));gap:15px}
 #nb-shell .nb-loader-dot{width:8px;height:8px}
 #nb-shell .nb-loader-progress{gap:17px}
 #nb-shell .nb-loader-phase{font-size:13px}
}
@media(max-width:620px) and (max-height:660px){
 #nb-shell .nb-loader::before{background-position:52% 50%}
 #nb-shell .nb-loader-slogan{font-size:12px;padding-left:12px;left:calc(100% + 14px)}
 #nb-shell .nb-loader-progress{gap:16px}
}
@media(max-height:440px){
 #nb-shell .nb-loader-brand{font-size:52px}
 #nb-shell .nb-loader-slogan{font-size:11px;letter-spacing:.05em}
 #nb-shell .nb-loader-progress-area{bottom:max(9%,env(safe-area-inset-bottom));gap:10px}
}
@media(prefers-reduced-motion:reduce){
 #nb-shell .nb-loader,#nb-shell .nb-loader::before,#nb-shell .nb-loader *{animation:none!important;transition:none!important}
 #nb-shell .nb-loader.is-revealing{mask-image:none;-webkit-mask-image:none;animation:nb-loader-reveal-fade var(--loader-reveal-duration,220ms) ease-out both!important}
}
@media(prefers-contrast:more){#nb-shell .nb-loader-slogan,#nb-shell .nb-loader-phase{color:#17475a}}
