/* ══ CLEAN-UP LAYER, the site and the Field (5 Nov 2026 look test) ═══════════════════════════════════════════════
   The "unslop" rules in the site's own look (white, Instrument Serif + Instrument Sans, one orange #ff4f1f):
   one sans (Instrument Sans, no Inter beside it), one way to show a figure (sans, tabular, right-aligned), labels in
   sentence case without tracking, one button size, real icons instead of letters. Loaded last. */
:root{ --cs-sans:"Instrument Sans", system-ui, sans-serif; --cs-ink:#111; --cs-mid:#6b675f; --cs-line:#e6e2da; --cs-h:32px; }

/* ── the Field's panels: one sans ── */
#cartouche, #cartouche *, #legendbox, #legendbox .lt ~ *, #tour, #tour *, #tools, #tools *, #map-search, #map-secs a{ font-family:var(--cs-sans) !important; }
#cartouche h1, #legendbox .lt, #tour-title{ font-family:"Instrument Serif", serif !important; }
/* the survey line: a plain sentence, not a grey pill of capitals */
#surveyed{ background:none !important; border:0 !important; padding:0 !important; margin:4px 0 8px !important; text-transform:none !important; letter-spacing:0 !important;
  font:400 13px/1.4 var(--cs-sans) !important; color:var(--cs-mid) !important; text-align:center; }
/* the figures: one style, lined up on the right */
#cartouche td{ font:400 14px/1.2 var(--cs-sans) !important; padding-top:8px !important; padding-bottom:8px !important; }
#cartouche td.nf, #cartouche #tvl-cell, #cartouche td:last-child{ font:500 15px/1.2 var(--cs-sans) !important; font-variant-numeric:tabular-nums lining-nums; text-align:right; color:var(--cs-ink); }
/* the "post on X" button: the X mark in a circle, not the capital letter X (which read as a close button) */
#cart-x{ width:28px !important; height:28px !important; padding:0 !important; border-radius:50% !important; border:1px solid #111 !important; background:#fff !important;
  font-size:0 !important; line-height:0 !important; display:inline-flex !important; align-items:center; justify-content:center; }
#cart-x::before{ content:""; width:12px; height:12px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") center/contain no-repeat; }
/* the tour: its step count in plain words */
#tour .step{ text-transform:none !important; letter-spacing:0 !important; font:500 13px var(--cs-sans) !important; color:var(--cs-mid) !important; }
#tour .step::first-letter{ text-transform:uppercase; }
/* the same four sizes as the game (owner, 5 Nov: "a standard size for each button"): M 36 for the map's tools and the
   tour's buttons, at least 96 wide so a row of them reads as one set; S 28 for the quick links under the search */
#tools button, #tools a.btn, #tour .row button{ height:36px !important; min-height:36px !important; min-width:96px; padding:0 14px !important; font:500 13px/1 var(--cs-sans) !important; letter-spacing:0 !important;
  display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:999px !important; box-sizing:border-box; }
#map-secs a{ height:28px !important; padding:0 12px !important; font:500 12px/1 var(--cs-sans) !important; letter-spacing:0 !important;
  display:inline-flex; align-items:center; border-radius:999px !important; box-sizing:border-box; }
#cartouche [hidden], #tools [hidden], #tour [hidden]{ display:none !important; }

/* ── the front page: when a fighter's move passes behind a chapter's headline (the Game's kick put a black boot behind
   "back."), the words keep a thin paper halo so they stay readable. Nothing shows on plain paper. ── */
body:has(.chapters) .ch h2{ text-shadow:0 0 1px var(--bg,#fbfaf7), 0 0 3px var(--bg,#fbfaf7), 0 0 6px var(--bg,#fbfaf7), 0 0 10px var(--bg,#fbfaf7); }
/* the panels' fold markers: the same 28 px circle as the X button, a drawn chevron instead of the ▾ character,
   and the X button on the same centre line as the title's marker */
#cartouche h1::after, #legendbox .lt::after{ content:"" !important; width:28px !important; height:28px !important; box-sizing:border-box; border:1px solid #111 !important; border-radius:50% !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23111' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat !important;
  font-size:0 !important; display:inline-block !important; vertical-align:middle; }
#cart-x{ top:19px !important; right:56px !important; }

/* ══ THE FOUR SIZES ON EVERY SITE PAGE (5 Nov 2026, owner: "a standard size for each button") ════════════════════
   XL 56 the one big call on a page · L 48 an action in a section or card · M 36 a control in a bar, tabs, icon
   buttons, a field with its button · S 28 filters, sort, tags, Copy. Heights are fixed; text is centred in them. */
:root{ --s-xl:56px; --s-l:48px; --s-m:36px; --s-s:28px; }
.site-wallet > button, #btn-wallet, .works-go, #close.x, #close.close, .eb-pill, #tr-more, #pay > button, #count > button, #seg > button,
.site-wallet > button, #hostBtn, #connect.btn, #pay.btn, a.pill, #caCopy, .eb-chips > button, #tr-filter, #tr-sort, .tb-map, .units > button,
#map-search input, .eb-filters input, #q, form#find.find, form#find.find button{
  box-sizing:border-box !important; letter-spacing:0; }
