@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');

:root{--blue:#285e9d;--ink:#1d2d3c;--sub:#748396;--line:#e5e8e8;--cream:#f7f7f3;--nav:#102b38;--accent:#d5a56d}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:'DM Sans','Noto Sans SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}
button{transition:background .2s,color .2s,box-shadow .2s,transform .2s}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dcaf73;outline-offset:3px}
.shell{grid-template-columns:254px minmax(0,1fr)}
aside{background:var(--nav);padding:29px 16px;box-shadow:8px 0 28px #152f3812;display:flex;flex-direction:column;z-index:3}
.brand{padding:4px 13px 52px;font-size:22px;letter-spacing:-.7px;line-height:1.2;white-space:nowrap}
.brand-mark{display:inline-grid;place-items:center;color:#f6ca88;background:#254955;border:1px solid #507078;border-radius:12px;width:32px;height:32px;margin-right:6px;font-size:22px}
.brand small{font-size:9px;letter-spacing:2.3px;font-weight:600;margin:8px 0 0 43px;color:#92aab0}
aside nav{display:block}
.nav{font-weight:600;font-size:13px;letter-spacing:.2px;padding:13px 15px;margin:3px 0;border-radius:10px;color:#a9bdc3}
.nav:hover{background:#23434d;color:#fff;transform:translateX(2px)}
.nav.on{background:#e8ece4;color:#1a3b45;box-shadow:0 5px 20px #091e2330}
.sidebar-foot{margin-top:auto;border-top:1px solid #35505a;padding:21px 14px 4px;color:#d5ded9;font-size:12px;line-height:1.9}
.sidebar-foot small{color:#87a4a9;margin-left:16px;letter-spacing:1px}
.foot-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e6ba7e;box-shadow:0 0 0 4px #e6ba7e22;margin-right:8px}
main{max-width:1510px;padding:42px clamp(26px,4.3vw,74px) 90px}
.top{align-items:flex-end}
.eyebrow{color:#8b6a4b;font-size:10px;letter-spacing:2.5px;font-weight:800}
h1{font-size:clamp(28px,3vw,39px);font-weight:700;letter-spacing:-1.4px;line-height:1.25;margin:9px 0}
.top .sub{font-size:13px}
.search{display:flex;align-items:center;gap:8px;width:min(360px,36vw);min-width:275px;height:45px;padding:0 15px;background:#fff;border-color:#e1e6e4;box-shadow:0 5px 20px #243b3c08;color:#8b9eaa}
.search:focus-within{border-color:#97afaf;box-shadow:0 0 0 4px #abc7c430}
.search input{font-size:12px;color:var(--ink)}
.search input::placeholder{color:#9aa9ae}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:330px;display:flex;align-items:center;margin:34px 0 24px;padding:46px 50px;background:radial-gradient(circle at 72% 40%,#426b73 0,#214b58 35%,#102e41 83%);border:1px solid #42626a;border-radius:19px;box-shadow:0 18px 38px #1b36461c}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 39px,#ffffff06 40px),repeating-linear-gradient(90deg,transparent 0 39px,#ffffff06 40px);mask-image:linear-gradient(90deg,transparent 15%,#000 100%)}
.hero:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #ffffff16;border-radius:50%;right:-165px;top:-155px;z-index:-1}
.hero-content{position:relative;z-index:2;max-width:58%}
.hero .eyebrow{color:#f4ca89!important;font-size:10px}
.hero h2{font-size:clamp(28px,3.2vw,45px);line-height:1.26;letter-spacing:-1.5px;font-weight:600;margin:19px 0 17px}
.hero p{font-size:13px;line-height:1.9;color:#c8d9dc;max-width:480px;margin:0 0 22px}
.hero .btn{background:#e7c899;border-color:#e7c899;color:#193a44;margin:0;padding:11px 19px;font-weight:800;font-size:12px;border-radius:8px}
.hero .btn:hover{background:#f3d9ae;transform:translateY(-2px);box-shadow:0 7px 22px #0d243633}
.hero .btn span{margin-left:17px;font-size:17px}
.hero-orbit{position:absolute;width:385px;height:385px;right:7%;top:-19px;display:grid;place-items:center;pointer-events:none}
.orbit-ring{position:absolute;border:1px solid #c7e6df3a;border-radius:50%;transform:rotate(-25deg)}
.ring-one{width:355px;height:160px}.ring-two{width:300px;height:340px;border-color:#ffffff1c;transform:rotate(37deg)}
.globe{position:relative;width:238px;height:238px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 30% 25%,#86b9ac 0,#538e91 19%,#2d6378 52%,#0d344c 79%);box-shadow:inset -27px -24px 35px #09263799,inset 13px 11px 25px #d4f7dc31,0 0 0 1px #b4e1dd50,0 0 40px #a6d5c33b;transform:rotate(-13deg)}
.globe:before{content:"";position:absolute;inset:13px 27px;background:#d2d9aa75;clip-path:polygon(8% 12%,34% 5%,51% 19%,43% 31%,66% 36%,72% 50%,50% 48%,46% 65%,31% 70%,24% 51%,12% 45%,22% 29%,5% 23%);filter:blur(1px)}
.globe:after{content:"";position:absolute;inset:40px 6px 6px 110px;background:#c6d3a272;clip-path:polygon(20% 4%,77% 10%,89% 30%,59% 36%,77% 50%,58% 66%,43% 93%,15% 75%,23% 55%,2% 34%);filter:blur(1px)}
.globe-grid{position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 30px,#e0ffff20 31px 32px),repeating-linear-gradient(90deg,transparent 0 37px,#e0ffff20 38px 39px);opacity:.55}
.globe-shine{position:absolute;inset:0;border-radius:50%;background:linear-gradient(120deg,#ffffff55,transparent 40%,#071f3766 82%);z-index:3}
.orbit-spark{position:absolute;color:#f7d398;font-size:22px}.spark-one{top:75px;right:25px}.spark-two{bottom:68px;left:16px}
.hero-caption{position:absolute;right:29px;bottom:25px;color:#aac5c6;font-size:9px;letter-spacing:2px}
.stats{gap:14px;margin:24px 0 38px}
.tile,.card,.panel{border:1px solid #e5e9e7;border-radius:12px;background:#fff;box-shadow:0 5px 20px #16303808}
.tile{min-height:120px;padding:18px 20px;position:relative}
.tile-icon{position:absolute;right:17px;top:15px;display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#eff5f1;color:#558475!important;font-size:16px!important}
.tile b{font-size:28px;line-height:1.1;margin:13px 0 8px;color:#173849;font-weight:700}
.tile span{font-size:11px}
.section-title{display:flex;align-items:end;gap:20px;margin:0 0 18px}
.section-title h2{font-size:23px;margin:6px 0 0;letter-spacing:-.8px}
.section-rule{height:1px;background:#dce3e0;flex:1;margin-bottom:8px}
.section-date{font-size:11px;color:#8d9ca4;margin-bottom:2px}
.grid{gap:16px;margin:0}
.card{position:relative;display:flex;flex-direction:column;min-height:226px;padding:21px;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#6d9a94;opacity:0;transition:opacity .2s}
.card:hover{transform:translateY(-4px);border-color:#b9ceca;box-shadow:0 16px 34px #17394115}
.card:hover:before{opacity:1}
.card h3{font-size:16px;line-height:1.55;font-weight:700;margin:17px 0 9px;letter-spacing:-.2px}
.card p{font-size:12px;line-height:1.7;color:#718294;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 16px}
.card .meta:last-child{margin-top:auto;padding-top:12px;border-top:1px solid #edf0ed;color:#8b9b9f}
.pill{background:#edf4f0;color:#527f6e;border-radius:5px;padding:5px 9px;font-size:10px;letter-spacing:.3px}
.panel{padding:26px;border-radius:13px;line-height:1.75}
.panel h2{margin-top:0;font-size:21px}
.panel p{color:#526574}
.row{border-color:#e7ece9}
.notice{background:#edf4ef;color:#536c69;border:1px solid #dce9e0;border-radius:10px;font-size:13px;line-height:1.7}
.btn{border-radius:8px;font-size:12px;font-weight:700}
.btn:hover{border-color:#a4c0bb;background:#f5faf7}
.btn.primary{background:#205d69;border-color:#205d69}
.btn.primary:hover{background:#154957;color:white}
.setting{font-size:13px}
.setting input{accent-color:#276c70}
#map{border:1px solid #d9e2dd;box-shadow:0 9px 25px #14383d12}
#detail .panel:first-child h2{font-size:clamp(23px,2.5vw,32px);line-height:1.45;letter-spacing:-.6px}
#timeline .row{border-left:2px solid #9dbbb5;padding-left:22px;position:relative;margin-left:10px}
#timeline .row:before{content:"";position:absolute;left:-6px;top:20px;width:9px;height:9px;border-radius:50%;background:#2f7779;box-shadow:0 0 0 4px white}
.empty{background:#fff;border:1px dashed #cddad3;border-radius:12px;font-size:13px}
@media(max-width:1120px){.hero-orbit{right:0;opacity:.68}.hero-content{max-width:65%}.hero{min-height:300px}}
@media(max-width:950px){.shell{grid-template-columns:1fr}aside{position:relative;height:auto;padding:14px 22px;display:block}.brand{padding:3px 4px 13px;font-size:19px}.brand small{display:none}aside nav{display:flex;gap:5px;overflow:auto}.nav{padding:10px 13px;margin:0;flex:none}.nav:hover{transform:none}.sidebar-foot{display:none}main{padding:31px 4vw 60px}.hero-orbit{right:0}}
@media(max-width:690px){main{padding:23px 16px 55px}.top{display:block}.search{width:100%;min-width:0;margin-top:20px}.hero{min-height:300px;padding:28px 26px;margin-top:24px}.hero-content{max-width:100%}.hero h2{font-size:29px}.hero p{max-width:82%;font-size:12px}.hero-orbit{width:205px;height:205px;right:-75px;top:83px;opacity:.42}.globe{width:160px;height:160px}.ring-one{width:200px;height:100px}.ring-two{width:160px;height:210px}.hero-caption{display:none}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.tile{min-height:100px;padding:15px}.tile b{font-size:23px}.grid,.split{grid-template-columns:1fr}.card{min-height:188px}.section-title h2{font-size:21px}.section-date{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
