/* ==========================================================================
   SCHOOLING CAMPUS FEED
   A readable learning-community surface. Signal Ghost switches only its output
   and input treatment into a security-lab console while the CTF is active.
   ========================================================================== */
.gn-modern #view-home #modFeed {
  overflow: visible;
  border: 1px solid var(--campus-line);
  border-radius: 0;
  color: var(--campus-ink);
  background: var(--campus-panel);
  box-shadow: none;
}
.gn-modern #view-home #modFeed > .gn-win-bar {
  display: flex;
  min-height: 50px;
  padding: 0 18px;
  border-bottom: 1px solid var(--campus-line);
  background: var(--campus-panel-2);
}
.gn-modern #view-home #modFeed > .gn-win-bar .gn-win-title {
  color: var(--campus-ink);
  font: 750 15px/1.2 var(--academy-sans), Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
.gn-modern #view-home #modFeed > .gn-win-body {
  padding: 0;
  border: 0;
  background: transparent;
}
.gn-modern #view-home #modFeed .campus-feed-terminal {
  border: 0;
  border-radius: 0;
  color: var(--campus-ink);
  background: transparent;
  box-shadow: none;
  font-family: var(--academy-sans), Arial, sans-serif;
}
.gn-modern #view-home #modFeed .campus-feed-console {
  min-height: 0;
  padding: 20px 22px 22px;
  background: var(--campus-panel);
}
.gn-modern #view-home #modFeed .campus-feed-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 34%);
  gap: 24px;
  align-items: end;
  padding: 0 0 17px;
  border-bottom: 1px solid var(--campus-line);
}
.gn-modern #view-home #modFeed .campus-feed-intro > div {
  display: grid;
  gap: 5px;
}
.gn-modern #view-home #modFeed .campus-feed-intro span {
  color: var(--campus-accent-strong);
  font: 800 10px/1.3 var(--academy-mono), Consolas, monospace;
  letter-spacing: .11em;
}
.gn-modern #view-home #modFeed .campus-feed-intro strong {
  color: var(--campus-ink);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
}
.gn-modern #view-home #modFeed .campus-feed-intro p {
  margin: 0;
  color: var(--campus-muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.55;
}

.gn-modern #view-home #modFeed .campus-activity-tabs {
  display: flex;
  gap: 0;
  min-height: 46px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  border: 0;
  border-bottom: 1px solid var(--campus-line);
  scrollbar-width: thin;
}
.gn-modern #view-home #modFeed .campus-filter-prefix {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 0 14px 0 0;
  color: var(--campus-muted);
  font: 800 10px/1 var(--academy-mono), Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab,
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab.active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto;
  min-height: 46px;
  padding: 0 13px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--campus-muted);
  background: transparent;
  box-shadow: none;
  font: 750 11px/1.2 var(--academy-sans), Arial, sans-serif;
  text-transform: none;
}
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:hover {
  color: var(--campus-ink);
  background: #141e2c;
}
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab.active {
  border-bottom-color: var(--campus-accent);
  color: #fff;
}
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:nth-of-type(1),
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:nth-of-type(2),
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:nth-of-type(3),
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:nth-of-type(4),
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:nth-of-type(5) { color: var(--campus-muted); }
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab.active:nth-of-type(n) { color: #fff; }
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab.active::before,
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab.active::after { content: none; }
.gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab:focus-visible,
.gn-modern #view-home #modComposer #feedPost:focus-visible,
.gn-modern #view-home #modComposer textarea:focus-visible {
  outline: 2px solid var(--campus-accent);
  outline-offset: -2px;
}

.gn-modern #view-home #modFeed #campusActivityPanel { padding-top: 4px; }
.gn-modern #view-home #modFeed .campus-activity-stream,
.gn-modern #view-home #modFeed .feed-list {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.gn-modern #view-home #modFeed .campus-activity-row {
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 12px;
  min-height: 54px;
  padding: 10px 2px;
  border: 0;
  border-bottom: 1px solid var(--campus-line-soft);
  background: transparent;
}
.gn-modern #view-home #modFeed .campus-activity-row:hover { background: #111a27; }
.gn-modern #view-home #modFeed .campus-activity-icon {
  display: inline-grid;
  width: 72px;
  min-height: 30px;
  place-items: center;
  border: 1px solid var(--campus-line);
  border-radius: 0;
  color: var(--campus-accent-strong) !important;
  background: #101824 !important;
  font: 800 10px/1.2 var(--academy-mono), Consolas, monospace;
  letter-spacing: .08em;
}
.gn-modern #view-home #modFeed .campus-activity-copy strong {
  color: var(--campus-ink);
  font-size: 12px;
  font-weight: 750;
}
.gn-modern #view-home #modFeed .campus-activity-copy span {
  color: var(--campus-muted);
  font-size: 11px;
  font-weight: 700;
}
.gn-modern #view-home #modFeed .campus-activity-time {
  color: var(--campus-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.gn-modern #view-home #modFeed .campus-filter-empty {
  padding: 16px 2px;
  border: 0;
  color: var(--campus-muted);
  background: transparent;
  font-size: 11px;
  font-weight: 700;
}
.gn-modern #view-home #modFeed .feed-empty {
  min-height: 76px;
  justify-content: flex-start;
  padding: 17px 2px;
  color: var(--campus-muted);
  font-size: 11px;
  font-weight: 700;
}
.gn-modern #view-home #modFeed .feed-empty::before { content: none; }

