:root{
 --bg:#ffffff;--surface:#f8f7f5;--surface-2:#f1efec;--line:#e6e3df;--line-strong:#d4d0ca;
 --text-4:#a8a29e;--text-3:#7c766f;--text-2:#5c5651;--text-1:#3d3833;--text:#1c1917;
 --brand:#c9a227;--brand-ink:#1f1d1a;--brand-soft:#f6f4ef;--brand-text:#7a6214;
 --font:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif;
 --mono:ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
 --w-page:1180px;--w-read:720px;
 --r-s:6px;--r-m:10px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){ --bg:#121315;--surface:#18191c;--surface-2:#202226;--line:#2b2d32;--line-strong:#3a3d43;--text-4:#6b6f78;--text-3:#8f939b;--text-2:#b4b7be;--text-1:#d9dbe0;--text:#f2f3f5;--brand:#d9b54a;--brand-ink:#1f1d1a;--brand-soft:#23211d;--brand-text:#e0c36a }}:root[data-theme=dark]{ --bg:#121315;--surface:#18191c;--surface-2:#202226;--line:#2b2d32;--line-strong:#3a3d43;--text-4:#6b6f78;--text-3:#8f939b;--text-2:#b4b7be;--text-1:#d9dbe0;--text:#f2f3f5;--brand:#d9b54a;--brand-ink:#1f1d1a;--brand-soft:#23211d;--brand-text:#e0c36a }
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--bg);color:var(--text-1);font:400 16px/1.7 var(--font);letter-spacing:-.006em;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{color:var(--text);letter-spacing:-.025em;word-break:keep-all}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--bg);padding:6px 10px;z-index:99}
.wrap{max-width:var(--w-page);margin:0 auto;padding:0 24px}
.read{max-width:var(--w-read);margin:0 auto}
@media (max-width:640px){.wrap{padding:0 16px}}
.sk-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.sk-header-row{display:flex;align-items:center;gap:28px;height:64px}
.sk-logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;letter-spacing:-.035em;color:var(--text);white-space:nowrap}
.sk-nav{display:flex;gap:4px;flex-wrap:wrap;font-size:15px;font-weight:500}
.sk-nav a{padding:6px 10px;border-radius:var(--r-s);color:var(--text-2)}
.sk-nav a:hover{background:var(--surface-2);color:var(--text)}
.sk-nav a[aria-current]{color:var(--text);font-weight:700}
.sk-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.theme-toggle{width:34px;height:34px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--bg);color:var(--text-2);cursor:pointer;font-size:14px}
@media (max-width:760px){.sk-header{position:static}.sk-header-row{height:auto;flex-wrap:wrap;gap:6px 14px;padding-top:12px;padding-bottom:12px}.sk-nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;margin:0 -6px}.sk-nav a{white-space:nowrap}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;border-radius:var(--r-s);font-weight:600;font-size:15px;letter-spacing:-.01em;border:1px solid transparent;white-space:nowrap}
.btn-primary{background:var(--brand);color:var(--brand-ink)}
.btn-primary:hover{filter:brightness(.95)}
.btn-line{border-color:var(--line-strong);color:var(--text)}
.btn-line:hover{background:var(--surface)}
.btn-lg{height:52px;padding:0 24px;font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chip{display:inline-flex;align-items:center;white-space:nowrap;flex:none;height:34px;padding:0 14px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:14px;font-weight:600}
.chip:hover{color:var(--text)}
.chip[aria-current],.chip.on{background:var(--text);color:var(--bg)}
.tag{display:inline-block;font-size:12.5px;font-weight:600;color:var(--brand-text);background:var(--brand-soft);padding:2px 8px;border-radius:4px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;font-size:13px;color:var(--text-3);margin:0}
.meta>*+*::before{content:"";display:inline-block;width:1px;height:10px;background:var(--line-strong);margin-right:8px;vertical-align:-1px}
.meta a{color:inherit}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 20px}
.sec-head h2{font-size:22px;font-weight:700;margin:0}
.sec-head a{font-size:14px;font-weight:600;color:var(--brand-text)}
.sec{padding:56px 0;border-top:1px solid var(--line)}
.sec:first-child{border-top:0}
.card{display:flex;flex-direction:column;gap:12px;min-width:0}
.card-thumb{display:block;border-radius:var(--r-m);overflow:hidden;background:var(--surface-2);aspect-ratio:1200/630}
.card-thumb.sq{aspect-ratio:1/1}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .card-thumb img{transform:scale(1.02)}
.card-title{font-size:19px;line-height:1.45;font-weight:700;letter-spacing:-.022em;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card:hover .card-title{color:var(--brand-text)}
.card-desc{font-size:14.5px;line-height:1.55;color:var(--text-3);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
@media (max-width:960px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-3,.grid-2{grid-template-columns:minmax(0,1fr);gap:32px}}
.row-item{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.row-item .card-thumb{aspect-ratio:16/10}
@media (max-width:640px){.row-item{grid-template-columns:minmax(0,1fr) 96px;gap:14px;padding:18px 0}.row-item .card-title{font-size:17px}.row-item .card-desc{display:none}}
.crumbs ol{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--text-3)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line-strong)}
.crumbs a:hover{color:var(--text)}
.page-head{padding:56px 0 32px}
.page-head h1{font-size:clamp(28px,4.2vw,40px);line-height:1.3;font-weight:800;margin:0 0 12px;letter-spacing:-.035em}
.page-head .lead{font-size:17px;color:var(--text-3);margin:0;max-width:680px}
.post-head{padding:48px 0 28px}
.post-head h1{font-size:clamp(30px,4.4vw,44px);line-height:1.35;font-weight:700;margin:10px 0 16px;letter-spacing:-.03em}
.post-head .dek{font-size:18px;line-height:1.65;color:var(--text-3);margin:0 0 20px}
.post-meta{display:flex;flex-wrap:wrap;gap:0 8px;font-size:13px;color:var(--text-3);margin:0 0 8px}
.post-meta>span+span::before{content:"";display:inline-block;width:1px;height:10px;background:var(--line-strong);margin-right:8px;vertical-align:-1px}
.post-meta a{color:var(--text-2)}
.hero-img,.figure{margin:0 0 36px}.hero-img img,.figure img{border-radius:var(--r-m);width:100%}
.summary-box{background:var(--brand-soft);border-radius:var(--r-m);padding:22px 26px;margin:0 0 40px}
.summary-label{font-size:13px;font-weight:700;color:var(--brand-text);margin:0 0 6px;letter-spacing:0}
.summary-text{margin:0;font-size:17px;line-height:1.75;color:var(--text);font-weight:600}
.interest-disclosure{border:1px solid var(--line);border-radius:var(--r-s);padding:10px 14px;margin:0 0 20px;font-size:14px;color:var(--text-2)}
.interest-disclosure p{margin:0}.interest-label{font-weight:700;color:var(--text-1);margin:0 0 2px}
.prose{font-size:17px;line-height:1.78;color:var(--text-1)}
.prose>*:first-child{margin-top:0}
.prose p,.prose ul,.prose ol{margin:0 0 1.25em}
.prose li{margin:.35em 0}
.prose h2{font-size:28px;line-height:1.4;font-weight:700;margin:2.4em 0 .7em;letter-spacing:-.03em}
.prose h3{font-size:20px;line-height:1.45;font-weight:700;margin:2em 0 .6em}
.prose a{color:var(--brand-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand-text) 35%,transparent);text-underline-offset:3px}
.prose strong{color:var(--text);font-weight:700}
.prose blockquote{margin:1.8em 0;padding:2px 0 2px 20px;border-left:3px solid var(--text);color:var(--text-2);font-size:17px}
.prose blockquote p{margin:0}
.prose code{font:500 .88em var(--mono);background:var(--surface-2);padding:2px 6px;border-radius:4px}
.prose pre{background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:var(--r-s);overflow-x:auto;font-size:14px}
.prose hr{border:0;border-top:1px solid var(--line);margin:3em 0}
.prose figure{margin:2em 0}.prose figcaption,.figure figcaption{font-size:13px;color:var(--text-3);margin-top:8px}
.prose img{border-radius:var(--r-m)}
.prose dl dt{font-weight:700;color:var(--text)}.prose dl dd{margin:0 0 1em;color:var(--text-2)}
.pending-link{color:inherit}
.table-wrap{overflow-x:auto;margin:1.8em 0;border:1px solid var(--line);border-radius:var(--r-m)}
table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.6}
th{background:var(--surface);font-weight:700;color:var(--text);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:14px}
td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-1)}
tbody tr:last-child td{border-bottom:0}
.tasks{list-style:none;padding:0}
.task{display:flex;gap:12px;align-items:flex-start;padding:8px 0}
.task .box{flex:none;width:20px;height:20px;margin-top:4px;border:1.5px solid var(--line-strong);border-radius:5px;background:var(--bg)}
.task.done .box{background:var(--brand);border-color:var(--brand)}
.faq,.sources,.cite,.dataset-box,.related{margin:64px 0 0}
.faq h2,.sources h2,.cite h2,.dataset-box h2,.related h2{font-size:20px;font-weight:700;margin:0 0 16px}
.faq-item{border-top:1px solid var(--line);padding:18px 0}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item h3{font-size:17px;font-weight:700;margin:0 0 6px;letter-spacing:-.02em}
.faq-item p{margin:0;color:var(--text-2);font-size:16px}
.sources ol{margin:0;padding-left:1.2em;font-size:14px;color:var(--text-3);line-height:1.7}
.sources a{color:var(--text-2);text-decoration:underline;text-decoration-color:var(--line-strong)}
.cite code{display:block;font:400 13px/1.6 var(--font);background:var(--surface);padding:12px 16px;border-radius:var(--r-s);white-space:normal;color:var(--text-2)}
.dataset-box{border:1px solid var(--line);border-radius:var(--r-m);padding:20px 24px}
.dataset-box h2{font-size:17px}
.dataset-box dl{display:grid;grid-template-columns:110px 1fr;gap:6px 16px;margin:0;font-size:15px}
.dataset-box dt{color:var(--text-3)}.dataset-box dd{margin:0}
.tag-list{list-style:none;padding:0;margin:40px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tag-list a{display:inline-block;font-size:13px;color:var(--text-2);background:var(--surface-2);padding:4px 10px;border-radius:999px}
.pagination{display:flex;gap:4px;justify-content:center;margin:56px 0 0}
.pagination a,.pagination span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:var(--r-s);font-size:14px;color:var(--text-2)}
.pagination a:hover{background:var(--surface-2)}
.pagination span{background:var(--text);color:var(--bg);font-weight:700}
.empty-note{border:1px dashed var(--line-strong);border-radius:var(--r-m);padding:20px 24px;color:var(--text-3);font-size:15px;margin:24px 0}
.static-page,.terms-page,.notfound{max-width:var(--w-read);margin:0 auto;padding:48px 0 80px}
.static-page h1,.terms-page h1,.notfound h1{font-size:clamp(28px,4vw,38px);font-weight:800;margin:0 0 24px;letter-spacing:-.035em;line-height:1.3}
.terms{list-style:none;padding:0;margin:0}
.terms li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:14px 0;border-bottom:1px solid var(--line)}
.terms a{font-weight:700;color:var(--text)}.terms .count{font-size:13px;color:var(--text-3)}.term-desc{flex-basis:100%;font-size:14px;color:var(--text-3)}
.notfound ul{padding-left:1.2em}
.sk-footer{margin-top:96px;background:var(--surface);border-top:1px solid var(--line);padding:48px 0 56px;font-size:14px;color:var(--text-3)}
.sk-footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}
@media (max-width:640px){.sk-footer-grid{grid-template-columns:1fr}}
.sk-footer .f-name{font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.03em;margin:0 0 8px}
.sk-footer .f-desc{margin:0;max-width:440px;line-height:1.65}
.disclosure p{margin:0 0 6px}.operator{font-weight:700;color:var(--text-1)}.site-sign{display:none}
.footer-links{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-links a{color:var(--text-2);font-weight:500}.footer-links a:hover{color:var(--text)}
.copyright{font-size:13px;color:var(--text-4)}
.interest-disclosure.interest-line{display:block;border:0;background:none;padding:0;margin:0 0 18px;font-size:13px;line-height:1.6;color:var(--text-3)}
.interest-line .interest-label{display:inline;font-weight:700;margin:0 6px 0 0;color:var(--text-2)}
.author-page{max-width:var(--w-read);margin:0 auto;padding:48px 24px 80px}
.ap-head{display:flex;gap:24px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}
.ap-avatar{width:96px;height:96px;border-radius:50%;flex:none}
.ap-head h1{font-size:clamp(28px,4vw,38px);font-weight:800;letter-spacing:-.035em;margin:0 0 6px}
.ap-role{margin:0 0 6px;font-size:17px;font-weight:600;color:var(--brand-text)}
.ap-note{margin:0;font-size:14px;color:var(--text-3)}
.ap-sec{padding:28px 0 0}
.ap-sec h2{font-size:18px;font-weight:700;margin:0 0 10px}
.ap-sec p{margin:0 0 8px;font-size:16px;line-height:1.75;color:var(--text-2)}
.ap-sec a{color:var(--brand-text)}
.ap-list{margin:0;padding-left:1.2em;color:var(--text-2);font-size:15.5px;line-height:1.75}
.ap-posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ap-posts li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}
.ap-posts a{font-weight:700;color:var(--text)}.ap-posts a:hover{color:var(--brand-text)}
.ap-posts span{font-size:13px;color:var(--text-3)}
@media (max-width:640px){.author-page{padding:32px 16px 56px}.ap-head{gap:16px}.ap-avatar{width:72px;height:72px}}
.byline{align-items:center;gap:0 8px}
.by-av{width:28px;height:28px;border-radius:50%;margin-right:2px}
.by-name a{font-weight:700;color:var(--text-1)}
.byline>span.by-name::before,.byline>img+span::before{display:none}
.row-sq{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.row-sq .card-thumb{aspect-ratio:1/1;border-radius:var(--r-m)}
.row-sq .card-title{font-size:18px}
@media (max-width:640px){.row-sq{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:16px 0}.row-sq .card-desc{display:none}.row-sq .card-title{font-size:16px}}
:root{--tint:#fbf8f1;--font-head:'Gowun Batang', serif;--hw:700}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--tint:var(--bg)}}
:root[data-theme=dark]{--tint:var(--bg)}
body.t-inblog{background:var(--tint)}
.ib-logo,.ib-hero h1,.ib-list-head h1,.ib-title,.ib-post-head h1,.ib-related h2,.ib-rel h3,.ib-article .prose h2,.ib-article .prose h3{font-family:var(--font-head);font-weight:var(--hw)}
.ib-thumb,.ib-cover,.ib-author,.ib-toc{border-radius:var(--r-m)}
.hero-left .ib-hero{text-align:left;background:none;padding:64px 0 40px}
.hero-left .ib-hero p{margin:0}
.hero-band .ib-hero{background:var(--brand);border-bottom:0}
.hero-band .ib-hero h1{color:var(--brand-ink)}
.hero-band .ib-hero p{color:color-mix(in srgb,var(--brand-ink) 82%,transparent)}
.hero-dark .ib-hero{background:color-mix(in srgb,var(--brand) 16%,#0d0f10);border-bottom:0;text-align:left;padding:80px 0 64px}
.hero-dark .ib-hero h1{color:#fff;font-size:clamp(34px,6vw,58px)}
.hero-dark .ib-hero p{color:#c9ccd1;margin:0}
.hero-paper .ib-hero{background:none;border-bottom:3px double var(--line-strong);text-align:left;padding:56px 0 32px}
.hero-paper .ib-hero p{margin:0}
.list-grid .ib-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
.list-grid .ib-row{grid-template-columns:1fr;gap:14px;padding:0;border:0}
.list-grid .ib-title{font-size:19px}
.list-magazine .ib-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.list-magazine .ib-row:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;padding-bottom:36px}
.list-magazine .ib-row:first-child .ib-title{font-size:28px}
.list-magazine .ib-row:not(:first-child){grid-template-columns:1fr;gap:14px}
@media (max-width:720px){.list-grid .ib-rows,.list-magazine .ib-rows{grid-template-columns:1fr}.list-magazine .ib-row:first-child{grid-template-columns:1fr}}
.wrap{max-width:1160px}
.ib-mark{display:block;width:22px;height:22px;flex:none}
.ib-avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;font-size:22px;flex:none}
.ib-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.ib-header-row{display:flex;align-items:center;gap:28px;height:64px}
.ib-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.03em;color:var(--text);white-space:nowrap}
.ib-nav{display:flex;gap:22px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.ib-nav a{font-size:15px;color:var(--text-2);white-space:nowrap;padding:6px 0}
.ib-nav a:hover,.ib-nav a[aria-current]{color:var(--text);font-weight:600}
.ib-hero{padding:72px 0 56px;text-align:center;background:var(--surface-2);border-bottom:1px solid var(--line)}
.ib-hero h1{font-size:clamp(32px,5vw,48px);font-weight:800;letter-spacing:-.045em;margin:0 0 12px}
.ib-hero p{font-size:17px;color:var(--text-3);margin:0 auto;max-width:640px}
.ib-cols{display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;padding-top:48px;padding-bottom:80px}
.ib-side{position:sticky;top:96px;align-self:start}
.ib-side-title{font-size:12px;letter-spacing:.08em;color:var(--text-4);margin:0 0 12px}
.ib-side ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ib-side a{display:block;padding:7px 0;font-size:15.5px;color:var(--text-2)}
.ib-side a:hover{color:var(--text)}
.ib-side a[aria-current]{color:var(--brand-text);font-weight:700}
.ib-list-head{margin-bottom:24px}
.ib-list-head h1{font-size:30px;font-weight:800;letter-spacing:-.04em;margin:8px 0}
.ib-list-head p{color:var(--text-3);margin:0}
.ib-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.ib-row:first-of-type{padding-top:8px}
.ib-thumb{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1200/630;background:var(--surface-2)}
.ib-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.ib-row:hover .ib-thumb img,.ib-rel:hover .ib-thumb img{transform:scale(1.02)}
.ib-title{font-size:21px;line-height:1.42;font-weight:700;letter-spacing:-.03em;margin:2px 0 8px}
.ib-title a:hover,.ib-rel h3 a:hover{color:var(--brand-text)}
.ib-sum{font-size:15px;line-height:1.65;color:var(--text-3);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ib-meta{display:flex;gap:12px;font-size:13px;color:var(--text-4);margin:0}
.ib-meta a{color:var(--text-3)}
.ib-post-wrap{padding-top:40px;padding-bottom:80px}
.ib-article{max-width:var(--w-read,720px);margin:0 auto}
.ib-post-head{margin-bottom:28px}
.ib-cat{display:inline-block;font-size:14px;font-weight:700;color:var(--brand-text);margin:14px 0 8px}
.ib-post-head h1{font-size:clamp(28px,4vw,38px);line-height:1.32;font-weight:800;letter-spacing:-.045em;margin:0 0 14px}
.ib-dek{font-size:17px;line-height:1.7;color:var(--text-3);margin:0 0 18px}
.ib-byline{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;color:var(--text-4);margin:0}
.ib-byline a{color:var(--text-2);font-weight:600}
.ib-cover{margin:0 0 32px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.ib-cover img{display:block;width:100%;height:auto}
.ib-toc{background:var(--surface-2);border-radius:12px;padding:16px 20px;margin:0 0 32px;font-size:15px}
.ib-toc p{font-weight:700;margin:0 0 6px}
.ib-toc ol{margin:0;padding-left:20px}
.ib-toc li{margin:3px 0}
.ib-toc a{color:var(--text-2)}
.ib-author{display:flex;gap:16px;align-items:flex-start;margin-top:48px;padding:24px;border:1px solid var(--line);border-radius:16px}
.ib-author-name{font-weight:700;margin:0 0 6px}
.ib-author-bio{font-size:14.5px;line-height:1.7;color:var(--text-3);margin:0 0 4px}
.ib-related{max-width:1000px;margin:72px auto 0}
.ib-related h2{font-size:22px;font-weight:800;letter-spacing:-.03em;margin:0 0 20px}
.ib-rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ib-rel h3{font-size:16.5px;line-height:1.45;font-weight:700;letter-spacing:-.02em;margin:12px 0 6px}
.ib-footer{border-top:1px solid var(--line);padding:36px 0 48px;margin-top:40px;color:var(--text-3);font-size:14px}
.ib-footer-row{display:grid;gap:12px}
.ib-fname{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--text);margin:0}
.ib-flinks{display:flex;gap:18px;flex-wrap:wrap}
.ib-flinks a{color:var(--text-3)}
.ib-fcopy{font-size:13px;color:var(--text-4);margin:0}
@media (max-width:960px){.ib-cols{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:24px}
 .ib-side{position:static}.ib-side-title{display:none}.ib-side ul{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
 .ib-side a{white-space:nowrap;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px}
 .ib-nav{display:none}}
@media (max-width:640px){.ib-row{grid-template-columns:minmax(0,1fr);gap:14px}.ib-rel-grid{grid-template-columns:minmax(0,1fr)}.ib-hero{padding:44px 0 36px}.ib-title{font-size:19px}}
.vs-table,.picks{margin:0 0 36px}
.vs-table .sec-head,.picks .sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.vs-table h2,.picks h2{font-size:20px;font-weight:800;letter-spacing:-.03em;margin:0 0 12px}
.c-checked{font-size:13px;color:var(--text-4)}
.vs-table .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.vs-table table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.vs-table th,.vs-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.vs-table thead th{background:var(--surface-2);font-weight:700}
.vs-table tbody th{font-weight:600;color:var(--text-2);white-space:nowrap}
.pick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pick{border:1px solid var(--line);border-radius:12px;padding:16px}
.pick-when{font-size:13.5px;color:var(--text-3);margin:0 0 4px}
.pick-what{font-weight:700;margin:0 0 4px}
.pick-why{font-size:14px;color:var(--text-3);margin:0}
@media (max-width:640px){.pick-grid{grid-template-columns:minmax(0,1fr)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
