.blog-container {
    max-width:1000px;
    margin:0 auto;
    padding:1.5rem 2rem 4rem;
    position:relative;
    z-index:20;
}
.blog-header {
    text-align:center;
    margin-bottom:3rem;
    padding:2rem 0 1rem;
    border-bottom:2px dashed #ffc0cb80;
}
.blog-title {
    font-size:3.2rem;
    font-weight:600;
    font-family:'Noto Serif SC',serif;
    background:linear-gradient(135deg,#e6728f,#b34262);
    background-clip:text;
    -webkit-background-clip:text;
    color:transparent;
    letter-spacing:-0.5px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
}
.blog-title i {
    background:none;
    font-size:2.5rem;
    background-clip:unset;
    -webkit-background-clip:unset;
    color:#ea8eaa;
}
.subhead {
    margin-top:0.75rem;
    font-size:1rem;
    color:#b45f6e;
    letter-spacing:1px;
    font-weight:400;
    background:#fff0f3aa;
    display:inline-block;
    padding:0.3rem 1.2rem;
    border-radius:40px;
    backdrop-filter:blur(2px);
}
.post-card {
    background:rgba(255,250,252,0.85);
    backdrop-filter:blur(2px);
    border-radius:2rem;
    padding:1.8rem 2rem;
    margin-bottom:2.5rem;
    box-shadow:0 12px 28px -8px rgba(233,130,156,0.2);
    transition:all var(--d-2) var(--e-out);
    border:1px solid #ffe2ec;
}
.post-card:hover {
    translate:0 -3px;
    box-shadow:0 20px 32px -12px #ffb7c980;
    background:#fffffcee;
}
.post-title {
    font-size:1.9rem;
    font-weight:600;
    font-family:'Noto Serif SC',serif;
    margin-bottom:1rem;
    color:#442b32;
    letter-spacing:-0.3px;
    border-left:6px solid #f6a5c0;
    padding-left:1rem;
}
.post-meta {
    display:flex;
    gap:1.5rem;
    align-items:center;
    font-size:0.85rem;
    color:#b27b88;
    margin-bottom:1.5rem;
    flex-wrap:wrap;
}
.post-meta i {
    margin-right:5px;
    color:#e189a4;
}
.post-content {
    font-size:1rem;
    color:#3e2c30;
    line-height:1.65;
    margin-bottom:1.5rem;
}
.placeholder-marker {
    background:#fff0f0;
    border-left:4px solid #ff98b9;
    padding:1rem 1.2rem;
    border-radius:20px;
    font-family:'SF Mono','Fira Code',monospace;
    color:#c25070;
    font-size:0.9rem;
    white-space:pre-wrap;
    word-break:break-word;
    margin:0.8rem 0;
}
.placeholder-marker i {
    margin-right:6px;
    color:#eb80a2;
}
.cherry-placeholder {
    background:#fbebef;
    border-radius:16px;
    padding:0.8rem 1rem;
    color:#be6b84;
    font-style:normal;
    font-weight:400;
    font-family:monospace;
    border:1px dashed #ffb3c6;
}
.blog-footer {
    text-align:center;
    margin-top:3.5rem;
    padding-top:1.5rem;
    border-top:1px solid #ffd5e2;
    font-size:0.85rem;
    color:#9a5f72;
}
.sakura-icon {
    color:#f290ae;
    margin:0 4px;
}
@media (max-width:650px) {
    .blog-container {
        padding:1rem 1.2rem 2.5rem;
    }
    .blog-title {
        font-size:2.2rem;
    }
    .post-title {
        font-size:1.5rem;
    }
    .post-card {
        padding:1.2rem;
    }
}
.info-note {
    background:#fff1f3;
    border-radius:30px;
    padding:0.5rem 1.2rem;
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:0.8rem;
    color:#b15672;
    margin-bottom:1rem;
}
.blog-container img {
    max-width:100%;
    height:auto;
    display:block;
}
@media (max-width:650px) {
}
.sakura-image-placeholder img,img[class*="blog-img"],img[class*="gallery-img"] {
    max-width:100%;
    height:auto;
}
.img-caption {
    font-size:0.85rem;
    color:#d1718d;
    background:#fff3f5;
    display:inline-block;
    padding:0.3rem 1rem;
    border-radius:60px;
    max-width:100%;
}
@media (max-width:680px) {
}
.social-links {
    display:flex;
    justify-content:center;
    gap:1.8rem;
    margin:2rem 0 1rem;
    flex-wrap:wrap;
}
@media (max-width:768px) {
    body {
        -webkit-text-size-adjust:100%;
    }
    .about-container,.container,main,.page-container {
        padding:0.8rem 0.9rem 2rem !important;
        margin:0.5rem 0.4rem !important;
    }
    .blog-title {
        font-size:1.55rem !important;
    }
    .subhead {
        font-size:0.85rem !important;
    }
    .intro-name {
        font-size:1.35rem !important;
    }
    .sakura-avatar-frame {
        width:100px !important;
        height:100px !important;
    }
    .info-grid,.grid,.card-grid {
        grid-template-columns:1fr !important;
        gap:0.6rem;
    }
    .profile-card,.card,.post-card {
        padding:1rem !important;
    }
    img,video,iframe,canvas {
        max-width:100% !important;
        height:auto;
    }
    .sakura-flurry,#sakura-flurry {
        opacity:0.3;
    }
    table {
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }
}
.st-38a8d06e {
    background:#ffdae3;
    padding:2px 8px;
    border-radius:40px;
}
.st-3bd72200 {
    font-family:monospace;
}
.st-56f4f7e7 {
    margin:1.5rem 0;
}
.st-65c1c01e {
    margin-top:12px;
}
.st-a39dbb5e {
    margin-top:0.8rem;
}
.st-27791aae {
    margin:2rem 0 1rem;
}
.st-2acd7e17 {
    background:#fff5f7;
    border-radius:2rem;
    padding:1.8rem 2rem;
    text-align:center;
}
.st-84950f7e {
    font-size:2rem;
    color:#e0809d;
}
.st-f7b44442 {
    font-weight:500;
    margin:0.5rem 0;
    font-family:'Noto Serif SC',serif;
    color:#7f4c5c;
}
.st-a1cc4b21 {
    background:#fff0f2;
    text-align:left;
    max-width:80%;
    margin:1rem auto;
}
.st-753cd1b9 {
    margin-top:0.3rem;
}
.poem-card {
    margin-bottom:18px;
    padding:14px 18px;
    background:rgba(255,238,242,0.6);
    border:1px dashed #ffcdda;
    border-radius:12px;
}
.poem-card blockquote {
    margin:8px 0 0;
    padding:0;
    border:none;
}
.poem-card blockquote p {
    font-size:1rem;
    color:#805c6b;
    line-height:1.8;
    margin:0;
}
.poem-card blockquote footer {
    margin-top:4px;
    font-size:0.78rem;
    color:#b5768c;
}
.journal-weather {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
    padding:14px 18px;
    background:linear-gradient(135deg,rgba(255,238,242,0.8),rgba(255,245,248,0.8));
    border:1px solid #ffcdda;
    border-radius:14px;
}
.jw-icon {
    font-size:2.4rem;
    flex-shrink:0;
}
.jw-info {
    flex:1;
}
.jw-city {
    font-size:0.78rem;
    color:#b5768c;
}
.jw-temp {
    font-size:1.6rem;
    font-weight:700;
    color:#e57397;
    line-height:1.3;
}
.jw-desc {
    font-size:0.8rem;
    color:#805c6b;
}
.jw-advice {
    flex-shrink:0;
    font-size:0.82rem;
    color:#a34f6b;
    max-width:90px;
    text-align:center;
}
.mood-card {
    margin-bottom:18px;
    padding:14px 18px;
    background:rgba(255,238,242,0.55);
    border:1px dashed #ffcdda;
    border-radius:14px;
}
.mood-btns {
    display:flex;
    gap:8px;
    margin-top:10px;
    flex-wrap:wrap;
}
.mood-btn {
    width:44px;
    height:44px;
    font-size:1.4rem;
    background:#fff;
    border:2px solid #ffdbe3;
    border-radius:50%;
    cursor:pointer;
    transition:var(--d-2);
    line-height:1;
}
.mood-btn:hover {
    scale:1.15;
    border-color:#f3a0bb;
}
.mood-btn.active {
    border-color:#e57397;
    background:#fff5f8;
    transform:scale(1.1);
    box-shadow:0 0 10px rgba(229,115,151,0.4);
}
.mood-log {
    margin-top:10px;
    font-size:0.85rem;
    color:#805c6b;
}
.lunar-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
    padding:14px 18px;
    background:linear-gradient(135deg,rgba(255,238,242,0.85),rgba(255,245,248,0.85));
    border:1px solid #ffcdda;
    border-radius:14px;
}
.lunar-date {
    font-size:1.05rem;
    font-weight:700;
    color:#a34f6b;
}
.lunar-info {
    margin-top:4px;
    font-size:0.78rem;
    color:#b5768c;
}
.lunar-right {
    text-align:right;
    font-size:0.78rem;
    line-height:1.7;
}
.yj-yi {
    color:#4a9e6d;
}
.yj-ji {
    color:#c25f7e;
}
.countdown-card {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    padding:14px 18px;
    background:rgba(255,238,242,0.55);
    border:1px dashed #ffcdda;
    border-radius:14px;
}
.countdown-card .fa-hourglass-half {
    font-size:1.6rem;
    color:#e57397;
}
.cd-title {
    font-size:0.8rem;
    color:#b5768c;
}
.cd-num {
    font-size:1.1rem;
    font-weight:700;
    color:#e57397;
    font-variant-numeric:tabular-nums;
}
.word-card {
    margin-bottom:18px;
    padding:14px 18px;
    background:rgba(255,238,242,0.55);
    border:1px dashed #ffcdda;
    border-radius:14px;
}
.word-main {
    display:flex;
    align-items:baseline;
    gap:10px;
    margin-top:8px;
}
.word-en {
    font-size:1.5rem;
    font-weight:700;
    color:#a34f6b;
}
.word-phonetic {
    font-size:0.85rem;
    color:#b5768c;
}
.word-def {
    margin-top:6px;
    font-size:0.88rem;
    color:#805c6b;
    line-height:1.6;
}
.word-example {
    margin-top:4px;
    font-size:0.8rem;
    color:#4a9e6d;
    line-height:1.6;
}
.word-card .btn-sm {
    margin-top:10px;
}
.week-strip {
    display:flex;
    gap:6px;
    margin-top:12px;
}
.week-cell {
    flex:1;
    text-align:center;
    padding:6px 0;
    background:#fff;
    border:1px solid #ffdbe3;
    border-radius:8px;
}
.week-cell.has-mood {
    border-color:#f3a0bb;
    background:#fff5f8;
}
.week-cell.today {
    box-shadow:0 0 0 2px #e57397;
}
.week-day {
    font-size:0.68rem;
    color:#b5768c;
}
.week-mood {
    font-size:0.9rem;
    margin-top:2px;
}
.week-weather {
    margin-bottom:14px;
    padding:12px 16px;
    background:rgba(255,238,242,0.6);
    border:1px solid #ffcdda;
    border-radius:14px;
}
.ww-title {
    font-size:0.85rem;
    font-weight:600;
    color:#a34f6b;
    margin-bottom:8px;
}
.ww-title span {
    font-size:0.72rem;
    font-weight:400;
    color:#b5768c;
    margin-left:6px;
}
.ww-strip {
    display:flex;
    gap:6px;
    overflow-x:auto;
}
.ww-cell {
    flex:1;
    min-width:52px;
    text-align:center;
    padding:8px 4px;
    background:#fff;
    border:1px solid #ffdbe3;
    border-radius:10px;
}
.ww-day {
    font-size:0.68rem;
    color:#b5768c;
}
.ww-icon {
    font-size:1.2rem;
    margin:3px 0;
}
.ww-temp {
    font-size:0.72rem;
    color:#805c6b;
}
.pomodoro-card {
    margin-bottom:18px;
    padding:14px 18px;
    background:rgba(255,238,242,0.55);
    border:1px dashed #ffcdda;
    border-radius:14px;
    text-align:center;
}
.pomo-time {
    font-size:2.6rem;
    font-weight:700;
    color:#e57397;
    font-variant-numeric:tabular-nums;
    letter-spacing:2px;
    margin:8px 0;
}
.pomo-btns {
    display:flex;
    gap:10px;
    justify-content:center;
}
.pomo-status {
    margin-top:8px;
    font-size:0.78rem;
    color:#b5768c;
}
@media (max-width:640px) {
    .journal-weather {
        flex-wrap:wrap;
        gap:8px;
    }
    .jw-advice {
        max-width:none;
        text-align:left;
        font-size:0.78rem;
    }
    .lunar-card {
        flex-direction:column;
        align-items:flex-start;
    }
    .lunar-right {
        text-align:left;
    }
    .word-main {
        flex-wrap:wrap;
        gap:4px;
    }
    .pomo-time {
        font-size:2.2rem;
    }
    .ww-cell {
        min-width:46px;
    }
}
.post-card {
    content-visibility:auto;
    contain-intrinsic-size:auto 320px;
}
