

:root {
    color-scheme: light dark;
}

body {
    margin: 0 0 520px 0;
    background-color: #d8bfd8;
    color: #000000;
    font-size: 16px;

    /* ★フォント適用（custom/preset/google 全対応） */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
}

body {
    background-color: light-dark(#d8bfd8, #d8bfd8);
    color: light-dark(#000000, #000000);
}

form input,
form textarea,
form select,
form button {
    color-scheme: light;

    /* ★フォーム類も同じフォントに */
    font-family: inherit;
}

a {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}
a:visited {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}
a:active {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.quote-text {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.comment-text {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.note-text {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.name {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.cap {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.deleted-message {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

.error-message {
    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

hr {
    border: none;
    border-top: 1px solid #808080;
    border-top-color: light-dark(
        #808080,
        #808080    );
}

.embed-post {
    background-color: #d8bfd8;
    color: #000000;
    background-color: light-dark(
        #d8bfd8,
        #d8bfd8    );
    color: light-dark(
        #000000,
        #000000    );
}

mark {
    background-color: transparent;
    color: inherit;
    margin: 0 5px;
}

/* パンくずリスト */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    list-style: none;
    padding-left: 0;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
}

.breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding: 0 0.5rem;
    content: ">";
    vertical-align: middle;

    color: #000000;
    color: light-dark(
        #000000,
        #000000    );
}

/* 最後のパンくずリスト項目のリンクを無効にする */
.breadcrumb-item:last-child a {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
}

/* 外部サイト埋め込み */
.embed-contents {
    position: relative;
    width: min(100%, 600px);
    max-width: 600px;
    box-sizing: border-box;
}

.nieru-external-embed {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .65rem;
    margin: .5rem 0;
    padding: .75rem;
    border: 1px solid rgba(127, 127, 127, .35);
    border-radius: 8px;
    background: rgba(127, 127, 127, .06);
    overflow: hidden;
}

.nieru-external-embed--sensitive {
    border-color: rgba(180, 45, 45, .55);
    background: rgba(180, 45, 45, .07);
}

.nieru-external-embed--sensitive .nieru-external-embed-load {
    color: #a51f2d;
    background: rgba(255, 255, 255, .72);
}

.nieru-external-embed--amazon {
    grid-template-columns: 6rem minmax(0, 1fr);
    align-items: center;
    border-color: rgba(255, 153, 0, .55);
    background: rgba(255, 153, 0, .08);
}

.nieru-amazon-product-media {
    display: grid;
    width: 6rem;
    height: 6rem;
    place-items: center;
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
}

.nieru-amazon-product-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nieru-amazon-product-mark {
    position: relative;
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    justify-self: center;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: #232f3e;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.nieru-amazon-product-mark::after {
    position: absolute;
    right: .55rem;
    bottom: .55rem;
    left: .55rem;
    height: 3px;
    border-radius: 2px;
    background: #ff9900;
    content: "";
}

.nieru-amazon-product-id,
.nieru-amazon-associate-label,
.nieru-amazon-price-notice,
.nieru-amazon-content-notice {
    display: block;
    color: inherit;
    font-size: .8rem;
    line-height: 1.4;
    opacity: .72;
    overflow-wrap: anywhere;
}

.nieru-amazon-product-title {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: .3rem;
    color: inherit;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.nieru-amazon-product-price {
    display: block;
    margin-bottom: .2rem;
    color: #b12704;
    font-size: 1rem;
    line-height: 1.35;
}

.nieru-amazon-product-button {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    justify-content: center;
    padding: .4rem .8rem;
    border: 1px solid #d47f00;
    border-radius: 6px;
    color: #111;
    background: #ffb33b;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
}

.nieru-amazon-product-button:hover,
.nieru-amazon-product-button:focus-visible {
    background: #ff9900;
}

.nieru-amazon-associate-label {
    margin-top: .45rem;
}

.nieru-amazon-price-notice,
.nieru-amazon-content-notice {
    margin-top: .25rem;
    font-size: .7rem;
}

@media (max-width: 420px) {
    .nieru-external-embed--amazon {
        grid-template-columns: 4.75rem minmax(0, 1fr);
        padding: .65rem;
    }

    .nieru-amazon-product-media {
        width: 4.75rem;
        height: 4.75rem;
    }
}

.nieru-external-embed-thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
    background: rgba(127, 127, 127, .14);
}

.nieru-external-embed--vertical .nieru-external-embed-thumbnail {
    width: min(100%, 320px);
    aspect-ratio: 9 / 16;
}

.nieru-external-embed-body {
    min-width: 0;
}

.nieru-external-embed-label {
    display: block;
    margin: 0 0 .35rem;
    font-size: .95rem;
    line-height: 1.35;
}

.nieru-external-embed-summary,
.nieru-external-embed-error {
    margin: .35rem 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.nieru-external-embed-error {
    font-size: .88rem;
}

.nieru-external-embed-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin-top: .5rem;
}

.nieru-external-embed-load {
    min-height: 2.5rem;
    padding: .45rem .8rem;
    border: 1px solid currentColor;
    border-radius: 6px;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.nieru-external-embed-load:hover,
.nieru-external-embed-load:focus-visible {
    background: rgba(127, 127, 127, .12);
}

.nieru-external-embed-load:disabled {
    cursor: wait;
    opacity: .65;
}

.nieru-external-embed.is-loaded {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
}

.nieru-external-embed-frame {
    display: block;
    width: 100%;
    max-width: 600px;
    border: 0;
    background: rgba(127, 127, 127, .08);
}

.nieru-external-embed-frame--video {
    aspect-ratio: 16 / 9;
    height: auto;
}

.nieru-external-embed-frame--vertical {
    width: min(100%, 360px);
    aspect-ratio: 9 / 16;
    height: auto;
    min-height: 480px;
}

.nieru-external-embed-frame--social {
    height: 560px;
}

.nieru-external-embed-frame--audio-compact {
    height: 152px;
}

.nieru-external-embed-frame--audio {
    height: 352px;
}

.nieru-external-embed-media {
    display: block;
    max-width: 100%;
}

.nieru-external-embed-media--image,
.nieru-external-embed-media--video {
    width: auto;
    max-height: min(70vh, 720px);
}

.nieru-external-embed-media--audio {
    width: 100%;
}

.nieru-external-embed-social-host {
    width: min(100%, 600px);
    max-width: 600px;
    margin: .5rem 0;
    overflow-wrap: anywhere;
}

.nieru-twitter-plaintext {
    white-space: pre-wrap;
}

.img-thumbnail,
.embed-youtube-img,
.embed-image,
.video-thumbnail {
    max-width: 128px;
    height: auto;
}

@media (max-width: 640px) {
    .nieru-external-embed {
        padding: .65rem;
    }

    .nieru-external-embed-frame--vertical {
        min-height: 440px;
    }

    .nieru-external-embed-frame--social {
        height: 520px;
    }
}

img.emoji {
    height: 1em;
    width: 1em;
    margin: 0 .05em 0 .1em;
    vertical-align: -0.1em;
}

img {
    max-height: 512px;
}

body {
  font-size: 16px; 
  line-height: 1.7; 
}

