/* 소식 게시판 전용 스타일. 머리글·바닥글·소개 띠·색·글꼴·폭은 홈페이지의 /assets/f.css 를 그대로 쓰고(먼저 불러옴), 여기에는 게시판에만 있는 것(목록·분류 칩·글 본문·원문 상자·관리 표·폼)만 둔다.
   색은 f.css 의 변수(--text --faint --link --surface --border …)만 쓴다. 따로 정한 색 없음 → 테마(자동/화이트/블랙) 따라간다. 외부 리소스 0, style 속성·<style> 없음(CSP). */
main .sec{padding:calc(56px*var(--space-scale)) 0 calc(96px*var(--space-scale))}
/* 분류 칩 줄 */
.cats{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 calc(28px*var(--space-scale))}
.cats a{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:99px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem}
.cats a:hover{background:var(--surface-2)}.cats a.on{background:var(--sel-bg);color:var(--sel-text);border-color:var(--btn-border);font-weight:800}
/* 목록 = 글마다 펼침 상자(details). 접힌 줄: 칩+날짜 / 제목 / 한 줄 요약 / 오른쪽 ▾. 펼치면 본문. 홈페이지 .wrap 폭 그대로 */
.posts{list-style:none;margin:0;padding:0;border-top:2px solid var(--anchor)}
.post-item{border-bottom:1px solid var(--border)}.post-item.pinned{background:var(--surface-2)}
:root{interpolate-size:allow-keywords}
.post summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:center;padding:calc(30px*var(--space-scale)) 44px calc(30px*var(--space-scale)) 4px;cursor:pointer;list-style:none;position:relative;color:var(--text)}
.post summary::-webkit-details-marker{display:none}
.post summary::after{content:"";position:absolute;right:10px;top:50%;width:10px;height:10px;margin-top:-8px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg);transition:transform .25s ease}
.post[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.post summary:hover .ttl{color:var(--link)}
.post summary:focus-visible{outline:3px solid var(--link);outline-offset:-3px;border-radius:6px}
.post .chips{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.post time{grid-column:2;grid-row:1;align-self:center}
.post .ttl{grid-column:1/-1;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.4}
.post .sum{grid-column:1/-1;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);opacity:.82;font-size:.95rem;line-height:1.55}
.post[open] .sum{white-space:normal;overflow:visible;text-overflow:clip}
.post-body{padding:4px 4px calc(36px*var(--space-scale))}
.post::details-content{block-size:0;overflow:clip;transition:block-size .28s ease,content-visibility .28s allow-discrete}
.post[open]::details-content{block-size:auto}
@media (prefers-reduced-motion:reduce){.post::details-content,.post summary::after{transition:none}}
time{color:var(--faint);font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.empty{padding:40px 4px;color:var(--text);display:grid;gap:4px}.empty b{font-size:1.1rem}.empty span{color:var(--faint)}
/* 칩: 색 + 기호 + 글자 (홈페이지 .chip 과 같은 크기·모양) */
.cat,.badge,.st{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:99px;border:1px solid var(--border);background:var(--surface-2);font-size:.82rem;font-weight:700;white-space:nowrap;vertical-align:middle;color:var(--text)}
html:not([lang="ko"]) .cat,html:not([lang="ko"]) .badge,html:not([lang="ko"]) .st{white-space:normal;height:auto;min-height:26px;padding-block:2px}
.cat::before{content:"●"}.cat-ai-news{color:var(--accent-text);border-color:var(--anchor)}.cat-ai-news::before{content:"▣"}
.cat-company{color:var(--ok-text);border-color:var(--ok-line)}.cat-notice{color:var(--warn-text);border-color:var(--warn-line)}.cat-notice::before{content:"■"}
.cat-product::before{content:"▲"}
.badge-ai{color:var(--accent-text);border-color:var(--anchor)}.badge-ai::before{content:"◆"}.badge-pin::before{content:"▲"}
.st-pub{color:var(--ok-text);border-color:var(--ok-line)}.st-pub::before{content:"●"}.st-draft{color:var(--warn-text);border-color:var(--warn-line)}.st-draft::before{content:"○"}
/* 쪽 이동 */
.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin:calc(48px*var(--space-scale)) 0 0}
.pg{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 18px;border:1px solid var(--border-strong);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);text-decoration:none;font-weight:700}.pg:hover{background:var(--surface-2)}
.pg-now{min-width:5.5em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
/* 글 본문 */
.body{font-size:1.05rem;line-height:1.85;max-width:44em;color:var(--text)}
.body h2,.body h3{margin:1.8em 0 .5em;letter-spacing:-.02em;line-height:1.35}.body h2{font-size:1.5rem}.body h3{font-size:1.2rem}
.body p,.body li{color:var(--text)}.body p{margin:0 0 1.1em}.body ul,.body ol{margin:0 0 1.1em;padding-left:1.3em}.body img{max-width:100%;height:auto;border-radius:var(--r-ctl)}
.body blockquote,blockquote{margin:1.2em 0;padding:.2em 0 .2em 16px;border-left:3px solid var(--border-strong);color:var(--text);opacity:.85}
.body code{font-family:ui-monospace,Consolas,monospace;font-size:.92em;background:var(--surface-2);padding:.1em .35em;border-radius:6px}
.srcbox{margin:calc(48px*var(--space-scale)) 0 0;padding:calc(36px*var(--space-scale)) 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);max-width:44em}
.srcbox-h{margin:0 0 8px;color:var(--accent-text);font-weight:800}.source{margin:0 0 8px}.srcurl{margin:0 0 8px;color:var(--faint);font-size:.9rem;word-break:break-all}.srcnote{margin:0;color:var(--warn-text);font-weight:700}
.srcbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:var(--r-ctl);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);font:700 1rem/1.3 inherit;text-decoration:none}.srcbtn:hover{background:var(--btn-hover)}
.copyright{color:var(--faint);font-size:.9rem;margin:16px 0 0}
.ainote{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 0;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);max-width:44em}
/* 관리·폼(대표 전용) */
.admtools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 calc(24px*var(--space-scale))}.inline,.acts form{display:inline}.admtools .inline{margin-left:auto}
.adm{width:100%;border-collapse:collapse;font-size:.95rem}.adm th,.adm td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.adm thead th{color:var(--faint);font-size:.86rem;border-top:2px solid var(--anchor)}
.adm td a{font-weight:700;color:var(--text)}.adm td a:hover{color:var(--link)}.acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.empty-cell{color:var(--faint);padding:32px 10px}
.btn.danger{color:var(--warn-text);border-color:var(--warn-line)}
.del{display:inline-block}.del summary{list-style:none;cursor:pointer}.del summary::-webkit-details-marker{display:none}.del[open] form{display:block;margin-top:8px}
.form{display:grid;gap:18px;max-width:44em}.form label{display:grid;gap:6px;font-weight:700}.form label.chk{display:flex;gap:10px;align-items:center;font-weight:600}
.form input:not([type=checkbox]),.form textarea,.form select{width:100%;font:inherit;font-weight:400;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-ctl);padding:10px 12px;min-height:44px}
.form input[type=checkbox]{width:22px;height:22px}.form-acts{display:flex;gap:10px;margin:0}
.err{margin:0 0 16px;padding:12px 16px;border:1px solid var(--warn-line);border-radius:var(--radius);color:var(--warn-text);font-weight:700;background:var(--surface)}
@media (max-width:700px){
 .post summary{grid-template-columns:1fr;padding-right:36px}.post time{grid-column:1;grid-row:auto;justify-self:start}
 .post .chips{grid-row:auto}
 .adm thead{display:none}.adm,.adm tbody,.adm tr,.adm td{display:block;width:100%}.adm tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:6px 12px;background:var(--surface)}
 .adm td{border:0;padding:6px 0}.adm td::before{content:attr(data-label);display:block;color:var(--faint);font-size:.8rem;font-weight:700}.adm td.empty-cell::before{content:none}
}
