/* 자동 생성 — tools/news-diagram-css.py (원본 D:\유튜브\블로그\_도식툴\diagram.css). 직접 고치지 말 것 */
.kdg-news .kdgn-prose .kdg-dgm{--bg:#121212; --card:#1c1c1c; --panel:#171717; --line:#2a2a2a;
  --ink:#ecebe7; --ink2:#b0aeaa; --ink3:#8f8d89; --ink4:#6a6862;
  --accent:#ffd75b; --ok:#6ecf9f; --hold:#e08b86;;--u:.65px;container-type:inline-size;margin:2.2em 0;border:1px solid #232323;border-radius:16px;background:#151515;overflow:hidden;font-family:'Noto Sans KR',sans-serif;color:var(--ink);word-break:keep-all;line-height:1.5}
.kdg-news .kdgn-prose .kdg-dgm .diagram{--f:calc(var(--u) * 1.25)}
@supports (width:1cqi){.kdg-news .kdgn-prose .kdg-dgm .diagram{--u:max(.6px, calc(100cqi / 1200))}}
.kdg-news .kdgn-prose .kdg-dgm *{box-sizing:border-box;margin:0;padding:0;list-style:none}
.kdg-news .kdgn-prose .kdg-dgm li + li{margin-top:0}
.kdg-news .kdgn-prose .kdg-dgm svg{display:block;width:100%;height:auto}
.kdg-news .kdgn-prose .kdg-dgm .dgm-scroll{margin-top:calc(24 * var(--u));overflow-x:auto;-webkit-overflow-scrolling:touch}
.kdg-news .kdgn-prose .kdg-dgm .diagram{width:100%;padding:calc(56 * var(--u)) calc(60 * var(--u)) calc(48 * var(--u));background:transparent}
.kdg-news .kdgn-prose .kdg-dgm .eyebrow{font-size:calc(15 * var(--f));font-weight:800;letter-spacing:.16em;color:var(--accent);margin-bottom:calc(14 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .d-title{font-size:calc(38 * var(--f));font-weight:900;line-height:1.3;margin-bottom:calc(12 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .d-sub{font-size:calc(20 * var(--f));color:var(--ink2);line-height:1.6;margin-bottom:calc(40 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .d-title+:not(.d-sub){margin-top:calc(36 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .d-foot{margin-top:calc(36 * var(--u));padding-top:calc(22 * var(--u));border-top:1px solid var(--line);font-size:calc(19 * var(--f));color:var(--ink2);line-height:1.6}
.kdg-news .kdgn-prose .kdg-dgm .d-foot b, .kdg-news .kdgn-prose .kdg-dgm .hl{color:var(--accent);font-weight:800}
.kdg-news .kdgn-prose .kdg-dgm .brand{margin-top:calc(28 * var(--u));font-size:calc(14 * var(--f));color:var(--ink4);letter-spacing:.08em;text-align:right}
.kdg-news .kdgn-prose .kdg-dgm .flow{display:flex;align-items:stretch;gap:0}
.kdg-news .kdgn-prose .kdg-dgm .flow .step{flex:1;background:var(--card);border:1px solid var(--line);border-radius:calc(18 * var(--u));padding:calc(26 * var(--u)) calc(22 * var(--u));position:relative}
.kdg-news .kdgn-prose .kdg-dgm .flow .step+.step{margin-left:calc(44 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .flow .step+.step::before{content:"→";position:absolute;left:calc(-36 * var(--u));top:50%;transform:translateY(-50%);font-size:calc(28 * var(--f));color:var(--ink4)}
.kdg-news .kdgn-prose .kdg-dgm .step .n{display:inline-block;font-size:calc(15 * var(--f));font-weight:800;color:#121212;background:var(--accent);border-radius:calc(999 * var(--u));padding:calc(4 * var(--u)) calc(12 * var(--u));margin-bottom:calc(14 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .step .h{font-size:calc(24 * var(--f));font-weight:800;line-height:1.35;margin-bottom:calc(10 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .step .p{font-size:calc(18 * var(--f));color:var(--ink2);line-height:1.6}
.kdg-news .kdgn-prose .kdg-dgm .step.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.kdg-news .kdgn-prose .kdg-dgm .vflow{display:flex;flex-direction:column;gap:0}
.kdg-news .kdgn-prose .kdg-dgm .vflow .step{background:var(--card);border:1px solid var(--line);border-radius:calc(18 * var(--u));padding:calc(22 * var(--u)) calc(28 * var(--u));display:grid;grid-template-columns:auto 1fr;column-gap:calc(22 * var(--u));align-items:start;position:relative}
.kdg-news .kdgn-prose .kdg-dgm .vflow .step .n{margin:2px 0 0;grid-row:span 2}
.kdg-news .kdgn-prose .kdg-dgm .vflow .step .h{margin-bottom:calc(6 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .vflow .step+.step{margin-top:calc(40 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .vflow .step+.step::before{content:"↓";position:absolute;top:calc(-36 * var(--u));left:50%;transform:translateX(-50%);font-size:calc(26 * var(--f));color:var(--ink4)}
.kdg-news .kdgn-prose .kdg-dgm .compare{display:grid;grid-template-columns:1fr 1fr;gap:calc(28 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .compare.three{grid-template-columns:1fr 1fr 1fr}
.kdg-news .kdgn-prose .kdg-dgm .col{background:var(--card);border:1px solid var(--line);border-radius:calc(18 * var(--u));padding:calc(30 * var(--u)) calc(30 * var(--u)) calc(26 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .col .tag{display:inline-block;font-size:calc(14 * var(--f));font-weight:800;letter-spacing:.08em;padding:calc(4 * var(--u)) calc(12 * var(--u));border-radius:calc(999 * var(--u));margin-bottom:calc(14 * var(--u));background:var(--line);color:var(--ink2)}
.kdg-news .kdgn-prose .kdg-dgm .col.bad .tag{background:rgba(224,139,134,.15);color:var(--hold)}
.kdg-news .kdgn-prose .kdg-dgm .col.good .tag{background:rgba(110,207,159,.15);color:var(--ok)}
.kdg-news .kdgn-prose .kdg-dgm .col.good{border-color:rgba(110,207,159,.45)}
.kdg-news .kdgn-prose .kdg-dgm .col .ch{font-size:calc(26 * var(--f));font-weight:800;line-height:1.35;margin-bottom:calc(16 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .col ul{list-style:none}
.kdg-news .kdgn-prose .kdg-dgm .col li{font-size:calc(19 * var(--f));color:var(--ink2);line-height:1.55;padding:calc(8 * var(--u)) 0 calc(8 * var(--u)) calc(22 * var(--u));position:relative;border-top:1px solid var(--line)}
.kdg-news .kdgn-prose .kdg-dgm .col li::before{content:"·";position:absolute;left:calc(4 * var(--u));color:var(--ink3)}
.kdg-news .kdgn-prose .kdg-dgm .col.good li::before{content:"✓";color:var(--ok);left:0;font-size:calc(16 * var(--f))}
.kdg-news .kdgn-prose .kdg-dgm .col.bad li::before{content:"✕";color:var(--hold);left:0;font-size:calc(15 * var(--f))}
.kdg-news .kdgn-prose .kdg-dgm .stack{display:flex;flex-direction:column;gap:calc(12 * var(--u));max-width:calc(820 * var(--u));margin:0 auto}
.kdg-news .kdgn-prose .kdg-dgm .layer{display:grid;grid-template-columns:calc(170 * var(--u)) 1fr;gap:calc(20 * var(--u));align-items:center;background:var(--card);border:1px solid var(--line);border-radius:calc(14 * var(--u));padding:calc(20 * var(--u)) calc(26 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .layer .k{font-size:calc(17 * var(--f));font-weight:800;color:var(--accent)}
.kdg-news .kdgn-prose .kdg-dgm .layer .v{font-size:calc(20 * var(--f));line-height:1.5}
.kdg-news .kdgn-prose .kdg-dgm .layer .v small{display:block;font-size:calc(16 * var(--f));color:var(--ink3);margin-top:calc(4 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .stack.frame{border:2px solid var(--line);border-radius:calc(24 * var(--u));padding:calc(20 * var(--u));background:var(--panel)}
.kdg-news .kdgn-prose .kdg-dgm .grid{display:grid;gap:calc(22 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .grid.g2{grid-template-columns:repeat(2,1fr)}
.kdg-news .kdgn-prose .kdg-dgm .grid.g3{grid-template-columns:repeat(3,1fr)}
.kdg-news .kdgn-prose .kdg-dgm .grid.g4{grid-template-columns:repeat(4,1fr)}
.kdg-news .kdgn-prose .kdg-dgm .card{background:var(--card);border:1px solid var(--line);border-radius:calc(18 * var(--u));padding:calc(28 * var(--u)) calc(26 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .card .ic{font-size:calc(34 * var(--f));font-weight:900;color:var(--accent);margin-bottom:calc(12 * var(--u));line-height:1}
.kdg-news .kdgn-prose .kdg-dgm .card .h{font-size:calc(23 * var(--f));font-weight:800;line-height:1.35;margin-bottom:calc(10 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .card .p{font-size:calc(18 * var(--f));color:var(--ink2);line-height:1.6}
.kdg-news .kdgn-prose .kdg-dgm .card.on{border-color:var(--accent)}
.kdg-news .kdgn-prose .kdg-dgm .formula{display:flex;align-items:center;justify-content:center;gap:calc(22 * var(--u));flex-wrap:nowrap}
.kdg-news .kdgn-prose .kdg-dgm .term{background:var(--card);border:1px solid var(--line);border-radius:calc(18 * var(--u));padding:calc(28 * var(--u)) calc(26 * var(--u));text-align:center;min-width:calc(200 * var(--u));flex:1}
.kdg-news .kdgn-prose .kdg-dgm .term .h{font-size:calc(26 * var(--f));font-weight:800;margin-bottom:calc(8 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .term .p{font-size:calc(17 * var(--f));color:var(--ink2);line-height:1.5}
.kdg-news .kdgn-prose .kdg-dgm .term.res{border-color:var(--accent);background:rgba(255,215,91,.08)}
.kdg-news .kdgn-prose .kdg-dgm .term.res .h{color:var(--accent)}
.kdg-news .kdgn-prose .kdg-dgm .op{font-size:calc(40 * var(--f));font-weight:300;color:var(--ink3)}
.kdg-news .kdgn-prose .kdg-dgm .matrix-wrap{display:grid;grid-template-columns:calc(48 * var(--u)) 1fr;grid-template-rows:1fr calc(44 * var(--u));gap:calc(10 * var(--u));max-width:calc(960 * var(--u));margin:0 auto}
.kdg-news .kdgn-prose .kdg-dgm .ax-y{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:calc(17 * var(--f));font-weight:800;color:var(--ink3);letter-spacing:.06em}
.kdg-news .kdgn-prose .kdg-dgm .ax-x{grid-column:2;text-align:center;font-size:calc(17 * var(--f));font-weight:800;color:var(--ink3);letter-spacing:.06em;padding-top:calc(8 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .matrix{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:calc(12 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .cell{background:var(--card);border:1px solid var(--line);border-radius:calc(16 * var(--u));padding:calc(26 * var(--u));min-height:calc(170 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .cell .h{font-size:calc(23 * var(--f));font-weight:800;margin-bottom:calc(8 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .cell .p{font-size:calc(17 * var(--f));color:var(--ink2);line-height:1.55}
.kdg-news .kdgn-prose .kdg-dgm .cell.on{border-color:var(--accent);background:rgba(255,215,91,.07)}
.kdg-news .kdgn-prose .kdg-dgm .cell.on .h{color:var(--accent)}
.kdg-news .kdgn-prose .kdg-dgm .big-quote{background:var(--card);border-left:6px solid var(--accent);border-radius:calc(12 * var(--u));padding:calc(38 * var(--u)) calc(42 * var(--u));font-size:calc(32 * var(--f));font-weight:800;line-height:1.5}
.kdg-news .kdgn-prose .kdg-dgm .big-quote small{display:block;margin-top:calc(14 * var(--u));font-size:calc(18 * var(--f));font-weight:400;color:var(--ink2)}
.kdg-news .kdgn-prose .kdg-dgm svg text{font-family:"Noto Sans CJK KR",sans-serif}

@media (max-width:640px){
.kdg-news .kdgn-prose .kdg-dgm .diagram{--u:.74px !important;--f:.86px !important;padding:calc(30 * var(--u)) calc(22 * var(--u)) calc(26 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .d-title{font-size:calc(31 * var(--f))}
.kdg-news .kdgn-prose .kdg-dgm .dgm-scroll svg{width:680px;max-width:none}
.kdg-news .kdgn-prose .kdg-dgm .flow{flex-direction:column}
.kdg-news .kdgn-prose .kdg-dgm .flow .step+.step{margin-left:0;margin-top:calc(44 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .flow .step+.step::before{content:"\2193";left:50%;top:calc(-38 * var(--u));transform:translateX(-50%)}
.kdg-news .kdgn-prose .kdg-dgm .compare,.kdg-news .kdgn-prose .kdg-dgm .compare.three,.kdg-news .kdgn-prose .kdg-dgm .grid.g2,.kdg-news .kdgn-prose .kdg-dgm .grid.g3,.kdg-news .kdgn-prose .kdg-dgm .grid.g4{grid-template-columns:1fr}
.kdg-news .kdgn-prose .kdg-dgm .formula{flex-direction:column;gap:calc(10 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .term{min-width:0;width:100%}
.kdg-news .kdgn-prose .kdg-dgm .layer{grid-template-columns:1fr;gap:calc(6 * var(--u))}
.kdg-news .kdgn-prose .kdg-dgm .matrix-wrap{grid-template-columns:calc(36 * var(--u)) 1fr}
}
