/* ══════════════════════════════════════════════════════════════════════════
   density.css, THE PARADEX DENSITY AND POLISH PASS (2026-09-14)

   ONE FILE, LINKED LAST, AND THAT IS THE WHOLE POINT. Every declaration in
   here re-points something instrument.css set. instrument.css is not edited
   and must not be: deleting the single <link> line for this file in
   index.html reverts this entire pass and nothing else.

   The work order is research/ui-paradex/PARADEX-UI.md section 6, a teardown of
   app.paradex.trade captured live on 2026-09-14. Every number below is quoted
   from a measurement in that report, not chosen. The four that matter:

     12px carries 82.4% of all text on Paradex, 13px another 14.7%.
     There is no 14px, no 15px and no 16px anywhere on the page.
     letter-spacing is `normal` on 170 of 170 nodes, uppercase included.
     Two font weights, 400 on 150 nodes and 500 on 20. Nothing else.
     4px is the dominant radius, on 80 elements. No pill radius exists.

   WHAT THIS FILE DELIBERATELY DOES NOT IMPORT is in section 7 of that report:
   no buy/sell CTA pair, no order ticket, no trade path, no wallet, no price.
   Moneyness is a measurement surface for the venues it indexes and their
   investors. A Paradex pattern that only makes sense to someone about to place
   an order is not copied here.

   SPECIFICITY NOTE, load-bearing. instrument.css:343 pins font-family,
   font-size, font-weight, letter-spacing, border-radius and box-shadow with
   !important on `body *:not(svg):not(svg *)`, which is (0,0,3). Component
   sheets win that back with their own !important at class specificity, so two
   !important declarations here resolve by SPECIFICITY first and only then by
   order. Where a rule below has to beat a component's own !important it is
   prefixed `:root:root`, which buys (0,2,0) without naming anything new.

   COST NOTE. The Trades tape renders 2,000 rows, counted in the DOM, not the
   200 that /api/tape's name suggests. Every per-row declaration here is paid
   2,000 times, so the row rules below are type, height and colour only. No
   shadow, no filter, no backdrop, nothing that forces per-row layout.
   ══════════════════════════════════════════════════════════════════════════ */


/* ══ 1. TOKENS ════════════════════════════════════════════════════════════
   The single highest-leverage block in the pass. instrument.css:344 pins
   `font-size: var(--t-sm) !important` on a near-universal selector, so
   re-pointing one token moves the whole site. */

/* ── RANK 1 IS NOT IMPLEMENTED, AND THAT IS A FINDING, NOT AN OMISSION ────
   PARADEX-UI.md ranks "restore the dead row hover" first and reads
   instrument.css:65 and :215 resetting --glass to `transparent`. Both lines
   are real. Neither is the last word, and the conclusion drawn from them does
   not survive contact with the rendered page. Measured here, on computed
   pixels, with density.css toggled off and on in the same session:

     --glass on the live page   rgba(28, 22, 17, 0.55)   NOT transparent
     .tw-row background, idle   rgba(0, 0, 0, 0)
     .tw-row background, hover  rgba(248, 244, 240, 0.06)   CHANGED = true

   Two things the report missed. First, instrument.css:3847 RE-DECLARES
   --glass further down the same file as the chrome glass material, so the
   resets at :65 and :215 are superseded. Second, tools.css:1321 is not the
   rule that paints the hover at all: instrument.css:1316 carries
   `body .tw-row:hover` and wins on specificity, and it paints --hover-wash,
   which instrument.css:5213 sets to rgba(248, 244, 240, .06).

   THE ROW HOVER WORKS, AND IT IS ALREADY THE PARADEX NUMBER. Paradex's
   primitive is rgba(232, 232, 232, 0.05). Ours is rgba(248, 244, 240, 0.06).
   There is nothing to fix.

   The first draft of this file DID write `--glass: rgba(255,255,255,.05)` on
   the strength of the report, and that would have been a regression, not a
   fix: --glass is the 55% opaque glass material behind the masthead, the
   colophon and every .sc-row, .sc-b and .op-l-r hover. Turning it into a 5%
   white wash would have emptied all of them to chase a hover that was never
   broken. It is removed. */

