:root{
--font-core:"Satoshi","Helvetica Neue",Arial,sans-serif;
--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--font-display:var(--font-core);
--font-counterexample:"Quattrocento",Georgia,serif; /* p.009 "do not" specimen only */
--font-annotation:var(--font-core);

--weight-regular:400;
--weight-medium:500;
--weight-bold:700;

/* Exact scale transcribed from the brand book */
--type-cover-size:292.89px;   --type-cover-lh:249.24px;  --type-cover-tracking:-0.06em;
--type-display-size:205.458px;--type-display-lh:1;       --type-display-tracking:0;
--type-specimen-size:91.858px;--type-specimen-lh:1;
--type-title-size:35px;       --type-title-lh:60px;      --type-title-tracking:-0.05em;
--type-label-size:20px;       --type-label-lh:29.432px;
--type-body-size:16px;        --type-body-lh:26px;
--type-list-size:16px;        --type-list-lh:30px;
--type-caption-size:16px;     --type-caption-lh:20px;
--type-measure-size:16px;     --type-measure-lh:40.134px;
--type-annotation-size:12px;  --type-annotation-lh:1;

/* Numeric / tabular scale — AWB rows, stat blocks, tracking IDs */
--type-awb-size:12.5px;       --type-awb-lh:20px;
--type-stat-size:29px;        --type-stat-lh:1.15;
--type-tracking-size:18px;    --type-tracking-lh:1.2;
}
.trac-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-0.01em}
.trac-awb{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--type-awb-size);line-height:var(--type-awb-lh);letter-spacing:-0.01em}
.trac-stat{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--type-stat-size);line-height:var(--type-stat-lh);letter-spacing:-0.02em;color:var(--text-primary)}
.trac-cover{font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-cover-size);line-height:var(--type-cover-lh);letter-spacing:var(--type-cover-tracking);color:var(--text-primary)}
.trac-display{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--type-display-size);line-height:var(--type-display-lh);color:var(--text-primary)}
.trac-title{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-title-size);line-height:var(--type-title-lh);letter-spacing:var(--type-title-tracking);color:var(--text-primary)}
.trac-title-caps{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-title-size);line-height:var(--type-title-lh);letter-spacing:var(--type-title-tracking);text-transform:uppercase;color:var(--text-primary)}
.trac-label{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-label-size);line-height:var(--type-label-lh);color:var(--text-primary)}
.trac-body{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--text-body)}
.trac-body-bold{font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--text-primary)}
.trac-list{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-list-size);line-height:var(--type-list-lh);color:var(--text-body);white-space:pre-line}
.trac-caption{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-caption-size);line-height:var(--type-caption-lh);color:var(--text-primary)}
.trac-measure{font-family:var(--font-core);font-weight:var(--weight-regular);font-size:var(--type-measure-size);line-height:var(--type-measure-lh);text-align:center;color:var(--text-primary)}
