/* 보안 패치 사전 — 권고문 골격 + 자가 점검표(docs/PAGE_SPEC.md 4절) · 밝은/어두운 화면 */
:root{
  --bg:#ffffff;--surface:#f6f7f9;--card:#ffffff;--ink:#1b1f24;--ink2:#374151;--muted:#5b6472;--line:#d9dde3;--line2:#eceff3;
  --accent:#c2410c;--accent-soft:#fff7ed;--link:#1d4ed8;
  --bad:#991b1b;--bad-bg:#fef2f2;--good:#166534;--good-bg:#f0fdf4;--head:#1b1f24;--head-ink:#ffffff;
  --mono:ui-monospace,"SFMono-Regular","DejaVu Sans Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0d1117;--surface:#161b22;--card:#0d1117;--ink:#e6edf3;--ink2:#c9d1d9;--muted:#9aa4af;--line:#30363d;--line2:#21262d;
  --accent:#fb923c;--accent-soft:#2a1a10;--link:#79b8ff;
  --bad:#fca5a5;--bad-bg:#2d1416;--good:#86efac;--good-bg:#0f2a1a;--head:#e6edf3;--head-ink:#0d1117;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d1117;--surface:#161b22;--card:#0d1117;--ink:#e6edf3;--ink2:#c9d1d9;--muted:#9aa4af;--line:#30363d;--line2:#21262d;
  --accent:#fb923c;--accent-soft:#2a1a10;--link:#79b8ff;
  --bad:#fca5a5;--bad-bg:#2d1416;--good:#86efac;--good-bg:#0f2a1a;--head:#e6edf3;--head-ink:#0d1117;color-scheme:dark}

*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink2);font:16px/1.75 "Noto Sans KR","Noto Sans CJK KR",system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--link)}code,.mono{font-family:var(--mono);font-size:.92em}
code{background:var(--surface);border:1px solid var(--line2);padding:0 5px;border-radius:4px}

.top{border-top:5px solid var(--accent);border-bottom:1px solid var(--line);background:var(--bg)}
.top .in{max-width:960px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:900;font-size:18px;letter-spacing:-.3px}
.brand img{width:26px;height:26px}.brand small{font-weight:400;color:var(--muted);font-size:12.5px;letter-spacing:0}
.nav{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:14px}.nav a{color:var(--ink2);text-decoration:none}.nav a:hover{color:var(--accent)}
.theme{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:999px;padding:3px 10px;font:inherit;font-size:13px;cursor:pointer}

main{max-width:960px;margin:0 auto;padding:20px 16px 40px}.wrap{max-width:880px}
.crumb{font-size:13px;color:var(--muted)}.crumb a{color:var(--muted)}
.kicker{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--accent);border-bottom:2px solid var(--ink);padding-bottom:6px;margin-top:6px}
.kicker a{color:inherit;text-decoration:none}
h1{color:var(--ink);font-size:28px;line-height:1.35;margin:14px 0 16px;letter-spacing:-.3px}
h2{color:var(--ink);font-size:19px;line-height:1.4;margin:36px 0 10px;padding-left:10px;border-left:4px solid var(--accent)}
.mu{color:var(--muted);font-size:14px}

/* 자가 점검표 */
.check{border:2px solid var(--ink);border-radius:12px;padding:4px 18px;background:var(--card)}
.q{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line)}.q:last-child{border:0}
.n{flex:0 0 30px;height:30px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px}
.q>div{flex:1;min-width:0}.q b.h{display:block;color:var(--ink);font-size:16.5px}.q p{margin:4px 0 0}
.vt{width:100%;border-collapse:collapse;margin-top:6px;font-size:15px}.vt td{padding:8px 6px;border-top:1px solid var(--line2);vertical-align:top}
.vt .br{color:var(--ink);font-weight:700}.vt .to{background:var(--good-bg);color:var(--good);border-radius:6px;font-family:var(--mono);font-weight:700}
.vt .kind{font-family:inherit;font-weight:400;font-size:12.5px;color:var(--muted);margin-left:6px}
.q ul{margin:6px 0 0;padding-left:18px}.q li{margin:3px 0}

/* 식별 격자 */
.meta{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);margin:18px 0 0;border-radius:8px;overflow:hidden}
.meta div{padding:10px 12px;border-right:1px solid var(--line);background:var(--surface)}.meta div:last-child{border-right:0}
.meta dt{font-size:12px;color:var(--muted)}.meta dd{margin:3px 0 0;color:var(--ink);font-size:15.5px;font-weight:700}.meta small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.sev{display:inline-block;width:56px;height:7px;background:var(--line2);vertical-align:middle;margin-right:6px;border-radius:4px;overflow:hidden}.sev i{display:block;height:100%;background:var(--accent)}
.red{color:var(--bad)}.green{color:var(--good)}