:root,
:root[data-theme="dark"] {
  /* Rank 2. THE TYPE SCALE, PUT BACK. instrument.css:3090-3093 transposed it
     UP on 2026-08-05 and left the old values in its own comments. This is the
     owner's "looks too big" complaint and it is one block.

       --t-xs   11px -> 10px   Paradex runs 10px on its PERP tag
       --t-sm   15px -> 12px   Paradex: 140 of 170 text nodes
       --t-md   16px -> 13px   Paradex: 25 of 170, the second tier
       --t-dense 13px          already correct, restated so the ladder reads
       --t-lg   30px -> 20px   see below */
  --t-xs: 10px;
  --t-sm: 12px;
  --t-md: 13px;
  --t-dense: 13px;

  /* --t-lg is NOT a heading token in this app, it is the FIGURE token: the
     eleven venue counts on Compare and the Premium KPI figures. Left at 30px
     against a 12px body it would go from 2.0x to 2.5x the body and become the
     loudest thing on a screen that just got quieter. 20px is not invented: it
     is the one step HANDOFF-UI.md section 6.2 records as already existing in
     the app, used 11 times on the footer odometer. At 20/12 it is 1.67x,
     between Paradex's 16px menu title and its 18px last traded price. */
  --t-lg: 20px;

  /* Rank 4. ONE LINE, 90 CALL SITES. --tr-label is instrument.css:174's token
     for spaced uppercase micro labels and it is referenced from detail.css,
     chrome.css, payoff.css, today.css, screener.css, premium.css, system.css,
     marketstate.css, trades-anim.css and instrument.css itself. Paradex spaces
     nothing, including its 10px uppercase PERP tag. Spaced uppercase micro
     labels are the loudest "designed by someone" tell on the page. */
  --tr-label: normal;

  /* Rank 6. RADII. Paradex: 4px on 80 elements, 2px on its 13 large panels,
     nothing above 9px, and NO PILL ANYWHERE. --r-pill goes to 4px rather than
     being deleted so the ~30 call sites keep resolving. */
  --r-mark: 2px;
  --r-ctl: 4px;
  --r-card: 4px;
  --r-pill: 4px;
  --r: 4px;
}


/* ══ 2. THE SCALE'S TWO HARD-CODED EXCEPTIONS ═════════════════════════════
   Two places pin a literal px instead of a token, so the token change above
   cannot reach them and they would be left stranded above the new ladder. */

/* instrument.css:3118 steps the markets board value to 17px ("the data step",
   15 -> 17). Measured on Compare at 1440: 55 nodes. Against a 12px body that
   would now be 1.42x rather than 1.13x. 13px is --t-dense, the same second
   tier Paradex gives its 25 second-tier nodes. */
:root:root body .sc-c b { font-size: var(--t-dense) !important; }

/* instrument.css:2718 pins a panel heading at 17px. Same argument. */
:root:root body .sh-pro-h h4 { font-size: var(--t-md) !important; }


/* ══ 3. RANK 3, THE TAPE ROW PITCH, 44px TO 28px ═════════════════════════

   tools.css:1268 states `.tw-row { height: 44px }`. Paradex's order book row
   is 24px and its trades tape row is 22px, both single line, both with the
   height stated on the row and line-height 1.0 so nothing inside can push it.

   28px AND NOT 24px, AND THE REASON IS ARITHMETIC, NOT TIMIDITY. A Paradex
   book row carries ONE line. Every Moneyness tape cell carries a two-line
   stack, a primary and a sub, in nine columns. tools.css:1790-1816 records
   what happens when that arithmetic is got wrong: the stacks are
   flex-direction column, flex-shrink defaults to 1, so type that does not fit
   does not clip, it SQUASHES, and glyph rows slide through each other. That
   shipped once, on 2,000 rows, in four of nine columns.

   The arithmetic for 28px, done before the number was chosen:

     row                     28px
     less 1px border-bottom  27px of box
     less 0 + 0 padding      27px of content        (padding zeroed below)
     .p   12px x 1.1     ->  13.2px
     .s   10px x 1.1     ->  11.0px
                         ->  24.2px of content wanted
     slack                   2.8px

   Paradex's own rule for a fixed-height row is line-height 1.0; 1.1 here buys
   the descenders back on a mono face and still clears the box. The `flex: none`
   guard tools.css:1818 added stays in force, so if this is ever broken again
   it fails by clipping, which is legible, not by squashing, which is not.

   28px is even. tools.css:1265 explains why that matters: a fractional row
   height lands every second border on a half pixel at 1x DPR and the hairlines
   render at two different weights down the page.

   WHAT IT BUYS. In the 626px Paradex gives its book, 44px fits 14 rows and
   28px fits 22. The report measured Paradex at 26. Same pixels, 57% more
   facts, and the tape is the surface the product's whole claim lives on. */

