/* y00r's logo and its big words in ICAI Block, the owner's font (2026-10-21: "UPDATE Y00R WEBSITE TO USE OUR FONT TOO,
   LOGO UPDATE URGENTLY NEEDED NOW"), as on the business card: Y00R with its two thin slashed 0s in lime, and the motto
   UGLY FIX IT!. Linked last on every page that draws the logo, so it wins over each page's own font; sizes, places and
   the eyes' blink stay the page's. The font has capitals only: small letters come out as capitals. Since 2.4.17 every
   other word is in ICAI Text (below; 2.3.0 to 2.4.16: Tiny5). 2.4.17: the fonts' records say whose they are (the owner,
   2026-10-22: "IT SAYS OWNED BY ICAI, IT'S OWNED BY ME."): icai-block.woff2 at ?v=3, its letters unchanged. */
@font-face { font-family: 'ICAI Block'; src: url('icai-block.woff2?v=4') format('woff2'); font-display: block; }
/* 2.4.17: ICAI Text, the owner's reading font (2026-10-22: "Put Light on the sites (ICAI and y00r body text)?" "2 YES",
   and "ICAI Text: SHIP"): ICAI Block Light's capitals with a lowercase, accents and kerning, one weight. Its bold is
   ICAI Block itself (600 and up: the heavier capitals), never a browser's smeared one; ICAI Block Light is here for a
   label that wants it (--light). */
@font-face { font-family: 'ICAI Text'; src: url('icai-text.woff2?v=3') format('woff2'); font-weight: 100 599; font-display: block; }
@font-face { font-family: 'ICAI Text'; src: url('icai-block.woff2?v=4') format('woff2'); font-weight: 600 1000; font-display: block; }
@font-face { font-family: 'ICAI Block Light'; src: url('icai-light.woff2?v=3') format('woff2'); font-weight: 100 1000; font-display: block; }
@font-face { font-family: 'Tiny5'; src: url('tiny5.woff2?v=1') format('woff2'); font-display: block; }   /* the gray header words (SIL OFL 1.1: tiny5-ofl.txt) */
:root { --block: 'ICAI Block', ui-monospace, Menlo, Consolas, monospace; --tag: 'Tiny5', ui-monospace, Menlo, Consolas, monospace;
	--light: 'ICAI Block Light', 'ICAI Block', ui-monospace, Menlo, Consolas, monospace;
	--body: 'ICAI Text', ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace; }

/* 2.3.0: every word that is not ICAI Block in one font (the owner, 2026-10-21: "REPLACE ALL NON-ICAI FONT WITH THAT"),
   since 2.4.17 ICAI Text (it was Tiny5): the body text, headings, fields, their placeholders, tables, code, the charts'
   words, on every page of y00r's own. One rule, !important, so it wins over each page's own font: shorthands (font:
   13px/1.5 var(--mono)) on classes, a field's or code's own font. It never reaches what is ICAI Block (the logo,
   stickers, big words, buttons, the code box) or anything inside it, so those keep their font, their spacing and their
   fallbacks exactly as before; nor the pictures of a business's site (Pricing's ugly and pretty glow-up, HQ's countdown
   sample: drawn in that site's fonts). Its spacing 0 (ICAI Text kerns itself) and nothing made up by the browser (a
   smeared bold, a slant): a bold word is in ICAI Block's capitals (the faces above). A browser that cannot read the
   :not() list drops the rule and shows the pages' own fonts. Sizes: each page's own, on the 8px grid Tiny5 left (16,
   24, 32px...), where ICAI Text is sharp too (measured 2026-10-22: at 16 and 24px on a phone's screen its strokes blur
   least; 18px, a laptop's scaled 16, more). Signs it has not (arrows, the cross, the tick, emoji, letters past
   Latin-1) fall back to the monospace after it. */
html, body,
body :not(.mark, .mark *, .nl-mark, .nl-mark *, .y-mark, .y-mark *, .sticker, .sticker *, .start h1, .start h1 *, .reveal h2, .reveal h2 *,
	.act-big, .act-big *, .nl-hero h1, .nl-hero h1 *, .pr-hero h1, .pr-hero h1 *, .pay-main > h1, .pay-main > h1 *,
	button:not(.plan-pick, .link, .sugg-b:not(.iv-go)), button:not(.plan-pick, .link, .sugg-b:not(.iv-go)) *, input[type="submit"], input[type="button"], .btn, .btn *, .button, .button *, .btnlink, .btnlink *,
	a[class*="-btn"], a[class*="-btn"] *, a[class*="-cta"], a[class*="-cta"] *, a[class$="-go"], a[class$="-go"] *, .pr-p-cta > span, .pr-p-cta > span *,
	.iv-go, .iv-go *, .tm-see, .tm-see *, a.open, a.open *, #goid, .pr-ugly, .pr-ugly *, .pr-pretty, .pr-pretty *, .cdsample, .cdsample *,
	body:not(.hq-shell) .top .tag, body:not(.hq-shell) .top .tag *, body:not(.hq-shell) .top .go label),
body :not(#goid, .pr-ugly *, .pr-pretty *, .cdsample *)::placeholder {
	font-family: var(--body) !important; letter-spacing: 0 !important; font-synthesis: none; }
/* the browser's own sizes on its grid too, where a page sets none (a field's 13.33px, small's, an h3's 1.17em) */
:where(small:not(button *), select, input:not([type="submit"], [type="button"]), textarea, h4, h5, h6) { font-size: 16px; }
:where(h3) { font-size: 24px; }

