:root {
  --qc-bg: #fafafa;
  --qc-surface: #ffffff;
  --qc-ink: #0b0b12;
  --qc-ink-2: #3f3f4a;
  --qc-ink-3: #6b6b76;
  --qc-line: #e6e6ea;
  --qc-accent: #3730a3;
  --qc-radius: 14px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--qc-bg);
  color: var(--qc-ink);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }

.qc-wrap { max-width: 880px; margin: 0 auto; padding: 0 24px; }

.qc-top { border-bottom: 1px solid var(--qc-line); background: var(--qc-surface); }
.qc-top .qc-wrap { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.qc-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; letter-spacing: -0.01em; text-decoration: none; }
.qc-back { color: var(--qc-ink-2); font-size: 14px; font-weight: 500; text-decoration: none; }
.qc-back:hover { color: var(--qc-ink); }

.qc-hero { padding: 88px 0 40px; }
.qc-hero h1 { margin: 0 0 18px; max-width: 720px; font-size: 48px; line-height: 1.08; letter-spacing: -0.025em; }
.qc-lede { margin: 0; max-width: 620px; color: var(--qc-ink-2); font-size: 19px; }

.qc-mission { padding: 32px 0; border-top: 1px solid var(--qc-line); }
.qc-mission h2, .qc-apps h2 { margin: 0 0 12px; color: var(--qc-ink-3); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.qc-mission__line { margin: 0 0 12px; color: var(--qc-accent); font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.qc-mission p:last-child { margin: 0; max-width: 680px; color: var(--qc-ink-2); }

.qc-apps { padding: 32px 0 72px; border-top: 1px solid var(--qc-line); }
.qc-apps__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.qc-app {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px;
  border: 1px solid var(--qc-line);
  border-radius: var(--qc-radius);
  background: var(--qc-surface);
  text-decoration: none;
  transition: border-color 0.15s;
}
.qc-app:hover { border-color: #c7c7d1; }
.qc-app__mark { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 10px; color: #fff; font-size: 14px; font-weight: 700; }
.qc-app__mark svg { width: 22px; height: 22px; }
.qc-app__name { font-size: 18px; font-weight: 600; }
.qc-app__tagline { color: var(--qc-ink-2); font-size: 15px; }
.qc-app__go { margin-top: 8px; color: var(--qc-accent); font-size: 14px; font-weight: 600; }
.qc-apps__pro { margin: 20px 0 0; color: var(--qc-ink-2); font-size: 15px; }

.qc-foot { padding: 28px 0 40px; border-top: 1px solid var(--qc-line); color: var(--qc-ink-3); font-size: 13px; }

/* Sign-in and sign-up pages */
.qc-auth { display: flex; flex-direction: column; align-items: center; padding: 56px 24px 72px; }
.qc-auth__box { min-height: 420px; }
.qc-auth__note { max-width: 400px; margin: 20px 0 0; color: var(--qc-ink-3); font-size: 13px; text-align: center; }
.qc-auth__closed { max-width: 440px; padding: 28px; border: 1px solid var(--qc-line); border-radius: var(--qc-radius); background: var(--qc-surface); text-align: center; }
.qc-auth__closed h1 { margin: 0 0 8px; font-size: 22px; }
.qc-auth__closed p { margin: 0; color: var(--qc-ink-2); }

@media (max-width: 680px) {
  .qc-hero { padding: 56px 0 28px; }
  .qc-hero h1 { font-size: 34px; }
  .qc-lede { font-size: 17px; }
  .qc-apps__grid { grid-template-columns: 1fr; }
}
