/* Keepwell ledger base: the same tokens as @keepwell/ui, for the static pages. Generated from packages/ui/src/index.ts. */
:root {
  color-scheme: light dark;
  --kw-background: #f4f1ea;
  --kw-surface: #fffdf9;
  --kw-surface-muted: #f0ece3;
  --kw-border: #e4dfd3;
  --kw-border-strong: #cec7b7;
  --kw-text: #1b1d22;
  --kw-muted: #4d5059;
  --kw-subtle: #757883;
  --kw-primary: #005ea6;
  --kw-primary-hover: #003087;
  --kw-primary-text: #ffffff;
  --kw-primary-soft: #e7f0fa;
  --kw-accent: #0070ba;
  --kw-success: #17603a;
  --kw-success-soft: #eaf4ed;
  --kw-warning: #7d4806;
  --kw-warning-soft: #fbf3e2;
  --kw-danger: #952f21;
  --kw-danger-soft: #fbeeeb;
  --kw-series1: #0070ba;
  --kw-series2: #bf8420;
  --kw-series3: #22a08c;
  --kw-bind-bg: #003087;
  --kw-bind-deep: #00205c;
  --kw-bind-text: #eef3fb;
  --kw-bind-muted: #a9bde6;
  --kw-bind-gold: #ffc439;
  --kw-bind-hover: rgb(255 255 255 / 0.07);
  --kw-bind-thread: rgb(255 196 57 / 0.4);
  --kw-margin-line: rgb(0 156 222 / 0.45);
  --kw-highlight: rgb(255 196 57 / 0.16);
  --kw-seal-ink: #003087;
  --kw-seal-broken: #b73b2b;
  --kw-shadow: 0 1px 0 rgb(40 50 70 / 0.05), 0 14px 28px -24px rgb(40 50 70 / 0.45);
  --kw-font-serif: "Newsreader", ui-serif, "Iowan Old Style", Georgia, "Times New Roman", serif;
  --kw-font-sans:
    "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --kw-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.25 0 0 0 0 0.12 0 0 0 0.055 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  --guilloche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='14'%3E%3Cg fill='none' stroke='%230070ba' stroke-width='0.55' opacity='0.9'%3E%3Cpolyline points='0,7.00 1,7.33 2,7.65 3,7.98 4,8.29 5,8.61 6,8.91 7,9.21 8,9.50 9,9.78 10,10.04 11,10.30 12,10.54 13,10.76 14,10.97 15,11.16 16,11.33 17,11.48 18,11.62 19,11.73 20,11.83 21,11.90 22,11.96 23,11.99 24,12.00 25,11.99 26,11.96 27,11.90 28,11.83 29,11.73 30,11.62 31,11.48 32,11.33 33,11.16 34,10.97 35,10.76 36,10.54 37,10.30 38,10.04 39,9.78 40,9.50 41,9.21 42,8.91 43,8.61 44,8.29 45,7.98 46,7.65 47,7.33 48,7.00 49,6.67 50,6.35 51,6.02 52,5.71 53,5.39 54,5.09 55,4.79 56,4.50 57,4.22 58,3.96 59,3.70 60,3.46 61,3.24 62,3.03 63,2.84 64,2.67 65,2.52 66,2.38 67,2.27 68,2.17 69,2.10 70,2.04 71,2.01 72,2.00 73,2.01 74,2.04 75,2.10 76,2.17 77,2.27 78,2.38 79,2.52 80,2.67 81,2.84 82,3.03 83,3.24 84,3.46 85,3.70 86,3.96 87,4.22 88,4.50 89,4.79 90,5.09 91,5.39 92,5.71 93,6.02 94,6.35 95,6.67 96,7.00'/%3E%3Cpolyline points='0,7.00 1,6.67 2,6.35 3,6.02 4,5.71 5,5.39 6,5.09 7,4.79 8,4.50 9,4.22 10,3.96 11,3.70 12,3.46 13,3.24 14,3.03 15,2.84 16,2.67 17,2.52 18,2.38 19,2.27 20,2.17 21,2.10 22,2.04 23,2.01 24,2.00 25,2.01 26,2.04 27,2.10 28,2.17 29,2.27 30,2.38 31,2.52 32,2.67 33,2.84 34,3.03 35,3.24 36,3.46 37,3.70 38,3.96 39,4.22 40,4.50 41,4.79 42,5.09 43,5.39 44,5.71 45,6.02 46,6.35 47,6.67 48,7.00 49,7.33 50,7.65 51,7.98 52,8.29 53,8.61 54,8.91 55,9.21 56,9.50 57,9.78 58,10.04 59,10.30 60,10.54 61,10.76 62,10.97 63,11.16 64,11.33 65,11.48 66,11.62 67,11.73 68,11.83 69,11.90 70,11.96 71,11.99 72,12.00 73,11.99 74,11.96 75,11.90 76,11.83 77,11.73 78,11.62 79,11.48 80,11.33 81,11.16 82,10.97 83,10.76 84,10.54 85,10.30 86,10.04 87,9.78 88,9.50 89,9.21 90,8.91 91,8.61 92,8.29 93,7.98 94,7.65 95,7.33 96,7.00'/%3E%3Cpolyline points='0,8.81 1,9.14 2,9.43 3,9.68 4,9.89 5,10.04 6,10.15 7,10.20 8,10.19 9,10.13 10,10.02 11,9.85 12,9.64 13,9.38 14,9.08 15,8.75 16,8.38 17,8.00 18,7.59 19,7.17 20,6.76 21,6.34 22,5.94 23,5.55 24,5.19 25,4.86 26,4.57 27,4.32 28,4.11 29,3.96 30,3.85 31,3.80 32,3.81 33,3.87 34,3.98 35,4.15 36,4.36 37,4.62 38,4.92 39,5.25 40,5.62 41,6.00 42,6.41 43,6.83 44,7.24 45,7.66 46,8.06 47,8.45 48,8.81 49,9.14 50,9.43 51,9.68 52,9.89 53,10.04 54,10.15 55,10.20 56,10.19 57,10.13 58,10.02 59,9.85 60,9.64 61,9.38 62,9.08 63,8.75 64,8.38 65,8.00 66,7.59 67,7.17 68,6.76 69,6.34 70,5.94 71,5.55 72,5.19 73,4.86 74,4.57 75,4.32 76,4.11 77,3.96 78,3.85 79,3.80 80,3.81 81,3.87 82,3.98 83,4.15 84,4.36 85,4.62 86,4.92 87,5.25 88,5.62 89,6.00 90,6.41 91,6.83 92,7.24 93,7.66 94,8.06 95,8.45 96,8.81'/%3E%3Cpolyline points='0,5.19 1,4.86 2,4.57 3,4.32 4,4.11 5,3.96 6,3.85 7,3.80 8,3.81 9,3.87 10,3.98 11,4.15 12,4.36 13,4.62 14,4.92 15,5.25 16,5.62 17,6.00 18,6.41 19,6.83 20,7.24 21,7.66 22,8.06 23,8.45 24,8.81 25,9.14 26,9.43 27,9.68 28,9.89 29,10.04 30,10.15 31,10.20 32,10.19 33,10.13 34,10.02 35,9.85 36,9.64 37,9.38 38,9.08 39,8.75 40,8.38 41,8.00 42,7.59 43,7.17 44,6.76 45,6.34 46,5.94 47,5.55 48,5.19 49,4.86 50,4.57 51,4.32 52,4.11 53,3.96 54,3.85 55,3.80 56,3.81 57,3.87 58,3.98 59,4.15 60,4.36 61,4.62 62,4.92 63,5.25 64,5.62 65,6.00 66,6.41 67,6.83 68,7.24 69,7.66 70,8.06 71,8.45 72,8.81 73,9.14 74,9.43 75,9.68 76,9.89 77,10.04 78,10.15 79,10.20 80,10.19 81,10.13 82,10.02 83,9.85 84,9.64 85,9.38 86,9.08 87,8.75 88,8.38 89,8.00 90,7.59 91,7.17 92,6.76 93,6.34 94,5.94 95,5.55 96,5.19'/%3E%3Cpolyline points='0,12.17 1,12.58 2,12.78 3,12.76 4,12.52 5,12.06 6,11.41 7,10.59 8,9.63 9,8.57 10,7.45 11,6.32 12,5.21 13,4.16 14,3.23 15,2.44 16,1.83 17,1.42 18,1.22 19,1.24 20,1.48 21,1.94 22,2.59 23,3.41 24,4.37 25,5.43 26,6.55 27,7.68 28,8.79 29,9.84 30,10.77 31,11.56 32,12.17 33,12.58 34,12.78 35,12.76 36,12.52 37,12.06 38,11.41 39,10.59 40,9.63 41,8.57 42,7.45 43,6.32 44,5.21 45,4.16 46,3.23 47,2.44 48,1.83 49,1.42 50,1.22 51,1.24 52,1.48 53,1.94 54,2.59 55,3.41 56,4.37 57,5.43 58,6.55 59,7.68 60,8.79 61,9.84 62,10.77 63,11.56 64,12.17 65,12.58 66,12.78 67,12.76 68,12.52 69,12.06 70,11.41 71,10.59 72,9.63 73,8.57 74,7.45 75,6.32 76,5.21 77,4.16 78,3.23 79,2.44 80,1.83 81,1.42 82,1.22 83,1.24 84,1.48 85,1.94 86,2.59 87,3.41 88,4.37 89,5.43 90,6.55 91,7.68 92,8.79 93,9.84 94,10.77 95,11.56 96,12.17'/%3E%3Cpolyline points='0,1.83 1,1.42 2,1.22 3,1.24 4,1.48 5,1.94 6,2.59 7,3.41 8,4.37 9,5.43 10,6.55 11,7.68 12,8.79 13,9.84 14,10.77 15,11.56 16,12.17 17,12.58 18,12.78 19,12.76 20,12.52 21,12.06 22,11.41 23,10.59 24,9.63 25,8.57 26,7.45 27,6.32 28,5.21 29,4.16 30,3.23 31,2.44 32,1.83 33,1.42 34,1.22 35,1.24 36,1.48 37,1.94 38,2.59 39,3.41 40,4.37 41,5.43 42,6.55 43,7.68 44,8.79 45,9.84 46,10.77 47,11.56 48,12.17 49,12.58 50,12.78 51,12.76 52,12.52 53,12.06 54,11.41 55,10.59 56,9.63 57,8.57 58,7.45 59,6.32 60,5.21 61,4.16 62,3.23 63,2.44 64,1.83 65,1.42 66,1.22 67,1.24 68,1.48 69,1.94 70,2.59 71,3.41 72,4.37 73,5.43 74,6.55 75,7.68 76,8.79 77,9.84 78,10.77 79,11.56 80,12.17 81,12.58 82,12.78 83,12.76 84,12.52 85,12.06 86,11.41 87,10.59 88,9.63 89,8.57 90,7.45 91,6.32 92,5.21 93,4.16 94,3.23 95,2.44 96,1.83'/%3E%3C/g%3E%3C/svg%3E");
  --microprint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='224' height='6'%3E%3Ctext x='0' y='5' font-size='4.4' font-family='Helvetica,Arial,sans-serif' font-weight='600' fill='%238d96a8' textLength='224' lengthAdjust='spacing'%3EKEEPWELL %C2%B7 EVERY DECISION ON THE RECORD %C2%B7 CANCEL IS ONE CLICK %C2%B7 %3C/text%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
  :root {
    --kw-background: #13110f;
    --kw-surface: #1c1916;
    --kw-surface-muted: #0f0d0b;
    --kw-border: #2d2823;
    --kw-border-strong: #40382f;
    --kw-text: #eee8dc;
    --kw-muted: #b5ac9e;
    --kw-subtle: #8a8275;
    --kw-primary: #7fb6e8;
    --kw-primary-hover: #a4cbf0;
    --kw-primary-text: #0a1f38;
    --kw-primary-soft: #14263b;
    --kw-accent: #4799de;
    --kw-success: #7bd8a4;
    --kw-success-soft: #112419;
    --kw-warning: #f0bd62;
    --kw-warning-soft: #2a1f0e;
    --kw-danger: #f59d8f;
    --kw-danger-soft: #2d1512;
    --kw-series1: #4799de;
    --kw-series2: #b08a24;
    --kw-series3: #279f8b;
    --kw-bind-bg: #00184a;
    --kw-bind-deep: #000f33;
    --kw-bind-text: #dde7f7;
    --kw-bind-muted: #8fa6d4;
    --kw-bind-gold: #f0b83a;
    --kw-bind-hover: rgb(255 255 255 / 0.06);
    --kw-bind-thread: rgb(240 184 58 / 0.3);
    --kw-margin-line: rgb(71 153 222 / 0.35);
    --kw-highlight: rgb(255 196 57 / 0.09);
    --kw-seal-ink: #93bff0;
    --kw-seal-broken: #f07a6a;
    --kw-shadow: 0 1px 0 rgb(0 0 0 / 0.3), 0 14px 28px -22px rgb(0 0 0 / 0.8);
    --paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.95 0 0 0 0 0.85 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
    --guilloche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='14'%3E%3Cg fill='none' stroke='%237fb6e8' stroke-width='0.55' opacity='0.9'%3E%3Cpolyline points='0,7.00 1,7.33 2,7.65 3,7.98 4,8.29 5,8.61 6,8.91 7,9.21 8,9.50 9,9.78 10,10.04 11,10.30 12,10.54 13,10.76 14,10.97 15,11.16 16,11.33 17,11.48 18,11.62 19,11.73 20,11.83 21,11.90 22,11.96 23,11.99 24,12.00 25,11.99 26,11.96 27,11.90 28,11.83 29,11.73 30,11.62 31,11.48 32,11.33 33,11.16 34,10.97 35,10.76 36,10.54 37,10.30 38,10.04 39,9.78 40,9.50 41,9.21 42,8.91 43,8.61 44,8.29 45,7.98 46,7.65 47,7.33 48,7.00 49,6.67 50,6.35 51,6.02 52,5.71 53,5.39 54,5.09 55,4.79 56,4.50 57,4.22 58,3.96 59,3.70 60,3.46 61,3.24 62,3.03 63,2.84 64,2.67 65,2.52 66,2.38 67,2.27 68,2.17 69,2.10 70,2.04 71,2.01 72,2.00 73,2.01 74,2.04 75,2.10 76,2.17 77,2.27 78,2.38 79,2.52 80,2.67 81,2.84 82,3.03 83,3.24 84,3.46 85,3.70 86,3.96 87,4.22 88,4.50 89,4.79 90,5.09 91,5.39 92,5.71 93,6.02 94,6.35 95,6.67 96,7.00'/%3E%3Cpolyline points='0,7.00 1,6.67 2,6.35 3,6.02 4,5.71 5,5.39 6,5.09 7,4.79 8,4.50 9,4.22 10,3.96 11,3.70 12,3.46 13,3.24 14,3.03 15,2.84 16,2.67 17,2.52 18,2.38 19,2.27 20,2.17 21,2.10 22,2.04 23,2.01 24,2.00 25,2.01 26,2.04 27,2.10 28,2.17 29,2.27 30,2.38 31,2.52 32,2.67 33,2.84 34,3.03 35,3.24 36,3.46 37,3.70 38,3.96 39,4.22 40,4.50 41,4.79 42,5.09 43,5.39 44,5.71 45,6.02 46,6.35 47,6.67 48,7.00 49,7.33 50,7.65 51,7.98 52,8.29 53,8.61 54,8.91 55,9.21 56,9.50 57,9.78 58,10.04 59,10.30 60,10.54 61,10.76 62,10.97 63,11.16 64,11.33 65,11.48 66,11.62 67,11.73 68,11.83 69,11.90 70,11.96 71,11.99 72,12.00 73,11.99 74,11.96 75,11.90 76,11.83 77,11.73 78,11.62 79,11.48 80,11.33 81,11.16 82,10.97 83,10.76 84,10.54 85,10.30 86,10.04 87,9.78 88,9.50 89,9.21 90,8.91 91,8.61 92,8.29 93,7.98 94,7.65 95,7.33 96,7.00'/%3E%3Cpolyline points='0,8.81 1,9.14 2,9.43 3,9.68 4,9.89 5,10.04 6,10.15 7,10.20 8,10.19 9,10.13 10,10.02 11,9.85 12,9.64 13,9.38 14,9.08 15,8.75 16,8.38 17,8.00 18,7.59 19,7.17 20,6.76 21,6.34 22,5.94 23,5.55 24,5.19 25,4.86 26,4.57 27,4.32 28,4.11 29,3.96 30,3.85 31,3.80 32,3.81 33,3.87 34,3.98 35,4.15 36,4.36 37,4.62 38,4.92 39,5.25 40,5.62 41,6.00 42,6.41 43,6.83 44,7.24 45,7.66 46,8.06 47,8.45 48,8.81 49,9.14 50,9.43 51,9.68 52,9.89 53,10.04 54,10.15 55,10.20 56,10.19 57,10.13 58,10.02 59,9.85 60,9.64 61,9.38 62,9.08 63,8.75 64,8.38 65,8.00 66,7.59 67,7.17 68,6.76 69,6.34 70,5.94 71,5.55 72,5.19 73,4.86 74,4.57 75,4.32 76,4.11 77,3.96 78,3.85 79,3.80 80,3.81 81,3.87 82,3.98 83,4.15 84,4.36 85,4.62 86,4.92 87,5.25 88,5.62 89,6.00 90,6.41 91,6.83 92,7.24 93,7.66 94,8.06 95,8.45 96,8.81'/%3E%3Cpolyline points='0,5.19 1,4.86 2,4.57 3,4.32 4,4.11 5,3.96 6,3.85 7,3.80 8,3.81 9,3.87 10,3.98 11,4.15 12,4.36 13,4.62 14,4.92 15,5.25 16,5.62 17,6.00 18,6.41 19,6.83 20,7.24 21,7.66 22,8.06 23,8.45 24,8.81 25,9.14 26,9.43 27,9.68 28,9.89 29,10.04 30,10.15 31,10.20 32,10.19 33,10.13 34,10.02 35,9.85 36,9.64 37,9.38 38,9.08 39,8.75 40,8.38 41,8.00 42,7.59 43,7.17 44,6.76 45,6.34 46,5.94 47,5.55 48,5.19 49,4.86 50,4.57 51,4.32 52,4.11 53,3.96 54,3.85 55,3.80 56,3.81 57,3.87 58,3.98 59,4.15 60,4.36 61,4.62 62,4.92 63,5.25 64,5.62 65,6.00 66,6.41 67,6.83 68,7.24 69,7.66 70,8.06 71,8.45 72,8.81 73,9.14 74,9.43 75,9.68 76,9.89 77,10.04 78,10.15 79,10.20 80,10.19 81,10.13 82,10.02 83,9.85 84,9.64 85,9.38 86,9.08 87,8.75 88,8.38 89,8.00 90,7.59 91,7.17 92,6.76 93,6.34 94,5.94 95,5.55 96,5.19'/%3E%3Cpolyline points='0,12.17 1,12.58 2,12.78 3,12.76 4,12.52 5,12.06 6,11.41 7,10.59 8,9.63 9,8.57 10,7.45 11,6.32 12,5.21 13,4.16 14,3.23 15,2.44 16,1.83 17,1.42 18,1.22 19,1.24 20,1.48 21,1.94 22,2.59 23,3.41 24,4.37 25,5.43 26,6.55 27,7.68 28,8.79 29,9.84 30,10.77 31,11.56 32,12.17 33,12.58 34,12.78 35,12.76 36,12.52 37,12.06 38,11.41 39,10.59 40,9.63 41,8.57 42,7.45 43,6.32 44,5.21 45,4.16 46,3.23 47,2.44 48,1.83 49,1.42 50,1.22 51,1.24 52,1.48 53,1.94 54,2.59 55,3.41 56,4.37 57,5.43 58,6.55 59,7.68 60,8.79 61,9.84 62,10.77 63,11.56 64,12.17 65,12.58 66,12.78 67,12.76 68,12.52 69,12.06 70,11.41 71,10.59 72,9.63 73,8.57 74,7.45 75,6.32 76,5.21 77,4.16 78,3.23 79,2.44 80,1.83 81,1.42 82,1.22 83,1.24 84,1.48 85,1.94 86,2.59 87,3.41 88,4.37 89,5.43 90,6.55 91,7.68 92,8.79 93,9.84 94,10.77 95,11.56 96,12.17'/%3E%3Cpolyline points='0,1.83 1,1.42 2,1.22 3,1.24 4,1.48 5,1.94 6,2.59 7,3.41 8,4.37 9,5.43 10,6.55 11,7.68 12,8.79 13,9.84 14,10.77 15,11.56 16,12.17 17,12.58 18,12.78 19,12.76 20,12.52 21,12.06 22,11.41 23,10.59 24,9.63 25,8.57 26,7.45 27,6.32 28,5.21 29,4.16 30,3.23 31,2.44 32,1.83 33,1.42 34,1.22 35,1.24 36,1.48 37,1.94 38,2.59 39,3.41 40,4.37 41,5.43 42,6.55 43,7.68 44,8.79 45,9.84 46,10.77 47,11.56 48,12.17 49,12.58 50,12.78 51,12.76 52,12.52 53,12.06 54,11.41 55,10.59 56,9.63 57,8.57 58,7.45 59,6.32 60,5.21 61,4.16 62,3.23 63,2.44 64,1.83 65,1.42 66,1.22 67,1.24 68,1.48 69,1.94 70,2.59 71,3.41 72,4.37 73,5.43 74,6.55 75,7.68 76,8.79 77,9.84 78,10.77 79,11.56 80,12.17 81,12.58 82,12.78 83,12.76 84,12.52 85,12.06 86,11.41 87,10.59 88,9.63 89,8.57 90,7.45 91,6.32 92,5.21 93,4.16 94,3.23 95,2.44 96,1.83'/%3E%3C/g%3E%3C/svg%3E");
    --microprint: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='224' height='6'%3E%3Ctext x='0' y='5' font-size='4.4' font-family='Helvetica,Arial,sans-serif' font-weight='600' fill='%235d6b85' textLength='224' lengthAdjust='spacing'%3EKEEPWELL %C2%B7 EVERY DECISION ON THE RECORD %C2%B7 CANCEL IS ONE CLICK %C2%B7 %3C/text%3E%3C/svg%3E");
  }
}

