:root{--bg:#0b0b12;--panel:#171522;--panel2:#201b2e;--text:#f7f2e8;--muted:#b7ad9f;--gold:#f4b54a;--red:#c83e3e;--green:#37b26c;--border:rgba(255,255,255,.1)}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#251b36,#0b0b12 46%,#07070b);color:var(--text);min-height:100vh}
a{color:inherit;text-decoration:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px min(6vw,72px);border-bottom:1px solid var(--border);background:rgba(8,8,13,.72);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{font-weight:900;font-size:22px;color:var(--gold);letter-spacing:.08em}.topbar nav{display:flex;gap:10px;flex-wrap:wrap}.topbar nav a{padding:9px 14px;border-radius:999px;color:var(--muted)}.topbar nav a.active,.topbar nav a:hover{background:rgba(244,181,74,.16);color:var(--gold)}
main{width:min(1120px,92vw);margin:0 auto;padding:42px 0 28px}.hero{display:grid;grid-template-columns:1.6fr .8fr;gap:28px;align-items:center;padding:42px;border:1px solid var(--border);border-radius:30px;background:linear-gradient(135deg,rgba(32,27,46,.94),rgba(18,16,27,.9));box-shadow:0 24px 90px rgba(0,0,0,.35)}.eyebrow{margin:0 0 10px;color:var(--gold);font-weight:800;letter-spacing:.12em}.hero h1,.page-head h1{font-size:clamp(40px,7vw,82px);line-height:1;margin:0 0 18px}.hero p,.page-head p{color:var(--muted);font-size:17px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:1px solid var(--border);background:rgba(255,255,255,.06);color:var(--text);border-radius:14px;padding:10px 16px;font-weight:800;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#ffcc62,#d8911b);color:#160f07;border:0}.btn.danger{background:rgba(200,62,62,.14);border-color:rgba(200,62,62,.38);color:#ff9c9c}.btn:hover{filter:brightness(1.08)}.grid{display:grid;gap:20px;margin-top:22px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card,.panel{border:1px solid var(--border);border-radius:24px;background:rgba(23,21,34,.88);padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.24)}.card h2{margin-top:0;color:var(--gold)}.metric span{color:var(--muted);display:block;margin-bottom:8px}.metric strong{font-size:48px;line-height:1;color:#fff}.metric small{display:block;color:var(--muted);margin-top:8px}.page-head{margin-bottom:24px}.form-card form{display:grid;gap:16px}.form-card label{display:grid;gap:8px;color:var(--muted);font-weight:700}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:#0d0c14;color:var(--text);font:inherit}textarea{resize:vertical;min-height:110px}code{background:#0d0c14;border:1px solid var(--border);border-radius:8px;padding:2px 6px;color:#ffe09a}.flash{padding:14px 16px;margin-bottom:16px;border-radius:14px;font-weight:800}.flash.success{background:rgba(55,178,108,.14);border:1px solid rgba(55,178,108,.3)}.flash.error{background:rgba(200,62,62,.14);border:1px solid rgba(200,62,62,.3)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px;border-bottom:1px solid var(--border);text-align:left}th{color:var(--gold)}.badge{padding:4px 10px;border-radius:999px;font-size:13px;font-weight:900}.badge.ok{background:rgba(55,178,108,.16);color:#7cf0a9}.badge.bad{background:rgba(200,62,62,.16);color:#ff9a9a}.announcement{border:1px solid var(--border);border-radius:18px;padding:18px;margin:14px 0;background:rgba(255,255,255,.035)}.announcement.important{border-color:rgba(244,181,74,.42)}.announcement.maintenance{border-color:rgba(200,62,62,.42)}.announcement h3{margin:0;color:#fff}.announcement time{color:var(--muted);font-size:14px}.announcement p{color:var(--muted);line-height:1.7}.announcement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.captcha-box{margin:4px 0 8px}.online-players{margin-top:22px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.section-title h2{margin:0;color:var(--gold)}.section-title p{margin:8px 0 0;color:var(--muted)}.empty-row{text-align:center;color:var(--muted);padding:24px}.online-players td:first-child{font-weight:900;color:#fff}
footer{text-align:center;color:var(--muted);padding:28px}@media(max-width:760px){.topbar{display:block}.brand{display:block;margin-bottom:12px}.hero,.grid.two,.grid.three{grid-template-columns:1fr}.hero{padding:24px}.metric strong{font-size:36px}.announcement-head{display:block}.announcement-head form{margin-top:12px}}
.captcha-status{color:var(--muted);font-size:14px;margin-bottom:10px}.captcha-fallback{margin-top:10px;padding:12px;border:1px dashed var(--border);border-radius:14px;background:rgba(255,255,255,.035)}.captcha-fallback p{margin:0 0 10px;color:var(--muted)}.local-captcha{margin-top:8px}

.muted{color:var(--muted);font-size:14px}

.launcher-line { margin-top: 14px; }
.download-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}
.download-link:hover { transform: translateY(-1px); }

/* 在线玩家图标列 */
.icon-cell{width:68px;text-align:center;vertical-align:middle}
.wow-icon{width:26px;height:26px;border-radius:5px;image-rendering:auto;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 4px 12px rgba(0,0,0,.35)}
.icon-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted);font-size:12px;font-weight:800}
.online-players td:nth-child(4){font-weight:900;color:#fff}
.online-players td:nth-child(5){color:var(--muted);white-space:nowrap}
@media(max-width:760px){.icon-cell{width:52px}.wow-icon{width:24px;height:24px}.online-players td:nth-child(5){white-space:normal}}

/* 在线玩家表格：只保留稳定可读取字段，列距均匀 */
.online-players .table-wrap{overflow-x:auto}
.online-players table{min-width:560px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.online-players th,.online-players td{padding:15px 22px;vertical-align:middle;white-space:nowrap}
.online-players th:nth-child(1),.online-players td:nth-child(1){width:40%}
.online-players th:nth-child(2),.online-players td:nth-child(2){width:20%;text-align:center}
.online-players th:nth-child(3),.online-players td:nth-child(3){width:20%;text-align:center}
.online-players th:nth-child(4),.online-players td:nth-child(4){width:20%;text-align:center}
.online-players .icon-cell{width:auto;text-align:center}
.online-players .level-cell{font-weight:900;color:#fff;text-align:center}
.online-players .offline-row{color:#ff9c9c;font-weight:900;letter-spacing:.08em}
@media(max-width:760px){.online-players table{min-width:520px}.online-players th,.online-players td{padding:12px 14px}}

/* 首页精简版：主视觉改为 WLK 图标，移除冗余说明与按钮 */
.hero.hero-compact{grid-template-columns:1.2fr .8fr;min-height:260px}
.wlk-logo-wrap{display:flex;align-items:center;justify-content:center;min-height:210px}
.wlk-logo{width:min(300px,70vw);max-height:240px;filter:drop-shadow(0 18px 45px rgba(88,190,255,.24)) drop-shadow(0 0 22px rgba(244,181,74,.15))}
.launcher-download-row{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:800}
.launcher-download-row span{color:#fff;letter-spacing:.02em}
.launcher-icon-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:rgba(244,181,74,.16);border:1px solid rgba(244,181,74,.38);color:var(--gold);transition:transform .15s ease,filter .15s ease}
.launcher-icon-link:hover{transform:translateY(-1px);filter:brightness(1.12)}
.launcher-icon-link svg{width:20px;height:20px;fill:currentColor}
.online-players .section-title{align-items:center}
.online-players .section-title h2{margin:0}
@media(max-width:760px){.hero.hero-compact{grid-template-columns:1fr}.wlk-logo-wrap{min-height:150px}.wlk-logo{max-height:170px}.launcher-download-row{justify-content:space-between}}


/* 首页内嵌注册：去掉独立注册页，缩小输入框并放入服务器状态区域 */
.server-status-title{align-items:center}
.status-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.online-total{color:#fff;font-weight:900;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:13px}
.status-content-grid{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:20px;align-items:start;margin-top:14px}
.status-register-panel{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);padding:16px;max-width:320px}
.status-register-panel h3{margin:0 0 12px;color:var(--gold);font-size:18px}
.register-inline-form{display:grid;gap:10px}
.register-field-grid{display:grid;grid-template-columns:1fr;gap:10px}
.register-inline-form label{display:grid;gap:5px;color:var(--muted);font-size:13px;font-weight:800}
.register-inline-form input{padding:9px 11px;border-radius:11px;font-size:14px;max-width:100%}
.register-inline-form .btn.compact-submit{width:100%;padding:10px 12px;border-radius:12px}
.register-inline-form .captcha-box{margin:0}
.register-inline-form .captcha-status{font-size:12px;line-height:1.45}
.register-inline-form .captcha-fallback{padding:10px}
.status-player-panel{min-width:0}
.launcher-download-row span{color:#fff;letter-spacing:.02em}
@media(max-width:900px){.status-content-grid{grid-template-columns:1fr}.status-register-panel{max-width:none}.status-summary{justify-content:flex-start}}


/* 首页顶部：注册表单替代原来的小服务器状态卡片，避免和下方服务器状态重复 */
.hero-with-register{grid-template-columns:minmax(0,1.25fr) minmax(260px,340px)}
.hero-register-panel{padding:18px;max-width:340px;justify-self:end;width:100%}
.hero-register-panel h2{margin:0 0 12px;color:var(--gold);font-size:20px}
.hero-register-panel .register-inline-form{gap:10px}
.hero-register-panel input{padding:9px 11px;border-radius:11px;font-size:14px}
.hero-register-panel .btn.compact-submit{padding:10px 12px}
.server-status-card .status-player-panel{margin-top:14px}
@media(max-width:900px){.hero-with-register{grid-template-columns:1fr}.hero-register-panel{justify-self:stretch;max-width:none}.server-status-card .status-summary{justify-content:flex-start}}
