/* Text is painted over the shared drag surface; there are no nested scrollers. */
.world-reading-light{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(0deg,#021410ed 0%,#0317128c 9%,transparent 27%)}
.world-reading-light:before,.world-reading-light:after{content:"";position:absolute;inset:0;pointer-events:none}
.world-reading-light:before{opacity:calc(var(--reading-weight,0)*(1 - var(--reading-center,0)));background:linear-gradient(180deg,#04171080,transparent 84%),radial-gradient(ellipse at 14% 29%,#031b16c7,transparent 78%)}
.world-reading-light:after{opacity:calc(var(--reading-weight,0)*var(--reading-center,0));background:radial-gradient(ellipse at 50% 35%,#031813b8,transparent 90%),linear-gradient(180deg,#04171073,transparent 85%)}
.world-chapter{position:absolute;z-index:2;left:9%;top:17%;bottom:16%;width:min(38%,500px);overflow:clip;pointer-events:none;opacity:0;text-shadow:0 2px 24px #061b13cc;user-select:none;-webkit-user-select:none;touch-action:none}
.world-chapter.has-overflow{mask-image:linear-gradient(transparent,#000 12px,#000 calc(100% - 12px),transparent)}
.world-chapter-copy{padding:0 0 12px;will-change:transform}
.world-chapter-meta{font:12px/1.8 Arial,sans-serif;letter-spacing:.20em;color:#bdcfc7;margin:0 0 23px}
.world-chapter h2{font-family:"Songti SC","Noto Serif SC","SimSun",serif;font-size:clamp(32px,3.5vw,52px);font-weight:400;letter-spacing:.06em;line-height:1.55;color:#e6eee3;white-space:pre-line;overflow-wrap:anywhere;text-wrap:balance;margin:0 0 25px}
.world-chapter-description{font-size:16px;line-height:2;letter-spacing:.025em;color:#dde7df;margin:0;max-width:29em;text-wrap:pretty}
.world-chapter-details{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin:30px 0 0;padding:19px 0 0;border-top:1px solid #b9d1b92b;color:#afc8b9;font-size:14px;line-height:1.8;letter-spacing:.04em}
.world-chapter--scenario{left:8%;top:13%;width:43%;bottom:17%;text-align:left}
.world-chapter--scenario h2{font-size:clamp(28px,2.8vw,41px);max-width:16em}
.world-chapter--scenario .world-chapter-description{max-width:33em;font-size:15px}
.world-chapter--scenario .world-chapter-details{justify-content:flex-start;border:0;margin-top:25px;padding:0}
.world-process{display:grid;grid-template-columns:1fr;list-style:none;padding:0;margin:27px 0 0;max-width:540px;gap:0;text-align:left}
.world-process-step{position:relative;display:flex;align-items:flex-start;gap:16px;padding:0 0 17px;text-align:left;min-height:28px}
.world-process-step>span{opacity:var(--step-reveal,0);transform:translateY(calc((1 - var(--step-reveal,0))*7px))}
.world-process-step:not(:last-child):after{content:"";position:absolute;top:32px;left:13px;width:1px;height:calc(100% - 35px);background:linear-gradient(#bfd4c780,#8fbaa745);transform:scaleY(var(--line-reveal,0));transform-origin:top}
.world-process-step:last-child{padding-bottom:0}
.world-process-number{display:grid;place-items:center;flex:0 0 26px;height:26px;border:1px solid #b8cdb645;border-radius:50%;background:#132c2422;color:#d9e5d4;font:11px/1 Arial,sans-serif;letter-spacing:.03em}
.world-process-label{font-size:14px;line-height:1.8;padding-top:1px;color:#d5e0d7;text-wrap:pretty}
.world-chapter--company,.world-chapter--contact{left:14%;width:72%;top:15%;bottom:17%;text-align:center}
.world-chapter--contact{top:9%;bottom:15%}
.world-chapter--company h2,.world-chapter--contact h2{font-size:clamp(34px,4vw,56px)}
.world-chapter--contact h2{font-size:clamp(30px,3.1vw,46px);line-height:1.42;margin-bottom:16px}
.world-chapter--contact .world-chapter-meta{margin-bottom:14px}
.world-chapter--company .world-chapter-description,.world-chapter--contact .world-chapter-description{max-width:37em;margin:0 auto}
.world-company-note{font-size:14px;line-height:1.8;color:#a5c6b2;letter-spacing:.15em;margin:35px 0 0}
.world-contact-pending{font-size:14px;line-height:1.9;color:#aec6b9;margin:27px auto 0}
.world-contact-channels{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 22px;max-width:880px;margin:22px auto 0;padding-top:18px;border-top:1px solid #b9d1b940}
.world-contact-channel{display:flex;align-items:center;justify-content:center;min-width:0;min-height:62px;padding:14px 9px;border:0;border-radius:3px;background:transparent;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:background .2s,transform .2s}
.world-contact-channel:hover{background:#c2e5d809;transform:translateY(-2px)}.world-contact-channel:focus-visible{outline:1px solid #b1d3c3;outline-offset:4px}
.world-contact-channel-name{display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;color:#d3e3da;letter-spacing:.1em}
.world-contact-icon{display:inline-block;width:23px;height:23px;flex-shrink:0;background:currentColor;mask:var(--contact-icon) center/contain no-repeat;-webkit-mask:var(--contact-icon) center/contain no-repeat}
.world-contact-icon--wechat{--contact-icon:url('../assets/icons/wechat.svg')}.world-contact-icon--qq{--contact-icon:url('../assets/icons/qq.svg')}.world-contact-icon--mail{--contact-icon:url('../assets/icons/mail.svg')}.world-contact-icon--phone{--contact-icon:url('../assets/icons/phone.svg')}
.contact-popover{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(288px,calc(100vw - 32px));padding:23px 22px 21px;border:1px solid #adcabd4d;border-radius:10px;background:#0c241feF;box-shadow:0 12px 50px #00110c88;backdrop-filter:blur(22px);color:#e3eee6;text-align:center;z-index:20;pointer-events:auto;touch-action:manipulation}
.contact-popover::backdrop{background:transparent;pointer-events:none}
.contact-popover:not(:popover-open):not([data-fallback-open]){display:none}
.contact-popover-title{font:12px/1.6 Arial,sans-serif;letter-spacing:.14em;color:#a8c4b7;margin:0 25px 13px}
.contact-popover-close{position:absolute;right:7px;top:5px;width:32px;height:32px;border:0;background:none;color:#a8c4b7;font-size:20px;cursor:pointer}
.contact-popover-account{display:block;width:100%;padding:2px 0;border:0;background:none;color:#edf5ed;font:21px/1.5 Arial,sans-serif;overflow-wrap:anywhere;user-select:text;cursor:pointer;text-decoration:none}
.contact-popover-open{display:block;width:100%;min-height:39px;border:1px solid #abcbbb4d;border-radius:4px;background:#b3d9c609;font:13px/1.5 Arial,sans-serif;color:#d6e9dc;padding:8px 15px;margin-top:18px;cursor:pointer}
.contact-popover-open[hidden]{display:none}.contact-popover button:focus-visible{outline:1px solid #d5e6da;outline-offset:4px}.contact-popover button:disabled{opacity:.5;cursor:wait}
.contact-popover-status{font-size:12px;line-height:1.7;color:#d5dfc5;margin:12px 0 0}.contact-popover-status:empty{display:none}
.world-wechat{color:#d0e0d3;font-size:16px;margin:0}
.world-company-signature{margin-top:43px}
.world-chapter--contact .world-company-signature{margin-top:30px}
.world-signature-mark{font:34px/1.5 "Songti SC","SimSun",serif;letter-spacing:.24em;color:#d4e2d3}
.world-signature-company{color:#bfd0c3;font-size:14px;line-height:1.7;letter-spacing:.09em;margin:9px 0 0}
.world-signature-place{color:#b8cfc0;font-size:12px;line-height:1.7;letter-spacing:.16em;margin:8px 0 0}
.world-chapter--contact .world-signature-mark{font-size:28px;line-height:1.35}
.world-chapter--contact .world-signature-company{margin-top:7px}.world-chapter--contact .world-signature-place{margin-top:5px}
.world-controls{position:absolute;z-index:4;inset:auto 4.5% max(38px,calc(env(safe-area-inset-bottom) + 16px));display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;pointer-events:none;opacity:0;user-select:none;color:#bbcebf;text-shadow:0 1px 12px #071811}
.world-location{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.07em;margin:0}
.world-location-count{font:12px Arial,sans-serif;letter-spacing:.08em;color:#b8cec1;font-variant-numeric:tabular-nums}
.world-gesture-hint{font-size:13px;letter-spacing:.06em;color:#ccddd3;margin:0}
.world-actions{display:flex;gap:22px;align-items:center;justify-self:end;grid-column:3}
.world-controls.is-passage{bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px))}
.world-controls.is-passage .world-location,.world-controls.is-passage .world-gesture-hint{display:none}
.world-actions button{pointer-events:auto;touch-action:manipulation;background:none;border:0;min-height:44px;padding:6px 0;font-size:12px;letter-spacing:.05em;color:#c9d9cd;text-shadow:0 1px 12px #071811}
.world-actions button:hover{color:#f0f6e9}.world-actions button[hidden]{display:none}
@media(max-aspect-ratio:17/20){
  .world-chapter{left:9%;top:14%;bottom:17%;width:82%}
  .world-chapter-meta{margin-bottom:17px;font-size:12px;letter-spacing:.14em}
  .world-chapter h2{font-size:clamp(29px,7.8vw,42px);margin-bottom:17px}
  .world-chapter-description{font-size:14px;line-height:1.95;max-width:none}
  .world-chapter-details{margin-top:23px;padding-top:17px;gap:9px 18px;font-size:13px}
  .world-chapter--scenario{top:11%;text-align:left}
  .world-chapter--scenario h2{font-size:clamp(28px,7.2vw,37px);text-wrap:balance}
  .world-chapter--scenario .world-chapter-details{justify-content:flex-start}
  .world-process{margin-top:24px}
  .world-process-step{gap:15px;padding-bottom:16px}
  .world-process-step:not(:last-child):after{left:13px;top:31px;height:calc(100% - 34px)}
  .world-process-step:last-child{padding-bottom:0}.world-process-number{flex-shrink:0}.world-process-label{font-size:14px}
  .world-chapter--company,.world-chapter--contact{top:12%;text-align:center}
  .world-chapter--company h2,.world-chapter--contact h2{font-size:clamp(28px,7.3vw,39px)}
  .world-company-note{font-size:13px;margin-top:26px}.world-contact-pending{font-size:13px}.world-company-signature{margin-top:33px}
  .world-chapter--contact{top:8%;bottom:15%;left:7%;width:86%}.world-chapter--contact h2{font-size:clamp(28px,7.3vw,39px)}
  .world-chapter--contact .world-company-signature{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:2px 18px;text-align:left;margin-top:35px}
  .world-chapter--contact .world-signature-company{white-space:nowrap}
  .world-chapter--contact .world-signature-mark{grid-row:1/3;font-size:28px}.world-chapter--contact .world-signature-company,.world-chapter--contact .world-signature-place{margin:0}.world-chapter--contact .world-signature-company{font-size:12px}.world-chapter--contact .world-signature-place{font-size:11px}
  .world-contact-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;padding-top:19px}.world-contact-channel{gap:7px}.world-contact-icon{width:21px;height:21px}.world-contact-channel-name{font-size:13px}
  .world-controls{left:7%;right:7%;bottom:max(28px,calc(env(safe-area-inset-bottom) + 12px));grid-template-columns:1fr 1fr;gap:2px 12px}
  .world-gesture-hint{grid-column:1/-1;grid-row:2;text-align:center;font-size:12px;color:#c0d3c7;margin:0}.world-location{gap:13px}.world-actions{grid-column:2;grid-row:1;gap:14px}
}
@media(max-height:560px) and (min-aspect-ratio:17/20){
  .world-chapter{top:12%;bottom:17%;width:43%}.world-chapter h2{font-size:30px;margin-bottom:13px;line-height:1.4}.world-chapter-meta{margin-bottom:12px}.world-chapter-description{font-size:14px;line-height:1.8}.world-chapter-details{margin-top:16px;padding-top:12px}
  .world-chapter--scenario,.world-chapter--company,.world-chapter--contact{width:78%;left:11%;top:9%}.world-process{margin-top:23px}.world-process-step{gap:12px}.world-company-signature{margin-top:20px}.world-signature-mark{font-size:25px}.world-contact-pending{margin-top:16px}.world-chapter--scenario .world-chapter-details{margin-top:16px}
}
