:root{--ink:#17211a;--screen:#bdd59a;--screen-2:#d8e5b5;--line:#52634d;--key:#e7eadf;--key-hi:#fff;--orange:#e48b30;--blue:#3d6f7d;--shadow:#090d0a}
*{box-sizing:border-box}
html{font-size:16px;background:#1b221e}
body{margin:0;min-height:100vh;color:var(--ink);font-family:"Courier New",ui-monospace,monospace;background:radial-gradient(circle at 50% 0,#4e5851 0,#222a25 44%,#121713 100%);padding:24px 16px 48px}
a{color:inherit}
.phone{width:min(100%,920px);margin:auto;border:4px solid #0b0e0c;border-radius:38px;background:linear-gradient(145deg,#cfd3ca,#767e78 48%,#303833);box-shadow:0 28px 70px #0009,inset 0 2px 2px #fff9;padding:18px}
.brandbar{display:flex;align-items:center;justify-content:space-between;color:#f4f5ef;padding:2px 18px 14px;font-family:Arial,sans-serif;letter-spacing:.08em}.brandbar strong{font-size:1.25rem}.brandbar span{font-size:.8rem;opacity:.8}
.screen{position:relative;border:7px solid #1e2821;border-radius:15px;background:linear-gradient(145deg,var(--screen-2),var(--screen));box-shadow:inset 0 0 24px #37493255;overflow:hidden;min-height:570px}
.screen:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(0deg,transparent 0 3px,#213b2425 4px)}
.topbar{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:2px solid var(--line);font-weight:700}.signal{letter-spacing:-3px}.clock{font-variant-numeric:tabular-nums}
.home{position:relative;z-index:1;padding:24px}.title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.title h1{margin:0;font-family:Arial,sans-serif;font-size:clamp(2rem,6vw,4.6rem);letter-spacing:-.06em}.title p{margin:0 0 8px;max-width:360px;text-align:right;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tile{min-height:145px;padding:16px;border:3px solid var(--ink);background:linear-gradient(145deg,#eef3d3,#b7d18f);box-shadow:inset 3px 3px #fff7,inset -3px -3px #5b714a66,4px 4px 0 #1d2d1f;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:.12s transform,.12s background}.tile:hover,.tile:focus-visible{background:#f3e67f;transform:translate(-2px,-2px);outline:3px dashed var(--ink);outline-offset:3px}.tile:active{transform:translate(2px,2px);box-shadow:inset 3px 3px #5b714a66}.icon{font-size:2.2rem;line-height:1}.tile strong{font-size:1.15rem}.tile small{font-size:.75rem}.softkeys{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;padding:14px 12px 0;font:700 .9rem Arial,sans-serif}.softkeys span:last-child{text-align:right}.navkey{width:76px;height:26px;border-radius:50%;background:linear-gradient(#bbb,#555);border:2px solid #222;box-shadow:inset 0 2px #fff8}
.detail{position:relative;z-index:1;padding:22px;min-height:505px}.crumb{display:inline-block;margin-bottom:20px;font-weight:700;text-decoration:none;border-bottom:2px solid}.detail h1{font:800 clamp(2rem,7vw,4.4rem)/.95 Arial,sans-serif;letter-spacing:-.055em;margin:0 0 12px}.lead{font-size:1.1rem;font-weight:700;max-width:680px}.menu{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:26px 0}.menu article{border:2px solid var(--line);background:#ecf2d3aa;padding:16px;box-shadow:3px 3px 0 #425640}.menu h2{margin:0 0 8px;font:800 1.1rem Arial,sans-serif}.menu p{margin:0;line-height:1.5}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.btn{display:inline-block;background:var(--ink);color:#f2f4df;padding:13px 18px;border:2px solid var(--ink);box-shadow:4px 4px 0 #71865c;text-decoration:none;font-weight:700}.btn.alt{background:transparent;color:var(--ink)}.btn:hover{background:var(--orange);color:#111}.note{border-left:6px solid var(--orange);padding:8px 12px;margin-top:18px;background:#f2efb477}
@media(max-width:650px){body{padding:0;background:#252c28}.phone{border-radius:0;border-width:0;min-height:100vh;padding:10px}.brandbar{padding:5px 10px 10px}.screen{min-height:calc(100vh - 100px)}.home,.detail{padding:16px}.title{display:block}.title p{text-align:left;margin-top:5px}.grid{grid-template-columns:repeat(2,1fr);gap:9px}.tile{min-height:128px;padding:13px}.icon{font-size:1.9rem}.tile strong{font-size:1rem}.menu{grid-template-columns:1fr}.detail h1{font-size:2.7rem}.screen{border-width:5px}.softkeys{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Card-based discovery homepage */
.cards-page{--paper:#f6f4ef;--card:#fff;--charcoal:#191a18;--muted:#74746e;--acid:#d8ff52;min-height:100vh;padding:0;background:var(--paper);color:var(--charcoal);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
.cards-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:17px clamp(18px,4vw,60px);background:#f6f4efed;border-bottom:1px solid #191a1817;backdrop-filter:blur(16px)}
.cards-brand{width:max-content;color:inherit;font-size:1.45rem;font-weight:900;letter-spacing:-.06em;text-decoration:none}.cards-brand span{display:block;margin-top:1px;font-size:.5rem;letter-spacing:.2em}.cards-header p{margin:0;color:var(--muted);font-size:.82rem}.header-contact{justify-self:end;padding:10px 15px;border:1px solid #191a1828;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:800;transition:.2s ease}.header-contact:hover,.header-contact:focus-visible{background:var(--charcoal);color:#fff;transform:translateY(-2px)}
.cards-main{width:min(1380px,100%);margin:auto;padding:clamp(34px,7vw,96px) clamp(14px,3.4vw,52px) 70px}.cards-intro{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:30px;margin:0 0 clamp(38px,6vw,76px)}.cards-intro .eyebrow{grid-column:1/-1;margin:0;color:#6a6b65;font-size:.7rem;font-weight:800;letter-spacing:.22em}.cards-intro h1{margin:0;font-size:clamp(2.8rem,7vw,7.3rem);line-height:.91;letter-spacing:-.075em}.cards-intro>p:last-child{justify-self:end;max-width:410px;margin:0 0 8px;color:#5e605b;font-size:clamp(.95rem,1.3vw,1.12rem);line-height:1.75}
.masonry{columns:4 240px;column-gap:clamp(10px,1.4vw,20px)}.story-card{position:relative;display:block;break-inside:avoid;overflow:hidden;margin:0 0 clamp(10px,1.4vw,20px);border-radius:20px;background:var(--card);color:#fff;text-decoration:none;box-shadow:0 8px 22px #1418120d;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}.story-card:hover,.story-card:focus-visible{transform:translateY(-7px);box-shadow:0 20px 36px #14181220;outline:none}.story-card:focus-visible:after{content:"";position:absolute;inset:5px;z-index:5;border:2px solid var(--acid);border-radius:16px;pointer-events:none}.story-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.story-card:hover img{transform:scale(1.04)}.shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#00000012 25%,#000000c7 100%)}.card-index{position:absolute;top:16px;left:16px;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff8a;border-radius:50%;background:#10110f25;font-size:.65rem;font-weight:800;backdrop-filter:blur(8px)}.card-copy{position:absolute;right:18px;bottom:18px;left:18px;z-index:3;display:flex;flex-direction:column}.card-copy small{margin-bottom:8px;font-size:.7rem;font-weight:800;letter-spacing:.08em}.card-copy strong{font-size:clamp(1.55rem,2.5vw,2.5rem);line-height:1;letter-spacing:-.055em}.card-copy>span{margin-top:9px;font-size:.78rem;opacity:.8}
.card-hotel{height:350px;background:linear-gradient(150deg,#ef6b54,#e43d5c 62%,#8d183f)}.card-hotel:before{content:"";position:absolute;right:-35px;top:30px;width:210px;height:210px;border:42px solid #ffbea7;border-radius:48% 52% 50% 50%;transform:rotate(22deg)}.card-hotel:after{content:"ROOM / 休息 / 住好";position:absolute;top:70px;left:22px;width:7em;color:#541827;font-size:clamp(1.55rem,2.6vw,2.6rem);font-weight:900;line-height:.96;letter-spacing:-.06em}
.card-transfer{height:515px}.card-transfer img{object-position:52% center}.card-vip{height:290px;background:#161a18}.card-vip .star{position:absolute;top:22px;right:25px;color:var(--acid);font-size:6.8rem;line-height:1;transform:rotate(12deg)}.card-vip .card-index{background:#ffffff14}
.card-guide{height:440px}.card-guide img{object-position:center}.card-chauffeur{height:385px;background:#bddaf4;color:#132336}.card-chauffeur .card-index{border-color:#13233666;background:#ffffff3d}.card-chauffeur .route-line{position:absolute;top:30%;left:-10%;width:125%;height:42%;border:4px solid #39729e;border-color:#39729e transparent transparent #39729e;border-radius:50%;transform:rotate(-12deg)}.route-dot{position:absolute;width:17px;height:17px;border:4px solid #bddaf4;border-radius:50%;background:#193e5d;box-shadow:0 0 0 3px #193e5d}.route-a{top:29%;left:18%}.route-b{top:42%;right:18%}.card-chauffeur .card-copy>span{opacity:.65}
.card-contact{height:255px;background:var(--acid);color:#1a1c16}.card-contact .card-index{border-color:#1a1c1666;background:#ffffff35}.card-contact .contact-arrow{position:absolute;top:19px;right:22px;font-size:2rem;font-weight:300}.card-contact .card-copy>span{opacity:.65}
.cards-footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(18px,4vw,60px);border-top:1px solid #191a1817;color:#686a64;font-size:.75rem}
@media(max-width:760px){.cards-header{grid-template-columns:1fr auto;padding:13px 15px}.cards-header p{display:none}.cards-brand{font-size:1.25rem}.header-contact{padding:8px 12px}.cards-main{padding:32px 10px 48px}.cards-intro{display:block;padding:0 7px;margin-bottom:31px}.cards-intro .eyebrow{margin-bottom:18px}.cards-intro h1{font-size:clamp(2.6rem,13vw,4.5rem)}.cards-intro>p:last-child{margin:20px 0 0;max-width:330px;font-size:.9rem;line-height:1.6}.masonry{columns:2;column-gap:9px}.story-card{margin-bottom:9px;border-radius:14px}.story-card:hover{transform:none}.card-index{top:10px;left:10px;width:28px;height:28px;font-size:.58rem}.card-copy{right:12px;bottom:13px;left:12px}.card-copy small{margin-bottom:5px;font-size:.58rem}.card-copy strong{font-size:1.25rem}.card-copy>span{display:none}.card-hotel{height:245px}.card-hotel:before{right:-48px;top:25px;width:145px;height:145px;border-width:29px}.card-hotel:after{top:65px;left:12px;font-size:1.28rem}.card-transfer{height:355px}.card-vip{height:205px}.card-vip .star{top:26px;right:14px;font-size:4rem}.card-guide{height:310px}.card-chauffeur{height:270px}.card-contact{height:180px}.cards-footer{display:block;padding:22px 16px}.cards-footer span{display:block}.cards-footer span+span{margin-top:6px}}

/* Dark visual gallery */
.gallery-page{min-height:100vh;padding:0;background:#171817;color:#f2f2ef;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
.gallery-top{display:flex;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,58px);border-bottom:1px solid #ffffff12}.gallery-logo{color:#fff;font-size:1.35rem;font-weight:800;letter-spacing:.04em;text-decoration:none}.gallery-help{color:#b9bab6;font-size:.875rem;text-decoration:none}.gallery-help:hover{color:#fff}
.gallery-main{width:min(1320px,100%);margin:auto;padding:clamp(42px,6vw,78px) clamp(12px,3vw,44px) 72px}.gallery-title{text-align:center;margin-bottom:clamp(36px,5vw,62px)}.gallery-title h1{margin:0;font-size:clamp(1.7rem,3.3vw,3.15rem);font-weight:400;letter-spacing:.015em}.gallery-title p{margin:14px 0 0;color:#858783;font-size:.875rem;letter-spacing:.04em}
.visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,1vw,14px)}.visual-card{position:relative;min-height:300px;overflow:hidden;background:#292b29;color:#fff;text-decoration:none;isolation:isolate;transition:transform .25s ease,filter .25s ease}.visual-card:hover,.visual-card:focus-visible{z-index:2;transform:scale(1.018);filter:brightness(1.08);outline:2px solid #fff;outline-offset:3px}.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.visual-card:hover img{transform:scale(1.05)}.visual-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000000d 30%,#000000bd 100%)}.visual-number{position:absolute;top:18px;left:20px;z-index:3;color:#ffffffad;font-size:.75rem;letter-spacing:.1em}.visual-text{position:absolute;right:20px;bottom:22px;left:20px;z-index:3}.visual-text strong{display:block;font-size:clamp(1.35rem,2vw,2.1rem);font-weight:500;letter-spacing:.02em}.visual-text small{display:block;margin-top:8px;color:#ffffffa8;font-size:.7rem;letter-spacing:.13em}
.hotel-visual{background:radial-gradient(circle at 72% 25%,#ffb678 0 8%,transparent 9%),radial-gradient(circle at 63% 36%,#fb6e78 0 19%,transparent 20%),radial-gradient(circle at 26% 28%,#734ce7 0 16%,transparent 17%),linear-gradient(145deg,#1e1748,#ff5d6f 60%,#ffba56)}.chauffeur-visual{background:linear-gradient(140deg,#bed6d1 0 49.5%,#202522 50% 52%,#779994 52.5%)}.chauffeur-visual:before{content:"";position:absolute;inset:18% 17%;border:1px solid #ffffff73;transform:rotate(-12deg)}.vip-visual{background:radial-gradient(circle at 68% 30%,#f6eee0 0 4%,transparent 4.5%),linear-gradient(145deg,#ece7dd 0 48%,#b7c7bd 48.5% 63%,#4d6259 63.5%);color:#161816}.vip-visual .visual-number,.vip-visual .visual-text small{color:#16181699}.vip-mark{position:absolute;top:18%;right:9%;font-size:clamp(3.8rem,7vw,7.5rem);font-weight:900;letter-spacing:-.08em;opacity:.82;transform:rotate(90deg)}.guide-visual img{object-position:center}.contact-visual{background:linear-gradient(135deg,#463094,#7c49cd 48%,#f4489c)}.contact-visual:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 28px,#ffffff0d 29px 31px)}.contact-symbol{position:absolute;top:18px;right:22px;font-size:2.5rem;font-weight:200}.gallery-footer{display:flex;justify-content:space-between;padding:25px clamp(18px,4vw,58px);border-top:1px solid #ffffff12;color:#797b77;font-size:.75rem;letter-spacing:.08em}

@media(min-width:901px){.guide-visual{grid-column:2}.contact-visual{grid-column:3}}

/* Modernize every service detail page and remove the old phone shell */
body:not(.gallery-page):not(.cards-page){padding:0;background:#171817;color:#ededeb;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}.phone{width:100%;max-width:none;min-height:100vh;margin:0;padding:0;border:0;border-radius:0;background:#171817;box-shadow:none}.brandbar{padding:22px clamp(18px,5vw,70px);border-bottom:1px solid #ffffff16;color:#fff}.brandbar strong{font-size:1.35rem}.brandbar span{color:#8d8f8b;font-size:.75rem}.screen{min-height:0;border:0;border-radius:0;background:#171817;box-shadow:none}.screen:after{display:none}.topbar{display:none}.detail{width:min(1080px,100%);min-height:calc(100vh - 150px);margin:auto;padding:clamp(48px,9vw,118px) clamp(20px,5vw,70px)}.crumb{margin-bottom:42px;color:#a6a8a3;border-bottom:1px solid #666;font-size:.875rem}.detail h1{max-width:850px;color:#fff;font-size:clamp(3rem,8vw,7rem);font-weight:500;line-height:.94}.lead{max-width:720px;color:#a9aba7;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.7}.menu{gap:1px;margin:45px 0;background:#ffffff1c}.menu article{padding:25px;border:0;background:#222321;box-shadow:none}.menu h2{color:#fff;font-size:1.05rem}.menu p{color:#9fa19d}.actions{margin-top:34px}.btn{padding:14px 21px;border:1px solid #fff;background:#fff;color:#171817;box-shadow:none}.btn.alt{border-color:#ffffff52;color:#fff}.btn:hover{background:#d8ff52;color:#111}.note{border-left:3px solid #d8ff52;background:#222321;color:#b9bbb6}.softkeys{display:none}
@media(max-width:900px){.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-card{min-height:300px}}
@media(max-width:560px){.gallery-top{padding:17px 15px}.gallery-main{padding:38px 8px 48px}.gallery-title{padding:0 15px;margin-bottom:32px}.gallery-title h1{font-size:1.55rem;line-height:1.25}.gallery-title p{font-size:.78rem;line-height:1.55}.visual-grid{gap:6px}.visual-card{min-height:215px}.visual-number{top:11px;left:12px;font-size:.65rem}.visual-text{right:12px;bottom:14px;left:12px}.visual-text strong{font-size:1.2rem}.visual-text small{margin-top:5px;font-size:.58rem}.vip-mark{font-size:3.7rem}.gallery-footer{display:block;padding:22px 15px}.gallery-footer span{display:block}.gallery-footer span+span{margin-top:7px}.brandbar{padding:18px}.detail{padding:46px 18px}.detail h1{font-size:3rem}.menu{grid-template-columns:1fr}.actions{display:grid}.btn{text-align:center}}

/* Reorderable service board */
.gallery-main{padding-top:clamp(28px,4vw,52px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:901px){.guide-visual,.contact-visual{grid-column:auto}}
.login-visual{background:linear-gradient(145deg,#1f6f80,#51b9b3)}.login-symbol{position:absolute;top:17%;right:12%;font-size:7rem;font-weight:100;opacity:.5}.board-visual{background:linear-gradient(145deg,#bc482e,#e99c3d)}.board-lines{position:absolute;top:24%;right:12%;width:45%;height:34%;border-top:2px solid #fff8;border-bottom:2px solid #fff8}.board-lines:after{content:"";position:absolute;top:50%;left:0;width:100%;border-top:2px solid #fff8}
.drag-handle{position:absolute;top:12px;right:12px;z-index:8;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffff3d;border-radius:50%;background:#1118;color:#fff;font:700 1.25rem/1 Arial,sans-serif;cursor:grab;touch-action:none;backdrop-filter:blur(8px)}.drag-handle:active{cursor:grabbing}.visual-card.dragging{opacity:.35;transform:scale(.96);outline:2px dashed #fff}.sorting-active{user-select:none}.sorting-active .visual-card{transition:none}
@media(max-width:560px){.gallery-main{padding-top:18px}.drag-handle{top:8px;right:8px;width:34px;height:34px}.login-symbol{font-size:4.6rem}}

/* Member registration and login */
.auth-page{--auth-bg:#171817;--auth-panel:#f1f0eb;--auth-ink:#171817;--auth-muted:#70716d;--auth-line:#d6d5cf;--auth-acid:#d8ff52;min-height:100vh;padding:0;background:var(--auth-bg);color:#f3f3ef;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
.auth-top{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(18px,4vw,58px);border-bottom:1px solid #ffffff14}.auth-logo{color:#fff;text-decoration:none}.auth-logo strong{display:block;font-size:1.35rem;letter-spacing:.04em}.auth-logo span{display:block;margin-top:4px;color:#797b77;font-size:.58rem;letter-spacing:.14em}.auth-back{display:flex;gap:12px;align-items:center;color:#b8b9b5;font-size:.82rem;text-decoration:none}.auth-back:hover,.auth-back:focus-visible{color:#fff}
.auth-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,620px);width:min(1320px,100%);min-height:calc(100vh - 150px);margin:auto;padding:clamp(34px,6vw,84px) clamp(18px,5vw,68px);gap:clamp(45px,8vw,120px);align-items:center}.auth-intro{position:relative;max-width:690px;padding:20px 0}.auth-kicker{margin:0 0 28px;color:#898b86;font-size:.7rem;font-weight:700;letter-spacing:.2em}.auth-intro h1{margin:0;font-size:clamp(3.4rem,7.3vw,7.6rem);font-weight:500;line-height:.91;letter-spacing:-.075em}.auth-summary{max-width:470px;margin:31px 0 0;color:#a9aba6;font-size:1rem;line-height:1.75}.auth-route{display:grid;grid-template-columns:auto minmax(70px,230px) auto;align-items:center;gap:14px;width:min(100%,480px);margin-top:50px;color:#c5c6c1}.route-city{font-size:.67rem;font-weight:800;letter-spacing:.13em}.route-track{position:relative;height:1px;background:#ffffff38}.route-track:before,.route-track:after{content:"";position:absolute;top:50%;width:8px;height:8px;border:1px solid #fff;border-radius:50%;background:#171817;transform:translateY(-50%)}.route-track:before{left:0}.route-track:after{right:0}.route-track i{position:absolute;top:50%;left:37%;width:9px;height:9px;border-radius:50%;background:var(--auth-acid);box-shadow:0 0 0 5px #d8ff521c;transform:translate(-50%,-50%)}.auth-safe{margin:20px 0 0;color:#70726e;font-size:.7rem;letter-spacing:.06em}.auth-safe span{margin-right:8px;color:var(--auth-acid);font-size:.55rem}
.auth-card{position:relative;overflow:hidden;padding:10px 42px 36px;border-radius:24px;background:var(--auth-panel);color:var(--auth-ink);box-shadow:0 28px 80px #00000042}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 -42px 34px;border-bottom:1px solid var(--auth-line)}.auth-tab{position:relative;padding:20px;border:0;background:transparent;color:#8a8a84;font:800 .95rem Arial,"PingFang SC",sans-serif;cursor:pointer}.auth-tab.is-active{color:var(--auth-ink)}.auth-tab.is-active:after{content:"";position:absolute;right:28%;bottom:-1px;left:28%;height:3px;background:var(--auth-ink)}.auth-tab:focus-visible{outline:2px solid #265d65;outline-offset:-5px}.auth-panel[hidden],.auth-tabs[hidden],.auth-social[hidden],.signed-in[hidden]{display:none}.auth-panel.is-active{animation:auth-in .24s ease both}@keyframes auth-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.auth-heading p{margin:0 0 7px;color:#8a8b85;font-size:.62rem;font-weight:800;letter-spacing:.18em}.auth-heading h2{margin:0 0 28px;font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.05em}.auth-form{display:grid;gap:17px}.field{display:grid;gap:8px}.field>span:first-child{font-size:.79rem;font-weight:800}.field input{width:100%;height:51px;padding:0 14px;border:1px solid var(--auth-line);border-radius:9px;outline:0;background:#fff;color:#1a1b19;font:500 1rem Arial,"PingFang SC",sans-serif;transition:border .18s ease,box-shadow .18s ease}.field input:focus{border-color:#385c62;box-shadow:0 0 0 3px #3473831c}.field input[aria-invalid="true"]{border-color:#b32d2d}.field input::placeholder{color:#aaa9a4}.field-error{min-height:0;color:#ac2727;font-size:.72rem;line-height:1.3}.field-error:empty{display:none}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:64px}.password-toggle{position:absolute;top:50%;right:12px;padding:5px;border:0;background:transparent;color:#5d6664;font-size:.72rem;font-weight:800;cursor:pointer;transform:translateY(-50%)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-options{display:flex;align-items:center;justify-content:space-between;gap:15px}.check-row{display:flex;align-items:flex-start;gap:9px;color:#5f605c;font-size:.76rem;line-height:1.45;cursor:pointer}.check-row input{width:16px;height:16px;margin:1px 0 0;accent-color:#1c2320}.check-row a{font-weight:800}.text-button,.reset-back{padding:0;border:0;background:transparent;color:#4f5c59;font-size:.76rem;font-weight:800;text-decoration:underline;cursor:pointer}.terms-row{margin-top:1px}.terms-error{margin-top:-12px}.auth-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;margin-top:3px;padding:0 18px;border:1px solid #191b18;border-radius:9px;background:#191b18;color:#fff;font:800 .9rem Arial,"PingFang SC",sans-serif;cursor:pointer;transition:.2s ease}.auth-submit:hover,.auth-submit:focus-visible{background:#315d65;border-color:#315d65;transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.55;transform:none}.auth-submit.is-loading span:first-child:after{content:"…"}.auth-divider{display:flex;align-items:center;gap:14px;margin:27px 0 17px;color:#92938d;font-size:.68rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--auth-line)}.wechat-button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;padding:11px 16px;border:1px solid var(--auth-line);border-radius:9px;background:transparent;color:#22231f;text-align:left;cursor:pointer}.wechat-button:hover,.wechat-button:focus-visible{border-color:#66a255;background:#eef5e9}.wechat-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#16a34a;color:#fff;font-size:.8rem;font-weight:900}.wechat-button strong,.wechat-button small{display:block}.wechat-button strong{font-size:.82rem}.wechat-button small{margin-top:3px;color:#8a8b85;font-size:.66rem}.reset-back{margin:8px 0 31px}.reset-copy{margin:-15px 0 24px;color:#6c6d68;font-size:.88rem;line-height:1.6}.auth-status{margin:0 0 20px;padding:12px 14px;border-left:3px solid #507078;background:#e3e9e8;color:#2e4b50;font-size:.79rem;line-height:1.5}.auth-status[data-type="error"]{border-color:#b32d2d;background:#f5dfdc;color:#8e2222}.auth-status[data-type="success"]{border-color:#4d8a3c;background:#e2f0dc;color:#35642a}.signed-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:26px;padding:18px;border:1px solid var(--auth-line);border-radius:12px;background:#fff}.signed-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1f6f80;color:#fff;font-weight:900}.signed-in small,.signed-in strong{display:block}.signed-in small{color:#8b8c86;font-size:.65rem}.signed-in strong{margin-top:4px;font-size:.83rem}.signed-in button{border:0;background:transparent;color:#5d625f;font-size:.75rem;font-weight:800;text-decoration:underline;cursor:pointer}.auth-footer{display:flex;justify-content:space-between;padding:23px clamp(18px,4vw,58px);border-top:1px solid #ffffff12;color:#6f716d;font-size:.7rem;letter-spacing:.08em}
@media(max-width:900px){.auth-main{grid-template-columns:1fr;min-height:0;gap:38px}.auth-intro{padding:10px 0 0}.auth-intro h1{font-size:clamp(3.8rem,12vw,7rem)}.auth-summary{margin-top:22px}.auth-route{margin-top:32px}.auth-card{width:min(620px,100%);margin:auto}}
@media(max-width:560px){.auth-top{padding:17px 15px}.auth-main{padding:30px 12px 45px;gap:27px}.auth-intro{padding:0 5px}.auth-kicker{margin-bottom:18px}.auth-intro h1{font-size:clamp(3.15rem,15.5vw,4.8rem)}.auth-summary{font-size:.9rem;line-height:1.6}.auth-route{margin-top:25px}.auth-safe{margin-top:15px}.auth-card{padding:8px 20px 24px;border-radius:17px}.auth-tabs{margin:0 -20px 27px}.auth-tab{padding:17px}.auth-heading h2{margin-bottom:23px;font-size:1.85rem}.auth-form{gap:15px}.field-pair{grid-template-columns:1fr}.form-options{align-items:flex-start}.auth-footer{display:block;padding:20px 15px}.auth-footer span{display:block}.auth-footer span+span{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.auth-panel.is-active{animation:none}.auth-submit{transition:none}}

/* Registration invite accounts */
.invite-block{display:grid;gap:12px;padding:15px;border:1px solid var(--auth-line);border-radius:11px;background:#e9e8e2}
.invite-heading{display:grid;gap:4px}.invite-heading strong{font-size:.82rem}.invite-heading small{color:#74756f;font-size:.69rem;line-height:1.45}
.invite-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.invite-field:last-child{grid-column:1/-1}.invite-field input{text-transform:uppercase}.invite-result{min-height:0;color:#3f7736;font-size:.69rem;line-height:1.3}.invite-result:empty{display:none}.invite-result[data-state="checking"]{color:#74756f}.invite-result[data-state="error"]{color:#ac2727}
@media(max-width:560px){.invite-grid{grid-template-columns:1fr}.invite-field:last-child{grid-column:auto}}

/* Registration account type */
.account-type-block{margin:0;padding:15px;border:1px solid var(--auth-line);border-radius:11px}.account-type-block legend{padding:0 6px;font-size:.79rem;font-weight:800}.account-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.account-type-option{position:relative;display:block;cursor:pointer}.account-type-option input{position:absolute;opacity:0;pointer-events:none}.account-type-option>span{display:grid;gap:5px;min-height:76px;padding:12px;border:1px solid var(--auth-line);border-radius:9px;background:#fff;transition:.18s ease}.account-type-option strong{font-size:.78rem}.account-type-option small{color:#777872;font-size:.65rem;line-height:1.4}.account-type-option input:checked+span{border-color:#315d65;box-shadow:0 0 0 2px #315d6522;background:#eef3f2}.account-type-option input:focus-visible+span{outline:2px solid #315d65;outline-offset:2px}.invite-block[hidden]{display:none}@media(max-width:560px){.account-type-grid{grid-template-columns:1fr}}

/* V5 invitation center */
.invite-page{min-height:100vh;margin:0;background:#171817;color:#f5f5f0;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}.invite-manage{width:min(820px,100%);margin:auto;padding:28px 18px 70px}.invite-manage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.invite-manage-head>a{color:#aaa;text-decoration:none;font-size:.8rem}.invite-manage-head>div{text-align:right}.invite-manage-head strong,.invite-manage-head span{display:block}.invite-manage-head span{margin-top:4px;color:#777;font-size:.6rem;letter-spacing:.14em}.invite-manage-card{padding:32px;border-radius:22px;background:#f4f3ed;color:#1d1e1b}.invite-manage-card h1{margin:0 0 12px;font-size:2.5rem;letter-spacing:-.05em}.invite-manage-copy{margin:0 0 24px;color:#666861;line-height:1.7}.invite-manage-status{margin:0 0 16px;padding:11px 13px;border-left:3px solid #55737a;background:#e2e9e8;font-size:.8rem}.invite-manage-status[data-type="error"]{border-color:#b32d2d;background:#f5dfdc;color:#8e2222}.invite-manage-status[data-type="success"]{border-color:#4d8a3c;background:#e2f0dc;color:#35642a}.invite-generate{display:flex;justify-content:space-between;width:100%;padding:16px 18px;border:0;border-radius:10px;background:#1c1e1b;color:#fff;font-weight:800;cursor:pointer}.invite-generate:disabled{opacity:.5}.invite-current{margin-top:16px;padding:20px;border:1px solid #cfd0c8;border-radius:12px;background:#fff}.invite-current small,.invite-current strong{display:block}.invite-current strong{margin:8px 0;font-size:2.2rem;letter-spacing:.18em}.invite-current p{color:#6c6d67;font-size:.8rem}.invite-current button,.invite-list-head button{border:0;background:transparent;font-weight:800;text-decoration:underline;cursor:pointer}.invite-list-head{display:flex;align-items:center;justify-content:space-between;margin-top:32px}.invite-list-head h2{font-size:1rem}.invite-list{display:grid;gap:9px}.invite-row{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px;border:1px solid #d6d5ce;border-radius:10px;background:#fff}.invite-row strong{font-size:1.1rem;letter-spacing:.12em}.invite-row small{grid-column:1/-1;color:#777;font-size:.68rem;line-height:1.5}.invite-badge{padding:4px 8px;border-radius:999px;background:#e8e8e3;font-size:.65rem;font-weight:800}.invite-badge.valid{background:#e2f0dc;color:#35642a}.invite-badge.used{background:#e2e8ee;color:#38566d}.invite-badge.expired{background:#eee3df;color:#8e4b3d}.invite-empty{color:#777;font-size:.82rem}@media(max-width:560px){.invite-manage-card{padding:22px 18px}.invite-current strong{font-size:1.8rem}}
