/* BuildMetrics brand v6 — load FIRST on every page; page styles build on it.
   Source of truth: the approved v6 kit (https://claude.ai/artifact/YAWGYGoxp8d6QkQaoPUQa4,
   ~/Projects/buildmetrics-brand/brand-system.html). Light like apple.com: Pearl canvas,
   white cards, Ink text. Electric (#2000EA) for primary actions and links only; one Aurora
   moment per view. Dark (#050507) only for Metric's HUD, Drive mode and the ⌘K bar.
   SF Pro (system) with Inter Tight as the fallback; JetBrains Mono only for data and the HUD.
   Older names (--blue, --navy-*, --mist, --g-*, --bm-*, main.css names) are aliases onto v6,
   so every screen is v6 today; each alias goes once no screen reads it.
   1. Fonts (self-hosted, no third-party requests — UK GDPR)
   2. v6 tokens
   3. Aliases
   4. Global type, actions, surfaces
   5. Legacy screens
   6. Public pages: wordmark, sign-in, legal documents
   Two AA adjustments to the kit: readable small text uses Grey #6E6E73 (Silver #86868B is
   3.6:1 on white, so it is for large or decorative text only), and Adequate text is
   #1E7B36 (the kit's #248A3D is 3.9:1 on its green tint). */

/* ── 1. Fonts ───────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Inter Tight';
  src: url('/fonts/inter-tight-latin-var.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  src: url('/fonts/inter-tight-latin-ext-var.woff2') format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/JetBrainsMono-Variable-Latin.woff2') format('woff2');
  font-weight: 100 800; font-style: normal; font-display: swap;
}
/* Engineering Greek (σ, γ, φ, η, λ) */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/fonts/JetBrainsMono-Variable-Greek.woff2') format('woff2');
  font-weight: 100 800; font-style: normal; font-display: swap;
  unicode-range: U+0370-03FF, U+1F00-1FFF;
}

