/* Angel · LaunchLab-temat (kallt, mjukt, lugnt). GENERERAD av tools/theme_launchlab.py: ändra inte för hand.
 * Laddas sist. Ta bort <link>-raden i index.html för det ljusa originalet. */

/* ---- chrome.css ---- */
:where(.fm-nav, .fm-footer) { font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.fm-nav { background: rgba(12,17,20,0.86); border: 1px solid rgba(143,208,216,0.14); box-shadow: 0 4px 24px rgba(0,0,0,0.195); }
.fm-nav.scrolled { background: rgba(12,17,20,0.86); }
.fm-links a { color: #b4c0c5; }
.fm-links a:hover, .fm-links a[aria-current="page"] { color: #8fd0d8; }
.fm-nav-cta { background: #8fd0d8; color: #0a1012 !important; }
.fm-nav-cta:hover { background: #8fd0d8; }
.fm-burger { border: 1px solid rgba(143,208,216,0.21); background: #0c1114; color: #b4c0c5; }
.fm-nav .wallet-pill { font: 500 12.5px/1 'Geist Mono', monospace; color: #b4c0c5; background: #0c1114; border: 1px solid rgba(143,208,216,0.245); }
.fm-nav .wallet-pill:hover { background: #10171a; }
.fm-nav .wallet-pill.connect { font-family: 'Hanken Grotesk', system-ui, sans-serif; color: #b4c0c5; }
.fm-nav .wallet-drop { border-color: #202a2f; box-shadow: 0 12px 40px rgba(0,0,0,0.286); }
.fm-btn.primary { background: #8fd0d8; color: #0a1012; border: 1px solid rgba(143,208,216,0.21); box-shadow: 0 4px 20px rgba(0,0,0,0.42); }
.fm-btn.primary:hover { background: #8fd0d8; }
.fm-btn.ghost { background: #0c1114; color: #b4c0c5; border: 1px solid rgba(143,208,216,0.245); }
.fm-btn.ghost:hover { background: #10171a; }
.fm-btn.big { box-shadow: 0 4px 20px rgba(0,0,0,0.42); }
.fm-footer { background: #0c1114; }
.fm-foot-cta h2 { font-family: 'Newsreader', sans-serif; color: #8fd0d8; }
.fm-foot-cta p { color: rgba(180,192,197,0.55); }
.fm-foot-row { border-top: 1px solid rgba(143,208,216,0.12); }
.fm-footer .fm-foot-links a { color: #e3eaed; text-shadow: 0 1px 8px rgba(0,0,0,0.55); }
.fm-copy { color: #e3eaed; text-shadow: 0 1px 8px rgba(0,0,0,0.55); font-family: 'Geist Mono', monospace; }
.fm-legal p { color: rgba(227,234,237,0.7); text-shadow: 0 1px 6px rgba(0,0,0,0.55); font-family: 'Geist Mono', monospace; }
@media (max-width: 768px) {
  .fm-footer { background: linear-gradient(to bottom, #0c1114 0, #0c1114 420px, #080c0e 420px); }
}
.spinner { border: 2.5px solid rgba(143,208,216,0.175); border-top-color: rgba(143,208,216,0.34); }
.rc-loading { color: rgba(180,192,197,0.7); }
.page-loader { color: #b4c0c5; }
.page-loader small { color: rgba(180,192,197,0.6); }
.fm-footer .fm-foot-links a.fm-foot-x { filter: drop-shadow(0 1px 6px rgba(0,0,0,0.55)); }
.official-badge { font-family: 'Newsreader', system-ui, sans-serif; color: #0a1012; background: linear-gradient(135deg, #8fd0d8 0%, #8fd0d8 100%); box-shadow: 0 2px 8px rgba(0,0,0,0.42); }
.official-badge::before { background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='#0c1114'%3E%3Cpath d='M10 1.5l2.3 1.7 2.8-.2.9 2.7 2.3 1.6-.9 2.7.9 2.7-2.3 1.6-.9 2.7-2.8-.2L10 18.5l-2.3-1.7-2.8.2-.9-2.7-2.3-1.6.9-2.7-.9-2.7 2.3-1.6.9-2.7 2.8.2z'/%3E%3Cpath d='M8.6 13.2L5.8 10.4l1.1-1.1 1.7 1.7 4.5-4.5 1.1 1.1z' fill='%237c3aed'/%3E%3C/svg%3E"); }
.ca-banner { background: linear-gradient(90deg, #8fd0d8 0%, #8fd0d8 50%, #8fd0d8 100%); color: #0a1012; font-family: 'Hanken Grotesk', system-ui, sans-serif; box-shadow: 0 2px 12px rgba(0,0,0,0.325); }
.ca-banner a { color: #0a1012; }
.ca-banner-addr { color: #0a1012; font-family: 'Geist Mono', ui-monospace, monospace; background: rgba(255,255,255,0.01); border: 1px solid rgba(255,255,255,0.14); }
.ca-banner-addr:hover { background: rgba(255,255,255,0.017); }
.ca-banner-copy { font-family: 'Hanken Grotesk', system-ui, sans-serif; background: #0c1114; color: #8fd0d8; }

/* ---- home.css ---- */
body.fm { background: #0c1114; color: #e3eaed; font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.fm-hero { background: #0c1114; }
.float-icon { filter: drop-shadow(0 8px 24px rgba(0,0,0,0.308)); }
.fm-hero-copy h1 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-lead { color: rgba(180,192,197,0.55); }
.fm-rotator span { color: #8fd0d8; }
.fm-sub { color: rgba(180,192,197,0.55); }
.fm-browser { background: #080c0e; box-shadow: 0 32px 80px rgba(0,0,0,0.286), 0 8px 24px rgba(0,0,0,0.55); border: 1px solid rgba(143,208,216,0.12); }
.fm-bar { background: rgba(255,255,255,0.004); border-bottom: 1px solid rgba(255,255,255,0.05); }
.fm-url { background: rgba(255,255,255,0.006); }
.fm-url span { color: rgba(227,234,237,0.4); }
.fm-screen { background: linear-gradient(135deg,#080c0e 0%,#080c0e 100%); }
.fm-expand { border: 1px solid rgba(255,255,255,0.225); color: #e3eaed; font-family: 'Newsreader', sans-serif; }
.fm-lightbox video { background: #080c0e; box-shadow: 0 40px 120px rgba(0,0,0,0.55); }
.fm-lightbox-close { border: 1px solid rgba(255,255,255,0.175); background: rgba(255,255,255,0.007); color: #e3eaed; }
.fm-lightbox-close:hover { background: rgba(255,255,255,0.014); }
.fm-play { border: 1px solid rgba(255,255,255,0.25); }
.fm-play::before { border-color: transparent transparent transparent #202a2f; }
.fm-powered > span { color: rgba(180,192,197,0.55); font-family: 'Geist Mono', monospace; }
.fm-how { background: #0c1114; }
.fm-eyebrow { font-family: 'Geist Mono', monospace; color: #8fd0d8; }
.fm-how-title h2 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-card { background: #0c1114; box-shadow: 0 1px 3px rgba(0,0,0,0.132), 0 4px 16px rgba(0,0,0,0.088); }
.fm-num { font-family: 'Geist Mono', monospace; color: #8fd0d8; }
.fm-card h3 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-card-text > p:last-child { color: rgba(180,192,197,0.55); }
.fm-card-img { background: #0c1114; }
.fm-section { background: #0c1114; border-top: 1px solid #202a2f; }
.fm-h2 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-tilt-img .fm-tilt-inner { box-shadow: 0 40px 100px rgba(0,0,0,0.325), 0 8px 24px rgba(0,0,0,0.176); }
.fm-q { border-bottom: 1px solid #202a2f; }
.fm-q button > span:first-child { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-plus { color: #8fd0d8; }
.fm-a p { color: rgba(180,192,197,0.75); }
.fm-a a:hover { color: #8fd0d8; }
.fm-bar i.red { background: #e09a92; }
.fm-bar i.amber { background: #c8d5da; }
.fm-bar i.green { background: #7fcfa9; }
.cmp { background: #0c1114; }
.cmp-row:not(.cmp-head):nth-child(even) > span { background: #0c1114; }
.cmp-row:not(.cmp-head) > span { border-bottom: 1px solid #202a2f; }
.cmp-row > span:first-child { color: #e3eaed; }
.cmp-row > span:nth-child(2) { color: #8c9ba1; }
.cmp-row > span:nth-child(3) { color: #e3eaed; border-left: 2px solid rgba(143,208,216,0.34); background: rgba(143,208,216,0.035) !important; }
.cmp-head > span { font-family: 'Hanken Grotesk', sans-serif; color: #8c9ba1 !important; }
.cmp-head > span:nth-child(3) { color: #8fd0d8 !important; border-bottom: 2px solid rgba(143,208,216,0.34); }
.cmp-head > span:nth-child(2) { border-bottom: 1px solid #202a2f; }
@media (max-width: 768px) {
  .cmp-row > span:nth-child(3)::before { color: #8fd0d8; }
}
.rc-card { background: #0c1114; border: 1px solid #202a2f; box-shadow: 0 1px 3px rgba(0,0,0,0.132), 0 4px 16px rgba(0,0,0,0.088); }
.rc-card:hover { border-color: #202a2f; box-shadow: 0 16px 40px rgba(0,0,0,0.286); }
.rc-img { background: linear-gradient(135deg, #10171a, #141c20); }
.rc-img span { font-family: 'Newsreader', sans-serif; color: #8fd0d8; }
.rc-name { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.rc-when { color: rgba(180,192,197,0.55); }
.rc-symbol { font-family: 'Geist Mono', monospace; color: rgba(180,192,197,0.55); }
.rc-for { color: #b4c0c5; }
.rc-for b { color: #8fd0d8; }
.rc-cap { color: rgba(180,192,197,0.55); }
.rc-empty { border: 1.5px dashed #202a2f; background: #0c1114; }
.rc-empty p { color: #b4c0c5; }

/* ---- style.css ---- */
:root { --bg: #0c1114; --panel: #10171a; --panel-2: #141c20; --line: #202a2f; --line-soft: #1a2327; --ink: #e3eaed; --ink-2: #b4c0c5; --ink-3: #8c9ba1; --accent: #8fd0d8; --accent-hover: #a7dde3; --accent-dim: rgba(143,208,216,0.10); --on-accent: #0a1012; --warn: #c8d5da; --danger: #e09a92; --danger-ink: #e09a92; --danger-soft: rgba(224,154,146,0.08); --ok: #7fcfa9; --nav-bg: rgba(12,17,20,0.82); --logo-bg: #f2f5f6; --logo-ring: #2b373e; --pill-inflight-line: rgba(200,213,218,0.35); --mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace; }
.split-readout b.alarm { color: var(--alarm, #e09a92); }
.coin-symbol { font-family: 'Geist Mono', monospace; }
.wallet-pill { font-family: 'Geist Mono', monospace; }
.wallet-drop { box-shadow: 0 8px 28px rgba(0,0,0,0.264); }
.panel .summary code { font-family: 'Geist Mono', ui-monospace, monospace; }
.toc li a::before { font-family: 'Geist Mono', ui-monospace, monospace; }
.notice.warn { border-color: rgba(200,213,218,0.35); background: rgba(200,213,218,0.028); }
:root { --bg: #0c1114; --panel: #10171a; --panel-2: #141c20; --line: #202a2f; --line-soft: #1a2327; --ink: #e3eaed; --ink-2: #b4c0c5; --ink-3: #8c9ba1; --accent: #8fd0d8; --accent-hover: #a7dde3; --accent-ink: #8fd0d8; --accent-dim: rgba(143,208,216,0.10); --on-accent: #0a1012; --nav-bg: rgba(12,17,20,0.82); --logo-bg: #f2f5f6; --logo-ring: #2b373e; --heading: 'Newsreader', Georgia, serif; --card-shadow: 0 1px 2px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.22); }
body { font-family: 'Hanken Grotesk', system-ui, sans-serif; }
::selection { background: #141c20; }
.eyebrow { color: #8fd0d8; }
.stats > div { background: #0c1114; }
.btn { background: #0c1114; border: 1px solid rgba(143,208,216,0.245); }
.btn:hover { background: #10171a; border-color: rgba(143,208,216,0.35); }
.btn.primary { color: #0a1012; border: 1px solid rgba(143,208,216,0.21); box-shadow: 0 4px 20px rgba(0,0,0,0.42); }
.btn.primary:disabled { background: #141c20; border-color: #202a2f; color: #0a1012; }
.btn.ghost { background: #0c1114; }
.panel, .form, .promise, .charity-card, .toc, .charity { background: #0c1114; }
.charity-card:hover { border-color: #202a2f; box-shadow: 0 8px 28px rgba(0,0,0,0.208); }
.steps li { background: #0c1114; }
.chain { background: #0c1114; }
.chain-step { background: #0c1114; }
input[type=text], input:not([type]), input[type=search], textarea, select, .controls select, #pair, .recipient-search { background: #0c1114; }
input:focus, textarea:focus, select:focus, .recipient-search:focus, .explore-search input:focus { box-shadow: 0 0 0 3px rgba(0,0,0,0.234); }
::placeholder { color: #64737a; }
.slider::-webkit-slider-thumb { border: 3px solid #202a2f; box-shadow: 0 0 0 1px var(--accent), 0 2px 8px rgba(0,0,0,0.42); }
.slider::-moz-range-thumb { border: 3px solid #202a2f; }
.dropzone { border: 1.5px dashed #202a2f; }
.pick { background: #0c1114; }
.pick:hover { border-color: #202a2f; }
.pick.selected { box-shadow: 0 0 0 3px rgba(0,0,0,0.195); }
.cat-tab:hover:not(:disabled) { border-color: #202a2f; }
.summary { background: #0c1114; }
.pill.donated { border-color: #202a2f; }
.pill.inflight { background: #141c20; }
.notice.ok { border-color: #202a2f; }
.stepper li span { background: #0c1114; }
.stepper li.done span { border-color: #202a2f; }
.stepper li.current span { color: #e3eaed; box-shadow: 0 4px 14px rgba(0,0,0,0.42); }
.step-bar-fill { background: linear-gradient(90deg, #8fd0d8, #8fd0d8); }
.sort-tabs { background: #0c1114; }
.sort-tab[aria-pressed="true"] { color: #0a1012; }
.coin-card { background: #0c1114; }
.coin-card:hover { border-color: #202a2f; box-shadow: 0 12px 36px rgba(0,0,0,0.26); }
.coin-img.placeholder { background: linear-gradient(135deg, #10171a, #141c20); }
.bar-fill { background: linear-gradient(90deg, #8fd0d8, #8fd0d8); }
.coin-chart .chart-area { fill: rgba(143,208,216,0.7); }
.fp { background: #0c1114; }
.fp .fp-eyebrow { color: #8fd0d8; }
.fp h1 { color: #e3eaed; }
.fp-card { background: #0c1114; border: 1px solid #202a2f; }
.fp-title { color: #e3eaed; }
.fp-sub { color: rgba(180,192,197,0.55); }
.fp-row { border-bottom: 1px solid #202a2f; }
.fp-row > span:first-child { color: rgba(180,192,197,0.55); }
.fp-row > b { color: #e3eaed; }
.fp-row > .fp-hl { color: #8fd0d8; background: #10171a; }
.fp-note { color: rgba(180,192,197,0.55); }
.fp-payout { background: #0c1114; border: 1px solid #202a2f; }
.fp-payout-head p { color: #e3eaed; }
.fp-item { border-bottom: 1px solid #202a2f; }
.fp-item > span:first-child { color: rgba(180,192,197,0.55); }
.fp-item > span:last-child { color: #e3eaed; }
.fp-earns { background: linear-gradient(135deg, #10171a 0%, #141c20 100%); }
.fp-earns > span { color: #e3eaed; }
.fp-earns-label { color: #8fd0d8; }
.fp-earns-text { color: #e3eaed; }
.ent-card { background: #0c1114; }
.ent-card:hover { border-color: #202a2f; box-shadow: 0 12px 36px rgba(0,0,0,0.26); }
.ent-logo { background: #0c1114; }
.ent-initials { background: linear-gradient(135deg, #10171a, #141c20); }
.docs-group { color: #8fd0d8; }
.docs-nav a:hover { border-left-color: #202a2f; }
.doc-kicker { color: #8fd0d8; }
.doc code { color: #8fd0d8; }
.doc-callout { background: linear-gradient(135deg, #10171a 0%, #141c20 100%); }
.doc-dl { background: #0c1114; }
.doc-flow > div { background: #0c1114; }
.doc-flow span { color: #e3eaed; }
.doc .table-scroll { background: #0c1114; }
@media (max-width: 960px) {
  .docs-side-toggle { font: 600 14px/1 'Hanken Grotesk', sans-serif; background: rgba(12,17,20,0.86); }
  .docs-nav { background: #0c1114; box-shadow: 0 16px 40px rgba(0,0,0,0.286); }
}
.callout.pons-alert { background: #10171a; border: 1px solid rgba(224,154,146,0.5); }
.charity-picker { scrollbar-color: #1a2429 transparent; }
.charity-picker::-webkit-scrollbar-thumb, .pair-grid::-webkit-scrollbar-thumb { background: #1a2429; }
.pick { background: #0c1114; }
.pick:hover { border-color: #202a2f; box-shadow: 0 10px 26px rgba(0,0,0,0.234); }
.pick img, .pick-initials { background: #0c1114; box-shadow: 0 0 0 1px var(--line), 0 4px 12px rgba(0,0,0,0.132); }
.pick-initials { background: linear-gradient(135deg, #10171a, #141c20); }
.pick-check { color: #e3eaed; }
.pick.selected { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.26); }
.pair-grid { scrollbar-color: #1a2429 transparent; }
.pair-opt { background: #0c1114; }
.pair-opt:hover { border-color: #202a2f; box-shadow: 0 6px 18px rgba(0,0,0,0.195); }
.pair-opt.selected { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.26); }
.pair-opt img, .pair-letter { background: #0c1114; }
.pick:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.182); }
.chosen-charity { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.195); }
.cw-input { background: #0c1114; }
.cw-input:focus-within { box-shadow: 0 0 0 3px rgba(0,0,0,0.234); }
.cw-status.ok { color: #7fcfa9; }
.cw-chain { background: #0c1114; }
.cw-chain:hover { border-color: #202a2f; box-shadow: 0 6px 18px rgba(0,0,0,0.195); }
.cw-chain.selected { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.26); }
.cw-dot { background: #0c1114; }
.cw-base { background: radial-gradient(circle at 50% 50%, #0c1114 0 34%, #8fd0d8 35%); }
.cw-warn { color: #e3eaed; background: #141c20; border: 1px solid rgba(200,213,218,0.35); }
.cw-warn b { color: #e3eaed; }
.cw-base { background: #8fd0d8; }
.cw-base::after { background: #0c1114; }
.trade-tab { font: 600 13px/1 'Hanken Grotesk', sans-serif; }
.trade-tab.active { color: #e3eaed; }
.trade-tab.active.buy { box-shadow: 0 2px 10px rgba(0,0,0,0.42); }
.trade-tab.active.sell { background: #e09a92; box-shadow: 0 2px 10px rgba(0,0,0,0.42); }
.trade-input { background: #0c1114; }
.trade-input:focus-within { box-shadow: 0 0 0 3px rgba(0,0,0,0.234); }
.trade-max { font: 600 12px/1 'Hanken Grotesk', sans-serif; }
.trade-max:hover { background: #141c20; }
.burn-stats > div { background: #10171a; border: 1px solid #202a2f; }
.burn-stats dt { color: var(--ink-3, #b4c0c5); }
.burn-stats dd { color: #e3eaed; }

/* ---- brand.css ---- */
:where(.fm-nav, .fm-footer) { font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.fm-nav { border: 1px solid rgba(143,208,216,0.14); box-shadow: 0 4px 24px rgba(0,0,0,0.195); }
.fm-links a { color: #b4c0c5; }
.fm-links a:hover, .fm-links a[aria-current="page"] { color: #8fd0d8; }
.fm-nav-cta { background: #8fd0d8; }
.fm-nav-cta:hover { background: #8fd0d8; }
.fm-burger { border: 1px solid rgba(143,208,216,0.21); color: #b4c0c5; }
.fm-nav .wallet-pill { color: #b4c0c5; border: 1px solid rgba(143,208,216,0.245); }
.fm-nav .wallet-pill:hover { background: #10171a; }
.fm-nav .wallet-pill.connect { font-family: 'Hanken Grotesk', system-ui, sans-serif; color: #b4c0c5; }
.fm-nav .wallet-drop { border-color: #202a2f; box-shadow: 0 12px 40px rgba(0,0,0,0.286); }
.fm-btn.primary { background: #8fd0d8; border: 1px solid rgba(143,208,216,0.21); box-shadow: 0 4px 20px rgba(0,0,0,0.42); }
.fm-btn.primary:hover { background: #8fd0d8; }
.fm-btn.ghost { color: #b4c0c5; border: 1px solid rgba(143,208,216,0.245); }
.fm-btn.ghost:hover { background: #10171a; }
.fm-btn.big { box-shadow: 0 4px 20px rgba(0,0,0,0.42); }
.fm-foot-cta h2 { font-family: 'Newsreader', sans-serif; color: #8fd0d8; }
.fm-foot-cta p { color: rgba(180,192,197,0.55); }
.fm-foot-row { border-top: 1px solid rgba(143,208,216,0.12); }
.fm-footer .fm-foot-links a { text-shadow: 0 1px 8px rgba(0,0,0,0.55); }
.fm-copy { text-shadow: 0 1px 8px rgba(0,0,0,0.55); }
.fm-legal p { text-shadow: 0 1px 6px rgba(0,0,0,0.55); }
@media (max-width: 768px) {
  .fm-footer { background: linear-gradient(to bottom, #0c1114 0, #0c1114 420px, #080c0e 420px); }
}
.spinner { border: 2.5px solid rgba(143,208,216,0.175); border-top-color: rgba(143,208,216,0.34); }
.rc-loading { color: rgba(180,192,197,0.7); }
.page-loader { color: #b4c0c5; }
.page-loader small { color: rgba(180,192,197,0.6); }
.fm-footer .fm-foot-links a.fm-foot-x { filter: drop-shadow(0 1px 6px rgba(0,0,0,0.55)); }
.official-badge { font-family: 'Newsreader', system-ui, sans-serif; background: linear-gradient(135deg, #8fd0d8 0%, #8fd0d8 100%); }
.ca-banner { background: #8fd0d8; color: #0a1012; font-family: 'Hanken Grotesk', system-ui, sans-serif; box-shadow: 0 2px 12px rgba(0,0,0,0.39); }
.ca-banner a, .ca-banner button, .ca-banner b { color: #0a1012; }
.ca-banner-copy { font-family: 'Hanken Grotesk', system-ui, sans-serif; color: #8fd0d8; }
body.fm { color: #e3eaed; font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.fm-hero-copy h1 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-lead { color: rgba(180,192,197,0.55); }
.fm-rotator span { color: #8fd0d8; }
.fm-sub { color: rgba(180,192,197,0.55); }
.fm-browser { background: #080c0e; border: 1px solid rgba(143,208,216,0.12); }
.fm-screen { background: linear-gradient(135deg,#080c0e 0%,#080c0e 100%); }
.fm-expand { font-family: 'Newsreader', sans-serif; }
.fm-powered > span { color: rgba(180,192,197,0.55); }
.fm-eyebrow { color: #8fd0d8; }
.fm-how-title h2 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-num { color: #8fd0d8; }
.fm-card h3 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-card-text > p:last-child { color: rgba(180,192,197,0.55); }
.fm-section { border-top: 1px solid #202a2f; }
.fm-h2 { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-tilt-img .fm-tilt-inner { box-shadow: 0 40px 100px rgba(0,0,0,0.325), 0 8px 24px rgba(0,0,0,0.176); }
.fm-q { border-bottom: 1px solid #202a2f; }
.fm-q button > span:first-child { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.fm-plus { color: #8fd0d8; }
.fm-a p { color: rgba(180,192,197,0.75); }
.fm-a a:hover { color: #8fd0d8; }
.cmp-row:not(.cmp-head):nth-child(even) > span { background: #10171a; }
.cmp-row:not(.cmp-head) > span { border-bottom: 1px solid #202a2f; }
.cmp-row > span:first-child { color: #e3eaed; }
.cmp-row > span:nth-child(2) { color: #8c9ba1; }
.cmp-row > span:nth-child(3) { border-left: 2px solid rgba(143,208,216,0.34); background: rgba(143,208,216,0.035) !important; }
.cmp-head > span { font-family: 'Hanken Grotesk', sans-serif; color: #8c9ba1 !important; }
.cmp-head > span:nth-child(3) { color: #8fd0d8 !important; border-bottom: 2px solid rgba(143,208,216,0.34); }
.cmp-head > span:nth-child(2) { border-bottom: 1px solid #202a2f; }
@media (max-width: 768px) {
  .cmp-row > span:nth-child(3)::before { color: #8fd0d8; }
}
.rc-card { border: 1px solid #202a2f; }
.rc-card:hover { border-color: #202a2f; box-shadow: 0 16px 40px rgba(0,0,0,0.286); }
.rc-img { background: linear-gradient(135deg, #10171a, #1a2429); }
.rc-img span { font-family: 'Newsreader', sans-serif; color: #8fd0d8; }
.rc-name { font-family: 'Newsreader', sans-serif; color: #e3eaed; }
.rc-when { color: rgba(180,192,197,0.55); }
.rc-symbol { color: rgba(180,192,197,0.55); }
.rc-for { color: #b4c0c5; }
.rc-for b { color: #8fd0d8; }
.rc-cap { color: rgba(180,192,197,0.55); }
.rc-empty { border: 1.5px dashed #202a2f; background: #10171a; }
.rc-empty p { color: #b4c0c5; }
:root { --panel-2: #141c20; --line: #202a2f; --line-soft: #1a2327; --ink: #e3eaed; --ink-2: #b4c0c5; --ink-3: #8c9ba1; --accent: #8fd0d8; --accent-hover: #a7dde3; --accent-ink: #8fd0d8; --logo-ring: #2b373e; --heading: 'Newsreader', Georgia, serif; }
body { font-family: 'Hanken Grotesk', system-ui, sans-serif; }
::selection { background: #1a2429; }
.eyebrow { color: #8fd0d8; }
.btn { border: 1px solid rgba(143,208,216,0.245); }
.btn:hover { background: #10171a; border-color: rgba(143,208,216,0.35); }
.btn.primary { border: 1px solid rgba(143,208,216,0.21); box-shadow: 0 4px 20px rgba(0,0,0,0.42); }
.charity-card:hover { border-color: #202a2f; box-shadow: 0 8px 28px rgba(0,0,0,0.208); }
input:focus, textarea:focus, select:focus, .recipient-search:focus, .explore-search input:focus { box-shadow: 0 0 0 3px rgba(0,0,0,0.234); }
.slider::-webkit-slider-thumb { box-shadow: 0 0 0 1px var(--accent), 0 2px 8px rgba(0,0,0,0.42); }
.dropzone { border: 1.5px dashed #202a2f; }
.pick:hover { border-color: #202a2f; }
.pick.selected { box-shadow: 0 0 0 3px rgba(0,0,0,0.195); }
.cat-tab:hover:not(:disabled) { border-color: #202a2f; }
.stepper li.done span { border-color: #202a2f; }
.stepper li.current span { box-shadow: 0 4px 14px rgba(0,0,0,0.42); }
.step-bar-fill { background: linear-gradient(90deg, #8fd0d8, #8fd0d8); }
.coin-card:hover { border-color: #202a2f; box-shadow: 0 12px 36px rgba(0,0,0,0.26); }
.coin-img.placeholder { background: linear-gradient(135deg, #10171a, #1a2429); }
.bar-fill { background: linear-gradient(90deg, #8fd0d8, #8fd0d8); }
.coin-chart .chart-area { fill: rgba(143,208,216,0.7); }
.fp { background: #10171a; }
.fp .fp-eyebrow { color: #8fd0d8; }
.fp h1 { color: #e3eaed; }
.fp-card { border: 1px solid #202a2f; }
.fp-title { color: #e3eaed; }
.fp-sub { color: rgba(180,192,197,0.55); }
.fp-row { border-bottom: 1px solid #202a2f; }
.fp-row > span:first-child { color: rgba(180,192,197,0.55); }
.fp-row > b { color: #e3eaed; }
.fp-row > .fp-hl { color: #8fd0d8; }
.fp-note { color: rgba(180,192,197,0.55); }
.fp-payout { border: 1px solid #202a2f; }
.fp-payout-head p { color: #e3eaed; }
.fp-item { border-bottom: 1px solid #202a2f; }
.fp-item > span:first-child { color: rgba(180,192,197,0.55); }
.fp-item > span:last-child { color: #e3eaed; }
.fp-earns { background: linear-gradient(135deg, #10171a 0%, #1a2429 100%); }
.fp-earns > span { color: #e3eaed; }
.fp-earns-label { color: #8fd0d8; }
.fp-earns-text { color: #e3eaed; }
.ent-card:hover { border-color: #202a2f; box-shadow: 0 12px 36px rgba(0,0,0,0.26); }
.ent-initials { background: linear-gradient(135deg, #10171a, #1a2429); }
.docs-group { color: #8fd0d8; }
.docs-nav a:hover { border-left-color: #202a2f; }
.doc-kicker { color: #8fd0d8; }
.doc-callout { background: linear-gradient(135deg, #10171a 0%, #1a2429 100%); }
@media (max-width: 960px) {
  .docs-side-toggle { font: 600 14px/1 'Hanken Grotesk', sans-serif; }
  .docs-nav { box-shadow: 0 16px 40px rgba(0,0,0,0.286); }
}
.charity-picker { scrollbar-color: #1a2429 transparent; }
.charity-picker::-webkit-scrollbar-thumb, .pair-grid::-webkit-scrollbar-thumb { background: #1a2429; }
.pick:hover { border-color: #202a2f; box-shadow: 0 10px 26px rgba(0,0,0,0.234); }
.pick img, .pick-initials { box-shadow: 0 0 0 1px var(--line), 0 4px 12px rgba(0,0,0,0.132); }
.pick-initials { background: linear-gradient(135deg, #10171a, #1a2429); }
.pick.selected { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.26); }
.chosen-charity { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.195); }
.pair-grid { scrollbar-color: #1a2429 transparent; }
.pair-opt:hover { border-color: #202a2f; box-shadow: 0 6px 18px rgba(0,0,0,0.195); }
.pair-opt.selected { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.26); }
.cw-input:focus-within { box-shadow: 0 0 0 3px rgba(0,0,0,0.234); }
.cw-chain:hover { border-color: #202a2f; box-shadow: 0 6px 18px rgba(0,0,0,0.195); }
.cw-chain.selected { background: linear-gradient(180deg, #10171a, #10171a); box-shadow: 0 0 0 3px rgba(0,0,0,0.26); }
.trade-tab { font: 600 13px/1 'Hanken Grotesk', sans-serif; }
.trade-tab.active.buy { box-shadow: 0 2px 10px rgba(0,0,0,0.42); }
.trade-input:focus-within { box-shadow: 0 0 0 3px rgba(0,0,0,0.234); }
.trade-max { font: 600 12px/1 'Hanken Grotesk', sans-serif; }
.trade-max:hover { background: #1a2429; }
.burn-stats > div { background: #10171a; border: 1px solid #202a2f; }
.burn-stats dd { color: #e3eaed; }
:root { --angel-sky: #8fd0d8; --angel-sky-deep: #5fa6b0; --angel-gold: #c8d5da; --angel-gold-soft: rgba(200,213,218,0.10); --angel-cream: #0c1114; --angel-navy: #e3eaed; --angel-line: #202a2f; --bg: #0c1114; --panel-2: #141c20; --line: #202a2f; --line-soft: #1a2327; --ink: #e3eaed; --ink-2: #b4c0c5; --ink-3: #8c9ba1; --accent: #8fd0d8; --accent-hover: #a7dde3; --accent-ink: #8fd0d8; --accent-dim: rgba(143,208,216,0.10); --logo-ring: #2b373e; --pill-inflight-line: rgba(200,213,218,0.35); --heading: 'Newsreader', Georgia, serif; --card-shadow: 0 1px 2px rgba(0,0,0,0.25), 0 10px 30px rgba(0,0,0,0.22); }
body, body.fm { font-family: 'Hanken Grotesk', system-ui, sans-serif; }
.fm-nav-cta, .fm-btn.primary { box-shadow: 0 0 0 3px var(--angel-gold-soft), 0 8px 24px rgba(0,0,0,0.364); }
.fm-nav-cta:hover, .fm-btn.primary:hover { box-shadow: 0 0 0 4px var(--angel-gold-soft), 0 10px 28px rgba(0,0,0,0.42); }
.stats-home > div { background: #0c1114; }
.stats-home dt { color: #8c9ba1; }
.stats-home dd { font-family: 'Geist Mono', monospace; }
.fm-logos-text b { color: #b4c0c5; }
.ent-logo { background: #0c1114; }
.ent-initials { background: linear-gradient(135deg, #10171a, #1a2429); }
.ent-cause { color: #8c9ba1; }
.ent-desc { color: #b4c0c5; }
.review-row span { color: #8c9ba1; }
.devbuy-unit { color: #8c9ba1; }
.doc-steps, .doc-list { color: #b4c0c5; }
.doc-table th { font-family: 'Geist Mono', monospace; }
.doc-table td { color: #b4c0c5; }
.doc-note { color: #8c9ba1; }
.docs-nav a { color: #b4c0c5; }
.legal p { color: #b4c0c5; }

/* ---- angel.css ---- */
.fm-hero .float-icon img { filter: drop-shadow(0 18px 30px rgba(0,0,0,0.352)); }
.split-card { background: #0c1114; border: 1px solid #202a2f; box-shadow: 0 18px 40px rgba(0,0,0,0.234); }
.split-head b { font-family: 'Newsreader', Georgia, serif; color: #e3eaed; }
.split-head span { font-family: 'Geist Mono', monospace; color: #8c9ba1; }
.split-bar { background: #10171a; }
.split-bar i { background: linear-gradient(90deg, #c8d5da, #c8d5da); }
.split-range { background: #1a2429; }
.split-range::-webkit-slider-thumb { background: #0c1114; border: 3px solid rgba(143,208,216,0.34); box-shadow: 0 2px 8px rgba(0,0,0,0.396); }
.split-range::-moz-range-thumb { background: #0c1114; border: 3px solid rgba(143,208,216,0.34); }
.split-rows > div { border-top: 1px solid #202a2f; color: #b4c0c5; }
.split-rows em { font-family: 'Geist Mono', monospace; color: #8c9ba1; }
.split-rows b { font-family: 'Geist Mono', monospace; color: #e3eaed; }
.split-rows .hi b { color: #c8d5da; }
.split-rows .hi span { color: #e3eaed; }
.split-foot { color: #8c9ba1; }
.fm-logos-text b { font-family: 'Newsreader', Georgia, serif; color: #b4c0c5; }
.rc-initials { font-family: 'Newsreader', Georgia, serif; color: #8fd0d8; }
.rc-body b { font-family: 'Newsreader', Georgia, serif; color: #e3eaed; }
.rc-body span { color: #b4c0c5; }
.rc-body em { font-family: 'Geist Mono', monospace; color: #8c9ba1; }
.rc-body em.ok { color: #7fcfa9; }
.fm-charities .rc-note { color: rgba(180,192,197,0.7); }
.ent-card:hover { border-color: rgba(143,208,216,0.34); box-shadow: 0 12px 36px rgba(0,0,0,0.26); }
.ent-logo { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06); }
.ent-initials { background: linear-gradient(135deg, #10171a, #10171a); color: #8fd0d8; font-family: 'Newsreader', Georgia, serif; }
.ent-name { font-family: 'Newsreader', Georgia, serif; color: #e3eaed; }
.ent-chip { border: 1px solid #202a2f; background: #10171a; color: #b4c0c5; }
.ent-chip.ent-site { color: #8fd0d8; }
.ent-chip.ent-site:hover { background: #10171a; border-color: rgba(143,208,216,0.34); }
.ent-wallet { border-top: 1px solid #202a2f; }
.ent-wallet .pill.donated { color: #8fd0d8; border-color: #202a2f; background: #10171a; }
.ent-proof { color: #8c9ba1; }
.ent-proof:hover { color: #8fd0d8; }
.fm-how::before { background: rgba(255,255,255,0.042); }
.fm-footer { background: linear-gradient(to bottom, #0c1114 0, #0c1114 400px, #243038 560px, #080c0e 690px, #080c0e 100%) !important; }
.fm-foot-cta p { color: rgba(180,192,197,0.7); }
@media (max-width: 900px) {
  .fm-footer { background: linear-gradient(to bottom, #0c1114 0, #0c1114 380px, #080c0e 520px) !important; }
}
.coin-preview { border: 1px solid #202a2f; background: linear-gradient(135deg, #10171a, #10171a); }
.coin-preview-img { background: #0c1114; border: 2px dashed rgba(143,208,216,0.34); color: #8fd0d8; }
.coin-preview-img:hover { border-color: rgba(143,208,216,0.34); }
.coin-preview-text b { font-family: 'Newsreader', Georgia, serif; color: #e3eaed; }
.coin-preview-text span { font-family: 'Geist Mono', monospace; color: #8c9ba1; }
.coin-preview-text em { color: #c8d5da; }
.launch-split .split-head span { color: #c8d5da; }
.charity-picker .pick:hover { box-shadow: 0 8px 20px rgba(0,0,0,0.176); }
.charity-picker .pick.selected { box-shadow: 0 0 0 3px rgba(0,0,0,0.195); }
.step-title { font-family: 'Newsreader', Georgia, serif; }
.form input[type="text"]:focus, .form textarea:focus { border-color: rgba(143,208,216,0.34); box-shadow: 0 0 0 3px rgba(0,0,0,0.156); }
.coin-img.placeholder { background: linear-gradient(135deg, #10171a, #10171a); }
.rc-coin-img.placeholder { background: linear-gradient(135deg, #10171a, #10171a); }
.rc-card { border-color: #202a2f; }
.rc-card:hover { border-color: rgba(143,208,216,0.34); box-shadow: 0 16px 40px rgba(0,0,0,0.286); }
.rc-name { font-family: 'Newsreader', Georgia, serif; color: #e3eaed; }
.rc-when { font-family: 'Geist Mono', monospace; color: #c8d5da; }
.rc-for { color: #b4c0c5; }
.rc-for b { color: #8fd0d8; }
.rc-logo { background: #0c1114; }
.page-curtain { background: #0c1114; }

/* ================= handskrivet (tools/launchlab_hand.css) ================= */
/* Paletten som variabler (samma värden som i tools/theme_launchlab.py). */
:root {
  --ll-bg: #0c1114; --ll-s1: #10171a; --ll-s2: #141c20; --ll-s3: #1a2429; --ll-line: #202a2f; --ll-line2: #2b373e;
  --ll-ink: #e3eaed; --ll-ink2: #b4c0c5; --ll-muted: #8c9ba1; --ll-faint: #64737a;
  --ll-accent: #8fd0d8; --ll-accent-hi: #a7dde3; --ll-frost: #c8d5da; --ll-on: #0a1012; --ll-ok: #7fcfa9; --ll-down: #e09a92;
  --ll-serif: 'Newsreader', Georgia, serif; --ll-sans: 'Hanken Grotesk', system-ui, sans-serif; --ll-mono: 'Geist Mono', ui-monospace, monospace;
  color-scheme: dark;
}
html, body, body.fm { background: var(--ll-bg); color: var(--ll-ink); }
body { -webkit-font-smoothing: antialiased; }
::selection { background: rgba(143,208,216,.28); color: #fff; }

/* Lugn: en mjuk kall dimma bakom hero i stället för glöd. Inget neon, inga gradient-texter. */
body.fm::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(1100px 620px at 50% -8%, rgba(143,208,216,.085), transparent 62%), radial-gradient(900px 500px at 88% 12%, rgba(120,150,190,.05), transparent 60%); }
body.fm main, body.fm .fm-footer { position: relative; z-index: 1; }

/* Typografi: serif i normal vikt, nyckelordet kursivt i accenten (LaunchLab-greppet, fast mjukare). */
.fm-hero-copy h1 { font-family: var(--ll-serif); font-weight: 400; letter-spacing: -0.02em; color: var(--ll-ink); }
.fm-hero-copy h1 span { font-weight: 400; font-style: italic; color: var(--ll-accent); }
.fm-h2, .fm-how-title h2, .fm-foot-cta h2, .fm-card h3, h1.sub, .hero h1, .panel h2, .step-title { font-family: var(--ll-serif); font-weight: 400; letter-spacing: -0.01em; }
.fm-how-title h2 em { font-style: italic; color: var(--ll-accent); }
.fm-foot-cta h2 { color: var(--ll-ink); } .fm-foot-cta h2 span { font-style: italic; color: var(--ll-accent); }
.fm-kicker { font: 500 11.5px/1 var(--ll-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ll-muted); margin: 0 0 22px; display: inline-flex; align-items: center; gap: 10px; }
.fm-kicker::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ll-accent); box-shadow: 0 0 0 4px rgba(143,208,216,.14); }
.fm-eyebrow, .eyebrow { font-family: var(--ll-mono); letter-spacing: .14em; color: var(--ll-muted); }
.fm-lead { color: var(--ll-ink2); } .fm-sub { color: var(--ll-muted); max-width: 560px; margin-left: auto; margin-right: auto; }
.fm-rotator span { color: var(--ll-accent); font-family: var(--ll-serif); font-style: italic; }
.mono, code { font-family: var(--ll-mono); }
code { background: var(--ll-s2); border: 1px solid var(--ll-line); border-radius: 6px; padding: 1px 6px; font-size: .86em; color: var(--ll-ink2); }

/* Knappar: mjuk turkos pill, ingen glöd. */
.fm-btn, .btn, .fm-nav-cta { transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }
.fm-btn.primary, .btn.primary, .fm-nav-cta { background: var(--ll-accent); color: var(--ll-on) !important; border: 1px solid transparent; box-shadow: none; font-weight: 600; }
.fm-btn.primary:hover, .btn.primary:hover, .fm-nav-cta:hover { background: var(--ll-accent-hi); transform: translateY(-1px); }
.fm-btn.ghost, .btn:not(.primary) { background: transparent; color: var(--ll-ink2); border: 1px solid var(--ll-line2); }
.fm-btn.ghost:hover, .btn:not(.primary):hover { background: var(--ll-s2); border-color: #3a4951; color: var(--ll-ink); }
.btn[disabled], .btn.primary[disabled] { opacity: .45; transform: none; cursor: not-allowed; }
.fm-btn.big { box-shadow: none; }

/* Nav + CA-raden */
.fm-nav { background: rgba(12,17,20,.78); border: 1px solid var(--ll-line); box-shadow: 0 10px 40px rgba(0,0,0,.28); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.fm-links a { color: var(--ll-muted); } .fm-links a:hover, .fm-links a[aria-current="page"] { color: var(--ll-ink); }
.fm-nav .wallet-pill { background: transparent; border: 1px solid var(--ll-line2); color: var(--ll-ink2); }
.fm-nav .wallet-drop { background: var(--ll-s1); border-color: var(--ll-line2); }
.ca-banner { background: var(--ll-s1); color: var(--ll-ink2); border-bottom: 1px solid var(--ll-line); box-shadow: none; font-family: var(--ll-sans); }
.ca-banner a, .ca-banner button, .ca-banner b { color: var(--ll-ink); }
.ca-banner b { color: var(--ll-accent); }
.ca-banner.soon { justify-content: center; gap: 18px; }
.ca-banner-live { color: var(--ll-muted); margin-left: 8px; }
.ca-banner-addr { background: rgba(255,255,255,.04); border: 1px solid var(--ll-line2); }
.ca-banner-copy { background: var(--ll-accent); color: var(--ll-on); }

/* Hero: inga flytande ikoner (borttagna 13 nov). */
.fm-hero .float-icon { display: none !important; }

/* Loggan: märket + namnet, så den läses som en hel logga. */
.fm-logo { gap: 9px; margin-right: 22px; } .fm-logo img { width: 40px; height: 40px; }
.fm-word { font: 400 25px/1 var(--ll-serif); letter-spacing: -0.015em; color: var(--ll-ink); padding-top: 2px; }
.fm-foot-logo { width: 64px; height: 64px; } .fm-foot-row .fm-word { font-size: 30px; }
.fm-powered { opacity: 1; } .fm-powered > span { color: var(--ll-faint); font-family: var(--ll-mono); }
.fm-logos-text b { font-family: var(--ll-sans); font-weight: 500; font-size: 15px; color: var(--ll-muted); }

/* Webbläsarfönstret */
.fm-tilt { max-width: 980px; }
.fm-browser { background: var(--ll-s1); border: 1px solid var(--ll-line2); border-radius: 18px; box-shadow: 0 50px 120px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.02) inset; }
.fm-bar { background: var(--ll-s2); border-bottom: 1px solid var(--ll-line); }
.fm-bar i.red, .fm-bar i.amber, .fm-bar i.green { background: #2b373e; }
.fm-url { background: var(--ll-bg); border: 1px solid var(--ll-line); } .fm-url span { color: var(--ll-faint); font-family: var(--ll-mono); }
.fm-screen { aspect-ratio: auto; background: var(--ll-bg); }
/* Förklaringsfilmen i hero-fönstret + stora spelaren */
.fm-screen.fm-screen-vid { aspect-ratio: 16 / 9; background: #070b0d; }
.fm-screen-vid video { cursor: pointer; }
.fm-expand { font-family: var(--ll-sans); font-size: 12.5px; font-weight: 500; color: var(--ll-ink); background: rgba(12,17,20,.72); border: 1px solid var(--ll-line2); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.fm-expand:hover { border-color: var(--ll-accent); }
.fm-expand span { color: var(--ll-accent); font-size: 10px; }
.fm-lightbox::backdrop { background: rgba(6,9,11,.9); }
.fm-lightbox-close { border: 1px solid var(--ll-line2); background: rgba(255,255,255,.06); color: var(--ll-ink); }
/* Avgiftsflödet har fått en egen sektion under hero */
.fm-live { padding: 96px 24px 30px; }
.fm-live-frame { max-width: 980px; margin: 0 auto; }
@media (max-width: 768px) { .fm-live { padding: 64px 14px 10px; } .fm-expand { right: 8px; bottom: 8px; padding: 6px 11px; font-size: 11px; } }

/* ---------- Hero-modulen: avgiften som delas ---------- */
.ff { font-family: var(--ll-sans); color: var(--ll-ink); padding: 22px 26px 20px; text-align: left; }
.ff-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--ll-line); }
.ff-live { display: inline-flex; align-items: center; gap: 9px; font: 500 11px/1 var(--ll-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ll-muted); }
.ff-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--ll-frost); opacity: .7; }
.ff-live.on i { background: var(--ll-ok); opacity: 1; animation: ff-blink 2.4s ease-in-out infinite; }
.ff-rule { font: 400 12px/1 var(--ll-mono); color: var(--ll-faint); }
.ff-body { display: grid; grid-template-columns: minmax(0, 1.25fr) 96px minmax(0, 1fr); align-items: stretch; padding: 18px 0 16px; min-height: 252px; }
.ff-label { margin: 0 0 12px; font: 500 10.5px/1 var(--ll-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ll-faint); display: flex; justify-content: space-between; gap: 10px; }
.ff-label b { font-weight: 500; color: var(--ll-accent); letter-spacing: .04em; }
.ff-trades ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ff-trades li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: 'side amt fee' 'side to to'; column-gap: 12px; row-gap: 3px; align-items: center; padding: 9px 12px; background: var(--ll-s1); border: 1px solid var(--ll-line); border-radius: 12px; animation: ff-in .7s cubic-bezier(.2,.7,.2,1) both; }
.ff-trades li:nth-child(n+5) { opacity: .45; }
.ff-side { grid-area: side; font: 500 10px/1 var(--ll-mono); letter-spacing: .08em; padding: 5px 0; text-align: center; border-radius: 6px; }
.ff-side.buy { color: var(--ll-ok); background: rgba(127,207,169,.09); } .ff-side.sell { color: var(--ll-down); background: rgba(224,154,146,.09); }
.ff-amt { grid-area: amt; font: 500 13px/1.1 var(--ll-mono); color: var(--ll-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ff-amt em { font-style: normal; color: var(--ll-faint); margin-left: 6px; }
.ff-fee { grid-area: fee; font: 400 11px/1 var(--ll-mono); color: var(--ll-faint); text-decoration: none; }
.ff-to { grid-area: to; font-size: 12px; color: var(--ll-accent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ff-pipe { position: relative; } .ff-pipe svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ff-line { fill: none; stroke: var(--ll-line2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ff-run { fill: none; stroke: var(--ll-accent); stroke-width: 1.4; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-dasharray: 26 240; stroke-dashoffset: 266; animation: ff-run 5.2s linear infinite; opacity: .9; }
.ff-run.b { animation-delay: -1.7s; opacity: .45; } .ff-run.c { animation-delay: -3.4s; opacity: .35; }
.ff-dest { display: grid; grid-template-rows: 1.5fr 1fr 1fr; gap: 8px; }
.ff-card { background: var(--ll-s1); border: 1px solid var(--ll-line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.ff-card.main { border-color: rgba(143,208,216,.3); background: linear-gradient(180deg, rgba(143,208,216,.07), rgba(143,208,216,.02)); }
.ff-card .ff-label { margin-bottom: 8px; }
.ff-num { margin: 0; font: 400 30px/1 var(--ll-serif); color: var(--ll-ink); font-variant-numeric: tabular-nums; }
.ff-num span { font: 500 11px/1 var(--ll-mono); color: var(--ll-faint); letter-spacing: .08em; }
.ff-num.sm { font-size: 20px; color: var(--ll-ink2); }
.ff-logos { display: flex; align-items: center; gap: 6px; margin-top: 12px; }
.ff-logos img { width: 24px; height: 24px; border-radius: 6px; background: #f2f5f6; object-fit: contain; padding: 2px; }
.ff-logos span { font: 400 11px/1 var(--ll-mono); color: var(--ll-faint); margin-left: 4px; white-space: nowrap; }
.ff-foot { border-top: 1px solid var(--ll-line); padding-top: 14px; display: grid; gap: 10px; }
.ff-bar { display: flex; height: 6px; border-radius: 99px; overflow: hidden; gap: 2px; }
.ff-bar i { display: block; height: 100%; background: var(--ll-accent); } .ff-bar i:nth-child(2) { background: #55707a; } .ff-bar i:nth-child(3) { background: #33434b; }
.ff-foot p { margin: 0; font: 400 12px/1.4 var(--ll-mono); color: var(--ll-muted); display: flex; flex-wrap: wrap; gap: 0 2px; align-items: baseline; }
.ff-foot p b { font-weight: 500; color: var(--ll-accent); } .ff-foot p span { color: var(--ll-faint); margin-left: 14px; font-family: var(--ll-sans); }
@keyframes ff-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes ff-run { to { stroke-dashoffset: 0; } }
@keyframes ff-blink { 50% { opacity: .35; } }
@media (max-width: 760px) {
  .ff { padding: 16px 14px; } .ff-rule { display: none; }
  .ff-body { grid-template-columns: 1fr; gap: 12px; min-height: 0; } .ff-pipe { display: none; }
  .ff-trades li:nth-child(n+4) { display: none; }
  .ff-dest { grid-template-rows: none; grid-template-columns: 1fr 1fr; } .ff-card.main { grid-column: 1 / -1; }
  .ff-foot p span { margin-left: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ff-run, .ff-live.on i, .ff-trades li { animation: none; } }

/* ---------- Så funkar det: kort med produkt-UI i stället för illustrationer ---------- */
.fm-how { background: none; }
.fm-card { background: var(--ll-s1); border: 1px solid var(--ll-line); box-shadow: none; transition: border-color .4s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.fm-card:hover { border-color: var(--ll-line2); transform: translateY(-4px); }
.fm-num { font-family: var(--ll-mono); color: var(--ll-accent); }
.fm-card h3 { color: var(--ll-ink); } .fm-card-text > p:last-child { color: var(--ll-muted); }
.fm-card-img.hw { background: var(--ll-bg); border: 1px solid var(--ll-line); border-radius: 14px; padding: 18px; display: grid; gap: 8px; align-content: center; min-height: 190px; }
.hw-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--ll-line); border-radius: 12px; background: var(--ll-s1); }
.hw-row.on { border-color: rgba(143,208,216,.4); background: rgba(143,208,216,.06); }
.hw-row img { width: 30px; height: 30px; border-radius: 8px; background: #f2f5f6; object-fit: contain; padding: 3px; flex: none; }
.hw-row span { display: grid; gap: 3px; min-width: 0; flex: 1; } .hw-row b { font: 500 13.5px/1.2 var(--ll-sans); color: var(--ll-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hw-row i { font: 400 11px/1 var(--ll-mono); font-style: normal; color: var(--ll-faint); }
.hw-row u { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--ll-line2); flex: none; } .hw-row.on u { border-color: var(--ll-accent); background: radial-gradient(circle, var(--ll-accent) 0 40%, transparent 46%); }
.hw-split { display: flex; gap: 3px; height: 14px; border-radius: 99px; overflow: hidden; }
.hw-split i { display: block; background: var(--ll-accent); } .hw-split i:nth-child(2) { background: #55707a; } .hw-split i:nth-child(3) { background: #33434b; }
.hw-legend { display: flex; justify-content: space-between; gap: 10px; margin-top: 10px; }
.hw-legend span { display: grid; gap: 5px; font: 400 11px/1 var(--ll-mono); color: var(--ll-faint); text-transform: uppercase; letter-spacing: .1em; }
.hw-legend b { font: 400 30px/1 var(--ll-serif); color: var(--ll-ink); letter-spacing: 0; text-transform: none; } .hw-legend span:first-child b { color: var(--ll-accent); }
.fm-card.wide .fm-card-img.hw { grid-template-columns: 1fr 1fr; gap: 12px; }
.hw-tx { border: 1px solid var(--ll-line); border-radius: 12px; background: var(--ll-s1); padding: 14px 16px; display: grid; gap: 8px; min-width: 0; }
.hw-tx.pay { border-color: rgba(143,208,216,.3); }
.hw-tx span { font: 500 10.5px/1 var(--ll-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ll-faint); }
.hw-tx p { margin: 0; font: 400 12.5px/1.35 var(--ll-mono); color: var(--ll-muted); overflow-wrap: anywhere; } .hw-tx b { font-weight: 500; color: var(--ll-ink); } .hw-tx.pay b { color: var(--ll-accent); }
@media (max-width: 760px) { .fm-card.wide .fm-card-img.hw { grid-template-columns: 1fr; } }

/* Sektioner, tabeller, kort */
.fm-section { border-top: 1px solid var(--ll-line); }
.stats > div, dl.stats > div { background: var(--ll-s1); border: 1px solid var(--ll-line); }
.stats dd { font-family: var(--ll-serif); font-weight: 400; color: var(--ll-ink); } .stats dt { color: var(--ll-muted); }
.cmp { background: var(--ll-s1); border: 1px solid var(--ll-line); border-radius: 18px; overflow: hidden; }
.fm-tilt-img .fm-tilt-inner { box-shadow: 0 40px 100px rgba(0,0,0,.4); }
.cmp-row > span:nth-child(3) { border-left: 1px solid rgba(143,208,216,.35); background: rgba(143,208,216,.05) !important; color: var(--ll-ink); }
.cmp-head > span:nth-child(3) { color: var(--ll-accent) !important; border-bottom: 1px solid rgba(143,208,216,.35); }
.rc-card, .ent-card, .coin-card, .panel, .callout, .promise, .form, .split-card, .chain-step, .chosen-charity { background: var(--ll-s1); border: 1px solid var(--ll-line); box-shadow: none; }
.rc-card, .ent-card, .coin-card { transition: border-color .4s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.rc-card:hover, .ent-card:hover, .coin-card:hover { border-color: var(--ll-line2); box-shadow: none; transform: translateY(-4px); }
.rc-img.rc-logo, .ent-logo, .pick img, .chosen-charity img { background: #f2f5f6; }
.rc-body em.ok, .pill.donated { color: var(--ll-accent); background: rgba(143,208,216,.08); border-color: rgba(143,208,216,.25); }
.pill.accruing { color: var(--ll-frost); background: rgba(200,213,218,.07); border-color: rgba(200,213,218,.2); }
input, textarea, select { background: var(--ll-bg) !important; color: var(--ll-ink) !important; border: 1px solid var(--ll-line2) !important; }
input::placeholder, textarea::placeholder { color: var(--ll-faint); }
input:focus, textarea:focus, select:focus { border-color: var(--ll-accent) !important; outline: none; box-shadow: 0 0 0 3px rgba(143,208,216,.12); }
.dropzone, .coin-preview-img, .coin-img.placeholder, .rc-coin-img.placeholder { background: var(--ll-s2); border-color: var(--ll-line2); }
.notice.warn { background: rgba(200,213,218,.06); border: 1px solid rgba(200,213,218,.2); color: var(--ll-frost); }
.notice.error { background: rgba(224,154,146,.07); border: 1px solid rgba(224,154,146,.25); color: var(--ll-down); }
.table th { color: var(--ll-faint); } .table td, .table th { border-color: var(--ll-line); }
.bar { background: var(--ll-s3); } .bar-fill, .step-bar-fill, .split-bar i { background: var(--ll-accent); }
.fm-q { border-bottom: 1px solid var(--ll-line); } .fm-q button > span:first-child { font-family: var(--ll-serif); font-weight: 400; color: var(--ll-ink); }
.fm-a p { color: var(--ll-muted); } a { text-decoration-color: rgba(143,208,216,.35); }

/* Footer: kall dimma i stället för solnedgång. */
.fm-footer { background: var(--ll-bg); }
.fm-foot-bg { opacity: .5; mix-blend-mode: screen; }
.fm-foot-cta p { color: var(--ll-muted); } .fm-foot-row { border-top: 1px solid var(--ll-line); }
.fm-footer .fm-foot-links a, .fm-copy, .fm-legal p { text-shadow: none; color: var(--ll-muted); } .fm-legal p { color: var(--ll-faint); }
@media (max-width: 768px) { .fm-footer { background: var(--ll-bg); } }
/* Footern: finstilt ska gå att läsa över molnen, och jämförelsen ska heta rätt på mobil. */
.fm-footer::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 210px; background: linear-gradient(to bottom, rgba(12,17,20,0), rgba(12,17,20,.82) 55%, rgba(12,17,20,.94)); z-index: 1; pointer-events: none; }
.fm-foot-row, .fm-legal { z-index: 2; } .fm-legal p { color: var(--ll-muted); opacity: .8; }
@media (max-width: 768px) { .fm-footer::after { height: 330px; } .cmp-row > span:nth-child(3)::before { color: var(--ll-accent); } .cmp-row > span:nth-child(2)::before { color: var(--ll-faint); } }
@media (max-width: 480px) { .fm-charities .rc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }


/* Rörelse: lugn. Allt reser sig mjukt, inget studsar. */
[data-reveal] { transition-duration: .9s !important; transition-timing-function: cubic-bezier(.2,.7,.2,1) !important; }

/* Hero-rytm: kickern får luft under nav, modulen kommer upp i första skärmen. */
.fm-hero { background: transparent; min-height: 0; justify-content: flex-start; padding-top: 136px; padding-bottom: 56px; }
.fm-hero-copy { margin-bottom: 44px; }
.fm-hero-copy h1 { font-size: clamp(2.9rem, 5.6vw, 4.9rem); padding-top: 0; margin-bottom: 22px; line-height: 1.02; }
.fm-rotator { margin-bottom: 28px; }
.fm-actions { margin-bottom: 22px; }
@media (max-width: 768px) { .fm-hero { padding-top: 150px; } .fm-kicker { font-size: 10px; letter-spacing: .1em; } }

/* Välgörenheternas loggor: en liten ljus bricka på mörk yta i stället för stora vita block. */
.rc-img { background: var(--ll-s2); }
.rc-img.rc-logo, .rc-logo { background: var(--ll-s2); padding: 18%; }
.rc-logo img { background: #eef2f3; border-radius: 18px; padding: 12%; box-sizing: border-box; filter: saturate(.85); }
.rc-initials { font-family: var(--ll-serif); color: var(--ll-accent); font-weight: 400; }
.ent-logo { border-radius: 12px; filter: saturate(.85); }

/* Undersidor: luft mellan etikett och rubrik, lugnare knappar i kortlistor. */
.hero .eyebrow { margin-bottom: 14px; display: block; }
.hero h1.sub { line-height: 1.05; }
.ent-launch.btn.primary { background: transparent; color: var(--ll-accent) !important; border: 1px solid rgba(143,208,216,.3); font-weight: 500; }
.ent-launch.btn.primary:hover { background: rgba(143,208,216,.08); border-color: var(--ll-accent); transform: none; }

