@font-face{font-family:Vazirmatn;font-display:swap;src:url(assets/fonts/Vazirmatn-Regular.woff2) format("woff2")}
/* Card fonts (SIL Open Font License, files in assets/fonts). Downloaded only when a card uses them. */
@font-face{font-family:"FC montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"FC playfair-display";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/playfair-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC playfair-display";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/playfair-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"FC pacifico";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/pacifico-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC lobster";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/lobster-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC space-mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/space-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC space-mono";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/space-mono-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"FC dancing-script";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/dancing-script-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC dancing-script";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/dancing-script-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"FC bebas-neue";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/bebas-neue-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC caveat";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/caveat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"FC caveat";font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/caveat-latin-700-normal.woff2) format("woff2")}
/* Business card layouts (shared by the card page and the designer) */
.bcard{position:relative;display:grid;gap:12px;width:100%;padding:22px;border-radius:var(--bc-radius,24px);background:var(--bc-bg,#193e53);color:var(--bc-text,#fff);font-family:var(--bc-font,system-ui,sans-serif);overflow:hidden;box-shadow:0 18px 48px rgba(10,30,50,.25);box-sizing:border-box}
.bcard.ratio-9x16{aspect-ratio:9/16;grid-template-rows:auto 1fr auto;align-content:space-between;text-align:center}
.bcard.ratio-1x1{aspect-ratio:1;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-content:space-between}
.bcard.ratio-16x9{aspect-ratio:16/9;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;padding:18px 20px}
.bc-head{display:flex;align-items:center;gap:12px;min-width:0}
.ratio-9x16 .bc-head{flex-direction:column;gap:10px}
.bc-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;border:3px solid rgba(255,255,255,.55)}
.ratio-9x16 .bc-photo{width:96px;height:96px}
.ratio-16x9 .bc-photo{width:56px;height:56px}
.bc-initial{display:grid;place-items:center;background:rgba(255,255,255,.22);font-size:32px;font-weight:700}
.bc-id{display:grid;min-width:0;gap:2px}.bc-id strong{font-size:22px;line-height:1.15;overflow-wrap:anywhere}.bc-id span{opacity:.8;font-size:14px}
.ratio-16x9 .bc-id strong{font-size:18px}
.bc-emoji{font-size:.9em}
.bc-lines{display:grid;gap:6px;align-content:center;min-width:0}
.ratio-1x1 .bc-lines,.ratio-16x9 .bc-lines{grid-column:1}
.bc-line{display:flex;gap:8px;align-items:center;color:inherit;text-decoration:none;font-size:14px;min-width:0;overflow-wrap:anywhere}
.ratio-9x16 .bc-line{justify-content:center}
.bc-qr{width:42%;max-width:170px;justify-self:center;border-radius:12px;overflow:hidden}
.ratio-1x1 .bc-qr{grid-column:2;grid-row:1 / span 2;align-self:end;width:auto;height:58%;aspect-ratio:1}
.ratio-16x9 .bc-qr{grid-column:2;grid-row:1 / span 2;width:auto;height:88%;aspect-ratio:1;align-self:center}
.bc-qr svg{display:block;width:100%;height:100%}
.bc-brand{position:absolute;bottom:10px;inset-inline-start:16px;font-size:11px;font-weight:700;letter-spacing:.12em;opacity:.55}
.ratio-9x16 .bc-brand{inset-inline-start:50%;transform:translateX(-50%)}
.bcard{--bc-scale:1}.bc-id strong{font-size:calc(22px*var(--bc-scale));font-weight:500}.ratio-16x9 .bc-id strong{font-size:calc(18px*var(--bc-scale))}.bc-id span{font-size:calc(14px*var(--bc-scale))}.bc-line{font-size:calc(1em*var(--bc-scale))}
.bc-tagline{font-style:normal;font-size:calc(14px*var(--bc-scale));opacity:.92;overflow-wrap:anywhere}.bcard .w1,.bcard .w3{font-weight:800}.bcard .w2,.bcard .w3{font-style:italic}
