@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: #f8f8f8;
  color: #111;
  font-family: Arial, sans-serif;
  font-size: 15px;
}

.wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 36px 24px 80px 24px;
}

.site-title {
  font-family: 'Space Grotesk', Arial, sans-serif;
  font-weight: 600;
  font-size: 36px;
  color: #111;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 6px;
}

.site-title a { color: inherit; text-decoration: none; }

.subtitle {
  font-size: 12px;
  color: #999;
  margin-bottom: 32px;
}

/* nav bar */
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
}

.user-area {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
}

.avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-family: 'Space Grotesk', Arial, sans-serif;
  font-weight: 600;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

.btn-login {
  font-size: 13px;
  color: #00c;
  background: none;
  border: 1px solid #ccc;
  padding: 4px 10px;
  cursor: pointer;
  font-family: Arial, sans-serif;
}

.btn-login:hover { background: #eee; }

/* spoiler warning */
.spoiler-banner {
  border: 1px solid #c00;
  padding: 10px 14px;
  margin-bottom: 28px;
  font-size: 13px;
  color: #900;
  background: #fff5f5;
}

/* channel list */
.channel-list { list-style: none; }

.channel-item {
  border-top: 1px solid #ddd;
  padding: 14px 0;
}

.channel-item:last-child { border-bottom: 1px solid #ddd; }

.channel-link {
  font-size: 15px;
  color: #00c;
  text-decoration: none;
  font-weight: normal;
}

.channel-link:hover { text-decoration: underline; }
.channel-link:visited { color: #551a8b; }

.channel-meta {
  font-size: 12px;
  color: #999;
  margin-top: 3px;
}

/* post area */
.post-box {
  border: 1px solid #ccc;
  width: 100%;
  padding: 8px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  resize: vertical;
  min-height: 80px;
  background: #fff;
  color: #111;
  margin-top: 20px;
}

.post-box:focus { outline: 1px solid #888; }

.btn-post {
  margin-top: 8px;
  font-size: 13px;
  font-family: Arial, sans-serif;
  padding: 5px 16px;
  border: 1px solid #888;
  background: #f0f0f0;
  cursor: pointer;
}

.btn-post:hover { background: #e0e0e0; }

/* posts */
.posts { margin-top: 32px; }

.post {
  border-top: 1px solid #e0e0e0;
  padding: 14px 0;
}

.post-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.post-name {
  font-weight: bold;
  font-size: 13px;
}

.post-time {
  font-size: 11px;
  color: #aaa;
}

.post-body {
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}

.post-banned {
  color: #c00;
  font-size: 12px;
  font-style: italic;
}

/* back link */
.back {
  font-size: 12px;
  color: #999;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 24px;
}

.back:hover { text-decoration: underline; }

hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 24px 0;
}

.error { color: #c00; font-size: 13px; margin-top: 6px; }
.notice { color: #555; font-size: 13px; margin-top: 6px; }

.btn-unsend {
  font-size: 11px;
  font-family: Arial, sans-serif;
  color: #c00;
  background: none;
  border: 1px solid #c00;
  padding: 2px 8px;
  cursor: pointer;
  margin-left: 8px;
}

.btn-unsend:hover { background: #fff0f0; }

.btn-admin-delete {
  font-size: 11px;
  font-family: Arial, sans-serif;
  color: #fff;
  background: #c00;
  border: none;
  padding: 2px 8px;
  cursor: pointer;
  margin-left: 8px;
}

.btn-admin-delete:hover { background: #900; }
