/* Interaction enhancements; the free-scrolling first-edition layout stays intact. */
:root{--deck-header-height:82px;--deck-toolbar-height:70px}
body.presenting{overflow:hidden}
body.presenting main{position:fixed;inset:var(--deck-header-height) 0 var(--deck-toolbar-height);overflow:hidden}
body.presenting main>section{display:none;height:100%;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:24px}
body.presenting main>section.presentation-active{display:block}
body.presenting main>.hero.presentation-active{display:flex;align-items:center;min-height:720px;height:100%;overflow-y:auto}
body.presenting main>.hero.presentation-active{min-height:0}
body.presenting .hero-inner{padding-top:34px;padding-bottom:150px;min-height:690px}
body.presenting main>section.section{padding-top:44px;padding-bottom:60px}
body.presenting main>section.contact{padding-bottom:0}
body.presenting .reveal{opacity:1;transform:none}
body.presenting .presentation-controls{inset:auto 0 0;height:var(--deck-toolbar-height);width:100%;transform:none;border-radius:0;justify-content:center;padding:10px 24px;gap:22px;background:#09232c;border-left:0;border-right:0;border-bottom:0}
body.presenting .presentation-controls:before{content:'长页可向下滚动';font-size:13px;color:#91b5a5;margin-right:12px}
body.presenting .presentation-controls>span{font-size:14px}
body.presenting .presentation-controls #presentation-position{font-size:13px}
body.presenting .presentation-controls button{width:34px;height:36px}
body.presenting .section-rail{right:21px}
body.presenting #toast{bottom:calc(var(--deck-toolbar-height) + 18px)}
.dark{isolation:isolate}
.dark>.lake-surface{position:absolute;left:0;top:0;display:block;margin:0;padding:0;pointer-events:none;z-index:1;opacity:1;max-width:none;transform:none;inset:auto auto auto 0}
.dark>.container:not(.hero-bottom){position:relative;z-index:2}
.dark>.hero-bottom{z-index:2}
@media(max-width:900px){:root{--deck-header-height:72px}body.presenting main>.hero.presentation-active{align-items:flex-start}body.presenting .hero-inner{min-height:810px;padding-top:75px}}
@media(max-width:600px){:root{--deck-header-height:70px;--deck-toolbar-height:62px}body.presenting main>section.section{padding-top:34px;padding-bottom:45px}body.presenting .presentation-controls{padding:7px 8px;gap:8px}body.presenting .presentation-controls:before{display:none}body.presenting .presentation-controls>span{font-size:12px}body.presenting .presentation-controls #presentation-position{font-size:11px}body.presenting .presentation-controls button{width:28px}body.presenting .hero-inner{padding-top:42px;padding-bottom:155px;min-height:740px}body.presenting .hero-visual{top:38%;height:48%}body.presenting .hero-bottom{bottom:25px}}
@media(prefers-reduced-motion:reduce){.lake-surface{display:none!important}body.presenting main>section{scroll-behavior:auto}}
@media print{.lake-surface{display:none!important}body.presenting{overflow:visible}body.presenting main{position:static;overflow:visible}body.presenting main>section{display:block;height:auto;overflow:visible}}
/* The hero also remains scrollable on short screens; no flex centering above scroll origin. */
body.presenting main>.hero.presentation-active{flex-direction:column;align-items:stretch}
body.presenting .hero-inner{flex:1;min-height:620px;padding-top:44px;padding-bottom:50px}
body.presenting .hero-bottom{position:relative;inset:auto;margin-inline:auto;margin-top:auto;padding-bottom:24px;flex-shrink:0}
@media(max-width:900px){body.presenting .hero-inner{min-height:720px;padding-top:65px}}
@media(max-width:600px){body.presenting .hero-inner{min-height:700px;padding-top:38px;padding-bottom:90px}body.presenting .hero-bottom{bottom:auto}}
/* Override the first edition's 100svh section minimum inside the bounded deck. */
body.presenting main>section.section{min-height:0;height:100%;max-height:100%}
