/*
Theme Name: Lite Info
Description: 정보형 블로그를 위한 초경량 테마. 카테고리 알약 메뉴, 리스트형 글 목록, 자동 목차, 이전/다음 글, 함께 보면 좋은 글, 다크모드.
Version: 1.0.23
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: lite-info
*/
:root{--f:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;--m:#0F6E56;--md:color-mix(in srgb,var(--m) 70%,#000);--mt:var(--md);--ml:color-mix(in srgb,var(--m) 12%,#fff);--th:color-mix(in srgb,var(--m) 40%,#fff);--bg:#fff;--bs:#f7f7f5;--tx:#1c1c1a;--ts:#6b6b66;--bd:#e6e6e2;--r:12px;--w:760px}
html[data-theme=dark]{--bg:#17171a;--bs:#202024;--tx:#ececea;--ts:#a0a09b;--bd:#34343a;--ml:color-mix(in srgb,var(--m) 25%,#17171a);--mt:color-mix(in srgb,var(--m) 35%,#fff)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;font:17px/1.8 var(--f);color:var(--tx);background:var(--bg);word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.screen-reader-text:focus{clip:auto;width:auto;height:auto;left:12px;top:12px;padding:12px 18px;background:#fff;color:#111;border:3px solid var(--m);border-radius:8px;z-index:100000;font-weight:700}
:where(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--m);outline-offset:3px}
/* header */
.hd{border-bottom:1px solid var(--bd)}
.hdi{display:flex;align-items:center;gap:12px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:10px;min-width:0;font-size:21px;font-weight:700;letter-spacing:-.02em}
.brand>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand img{height:34px;width:auto;display:block}
.lg{width:36px;height:36px;flex:none;border-radius:10px;background:var(--m);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}
.tools{margin-left:auto;display:flex;gap:6px}
.ib{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ts);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ib:hover{background:var(--bs)}
.ib svg{width:22px;height:22px}
.cats{border-bottom:1px solid var(--bd)}
.ci{display:flex;gap:8px;padding-top:12px;padding-bottom:12px;overflow-x:auto;scrollbar-width:none}
.ci::-webkit-scrollbar{display:none}
.pill{flex:none;display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid var(--bd);border-radius:999px;color:var(--ts);font-size:15px;line-height:1}
.pill:hover{border-color:var(--m);color:var(--m)}
.pill.on{background:var(--ml);border-color:var(--ml);color:var(--mt);font-weight:600}
.sp{background:var(--bs);border-bottom:1px solid var(--bd)}
.sq{display:flex;gap:8px;padding:16px 0}
.sq input{flex:1;min-width:0;font:inherit;font-size:16px;padding:12px 16px;border:1px solid var(--bd);border-radius:var(--r);background:var(--bg);color:var(--tx)}
.btn,.sq button,.cm .submit{display:inline-flex;align-items:center;justify-content:center;background:var(--m);color:#fff;border:0;cursor:pointer;font:inherit;font-size:16px;font-weight:600;padding:12px 22px;border-radius:var(--r)}
.btn:hover,.sq button:hover,.cm .submit:hover{background:var(--md)}
main{padding:8px 0 48px}
/* archive head */
.ah{margin:0;padding:28px 0 8px;background:var(--bg);color:var(--tx);text-align:left}
.ah small{display:block;font-size:13px;color:var(--ts);letter-spacing:.06em}
.ah h1{margin:4px 0 0;font-size:1.5em;font-weight:800;line-height:1.4}
.ah p{margin:8px 0 0;font-size:15px;color:var(--ts)}
.kids{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 2px}
/* list */
.it{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--bd)}
.th{display:flex;align-items:center;justify-content:center;flex:none;width:130px;height:92px;padding:8px;border-radius:var(--r);overflow:hidden;background:var(--md);color:var(--th);font-size:14px;font-weight:600;line-height:1.45;text-align:center}
.th>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.th.hi{padding:0;background:var(--bs)}
.th img{width:100%;height:100%;object-fit:cover;display:block}
.pb{min-width:0;flex:1}
.pt{margin:0 0 6px;font-size:1.06em;font-weight:700;line-height:1.5;letter-spacing:-.01em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.it:hover .pt{color:var(--m)}
.pm{font-size:14px;color:var(--ts)}
.pe{margin:6px 0 0;font-size:15px;color:var(--ts);line-height:1.6;word-break:break-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pgn{margin:28px 0 0;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.pgn .page-numbers{min-width:42px;height:42px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bd);border-radius:var(--r);font-size:16px}
.pgn a.page-numbers:hover{border-color:var(--m);color:var(--m)}
.pgn .current{background:var(--m);border-color:var(--m);color:#fff;font-weight:700}
.pgn .dots{border:0}
.em{text-align:center;padding:56px 0 24px;color:var(--ts)}
.em h2{color:var(--tx);font-size:1.3em;margin:0 0 6px}
.em .sq{max-width:420px;margin:0 auto}
/* single */
.sh{padding:28px 0 8px}
.bc{font-size:13px;color:var(--ts);margin-bottom:6px}
.bc a:hover{color:var(--m)}
.bc p{margin:0}
.bc span,.bc .separator{opacity:.6;margin:0 4px}
.st{margin:8px 0 12px;font-size:1.65em;font-weight:800;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}
.sm{font-size:14px;color:var(--ts);display:flex;gap:4px 12px;flex-wrap:wrap}
.sm a:hover{color:var(--m)}
.sm .au a{color:var(--tx);font-weight:600}
.sm .upd{color:var(--mt);font-weight:600}
.sth{margin:20px 0}
.sth img{width:100%;border-radius:var(--r);display:block}
.toc{background:var(--bs);border:1px solid var(--bd);border-radius:var(--r);padding:16px 22px;margin:24px 0}
.toc summary{font-weight:700;cursor:pointer}
.toc ol{margin:10px 0 0;padding:0;list-style:none;counter-reset:t;font-size:15px}
.toc li{margin:4px 0}
.toc .h2{counter-increment:t}
.toc .h2::before{content:counter(t) '. '}
.toc .h3{margin-left:20px}
.toc .h3::before{content:'- '}
.toc a{color:var(--ts)}
.toc a:hover{color:var(--m)}
.content{padding:4px 0 8px;min-width:0;overflow-wrap:anywhere}
.content>*{max-width:100%}
.content h2{font-size:1.35em;margin:1.8em 0 .6em;padding-left:12px;border-left:4px solid var(--m);line-height:1.4}
.content h3{font-size:1.15em;margin:1.5em 0 .5em;line-height:1.4}
.content h2,.content h3,.content h4{scroll-margin-top:20px}
.content p{margin:0 0 1.1em}
.content img{border-radius:var(--r)}
.content figure{margin:1.2em 0}
.content figcaption,.wp-caption-text{font-size:.82em;color:var(--ts);margin-top:6px}
.content a{color:var(--m);text-decoration:underline;text-underline-offset:3px}
.content ul,.content ol{padding-left:1.4em;margin:0 0 1.1em}
.content blockquote{margin:1.2em 0;padding:14px 18px;background:var(--ml);color:var(--mt);border-radius:var(--r)}
.content blockquote p:last-child{margin:0}
.content table{border-collapse:collapse;width:100%;font-size:.94em;margin:1.2em 0;display:block;overflow-x:auto}
.content th,.content td{border:1px solid var(--bd);padding:10px 12px;text-align:left}
.content th{background:var(--bs)}
.content pre{overflow-x:auto;background:var(--bs);padding:14px;border-radius:var(--r);font-size:.9em}
.content iframe,.content video{max-width:100%}
.alignleft{float:left;margin:0 1em 1em 0}.alignright{float:right;margin:0 0 1em 1em}.aligncenter{display:block;margin:0 auto}
.lp{display:flex;gap:8px;margin:24px 0;font-weight:700}
.lp a,.lp>span{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bd);border-radius:8px}
.stl{font-size:19px;font-weight:800;margin:32px 0 12px;display:flex;align-items:center;gap:8px}
.stl::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--m)}
.ab{display:flex;gap:16px;align-items:flex-start;margin:28px 0 0;padding:18px 20px;background:var(--bs);border:1px solid var(--bd);border-radius:var(--r)}
.aa{flex:none;display:block}
.ab .avatar{width:56px;height:56px;border-radius:50%;display:block;background:var(--bd)}
.ac{min-width:0}
.ac small{display:block;font-size:13px;color:var(--ts)}
.ac b{display:block;font-size:16px;font-weight:700;line-height:1.5}
.ac b a:hover{color:var(--m)}
.ac p{margin:4px 0 0;font-size:14px;line-height:1.65;color:var(--ts)}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 0}
.pn a{border:1px solid var(--bd);border-radius:var(--r);padding:14px 16px;display:block;min-width:0}
.pn a:hover{border-color:var(--m)}
.pn small{display:block;font-size:13px;color:var(--ts);margin-bottom:4px}
.pn b{font-size:15px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pn .nx{text-align:right;grid-column:2}
.rg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rl{display:flex;gap:12px;min-width:0}
.rl .th{width:92px;height:68px;font-size:12px;padding:6px}
.rb{min-width:0}
.rb b{font-size:15px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rl:hover b{color:var(--m)}
.rb small{display:block;font-size:13px;color:var(--ts)}
/* comments */
.cm{margin-top:36px}
.cm h2,.cm .comment-reply-title{font-size:19px;font-weight:800;margin:0 0 14px}
.cm ol{list-style:none;padding:0;margin:0 0 20px}
.cm .children{padding-left:20px}
.cm .comment-body{border-bottom:1px solid var(--bd);padding:14px 2px;font-size:15px}
.cm .comment-meta,.cm .comment-metadata{font-size:13px;color:var(--ts)}
.cm .reply{font-size:13px}
.cm form{display:flex;flex-direction:column;gap:10px}
.cm input[type=text],.cm input[type=email],.cm input[type=url],.cm textarea{width:100%;font:inherit;font-size:15px;padding:11px 14px;border:1px solid var(--bd);border-radius:var(--r);background:var(--bg);color:var(--tx)}
.cm p{margin:0}
.cm .submit{align-self:flex-end}
.cm .comment-form-cookies-consent,.cm .comment-notes{font-size:13px;color:var(--ts)}
/* footer */
.ft{border-top:1px solid var(--bd);background:var(--bs);text-align:center;font-size:14px;color:var(--ts);padding:28px 0 36px}
.ft ul{list-style:none;margin:0 0 12px;padding:0;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.ft a:hover{color:var(--m)}
.ft p{margin:6px 0 0}
.top{position:fixed;right:20px;bottom:24px;width:48px;height:48px;border-radius:50%;border:1px solid var(--bd);background:var(--bg);color:var(--ts);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:60;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.top.on{display:flex}
.top svg{width:22px;height:22px}
.pgb{position:fixed;top:0;left:0;height:4px;width:0;background:var(--m);z-index:200}
@media(max-width:560px){.st{font-size:1.45em}.th{width:104px;height:78px;font-size:12px}.rg{grid-template-columns:1fr}.pn{grid-template-columns:1fr}.pn .nx{grid-column:auto}}
@media print{.hd,.cats,.top,.pgb{display:none!important}}
.more{background:var(--bs);color:var(--tx);border:1px solid var(--bd);width:100%;max-width:320px}
.more:hover{background:var(--bs);border-color:var(--m);color:var(--m)}
.nm{color:var(--ts);font-size:14px;margin:0}
/* glow-button: 본문 CTA 버튼 (<a class="glow-button"> 또는 [btn] 숏코드) */
.glow-button,.content a.glow-button,.content .wp-block-button__link{display:block;width:70%;min-width:180px;margin:30px auto;padding:18px 22px;background:linear-gradient(90deg,#4f3edc,#6d67ff);color:#fff;font-family:var(--f);font-weight:700;font-size:clamp(16px,4.5vw,22px);border:none;border-radius:12px;text-align:center;cursor:pointer;transition:all .25s ease;box-shadow:0 6px 20px rgba(0,0,0,.15);white-space:normal;line-height:1.5;position:relative;overflow:hidden;animation:subtlePulse 3s ease-in-out infinite;text-decoration:none}
.glow-button:hover,.content a.glow-button:hover,.content .wp-block-button__link:hover{transform:translateY(-3px) scale(1.03)!important;box-shadow:0 8px 28px rgba(0,0,0,.25)!important;background:linear-gradient(90deg,#6d67ff,#4f3edc);color:#fff}
@keyframes subtlePulse{0%,100%{box-shadow:0 6px 20px rgba(0,0,0,.15)}50%{box-shadow:0 6px 26px rgba(79,62,220,.45)}}
@media(prefers-reduced-motion:reduce){.glow-button{animation:none}}
.wp-block-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.wp-block-button{width:70%;min-width:180px;margin:30px auto}
.content .wp-block-button__link{width:100%;margin:0}
/* 모바일: CTA 버튼은 글 폭 100% */
@media(max-width:560px){.glow-button,.content a.glow-button,.wp-block-button{width:100%;min-width:0}.wp-block-buttons{display:block}}
/* 버튼 글자가 길면 버튼 안에서 줄바꿈되어 버튼 높이가 늘어남 (밖으로 넘치지 않음) */
.glow-button,.content a.glow-button,.content .wp-block-button__link{box-sizing:border-box;max-width:100%;height:auto;word-break:keep-all;overflow-wrap:anywhere;hyphens:none}
@media(max-width:560px){.glow-button,.content a.glow-button,.content .wp-block-button__link{padding:16px 14px}}
/* 버튼 한 줄 유지: 스크립트가 글자 크기를 줄여 맞춤 (스크립트가 없으면 줄바꿈) */
.glow-button.nw,.content a.glow-button.nw,.content .wp-block-button__link.nw{white-space:nowrap;overflow-wrap:normal}
.glow-button,.content a.glow-button,.content .wp-block-button__link{transition:transform .25s ease,box-shadow .25s ease}
/* 애드센스: 페이지 안에 삽입되는 광고(자동광고·수동광고)를 본문 글 폭에 맞춤.
   앵커·전면 광고는 구글이 화면 기준으로 직접 배치하므로 대상에서 제외 */
.google-auto-placed{box-sizing:border-box;width:100%;max-width:calc(var(--w) - 40px);margin-left:auto;margin-right:auto;overflow:hidden}
.google-auto-placed>ins.adsbygoogle{max-width:100%}
.content ins.adsbygoogle,main ins.adsbygoogle{max-width:100%;margin-left:auto;margin-right:auto}
@media(max-width:800px){.google-auto-placed{max-width:calc(100% - 40px)}}
/* 글 본문 최상단 광고 */
.lt-ad{margin:0 0 24px;text-align:center;overflow:hidden;max-width:100%}
.lt-ad ins.adsbygoogle{max-width:100%}
