/* Shared by front end and Gutenberg. Design tokens live in theme.json. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 1rem; }
body { margin: 0; overflow-wrap: anywhere; }
a { text-underline-offset: .2em; text-decoration-thickness: .06em; }
a:hover { text-decoration-thickness: .12em; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible {
    outline: 3px solid var(--wp--preset--color--accent); outline-offset: 4px;
}
img { max-width: 100%; height: auto; }
.dearme-header { padding-block: 1.5rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.dearme-header .wp-block-site-title a, .dearme-footer .wp-block-site-title a { color: inherit; text-decoration: none; }
.dearme-nav ul { display: flex; flex-wrap: wrap; gap: .25rem 1.6rem; padding: 0; margin: 0; list-style: none; }
.dearme-nav a { display: inline-block; padding-block: .55rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink); text-decoration: none; }
.dearme-nav a:hover, .dearme-nav a[aria-current] { text-decoration: underline; }
.dearme-main { padding-block: var(--wp--preset--spacing--60); }
.dearme-intro { padding-block: 1rem 3rem; }
.dearme-intro .wp-block-site-title { letter-spacing: -.04em; line-height: 1.15; }
.dearme-intro .wp-block-site-tagline { color: var(--wp--preset--color--muted); margin-top: 1rem; }
.dearme-section { padding-top: var(--wp--preset--spacing--60); margin-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--line); }
.dearme-section > h2 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.dearme-section > h2 a { color: inherit; text-decoration: none; }
.dearme-section > h2 a:hover { text-decoration: underline; }
.dearme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; }
.dearme-card { min-width: 0; }
.dearme-card .wp-block-post-featured-image, .dearme-card > a { display: block; margin: 0 0 1rem; }
.dearme-card-image, .dearme-card .wp-block-post-featured-image img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.dearme-card h2, .dearme-card h3, .dearme-card .wp-block-post-title { font-size: var(--wp--preset--font-size--large); line-height: 1.45; margin-block: .65rem; }
.dearme-card h2 a, .dearme-card h3 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.dearme-card h2 a:hover, .dearme-card h3 a:hover { text-decoration: underline; }
.dearme-kicker { font-size: var(--wp--preset--font-size--small); margin-block: .75rem; }
.dearme-kicker a { color: var(--wp--preset--color--accent); text-decoration: none; }
.dearme-excerpt, .dearme-card .wp-block-post-excerpt { font-size: .95rem; line-height: 1.75; color: var(--wp--preset--color--muted); margin-block: .75rem; }
.dearme-card time, .dearme-note { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.wp-block-post-template { gap: 2.5rem 2rem; }
.wp-block-post-content { margin-top: var(--wp--preset--spacing--60); }
:where(.wp-block-post-content, .editor-styles-wrapper) h2 { margin-top: 2.8rem; }
:where(.wp-block-post-content, .editor-styles-wrapper) h3 { margin-top: 2rem; }
:where(.wp-block-post-content, .editor-styles-wrapper) :is(p, li) { word-break: keep-all; overflow-wrap: anywhere; }
:where(.wp-block-post-content, .editor-styles-wrapper) li + li { margin-top: .35rem; }
.wp-block-quote { margin-inline: 0; border-inline-start: 3px solid var(--wp--preset--color--accent); padding: .5rem 1.5rem; background: var(--wp--preset--color--soft); }
.wp-block-quote cite { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td { padding: .75rem; border: 1px solid var(--wp--preset--color--line); text-align: start; }
.wp-block-table th { background: var(--wp--preset--color--soft); }
.wp-block-table caption, figcaption { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.wp-block-details { padding: 1.2rem; border-block: 1px solid var(--wp--preset--color--line); }
.wp-block-details summary { cursor: pointer; font-weight: 700; }
.wp-block-details[open] summary { margin-bottom: 1rem; }
.wp-block-button__link, .wp-block-search__button { min-height: 44px; }
.wp-block-search__input { min-width: 0; font: inherit; }
.wp-block-search__button { font: inherit; cursor: pointer; }
.wp-block-code, .wp-block-preformatted { overflow-x: auto; padding: 1rem; background: var(--wp--preset--color--soft); font-size: .9rem; }
.wp-block-query-pagination { margin-block: 3rem 1rem; gap: .5rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-block; padding: .5rem .75rem; }
.dearme-about, .dearme-cta { margin-top: 3rem; padding: 1.5rem; background: var(--wp--preset--color--soft); border-top: 2px solid var(--wp--preset--color--accent); }
.dearme-footer { margin-top: 2rem; padding-block: 3rem; border-top: 1px solid var(--wp--preset--color--line); }
.dearme-footer .wp-block-site-tagline { font-size: var(--wp--preset--font-size--small); }
.dearme-editor-help { padding: .75rem; font-size: .85rem; border: 1px dashed var(--wp--preset--color--line); }
@media (max-width: 900px) {
    .dearme-grid, .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .dearme-grid, .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr); }
    .dearme-nav ul { gap: .1rem 1rem; }
    .dearme-main { padding-block: 2rem; }
    .dearme-intro { padding-block: 1rem 2rem; }
    .dearme-section { margin-top: 2.5rem; padding-top: 2rem; }
    .dearme-about, .dearme-cta { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Opt-in only. The ordinary table remains fluid. */
.wp-block-table.is-style-wide-scroll { overflow-x: auto; overscroll-behavior-x: contain; }
.wp-block-table.is-style-wide-scroll table { min-width: 44rem; }
.wp-block-table.is-style-wide-scroll::before { content: "↔ 좌우로 스크롤하여 표를 확인하세요"; display: block; font-size: .875rem; color: var(--wp--preset--color--muted); margin-bottom: .5rem; }
.wp-block-table.is-style-wide-scroll:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; }
:where(.wp-block-post-content, .editor-styles-wrapper) :is(p, ul, ol, .wp-block-table, .wp-block-quote) { margin-block-start: 1.5rem; margin-block-end: 1.5rem; }
