html { margin: 0; padding: 0; }
body.dmd-page {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    color: var(--dmd-text, #222);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
    font-size: var(--dmd-font-size, 16px);
    line-height: 1.9;
}
body.dmd-page * { box-sizing: border-box; }
.dmd-shell {
    width: 100%;
    min-height: 100vh;
    padding: clamp(28px, 6vw, 76px) 18px;
}
.dmd-paper {
    width: min(100%, var(--dmd-content-width, 760px));
    margin: 0 auto;
    background: #fff;
    color: var(--dmd-text, #222);
    border-radius: 0;
    padding: clamp(26px, 5vw, 56px);
    box-shadow: 0 10px 34px rgba(0,0,0,.10);
    overflow-wrap: anywhere;
}
.dmd-archive-title {
    margin: 0 0 2.2rem;
    padding: 0;
    color: var(--dmd-text, #222);
    font-size: clamp(1.4rem, 3vw, 2rem);
    line-height: 1.35;
    font-weight: 650;
    letter-spacing: .08em;
}
.dmd-list { display: grid; gap: 0; }
.dmd-list-row {
    display: grid;
    grid-template-columns: 8.2em minmax(0,1fr);
    gap: 1.2em;
    align-items: baseline;
    padding: 1.05rem 0;
    border-bottom: 1px solid #ececec;
}
.dmd-list-row:first-child { border-top: 1px solid #ececec; }
.dmd-list-row time,
.dmd-entry-header time {
    color: var(--dmd-date, #8a8a8a);
    font-size: .88em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.dmd-list-row a,
.dmd-entry-footer a,
.dmd-shortcode-list a {
    color: var(--dmd-link, #333);
    text-decoration: var(--dmd-link-decoration, none);
    text-underline-offset: .18em;
}
.dmd-list-row a:hover,
.dmd-list-row a:focus-visible,
.dmd-entry-footer a:hover,
.dmd-entry-footer a:focus-visible,
.dmd-shortcode-list a:hover,
.dmd-shortcode-list a:focus-visible {
    color: var(--dmd-link-hover, #777);
}
.dmd-list-row a { font-weight: 600; }
.dmd-empty { margin: 0; color: var(--dmd-date, #8a8a8a); }
.dmd-pagination { margin-top: 2.4rem; }
.dmd-pagination ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    padding: 0;
    margin: 0;
}
.dmd-pagination li { margin: 0; padding: 0; }
.dmd-pagination a,
.dmd-pagination span {
    display: inline-block;
    min-width: 2.4rem;
    padding: .35rem .7rem;
    border: 1px solid #e5e5e5;
    background: #fff;
    color: var(--dmd-link, #333);
    text-align: center;
    text-decoration: none;
}
.dmd-pagination .current { background: #f4f4f4; font-weight: 700; }
.dmd-entry-header { margin-bottom: 2.2rem; }
.dmd-entry-header h1 {
    margin: .55rem 0 0;
    padding: 0;
    color: var(--dmd-text, #222);
    font-size: clamp(1.45rem, 4vw, 2.15rem);
    line-height: 1.45;
    font-weight: 650;
}
.dmd-entry-content { color: var(--dmd-text, #222); }
.dmd-entry-content > :first-child { margin-top: 0; }
.dmd-entry-content > :last-child { margin-bottom: 0; }
.dmd-entry-content p { margin: 0 0 1.25em; }
.dmd-entry-content h2,
.dmd-entry-content h3,
.dmd-entry-content h4 { margin: 1.8em 0 .75em; line-height: 1.5; }
.dmd-entry-content img {
    max-width: 100%;
    height: auto;
}
.dmd-entry-content figure { max-width: 100%; margin-left: 0; margin-right: 0; }
.dmd-entry-content blockquote {
    margin: 1.6em 0;
    padding: .2em 0 .2em 1.2em;
    border-left: 3px solid #ddd;
    color: #555;
}
.dmd-entry-footer {
    margin-top: 3.2rem;
    padding-top: 1.3rem;
    border-top: 1px solid #ececec;
    font-size: .95em;
}
.dmd-shortcode-list .dmd-list-row { font-size: inherit; }
body.dmd-page #wpadminbar { position: fixed; }
@media (max-width: 640px) {
    .dmd-shell { padding: 22px 12px 34px; }
    .dmd-paper { padding: 24px 20px 30px; box-shadow: 0 6px 22px rgba(0,0,0,.08); }
    .dmd-list-row { grid-template-columns: 1fr; gap: .18rem; padding: .9rem 0; }
    .dmd-list-row time { font-size: .78em; }
}
@media (prefers-reduced-motion: reduce) {
    body.dmd-page { background-attachment: scroll !important; }
}
