diff options
| author | Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> | 2026-06-18 23:19:10 +0900 |
|---|---|---|
| committer | Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> | 2026-06-18 23:19:10 +0900 |
| commit | 5bc1e63756cae6974430f1e6cf1a4d5e88f5b9cc (patch) | |
| tree | 46ab1a541403d680fe1719da941d7702159fd453 /src/styles/custom.css | |
Initial commit
Diffstat (limited to 'src/styles/custom.css')
| -rw-r--r-- | src/styles/custom.css | 1050 |
1 files changed, 1050 insertions, 0 deletions
diff --git a/src/styles/custom.css b/src/styles/custom.css new file mode 100644 index 0000000..67a4c79 --- /dev/null +++ b/src/styles/custom.css @@ -0,0 +1,1050 @@ +/* ===== Starlight Custom Styles ===== */ + +/* ── Modern Color Theme ── */ +:root { + --sl-color-accent-low: #e0e7ff; + --sl-color-accent: #4f46e5; + --sl-color-accent-high: #3730a3; + --sl-color-bg-nav: #f8fafc; + --sl-color-bg: #ffffff; + --sl-color-text: #1e293b; + --sl-color-text-accent: #4f46e5; + + /* MessageBubble — iMessage style */ + --bubble-left-bg: #e9e9eb; + --bubble-left-bg-top: #f0f0f3; + --bubble-left-fg: #1c1c1e; + --bubble-right-bg: #0a84ff; + --bubble-right-bg-top: #1a8eff; + --bubble-right-fg: #ffffff; + --bubble-gityo-bg: #c8c4e8; + --highlight-bg: #e0e7ff; + --highlight-fg: #3730a3; + + /* Dyslexia quote bubble — warm amber */ + --bubble-dyslexia-bg: #fef3c7; + --bubble-dyslexia-bg-top: #fef9e7; + --bubble-dyslexia-fg: #1c1c1e; +} + +:root[data-theme="dark"] { + --sl-color-accent-low: #1e1b4b; + --sl-color-accent: #818cf8; + --sl-color-accent-high: #a5b4fc; + --sl-color-bg-nav: #0f172a; + --sl-color-bg: #1e293b; + --sl-color-text: #e2e8f0; + --sl-color-text-accent: #a5b4fc; + + /* MessageBubble dark */ + --bubble-left-bg: #2c2c2e; + --bubble-left-bg-top: #38383a; + --bubble-left-fg: #e5e5ea; + --bubble-right-bg: #0a84ff; + --bubble-right-bg-top: #1a8eff; + --bubble-right-fg: #ffffff; + --bubble-gityo-bg: #3a3658; + --highlight-bg: #312e81; + --highlight-fg: #c7d2fe; + + /* Dyslexia quote bubble dark */ + --bubble-dyslexia-bg: #3d3520; + --bubble-dyslexia-bg-top: #4a3f28; + --bubble-dyslexia-fg: #fde68a; +} + +/* ── Readable Typography ── */ +.sl-markdown-content { + line-height: 1.75; + color: var(--sl-color-text); +} +.sl-markdown-content p { + margin-bottom: 1em; +} + +/* ── Stylish Headings ── */ +.sl-markdown-content h2 { + margin-top: 0.5em !important; + margin-bottom: 0.5em !important; +} +.sl-heading-wrapper.level-h2 { + margin-top: 0.5em !important; +} +.sl-markdown-content h3, +.sl-markdown-content h4, +.sl-markdown-content h5 { + font-weight: 600; + line-height: 1.4; + letter-spacing: 0.02em; +} +.sl-markdown-content h3 { + font-size: 1em; + margin-top: 1.2em; + margin-bottom: 0.3em; + padding-left: 0.6em; + border-left: 3px solid var(--sl-color-accent); + color: var(--sl-color-text); +} +.sl-markdown-content h4 { + font-size: 0.95em; + margin-top: 1em; + margin-bottom: 0.2em; + opacity: 0.8; +} +.sl-markdown-content h5 { + font-size: 0.9em; + margin-top: 1.2em; + opacity: 0.7; + text-transform: none; +} + +/* ── Subtle Links ── */ + +/* ── Stylish Tables ── */ +.sl-markdown-content table:not(:where(.not-content *)) { + display: table; + width: 100%; + border-collapse: separate; + border-spacing: 0; + margin: 1rem 0; + font-size: 0.9em; + overflow: hidden; + border-radius: 8px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); +} +.sl-markdown-content thead th { + background: var(--sl-color-accent-low); + color: var(--sl-color-accent-high); + padding: 0.6rem 0.75rem; + text-align: left; + font-weight: 600; + font-size: 0.85em; + border-bottom: 2px solid var(--sl-color-accent); +} +.sl-markdown-content tbody td { + padding: 0.5rem 0.75rem; + border-bottom: 1px solid var(--sl-color-gray-5); + vertical-align: top; +} +.sl-markdown-content tbody tr:last-child td { + border-bottom: none; +} +.sl-markdown-content tbody tr:hover { + background: var(--sl-color-gray-5); +} +.sl-markdown-content tbody tr:nth-child(even) { + background: var(--sl-color-gray-6); +} +.sl-markdown-content tbody tr:nth-child(even):hover { + background: var(--sl-color-gray-5); +} + +/* Tables inside bubbles */ +.bln table { + display: table !important; + width: 100%; + font-size: 0.88em; + border-radius: 6px; + background: var(--sl-color-bg); + border: 1px solid var(--sl-color-gray-5); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); + color: var(--sl-color-text); +} +.bln.bleft thead th { + background: var(--sl-color-gray-7); + color: var(--sl-color-text); + border-bottom: 2px solid var(--sl-color-gray-4); +} +.bln.bleft tbody td { + border-bottom: 1px solid var(--sl-color-gray-6); +} +.bln.bleft tbody tr:hover { + background: var(--sl-color-gray-6); +} +.bln.bleft tbody tr:nth-child(even) { + background: var(--sl-color-gray-7); +} +.bln.bright thead th { + background: var(--sl-color-gray-7); + color: var(--sl-color-text); + border-bottom: 2px solid var(--sl-color-gray-4); +} +.bln.bright tbody td { + border-bottom: 1px solid var(--sl-color-gray-6); +} +.bln.bright tbody tr:hover { + background: var(--sl-color-gray-6); +} +.bln.bright tbody tr:nth-child(even) { + background: var(--sl-color-gray-7); +} + +/* Tables inside note asides */ +.starlight-aside--note table { + box-shadow: none; + border: 1px solid var(--sl-color-gray-5); + background: var(--sl-color-bg); + width: auto; + max-width: 100%; +} +.starlight-aside--note thead th { + background: var(--sl-color-gray-7); + color: var(--sl-color-text); + border-bottom-color: var(--sl-color-gray-4); +} +.starlight-aside--note tbody tr:nth-child(even) { + background: var(--sl-color-gray-7); +} + +/* ── Subtle Links ── */ +.sl-markdown-content a { + text-decoration: none; +} + +/* External link icon globally */ +.sl-markdown-content a[href^="http"]::after { + content: " ↗"; + font-size: 0.75em; +} + +/* Links inside bubbles */ +.bln a { + text-decoration: underline; + text-underline-offset: 3px; + text-decoration-thickness: 2px; + font-weight: 500; +} +.bln a[href^="/"]::before { + content: "🔗 "; + font-size: 0.85em; +} +.bln.bleft a { + color: #2563eb; + text-decoration-color: #93c5fd; +} +.bln.bleft a:hover { + background: rgba(37, 99, 235, 0.1); + border-radius: 2px; +} +.bln.bright a { + color: #e0f2fe; + text-decoration-color: rgba(255, 255, 255, 0.6); +} +.bln.bright a:hover { + background: rgba(255, 255, 255, 0.15); + border-radius: 2px; +} + +/* ── Top fade effect (like iPhone) ── */ + +/* Kaigiroku links spacing */ +#kaigiroku { + margin-bottom: 0.25rem !important; + display: flex; + gap: 0.5rem; + justify-content: flex-end; + flex-wrap: wrap; +} +#kaigiroku a[href^="http"]::after { + content: " ↗"; + font-size: 0.8em; +} + +/* Hide the overview link in TOC */ + +/* ── Nicer note asides ── */ +.starlight-aside--note { + --sl-color-asides-text-accent: var(--sl-color-accent-high); + --sl-color-asides-border: var(--sl-color-accent); + background: var(--sl-color-accent-low); + border-radius: 6px; + padding: 0.75rem 1rem; + margin: 0.75rem 0; + font-size: 0.95em; + border: none; + box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.06); + position: relative; +} +.starlight-aside--note::before { + content: ""; + position: absolute; + top: -4px; + right: 20px; + width: 32px; + height: 8px; + background: var(--sl-color-accent); + border-radius: 2px; + opacity: 0.5; +} +.starlight-aside--note .starlight-aside__title { + font-size: 0.9em; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + opacity: 0.7; + margin-bottom: 0.25rem; +} + +.starlight-aside--tip { + --sl-color-asides-text-accent: #065f46; + --sl-color-asides-border: #10b981; + background: #ecfdf5; + border-radius: 6px; + padding: 0.75rem 1rem; + margin: 0.75rem 0; + font-size: 0.95em; + border: none; + box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.06); + position: relative; +} +.starlight-aside--tip::before { + content: ""; + position: absolute; + top: -4px; + right: 20px; + width: 32px; + height: 8px; + background: #10b981; + border-radius: 2px; + opacity: 0.5; +} +:root[data-theme="dark"] .starlight-aside--tip { + --sl-color-asides-text-accent: #6ee7b7; + --sl-color-asides-border: #059669; + background: #022c22; +} +:root[data-theme="dark"] .starlight-aside--tip::before { + background: #059669; +} + +main::before { + content: ""; + position: fixed; + top: 0; + left: 0; + right: 0; + height: 6rem; + background: linear-gradient(180deg, var(--sl-color-bg) 0%, transparent 100%); + pointer-events: none; + z-index: 10; +} + +/* ── Text Justification ── */ +p, +.sl-sidebar a, +#starlight__sidebar a { + text-align: justify; +} + +/* ── Admonition title inline ── */ +.sl-banner .title, +aside .title { + display: inline; +} + +/* ── Mermaid centering ── */ +.mermaid-container { + text-align: center; +} + +/* Mermaid diagram support */ +/* Mermaid centering */ +.sl-markdown-content p:has(> svg) { + text-align: center !important; +} + +/* ── Video container ── */ +.video-container { + position: relative; + width: 100%; + max-width: 560px; + margin: 0 auto; +} +.video-container iframe { + width: 100%; + aspect-ratio: 16 / 9; +} + +/* ── Hero subtitle center ── */ +.hero__subtitle { + text-align: center; +} + +/* ── PDF iframe ── */ +.tukokusyo { + width: 100%; + height: 700px; + border: 1px solid var(--sl-color-gray-5); + border-radius: 6px; +} + +@media screen and (max-width: 996px) { + .tukokusyo { + width: 100%; + height: 400px; + touch-action: pan-y; + } +} + +/* ── General question anchor separator ── */ +#situgi { + display: flex; + flex-direction: column; +} + +#situgi > .anchor { + margin-top: 20px; + border-bottom: 1px dashed; + padding-bottom: 20px; +} + +/* ══════════════════════════════════════ + MessageBubble (Speech Bubble) + ══════════════════════════════════════ */ +.bln { + border-radius: 1rem; + position: relative; + padding: 0.375rem 1rem; + max-width: 88%; + font-size: 1rem; + letter-spacing: normal; + line-height: 1.6; +} + +/* Multi-element bubbles get more padding */ +.bln:has(> :nth-child(3)) { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.bln.bleft { + background: linear-gradient( + 180deg, + var(--bubble-left-bg-top) 0%, + var(--bubble-left-bg) 100% + ); + color: var(--bubble-left-fg); + margin: 1.2rem auto 0.6rem 4%; +} + +.bln.bleft.gityo { + background: linear-gradient(180deg, #e0ddf5 0%, var(--bubble-gityo-bg) 100%); +} + +.bln.bleft.dyslexia { + background: linear-gradient( + 180deg, + var(--bubble-dyslexia-bg-top) 0%, + var(--bubble-dyslexia-bg) 100% + ); + color: var(--bubble-dyslexia-fg); + max-width: 92%; + font-size: 1.05rem; + line-height: 1.8; + letter-spacing: 0.02em; +} + +.bln.bleft.dyslexia .tail-outer { + border-color: transparent var(--bubble-dyslexia-bg) transparent transparent; +} + +.bln.bright { + background: linear-gradient( + 180deg, + var(--bubble-right-bg-top) 0%, + var(--bubble-right-bg) 100% + ); + color: var(--bubble-right-fg); + margin: 1.2rem 4% 0.6rem auto; +} + +/* Remove outline approach */ +.bln-inner { + all: unset; +} +.tail-inner { + display: none !important; +} + +/* Bubble tail — outer (colored) */ +.tail-outer { + display: block; + position: absolute; + width: 0; + height: 0; + border-style: solid; + bottom: 2px; +} + +.bln.bleft .tail-outer { + border-color: transparent var(--bubble-left-bg) transparent transparent; + border-width: 8px 22px 6px 0; + left: -16px; + rotate: -35deg; +} + +.bln.bleft.gityo .tail-outer { + border-color: transparent var(--bubble-gityo-bg) transparent transparent; +} + +.bln.bright .tail-outer { + border-color: transparent transparent transparent var(--bubble-right-bg); + border-width: 8px 0 6px 22px; + right: -16px; + rotate: 40deg; +} + +/* Bubble tail — inner (page background) */ +.tail-inner { + display: block; + position: absolute; + width: 0; + height: 0; + border-style: solid; + bottom: 3px; +} + +.bln.bleft .tail-inner { + border-color: transparent var(--sl-color-bg) transparent transparent; + border-width: 6px 18px 4px 0; + left: -13px; + rotate: -40deg; +} + +.bln.bright .tail-inner { + border-color: transparent transparent transparent var(--sl-color-bg); + border-width: 6px 0 4px 18px; + right: -14px; + rotate: 40deg; +} + +/* Speaker label — subtle */ +.bln::after { + color: var(--sl-color-gray-3); + content: attr(data-speaker); + position: absolute; + font-size: 0.7rem; + top: -1.1rem; + white-space: nowrap; +} + +.bln.bleft::after { + left: 0.5rem; +} + +.bln.bright::after { + right: 0.5rem; + text-align: right; +} + +/* Bubble inner paragraphs */ +.bln > p:not(:last-child) { + margin-top: 0; +} + +.bln > p:last-child { + margin: 0; +} + +/* Bubble emotion variants */ +.bln.bleft.thought, +.bln.bleft.smile, +.bln.bleft.weary, +.bln.bleft.anger, +.bln.bleft.sorry, +.bln.bleft.search { + border: 6px dotted var(--bubble-left-fg); + background-color: unset; +} + +.bln.bleft.thought::before, +.bln.bleft.smile::before, +.bln.bleft.weary::before, +.bln.bleft.anger::before, +.bln.bleft.sorry::before, +.bln.bleft.search::before { + border-width: 0; + content: "🤔"; + left: -2.5rem; + top: 0; +} + +.bln.bleft.smile::before { + content: "🙂"; +} +.bln.bleft.weary::before { + content: "😩"; +} +.bln.bleft.anger::before { + content: "💢"; +} +.bln.bleft.sorry::before { + content: "🙏"; +} +.bln.bleft.search::before { + content: "🔍"; +} + +@media only screen and (min-width: 800px) { + .bln { + max-width: 66%; + } + .bln.bleft.thought::before, + .bln.bleft.smile::before, + .bln.bleft.weary::before, + .bln.bleft.anger::before, + .bln.bleft.sorry::before, + .bln.bleft.search::before { + left: -3rem; + } +} + +/* ── BlockQuote (cool sticky note) ── */ +.qt { + position: relative; + background: linear-gradient(135deg, #fef9e7 0%, #fef3c7 100%); + border: 1px solid #fcd34d; + border-radius: 4px; + padding: 18px 20px 20px; + margin: 1rem 6%; + color: #78350f; + box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.06); +} + +:root[data-theme="dark"] .qt { + background: linear-gradient(135deg, #2a1e00 0%, #1a1400 100%); + border-color: #854d00; + color: #fcd34d; + box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.2); +} + +.qt::before { + content: ""; + position: absolute; + top: -6px; + left: 16px; + width: 40px; + height: 10px; + background: #d97706; + border-radius: 2px; + opacity: 0.6; +} + +.qt cite { + font-weight: 600; + display: block; + font-style: normal; + margin-bottom: 0.5rem; + font-size: 0.95em; + color: inherit; +} + +.bln .qt a { + color: #92400e; + text-decoration-color: #b45309; +} + +:root[data-theme="dark"] .bln .qt a { + color: #fbbf24; + text-decoration-color: #f59e0b; +} + +/* ══════════════════════════════════════ + Highlight + ══════════════════════════════════════ */ +.highlight-span { + background-color: var(--highlight-bg); + color: var(--highlight-fg); + border-bottom: 1px dotted var(--highlight-fg); +} + +/* ══════════════════════════════════════ + Site Guide (home page nav cards) + ══════════════════════════════════════ */ + +/* ── Homepage Hero Banner (Salient-inspired) ── */ + +/* Remove default Starlight page title and extra whitespace on home */ +main:has(.home-hero) > .content-panel:first-child { + display: none; +} +main:has(.home-hero) { + padding-top: 0; +} +.main-frame:has(.home-hero) { + padding-top: 0; +} + +/* Hide right sidebar (TOC) on home page — mobile only */ +@media (max-width: 799px) { + /* Collapse right sidebar entirely */ + .sl-flex:has(.home-hero) .right-sidebar-container { + display: none; + } + .sl-flex:has(.home-hero) .right-sidebar { + display: none; + } + /* Make content full width */ + .sl-flex:has(.home-hero) { + grid-template-columns: 100%; + } + .sl-flex:has(.home-hero) .main-pane { + width: 100%; + max-width: 100%; + } +} + +/* Change TOC "Back to top" text */ +[href="#_top"]:not([class*="skip"]) span { + display: none; +} +[href="#_top"]:not([class*="skip"])::after { + content: "ページ上部へ"; + font-size: 0.875rem; +} + +.sl-container:has(.home-hero) .hero, +.content-panel:has(.home-hero) > .sl-container { + padding-top: 0; +} +.content-panel:has(.home-hero) { + padding-top: 0 !important; +} +.content-panel:has(.home-hero) { + overflow-x: clip; +} +.home-hero { + position: relative; + margin: 3.5rem calc(-50vw + 50%) 3rem calc(-50vw + 50%); + padding: 6rem 1rem 5rem 8%; + background: url("/img/mini_yasutake-yohei_15.jpg") top center/auto 110% + no-repeat; + text-align: left; + color: #fff; + min-height: 320px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; +} +.home-hero::before { + content: ""; + position: absolute; + inset: 0; + background: none; +} +.home-hero > * { + position: relative; + z-index: 1; +} +.home-hero h1 { + font-size: 1.8rem; + font-weight: 700; + color: #fff; + margin: 0 0 0.5rem; + line-height: 1.5; +} +.home-hero h1 .line { + display: block; +} +.home-hero .hero-sub { + font-size: 0.95rem; + color: #fff; + opacity: 0.9; +} + +/* ── Profile intro: photo + message (two-column) ── */ +.home-intro { + margin: 5rem 0 6rem; +} +.home-intro .intro-head h2 { + margin-top: 0 !important; + margin-bottom: 1rem; + line-height: 1.6; + text-align: center; +} +.home-intro .intro-photo { + text-align: center; + margin: 0 auto 1rem; +} +.home-intro .intro-photo img { + display: inline; + width: 200px; + max-width: 60%; + border-radius: 12px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +} +.home-intro .photo-caption { + margin: 0.4rem 0 0; + font-size: 0.85rem; + color: var(--sl-color-gray-2); + text-align: center; +} +.home-intro .intro-text > p:first-child { + margin-top: 0 !important; +} + +@media screen and (min-width: 768px) { + .home-intro { + display: grid; + grid-template-columns: 220px 1fr; + gap: 1.5rem; + row-gap: 0.5rem; + align-items: center; + } + .home-intro .intro-head, + .home-intro .intro-cta { + grid-column: 1 / -1; + text-align: center; + } + .home-intro .intro-photo img { + width: 100%; + } +} + +/* ── Separator with label ── */ +.home-sep { + display: flex; + align-items: center; + gap: 1rem; + margin: 2.5rem 0 2rem; +} +.home-sep::before, +.home-sep::after { + content: ""; + flex: 1; + border-top: 1px solid #aaa; +} +.home-sep span { + font-size: 0.85rem; + color: #888; + font-weight: 600; +} + +@media screen and (min-width: 768px) { + .home-hero { + margin: 3.5rem 0 2rem 0; + padding: 6rem 2rem 4rem 3rem; + } + .home-hero h1 { + font-size: 2.5rem; + } +} + +/* ══════════════════════════════════════ + Top bar: cleaner site title + ══════════════════════════════════════ */ + +/* ── Jisseki page: achievement item images ── */ +.achievement-card { + display: flex; + gap: 1rem; + align-items: flex-start; + background: var(--sl-color-gray-6); + border-radius: 10px; + padding: 1rem; + margin-bottom: 1rem; +} +.achievement-card .achievement-img { + flex-shrink: 0; + width: 160px; + height: 110px; + object-fit: cover; + border-radius: 6px; +} +.achievement-card .achievement-body { + flex: 1; + min-width: 0; +} +.achievement-card .achievement-body p { + margin: 0.25rem 0 0; + font-size: 0.9rem; +} + +@media screen and (max-width: 600px) { + .achievement-card { + flex-direction: column; + } + .achievement-card .achievement-img { + width: 100%; + height: 140px; + } +} + +/* Activity grid on home page */ +.activity-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + gap: 1rem; + margin: 1.5rem 0; +} +.activity-card { + position: relative; + border-radius: 8px; + overflow: hidden; + aspect-ratio: 4/3; + display: block; + transition: + transform 0.2s, + box-shadow 0.2s; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12); +} +.activity-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18); +} +.activity-card img { + width: 100%; + height: 100%; + object-fit: cover; +} +.activity-card .activity-title { + position: absolute; + top: 0; + left: 0; + right: 0; + padding: 0.4rem 0.5rem; + background: rgba(0, 0, 0, 0.6); + color: white; + font-size: 0.8rem; + font-weight: 700; + text-align: center; + line-height: 1.3; + z-index: 1; +} + +.site-title { + font-size: 1.05rem; + font-weight: 500; + letter-spacing: 0.02em; +} +.sl-markdown-content h2:has(+ .site-guide) { + font-size: 0.9rem !important; +} +.guide-btn { + display: inline-block; + padding: 0.4rem 1.2rem; + background: var(--sl-color-accent); + color: #fff !important; + border-radius: 6px; + font-weight: 500; + font-size: 0.9rem; + transition: background 0.2s; +} +.guide-btn:hover { + background: var(--sl-color-accent-high); + color: #fff !important; +} + +/* ── Site guide icon cards ── */ +.site-guide { + display: grid; + grid-template-columns: repeat(3, 120px); + gap: 0.5rem; + margin: 2rem 0 1rem; + justify-content: center; +} +.site-guide a { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.3rem; + padding: 0.75rem 0.5rem; + border-radius: 8px; + background: var(--sl-color-gray-6); + text-decoration: none; + text-align: center; + font-size: 0.85rem; + font-weight: 500; + color: var(--sl-color-text); + transition: background 0.2s; +} +.site-guide a:hover { + background: var(--sl-color-accent-low); +} +.site-guide .icon { + font-size: 1.4rem; + line-height: 1; +} +.site-guide .label { + line-height: 1.3; +} +.intro-cta { + text-align: center; + margin-top: 1.5rem; +} + +/* ══════════════════════════════════════ + External Link Icon + ══════════════════════════════════════ */ + +/* ── Hide empty profile table header ── */ +.sl-markdown-content thead:has(th:empty) { + display: none; +} + +/* ── Center and space 市政への思い, 活動 headings ── */ +.profile-detail ~ h2, +.profile-detail ~ .sl-heading-wrapper.level-h2 { + text-align: center !important; + margin-top: 8rem !important; + margin-bottom: 2rem !important; +} + +/* ── Profile detail headings: smaller, centered ── */ +.profile-detail .sl-heading-wrapper { + text-align: center !important; + margin-top: 3rem !important; + margin-bottom: 4rem !important; +} +.profile-detail h3 { + font-size: 0.85em !important; + text-align: center !important; + border-left: none !important; + padding-left: 0 !important; +} + +/* ── Profile detail: more space between photo and caption ── */ +.profile-detail figcaption { + margin-top: 0.8rem !important; +} +.profile-detail figure { + margin-bottom: 2rem !important; +} + +/* Hide heading anchor links on home page */ +.sl-markdown-content:has(.home-hero) .sl-anchor-link { + display: none; +} +.profile-table { + margin-top: 1.5rem; +} +.profile-table table { + box-shadow: none !important; + border-radius: 0 !important; + border: none !important; +} +.profile-table table tbody td { + padding: 1rem 0.5rem; + border-bottom: 1px solid var(--sl-color-gray-5); + vertical-align: middle; +} +.profile-table table tbody td:last-child { + white-space: normal; +} +.profile-table table tbody td:first-child { + white-space: nowrap; +} +.profile-table table tbody tr:nth-child(even) { + background: transparent; +} +.profile-table table tbody tr:hover { + background: var(--sl-color-gray-5); +} +.ext-link-icon { + display: inline-block; + margin-left: 0.15em; + font-size: 0.75em; + vertical-align: super; +} |
