@import url("wordmark.css");
/* Anton, the v3 mark face: self-hosted (SIL OFL), declared here because the desks do not load base.css. */
@font-face{font-family:"Anton";src:url("fonts/Anton-normal-400.woff2") format("woff2");font-weight:400;font-display:swap}

/* Shared tracker shell — the approved Grand Theft America publication system. */
:root{
  --gta-paper:#F4F1E9;--gta-paper-2:#E8E3D8;--gta-paper-hi:#FAF8F2;
  --gta-ink:#110D08;--gta-rule:rgba(17,13,8,.22);
  --gta-money:#246B47;--gta-gold:#B08A22;--gta-gold-text:#7B6418;--gta-power:#8F1D1A;--gta-power-deep:#681311;--gta-power-mat:#A92823;--gta-blue:#2C6EA7;
  --bar-thick:.13em;--bar-period:.26em;
  --display:'Space Grotesk',sans-serif;--gold-bright:var(--gta-gold);--red-bright:var(--gta-power-mat);--ink:var(--gta-ink);
}
html{background:var(--gta-paper)}body.desk-money,body.desk-power{background-color:var(--gta-paper);background-image:radial-gradient(rgba(17,13,8,.052) .7px,transparent .8px);background-size:9px 9px;color:var(--gta-ink)}body.desk-power{overflow-x:hidden}body.desk-money .wrap,body.desk-power .wrap{max-width:1180px}/* One publication masthead. Desk color is a signal,never separate furniture. */
body.desk-money .topnav,.topnav{background:rgba(244,241,233,.95);border-bottom:1px solid var(--gta-ink);box-shadow:none;position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}/* The shared nav is injected after parse. Reserve its exact responsive footprint
   so the entire record does not jump when the enhancement arrives. */
body.desk-money #navHost:empty,body.desk-power #nav:empty,.topbar:empty{display:block;min-height:92px;border-bottom:1px solid var(--gta-ink)}.gta-nav-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(14px,2vw,30px);max-width:1440px!important;width:100%;height:auto;min-height:92px;padding:14px 22px}
.gta-nav-links{justify-self:start;display:flex;align-items:center;gap:clamp(12px,1.5vw,24px)}.gta-nav-links a{position:relative;display:inline-flex;align-items:center;min-height:44px;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:var(--gta-ink);text-decoration:none}
.gta-nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--gta-ink);transform:scaleX(0);transform-origin:left;transition:transform .18s cubic-bezier(.16,1,.3,1)}
.gta-nav-links a:hover::after{transform:scaleX(1)}/* "Grand Theft America" nav mark — black box,white text,a black line cut through the
   letters (echoes the Grand Theft Auto wordmark treatment). Line color is inherited so it
   matches the box background exactly and reads as invisible against it,visible against
   the white letters it crosses. Overrides the generic hover-underline ::after above via
   higher selector specificity. */
body.desk-money .gta-nav-links a.nav-gta,.gta-nav-links a.nav-gta{position:relative;flex:0 0 auto;min-height:0;height:38px;font-size:15px;font-weight:900;white-space:nowrap;background:var(--gta-ink);color:var(--gta-paper);padding:0 13px;letter-spacing:.02em;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2.5px;transition:opacity .15s ease}.gta-nav-links a.nav-money,.gta-nav-links a.nav-power,.gta-nav-links a.nav-latest{font-size:12px;font-weight:800}
/* The base a{color:var(--gta-ink)}rule above outranks each desk stylesheet's own
   .nav-money/.nav-power color (more element selectors at equal class count),so
   Money and Power silently lost their nav color on both desks. Restated here at
   matching specificity so they hold everywhere. */
