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

/* Shared by public pages, administration and the embedded character view. */
:root { --scroll-thumb: #b49a62; --scroll-thumb-hover: #e7bd7b; --scroll-track: #0b2022; }
:is(.register-modal, .support-modal-content, #user-message-detail-modal, .setup-panel) {
  --scroll-thumb: #bd9a60; --scroll-thumb-hover: #a78145; --scroll-track: #e7ece8;
}
* { scrollbar-width: thin; scrollbar-color: var(--scroll-thumb) var(--scroll-track); }
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: var(--scroll-track); }
::-webkit-scrollbar-thumb { background: var(--scroll-thumb); border: 1px solid var(--scroll-track); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: var(--scroll-thumb-hover); }
::-webkit-scrollbar-corner { background: var(--scroll-track); }
::-webkit-scrollbar-button { display: none; }

/* Match square checkboxes to system consignment; retain the dedicated switches. */
:root body :is(.admin-page-panel, .admin-event-editor, .admin-grant-content, .admin-region-settings, .lottery-skip-animation, .prize-batch-toolbar, .prize-claim-controls) input[type="checkbox"]:not(:where(.admin-region-switch, .admin-exchange-enabled input, .admin-email-enabled input, .admin-email-secure input)) {
  color-scheme: dark;
  accent-color: var(--gold-bright);
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
}
:root body .admin-region-settings input.admin-region-select[type="checkbox"] { margin-bottom: 13px; }
:root body :is(.admin-page-panel, .admin-event-editor, .admin-grant-content, .admin-region-settings, .lottery-skip-animation, .prize-batch-toolbar, .prize-claim-controls) input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 3px;
}
:root body :is(.admin-page-panel, .admin-event-editor, .admin-grant-content, .admin-region-settings, .lottery-skip-animation, .prize-batch-toolbar, .prize-claim-controls) input[type="checkbox"]:disabled {
  cursor: not-allowed;
}
:root{--ink:#101b2a;--ink-soft:#20364b;--paper:#f7f4ee;--mist:#e7ecec;--gold:#c99a56;--gold-bright:#e7bd7b;--jade:#2f706e;--white:#fff;--line:rgba(16,27,42,.14);--serif:'Noto Serif SC',serif;--sans:'DM Sans','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);line-height:1.6}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0;cursor:pointer}.site-header{height:78px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:3;inset:0 0 auto;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.brand,.footer-brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--gold-bright);color:var(--gold-bright);font:700 23px var(--serif);line-height:1}.brand-copy,.footer-brand div{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong,.footer-brand strong{font:700 21px var(--serif);letter-spacing:.12em}.brand-copy small,.footer-brand small{font-size:9px;letter-spacing:.26em;margin-top:4px;color:rgba(255,255,255,.7)}.main-nav{display:flex;gap:clamp(20px,3vw,48px);font-size:13px}.main-nav a{padding:27px 0 23px;color:rgba(255,255,255,.72);position:relative}.main-nav a.active,.main-nav a:hover{color:#fff}.main-nav a.active:after{content:'';position:absolute;height:2px;background:var(--gold-bright);bottom:-1px;left:0;right:0}.header-actions{display:flex;align-items:center;gap:15px}.download-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);padding:9px 15px;font-size:12px;letter-spacing:.08em}.download-btn span{color:var(--gold-bright);font-size:17px;vertical-align:-2px;margin-right:4px}.menu-btn{display:none;background:transparent;padding:5px}.menu-btn span{display:block;width:23px;height:1px;background:#fff;margin:5px}.hero{min-height:690px;height:89vh;max-height:900px;position:relative;isolation:isolate;overflow:hidden;color:#fff;background-image:none;background-size:cover;background-position:center 38%}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,25,.85) 0%,rgba(6,15,25,.5) 45%,rgba(6,15,25,.18) 100%),linear-gradient(0deg,rgba(6,15,25,.62),transparent 50%)}.hero-content{position:absolute;z-index:1;left:clamp(25px,11vw,175px);top:50%;transform:translateY(-40%);max-width:610px}.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 22px;color:#d1dedb;font-size:10px;letter-spacing:.26em;font-weight:600}.eyebrow span{display:inline-block;width:23px;height:1px;background:var(--gold-bright)}.eyebrow.warm{color:var(--jade)}.hero h1,.world-copy h2,.guide-intro h2{font:900 clamp(44px,6vw,82px)/1.19 var(--serif);letter-spacing:.03em;margin:0}.hero h1 em,.world-copy h2 em,.guide-intro h2 em{font-style:normal;color:var(--gold-bright)}.hero-lede{max-width:470px;color:rgba(255,255,255,.78);font-size:15px;margin:26px 0 31px}.hero-cta{display:flex;gap:13px;align-items:center}.primary-btn{background:var(--gold);color:var(--ink);padding:13px 23px;font-size:13px;font-weight:700;letter-spacing:.08em;transition:.2s}.primary-btn:hover{background:var(--gold-bright);transform:translateY(-2px)}.primary-btn span{font-size:17px;margin-left:14px}.ghost-btn{padding:12px 17px;color:#fff;font-size:13px}.play-icon{display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.7);width:27px;height:27px;border-radius:50%;font-size:9px;margin-right:7px}.hero-meta{display:flex;gap:14px;align-items:center;color:rgba(255,255,255,.54);font-size:10px;letter-spacing:.1em;margin-top:60px}.hero-meta i{width:3px;height:3px;border-radius:50%;background:var(--gold-bright)}.hero-scroll{position:absolute;bottom:31px;left:clamp(25px,11vw,175px);display:flex;gap:13px;align-items:center;color:rgba(255,255,255,.65);font-size:9px;letter-spacing:.2em}.hero-scroll i{display:block;width:54px;height:1px;background:var(--gold-bright)}.hero-seal{position:absolute;right:7%;bottom:13%;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid rgba(231,189,123,.68);color:var(--gold-bright);padding:17px 9px 13px;writing-mode:vertical-rl;font-family:var(--serif);font-size:14px;letter-spacing:.18em}.hero-seal strong{font-size:21px}.news-strip{display:flex;align-items:center;gap:clamp(20px,4vw,62px);padding:22px clamp(25px,11vw,175px);background:#112331;color:#fff}.section-label{display:flex;gap:11px;align-items:center;white-space:nowrap}.section-label span{color:var(--gold-bright);font-size:10px;letter-spacing:.16em}.section-label strong{font:600 15px var(--serif)}.featured-news{display:flex;align-items:center;gap:13px;min-width:0;flex:1;font-size:13px}.tag{color:var(--gold-bright);border:1px solid rgba(231,189,123,.5);font-size:10px;padding:3px 7px}.featured-news a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.featured-news time{color:rgba(255,255,255,.48);font-size:11px;margin-left:auto}.all-news{font-size:11px;color:var(--gold-bright);white-space:nowrap}.all-news span{font-size:16px;margin-left:7px}.world-section{padding:clamp(70px,10vw,145px) clamp(25px,11vw,175px);display:grid;grid-template-columns:minmax(260px,.8fr) minmax(500px,1.35fr);gap:clamp(40px,7vw,120px);align-items:center;background:var(--paper)}.world-copy h2,.guide-intro h2{font-size:clamp(35px,4vw,59px);color:var(--ink)}.world-copy h2 em{color:var(--jade)}.world-copy>p:not(.eyebrow){color:#59696d;font-size:14px;max-width:385px;margin:23px 0 35px}.stats{display:flex;gap:clamp(18px,3vw,45px)}.stats div{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:14px}.stats strong{font:600 25px var(--serif);color:var(--ink)}.stats strong span{font-size:13px}.stats span{color:#829092;font-size:10px;margin-top:3px}.world-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:210px 175px;gap:14px}.world-card{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:19px;background-size:cover;background-position:center;color:#fff;isolation:isolate}.world-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,21,26,.83),transparent 70%);z-index:-1}.world-card>div{z-index:1}.world-card span{font-size:10px;color:var(--gold-bright);letter-spacing:.15em}.world-card h3{font:600 26px var(--serif);margin:2px 0}.world-card p{font-size:10px;color:rgba(255,255,255,.72);margin:0}.card-city{grid-row:span 2;background-image:none}.card-mountain{background-image:none}.card-sea{background-image:none;background-position:bottom right}.classes-section{background:#e7ece8;padding:clamp(65px,8vw,110px) clamp(25px,11vw,175px)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:44px}.section-heading h2{font:700 clamp(34px,4vw,54px) var(--serif);margin:0;color:var(--ink)}.section-heading>p{font-size:13px;max-width:330px;color:#607475;margin:0 0 4px}.class-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.class-card{padding:27px 15px 22px;background:rgba(255,255,255,.46);color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid transparent;transition:.25s}.class-card:hover,.class-card.active{background:var(--ink);color:#fff;transform:translateY(-6px);box-shadow:0 12px 24px rgba(16,27,42,.13)}.class-symbol{font:700 38px var(--serif);color:var(--jade);margin-bottom:7px}.class-card.active .class-symbol,.class-card:hover .class-symbol{color:var(--gold-bright)}.class-name{font:600 15px var(--serif)}.class-card small{font-size:10px;color:#849694}.class-card.active small,.class-card:hover small{color:rgba(255,255,255,.55)}.class-detail{display:flex;align-items:center;gap:21px;margin-top:16px;padding:18px 25px;background:var(--ink);color:#fff}.detail-rune{display:grid;place-items:center;border:1px solid var(--gold-bright);color:var(--gold-bright);font:700 24px var(--serif);width:49px;height:49px}.class-detail strong{font:600 15px var(--serif)}.class-detail p{margin:4px 0 0;color:rgba(255,255,255,.6);font-size:12px}.class-detail a{margin-left:auto;color:var(--gold-bright);font-size:11px;white-space:nowrap}.class-detail a span{font-size:16px;margin-left:8px}.guide-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:clamp(70px,9vw,125px) clamp(25px,11vw,175px);background:var(--ink);color:#fff;position:relative;overflow:hidden}.guide-section:after{content:'道';position:absolute;right:4%;bottom:-35%;font:900 380px var(--serif);color:rgba(255,255,255,.025);pointer-events:none}.guide-intro h2{color:#fff}.guide-intro h2 em{color:var(--gold-bright)}.guide-intro>p:not(.eyebrow){max-width:350px;color:rgba(255,255,255,.56);font-size:14px;margin:23px 0 29px}.guide-note{padding-top:15px;position:relative;z-index:1}.note-number{color:var(--gold-bright);font-size:10px;letter-spacing:.1em;display:block;margin-bottom:7px}.guide-note strong{font:600 20px var(--serif)}.guide-note p{color:rgba(255,255,255,.52);font-size:12px;margin:3px 0 28px}.note-line{height:1px;background:rgba(255,255,255,.16);display:block;margin:0 0 28px}.site-footer{padding:28px clamp(25px,6vw,95px);display:flex;align-items:center;gap:28px;background:#0b151f;color:rgba(255,255,255,.56);font-size:10px}.footer-brand{color:#fff}.footer-brand .brand-mark{width:31px;height:31px;font-size:18px}.footer-brand strong{font-size:17px}.footer-brand small{font-size:7px}.site-footer>p{margin:0}.footer-links{margin-left:auto;display:flex;gap:19px}.modal-backdrop{position:fixed;z-index:10;inset:0;background:rgba(3,11,18,.72);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.register-modal{width:min(100%,430px);background:var(--paper);padding:39px 42px 35px;position:relative;box-shadow:0 18px 60px rgba(0,0,0,.3)}.modal-close{position:absolute;right:16px;top:12px;background:transparent;color:#778286;font-size:28px;line-height:1}.register-modal h2{font:700 31px var(--serif);margin:0;color:var(--ink)}.modal-copy{font-size:13px;color:#748285;margin:8px 0 25px}.register-modal label{display:block;font-size:11px;color:#4e5f62;margin:14px 0}.register-modal input[type=tel],.register-modal input[type=password]{display:block;width:100%;margin-top:7px;border:1px solid #ccd5d2;padding:12px 13px;background:#fff;outline:0;font-size:13px}.register-modal input:focus{border-color:var(--jade)}.check-label{display:flex!important;align-items:center;gap:7px;font-size:10px!important;margin:18px 0 22px!important}.check-label input{accent-color:var(--jade)}.register-modal .primary-btn{width:100%}.form-message{font-size:12px;color:var(--jade);min-height:18px;text-align:center;margin:12px 0 0}
@media(max-width:850px){.site-header{height:66px}.main-nav{position:absolute;display:none;top:66px;left:0;right:0;padding:12px 25px;background:rgba(8,20,29,.97);flex-direction:column;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 0}.main-nav a.active:after{display:none}.menu-btn{display:block}.download-btn{padding:8px 10px;font-size:11px}.hero{height:680px;background-position:62% center}.hero-content{left:25px;right:25px;top:47%}.hero h1{font-size:clamp(41px,11vw,65px)}.hero-meta{margin-top:43px}.hero-seal{right:25px;bottom:12%;}.news-strip{padding:19px 25px;gap:17px}.section-label{gap:7px}.section-label strong{font-size:13px}.featured-news{display:block}.featured-news .tag{display:inline-block;margin-right:8px}.featured-news time{display:none}.world-section,.guide-section{grid-template-columns:1fr;gap:46px}.world-section{padding-top:72px}.world-cards{grid-template-rows:180px 150px}.section-heading{align-items:start;flex-direction:column;gap:16px;margin-bottom:31px}.class-grid{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto;padding:6px 0 13px}.class-card{min-width:90px}.class-detail{align-items:flex-start}.class-detail a{display:none}.site-footer{flex-wrap:wrap}.site-footer>p{order:3;width:100%}.footer-links{margin-left:auto}}@media(max-width:500px){.brand-copy strong{font-size:18px}.brand-copy small{font-size:7px}.header-actions{gap:6px}.download-btn{border:0;padding:8px 4px}.hero-lede{font-size:13px;max-width:330px}.hero-scroll{left:25px}.hero-seal{display:none}.news-strip{display:block}.section-label{margin-bottom:11px}.all-news{display:inline-block;margin-top:12px}.world-cards{grid-template-columns:1fr 1fr;grid-template-rows:200px 140px}.card-city{grid-row:span 1;grid-column:span 2}.card-mountain,.card-sea{min-height:140px}.stats{gap:17px}.stats strong{font-size:21px}.classes-section{padding-left:20px;padding-right:20px}.class-detail{padding:15px 17px;gap:13px}.class-detail p{font-size:11px}.guide-section{padding-left:25px;padding-right:25px}.register-modal{padding:35px 24px 27px}}\n+.checkin-section{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);gap:clamp(45px,8vw,130px);align-items:center;padding:clamp(78px,10vw,140px) clamp(25px,11vw,175px);background:var(--paper)}.checkin-intro h2{font:900 clamp(38px,4.5vw,64px)/1.2 var(--serif);letter-spacing:.03em;margin:0;color:var(--ink)}.checkin-intro h2 em{font-style:normal;color:var(--jade)}.checkin-intro>p:not(.eyebrow){max-width:360px;color:#68787a;font-size:14px;margin:22px 0 31px}.checkin-stats{display:flex;gap:36px}.checkin-stats div{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:14px}.checkin-stats strong{font:600 27px var(--serif);color:var(--ink)}.checkin-stats span{font-size:10px;color:#829092;margin-top:2px}.checkin-panel{background:var(--ink);color:#fff;padding:clamp(25px,4vw,42px);box-shadow:0 18px 42px rgba(16,27,42,.16)}.checkin-panel-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.15)}.checkin-panel-head div{display:flex;flex-direction:column}.panel-kicker{color:var(--gold-bright);font-size:10px;letter-spacing:.2em}.checkin-panel-head strong{font:600 21px var(--serif);margin-top:3px}.checkin-reward{color:rgba(255,255,255,.6);font-size:11px;white-space:nowrap}.checkin-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:25px 0}.checkin-day{display:flex;flex-direction:column;align-items:center;gap:5px;color:rgba(255,255,255,.5);font-size:10px}.checkin-day strong{display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.22);font:600 14px var(--serif);color:#fff}.checkin-day i{height:13px;color:var(--gold-bright);font-style:normal;font-size:13px;line-height:1}.checkin-day.is-today span{color:var(--gold-bright)}.checkin-day.is-today strong{border-color:var(--gold-bright);color:var(--gold-bright)}.checkin-day.is-signed strong{background:var(--jade);border-color:var(--jade)}.checkin-btn{min-width:155px}.checkin-btn:disabled{background:#56636b;color:rgba(255,255,255,.75);cursor:default;transform:none}.checkin-message{min-height:20px;margin:14px 0 0;color:rgba(255,255,255,.57);font-size:11px}\n+@media(max-width:850px){.checkin-section{grid-template-columns:1fr;gap:46px}}@media(max-width:500px){.checkin-section{padding-left:20px;padding-right:20px}.checkin-panel-head{align-items:flex-start;flex-direction:column;gap:8px}.checkin-reward{white-space:normal}.checkin-week{gap:3px}}
.header-account{color:var(--gold-bright);font-size:11px;letter-spacing:.04em;white-space:nowrap}
.account-menu{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(231,189,123,.7);border-radius:50%;background:rgba(8,20,29,.3);color:var(--gold-bright)}.account-menu svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.account-menu:hover{background:rgba(231,189,123,.16)}.account-popover{position:absolute;top:48px;right:45px;width:190px;padding:16px;background:#10212d;color:#fff;border:1px solid rgba(231,189,123,.55);box-shadow:0 14px 32px rgba(0,0,0,.28);z-index:5}.account-popover span{display:block;color:rgba(255,255,255,.54);font-size:10px}.account-popover strong{display:block;margin:5px 0 13px;color:var(--gold-bright);font:600 16px var(--serif);word-break:break-all}.account-popover button{width:100%;padding:8px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:11px}.account-popover button:hover{border-color:var(--gold-bright);color:var(--gold-bright)}
.header-actions{position:relative}
.page-track{display:flex;width:200%;transform:translateX(0);transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.page-track.show-checkin{transform:translateX(-50%)}.page-track>section{flex:0 0 50%;width:50%;min-width:0}main{overflow:hidden;width:100%}
.account-menu[hidden],.account-popover[hidden]{display:none!important}
.site-header{background:transparent;border-bottom-color:rgba(255,255,255,.18);transition:background .3s ease,color .3s ease}.checkin-active .site-header{background:transparent}.checkin-active .main-nav a{color:rgba(255,255,255,.78)}.checkin-active .main-nav a.active,.checkin-active .main-nav a:hover{color:#fff}.checkin-active .header-auth-btn{border-color:rgba(255,255,255,.55)}
.checkin-active .header-auth-btn[data-open-register]{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--ink)}
.hero-cta .primary-btn span,.register-modal .primary-btn span{display:none}
.checkin-btn span{display:none}
.auth-pending [data-open-register],.auth-pending .header-login-btn,.auth-pending .account-menu{visibility:hidden}
.auth-pending [data-checkin-nav]{visibility:hidden}.main-nav [data-checkin-nav][hidden]{display:none}
.auth-pending [data-member-nav]{visibility:hidden}.main-nav [data-member-nav][hidden]{display:none}
.account-balance{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:rgba(255,255,255,.65)}.account-balance strong{margin:0;color:var(--gold-bright);font:600 14px var(--serif)}
.account-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-popover #account-logout{margin-top:8px;border-color:rgba(231,189,123,.45)}
.hero{background-image:url('/assets/images/wd-bg-tq.jpg')}
.register-modal input[type=email],.register-modal input[type=text]{display:block;width:100%;margin-top:7px;border:1px solid #ccd5d2;padding:12px 13px;background:#fff;outline:0;font-size:13px}.register-modal input[type=email]:focus,.register-modal input[type=text]:focus{border-color:var(--jade)}
.email-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.email-code-row label{margin-bottom:14px}.register-modal .secondary-btn{min-height:41px;padding:10px 14px;border:1px solid rgba(47,112,110,.56);background:transparent;color:var(--jade);font-size:11px;font-weight:600;letter-spacing:.04em;transition:.2s}.register-modal .secondary-btn:hover{border-color:var(--gold);background:rgba(201,154,86,.08);color:var(--ink)}.email-code-row .secondary-btn{margin-bottom:14px;white-space:nowrap}.recover-support-btn{display:block;width:100%;margin-top:10px}
.recovery-email-hint{margin:-5px 0 12px;color:var(--jade);font-size:12px;line-height:1.5}.register-modal .secondary-btn:disabled{border-color:#8b949e;background:#8b949e;color:#fff;opacity:1;cursor:not-allowed}
@media(max-width:600px){.email-code-row{grid-template-columns:1fr}.email-code-row .secondary-btn{width:100%;margin-top:-7px}}
/* 抽奖宠物奖品 */