/* the logo, wherever it is drawn: the header's, the shared header's (nl-, y-), the Desk's, an invoice's */
.mark, .nl-mark, .y-mark, .brand .mark { font-family: var(--block); font-weight: 400; font-synthesis: none; letter-spacing: .02em; }
.mark .eye, .nl-mark .eye, .y-mark .eye, h1 .eye, .slogan .eye { color: #c8ff2e; }

/* the stickers by the logo (UGLY FIX IT!, PRETTY PENNY!, REAL...) */
.sticker, .nl-mark > i { font-family: var(--block); font-weight: 400; font-style: normal; font-synthesis: none; letter-spacing: .04em; }

/* the big words of the public pages */
.start h1, .reveal h2, .act-big, .nl-hero h1, .pr-hero h1, .pay-main > h1 { font-family: var(--block); font-weight: 400; font-synthesis: none; letter-spacing: .02em; }
.sheet .mark .eye { color: inherit; }   /* on paper (an invoice, a quote) the eyes stay ink: lime on paper cannot be read */

/* Every button in ICAI Block too (the owner, 2026-10-21: "Y00R BUTTONS ALL ICAI FONT"): real buttons and the links
   dressed as buttons. A sign the font does not have (a cross, an arrow) falls back to the page's monospace. A plan's card on Plans is a button too, but it is
   a card of words and prices to read: it keeps the page's font. 2.2.2: the buttons only, never what holds them: "open" is also the Desk's open
   conversation and a chat card, .pr-b Pricing's benefits, .nlgo a row in HQ's lessons, and -cta and -go name rows of buttons too (their text went
   all ICAI). The pretend buttons in pictures (Pricing's glow-up, HQ's countdown sample) keep it. 2.6.5 (PD-521, the owner:
   "THE SUGGESTION BUTTONS THAT ARE SUPPOSED TO REALLY BE CHAT TEXT SHOULD SHOW THE BUTTONS IN ICAI-TEXT"): the chat's
   suggestions (.sugg-b: the AI's, the interview's answers, the quick picks) are words to read, in ICAI Text at 400 (app.css);
   the small box's Go (.iv-go) stays a button in ICAI Block. 2.6.20 (PD-530, the QA sweep): a link inside a sentence that is
   a button underneath (.link: Keep it awake, Make it real, Lock my page, Have a code?, Remove, Split it...) is words too,
   in ICAI Text; this rule and app.css's had the same weight and this one, linked later, won. */
button:not(.plan-pick, .link, .sugg-b:not(.iv-go)), input[type="submit"], input[type="button"], .btn, .button, .btnlink, a[class*="-btn"], a[class*="-cta"], a[class$="-go"],
.pr-p-cta > span, .cdsample .cds-go, .iv-go, .tm-see, a.open {
	font-family: var(--block) !important; font-weight: 400 !important; font-synthesis: none; letter-spacing: .04em; }

/* The code box in ICAI Block too (the owner, 2026-10-21: "THE CODE TEXTBOX FONT SHOULD BE ICAI"): the front page's "Your code"
   and new's "Have an id?", its placeholder too. The font has capitals only, so a98f shows as A98F; the code is read lowercase. */
#goid, #goid::placeholder { font-family: var(--block); font-weight: 400; font-synthesis: none; }

/* The gray header text in Tiny5 (the owner, 2026-10-21, picking from the previews: "c TINY5"): the tagline by the logo (the
   front page, Plans, the audit, Paid, my.) and the "Your code" label. 16px, its pixels square (no spacing, no synthesis).
   HQ's own tag is a badge in its colour, not this gray text: it keeps its size (in the body font, ICAI Text since 2.4.17).
   app.css's start-page rules size it too. 2.4.17: the body rule above leaves these out, so they stay in Tiny5 with the
   body in ICAI Text (from 2.3.0 to 2.4.16 the body rule gave them Tiny5 too). */
body:not(.hq-shell) .top .tag, body:not(.hq-shell) .top .go label { font-family: var(--tag); font-weight: 400; font-size: 16px; letter-spacing: 0; line-height: 1.1; font-synthesis: none; }

/* 2.4.20: every error line of a checkout, the plans page, an invoice or a quote in the reading face (the owner, 2026-10-22:
   "THE ERROR MESSAGE IT POPS UP WOULD BE MORE READABLE IN THE ICAI TEXT NOT BLOCK OR MAYBE ITS JUST IN ALL CAPS BUT IT SHOULD
   BE IN THE MORE READABLE TEXT STYLE"): weight 400 (ICAI Text's 600 and up is ICAI Block's capitals, above), sentence case,
   16px at the least. Its link too (Talk to us), whatever holds it. */
.pay-say, .pay-say *, .addr-say, .addr-say *, .code-say, .code-say :not(button), #other-device, #other-device *, .owner-note,
.act .err, .act .err *, #approve-err, #approve-err *, .banner, .banner * {
	font-family: var(--body) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important;
	font-synthesis: none; font-size: max(16px, 1em); }


/* 2.4.27: the top box ("Your code", its box, Go) all capitals, typed and placeholder too (the owner, 2026-10-22: no
   lowercase in the upper right top box). The code is still read lowercase (app.js go()). */
.top .go, .top .go *, .top #goid, .top #goid::placeholder { text-transform: uppercase; }
