diff --git a/docs/about.md b/docs/about.md
index 60440b1..acf4000 100644
--- a/docs/about.md
+++ b/docs/about.md
@@ -3,14 +3,13 @@ sidebar_position: 1
slug: /
---
-# About
+# The open platform
+# for Lightning + Nostr apps
-Hi,
+[SHOCKNET](https://shock.network) is a free and open source (FOSS) set of tools built as bridge between the Bitcoin Lightning Network and Nostr ecosystem. Each of our products is designed to make simple interactions faster, more private, and user-controlled. We brings together a suite of products that work in harmony to reshape your digital experience.
-We’re shocknet and we make open-source, decentralized apps for the Bitcoin Lightning Network, using Nostr.
+At its core is [SHOCKWALLET](https://SHOCKwallet.app), a non-custodial Lightning wallet that blends seamless Bitcoin payments with social connectivity, ensuring users retain full control of both funds and identity. This spirit of empowerment extends to [LIGHTNING.pub](https://lightning.pub), a censorship-resistant publishing platform where creators can share and monetize their work directly through Lightning payments.
-We also provide hosting services to use them with, like a CDN(Content Delivery Network) for sharing video, and professional relays for Nostr.
+Complementing it, [LN.video](https://lnvideo) enables peer-to-peer video hosting and monetization without relying on centralized platforms. [SANCTUM](https://auth.shock.network) acts as the network’s privacy and identity hub, providing secure data management and authentication across SHOCKNET’s services. Completing the ecosystem, [CLINK](https://clinkme.dev) serves as a Lightning-native communication protocol that allows encrypted, low-latency messaging and social interaction.
-By using our services, you’ll help us to keep improving the software to build a powerful Bitcoin circular economy. We look forward to serving you!
-
--The Shock Team
+Together, these components form a cohesive, open network that unites payments, publishing, media, and communication in a single decentralized experience. Explore the documentation to discover how we are redefining the social and financial fabric of sovereign individals and private organizations.
diff --git a/docs/brand.md b/docs/brand.md
index e7302a5..e9dec04 100644
--- a/docs/brand.md
+++ b/docs/brand.md
@@ -2,11 +2,3 @@
Open Brand Manual in new window or Download Brand Manual in PDF
-
diff --git a/docs/media.md b/docs/media.md
index 490b984..74b4236 100644
--- a/docs/media.md
+++ b/docs/media.md
@@ -5,9 +5,10 @@ Everything you need to cover SHOCKNET: offical social accounts, boilerplate copy
## SHOCKNET Social Accounts
+- `Telegram` https://t.me/shockbtc
- `Nostr` https://njump.to/npub1xvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqce64sa
+- `GitHub` https://github.com/SHOCKNET
- `X` https://x.com/shockbtc
-- `GH` https://github.com/SHOCKNET
## Company Boilerplate
These approved copy blocks are cleared for use in press releases, articles, podcasts, and editorial coverage. Please use them verbatim and do not modify. Three lengths are provided to fit your editorial format.
@@ -34,67 +35,67 @@ SHOCKNET is backed by Fulgur Ventures (pre-seed) and the Wolf NYC Lightning Acce
```
-## Shock Product Descriptions
+## SHOCKNET Products Descriptions
Approved editorial description. Each block includes copy cleared for press use, a one-line description for lists and tables, and relevant URLs.
-### Lightning.Pub
-Bitcoin Bank: [Lightning.pub](https://Lightning.pub) · [github.com/SHOCKNET/Lightning.Pub](https://github.com/SHOCKNET/Lightning.Pub)
+### SHOCKWALLET
+Bitcoin Daily Spending: [ShockWallet.app](https://shockwallet.app) · [github.com/SHOCKNET/wallet2](https://github.com/SHOCKNET/wallet2)
-**One-line:** Share your node Bitcoin node, make it a Lightning Bank. Connect your community via Nostr.
+**One-line:** The non-custodial Bitcoin Lightning wallet for friends, family, and business.
-`Node Middleware` - `Nostr-Native` - `Open Source`
+`Mobile & Web Wallet` - `Non-Custodial` - `Remote Node`
```
-Lightning.Pub is an open-source, Nostr-native Lightning node daemon that turns any server, Raspberry Pi, NUC, or VPS into a shared Lightning node — no port forwarding, no TLS configuration, and no Bitcoin full node required.
+ShockWallet is a non-custodial Lightning wallet that connects to a self-hosted Lightning.Pub node without requiring the phone and node to be on the same network. All communication between wallet and node is relayed over the Nostr network, meaning there are no IP addresses, port forwarding rules, or VPN tunnels involved.
-Rather than exposing node APIs directly, Lightning.Pub uses Nostr relays as its communication layer, meaning the node operator never needs to open firewall ports or manage SSL certificates. Multiple users can share a single node through Lightning.Pub's multi-layer account system, enabling "Uncle Jim" operators to offer Lightning services to family, friends, or customers with full non-custodial guarantees.
+Users can connect to their own Lightning.Pub node or to a trusted node run by someone they know — giving them full key ownership with the convenience of a custodial app. ShockWallet supports LNURL, Lightning Addresses, NIP05-backed Lightning Addresses, and standard on-chain Bitcoin transactions.
```
-### ShockWallet
-Bitcoin Daily Spending: [ShockWallet.app](https://shockwallet.app) · [github.com/SHOCKNET/wallet2](https://github.com/SHOCKNET/wallet2)
+### LIGHTNING.pub
+Bitcoin Bank: [Lightning.pub](https://Lightning.pub) · [github.com/SHOCKNET/Lightning.Pub](https://github.com/SHOCKNET/Lightning.Pub)
-**One-line:** The non-custodial Bitcoin Lightning wallet for friends, family, and business.
+**One-line:** Share your node Bitcoin node, make it a Lightning Bank. Connect your community via Nostr.
-`Mobile & Web Wallet` - `Non-Custodial` - `Remote Node`
+`Node Middleware` - `Nostr-Native` - `Open Source`
```
-ShockWallet is a non-custodial Lightning wallet that connects to a self-hosted Lightning.Pub node without requiring the phone and node to be on the same network. All communication between wallet and node is relayed over the Nostr network, meaning there are no IP addresses, port forwarding rules, or VPN tunnels involved.
+LIGHTNING.pub is an open-source, Nostr-native Lightning node daemon that turns any server, Raspberry Pi, NUC, or VPS into a shared Lightning node — no port forwarding, no TLS configuration, and no Bitcoin full node required.
-Users can connect to their own Lightning.Pub node or to a trusted node run by someone they know — giving them full key ownership with the convenience of a custodial app. ShockWallet supports LNURL, Lightning Addresses, NIP05-backed Lightning Addresses, and standard on-chain Bitcoin transactions.
+Rather than exposing node APIs directly, LIGHTNING.pub uses Nostr relays as its communication layer, meaning the node operator never needs to open firewall ports or manage SSL certificates. Multiple users can share a single node through Lightning.Pub's multi-layer account system, enabling "Uncle Jim" operators to offer Lightning services to family, friends, or customers with full non-custodial guarantees.
```
-### Lightning.Video
+### LN.video
Monetize Video with Bitcoin: [LN.video](https://ln.video) · [github.com/SHOCKNET/ClinkSDK](https://github.com/SHOCKNET/ClinkSDK)
**One-line:** Watch your favorite videos, zap your favorite vloggers, upload exclusive videos and share them with your community to turn your contents into a creative business.
`Video Platform` - `Pay per View` - `Paywall` - `Micropayments`
```
-Lightning.Video is a decentralized video platform powered by the Bitcoin Lightning Network and WebTorrent. Creators upload directly and set their own prices — from free to per-view micropayments — with every payment going directly to the creator's Lightning wallet, with no intermediary taking a cut.
+LIGHTNING.video is a decentralized video platform powered by the Bitcoin Lightning Network and WebTorrent. Creators upload directly and set their own prices — from free to per-view micropayments — with every payment going directly to the creator's Lightning wallet, with no intermediary taking a cut.
-The platform requires no account to browse, no email to sign up, and no advertiser relationships. Creators retain full control of their content and monetization strategy. Lightning.Video launched publicly in September 2022 and recorded a greater than 1000% month-over-month increase in user-generated revenues in June 2023.
+The platform requires no account to browse, no email to sign up, and no advertiser relationships. Creators retain full control of their content and monetization strategy. LN.Video launched publicly in September 2022 and recorded a greater than 1000% month-over-month increase in user-generated revenues in June 2023.
```
-### Sanctum Auth
+### SANCTUM
Authentication layer: [auth.shcok.network](https://auth.shcok.network) · [github.com/SHOCKNET/sanctum-client](https://github.com/SHOCKNET/sanctum-client)
**One-line:** Nostr passwordless authentication and identity management for teams and power users.
`DigitalID` - `Auth` - `Nostr-Native` - `Passwordless`
```
-Sanctum is SHOCKNET's Nostr-native authentication layer that unlocks bridging to legacy auth like email, delegation without key divulsion and enabling applications to offer passwordless login flows without.
+SANCTUM is SHOCKNET's Nostr-native authentication layer that unlocks bridging to legacy auth like email, delegation without key divulsion and enabling applications to offer passwordless login flows without.
-Built on Nostr public-key cryptography, Sanctum Auth allows users to authenticate with any application in the SHOCKNET ecosystem and any third-party apps that integrate the Clink SDK. Using only a Nostr keypair teams aim enable the use of a single key without the key owner having to share it. This removes the dependency on centralized identity providers while maintaining a familiar single-sign-on experience.
+Built on Nostr public-key cryptography, SANCTUM allows users to authenticate with any application in the SHOCKNET ecosystem and any third-party apps that integrate the CLINK developer SDK. Using only a Nostr keypair teams aim enable the use of a single key without the key owner having to share it. This removes the dependency on centralized identity providers while maintaining a familiar single-sign-on experience.
```
-### Clink SDK
+### CLINK
Developer SDK: [CLINKme.dev](https://CLINKme.dev) · [github.com/SHOCKNET/CLINK](https://github.com/SHOCKNET/CLINK)
**One-line:** Nostr-native interface for adding Bitcoin Lightning payments to any application.
`SDK` - `API` - `Developer Tools`
```
-Clink is SHOCKNET's JavaScript SDK for embedding Bitcoin Lightning payments into any web application. Developers can integrate Lightning payment flows, Lightning Address resolution, and Sanctum Auth login in a few lines of code, without needing to understand the underlying node or Nostr protocol details.
+CLINK is SHOCKNET's JavaScript SDK for embedding Bitcoin Lightning payments into any web application. Developers can integrate Lightning payment flows, lightning address resolution, and SANCTUM auth login in a few lines of code, without needing to understand the underlying node or Nostr protocol details.
-Clink abstracts Lightning.Pub's API into a high-level, web-native interface, enabling rapid integration for wallets, e-commerce sites, content platforms, and developer tools that want to accept or send Bitcoin Lightning payments.
+CLINK abstracts Lightning.Pub's API into a high-level, web-native interface, enabling rapid integration for wallets, e-commerce sites, content platforms, and developer tools that want to accept or send Bitcoin Lightning payments.
```
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 563617f..d990381 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -9,8 +9,8 @@ import {themes as prismThemes} from 'prism-react-renderer';
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'Shock Docs',
- tagline: 'Guides and information for ShockWallet, Lightning.Video, Lightning.Pub, and Sanctum Auth',
- favicon: 'img/logo.png',
+ tagline: 'Guides and information for SHOCKWALLET, LIGHTNING.pub, LN.video, SANCTUM & CLINK',
+ favicon: '/favicon/favicon.png',
// Set the production url of your site here
url: 'https://docs.shock.network',
@@ -51,6 +51,7 @@ const config = {
theme: {
customCss: './src/css/custom.css',
},
+
}),
],
],
@@ -58,13 +59,21 @@ const config = {
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
+
+ colorMode: {
+ defaultMode: 'dark',
+ disableSwitch: false, // keep the toggle visible
+ respectPrefersColorScheme: true, // honor OS dark/light preference
+ },
+
// Replace with your project's social card
image: 'img/docusaurus-social-card.jpg',
navbar: {
- title: 'SHOCKNET',
+ title: 'DOCS → ',
logo: {
- alt: 'Shocknet Logo',
- src: 'img/logo.png',
+ alt: 'SHOCKNET Logo',
+ src: '/logos/Light/SHOCKNET/SHOCKNET.png',
+ srcDark: '/logos/Dark/SHOCKNET/SHOCKNET.png',
},
items: [
{
@@ -77,65 +86,72 @@ const config = {
type: 'doc',
docId: 'wallet/intro',
position: 'left',
- label: 'ShockWallet',
+ label: 'SHOCKWALLET',
},
{
type: 'doc',
docId: 'pub/intro',
position: 'left',
- label: 'Lightning.Pub',
+ label: 'LIGHTNING.pub',
},
{
type: 'doc',
docId: 'video/intro',
position: 'left',
- label: 'Lightning.Video',
+ label: 'LN.video',
},
{
type: 'doc',
docId: 'sanctum/intro',
position: 'left',
- label: 'Sanctum',
+ label: 'SANCTUM',
+ },
+ {
+ href: 'https://t.me/shockbtc',
+ label: 'T',
+ position: 'right',
+ },
+ {
+ href: 'https://njump.to/nprofile1qqsrx9hrd9k7wnfejkgj0wwcgt0400wut5w8479qfudu0tkcpdz9pzqfwq5xw',
+ label: 'N',
+ position: 'right',
},
{
href: 'https://github.com/shocknet',
- label: 'GitHub',
+ label: 'G',
+ position: 'right',
+ },
+ {
+ href: 'https://x.com/shockbtc',
+ label: 'X',
position: 'right',
},
],
},
- footer: {
- style: 'dark',
+footer: {
links: [
{
- title: 'Community',
+ title: 'Products',
items: [
- {
- label: 'Telegram',
- href: 'https://t.me/shockbtc',
- },
- {
- label: 'Lightning Video',
- href: 'https://lightning.video/thecto',
- },
- {
- label: 'Twitter',
- href: 'https://twitter.com/shockbtc',
- },
+ { label: 'SHOCKWALLET', href: 'https://shockwallet.app' },
+ { label: 'LIGHTNING.pub', href: 'https://lightning.pub' },
+ { label: 'LN.video', href: 'https://lightning.video' },
+ { label: 'SANCTUM', href: 'https://sanctum.app' },
+ { label: 'CLINK', href: 'https://clink.cool' },
],
},
{
- title: 'More',
+ title: 'Resources',
items: [
- {
- label: 'GitHub',
- href: 'https://github.com/shocknet/',
- },
+ { label: 'Telegram', href: 'https://t.me/shockbtc' },
+ { label: 'Nostr', href: 'https://njump.to/nprofile1qqsrx9hrd9k7wnfejkgj0wwcgt0400wut5w8479qfudu0tkcpdz9pzqfwq5xw' },
+ { label: 'GitHub', href: 'https://github.com/SHOCKNET' },
+ { label: 'X', href: 'https://x.com/shockbtc' },
],
},
],
- copyright: `Copyright © ${new Date().getFullYear()} Shock Network, Inc. Built with Docusaurus.`,
+ copyright: ` · © ${new Date().getFullYear()} SHOCKNET · All rights reserved · `,
},
prism: {
theme: prismThemes.github,
diff --git a/pub_isolate_trp.png b/pub_isolate_trp.png
index 137ae80..aa63352 100644
Binary files a/pub_isolate_trp.png and b/pub_isolate_trp.png differ
diff --git a/src/css/custom.css b/src/css/custom.css
index 1836381..e036308 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -1,40 +1,775 @@
-/* Import Montserrat Font from Google Fonts */
-@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
-
/**
- * Any CSS included here will be global. The classic template
- * bundles Infima by default. Infima is a CSS framework designed to
- * work well for content-centric websites.
+ * ═══════════════════════════════════════════════════════════════════════════
+ * SHOCKNET — Docusaurus Theme
+ * src/css/custom.css
+ * v1.0 · 2026
+ * ═══════════════════════════════════════════════════════════════════════════
+ *
+ * This file overrides Infima (Docusaurus' CSS framework) with the SHOCKNET
+ * brand design system. It covers both dark and light modes.
+ *
+ * FONTS are loaded via docusaurus.config.js → stylesheets[] (see guide).
+ * Do not @import fonts here — it blocks rendering.
+ *
+ * STRUCTURE
+ * ─────────────────────────────────────────────────────────────────────────
+ * 01 Primary Color Palette (Infima 7-shade system)
+ * 02 Dark Mode Overrides
+ * 03 Background & Surface
+ * 04 Typography
+ * 05 Heading Styles (exact brand-manual tracking)
+ * 06 Navigation Bar
+ * 07 Sidebar / Menu
+ * 08 Table of Contents
+ * 09 Content Area
+ * 10 Code Blocks
+ * 11 Admonitions / Callouts
+ * 12 Footer
+ * 13 Buttons & Badges
+ * 14 Tables
+ * 15 Pagination
+ * 16 Search
+ * 17 Scrollbar
+ * 18 SHOCKNET Custom Components (.sn-pill, .sn-badge, product colors)
+ * ═══════════════════════════════════════════════════════════════════════════
*/
-/* Apply Montserrat to the entire website */
-body {
- font-family: 'Montserrat', sans-serif;
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 01 PRIMARY COLOR PALETTE — LIGHT MODE (:root)
+ *
+ * Primary = SHOCKWALLET Blue #2E6DCE (best contrast on white backgrounds)
+ * 7 Infima shades required — generated from base color.
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+:root {
+
+ /* ── Primary: SHOCKWALLET Blue — high contrast on white ─────────────── */
+ --ifm-color-primary: #2E6DCE;
+ --ifm-color-primary-dark: #2862b9;
+ --ifm-color-primary-darker: #2559a8;
+ --ifm-color-primary-darkest: #1e498a;
+ --ifm-color-primary-light: #3d7ad4;
+ --ifm-color-primary-lighter: #5088d9;
+ --ifm-color-primary-lightest: #79a3e3;
+
+ /* ── Product accent vars (raw — use anywhere in docs MDX/JSX) ────────── */
+ --sn-cyan: #4FD6F0;
+ --sn-blue: #2E6DCE;
+ --sn-orange: #FF9900;
+ --sn-magenta: #D75AD7;
+ --sn-red: #FF3366;
+ --sn-yellow: #F0E91A;
+ --sn-violet: #8A6BE5;
+ --sn-green: #4FD27A;
+
+ /* ── Global spacing & radius ─────────────────────────────────────────── */
+ --ifm-global-radius: 10px;
+ --ifm-global-spacing: 16px;
+
+ /* ── Code ────────────────────────────────────────────────────────────── */
+ --ifm-code-font-size: 90%;
+ --ifm-code-border-radius: 5px;
+ --ifm-code-background: #F0F0ED;
+
+ /* ── Transitions ─────────────────────────────────────────────────────── */
+ --ifm-transition-fast: 150ms;
+ --ifm-transition-slow: 400ms;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 02 DARK MODE OVERRIDES (html[data-theme='dark'])
+ *
+ * Primary = SHOCKNET Cyan #1BCFE0 — vivid on dark, meets contrast AA.
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+html[data-theme='dark'] {
+
+ /* ── Primary: Cyan ───────────────────────────────────────────────────── */
+ --ifm-color-primary: #1BCFE0;
+ --ifm-color-primary-dark: #18b9c9;
+ --ifm-color-primary-darker: #16aeba;
+ --ifm-color-primary-darkest: #118f98;
+ --ifm-color-primary-light: #33d5e4;
+ --ifm-color-primary-lighter: #4fdce9;
+ --ifm-color-primary-lightest: #7be7f0;
+
+ /* ── Product accent vars (dark theme values) ─────────────────────────── */
+ --sn-cyan: #1BCFE0;
+ --sn-blue: #3A7BFF;
+ --sn-orange: #FF8A00;
+ --sn-magenta: #F040F5;
+ --sn-red: #FF0050;
+ --sn-yellow: #F7FF00;
+ --sn-violet: #9B63FF;
+ --sn-green: #25E673;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 03 BACKGROUND & SURFACE
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+/* Light mode */
+:root {
+ --ifm-background-color: #F2F2EF; /* Shell — off-white */
+ --ifm-background-surface-color: #FFFFFF;
+ --ifm-color-emphasis-0: #FFFFFF;
+ --ifm-color-emphasis-100: #F2F2EF;
+ --ifm-color-emphasis-200: #E8E8E5;
+ --ifm-color-emphasis-300: #D0D0CC;
+ --ifm-color-emphasis-400: #B0B0AA;
+ --ifm-color-emphasis-600: #777770;
+ --ifm-color-emphasis-700: #555550;
+ --ifm-color-emphasis-800: #333330;
+ --ifm-color-emphasis-900: #111213;
+ --ifm-color-emphasis-1000: #000000;
+ --ifm-hr-border-color: #D0D0CC;
+ --ifm-toc-border-color: #D0D0CC;
+}
+
+/* Dark mode */
+html[data-theme='dark'] {
+ --ifm-background-color: #111213; /* Night */
+ --ifm-background-surface-color: #212325; /* Coal */
+ --ifm-color-emphasis-0: #111213;
+ --ifm-color-emphasis-100: #1A1B1C;
+ --ifm-color-emphasis-200: #212325;
+ --ifm-color-emphasis-300: #2C2E30;
+ --ifm-color-emphasis-400: #3C3C3C; /* Graphene */
+ --ifm-color-emphasis-600: #505050;
+ --ifm-color-emphasis-700: #8A8A8A; /* Dust */
+ --ifm-color-emphasis-800: #C0C0C0;
+ --ifm-color-emphasis-900: #F1F1F1; /* Ice */
+ --ifm-color-emphasis-1000: #FFFFFF;
+ --ifm-hr-border-color: #3C3C3C;
+ --ifm-toc-border-color: #3C3C3C;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 04 TYPOGRAPHY — Font Families & Base Sizes
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
+
+:root {
+ /* ── Font families ───────────────────────────────────────────────────── */
+ --ifm-font-family-base: 'Inter', system-ui, -apple-system, sans-serif;
+ --ifm-font-family-monospace: 'DM Mono', 'Courier New', monospace;
+
+ /* ── Heading font — DM Mono as per brand manual ──────────────────────── */
+ --ifm-heading-font-family: 'DM Mono', 'Courier New', monospace;
+ --ifm-heading-font-weight: 400; /* overridden per-level below */
+ --ifm-heading-line-height: 1.15;
+ --ifm-heading-color: var(--ifm-font-color-base);
+
+ /* ── Base sizes ──────────────────────────────────────────────────────── */
+ --ifm-font-size-base: 16px;
+ --ifm-line-height-base: 1.75;
+
+ /* ── Font colors ─────────────────────────────────────────────────────── */
+ --ifm-font-color-base: #111213;
+ --ifm-font-color-secondary: #555555;
+}
+
+html[data-theme='dark'] {
+ --ifm-font-color-base: #F1F1F1;
+ --ifm-font-color-secondary: #8A8A8A;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 05 HEADING STYLES
+ *
+ * Brand manual spec (exact):
+ * H1 42px weight 300 tracking −0.042em
+ * H2 36px weight 300 tracking −0.021em
+ * H3 24px weight 300 tracking −0.014em
+ * H4 21px weight 400 tracking −0.007em
+ * H5 18px weight 400 tracking +0.007em
+ * H6 16px weight 400 tracking +0.042em + ALLCAPS
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+
+h1, .markdown h1 {
+ font-size: 42px;
+ font-weight: 300;
+ letter-spacing: -0.042em;
+}
+h2, .markdown h2 {
+ font-size: 36px;
+ font-weight: 300;
+ letter-spacing: -0.021em;
+}
+h3, .markdown h3 {
+ font-size: 24px;
+ font-weight: 300;
+ letter-spacing: -0.014em;
+}
+h4, .markdown h4 {
+ font-size: 21px;
+ font-weight: 400;
+ letter-spacing: -0.007em;
+}
+h5, .markdown h5 {
+ font-size: 18px;
+ font-weight: 400;
+ letter-spacing: 0.007em;
+}
+h6, .markdown h6 {
+ font-size: 16px;
+ font-weight: 400;
+ letter-spacing: 0.042em;
+ text-transform: uppercase;
+}
+
+/* Anchor links next to headings */
+.hash-link { color: var(--ifm-color-primary); opacity: 0; }
+h1:hover .hash-link,
+h2:hover .hash-link,
+h3:hover .hash-link { opacity: 1; }
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 06 NAVIGATION BAR
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+:root {
+ --ifm-navbar-background-color: rgba(242,242,239,0.94);
+ --ifm-navbar-shadow: none;
+ --ifm-navbar-height: 60px;
+ --ifm-navbar-padding-vertical: 0;
+ --ifm-navbar-link-color: #555555;
+ --ifm-navbar-link-hover-color: #111213;
+ --ifm-navbar-link-active-color: #2E6DCE;
+}
+
+html[data-theme='dark'] {
+ --ifm-navbar-background-color: rgba(17,18,19,0.92);
+ --ifm-navbar-link-color: #8A8A8A;
+ --ifm-navbar-link-hover-color: #F1F1F1;
+ --ifm-navbar-link-active-color: #1BCFE0;
+}
+
+.navbar {
+ backdrop-filter: blur(16px);
+ -webkit-backdrop-filter: blur(16px);
+ border-bottom: 1px solid var(--ifm-color-emphasis-300);
+}
+
+.navbar__brand {
+ font-family: var(--ifm-heading-font-family);
+ font-weight: 300;
+ letter-spacing: 0.07em;
+ font-size: 18px;
}
+.navbar__link {
+ font-family: 'DM Mono', monospace;
+ font-size: 12px;
+ letter-spacing: 0.14em;
+ text-transform: uppercase;
+ font-weight: 400;
+}
+
+/* Active nav item underline */
+.navbar__link--active,
+.navbar__link:hover {
+ text-decoration: none;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 07 SIDEBAR / MENU
+ * ═══════════════════════════════════════════════════════════════════════════ */
-/* You can override the default Infima variables here. */
:root {
- --ifm-color-primary: #2aabe1;
- --ifm-code-font-size: 95%;
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
+ --ifm-menu-color: #555555;
+ --ifm-menu-color-active: #2E6DCE;
+ --ifm-menu-color-background-active: color-mix(in srgb, #2E6DCE 10%, transparent);
+ --ifm-menu-color-background-hover: color-mix(in srgb, #111213 5%, transparent);
+ --ifm-menu-link-padding-horizontal: 12px;
+ --ifm-menu-link-padding-vertical: 6px;
+ --ifm-sidebar-width: 280px;
+}
+
+html[data-theme='dark'] {
+ --ifm-menu-color: #8A8A8A;
+ --ifm-menu-color-active: #1BCFE0;
+ --ifm-menu-color-background-active: color-mix(in srgb, #1BCFE0 10%, transparent);
+ --ifm-menu-color-background-hover: color-mix(in srgb, #F1F1F1 5%, transparent);
+}
+
+/* Sidebar category labels */
+.menu__list-item-collapsible .menu__link {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+ color: var(--ifm-color-emphasis-600);
}
-/* For readability concerns, you should choose a lighter palette in dark mode. */
-[data-theme='dark'] {
- --ifm-color-primary: #2aabe1;
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
+.menu__link {
+ border-radius: var(--ifm-global-radius);
+ font-size: 14px;
}
-html[data-theme='dark'] body {
- background-color: #16191c;
+.menu__link--active:not(.menu__link--sublist) {
+ border-left: 2px solid var(--ifm-color-primary);
+ padding-left: 10px;
}
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 08 TABLE OF CONTENTS (right rail)
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+.table-of-contents {
+ border-left: 1px solid var(--ifm-toc-border-color);
+ font-family: 'DM Mono', monospace;
+ font-size: 12px;
+ letter-spacing: 0.07em;
+}
+
+.table-of-contents__link {
+ color: var(--ifm-color-emphasis-600);
+ text-decoration: none;
+}
+
+.table-of-contents__link--active,
+.table-of-contents__link:hover {
+ color: var(--ifm-color-primary);
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 09 CONTENT AREA
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+.markdown p { line-height: 1.75; }
+
+/* Links */
+.markdown a {
+ color: var(--ifm-color-primary);
+ text-decoration: none;
+}
+.markdown a:hover {
+ text-decoration: underline;
+ text-underline-offset: 3px;
+}
+
+/* Horizontal rule */
+.markdown hr {
+ border-top: 1px solid var(--ifm-hr-border-color);
+}
+
+/* Blockquote */
+.markdown blockquote {
+ border-left: 3px solid var(--ifm-color-primary);
+ background: color-mix(in srgb, var(--ifm-color-primary) 6%, transparent);
+ border-radius: 0 var(--ifm-global-radius) var(--ifm-global-radius) 0;
+ padding: 12px 20px;
+ margin: 16px 0;
+ color: var(--ifm-font-color-secondary);
+ font-style: normal;
+}
+
+/* Badges (--badge variants built-in to Infima) */
+.badge { font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.12em; }
+
+/* Strong */
+.markdown strong { color: var(--ifm-font-color-base); }
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 10 CODE BLOCKS
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+:root {
+ --ifm-code-background: #EDEDE8;
+}
html[data-theme='dark'] {
- --ifm-background-surface-color: #16191c;
- --ifm-background-color: #16191c;
+ --ifm-code-background: #1A1B1C;
+}
+
+/* Inline code */
+code {
+ font-family: var(--ifm-font-family-monospace);
+ font-size: var(--ifm-code-font-size);
+ border-radius: var(--ifm-code-border-radius);
+ padding: 1px 5px;
+ background: var(--ifm-code-background);
+ border: 1px solid var(--ifm-color-emphasis-300);
+}
+
+/* Fenced code block container */
+.codeBlockContainer {
+ border: 1px solid var(--ifm-color-emphasis-300);
+ border-radius: var(--ifm-global-radius);
+ overflow: hidden;
+}
+
+/* Fenced code title bar */
+.codeBlockTitle {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.10em;
+ text-transform: uppercase;
+ background: var(--ifm-color-emphasis-200);
+ padding: 8px 16px;
+ border-bottom: 1px solid var(--ifm-color-emphasis-300);
+}
+
+html[data-theme='dark'] .codeBlockTitle {
+ background: #1A1B1C;
+}
+
+/* Prism theme adjustment — dark */
+html[data-theme='dark'] .prism-code {
+ background: #0E0F10 !important;
+}
+html[data-theme='dark'] .codeBlock {
+ background: #0E0F10;
+}
+
+/* Prism theme adjustment — light */
+html[data-theme='light'] .prism-code {
+ background: #F5F5F2 !important;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 11 ADMONITIONS / CALLOUTS
+ *
+ * Docusaurus maps admonition types: note, tip, info, caution, danger
+ * We map them to SHOCKNET product colors where appropriate.
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+:root {
+ /* note → neutral (SHOCKNET grey) */
+ --ifm-color-admonition-note-background: color-mix(in srgb, #8A8A8A 8%, transparent);
+ --ifm-color-admonition-note-icon: #8A8A8A;
+ /* tip → SANCTUM green */
+ --ifm-color-admonition-tip-background: color-mix(in srgb, var(--sn-green) 8%, transparent);
+ --ifm-color-admonition-tip-icon: var(--sn-green);
+ /* info → SHOCKWALLET cyan */
+ --ifm-color-admonition-info-background: color-mix(in srgb, var(--sn-cyan) 8%, transparent);
+ --ifm-color-admonition-info-icon: var(--sn-cyan);
+ /* caution → CLINK yellow */
+ --ifm-color-admonition-caution-background: color-mix(in srgb, var(--sn-orange) 8%, transparent);
+ --ifm-color-admonition-caution-icon: var(--sn-orange);
+ /* danger → LIGHTNING.video red */
+ --ifm-color-admonition-danger-background: color-mix(in srgb, var(--sn-red) 8%, transparent);
+ --ifm-color-admonition-danger-icon: var(--sn-red);
+}
+
+.admonition {
+ border-radius: var(--ifm-global-radius);
+ border-left-width: 3px;
+}
+
+.admonition-heading h5 {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ font-weight: 400;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 12 FOOTER
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+:root {
+ --ifm-footer-background-color: #FFFFFF;
+ --ifm-footer-color: #555555;
+ --ifm-footer-link-color: #555555;
+ --ifm-footer-link-hover-color: #111213;
+ --ifm-footer-title-color: #111213;
+}
+
+html[data-theme='dark'] {
+ --ifm-footer-background-color: #0E0F10;
+ --ifm-footer-color: #8A8A8A;
+ --ifm-footer-link-color: #8A8A8A;
+ --ifm-footer-link-hover-color: #F1F1F1;
+ --ifm-footer-title-color: #F1F1F1;
}
.footer {
- background-color: #151D24
+ border-top: 1px solid var(--ifm-color-emphasis-300);
+}
+
+.footer__title {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+}
+
+.footer__link-item {
+ font-size: 14px;
+ line-height: 1.8;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 13 BUTTONS
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+.button {
+ font-family: 'Inter', sans-serif;
+ font-weight: 500;
+ font-size: 16px;
+ letter-spacing: 0;
+ border-radius: var(--ifm-global-radius);
+ height: 42px;
+ padding: 0 24px;
+ transition: opacity 0.15s ease, box-shadow 0.15s ease;
+}
+
+.button--sm {
+ font-size: 12px;
+ height: 36px;
+ padding: 0 16px;
+ border-radius: 5px;
+}
+
+.button--primary {
+ background: var(--ifm-color-primary);
+ border-color: var(--ifm-color-primary);
+ color: #ffffff;
+}
+.button--primary:hover {
+ opacity: 0.88;
+ color: #ffffff;
+}
+
+.button--secondary {
+ background: transparent;
+ border: 1px solid var(--ifm-color-primary);
+ color: var(--ifm-color-primary);
+}
+.button--secondary:hover { opacity: 0.88; }
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 14 TABLES
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+.markdown table {
+ display: block;
+ overflow-x: auto;
+ width: 100%;
+ border: 1px solid var(--ifm-color-emphasis-300);
+ border-radius: var(--ifm-global-radius);
+ border-collapse: separate;
+ border-spacing: 0;
+ overflow: hidden;
+}
+
+.markdown table th {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.10em;
+ text-transform: uppercase;
+ background: var(--ifm-color-emphasis-100);
+ border-bottom: 1px solid var(--ifm-color-emphasis-300);
+ padding: 10px 16px;
+ color: var(--ifm-color-emphasis-700);
+}
+
+html[data-theme='dark'] .markdown table th {
+ background: var(--ifm-color-emphasis-200);
+}
+
+.markdown table td {
+ padding: 12px 16px;
+ font-size: 14px;
+ border-bottom: 1px solid var(--ifm-color-emphasis-200);
+}
+
+.markdown table tr:last-child td { border-bottom: none; }
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 15 PAGINATION
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+.pagination-nav__link {
+ border: 1px solid var(--ifm-color-emphasis-300);
+ border-radius: var(--ifm-global-radius);
+ transition: border-color 0.15s ease, background 0.15s ease;
+}
+.pagination-nav__link:hover {
+ border-color: var(--ifm-color-primary);
+ background: color-mix(in srgb, var(--ifm-color-primary) 5%, transparent);
+ text-decoration: none;
+}
+
+.pagination-nav__sublabel {
+ font-family: 'DM Mono', monospace;
+ font-size: 9px;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ color: var(--ifm-color-emphasis-600);
+}
+
+.pagination-nav__label {
+ font-family: 'DM Mono', monospace;
+ font-size: 16px;
+ font-weight: 300;
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 16 SEARCH (DocSearch / Algolia)
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+.DocSearch-Button {
+ border-radius: var(--ifm-global-radius) !important;
+ font-family: 'DM Mono', monospace !important;
+ font-size: 10px !important;
+ letter-spacing: 0.10em !important;
+}
+
+:root {
+ --docsearch-primary-color: var(--ifm-color-primary);
+ --docsearch-searchbox-background: var(--ifm-color-emphasis-100);
+ --docsearch-modal-background: var(--ifm-background-surface-color);
+ --docsearch-footer-background: var(--ifm-background-color);
+ --docsearch-key-gradient: linear-gradient(135deg, var(--ifm-color-emphasis-200), var(--ifm-color-emphasis-100));
+}
+
+html[data-theme='dark'] {
+ --docsearch-searchbox-background: #1A1B1C;
+ --docsearch-modal-background: #212325;
+ --docsearch-footer-background: #111213;
+ --docsearch-hit-background: #2C2E30;
+ --docsearch-text-color: #F1F1F1;
+ --docsearch-muted-color: #8A8A8A;
+ --docsearch-key-gradient: linear-gradient(135deg, #3C3C3C, #2C2E30);
+}
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 17 SCROLLBAR (dark mode — subtle custom scrollbar)
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+html[data-theme='dark'] ::-webkit-scrollbar { width: 6px; height: 6px; }
+html[data-theme='dark'] ::-webkit-scrollbar-track { background: transparent; }
+html[data-theme='dark'] ::-webkit-scrollbar-thumb { background: #3C3C3C; border-radius: 3px; }
+html[data-theme='dark'] ::-webkit-scrollbar-thumb:hover { background: #505050; }
+
+
+/* ═══════════════════════════════════════════════════════════════════════════
+ * 18 SHOCKNET CUSTOM COMPONENTS
+ *
+ * Use these classes directly in .mdx files:
+ *
+ * SHOCKWALLET
+ * LIVE
+ *