:root{
  --grc-dark:#080B12;
  --grc-surface:#0D1320;
  --grc-surface2:#111827;
  --grc-border:#1E2D45;
  --grc-border2:#2A3F5C;
  --grc-cyan:#00D4FF;
  --grc-green:#00FF88;
  --grc-amber:#FFB830;
  --grc-red:#FF4560;
  --grc-purple:#B16CFF;
  --grc-text:#E2EAF4;
  --grc-muted:#7A9BBD;
  --grc-dim:#3A5070;
}

*{box-sizing:border-box}
body{background:var(--grc-dark);color:var(--grc-text);font-family:'IBM Plex Mono',monospace}
a{color:var(--grc-cyan);text-decoration:none}
a:hover{color:#33DDFF}

.font-display{font-family:'Space Grotesk',sans-serif}
.text-cyan{color:var(--grc-cyan)!important}
.text-green{color:var(--grc-green)!important}
.text-amber{color:var(--grc-amber)!important}
.text-red{color:var(--grc-red)!important}
.text-purple{color:var(--grc-purple)!important}
.text-muted-grc{color:var(--grc-muted)!important}
.text-dim{color:var(--grc-dim)!important}
.bg-surface{background:var(--grc-surface)!important}
.bg-surface2{background:var(--grc-surface2)!important}
.border-grc{border-color:var(--grc-border)!important}
.border-grc2{border-color:var(--grc-border2)!important}

.navbar{background:rgba(8,11,18,.92)!important;backdrop-filter:blur(14px);border-bottom:1px solid var(--grc-border)}
.navbar-brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.2rem;color:var(--grc-text)!important}
.nav-link{font-size:.75rem;letter-spacing:.1em;color:var(--grc-muted)!important;padding:6px 14px!important;border:1px solid transparent;transition:all .15s}
.nav-link:hover,.nav-link.active{color:var(--grc-text)!important;border-color:var(--grc-border2)}
.nav-cta{color:var(--grc-cyan)!important;border-color:var(--grc-cyan)!important;background:rgba(0,212,255,.06)!important}
.nav-cta:hover{background:rgba(0,212,255,.14)!important}
.navbar-toggler{border-color:var(--grc-border)!important}
.navbar-toggler-icon{filter:invert(1)}

.section-label{font-size:.55rem;letter-spacing:.25em;color:var(--grc-cyan);display:flex;align-items:center;gap:.6rem}
.section-label::before{content:'';display:block;width:20px;height:1px;background:var(--grc-cyan)}
.section-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.75rem,3.5vw,3rem);font-weight:800;line-height:1.1;letter-spacing:0}

.page-hero{padding:30px 0 40px;background:linear-gradient(180deg,var(--grc-surface),var(--grc-dark));border-bottom:1px solid var(--grc-border)}
.tab-pill{font-size:.65rem;letter-spacing:.1em;padding:8px 18px;border:1px solid var(--grc-border);color:var(--grc-muted);background:transparent;cursor:pointer;transition:all .15s;font-family:'IBM Plex Mono',monospace;text-decoration:none;display:inline-block}
.tab-pill:hover,.tab-pill.active{border-color:var(--grc-cyan);color:var(--grc-cyan);background:rgba(0,212,255,.06)}

.tbl{border-collapse:collapse;width:100%}
.tbl th,.tbl td{padding:12px 16px;border:1px solid var(--grc-border);font-size:.75rem;text-align:left;vertical-align:top}
.tbl thead tr{background:var(--grc-surface2)}
.tbl th{font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em;color:var(--grc-cyan)}
.tbl tbody tr{background:var(--grc-surface);transition:background .1s}
.tbl tbody tr:hover{background:var(--grc-surface2)}
.tbl td:first-child{color:var(--grc-muted)}

.code-block{background:var(--grc-surface2);border:1px solid var(--grc-border);padding:1.25rem;font-family:'IBM Plex Mono',monospace;font-size:.72rem;line-height:1.8;overflow-x:auto}

.btn-grc{background:var(--grc-cyan);color:#000;font-family:'IBM Plex Mono',monospace;font-size:.7rem;font-weight:700;letter-spacing:.12em;padding:11px 26px;border:none;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);transition:all .2s;display:inline-block}
.btn-grc:hover{background:#33DDFF;color:#000;transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,212,255,.3)}
.btn-grc-outline{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;padding:11px 26px;border:1px solid var(--grc-border2);color:var(--grc-text);background:transparent;transition:all .2s;display:inline-block}
.btn-grc-outline:hover{border-color:var(--grc-cyan);color:var(--grc-cyan)}
.btn-grc-purple{font-family:'IBM Plex Mono',monospace;font-size:.7rem;letter-spacing:.12em;padding:11px 26px;border:1px solid var(--grc-purple);color:var(--grc-purple);background:transparent;transition:all .2s;display:inline-block}
.btn-grc-purple:hover{background:rgba(177,108,255,.1)}

.avail-badge{display:inline-flex;align-items:center;gap:.5rem;padding:6px 16px;border:1px solid var(--grc-green);background:rgba(0,255,136,.08);font-size:.65rem;letter-spacing:.1em;color:var(--grc-green)}
.avail-dot{width:6px;height:6px;border-radius:50%;background:var(--grc-green);animation:pulse-dot 2s ease-in-out infinite;flex-shrink:0}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

footer{background:var(--grc-surface);border-top:1px solid var(--grc-border)}
.footer-col-title{font-size:.55rem;letter-spacing:.2em;color:var(--grc-cyan);margin-bottom:1rem}
.footer-link{display:block;font-size:.7rem;color:var(--grc-muted);padding:4px 0;transition:color .15s}
.footer-link:hover{color:var(--grc-text)}
.footer-badge{padding:2px 8px;border:1px solid var(--grc-border);font-size:.55rem;color:var(--grc-dim);letter-spacing:.08em}
