:root { color-scheme: dark; --bg:#101933; --panel:#181f1b; --line:#2d3832; --text:#eef5f0; --muted:#9caaa2; --accent:#79c6a3; }
* { box-sizing: border-box; }
body {
  margin:0;
  min-height:100vh;
  color:var(--text);
  font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top, rgba(121,198,163,.13), transparent 30%),
    radial-gradient(circle at bottom right, rgba(121,198,163,.06), transparent 24%),
    linear-gradient(var(--bg), var(--bg)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(255,255,255,.02) 27px 28px),
    repeating-linear-gradient(90deg, transparent 0 27px, rgba(255,255,255,.02) 27px 28px),
    var(--bg);
  background-attachment: fixed;
}
.tech-home {
  display:block;
  overflow-x:hidden;
}
.tech-home .tech-stack {
  display:grid;
  justify-items:center;
  gap:18px;
  text-align:center;
}
.tech-home .tech-logo {
  width:min(204px, 48vw);
  height:auto;
  display:block;
  filter:drop-shadow(0 24px 52px rgba(0,0,0,.5));
}
.tech-home .tech-caption {
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(17px,3vw,26px);
  line-height:1;
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(0,0,0,.28), 0 8px 22px rgba(0,0,0,.35);
  display:grid;
  gap:8px;
  justify-items:center;
}
.tech-home .tech-caption-sub {
  display:block;
  font-size:0.36em;
  font-weight:400;
  letter-spacing:.28em;
}
.tech-landing {
  width: min(1120px, 100%);
  margin: 0 auto;
  padding: 34px clamp(16px, 4vw, 36px) 56px;
  display: grid;
  gap: 28px;
}
.tech-landing-home {
  min-height: 100vh;
  align-content: center;
  justify-items: center;
}
.tech-copy {
  max-width: 52rem;
  justify-self: center;
  text-align: center;
}
.tech-copy h1 {
  margin-bottom: 12px;
  font-size: clamp(16px, 5vw, 68px);
  line-height: 1.02;
  white-space: nowrap;
  letter-spacing: -0.03em;
}
.tech-copy p {
  max-width: 46rem;
  margin: 0 auto 18px;
}
.tech-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.tech-actions .secondary {
  background: transparent;
}
.tech-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.tech-history {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(24,31,27,.88);
  padding: 22px;
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
}
.tech-history h2 {
  margin-bottom: 8px;
}
header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px clamp(16px,4vw,36px); border-bottom:1px solid var(--line); background:rgba(17,20,18,.8); backdrop-filter:blur(16px); }
header strong, header small, nav span { display:block; }
header small, p, label { color:var(--muted); }
nav { display:flex; align-items:center; gap:12px; }
main { width:min(1120px,100%); margin:0 auto; padding:28px clamp(16px,4vw,36px) 44px; }
h1,h2,p { margin-top:0; }
.hero { margin-bottom:18px; }
.hero h1 { font-size:clamp(30px,5vw,54px); line-height:1.05; margin-bottom:8px; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
article,.login { border:1px solid var(--line); border-radius:8px; background:var(--panel); padding:18px; }
.landing { display:grid; gap:22px; }
.landing::before {
  content:"";
  position:fixed;
  inset:16px;
  border:1px solid rgba(121,198,163,.18);
  border-radius:18px;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.03);
}
.brand-mark {
  min-height: 34vh;
  display:grid;
  place-items:center;
  text-align:center;
  gap:14px;
  padding:24px;
}
.brand-mark img {
  width:min(260px, 72vw);
  height:auto;
  display:block;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));
}
.brand-mark h1 {
  margin:0;
  font-size:clamp(34px,6vw,72px);
  line-height:1;
  letter-spacing:.02em;
}
.brand-mark p { margin:6px auto 0; max-width:42rem; }
.login-grid { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr); gap:14px; align-items:start; }
.login { width:min(420px,100%); margin:0 auto; }
.login-grid .login { width:100%; margin:0; }
.monitor-card { display:flex; flex-direction:column; justify-content:space-between; min-height:100%; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:11px; color:var(--accent); margin-bottom:10px; }
form { display:grid; gap:10px; }
input,select,button,.button { min-height:40px; border:1px solid var(--line); border-radius:6px; background:#202822; color:var(--text); padding:8px 10px; text-decoration:none; }
button,.button { display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-weight:700; }
.checks label { display:flex; align-items:center; gap:8px; color:var(--text); }
.error { color:#ff9b9b; }
.metric strong { display:block; font-size:30px; }
.metric small { color:var(--muted); }
.briefing-hero {
  padding: 22px 22px 18px;
  border: 1px solid rgba(121,198,163,.25);
  border-radius: 18px;
  background:
    radial-gradient(circle at top left, rgba(121,198,163,.16), transparent 38%),
    linear-gradient(180deg, rgba(16,25,51,.96), rgba(24,31,27,.96));
  box-shadow: 0 20px 50px rgba(0,0,0,.26);
  margin-bottom: 16px;
}
.briefing-kicker {
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 11px;
  margin-bottom: 10px;
}
.briefing-hero h1 {
  margin-bottom: 8px;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1;
}
.briefing-hero p { max-width: 54rem; }
.briefing-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.briefing-stats article,
.source-pulse,
.front-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(24,31,27,.88);
}
.briefing-stats article {
  padding: 14px 16px;
}
.briefing-stats strong {
  display: block;
  font-size: 30px;
  line-height: 1;
  margin-bottom: 6px;
}
.briefing-top {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr);
  gap: 14px;
  margin: 18px 0 30px;
}
.front-page,
.source-pulse {
  padding: 18px;
}
.front-page .hero {
  margin-bottom: 14px;
}
.front-page h2,
.source-pulse h2 {
  margin-bottom: 8px;
}
.front-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.story-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(34,44,39,.92), rgba(24,31,27,.95));
}
.story-card h3 {
  margin: 10px 0 8px;
  font-size: 18px;
  line-height: 1.25;
}
.story-card p { margin-bottom: 12px; }
.story-card .button { width: fit-content; }
.story-card.empty {
  min-height: 160px;
  display: grid;
  align-content: start;
}
.story-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  color: var(--muted);
  font-size: 12px;
}
.story-meta span { display: inline-flex; align-items: center; gap: 6px; }
.story-section,
.source-chip,
.story-dot {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(121,198,163,.22);
  background: rgba(121,198,163,.1);
  color: var(--text);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.story-dot {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
}
.briefing-section {
  margin: 28px 0 36px;
}
.briefing-section h2 { margin-bottom: 8px; }
.briefing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.briefing-grid .story-card {
  min-height: 100%;
}
.forum-shell {
  display: grid;
  gap: 18px;
}
.forum-hero {
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(circle at top left, rgba(121,198,163,.16), transparent 38%),
    linear-gradient(180deg, rgba(16,25,51,.96), rgba(24,31,27,.96));
  box-shadow: 0 20px 50px rgba(0,0,0,.26);
  padding: 22px;
}
.forum-hero h1 {
  margin-bottom: 8px;
  font-size: clamp(34px, 5.2vw, 64px);
  line-height: 1;
}
.forum-subtitle {
  max-width: 58rem;
}
.forum-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.forum-badges span {
  padding: 4px 10px;
  border: 1px solid rgba(121,198,163,.22);
  border-radius: 999px;
  background: rgba(121,198,163,.1);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.forum-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(300px, .8fr);
}
.forum-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 14px;
}
.forum-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.forum-stat {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(24,31,27,.9);
  padding: 14px 16px;
}
.forum-stat strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 4px;
}
.forum-stat span {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
}
.forum-panel,
.forum-side .login,
.forum-thread-card,
.forum-reply,
.forum-admin-list article,
.forum-category-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(24,31,27,.9);
}
.forum-panel {
  padding: 18px;
}
.forum-thread-body {
  position: relative;
}
.forum-categories,
.forum-list,
.forum-replies,
.forum-admin-list {
  display: grid;
  gap: 12px;
}
.forum-category-card {
  padding: 14px;
  border-left: 4px solid rgba(121,198,163,.6);
}
.forum-category-card h3 {
  margin-bottom: 6px;
}
.forum-category-count {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 8px;
}
.forum-category-count strong {
  font-size: 26px;
  line-height: 1;
}
.forum-category-count span,
.forum-latest {
  color: var(--muted);
}
.forum-latest {
  margin-top: 8px;
}
.forum-thread-card,
.forum-reply,
.forum-admin-list article {
  padding: 14px;
}
.forum-thread-card {
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.forum-thread-card:hover {
  transform: translateY(-1px);
  border-color: rgba(121,198,163,.35);
  background: rgba(31,40,34,.96);
}
.forum-thread-card h3,
.forum-reply p {
  margin-bottom: 8px;
}
.forum-thread-card a {
  color: var(--text);
  text-decoration: none;
}
.forum-thread-card a:hover {
  text-decoration: underline;
}
.forum-side {
  display: grid;
  gap: 12px;
}
.forum-side .login {
  width: 100%;
  margin: 0;
}
.forum-compose {
  padding: 18px;
}
.forum-compose form {
  margin-top: 6px;
}
.forum-compose p {
  margin-bottom: 8px;
}
.forum-reply-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 13px;
}
.forum-reply-head strong {
  color: var(--text);
}
.forum-admin-list article h3 {
  margin-bottom: 6px;
}
.source-pulse ul {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: grid;
  gap: 10px;
}
.source-pulse li {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(16,25,51,.26);
}
.source-pulse li strong,
.source-pulse li span,
.source-pulse li small {
  display: block;
}
.source-pulse li span {
  color: var(--accent);
  font-size: 13px;
}
.source-pulse li small {
  color: var(--muted);
  margin-top: 4px;
}
@media (max-width:860px) {
  .grid,.login-grid { grid-template-columns:1fr; }
  .forum-toolbar,
  .forum-stats { grid-template-columns: 1fr; }
  header { align-items:flex-start; flex-direction:column; }
  .brand-mark { min-height: 24vh; padding-top: 18px; }
  .tech-landing { justify-items: center; }
  .tech-grid,
  .briefing-top,
  .briefing-stats,
  .front-grid,
  .forum-grid { grid-template-columns: 1fr; }
  .briefing-grid { grid-template-columns: 1fr; }
  .tech-copy { text-align: center; justify-self: center; }
  .tech-copy h1 { font-size: clamp(14px, 4.7vw, 42px); }
  .tech-copy p { margin-left: auto; margin-right: auto; }
  .tech-actions { justify-content: center; }
}