body.desk-money .gta-nav-links a.nav-money,.gta-nav-links a.nav-money{color:var(--gta-gold-text)}.gta-nav-links a.nav-power{color:var(--gta-power)}.gta-nav-links a.nav-gta::after{content:none}.gta-nav-links a.nav-gta:hover{opacity:1}.nav-sub{height:38px;border:1px solid var(--gta-ink);border-radius:0;background:transparent;color:var(--gta-ink);padding:0 15px;font-family:'Space Grotesk',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nav-sub:hover{background:var(--gta-ink);border-color:var(--gta-ink);color:var(--gta-paper)}
body.desk-money .nav-sub:hover{background:var(--gta-money);border-color:var(--gta-money);color:var(--gta-paper)}body.desk-power .nav-sub:hover{background:var(--gta-power);border-color:var(--gta-power);color:var(--gta-paper)}
.gta-nav-lockup{justify-self:center;display:grid;grid-template-columns:auto 1px minmax(170px,250px);align-items:stretch;gap:14px;min-width:0;color:var(--gta-ink);text-decoration:none}
.gta-nav-lockup__unit{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:5px}
.gta-nav-lockup__unit:not(.gta-nav-lockup__unit--desk),.gta-nav-lockup__unit--desk{width:250px}
.gta-nav-lockup__title,.gta-nav-lockup__desk{display:inline-flex;align-items:center;width:max-content;font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;line-height:.92;letter-spacing:-.048em;text-transform:uppercase;white-space:nowrap}
.gta-nav-lockup__title{font-size:23px}
.gta-nav-lockup__tag{display:block;max-width:34ch;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;line-height:1.3;letter-spacing:.02em;color:rgba(17,13,8,.68)}
.gta-nav-lockup__divider{width:1px;min-height:45px;background:var(--gta-rule)}
.gta-nav-lockup__desk i{display:inline-block;flex:0 0 1.8em;width:1.8em;height:.68em;margin-left:.28em}
.gta-nav-lockup--money .gta-nav-lockup__desk i{background:repeating-linear-gradient(to bottom,var(--gta-gold) 0 2px,transparent 2px 4px)}
.gta-nav-lockup--power .gta-nav-lockup__desk i{background:repeating-linear-gradient(to right,var(--gta-power) 0 2px,transparent 2px 4px)}
.gta-nav-end{justify-self:end}/* Subscribe fold-out — ONE implementation for both desks. money/style.css and
   power/assets/brand.css each carried a near-identical copy of this block (same
   geometry,same timings,two different accents and two different placeholder
   greys). The accent is now the only desk-specific part. */
body.desk-money{--sub-accent:var(--gta-gold)}body.desk-power{--sub-accent:var(--gta-power)}body.desk-money .subform,body.desk-power .subform{position:relative;display:flex;align-items:center;gap:12px}body.desk-money .subwrap,body.desk-power .subwrap{position:relative;display:flex;align-items:center;height:38px;width:0;overflow:hidden}body.desk-money .subform.open .subwrap,body.desk-power .subform.open .subwrap{width:230px}body.desk-money .subemail,body.desk-power .subemail{width:230px;min-width:0;border:0;outline:none;background:transparent;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--gta-ink);padding:6px 2px;opacity:0;transition:opacity .2s ease .34s;box-sizing:border-box}body.desk-money .subemail:focus,body.desk-power .subemail:focus{outline:none;box-shadow:none;border:0}body.desk-money .subemail:focus-visible,body.desk-power .subemail:focus-visible{outline:2px solid var(--sub-accent);outline-offset:-2px;box-shadow:none;border:0}body.desk-money .subform.open .subemail,body.desk-power .subform.open .subemail{opacity:1}body.desk-money .subemail::placeholder,body.desk-power .subemail::placeholder{color:rgba(17,13,8,.5)}body.desk-money .subline,body.desk-power .subline{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--sub-accent);transform:scaleX(0);transform-origin:right center}body.desk-money .subform.open .subline,body.desk-power .subform.open .subline{transform:scaleX(1);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
@media(max-width:640px){body.desk-money .subform.open .subwrap,body.desk-power .subform.open .subwrap{width:160px}body.desk-money .subemail,body.desk-power .subemail{width:160px}}
@media(prefers-reduced-motion:reduce){body.desk-money .subwrap,body.desk-power .subwrap{transition:none}body.desk-money .subform.open .subline,body.desk-power .subform.open .subline{transition:none}}

.deskKicker{margin:0 0 14px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.trackerTitle{--wm-size:clamp(54px,7.3vw,104px);margin:0}
.trackerTag{max-width:27ch;margin:22px 0 0;font-family:'Newsreader',Georgia,serif;font-size:clamp(22px,2.4vw,34px);font-weight:700;line-height:1.12;letter-spacing:-.02em}
.trackerDek{max-width:46ch;margin:17px 0 0;font-size:15px;line-height:1.5;color:rgba(17,13,8,.68)}
/* The label sits next to the figure so the two read as one statement ("171 documented
   actions"), with the receipts link beneath the numerals. Two earlier attempts were wrong:
   gap:18px against a 290px column floated the label away so the pair read as two unrelated
   elements, and align-items:baseline then dropped the label to the numerals' baseline —
   level with the bottom of a 88px figure, which looks like it fell. align-items:start puts
   the label's first line at the top of the numerals instead. Explicit grid placement so
   adding the link cannot reflow the first row. */
.trackerHeadlineFigure{display:grid;grid-template-columns:auto minmax(0,260px);grid-template-rows:auto auto;column-gap:16px;row-gap:12px;align-items:start;justify-content:start;margin-top:26px;padding:4px 0 4px 20px;border-left:6px solid var(--gta-power)}
.trackerHeadlineFigure strong{grid-column:1;grid-row:1;font-family:'JetBrains Mono',monospace;font-size:clamp(54px,6vw,88px);line-height:.78;letter-spacing:-.075em;color:var(--gta-power)}
/* -.14em pulls the cap-height of the 10px label up onto the numerals' cap line: the mono
   figure's line-height of .78 sits its glyphs lower in the box than the label's 1.45 does. */
.trackerHeadlineFigure span{grid-column:2;grid-row:1;margin-top:-.14em;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;color:rgba(17,13,8,.66)}
.trackerHeadlineFigure .figureLink{grid-column:1/-1;grid-row:2;justify-self:start;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:var(--gta-power-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;min-height:44px;display:inline-flex;align-items:center}
.trackerHeadlineFigure .figureLink:hover{color:var(--gta-ink)}/* Money: the live ledger is the hero. */
body.desk-money{--bone:var(--gta-paper);--paper:var(--gta-paper);--paper-2:var(--gta-paper-2);--paper-hi:var(--gta-paper-hi);--ink:var(--gta-ink);--green:var(--gta-money);--amber:var(--gta-gold-text);--gold:var(--gta-gold);--gold-bright:var(--gta-gold);--line:var(--gta-rule)}body.desk-money .ticker{background:var(--gta-ink)}body.desk-money .megaHero{padding:0;border-bottom:2px solid var(--gta-ink);background:transparent}body.desk-money .megaHeroGrid{grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);gap:42px;padding-top:42px;padding-bottom:38px;align-items:end}body.desk-money .megaHeroContent{max-width:none}body.desk-money .megaHeroContent:before{display:none}body.desk-money .deskKicker{color:var(--gta-money)}body.desk-money .trackerTag{margin-bottom:31px}body.desk-money .megaHeroContent .hkick{color:var(--gta-ink)}body.desk-money .heroTotals{margin-top:31px;padding:4px 0 4px 20px;border-left:6px solid var(--gta-gold)}body.desk-money .trackerTag{margin-bottom:0}body.desk-money .heroFigures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:13px}body.desk-money .heroFig{min-width:0}body.desk-money .heroFigPlus{display:none}body.desk-money .heroFigNum{font-size:clamp(34px,4.4vw,60px);letter-spacing:-.065em}body.desk-money .heroScope{max-width:58ch;margin:10px 0 0;font-family:'Newsreader',Georgia,serif;font-size:13px;line-height:1.35;color:rgba(17,13,8,.6)}body.desk-money .megaHeroImg{align-self:stretch;min-height:420px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}body.desk-money .megaHeroImg img{width:min(100%,440px);height:auto;max-height:420px;margin:0;object-fit:contain;filter:none;mix-blend-mode:multiply;animation:money-settle 900ms cubic-bezier(.16,1,.3,1) both}body.desk-money .tiers{border-top:0;background:var(--gta-rule)}body.desk-money .tierbtn{border-radius:0;background:rgba(250,248,242,.42)}body.desk-money .tierbtn:hover{background:var(--gta-paper-hi)}body.desk-money .tierbtn.sel{box-shadow:inset 0 -5px 0 var(--gta-money)}body.desk-money .course-demo,body.desk-money .stackLine{transform-origin:left center}/* Power: a compact desk mast,then the working phase spine and timeline. */
body.desk-power{--bg:var(--gta-paper);--bg2:var(--gta-paper-2);--ink:var(--gta-ink);--ink2:rgba(17,13,8,.65);--ink3:rgba(17,13,8,.46);--line:rgba(17,13,8,.14);--line2:var(--gta-rule);--red:var(--gta-power);--redink:var(--gta-power-deep);--red-bright:var(--gta-power-mat);--green:var(--gta-blue)}
.trackerMast{max-width:1180px;min-height:360px;margin:0 auto;padding:42px 30px 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.66fr);gap:10px;align-items:stretch;border-bottom:2px solid var(--gta-ink)}
.trackerMast>*{min-width:0}
.trackerMast--power .deskKicker{color:var(--gta-power)}
/* The desk's artwork carries the same vertical weight the Trump bust does on the Money
   mast, so the box keeps its 430px floor and its negative margins. Superseded 2026-09-01:
   this used to hold a wide January 6 panorama that was cropped to fill the column. The
   columns/bars artwork is portrait (600x700) and must not be cropped, so the image rule
   below switched from cover to contain. */
