/* OSR Protocol — Shared Styles */
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap");

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background: #060608;
  background-image: repeating-linear-gradient(180deg, rgba(62,207,142,0.05) 0%, rgba(62,207,142,0.02) 25%, rgba(62,207,142,0.05) 50%, rgba(62,207,142,0.02) 75%, rgba(62,207,142,0.05) 100%);
  background-attachment: fixed;
  color: #D4D4D4;
  font-family: 'IBM Plex Sans', -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection { background: rgba(62,207,142,0.15); color: #fff; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #060608; }
::-webkit-scrollbar-thumb { background: #27272A; border-radius: 2px; }

.page-content {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 48px);
}

/* Typography */
h1 { font-family: 'IBM Plex Sans', sans-serif; font-size: clamp(28px, 4vw, 36px); font-weight: 700; color: #F5F5F5; line-height: 1.2; margin-bottom: 16px; }
h2 { font-family: 'IBM Plex Sans', sans-serif; font-size: clamp(20px, 3vw, 24px); font-weight: 600; color: #F5F5F5; margin: 40px 0 12px; }
p { margin: 0 0 16px; color: #D4D4D4; }
a { color: #3ECF8E; text-decoration: none; }
strong { color: #F5F5F5; }
ul, ol { margin: 0 0 16px; padding-left: 24px; }
li { margin-bottom: 8px; }

/* Tables */
table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 14px; }
thead th { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 700; color: #D4D4D4; letter-spacing: 1px; text-transform: uppercase; text-align: left; padding: 10px 14px; border-bottom: 1px solid rgba(255,255,255,0.08); }
tbody td { padding: 10px 14px; color: #D4D4D4; border-bottom: 1px solid rgba(255,255,255,0.03); }

/* Mobile */
@media (max-width: 640px) {
  .page-content { padding: 0 20px; }
  table { font-size: 12px; }
  thead th, tbody td { padding: 8px 10px; }
}
