From f5fbb0fb2eb9c63d128fb6eb55ed0100fa2a31c7 Mon Sep 17 00:00:00 2001
From: D <207247077+design-rrr@users.noreply.github.com>
Date: Mon, 30 Mar 2026 22:50:45 +0200
Subject: [PATCH 01/48] Update custom.css
---
src/css/custom.css | 781 +++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 759 insertions(+), 22 deletions(-)
diff --git a/src/css/custom.css b/src/css/custom.css
index 1836381..e446d38 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -1,40 +1,777 @@
-/* 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
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+
+
+: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: 400;
+ letter-spacing: -0.014em;
+ font-size: 18px;
}
+.navbar__link {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.15em;
+ 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: 10px;
+ letter-spacing: 0.05em;
+}
+
+.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
+ *
…
+ *
+ * Product suffixes: -sn -sw -lp -lv -cl -sa
+ * ═══════════════════════════════════════════════════════════════════════════ */
+
+/* ── Pills ──────────────────────────────────────────────────────────────── */
+.sn-pill {
+ display: inline-flex;
+ align-items: center;
+ padding: 3px 10px;
+ border-radius: 9999px;
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.10em;
+ text-transform: uppercase;
+ line-height: 1;
+ font-weight: 400;
+}
+
+/* SHOCKNET */
+.sn-pill-sn { background: color-mix(in srgb, var(--ifm-color-emphasis-900) 10%, transparent); border: 1px solid var(--ifm-color-emphasis-400); color: var(--ifm-font-color-base); }
+/* SHOCKWALLET cyan */
+.sn-pill-sw { background: color-mix(in srgb, var(--sn-cyan) 14%, transparent); border: 1px solid var(--sn-cyan); color: var(--sn-cyan); }
+/* SHOCKWALLET blue */
+.sn-pill-sw2 { background: color-mix(in srgb, var(--sn-blue) 14%, transparent); border: 1px solid var(--sn-blue); color: var(--sn-blue); }
+/* LIGHTNING.pub */
+.sn-pill-lp { background: color-mix(in srgb, var(--sn-orange) 14%, transparent); border: 1px solid var(--sn-orange); color: var(--sn-orange); }
+.sn-pill-lp2 { background: color-mix(in srgb, var(--sn-magenta) 14%, transparent); border: 1px solid var(--sn-magenta); color: var(--sn-magenta); }
+/* LIGHTNING.video */
+.sn-pill-lv { background: color-mix(in srgb, var(--sn-red) 14%, transparent); border: 1px solid var(--sn-red); color: var(--sn-red); }
+/* CLINK */
+.sn-pill-cl { background: color-mix(in srgb, var(--sn-violet) 14%, transparent); border: 1px solid var(--sn-violet); color: var(--sn-violet); }
+/* SANCTUM */
+.sn-pill-sa { background: color-mix(in srgb, var(--sn-green) 14%, transparent); border: 1px solid var(--sn-green); color: var(--sn-green); }
+
+/* ── Product callout boxes ───────────────────────────────────────────────── */
+.sn-callout {
+ display: flex;
+ align-items: flex-start;
+ gap: 14px;
+ padding: 18px 22px;
+ border-radius: var(--ifm-global-radius);
+ margin: 20px 0;
+ border-left: 3px solid;
+}
+
+.sn-callout-sw { background: color-mix(in srgb, var(--sn-cyan) 7%, transparent); border-color: var(--sn-cyan); }
+.sn-callout-lp { background: color-mix(in srgb, var(--sn-orange) 7%, transparent); border-color: var(--sn-orange); }
+.sn-callout-lv { background: color-mix(in srgb, var(--sn-red) 7%, transparent); border-color: var(--sn-red); }
+.sn-callout-cl { background: color-mix(in srgb, var(--sn-violet) 7%, transparent); border-color: var(--sn-violet); }
+.sn-callout-sa { background: color-mix(in srgb, var(--sn-green) 7%, transparent); border-color: var(--sn-green); }
+
+/* ── Section tag / eyebrow ─────────────────────────────────────────────── */
+.sn-eyebrow {
+ display: block;
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ letter-spacing: 0.20em;
+ text-transform: uppercase;
+ color: var(--ifm-color-emphasis-600);
+ margin-bottom: 10px;
+}
+
+/* ── Product color rule (thin left border accent) ──────────────────────── */
+.sn-product-bar {
+ display: inline-block;
+ width: 4px;
+ height: 44px;
+ border-radius: 2px;
+ margin-right: 16px;
+ vertical-align: middle;
+ flex-shrink: 0;
+}
+.sn-product-bar-sw { background: linear-gradient(180deg, var(--sn-cyan), var(--sn-blue)); }
+.sn-product-bar-lp { background: linear-gradient(180deg, var(--sn-orange), var(--sn-magenta)); }
+.sn-product-bar-lv { background: var(--sn-red); }
+.sn-product-bar-cl { background: linear-gradient(180deg, var(--sn-yellow), var(--sn-violet)); }
+.sn-product-bar-sa { background: var(--sn-green); }
+
+/* ── Spec row (key/value definition tables in MDX) ──────────────────────── */
+.sn-spec-row {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 10px 0;
+ border-bottom: 1px solid var(--ifm-color-emphasis-300);
+ font-size: 14px;
+}
+.sn-spec-row:last-child { border-bottom: none; }
+.sn-spec-key {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ text-transform: uppercase;
+ letter-spacing: 0.10em;
+ color: var(--ifm-color-emphasis-600);
+}
+.sn-spec-val {
+ font-family: 'DM Mono', monospace;
+ font-size: 10px;
+ color: var(--ifm-font-color-base);
}
From 348b619dc3804477a6ce29c62bbdf3c6f1797659 Mon Sep 17 00:00:00 2001
From: D <207247077+design-rrr@users.noreply.github.com>
Date: Mon, 30 Mar 2026 22:51:25 +0200
Subject: [PATCH 02/48] Remove
:root {
/* ── Font families ───────────────────────────────────────────────────── */
From b37694b7e7275ca140a1f1e9959b1e5ecb53708e Mon Sep 17 00:00:00 2001
From: D <207247077+design-rrr@users.noreply.github.com>
Date: Mon, 30 Mar 2026 23:02:38 +0200
Subject: [PATCH 03/48] Add files via upload
---
static/img/docusaurus-social-card.jpg | Bin 55746 -> 107335 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/static/img/docusaurus-social-card.jpg b/static/img/docusaurus-social-card.jpg
index ffcb448210e1a456cb3588ae8b396a597501f187..3f4b2e5917f92c0a3ab914f2cfae480ddf203b28 100644
GIT binary patch
literal 107335
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