:root{--night:#0d242c;--blue:#163a46;--pale:#f3e9cf;--copper:#b69a68;--dim:#9aafb1;--red:#a34035;--serif:"STKaiti","KaiTi","Songti SC",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}.city-site{margin:0;background:var(--night);color:var(--pale);font-family:"PingFang SC","Microsoft YaHei",sans-serif}.city-site a{color:inherit;text-decoration:none}.city-site img{display:block;max-width:100%}.city-site button{font:inherit;cursor:pointer}.city-site [hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #efc78c;outline-offset:5px}
.city-header{position:absolute;inset:0 0 auto;z-index:20;height:88px;display:flex;align-items:center;gap:35px;padding:0 5%;background:linear-gradient(#071b25dd,#0d242c22);border-bottom:1px solid #a6c1c121}.city-brand{font:700 27px var(--serif);letter-spacing:4px;white-space:nowrap}.city-brand small{display:block;margin-top:6px;font:9px var(--serif);letter-spacing:3px;color:#b8c5bc}.city-header nav{display:flex;justify-content:center;gap:40px;flex:1}.city-header nav a{font-size:13px;letter-spacing:2px;color:#c1d1cf}.city-header nav a:hover{color:#fbd3a0}.header-account{padding:11px 22px;border:1px solid #c2ab7d88;background:#162f37aa;font-size:12px;letter-spacing:2px}.city-menu{display:none}
.night-city{position:relative;isolation:isolate;min-height:910px;height:100svh;max-height:1150px;overflow:hidden;background:#153848 url("6f984ad1-5da5-4b95-92ed-b488d2f2f403.a015d.jpg") center 45%/cover}.night-city:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#071f3699,transparent 63%,#0d242c),radial-gradient(ellipse at 50% 28%,#0b2634dd,transparent 62%)}.city-haze{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#07263377,transparent 30%,transparent 70%,#08232f66)}.city-moon{position:absolute;top:125px;left:calc(50% - 235px);width:470px;height:470px;border:1px solid #b8d3d321;border-radius:50%;background:radial-gradient(circle,#b9d3c70a,transparent 68%);box-shadow:0 0 0 16px #8bb7c007,0 0 0 17px #b8d3d316;z-index:-1}.city-title{position:relative;text-align:center;padding-top:163px;margin:auto;width:min(800px,95%)}.chapter-overline{font:12px var(--serif);letter-spacing:5px;color:#c5c9b5}.city-title h1{margin:18px 0 8px;font:900 clamp(82px,8.8vw,138px)/1.18 var(--serif);letter-spacing:10px;color:#f4e8c7;text-shadow:0 3px 0 #617271,0 6px 0 #203843,0 12px 32px #051924}.title-rule{display:flex;align-items:center;justify-content:center;gap:20px;font:15px var(--serif);letter-spacing:8px;color:#dcbb82}.title-rule span{width:80px;height:1px;background:linear-gradient(90deg,transparent,#c0ac78,transparent)}.city-title h2{font:28px var(--serif);letter-spacing:4px;margin:29px 0 13px}.city-intro{font-size:13px;line-height:2.2;letter-spacing:2px;color:#b7ccca;margin-bottom:28px}.city-enter{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:85px;width:260px;color:#ffeace!important;border:1px solid #d1a679;background:linear-gradient(#b25243,#722c29);box-shadow:inset 0 0 0 5px #52232266,0 12px 30px #03182055;position:relative;transition:transform .2s,filter .2s}.city-enter:before,.city-enter:after{content:"";width:9px;height:9px;border:1px solid #e0bd85;position:absolute;top:calc(50% - 5px);transform:rotate(45deg)}.city-enter:before{left:15px}.city-enter:after{right:15px}.city-enter strong{font:700 30px var(--serif);letter-spacing:5px}.city-enter small{font-size:9px;letter-spacing:3px;margin-top:7px;color:#e3bc9c}.city-enter:hover{transform:translateY(-3px);filter:brightness(1.1)}.new-commander{display:block;width:max-content;margin:20px auto;color:#c7d3c9!important;font-size:11px;letter-spacing:2px}
.hanging-lantern{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;padding-top:150px;gap:10px;filter:drop-shadow(0 0 23px #ee76322a)}.hanging-lantern:before{content:"";position:absolute;top:0;height:150px;width:1px;background:#b28e5c}.hanging-lantern:after{content:"";height:60px;width:8px;background:repeating-linear-gradient(90deg,#a0472c 0 1px,transparent 1px 3px)}.hanging-lantern span{display:grid;place-items:center;width:50px;height:64px;border-radius:42%;border-block:4px solid #9b703c;color:#f3cf8c;background:repeating-linear-gradient(90deg,transparent 0 12px,#69292840 13px 14px),radial-gradient(#bc6443,#742c2c);font:25px var(--serif);box-shadow:inset 0 0 10px #eaaa6944}.lantern-left{left:12%}.lantern-right{right:12%;padding-top:190px}.lantern-right:before{height:190px}
.scene-plaque{position:absolute;bottom:200px;display:flex;flex-direction:column;text-align:center;padding:20px 36px;border:1px solid #ba9a68;background:linear-gradient(#254752ee,#152e37ee);box-shadow:inset 0 0 0 4px #061d3255,0 10px 28px #071b2c88}.scene-plaque:before,.scene-plaque:after{content:"";position:absolute;top:-40px;height:40px;width:1px;background:#b49a70}.scene-plaque:before{left:24px}.scene-plaque:after{right:24px}.scene-plaque b{font:27px var(--serif);letter-spacing:5px;color:#eddbb7}.scene-plaque span{font-size:10px;letter-spacing:1px;margin-top:8px;color:#9bb5b8}.plaque-left{left:8%;transform:rotate(-3deg)}.plaque-right{right:8%;transform:rotate(3deg)}.scene-plaque:hover{background:#30515c}
.city-dock{position:absolute;bottom:30px;left:10%;right:10%;display:grid;grid-template-columns:repeat(3,1fr);min-height:110px;border:1px solid #b49f744d;background:#102e37e8;box-shadow:inset 0 0 0 6px #071c2833,0 20px 45px #06151f66}.city-dock>a{display:flex;align-items:center;justify-content:center;gap:22px;padding:20px;border-right:1px solid #a8b5a52c}.city-dock>a:last-child{border:0}.city-dock i{width:47px;height:47px;border:1px solid #a7956c;border-radius:50%;display:grid;place-items:center;font:25px var(--serif);color:#d9bf90}.city-dock b{display:block;font:23px var(--serif);letter-spacing:3px}.city-dock small{display:block;font-size:10px;color:#89a7aa;margin-top:8px}.city-dock a:hover{background:#28485377}
.city-explore,.heroes-hall{padding:95px 6%;background:radial-gradient(ellipse at 50% 0,#1c414b,#0d242c 70%)}.city-section-title{text-align:center;margin:0 auto 45px}.city-section-title>p{font:12px var(--serif);letter-spacing:6px;color:#b5a479}.city-section-title h2{font:39px/1.5 var(--serif);letter-spacing:3px;margin:15px 0;color:#ece7d2}.city-section-title em{font-style:normal;color:#a1c5c2}.city-section-title>span{font-size:12px;color:#86a4a9;line-height:1.9}.place-console{max-width:1200px;margin:auto;display:grid;grid-template-columns:165px 1fr;border:1px solid #a799714d;padding:9px;background:#0a2029;box-shadow:0 25px 60px #00151b44}.place-tabs{display:flex;flex-direction:column}.place-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 8px;border:0;border-bottom:1px solid #78948c33;background:#132f39;color:#aec1bc;font:25px var(--serif);letter-spacing:3px}.place-tabs button small{font-size:12px;color:#8a9f95}.place-tabs button span{font:10px "Microsoft YaHei",sans-serif;color:#748f94;letter-spacing:2px}.place-tabs button.active{background:#34505a;color:#f0ddac;box-shadow:inset 3px 0 #c5aa75}.place-tabs button.active span{color:#b9c7b8}.place-panel{position:relative;min-height:570px;overflow:hidden}.place-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%}.place-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102c37f5,#102c37b8 46%,#102c3722 82%)}.place-copy{position:relative;z-index:3;width:60%;padding:100px 45px 60px}.place-copy h3{font:42px/1.35 var(--serif);margin:22px 0;color:#f1e5c4}.place-copy>p{font-size:13px;color:#b0c1bc;line-height:2}.place-notes{display:flex;gap:13px;flex-wrap:wrap;margin:24px 0 30px}.place-notes span{font-size:10px;color:#b6c7bd;border-bottom:1px solid #b8aa6f66;padding-bottom:7px}.city-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 30px;border:1px solid #bba574;color:#e5d3ac!important;background:#24424ade;font:17px var(--serif);letter-spacing:3px}.city-button:hover{background:#365961}.place-hero{position:absolute;right:4%;bottom:-20px;height:93%;z-index:2;filter:drop-shadow(0 10px 20px #031c29)}
.heroes-hall{padding-top:40px;background:radial-gradient(ellipse at 30% 50%,#294954,#0d242c 65%)}.hero-theatre{position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;max-width:1200px;margin:auto;min-height:640px}.hero-disk{position:absolute;left:4%;top:12%;width:460px;height:460px;border:1px solid #b1aa7844;border-radius:50%;box-shadow:0 0 0 14px #acb48909,0 0 0 15px #a6b28622;display:grid;place-items:center;font:300px var(--serif);color:#a3b89b0b}.hero-art-frame{position:relative;height:640px;z-index:2}.hero-art-frame img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 25px #041b25aa)}.general-story{padding:30px 40px;position:relative;z-index:3}.general-story h3{font:64px var(--serif);letter-spacing:5px;margin:20px 0}.general-story>p{font-size:13px;line-height:2;color:#a7c0be;max-width:380px}.art-caption{font-size:9px;color:#728f95}.general-picker{display:flex;gap:12px;margin:28px 0}.general-picker button{width:84px;padding:0 0 10px;border:1px solid #7c968e66;color:#9cb6b4;background:#102c35;font:14px var(--serif);overflow:hidden}.general-picker img{width:100%;height:74px;object-fit:cover;object-position:50% 15%;margin-bottom:10px}.general-picker button.active{border-color:#dcba7e;color:#f1d9aa;box-shadow:inset 0 -3px #c9a26b}
.city-farewell{position:relative;min-height:520px;padding:85px 10%;background:linear-gradient(90deg,#0b242dfa,#173943ac,#142e3570),url("bg.jpg") center 42%/cover}.city-farewell h2{font:53px/1.35 var(--serif);letter-spacing:3px;margin:20px 0}.city-farewell p:not(.chapter-overline){font-size:12px;line-height:1.9;color:#b7c7c1;margin-bottom:25px}.city-farewell .city-enter{width:235px;min-height:73px}.city-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px 6%;background:#091d24;border-top:1px solid #9baf9e22}.city-footer p{font-size:10px;line-height:2;color:#78979b}.city-footer>a:last-child{font-size:11px;color:#93a9a6}
/* Shared night-city interior for the existing PHP and payment forms. */
.night-interior{--ink:#102831;--lacquer:#963f35;--jade:#7db0a0;color:#e9e1cc;background:#0d242c}.night-interior:after{display:none}.night-interior .site-nav{position:absolute;background:linear-gradient(#091f2be8,#102d3940);border-color:#acb39333;height:82px}.night-interior .brand-seal{background:#923f35;border-color:#c3a87d;transform:none}.night-interior .nav-links a{color:#bbcbc7}.night-interior .nav-button{background:#24455088;border-color:#b5ad8266}.night-interior .nav-text{color:#b0c4c4}.night-interior .account-page,.night-interior .supply-page{background:#143341 url("6f984ad1-5da5-4b95-92ed-b488d2f2f403.a015d.jpg") center 45%/cover;min-height:100svh;padding:130px 7% 70px;gap:7%;grid-template-columns:1fr 480px}.night-interior .account-page:before,.night-interior .supply-page:before{background:linear-gradient(90deg,#0b26397a,#0b243a66 45%,#0a223bb8),linear-gradient(0deg,#0d242c,transparent 75%)}.night-interior .account-aside,.night-interior .supply-aside{text-align:center;max-width:600px;justify-self:center}.night-interior .kicker{justify-content:center;color:#c3c5a8;font-family:var(--serif)}.night-interior .account-aside h1,.night-interior .supply-aside h1{font:700 72px/1.25 var(--serif);color:#eeebd7;letter-spacing:5px;text-shadow:0 6px 22px #031f30}.night-interior .account-aside h1 em,.night-interior .supply-aside h1 em{color:#b1d0cd}.night-interior .account-aside p,.night-interior .supply-aside p{border:0;margin:20px auto;color:#abc5c4;padding:0;line-height:2.2}.night-interior .account-scroll,.night-interior .ledger-scroll{border:1px solid #ab9c7299;background:linear-gradient(135deg,#284955f5,#0f2a36f5);color:#e9e2cd;box-shadow:inset 0 0 0 7px #091f3044,0 28px 70px #04172799;border-radius:130px 130px 6px 6px;padding:60px 42px 35px}.night-interior .account-scroll:before,.night-interior .ledger-scroll:before{content:"令";position:static;display:grid;place-items:center;width:48px;height:48px;margin:0 auto 24px;color:#e6d4ae;background:#923f35;border:1px solid #bb9e6c;box-shadow:inset 0 0 0 4px #4a24213b;font:26px var(--serif)}.night-interior .account-scroll:after,.night-interior .ledger-scroll:after{display:none}.night-interior .scroll-code{justify-content:center;color:#8da9ad;font-size:10px;letter-spacing:2px}.night-interior .scroll-code:after{display:none}.night-interior .account-scroll h2,.night-interior .ledger-scroll h2{text-align:center;font:32px var(--serif);letter-spacing:3px;color:#eee4cc;margin:17px 0 25px}.night-interior .auth-tabs{border-color:#849e9944}.night-interior .auth-tab{color:#8ca6a8;font-size:12px}.night-interior .auth-tab.active{color:#e9d3a5}.night-interior .auth-tab:after{background:#c9a677}.night-interior .field label{color:#bacbc7}.night-interior .field label small{color:#6f949d}.night-interior .field input,.night-interior .amount-input{background:#09232fcc;border:1px solid #7a979566;color:#e9e2cc;font-size:16px}.night-interior .field input::placeholder,.night-interior .amount-input::placeholder{color:#63868f}.night-interior .field input:focus,.night-interior .amount-input:focus{border-color:#ccab76;box-shadow:0 0 0 3px #b49b6411}.night-interior .form-submit,.night-interior .pay-submit,.night-interior .account-action.primary{background:linear-gradient(#b15545,#773029);border-color:#c69e77;color:#ffead1;font:19px var(--serif);min-height:52px}.night-interior .form-note,.night-interior .account-legal,.night-interior .ledger-safe,.night-interior .exchange-note{color:#8ca6a8;border-color:#8da49d33;line-height:1.8}.night-interior .account-legal{flex-direction:column;gap:7px;text-align:center}.night-interior .verified p{color:#a6bdbb}.night-interior .verified-seal{color:#dab990;border-color:#b78362}.night-interior .account-action{color:#bfd0cb;border-color:#88a49d55}.night-interior .supply-page{grid-template-columns:.8fr 1.2fr}.night-interior .ledger-scroll{width:min(100%,690px);border-radius:8px;padding:35px 40px}.night-interior .ledger-scroll:before{float:left;margin:0 17px 0 0}.night-interior .ledger-head{align-items:center}.night-interior .safe-status{padding:0;color:#85b6a6}.night-interior .order-summary{border-color:#a99e6e66;clear:both}.night-interior .summary-cell{border-color:#99afa033}.night-interior .summary-label{color:#809ca1}.night-interior .summary-value{color:#d0dbd0}.night-interior .summary-value.price{color:#e2be88}.night-interior .ledger-step{color:#bfd0c9}.night-interior .ledger-step b{background:#345761;color:#e2c393;transform:none;border:1px solid #a0916955}.night-interior .pay-method{background:#30545a;border-color:#ae9e72;color:#ede1bd}.night-interior .amount-result{color:#9fb7b6;background:#0a26344d}.night-interior .amount-result strong{color:#e5c794}.night-interior .amount-unit{color:#91acae}.night-interior .ledger-safe b{color:#9bc6b5}.night-interior .message.error,.night-interior .error-message{color:#f0b7a5;background:#853b332b;border-color:#c7846b}.night-interior .message.success,.night-interior .success-message{color:#a1d0b8;background:#4c8e7522}.night-interior .loading{color:#b1c5bd}.night-interior .popup-card{background:#163641;border-color:#ab9b6d}.night-interior .popup-card p{color:#afc3bf}.night-interior.modal-mode .supply-page{display:block;padding:18px;min-height:100svh;background:#0d242c}.night-interior.modal-mode .ledger-scroll{padding:28px 24px}
@media(max-width:1100px){.city-header nav{gap:22px}.city-header{gap:22px;padding-inline:4%}.city-title h1{font-size:110px}.scene-plaque{bottom:190px;padding:17px 22px}.plaque-left{left:4%}.plaque-right{right:4%}.city-dock{left:4%;right:4%}.place-copy{padding:80px 30px 40px;width:66%}.place-copy h3{font-size:35px}.place-console{grid-template-columns:125px 1fr}.hero-disk{width:360px;height:360px}.general-story{padding:25px}.night-interior .account-page,.night-interior .supply-page{gap:35px;padding-inline:5%;grid-template-columns:1fr 440px}.night-interior .account-aside h1,.night-interior .supply-aside h1{font-size:55px}}
@media(max-width:760px){.city-header{height:70px;padding:0 18px;gap:15px}.city-brand{font-size:22px;letter-spacing:2px}.city-brand small{font-size:7px;letter-spacing:2px}.city-header nav{display:none}.header-account{margin-left:auto;font-size:10px;padding:9px 11px;letter-spacing:1px}.city-menu{display:block;width:34px;height:34px;border:1px solid #b1ac7766;color:#e7dab7;background:#102c3988}.city-header.menu-open nav{display:flex;position:absolute;top:70px;left:0;right:0;flex-wrap:wrap;padding:20px;background:#102a37f5;gap:20px;font-size:12px}.night-city{height:auto;min-height:850px;max-height:none;background-position:50% 45%;background-size:auto 100%}.city-title{padding-top:145px;width:96%}.chapter-overline{font-size:10px;letter-spacing:3px}.city-title h1{font-size:clamp(59px,17vw,102px);letter-spacing:3px;margin-top:20px}.city-title h2{font-size:22px;letter-spacing:1px;margin-top:24px}.city-intro{font-size:11px;letter-spacing:1px}.title-rule{font-size:11px;gap:10px;letter-spacing:5px}.title-rule span{width:48px}.city-enter{width:230px;min-height:76px}.city-enter strong{font-size:27px}.new-commander{font-size:10px}.city-moon{width:300px;height:300px;left:calc(50% - 150px);top:137px}.hanging-lantern{padding-top:83px}.hanging-lantern:before{height:83px}.hanging-lantern span{width:27px;height:34px;font-size:16px;border-block-width:2px}.hanging-lantern:after{height:28px;width:5px}.lantern-left{left:5%}.lantern-right{right:5%;padding-top:96px}.lantern-right:before{height:96px}.scene-plaque{bottom:180px;padding:13px 14px}.scene-plaque b{font-size:20px;letter-spacing:3px}.scene-plaque span{font-size:8px;letter-spacing:0}.scene-plaque:before,.scene-plaque:after{height:23px;top:-23px}.plaque-left{left:5%}.plaque-right{right:5%}.city-dock{left:12px;right:12px;bottom:34px;min-height:105px}.city-dock>a{flex-direction:column;gap:8px;padding:12px 4px}.city-dock i{width:32px;height:32px;font-size:20px}.city-dock b{font-size:16px;letter-spacing:2px}.city-dock small{display:none}.city-explore,.heroes-hall{padding:65px 18px}.city-section-title{margin-bottom:30px}.city-section-title h2{font-size:28px;letter-spacing:1px}.city-section-title em{display:block}.city-section-title>span{font-size:10px}.place-console{grid-template-columns:1fr;padding:6px}.place-tabs{flex-direction:row}.place-tabs button{font-size:19px;gap:6px;padding:14px 4px}.place-tabs button small{font-size:9px}.place-tabs button span{font-size:8px;letter-spacing:1px}.place-tabs button.active{box-shadow:inset 0 -2px #c5aa75}.place-panel{min-height:590px}.place-image{height:62%;object-position:center 44%}.place-panel:after{background:linear-gradient(transparent 20%,#102c3780 38%,#102c37 60%)}.place-copy{width:100%;padding:280px 23px 28px}.place-copy h3{font-size:29px;margin:16px 0}.place-copy>p{font-size:11px;line-height:1.9}.place-notes{margin:20px 0}.place-hero{height:300px;bottom:auto;top:0;right:8%}.hero-theatre{grid-template-columns:1fr;min-height:0}.hero-art-frame{height:390px}.hero-disk{width:280px;height:280px;left:calc(50% - 140px);top:35px;font-size:180px}.general-story{padding:25px 10px;text-align:center}.general-story h3{font-size:45px;margin:14px 0}.general-story>p{font-size:12px;margin-inline:auto}.art-caption{font-size:8px}.general-picker{justify-content:center}.city-farewell{min-height:490px;padding:70px 25px;background-position:60% center}.city-farewell h2{font-size:35px}.city-farewell p:not(.chapter-overline){max-width:260px}.city-footer{flex-wrap:wrap;gap:20px;padding:30px 22px}.city-footer p{order:3;flex-basis:100%;margin:0;font-size:9px}.city-footer>a:last-child{font-size:9px}.night-interior .site-nav{height:68px}.night-interior .nav-links{background:#0d2836f5;top:68px}.night-interior .account-page,.night-interior .supply-page{display:flex;flex-direction:column;gap:25px;padding:106px 18px 45px;background-attachment:scroll;min-height:100svh}.night-interior .account-aside,.night-interior .supply-aside{padding:0}.night-interior .account-aside h1,.night-interior .supply-aside h1{font-size:35px;margin:12px 0;letter-spacing:2px}.night-interior .account-aside h1 br,.night-interior .supply-aside h1 br{display:none}.night-interior .account-aside p,.night-interior .supply-aside p{font-size:10px;max-width:310px;margin:10px auto}.night-interior .account-scroll{width:min(440px,100%);padding:40px 25px 28px;border-radius:75px 75px 5px 5px}.night-interior .account-scroll:before{margin-bottom:15px;width:37px;height:37px;font-size:21px}.night-interior .account-scroll h2,.night-interior .ledger-scroll h2{font-size:28px}.night-interior .ledger-scroll{padding:28px 22px}.night-interior .ledger-head{align-items:flex-start;gap:0}.night-interior .safe-status{margin-bottom:15px}.night-interior .ledger-scroll:before{float:none}.night-interior .supply-aside .kicker{font-size:9px}.night-interior.modal-mode .supply-page{padding:12px}.night-interior.modal-mode .ledger-scroll{padding:25px 18px}}
.night-interior input[type="number"]{appearance:textfield;-moz-appearance:textfield}.night-interior input[type="number"]::-webkit-inner-spin-button,.night-interior input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
