/* Blog-only editorial layout. No shared header or raster crop changes. */
.blog-page .blog-frame-body{overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:#a9c3ec transparent;padding-bottom:22px}
.blog-page .blog-hero{height:140px;min-height:140px;padding:20px 28px;align-items:center}
.blog-page .blog-hero-heading{font:750 29px/1.4 Pretendard,sans-serif;margin:0 0 8px;color:#173c91}
.blog-page .blog-hero-desc{font:500 18px/1.55 Pretendard,sans-serif;max-width:630px}
.blog-page .blog-hero-art{height:160px;width:220px;right:30px;bottom:0}
.blog-page .blog-toolbar{height:auto;min-height:64px;padding:12px 24px;gap:12px;flex-wrap:wrap;border-top:1px solid #dfE9ff;border-bottom:1px solid #dfe9ff;background:#f3f8ff}
.blog-page .category-chip{min-height:36px;padding:7px 13px;font:600 17px/1.2 Pretendard,sans-serif;display:inline-flex;align-items:center;justify-content:center}
.blog-page .blog-search-input{font:500 17px Pretendard,sans-serif}
.blog-page .blog-instagram-strip{margin:16px 24px 20px;padding:16px 18px;border:1px solid #b6cdf3;border-radius:14px;box-shadow:0 3px 0 #dbe8fc;background:linear-gradient(120deg,#eef5ff,#fff 65%,#fff3fa);text-align:left}
.blog-page .blog-instagram-heading{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 12px;text-align:left;gap:16px}
.blog-page .blog-instagram-heading>div{display:grid;gap:4px}
.blog-page .blog-instagram-heading span{font:400 18px DungGeunMo,monospace;color:#2858b9;letter-spacing:.04em}
.blog-page .blog-instagram-heading small{font:500 16px/1.4 Pretendard,sans-serif;color:#526486}
.blog-instagram-profile{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:11px 17px;border:1px solid #8cb1ef;border-radius:24px;background:#fff;color:#19489f;text-decoration:none;font:700 18px Pretendard,sans-serif;white-space:nowrap;box-shadow:0 2px 0 #c6daf7}
.blog-page .blog-instagram-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:none;margin:0}
.blog-instagram-link{display:flex;align-items:center;gap:10px;padding:12px;background:#ffffffc9;border:1px solid #d2def4;border-radius:9px;color:#1d438b;text-decoration:none;min-width:0;transition:background .15s,border-color .15s}
.blog-instagram-link:hover{background:#eef5ff;border-color:#6999ef}.ig-link-number{font:400 22px DungGeunMo,monospace;color:#779acb}.blog-instagram-link strong{font:650 16px/1.45 Pretendard,sans-serif;display:block}.blog-instagram-link small{font:500 14px/1.5 Pretendard,sans-serif;color:#657898;display:block}.ig-link-arrow{margin-left:auto;font-size:22px;color:#6283c2}
.blog-page .blog-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none;overflow:visible;padding:4px 24px 20px;gap:18px!important}
.blog-page .blog-post-card{height:auto;min-height:290px;padding:20px;border:1px solid #afc8ed;border-radius:14px;background:#fff;box-shadow:0 3px 0 #dce8f8;overflow:hidden!important;transition:box-shadow .15s}
.blog-page .blog-post-card:hover{box-shadow:0 4px 0 #baceef;border-color:#729fe4}
.blog-page .card-tape{display:none}.blog-page .card-header-row{margin:0 0 8px;align-items:center}.blog-page .card-image-col{width:76px;flex:0 0 76px}.blog-page .post-image-slot{width:70px;height:60px;background:transparent;border:0;box-shadow:none}.blog-page .post-image{object-fit:contain;width:100%;height:100%}
.blog-page .card-content-wrap{justify-content:flex-start;text-align:left}.blog-page .card-title{font:750 23px/1.4 Pretendard,sans-serif;min-height:0;margin:0 0 8px;letter-spacing:-.025em}.blog-page .card-desc{font:500 17px/1.6 Pretendard,sans-serif;min-height:0;margin:0 0 15px;color:#52627e}.blog-page .card-cat-chip{font:650 15px/1.3 Pretendard,sans-serif;padding:6px 10px}
.card-quick-actions{display:flex;gap:10px;margin:auto 0 12px;align-items:center;flex-wrap:wrap}.card-read-btn{padding:10px 12px;border:1px solid #c4d7f5;border-radius:8px;background:#f5f9ff;color:#365c9d;font:600 16px Pretendard,sans-serif;cursor:pointer}
.blog-page .prompt-btn-copy{min-height:40px;padding:10px 15px;border:1px solid #275cdb;border-radius:8px;background:#2d62db;color:#fff;font:650 16px/1.3 Pretendard,sans-serif;cursor:pointer;box-shadow:0 2px 0 #abc7fa;white-space:nowrap}
.blog-page .prompt-btn-copy.is-copied{background:#26756a;border-color:#26756a}.blog-page .card-divider{margin:0 0 10px}.blog-page .card-bottom-row,.blog-page .card-date,.blog-page .card-stats{font:550 16px/1.5 Pretendard,sans-serif;color:#566b8c;align-items:center}.blog-page .card-stats{display:flex;gap:14px}.blog-page .card-stat-like{color:#b94e81}
.blog-page .prompt-template-card{border:1px solid #b1caf1;border-radius:14px;overflow:hidden;background:#f5f9ff;box-shadow:0 3px 0 #dfebfc;margin-top:26px}
.blog-page .prompt-card-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;background:#eaf2ff;border-bottom:1px solid #c9daf5}.blog-page .prompt-card-title{font:700 19px/1.4 Pretendard,sans-serif;color:#204b96}.blog-page .prompt-card-actions{display:flex;gap:9px;flex-wrap:wrap}.blog-page .prompt-btn-edit{padding:10px 12px;background:#fff;border:1px solid #b0c7ec;border-radius:8px;color:#365585;font:600 15px Pretendard,sans-serif;cursor:pointer}
.blog-page .prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font:500 17px/1.85 Pretendard,sans-serif;color:#293d5c;background:#fbfdff;max-height:360px;overflow:auto;margin:0;padding:20px;border:0}.blog-page .prompt-card-footer{font:500 15px/1.6 Pretendard,sans-serif;padding:14px 18px;background:#edf5ff}.blog-page .prompt-edit-textarea{font:500 17px/1.7 Pretendard,sans-serif;min-height:240px}.blog-page .post-text-body{font:500 18px/1.8 Pretendard,sans-serif}
.blog-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.blog-page button:focus-visible,.blog-page a:focus-visible{outline:3px solid #c886ae;outline-offset:3px}
@media(orientation:portrait){.blog-page .blog-frame-body{overflow:visible}.blog-page .blog-hero{height:auto;padding:20px;min-height:120px}.blog-page .blog-hero-heading{font-size:23px}.blog-page .blog-hero-art{display:none}.blog-page .blog-instagram-heading{align-items:flex-start;flex-wrap:wrap}.blog-page .blog-instagram-feed{grid-template-columns:1fr}.blog-page .blog-cards-grid{grid-template-columns:1fr!important;padding:10px 14px}.blog-page .blog-instagram-strip{margin:12px 14px}.blog-page .blog-toolbar{padding:12px 14px}.blog-page .blog-post-card{min-height:0}.blog-page .card-title{font-size:21px}.blog-page .blog-search-wrap{width:100%}}

/* Let content establish row height and reserve real space for the metadata. */
.blog-page .blog-cards-grid{align-items:stretch!important}
.blog-page .blog-post-card{height:auto;max-height:none;align-self:stretch;padding-bottom:24px;overflow:visible!important}
.blog-page .blog-post-card>.card-header-row,
.blog-page .blog-post-card>.card-quick-actions,
.blog-page .blog-post-card>.card-divider,
.blog-page .blog-post-card>.card-bottom-row{flex-shrink:0}
.blog-page .blog-post-card>.card-content-wrap{flex:1 0 auto}
.blog-page .card-bottom-row{height:auto;max-height:none;flex-wrap:wrap;row-gap:6px}
.blog-page .card-stats{flex-shrink:0}

/* Metadata participates in the same natural column as the card content. */
.blog-page .blog-post-card>.card-bottom-row{
 display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
 position:static;inset:auto;transform:none;margin:0;gap:6px;
 flex:0 0 auto;height:auto;min-height:0;max-height:none;
}
.blog-page .blog-post-card>.card-bottom-row>.card-date,
.blog-page .blog-post-card>.card-bottom-row>.card-stats{
 position:static;inset:auto;transform:none;margin:0;flex:0 0 auto;
}
.blog-page .blog-post-card{display:flex;flex-direction:column;height:auto!important;max-height:none!important}
.blog-page .blog-cards-grid{flex:0 0 auto;height:auto;min-height:min-content;grid-auto-rows:minmax(min-content,auto)!important}
.blog-page .blog-post-card{min-height:min-content}
.blog-page .blog-post-card>.card-content-wrap{margin-top:0}

/* Match the shared compact header; extend only the existing content viewport. */
@media(orientation:landscape){
 body.blog-page .blog-canvas{top:226px;bottom:22px}
}
