:root{color-scheme:dark;--bg-0:#07080c;--bg-2:#0c0d12;--bg-4:#111219;--tx:#fff;--tx-9:rgba(255,255,255,.9);--tx-7:rgba(255,255,255,.7);--tx-5:rgba(255,255,255,.5);--ln-1:rgba(255,255,255,.1);--ln-0:rgba(255,255,255,.06);--amber:#ffc83d;--peri:#8b95f2;--info:#56a4ff;--on-amber:#1a1500}
:root[data-theme="light"]{color-scheme:light;--bg-0:#f7f6f1;--bg-2:#efede4;--bg-4:#fff;--tx:#171923;--tx-9:rgba(23,25,35,.94);--tx-7:rgba(23,25,35,.78);--tx-5:rgba(23,25,35,.62);--ln-1:rgba(23,25,35,.13);--ln-0:rgba(23,25,35,.08);--amber:#8a5d06;--peri:#4a56d6;--info:#1f62b8;--on-amber:#fff}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;overflow-x:hidden;background:var(--bg-0);color:var(--tx);font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.7;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--amber);color:var(--on-amber)}
.blogBg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(88% 58% at 82% 12%,rgba(101,113,236,.12),transparent 68%),radial-gradient(72% 54% at 5% 58%,rgba(255,200,61,.055),transparent 72%),linear-gradient(180deg,#090a10 0%,#07080c 56%,#0a0b10 100%);background-color:var(--bg-0)}
.util{height:32px;display:flex;align-items:center;gap:12px;padding:0 clamp(20px,4vw,54px);border-bottom:1px solid var(--ln-1);background:rgba(7,8,12,.88);color:var(--tx-5);font:500 10px/1 'JetBrains Mono',monospace;letter-spacing:.08em}.util span:first-child{color:var(--tx-7);font-weight:700}.util i{color:var(--amber);font-style:normal}.util b{font-weight:400}.util em{margin-left:auto;font-style:normal}
.blogNav{position:sticky;top:0;z-index:10;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,54px);border-bottom:1px solid var(--ln-0);background:rgba(7,8,12,.78);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px}.brand__icon{width:38px;height:38px;border-radius:9px}.brand__word{width:138px;filter:invert(1) brightness(1.6)}.blogNav nav{display:flex;align-items:center;gap:8px;color:var(--tx-5);font:600 11px/1 'JetBrains Mono',monospace}.blogNav nav a{padding:10px 13px;border-radius:999px}.blogNav nav a:hover,.blogNav nav .active{color:var(--tx-9);background:var(--ln-0)}.blogNav nav .download{margin-left:8px;background:var(--amber);color:var(--on-amber);font-weight:700}
.blogTheme{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--ln-1);border-radius:50%;background:var(--bg-2);color:var(--tx-7);font:600 16px/1 sans-serif;cursor:pointer}.blogTheme__sun{display:none}:root[data-theme="light"] .blogTheme__sun{display:inline}:root[data-theme="light"] .blogTheme__moon{display:none}
main{width:100%;max-width:1240px;margin:0 auto;padding:0 40px}.blogHero{position:relative;padding:clamp(84px,11vw,150px) 0 66px;border-bottom:1px solid var(--ln-1)}.blogHero::after{content:"JOURNAL / 01";position:absolute;right:0;top:clamp(92px,12vw,165px);color:var(--tx-5);font:500 10px/1 'JetBrains Mono',monospace;writing-mode:vertical-rl;letter-spacing:.2em}.eyebrow{color:var(--amber);font:700 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase}.blogHero h1,.articleHead h1,.authorPage h1{max-width:940px;margin:20px 0 22px;font-size:clamp(46px,7vw,86px);font-weight:800;line-height:.98;letter-spacing:-.055em}.blogHero>p:not(.eyebrow),.dek{max-width:720px;color:var(--tx-7);font-size:clamp(17px,2vw,22px)}
.localeNav{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.localeNav a{padding:8px 13px;border:1px solid var(--ln-1);border-radius:999px;color:var(--tx-5);background:rgba(12,13,18,.72);font:600 10px/1 'JetBrains Mono',monospace}.localeNav a:hover{border-color:var(--tx-5);color:var(--tx-9)}.localeNav a[aria-current]{border-color:var(--amber);color:var(--amber);background:rgba(255,200,61,.06)}
.postGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:48px 0 110px}.postCard{position:relative;overflow:hidden;border:1px solid var(--ln-1);border-radius:20px;background:rgba(17,18,25,.82);box-shadow:0 40px 90px -50px rgba(0,0,0,.9);backdrop-filter:blur(12px);transition:transform .3s,border-color .3s}.postCard:hover{transform:translateY(-4px);border-color:rgba(139,149,242,.45)}.postCard__media{display:block;aspect-ratio:16/9;overflow:hidden}.postCard__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.postCard:hover .postCard__media img{transform:scale(1.035)}.postCard__body{padding:30px}.postGrid>.postCard:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}.postGrid>.postCard:only-child .postCard__media{aspect-ratio:auto;min-height:440px}.postMeta,.byline{display:flex;flex-wrap:wrap;gap:14px;color:var(--tx-5);font:600 10px/1 'JetBrains Mono',monospace}.postMeta span{color:var(--peri)}.postCard h2{margin:20px 0 14px;font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-.035em}.postCard p{color:var(--tx-7)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tags span{color:var(--info);font:600 10px 'JetBrains Mono',monospace}.read{display:inline-flex;align-items:center;gap:8px;color:var(--amber);font-weight:750}
.articleViews{display:inline-flex;align-items:center;gap:6px}.articleViews b{color:var(--info);font-weight:700}
.articleWrap{max-width:1080px}.articleHead{padding:80px 0 50px;border-bottom:1px solid var(--ln-1)}.back{display:inline-block;margin-bottom:48px;color:var(--tx-5);font:600 11px 'JetBrains Mono',monospace}.articleHero{margin:44px 0 0}.articleHero img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--ln-1);border-radius:22px}.articleHero figcaption{padding:11px 4px;color:var(--tx-5);font:500 10px 'JetBrains Mono',monospace}.prose{max-width:760px;margin:0 auto;padding:58px 0}.prose h2{margin:56px 0 17px;font-size:31px;line-height:1.25;letter-spacing:-.03em}.prose h3{margin:34px 0 12px;font-size:21px}.prose p,.prose li{color:rgba(255,255,255,.78);font-size:18px}.prose p+p{margin-top:16px}.prose ul,.prose ol{margin:18px 0 18px 22px}.prose li{margin:8px 0}.prose strong{color:var(--amber)}.prose a{color:var(--info);text-decoration:underline}.prose img{width:100%;margin:38px 0 10px;border:1px solid var(--ln-1);border-radius:18px}.prose em{color:var(--tx-5)}.prose table{width:100%;margin:32px 0;border-collapse:collapse;font-size:14px}.prose th,.prose td{padding:14px;border:1px solid var(--ln-1);text-align:left;vertical-align:top}.prose th{color:var(--amber);background:var(--bg-4)}
.sourceBox,.disclaimer{max-width:760px;margin:0 auto 24px;padding:25px;border:1px solid var(--ln-1);border-radius:15px;background:rgba(17,18,25,.78)}.sourceBox h2{margin-top:0;font-size:18px}.sourceBox ol{margin-left:22px}.sourceBox li{margin:10px 0}.sourceBox small{display:block;color:var(--tx-5)}.disclaimer{color:var(--tx-5);font-size:13px}.authorPage{padding:100px 0}.blogFoot{display:flex;justify-content:space-between;gap:30px;padding:45px clamp(20px,4vw,54px);border-top:1px solid var(--ln-1);color:var(--tx-5);background:rgba(7,8,12,.75)}.blogFoot b{color:var(--tx-7);font:700 11px 'JetBrains Mono',monospace}.blogFoot p{max-width:650px;margin-top:8px;font-size:13px}
:root[data-theme="light"] .blogBg{background:radial-gradient(88% 58% at 82% 12%,rgba(74,86,214,.1),transparent 68%),radial-gradient(72% 54% at 5% 58%,rgba(227,155,18,.075),transparent 72%),linear-gradient(180deg,#f7f6f1 0%,#f2f0e9 56%,#f7f6f1 100%);background-color:var(--bg-0)}
:root[data-theme="light"] .util,:root[data-theme="light"] .blogNav,:root[data-theme="light"] .blogFoot{background:rgba(247,246,241,.86)}
:root[data-theme="light"] .brand__word{filter:none}
:root[data-theme="light"] .localeNav a{background:rgba(255,255,255,.78)}
:root[data-theme="light"] .postCard,:root[data-theme="light"] .sourceBox,:root[data-theme="light"] .disclaimer{background:rgba(255,255,255,.88);box-shadow:0 32px 80px -48px rgba(70,75,110,.4)}
:root[data-theme="light"] .prose p,:root[data-theme="light"] .prose li{color:var(--tx-7)}
@media(max-width:820px){.util em{display:none}.blogNav nav a:not(.active):not(.download){display:none}.postGrid{grid-template-columns:1fr}.postGrid>.postCard:only-child{display:block}.postGrid>.postCard:only-child .postCard__media{min-height:0;aspect-ratio:16/9}.blogFoot{flex-direction:column}.articleHead{padding-top:55px}.blogHero::after{display:none}.prose{overflow-wrap:anywhere}.prose p,.prose li{font-size:16px}.prose table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:560px){main{padding:0 20px}.util{display:none}.blogNav{height:64px}.brand{gap:0}.brand__icon{display:none}.brand__word{width:120px}.blogNav nav .download{display:none}.blogHero{padding-top:64px}.blogHero h1,.articleHead h1,.authorPage h1{font-size:clamp(38px,12vw,52px)}.postCard__body{padding:24px}.articleHero{margin-top:28px}.articleHero img{border-radius:14px}.prose{padding-top:42px}.prose h2{font-size:26px}.sourceBox,.disclaimer{padding:20px}}

/* ── 용어사전 ─────────────────────────────────────────────────────────────
   기존 postGrid/postCard 토큰을 그대로 쓰되, 용어 카드는 이미지가 없어
   더 조밀한 3열 그리드로 둔다. 검색은 JS 가 꺼져도 목록이 그대로 보이도록
   순수 필터로만 동작한다. */
.termSearch{position:relative;display:flex;align-items:center;max-width:520px;margin-top:34px;border:1px solid var(--ln-1);border-radius:999px;background:rgba(12,13,18,.72);transition:border-color .2s}
.termSearch:focus-within{border-color:var(--amber)}
.termSearch__icon{padding-left:18px;color:var(--tx-5);font-size:19px;line-height:1}
.termSearch input{flex:1;min-width:0;padding:15px 16px;border:0;background:transparent;color:var(--tx);font:600 15px/1.2 'Pretendard Variable',Pretendard,sans-serif;letter-spacing:-.01em}
.termSearch input:focus{outline:none}
.termSearch input::placeholder{color:var(--tx-5);font-weight:500}
.termSearch input::-webkit-search-cancel-button{display:none}
.termSearch__clear{margin-right:8px;padding:8px 14px;border:0;border-radius:999px;background:var(--ln-0);color:var(--tx-7);font:600 10px 'JetBrains Mono',monospace;cursor:pointer}
.termSearch__clear:hover{background:var(--ln-1);color:var(--tx-9)}
.termCount{margin-top:14px;color:var(--tx-5);font:600 10px/1 'JetBrains Mono',monospace;letter-spacing:.08em}
.termGrid{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:40px}
.termCard{padding:26px 28px;border:1px solid var(--ln-1);border-radius:16px;background:rgba(17,18,25,.82);transition:transform .25s,border-color .25s}
.termCard:hover{transform:translateY(-3px);border-color:rgba(139,149,242,.45)}
.termCard h2{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:23px;line-height:1.2;letter-spacing:-.03em}
.termCard p{color:var(--tx-7);font-size:15px}
.termDraft{padding:3px 8px;border:1px solid var(--amber);border-radius:999px;color:var(--amber);font:700 9px/1 'JetBrains Mono',monospace;letter-spacing:.06em}
.termEmpty{padding:0 0 110px;color:var(--tx-5);font-size:15px}
.termAliases{margin-top:14px;color:var(--tx-5);font-size:14px}
.termAliases span{margin-right:8px;color:var(--peri);font:700 10px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.srOnly{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:root[data-theme="light"] .termSearch{background:rgba(255,255,255,.78)}
:root[data-theme="light"] .termCard{background:rgba(255,255,255,.88);box-shadow:0 32px 80px -48px rgba(70,75,110,.4)}
@media(max-width:1000px){.termGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.termGrid{grid-template-columns:1fr}}
