* { margin: 0; padding: 0; box-sizing: border-box; } :root { --bg: #fafafa; --bg-soft: #f4f4f4; --bg-card: #ffffff; --border: #ddd; --border-soft: #eee; --ink: #1a1a1a; --ink-2: #2a2a2a; --ink-3: #444; --muted: #555; --muted-2: #777; --muted-3: #888; --muted-4: #999; --muted-5: #aaa; --accent: #0f3787; /* deep editorial blue (primary contrast) */ --accent-deep: #0a275f; /* hover/active */ --accent-soft: #dde6f5; /* row tint */ --accent-hover-row: #c8d6ee; } body { font-family: "Inter", "Helvetica Neue", sans-serif; font-size: 12px; font-weight: 300; line-height: 1.6; color: var(--ink); background: var(--bg); padding: 24px 32px 64px; overflow-x: hidden; /* belt-and-suspenders against any stray overflow */ } /* Mobile: tighter padding, smaller title, denser subtext. */ @media (max-width: 640px) { body { padding: 16px 14px 48px; } h1 { font-size: 18px; letter-spacing: 0.1px; } .subtext { font-size: 10px; letter-spacing: 0.3px; } .subtext .sep { margin: 0 6px; } .btn-primary { font-size: 10px; padding: 6px 10px; } .btn-primary .plus { font-size: 13px; margin-right: 4px; } .title-row { gap: 10px; } .subtitle { font-size: 12px; } .chart-wrap { height: 260px; padding: 8px; } } /* --- Header --- */ .header-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border); } h1 { font-family: "JetBrains Mono", monospace; font-size: 24px; font-weight: 500; letter-spacing: 0.2px; color: var(--ink); line-height: 1.25; } /* Compact mono counts line between title and subtitle. */ .subtext { font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; color: var(--muted-2); letter-spacing: 0.4px; margin-top: 10px; font-variant-numeric: tabular-nums; } .subtext .sep { color: var(--muted-4); margin: 0 10px; font-weight: 400; } .subtext .n { color: var(--accent); font-weight: 600; } .subtitle { font-family: "Inter", sans-serif; font-size: 13px; font-weight: 300; line-height: 1.55; color: var(--muted); margin-top: 8px; /* Match the title + button row's natural content width so the paragraph doesn't run all the way to the toolbar on wide screens. */ max-width: 880px; } .subtitle a { color: var(--accent); text-decoration: none; border-bottom: 1px solid var(--accent); padding-bottom: 1px; transition: color 0.15s, border-bottom-color 0.15s; } .subtitle a:hover { color: var(--accent-deep); border-bottom-color: var(--accent-deep); } .title-block { flex: 1 1 auto; min-width: 0; } .toolbar { display: flex; align-items: center; gap: 8px; } .btn { font-family: "JetBrains Mono", monospace; font-size: 10px; font-weight: 400; letter-spacing: 0.5px; padding: 5px 11px; border: 1px solid #ccc; border-radius: 3px; background: #fff; color: var(--muted); cursor: pointer; transition: all 0.15s; text-decoration: none; /* inline-flex + fixed line-height + min-height keeps and