/**

 * 基础排版与全局重置

 * ------------------------------------------------------------------

 * 由原 dist/*.css 合并而来：只在合并完全相同的规则时做了删除，

 * 其余规则一律原样搬运，规则之间不重新排序。

 * 加载顺序见 index.html，顺序即优先级。

 */


*{box-sizing:border-box}

html{scroll-behavior:smooth;}

body{margin:0}

button,input,textarea,select{font:inherit}

button,a,input,textarea{touch-action:manipulation}

a{color:inherit;text-decoration:none}

button{color:inherit;cursor:pointer}

button:disabled{cursor:wait;opacity:.6}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}

button{background:none;border:0}

p{line-height:1.9}

h1,h2,h3,p{margin-top:0}

svg{vertical-align:middle}

.header{position:absolute;top:0;left:0;z-index:10;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 4%;border-bottom:1px solid #ffffff45}

.brand{display:flex;gap:12px;align-items:center;font-size:17px;font-weight:600;white-space:nowrap}

.brand-mark{font-size:37px;font-weight:400}

.brand small{display:block;font-size:9px;letter-spacing:2.1px;margin-top:5px}

.header nav{display:flex;gap:25px;font-size:14px}

.header nav a{padding:10px 0;position:relative}

.header nav a[aria-current=page]:after{content:"";height:2px;position:absolute;bottom:1px;left:0;right:0;background:currentColor}

.header nav a:hover{color:var(--accent)}

.header-tools{display:flex;gap:8px}

.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;font-size:24px}

.icon-button:hover{}

.menu{display:none}

.hero{position:relative;background-image:linear-gradient(90deg,#edfbff75,transparent 60%),url('/assets/world.jpg');background-size:cover;background-position:center;overflow:hidden}

.hero-copy{position:absolute;}

.eyebrow{margin-bottom:30px}

.hero h1{}

.title-dot{color:var(--accent)}

.hero-description{margin-bottom:28px}

.enter{display:inline-flex;align-items:center;gap:58px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:15px}

.enter span{font-size:24px}

.hero-bottom{position:absolute;bottom:30px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px}

.hero-bottom a{font-size:13px}

.page-home footer{background:var(--paper)}

footer{margin:auto;padding:36px 30px;display:flex;justify-content:space-between;gap:20px;font-size:13px}

.skip{position:fixed;top:-100px;z-index:100;background:white;padding:14px}

.skip:focus{top:10px}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

dialog{padding:28px;color:var(--ink);width:min(660px,calc(100% - 32px));max-height:80svh}

dialog::backdrop{}

.dialog-head{display:flex;justify-content:space-between;align-items:center;font-size:20px;margin-bottom:20px}

input,textarea,select{width:100%}

textarea{resize:vertical;min-height:150px}

#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;padding:12px 22px;display:none;max-width:90vw}

#toast.visible{display:block}

@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:1700px){.hero{background-position:center 56%}}

@media(max-width:1180px){.header{padding:20px 3%;gap:12px}.header nav{gap:14px}.brand{font-size:15px}.brand small{font-size:8px}.hero-copy{left:7%}}

@media(max-width:960px){.menu{display:inline-grid}.header nav{display:none;position:absolute;top:85px;left:16px;right:16px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:10px}.header nav.open{display:grid}.header nav a{padding:12px}.hero{min-height:700px}.hero-copy{top:28%}.hero h1{font-size:64px}.hero-bottom span:first-child{display:none}}

@media(max-width:600px){.header{padding:18px 20px}.brand{font-size:15px}.brand-mark{font-size:30px}.hero{min-height:740px;max-height:950px;background-image:linear-gradient(90deg,#edfaffaa,transparent 100%),url('/assets/world.jpg')}.hero-copy{top:23%;left:7%}.eyebrow{font-size:10px;letter-spacing:2px;max-width:220px;line-height:2}.hero h1{}.hero-description{font-size:14px;}.hero-bottom{bottom:25px;left:7%;right:7%;font-size:10px;letter-spacing:1px}.hero-bottom a{font-size:12px}footer{flex-wrap:wrap;padding:28px 24px;font-size:12px}footer span:nth-child(2){display:none}}

@media(prefers-reduced-motion:reduce){html{}*,*:before,*:after{animation:none!important;transition:none!important}}

body.reduce-motion{scroll-behavior:auto}

body.reduce-motion *{animation:none!important;transition:none!important}

