.about-container {
    max-width:880px;
    margin:0 auto;
    padding:2rem 2rem 4rem;
    position:relative;
    z-index:20;
}
.about-header {
    text-align:center;
    margin-bottom:2rem;
}
.profile-card {
    background:rgba(255,250,252,0.88);
    backdrop-filter:blur(3px);
    border-radius:2.5rem;
    padding:2rem 2rem 2.5rem;
    margin:1.2rem 0 2rem;
    box-shadow:0 18px 32px -12px rgba(216,112,140,0.2);
    border:1px solid #ffe2ec;
    transition:all var(--d-2);
}
.avatar-section {
    display:flex;
    justify-content:center;
    margin-bottom:1.8rem;
}
.sakura-avatar-frame {
    width:150px;
    height:150px;
    border-radius:50%;
    background:linear-gradient(135deg,#ffd9e4,#ffb7cb);
    padding:5px;
    box-shadow:0 15px 25px rgba(231,103,136,0.25);
    transition:var(--d-2) var(--e-out);
}
.sakura-avatar-frame:hover {
    scale:1.02;
    rotate:2deg;
}
.avatar-img {
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
    border:3px solid white;
    background:#ffeef2;
}
.intro-name {
    text-align:center;
    font-size:2.2rem;
    font-weight:600;
    font-family:'Noto Serif SC',serif;
    color:#4f2f39;
    margin-bottom:0.5rem;
}
.intro-tagline {
    text-align:center;
    color:#da889f;
    font-weight:400;
    letter-spacing:1px;
    font-size:1rem;
    margin-bottom:1.6rem;
    border-bottom:1px dashed #ffcdda;
    display:inline-block;
    width:auto;
    padding-bottom:0.4rem;
}
.bio-text {
    font-size:1rem;
    line-height:1.7;
    color:#3a2c2f;
    margin:1.5rem 0;
}
.placeholder-marker {
    background:#fff0f0;
    border-left:4px solid #ff98b9;
    padding:0.9rem 1.2rem;
    border-radius:20px;
    font-family:'SF Mono','Fira Code',monospace;
    color:#c25070;
    font-size:0.9rem;
    margin:1rem 0;
    white-space:pre-wrap;
}
.cherry-placeholder {
    background:#fbebef;
    border-radius:18px;
    padding:0.8rem 1rem;
    color:#be6b84;
    font-family:monospace;
    border:1px dashed #ffb3c6;
    margin:0.8rem 0;
}
.info-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:1.2rem;
    margin:2rem 0;
}
.info-item {
    background:#fff6f9;
    border-radius:1.8rem;
    padding:1rem;
    text-align:center;
    border:1px solid #ffe1ea;
    transition:all var(--d-2);
}
.info-item i {
    font-size:1.6rem;
    color:#e982a2;
    margin-bottom:0.5rem;
    display:inline-block;
}
.info-label {
    font-weight:600;
    color:#ac5d76;
    font-size:0.85rem;
    letter-spacing:1px;
}
.info-desc {
    font-size:0.9rem;
    margin-top:0.3rem;
    color:#4c353c;
}
.social-links {
    display:flex;
    justify-content:center;
    gap:1.8rem;
    margin:2rem 0 1rem;
    flex-wrap:wrap;
}
.back-to-blog {
    text-align:center;
    margin-top:2rem;
}
.btn-cherry {
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#ffe9ef;
    padding:0.7rem 1.6rem;
    border-radius:50px;
    color:#b95272;
    font-weight:500;
    text-decoration:none;
    border:1px solid #ffc2d4;
    transition:all var(--d-2);
}
.btn-cherry:hover {
    background:#ffdfe8;
    color:#9c405e;
    box-shadow:0 5px 12px rgba(231,118,142,0.25);
    translate:0 -2px;
}
.blog-footer {
    text-align:center;
    margin-top:2rem;
    padding-top:1.2rem;
    border-top:1px solid #ffd5e2;
    font-size:0.8rem;
    color:#9a5f72;
}
@media (max-width:650px) {
    .about-container {
        padding:1rem 1.2rem 2.5rem;
    }
    .blog-title {
        font-size:2rem;
    }
    .intro-name {
        font-size:1.8rem;
    }
    .sakura-avatar-frame {
        width:120px;
        height:120px;
    }
    .info-grid {
        grid-template-columns:1fr;
    }
}
.about-container img {
    max-width:100%;
    height:auto;
}
@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-cdd8ca06 {
    text-align:center;
}
.st-d01d8085 {
    margin:1.2rem 0 0.5rem;
}
.st-5b5cdb01 {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
}
.st-bd306a33 {
    color:#e188a5;
}
.st-6f63c113 {
    font-weight:500;
    color:#aa6c80;
}
.st-605bd24e {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:8px;
}
.st-d3910421 {
    text-align:center;
    padding:0.5rem;
    background:#ffeaef;
    border-radius:20px;
}
.st-2619cdf2 {
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    border-radius:16px;
}
.st-8354e9b3 {
    text-decoration:none;
}
.st-22ec26c9 {
    margin-top:12px;
    font-size:0.8rem;
    cursor:pointer;
    transition:var(--d-2);
}
.st-da84fbc7 {
    text-align:center;
    margin-top:-0.5rem;
    background:none;
    border:none;
}
.st-c2f5961e {
    background:#fff5f7;
    border-radius:2rem;
    padding:1.4rem 1.8rem;
    margin:1rem 0;
}
.st-9782b099 {
    font-weight:500;
    color:#9f5d74;
    display:flex;
    align-items:center;
    gap:12px;
}
.st-36c4460d {
    margin:1rem 0 0 0;
}
.st-4d13264c {
    margin-top:0.2rem;
}
.hitokoto-box {
    margin-top:10px;
    padding:10px 14px;
    background:rgba(255,238,242,0.6);
    border:1px dashed #ffcdda;
    border-radius:12px;
    font-size:0.9rem;
    color:#805c6b;
    line-height:1.7;
    text-align:center;
}
.hitokoto-box #hitokoto-from {
    display:block;
    margin-top:4px;
    font-size:0.75rem;
    color:#b5768c;
}
