/* CTG Tutorials — flat dark palette (no gradients) */
:root{
  --ctg-bg:#071824;
  --ctg-card:#0c2534;
  --ctg-card2:#0a2130;
  --ctg-border:rgba(255,255,255,.08);
  --ctg-text:#e9f2ff;
  --ctg-muted:rgba(233,242,255,.72);
  --ctg-accent:#2bb7ff;
  --ctg-accent2:#7cdbff;
}

html,body{height:100%;}
body{
  background:var(--ctg-bg);
  color:var(--ctg-text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.ctg-bg{
  min-height:100%;
  background: var(--ctg-bg);
}

.ctg-nav{
  background: rgba(6, 19, 28, .85);
  border-bottom: 1px solid var(--ctg-border);
}

.brand-pixel{
  font-family:"Press Start 2P", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: .5px;
}
.brand-sub{
  font-size: 13px;
  color: var(--ctg-muted);
}

.ctg-h1{
  font-size: 2.1rem;
  margin-bottom: .25rem;
  letter-spacing: .2px;
}
.ctg-h2{
  font-size: 1.65rem;
  margin: 0 0 .85rem 0;
  letter-spacing: .15px;
}
.ctg-lead{
  color: var(--ctg-muted);
  max-width: 58ch;
}

.ctg-controls{max-width: 720px;}
.ctg-input-addon{
  background: rgba(255,255,255,.06);
  color: var(--ctg-muted);
  border: 1px solid var(--ctg-border);
}
.ctg-input{
  background: rgba(255,255,255,.04);
  color: var(--ctg-text);
  border: 1px solid var(--ctg-border);
}
.ctg-input::placeholder{
  color: rgba(233,242,255,.45);
}
.ctg-input:focus{
  background: rgba(255,255,255,.06);
  color: var(--ctg-text);
  border-color: rgba(43,183,255,.55);
  box-shadow: 0 0 0 .2rem rgba(43,183,255,.15);
}

.ctg-small-hint{
  color: var(--ctg-muted);
  font-size: .9rem;
}

.ctg-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  color: rgba(233,242,255,.86);
}

.ctg-card{
  background: var(--ctg-card);
  border: 1px solid var(--ctg-border);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
  height: 100%;
}
.ctg-card:hover{
  transform: translateY(-2px);
  border-color: rgba(43,183,255,.35);
  box-shadow: 0 14px 36px rgba(0,0,0,.32);
}

.ctg-card-soft{box-shadow:none;}
.ctg-card-soft:hover{transform:none; border-color: var(--ctg-border); box-shadow:none;}

.ctg-pill{
  display:inline-block;
  padding: .22rem .5rem;
  border-radius: 999px;
  background: rgba(43,183,255,.10);
  border: 1px solid rgba(43,183,255,.25);
  color: rgba(233,242,255,.9);
  font-size: .78rem;
  margin-right: .35rem;
  margin-bottom: .35rem;
}

.ctg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding: .52rem .75rem;
  border-radius: 10px;
  border: 1px solid rgba(43,183,255,.35);
  background: rgba(43,183,255,.12);
  color: var(--ctg-text);
  text-decoration:none !important;
  font-weight: 600;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}
.ctg-btn:hover{
  transform: translateY(-1px);
  background: rgba(43,183,255,.18);
  border-color: rgba(43,183,255,.55);
  color: var(--ctg-text);
}

.ctg-muted{color: var(--ctg-muted);}

.ctg-footer{
  border-top: 1px solid var(--ctg-border);
  color: var(--ctg-muted);
}

.ctg-link{color: rgba(233,242,255,.82); text-decoration:none;}
.ctg-link:hover{color: var(--ctg-accent2); text-decoration:none;}
.ctg-dot{margin: 0 .5rem; opacity:.65;}

.ctg-ol{color: var(--ctg-muted);}

/* FAQ accordion styling (fixes the white Bootstrap cards) */
#faq{max-width: 980px;}
#faqAccordion .card{
  background: var(--ctg-card);
  border: 1px solid var(--ctg-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.20);
}
#faqAccordion .card + .card{margin-top: .75rem;}

#faqAccordion .card-header{
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--ctg-border);
  padding: 0;
}

#faqAccordion .card-header h3{
  margin: 0;
  font-size: 1rem;
}

#faqAccordion .btn-link{
  display: block;
  width: 100%;
  text-align: left;
  padding: .95rem 1rem;
  color: rgba(233,242,255,.92);
  font-weight: 700;
  text-decoration: none;
}

#faqAccordion .btn-link:hover{
  color: var(--ctg-accent2);
  text-decoration: none;
}

#faqAccordion .btn-link:focus{
  outline: none;
  box-shadow: 0 0 0 .2rem rgba(43,183,255,.15);
  border-radius: 10px;
}

#faqAccordion .btn-link::after{
  content: "+";
  float: right;
  opacity: .75;
  color: rgba(233,242,255,.85);
  font-weight: 800;
}

#faqAccordion .btn-link[aria-expanded="true"]::after{
  content: "-";
  opacity: .9;
  color: var(--ctg-accent2);
}

#faqAccordion .card-body{
  background: var(--ctg-card);
  color: var(--ctg-muted);
  line-height: 1.55;
  padding: 1rem;
}

#faqAccordion .card-body a{
  color: rgba(233,242,255,.9);
  text-decoration: underline;
  text-decoration-color: rgba(43,183,255,.35);
}
#faqAccordion .card-body a:hover{
  color: var(--ctg-accent2);
  text-decoration-color: rgba(124,219,255,.65);
}

/* Motion accessibility */
@media (prefers-reduced-motion: reduce){
  .ctg-card,
  .ctg-btn{
    transition: none;
  }
  .ctg-card:hover,
  .ctg-btn:hover{
    transform: none;
  }
}