:root {
--wagi-toc-bg: #ffffff;
--wagi-toc-text: #333333;
--wagi-toc-text-light: #666666;
--wagi-toc-border: #e8e8e8;
--wagi-toc-active: #5a8164;
--wagi-toc-active-bg: #e8f5e9;
--wagi-toc-accent: #5a8164;
--wagi-toc-accent-hover: #5a8164;
--wagi-toc-underline: #5a8164;
--wagi-toc-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
--wagi-toc-width: 260px;
--wagi-toc-transition: 0.3s ease;
} .wagi-toc-wrapper {
display: flex;
justify-content: center;
flex-direction: column;
gap: 42px;
margin: 36px auto 118px;
width: 100vw;
max-width: 100vw;
align-items: center;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
padding-left: 24px;
padding-right: 24px;
box-sizing: border-box;
padding-left: 24px;
padding-right: 24px;
box-sizing: border-box;
}
.wagi-toc-inner {
display: flex;
gap: 32px;
max-width: 1280px;
width: 100%;
align-items: flex-start;
position: relative; }
.wagi-toc-article {
flex: 1;
min-width: 0;
}
.wagi-breadcrumb {
display: flex;
width: 100%;
max-width: 1280px;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 0;
background-color: var(--bg-color-light);
border-radius: var(--border-radius-md);
color: var(--wagi-toc-text);
}
.single-post__title {
font-size: 1.75rem;
margin-bottom: 27px;
} .wagi-related-posts {
flex-shrink: 0;
width: var(--wagi-toc-width);
position: relative;
font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
Arial, sans-serif;
}
.single-post__thumbnail {
width: 100%;
position: relative;
margin-bottom: 60px;
}
.single-post__thumbnail img {
width: 100%;
height: auto;
display: block;
} @media (min-width: 993px) {
.wagi-toc-sidebar.is-sticky,
.wagi-related-posts.is-sticky {
position: fixed !important;
top: 100px !important;
z-index: 900;
max-height: calc(100vh - 120px);
overflow-y: auto;
}
.wagi-toc-sidebar.is-frozen,
.wagi-related-posts.is-frozen {
position: absolute !important;
z-index: 900;
max-height: calc(100vh - 120px);
overflow-y: auto;
}
} .wagi-toc-wrapper .wagi-related-posts .wagi-related-title,
.wagi-toc-wrapper .wagi-related-posts h3.wagi-related-title {
font-weight: 600 !important;
color: var(--wagi-toc-text) !important;
font-size: 16px !important;
line-height: 1.3 !important;
font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
Arial, sans-serif !important;
margin: 0 0 12px 0 !important;
padding: 0 0 10px 0 !important;
border-bottom: 14px solid var(--wagi-toc-underline);
}
.wagi-related-list {
list-style: none;
margin: 0;
padding: 0;
}
.wagi-related-item {
margin: 0;
margin-left: 28px;
padding: 0;
border-bottom: 1px solid #000;
}
.wagi-related-item:last-child {
border-bottom: none;
}
.wagi-related-link {
display: block;
padding: 12px 0;
color: var(--wagi-toc-text);
text-decoration: none;
transition:
color var(--wagi-toc-transition),
background var(--wagi-toc-transition),
padding var(--wagi-toc-transition) !important;
line-height: 1.4;
word-break: break-word;
}
.wagi-related-link:hover {
color: var(--wagi-toc-accent);
background: var(--wagi-toc-active-bg);
padding: 12px;
}
.wagi-related-empty {
padding: 12px 0;
color: var(--wagi-toc-text-light);
font-size: 14px;
}
.wagi-related-more {
display: inline-block;
margin-top: 16px;
margin-left: 1.5rem;
padding: 8px 28px;
background: var(--wagi-toc-accent);
color: #fff;
text-align: center;
text-decoration: none;
font-size: 15px;
font-weight: 500;
border-radius: 2px;
transition:
opacity var(--wagi-toc-transition),
background var(--wagi-toc-transition);
}
.wagi-related-more:hover {
opacity: 0.95;
background: var(--wagi-toc-accent-hover, #5a8164);
color: #fff;
} .wagi-toc {
font-family:
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
Arial, sans-serif;
font-size: 14px;
overflow: hidden;
transition: opacity var(--wagi-toc-transition);
} .wagi-toc.wagi-toc-sidebar {
flex-shrink: 0;
width: var(--wagi-toc-width);
position: relative;
background: var(--wagi-toc-bg);
} .wagi-toc-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 0 10px 0;
margin-bottom: 12px;
border-bottom: 14px solid var(--wagi-toc-underline);
cursor: pointer;
user-select: none;
} .wagi-toc.wagi-toc-sidebar .wagi-toc-toggle {
display: none;
}
.wagi-toc-title {
font-weight: 600;
color: var(--wagi-toc-text);
font-size: 14px;
}
.wagi-toc-toggle {
background: none;
border: none;
padding: 4px;
cursor: pointer;
color: var(--wagi-toc-text-light);
display: flex;
align-items: center;
justify-content: center;
transition: color var(--wagi-toc-transition);
}
.wagi-toc-toggle:hover {
color: var(--wagi-toc-text);
} .wagi-toc-mobile-close {
display: none;
}
.wagi-toc-icon-collapse {
display: none;
}
.wagi-toc.is-collapsed .wagi-toc-icon-expand {
display: none;
}
.wagi-toc.is-collapsed .wagi-toc-icon-collapse {
display: block;
} .wagi-toc-content {
overflow-y: auto;
padding: 0;
transition:
max-height var(--wagi-toc-transition),
opacity var(--wagi-toc-transition);
}
.wagi-toc.wagi-toc-sidebar .wagi-toc-content {
max-height: none;
margin-left: 28px;
}
.wagi-toc.is-collapsed .wagi-toc-content {
max-height: 0;
opacity: 0;
padding: 0;
overflow: hidden;
} .wagi-toc-list {
list-style: none;
margin: 0;
padding: 0;
}
.wagi-toc-item {
margin: 0;
padding: 0;
border-bottom: 1px solid #000;
}
.wagi-toc-item:last-child {
border-bottom: none;
}
.wagi-toc-link {
display: block;
padding: 12px 0;
color: var(--wagi-toc-text);
text-decoration: none;
transition: all var(--wagi-toc-transition);
line-height: 1.4;
word-break: break-word;
}
.wagi-toc-link:hover {
color: var(--wagi-toc-accent);
}
.wagi-toc-link.is-active {
font-weight: 500;
} .wagi-toc-level-1 .wagi-toc-link {
padding-left: 0;
font-weight: 500;
}
.wagi-toc-level-2 .wagi-toc-link {
}
.wagi-toc-level-3 .wagi-toc-link {
font-size: 13px;
} .wagi-toc-content::-webkit-scrollbar {
width: 4px;
}
.wagi-toc-content::-webkit-scrollbar-track {
background: transparent;
}
.wagi-toc-content::-webkit-scrollbar-thumb {
background: var(--wagi-toc-border);
border-radius: 2px;
}
.wagi-toc-content::-webkit-scrollbar-thumb:hover {
background: var(--wagi-toc-text-light);
} .wagi-toc-mobile-trigger {
display: none;
position: fixed;
top: 28rem;
left: 0;
width: 44px;
min-height: 100px;
background: var(--wagi-toc-bg);
border: none;
border-left: none;
border-radius: 0 12px 12px 0;
box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.12);
cursor: pointer;
z-index: 998;
align-items: center;
justify-content: center;
padding: 16px 10px;
font-size: 15px;
font-weight: 600;
color: var(--wagi-toc-text);
transition:
box-shadow var(--wagi-toc-transition),
transform var(--wagi-toc-transition);
writing-mode: vertical-rl;
letter-spacing: 0.1em;
}
.wagi-toc-mobile-trigger:hover {
box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.16);
}
.wagi-toc-mobile-trigger:focus {
outline: 2px solid var(--wagi-toc-accent);
outline-offset: 2px;
}
.wagi-toc-mobile-trigger .wagi-toc-mobile-trigger-text {
display: block;
}
.wagi-toc-mobile-trigger svg {
display: none;
} @media (max-width: 1200px) {
.wagi-toc.wagi-toc-sidebar {
width: 220px;
}
.wagi-related-posts {
width: 220px;
}
}
@media (max-width: 992px) {
.wagi-toc-inner {
flex-direction: column;
}
.wagi-toc.wagi-toc-sidebar {
width: 100%;
order: -1;
} .wagi-toc-inner > .wagi-related-posts {
display: none;
} .wagi-toc.wagi-toc-sidebar {
position: fixed;
left: 0;
top: 0;
bottom: 0;
z-index: 999;
width: 66.666%;
max-width: 400px;
height: 100%;
border-radius: 0 0 0 0;
box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
border: none;
border-right: 1px solid var(--wagi-toc-border);
transform: translateX(-100%);
opacity: 1;
visibility: hidden;
transition:
transform var(--wagi-toc-transition),
visibility var(--wagi-toc-transition);
display: flex;
flex-direction: column;
background: var(--wagi-toc-bg);
}
.wagi-toc.is-mobile-open {
transform: translateX(0);
visibility: visible;
} .wagi-toc-mobile-close {
display: none;
position: absolute;
top: 16px;
right: 16px;
width: 40px;
height: 40px;
padding: 0;
border: none;
background: transparent;
color: var(--wagi-toc-text-light);
cursor: pointer;
align-items: center;
justify-content: center;
border-radius: 8px;
transition:
color var(--wagi-toc-transition),
background var(--wagi-toc-transition);
z-index: 2;
}
.wagi-toc-mobile-close:hover {
color: var(--wagi-toc-text);
background: rgba(0, 0, 0, 0.06);
}
.wagi-toc.is-mobile-open .wagi-toc-mobile-close {
display: flex;
}
.wagi-toc.is-mobile-open .wagi-toc-toggle {
display: none;
} .wagi-toc.is-mobile-open {
padding-left: 22px;
padding-right: 16px;
box-sizing: border-box;
border-bottom: 8px solid var(--wagi-toc-underline);
border-top: 8px solid var(--wagi-toc-underline);
}
.wagi-toc.is-mobile-open .wagi-toc-mobile-close {
right: 20px;
} .wagi-toc.is-mobile-open .wagi-toc-header {
padding-top: 72px;
padding-right: 48px;
padding-bottom: 10px;
padding-left: 0;
margin-bottom: 12px;
border-bottom: 4px solid var(--wagi-toc-underline);
} .wagi-toc.is-mobile-open .wagi-toc-content {
flex: 0 0 auto;
min-height: 0;
max-height: 12rem;
overflow-y: auto;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
padding-left: 0;
padding-right: 12px;
margin-left: 0;
}
.wagi-toc.is-mobile-open .wagi-related-item {
margin-left: 0;
} .wagi-toc.is-mobile-open .wagi-toc-link {
margin-left: 0;
}
.wagi-toc.is-mobile-open .wagi-toc-link.is-active {
margin-left: 0;
}
.wagi-toc.is-mobile-open .wagi-toc-level-2 .wagi-toc-link {
padding-left: 0;
margin-left: 12px;
}
.wagi-toc.is-mobile-open .wagi-toc-level-3 .wagi-toc-link {
padding-left: 24px;
} .wagi-toc.is-mobile-open .wagi-toc-content::-webkit-scrollbar {
width: 8px;
}
.wagi-toc.is-mobile-open .wagi-toc-content::-webkit-scrollbar-track {
background: #f0f0f0;
border-radius: 4px;
}
.wagi-toc.is-mobile-open .wagi-toc-content::-webkit-scrollbar-thumb {
background: var(--wagi-toc-accent);
border-radius: 4px;
}
.wagi-toc.is-mobile-open .wagi-toc-content::-webkit-scrollbar-thumb:hover {
background: var(--wagi-toc-accent-hover);
} .wagi-toc .wagi-related-posts.wagi-in-drawer {
width: 100%;
min-width: 0;
padding: 12px 20px 24px 0;
border-top: 1px solid var(--wagi-toc-border);
margin: 0;
flex-shrink: 0;
overflow: visible;
box-sizing: border-box;
} .wagi-toc .wagi-related-posts.wagi-in-drawer .wagi-related-title {
margin: 0;
padding: 0 0 10px 0 !important;
font-size: 16px !important;
font-weight: 600 !important;
box-sizing: content-box;
border-bottom: 4px solid var(--wagi-toc-underline);
}   .wagi-toc .wagi-related-posts.wagi-in-drawer .wagi-related-link {
padding: 8px 0;
}
.wagi-toc .wagi-related-posts.wagi-in-drawer .wagi-related-list {
display: flex;
flex-direction: column;
gap: 12px;
margin-left: 0;
margin-right: 0;
} .wagi-toc
.wagi-related-posts.wagi-in-drawer
.wagi-related-item:nth-child(n + 4) {
display: none;
} .wagi-toc .wagi-related-posts.wagi-in-drawer .wagi-related-item:nth-child(3) {
border-bottom: none;
} .wagi-toc .wagi-related-posts.wagi-in-drawer .wagi-related-more {
margin-left: 0;
margin-right: 0;
margin-top: 12px;
} .wagi-toc-mobile-trigger {
display: flex;
} body.wagi-toc-mobile-open .wagi-toc-mobile-trigger {
opacity: 0;
visibility: hidden;
transform: translateX(-20px);
}
} .wagi-toc-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 998;
opacity: 0;
transition: opacity var(--wagi-toc-transition);
}
.wagi-toc-overlay.is-visible {
display: block;
opacity: 1;
} @media (prefers-reduced-motion: reduce) {
.wagi-toc,
.wagi-toc-content,
.wagi-toc-link,
.wagi-toc-mobile-trigger {
transition: none;
}
}
@media print {
.wagi-toc,
.wagi-toc-mobile-trigger {
display: none !important;
}
} .wagi-article-title {
font-size: 2.2rem;
font-weight: 700;
color: #333;
line-height: 1.4;
margin: 0 0 1.5rem 0;
}
.wagi-article-featured-image {
margin-bottom: 2rem;
}
.wagi-article-featured-image .wagi-featured-img {
width: 100%;
height: auto;
border-radius: 8px;
display: block;
}
@media (max-width: 768px) {
.wagi-article-title {
font-size: 1.6rem;
}
}
@media (max-width: 480px) {
.wagi-article-title {
font-size: 1.3rem;
}
}