/* Illustrated, game-style UI for the home navigation, status HUD and entry cards. */
.hero{background:#f9d8b7 url('/hero-backdrop-v2.png') center 54%/cover no-repeat}
.hero-shade{background:linear-gradient(90deg,rgba(255,249,233,.85) 0%,rgba(255,249,233,.73) 25%,rgba(255,249,233,.25) 48%,rgba(255,249,233,.06) 76%)}
.site-header{background:#ffebbb;border-bottom:5px solid #493f59;box-shadow:0 5px 0 #f1a77a}
.site-header:before{background:linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px),linear-gradient(rgba(180,106,73,.14) 1px,transparent 1px);background-size:18px 18px;opacity:1}
.site-header:after{content:"";position:absolute;inset:auto 0 -5px;height:5px;background:repeating-linear-gradient(90deg,#493f59 0 15px,#6b5571 15px 24px,#493f59 24px 37px);pointer-events:none}
.header-inner{height:82px;gap:22px;position:relative;z-index:1}
.brand{gap:12px;color:#403850}.brand-mark{width:52px;height:52px;background:#377f80;border:4px solid #493f59;box-shadow:5px 5px 0 #ef9c70;transform:rotate(-3deg)}.brand-mark img{width:39px;height:39px}.brand-type strong{font-size:1.12rem;letter-spacing:-.05em;color:#403850}.brand-type strong span{color:#d95d59}.brand-type small{font-size:.64rem;letter-spacing:.12em;color:#796079}
.main-nav{gap:7px}.main-nav a{display:flex;align-items:center;justify-content:center;gap:7px;min-width:113px;height:46px;padding:0 11px;border:3px solid transparent;background:rgba(255,250,225,.45);color:#52425d;box-shadow:inset 0 -4px 0 rgba(148,92,75,.12);font-size:.79rem;letter-spacing:.01em}.main-nav a img,.header-account img{width:20px;height:20px;image-rendering:pixelated;flex:none}.main-nav a:hover,.main-nav a.active{background:#f7a877;border-color:#493e58;color:#392f4d;box-shadow:4px 4px 0 #dda06d}.main-nav a.active:after{height:4px;bottom:-7px;background:#f9d468}
.header-account{display:inline-flex;align-items:center;gap:8px;background:#4c8f8e;color:#fff9df;border:3px solid #493d58;box-shadow:5px 5px 0 #df9573;padding:9px 11px;font-size:.8rem;white-space:nowrap}.header-account:hover{background:#327b7e}.header-account span{margin-left:3px;color:#ffe092}
.status-wrap{grid-template-columns:1fr 1fr 1.4fr;border:5px solid #453951;box-shadow:9px 9px 0 #df9b7e;overflow:visible;background:#453951;margin-top:-39px}
.status-card{position:relative;min-height:118px;border-right:4px solid #453951;padding:20px 25px;background-color:#9fd8c2;background-image:linear-gradient(90deg,rgba(255,255,255,.19) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.19) 1px,transparent 1px),linear-gradient(135deg,#c0e8bf,#78bfba);background-size:18px 18px,18px 18px,auto;box-shadow:inset 0 7px 0 #e4f6c5}.status-card:nth-child(2){background-color:#bbc7ed;background-image:linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(135deg,#d4dcf5,#9bbbe3);box-shadow:inset 0 7px 0 #f0edff}.status-card-action{background-color:#ffd09a;background-image:linear-gradient(90deg,rgba(255,255,255,.19) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.19) 1px,transparent 1px),linear-gradient(135deg,#ffe4ac,#f7ad89);box-shadow:inset 0 7px 0 #fff0be}.status-card:last-child{border-right:0}.status-card:after{content:"";position:absolute;right:16px;bottom:13px;width:29px;height:29px;background:linear-gradient(90deg,transparent 33%,rgba(255,255,255,.5) 33% 66%,transparent 66%),linear-gradient(transparent 33%,rgba(255,255,255,.5) 33% 66%,transparent 66%);opacity:.7;pointer-events:none}.status-card-action:after{right:135px;opacity:.5}.status-icon{width:57px;height:57px;flex:none;border:4px solid #4f4158;border-radius:0;background:#fff2cc;box-shadow:4px 4px 0 rgba(68,55,81,.25)}.status-icon img{width:36px;height:36px}.status-label{color:#554b65;font-size:.72rem;letter-spacing:.04em;font-weight:900}.status-card strong{color:#352f49;font-size:1.18rem;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.status-card-action strong{font-size:1.42rem}.status-card-action button{position:relative;z-index:1;background:#4a7f91;color:#fff9e6;border:3px solid #493e59;box-shadow:5px 5px 0 #d57f6e}.status-card-action button:hover{background:#365e7e;box-shadow:7px 7px 0 #c96f65}
.intro-section{position:relative;margin-top:91px;margin-bottom:104px;padding:74px 34px 54px;border:5px solid #483d57;box-shadow:12px 12px 0 #e3a88c;background:linear-gradient(180deg,rgba(255,246,219,.12) 0,rgba(255,246,219,.48) 130px,#fff3dd 350px),url('/intro-landscape-v2.png') center top/auto 390px no-repeat,#fff3dd;overflow:hidden}
.intro-section:before{content:"";position:absolute;left:0;top:0;width:100%;height:10px;background:repeating-linear-gradient(90deg,#e36f65 0 30px,#f3c16f 30px 60px,#5eac9d 60px 90px,#aa80ad 90px 120px);z-index:1}
.intro-section .section-heading{position:relative;z-index:2;max-width:660px;margin-bottom:46px;padding:18px 23px 22px;background:rgba(255,248,224,.91);border:3px solid #5b4b62;box-shadow:6px 6px 0 rgba(186,111,93,.55)}.intro-section .section-kicker{color:#bd605c;font-size:.75rem}.intro-section .section-heading h2{color:#43394f;text-shadow:3px 3px 0 #ffddb0;font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.18}.intro-section .section-heading h2:after{background:#e78c69;box-shadow:7px 7px 0 #71ac9a}.intro-section .section-heading>p:last-child{color:#5a5060;font-weight:700}
.start-grid{position:relative;z-index:2;gap:18px}.start-card{isolation:isolate;min-height:394px;padding:22px 24px;border:5px solid #453950;border-radius:0;box-shadow:7px 7px 0 #bd7c78;background-size:cover;background-repeat:no-repeat;overflow:hidden;color:#fff7e6;transition:transform .16s,box-shadow .16s}.start-card:hover{transform:translate(-3px,-5px);box-shadow:11px 12px 0 #bd7c78}.start-card-dark{background-image:url('/card-join-v2.png');background-position:66% center}.start-card-yellow{background-image:url('/card-forum-v2.png');background-position:69% center;box-shadow:7px 7px 0 #9b8ac3}.start-card-yellow:hover{box-shadow:11px 12px 0 #9b8ac3}.start-card-light{background-image:url('/card-account-v2.png');background-position:72% center;box-shadow:7px 7px 0 #71adad}.start-card-light:hover{box-shadow:11px 12px 0 #71adad}
.start-card:before{content:"";position:absolute;inset:0;z-index:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(180deg,rgba(26,38,57,.10) 0%,rgba(34,39,59,.14) 36%,rgba(36,31,54,.92) 78%,#302b45 100%);opacity:1}.start-card:after{content:"";position:absolute;left:0;right:0;top:0;width:auto;height:7px;border:0;border-radius:0;background:repeating-linear-gradient(90deg,#ffe0a3 0 18px,#f19b81 18px 36px,#85c8b1 36px 54px);opacity:1}.start-card>span,.start-card>div{position:relative;z-index:1}.card-number{align-self:flex-start;padding:7px 10px;background:#fff4d8;border:3px solid #44384c;box-shadow:3px 3px 0 #e99074;color:#47384c;font-size:.72rem;letter-spacing:.08em;opacity:1}.start-card>div{margin-top:auto;padding-right:18px}.card-symbol{width:53px;height:53px;margin-bottom:10px;border:3px solid #fff4d8;border-radius:0;background:#4d435f;box-shadow:4px 4px 0 #e5a17d;color:#fff4d8}.card-symbol img{width:38px;height:38px}.start-card h3{color:#fff9e8;font-size:1.37rem;margin:0 0 7px;text-shadow:2px 2px 0 #312a45}.start-card p{color:#f1e3d6;font-size:.85rem;line-height:1.55;max-width:290px;min-height:2.8em;text-shadow:1px 1px 0 #312a45;opacity:1}.card-arrow{right:20px;bottom:20px;display:grid;place-items:center;width:29px;height:29px;background:#ffc978;border:2px solid #493951;color:#433348;font-size:1.2rem}
.start-card .card-arrow{position:absolute;right:20px;bottom:20px}
@media(max-width:900px){.header-inner{gap:10px}.brand-type strong{font-size:.96rem}.brand-type small{font-size:.53rem}.main-nav{gap:3px}.main-nav a{min-width:78px;padding:0 5px;font-size:.72rem}.main-nav a img{width:16px;height:16px}.header-account{padding:8px 6px;font-size:.72rem}.status-card{padding:17px 14px}.status-card-action strong{font-size:1.14rem}.intro-section{padding-inline:24px}.start-card{padding:16px;min-height:370px}}
@media(max-width:700px){.site-header{box-shadow:0 3px 0 #e69772}.header-inner{height:auto;min-height:0;padding-top:8px;gap:0}.brand{height:53px;margin-bottom:8px}.brand-mark{width:41px;height:41px;border-width:3px}.brand-mark img{width:31px;height:31px}.brand-type strong{font-size:.9rem}.brand-type small{font-size:.53rem}.site-header .main-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;height:51px;border-top:3px solid #58465f;background:#ffe2a7;padding:0;margin:0}.site-header .main-nav a,.site-header .main-nav .mobile-account{display:flex;min-width:0;height:48px;gap:3px;flex-direction:column;padding:3px 2px 2px;font-size:.66rem;box-shadow:none;border:0;border-right:2px solid #bf9a83;white-space:nowrap}.site-header .main-nav a:last-child{border-right:0}.site-header .main-nav a img{width:19px;height:19px}.main-nav a.active:after{bottom:0;height:3px}.header-account{display:none}.status-wrap{grid-template-columns:1fr 1fr;border-width:4px;margin-top:-23px;box-shadow:6px 6px 0 #df9b7e}.status-card{min-height:91px;padding:12px 8px;gap:7px;border-right-width:3px}.status-card:nth-child(2){border-right:0}.status-icon{width:38px;height:38px;border-width:3px;box-shadow:2px 2px 0 rgba(68,55,81,.25)}.status-icon img{width:27px;height:27px}.status-label{font-size:.59rem;line-height:1.35}.status-card strong{font-size:.84rem}.status-card-action{grid-column:1/-1;min-height:89px;border-top:4px solid #453951;gap:8px}.status-card-action strong{font-size:1.05rem}.status-card-action button{font-size:.67rem;padding:8px 7px;box-shadow:3px 3px 0 #d57f6e}.status-card:after{display:none}.intro-section{width:calc(100% - 32px);margin-top:60px;margin-bottom:80px;padding:25px 14px 27px;border-width:4px;box-shadow:7px 7px 0 #e3a88c;background-size:auto,auto 345px,auto}.intro-section .section-heading{padding:13px 14px 16px;margin-bottom:25px;box-shadow:4px 4px 0 rgba(186,111,93,.55)}.intro-section .section-heading h2{font-size:clamp(1.8rem,7.7vw,2.6rem)}.intro-section .section-heading>p:last-child{font-size:.8rem}.start-grid{grid-template-columns:1fr;gap:16px}.start-card{min-height:315px;padding:16px;background-position:center 44%}.start-card-dark{background-position:68% 46%}.start-card-yellow{background-position:69% 47%}.start-card-light{background-position:71% 48%}.start-card>div{padding-right:20px}.card-symbol{width:47px;height:47px}.card-symbol img{width:33px;height:33px}.start-card h3{font-size:1.25rem}.start-card p{font-size:.81rem}.card-arrow{right:16px;bottom:17px}}
@media(max-width:700px){.hero{background-position:62% center}.hero-shade{background:linear-gradient(180deg,rgba(255,249,233,.9) 0%,rgba(255,249,233,.8) 35%,rgba(255,249,233,.12) 66%)}}

/* Home inventory HUD: flat painted tiles, pixel details, and softer lettering. */
.status-wrap{border-color:#654b50;background:#654b50;box-shadow:8px 8px 0 #d69d7e}
.status-card{min-height:124px;gap:15px;padding:19px 23px;border-right:4px solid #654b50;background-color:#ffebc9;background-image:url('/ui/hud-specks.svg');background-size:64px 64px;box-shadow:inset 0 7px 0 #f4c481,inset 0 -4px 0 #d8b687}
.status-card:nth-child(2){background-color:#e7eccb;background-image:url('/ui/hud-specks.svg');box-shadow:inset 0 7px 0 #b5c99e,inset 0 -4px 0 #bccba4}
.status-card-action{background-color:#ffdfc2;background-image:url('/ui/hud-specks.svg');box-shadow:inset 0 7px 0 #f0ac85,inset 0 -4px 0 #dfb091}
.status-card:after,.status-card-action:after{display:block;left:0;right:0;bottom:0;width:100%;height:22px;background:url('/ui/hud-meadow.svg') left bottom/96px 22px repeat-x;opacity:.75}
.status-card .status-icon{position:relative;z-index:1;width:64px;height:64px;border:3px solid #654b50;background:#fff8e4;box-shadow:4px 4px 0 #d7aa84}
.status-card .status-icon img{width:48px;height:48px;image-rendering:pixelated}
.status-copy{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;gap:4px}
.status-label{color:#77584f;font-family:"Microsoft YaHei", "PingFang SC", sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.01em;line-height:1.5}
.status-card strong{color:#564047;font-family:"Trebuchet MS", "Microsoft YaHei", sans-serif;font-size:1.18rem;font-weight:700;letter-spacing:.015em;line-height:1.35;text-shadow:none}
.status-card-action strong{font-size:1.28rem;white-space:nowrap}
.status-card-action button{z-index:1;display:inline-flex;align-items:center;gap:6px;flex:none;min-height:46px;padding:8px 12px;border:3px solid #654b50;border-radius:0;background:#a76058;color:#fff9e9;box-shadow:inset 0 4px 0 #cf8270,inset 0 -4px 0 #824d50,4px 4px 0 #d79a7c;font-family:"Microsoft YaHei", sans-serif;font-size:.88rem;font-weight:700;text-shadow:none}
.status-card-action button:hover{background:#ba6b5d;box-shadow:inset 0 4px 0 #dd9476,inset 0 -4px 0 #894e51,6px 6px 0 #c7846f}
.pixel-arrow{width:20px;height:20px;flex:none;image-rendering:pixelated}
.status-card-action button .pixel-arrow{filter:brightness(0) invert(1);width:16px;height:16px}
.hero-actions .button{position:relative;min-height:64px;gap:10px;padding:0 16px;border:4px solid #654b50;border-radius:0;font-family:"Microsoft YaHei", "PingFang SC", sans-serif;font-size:1rem;font-weight:700;letter-spacing:.02em;text-shadow:none}
.hero-actions .button:before{content:"";position:absolute;left:4px;top:4px;width:4px;height:4px;background:#fff7de;box-shadow:5px 0 0 #fff7de,0 5px 0 #fff7de}
.hero-actions .button-primary{background:#f4bc72;color:#523d43;box-shadow:inset 0 5px 0 #ffe0a6,inset 0 -5px 0 #d48d62,6px 6px 0 #c98c71}
.hero-actions .button-glass{background:#fff0d1;color:#523d43;box-shadow:inset 0 5px 0 #fffaf0,inset 0 -5px 0 #e2c3a0,6px 6px 0 #c98c71}
.hero-actions .button-primary:hover{background:#ffd08b;box-shadow:inset 0 5px 0 #ffeabb,inset 0 -5px 0 #d99a6f,8px 8px 0 #c98c71}
.hero-actions .button-glass:hover{background:#fff5dc;box-shadow:inset 0 5px 0 #fffdf3,inset 0 -5px 0 #e6caab,8px 8px 0 #c98c71}
.hero-actions .button-icon{width:35px;height:35px;flex:none;padding:2px;border:2px solid #654b50;background:#fff9e8;box-shadow:2px 2px 0 #d5a57c;image-rendering:pixelated}
.hero-actions .pixel-arrow{margin-left:auto}
@media(max-width:900px){.status-card{gap:10px;padding:16px 12px}.status-card .status-icon{width:50px;height:50px}.status-card .status-icon img{width:38px;height:38px}.status-card-action .status-icon{display:none}.status-card-action strong{font-size:1.12rem}}
@media(max-width:700px){.status-wrap{box-shadow:6px 6px 0 #d69d7e}.status-card{min-height:94px;padding:12px 9px;gap:9px}.status-card .status-icon{width:43px;height:43px;border-width:3px;box-shadow:2px 2px 0 #d7aa84}.status-card .status-icon img{width:32px;height:32px}.status-label{font-size:.65rem}.status-card strong{font-size:.88rem}.status-card-action{min-height:100px;padding:11px 9px}.status-card-action strong{font-size:1rem}.status-card-action button{min-height:40px;padding:6px 7px;font-size:.71rem;box-shadow:inset 0 3px 0 #cf8270,inset 0 -3px 0 #824d50,3px 3px 0 #d79a7c}.hero-actions .button{min-height:58px;gap:6px;padding:0 9px;font-size:.85rem;border-width:3px;box-shadow:inset 0 4px 0 #ffe0a6,inset 0 -4px 0 #d48d62,4px 4px 0 #c98c71}.hero-actions .button-icon{width:30px;height:30px}.hero-actions .pixel-arrow{width:18px;height:18px}}

/* Chibi pixel identity shared by the header, footer, and favicon. */
.site-header{background:#ffedc6}
.header-inner{height:90px}
.brand{gap:14px}
.brand-mark,.footer-brand .brand-mark{width:60px;height:60px;flex:none;transform:none;border:4px solid #5b4851;border-radius:0;background:#d8e7bf;box-shadow:5px 5px 0 #eaa078}
.brand-mark img,.footer-brand .brand-mark img{width:52px;height:52px;image-rendering:pixelated}
.brand-type strong{font-family:"Trebuchet MS","Microsoft YaHei",sans-serif;font-size:1.18rem;font-weight:800;letter-spacing:-.025em}
.brand-type strong span{color:#d5695e}
.brand-type small{font-family:"Microsoft YaHei",sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.05em;color:#80625c}
.main-nav{gap:9px}
.main-nav a{min-width:122px;height:58px;gap:8px;padding:0 11px;border:3px solid transparent;background:#fff6dd;color:#614b50;box-shadow:inset 0 -5px 0 #ead6af;font-size:.85rem;font-weight:700}
.main-nav a img,.header-account img{width:30px;height:30px;image-rendering:pixelated;transition:transform .15s}
.main-nav a:hover img,.header-account:hover img{transform:translateY(-2px)}
.main-nav a:hover,.main-nav a.active{border-color:#5d4850;background:#ffcf96;color:#523f49;box-shadow:4px 4px 0 #d79676,inset 0 -5px 0 #eda976}
.header-account{min-height:57px;gap:8px;padding:7px 11px;border-color:#5d4850;background:#77a99b;box-shadow:5px 5px 0 #d79676;font-size:.85rem;font-weight:700}
.header-account:hover{background:#8bbdab}
@media(max-width:900px){.header-inner{gap:8px}.brand-mark{width:53px;height:53px}.brand-mark img{width:45px;height:45px}.brand-type strong{font-size:1rem}.brand-type small{font-size:.54rem}.main-nav{gap:3px}.main-nav a{min-width:85px;height:54px;gap:4px;padding:0 5px;font-size:.72rem}.main-nav a img,.header-account img{width:24px;height:24px}.header-account{min-height:52px;padding:5px 7px;font-size:.72rem}}
@media(max-width:700px){.header-inner{height:auto;padding-top:8px}.brand{height:60px;margin-bottom:8px;gap:9px}.brand-mark{width:48px;height:48px;border-width:3px;box-shadow:3px 3px 0 #eaa078}.brand-mark img{width:42px;height:42px}.brand-type strong{font-size:.98rem}.brand-type small{font-size:.55rem}.site-header .main-nav{height:58px;background:#ffe5ae}.site-header .main-nav a,.site-header .main-nav .mobile-account{height:55px;gap:2px;padding:3px 1px;font-size:.67rem}.site-header .main-nav a img{width:26px;height:26px}.main-nav a:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.main-nav a img,.header-account img{transition:none}}

/* Illustrated labels for the clickable buildings in the 3D island. */
.world-marker{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:3px 7px 3px 3px;border:3px solid #5d4850;background:#fff3d5;color:#55444e;box-shadow:4px 4px 0 #e49b78;font-family:"Microsoft YaHei",sans-serif;font-size:.67rem;font-weight:700;line-height:1;white-space:nowrap}
.world-marker img{width:27px;height:27px;flex:none;padding:1px;border:2px solid #aa8068;background:#ffe3ad;image-rendering:pixelated}
.world-marker:after{content:"";position:absolute;top:100%;left:calc(50% - 4px);width:8px;height:5px;background:#5d4850;box-shadow:0 4px 0 -2px #5d4850}
.world-marker:hover,.world-marker:focus-visible{background:#ffe1a7;box-shadow:6px 6px 0 #d78368}
.world-marker:active{transform:translate(calc(-50% + 3px),calc(-50% + 3px));box-shadow:1px 1px 0 #d78368}
.world-controls{gap:9px;padding:5px 10px 5px 5px;background:#fff3d5;color:#55444e;border-color:#5d4850;box-shadow:5px 5px 0 #e49b78}
.world-controls-orb{width:37px;height:37px;flex:none;border:2px solid #6c5655;background:#d8e8c4;box-shadow:inset 0 -3px 0 #b4d1a8}
.world-controls-orb img{width:31px;height:31px;image-rendering:pixelated}

/* Short, fixed-position pixel sparks survive page navigation without blocking clicks. */
.pixel-click-burst{position:fixed;z-index:9999;width:0;height:0;pointer-events:none}
.pixel-click-burst:before{content:"";position:absolute;left:-8px;top:-8px;width:16px;height:16px;border:3px solid #fff4c9;box-shadow:0 0 0 3px #d78168;animation:pixel-click-ring .45s steps(5,end) forwards}
.pixel-click-burst i{position:absolute;left:-3px;top:-3px;width:7px;height:7px;background:var(--spark);box-shadow:2px 2px 0 #634c52;animation:pixel-click-spark .5s ease-out forwards}
.pixel-click-burst i:nth-child(3n){width:5px;height:5px}
@keyframes pixel-click-ring{to{opacity:0;transform:scale(2)}}
@keyframes pixel-click-spark{to{opacity:0;transform:translate(var(--dx),var(--dy))}}
.main-nav a:active,.header-account:active,.start-card:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #d78368}
.hero-actions .button:active,.status-card-action button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #c98c71}
@media(max-width:700px){.world-marker{display:none}.world-controls{padding:4px 7px 4px 4px;gap:6px}.world-controls-orb{width:30px;height:30px}.world-controls-orb img{width:24px;height:24px}}
.email-code-row{display:flex;align-items:stretch;gap:10px;margin-top:8px}
.auth-form .email-code-row input{min-width:0;flex:1;margin-top:0}
.email-code-row button{flex:none;border:2px solid #65505a;background:#ffe0a0;color:#51414b;box-shadow:4px 4px 0 #d99a76;padding:0 14px;font:inherit;font-weight:800;cursor:pointer}
.email-code-row button:hover:not(:disabled){background:#ffd183;transform:translate(-2px,-2px);box-shadow:6px 6px 0 #d99a76}
.email-code-row button:active:not(:disabled){transform:translate(3px,3px);box-shadow:1px 1px 0 #d99a76}
.email-code-row button:disabled{opacity:.7;cursor:wait}
@media(max-width:430px){.email-code-row{gap:6px}.email-code-row button{padding:0 7px;font-size:.82rem}}

/* Player passport: illustrated paper, pixel stamps, and an interactive skin stage. */
.page-inner[data-page="account"]{background-color:#fff8ea}
.account-layout{grid-template-columns:39% 61%;min-height:690px;border:5px solid #5d4a59;border-radius:0;background:#fffaf0;box-shadow:11px 11px 0 #d9a080;overflow:hidden}
.account-aside{display:flex;padding:0;justify-content:flex-start;background:#f9dbaa;color:#4e4052;border-right:4px solid #5d4a59}
.account-aside:before,.account-aside:after{display:none}
.account-aside-landscape{position:relative;height:270px;flex:none;overflow:hidden;border-bottom:4px solid #5d4a59;background:#f6c897}
.aside-landscape{width:100%;height:100%;object-fit:cover;object-position:70% 61%}
.aside-world-tag{position:absolute;left:16px;top:17px;padding:7px 9px;border:3px solid #554354;background:#fff4cd;box-shadow:4px 4px 0 #d88470;color:#624750;font:800 .68rem Consolas,monospace;letter-spacing:.08em}
.aside-captain{position:absolute;right:0;bottom:-26px;width:170px;height:170px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(5px 5px 0 #635269);transform-origin:50% 80%}
.account-aside-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:35px 38px 27px;background:#fae1b5 url('/ui/hud-specks.svg') 0 0/64px 64px}
.aside-kicker{display:inline-flex;align-items:center;gap:9px;color:#965d64;font-size:.76rem;font-weight:900;letter-spacing:.07em}
.aside-kicker img{width:28px;height:28px;image-rendering:pixelated}
.account-aside h2{margin:17px 0 14px;color:#503d50;font-size:clamp(1.85rem,2.8vw,2.7rem);line-height:1.32;letter-spacing:-.04em;text-shadow:3px 3px 0 #fff3d2}
.account-aside p{max-width:350px;margin:0;color:#69545c;font-size:.93rem;line-height:1.8}
.aside-quest{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:25px 0 24px}
.aside-quest span{min-width:0;padding:10px 5px 8px;border:2px solid #765764;background:#fff2d7;box-shadow:3px 3px 0 #daa683;color:#5b4855;text-align:center;font-size:.72rem;font-weight:800;white-space:nowrap}
.aside-quest b{display:block;margin-bottom:3px;color:#c67868;font:900 1rem Consolas,monospace}
.aside-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:auto;padding-top:14px;border-top:3px dotted #bc8f7c;color:#705666;font-size:.74rem;font-weight:800}
.aside-footer small{color:#875c65;font-size:.65rem;letter-spacing:.06em;white-space:nowrap}
.account-panel{justify-content:flex-start;padding:42px clamp(26px,4vw,55px);background:#fffbf4 url('/ui/hud-specks.svg') 0 0/64px 64px;color:#564451}
.profile-top{align-items:center;padding-bottom:21px;border-bottom:3px solid #e9cfb0}
.profile-top h2{margin:4px 0 3px;color:#4d3c51;font-size:1.8rem;letter-spacing:-.04em;text-shadow:2px 2px 0 #f7dec3}
.profile-top .section-kicker{color:#ad6f6a}
.profile-top #profile-email{margin:0;color:#806777;overflow-wrap:anywhere}
.profile-top .quiet-button{border:2px solid #775967;background:#fff0d6;box-shadow:3px 3px 0 #dba587;color:#674e5c;padding:8px 12px;white-space:nowrap}
.profile-top .quiet-button:hover{background:#ffdfb4;transform:translate(-2px,-2px);box-shadow:5px 5px 0 #dba587}
.binding-card{margin-top:24px;border:4px solid #684e60;border-radius:0;box-shadow:7px 7px 0 #d9aa8c;background:#fff1d6}
.identity-card-heading{display:flex;align-items:center;gap:8px;min-height:57px;padding:8px 16px;border-bottom:3px solid #684e60;background:#ffe0a5;color:#624652;font-size:.98rem;font-weight:900}
.identity-card-heading img{width:32px;height:32px;image-rendering:pixelated}
.identity-card-heading small{margin-left:auto;color:#a46d6b;font:900 .67rem Consolas,monospace;letter-spacing:.09em}
.bound-identity-card{padding:0}
.player-showcase{display:grid;grid-template-columns:44% 56%;min-height:365px}
.player-model-stage{position:relative;height:380px;min-width:0;overflow:hidden;border-right:3px solid #684e60;background:#dceacb url('/ui/hud-specks.svg') 0 0/64px 64px}
.player-model-stage:before{content:"✦";position:absolute;right:17px;top:13px;z-index:1;color:#e59a73;font-size:1.6rem;text-shadow:4px 4px 0 #fff3d3}
.player-model-stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:url('/ui/hud-meadow.svg') left bottom/112px 28px repeat-x;opacity:.85;pointer-events:none}
.player-model-plinth{position:absolute;left:50%;bottom:31px;width:132px;height:23px;transform:translateX(-50%);border:3px solid #728d7c;background:#b4cfa6;box-shadow:0 8px 0 #8fac91,0 12px 0 #688e80}
.player-model-canvas{position:relative;z-index:2;display:block;width:100%;height:100%;cursor:grab;touch-action:none}
.player-model-canvas:active{cursor:grabbing}
.player-model-status{position:absolute;left:18px;right:18px;top:47%;z-index:3;padding:10px;border:2px solid #786075;background:#fff5d8;color:#6e5367;text-align:center;font-size:.8rem;font-weight:800}
.player-model-status[hidden]{display:none}
.player-model-stage.model-unavailable .player-model-canvas{visibility:hidden}
.player-showcase-details{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:25px 23px 19px;background:#fff7e8}
.player-title{color:#bb756b;font:900 .66rem Consolas,monospace;letter-spacing:.08em}
.player-name{max-width:100%;margin:6px 0 8px;color:#4e3c50;font-size:clamp(1.35rem,2.1vw,1.9rem);overflow-wrap:anywhere;text-shadow:2px 2px 0 #f4d4a8}
.player-welcome{margin:0;color:#79606a;font-size:.82rem;line-height:1.65}
.player-identity-meta{display:flex;flex-direction:column;gap:5px;width:100%;margin:17px 0;padding:13px 12px;border:2px solid #d4ad9b;background:#fffdf4;color:#836775;font-size:.72rem}
.player-identity-meta code{display:block;padding:0;border:0;background:none;box-shadow:none;color:#554758;font:700 .69rem Consolas,monospace;overflow-wrap:anywhere}
.player-model-controls{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:auto}
.player-model-controls button{flex:1;min-width:92px;padding:9px 6px;border:2px solid #674e62;background:#e6ebcc;box-shadow:3px 3px 0 #c4a48b;color:#59475b;font:800 .78rem "Microsoft YaHei",sans-serif;cursor:pointer}
.player-model-controls button:hover,.player-model-controls button:focus-visible{background:#f8d49f;transform:translate(-2px,-2px);box-shadow:5px 5px 0 #c4a48b}
.player-model-controls button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #c4a48b}
.player-forum-link{display:inline-block;margin-top:17px;color:#a25e68;font-size:.82rem;font-weight:900;text-decoration:underline;text-underline-offset:4px}
.player-forum-link:hover{color:#704c69}
.player-binding-note{margin:0;padding:10px 16px;border-top:3px solid #684e60;background:#ffebc6;color:#79616a;font-size:.72rem}
.unbound-identity-card{padding:0 24px 27px;background:#fff1d6 url('/ui/hud-specks.svg') 0 0/64px 64px}
.unbound-identity-card .identity-card-heading{margin:0 -24px 22px}
.unbound-identity-card h3{margin:0 0 10px;color:#544253;font-size:1.45rem;text-shadow:2px 2px 0 #ffe2b4}
.unbound-identity-card>p{margin:0;color:#725c65;line-height:1.7}
.bind-quest-steps{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.bind-quest-steps span{padding:7px 9px;border:2px solid #b89284;background:#fffaf0;color:#6e5866;font-size:.76rem;font-weight:800}
.bind-code-slot .button{min-height:47px;font-size:.85rem}
.bind-code-ticket{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;padding:16px;border:3px dashed #b87c71;background:#fff9e9}
.bind-ticket-label{width:100%;color:#8e5962;font-size:.77rem;font-weight:900}
.bind-code-ticket code{padding:8px 10px;border:2px solid #674e62;background:#fff;color:#59465b;font:900 1rem Consolas,monospace;letter-spacing:.03em}
.bind-copy-button{padding:9px 10px;border:2px solid #674e62;background:#e5e9c9;color:#55495d;font-weight:800;cursor:pointer}
.bind-copy-button:hover{background:#d4e5be}
.bind-code-timer{align-self:center;color:#af6664;font-size:.78rem}
.bind-code-ticket p{width:100%;margin:0;color:#785e69;font-size:.74rem;line-height:1.6}
.bind-code-slot>.bind-code-timer{display:block;margin-bottom:10px}
.auth-tabs button{border:2px solid transparent;padding:8px 12px}
.auth-tabs button.active{border-color:#6b5264;background:#ffe4bc;box-shadow:3px 3px 0 #d9a688}
@media(prefers-reduced-motion:no-preference){.aside-captain{animation:aside-captain-bob 3.3s steps(4,end) infinite}@keyframes aside-captain-bob{50%{transform:translateY(-7px) rotate(-2deg)}}}
@media(max-width:900px){.account-layout{grid-template-columns:35% 65%}.account-aside-copy{padding:25px 20px}.aside-quest{grid-template-columns:1fr;gap:5px;margin:17px 0}.aside-quest span{display:flex;align-items:center;gap:10px;text-align:left;padding:5px 8px}.aside-quest b{margin:0}.account-panel{padding:28px}.player-showcase{grid-template-columns:42% 58%}.player-showcase-details{padding:19px 15px}}
@media(max-width:700px){.account-layout{grid-template-columns:1fr;min-height:0;box-shadow:6px 6px 0 #d9a080}.account-aside{display:flex;border-right:0;border-bottom:4px solid #5d4a59}.account-aside-landscape{height:175px}.aside-captain{width:120px;height:120px;bottom:-18px}.account-aside-copy{padding:18px 19px}.account-aside h2{margin:8px 0;font-size:1.65rem}.account-aside p{font-size:.8rem;line-height:1.55}.aside-kicker{font-size:.66rem}.aside-quest{grid-template-columns:repeat(3,1fr);margin:15px 0;gap:5px}.aside-quest span{display:block;text-align:center;font-size:.63rem;white-space:normal}.aside-quest b{margin-bottom:2px}.aside-footer{padding-top:10px}.account-panel{padding:23px 18px 28px}.player-showcase{grid-template-columns:1fr}.player-model-stage{height:330px;border-right:0;border-bottom:3px solid #684e60}.player-showcase-details{padding:20px}.player-model-controls{margin-top:10px}.profile-top h2{font-size:1.45rem}.identity-card-heading{font-size:.83rem}}

/* Field-note composer and the server's own block-face emotes. */
.forum-dialog{border:5px solid #785a61;background:#fff9ea url('/ui/hud-specks.svg') 0 0/64px 64px;box-shadow:10px 10px 0 #d8a28a}
.forum-dialog .dialog-top{margin:-27px -27px 22px;padding:15px 20px;border-bottom:3px solid #785a61;background:#ffe2af}
.forum-dialog .dialog-top button{border:2px solid #785a61;background:#fff5da;box-shadow:3px 3px 0 #d99b7c;color:#644b58}
.forum-dialog h2{margin:0 0 20px;color:#594353;text-shadow:2px 2px 0 #f6d7ad}
.forum-post-form>label{color:#69505a}
.forum-compose-heading{display:flex;align-items:baseline;gap:10px;margin:3px 0 9px;color:#72505d;font-size:.86rem;font-weight:900}
.forum-compose-heading small{color:#a27b6d;font-size:.7rem;font-weight:500}
.forum-emote-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.forum-emote-button{display:grid;place-items:center;width:43px;height:43px;padding:4px;border:2px solid #9a7580;background:#fff1d3;box-shadow:3px 3px 0 #e3bd9a;cursor:pointer}
.forum-emote-button:hover,.forum-emote-button:focus-visible{background:#ffe0a8;transform:translate(-2px,-2px);box-shadow:5px 5px 0 #dba485}
.forum-emote-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #dba485}
.forum-emote-button img{width:31px;height:31px;image-rendering:pixelated}
.forum-composer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:5px 0 12px}
.forum-upload-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;margin:0!important;padding:8px 13px;border:2px solid #785a61;background:#d8e6c5;box-shadow:3px 3px 0 #c9a78b;color:#58495a!important;cursor:pointer}
.forum-upload-button:hover{background:#c9e2b6}
.forum-upload-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.forum-composer-tools small{color:#927876;font-size:.7rem}
.forum-image-preview{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.forum-image-preview-item{position:relative;width:105px;height:82px;border:3px solid #785a61;background:#f4e5ca;box-shadow:4px 4px 0 #ddbea0}
.forum-image-preview-item img{width:100%;height:100%;object-fit:cover}
.forum-image-preview-item button{position:absolute;top:-9px;right:-9px;width:25px;height:25px;border:2px solid #785a61;background:#ffe1c2;color:#694b58;font-size:1.1rem;font-weight:900;cursor:pointer}
.forum-inline-emote{display:inline-block;width:30px;height:30px;margin:0 2px;vertical-align:middle;image-rendering:pixelated}
.forum-post-thumb{display:block;width:100%;max-height:155px;margin:8px 0 14px;border:3px solid #b28e80;object-fit:cover;image-rendering:auto}
.forum-image-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:8px 0 23px}
.forum-image-gallery a{display:block;min-width:0;border:3px solid #8a6b74;background:#f8e8ce;box-shadow:4px 4px 0 #ddbea0}
.forum-image-gallery img{display:block;width:100%;max-height:270px;object-fit:contain}
.forum-reply-emotes{margin:0}
.forum-reply-emotes .forum-emote-button{width:36px;height:36px;padding:2px}
.forum-reply-emotes img{width:26px;height:26px}
@media(max-width:700px){.forum-dialog .dialog-top{margin:-17px -17px 18px;padding:12px 14px}.forum-emote-button{width:39px;height:39px}.forum-emote-button img{width:28px;height:28px}.forum-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.checkin-card{margin-top:24px;border:4px solid #75586a;background:#fff7dc;box-shadow:6px 6px 0 #dca986;color:#59475c}
.checkin-heading{display:flex;justify-content:space-between;gap:10px;padding:11px 17px;border-bottom:3px solid #75586a;background:#f4c58a;font-size:.75rem;font-weight:900;letter-spacing:.1em}
.checkin-body{padding:20px;background:repeating-linear-gradient(0deg,transparent 0 31px,#f2e5c9 31px 32px),#fff7dc}
.checkin-star{color:#ae6956;font-size:.74rem;font-weight:900;letter-spacing:.08em}
.checkin-story h3{margin:7px 0;font-size:1.5rem;color:#59445b;text-shadow:2px 2px #f2ca9d}.checkin-story p{line-height:1.7;font-size:.86rem}.checkin-story code{padding:2px 5px;background:#f6d7a4}
.checkin-rewards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.checkin-rewards>div{display:flex;align-items:center;gap:10px;border:3px solid #9b7280;background:#f8deb4;padding:9px;box-shadow:3px 3px #dfb78c}.checkin-rewards img{width:48px;height:48px;image-rendering:pixelated}.checkin-rewards span{display:grid;gap:3px}.checkin-rewards small{font-size:.66rem;overflow-wrap:anywhere}
.checkin-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.checkin-actions button:disabled{opacity:.74;cursor:default}.checkin-message{min-height:1.4em;font-size:.78rem;color:#866075}.checkin-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.checkin-tile{padding:7px 2px;border:2px solid #b6939a;background:#f5e8d2;text-align:center;font-size:.64rem}.checkin-tile.checked{border-color:#8c7864;background:#e9c882;color:#624655;font-weight:900}
@media(max-width:700px){.checkin-rewards{grid-template-columns:1fr}.checkin-week{grid-template-columns:repeat(7,minmax(0,1fr))}.checkin-tile{font-size:.56rem}}

/* Home bulletin displays the full official announcement in place. */
.home-notice-board{margin-top:43px;border:5px solid #5b4758;background:#fff7e3 url('/ui/hud-specks.svg') 0 0/64px 64px;box-shadow:9px 9px 0 #dfad8b;color:#574258}
.home-notice-head{display:flex;align-items:center;gap:17px;padding:18px 23px;border-bottom:4px solid #5b4758;background:#f5c893}
.home-notice-icon{display:grid;place-items:center;flex:none;width:57px;height:57px;border:3px solid #5b4758;background:#fff4d5;box-shadow:4px 4px 0 #d98d78}
.home-notice-icon img{width:42px;height:42px;image-rendering:pixelated}
.home-notice-kicker{margin:0 0 3px;color:#8c515c;font-size:.68rem;font-weight:900;letter-spacing:.12em}
.home-notice-head h2{margin:0;font-size:1.5rem;line-height:1.25;color:#4f4057;text-shadow:2px 2px 0 #fff0cf}
.home-notice-head-mark{margin-left:auto;color:#8c515c;font:.75rem Consolas,monospace;font-weight:900;letter-spacing:.1em}
.home-notice-feature{display:flex;align-items:flex-start;gap:14px;padding:16px 23px;border-bottom:3px dashed #caa583;background:#ffe9bf}
.home-notice-feature[hidden]{display:none}
.home-notice-feature strong{flex:none;padding:5px 8px;border:2px solid #835264;background:#df866c;color:#fff8e5;font-size:.75rem;white-space:nowrap}
.home-notice-feature p{margin:0;padding-top:4px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.87rem;font-weight:700}
.home-notice-list{display:grid;gap:16px;padding:20px 22px}
.home-notice-entry{padding:20px;border:3px solid #aa8376;background:#fffaf0;box-shadow:5px 5px 0 #e6c29f}
.home-notice-entry-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:2px dashed #d9bca2}
.home-notice-entry h3{flex:1;min-width:150px;margin:0;color:#594257;font-size:1.17rem;line-height:1.45;overflow-wrap:anywhere}
.home-notice-badge{flex:none;padding:4px 7px;border:2px solid #8d6d67;background:#ebdbbc;color:#6c4c4e;font-size:.68rem;font-weight:900}
.home-notice-entry:first-child .home-notice-badge{background:#f3b98d}
.home-notice-entry time{color:#9b785f;font-size:.72rem;white-space:nowrap}
.home-notice-body{margin:15px 0 0;color:#5d4b46;font-size:.92rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.home-notice-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:17px}
.home-notice-gallery img{display:block;width:100%;max-height:360px;object-fit:contain;box-sizing:border-box;border:3px solid #b58b76;background:#f6e6cd;image-rendering:auto}
.home-notice-empty{margin:0;padding:16px 11px;color:#826b66;font-size:.86rem}
@media(max-width:700px){.home-notice-board{margin-top:32px;border-width:4px;box-shadow:6px 6px 0 #dfad8b}.home-notice-head{gap:10px;padding:13px;border-bottom-width:3px}.home-notice-icon{width:42px;height:42px;box-shadow:2px 2px 0 #d98d78}.home-notice-icon img{width:31px;height:31px}.home-notice-head h2{font-size:1.13rem}.home-notice-kicker{font-size:.53rem;letter-spacing:.05em}.home-notice-head-mark{display:none}.home-notice-feature{display:block;padding:12px 14px}.home-notice-feature p{padding-top:8px}.home-notice-list{gap:12px;padding:11px}.home-notice-entry{padding:13px;box-shadow:3px 3px 0 #e6c29f}.home-notice-entry-head{gap:7px}.home-notice-entry h3{min-width:0;font-size:1rem}.home-notice-entry time{width:100%;padding-left:0;font-size:.67rem}.home-notice-body{font-size:.84rem}.home-notice-gallery{grid-template-columns:1fr}.home-notice-gallery img{max-height:280px}}