/* 2004WM · Moonlit Blossom official site */
:root{--night:#0b1937;--navy:#101e42;--royal:#213b70;--gold:#ecd5a8;--deep-gold:#be995c;--white:#fff8ec;--muted:#ced7ea;--radius:20px;--shadow:0 18px 55px #08142c4d;--edge:#c5aa72a6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--white);font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif;background:#ebeff9 url('./assets/hero.webp') center 800px/100% auto fixed no-repeat;min-width:320px}
body:before{position:fixed;inset:0;z-index:-1;content:'';pointer-events:none;background:linear-gradient(180deg,#091736dd 0,#0c1c43e3 45%,#e1e8f1f0 100%)}
a{color:inherit;text-decoration:none}button{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #fff1b4;outline-offset:3px}button{cursor:pointer}
.shell{width:min(1240px,calc(100% - 64px));margin:auto}
.kicker{display:block;font-family:Georgia,'Times New Roman',serif;font-size:12px;letter-spacing:.25em;color:#efd4a1;font-weight:600}
.site-header{position:sticky;top:0;z-index:20;background:#0a1633eb;border-bottom:1px solid #e7c99049;backdrop-filter:blur(20px);box-shadow:0 4px 25px #0d1a3750}
.nav-shell{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;color:#f9e5c1;white-space:nowrap;text-shadow:0 0 18px #d7a96345}
.brand-main{font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:bold;letter-spacing:.01em}
.brand-sub{border-left:1px solid #e8c89588;padding-left:13px;font-size:13px;letter-spacing:5px;line-height:1.5}
.main-nav{display:flex;align-items:center;gap:2px}
.main-nav>a{display:flex;align-items:center;gap:5px;white-space:nowrap;padding:13px 16px;border-radius:8px;font-size:14px;color:#e9eaf4;transition:background .2s,color .2s}
.main-nav>a:hover,.main-nav>a.nav-current{background:#e4c18d12;color:#ffefca}
.main-nav>a.nav-guide{color:#fff0c9;background:#ddba7930;border:1px solid #ddba7958;font-weight:700}
.main-nav>a.nav-guide span{font-size:10px;color:#f0bb71}
.mobile-menu{display:none;background:none;border:none;padding:8px;flex-direction:column;gap:6px}.mobile-menu span{width:24px;height:2px;background:#e9dbbe}
.hero{position:relative;min-height:635px;overflow:hidden;background:#101a3b}
.hero-visual,.hero-vignette,.hero-bottom-gradient{position:absolute;inset:0;pointer-events:none}
.hero-visual{background:url('./assets/hero.webp') 52% 46% /cover no-repeat;transform:scale(1.005)}
.hero-vignette{background:linear-gradient(90deg,#08112dd9 0%,#091735b0 27%,#10204c6e 47%,#0a164521 76%),linear-gradient(0deg,#08143078 0%,transparent 32%,#0c123321 100%)}
.hero-bottom-gradient{top:auto;height:150px;background:linear-gradient(0deg,#0a1936 0%,transparent)}
.hero-inner{position:relative;z-index:1;min-height:635px;display:flex;align-items:center;justify-content:space-between;padding:70px 0 90px}
.hero-copy{max-width:650px;text-shadow:0 2px 14px #10162a66}
.eyebrow{display:flex;align-items:center;gap:14px;color:#ddc18c;font:600 12px/1.5 Georgia,serif;letter-spacing:.24em;margin-bottom:22px}
.eyebrow-line{height:1px;width:36px;background:linear-gradient(90deg,transparent,#ddc18c)}.eyebrow-line:last-child{transform:scaleX(-1)}
h1,h2,h3,p{margin-top:0}
h1,h2,.hero-slogan,.guide-lead{font-family:Songti SC,STSong,SimSun,Noto Serif CJK SC,serif}
.hero h1{color:#ffebc3;font-family:Georgia,STSong,serif;font-size:clamp(40px,4.8vw,68px);letter-spacing:-.01em;font-weight:700;margin:0 0 12px;text-shadow:0 3px 20px #a76c3985,0 5px 25px #111b44}
.hero h1 span{font-size:.59em;margin-left:8px;letter-spacing:.05em}
.hero-divider{color:#f5e0b9;display:flex;align-items:center;gap:14px;font:18px STSong,SimSun,serif;letter-spacing:.22em}
.hero-divider i{display:block;width:26px;height:1px;background:#caa56488}
.hero-slogan{font-size:clamp(44px,5.5vw,78px);font-weight:700;line-height:1.25;color:#f5f9ff;margin:22px 0 14px;letter-spacing:.05em;text-shadow:0 0 20px #b3c9ff59,0 4px 12px #0d1b36}
.hero-desc{font-size:14px;line-height:2;color:#e5e8f8;letter-spacing:.05em;margin-bottom:24px}
.hero-actions{display:flex;gap:15px;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:56px;border-radius:7px;padding:11px 26px;transition:transform .2s,filter .2s,background .2s;font-weight:700;box-shadow:0 7px 28px #04132b4c;cursor:pointer;text-align:center;line-height:1.2}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn small{font-size:9px;font-family:Georgia,serif;display:block;letter-spacing:.18em;font-weight:400;margin-top:6px}
.btn-icon{font-size:26px;line-height:1}.btn-outline{color:#fcf4e6;background:#132957bd;border:1px solid #d5c08da3;min-width:181px}.btn-gold{color:#51391e;background:linear-gradient(#fff3d3,#ebc886);border:1px solid #fff5d7;box-shadow:inset 0 1px #fffaf5,0 0 20px #e6bd7033;min-width:220px}.btn-light{border:1px solid #f6e1b69c;background:#ffffff12;color:#f1e2c9}
.hero-stamp{font-family:STSong,SimSun,serif;writing-mode:vertical-rl;letter-spacing:7px;color:#fff7e9c0;font-size:15px;border:1px solid #d7c5a159;background:#121f4760;padding:15px 9px;margin-right:20px;align-self:center}
main{position:relative;background:linear-gradient(180deg,#0c1c3b 0,#243661 28%,#dce4f2 88%,#dfe5ee 100%);padding-bottom:34px}
.guide-block{position:relative;z-index:2;transform:translateY(-35px);margin-bottom:-15px}
.guide-frame{position:relative;min-height:430px;overflow:hidden;border-radius:16px;border:1px solid #e0c493b9;background:#101d42;box-shadow:0 20px 50px #050c225b,0 0 0 5px #ddc39423}
.guide-pic,.guide-shade{position:absolute;inset:0}.guide-pic{background:url('./assets/guide.webp') 83% 40%/cover no-repeat}
.guide-shade{background:linear-gradient(90deg,#0a1738f7 0%,#0b1c41ee 28%,#102353a6 53%,#12244a0a 85%),linear-gradient(0deg,#101a3a77,transparent 55%)}
.guide-info{position:relative;z-index:1;width:65%;padding:45px 38px 38px 44px}.kicker-line{display:inline-block;width:28px;height:1px;background:#d4b98b;vertical-align:middle;margin-right:8px}
.guide-info h2{color:#ffefcd;font-size:clamp(44px,5vw,71px);line-height:1.1;margin:12px 0 8px;text-shadow:0 0 15px #cea25e4a}.guide-info h2 span{font-size:22px;vertical-align:top;margin-left:10px;color:#edcca0}
.guide-lead{color:#f4e5c6;font-size:22px;letter-spacing:.03em;margin:0}.guide-note{font-size:13px;color:#e0def0;margin:9px 0 16px}
.quick-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}.quick-step{position:relative;min-height:116px;border:1px solid #d6bf8c50;background:#05122bb2;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:7px;padding:10px 2px;transition:.2s}.quick-step:hover{border-color:#f3d5a7;background:#14274f}
.step-no{position:absolute;top:7px;left:9px;color:#bca47d;font:12px Georgia,serif}.step-symbol{font-size:24px;color:#e6c796;height:26px}.quick-step strong{font-size:14px;color:#f8e9d0}.quick-step small{font-size:11px;color:#c0c8df}
.guide-large-cta{margin-top:18px;min-width:235px;min-height:48px;font-size:15px;justify-content:space-between}.guide-side-text{position:absolute;z-index:1;top:28px;right:25px;writing-mode:vertical-rl;letter-spacing:6px;color:#fbecce;font:16px STSong,SimSun,serif;text-shadow:0 2px 10px #00153f}
.section-gap{margin-top:60px}.gallery-heading,.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:0 0 22px;color:#fff4de}.gallery-heading h2,.section-head h2{font-size:35px;margin:10px 0 0;letter-spacing:.02em}.gallery-hint,.section-head p{color:#d0d9ef;font-size:13px}.section-head p{margin:8px 0 0;line-height:1.8}.pill{border:1px solid #e0cfad80;padding:8px 15px;border-radius:100px;color:#f0ddb9;font-size:12px;white-space:nowrap}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-card{position:relative;min-height:330px;border-radius:15px;overflow:hidden;border:1px solid #e3cda181;box-shadow:var(--shadow);background:#1d2c57}.photo-card>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 47%;transition:transform .5s}.photo-card:hover>img{transform:scale(1.04)}.photo-wash{position:absolute;inset:0;background:linear-gradient(180deg,#081735dd 0%,#08173473 27%,transparent 72%,#08183252 100%)}.photo-top{position:relative;padding:24px 26px;color:#fff7e8}.photo-top h3{font-size:27px;margin:8px 0 4px}.photo-top p{font-size:12px;line-height:1.8;color:#e9ecf8}.view-image{position:absolute;right:18px;bottom:18px;padding:7px 14px;background:#0a173cbe;border:1px solid #edc9927d;border-radius:99px;color:#ffebc8;font-size:12px}.view-image:hover{background:#e9c994;color:#2d2844}
.zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.zone-card{border:1px solid #cbb18970;border-radius:16px;min-height:206px;position:relative;overflow:hidden;background:#08152f;color:#fff7df;padding:0;text-align:left;box-shadow:0 16px 35px #0713334d;transition:transform .2s,border-color .2s}.zone-card.selected{border-color:#fae1a8;box-shadow:0 0 0 2px #f3d09739,0 18px 38px #0713334d}.zone-card:hover{transform:translateY(-2px)}.zone-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.zone-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#081734e8,#081734b8 38%,#08173412),linear-gradient(0deg,#081734ba,transparent 55%)}.zone-tag{position:absolute;top:18px;left:21px;padding:5px 11px;border:1px solid #ebcfa076;border-radius:40px;font-size:12px;color:#f5e0b8}.zone-card-bottom{position:absolute;left:24px;bottom:23px;display:flex;flex-direction:column;gap:7px}.zone-title{font:700 30px/1.1 STSong,SimSun,serif}.zone-slogan{font-size:13px;color:#dce1f5}.zone-arrow{position:absolute;right:18px;bottom:20px;font-size:20px;color:#f7d69c}.subtle-line{font-size:12px;color:#c1cce2;margin:14px 0 0}
.rank-panel{border:1px solid #e7d19b6e;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#0a1735,#152750);box-shadow:var(--shadow)}.rank-panel-head{padding:26px 30px 15px;display:flex;justify-content:space-between;align-items:end;gap:16px}.rank-panel h2{font-size:32px;margin:9px 0 0}.rank-tabs{display:flex;flex-wrap:wrap;gap:7px}.rank-tab{border:1px solid #d8bf8f5a;color:#e9dabc;background:#13244a;padding:9px 18px;border-radius:7px;font-size:14px}.rank-tab.selected{background:#eed4a3;color:#543821;border-color:#eddaaf;font-weight:700}.rank-meta{display:flex;justify-content:space-between;color:#b9cbe8;font-size:12px;padding:0 30px 10px;gap:12px}.rank-table-wrap{overflow-x:auto;padding:0 30px}.rank-table{border-collapse:collapse;width:100%;text-align:left;min-width:400px;font-size:14px}.rank-table thead{color:#d4bb88;border-bottom:1px solid #ddc6954d}.rank-table th,.rank-table td{padding:13px 15px}.rank-table th:first-child,.rank-table td:first-child{width:90px}.rank-table tbody tr{border-bottom:1px solid #edf4ff10}.rank-table tbody tr:nth-child(odd){background:#ecdbb60a}.top-place{color:#f9daa2;font-weight:800}.player-name{font-weight:600}.rank-empty{text-align:center!important;padding:35px!important;color:#d4dcf1}.rank-empty strong,.rank-empty span{display:block}.rank-empty strong{font-size:16px;color:#eee2c8}.rank-empty span{font-size:12px;line-height:1.8;margin-top:9px}.rank-footer{padding:12px 30px 24px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#c4cbdb}.rank-footer a{color:#f0d9a9}
.bottom-cols{display:grid;grid-template-columns:1.08fr .92fr;gap:20px}.install-panel,.news-panel{background:linear-gradient(155deg,#13234a,#0b1b3b);border:1px solid #d5bc9073;border-radius:16px;padding:26px 30px;box-shadow:var(--shadow)}.install-panel h2,.news-panel h2{font-size:30px;margin:9px 0 20px}.install-list>div{display:flex;gap:15px;align-items:start;border-top:1px solid #d5b98833;padding:12px 0}.install-list>div>span{font:17px Georgia,serif;color:#daba88}.install-list p{margin:0}.install-list strong{display:block;color:#f8e9ce;font-size:14px;margin-bottom:5px}.install-list small{color:#c4cfe6;font-size:12px;line-height:1.65}.install-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.install-links .btn{font-size:13px;min-width:0;min-height:43px;padding:10px 13px}.news-item{display:flex;gap:14px;border-top:1px solid #d5b98833;padding:16px 0}.news-item>span{border:1px solid #d8ba8466;color:#eccf98;height:28px;line-height:26px;padding:0 10px;font-size:12px;border-radius:5px;white-space:nowrap}.news-item strong{font-size:14px;color:#f6e7cd}.news-item p{color:#becbe5;margin:6px 0 0;font-size:12px;line-height:1.7}.news-footer{font-size:12px;color:#cfdbef;padding:16px 0 18px}.news-qq{display:inline-flex;padding:10px 14px;background:#e8cea126;border:1px solid #edd7a875;color:#f0ddba;border-radius:6px;font-size:13px}
.service-bar{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:0;background:#101f43d9;border:1px solid #dfca9c7c;border-radius:13px;margin-top:48px;box-shadow:var(--shadow)}.service-bar>a{display:flex;align-items:center;gap:14px;padding:22px 23px;border-right:1px solid #e0c49440;transition:background .2s}.service-bar>a:last-child{border:0}.service-bar>a:hover{background:#344c7f7d}.service-icon{border:1px solid #d7c39391;border-radius:50%;height:44px;width:44px;display:grid;place-items:center;color:#efd5a9;font-size:24px;flex-shrink:0}.service-bar strong{display:block;font-size:15px;color:#f8ead5}.service-bar em{font-style:normal;font-family:Georgia,serif}.service-bar small{display:block;color:#b9c5e0;font-size:11px;margin-top:6px}.service-bar b{margin-left:auto;color:#f6ddae;font-size:16px}
.footer{background:#08142e;color:#bfc9da;padding:32px 0}.footer-inner{display:flex;align-items:center;gap:35px;justify-content:space-between}.footer-brand{font:700 22px Georgia,serif;color:#e8d0a0}.footer-brand span{font:12px STSong,serif;letter-spacing:.1em}.footer p{font-size:12px;line-height:1.9;margin:0}.footer-links{display:flex;gap:18px;font-size:12px}.footer-links a:hover{color:#f4deaf}
.image-modal{position:fixed;z-index:1000;inset:0;background:#020819ed;padding:55px 20px 20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}.image-modal[hidden]{display:none}.image-modal img{max-width:min(95vw,1450px);max-height:80vh;object-fit:contain;box-shadow:0 15px 60px #000c}.image-modal p{font-size:13px;color:#eee7da}.close-image{position:absolute;top:18px;right:25px;color:#fff;background:none;border:1px solid #fff7;border-radius:50%;width:42px;height:42px;font-size:32px;line-height:32px}.modal-open{overflow:hidden}
@media(max-width:1100px){.shell{width:min(100% - 42px,1240px)}.main-nav>a{padding:11px 9px;font-size:12px}.guide-info{width:72%;padding:33px}.guide-info h2{font-size:57px}.photo-card{min-height:290px}.hero-stamp{display:none}}
@media(max-width:790px){html{scroll-padding-top:66px}.site-header .nav-shell{height:64px}.brand-main{font-size:24px}.main-nav{display:none;position:absolute;left:0;right:0;top:64px;padding:16px 24px 24px;background:#0a1735fa;border-bottom:1px solid #e2c18e68;box-shadow:0 18px 30px #0008;flex-direction:column;align-items:stretch}.main-nav.nav-open{display:flex}.main-nav>a{font-size:15px;padding:13px}.mobile-menu{display:flex}.hero,.hero-inner{min-height:575px}.hero-inner{padding:60px 0 70px}.hero h1{font-size:52px}.hero-slogan{font-size:58px}.guide-info{width:100%;padding:30px}.guide-shade{background:linear-gradient(90deg,#0a1738f5 0%,#0c1c40e6 64%,#0d214974)}.guide-side-text{display:none}.photo-grid,.bottom-cols{grid-template-columns:1fr}.service-bar{grid-template-columns:1fr}.service-bar>a{border-right:0;border-bottom:1px solid #e0c49440}.service-bar>a:last-child{border-bottom:0}.footer-inner{flex-direction:column;text-align:center;gap:15px}.zone-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.shell{width:calc(100% - 28px)}.brand-main{font-size:23px}.brand-sub{font-size:11px;padding-left:9px;letter-spacing:2px}.hero,.hero-inner{min-height:555px}.hero-visual{background-position:62% 50%}.hero-vignette{background:linear-gradient(90deg,#08132edb,#101c3daa 62%,#0c16393b),linear-gradient(0deg,#09132ea8,transparent 55%)}.hero-inner{padding:54px 0 92px}.hero h1{font-size:39px}.hero h1 span{font-size:.58em}.hero-slogan{font-size:46px}.hero-divider{font-size:13px}.hero-desc{font-size:12px}.btn{min-height:48px;padding:9px 16px}.hero-actions{gap:10px}.hero-actions .btn{min-width:0}.hero-actions .btn-outline{width:43%}.hero-actions .btn-gold{width:calc(57% - 10px);font-size:12px}.hero-actions .btn-icon{font-size:20px}.hero-actions .btn small{font-size:8px}.guide-block{transform:translateY(-42px);margin-bottom:-23px}.guide-frame{min-height:0}.guide-pic{background-position:65% 40%}.guide-info{padding:26px 19px 24px}.guide-info h2{font-size:46px}.guide-lead{font-size:17px}.guide-note{font-size:12px}.quick-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-step{min-height:95px}.quick-step strong{font-size:13px}.quick-step small{font-size:10px}.guide-large-cta{width:100%;min-width:0}.section-gap{margin-top:44px}.gallery-heading h2,.section-head h2{font-size:25px}.gallery-hint{display:none}.photo-card{min-height:250px}.photo-top{padding:18px}.photo-top h3{font-size:23px}.photo-top p{font-size:12px}.zone-grid{grid-template-columns:1fr}.zone-card{min-height:175px}.section-head{align-items:start;gap:10px}.pill{font-size:10px;padding:7px 9px}.section-head p{font-size:12px}.rank-panel-head{padding:20px 18px 13px;align-items:start;flex-wrap:wrap}.rank-panel h2{font-size:25px}.rank-meta{padding:0 18px 12px}.rank-table-wrap{padding:0 10px}.rank-table th,.rank-table td{padding:12px 9px;font-size:12px}.rank-footer{padding:14px 18px 18px}.install-panel,.news-panel{padding:22px 18px}.install-panel h2,.news-panel h2{font-size:26px}.service-bar>a{padding:18px}.footer-links{flex-wrap:wrap;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* final responsive polish */
@media(max-width:560px){
  .hero-actions .btn{white-space:nowrap}
  .hero-actions .btn-outline{width:42%;padding:9px 8px;gap:7px;font-size:13px}
  .hero-actions .btn-gold{width:calc(58% - 10px);padding:9px 10px;font-size:13px}
  .hero-actions .btn-icon{font-size:18px}
}