.trackerMast-art{position:relative;height:auto;min-height:430px;margin:-38px 0 -14px;display:flex;align-items:stretch;justify-content:center;overflow:hidden}
/* contain, not cover: the columns artwork has to show its complete architecture. cover
   cropped the capitals off the top and the dissolving column bottoms off the base, which
   is the whole point of the image. Bottom-aligned so the artwork sits high in the right
   column and ends just above the masthead's bottom rule. The saturate/contrast filter that
   suited the photographic January 6 scene is dropped — it muddied flat artwork. */
.trackerMast-art img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:none;mix-blend-mode:multiply}
.powerBars{position:absolute;inset:6px 8% 4px;z-index:1;display:flex;align-items:flex-start;justify-content:flex-end;gap:8px}
.powerBars i{display:block;width:14px;height:74%;background:var(--gta-power);transform-origin:top;animation:power-drop 720ms cubic-bezier(.16,1,.3,1) both}
.powerBars i:nth-child(2){height:46%;animation-delay:55ms}.powerBars i:nth-child(3){height:92%;animation-delay:110ms}.powerBars i:nth-child(4){height:62%;animation-delay:165ms}.powerBars i:nth-child(5){height:100%;animation-delay:220ms}.powerBars i:nth-child(6){height:71%;animation-delay:275ms}.powerBars i:nth-child(7){height:84%;animation-delay:330ms}body.desk-power>.wrap{padding-top:1px}body.desk-power .sh{margin:34px 0 16px;padding-top:14px;border-top:1px solid var(--gta-ink)}body.desk-power .sh:first-child{margin-top:28px}body.desk-power .sh h2,body.desk-money .sec-head h2{font-size:clamp(24px,2.8vw,34px);text-transform:none;letter-spacing:-.035em}body.desk-power .spine{gap:1px;background:var(--gta-rule)}body.desk-power .spine .pchip{min-width:0;border:0;border-radius:0;box-shadow:none}body.desk-power .pchip{font:inherit;text-align:left;cursor:pointer}body.desk-power .pchip.h3{background:var(--gta-power-deep)}body.desk-power .pchip.h2{background:var(--gta-power-mat)}body.desk-power .tl,body.desk-power .tl-detail,body.desk-power .embed-box,body.desk-power .tl-btn{border-radius:0;background:rgba(250,248,242,.7)}body.desk-power .tl-row.alt{background:rgba(232,227,216,.58)}body.desk-power .play{border-color:var(--gta-rule)}

