@charset "utf-8";

#vt-nd-board, #vt-nd-board * { box-sizing: border-box; }
#vt-nd-board { --accent:#ff8200; --soft:#fff3e7; width:100%; color:#25282c; font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif; }
#vt-nd-board.vt-nd-data { --accent:#147d75; --soft:#eaf8f5; }
#vt-nd-board a { color:inherit; text-decoration:none; }
#vt-nd-board svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.vt-nd-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding:16px 0 36px; border-bottom:1px solid #e7e8ea; }
.vt-nd-breadcrumb { margin:0 0 16px; color:#8a8e95; font-size:13px; }
.vt-nd-hero h1 { margin:0; font-size:36px; line-height:1.3; letter-spacing:-1.3px; }
.vt-nd-hero h1 + p { margin:13px 0 0; color:#686d74; font-size:16px; line-height:1.7; }
.vt-nd-write { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; padding:13px 18px; border-radius:12px; background:var(--accent); color:#fff !important; font-weight:700; box-shadow:0 8px 22px rgba(255,130,0,.18); }
.vt-nd-data .vt-nd-write { box-shadow:0 8px 22px rgba(20,125,117,.18); }

.vt-nd-categories { display:flex; justify-content:flex-start; gap:26px; margin:28px 0; padding:4px 4px 22px; overflow-x:auto; border-bottom:1px solid #dcdde0; }
.vt-nd-categories a { display:grid; justify-items:center; gap:8px; width:92px; flex:0 0 92px; color:#55585d; font-size:13px; }
.vt-nd-categories span { display:grid; place-items:center; width:62px; height:62px; border:1px solid #e1e3e6; border-radius:18px; background:#f6f7f8; color:#6b6e73; transition:.16s ease; }
.vt-nd-categories svg { width:26px !important; height:26px !important; }
.vt-nd-categories em { font-style:normal; white-space:nowrap; }
.vt-nd-categories a:hover span { transform:translateY(-2px); border-color:var(--accent); }
.vt-nd-categories a.is-active span { border-color:var(--accent); background:var(--accent); color:#fff; }
.vt-nd-categories a.is-active em { color:var(--accent); font-weight:700; }

.vt-nd-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:25px 0 18px; }
.vt-nd-toolbar p { margin:0; color:#777b82; }
.vt-nd-toolbar strong { color:#25282c; }
.vt-nd-search { display:flex; align-items:center; width:290px; height:44px; border:1px solid #dddfe3; border-radius:12px; background:#fff; overflow:hidden; }
.vt-nd-search input { width:100%; height:100%; padding:0 4px 0 15px; border:0; outline:0; background:transparent; font:inherit; }
.vt-nd-search button { display:grid; place-items:center; width:44px; height:44px; border:0; background:transparent; color:#555a61; cursor:pointer; }

.vt-nd-adminbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; padding:10px 13px; border-radius:10px; background:#f5f6f7; font-size:13px; }
.vt-nd-adminbar button { margin-left:5px; padding:7px 10px; border:1px solid #d7d9dc; border-radius:7px; background:#fff; cursor:pointer; }
.vt-nd-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.vt-nd-card { position:relative; min-width:0; border:1px solid #e1e3e6; border-radius:18px; background:#fff; overflow:hidden; box-shadow:0 9px 25px rgba(33,39,46,.06); transition:transform .18s ease,box-shadow .18s ease; }
.vt-nd-card:hover { transform:translateY(-3px); box-shadow:0 15px 32px rgba(33,39,46,.1); }
.vt-nd-check { position:absolute; z-index:4; top:12px; right:12px; display:grid; place-items:center; width:31px; height:31px; border-radius:9px; background:rgba(255,255,255,.9); }
.vt-nd-cover { position:relative; display:block; height:238px; overflow:hidden; background:linear-gradient(145deg,#fff0dd,#ffd39b); }
.vt-nd-cover.is-blue { background:linear-gradient(145deg,#e9f5ff,#bcdfff); }
.vt-nd-cover.is-mint { background:linear-gradient(145deg,#e9faf5,#bce9dd); }
.vt-nd-cover.is-indigo { background:linear-gradient(145deg,#eff0ff,#cdd1ff); }
.vt-nd-cover.is-peach { background:linear-gradient(145deg,#fff4e9,#ffd5bb); }
.vt-nd-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vt-nd-cover.has-image:after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.04) 38%,rgba(0,0,0,.68)); }
.vt-nd-pattern { position:absolute; right:-26px; bottom:-36px; width:160px; height:160px; border:32px solid rgba(255,255,255,.27); border-radius:50%; }
.vt-nd-cover-copy { position:absolute; z-index:2; left:22px; right:22px; top:22px; }
.vt-nd-cover.has-image .vt-nd-cover-copy { top:auto; bottom:22px; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.3); }
.vt-nd-cover-copy small { display:block; margin-bottom:10px; font-size:13px; font-weight:800; }
.vt-nd-cover-copy strong { display:block; font-size:23px; line-height:1.35; letter-spacing:-.6px; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.vt-nd-cover-icon { position:absolute; z-index:3; right:18px; bottom:18px; display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:rgba(255,255,255,.88); color:#30343a; backdrop-filter:blur(5px); }
.vt-nd-cover.has-image .vt-nd-cover-icon { top:16px; bottom:auto; }
.vt-nd-card-body { padding:18px 20px 16px; }
.vt-nd-card-body > p { min-height:47px; margin:0; color:#555a61; font-size:14px; line-height:1.65; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.vt-nd-meta { display:flex; align-items:center; gap:11px; margin-top:15px; padding-top:13px; border-top:1px solid #f0f1f2; color:#8a8e94; font-size:12px; }
.vt-nd-meta span { display:flex; align-items:center; gap:4px; }
.vt-nd-meta svg { width:15px !important; height:15px !important; }
.vt-nd-meta time { margin-left:auto; }
.vt-nd-empty { padding:80px 20px; border-top:1px solid #e5e7e9; text-align:center; color:#858990; }
.vt-nd-pagination { margin:35px 0 15px; text-align:center; }
.vt-nd-pagination .pg_wrap { display:inline-block; }

.vt-nd-view { max-width:900px; margin:0 auto; }
.vt-nd-view-head { padding:18px 0 28px; border-bottom:1px solid #dfe1e4; }
.vt-nd-view-category { display:inline-flex; padding:6px 12px; border-radius:999px; background:var(--soft); color:var(--accent); font-size:13px; font-weight:800; }
.vt-nd-view-head h1 { margin:15px 0 14px; font-size:34px; line-height:1.35; letter-spacing:-1px; }
.vt-nd-view-head > div { display:flex; gap:15px; color:#858991; font-size:13px; }
.vt-nd-view-body { padding:34px 0; color:#35393e; font-size:16px; line-height:1.85; }
.vt-nd-view-images { display:grid; gap:16px; margin-bottom:28px; }
.vt-nd-view-images img, .vt-nd-view-content img { display:block; max-width:100%; height:auto !important; margin:18px auto; border-radius:14px; }
.vt-nd-view-images img { max-height:620px; object-fit:contain; }
.vt-nd-view-content { min-height:160px; overflow-wrap:anywhere; }
.vt-nd-view-content p { margin:0 0 15px; }
.vt-nd-view-content table { display:block; max-width:100%; overflow-x:auto; }
.vt-nd-filebox { margin-top:30px; padding:20px; border-radius:14px; background:#f7f8f9; }
.vt-nd-filebox h2 { margin:0 0 12px; font-size:17px; }
.vt-nd-filebox ul { margin:0; padding:0; list-style:none; }
.vt-nd-filebox li { display:flex; justify-content:space-between; gap:12px; padding:7px 0; }
.vt-nd-filebox a { color:var(--accent) !important; }
.vt-nd-filebox small { color:#858990; white-space:nowrap; }
.vt-nd-view-actions { display:flex; justify-content:space-between; gap:16px; padding:22px 0; border-top:1px solid #dfe1e4; }
.vt-nd-view-actions > div { display:flex; flex-wrap:wrap; gap:7px; }
.vt-nd-view-actions a { padding:10px 15px; border:1px solid #d8dade; border-radius:9px; background:#fff; font-size:14px; font-weight:700; }
.vt-nd-view-actions a.is-primary { border-color:var(--accent); background:var(--accent); color:#fff !important; }

@media (max-width:900px) {
    .vt-nd-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
    #vt-nd-board { padding:0 14px; }
    .vt-nd-hero { align-items:flex-start; padding-top:8px; }
    .vt-nd-hero h1 { font-size:27px; }
    .vt-nd-hero h1 + p { font-size:14px; }
    .vt-nd-write { padding:10px 12px; font-size:13px; }
    .vt-nd-write svg { display:none; }
    .vt-nd-categories { gap:8px; margin:20px -14px; padding:4px 14px 18px; overflow-x:auto; }
    .vt-nd-categories a { width:78px; flex-basis:78px; }
    .vt-nd-categories span { width:58px; height:58px; }
    .vt-nd-toolbar { align-items:flex-start; flex-direction:column; }
    .vt-nd-search { width:100%; }
    .vt-nd-grid { grid-template-columns:1fr; gap:17px; }
    .vt-nd-cover { height:235px; }
    .vt-nd-view-head h1 { font-size:27px; }
    .vt-nd-view-body { padding:25px 0; font-size:15px; }
    .vt-nd-view-actions { flex-direction:column; }
    .vt-nd-view-actions > div:last-child { justify-content:flex-end; }
}