/* ── 2. v6 tokens ───────────────────────────────────────────────────────── */
:root {
  --pearl:#F5F5F7; --white:#FFFFFF; --bar:#FBFBFD;
  --ink:#1D1D1F; --ink-2:#424245; --grey:#6E6E73; --silver:#86868B;
  --line:#E8E8ED; --line-strong:#D2D2D7; --line-soft:#F0F0F3;
  --electric:#2000EA; --electric-hover:#1A00C4; --electric-2:#4B3BFF; --electric-tint:#ECEBFF; --electric-tint-2:#DCD9FF;
  --ion:#9E92E7; --ion-2:#C9C2F5; --arc:#BFE3FF;
  --void:#050507; --graphite:#0E0E12; --carbon:#1C1C22; --edge:rgba(255,255,255,.09); --edge-2:rgba(255,255,255,.16);
  --hl:#2000EA;   /* the Truss's lit node: Electric on light, #8E80FF on dark, white on the Aurora */
  --aurora:linear-gradient(120deg,#2000EA 0%,#5B4BFF 46%,#9E92E7 100%);
  --aurora-text:linear-gradient(100deg,#2000EA 0%,#5B4BFF 55%,#9E92E7 100%);
  --aurora-dark-text:linear-gradient(100deg,#7B6CFF,#9E92E7 55%,#BFE3FF);
  /* Status: the bright hue marks, the ink is the text, the tint is the plate. */
  --ok:#34C759;   --ok-ink:#1E7B36;   --ok-tint:#E5F6EA;
  --near:#FF9500; --near-ink:#B25000; --near-tint:#FFF2DE;
  --bad:#FF3B30;  --bad-ink:#D70015;  --bad-tint:#FFE9E7;
  --sf:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --sft:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --spring:cubic-bezier(.32,.72,0,1);
  --r-chip:8px; --r-field:12px; --r-card:20px; --r-panel:24px; --r-sheet:28px; --r-pill:980px;
  --shadow-card:0 1px 2px rgba(0,0,0,.05);
  --shadow-raise:0 1px 3px rgba(0,0,0,.08);
  --shadow-float:0 2px 6px rgba(0,0,0,.04), 0 24px 48px -24px rgba(0,0,0,.22);
  --shadow-sheet:0 50px 100px -40px rgba(0,0,0,.5);
  --glass:rgba(251,251,253,.8); --glass-blur:saturate(180%) blur(20px);

  /* ── 3. Aliases — older names, v6 values ── */
  --blue-50:var(--electric-tint); --blue-100:var(--electric-tint-2); --blue-200:var(--ion-2); --blue-300:var(--ion);
  --blue-400:#5B4BFF; --blue-500:#5B4BFF; --blue:var(--electric); --blue-700:var(--electric-hover); --blue-800:#14009A;
  --cyan:var(--ion); --cyan-200:var(--ion-2); --lavender:var(--ion);
  --navy-900:var(--ink); --navy-800:#2C2C30; --navy-700:#3A3A3F; --navy-600:#48484E;
  --mist-50:var(--bar); --mist:var(--pearl); --mist-200:var(--line);
  --body:var(--ink-2); --muted:var(--silver);
  --pass:var(--ok); --warn:var(--near); --fail:var(--bad);
  --pass-ink:var(--ok-ink); --fail-ink:var(--bad-ink); --warn-ink:var(--near-ink);
  --grad-blue:var(--aurora); --grad-deep:var(--aurora);
  --grad-action:linear-gradient(var(--electric),var(--electric));   /* primary actions are solid Electric */
  --font-display:var(--sf); --font-ui:var(--sft); --font-mono:var(--mono);
  --r:18px; --r-lg:24px;

  --g-canvas:var(--pearl); --g-canvas-2:var(--line); --g-surface:var(--white); --g-surface-2:var(--bar);
  --g-glass:var(--glass); --g-glass-strong:rgba(255,255,255,.94); --g-glass-rim:rgba(0,0,0,.06);
  --g-night:var(--void); --g-night-2:var(--graphite); --g-night-surface:var(--graphite); --g-night-surface-2:var(--carbon);
  --g-ink:var(--ink); --g-ink-body:var(--ink-2); --g-ink-muted:var(--grey); --g-ink-faint:var(--silver);
  --g-on-night:#F5F5F7; --g-on-night-body:#D1D1D6; --g-on-night-muted:#A1A1A6;
  --g-hair:var(--line); --g-hair-strong:var(--line-strong);
  --g-action:var(--electric); --g-on-action:#FFFFFF;
  --g-accent:var(--electric); --g-accent-hover:var(--electric-hover); --g-accent-soft:var(--electric-tint); --g-accent-night:var(--ion-2);
  --g-link:var(--electric);
  --g-cobalt:var(--electric); --g-azure:#5B4BFF; --g-cyan:var(--ion); --g-lavender:var(--ion); --g-haze:var(--electric-tint);
  --g-hairline-grad:var(--aurora);
  --g-aurora:linear-gradient(transparent,transparent);              /* the light app has no bloom */
  --g-aurora-night:radial-gradient(circle at 50% 30%, rgba(75,59,255,.24), transparent 60%);
  --g-pass:var(--ok-ink); --g-pass-bg:var(--ok-tint);
  --g-fail:var(--bad-ink); --g-fail-bg:var(--bad-tint);
  --g-caution:var(--near-ink); --g-caution-bg:var(--near-tint);
  --g-r-sm:10px; --g-r-md:14px; --g-r-lg:20px; --g-r-xl:28px;
  --g-shadow-glass:var(--shadow-card); --g-shadow-float:var(--shadow-float);
  --g-shadow-rim:0 0 0 transparent; --g-shadow-action:none;
  --g-blur:20px; --g-blur-strong:30px;
  --g-ease:var(--spring);
  --g-font:var(--sft); --g-display:var(--sf); --g-mono:var(--mono);

  --bm-canvas:var(--pearl); --bm-canvas-2:var(--line); --bm-panel:var(--white); --bm-panel-2:var(--bar); --bm-panel-3:var(--pearl);
  --bm-navy:var(--ink); --bm-navy-900:var(--ink); --bm-navy-800:#2C2C30; --bm-navy-700:var(--ink-2); --bm-navy-300:#A1A1A6;
  --bm-cobalt:var(--electric); --bm-cobalt-50:var(--electric-tint); --bm-cyan:var(--ion); --bm-cyan-700:var(--electric-hover); --bm-cyan-50:var(--electric-tint);
  --bm-ink:var(--ink); --bm-body:var(--ink-2); --bm-muted:var(--grey); --bm-faint:var(--silver);
  --bm-line:var(--line); --bm-line-2:var(--line-soft); --bm-line-strong:var(--line-strong);
  --bm-signal:var(--electric); --bm-signal-600:var(--electric-hover); --bm-signal-ink:var(--electric); --bm-signal-tint:var(--electric-tint); --bm-signal-grad:var(--grad-action);
  --bm-sky:var(--electric); --bm-sky-700:var(--electric-hover); --bm-sky-400:var(--ion); --bm-sky-200:var(--electric-tint-2); --bm-sky-50:var(--electric-tint);
  --bm-grad-deep:linear-gradient(170deg,var(--carbon) 0%,var(--void) 100%);
  --bm-grad-hue:var(--aurora); --bm-grad-ink:var(--aurora); --bm-grad-soft:linear-gradient(135deg,var(--electric-tint) 0%,#F6F5FF 100%);
  --bm-grad-dark-btn:var(--grad-action); --bm-aurora:var(--g-aurora);
  --bm-pass:var(--ok-ink); --bm-pass-ink:var(--ok-ink); --bm-pass-bg:var(--ok-tint);
  --bm-fail:var(--bad-ink); --bm-fail-ink:var(--bad-ink); --bm-fail-bg:var(--bad-tint);
  --bm-caution:var(--near-ink); --bm-caution-bg:var(--near-tint);
  --bm-r-sm:8px; --bm-r:12px; --bm-r-lg:20px; --bm-r-xl:28px;
  --bm-shadow-sm:var(--shadow-card); --bm-shadow:var(--shadow-card); --bm-shadow-lg:var(--shadow-float);
  --bm-ease:var(--spring);
  --bm-font-display:var(--sf); --bm-font-ui:var(--sft); --bm-font-mono:var(--mono);

  --bg-page:var(--pearl); --bg-surface:var(--white); --bg-subtle:var(--bar); --bg-muted:var(--line);
  --border:var(--line); --border-strong:var(--line-strong);
  --text-primary:var(--ink); --text-secondary:var(--ink-2); --text-muted:var(--grey); --text-disabled:var(--silver);
  --accent:var(--electric); --accent-hover:var(--electric-hover); --accent-light:var(--electric-tint); --accent-mid:var(--electric-tint-2);
  --green:var(--ok-ink); --green-tint:var(--ok-tint);
  --red:var(--bad-ink);  --red-tint:var(--bad-tint);
  --amber:var(--near-ink); --amber-tint:var(--near-tint);
  --purple:var(--electric); --purple-tint:var(--electric-tint);
  --radius-sm:8px; --radius:12px; --radius-lg:20px; --radius-xl:28px;
  --shadow-sm:var(--shadow-card); --shadow:var(--shadow-card); --shadow-lg:var(--shadow-float);

  color-scheme:light;
  accent-color:var(--electric);
}

/* ── 4. Global type, actions, surfaces ──────────────────────────────────── */
html { -webkit-text-size-adjust:100%; }
body {
  font-family:var(--sft);
  font-size:15px;
  letter-spacing:-.01em;
  color:var(--ink);
  background:var(--pearl);
  -webkit-font-smoothing:antialiased;
}
button, input, select, textarea { font-family:inherit; letter-spacing:inherit; }

h1, h2, h3, h4, .page-hero h1, .proj-topbar h1, .faq-section-title {
  font-family:var(--sf); color:var(--ink); text-wrap:balance; font-weight:600;
}
h1, .page-hero h1, .proj-topbar h1 { letter-spacing:-.03em; }
h2, h3, h4 { letter-spacing:-.02em; }

/* Data: every figure, unit, clause and hash */
code, kbd, samp, pre, .mono, .num, [class*="-val"], .stat-value, td.num {
  font-family:var(--mono); font-variant-numeric:tabular-nums; letter-spacing:0;
}
table { font-variant-numeric:tabular-nums; }

/* Primary action: solid Electric pill, pressed to .96 on a spring. */
.btn-primary, .btn.btn-primary, .btn-auth, .sp-submit, .bm-btn-primary {
  background:var(--electric) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:var(--r-pill) !important;
  box-shadow:none;
  transition:transform .25s var(--spring), background-color .3s var(--spring);
}
.btn-primary:hover, .btn.btn-primary:hover, .btn-auth:hover, .sp-submit:hover, .bm-btn-primary:hover { background:var(--electric-hover) !important; }
.btn-primary:active, .btn-auth:active, .sp-submit:active, .bm-btn-primary:active { transform:scale(.96); }
.btn-primary:disabled, .btn-auth:disabled, .sp-submit:disabled { background:var(--line) !important; color:var(--silver) !important; transform:none; }
/* The one Aurora moment (Issue & export, the wordmark) */
.btn-aurora { background:var(--aurora) !important; color:#fff !important; border:0 !important; }
.circ { display:none; }

/* Glass: bars and sheets only */
.g-glass {
  background:var(--glass); border:1px solid rgba(0,0,0,.06);
  -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  box-shadow:var(--shadow-card);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .g-glass { background:var(--g-glass-strong); } }
@media (prefers-reduced-transparency: reduce) { .g-glass { background:var(--white); -webkit-backdrop-filter:none; backdrop-filter:none; } }

/* Status pills: always the word, never colour alone */
.chip { font-family:var(--sft); font-size:13px; font-weight:600; letter-spacing:-.01em; padding:4px 11px; border-radius:var(--r-pill); display:inline-flex; align-items:center; gap:6px; }
.chip .d { width:6px; height:6px; border-radius:var(--r-pill); background:currentColor; }
.chip.pass { background:var(--ok-tint); color:var(--ok-ink); }
.chip.fail { background:var(--bad-tint); color:var(--bad-ink); }
.chip.warn { background:var(--near-tint); color:var(--near-ink); }
.chip.info { background:var(--electric-tint); color:var(--electric); }

a { color:var(--electric); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { color:var(--electric-hover); }

::selection { background:rgba(32,0,234,.14); color:var(--ink); }
input, textarea { caret-color:var(--electric); }
:focus-visible { outline:2px solid var(--electric); outline-offset:3px; border-radius:6px; }
* { scrollbar-width:thin; scrollbar-color:rgba(0,0,0,.2) transparent; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-thumb { background:rgba(0,0,0,.18); border-radius:10px; border:3px solid transparent; background-clip:padding-box; }
::-webkit-scrollbar-thumb:hover { background-color:rgba(0,0,0,.32); }
::-webkit-scrollbar-track { background:transparent; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* ── 5. Legacy screens ──────────────────────────────────────────────────────
   The standalone calculators and help pages until they fold into the app (phase 5).
   Extra specificity because each page's own <style> loads after this file. */
html body :is(.mat-tab, .sub-tab, .std-btn, .shape-btn, .nf-chip, .material-btn) { border-radius:var(--r-pill); }
html body :is(.mat-tab, .sub-tab, .std-btn, .shape-btn, .nf-chip, .material-btn).active { background:var(--white); color:var(--ink); border-color:transparent; box-shadow:var(--shadow-raise); }
html body :is(.mat-tab, .sub-tab, .std-btn, .shape-btn, .nf-chip, .material-btn):hover:not(.active) { color:var(--ink); }
html body .btn-secondary, html body .calc-action-bar .btn-secondary { background:var(--white); color:var(--electric); border:0; border-radius:var(--r-pill); box-shadow:var(--shadow-card); }
html body .btn-secondary:hover, html body .calc-action-bar .btn-secondary:hover { background:var(--bar); color:var(--electric-hover); }
html body .sb-new-calc { background:var(--electric); color:#fff; border-radius:var(--r-pill); }
html body .sb-new-calc:hover { background:var(--electric-hover); }
html body .bm-nav-item, html body .bm-search { border-radius:10px; }
html body.bm-shell #page-content { background:transparent; }
html body .bm-nav-item.is-active { background:var(--white); color:var(--ink); box-shadow:var(--shadow-raise); }
html body .bm-nav-item.is-active .bm-ico { color:var(--electric); }
html body .bm-nav-item.is-active .bm-nav-tick { background:var(--electric); }
html body .bm-brand-name { font-family:var(--sf); font-weight:600; letter-spacing:-.022em; }

/* ── 6. Public pages ────────────────────────────────────────────────────────
   The Truss and the wordmark: "Build" in Ink, "Metrics" in Aurora, SF Pro Semibold.
   .bm-tile is kept as a class name; in v6 it is the bare mark in Ink with its Electric lit node. */
.bm-mark, .bm-tile { display:inline-flex; flex-shrink:0; width:28px; height:28px; color:var(--electric); background:none; box-shadow:none; }
.bm-mark svg, .bm-tile svg { width:100%; height:100%; display:block; }
.bm-wm { font-family:var(--sf); font-weight:600; letter-spacing:-.022em; color:var(--ink); white-space:nowrap; }
.bm-wm b { font-weight:inherit; background:var(--aurora-text); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bm-lockup { display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-size:19px; color:var(--ink); }
.bm-lockup:hover { color:var(--ink); }
.bm-on-dark .bm-wm, .bm-wm.rev { color:#F5F5F7; }
.bm-on-dark .bm-wm b, .bm-wm.rev b { background:var(--aurora-dark-text); -webkit-background-clip:text; background-clip:text; }
.bm-on-dark .bm-mark, .bm-on-dark .bm-tile { color:var(--ion-2); }
.bm-on-dark, .btn-aurora { --hl:#8E80FF; } .btn-aurora { --hl:#fff; }

.bm-core { display:block; color:var(--ink); }
/* The Truss: its lit node pulses (no rotating part). Off under reduced motion. */
@media (prefers-reduced-motion: no-preference) { .lit { transform-box:fill-box; transform-origin:center; animation:bm-lit 2.8s ease-in-out infinite; } }
@keyframes bm-lit { 50% { transform:scale(1.22); } }

/* Sign-in, start free, reset: Pearl, centred, no card — the kit's sign-in screen. */
body.bm-auth {
  min-height:100vh; min-height:100svh; margin:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:max(32px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background:var(--pearl); color:var(--ink-2); font-family:var(--sft); font-size:17px; letter-spacing:-.022em;
}
.bm-auth *, .bm-auth *::before, .bm-auth *::after { box-sizing:border-box; }
.bm-auth p, .bm-auth form { margin:0; }
.bm-auth .auth-card { width:100%; max-width:420px; background:transparent; border:0; padding:8px 4px; box-shadow:none; }
.bm-auth .auth-brand { display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:22px; text-align:center; }
.bm-auth .auth-brand .bm-tile, .bm-auth .auth-brand .bm-mark { width:72px; height:72px; color:var(--ink); }
.bm-auth .auth-brand .bm-core { width:84px; height:84px; }
.bm-auth .step-2[hidden] { display:none; }
.bm-auth .who-email { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 16px; border-radius:var(--r-field); background:var(--white); box-shadow:0 1px 2px rgba(0,0,0,.08); font-size:16px; color:var(--ink); }
.bm-auth .who-email button { border:0; background:none; color:var(--electric); font:inherit; font-size:15px; cursor:pointer; padding:0; }
.bm-auth .no-card { text-align:center; font-size:14px; color:var(--grey); margin-top:6px; }
.bm-auth #g-btn { min-height:44px; }
.bm-auth .auth-brand .bm-wm { font-size:21px; }
.bm-auth .auth-brand-sub { font-size:14px; color:var(--grey); margin-top:2px; letter-spacing:-.01em; }
.bm-auth .auth-heading, .bm-auth h1.auth-heading { font-family:var(--sf); font-size:32px; font-weight:600; letter-spacing:-.025em; color:var(--ink); text-align:center; margin:0 0 4px; }
.bm-auth .auth-lede { text-align:center; font-size:17px; color:var(--grey); margin:0 0 28px; }
.bm-auth .auth-form { display:flex; flex-direction:column; gap:14px; }
.bm-auth .form-group { display:flex; flex-direction:column; gap:6px; }
.bm-auth .form-group label { font-size:14px; font-weight:500; color:var(--ink-2); }
.bm-auth .form-group input, .bm-auth .inp {
  width:100%; background:var(--white); border:1px solid transparent; border-radius:var(--r-field);
  padding:14px 16px; font:400 17px/1.25 var(--sft); letter-spacing:-.022em; color:var(--ink); outline:none;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
  transition:border-color .3s var(--spring), box-shadow .3s var(--spring);
}
.bm-auth .form-group input:focus { border-color:var(--electric); box-shadow:0 0 0 4px var(--electric-tint); }
.bm-auth .form-group input::placeholder { color:var(--silver); }
.bm-auth .form-hint { font-size:13px; color:var(--grey); }
.bm-auth .pw-wrap { position:relative; display:block; }
.bm-auth .pw-wrap > input { padding-right:48px; }
.bm-auth .pw-toggle { position:absolute; top:0; right:4px; height:100%; width:42px; display:flex; align-items:center; justify-content:center; padding:0; background:none; border:0; color:var(--grey); cursor:pointer; border-radius:10px; }
.bm-auth .pw-toggle:hover { color:var(--ink); }
.bm-auth .pw-toggle svg { width:18px; height:18px; display:block; }
.bm-auth .forgot-link { text-align:right; margin-top:-4px; }
.bm-auth .forgot-link a, .bm-auth .auth-footer-link a { color:var(--electric); font-weight:500; text-decoration:none; font-size:15px; }
.bm-auth .forgot-link a:hover, .bm-auth .auth-footer-link a:hover { text-decoration:underline; }
.bm-auth .btn-auth { width:100%; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:14px 20px; font:500 17px/1 var(--sft); letter-spacing:-.022em; cursor:pointer; margin-top:4px; border-radius:14px !important; }
.bm-auth .btn-google {
  width:100%; min-height:50px; display:flex; align-items:center; justify-content:center; gap:10px;
  padding:14px; background:var(--white); border:0; border-radius:14px; box-shadow:0 1px 2px rgba(0,0,0,.08);
  font:500 17px/1 var(--sft); letter-spacing:-.022em; color:var(--ink); cursor:pointer;
  transition:transform .25s var(--spring), box-shadow .3s var(--spring);
}
.bm-auth .btn-google:hover { box-shadow:0 2px 6px rgba(0,0,0,.1); }
.bm-auth .btn-google:active { transform:scale(.96); }
.bm-auth .btn-google:disabled { opacity:.6; cursor:not-allowed; }
.bm-auth .auth-or { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--grey); font-size:14px; }
.bm-auth .auth-or::before, .bm-auth .auth-or::after { content:''; flex:1; height:1px; background:var(--line-strong); }
.bm-auth .auth-alert { padding:12px 15px; border-radius:var(--r-field); font-size:15px; font-weight:500; display:none; margin-bottom:16px; }
.bm-auth .auth-alert.error { display:block; background:var(--bad-tint); color:var(--bad-ink); }
.bm-auth .auth-alert.success { display:block; background:var(--ok-tint); color:var(--ok-ink); }
.bm-auth .auth-alert.info { display:block; background:var(--electric-tint); color:var(--electric); }
.bm-auth .form-row-2 { display:flex; flex-direction:column; gap:14px; }
.bm-auth .terms-note { font-size:13px; color:var(--grey); text-align:center; margin-top:14px; line-height:1.5; }
.bm-auth .terms-note a { color:var(--electric); text-decoration:none; font-weight:500; }
.bm-auth .terms-note a:hover { text-decoration:underline; }
.bm-auth .auth-footer-link { text-align:center; margin-top:22px; font-size:15px; color:var(--grey); }
.bm-auth .page-footer { margin-top:28px; font-size:13px; color:var(--grey); text-align:center; }
.bm-auth .page-footer a { color:var(--grey); }
.bm-auth .page-footer a:hover { color:var(--ink); }

/* Product bar on public pages: frosted, 52px, one Electric pill. */
.bm-pubbar {
  position:sticky; top:0; z-index:30; padding-top:env(safe-area-inset-top, 0px);
  background:var(--glass); -webkit-backdrop-filter:var(--glass-blur); backdrop-filter:var(--glass-blur);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.bm-pubbar .in { max-width:1080px; margin:0 auto; min-height:52px; display:flex; align-items:center; gap:16px; padding:0 max(16px, env(safe-area-inset-right, 0px)) 0 max(16px, env(safe-area-inset-left, 0px)); }
.bm-pubbar .links { margin-left:auto; display:flex; align-items:center; gap:4px; }
.bm-pubbar .links a { font-size:14px; font-weight:400; color:var(--ink-2); text-decoration:none; padding:8px 12px; border-radius:var(--r-pill); }
.bm-pubbar .links a:hover { color:var(--ink); }
.bm-pubbar .links a[aria-current="page"] { color:var(--ink); font-weight:600; }
.bm-pill { display:inline-flex; align-items:center; gap:8px; font:400 14px/1 var(--sft); letter-spacing:-.01em; border:0; border-radius:var(--r-pill); padding:9px 16px; text-decoration:none; cursor:pointer; transition:transform .25s var(--spring), background-color .3s var(--spring); }
.bm-pill:active { transform:scale(.96); }
.bm-pill.primary { background:var(--electric); color:#fff; }
.bm-pill.primary:hover { color:#fff; background:var(--electric-hover); }
.bm-pill.tint { background:transparent; color:var(--electric); border:1px solid var(--electric); }
.bm-pill.tint:hover { background:var(--electric-tint); color:var(--electric-hover); }
@media (max-width: 640px) { .bm-pubbar .links a.hide-sm { display:none; } }
.bm-pill, .bm-pubbar .links a { white-space:nowrap; }
@media (max-width: 480px) {
  .bm-pubbar .in { gap:6px; }
  .bm-pubbar .bm-wm { display:none; }
  .bm-pubbar .links a { padding:8px 9px; }
}

/* Terms and Privacy: one white reading sheet on Pearl. */
body.bm-doc { margin:0; line-height:1.6; color:var(--ink-2); font-size:17px; letter-spacing:-.022em; }
body.bm-doc .page-wrap { max-width:820px; margin:0 auto; padding:48px max(20px, env(safe-area-inset-right, 0px)) 96px max(20px, env(safe-area-inset-left, 0px)); }
.bm-doc .doc-sheet { background:var(--white); border:0; border-radius:var(--r-sheet); padding:clamp(28px, 5vw, 56px); box-shadow:var(--shadow-card); }
.bm-doc .doc-header { margin-bottom:40px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.bm-doc .doc-label { font-size:14px; font-weight:600; color:var(--electric); margin-bottom:10px; letter-spacing:-.01em; }
.bm-doc .doc-title { font-family:var(--sf); font-size:clamp(34px, 5vw, 48px); font-weight:600; letter-spacing:-.025em; line-height:1.05; color:var(--ink); margin:0 0 14px; }
.bm-doc .doc-meta { font-size:15px; color:var(--grey); margin:0; }
.bm-doc .doc-meta a { color:var(--electric); }
.bm-doc .doc-section { margin-bottom:40px; scroll-margin-top:80px; }
.bm-doc h2 { font-family:var(--sf); font-size:24px; font-weight:600; letter-spacing:-.02em; color:var(--ink); margin:0 0 14px; }
.bm-doc h3 { font-family:var(--sf); font-size:19px; font-weight:600; letter-spacing:-.015em; color:var(--ink); margin:22px 0 8px; }
.bm-doc p { font-size:17px; margin:0 0 14px; }
.bm-doc p:last-child { margin-bottom:0; }
.bm-doc ul, .bm-doc ol { margin:0 0 14px 22px; padding:0; font-size:17px; }
.bm-doc li { margin-bottom:7px; line-height:1.55; }
.bm-doc strong { color:var(--ink); font-weight:600; }
.bm-doc .doc-section a, .bm-doc .contact-box a, .bm-doc .info-box a, .bm-doc .ico-box a { color:var(--electric); }
.bm-doc table { width:100%; border-collapse:separate; border-spacing:0; font-size:15px; margin:16px 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.bm-doc th { font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--grey); background:var(--bar); text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); }
.bm-doc td { padding:12px 14px; border-bottom:1px solid var(--line-soft); vertical-align:top; }
.bm-doc tr:last-child td { border-bottom:0; }
.bm-doc :is(.warning-banner, .disclaimer-box, .info-box, .ico-box, .contact-box) { border-radius:18px; padding:20px 24px; margin:24px 0; font-size:16px; border:0; }
.bm-doc .warning-banner { display:flex; gap:14px; margin:0 0 40px; background:var(--near-tint); }
.bm-doc .warning-icon { color:var(--near-ink); font-size:20px; line-height:1.4; flex-shrink:0; }
.bm-doc .warning-text { font-size:16px; line-height:1.55; }
.bm-doc .warning-text strong { color:var(--near-ink); }
.bm-doc .disclaimer-box { background:var(--bad-tint); }
.bm-doc .disclaimer-box h3 { color:var(--bad-ink); margin-top:0; }
.bm-doc :is(.info-box, .contact-box) { background:var(--electric-tint); }
.bm-doc .ico-box { background:var(--ok-tint); }
.bm-doc .ico-box h3 { color:var(--ok-ink); margin-top:0; }
.bm-doc .note { font-size:15px; color:var(--grey); }
.bm-doc .rights-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0; }
.bm-doc .right-item { background:var(--pearl); border-radius:16px; padding:16px 18px; }
.bm-doc .right-title { font-family:var(--sf); font-size:16px; font-weight:600; color:var(--ink); margin-bottom:4px; }
.bm-doc .right-desc { font-size:15px; color:var(--grey); line-height:1.5; }
.bm-doc .doc-footer { margin-top:32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:0 4px; }
.bm-doc .doc-footer p { font-size:14px; color:var(--grey); margin:0; }
.bm-doc .doc-footer a { color:var(--grey); }
.bm-doc .doc-footer a:hover { color:var(--ink); }
@media (max-width: 560px) { .bm-doc table { display:block; overflow-x:auto; max-width:100%; } .bm-doc .doc-sheet { overflow-wrap:anywhere; } .bm-doc .rights-grid { grid-template-columns:1fr; } body.bm-doc .page-wrap { padding-top:24px; padding-bottom:64px; } .bm-doc .doc-sheet { border-radius:24px; } }

/* GLASS-ICONS:START — line icons (24 grid, 1.75 stroke) in currentColor; generated by scripts/glass-icons.py */
.gi { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -0.2em; flex-shrink: 0; background: currentColor; -webkit-mask: var(--gi) center / contain no-repeat; mask: var(--gi) center / contain no-repeat; }
.gi-folder { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); }
.gi-doc { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zM14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.gi-save { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h11l3 3v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zM8 3v5h7V3M8 21v-7h8v7'/%3E%3C/svg%3E"); }
.gi-warn { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l9 16H3zM12 10v4M12 17h.01'/%3E%3C/svg%3E"); }
.gi-check { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zM8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.gi-x { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zM9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E"); }
.gi-calc { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zM8 7h8M8 12h.01M12 12h.01M16 12h.01M8 16h.01M12 16h.01M16 16h.01'/%3E%3C/svg%3E"); }
.gi-section { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5h12M6 19h12M12 5v14'/%3E%3C/svg%3E"); }
.gi-frame { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V7h14v14M3 7h18M9 21v-6h6v6'/%3E%3C/svg%3E"); }
.gi-building { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4h9v17M14 9h5v12M3 21h18M8 8h3M8 12h3M8 16h3'/%3E%3C/svg%3E"); }
.gi-gear { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9L7 7M17 17l2.1 2.1M4.9 19.1L7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.gi-bolt { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.8 4.5v9L12 21l-7.8-4.5v-9zM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3C/svg%3E"); }
.gi-wind { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h11a3 3 0 1 0-3-3M3 16h14a3 3 0 1 1-3 3M3 12h17'/%3E%3C/svg%3E"); }
.gi-bell { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 1 1 12 0c0 7 3 8 3 8H3s3-1 3-8M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E"); }
.gi-user { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0M16 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0z'/%3E%3C/svg%3E"); }
.gi-lock { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11h14v10H5zM8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.gi-mail { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18v12H3zM3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.gi-phone { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3h8a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zM11 18h2'/%3E%3C/svg%3E"); }
.gi-link { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E"); }
.gi-edit { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16zM14 6l4 4'/%3E%3C/svg%3E"); }
.gi-clock { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zM12 7v5l3 2'/%3E%3C/svg%3E"); }
.gi-trash { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3'/%3E%3C/svg%3E"); }
.gi-chat { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E"); }
.gi-eye { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12zM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3C/svg%3E"); }
.gi-spark { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 5.6L19.5 10.5l-5.6 1.9L12 18l-1.9-5.6-5.6-1.9 5.6-1.9zM19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8z'/%3E%3C/svg%3E"); }
.gi-refresh { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.3-5.7M20 4v5h-5'/%3E%3C/svg%3E"); }
.gi-card { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18v12H3zM3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.gi-pound { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7a4 4 0 0 0-7 2.5V20M6 14h8M5 20h12'/%3E%3C/svg%3E"); }
.gi-chart { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V11M10 20V5M16 20v-8M3 20h18'/%3E%3C/svg%3E"); }
.gi-book { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5a2 2 0 0 1 2-2h12v16H7a2 2 0 0 0-2 2zM19 19v2H7'/%3E%3C/svg%3E"); }
.gi-help { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zM9.5 9a2.5 2.5 0 1 1 3.5 2.3c-.7.3-1 .9-1 1.7M12 17h.01'/%3E%3C/svg%3E"); }
.gi-idea { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-4 10.5c.7.6 1 1.5 1 2.5h6c0-1 .3-1.9 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.gi-home { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6h-6v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E"); }
.gi-scale { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v17M7 21h10M4 8h16M6 8l-3 6h6zM18 8l-3 6h6z'/%3E%3C/svg%3E"); }
.gi-send { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3L10 14M21 3l-7 18-4-7-7-4z'/%3E%3C/svg%3E"); }
.gi-handshake { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12l4-4 4 2 3-2 4 1 3 3-5 5-3-1-2 2-3-1z'/%3E%3C/svg%3E"); }
.gi-ruler { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17L17 3l4 4L7 21zM7 13l2 2M10 10l2 2M13 7l2 2'/%3E%3C/svg%3E"); }
.gi-layers { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5zM3 13l9 5 9-5'/%3E%3C/svg%3E"); }
.gi-compass { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zM15.5 8.5l-2 5-5 2 2-5z'/%3E%3C/svg%3E"); }
.gi-pin { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.5-6-11a6 6 0 1 1 12 0c0 5.5-6 11-6 11zM14 10a2 2 0 1 1-4 0 2 2 0 0 1 4 0z'/%3E%3C/svg%3E"); }
.gi-map { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4L3 6v14l6-2 6 2 6-2V4l-6 2zM9 4v14M15 6v14'/%3E%3C/svg%3E"); }
.gi-leaf { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 6-14 15-14 0 9-6 15-14 15M5 19l7-7'/%3E%3C/svg%3E"); }
.gi-grid { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM4 12h16M12 4v16'/%3E%3C/svg%3E"); }
.gi-plus { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.gi-dot { --gi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0z'/%3E%3C/svg%3E"); }
/* GLASS-ICONS:END */