footer.site.tracker-footer{max-width:none;margin:0;padding:0 clamp(20px,3vw,32px);border-top:1px solid var(--gta-rule);background:transparent}
.tracker-footer__cols{display:grid;grid-template-columns:1.15fr .9fr .9fr .9fr;gap:clamp(24px,5vw,72px);max-width:1180px;margin-inline:auto;padding:34px 0 28px}
.tracker-footer__cols h2{margin:0 0 10px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--gta-ink)}
.tracker-footer__identity p{max-width:25rem;margin:0;font-size:13px;line-height:1.55;color:rgba(17,13,8,.62)}
.tracker-footer__cols ul{margin:0;padding:0;list-style:none}
.tracker-footer__cols li{margin:0}
.tracker-footer__cols a{display:inline-flex;align-items:center;min-height:32px;font-size:13px;line-height:1.2;color:rgba(17,13,8,.62);text-decoration:none}
.tracker-footer__cols a:hover{color:var(--gta-ink);text-decoration:underline;text-underline-offset:3px}
.tracker-footer__base{display:flex;justify-content:space-between;gap:18px;max-width:1180px;margin-inline:auto;padding:14px 0 18px;border-top:1px solid var(--gta-rule);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:rgba(17,13,8,.64)}
.tracker-footer__base a{color:inherit}body.desk-money :focus-visible,body.desk-power :focus-visible{outline:2px solid currentColor;outline-offset:3px}body.desk-power .tl-glab,body.desk-power .tl-now b,body.desk-power .pchip .n,body.desk-power .pchip .eng{font-size:11px}body.desk-power .tl-detail{border-color:var(--gta-rule)}