.gn-modern #view-home #modFeed .feed-post {
  position: relative;
  grid-template-columns: 38px minmax(0, 1fr);
  column-gap: 11px;
  row-gap: 8px;
  margin: 0;
  padding: 13px 2px;
  border: 0;
  border-bottom: 1px solid var(--campus-line-soft);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.gn-modern #view-home #modFeed .feed-post.feed-winner,
.gn-modern #view-home #modFeed .feed-post.feed-loser {
  position: relative;
  top: auto;
  bottom: auto;
  z-index: auto;
  box-shadow: none;
}
.gn-modern #view-home #modFeed .feed-post::before { content: none; }
.gn-modern #view-home #modFeed .feed-post-av {
  grid-column: 1;
  width: 38px;
  height: 38px;
  border-radius: 0;
}
.gn-modern #view-home #modFeed .feed-post-main { grid-column: 2; min-width: 0; }
.gn-modern #view-home #modFeed .feed-post > .feed-pin-badge { grid-column: 1 / -1; grid-row: 1; }
.gn-modern #view-home #modFeed .feed-post:has(> .feed-pin-badge) > .feed-post-av,
.gn-modern #view-home #modFeed .feed-post:has(> .feed-pin-badge) > .feed-post-main { grid-row: 2; }
.gn-modern #view-home #modFeed .feed-post-name { color: var(--campus-ink); font-weight: 750; }
.gn-modern #view-home #modFeed .feed-post-time { color: var(--campus-muted); font-size: 10px; font-weight: 700; }
.gn-modern #view-home #modFeed .feed-post-body { color: #cbd4e2; font-size: 12px; font-weight: 600; line-height: 1.55; }
.gn-modern #view-home #modFeed .feed-vote,
.gn-modern #view-home #modFeed .feed-delete {
  min-width: 34px;
  min-height: 30px;
  padding: 3px 8px;
  border: 1px solid var(--campus-line);
  border-radius: 0;
  color: var(--campus-muted);
  background: #101824;
}
.gn-modern #view-home #modFeed .feed-vote:hover,
.gn-modern #view-home #modFeed .feed-vote.on {
  border-color: var(--campus-accent);
  color: var(--campus-ink);
  background: #162136;
}

.gn-modern #view-home #modFeed .campus-terminal-composer {
  margin-top: 18px;
  padding: 17px;
  border: 1px solid var(--campus-line);
  background: var(--campus-panel-2);
}
.gn-modern #view-home #modFeed .campus-terminal-composer h3 {
  margin: 0 0 11px;
  color: var(--campus-ink);
  font: 750 14px/1.3 var(--academy-sans), Arial, sans-serif;
}
.gn-modern #view-home #modFeed .campus-terminal-composer .feed-composer { gap: 10px; }
.gn-modern #view-home #modFeed .campus-terminal-input-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 74px;
}
.gn-modern #view-home #modFeed .campus-terminal-input-prompt {
  padding-top: 12px;
  color: var(--campus-accent-strong);
  font: 800 10px/1.3 var(--academy-mono), Consolas, monospace;
  letter-spacing: .08em;
}
.gn-modern #view-home #modComposer .feed-composer textarea {
  width: 100%;
  min-height: 74px;
  max-height: 160px;
  padding: 10px 12px;
  resize: vertical;
  border: 1px solid var(--campus-line);
  border-radius: 0;
  color: var(--campus-ink);
  background: #0b111b;
  caret-color: var(--campus-accent);
  box-shadow: none;
  font: 650 12px/1.55 var(--academy-sans), Arial, sans-serif;
}
.gn-modern #view-home #modComposer .feed-composer textarea::placeholder { color: #7f8ea4; opacity: 1; }
.gn-modern #view-home #modComposer .feed-composer textarea:focus { border-color: var(--campus-accent); box-shadow: none; }
.gn-modern #view-home #modFeed .feed-composer-row {
  min-height: 38px;
  padding-left: 82px;
}
.gn-modern #view-home #modFeed .feed-friends-toggle,
.gn-modern #view-home #modFeed .campus-feed-budget {
  color: var(--campus-muted);
  font-size: 11px;
  font-weight: 700;
}
.gn-modern #view-home #modFeed .feed-friends-toggle input {
  position: static;
  width: 14px;
  height: 14px;
  margin: 0 5px 0 0;
  opacity: 1;
}
.gn-modern #view-home #modFeed .feed-friends-toggle::before,
.gn-modern #view-home #modFeed .feed-friends-toggle:has(input:checked)::before { content: none; }
.gn-modern #view-home #modFeed .campus-feed-budget .feed-count { color: var(--campus-muted); }
.gn-modern #view-home #modComposer #feedPost {
  width: auto;
  min-width: 112px;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid var(--campus-accent);
  border-radius: 0;
  color: #07101f;
  background: var(--campus-accent);
  box-shadow: none;
  font: 800 11px/1 var(--academy-sans), Arial, sans-serif;
}
.gn-modern #view-home #modComposer #feedPost:hover { color: #07101f; background: var(--campus-accent-strong); text-decoration: none; }
.gn-modern #view-home #modComposer #feedPost:disabled { border-color: var(--campus-line); color: #7b899e; background: #151d29; }
.gn-modern #view-home #modFeed .campus-feed-help {
  gap: 6px 12px;
  margin: 10px 0 0;
  padding: 10px 0 0 82px;
  border-top: 1px solid var(--campus-line-soft);
  color: var(--campus-muted);
  font-size: 10px;
  font-weight: 700;
}
.gn-modern #view-home #modFeed .campus-feed-help > span { color: var(--campus-muted); }
.gn-modern #view-home #modFeed .campus-feed-help code {
  padding: 2px 5px;
  border: 1px solid var(--campus-line);
  border-radius: 0;
  color: #aebbd0;
  background: #0b111b;
  font-weight: 700;
}

