.page-container { width:100%; max-width:780px; margin-inline:auto; padding-inline:24px; }
.share-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 25px 0;
    padding: 15px 0;
    border-top: 1px solid #f0f0f0;
}
.room-showcase-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 48px 0 8px;
}
.room-showcase-grid .room-showcase {
    margin: 0;
    height: 260px;
}
@media (max-width: 720px) {
    .room-showcase-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .room-showcase-grid .room-showcase {
        height: 280px;
    }
}
@media (max-width: 380px) {
    .room-showcase-grid .room-showcase {
        height: 240px;
    }
}
.room-showcase {
    position: relative;
    margin: 48px 0 8px;
    height: 340px;
    border-radius: 22px;
    overflow: hidden;
}
.room-showcase img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 50%;
    display: block;
    transition: transform .6s cubic-bezier(.16,.8,.3,1);
}
.room-showcase:hover img { transform: scale(1.04); }
.room-showcase-overlay {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 100%;
    padding: 32px 30px 22px;
    background: linear-gradient(to top, rgba(12,43,58,.88), rgba(12,43,58,.15) 70%, transparent);
}
.room-showcase-tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: var(--sea-deep);
    border: 1px solid rgba(255,255,255,.25);
    padding: 5px 14px;
    border-radius: 40px;
    margin-bottom: 12px;
    box-shadow: 0 2px 10px rgba(12,43,58,.35);
}
.room-showcase-overlay p {
    color: #fff;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 1.8;
    max-width: 520px;
}
@media (max-width: 640px) {
    .room-showcase { height: 280px; }
    .room-showcase-overlay {
        padding: 20px 18px 14px;
        background: linear-gradient(to top, rgba(12,43,58,.92), rgba(12,43,58,.35) 55%, transparent);
    }
    .room-showcase-tag { font-size: 11.5px; padding: 4px 12px; margin-bottom: 8px; }
    .room-showcase-overlay p {
        font-size: 13px;
        line-height: 1.7;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}
@media (max-width: 380px) {
    .room-showcase { height: 240px; }
}
.share-label {
    font-size: 0.9rem;
    color: #555;
    font-weight: 500;
}

.share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f5f5f5;
    color: #666;
    transition: all 0.3s ease;
    text-decoration: none;
}
.share-btn.share-tg:hover {
    background-color: #26A5E4;
    color: #fff;
    transform: translateY(-3px);
}

.share-btn.share-wa:hover {
    background-color: #25D366;
    color: #fff;
    transform: translateY(-3px);
}
.share-btn.share-cp:hover {
    background-color: #1E8A7C;
    color: #fff;
    transform: translateY(-3px);
}
.breadcrumb { padding-top:130px; font-size:13px; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; }
.breadcrumb a { text-decoration:none; color:var(--muted); }
.breadcrumb a:hover { color:var(--sea-deep); }
.breadcrumb span.sep { color:var(--line); }
.breadcrumb span.current { color:var(--ink-soft); font-weight:600; }
.article-header { padding-top:26px; }
.article-tag { display:inline-block; background:rgba(30,138,124,0.10); color:var(--sea-deep); font-size:11.5px; font-weight:700; letter-spacing:.04em; padding:6px 16px; border-radius:40px; margin-bottom:20px; }
.article-h1 { font-size:clamp(28px,4vw,42px); font-weight:800; line-height:1.4; color:var(--ink); margin-bottom:24px; }
.article-byline { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:30px; border-bottom:1px solid var(--line); }
.author-avatar { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--ink),#15495E); display:flex; align-items:center; justify-content:center; font-size:19px; color:#fff; flex-shrink:0; }
.author-info .a-name { font-size:14.5px; font-weight:700; color:var(--ink); }
.author-info .a-role { font-size:12.5px; color:var(--muted); }
.byline-meta { display:flex; gap:14px; font-size:12.5px; color:var(--muted); margin-right:auto; flex-wrap:wrap; }
.article-cover { padding-top:36px; }
.article-cover img { width:100%; height:420px; object-fit:cover; border-radius:22px; display:block; }
.cover-caption { font-size:12.5px; color:var(--muted); margin-top:12px; text-align:center; }

