*{box-sizing:border-box}body{margin:0;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:#f5f7f6;color:#1f2328}a{color:#2d6a4f;text-decoration:none}.page{max-width:900px;margin:0 auto;padding:20px 16px 60px}.card{background:#fff;border-radius:12px;box-shadow:0 4px 18px #0000000d;padding:20px;margin-bottom:16px}h1,h2,h3{margin:0 0 12px;color:#1f2328}h2{font-size:20px}h3{font-size:15px;color:#2d6a4f;margin-top:16px}.sub{color:#666;margin:0 0 12px}.hint{color:#8b949e;font-size:13px}.err{color:#c0392b;font-size:13px}.head{display:flex;justify-content:space-between;align-items:center}.row{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}input,select,textarea{padding:9px 12px;border:1px solid #d0d7de;border-radius:8px;font-size:14px;width:100%}textarea{resize:vertical}button{padding:9px 18px;border:1px solid #d0d7de;border-radius:8px;background:#fff;font-size:14px;cursor:pointer}button.primary{background:#2d6a4f;border-color:#2d6a4f;color:#fff}button.ghost{background:transparent}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;margin-top:10px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid #eee;font-size:14px}th{color:#888;font-weight:500}.ops{display:flex;gap:6px;flex-wrap:wrap}button.mini{padding:3px 9px;font-size:12px}button.mini.danger{color:#c0392b;border-color:#e6b0aa}.roster{display:flex;flex-wrap:wrap;gap:8px}button.name{padding:8px 16px;border-radius:8px}button.name.needpw{border-color:#f0a04b}.lock{margin-left:6px;font-size:12px}.invite{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invite .code{font-size:24px;letter-spacing:4px;color:#2d6a4f}details summary{cursor:pointer;color:#57606a;font-size:13px;margin:8px 0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#123c2c;color:#fff}.topbar .brand{color:#fff;font-weight:600}.topbar nav{display:flex;gap:14px;align-items:center;font-size:14px}.topbar nav a{color:#ffffffd9}.hero{text-align:center;padding:40px 24px}.hero .row{justify-content:center}.hero input{max-width:220px;text-align:center;font-size:20px;letter-spacing:4px}.links{display:flex;gap:16px;justify-content:center;margin-top:16px}