/* Ticker — shared shape on both desks; the most recent receipts, scrolling. */
.ticker{background:var(--gta-ink);color:#fff;overflow:hidden;white-space:nowrap;padding:9px 0}
.ticker-track{display:inline-flex;white-space:nowrap;animation:ticker-scroll 90s linear infinite}
.ticker-repeat{display:inline-flex;white-space:nowrap}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.4px;padding:0 36px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.ticker-item a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.55)}
.ticker-item .src{opacity:.7;font-weight:400}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;overflow-x:auto}}

/* Receipts table — identical shape on Money and Power, so the two records read as one system. */
.tblStats{display:flex;gap:28px;flex-wrap:wrap;margin:18px 0 22px;padding:16px 20px;background:var(--gta-paper-2);border:1px solid var(--gta-rule)}
.tblStat b{display:block;font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--gta-ink)}
.tblStat span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,13,8,.6)}
.tblControls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.tblControls select,.tblControls input{font-family:'Inter',sans-serif;font-size:13.5px;padding:8px 10px;border:1px solid var(--gta-rule);background:var(--gta-paper-hi);color:var(--gta-ink)}
.tblControls input{flex:1;min-width:180px}
.tblCount{font-size:12.5px;color:rgba(17,13,8,.6);font-family:'JetBrains Mono',monospace}
.tblExpandWrap{display:flex;justify-content:center;margin-top:16px;margin-bottom:32px}
.tblExpandBtn{font-family:'Space Grotesk',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gta-ink);background:transparent;border:1.5px solid var(--gta-ink);border-radius:999px;padding:9px 22px;cursor:pointer;transition:color .25s,border-color .25s,background .25s}
.tblExpandBtn:hover{background:var(--gta-ink);color:var(--gta-paper)}
.tblScroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:40px}
.gtable{width:100%;min-width:640px;border-collapse:collapse;font-size:14.5px}
.gtable th{text-align:left;font-family:'Space Grotesk',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:rgba(17,13,8,.6);border-bottom:2px solid var(--gta-ink);padding:10px 10px;cursor:pointer;user-select:none;white-space:nowrap}
.gtable th:hover{color:var(--gta-ink)}
.gtable th.sorted{color:var(--gta-ink)}
.gtable th .arr{opacity:.6;margin-left:3px}
.gtable td{padding:12px 10px;border-bottom:1px solid var(--gta-rule);vertical-align:top}
.gtable tr.row{cursor:pointer}
.gtable tr.row:hover td{background:var(--gta-paper-2)}
.gtable tr.rowExcluded .gtAmt{opacity:.5}body.desk-money .gtable tr.rowExcluded .gtAmt{opacity:1}
.gtable tr.rowExcluded .gtHead{color:rgba(17,13,8,.5)}
.gtable .gtTag[title]{cursor:help}
.gtDate{font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(17,13,8,.55);white-space:nowrap}
.gtHead{font-weight:600;max-width:420px}
.gtBen{white-space:nowrap;color:rgba(17,13,8,.6);font-size:13.5px}
.gtBen a,.gtCat a{color:inherit;text-decoration:none}
.gtBen a:hover,.gtCat a:hover{color:var(--gta-ink);text-decoration:underline}
.gtAmt{font-family:'JetBrains Mono',monospace;font-weight:700;white-space:nowrap;text-align:right}
.gtTag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;padding:3px 7px;border-radius:20px;margin-left:8px;vertical-align:1px;background:rgba(17,13,8,.08);color:rgba(17,13,8,.68)}body.desk-money span.gtTag.none{color:var(--gta-ink)!important;opacity:1}
.gtCat{font-size:12px;color:rgba(17,13,8,.6);white-space:nowrap}
@media(max-width:820px){.gtHead{max-width:none}.gtCat{display:none}}
@media(max-width:640px){.gtDate,.gtCat{display:none}}
@keyframes money-settle{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes power-drop{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){body.desk-money .megaHeroImg img,.powerBars i{animation:none}}
@media(max-width:820px){body.desk-money #navHost:empty,body.desk-power #nav:empty,.topbar:empty{min-height:134px}.gta-nav-inner{grid-template-columns:1fr auto;grid-template-rows:auto auto;min-height:134px}
  .gta-nav-lockup{grid-column:1/-1;grid-row:1}.gta-nav-links{grid-column:1;grid-row:2}.gta-nav-end{grid-column:2;grid-row:2}body.desk-money .megaHeroGrid,.trackerMast{grid-template-columns:1fr}body.desk-money .megaHeroImg{order:-1;height:260px;min-height:260px}
  /* Single column: the art goes back to a plain band above the copy — no rise
     past the top of the mast, and contain again, because a wide band cropped to
     cover would cut the dome off the top of the scene. */
  .trackerMast-art{order:-1;height:230px;min-height:0;margin:0}
  .trackerMast-art img{object-fit:contain;object-position:center bottom}body.desk-money .heroFigures{grid-template-columns:1fr}.trackerMast{padding-top:28px}
  .tracker-footer__cols{grid-template-columns:1fr 1fr;gap:22px 36px}.tracker-footer__identity{grid-column:1/-1}
}
@media(max-width:560px){body.desk-money #navHost:empty,body.desk-power #nav:empty,.topbar:empty{min-height:163px}.gta-nav-inner{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;gap:4px;padding:10px 16px 8px}
  .gta-nav-lockup{grid-column:1;grid-row:1;grid-template-columns:1fr;text-align:center;gap:2px;max-width:100%}.gta-nav-lockup__divider{display:none}.gta-nav-lockup__unit{align-items:center}.gta-nav-lockup__unit--desk{padding-top:3px}
  .gta-nav-lockup__unit:not(.gta-nav-lockup__unit--desk),.gta-nav-lockup__unit--desk{width:auto}
  .gta-nav-lockup__title{font-size:21px}.gta-nav-lockup__desk{font-size:18px}.gta-nav-lockup__tag{max-width:min(42ch,86vw);font-size:10px}
  .gta-nav-links{grid-column:1;grid-row:2;justify-self:center;width:100%;flex-wrap:wrap;justify-content:center;gap:10px}.gta-nav-end{grid-column:1;grid-row:3;justify-self:center}.gta-nav-links a.nav-gta{font-size:13px;padding-inline:9px}.gta-nav-links a.nav-money,.gta-nav-links a.nav-power,.gta-nav-links a.nav-latest{font-size:11px}
  .trackerTitle{--wm-size:clamp(44px,13vw,58px)}body.desk-money .megaHeroGrid{padding-inline:18px}.trackerMast{padding-inline:20px}body.desk-money .tierbtn .tierArt{width:88px;height:88px}
  .trackerMast,.trackerMast-copy,.trackerDek{width:100%;max-width:calc(100vw - 40px)}body.desk-power>.wrap{width:auto;max-width:none;margin-inline:16px}body.desk-power .spine{width:100%;max-width:100%}body.desk-power .sh{align-items:flex-start}body.desk-power .sh h2,body.desk-power .trackerDek{overflow-wrap:anywhere}
  /* One column at mobile: the figure, its label, then the link. The desktop rule places
     the label in column 2, so the explicit placements have to be reset here or the label
     lands in a column that no longer exists. */
  .trackerHeadlineFigure{grid-template-columns:1fr;grid-template-rows:auto auto auto;column-gap:0;row-gap:8px}
  .trackerHeadlineFigure strong{grid-column:1;grid-row:1}
  .trackerHeadlineFigure span{grid-column:1;grid-row:2;margin-top:0}
  .trackerHeadlineFigure .figureLink{grid-column:1;grid-row:3;min-height:40px}
  .tracker-footer__cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;padding-block:28px 22px}.tracker-footer__identity{grid-column:1/-1}.tracker-footer__cols a{min-height:44px;font-size:12.5px}.tracker-footer__base{align-items:flex-start;flex-direction:column;padding-block:16px 20px}body.desk-power .tl-dot{width:24px;height:24px;border-width:5px}
}

