diff --git a/docs/source/_static/cryptnox-logo.png b/docs/source/_static/cryptnox-logo.png
new file mode 100644
index 0000000..b5d3148
Binary files /dev/null and b/docs/source/_static/cryptnox-logo.png differ
diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css
index 2e25140..64799eb 100644
--- a/docs/source/_static/custom.css
+++ b/docs/source/_static/custom.css
@@ -1,337 +1,326 @@
-/* ── Reset ───────────────────────────────────────────────────────────── */
-*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
-
-:root {
- --bg: #111827;
- --bg-card: #1E2133;
- --bg-card-hover: #263046;
- --text: #F8FAFC;
- --text-muted: #94A3B8;
- --accent: #06B6D4;
- --accent-hover: #0891B2;
- --border: #374151;
- --indigo: #6366F1;
-}
-
-/* ── Base ────────────────────────────────────────────────────────────── */
-html, body {
- background: var(--bg);
- color: var(--text);
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif;
- min-height: 100vh;
- display: flex;
- flex-direction: column;
-}
-
-/* ── Sphinx basic theme layout overrides ─────────────────────────────── */
-div.document {
- max-width: 1100px;
- margin: 0 auto;
- padding: 2.5rem 2rem 4rem;
- width: 100%;
- flex: 1;
-}
-
-div.documentwrapper {
- width: 100%;
- float: none;
-}
-
-div.bodywrapper {
- margin: 0;
-}
-
-div.body {
- background: transparent;
- color: var(--text);
- padding: 0;
- min-width: unset;
- max-width: unset;
- font-size: 1rem;
-}
-
-/* Hide sidebar and prev/next footer generated by basic theme */
-div.sphinxsidebar,
-div.sphinxsidebarwrapper,
-div.related,
-div.footer { display: none; }
-
-/* ── Page title (h1) ─────────────────────────────────────────────────── */
-/* Hide Sphinx heading anchor symbols */
+@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap');
+
+/* ── Typography ───────────────────────────────────────────────────────── */
+body, html, .wy-body-for-nav {
+ font-family: 'Noto Sans', 'Helvetica Neue', 'Open Sans', Helvetica, Arial, sans-serif;
+}
+
+/* ── Headings ─────────────────────────────────────────────────────────── */
+h1, h2, h3, h4, h5, h6 {
+ color: #2c3e50;
+ font-family: 'Noto Sans', 'Helvetica Neue', 'Open Sans', Helvetica, Arial, sans-serif;
+}
+
+/* ── Links ────────────────────────────────────────────────────────────── */
+a {
+ color: #007bff;
+}
+
+a:hover {
+ color: #0056b3;
+}
+
+/* ── Code blocks ──────────────────────────────────────────────────────── */
+.highlight {
+ background-color: #f8f9fa;
+ border-left: 4px solid #007bff;
+ padding: 1rem;
+ margin: 1rem 0;
+}
+
+/* ── Tables ───────────────────────────────────────────────────────────── */
+table {
+ border-collapse: collapse;
+ width: 100%;
+ margin: 1rem 0;
+}
+
+th, td {
+ border: 1px solid #dee2e6;
+ padding: 0.75rem;
+ text-align: left;
+}
+
+th {
+ background-color: #f8f9fa;
+ font-weight: bold;
+}
+
+/* ── RTD sidebar nav-search ───────────────────────────────────────────── */
+.wy-side-nav-search > a,
+.wy-side-nav-search .wy-dropdown > a {
+ color: #fcb770;
+}
+
+.wy-side-nav-search .icon::before,
+.wy-side-nav-search .fa-home::before {
+ color: #fcb770;
+}
+
+/* Logo at 80% — same as cryptnox-sdk-py */
+.wy-side-nav-search .wy-dropdown > a img.logo,
+.wy-side-nav-search > a img.logo,
+.cnx-logo-link svg {
+ width: 80%;
+ height: auto;
+}
+
+/* ── Breadcrumbs home icon ────────────────────────────────────────────── */
+.wy-breadcrumbs li a .fa-home::before,
+.wy-breadcrumbs li a .icon-home::before,
+.wy-breadcrumbs .fa-home,
+.wy-breadcrumbs .icon-home {
+ color: #fcb770;
+}
+
+/* ── Sidebar menu hover ───────────────────────────────────────────────── */
+.wy-menu-vertical a:hover {
+ color: #ffffff !important;
+ background: #fcb770 !important;
+}
+
+.wy-menu-vertical li.current a:hover,
+.wy-menu-vertical li.current > a:hover {
+ color: #ffffff !important;
+ background: #fcb770 !important;
+}
+
+/* ── Hide Sphinx anchor symbols ───────────────────────────────────────── */
a.headerlink { display: none; }
-div.body h1 {
- font-size: 1.5rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- color: var(--text);
- border-bottom: none;
- padding-bottom: 0;
- margin-bottom: 2rem;
+/* ── Hide toctree block on landing page ───────────────────────────────── */
+.toctree-wrapper { display: none; }
+
+/* ── Content area width ───────────────────────────────────────────────── */
+.wy-nav-content {
+ max-width: 1100px;
}
-/* ── Cards grid ──────────────────────────────────────────────────────── */
+/* ── Page title (h1) ──────────────────────────────────────────────────── */
+.rst-content h1 {
+ font-size: 1.5rem;
+ font-weight: 700;
+ letter-spacing: -0.01em;
+ border-bottom: 1px solid #e1e4e5;
+ padding-bottom: 0.5rem;
+ margin-bottom: 2rem;
+}
-/* The top-level section becomes the grid container */
+/* ── Cards grid ───────────────────────────────────────────────────────── */
#cryptnox-product-documentation {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 1.5rem;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 1.5rem;
}
-/* Title, toctree, and hr span full width and sit outside the card grid */
#cryptnox-product-documentation > h1,
#cryptnox-product-documentation > .toctree-wrapper {
- grid-column: 1 / -1;
+ grid-column: 1 / -1;
}
-/* Hide RST transition rulers and toctree block */
-#cryptnox-product-documentation > hr,
-#cryptnox-product-documentation > .toctree-wrapper {
- display: none;
+#cryptnox-product-documentation > hr {
+ display: none;
}
-/* ── Product cards ───────────────────────────────────────────────────── */
+/* ── Product cards ────────────────────────────────────────────────────── */
#cryptnox-hardware-wallet,
#cryptnox-cli,
#cryptnox-sdk-for-python {
- background: var(--bg-card);
- border: 1px solid var(--border);
- border-radius: 12px;
- padding: 2rem;
- display: flex;
- flex-direction: column;
- gap: 0.75rem;
- position: relative;
- overflow: hidden;
- transition: border-color 0.2s, background 0.2s, transform 0.2s;
-}
-
-/* ── Card icon ───────────────────────────────────────────────────────── */
-.card-icon {
- width: 44px;
- height: 44px;
- background: rgba(6, 182, 212, 0.1);
- border: 1px solid rgba(6, 182, 212, 0.25);
- border-radius: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- color: var(--accent);
- flex-shrink: 0;
- margin-bottom: 0.25rem;
-}
-
-.card-icon svg {
- width: 22px;
- height: 22px;
- stroke: var(--accent);
+ background: #fff;
+ border: 1px solid #e1e4e5;
+ border-radius: 8px;
+ padding: 1.75rem;
+ display: flex;
+ flex-direction: column;
+ gap: 0.75rem;
+ position: relative;
+ overflow: hidden;
+ transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
+ box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
-/* Top accent line on hover */
#cryptnox-hardware-wallet::before,
#cryptnox-cli::before,
#cryptnox-sdk-for-python::before {
- content: '';
- position: absolute;
- top: 0; left: 0; right: 0;
- height: 2px;
- background: linear-gradient(90deg, var(--accent), var(--indigo));
- opacity: 0;
- transition: opacity 0.2s;
+ content: '';
+ position: absolute;
+ top: 0; left: 0; right: 0;
+ height: 3px;
+ background: linear-gradient(90deg, #007bff, #fcb770);
+ opacity: 0;
+ transition: opacity 0.2s;
}
#cryptnox-hardware-wallet:hover,
#cryptnox-cli:hover,
#cryptnox-sdk-for-python:hover {
- border-color: var(--accent);
- background: var(--bg-card-hover);
- transform: translateY(-2px);
+ border-color: #007bff;
+ box-shadow: 0 4px 12px rgba(0, 123, 255, 0.12);
+ transform: translateY(-2px);
}
#cryptnox-hardware-wallet:hover::before,
#cryptnox-cli:hover::before,
#cryptnox-sdk-for-python:hover::before {
- opacity: 1;
+ opacity: 1;
}
-/* ── Card heading (h2) ───────────────────────────────────────────────── */
-div.body h2 {
- font-size: 1.15rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- color: var(--text);
- border-bottom: none;
- padding-bottom: 0;
- margin-bottom: 0.25rem;
+/* ── Card icon ────────────────────────────────────────────────────────── */
+.card-icon {
+ width: 44px;
+ height: 44px;
+ background: rgba(0, 123, 255, 0.08);
+ border: 1px solid rgba(0, 123, 255, 0.2);
+ border-radius: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ margin-bottom: 0.25rem;
}
-/* ── Card description (p) ────────────────────────────────────────────── */
-div.body section p,
-div.body .section p {
- color: var(--text-muted);
- font-size: 0.9rem;
- line-height: 1.65;
- margin-bottom: 0;
+.card-icon svg {
+ width: 22px;
+ height: 22px;
+ stroke: #007bff;
}
-/* ── Card link list ──────────────────────────────────────────────────── */
-div.body section ul,
-div.body .section ul {
- list-style: none;
- padding-left: 0;
- margin-top: auto;
- padding-top: 0.5rem;
+/* ── Card heading (h2) ────────────────────────────────────────────────── */
+#cryptnox-hardware-wallet h2,
+#cryptnox-cli h2,
+#cryptnox-sdk-for-python h2 {
+ font-size: 1.1rem;
+ font-weight: 700;
+ color: #2c3e50;
+ border-bottom: none;
+ padding-bottom: 0;
+ margin-bottom: 0.25rem;
}
-div.body section ul li,
-div.body .section ul li {
- margin: 0;
+/* ── Card description ─────────────────────────────────────────────────── */
+#cryptnox-hardware-wallet p,
+#cryptnox-cli p,
+#cryptnox-sdk-for-python p {
+ color: #6b7a8a;
+ font-size: 0.9rem;
+ line-height: 1.65;
+ margin-bottom: 0;
}
-div.body section ul li p,
-div.body .section ul li p {
- color: var(--text-muted);
- margin: 0;
+/* ── Card link list ───────────────────────────────────────────────────── */
+#cryptnox-hardware-wallet ul,
+#cryptnox-cli ul,
+#cryptnox-sdk-for-python ul {
+ list-style: none;
+ padding-left: 0;
+ margin-top: auto;
+ padding-top: 0.5rem;
}
-/* ── Links ───────────────────────────────────────────────────────────── */
-div.body a {
- color: var(--accent);
- text-decoration: none;
- font-weight: 600;
- transition: color 0.2s;
+#cryptnox-hardware-wallet ul li,
+#cryptnox-cli ul li,
+#cryptnox-sdk-for-python ul li {
+ margin: 0;
}
-div.body a:hover {
- color: var(--accent-hover);
- text-decoration: none;
+#cryptnox-hardware-wallet ul li p,
+#cryptnox-cli ul li p,
+#cryptnox-sdk-for-python ul li p {
+ margin: 0;
+ color: #6b7a8a;
}
-/* ── Other resources section ─────────────────────────────────────────── */
+/* ── Other resources ──────────────────────────────────────────────────── */
#other-resources {
- grid-column: 1 / -1;
- background: transparent;
- border: none;
- border-top: 1px solid var(--border);
- border-radius: 0;
- padding: 1.5rem 0 0;
- gap: 0.5rem;
- transform: none !important;
+ grid-column: 1 / -1;
+ border-top: 1px solid #e1e4e5;
+ padding-top: 1.5rem;
}
-#other-resources:hover {
- border-color: var(--border);
- background: transparent;
- transform: none;
-}
-
-#other-resources::before { display: none; }
-
#other-resources h2 {
- font-size: 0.875rem !important;
- font-weight: 600;
- color: var(--text-muted) !important;
- text-transform: uppercase;
- letter-spacing: 0.08em;
- margin-bottom: 0.75rem;
+ font-size: 0.85rem !important;
+ font-weight: 600;
+ color: #9ba8b4 !important;
+ text-transform: uppercase;
+ letter-spacing: 0.08em;
+ border-bottom: none !important;
+ margin-bottom: 0.75rem;
}
#other-resources ul {
- display: flex;
- flex-wrap: wrap;
- gap: 1.5rem;
- padding-top: 0;
- margin-top: 0;
+ list-style: none;
+ padding: 0;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 1.5rem;
+}
+
+#other-resources ul li {
+ margin: 0;
}
#other-resources ul li p {
- margin: 0;
+ margin: 0;
}
#other-resources a {
- color: var(--text-muted) !important;
- font-size: 0.875rem;
- font-weight: 400 !important;
+ color: #6b7a8a !important;
+ font-size: 0.875rem;
+ font-weight: 400;
}
#other-resources a:hover {
- color: var(--accent) !important;
-}
-
-/* ── Custom Header ───────────────────────────────────────────────────── */
-.cnx-header {
- border-bottom: 1px solid var(--border);
- padding: 1.25rem 2rem;
- display: flex;
- align-items: center;
- background: var(--bg);
+ color: #007bff !important;
}
-.cryptnox-logo {
- display: flex;
- align-items: center;
- text-decoration: none;
-}
-
-.cryptnox-logo svg {
- height: 32px;
- width: auto;
-}
-
-.cnx-header nav {
- margin-left: auto;
- display: flex;
- gap: 1.5rem;
-}
-
-.cnx-header nav a {
- color: var(--text-muted);
- text-decoration: none;
- font-size: 0.875rem;
- font-weight: 400;
- transition: color 0.2s;
+/* ── Custom footer ────────────────────────────────────────────────────── */
+.cnx-footer {
+ border-top: 1px solid #e1e4e5;
+ padding: 1.25rem 2rem;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: #fcfcfc;
}
-.cnx-header nav a:hover {
- color: var(--accent);
+.footer-address {
+ display: flex;
+ align-items: center;
+ gap: 0.75rem;
}
-/* ── Custom Footer ───────────────────────────────────────────────────── */
-.cnx-footer {
- border-top: 1px solid var(--border);
- padding: 1.25rem 2rem;
- display: flex;
- justify-content: center;
- align-items: center;
- background: var(--bg);
- margin-top: auto;
+.footer-copyright {
+ font-size: 0.8rem;
}
-.footer-address {
- display: flex;
- align-items: center;
- gap: 0.75rem;
+.footer-copyright a {
+ color: #9ba8b4;
+ text-decoration: none;
}
-.footer-copyright {
- color: var(--text-muted);
- font-size: 0.8rem;
+.footer-copyright a:hover {
+ color: #007bff;
+ text-decoration: underline;
}
.footer-flag img {
- width: 24px;
- height: 24px;
- display: block;
- flex-shrink: 0;
+ width: 24px;
+ height: 24px;
+ display: block;
+ flex-shrink: 0;
}
-/* ── Responsive ──────────────────────────────────────────────────────── */
+/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 860px) {
- #cryptnox-product-documentation {
- grid-template-columns: 1fr;
- }
- .cnx-header nav { display: none; }
- .cnx-footer { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
- div.document { padding: 1.5rem 1rem 3rem; }
+ #cryptnox-product-documentation {
+ grid-template-columns: 1fr;
+ }
+}
+
+@media (max-width: 480px) {
+ .cnx-footer {
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 0.5rem;
+ }
}
diff --git a/docs/source/_static/favicon.png b/docs/source/_static/favicon.png
new file mode 100644
index 0000000..f25ebae
Binary files /dev/null and b/docs/source/_static/favicon.png differ
diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html
index 07136e2..b8f0919 100644
--- a/docs/source/_templates/layout.html
+++ b/docs/source/_templates/layout.html
@@ -5,7 +5,6 @@
{{ super() }}
-
@@ -76,44 +75,12 @@
{% endblock %}
-{# ── Custom header ─────────────────────────────────────────────────── #}
-{% block header %}
-
-{% endblock %}
-
-{# ── Hide prev/next bars ───────────────────────────────────────────── #}
-{% block relbar1 %}{% endblock %}
-{% block relbar2 %}{% endblock %}
-
{# ── Custom footer ─────────────────────────────────────────────────── #}
{% block footer %}