.lead{font-size:16.5px;line-height:1.85;margin:22px 0}
.cite{margin:18px 0;padding:12px 16px;background:var(--surface);border-left:4px solid var(--ink);border-radius:0 8px 8px 0}
.cite span{display:block;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:2px}

.tl{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(var(--cols,4),1fr);border-top:2px solid var(--line)}
.tl li{position:relative;padding:12px 10px 0 0;font-size:13.5px;line-height:1.5}
.tl li:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.tl time{display:block;font-family:var(--mono);font-weight:700;font-size:12.5px;color:var(--ink)}

table.mx{width:100%;border-collapse:collapse;font-size:14.5px}
.mx th,.mx td{padding:8px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}
.mx thead th{background:var(--head);color:var(--head-ink);font-weight:700}
.mx .bad{background:var(--bad-bg);color:var(--bad);font-family:var(--mono)}.mx .good{background:var(--good-bg);color:var(--good);font-family:var(--mono);font-weight:700}
.mx .src{font-size:13px}.scroll{overflow-x:auto}
ol.steps li,ul.plain li{margin:6px 0}
details{border-bottom:1px solid var(--line2);padding:8px 0}summary{cursor:pointer;font-weight:700;color:var(--ink)}details p{margin:6px 0 0}
.hist{font-size:14px}.hist time{font-family:var(--mono);margin-right:8px;color:var(--ink)}
.citehow{font-size:12.5px;color:var(--muted);background:var(--surface);padding:8px 12px;border-radius:6px;font-family:var(--mono);word-break:break-all}
.share{display:flex;gap:8px;margin:14px 0}.share button{border:1px solid var(--line);background:var(--surface);color:var(--ink2);border-radius:8px;padding:6px 12px;font:inherit;font-size:14px;cursor:pointer}

/* 목록 */
.intro{font-size:17px;color:var(--ink);margin:4px 0 18px}
.list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.list li{padding:12px 0;border-bottom:1px solid var(--line2)}
.list a.t{color:var(--ink);font-weight:700;text-decoration:none;font-size:16.5px}.list a.t:hover{color:var(--accent)}
.list .m{font-size:13px;color:var(--muted);margin-top:2px}.chip{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);margin-right:6px}
.chip.kev{border-color:var(--bad);color:var(--bad)}.chip.ok{border-color:var(--good);color:var(--good)}
.cols{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:14px}
.search{width:100%;padding:10px 12px;font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}

footer.site{border-top:1px solid var(--line);margin-top:40px}
footer.site .in{max-width:960px;margin:0 auto;padding:16px;font-size:12.5px;color:var(--muted);line-height:1.75}
footer.site a{color:var(--muted)}

@media (max-width:760px){
  h1{font-size:22px}.meta{grid-template-columns:1fr 1fr}.meta div{border-right:0;border-bottom:1px solid var(--line)}
  .check{padding:2px 12px}.tl{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--line);padding-left:14px}
  .tl li{padding:6px 0 8px}.tl li:before{top:11px;left:-21px}.nav{margin-left:0;width:100%}.brand small{display:none}
}

/* 이 사이트의 판단 · 독자별 안내(PAGE_SPEC 2-1절) */
.judge{margin:16px 0 0;padding:12px 16px;border:2px solid var(--accent);border-radius:10px;background:var(--accent-soft)}
.judge .jt{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.04em}.judge p{margin:4px 0 0;color:var(--ink)}.judge b{color:var(--accent)}
.aud{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:14px 0 0}
.aud>div{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--card)}
.aud h3{margin:0 0 4px;font-size:13.5px;color:var(--accent)}.aud p{margin:4px 0;font-size:15px}.aud ul{margin:4px 0;padding-left:18px;font-size:14px}
.aud q{font-size:13.5px;color:var(--ink2)}.aud code{font-size:12.5px;word-break:break-all}

/* 홈 분류 카드(쓰는 물건 기준) */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:8px 0 6px}
.catcard{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none;color:var(--ink2)}
.catcard:hover{border-color:var(--accent)}.catcard b{color:var(--ink);font-size:16px}.catcard span{font-size:13px;color:var(--muted)}
.catcard em{font-style:normal;font-size:13px;color:var(--accent);font-weight:700;margin-top:2px}
.more{margin-top:16px;font-size:14px}

/* 홈 검색창 · 묶음 줄 · 휴대폰 분류 카드 2열(2026-11-07 사용자 확정) */
.sform{margin:14px 0 4px}.sform .search{width:100%}
#r:empty{display:none}
.grp .gl{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.7}.grp .gl a{white-space:nowrap}
@media (max-width:560px){
  .cats{grid-template-columns:repeat(2,1fr);gap:8px}
  .catcard{padding:10px 11px}.catcard b{font-size:15px}.catcard span{font-size:12px;line-height:1.45}
}

/* braindetox.kr 해설 글 연결(SEO.md 9절) */
.bdx{margin:12px 0 0;padding:10px 14px;border-left:3px solid var(--accent);background:var(--card);font-size:14px;line-height:1.7}
