/* ============================================================
   CONCEPTO P — FLUID
   No sectioned lines. Words are not underlined, lists are not ruled into cells,
   steps are not ticked with dashes. A link reads by its ink and answers the hand
   by its ink; a row is separated by air; the room you are in is told by the word
   at full ink, the others quieter. Loaded last, so it is the word that stands.

   Lines that ARE the thing stay: an input's baseline (where to write), the
   materials map's threads (they are its facts), the newspaper's own column rules,
   and the Documents (the certificate's ruled sheet, which P keeps as it is).
   ============================================================ */

/* ---- the letterhead: no hairline under the room, no bar before the Members' words ---- */
#nav .nav-glass,
.mbm .mbm-rule,
.mbm::before{ display:none !important; }

/* ---- links: no underline anywhere in the house but the Documents ---- */
#app a:not(:is(.prv-body, .prv-cert, .prv-way, .prv-issued, .prv-doc, .prv-sheet) a),
.mbm a,
#nav a{
  text-decoration:none !important;
  border-bottom-color:transparent !important;
}
.ls-way,
.page-making .mk-choose,
.page-making .mk-way,
.launch-again,
.at-share,
.mem-go{
  background-image:none !important;
  border-bottom-color:transparent !important;
  text-decoration:none !important;
}
/* the hand finds them (house/hand.js): the one-off ink lift that stood here is gone; every word answers the same way */

/* ---- the register: rows separated by air, not by rules ---- */
.rg-l td,
.ac-row > td,
.ac-trio,
.ac-f,
.rg tr{ border-top-color:transparent !important; border-bottom-color:transparent !important; }
.rg thead th{ box-shadow:none !important; }
/* a held column head is cut from the page's own white, so the rows pass cleanly under it */
.rg.is-stuck thead th{ background-color:#FFFFFF; }
.rg.is-stuck thead th::after{ content:none; }
/* the line the hand is on is lifted by a breath of shade instead */
.rg-l:hover td{ background-color:rgba(26,24,20,.025); }

/* ---- steps and indexes: numbers, no tick-dashes ---- */
.page-making .mk-mark-line,
.ins-index-b i{ display:none !important; }

/* ---- decorative rules ---- */
.launch-kept-rule,
.ed-mast-rule,
.bd-rule,
.lr-turn-rule,
.lv-rule,
.nn-rule,
.lib-c-rule{ display:none !important; }
.ed-places li,
.ed-places li:last-child,
.ed-mast-foot{ border-top-color:transparent !important; border-bottom-color:transparent !important; }

/* ---- underlines drawn as shadows: gone too; the chosen word is told by its ink ---- */
.ng-word, .ng-word[aria-pressed="true"], .ng-word:focus-visible,
.rf-f, .rf-f[aria-expanded="true"], .rf-f:focus-visible, .rf-v:focus-visible,
.nf-mat .nf-mat-n, .nf-mat:hover .nf-mat-n, .nf-mat:focus-visible .nf-mat-n,
.page-ledger.is-salon .lr-tabs .lr-tab.is-front{ box-shadow:none !important; }
.ng-word[aria-pressed="false"]{ opacity:.55; }
/* a keyboard still finds every word it lands on, by its ink: the word thickens a hair and its letters lift (hand.css,
   house/hand.js); nothing is drawn round it */
.ng-word:focus-visible, .rf-f:focus-visible, .rf-v:focus-visible, .nf-mat:focus-visible,
.ls-way:focus-visible, .launch-again:focus-visible, .at-share:focus-visible, .mem-go:focus-visible,
body.launch-paper .launch-mem:focus-visible{ outline:none; opacity:1; -webkit-text-stroke:.022em currentColor; }
.ng-word{ transition:opacity var(--slow, .46s) var(--settle, ease), color var(--slow, .46s) var(--settle, ease); }

/* ---- the Ledger: the column heads are held under the letterhead, on the register's own white (the letterhead itself has no band) ---- */
.rg thead th{ top:var(--nav-h) !important; background-color:#FFFFFF; }

/* ---- the bench (the materials map) and its index: air, not rules. The find field keeps its baseline. ---- */
.mm-k, .mm-t,
.mm-k[aria-pressed="true"], .mm-t[aria-pressed="true"], .mm-t[aria-expanded="true"],
.mm-way, .mm-plate-ways .mm-way, .mm-met-a,
.mm-ix th[aria-sort] .mm-ix-h > span:first-child{ border-bottom-color:transparent !important; }
.mm-sec, .mm-paper .lib-ds-general{ border-top-color:transparent !important; box-shadow:none !important; }
.mm-j-row li, .mm-j-row li.is-on{ border-top-color:transparent !important; }
.mm-met-l li, .mm-met-l li:first-child,
.mm-rows > div, .mm-rows > div:first-child{ border-top-color:transparent !important; border-bottom-color:transparent !important; box-shadow:none !important; }
.mm-ix thead th, .mm-ix tbody tr{ border-bottom-color:transparent !important; }

/* ---- the lists arrive as you read: each line of the register and of the bench's index rises
   out of the paper as it enters the screen, led by the scroll itself (no clock, no observer) ---- */
@keyframes cp-line-rise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .rg tr.rg-l,
    .mm-ix tbody tr{
      animation:cp-line-rise linear both;
      animation-timeline:view();
      animation-range:entry 0% entry 90%;
    }
  }
}

/* ---- the ripple lives in house/hand.js now (letters moved by their own offset, no keyframes here) ---- */

/* ---- the Instruments mast: its name stays ----
   The lacquer word is the name; the press under it is only its plate. When the plate's canvas
   arrived, an older rule hid every word beside a canvas, the lacquer one too, so the name vanished.
   (The early-bird wall is house/held.js now, and white by itself.) */
.ins-press:has(canvas) ~ .ins-mast-word.is-gloss,
.ins-press.is-on ~ .ins-mast-word.is-gloss{ display:block !important; }
