SPB Git
7.9 KB · 146 lines css
1@import "tailwindcss";2@import "katex/dist/katex.min.css";3@import "highlight.js/styles/github-dark-dimmed.css";45/* ------------------------------------------------------------------ tokens */6:root {7  --bg: #0a0c10;8  --bg-elev: #0f1217;9  --surface: #141821;10  --surface-2: #1a1f2a;11  --border: #222838;12  --border-strong: #2e3650;13  --text: #e7e9ef;14  --text-2: #aab1c3;15  --muted: #6f778c;16  --accent: #6d9cff;17  --accent-2: #f0b35b;18  --accent-ink: #0a0c10;19  --danger: #ff6b6b;20  --ok: #4fd1a5;21  --warn: #f6c35c;22  --user-bubble: #1b2233;23  --ring: rgba(109, 156, 255, 0.45);24  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);25  --radius: 12px;26  --sidebar-w: 288px;27  --reading-w: 46rem;28  color-scheme: dark;29}30[data-theme="light"] {31  --bg: #f7f8fb;32  --bg-elev: #ffffff;33  --surface: #ffffff;34  --surface-2: #f0f2f7;35  --border: #e3e6ee;36  --border-strong: #cfd4e2;37  --text: #12151c;38  --text-2: #3f4659;39  --muted: #7a8296;40  --accent: #2f6df6;41  --accent-2: #c7811c;42  --accent-ink: #ffffff;43  --danger: #d6453d;44  --ok: #1f9d75;45  --warn: #b7791f;46  --user-bubble: #e9effd;47  --ring: rgba(47, 109, 246, 0.35);48  --shadow: 0 1px 2px rgba(16,24,40,.06), 0 8px 24px -12px rgba(16,24,40,.18);49  color-scheme: light;50}5152@theme inline {53  --color-bg: var(--bg);54  --color-bg-elev: var(--bg-elev);55  --color-surface: var(--surface);56  --color-surface-2: var(--surface-2);57  --color-border: var(--border);58  --color-border-strong: var(--border-strong);59  --color-fg: var(--text);60  --color-fg-2: var(--text-2);61  --color-muted: var(--muted);62  --color-accent: var(--accent);63  --color-accent-2: var(--accent-2);64  --color-accent-ink: var(--accent-ink);65  --color-danger: var(--danger);66  --color-ok: var(--ok);67  --color-warn: var(--warn);68  --color-user: var(--user-bubble);69  --font-sans: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;70  --font-mono: var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;71  --radius-xl: var(--radius);72  --shadow-soft: var(--shadow);73}7475/* ------------------------------------------------------------------ base */76html, body { height: 100%; }77body {78  background: var(--bg);79  color: var(--text);80  font-family: var(--font-sans);81  font-feature-settings: "cv11", "ss01", "liga";82  -webkit-font-smoothing: antialiased;83  text-rendering: optimizeLegibility;84  overscroll-behavior-y: none;85}86* { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }87*::-webkit-scrollbar { width: 8px; height: 8px; }88*::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 8px; }89:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; border-radius: 6px; }90::selection { background: color-mix(in oklab, var(--accent) 35%, transparent); }91button, [role="button"] { cursor: pointer; }92button:disabled { cursor: not-allowed; }93.safe-b { padding-bottom: env(safe-area-inset-bottom); }94.safe-t { padding-top: env(safe-area-inset-top); }9596/* ------------------------------------------------------------------ prose (assistant markdown) */97[data-fontsize="sm"] .prose-ai { font-size: 14px; } [data-fontsize="lg"] .prose-ai { font-size: 17px; }98.prose-ai { font-size: 15.5px; line-height: 1.7; color: var(--text); overflow-wrap: anywhere; }99.prose-ai > * + * { margin-top: 0.85em; }100.prose-ai h1, .prose-ai h2, .prose-ai h3, .prose-ai h4 { font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; margin-top: 1.4em; }101.prose-ai h1 { font-size: 1.45em; } .prose-ai h2 { font-size: 1.25em; } .prose-ai h3 { font-size: 1.1em; } .prose-ai h4 { font-size: 1em; color: var(--text-2); }102.prose-ai p { margin: 0; }103.prose-ai p + p { margin-top: 0.85em; }104.prose-ai a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in oklab, var(--accent) 40%, transparent); }105.prose-ai a:hover { text-decoration-color: var(--accent); }106.prose-ai ul, .prose-ai ol { padding-left: 1.4em; } .prose-ai ul { list-style: disc; } .prose-ai ol { list-style: decimal; }107.prose-ai li { margin: 0.25em 0; } .prose-ai li > ul, .prose-ai li > ol { margin-top: 0.25em; }108.prose-ai blockquote { border-left: 3px solid var(--border-strong); padding: 0.1em 1em; color: var(--text-2); margin: 0.85em 0; }109.prose-ai hr { border: 0; border-top: 1px solid var(--border); margin: 1.4em 0; }110.prose-ai code { font-family: var(--font-mono); font-size: 0.875em; }111.prose-ai :not(pre) > code { background: var(--surface-2); border: 1px solid var(--border); padding: 0.1em 0.4em; border-radius: 6px; }112.prose-ai pre { background: #0d1117; border: 1px solid var(--border); border-radius: 10px; padding: 0.9rem 1rem; overflow-x: auto; font-size: 0.85rem; line-height: 1.55; }113[data-theme="light"] .prose-ai pre { background: #0f141c; }114.prose-ai pre code { background: transparent; border: 0; padding: 0; }115.prose-ai table { border-collapse: collapse; width: 100%; font-size: 0.92em; display: block; overflow-x: auto; }116.prose-ai th, .prose-ai td { border: 1px solid var(--border); padding: 0.45em 0.7em; text-align: left; vertical-align: top; }117.prose-ai th { background: var(--surface-2); font-weight: 600; }118.prose-ai img { max-width: 100%; border-radius: 10px; }119.prose-ai .katex-display { overflow-x: auto; overflow-y: hidden; padding: 0.3em 0; }120.prose-ai sup a { text-decoration: none; }121.prose-ai .code-head { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-mono); font-size: 0.72rem; color: var(--muted); padding: 0.35rem 0.75rem; border: 1px solid var(--border); border-bottom: 0; border-radius: 10px 10px 0 0; background: var(--surface); }122.prose-ai .code-head + pre { border-radius: 0 0 10px 10px; margin-top: 0; }123124/* ------------------------------------------------------------------ animations */125@keyframes fade-up { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }126@keyframes pulse-dot { 0%, 80%, 100% { transform: scale(0.6); opacity: .4; } 40% { transform: scale(1); opacity: 1; } }127@keyframes shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }128.anim-fade-up { animation: fade-up .25s ease-out both; }129.typing-dot { display: inline-block; width: 6px; height: 6px; border-radius: 999px; background: var(--muted); animation: pulse-dot 1.2s infinite ease-in-out; }130.typing-dot:nth-child(2) { animation-delay: .15s; } .typing-dot:nth-child(3) { animation-delay: .3s; }131.skeleton { background: linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; }132@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }133134/* ------------------------------------------------------------------ utilities */135.glass { background: color-mix(in oklab, var(--bg-elev) 80%, transparent); backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); }136.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }137.input { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 0.55rem 0.8rem; color: var(--text); width: 100%; transition: border-color .15s, box-shadow .15s; }138.input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--ring); }139.input::placeholder { color: var(--muted); }140.kbd { font-family: var(--font-mono); font-size: 0.68rem; padding: 0.05rem 0.35rem; border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 5px; color: var(--text-2); background: var(--surface-2); }141.truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }142dialog::backdrop { background: rgba(0,0,0,.55); backdrop-filter: blur(4px); }143dialog { color: var(--text); }144textarea { resize: none; }145@media print { .no-print { display: none !important; } body { background: #fff; color: #000; } .prose-ai { font-size: 11pt; } }146
Files · main
Menu

Theme