.article-layout { padding:50px 0 60px; }
.article-body { font-size:16.5px; line-height:2.05; color:var(--ink-soft); }
.article-body p  { margin-bottom:24px; }
.article-body h2 { font-size:23px; font-weight:800; color:var(--ink); margin:42px 0 18px; line-height:1.5; }
.article-body h3 { font-size:18.5px; font-weight:700; color:var(--ink); margin:32px 0 14px; }
.article-body ul,
.article-body ol { margin:0 0 24px; padding-right:22px; display:flex; flex-direction:column; gap:10px; }
.article-body blockquote { border-right:3px solid var(--sea); background:var(--paper); border-radius:0 14px 14px 0; padding:20px 24px; margin:30px 0; font-size:16px; color:var(--ink); font-weight:600; }
.article-body img { width:100%; border-radius:16px; margin:8px 0 28px; }

.tip-box { background:rgba(91,224,168,0.08); border:1px solid rgba(30,138,124,0.18); border-radius:16px; padding:22px 24px; margin:34px 0; display:flex; gap:14px; align-items:flex-start; }
.tip-box .t-icon { font-size:20px; flex-shrink:0; }
.tip-box .t-text { font-size:14.5px; color:var(--ink-soft); line-height:1.85; }
.tip-box .t-text b { color:var(--ink); }

.share-row { display:flex; align-items:center; gap:12px; margin-top:46px; padding-top:30px; border-top:1px solid var(--line); }
.share-label { font-size:13px; font-weight:700; color:var(--ink-soft); }
.share-btn { width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; color:var(--ink-soft); cursor:pointer; transition:.2s; text-decoration:none; }
.share-btn:hover { background:var(--ink); color:#fff; border-color:var(--ink); }

.end-cta { background:var(--ink); border-radius:18px; padding:32px 28px; text-align:center; margin-top:46px; }
.end-cta p { font-size:14.5px; color:rgba(255,255,255,0.7); line-height:1.8; margin-bottom:18px; }
.end-cta a { display:inline-block; background:var(--sea); color:#fff; border-radius:40px; padding:12px 28px; font-size:13.5px; font-weight:700; text-decoration:none; }
.end-cta a:hover { background:var(--sea-deep); }

.related { padding-bottom:100px; }
.related h3 { font-size:21px; font-weight:800; color:var(--ink); margin-bottom:28px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rel-card { border-radius:18px; overflow:hidden; background:var(--paper); border:1px solid var(--line); transition:transform .3s; text-decoration:none; color:inherit; display:block; }
.rel-card:hover { transform:translateY(-4px); }
.rel-card img { width:100%; height:140px; object-fit:cover; display:block; }
.rel-card .rel-body { padding:18px; }
.rel-card .rel-title { font-size:14px; font-weight:700; color:var(--ink); line-height:1.6; }

@media (max-width:1024px) {
    .article-cover img { height:280px; }
}
@media (max-width:900px) {
    .related { padding:0 24px 70px; }
    .related-grid { grid-template-columns:1fr; }
}
.article-body ul,
.article-body ol { padding-inline-start:22px; padding-right:0; }
.article-body blockquote { border-inline-start:3px solid var(--sea); border-right:none; border-radius:0 14px 14px 0; }
html[dir="ltr"] .article-body blockquote { border-radius:14px 0 0 14px; }
.byline-meta { margin-inline-start:auto; margin-right:0; }
html[data-theme="dark"] .share-row { border-color: var(--line); }
html[data-theme="dark"] .share-label { color: var(--ink-soft); }
html[data-theme="dark"] .share-btn { background: #1c2541; border-color: var(--line); color: var(--ink-soft); }
html[data-theme="dark"] .share-btn:hover { background: var(--sea); border-color: var(--sea); color: #fff; }
html[data-theme="dark"] .author-avatar { background: linear-gradient(135deg,#1c2541,#0b132b); }
html[data-theme="dark"] .end-cta { background: #1c2541; }
html[data-theme="dark"] .rel-card { background: #1c2541 !important; }
html[data-theme="dark"] .tip-box { background: rgba(91,224,168,0.06); border-color: rgba(91,224,168,0.15); }
@media (max-width: 1024px) {
    nav .nav-cta { display: none; }
}
@media (max-width: 1024px) {
    nav .nav-cta { display: none; }
}