/* ==========================================================================
   Share — ONE style, every page (money receipts/categories/players/briefs,
   power essays, shared essays/briefs). Built from --gta-* tokens above so it
   renders identically regardless of which desk skin, if any, is also loaded.
   Markup: assets/site-chrome.js GTA_CHROME.shareBar(). Self-contained (does
   not reuse desk .dotbtn) so it never inherits per-desk form-button styling.
   ========================================================================== */
.gshare{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--gta-rule)}
.gshare-native{display:inline-flex;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gta-paper);background:var(--gta-ink);border:1.5px solid var(--gta-ink);border-radius:999px;padding:9px 18px;cursor:pointer;transition:opacity .2s}
.gshare-native .dot{width:9px;height:9px;border-radius:50%;background:var(--gta-paper)}
.gshare-native:hover{opacity:.82}
.gshare-ic{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--gta-ink);border:1.5px solid var(--gta-rule);border-radius:50%;transition:color .2s,border-color .2s;flex-shrink:0}
.gshare-ic svg{width:16px;height:16px;fill:currentColor}
.gshare-ic:hover{color:var(--gta-gold);border-color:var(--gta-gold)}
.gshare-ic:focus-visible,.gshare-native:focus-visible{outline:2px solid var(--gta-gold);outline-offset:2px}
/* .share-receipt (base.css) already draws its own top rule/spacing on briefs
   pages — drop .gshare's own so the two don't stack into a double line. */
