/* svoy · kulou 补充样式：还原 theme.json 生成的全局样式（preset 变量、排版、布局） */
:root {
    --wp--style--global--content-size: 740px;
    --wp--style--global--wide-size: 1360px;
    --wp--style--block-gap: clamp(1rem, 1.5vw, 1.5rem);
    --wp--style--root--padding-left: clamp(1rem, 3vw, 2.5rem);
    --wp--style--root--padding-right: clamp(1rem, 3vw, 2.5rem);

    --wp--preset--spacing--10: 0.5rem;
    --wp--preset--spacing--20: 0.75rem;
    --wp--preset--spacing--30: clamp(1rem, 1.5vw, 1.5rem);
    --wp--preset--spacing--40: clamp(1.5rem, 3vw, 3rem);
    --wp--preset--spacing--50: clamp(2.5rem, 5vw, 5.5rem);
    --wp--preset--spacing--60: clamp(4rem, 8vw, 8.5rem);
    --wp--preset--spacing--70: clamp(6rem, 12vw, 12rem);

    --wp--preset--font-family--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;
    --wp--preset--font-family--display: var(--wp--preset--font-family--sans);
    --wp--preset--font-family--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

    --wp--preset--font-size--small: 0.78rem;
    --wp--preset--font-size--base: 1rem;
    --wp--preset--font-size--medium: clamp(1.08rem, 0.9rem + 0.6vw, 1.3rem);
    --wp--preset--font-size--large: clamp(1.28rem, 1rem + 1vw, 1.65rem);
    --wp--preset--font-size--x-large: clamp(2rem, 1.2rem + 2.6vw, 3.25rem);
    --wp--preset--font-size--xx-large: clamp(3rem, 1.5rem + 5vw, 5.8rem);
    --wp--preset--font-size--display: clamp(4.2rem, 2rem + 8vw, 8.3rem);

    --tpl-accent: var(--wp--preset--color--acid);
    --tpl-text: var(--wp--preset--color--ink);
    --tpl-muted: var(--wp--preset--color--muted);
    --tpl-line: var(--svoy-border);
    --tpl-surface: var(--svoy-post-surface);
    --tpl-radius: var(--svoy-radius, 22px);
}

body {
    font-family: var(--wp--preset--font-family--sans);
    font-size: var(--wp--preset--font-size--base);
    font-weight: 400;
    line-height: 1.6;
    color: var(--wp--preset--color--ink);
    background: var(--wp--preset--color--canvas);
    margin: 0;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 650;
    letter-spacing: -0.05em;
    line-height: 1.02;
    margin: 0;
}
a { color: currentColor; }
a:hover { color: var(--wp--preset--color--acid); }

.has-canvas-color { color: var(--wp--preset--color--canvas); }
.has-paper-color { color: var(--wp--preset--color--paper); }
.has-ink-color { color: var(--wp--preset--color--ink); }
.has-muted-color { color: var(--wp--preset--color--muted); }
.has-electric-color { color: var(--wp--preset--color--electric); }
.has-acid-color { color: var(--wp--preset--color--acid); }
.has-signal-color { color: var(--wp--preset--color--signal); }
.has-lavender-color { color: var(--wp--preset--color--lavender); }
.has-line-background-color { background-color: var(--wp--preset--color--line); }
.has-ink-background-color { background-color: var(--wp--preset--color--ink); }
.has-mono-font-family { font-family: var(--wp--preset--font-family--mono); }
.has-sans-font-family { font-family: var(--wp--preset--font-family--sans); }
.has-small-font-size { font-size: var(--wp--preset--font-size--small); }
.has-base-font-size { font-size: var(--wp--preset--font-size--base); }
.has-medium-font-size { font-size: var(--wp--preset--font-size--medium); }
.has-large-font-size { font-size: var(--wp--preset--font-size--large); }
.has-x-large-font-size { font-size: var(--wp--preset--font-size--x-large); }
.has-xx-large-font-size { font-size: var(--wp--preset--font-size--xx-large); }
.has-display-font-size { font-size: var(--wp--preset--font-size--display); }

.wp-block-site-title { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); font-weight: 750; letter-spacing: -0.045em; margin: 0; }
.wp-block-navigation { font-size: var(--wp--preset--font-size--small); font-weight: 600; letter-spacing: 0.01em; }
.wp-block-post-date, .wp-block-post-terms { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.wp-block-post-title { margin: 0; }
.wp-block-separator { border-color: var(--wp--preset--color--line); }
.wp-block-post-content h2, .wp-block-post-content h3 { margin-top: 1.6em; }
.wp-block-post-content pre { overflow-x: auto; padding: var(--wp--preset--spacing--30); border: 1px solid var(--wp--preset--color--line); border-radius: 16px; background: var(--wp--preset--color--paper); color: var(--wp--preset--color--acid); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); }
.wp-block-post-content blockquote { border-left: 3px solid var(--wp--preset--color--electric); margin-inline: 0; padding-left: var(--wp--preset--spacing--30); }
.wp-block-post-content table { width: 100%; border-collapse: collapse; }
.wp-block-post-content th, .wp-block-post-content td { padding: .5rem .75rem; border: 1px solid var(--wp--preset--color--line); }

.wp-block-button__link { font-family: var(--wp--preset--font-family--sans); font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: 0.01em; padding: 0.9rem 1.35rem; border: 1px solid transparent; border-radius: 999px; background: var(--wp--preset--color--electric); color: var(--wp--preset--color--ink); }

.svoy-header__inner { flex-wrap: nowrap; }
.svoy-header .wp-block-navigation { gap: var(--wp--preset--spacing--30); }
@media (max-width: 781px) {
    .svoy-header__inner { flex-wrap: wrap; border-radius: 28px; row-gap: .5rem; }
    .svoy-header .wp-block-navigation__container { gap: .85rem; }
    .svoy-header__cta { display: none; }
}
.svoy-footer .wp-block-columns { margin-bottom: 0; }
.svoy-post-card .wp-block-post-title { margin-top: .5rem; }
.svoy-post-card .wp-block-post-excerpt { margin-top: .5rem; }
.svoy-post-card > * + * { margin-block-start: .75rem; }
.svoy-post-card .wp-block-post-featured-image { aspect-ratio: 4 / 3; }

.svoy-detail__title { margin: 0; }
.svoy-detail__lead { color: var(--wp--preset--color--muted); }
.svoy-detail-cover { border: 1px solid var(--wp--preset--color--line); border-radius: 24px; aspect-ratio: 16 / 9; }
.svoy-detail-foot { border-top: 1px solid var(--wp--preset--color--line); padding-top: var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); }
.tpl-breadcrumb { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); margin: 0; }
.tpl-pager { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); margin-top: var(--wp--preset--spacing--50); }
.tpl-pager a, .tpl-pager span { border-radius: 999px; }
.tpl-postnav { margin-top: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--medium); }
.tpl-postnav__item { border-color: var(--svoy-border); }
.tpl-postnav__item:hover { border-color: var(--svoy-border-strong); background: var(--svoy-post-surface-hover); }
.tpl-related__title { font-size: var(--wp--preset--font-size--x-large); }
.tpl-totop { background: var(--wp--preset--color--electric); color: var(--wp--preset--color--ink); }
.svoy-empty { text-align: center; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--large); }
