Initial Commit
This commit is contained in:
@@ -0,0 +1,172 @@
|
||||
.prose {
|
||||
width: min(100%, var(--article-content-width));
|
||||
color: var(--color-text);
|
||||
font-family: var(--reading-font-family);
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.prose :where(p, li, blockquote, td, th) { overflow-wrap: anywhere; }
|
||||
|
||||
.prose :where(h1, h2, h3, h4) {
|
||||
margin: 1.8em 0 0.65em;
|
||||
font-family: var(--reading-font-family);
|
||||
font-weight: 600;
|
||||
line-height: 1.25;
|
||||
}
|
||||
|
||||
.about-page .prose > :first-child { margin-top: 0; }
|
||||
|
||||
.prose h1 {
|
||||
overflow-wrap: anywhere;
|
||||
font-size: clamp(1.875rem, 1.5rem + 1.5vw, 2.5rem);
|
||||
line-height: 1.2;
|
||||
text-wrap: balance;
|
||||
}
|
||||
|
||||
.prose h2 {
|
||||
padding-bottom: 0.25em;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
font-size: 1.65rem;
|
||||
}
|
||||
|
||||
.prose :where(p, ul, ol, blockquote, pre, table) {
|
||||
margin-block: 1.15em;
|
||||
}
|
||||
|
||||
.prose hr {
|
||||
position: relative;
|
||||
height: 1.25rem;
|
||||
margin-block: 2.25em;
|
||||
border: 0;
|
||||
background:
|
||||
linear-gradient(var(--color-border), var(--color-border)) left center / calc(50% - 0.75rem) 1px no-repeat,
|
||||
linear-gradient(var(--color-border), var(--color-border)) right center / calc(50% - 0.75rem) 1px no-repeat;
|
||||
}
|
||||
|
||||
.prose hr::after {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 0.35rem;
|
||||
height: 0.35rem;
|
||||
border-radius: 50%;
|
||||
background: var(--color-accent);
|
||||
content: '';
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.prose :where(img, video) {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
margin: 2em auto;
|
||||
}
|
||||
|
||||
.prose blockquote {
|
||||
margin-inline: 0;
|
||||
padding: 0.2em 0 0.2em 1.2em;
|
||||
border-left: 3px solid var(--color-accent);
|
||||
color: var(--color-muted);
|
||||
font-family: var(--reading-font-family);
|
||||
font-size: 1.08em;
|
||||
}
|
||||
|
||||
.prose :not(pre) > code {
|
||||
padding: 0.15em 0.35em;
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-code);
|
||||
font-family: var(--mirages-font-code);
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] .prose :not(pre) > code {
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root[data-theme='auto'] .prose :not(pre) > code {
|
||||
background: var(--color-surface);
|
||||
}
|
||||
}
|
||||
|
||||
.prose pre {
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
padding: 1rem;
|
||||
border: 0;
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-code);
|
||||
color: var(--shiki-light, var(--color-text));
|
||||
scrollbar-color: color-mix(in srgb, var(--color-muted) 60%, transparent) transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
.prose pre::-webkit-scrollbar { height: 8px; }
|
||||
.prose pre::-webkit-scrollbar-thumb { border-radius: 4px; background: color-mix(in srgb, var(--color-muted) 60%, transparent); }
|
||||
.prose pre::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--color-muted) 78%, transparent); }
|
||||
|
||||
.prose pre code {
|
||||
display: block;
|
||||
min-width: max-content;
|
||||
font-family: var(--mirages-font-code);
|
||||
font-size: .875rem;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.prose .astro-code span {
|
||||
color: var(--shiki-light);
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] .prose .astro-code {
|
||||
background: var(--color-code);
|
||||
color: var(--shiki-dark);
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] .prose .astro-code span {
|
||||
color: var(--shiki-dark);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root[data-theme='auto'] .prose .astro-code {
|
||||
background: var(--color-code);
|
||||
color: var(--shiki-dark);
|
||||
}
|
||||
|
||||
:root[data-theme='auto'] .prose .astro-code span {
|
||||
color: var(--shiki-dark);
|
||||
}
|
||||
}
|
||||
.prose .katex-display { max-width: 100%; overflow-x: auto; overflow-y: hidden; padding-block: .35em; }
|
||||
|
||||
.prose .mermaid { max-width: 100%; overflow-x: auto; overflow-y: hidden; padding: 1rem 0; }
|
||||
.prose .mermaid svg { max-width: none; height: auto; }
|
||||
|
||||
.prose table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.prose thead {
|
||||
background: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
|
||||
}
|
||||
|
||||
.prose tbody tr:nth-child(odd) {
|
||||
background: color-mix(in srgb, var(--color-text) 4%, transparent);
|
||||
}
|
||||
|
||||
.prose :where(th, td) img {
|
||||
display: inline-block;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.prose :where(th, td) {
|
||||
padding: 0.55em 0.8em;
|
||||
border: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.prose :where(th, td)[align='left'] { text-align: left; }
|
||||
.prose :where(th, td)[align='center'] { text-align: center; }
|
||||
.prose :where(th, td)[align='right'] { text-align: right; }
|
||||
@@ -0,0 +1,176 @@
|
||||
@import 'tailwindcss/theme.css';
|
||||
@import 'tailwindcss/utilities.css';
|
||||
@import './tokens.css';
|
||||
@import './themes.css';
|
||||
@import './content.css';
|
||||
@import './shortcodes.css';
|
||||
|
||||
@theme inline {
|
||||
--color-mirages-accent: var(--color-accent);
|
||||
--color-page: var(--color-bg);
|
||||
--color-raised: var(--color-surface);
|
||||
--color-foreground: var(--color-text);
|
||||
--color-subtle: var(--color-muted);
|
||||
--color-line: var(--color-border);
|
||||
--color-code-surface: var(--color-code);
|
||||
--color-nav: var(--nav-bg);
|
||||
--font-sans: var(--reading-font-family);
|
||||
--container-content: var(--content-width);
|
||||
--container-page: var(--page-width);
|
||||
--spacing-nav: var(--nav-height);
|
||||
--shadow-mirages: var(--shadow-soft);
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
min-height: 100%;
|
||||
font-size: 100%;
|
||||
scroll-behavior: smooth;
|
||||
scrollbar-gutter: stable;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: var(--reading-font-family);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
:where(.prose h2, .prose h3, .prose h4) {
|
||||
scroll-margin-top: calc(var(--nav-height) + 1rem);
|
||||
}
|
||||
|
||||
:root[data-font='serif'] { --reading-font-family: var(--mirages-font-serif); }
|
||||
:root[data-font='sans'] { --reading-font-family: var(--mirages-font-sans); }
|
||||
|
||||
body:has(dialog[open]) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--color-accent-strong);
|
||||
}
|
||||
|
||||
:where([data-text-link], .prose a:not(:has(img)), #comments a:not(:has(img))):not([data-no-text-link], [data-archive-entry], .pswp__button, .pswp__item, [role='button']) {
|
||||
position: relative;
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
:where([data-text-link], .prose a:not(:has(img)), #comments a:not(:has(img))):not([data-no-text-link], [data-archive-entry], .pswp__button, .pswp__item, [role='button'])::after {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: -0.08em;
|
||||
left: 0;
|
||||
border-bottom: 1px solid var(--color-accent);
|
||||
content: '';
|
||||
pointer-events: none;
|
||||
transform: scaleX(0);
|
||||
transform-origin: left center;
|
||||
transition: transform 180ms ease-out;
|
||||
}
|
||||
|
||||
:where([data-text-link], .prose a:not(:has(img)), #comments a:not(:has(img))):not([data-no-text-link], [data-archive-entry], .pswp__button, .pswp__item, [role='button']):is(:hover, :focus-visible)::after,
|
||||
a:not([data-archive-entry]):is(:hover, :focus-visible) > [data-text-link]::after {
|
||||
transform: scaleX(1);
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
font-family: var(--mirages-font-ui);
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
[data-desktop-navbar] {
|
||||
font-family: var(--mirages-font-ui);
|
||||
}
|
||||
|
||||
[data-drawer],
|
||||
[data-drawer] :where(button, input) {
|
||||
font-family: var(--reading-font-family);
|
||||
}
|
||||
|
||||
button,
|
||||
a {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
:focus-visible {
|
||||
outline: 2px solid var(--color-accent);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: color-mix(in srgb, var(--color-accent) 35%, transparent);
|
||||
}
|
||||
|
||||
@layer components {
|
||||
.shell {
|
||||
width: min(calc(100% - 2.5rem), var(--page-width));
|
||||
margin-inline: auto;
|
||||
}
|
||||
|
||||
.content-shell,
|
||||
.card-list-shell {
|
||||
width: min(calc(100% - 2.5rem), var(--content-width));
|
||||
margin-inline: auto;
|
||||
}
|
||||
|
||||
.article-shell {
|
||||
width: min(calc(100% - 2.5rem), var(--article-content-width));
|
||||
margin-inline: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.skip-link {
|
||||
position: fixed;
|
||||
z-index: 100;
|
||||
top: 10px;
|
||||
left: 10px;
|
||||
padding: 8px 12px;
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-text);
|
||||
color: var(--color-bg);
|
||||
transform: translateY(-150%);
|
||||
}
|
||||
|
||||
.skip-link:focus {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.shell,
|
||||
.content-shell,
|
||||
.card-list-shell {
|
||||
width: min(calc(100% - 1.75rem), var(--page-width));
|
||||
}
|
||||
|
||||
.article-shell {
|
||||
width: min(calc(100% - 3.125rem), var(--article-content-width));
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
scroll-behavior: auto !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
}
|
||||
|
||||
:where([data-text-link], .prose a:not(:has(img)), #comments a:not(:has(img)))::after {
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,427 @@
|
||||
.prose .shortcode-button {
|
||||
display: inline-block;
|
||||
margin: 0.2em 0.25em 0.2em 0;
|
||||
padding: 0.35em 0.8em;
|
||||
border: 1px solid var(--color-accent);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-accent);
|
||||
color: var(--color-bg);
|
||||
font-family: var(--mirages-font-ui);
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.prose .shortcode-button:hover {
|
||||
background: var(--color-accent-strong);
|
||||
color: var(--color-bg);
|
||||
}
|
||||
.prose .shortcode-file {
|
||||
background: transparent;
|
||||
color: var(--color-accent);
|
||||
}
|
||||
.shortcode-tag {
|
||||
display: inline-block;
|
||||
margin: 0.15em 0.3em 0.15em 0;
|
||||
padding: 0.08em 0.55em;
|
||||
border-radius: 999px;
|
||||
background: var(--color-accent);
|
||||
color: var(--color-bg);
|
||||
font: 0.82em var(--mirages-font-ui);
|
||||
}
|
||||
.shortcode-tag-outline {
|
||||
background: transparent;
|
||||
color: var(--color-accent);
|
||||
outline: 1px solid currentColor;
|
||||
}
|
||||
.shortcode-tag-success {
|
||||
background: #287d5b;
|
||||
}
|
||||
.shortcode-tag-warning {
|
||||
background: #a36b16;
|
||||
}
|
||||
.shortcode-tag-danger {
|
||||
background: #ad3d48;
|
||||
}
|
||||
.shortcode-tag-info {
|
||||
background: #35769b;
|
||||
}
|
||||
.shortcode-hint {
|
||||
margin: 1.2em 0;
|
||||
padding: 0.7em 1em;
|
||||
border-left: 4px solid var(--color-accent);
|
||||
background: var(--color-surface);
|
||||
}
|
||||
.shortcode-hint strong {
|
||||
display: block;
|
||||
margin-bottom: 0.2em;
|
||||
font-family: var(--mirages-font-ui);
|
||||
}
|
||||
.shortcode-hint p {
|
||||
margin: 0.25em 0;
|
||||
}
|
||||
.shortcode-hint-warning,
|
||||
.shortcode-hint-warn {
|
||||
border-color: #a36b16;
|
||||
}
|
||||
.shortcode-hint-error,
|
||||
.shortcode-hint-danger {
|
||||
border-color: #ad3d48;
|
||||
}
|
||||
.shortcode-hint-success {
|
||||
border-color: #287d5b;
|
||||
}
|
||||
.shortcode-collapse {
|
||||
margin: 1.2em 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-surface);
|
||||
}
|
||||
.shortcode-collapse summary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
padding: 0.7rem 0.9rem;
|
||||
border-bottom: 1px solid transparent;
|
||||
background: color-mix(in srgb, var(--color-accent) 7%, var(--color-surface));
|
||||
color: var(--color-text);
|
||||
font-family: var(--mirages-font-ui);
|
||||
font-weight: 600;
|
||||
list-style: none;
|
||||
}
|
||||
:root[data-font='serif'] .shortcode-collapse summary {
|
||||
font-family: var(--mirages-font-serif);
|
||||
}
|
||||
.shortcode-collapse summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
.shortcode-collapse[open] summary {
|
||||
border-bottom-color: var(--color-border);
|
||||
}
|
||||
.shortcode-collapse-marker {
|
||||
width: 0.5rem;
|
||||
height: 0.5rem;
|
||||
flex: 0 0 0.5rem;
|
||||
order: 2;
|
||||
margin-left: auto;
|
||||
border-right: 1.5px solid currentColor;
|
||||
border-bottom: 1.5px solid currentColor;
|
||||
transform: rotate(45deg) translate(-2px, -2px);
|
||||
transition: transform 160ms ease;
|
||||
}
|
||||
.shortcode-collapse:not([data-collapse-ready])[open] > summary .shortcode-collapse-marker,
|
||||
.shortcode-collapse.is-expanded > summary .shortcode-collapse-marker {
|
||||
transform: rotate(-135deg) translate(-2px, -2px);
|
||||
}
|
||||
.shortcode-body {
|
||||
box-sizing: border-box;
|
||||
height: 0;
|
||||
padding-inline: 1.5rem;
|
||||
overflow: hidden;
|
||||
transition: height 220ms ease;
|
||||
}
|
||||
.shortcode-collapse > .shortcode-body > .shortcode-body-inner {
|
||||
display: block;
|
||||
padding-block: 1rem;
|
||||
padding-inline: 0;
|
||||
}
|
||||
.shortcode-collapse > .shortcode-body > .shortcode-body-inner > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.shortcode-collapse > .shortcode-body > .shortcode-body-inner > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.shortcode-body { transition: none; }
|
||||
}
|
||||
.shortcode-body-inner table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
.shortcode-body .shortcode-collapse {
|
||||
margin: 1rem 0 0.25rem;
|
||||
}
|
||||
.shortcode-body .shortcode-collapse .shortcode-body-inner {
|
||||
padding-inline: 0.85rem;
|
||||
}
|
||||
.shortcode-body .shortcode-collapse {
|
||||
border-left: 2px solid
|
||||
color-mix(in srgb, var(--color-accent) 45%, var(--color-border));
|
||||
background: color-mix(in srgb, var(--color-bg) 35%, var(--color-surface));
|
||||
}
|
||||
.shortcode-body .shortcode-body .shortcode-collapse {
|
||||
border-left-color: color-mix(
|
||||
in srgb,
|
||||
var(--color-accent) 25%,
|
||||
var(--color-border)
|
||||
);
|
||||
}
|
||||
.shortcode-tabs {
|
||||
margin: 1.2em 0;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-surface);
|
||||
}
|
||||
.shortcode-tab-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.25rem;
|
||||
padding: 0.35rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
background: var(--color-surface);
|
||||
}
|
||||
.shortcode-tab-list button {
|
||||
cursor: pointer;
|
||||
padding: 0.4rem 0.7rem;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: var(--color-muted);
|
||||
}
|
||||
.shortcode-tab-list button[aria-selected="true"] {
|
||||
background: var(--color-bg);
|
||||
color: var(--color-accent);
|
||||
font-weight: 600;
|
||||
}
|
||||
.shortcode-tabs [role="tabpanel"] {
|
||||
padding: 0.8rem 1rem;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
.shortcode-tools {
|
||||
margin: 1.5em 0;
|
||||
padding: 0.75rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-surface);
|
||||
}
|
||||
.shortcode-tools-title {
|
||||
margin: 0 0 0.55rem;
|
||||
color: var(--color-text);
|
||||
font: 600 1rem/1.35 var(--mirages-font-ui);
|
||||
}
|
||||
.shortcode-tool-list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
gap: 0.35rem 1rem;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.shortcode-tool {
|
||||
min-width: 0;
|
||||
}
|
||||
.shortcode-tool-link {
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
min-height: 3.5rem;
|
||||
align-items: center;
|
||||
gap: 0.55rem;
|
||||
padding: 0.4rem;
|
||||
border-radius: var(--radius-sm);
|
||||
color: var(--color-text);
|
||||
text-decoration: none;
|
||||
transition: background-color 160ms ease, color 160ms ease;
|
||||
}
|
||||
.shortcode-tool-link:hover {
|
||||
background: color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));
|
||||
color: var(--color-text);
|
||||
}
|
||||
.shortcode-tool-icon {
|
||||
display: grid;
|
||||
width: 2.5rem;
|
||||
height: 2.5rem;
|
||||
flex: 0 0 2.5rem;
|
||||
place-items: center;
|
||||
border-radius: 0.7rem;
|
||||
background: var(--color-code);
|
||||
}
|
||||
:root[data-theme='dark'] .shortcode-tool-icon {
|
||||
background: color-mix(in srgb, var(--color-bg) 88%, white);
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root[data-theme='auto'] .shortcode-tool-icon {
|
||||
background: color-mix(in srgb, var(--color-bg) 88%, white);
|
||||
}
|
||||
}
|
||||
.shortcode-tool-icon img {
|
||||
display: block;
|
||||
width: 72%;
|
||||
height: 72%;
|
||||
margin: 0;
|
||||
object-fit: contain;
|
||||
}
|
||||
.shortcode-tool-content {
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
gap: 0.08rem;
|
||||
line-height: 1.25;
|
||||
}
|
||||
.shortcode-tool-name,
|
||||
.shortcode-tool-description {
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.shortcode-tool-name {
|
||||
font-size: 0.9rem;
|
||||
font-family: var(--mirages-font-ui);
|
||||
line-height: 1.25;
|
||||
}
|
||||
.shortcode-tool-description {
|
||||
color: var(--color-muted);
|
||||
font-size: 0.78rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
@media (max-width: 38rem) {
|
||||
.shortcode-tools {
|
||||
padding: 0.8rem;
|
||||
}
|
||||
.shortcode-tool-list {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.shortcode-tool-link { transition: none; }
|
||||
}
|
||||
.shortcode-github {
|
||||
margin: 1.2em 0;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-surface);
|
||||
color: var(--color-text);
|
||||
padding: 0;
|
||||
}
|
||||
.shortcode-github-header {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
padding: 0.85rem 1rem 0.7rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
}
|
||||
.shortcode-github-title {
|
||||
display: flex;
|
||||
min-width: 0;
|
||||
align-items: center;
|
||||
gap: 0.55rem;
|
||||
}
|
||||
.shortcode-github-title h3 {
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
overflow-wrap: anywhere;
|
||||
font: 600 1.08rem/1.35 var(--mirages-font-ui);
|
||||
}
|
||||
.shortcode-github-icon {
|
||||
display: inline-block;
|
||||
width: 1.25rem;
|
||||
height: 1.25rem;
|
||||
flex: 0 0 1.25rem;
|
||||
color: var(--color-text);
|
||||
}
|
||||
.shortcode-github-owner,
|
||||
.shortcode-github-repo {
|
||||
color: var(--color-text);
|
||||
text-decoration: none;
|
||||
}
|
||||
.shortcode-github-owner:hover,
|
||||
.shortcode-github-repo:hover {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
.shortcode-github-repo {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
.shortcode-github-stats {
|
||||
display: flex;
|
||||
flex: 0 0 auto;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-end;
|
||||
gap: 0.8rem;
|
||||
color: var(--color-muted);
|
||||
font: 0.75rem var(--mirages-font-ui);
|
||||
text-align: right;
|
||||
}
|
||||
.shortcode-github-stat {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.shortcode-github-stat b {
|
||||
color: var(--color-text);
|
||||
font-weight: 600;
|
||||
}
|
||||
.shortcode-github-stat-empty b {
|
||||
color: var(--color-muted);
|
||||
font-weight: 400;
|
||||
}
|
||||
.shortcode-github-content {
|
||||
padding: 0.85rem 1rem 0.9rem;
|
||||
}
|
||||
.shortcode-github-description {
|
||||
margin: 0;
|
||||
color: var(--color-muted);
|
||||
font-size: 0.92rem;
|
||||
}
|
||||
.shortcode-github-read-more {
|
||||
display: inline-block;
|
||||
margin-top: 0.7rem;
|
||||
padding: 0.25rem 0.55rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
color: var(--color-accent);
|
||||
font: 0.78rem var(--mirages-font-ui);
|
||||
text-decoration: none;
|
||||
}
|
||||
.shortcode-github-read-more:hover,
|
||||
.shortcode-github-download:hover {
|
||||
border-color: var(--color-accent);
|
||||
background: color-mix(in srgb, var(--color-accent) 10%, transparent);
|
||||
color: var(--color-accent);
|
||||
}
|
||||
.shortcode-github-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
min-height: 2.8rem;
|
||||
padding: 0.6rem 1rem;
|
||||
border-top: 1px solid var(--color-border);
|
||||
color: var(--color-muted);
|
||||
font: 0.75rem var(--mirages-font-ui);
|
||||
}
|
||||
.shortcode-github-commit {
|
||||
min-width: 0;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.shortcode-github-commit-label {
|
||||
color: var(--color-text);
|
||||
}
|
||||
.shortcode-github-date {
|
||||
color: var(--color-muted);
|
||||
}
|
||||
.shortcode-github-download {
|
||||
flex: 0 0 auto;
|
||||
margin-left: auto;
|
||||
padding: 0.25rem 0.55rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
color: var(--color-accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
@media (max-width: 32rem) {
|
||||
.shortcode-github-header,
|
||||
.shortcode-github-footer {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
.shortcode-github-stats {
|
||||
justify-content: flex-start;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.shortcode-invalid {
|
||||
color: var(--color-muted);
|
||||
font-style: italic;
|
||||
}
|
||||
.shortcode-notice {
|
||||
display: inline-block;
|
||||
padding: 0.1em 0.45em;
|
||||
border-left: 2px solid var(--color-accent);
|
||||
background: color-mix(in srgb, var(--color-accent) 8%, transparent);
|
||||
color: var(--color-accent);
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
:root,
|
||||
:root[data-theme='light'] {
|
||||
color-scheme: light;
|
||||
--color-bg: var(--mirages-page-light);
|
||||
--color-surface: var(--mirages-page-light);
|
||||
--color-text: var(--mirages-text-light);
|
||||
--color-muted: #6e6a68;
|
||||
--color-border: #dedbd8;
|
||||
--color-code: #f0eeeb;
|
||||
--color-archive-hover: #f0f0f0;
|
||||
--heatmap-0: #ebedf0;
|
||||
--heatmap-1: #9be9a8;
|
||||
--heatmap-2: #40c463;
|
||||
--heatmap-3: #30a14e;
|
||||
--heatmap-4: #216e39;
|
||||
--nav-bg: rgb(255 255 255 / 78%);
|
||||
}
|
||||
|
||||
:root[data-theme='sunset'] {
|
||||
color-scheme: light;
|
||||
--color-bg: var(--mirages-page-sunset);
|
||||
--color-surface: #fffaf0;
|
||||
--color-text: #3f3832;
|
||||
--color-muted: #786d63;
|
||||
--color-border: #ded1c0;
|
||||
--color-code: #eee3d3;
|
||||
--color-archive-hover: var(--color-code);
|
||||
--heatmap-0: #e9dfd0;
|
||||
--heatmap-1: #9be9a8;
|
||||
--heatmap-2: #40c463;
|
||||
--heatmap-3: #30a14e;
|
||||
--heatmap-4: #216e39;
|
||||
--nav-bg: rgb(248 241 228 / 80%);
|
||||
}
|
||||
|
||||
:root[data-theme='dark'] {
|
||||
color-scheme: dark;
|
||||
--color-bg: var(--mirages-page-dark);
|
||||
--color-surface: var(--mirages-raised-dark);
|
||||
--color-text: #eeece8;
|
||||
--color-muted: #aaa5a0;
|
||||
--color-border: #504c4b;
|
||||
--color-code: #242222;
|
||||
--color-archive-hover: var(--color-surface);
|
||||
--heatmap-0: #454242;
|
||||
--heatmap-1: #0e4429;
|
||||
--heatmap-2: #006d32;
|
||||
--heatmap-3: #26a641;
|
||||
--heatmap-4: #39d353;
|
||||
--nav-bg: rgb(44 42 42 / 80%);
|
||||
--color-accent-strong: #5bddc3;
|
||||
--shadow-soft: 0 14px 40px rgb(0 0 0 / 20%);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root[data-theme='auto'] {
|
||||
color-scheme: dark;
|
||||
--color-bg: var(--mirages-page-dark);
|
||||
--color-surface: var(--mirages-raised-dark);
|
||||
--color-text: #eeece8;
|
||||
--color-muted: #aaa5a0;
|
||||
--color-border: #504c4b;
|
||||
--color-code: #242222;
|
||||
--color-archive-hover: var(--color-surface);
|
||||
--heatmap-0: #454242;
|
||||
--heatmap-1: #0e4429;
|
||||
--heatmap-2: #006d32;
|
||||
--heatmap-3: #26a641;
|
||||
--heatmap-4: #39d353;
|
||||
--nav-bg: rgb(44 42 42 / 80%);
|
||||
--color-accent-strong: #5bddc3;
|
||||
--shadow-soft: 0 14px 40px rgb(0 0 0 / 20%);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root[data-theme='auto'] {
|
||||
color-scheme: light;
|
||||
--color-bg: var(--mirages-page-light);
|
||||
--color-surface: var(--mirages-page-light);
|
||||
--color-text: var(--mirages-text-light);
|
||||
--color-muted: #6e6a68;
|
||||
--color-border: #dedbd8;
|
||||
--color-code: #f0eeeb;
|
||||
--color-archive-hover: #f0f0f0;
|
||||
--heatmap-0: #ebedf0;
|
||||
--heatmap-1: #9be9a8;
|
||||
--heatmap-2: #40c463;
|
||||
--heatmap-3: #30a14e;
|
||||
--heatmap-4: #216e39;
|
||||
--nav-bg: rgb(255 255 255 / 78%);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
:root {
|
||||
--mirages-accent: #1abc9c;
|
||||
--mirages-page-light: #fff;
|
||||
--mirages-page-sunset: #f8f1e4;
|
||||
--mirages-page-dark: #2c2a2a;
|
||||
--mirages-raised-dark: #343232;
|
||||
--mirages-text-light: #202020;
|
||||
--color-accent: var(--mirages-accent);
|
||||
--color-accent-strong: #138a74;
|
||||
--color-accent-contrast: #102b27;
|
||||
--mirages-font-ui: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||
--mirages-font-sans: "Mirages Custom", Merriweather, "Open Sans", "Segoe UI Emoji", "Segoe UI Symbol", Helvetica, Arial, sans-serif;
|
||||
--mirages-font-serif: "Noto Serif SC", serif;
|
||||
--mirages-font-code: Consolas, Menlo, Monaco, "Liberation Mono", "Courier New", monospace;
|
||||
--font-sans: var(--mirages-font-sans);
|
||||
--font-serif: var(--mirages-font-serif);
|
||||
--reading-font-family: var(--mirages-font-sans);
|
||||
--content-width: 704px;
|
||||
--article-content-width: 606px;
|
||||
--page-width: 720px;
|
||||
--nav-height: 4rem;
|
||||
--radius-sm: .25rem;
|
||||
--radius-md: .5rem;
|
||||
--shadow-soft: 0 14px 40px rgb(20 25 24 / 9%);
|
||||
--transition-fast: 160ms ease;
|
||||
}
|
||||
|
||||
@media (min-width: 1302px) {
|
||||
:root {
|
||||
--content-width: 848px;
|
||||
--article-content-width: 662px;
|
||||
--page-width: 864px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1600px) {
|
||||
:root {
|
||||
--content-width: 880px;
|
||||
--article-content-width: 720px;
|
||||
--page-width: 896px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1800px) {
|
||||
:root {
|
||||
--content-width: 944px;
|
||||
--article-content-width: 752px;
|
||||
--page-width: 960px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1920px) {
|
||||
:root {
|
||||
--content-width: 976px;
|
||||
--article-content-width: 800px;
|
||||
--page-width: 992px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 2400px) {
|
||||
:root {
|
||||
--content-width: 1008px;
|
||||
--article-content-width: 850px;
|
||||
--page-width: 1024px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user