/* TAIGL Shared Styles — Base Variables, Reset, and Common Utilities
 * Load this before page-specific inline styles:
 * <link rel="stylesheet" href="/shared/styles.css?v=20260622b">
 */

/* ============================================================
   Design Tokens
   ============================================================ */
:root {
  --bg: #04081a;
  --cyan: #00A9CE;
  --deep: #06314D;
  --text: #e8eaf0;
  --muted: #7a8da8;
  --card: rgba(255,255,255,.04);
  --border: rgba(0,169,206,.22);
  --soft: rgba(0,169,206,.12);
  --green: #48e07a;
  --amber: #f0c56a;
  --purple: #9b7bff;
  --warn: rgba(245,158,11,.14);
}

/* ============================================================
   Reset & Base
   ============================================================ */
* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  background-image:
    radial-gradient(circle at 20% 0%, rgba(0,169,206,.18), transparent 32%),
    radial-gradient(circle at 90% 20%, rgba(99,91,255,.16), transparent 30%);
  color: var(--text);
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ============================================================
   Typography
   ============================================================ */
h1, h2, h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
}

.eyebrow {
  color: var(--cyan);
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 900;
  margin-bottom: 10px;
}

.lead,
.list,
.card p,
.panel p {
  color: var(--muted);
  line-height: 1.7;
}

/* ============================================================
   Layout
   ============================================================ */
.wrap {
  max-width: 1040px;
  margin: 0 auto;
  padding: 64px 24px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 20px;
  align-items: start;
}

/* ============================================================
   Components
   ============================================================ */
.card,
.preview,
.panel,
.price-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 24px;
}

.btn,
.btn-primary,
.btn-ghost,
.btn-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 900;
}

.btn,
.btn-primary,
.btn-ghost {
  border-radius: 999px;
  padding: 12px 18px;
}

.btn-primary {
  background: linear-gradient(90deg, var(--cyan), var(--deep));
  color: white;
}

.btn-ghost {
  border: 1px solid var(--border);
  color: var(--text);
  background: rgba(255,255,255,.03);
}

.btn-text {
  color: var(--cyan);
  font-size: 15px;
}

.tag {
  display: inline-block;
  font-size: .72rem;
  color: var(--cyan);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 5px 9px;
  margin-bottom: 10px;
}

.notice {
  border: 1px dashed var(--border);
  border-radius: 14px;
  padding: 14px;
  color: var(--muted);
  font-size: .9rem;
}

/* ============================================================
   Mobile
   ============================================================ */
@media (max-width: 760px) {
  .wrap { padding: 46px 18px; }
  .two-col { grid-template-columns: 1fr; }
}
