/* VELFRIA: 자유 배치형 IT 게시 플랫폼 */
body{background:#8fa9cf;color:#172238}
.site-header{position:relative;z-index:20;height:112px;min-height:112px;padding:0 clamp(42px,6vw,120px);gap:clamp(34px,4vw,76px);background:#0b3673;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.site-header .logo{font-size:3rem;letter-spacing:-.08em;white-space:nowrap}
.site-header .search{max-width:650px;flex:1 1 650px}
.site-header .search input{height:52px;padding:8px 18px;border:0;font-size:1.05rem}
.site-header .search button{display:block;min-width:72px;background:#fff;color:#0b3673;font-weight:900}
.site-header nav{display:flex;margin-left:auto;gap:20px;align-items:center;white-space:nowrap}
.site-header nav a,.site-header nav .link{color:#fff!important;font-weight:800}

main.home-shell{width:min(1160px,calc(100% - 48px));max-width:none;min-height:0;margin:0 auto;padding:28px 0 68px;background:transparent;box-shadow:none}
.home-columns{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:38px;align-items:start}
.post-feed{min-width:0}
.blog-post{display:block;margin:0 0 38px;padding:0;border:0}
.post-stamp{margin:0 0 9px;color:#142e55;font-size:.84rem;font-weight:800}
.post-paper{width:100%;min-width:0;padding:30px 34px 24px;background:#fff;box-shadow:0 2px 9px rgba(9,35,72,.13)}
header.post-header,header.article-head{display:block;min-height:0;padding:0;background:transparent;color:inherit}
.article-category{display:inline-block;margin-bottom:8px;color:#0b4a9b;font-size:.77rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.post-header h2{margin:0;color:#0b4a9b;font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.13;letter-spacing:-.055em}
.post-header h2 a{color:inherit;text-decoration:none}
.post-header>p{margin:10px 0 0;color:#526176;font-size:1.03rem;line-height:1.6}

.article-content{display:flow-root;margin-top:26px;color:#263548;font-size:1rem;line-height:1.8}
.content-block{max-width:100%}
.article-text{margin:0 0 23px;white-space:normal;word-break:break-word}
.block-heading{clear:both;margin:34px 0 14px;padding-top:5px;color:#102d55;font-size:1.45rem;line-height:1.35;letter-spacing:-.035em}
.block-quote{clear:both;margin:24px 0;padding:17px 21px;border-left:5px solid #315e99;background:#eef3f9;color:#354b67;font-family:Georgia,"Noto Serif KR",serif}
.block-code{clear:both;margin:24px 0;padding:18px 20px;overflow:auto;background:#142033;color:#e8eef7;font:14px/1.65 Consolas,Monaco,monospace;white-space:pre-wrap;tab-size:4}
figure.content-block{margin-top:25px;margin-bottom:25px}
.content-block img,.content-block video{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#e9edf3}
.youtube-frame{width:100%;aspect-ratio:16/9;background:#101722}
.youtube-frame iframe{display:block;width:100%;height:100%;border:0}
.content-block figcaption{padding:8px 2px 0;color:#65758b;font-size:.82rem;line-height:1.5}
.align-left{float:left;width:min(47%,430px);margin:7px 26px 19px 0!important}
.align-right{float:right;width:min(47%,430px);margin:7px 0 19px 26px!important}
.align-center{clear:both;width:min(78%,680px);margin-left:auto!important;margin-right:auto!important}
.block-image.align-full,.block-video.align-full,.block-youtube.align-full,.block-file.align-full,.block-link.align-full{clear:both;width:100%}
.block-separator{clear:both;margin:36px 0;border:0;border-top:1px solid #d7dee8}
.link-card,.file-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;margin-bottom:22px;padding:16px 18px;border:1px solid #d7e0eb;background:#f7f9fc;line-height:1.45}
.link-card span{color:#64748b;font-size:.75rem;font-weight:800;text-transform:uppercase}
.link-card a{color:#0b4a9b;font-weight:900;word-break:break-all}
.file-card div{min-width:0}.file-card b{display:block;overflow:hidden;color:#152b49;text-overflow:ellipsis;white-space:nowrap}.file-card p{margin:3px 0 0;color:#65758b;font-size:.82rem}
.file-card>a{flex:0 0 auto;padding:9px 13px;background:#0b3673;color:#fff;text-decoration:none;font-size:.86rem;font-weight:900}
.empty-content{padding:25px 0;color:#69758a}

.post-footer,.article-footer{clear:both;display:flex;align-items:center;gap:16px;margin-top:27px;padding-top:17px;border-top:1px solid #dde3eb}
.tag-row{display:flex;flex:1;flex-wrap:wrap;gap:7px}
.tag-row a{padding:3px 7px;background:#eef3f8;color:#365b89;text-decoration:none;font-size:.78rem;font-weight:800}
.comment-link{margin-left:auto;color:#0b4a9b!important;background:transparent!important;padding:0!important;text-decoration:none;font-weight:900;white-space:nowrap}
.post-admin{display:flex;align-items:center;gap:11px;padding-left:13px;border-left:1px solid #dbe2eb;font-size:.85rem}
.post-admin a{color:#0b4a9b;text-decoration:none;font-weight:800}.post-admin form{margin:0}.post-admin button{border:0;background:none;padding:0;color:#b01c2e;font:inherit;font-weight:800;cursor:pointer}
.feed-empty{display:grid;gap:7px;padding:70px 20px;background:#fff;box-shadow:0 2px 9px rgba(9,35,72,.13);text-align:center;color:#65758b}
.feed-empty b{color:#17243a;font-size:1.1rem}
.feed-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;width:100%;margin:0;padding:13px 0;color:#18375f}
.feed-pager a{color:#082f68!important;background:transparent!important;padding:0!important;font-weight:900;text-decoration:none}.feed-pager a:last-child{text-align:right}.feed-pager b{font-size:.85rem}

.home-sidebar{padding-top:0;color:#17365e}
.sidebar-block{margin:0 0 25px;padding:0 0 19px;border-bottom:1px solid rgba(20,53,94,.3)}
.sidebar-block h2{margin:0 0 10px;color:#0a326c;font-family:Georgia,"Noto Serif KR","Times New Roman",serif;font-size:1.05rem;letter-spacing:.03em}
.side-list{list-style:none;margin:0;padding:0}.side-list li{padding:8px 0;border-top:1px dotted rgba(24,54,93,.3);color:#324e71;font-size:.83rem}.side-list li:first-child{border-top:0}.side-list a{color:#0d3975;font-weight:900;text-decoration:none}.category-list li{display:flex;justify-content:space-between}.category-list span{color:#526781}.latest-posts li{display:grid;gap:2px}.latest-posts small{color:#3f5878;font-size:.74rem}.latest-comments li{display:grid;gap:3px}.latest-comments b{color:#3f5878;font-size:.75rem}.latest-comments p{display:-webkit-box;margin:0;overflow:hidden;color:#324e71;font-size:.78rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}

main.article-shell{width:min(960px,calc(100% - 48px));max-width:none;margin:34px auto 65px;padding:0;background:transparent;box-shadow:none}
.article-page,.comments{padding:40px 46px;background:#fff;box-shadow:0 2px 10px rgba(9,35,72,.14)}
.article-head .post-stamp{margin-bottom:15px}.article-head h1{margin:0;color:#102d55;font-size:clamp(2.25rem,5vw,4rem);line-height:1.08;letter-spacing:-.07em}.article-head>p:last-child{margin:14px 0 0;color:#536176;font-size:1.12rem;line-height:1.65}
.article-footer{justify-content:space-between}.admin-actions{display:flex;align-items:center;gap:12px;margin:0}.admin-actions a{color:#0b4a9b;font-weight:900}.admin-actions form{margin:0}.comments{margin-top:20px;padding-top:30px}.comments-heading{display:flex;align-items:center;gap:9px}.comments-heading h2{margin:0;font-size:1.5rem}.comments-heading span{color:#65758b;font-size:.85rem}.comment-form{display:grid;grid-template-columns:170px 1fr auto;gap:9px;margin-top:20px}.comment-form input,.comment-form textarea{border:1px solid #c7d0dd;padding:11px;background:#fff;font:inherit}.comment-form textarea{min-height:74px;resize:vertical}.comment-form .primary{align-self:start;padding:11px 15px}.comment-list{margin-top:27px;border-top:1px solid #e1e6ed}.comment{padding:18px 0;border-bottom:1px solid #e1e6ed}.comment>div{display:flex;align-items:center;gap:10px}.comment p{margin:7px 0;color:#263548}.comment form{margin-top:8px}.comment form button{border:0;background:none;padding:0;color:#b01c2e;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.no-comments{padding:25px 0;color:#65758b}.back{margin-top:22px;color:#0b3673!important;background:transparent!important;padding:0!important}

main.editor-shell{width:min(1040px,calc(100% - 48px));max-width:none;margin:34px auto 65px;padding:0;background:transparent;box-shadow:none}
.editor,.login-page{padding:38px 42px;background:#fff;box-shadow:0 2px 10px rgba(9,35,72,.14)}
.editor{max-width:none}.editor h1{margin:0;font-size:2.55rem;letter-spacing:-.06em}.editor-help{margin:8px 0 28px;color:#65758b}.post-form{display:grid;gap:18px}.post-form>label,.post-form .form-grid label,.editor-block label{display:grid;gap:7px;color:#253750;font-weight:800}.post-form input,.post-form textarea,.post-form select,.editor-block input,.editor-block textarea,.editor-block select{width:100%;border:1px solid #c7d0dd;border-radius:3px;padding:11px;background:#fff;font:inherit;font-weight:400}.post-form textarea,.editor-block textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-section-title{margin-top:15px;padding-top:21px;border-top:1px solid #dce3eb}.editor-section-title div{display:grid;gap:2px}.editor-section-title b{font-size:1.1rem}.editor-section-title span{color:#65758b;font-size:.82rem}
#block-list{display:grid;gap:13px}.editor-block{display:grid;grid-template-columns:1fr 180px;gap:13px;padding:16px;border:1px solid #d7dfe9;background:#f7f9fc}.block-toolbar{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:15px;padding-bottom:10px;border-bottom:1px solid #dce3eb}.block-toolbar b{color:#0b3673}.block-toolbar div{display:flex;gap:5px}.block-toolbar button,.block-add button{border:1px solid #c9d4e1;background:#fff;color:#26476e;padding:6px 9px;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.block-toolbar [data-remove]{color:#b01c2e}.editor-block .block-text-field,.editor-block .block-url-field,.editor-block .block-file-field,.editor-block .block-align-field{display:none}.editor-block[data-type="heading"] .block-text-field,.editor-block[data-type="text"] .block-text-field,.editor-block[data-type="quote"] .block-text-field,.editor-block[data-type="code"] .block-text-field{display:grid;grid-column:1/-1}.editor-block[data-type="image"] .block-text-field,.editor-block[data-type="video"] .block-text-field,.editor-block[data-type="youtube"] .block-text-field,.editor-block[data-type="file"] .block-text-field,.editor-block[data-type="link"] .block-text-field{display:grid}.editor-block[data-type="youtube"] .block-url-field,.editor-block[data-type="link"] .block-url-field{display:grid}.editor-block[data-type="image"] .block-file-field,.editor-block[data-type="video"] .block-file-field,.editor-block[data-type="file"] .block-file-field{display:grid}.editor-block[data-type="image"] .block-align-field,.editor-block[data-type="video"] .block-align-field,.editor-block[data-type="youtube"] .block-align-field,.editor-block[data-type="file"] .block-align-field,.editor-block[data-type="link"] .block-align-field{display:grid}.block-file-field small{display:block;overflow:hidden;color:#65758b;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.block-add{display:grid;gap:10px;padding:17px;border:1px dashed #9fb0c5;background:#eef3f8}.block-add>div{display:flex;flex-wrap:wrap;gap:7px}.block-add button:hover{border-color:#0b4a9b;color:#0b4a9b}.form-actions{margin-top:10px}.form-actions a{color:#65758b}
.login-page{max-width:560px;margin:70px auto}.login-page h1{margin:0;font-size:2rem}.login-page>p:not(.eyebrow){color:#65758b}.login-page form{display:flex;gap:9px;margin:24px 0 17px}.login-page input{min-width:0;flex:1;border:1px solid #cbd5e1;padding:12px;font:inherit}.login-page a{color:#0b4a9b;font-weight:800;text-decoration:none}
.flash{width:min(960px,100%);margin:0 auto 18px}.primary{border-radius:3px}

@media(max-width:820px){
  .site-header{height:88px;min-height:88px;padding:0 18px;gap:15px}.site-header .logo{font-size:2rem}.site-header .search{min-width:0;flex:1}.site-header .search input{height:39px;padding:7px 10px;font-size:.9rem}.site-header .search button,.site-header nav{display:none}
  main.home-shell,main.article-shell,main.editor-shell{width:100%;margin:0;padding:18px 15px 45px}.home-columns{grid-template-columns:1fr;gap:25px}.home-sidebar{padding-top:0}.post-paper{padding:23px 20px}.article-page,.comments,.editor,.login-page{padding:25px 20px}.align-left,.align-right,.align-center{float:none;clear:both;width:100%;margin:23px 0!important}.post-footer,.article-footer{align-items:flex-start;flex-wrap:wrap}.post-admin{width:100%;padding:10px 0 0;border-top:1px dotted #d7dee8;border-left:0}.comment-form{grid-template-columns:1fr}.comment-form textarea{min-height:95px}.form-grid{grid-template-columns:1fr}.editor-block{grid-template-columns:1fr}.editor-block .block-text-field,.editor-block .block-url-field,.editor-block .block-file-field,.editor-block .block-align-field{grid-column:1}.login-page{margin:20px 0}.login-page form{flex-direction:column}
}
@media(max-width:440px){.post-header h2{font-size:1.75rem}.article-head h1{font-size:2.25rem}.post-paper{padding:20px 16px}.block-toolbar{align-items:flex-start;flex-direction:column}.block-toolbar div{width:100%}.block-toolbar button{flex:1}.article-content{font-size:.96rem}}

/* VELFRIA responsive navigation */
.mobile-menu-button,.mobile-menu{display:none}

/* 일반 사용자도 헤더가 비어 보이지 않도록 공용 탐색 링크를 유지 */
.desktop-nav .admin-login-link{padding-left:18px;border-left:1px solid rgba(255,255,255,.28)}

@media(max-width:820px){
  .site-header{
    height:auto;min-height:0;padding:14px 16px 13px;gap:10px 12px;
    display:grid;grid-template-columns:1fr auto;align-items:center;
  }
  .site-header .logo{font-size:2rem;line-height:1}
  .site-header .search{grid-column:1/-1;grid-row:2;width:100%;max-width:none;display:flex}
  .site-header .search input{height:42px;min-width:0;flex:1;padding:8px 12px;font-size:.92rem}
  .site-header .search button{display:block;min-width:58px;height:42px;padding:0 12px}
  .site-header .desktop-nav{display:none}
  .mobile-menu-button{display:block;width:42px;height:42px;padding:8px;border:0;background:transparent;cursor:pointer}
  .mobile-menu-button span{display:block;width:25px;height:2px;margin:5px auto;background:#fff;transition:transform .18s ease,opacity .18s ease}
  .mobile-menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
  .mobile-menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{display:block;position:relative;z-index:19;background:#0b3673;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.2)}
  .mobile-menu[hidden]{display:none}
  .mobile-menu-inner{padding:5px 16px 18px}
  .mobile-menu a,.mobile-menu button{color:#fff;text-decoration:none;font:inherit;font-weight:800}
  .mobile-menu-home{display:block;padding:13px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
  .mobile-menu section{padding:15px 0 3px;border-bottom:1px solid rgba(255,255,255,.18)}
  .mobile-menu h2{margin:0 0 7px;color:#cbdcf4;font-size:.76rem;letter-spacing:.08em}
  .mobile-menu ul{list-style:none;margin:0;padding:0}
  .mobile-menu li{display:flex;justify-content:space-between;gap:14px;padding:7px 0;color:#cbdcf4;font-size:.9rem}
  .mobile-menu li a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-menu li span{color:#9fb8da;font-size:.8rem}
  .mobile-menu-empty{opacity:.75}
  .mobile-admin{display:flex;gap:18px;padding-top:16px}
  .mobile-admin form{margin:0}.mobile-admin .link{border:0;background:transparent;padding:0;cursor:pointer}

  main.home-shell,main.article-shell,main.editor-shell{width:100%;margin:0;padding:18px 15px 45px}
  .home-columns{grid-template-columns:1fr;gap:0}
  .home-sidebar{display:none}
}

/* VELFRIA archive + compact home feed */
.archive-heading{margin:0 0 18px;padding:24px 28px;background:#fff;border-top:4px solid #0b4e9a}
.archive-heading span{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#0b4e9a}
.archive-heading h1{margin:4px 0 5px;color:#0b4e9a;font-size:2rem}
.archive-heading p{margin:0;color:#66758a}
.archive-list{background:#fff;padding:0 28px}
.archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:20px 0;border-bottom:1px solid #d9e0e8}
.archive-item:last-child{border-bottom:0}
.archive-item span{font-size:.76rem;font-weight:900;color:#0b4e9a}
.archive-item h2{margin:4px 0 6px;font-size:1.25rem}
.archive-item h2 a{color:#0b4e9a;text-decoration:none}
.archive-item p{margin:0;color:#68778a;line-height:1.55}
.archive-item time{font-size:.78rem;font-weight:700;color:#6f7f92;white-space:nowrap;padding-top:3px}
@media(max-width:820px){
  .archive-heading{padding:20px}
  .archive-list{padding:0 20px}
  .archive-item{grid-template-columns:1fr;gap:7px;padding:17px 0}
  .archive-item time{order:-1}
}

/* VELFRIA archive index */
.archive-columns{grid-template-columns:minmax(0,1fr)!important;max-width:1120px;margin-left:auto;margin-right:auto}
.archive-dashboard{width:100%}
.archive-heading{margin:0 0 22px;padding:30px 34px;background:#fff;border-top:4px solid #0b4e9a;display:grid;grid-template-columns:auto auto 1fr auto;align-items:end;gap:10px 28px}
.archive-heading span{font-size:.72rem;font-weight:900;letter-spacing:.15em;color:#0b4e9a;align-self:center}
.archive-heading h1{margin:0;color:#0b4e9a;font-size:2.25rem;line-height:1}
.archive-heading p{margin:0;color:#66758a;line-height:1.5}
.archive-heading strong{font-size:1rem;color:#183d68;white-space:nowrap}
.archive-index-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}
.archive-panel{background:#fff;padding:28px 32px}
.archive-panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid #174f8e}
.archive-panel-title h2{margin:0;color:#153f70;font-size:1.25rem}
.archive-panel-title span{font-size:.78rem;color:#78889a}
.archive-year{padding:18px 0;border-bottom:1px solid #d8e0e9}
.archive-year:last-child{border-bottom:0}
.archive-year-head,.archive-months a,.archive-category-list a{display:flex;align-items:center;justify-content:space-between;text-decoration:none}
.archive-year-head{color:#0b4e9a;font-size:1.15rem;margin-bottom:9px}
.archive-year-head span{font-size:.8rem;color:#728297;font-weight:700}
.archive-months{padding-left:18px;display:grid;gap:2px}
.archive-months a{padding:6px 8px;color:#53677e}
.archive-months a:hover,.archive-category-list a:hover{background:#f2f6fb;color:#0b4e9a}
.archive-months b{font-size:.78rem;font-weight:700;color:#7a8999}
.archive-category-list{display:grid}
.archive-category-list a{padding:12px 4px;border-bottom:1px solid #e0e6ed;color:#174f8e;font-weight:800}
.archive-category-list a:last-child{border-bottom:0}
.archive-category-list b{font-size:.8rem;color:#7a8999}
.archive-tags{margin-top:22px}
.archive-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px}
.archive-tag-cloud a{display:inline-flex;gap:8px;padding:7px 10px;background:#f1f5fa;color:#174f8e;text-decoration:none;font-size:.82rem;font-weight:800}
.archive-tag-cloud b{color:#8190a1;font-size:.72rem}
.archive-filter-head{background:#fff;padding:26px 32px;border-top:4px solid #0b4e9a;margin-bottom:16px}
.archive-filter-head a{font-size:.8rem;font-weight:800;color:#0b4e9a;text-decoration:none}
.archive-filter-head h2{margin:10px 0 4px;color:#0b4e9a;font-size:1.8rem}
.archive-filter-head p{margin:0;color:#6b7b8e}
.archive-record-list{background:#fff;padding:0 32px}
.archive-record-list article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid #dbe2ea}
.archive-record-list article:last-child{border-bottom:0}
.archive-record-list time{font-size:.78rem;color:#738398;font-weight:700;padding-top:4px}
.archive-record-list span{font-size:.72rem;font-weight:900;color:#0b4e9a}
.archive-record-list h3{margin:4px 0 5px;font-size:1.15rem}
.archive-record-list h3 a{color:#0b4e9a;text-decoration:none}
.archive-record-list p{margin:0;color:#6a798b;line-height:1.5}
.archive-empty{color:#7a8999;margin:18px 0 0}
@media(max-width:820px){
 .archive-heading{grid-template-columns:1fr;gap:7px;padding:22px 20px;align-items:start}
 .archive-heading h1{font-size:1.85rem}.archive-heading strong{margin-top:6px}
 .archive-index-grid{grid-template-columns:1fr;gap:14px}.archive-panel{padding:22px 20px}.archive-tags{margin-top:14px}
 .archive-filter-head{padding:22px 20px}.archive-record-list{padding:0 20px}.archive-record-list article{grid-template-columns:1fr;gap:6px;padding:17px 0}
}


/* VELFRIA cozy enclosed layout */
html{background:#7188a8}
body{margin:0;padding:28px 0 46px;background:#7188a8;color:#172238}
.site-frame{width:min(1060px,calc(100% - 44px));margin:0 auto;background:#f4f1e9;border:1px solid rgba(25,47,76,.48);box-shadow:0 12px 34px rgba(20,38,62,.24)}
.site-header{height:76px;min-height:76px;padding:0 24px;gap:24px;background:#173f73;border-bottom:1px solid #092a55;box-shadow:none}
.site-header .logo{font-size:2.15rem;letter-spacing:-.055em}
.site-header .search{max-width:330px;flex:1 1 330px;margin-left:auto}
.site-header .search input{height:36px;padding:6px 11px;border:1px solid #0d2d57;font-size:.88rem}
.site-header .search button{min-width:54px;height:36px;padding:0 10px;border:1px solid #0d2d57;font-size:.82rem}
.site-header nav{margin-left:0;gap:15px}.site-header nav a,.site-header nav .link{font-size:.86rem}
main.home-shell{width:100%;margin:0;padding:26px 26px 34px;background:#f4f1e9}
.home-columns{grid-template-columns:205px minmax(0,1fr);gap:24px;align-items:start}
.post-feed{grid-column:2;grid-row:1}.home-sidebar{grid-column:1;grid-row:1;padding:0;background:#ebe7dc;border:1px solid #c7c1b3;color:#30445f}
.sidebar-identity{display:grid;gap:2px;padding:17px 16px 15px;background:#ded9cc;border-bottom:1px solid #bbb4a6}
.sidebar-identity a{color:#153d70;text-decoration:none;font-family:Georgia,"Noto Serif KR","Times New Roman",serif;font-size:1.35rem;font-weight:900;letter-spacing:-.03em}
.sidebar-identity span{color:#6b6b66;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.sidebar-block{margin:0;padding:15px 15px 13px;border-bottom:1px solid #c8c1b4}.sidebar-block h2{margin:0 0 8px;font-size:.91rem;letter-spacing:.04em}
.side-list li{padding:7px 0;border-top:1px dotted #bbb4a8;font-size:.79rem}.side-list a{color:#244f7d}.latest-posts small,.latest-comments b,.latest-comments p{color:#647080}
.sidebar-siteinfo{padding:14px 15px 16px}.sidebar-siteinfo h2{margin:0 0 8px;color:#173f73;font-family:Georgia,"Noto Serif KR","Times New Roman",serif;font-size:.82rem;letter-spacing:.08em}.sidebar-siteinfo dl{margin:0}.sidebar-siteinfo dl div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px dotted #c2bbaf;font-size:.72rem}.sidebar-siteinfo dt{color:#6a6a66}.sidebar-siteinfo dd{margin:0;color:#334963;text-align:right;font-weight:800}
.blog-post{margin:0 0 18px}.post-stamp{margin:0 0 6px;color:#4c6078;font-size:.75rem}.post-paper{padding:25px 28px 21px;background:#fbfaf6;border:1px solid #cbc7bd;box-shadow:0 2px 5px rgba(38,49,65,.08)}
.post-header h2{font-size:clamp(1.55rem,2.5vw,2.05rem);letter-spacing:-.045em}.article-category{margin-bottom:6px}.post-footer,.article-footer{margin-top:22px;padding-top:13px;border-top:1px solid #d9d5cb}
.feed-pager{padding:12px 4px}
.site-footer{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:0 24px;border-top:1px solid #bdb7aa;background:#e6e1d6;color:#5b6571;font-size:.76rem}.site-footer a{color:#294e79;text-decoration:none;font-weight:800}
main.article-shell,main.editor-shell{width:auto;margin:0;padding:28px 32px 36px;background:#f4f1e9}.article-page,.comments,.editor,.login-page{background:#fbfaf6;border:1px solid #cbc7bd;box-shadow:0 2px 5px rgba(38,49,65,.08)}
.archive-columns{grid-template-columns:1fr}.archive-columns .post-feed{grid-column:1}
@media(max-width:820px){
 body{padding:0}.site-frame{width:100%;border:0;box-shadow:none}.site-header{height:auto;min-height:0;padding:14px 16px}.site-header .search{max-width:none}.site-footer{padding:0 16px}
 main.home-shell,main.article-shell,main.editor-shell{padding:16px}.home-columns{grid-template-columns:1fr;gap:0}.post-feed{grid-column:1;grid-row:1}.home-sidebar{display:none}.post-paper{padding:22px 18px}
}


/* Infinite feed optimization */
.blog-post{content-visibility:auto;contain-intrinsic-size:auto 720px}
.blog-post img{content-visibility:auto}
.feed-loader{display:flex;align-items:center;justify-content:center;min-height:62px;margin:4px 0 0;border-top:1px dotted #b9b3a8;color:#667487;font-size:.78rem;font-weight:700;letter-spacing:.01em}
.feed-loader span::before,.feed-loader span::after{content:"";display:inline-block;width:34px;border-top:1px solid #c4beb2;vertical-align:middle;margin:0 10px}
.feed-loader.has-error{color:#875858;cursor:pointer}
@media(max-width:820px){.blog-post{contain-intrinsic-size:auto 620px}.feed-loader span::before,.feed-loader span::after{width:18px;margin:0 7px}}
\n\n/* VELFRIA compact utility header */
.site-header{
  height:48px;min-height:48px;padding:0 16px;
  display:flex;align-items:center;gap:16px;
  background:#173f73;color:#f3f0e7;
  border-top:0;border-bottom:1px solid #092a55;
  box-shadow:none;
}
.site-header>.logo{display:none}
.site-header .desktop-nav{order:1;margin:0;display:flex;align-items:center;gap:0;white-space:nowrap}
.site-header .desktop-nav>a,.site-header .desktop-nav .link{
  color:#f3f0e7!important;font-size:.79rem;font-weight:700;text-decoration:none;
  padding:0 9px;border:0;background:transparent;
}
.site-header .desktop-nav>a:hover,.site-header .desktop-nav .link:hover{
  color:#fff!important;text-decoration:underline;
}
.site-header .desktop-nav>a:first-child{padding-left:0}
.site-header .desktop-nav>a+a::before{content:"|";color:#9fb2c8;margin-right:9px;font-weight:400}
.site-header .desktop-nav form{display:inline-flex;margin:0}
.site-header .desktop-nav form::before{content:"|";color:#9fb2c8;margin:0 9px 0 0;align-self:center}
.site-header .desktop-nav .admin-login-link{padding-left:9px;border-left:0;color:#f3f0e7!important}
.site-header .search{order:2;margin-left:auto;max-width:255px;flex:0 1 255px;display:flex}
.site-header .search input{
  min-width:0;flex:1;height:27px;padding:4px 7px;border:1px solid #0d2d57;
  background:#faf8f1;color:#26384d;font-size:.76rem;
}
.site-header .search button{
  display:block;min-width:43px;height:27px;padding:0 7px;margin-left:-1px;
  border:1px solid #0d2d57;background:#f0ede4;color:#173f73;font-size:.73rem;font-weight:700;
}
@media(max-width:820px){
 .site-header{height:48px;min-height:48px;padding:0 13px}
 .site-header .desktop-nav,.site-header .search{display:none}
 .site-header .mobile-menu-button{margin-left:auto;color:#fff}
}

/* VELFRIA header v3: logo + links + sliding admin notice */
.site-header{
  box-sizing:border-box!important;
  height:58px!important;min-height:58px!important;
  margin:0!important;padding:0 18px!important;
  display:flex!important;align-items:center!important;gap:0!important;
  overflow:hidden;background:#173f73!important;color:#f5f1e7!important;
  border:0!important;border-bottom:1px solid #0d2d57!important;
  box-shadow:none!important;
}
.site-header::before,.site-header::after{display:none!important;content:none!important}
.site-header>.logo,.site-header>.search{display:none!important}
.header-logo{
  flex:0 0 auto;margin:0 20px 0 0;
  color:#fff!important;text-decoration:none!important;
  font-family:Georgia,"Times New Roman",serif;font-size:1.32rem;font-weight:700;
  letter-spacing:-.025em;line-height:1;
}
.site-header .desktop-nav{
  order:initial!important;flex:0 0 auto;margin:0 18px 0 0!important;
  display:flex!important;align-items:center!important;gap:0!important;white-space:nowrap;
}
.site-header .desktop-nav>a,.site-header .desktop-nav .link{
  display:inline-flex;align-items:center;height:58px;
  padding:0 8px!important;border:0!important;background:transparent!important;
  color:#f5f1e7!important;font-size:.78rem!important;font-weight:700!important;
  text-decoration:none!important;cursor:pointer;
}
.site-header .desktop-nav>a:first-child{padding-left:0!important}
.site-header .desktop-nav>a+a::before,.site-header .desktop-nav form::before{content:none!important}
.site-header .desktop-nav form{display:inline-flex!important;margin:0!important}
.site-header .desktop-nav a:hover,.site-header .desktop-nav .link:hover{color:#fff!important;text-decoration:underline!important}
.header-notice{
  min-width:0;flex:1 1 auto;height:28px;
  display:flex;align-items:center;overflow:hidden;
  border-left:1px solid rgba(255,255,255,.22);
  color:#e7edf5;font-size:.75rem;
}
.notice-label{
  position:relative;z-index:2;flex:0 0 auto;padding:0 9px 0 14px;
  background:#173f73;color:#cdd9e8;font-weight:700;
}
.notice-window{position:relative;min-width:0;flex:1;height:28px;overflow:hidden}
.notice-track{
  position:absolute;left:100%;top:0;height:28px;
  display:flex;align-items:center;white-space:nowrap;
  will-change:transform;animation:velfria-notice-slide 18s linear infinite;
}
.notice-track span{padding-right:42px}
@keyframes velfria-notice-slide{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-100% - 100vw))}
}
@media (prefers-reduced-motion:reduce){
 .notice-track{position:static;animation:none;transform:none}
}
/* 이전 헤더와 본문 사이에 보이던 밝은 띠 제거 */
.site-header+*{margin-top:0!important;border-top:0!important}
main.home-shell,main.article-shell,main.editor-shell{border-top:0!important}
@media(max-width:820px){
 .site-header{height:50px!important;min-height:50px!important;padding:0 13px!important}
 .header-logo{font-size:1.12rem;margin-right:auto}
 .site-header .desktop-nav,.header-notice{display:none!important}
 .site-header .mobile-menu-button{display:flex!important;margin-left:auto!important;color:#fff!important}
}


/* VELFRIA header v4: notice + compact search, sidebar identity removed */
.header-notice{flex:1 1 auto;min-width:90px}
.header-search{
  flex:0 0 250px;width:250px;height:30px;margin:0 0 0 14px;
  display:flex;align-items:stretch;
}
.header-search input{
  min-width:0;flex:1;height:30px;box-sizing:border-box;
  padding:4px 8px;border:1px solid #0d2d57;background:#fbfaf6;color:#26384d;
  font:inherit;font-size:.75rem;outline:none;
}
.header-search input:focus{border-color:#8099b8;background:#fff}
.header-search button{
  flex:0 0 auto;height:30px;margin-left:-1px;padding:0 10px;
  border:1px solid #0d2d57;background:#e9e5db;color:#173f73;
  font:inherit;font-size:.73rem;font-weight:800;cursor:pointer;
}
.header-search button:hover{background:#f7f4ec}
/* 첫 사이드바 블록이 곧바로 시작되도록 위쪽 중복 간판 제거 */
.home-sidebar>.sidebar-block:first-child{padding-top:15px}
@media(max-width:980px){
 .header-search{flex-basis:205px;width:205px;margin-left:10px}
 .header-logo{margin-right:14px}
 .site-header .desktop-nav{margin-right:10px!important}
}
@media(max-width:820px){
 .header-search{display:none!important}
}