:root:root body .tw-row { height: 28px !important; }

/* Zero vertical padding, and the height above is what makes that safe. Section
   7 of the report is explicit that copying Paradex's `padding: 0 16px` WITHOUT
   also stating the height gives a row whose height is set by whatever wraps
   first. The height is stated. 12px horizontal rather than 16px: nine columns
   in the width Paradex gives two. */
:root:root body .tw-body .tw-c {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* The two stacked lines. tools.css:1743-1745 and instrument.css:3110 both pin
   these with !important at (0,1,2); these are (0,2,2) and later, so they win. */
:root:root body .tw-c .p,
:root:root body .tw-c b { font-size: var(--t-sm) !important; }
:root:root body .tw-c .s { font-size: var(--t-xs) !important; }
:root:root body .tw-body .tw-c .p,
:root:root body .tw-body .tw-c .s { line-height: 1.1 !important; }

/* Age is the quietest live value in the row, so it takes the sub size, not the
   primary one. tools.css:1411 already says this; the size ladder moved under it. */
:root:root body .tw-c.c-age { font-size: var(--t-xs) !important; }

/* THE SEPARATOR IS PART OF THE SUB LINE AND IT WAS NOT MOVING WITH IT.
   tools.css:1409 gives .sep its own span so "$65,000 · +1.1%" reads as two
   facts, and it inherits its size from whatever last won. Left at 13px inside
   a 10px sub line it set that line's box to 14.3px instead of 11px and pushed
   the two-line stack 3px past its cell, measured on .c-act at 60 rows. That is
   the exact failure mode tools.css:1790 documents: the stack does not clip, it
   SQUASHES. Sized with the line it sits in, the stack fits. */
:root:root body .tw-c .sep,
:root:root body .tw-c .s i,
:root:root body .tw-c .s em { font-size: var(--t-xs) !important; }

/* THE HEADER ROW. Paradex's is 26px against a 24px body row. instrument.css's
   §69 re-space block pushed this to 12px top and bottom, which made a 10px
   label sit in a 36px box. 6px each side puts it at ~26px. */
:root:root body .tw-head .tw-c {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  letter-spacing: normal !important;
}

/* instrument.css:3130 sets `line-height: 1.5` on .tw-row and .tw-head as part
   of the same re-space. At a stated 28px height that is dead weight on 2,000
   rows and it fights the arithmetic above. */
:root:root body .tw-row,
:root:root body .tw-head { line-height: 1.1 !important; }

/* The window tabs. tools.css:1758 made them "real targets rather than dense
   chips" at 8px padding and an 8px radius. Paradex's secondary tab is 28px
   tall with no radius and no background; this keeps the background and takes
   the height and the corner. */
:root:root body .tw-tab {
  padding: 6px 10px !important;
  border-radius: 4px !important;
}
:root:root body .tw-tabs { gap: 4px !important; margin-bottom: 10px !important; }
:root:root body .tw-hint { margin-bottom: 10px !important; }


/* ══ 4. RANK 4, THE REMAINING TRACKING ═══════════════════════════════════
   --tr-label above covers the 90 sites that use the token. Measured on the
   live page afterwards, these are the literals that were still spacing
   uppercase micro labels out. Paradex: one value, `normal`, 170 of 170.

   NEGATIVE tracking on display FIGURES is deliberately left alone: the hero,
   the footer odometer and h1 carry a small optical correction at 20px and
   above, which is a different thing from spacing a 10px label out to look
   important. Paradex has no text above 18px so it has no opinion here. */
:root:root body .tw-sort,
:root:root body .tw-tab b,
:root:root body .tw-chip i,
:root:root body .controls label,
:root:root body .check,
:root:root body .pill,
:root:root body .card .label,
:root:root body .vl-chip i,
:root:root body .vl-new,
:root:root body p.tag,
:root:root body .rl-n,
:root:root body .rl-new { letter-spacing: normal !important; }


/* ══ 5. RANK 5, TWO WEIGHTS ══════════════════════════════════════════════
   Paradex renders 400 on 150 nodes and 500 on 20, and nothing else. Its tabs
   do not even bold when selected: a selected tab changes COLOUR, #aab0b6 to
   #e8e8e8, and moves a separate sliding underline. Emphasis is colour here
   too, and this app already owns the ladder for it, --ink3 / --ink2 / --ink.

   Measured on the live page before this rule, by rendered node:
     600  2,111 on Trades (2,000 of them one selector), 28 on Today, 13 on Compare
     700  1, the rail's NEW badge
     500  17, the footer odometer and the rail labels
     650  ZERO. style.css:669 and :719 ask for it and both lose to
          instrument.css's blanket, so the synthesised weight is already dead
          in the rendered page and needed no rule.

   400 stays the base: it is already pinned universally and is not touched.

   THIS RULE ONLY DEMOTES, AND THE FIRST VERSION OF IT DID NOT, WHICH THE
   CENSUS CAUGHT. It listed `b`, `strong`, `li`, `.card .label` and
   `.tw-c .p` at (0,2,x) and !important, which beat the more specific rules
   that had been holding those elements at 400. Measured consequence on the
   tape: 7,865 `.p` spans that were weight 400 were PROMOTED to 500, taking
   the page from 92.2% at 400 to 56.0%. That is not collapsing a scale, it is
   widening one, in the opposite direction from the reference.

   The fix is to mirror the app's own architecture instead of overriding it.
   instrument.css:464 already declares emphasis in exactly one place:

     body b, body strong, body .lg.lead, body .rl-item.on .rl-l
       { font-weight: 600 !important }        <- "The app's ONLY second weight"

   Restating that selector verbatim, at the SAME (0,0,2) specificity, later in
   the cascade, moves the second weight from 600 to 500 and changes nothing
   else: every more specific rule that was holding an element at 400, such as
   instrument.css:1227's `body td b, body .tw-c b, body .sc-c b`, still wins
   exactly as it did before. The rest of the list below is the small set the
   census actually measured at 600 or 700 through some other rule. */

/* The app's one second weight, 600 to 500. Selector copied from
   instrument.css:464 so the specificity matches and only the value moves. */
body b, body strong, body .lg.lead, body .rl-item.on .rl-l {
  font-weight: 500 !important;
}

/* The rest of what the census measured above 500, by name and nothing else.

   THE AGE CELL IS NAMED BY ITS STATE, NOT BY ITS CLASS, AND THAT MATTERS.
   `.tw-c.c-age` looks like the right selector and is not: the census found 600
   on 107 age cells and 400 on the other 1,893. Only the rows less than an hour
   old are emphasised, by instrument.css:1466's `.tw-row[data-age-h="0"]`.
   Demoting the class would have PROMOTED 1,893 nodes from 400 to 500, the same
   mistake as above, so the state selector is used instead. */
:root:root body .td-r-v,
:root:root body .td-p-v,
:root:root body .td-say,
:root:root body .td-n,
:root:root body .tw-row[data-age-h="0"] .c-age,
:root:root body .sc-af,
:root:root body .mn-board-h,
:root:root body .mn-hero-n,
:root:root body .mn-hero-lead,
:root:root body .trv-b,
:root:root body h2,
:root:root body .rl-new { font-weight: 500 !important; }

/* THE TAPE'S ASSET TICKER, 2,000 nodes on one screen and the largest single
   block of 600 in the app. instrument.css:1227 declares it as part of a group,
   `body td b, body .tw-c b, body .sc-c b, body .op-cell b, body .cell b,
   body .value, body .ms-v, body .rk-money b`, and ONLY `.tw-c b` is taken
   here. The rest of that group is left alone on purpose: the census measured
   the 55 `.sc-c b` on the Compare board rendering at 400, not 600, because a
   later rule already holds them there, and demoting the whole group promoted
   all 55 from 400 to 500. Compare went from 249 nodes at 400 to 194 on that
   one line. Measured, reverted, and written down so it is not done again.
   Only the weight moves; the colour in that rule is untouched. */
:root:root body .tw-c b { font-weight: 500 !important; }

/* The last two the census found, both in today.css and both at a specificity
   that needed naming: `html body .td-r-a b` (0,1,3) on the ten asset names in
   the WHICH ASSETS list, and `html body .td-ticks li[aria-current="true"]`
   (0,2,3) on the selected window tick. */
:root:root body .td-r-a b { font-weight: 500 !important; }
:root:root body .td-ticks li[aria-current="true"] { font-weight: 500 !important; }


/* ══ 6. RANK 6, RADII ════════════════════════════════════════════════════
   The tokens in section 1 move every rule that asks for one. These are the
   literals that do not. Paradex: 4px on 80 elements, 7px on its eight
   segmented buttons, 2px on 13 panels, 8px on one CTA, 9px on one badge, and
   50% on 7 slider knobs and dots.

   50% IS NOT TOUCHED. Paradex keeps it for round marks and so does this app:
   a round swatch is a shape that means something, not a soft corner. */
/* The same two exclusions as section 9 carries, and for the same reasons:
   .sc-h because a radius curls its border-left column dividers, .tw-b because
   it is the full-cell tape button and rounding it puts a corner on 11,591
   elements on one screen for no visible gain. */
:root:root body button:not(.sc-h):not(.tw-b),
:root:root body .rl-item,
:root:root body .td-r-b,
:root:root body .mn-i,
:root:root body .linkish,
:root:root body .tr-link,
:root:root body .rl-new,
:root:root body .pill,
:root:root body .card { border-radius: 4px !important; }


/* ══ 7. THE RE-SPACE, REVERSED ════════════════════════════════════════════
   instrument.css:3121-3134 is a block titled RE-SPACE whose own comment reads
   "Larger type in the same boxes is just a cramped page in a bigger font, the
   air has to come with it". It multiplied the four vertical rhythms of the
   overview by roughly 1.6 to carry the 15px body.

   The body is 12px again, so the multiplier has to come off with it or the
   page is 12px type floating in 15px spacing, which reads as a mistake in the
   other direction. These are the same four rhythms, back near their pre-§69
   values. Paradex's own content inset is 16px and its inter-panel gap is 2px;
   Moneyness is a reading surface with a rail, not a full-bleed terminal, so it
   keeps a real gutter, just not an inflated one. */
/* VERTICAL ONLY, AND THIS COST A MEASURED REGRESSION TO LEARN. The first
   version of this rule wrote the shorthand `padding: 18px 22px 40px`.
   instrument.css:3127 declares `padding: 30px 34px 56px`, but the HORIZONTAL
   value never reaches the live page: measured on main.stage, the computed
   padding is `30px 0px 56px`. Something later already zeroes the sides.
   Re-adding 22px of side padding took .tw-grid from 1070px to 1026px, which
   dropped it under a CONTAINER QUERY breakpoint in fit.css:242. The tape then
   had nine tracks and ten cells, and the MAKER column rendered at width 0.
   fit.css's own comment warns about exactly this failure. So the sides are
   left alone and only the two rhythms that were actually inflated move. */
:root:root body main.stage {
  padding-top: 18px !important;
  padding-bottom: 40px !important;
  gap: 20px !important;
}
:root:root body .sc-c { padding-top: 8px !important; padding-bottom: 8px !important; }
:root:root body .rowsub { padding: 12px 0 0 !important; line-height: 1.5 !important; }
:root:root body .answer-strip { padding: 14px 0 0 !important; line-height: 1.5 !important; }
:root:root body th { padding: 5px 10px 4px !important; }
:root:root body td:not(.tl-c):not(.cov-c) { padding: 4px 10px !important; }
:root:root body .sc-hl { gap: 20px !important; }

@media (max-width: 1100px) {
  :root:root body main.stage {
    padding-top: 16px !important; padding-bottom: 32px !important; gap: 16px !important;
  }
}
@media (max-width: 700px) {
  :root:root body main.stage {
    padding-top: 12px !important; padding-bottom: 28px !important; gap: 14px !important;
  }
}


/* ══ 8. RANK 9, THE HOVER SYSTEM, FOUR PRIMITIVES AND NO MORE ════════════
   Paradex delivers every piece of interaction feedback through exactly four:
   opacity 0.7 on secondary controls, a colour step from label to primary ink
   on muted labels and tabs, rgba(232,232,232,0.05) behind rows, and a 1px
   dashed border on sortable headers. No scale, no translate, no shadow and no
   glow on any hover on the entire page. Section 1 of the token block restores
   the third of those; this is the second, on the sortable tape headers.

   Rank 10 is deliberately NOT implemented and the report says why: Moneyness
   is already correct on motion. instrument.css:178 sets the same expo-out
   curve Paradex uses, and instrument.css:355 already removed a blanket
   duration that had put a live transition on 52,194 elements. Nothing here
   adds motion. The tape row keeps the one transition it declares for itself.

   AND THE ROW HOVER MEANS "READABLE", NOT "CLICKABLE". On Paradex a hovered
   book row fills a price into an order ticket. There is no ticket here and no
   price. The visual primitive is copied; the affordance is not. */
:root:root body .tw-sort:hover { color: var(--ink) !important; }


/* ══ 9. THE STUBBORN ONES ═════════════════════════════════════════════════
   Measured, not guessed: after sections 1 to 8 landed, the census still
   reported 8px on 16 buttons, 10px on the six rail items, 14px on the rail
   labels and one positive letter-spacing left on the masthead tag. Each had
   lost a specificity fight, and each fight is arithmetic, so here is the
   arithmetic rather than another guess.

     instrument.css:2037
       body button:not(.sc-b):not(.sc-mk):not(.sc-af):not(.tw-b):not(.sc-h)
       body 1 type + button 1 type + FIVE :not(.class) at one class each
       = (0,5,2)
     chrome.css:299   html body header.top .brand .tag   = (0,3,3)
     nav.css:89 / :96 body nav.rail .rl-item / .rl-l     = (0,2,2)

   `:root` is a pseudo-class, so each repetition buys one class-level point and
   names nothing new. Six of them plus `body button` is (0,6,2), which clears
   (0,5,2). This is deliberately ugly so that it is obvious it is a specificity
   device and not a new component, and it is confined to this one block.

   THE 4px IS NOT A PREFERENCE. Paradex's button radius distribution, measured
   across 112 buttons: 4px on 74, 0px on 28, 7px on 8, 8px on 1. */
:root:root:root:root:root:root body button:not(.sc-h):not(.tw-b),
:root:root:root:root:root:root body select,
:root:root:root:root:root:root body .chip,
:root:root:root:root:root:root body .cmd-eg-b,
:root:root:root:root:root:root body .rl-item,
:root:root:root:root:root:root body .rl-new { border-radius: 4px !important; }

/* .tw-b IS EXCLUDED FOR THE SAME REASON instrument.css:2037 excludes it, and
   the census made the second reason concrete: .tw-b is the full-cell button in
   every tape cell, so including it put a border-radius on 11,591 elements on
   one screen. The corner is invisible on a transparent cell and the tape is
   the one surface where a per-row declaration is paid 2,000 times. tools.css
   already gives .tw-b the 4px it wants for its own hover state.

   .sc-h is excluded above for the reason fit.css section 1 spent a paragraph
   on: it is a header cell whose column divider is drawn as a border-left, and
   a border follows the corner, so any radius on it curls nine hairlines away
   from vertical across the board header. It is on instrument.css's exclusion
   list for exactly this and it stays off. */

/* THE RAIL LABEL. nav.css:95 pins it at 14px with the comment "14px, not
   10px", which was the right call against a 15px body. Against a 12px body it
   makes the rail the largest running text on the page. Paradex sets its top
   nav links and its whole bottom tab strip at 13px, its second tier, on 25 of
   170 nodes. That is what a nav is for in this scale, so the rail takes it. */
:root:root:root:root:root:root body nav.rail .rl-l { font-size: var(--t-md) !important; }

/* The masthead descriptor was the one positive letter-spacing the census
   found still standing. */
:root:root:root:root:root:root body header.top .brand .tag { letter-spacing: normal !important; }

/* The board header's sort buttons were the last spaced uppercase label the
   census found, at .08em. Paradex's sortable headers carry no tracking either;
   what they carry on hover is a 1px dashed border, which is section 8's note. */
:root:root:root:root:root:root body .sc-h { letter-spacing: normal !important; }
