:root { --bg: #0f172a; --card: #1e293b; --accent: #22c55e; --text: #e2e8f0; --text-soft: #cbd5e1; --muted: #94a3b8; --border: #334155; --font-body: "Avenir Next", "Segoe UI", "Noto Sans", "Helvetica Neue", sans-serif; --font-heading: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --step--1: clamp(0.88rem, 0.86rem + 0.12vw, 0.96rem); --step-0: clamp(1rem, 0.98rem + 0.16vw, 1.08rem); --step-1: clamp(1.14rem, 1.08rem + 0.26vw, 1.28rem); --step-2: clamp(1.3rem, 1.2rem + 0.45vw, 1.56rem); --step-3: clamp(1.7rem, 1.45rem + 1.1vw, 2.25rem); } /* Base layout */ body { font-family: var(--font-body); font-size: var(--step-0); background: var(--bg); color: var(--text); max-width: 850px; margin: 2rem auto; padding: 1.5rem; line-height: 1.7; text-rendering: optimizeLegibility; } /* Headings */ h1 { font-family: var(--font-heading); font-size: var(--step-3); line-height: 1.15; font-weight: 700; letter-spacing: -0.02em; text-align: center; margin: 0 0 1.25rem; } h2 { font-family: var(--font-heading); margin-top: 2.25rem; margin-bottom: 0.75rem; font-size: var(--step-2); line-height: 1.25; letter-spacing: -0.01em; } h3 { font-family: var(--font-heading); margin-top: 1.5rem; margin-bottom: 0.6rem; font-size: var(--step-1); line-height: 1.3; color: var(--text-soft); } /* Text */ p { color: var(--text); margin-bottom: 1rem; max-width: 65ch; } /* Ordered list (questions) */ ol { padding-left: 1.2rem; max-width: 65ch; } /* Answer list */ ul { list-style: none; padding-left: 1.2rem; max-width: 65ch; } ul li { display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.35rem 0.4rem; border-radius: 8px; transition: background 0.15s ease; } /* Checkbox styling */ input[type="checkbox"] { accent-color: var(--accent); transform: scale(1.2); margin-top: 0.2rem; pointer-events: none; } /* Correct answers */ li:has(input[type="checkbox"]:checked) { color: #86efac; font-weight: 500; } /* Code blocks */ pre { font-family: var(--font-mono); font-size: var(--step--1); line-height: 1.6; background: #020617; padding: 1rem; border-radius: 10px; overflow-x: auto; margin: 1rem 0; max-width: 65ch; } code { font-family: var(--font-mono); font-size: 0.95em; background: #020617; padding: 2px 6px; border-radius: 6px; } /* Links */ a { color: #93c5fd; text-decoration-line: underline; text-decoration-thickness: 2px; text-underline-offset: 0.14em; text-decoration-color: rgba(147, 197, 253, 0.45); } a:hover { text-decoration-color: currentColor; } /* Optional: make everything feel tighter and nicer */ * { box-sizing: border-box; }