/* ---------- Judge Mode ---------- */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background-color: var(--kw-background);
  background-image: var(--paper-grain);
  color: var(--kw-text);
  font:
    16px/1.55 var(--kw-font-sans),
    sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3 {
  font-family: var(--kw-font-serif);
  font-weight: 500;
  letter-spacing: -0.01em;
}

p {
  margin: 0.25rem 0 0.75rem;
}

a {
  color: var(--kw-primary);
  text-underline-offset: 3px;
}

code {
  font-family: var(--kw-font-mono);
  font-size: 0.9em;
}

main {
  min-height: 100vh;
}

/* the binding: the page opens on navy cloth, gold foil, and a stitched thread */
.hero {
  position: relative;
  padding: 2.5rem max(1.25rem, calc((100% - 62rem) / 2)) 3.5rem;
  background-color: var(--kw-bind-bg);
  background-image:
    repeating-linear-gradient(0deg, rgb(255 255 255 / 0.028) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgb(0 0 0 / 0.07) 0 1px, transparent 1px 3px),
    radial-gradient(120% 90% at 0% 0%, rgb(255 255 255 / 0.09), transparent 60%);
  color: var(--kw-bind-text);
}

.hero::after {
  position: absolute;
  right: 0;
  bottom: 9px;
  left: 0;
  border-bottom: 1.5px dashed var(--kw-bind-thread);
  content: "";
}

