:root{--ink:#315965;--muted:#4d7079;--accent:#397e8d;--title-font:"KaiTi","STKaiti","楷体",serif;font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif}
.topbar{position:fixed;inset:0 0 auto 0;z-index:30;height:76px;display:flex;justify-content:center;align-items:center;background:rgba(236,249,255,.16);backdrop-filter:blur(15px);border-bottom:1px solid #ffffff38}.topbar #page-nav{display:flex;gap:clamp(20px,3vw,48px);align-items:center}.topbar a{font-size:14px;letter-spacing:2px;padding:16px 2px;position:relative;color:#275969}.topbar a:hover{color:#173f50}.topbar a[aria-current=page]:after{content:"";position:absolute;bottom:7px;left:2px;right:4px;height:1px;background:currentColor}.sidebar-zone #nav a[aria-current=location]{background:#ffffff60;color:#235f72}.scene-region.full-region{background:rgba(242,250,252,var(--scene-wash,.5))}.scene-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:30px 70px;align-items:center;position:relative}.scene-layout .region-heading{margin:0}.scene-layout .region-heading h2{font-size:64px;letter-spacing:8px}.scene-layout .scene-line{font-size:16px;letter-spacing:1px;line-height:2}.scene-card{min-height:310px;padding:42px}.scene-card h3{font-size:29px;letter-spacing:2px;line-height:1.65}.scene-pagination{font-size:12px;letter-spacing:4px;color:#4e7782}.scene-extra{font-size:13px;letter-spacing:1px;text-align:right;line-height:2}.inner-page main{padding-top:92px}
body{background:#bbdfeb;isolation:isolate}body:before{content:"";position:fixed;inset:0;z-index:-2;background:url('/assets/world.webp') center/cover no-repeat;pointer-events:none}
html{scroll-snap-type:y proximity;scroll-padding-top:0}.page-home main{background:none}.hero{background:none!important;height:100svh;min-height:600px;max-height:none;scroll-snap-align:start}.hero-copy{top:30%;left:9%;animation:none}.hero h1{font-family:var(--title-font);font-weight:400;font-size:clamp(64px,6vw,96px);line-height:1.4;letter-spacing:8px;color:#f5fdff;text-shadow:0 2px 18px #276b8390,0 1px 3px #276b8360;margin-bottom:30px;opacity:0;animation:title-emerge 1.8s .5s cubic-bezier(.2,.65,.3,1) forwards}.hero-description{font-family:var(--title-font);color:#285e71;font-size:24px;letter-spacing:4px;min-height:42px;line-height:1.8;margin:0;text-shadow:0 1px 12px #ffffffa0}.typing-caret{display:inline-block;width:1px;height:22px;background:currentColor;margin-left:5px;vertical-align:-3px;opacity:0}.typing-caret.typing{animation:caret-pulse .8s steps(1) infinite}.scroll-cue{position:absolute;bottom:38px;left:50%;width:40px;height:50px;display:grid;place-items:center;opacity:0;animation:title-emerge 1.2s 3.6s forwards}.scroll-cue span{height:30px;width:1px;background:#447b88;position:relative}.scroll-cue span:after{content:"";position:absolute;bottom:0;left:-3px;width:6px;height:6px;border-right:1px solid #447b88;border-bottom:1px solid #447b88;transform:rotate(45deg)}
.sidebar-zone{position:fixed;inset:0 auto 0 0;width:42px;z-index:40}.sidebar-zone .header,.inner-page .sidebar-zone .header{position:fixed;top:0;bottom:0;left:0;width:280px;height:100svh;display:flex;flex-direction:column;align-items:stretch;justify-content:start;padding:42px 30px;gap:35px;border:0;border-right:1px solid #ffffff80;background:#eaf7fa80;backdrop-filter:blur(28px) saturate(115%);-webkit-backdrop-filter:blur(28px) saturate(115%);transform:translateX(-100%);visibility:hidden;transition:transform .4s ease,visibility .4s;box-shadow:10px 0 60px #365d6a10;overflow-y:auto}.sidebar-zone:hover .header,.sidebar-zone:focus-within .header,.sidebar-zone.pinned .header{transform:translateX(0);visibility:visible}.sidebar-zone .brand{font-size:16px;gap:10px}.sidebar-zone .brand small{font-size:8px;letter-spacing:1.5px}.sidebar-zone .brand-mark{font-size:32px}.sidebar-zone .header #nav{display:flex;flex-direction:column;position:static;padding:0;background:none;border:0;gap:6px;align-items:stretch}.sidebar-zone #nav a{font-size:15px;padding:14px 16px;letter-spacing:2px;border-radius:10px}.sidebar-zone #nav a:hover,.sidebar-zone #nav a[aria-current=page]{background:#ffffff60;color:#235f72}.sidebar-zone #nav a[aria-current=page]:after{display:none}.sidebar-zone .header-tools{margin-top:auto;padding-left:7px}.sidebar-zone #menu{display:none}#sidebar-toggle{position:absolute;left:12px;top:calc(50% - 25px);width:28px;height:50px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;border-radius:20px;background:#f1fbff60;backdrop-filter:blur(8px);transition:opacity .3s}#sidebar-toggle span{display:block;width:12px;height:1px;background:#416d7b}.sidebar-zone:hover #sidebar-toggle,.sidebar-zone:focus-within #sidebar-toggle,.sidebar-zone.pinned #sidebar-toggle{opacity:0;pointer-events:none}
.full-region{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:85px max(7%,calc((100vw - 1200px)/2));position:relative;scroll-snap-align:start;background:rgba(242,250,252,.48)}.full-region:nth-of-type(3){background:rgba(235,248,252,.58)}.full-region:nth-of-type(4){background:rgba(242,250,252,.66)}.region-content{width:100%;max-width:1160px}.region-heading{margin-bottom:48px}.region-heading .eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:20px;color:#426f7d}.region-heading h2{font-family:var(--title-font);font-size:52px;line-height:1.5;letter-spacing:5px;font-weight:400;margin:0 0 15px}.region-heading p{font-size:16px;letter-spacing:2px;color:var(--muted);margin-bottom:0}.glass-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.glass-card{padding:38px 42px;min-height:255px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.7);border-radius:22px;backdrop-filter:blur(20px) saturate(105%);-webkit-backdrop-filter:blur(20px) saturate(105%);box-shadow:0 12px 50px #446e7c0c;transition:background .3s,transform .3s;display:flex;flex-direction:column;align-items:start}.glass-card:hover{background:rgba(255,255,255,.43);transform:translateY(-4px)}.glass-card .card-label{font-size:11px;letter-spacing:3px;color:var(--muted)}.glass-card h3{font-family:var(--title-font);font-size:33px;font-weight:400;letter-spacing:3px;margin:26px 0 10px}.glass-card p{font-size:15px;margin:0 0 20px;line-height:1.8}.glass-card .card-link{margin-top:auto;font-size:14px;align-self:end}.region-foot{margin-top:28px;text-align:right;font-size:14px;letter-spacing:2px}.page-home footer{display:none}.inner-page main{background:rgba(241,250,252,.57);min-height:100svh;padding-top:45px;padding-bottom:35px}.inner-page .page-wrap,.inner-page .reading{background:rgba(255,255,255,.34);backdrop-filter:blur(22px);border:1px solid #ffffff80;border-radius:24px;margin:40px auto}.inner-page .page-wrap{max-width:min(1250px,calc(100% - 140px));padding:60px}.inner-page .reading{padding:55px 50px 70px}.page-heading h1,.reading h1,.about-copy h2,.world-caption h1,.section-heading h2{font-family:var(--title-font);color:var(--ink)}footer{background:#eff9fc88;backdrop-filter:blur(16px);max-width:none;padding-left:7%;padding-right:7%}.world-scene{background-color:transparent}.world-caption h1{font-family:var(--title-font)}
@keyframes title-emerge{from{opacity:0;filter:blur(8px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes caret-pulse{0%,49%{opacity:.8}50%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero h1,.scroll-cue{opacity:1;filter:none;transform:none}.typing-caret{display:none}html{scroll-behavior:auto;scroll-snap-type:none}}
body.reduce-motion .hero h1,body.reduce-motion .scroll-cue{opacity:1;filter:none;transform:none}body.reduce-motion .typing-caret{display:none}
.page-home .scene-region.full-region{background:rgba(242,250,252,var(--scene-wash,.5))}.inner-page main{padding-top:92px}
:root{--sidebar-width:360px}
.sidebar-zone .header,.inner-page .sidebar-zone .header{width:var(--sidebar-width);padding:28px 32px;gap:20px}
.sidebar-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:6px 0 20px;border-bottom:1px solid #ffffff60}.profile-avatar{display:block;width:86px;height:86px;border-radius:50%;overflow:hidden;border:3px solid #ffffffb0;box-shadow:0 6px 25px #3a798825}.profile-avatar img{width:100%;height:100%;object-fit:cover;object-position:53% 30%;transform:scale(2.7);transform-origin:53% 30%}.profile-name{font-family:var(--title-font);font-size:22px;letter-spacing:2px}.sidebar-profile small{font-size:12px;letter-spacing:2px;color:var(--muted)}.sidebar-zone #nav a{padding:11px 18px}.sidebar-zone .header #nav{gap:4px}
.hero-copy{left:50%;top:48%;width:calc(100% - 160px);text-align:center;transform:translate(-50%,-50%)}.hero h1{font-size:clamp(64px,6.2vw,100px);letter-spacing:10px;line-height:1.5;white-space:nowrap;margin-bottom:22px}.hero-description{font-size:25px;letter-spacing:5px;color:#f5fdff;text-shadow:0 2px 12px #24596f,0 1px 3px #24596f;max-width:none}.scroll-cue{margin-left:-20px}
.topbar-zone{position:fixed;inset:0 0 auto 0;height:22px;z-index:30}.topbar{left:0;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .38s ease,opacity .3s ease,left .4s ease;background:#eaf7fa55}.topbar-zone:hover .topbar,.topbar-zone:focus-within .topbar,.past-opening .topbar,.inner-page .topbar{transform:translateY(0);opacity:1;pointer-events:auto}.topbar #page-nav{gap:clamp(18px,2.5vw,40px)}
body:has(.sidebar-zone:hover) .topbar,body:has(.sidebar-zone:focus-within) .topbar,body:has(.sidebar-zone.pinned) .topbar{left:var(--sidebar-width)}
.scene-more{grid-column:2;display:flex;align-items:center;justify-content:center;gap:28px;justify-self:end;min-width:160px;min-height:48px;padding:12px 22px;border:1px solid #ffffffb0;border-radius:30px;background:#ffffff38;backdrop-filter:blur(12px);font-size:14px;letter-spacing:2px;transition:background .25s}.scene-more:hover{background:#ffffff70}.scene-extra{grid-column:2}

body:before{background-image:url('/assets/cloud-sea.webp')} .world-scene,.about-image{background-image:url('/assets/cloud-sea.webp')}
body:before,.world-scene,.about-image{background-image:var(--world-image,url('/assets/cloud-sea.webp'))}
.background-manager{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;margin-bottom:48px;padding:30px;background:#ffffff70;border:1px solid #fff;border-radius:18px}.background-manager h2{font-family:var(--title-font);font-size:30px;font-weight:400}.background-manager .eyebrow{margin-bottom:15px}.background-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}#background-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#dcecf2}#background-feedback{font-size:14px;line-height:1.8}
