/* Cabi & Friends visual system — FT Blank Mono (trial files supplied). Separate sub-brand; scope with data-theme="friends". */
@font-face{font-family:"FT Blank Mono";src:url("../fonts/FTBlankMono-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"FT Blank Mono";src:url("../fonts/FTBlankMono-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
:root{
--font-mono:"FT Blank Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
/* Japanese pairing — FT Blank Mono has no kana/kanji; system gothic fills in */
--font-mono-jp:"FT Blank Mono","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Noto Sans JP",ui-monospace,monospace;
/* Palette — two colours only */
--cf-black:#432F29;
--cf-bone:#F8F6F0;
--cf-surface:var(--cf-bone);
--cf-surface-inverse:var(--cf-black);
--cf-text:var(--cf-black);
--cf-text-inverse:var(--cf-bone);
--cf-rule:var(--cf-black);
--cf-rule-soft:rgba(67,47,41,.25);
--cf-hover:rgba(67,47,41,.06);
--cf-muted:rgba(67,47,41,.62);
/* Lines */
--cf-line-hair:0.5px;
--cf-line:1px;
--cf-line-strong:2px;
/* Shape — square; no shadows */
--cf-radius:0;
--cf-shadow:none;
/* Type scale (all FT Blank Mono) */
--cf-display-size:56px;--cf-display-lh:1.05;--cf-display-ls:-0.01em;--cf-display-wt:300;
--cf-headline-size:32px;--cf-headline-lh:1.1;--cf-headline-ls:0;--cf-headline-wt:300;
--cf-title-size:20px;--cf-title-lh:1.2;--cf-title-ls:0.02em;--cf-title-wt:400;
--cf-body-size:15px;--cf-body-lh:1.55;--cf-body-ls:0;--cf-body-wt:300;
--cf-list-size:14px;--cf-list-lh:1.4;--cf-list-ls:0;--cf-list-wt:400;
--cf-ui-size:12px;--cf-ui-lh:1.3;--cf-ui-ls:0.06em;--cf-ui-wt:400;
--cf-meta-size:11px;--cf-meta-lh:1.35;--cf-meta-ls:0.06em;--cf-meta-wt:400;
/* Spacing */
--cf-space-1:4px;--cf-space-2:8px;--cf-space-3:12px;--cf-space-4:16px;--cf-space-5:24px;--cf-space-6:40px;--cf-space-7:64px;--cf-space-8:120px;
/* legacy aliases */
--type-mono-label-size:12px;--type-mono-label-lh:1.3;--type-mono-label-ls:0.04em;
--type-mono-value-size:14px;--type-mono-value-lh:1.4;--type-mono-value-ls:0;
--type-mono-title-size:20px;--type-mono-title-lh:1.2;--type-mono-title-ls:0.02em;
}
/* Scope: everything inside switches to mono, Bone + Black */
[data-theme="friends"]{
--font-display:var(--font-mono-jp);
--font-body:var(--font-mono-jp);
--font-ui:var(--font-mono-jp);
--type-button-weight:400;
--type-pill-weight:400;
--surface-page:var(--cf-bone);
--text-body:var(--cf-black);
background:var(--cf-surface);color:var(--cf-text);font-family:var(--font-mono-jp);
}
.cf-display{font-family:var(--font-mono-jp);font-weight:var(--cf-display-wt);font-size:var(--cf-display-size);line-height:var(--cf-display-lh);letter-spacing:var(--cf-display-ls)}
.cf-headline{font-family:var(--font-mono-jp);font-weight:var(--cf-headline-wt);font-size:var(--cf-headline-size);line-height:var(--cf-headline-lh);letter-spacing:var(--cf-headline-ls)}
.cf-title{font-family:var(--font-mono-jp);font-weight:var(--cf-title-wt);font-size:var(--cf-title-size);line-height:var(--cf-title-lh);letter-spacing:var(--cf-title-ls);text-transform:uppercase}
.cf-body{font-family:var(--font-mono-jp);font-weight:var(--cf-body-wt);font-size:var(--cf-body-size);line-height:var(--cf-body-lh);letter-spacing:var(--cf-body-ls)}
.cf-list{font-family:var(--font-mono-jp);font-weight:var(--cf-list-wt);font-size:var(--cf-list-size);line-height:var(--cf-list-lh);letter-spacing:var(--cf-list-ls)}
.cf-ui{font-family:var(--font-mono-jp);font-weight:var(--cf-ui-wt);font-size:var(--cf-ui-size);line-height:var(--cf-ui-lh);letter-spacing:var(--cf-ui-ls);text-transform:uppercase}
.cf-meta{font-family:var(--font-mono-jp);font-weight:var(--cf-meta-wt);font-size:var(--cf-meta-size);line-height:var(--cf-meta-lh);letter-spacing:var(--cf-meta-ls);text-transform:uppercase}
.cabi-mono-label{font-family:var(--font-mono);font-weight:400;font-size:var(--type-mono-label-size);line-height:var(--type-mono-label-lh);letter-spacing:var(--type-mono-label-ls);text-transform:uppercase}
.cabi-mono-value{font-family:var(--font-mono);font-weight:300;font-size:var(--type-mono-value-size);line-height:var(--type-mono-value-lh);letter-spacing:var(--type-mono-value-ls)}
.cabi-mono-title{font-family:var(--font-mono);font-weight:400;font-size:var(--type-mono-title-size);line-height:var(--type-mono-title-lh);letter-spacing:var(--type-mono-title-ls);text-transform:uppercase}