.hero-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.wordmark {
  color: var(--kw-bind-gold);
  font-family: var(--kw-font-serif);
  font-size: 1.9rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1;
  text-shadow: 0 1px 0 rgb(0 0 0 / 0.35);
}

.mode {
  padding-left: 1.25rem;
  border-left: 1px solid var(--kw-bind-thread);
  color: var(--kw-bind-muted);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.health {
  margin: 0 0 0 auto;
  padding: 0.1rem 0.6rem;
  border: 1.5px solid currentColor;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.health-operational {
  color: #8fe0ad;
}

.health-degraded {
  color: #ffd27a;
}

.health-down {
  color: #ff9d8e;
}

.health-unknown {
  color: var(--kw-bind-muted);
}

.hero h1 {
  max-width: 17ch;
  margin: 2.25rem 0 1rem;
  color: var(--kw-bind-text);
  font-size: clamp(2.4rem, 6vw, 4rem);
  font-weight: 400;
  line-height: 1.04;
}

.hero h1 em {
  color: var(--kw-bind-gold);
  font-style: italic;
  text-shadow: 0 1px 0 rgb(0 0 0 / 0.35);
}

.intro {
  max-width: 46rem;
  margin: 0;
  color: var(--kw-bind-muted);
  font-size: 1.1rem;
}

.page {
  max-width: 62rem;
  margin: 0 auto;
  padding: 0 1.25rem 4rem;
}

section > h2 {
  margin: 2.75rem 0 0.4rem;
  font-size: 1.7rem;
}

section > h2 + p {
  max-width: 44rem;
  color: var(--kw-muted);
}

/* the three scenarios: exhibits, ruled like a ledger's entries */
.scenarios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 0;
  margin-top: 1.25rem;
  border-top: 3px double var(--kw-border-strong);
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.5rem 1.5rem 1.5rem 0;
  border-bottom: 1px solid var(--kw-border-strong);
}

.exhibit + .exhibit {
  padding-left: 1.5rem;
  border-left: 1px solid var(--kw-border-strong);
}

.exhibit-letter {
  color: var(--kw-accent);
  font-family: var(--kw-font-serif);
  font-size: 3.4rem;
  font-style: italic;
  line-height: 1;
}

.card h3 {
  margin: 0.25rem 0 0.5rem;
  font-size: 1.4rem;
}

.exhibit p:nth-of-type(1) {
  padding: 0.55rem 0.8rem;
  border-left: 3px solid var(--kw-bind-gold);
  background: var(--kw-highlight);
  font-family: var(--kw-font-serif);
  font-size: 1.05rem;
  font-style: italic;
}

.exhibit p:nth-of-type(1) strong {
  font-family: var(--kw-font-sans);
  font-size: 0.68rem;
  font-style: normal;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.card button {
  align-self: flex-start;
  margin-top: auto;
}

.lease {
  margin-top: 2.25rem;
  padding: 1.5rem;
  border: 1px solid var(--kw-border);
  border-radius: 6px;
  background-color: var(--kw-surface);
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 27px,
    color-mix(in srgb, var(--kw-border) 55%, transparent) 27px,
    color-mix(in srgb, var(--kw-border) 55%, transparent) 28px
  );
  box-shadow: var(--kw-shadow);
}

.lease h2 {
  margin: 0 0 0.25rem;
  font-size: 1.5rem;
}

.fallback {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--kw-warning);
  border-left-width: 5px;
  border-radius: 6px;
  background: var(--kw-warning-soft);
}