/* M 36: the header's Connect, the Field's wallet button, small calls, round close buttons, tabs and pickers */
.site-wallet > button, #btn-wallet, .works-go, .eb-pill, #tr-more, #pay > button, #count > button, #seg > button,
#map-search input, .eb-filters input{ height:var(--s-m) !important; min-height:var(--s-m) !important; }
.site-wallet > button, #btn-wallet, .works-go, .eb-pill, #tr-more, #pay > button, #count > button, #seg > button{ display:inline-flex; align-items:center; justify-content:center; line-height:1 !important; padding-top:0 !important; padding-bottom:0 !important; }
#close.x, #close.close{ width:var(--s-m) !important; height:var(--s-m) !important; padding:0 !important; display:inline-grid; place-items:center; line-height:1 !important; }
/* a picker reads as one control: every option one width */
#count > button{ min-width:52px; } #pay > button{ min-width:140px; } #seg > button{ flex:1 1 0; min-width:0; }
/* L 48: actions in a section or card */
a.pill, #hostBtn, #connect.btn, #pay.btn, #q{ height:var(--s-l) !important; min-height:var(--s-l) !important; }
a.pill, #hostBtn, #connect.btn, #pay.btn{ display:inline-flex !important; align-items:center; justify-content:center; line-height:1 !important; padding-top:0 !important; padding-bottom:0 !important; }
/* a field with its button inside: the field L 48, the button M 36, 6 px in from every edge */
form#find.find{ height:var(--s-l) !important; min-height:0 !important; padding:6px 6px 6px 20px !important; display:flex !important; align-items:center; }
form#find.find button{ height:var(--s-m) !important; min-height:0 !important; padding:0 18px !important; display:inline-flex; align-items:center; line-height:1 !important; }
/* S 28: filters, sort, tags, Copy */
#caCopy, .eb-chips > button, #tr-filter, #tr-sort, .tb-map, .units > button{ height:var(--s-s) !important; min-height:var(--s-s) !important; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important; }
#caCopy, .eb-chips > button, .tb-map, .units > button{ display:inline-flex !important; align-items:center; justify-content:center; }
/* XL 56: the mint's one call (already 56), kept exact */
#go.go{ height:var(--s-xl) !important; min-height:var(--s-xl) !important; }
/* the code hides what it does not need: never shown by these rules */
.site-wallet [hidden], #pay [hidden], #count [hidden], #seg [hidden], [style*="display: none"].pill, [style*="display: none"].eb-pill, .pill[hidden], .btn[hidden], #connect[hidden], #pay[hidden], #hostBtn[hidden]{ display:none !important; }
/* a back link at the top of a side panel is S 28, not a section's call */
.side .top > a.pill{ height:var(--s-s) !important; min-height:var(--s-s) !important; padding:0 12px !important; font-size:12px !important; }

/* ── the act pages' demos and the Field's phone sheet, same four sizes ── */
.pick > button, .pick > input, .rank > .pill, .hhbtns > button, #tAmt, #who > button, #ph-close, .sections > button{
  height:var(--s-m) !important; min-height:var(--s-m) !important; box-sizing:border-box !important; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important; }
.pick > button, .rank > .pill, .hhbtns > button, .sections > button{ display:inline-flex; align-items:center; justify-content:center; }
.stepper > button, #who > button, #ph-close{ width:var(--s-m) !important; height:var(--s-m) !important; min-height:0 !important; padding:0 !important; display:inline-grid; place-items:center; line-height:1 !important; box-sizing:border-box !important; }
.seg > button, .adds > button, #caBtn{ height:var(--s-s) !important; min-height:var(--s-s) !important; box-sizing:border-box !important; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important; display:inline-flex; align-items:center; justify-content:center; }
.row > button.pill{ height:var(--s-l) !important; min-height:var(--s-l) !important; box-sizing:border-box !important; display:inline-flex; align-items:center; justify-content:center; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important; }
.pick [hidden], .hhbtns [hidden], .seg [hidden], .adds [hidden], .sections [hidden], .row > .pill[hidden]{ display:none !important; }
/* the council's gate: its one call is L 48 */
#gate .go{ height:var(--s-l) !important; min-height:var(--s-l) !important; box-sizing:border-box !important; display:inline-flex; align-items:center; justify-content:center; padding-top:0 !important; padding-bottom:0 !important; line-height:1 !important; }