.share-receipt .gshare{margin-top:0;padding-top:0;border-top:0}

/* ==========================================================================
   SHELL v3 — the masthead, footer and Subscribe fold-out of the v3 design (site design v3, A7.1).
   Folded here from the design's shell-v3.css (lines 1–112 of d40fdfc), after every existing rule, so the
   cascade the drafts relied on holds: the desks' own stylesheets load before this file, desk.css after it.
   Every token these rules use carries its tokens.css value as a fallback, because the Power essay shell
   mounts the same chrome without tokens.css. The receipt-row and card-rail blocks of shell-v3.css are A7.2's.
   ========================================================================== */
:root {
  --mark-face: "Anton", "Barlow Condensed", "Arial Narrow", sans-serif;
}

/* --- TOP NAV — the mark matches the hero lettering ------------------------ */
.topnav .nav-gta {
  font-family: var(--mark-face) !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  text-transform: uppercase;
  /* The plaque is a fixed 38px box in tracker-shell.css, which swallowed any
     padding. Height is released here, so these values actually apply — and
     they have to be read against the white underline, which sits inside the
     line box and already fills part of the space under the letters.
     Black above the caps should read equal to black below the rule. */
  height: auto !important;
  line-height: 1 !important;
  padding-top: var(--plaque-top, 8px) !important;
  padding-bottom: 5px !important;
  padding-inline: 14px !important;
  border-bottom: 5px solid var(--ink, #110D08);
}
.topnav .nav-gta::after { content: none !important; }

/* Money / Power / Rap Sheet — up from 10.5px/600, and Subscribe comes with
   them so the row reads at one weight. :not(.nav-gta) keeps the plaque out. */
.topnav .gta-nav-links a:not(.nav-gta),
.gta-nav-links a:not(.nav-gta) {
  font-size: var(--nav-size, 13px) !important;
  font-weight: 700 !important;
}
.topnav .nav-sub,
.gta-nav-end .nav-sub {
  font-size: var(--nav-size, 13px) !important;
  font-weight: 700 !important;
}

/* "Rap Sheet": the nav's .1em tracking inflates the word gap as well as the
   letter gaps, so pull the two words back together. */
.topnav .nav-latest { word-spacing: -.28em; }

/* Subscribe mirrors the wordmark: solid ink plaque, paper letters. */
.topnav .nav-sub,
.gta-nav-end .nav-sub {
  background: var(--ink, #110D08) !important;
  color: var(--paper, #F4F1E9) !important;
  border: 1.5px solid var(--ink, #110D08) !important;
  border-radius: 0 !important;
  padding: 11px 18px !important;
}
.topnav .nav-sub:hover { background: var(--paper, #F4F1E9) !important; color: var(--ink, #110D08) !important; }

/* --- FOOTER — three links -------------------------------------------------
   The margin is part of the component: without it the last thing on the page
   butts straight into the rule, which is what it did on the essay page where
   the share row ends the article. Fixed here so every v3 page gets it. */
.foot-v3 {
  margin-top: clamp(40px, 6vw, 72px);
  border-top: 3px solid var(--ink, #110D08);
  background: var(--paper-hi, #FAF8F2);
}
.foot-v3__in {
  max-width: var(--max, 1180px); margin-inline: auto; padding: 28px var(--gutter, clamp(16px, 5vw, 32px));
  display: flex; align-items: center; gap: 26px; flex-wrap: wrap;
}
.foot-v3__in a {
  font: 700 .74rem/1 var(--display, "Space Grotesk", ui-sans-serif, system-ui, sans-serif);
  letter-spacing: .11em; text-transform: uppercase; text-decoration: none;
}
.foot-v3__in a:hover { text-decoration: underline; text-underline-offset: 5px; }
.foot-v3__rights { margin-left: auto; font: 400 .72rem/1.4 var(--mono, "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace); color: var(--ink-3, rgba(17, 13, 8, .40)); }

@media (max-width: 620px) {
  .foot-v3__rights { margin-left: 0; width: 100%; }
}

/* --- SUBSCRIBE, THE FOLD-OUT --------------------------------------------
   chrome.js already wires this by delegation on ANY .subform, but every
   style for it in tracker-shell.css is scoped to body.desk-money /
   body.desk-power — so on shared pages (the homepage included) the field
   folds out unstyled. Re-declared here unscoped, so the masthead Subscribe
   behaves the same everywhere, and so the Rap Sheet can reuse the pattern.
   ---------------------------------------------------------------------- */
.subform { --sub-accent: var(--ink, #110D08); position: relative; display: flex; align-items: center; gap: 12px; }
/* flex:0 0 auto + min-width:0 so a closed wrap really occupies nothing —
   without them the 230px input inside can force the item wider than width:0
   and shove the button off the left margin. */
.subwrap { position: relative; display: flex; align-items: center; height: 38px; width: 0; min-width: 0; flex: 0 0 auto; overflow: hidden; transition: width .34s cubic-bezier(.22,.61,.36,1), margin .34s cubic-bezier(.22,.61,.36,1); }
.subform.open .subwrap { width: 230px; }
.subemail {
  width: 230px; min-width: 0; box-sizing: border-box;
  border: 0; outline: none; background: transparent;
  font: 400 12.5px/1 var(--mono, "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace); color: var(--ink, #110D08);
  padding: 6px 2px; opacity: 0; transition: opacity .2s ease .34s;
}
.subform.open .subemail { opacity: 1; }
.subemail::placeholder { color: rgba(17, 13, 8, .5); }
.subemail:focus { outline: none; box-shadow: none; border: 0; }
.subemail:focus-visible { outline: 2px solid var(--sub-accent); outline-offset: -2px; }
.subline {
  position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--sub-accent);
  transform: scaleX(0); transform-origin: right center;
}
.subform.open .subline { transform: scaleX(1); transition: transform .5s cubic-bezier(.22,.61,.36,1); }