.fallback h2 {
  margin: 0 0 0.5rem;
  font-size: 1.3rem;
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

button {
  min-height: 2.5rem;
  padding: 0.45rem 1rem;
  border: 1px solid var(--kw-border-strong);
  border-radius: 5px;
  background: var(--kw-surface);
  color: var(--kw-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  transition: background 120ms;
}

button:hover:not(:disabled) {
  background: var(--kw-surface-muted);
}

button.primary {
  border-color: var(--kw-primary);
  background: var(--kw-primary);
  color: var(--kw-primary-text);
}

button.primary:hover:not(:disabled) {
  border-color: var(--kw-primary-hover);
  background: var(--kw-primary-hover);
}

button:disabled {
  cursor: default;
  opacity: 0.55;
}

.badge {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0 0.4rem;
  border: 1.5px solid color-mix(in srgb, currentColor 55%, transparent);
  border-radius: 3px;
  color: var(--kw-warning);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.notice {
  margin-top: 1.25rem;
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--kw-border-strong);
  border-left: 5px solid var(--kw-accent);
  border-radius: 4px;
  background: var(--kw-primary-soft);
}

.error {
  margin-top: 1rem;
  color: var(--kw-danger);
}

.small {
  color: var(--kw-muted);
  font-size: 0.88rem;
}

/* the test login, set as a receipt */
.creds {
  display: grid;
  max-width: 30rem;
  grid-template-columns: max-content 1fr;
  gap: 0.35rem 1rem;
  margin: 1rem 0;
  padding: 1rem 1.25rem;
  border: 1px dashed var(--kw-border-strong);
  background: var(--kw-surface);
  font-family: var(--kw-font-mono);
  font-size: 0.88rem;
}

.creds dt {
  color: var(--kw-muted);
  font-weight: 600;
}

.creds dd {
  margin: 0;
}

section ul {
  padding-left: 1.2rem;
}

section li {
  margin: 0.4rem 0;
}

:focus-visible {
  outline: 3px solid var(--kw-accent);
  outline-offset: 2px;
}

@media (max-width: 720px) {
  .exhibit + .exhibit {
    padding-left: 0;
    border-left: 0;
  }

  .card {
    padding-right: 0;
  }

  .health {
    margin-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
}