/* Signal Ghost intentionally preserves a focused security-lab console. */
.gn-modern #view-home #modFeed .campus-feed-terminal.ctf-active .campus-feed-intro,
.gn-modern #view-home #modFeed .campus-feed-terminal.ctf-active .campus-activity-tabs,
.gn-modern #view-home #modFeed .campus-feed-terminal.ctf-active #campusActivityPanel { display: none; }
.gn-modern #view-home #modFeed .campus-ctf-output {
  color: #c7d3e5;
  font: 11px/1.65 "Cascadia Mono", Consolas, monospace;
}
.gn-modern #view-home #modFeed .campus-feed-terminal.ctf-active .campus-ctf-output {
  min-height: 285px;
  padding: 14px;
  border: 1px solid var(--campus-line);
  background: #03060a;
}
.gn-modern #view-home #modFeed .campus-feed-terminal.ctf-active textarea {
  color: #8fe5b2;
  caret-color: #ffd166;
  font-family: "Cascadia Mono", Consolas, monospace;
}
.gn-modern #view-home #modFeed .campus-ctf-line { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.gn-modern #view-home #modFeed .campus-ctf-line + .campus-ctf-line { margin-top: 1px; }
.gn-modern #view-home #modFeed .campus-ctf-line.is-command { color: #78a0ff; }
.gn-modern #view-home #modFeed .campus-ctf-line.is-green { color: #59e391; }
.gn-modern #view-home #modFeed .campus-ctf-line.is-blue { color: #78a0ff; }
.gn-modern #view-home #modFeed .campus-ctf-line.is-yellow { color: #ffd166; }
.gn-modern #view-home #modFeed .campus-ctf-line.is-red { color: #ff6b70; }
.gn-modern #view-home #modFeed .campus-ctf-line.is-muted { color: #70819a; }
.gn-modern #view-home #modFeed .campus-ctf-echo { margin-top: 8px; color: #59e391; }
.gn-modern #view-home #modFeed .campus-ctf-echo::before { margin-right: 7px; color: #ff6b70; content: "\2514\2500$"; }

@media (max-width: 700px) {
  .gn-modern #view-home #modFeed .campus-feed-console { padding: 16px; }
  .gn-modern #view-home #modFeed .campus-feed-intro { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .gn-modern #view-home #modFeed .campus-filter-prefix { display: none; }
  .gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab,
  .gn-modern #view-home #modFeed .campus-activity-tabs .feed-tab.active { padding-inline: 10px; }
  .gn-modern #view-home #modFeed .campus-activity-row { grid-template-columns: 64px minmax(0, 1fr); }
  .gn-modern #view-home #modFeed .campus-activity-icon { width: 64px; }
  .gn-modern #view-home #modFeed .campus-activity-time { display: none; }
  .gn-modern #view-home #modFeed .campus-terminal-input-line { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .gn-modern #view-home #modFeed .campus-terminal-input-prompt { padding-top: 0; }
  .gn-modern #view-home #modFeed .feed-composer-row { align-items: flex-start; padding-left: 0; }
  .gn-modern #view-home #modFeed .campus-feed-help { padding-left: 0; }
}
/* END SCHOOLING CAMPUS FEED */
