* { box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #1e1f22;
  color: #e3e5e8;
  margin: 0;
}
.topbar {
  background: #2b2d31;
  padding: 12px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topbar a { color: #b5bac1; text-decoration: none; }
.topbar a:hover { color: #fff; }
.container { max-width: 800px; margin: 0 auto; padding: 24px; }
.center-box {
  max-width: 400px;
  margin: 100px auto;
  text-align: center;
  background: #2b2d31;
  padding: 40px;
  border-radius: 12px;
}
h1 { font-weight: 700; }
.card {
  background: #2b2d31;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
}
label { display: block; margin: 12px 0 6px; font-size: 14px; color: #b5bac1; }
label.checkbox { display: flex; align-items: center; gap: 8px; }
input[type="text"], input[type="number"], textarea, select {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #3f4147;
  background: #1e1f22;
  color: #e3e5e8;
  font-family: inherit;
}
textarea { resize: vertical; }
.btn {
  display: inline-block;
  margin-top: 16px;
  padding: 10px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
}
.btn-discord, .btn-primary { background: #5865f2; color: white; }
.btn-secondary { background: #4e5058; color: white; }
.btn:hover { opacity: 0.9; }
.save-status { margin-left: 12px; font-size: 14px; }
.save-status.ok { color: #23a55a; }
.save-status.error { color: #f23f42; }
.guild-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.guild-card { background: #2b2d31; padding: 16px; border-radius: 12px; text-align: center; }
.platform-block { border-top: 1px solid #3f4147; padding-top: 16px; margin-top: 16px; }
.platform-block:first-of-type { border-top: none; margin-top: 0; }
code { background: #1e1f22; padding: 2px 6px; border-radius: 4px; }
.hint { color: #949ba4; font-size: 14px; }
.tm-server-block { border-top: 1px solid #3f4147; padding-top: 16px; margin-top: 16px; }
.btn-secondary { margin-left: 8px; }
.test-result { font-size: 14px; margin-top: 8px; color: #949ba4; }
.test-result.ok { color: #23a55a; }
.test-result.error { color: #f23f42; }
