aboutsummaryrefslogtreecommitdiff
path: root/docs/css/dev-dark.css
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-09 20:00:41 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-09 20:57:23 +0800
commitbafe23f814bbd257ba347a9f4ce111cccf0080b3 (patch)
treed142ddf8dc7fd8794f48d24b94d2d6157c2771db /docs/css/dev-dark.css
parent1d85b4861a3a8e6da264dac122eee908194ce5cf (diff)
docs: add dev-docs site with dark/light theme support
Diffstat (limited to 'docs/css/dev-dark.css')
-rw-r--r--docs/css/dev-dark.css744
1 files changed, 744 insertions, 0 deletions
diff --git a/docs/css/dev-dark.css b/docs/css/dev-dark.css
new file mode 100644
index 0000000..b3d065a
--- /dev/null
+++ b/docs/css/dev-dark.css
@@ -0,0 +1,744 @@
+/*
+ * Mingling Dev Docs — Dark theme (Minimal / technical)
+ * Dark gray-blue, sans-serif body, crisp monospace code
+ */
+
+* {
+ -webkit-font-smoothing: antialiased;
+ -webkit-overflow-scrolling: touch;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ -webkit-text-size-adjust: none;
+ -webkit-touch-callout: none;
+ box-sizing: border-box;
+}
+body:not(.ready) {
+ overflow: hidden;
+}
+body:not(.ready) [data-cloak],
+body:not(.ready) .app-nav,
+body:not(.ready) > nav {
+ display: none;
+}
+div#app {
+ font-size: 30px;
+ font-weight: lighter;
+ margin: 40vh auto;
+ text-align: center;
+}
+div#app:empty::before {
+ content: "Loading...";
+}
+img.emoji {
+ height: 1.2em;
+ vertical-align: middle;
+}
+span.emoji {
+ font-family:
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
+ "Noto Color Emoji";
+ font-size: 1.2em;
+ vertical-align: middle;
+}
+
+/* ── Progress bar ── */
+.progress {
+ background-color: #58a6ff;
+ height: 2px;
+ left: 0;
+ position: fixed;
+ right: 0;
+ top: 0;
+ transition:
+ width 0.2s,
+ opacity 0.4s;
+ width: 0%;
+ z-index: 999999;
+}
+
+/* ── Search ── */
+.search a:hover {
+ color: #58a6ff;
+}
+.search .search-keyword {
+ color: #58a6ff;
+ font-style: normal;
+ font-weight: 600;
+}
+
+/* ── Base ── */
+html,
+body {
+ height: 100%;
+}
+body {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ background-color: #0d1117;
+ color: #e6edf3;
+ font-family:
+ system-ui,
+ -apple-system,
+ "Segoe UI",
+ "Noto Sans",
+ Helvetica,
+ Arial,
+ sans-serif;
+ font-size: 15px;
+ line-height: 1.7;
+ letter-spacing: 0;
+ margin: 0;
+ overflow-x: hidden;
+}
+img {
+ max-width: 100%;
+}
+a[disabled] {
+ cursor: not-allowed;
+ opacity: 0.6;
+}
+kbd {
+ border: solid 1px #30363d;
+ border-radius: 4px;
+ display: inline-block;
+ font-size: 12px !important;
+ line-height: 14px;
+ margin-bottom: 3px;
+ padding: 3px 6px;
+ vertical-align: middle;
+}
+
+/* ── Nav bar (top) ── */
+.app-nav {
+ font-family:
+ system-ui,
+ -apple-system,
+ "Segoe UI",
+ "Noto Sans",
+ Helvetica,
+ Arial,
+ sans-serif;
+ margin: 0 0 0 auto;
+ position: fixed;
+ right: 30px;
+ top: 10px;
+ z-index: 10;
+}
+.app-nav a {
+ color: #8b949e;
+ font-size: 14px;
+ padding: 6px 14px;
+ text-decoration: none;
+ transition: color 0.15s;
+}
+.app-nav a:hover {
+ color: #58a6ff;
+}
+.app-nav a.active {
+ color: #58a6ff;
+}
+
+/* ── Top nav bar (shared class with dev-doc.html) ── */
+.dev-nav a {
+ color: #8b949e;
+}
+.dev-nav a:hover {
+ color: #58a6ff;
+}
+
+/* ── GitHub corner ── */
+.github-corner {
+ position: fixed;
+ right: 0;
+ top: 0;
+ z-index: 999;
+}
+.github-corner svg {
+ fill: #e6edf3;
+ height: 60px;
+ width: 60px;
+}
+
+/* ── Main layout ── */
+main {
+ display: block;
+ height: 100%;
+ margin-left: 300px;
+ overflow-y: auto;
+ position: relative;
+ -webkit-overflow-scrolling: touch;
+}
+
+/* ── Anchor links ── */
+.anchor {
+ display: block;
+ cursor: pointer;
+ text-decoration: none;
+ transition: all 0.15s;
+}
+.anchor span {
+ color: #e6edf3;
+}
+.anchor:hover {
+ text-decoration: underline;
+}
+
+/* ── Sidebar ── */
+.sidebar {
+ background: #161b22;
+ border-right: 1px solid #30363d;
+ bottom: 0;
+ left: 0;
+ overflow-y: auto;
+ position: fixed;
+ top: 0;
+ width: 300px;
+ z-index: 1;
+ -webkit-overflow-scrolling: touch;
+}
+.sidebar > h1 {
+ border-bottom: 1px solid #30363d;
+ font-size: 18px;
+ font-weight: 600;
+ margin: 0;
+ padding: 16px 20px;
+ line-height: 1.4;
+}
+.sidebar > h1 a {
+ color: #e6edf3;
+ text-decoration: none;
+}
+.sidebar > h1 a:hover {
+ color: #58a6ff;
+}
+.sidebar .sidebar-nav {
+ padding: 12px 0 40px;
+}
+.sidebar li.collapse .app-sub-sidebar {
+ display: none;
+}
+.sidebar ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+.sidebar li > p {
+ font-weight: 600;
+ margin: 0;
+}
+.sidebar ul,
+.sidebar ul li {
+ list-style: none;
+}
+.sidebar ul li a {
+ border-right: 2px solid transparent;
+ color: #e6edf3;
+ display: block;
+ font-size: 14px;
+ line-height: 1.6;
+ padding: 6px 20px;
+ text-decoration: none;
+ transition: all 0.1s;
+}
+.sidebar ul li a:hover {
+ color: #58a6ff;
+ background: rgba(88, 166, 255, 0.08);
+}
+.sidebar ul li ul {
+ padding-left: 16px;
+}
+.sidebar ul li.active > a {
+ border-right-color: #58a6ff;
+ color: #58a6ff;
+ font-weight: 600;
+ background: rgba(88, 166, 255, 0.12);
+}
+.sidebar::-webkit-scrollbar {
+ width: 4px;
+}
+.sidebar::-webkit-scrollbar-thumb {
+ background: transparent;
+ border-radius: 2px;
+}
+.sidebar:hover::-webkit-scrollbar-thumb {
+ background: #30363d;
+}
+.sidebar:hover::-webkit-scrollbar-track {
+ background: transparent;
+}
+
+/* ── Sidebar toggle ── */
+.sidebar-toggle {
+ background: transparent;
+ border: none;
+ bottom: 0;
+ cursor: pointer;
+ left: 0;
+ outline: none;
+ padding: 10px;
+ position: absolute;
+ text-align: center;
+ transition: opacity 0.3s;
+ width: 284px;
+ z-index: 10;
+ display: none;
+}
+.sidebar-toggle:hover .sidebar-toggle-button {
+ opacity: 0.6;
+}
+.sidebar-toggle span {
+ background: #58a6ff;
+ border-radius: 1px;
+ display: block;
+ height: 2px;
+ margin-bottom: 4px;
+ width: 16px;
+}
+body.sticky .sidebar,
+body.sticky .sidebar-toggle {
+ position: fixed;
+}
+
+/* ── Content area ── */
+.content {
+ display: block;
+ padding-bottom: 60px;
+ padding-top: 24px;
+}
+.markdown-section {
+ margin: 0 auto;
+ max-width: 880px;
+ padding: 24px 40px 40px;
+ position: relative;
+}
+.markdown-section > * {
+ box-sizing: border-box;
+}
+.markdown-section > :first-child {
+ margin-top: 0 !important;
+}
+.markdown-section hr {
+ border: none;
+ border-top: 1px solid #30363d;
+ margin: 32px 0;
+}
+.markdown-section table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ display: block;
+ margin: 24px 0;
+ overflow: auto;
+ width: 100%;
+}
+.markdown-section th {
+ background: #161b22;
+ border: 1px solid #30363d;
+ font-weight: 600;
+ padding: 8px 12px;
+ text-align: left;
+}
+.markdown-section td {
+ border: 1px solid #30363d;
+ padding: 8px 12px;
+}
+.markdown-section tr:nth-child(2n) {
+ background: #161b22;
+}
+
+/* ── Headings ── */
+.markdown-section h1,
+.markdown-section h2,
+.markdown-section h3,
+.markdown-section h4,
+.markdown-section strong {
+ color: #f0f6fc;
+ font-weight: 600;
+}
+.markdown-section h1 {
+ border-bottom: 1px solid #30363d;
+ font-size: 28px;
+ margin: 0 0 20px;
+ padding-bottom: 8px;
+}
+.markdown-section h2 {
+ border-bottom: 1px solid #30363d;
+ font-size: 22px;
+ margin: 28px 0 16px;
+ padding-bottom: 6px;
+}
+.markdown-section h3 {
+ font-size: 18px;
+ margin: 24px 0 12px;
+}
+.markdown-section h4 {
+ font-size: 16px;
+ margin: 20px 0 10px;
+}
+.markdown-section h5 {
+ font-size: 15px;
+ margin: 16px 0 8px;
+}
+.markdown-section h6 {
+ color: #8b949e;
+ font-size: 14px;
+ margin: 14px 0 8px;
+}
+.markdown-section a {
+ color: #58a6ff;
+ text-decoration: none;
+}
+.markdown-section a:hover {
+ text-decoration: underline;
+}
+
+/* ── Inline code ── */
+.markdown-section code {
+ background: rgba(240, 246, 252, 0.08);
+ border-radius: 4px;
+ font-family:
+ "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", "Fira Mono",
+ "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
+ font-size: 13px;
+ margin: 0;
+ padding: 2px 6px;
+ word-break: break-word;
+}
+
+/* ── Code blocks ── */
+.markdown-section pre {
+ background: #161b22;
+ border: 1px solid #30363d;
+ border-radius: 6px;
+ font-family:
+ "JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", "Fira Mono",
+ "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
+ font-size: 13px;
+ line-height: 1.6;
+ margin: 16px 0;
+ overflow: auto;
+ padding: 16px;
+ position: relative;
+ word-wrap: normal;
+}
+.markdown-section pre > code {
+ background: transparent;
+ border: none;
+ border-radius: 0;
+ font-size: 13px;
+ margin: 0;
+ padding: 0;
+ white-space: pre;
+ word-break: normal;
+}
+
+/* ── Blockquote ── */
+.markdown-section blockquote {
+ border-left: 4px solid #30363d;
+ color: #8b949e;
+ margin: 16px 0;
+ padding: 0 16px;
+}
+
+/* ── Tip / warn callouts ── */
+.markdown-section p.tip {
+ background: rgba(88, 166, 255, 0.1);
+ border-left: 4px solid #58a6ff;
+ border-radius: 4px;
+ padding: 12px 16px;
+}
+.markdown-section p.tip:before {
+ color: #58a6ff;
+ content: "💡";
+ font-weight: 600;
+ margin-right: 6px;
+}
+.markdown-section p.tip code {
+ background: rgba(88, 166, 255, 0.15);
+}
+.markdown-section p.warn {
+ background: rgba(210, 153, 34, 0.15);
+ border-left: 4px solid #d29922;
+ border-radius: 4px;
+ padding: 12px 16px;
+}
+.markdown-section ul.task-list > li {
+ list-style: none;
+}
+
+/* ── Prism token overrides (dark) ── */
+.token.cdata,
+.token.comment,
+.token.doctype,
+.token.prolog {
+ color: #8b949e;
+}
+.token.namespace {
+ opacity: 0.7;
+}
+.token.boolean,
+.token.number {
+ color: #79c0ff;
+}
+.token.punctuation {
+ color: #e6edf3;
+}
+.token.property {
+ color: #79c0ff;
+}
+.token.tag {
+ color: #7ee787;
+}
+.token.string {
+ color: #a5d6ff;
+}
+.token.selector {
+ color: #d2a8ff;
+}
+.token.attr-name {
+ color: #79c0ff;
+}
+.language-css .token.string,
+.style .token.string,
+.token.entity,
+.token.url {
+ color: #a5d6ff;
+}
+.token.attr-value,
+.token.control,
+.token.directive,
+.token.unit {
+ color: #a5d6ff;
+}
+.token.function {
+ color: #d2a8ff;
+}
+.token.keyword {
+ color: #ff7b72;
+}
+.token.atrule,
+.token.regex,
+.token.statement {
+ color: #a5d6ff;
+}
+.token.placeholder,
+.token.variable {
+ color: #ffa657;
+}
+.token.deleted {
+ text-decoration: line-through;
+}
+.token.inserted {
+ text-decoration: none;
+}
+.token.italic {
+ font-style: italic;
+}
+.token.bold,
+.token.important {
+ font-weight: 700;
+}
+.token.important {
+ color: #ff7b72;
+}
+.token.entity {
+ cursor: help;
+}
+code .token {
+ -moz-osx-font-smoothing: initial;
+ -webkit-font-smoothing: initial;
+ min-height: 24px;
+}
+
+/* ── Search panel ── */
+.search {
+ border-bottom: 1px solid #30363d;
+ padding: 12px 16px 0;
+}
+.search .input-wrap {
+ position: relative;
+}
+.search .input-wrap input[type="search"] {
+ background: #0d1117;
+ border: 1px solid #30363d;
+ border-radius: 6px;
+ color: #e6edf3;
+ font-family:
+ system-ui,
+ -apple-system,
+ "Segoe UI",
+ "Noto Sans",
+ Helvetica,
+ Arial,
+ sans-serif;
+ font-size: 14px;
+ outline: none;
+ padding: 6px 32px 6px 12px;
+ width: 100%;
+}
+.search .input-wrap input[type="search"]::placeholder {
+ color: #8b949e;
+}
+.search .input-wrap input[type="search"]:focus {
+ border-color: #58a6ff;
+ box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.15);
+}
+.search .input-wrap .clear-button {
+ background: transparent;
+ border: none;
+ color: #8b949e;
+ cursor: pointer;
+ font-size: 18px;
+ line-height: 1;
+ padding: 0 8px;
+ position: absolute;
+ right: 4px;
+ top: 50%;
+ transform: translateY(-50%);
+}
+.search .input-wrap .clear-button:hover {
+ color: #e6edf3;
+}
+.search .results-panel {
+ padding: 8px 0;
+}
+.search .results-panel a {
+ color: #e6edf3;
+ display: block;
+ font-size: 14px;
+ padding: 4px 16px;
+ text-decoration: none;
+}
+.search .results-panel a:hover {
+ color: #58a6ff;
+}
+
+/* ── App name in sidebar header ── */
+.app-name-link {
+ color: #e6edf3;
+ font-size: 18px;
+ font-weight: 600;
+ text-decoration: none;
+}
+
+/* ── Iframe ── */
+.markdown-section iframe {
+ border: 1px solid #30363d;
+ border-radius: 6px;
+}
+
+/* ── Prev/Next nav ── */
+.page-nav {
+ border-top: 1px solid #30363d;
+ display: flex;
+ margin-top: 40px;
+ padding-top: 24px;
+}
+.page-nav a {
+ border: 1px solid #30363d;
+ border-radius: 6px;
+ color: #e6edf3;
+ display: inline-flex;
+ flex: 1 1 50%;
+ font-size: 14px;
+ gap: 8px;
+ max-width: 50%;
+ padding: 12px 20px;
+ text-decoration: none;
+ transition: border-color 0.15s;
+}
+.page-nav a:hover {
+ border-color: #58a6ff;
+}
+.page-nav .nav-prev {
+ justify-content: flex-start;
+ margin-right: 8px;
+}
+.page-nav .nav-next {
+ justify-content: flex-end;
+ margin-left: auto;
+}
+.page-nav a:only-child {
+ max-width: 50%;
+}
+.page-nav .nav-label {
+ font-size: 12px;
+ opacity: 0.6;
+}
+.page-nav .nav-title {
+ font-weight: 600;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+/* ── Responsive ── */
+@media screen and (max-width: 768px) {
+ .github-corner,
+ .sidebar-toggle,
+ .sidebar {
+ position: fixed;
+ }
+ .app-nav {
+ margin-top: 0;
+ }
+ .app-nav li ul {
+ background: #0d1117;
+ border: 1px solid #30363d;
+ }
+ main {
+ margin-left: 0;
+ overflow-y: auto;
+ }
+ .sidebar {
+ border-right: 1px solid #30363d;
+ left: -300px;
+ transition: left 0.25s ease;
+ }
+ .content {
+ padding-top: 20px;
+ }
+ .app-nav,
+ .github-corner {
+ opacity: 1;
+ transition: opacity 0.25s ease;
+ }
+ .sidebar-toggle {
+ background: #0d1117;
+ border: 1px solid #30363d;
+ border-radius: 0 4px 4px 0;
+ display: flex;
+ flex-direction: column;
+ left: 0;
+ padding: 8px;
+ position: fixed;
+ top: 10px;
+ width: auto;
+ z-index: 20;
+ }
+ body.close .sidebar {
+ left: 0;
+ }
+ body.close .sidebar-toggle {
+ left: 300px;
+ }
+ body.close .content {
+ opacity: 0.3;
+ pointer-events: none;
+ }
+ body.close .app-nav,
+ body.close .github-corner {
+ opacity: 0;
+ pointer-events: none;
+ }
+}
+
+@media print {
+ .github-corner,
+ .sidebar-toggle,
+ .sidebar,
+ .app-nav {
+ display: none;
+ }
+ main {
+ margin-left: 0;
+ }
+}