.panel-loading,.panel-error,.panel-empty{min-height:230px;display:grid;place-items:center;text-align:center;border:3px dashed #9ba497;background:#e4e6d3;padding:30px}.panel-loading span{display:block;width:45px;height:45px;background:#63ac45;border:5px solid #25343b;box-shadow:inset -9px -9px rgba(0,0,0,.2);animation:api-spin 1.2s steps(4) infinite;margin:0 auto 15px}.panel-error b{display:block;color:#b83c35;font-size:18px;margin-bottom:8px}.panel-error button{margin-top:16px}.api-meta{font:9px var(--pixel);color:#63716b}.api-group{margin:22px 0}.api-group h4{margin:0 0 10px;font-size:14px}.leaderboard-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.leaderboard-groups .pixel-table th,.leaderboard-groups .pixel-table td{padding:9px 7px}.rarity{display:inline-block;border:2px solid #27353c;padding:3px 6px;font-size:9px;font-weight:900}.rarity.legendary{background:#ffcb45}.rarity.epic{background:#b875dd}.rarity.rare{background:#63aee0}.rarity.common{background:#c7cbc2}.player-summary{display:grid;grid-template-columns:90px 1fr;gap:18px}.profile-details{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.profile-details span{background:#e8ead8;border:2px solid #bcc3b4;padding:9px;font-size:10px}.profile-details b{display:block;color:#2e7d47;font-size:15px;margin-top:4px}.owned-titles{margin-top:14px;font-size:11px;color:#59645f}.shop-toolbar{display:flex;gap:10px;align-items:end;margin-bottom:18px}.shop-toolbar label{flex:1;font-size:11px;font-weight:900}.shop-toolbar input,.bind-form input{width:100%;margin-top:6px;border:3px solid #26343a;background:#fff;padding:10px}.shop-item{display:flex;flex-direction:column}.shop-item .price{margin-top:auto;padding-top:10px}.shop-item button{margin-top:10px;border:3px solid #26343a;background:#f4cd48;padding:8px;font-weight:900}.bind-workspace{background:#fffbed;border:3px solid #29373e;padding:20px}.bind-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.bind-form button{height:43px;border:3px solid #26343a;background:#63ac45;color:#fff;font-weight:900;padding:0 15px}.generated-code{text-align:center;margin:18px 0;padding:20px;border:3px dashed #66736d;background:#edf0db}.generated-code b{display:block;font:24px var(--pixel);letter-spacing:5px;margin:8px}.purchase-result{margin-top:12px;padding:10px;border:2px solid #4e8c49;background:#e1f0d5}.login-user{font-size:11px;color:#2e7044;font-weight:900}@keyframes api-spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.leaderboard-groups{grid-template-columns:1fr}.profile-details{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.player-summary{grid-template-columns:1fr}.shop-toolbar,.bind-form{grid-template-columns:1fr;display:grid}.profile-details{grid-template-columns:1fr 1fr}}
.candidate-list{display:grid;gap:8px;margin:14px 0}.candidate-list button{display:flex;justify-content:space-between;align-items:center;gap:10px}.candidate-list button small{font-size:9px;color:#c8d2c9}.profile-card .api-meta{word-break:break-all;line-height:1.7;margin:6px 0 0}.toast[popover]{inset:auto;left:50%;bottom:35px;margin:0;overflow:visible;width:auto;height:auto}.profile-page{background:#eef0dd;min-height:100vh}.profile-page .site-header{position:sticky;background:rgba(117,194,239,.92)}.profile-main{max-width:900px;margin:0 auto;padding:40px 20px 70px;color:#243239}.profile-main .panel-heading h3{font:34px "ZCOOL KuaiLe";margin:0}.profile-main #profileResult{margin-top:18px}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.admin-nav button{border:3px solid #26343a;background:#f2edd7;padding:10px 16px;font-weight:900;cursor:pointer}.admin-nav button.active{background:#2e7d47;color:#fff}.admin-subtitle{font:24px "ZCOOL KuaiLe";margin:26px 0 10px}.admin-table-wrap{overflow-x:auto;border:3px solid #29373e;background:#fffbed}.admin-table-wrap td,.admin-table-wrap th{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.admin-actions{display:flex;gap:6px}.admin-actions .pixel-button{padding:6px 10px;font-size:10px}.admin-form{margin-top:12px}.admin-form textarea{width:100%;margin-top:6px;border:3px solid #26343a;background:#f2edd7;padding:12px;outline:0;font:inherit}.admin-stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.nav-logout{margin-left:8px}.news-detail{background:#fffbed;border:3px solid #29373e;padding:18px;line-height:1.9;font-size:13px}.news-detail p{margin:0 0 10px}.news-image{display:block;max-width:100%;margin:12px 0;border:3px solid #29373e;image-rendering:auto}.town-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px}.town-card{background:#fffbed;border:3px solid #29373e;padding:14px;box-shadow:4px 4px 0 rgba(41,55,62,.25)}.town-card header{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:2px dashed #bcc3b4;padding-bottom:8px;margin-bottom:10px}.town-card h5{font:18px "ZCOOL KuaiLe";margin:0}.town-nation{font-size:9px;font-weight:900;background:#63aee0;border:2px solid #27353c;padding:3px 6px;white-space:nowrap}.town-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11px}.town-card ul b{display:block;font-size:9px;color:#63716b}.town-flags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.town-flags i{font-style:normal;font-size:9px;font-weight:900;border:2px solid #27353c;padding:2px 6px;background:#c7cbc2}.town-flags i.on{background:#8fce6d}.town-board{margin:10px 0 0;font-size:10px;color:#59645f;border-top:2px dashed #bcc3b4;padding-top:8px;word-break:break-all}

.resource-group,.terminal-group{margin:10px 0 4px;padding:0 10px;font:8px var(--pixel);color:#8a9a92;letter-spacing:1px}.terminal-group{color:#6c8189}.terminal-nav .terminal-group:first-child{margin-top:0}.sub-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.sub-tabs button{border:3px solid #26343a;background:#f2edd7;padding:8px 16px;font-weight:900;cursor:pointer}.sub-tabs button.active{background:#2e7d47;color:#fff}.leaderboard-groups.two{grid-template-columns:repeat(2,1fr)}@media(max-width:850px){.leaderboard-groups.two{grid-template-columns:1fr}}.town-card{cursor:pointer}.town-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(41,55,62,.3)}.town-more{display:block;margin-top:10px;font-size:10px;font-weight:900;color:#2e7d47}.town-detail{background:#fffbed;border:3px solid #29373e;padding:18px;margin-bottom:18px}.town-detail header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.town-detail h4{margin:0;font:26px 'ZCOOL KuaiLe'}.town-detail-sub{margin:16px 0 6px;font-size:13px}.town-residents{margin:0;font-size:12px;line-height:1.9;color:#4c5a54}.recruit-editor{background:#fffbed;border:3px solid #29373e;padding:18px;margin-bottom:6px}.recruit-editor h4{margin:0 0 12px;font:22px 'ZCOOL KuaiLe'}.recruit-editor label{display:block;margin-bottom:12px;font-size:11px;font-weight:900}.recruit-editor input,.recruit-editor select,.recruit-editor textarea{width:100%;margin-top:6px;border:3px solid #26343a;background:#fff;padding:10px;font:inherit}.recruit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:13px}.recruit-card{background:#fffbed;border:3px solid #29373e;padding:14px;box-shadow:4px 4px 0 rgba(41,55,62,.25)}.recruit-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.recruit-card h5{margin:0;font:20px 'ZCOOL KuaiLe'}.recruit-card small{font-size:9px;color:#7e8a84}.recruit-card p{margin:0 0 12px;font-size:12px;line-height:1.9}.guide-steps{display:grid;gap:14px}.guide-step{background:#fffbed;border:3px solid #29373e;padding:18px}.guide-step h4{margin:6px 0 8px;font:22px 'ZCOOL KuaiLe'}.guide-step-no{display:inline-block;background:#2e7d47;color:#fff;padding:4px 8px;font:8px var(--pixel)}.guide-step p,.guide-step li{font-size:13px;line-height:1.9}.guide-step ul,.guide-step ol{margin:8px 0 0;padding-left:20px}.guide-step code{background:#e8ead8;border:2px solid #bcc3b4;padding:2px 6px}.guide-warn{display:block;margin-top:6px;color:#b83c35;font-weight:900}.guide-tip{color:#2e7d47;font-weight:900}.guide-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.guide-cards article{background:#f2edd7;border:3px solid #29373e;padding:14px}.guide-cards b{display:block;margin-bottom:6px}.guide-cards p{margin:0 0 8px}.guide-tip-box{border-style:dashed}@media(max-width:700px){.guide-cards{grid-template-columns:1fr}}

.guide-section{background:#f2edd7}.guide-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:10px}.guide-preview article{background:#fffbed;border:3px solid #29373e;padding:16px;box-shadow:4px 4px 0 rgba(41,55,62,.25)}.guide-preview span{display:inline-block;background:#2e7d47;color:#fff;padding:4px 8px;font:8px var(--pixel)}.guide-preview b{display:block;margin:10px 0 6px;font:20px 'ZCOOL KuaiLe'}.guide-preview small{font-size:12px;line-height:1.8;color:#5a665f}.guide-cta{margin-top:22px;text-align:center}@media(max-width:950px){.guide-preview{grid-template-columns:1fr 1fr}}@media(max-width:520px){.guide-preview{grid-template-columns:1fr}}

.data-main{max-width:1150px;margin:0 auto;padding:34px 20px 70px;color:#243239}.page-heading{border-bottom:3px solid #29373e;padding-bottom:18px;margin-bottom:20px}.page-heading h1{margin:6px 0;font:44px 'ZCOOL KuaiLe'}.page-heading p:last-child{margin:0;color:#69736e;font-size:13px}.data-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.data-tabs button{border:3px solid #26343a;background:#f2edd7;padding:10px 18px;font-weight:900;cursor:pointer}.data-tabs button.active{background:#2e7d47;color:#fff}.data-stats{margin-bottom:18px}.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.guide-toc a{border:3px solid #26343a;background:#f2edd7;padding:9px 14px;font-size:12px;font-weight:900;text-decoration:none;color:#243239}.guide-toc a:hover{background:#2e7d47;color:#fff}.guide-step{scroll-margin-top:90px}.inline-copy{border:2px solid #26343a;background:#e8ead8;padding:2px 8px;font:inherit;font-weight:900;cursor:pointer}.isp-select{border:2px solid #26343a;background:#fff;padding:2px 6px;font:inherit;font-weight:900;cursor:pointer}.inline-copy:hover{background:#2e7d47;color:#fff}.terminal-external{display:flex;align-items:center;gap:12px;padding:11px 10px;color:#9db0b6;text-decoration:none;font-size:15px}.terminal-external span{font-size:12px;font-weight:800}.terminal-external:hover{background:#3c535d;color:#fff}.data-section{background:#f2edd7}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:10px}.preview-grid article{background:#fffbed;border:3px solid #29373e;padding:14px;box-shadow:4px 4px 0 rgba(41,55,62,.25)}.preview-grid h4{margin:0 0 10px;font:18px 'ZCOOL KuaiLe'}.preview-list{margin:0;padding:0;list-style:none;counter-reset:rank}.preview-list li{counter-increment:rank;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;border-bottom:2px solid #e4e6d3;font-size:12px}.preview-list li:last-child{border-bottom:0}.preview-list li::before{content:counter(rank);flex:0 0 18px;font:8px var(--pixel);color:#8a9a92}.preview-list span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-list b{color:#2e7d47;white-space:nowrap}@media(max-width:950px){.preview-grid{grid-template-columns:1fr 1fr}.page-heading h1{font-size:34px}}@media(max-width:520px){.preview-grid{grid-template-columns:1fr}.data-tabs button{flex:1;padding:9px 10px;font-size:12px}}

.nav-links .nav-login,.nav-links a.nav-login{margin-left:8px;padding:10px 14px;background:#f8f1d2;border:3px solid #293641;box-shadow:4px 4px 0 #2a6e8b;color:#203443;text-decoration:none;font-weight:800;font-size:14px;line-height:1.2;align-self:center;cursor:pointer}.nav-links .nav-login:after,.nav-links a.nav-login:after{content:none}.nav-links .nav-login:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:5px 5px 0 #2a6e8b}.nav-links .nav-login.login-user{background:#d8efc4;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-links .nav-logout{background:#f3d8d3;box-shadow:4px 4px 0 #8b4a42}.nav-links .nav-logout:hover{background:#fff;box-shadow:5px 5px 0 #8b4a42}@media(max-width:900px){.nav-links .nav-login,.nav-links a.nav-login{margin-left:2px;padding:8px 10px;font-size:12px;white-space:nowrap}}

.muted{color:#8c968f;font-style:normal;font-size:11px}
.pixel-table tr[data-nation],.pixel-table tr[data-town]{cursor:pointer}.pixel-table tr[data-nation]:hover,.pixel-table tr[data-town]:hover{background:#e2eed6}.pixel-table tr[data-nation]:focus-visible,.pixel-table tr[data-town]:focus-visible{outline:3px solid #2e7d47;outline-offset:-3px}

.brand-logo{width:43px;height:43px;display:block;border:4px solid #20303b;box-shadow:3px 3px 0 rgba(20,36,51,.3);image-rendering:pixelated;object-fit:cover;background:#141c33}.footer-brand .brand-logo{box-shadow:none}@media(max-width:900px){.brand-logo{width:38px;height:38px;border-width:3px}}

.beian{display:inline-flex;align-items:center;gap:6px}.beian img{display:block;flex:none}.beian a{color:inherit;text-decoration:none}
