.rc-types{
  --ink:#10284a; --sub:#55657c; --blue:#2563eb; --blue-soft:#eaf2ff; --sky:#f3f8ff;
  --t1:#e0483e; --t1s:#fff1ef; --t1b:#f6d3cf;
  --t2:#c77700; --t2s:#fff7e8; --t2b:#f3dfb8;
  --t3:#0e9f8f; --t3s:#e5f7f4; --t3b:#bfe8e1;
  --line:#e2e9f3; --bg:#f6f9fd; --white:#fff;
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  color:var(--ink); line-height:1.7; word-break:keep-all; background:var(--white);
}
.rc-types *{box-sizing:border-box}
.rc-types a{color:var(--blue);text-decoration:none}
.rc-types a:hover{text-decoration:underline}
.rt-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.rt-sec{padding:88px 0;scroll-margin-top:64px}
.rt-sec.alt{background:var(--bg)}
.rt-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--blue);text-transform:uppercase;margin-bottom:12px}
.rt-eyebrow.tier1{color:var(--t1)} .rt-eyebrow.tier2{color:var(--t2)} .rt-eyebrow.tier3{color:var(--t3)}
.rt-h2{font-size:34px;line-height:1.3;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;display:flex;align-items:center;gap:12px}
.rt-dot{width:14px;height:14px;border-radius:50%;flex:none}
.rt-dot.tier1{background:var(--t1)} .rt-dot.tier2{background:var(--t2)} .rt-dot.tier3{background:var(--t3)}
.rt-lead{font-size:18px;color:var(--sub);margin:0 0 40px;max-width:800px}

/* Hero */
.rt-hero{position:relative;overflow:hidden;padding:96px 0 88px;background:radial-gradient(900px 420px at 90% 0%,#dbe9ff 0%,transparent 65%),radial-gradient(700px 360px at 0% 100%,#fdeceb 0%,transparent 60%),linear-gradient(180deg,#f4f8ff 0%,#fff 100%)}
.rt-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#2563eb0d 1px,transparent 1px),linear-gradient(90deg,#2563eb0d 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 90%);mask-image:linear-gradient(180deg,#000,transparent 90%);pointer-events:none}
.rt-hero .rt-wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.rt-crumb{font-size:14px;color:var(--sub);margin-bottom:18px}
.rt-crumb b{color:var(--ink);font-weight:600}
.rt-h1{font-size:44px;line-height:1.25;font-weight:800;letter-spacing:-.025em;margin:0 0 20px}
.rt-h1 em{font-style:normal;color:var(--blue)}
.rt-intro{font-size:18.5px;color:#3a4c66;margin:0 0 26px}
.rt-keys{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:560px}
.rt-keys div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.rt-keys b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.rt-keys span{font-size:13.5px;color:var(--sub)}
.rt-keys .src{grid-column:1/-1;background:none;border:0;padding:0;font-size:12.5px;color:#8392a8}
.rt-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 26px;box-shadow:0 24px 48px -32px #10284a55}
.rt-panel h3{font-size:17px;margin:0 0 4px}
.rt-panel .s{font-size:13.5px;color:var(--sub);margin:0 0 18px}
.rt-bar{display:flex;height:16px;border-radius:999px;overflow:hidden;margin-bottom:16px}
.rt-bar i{display:block}
.rt-legend{display:grid;gap:10px;margin-bottom:20px}
.rt-legend a{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--ink)!important;font-size:14.5px;font-weight:600}
.rt-legend a:hover{border-color:#bcd2f7;text-decoration:none}
.rt-legend em{font-style:normal;font-weight:800}
.rt-legend .sw{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:8px}
.rt-js{display:flex;flex-wrap:wrap;gap:6px}
.rt-j{font-size:13px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid}
.rt-j.tier1{color:var(--t1)!important;background:var(--t1s);border-color:var(--t1b)}
.rt-j.tier2{color:var(--t2)!important;background:var(--t2s);border-color:var(--t2b)}
.rt-j.tier3{color:var(--t3)!important;background:var(--t3s);border-color:var(--t3b)}
.rt-j:hover{text-decoration:none}

/* Sticky nav */
.rt-nav{z-index:18;background:#fffffff2;border-bottom:1px solid var(--line)}
.rt-nav .rt-wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.rt-nav .rt-wrap::-webkit-scrollbar{display:none}
.rt-nav a{flex:none;font-size:14.5px;font-weight:600;color:var(--sub)!important;padding:8px 14px;border-radius:999px}
.rt-nav a:hover{background:var(--blue-soft);color:var(--blue)!important;text-decoration:none}

/* Attack chain */
.rt-chain{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:48px}
.rt-chain div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 14px;position:relative;text-align:center}
.rt-chain div:not(:last-child)::after{content:"›";position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:800;color:#9fb3d1;z-index:1}
.rt-chain b{display:block;font-size:12px;letter-spacing:.08em;color:var(--blue)}
.rt-chain span{font-size:15.5px;font-weight:700}
.rt-chain div.hot{background:var(--t1s);border-color:var(--t1b)}
.rt-chain div.hot b{color:var(--t1)}
.rt-paths{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rt-path{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;display:flex;flex-direction:column}
.rt-path .no{font-size:22px;font-weight:800;color:var(--blue);line-height:1}
.rt-path h4{font-size:17.5px;margin:10px 0 10px}
.rt-path p{font-size:14px;color:#3a4c66;margin:0 0 10px}
.rt-path p b{display:block;font-size:12px;color:var(--sub);letter-spacing:.04em}
.rt-path .ctl{background:var(--sky);border-radius:10px;padding:10px 12px}
.rt-path .ctl b{color:var(--blue)}
.rt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.rt-chip{font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue)!important}
.rt-chip.off{background:#eef1f6;color:#66758c!important}

/* Legend */
.rt-gd{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rt-gd .box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.rt-gd h3{font-size:18px;margin:0 0 14px}
.rt-gd ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rt-gd li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:15px;color:#3a4c66}
.rt-tier,.rt-st{display:inline-block;font-size:12.5px;font-weight:800;padding:4px 10px;border-radius:7px;white-space:nowrap}
.rt-tier.tier1{background:var(--t1s);color:var(--t1)} .rt-tier.tier2{background:var(--t2s);color:var(--t2)} .rt-tier.tier3{background:var(--t3s);color:var(--t3)}
.rt-st.ok{background:#e4f6ea;color:#17803d} .rt-st.cond{background:#fff4dc;color:#a8620a} .rt-st.none{background:#eef1f6;color:#55657c} .rt-st.na{background:#eef0ff;color:#4f5fd1}
.rt-st.sm{font-size:11.5px;padding:3px 8px}

/* Family cards */
.rt-fams{display:grid;gap:22px}
.rt-fam{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 30px 22px;border-top:5px solid var(--blue);scroll-margin-top:72px}
.rt-fam.tier1{border-top-color:var(--t1)} .rt-fam.tier2{border-top-color:var(--t2)} .rt-fam.tier3{border-top-color:var(--t3)}
.rt-fam-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rt-fam-t{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 10px}
.rt-fam-t h3{font-size:28px;font-weight:800;margin:0;letter-spacing:-.02em;flex-basis:100%}
.rt-no{font-size:12.5px;font-weight:700;color:var(--sub)}
.rt-alias{font-size:14.5px;color:var(--sub);flex-basis:100%;margin-top:-6px}
.rt-fam-h .rt-st{font-size:13.5px;padding:6px 12px}
.rt-meta{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:10px;margin:18px 0 16px}
.rt-meta div{background:var(--sky);border-radius:12px;padding:10px 14px}
.rt-meta dt{font-size:12px;font-weight:700;color:var(--sub);letter-spacing:.04em}
.rt-meta dd{margin:2px 0 0;font-size:14.5px;font-weight:600}
.rt-sum{font-size:16.5px;color:#2b3d57;margin:0 0 20px}
.rt-fam-g{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.rt-fam h4{font-size:15px;margin:0 0 12px;letter-spacing:-.01em}
.rt-atk ol{list-style:none;margin:0;padding:0;counter-reset:a;position:relative}
.rt-atk ol::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:var(--line)}
.rt-atk li{counter-increment:a;position:relative;padding:0 0 14px 46px}
.rt-atk li:last-child{padding-bottom:0}
.rt-atk li::before{content:counter(a);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:10px;background:#fff;border:2px solid var(--blue);color:var(--blue);font-weight:800;font-size:14px;display:grid;place-items:center}
.rt-fam.tier1 .rt-atk li:last-child::before{border-color:var(--t1);background:var(--t1);color:#fff}
.rt-atk li b{display:block;font-size:14.5px}
.rt-atk li span{display:block;font-size:14.5px;color:#3a4c66}
.rt-side{background:var(--bg);border-radius:16px;padding:20px 20px}
.rt-def{list-style:none;margin:0 0 14px;padding:0}
.rt-def li{position:relative;padding:5px 0 5px 24px;font-size:14.5px;color:#2b3d57}
.rt-def li::before{content:"";position:absolute;left:0;top:10px;width:16px;height:16px;border-radius:5px;background:var(--blue-soft) url("/assets/rc-types-check.svg") center/11px no-repeat}
.rt-dec,.rt-case{font-size:14px;color:#3a4c66;border-top:1px dashed #d6e0ee;padding-top:10px;margin-top:10px}
.rt-dec b,.rt-case b{display:block;font-size:12px;letter-spacing:.04em;color:var(--sub)}
.rt-fsrc{font-size:12.5px;color:#8392a8;margin:14px 0 0;text-align:right}

/* Brief tables */
.rt-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px}
.rt-search{flex:1 1 260px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cfdcf0;border-radius:999px;padding:10px 16px}
.rt-search input{border:0;outline:0;font:inherit;font-size:15px;width:100%;color:var(--ink);background:transparent}
.rt-filter{display:flex;flex-wrap:wrap;gap:6px}
.rt-filter button{font:inherit;font-size:13.5px;font-weight:700;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--sub);cursor:pointer}
.rt-filter button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.rt-count{font-size:13.5px;color:var(--sub);margin-left:auto}
.rt-grp{margin-bottom:28px}
.rt-grp h3{font-size:19px;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.rt-grp h3 small{font-size:13px;color:var(--sub);font-weight:600}
.rt-tbl{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.rt-tbl table{width:100%;min-width:860px;border-collapse:collapse;font-size:14px}
.rt-tbl th{background:var(--sky);text-align:left;font-size:12.5px;color:var(--sub);letter-spacing:.03em;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.rt-tbl td{padding:11px 14px;border-bottom:1px solid #eef2f8;vertical-align:top;color:#2b3d57}
.rt-tbl tr:last-child td{border-bottom:0}
.rt-tbl td.n{color:#8392a8;font-weight:700;width:46px}
.rt-tbl td.nm b{display:block;color:var(--ink)}
.rt-sub{display:block;font-size:12px;color:#8392a8;margin-top:3px}
.rt-mini{display:inline-block;font-size:11px;font-weight:700;color:var(--blue);background:var(--blue-soft);border-radius:5px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.rt-empty{display:none;text-align:center;color:var(--sub);padding:24px;font-size:15px}

/* Defense */
.rt-min{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:40px}
.rt-min div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;border-left:4px solid var(--blue)}
.rt-min b{display:block;font-size:13px;color:var(--blue);letter-spacing:.06em;margin-bottom:4px}
.rt-min p{margin:0;font-size:15px;color:#2b3d57}
.rt-sub-h{font-size:21px;margin:0 0 6px}
.rt-sub-p{font-size:15.5px;color:var(--sub);margin:0 0 18px}
.rt-kisa{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:44px}
.rt-kisa div{background:#fff;border:1px solid var(--t3b);border-radius:14px;padding:14px 16px}
.rt-kisa b{font-size:13px;color:var(--t3);font-weight:800}
.rt-kisa h5{font-size:15.5px;margin:2px 0 4px}
.rt-kisa p{font-size:13.5px;color:var(--sub);margin:0}
.rt-dec2{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.rt-dsteps{list-style:none;margin:0;padding:0;counter-reset:d;display:grid;gap:10px}
.rt-dsteps li{counter-increment:d;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 16px 13px 58px;position:relative;font-size:15px;color:#2b3d57}
.rt-dsteps li::before{content:counter(d);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-weight:800;display:grid;place-items:center;font-size:14px}
.rt-links{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 22px}
.rt-links h4{font-size:16px;margin:0 0 10px}
.rt-links ol{margin:0 0 18px;padding-left:20px;font-size:14.5px;color:#2b3d57}
.rt-links ol li{padding:3px 0}
.rt-links ol span{color:var(--sub);font-size:13px}
.rt-no-go{background:var(--t1s);border:1px solid var(--t1b);border-radius:12px;padding:14px 16px}
.rt-no-go b{display:block;color:var(--t1);font-size:13px;letter-spacing:.06em;margin-bottom:4px}
.rt-no-go ul{margin:0;padding-left:18px;font-size:14px;color:#4a3a3a}

/* CTA & sources */
.rt-cta{padding:0 0 88px}
.rt-cta-in{background:linear-gradient(120deg,#e9f2ff 0%,#eefaf7 100%);border:1px solid #d3e4fb;border-radius:24px;padding:44px 46px;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.rt-cta h3{font-size:28px;margin:0 0 8px;font-weight:800;letter-spacing:-.02em}
.rt-cta p{margin:0;color:var(--sub);font-size:16.5px}
.rt-cta ul{list-style:none;margin:14px 0 0;padding:0;display:flex;gap:22px;flex-wrap:wrap;font-weight:700}
.rt-cta ul span{color:var(--sub);font-weight:500;margin-right:6px}
.rt-btn{display:inline-block;font-weight:700;font-size:16px;padding:15px 26px;border-radius:999px;background:var(--blue);color:#fff!important;box-shadow:0 12px 24px -12px #2563ebaa}
.rt-btn:hover{text-decoration:none!important;transform:translateY(-2px)}
.rt-src{columns:2;column-gap:36px;margin:0;padding:0;list-style:none;font-size:14px}
.rt-src li{padding:7px 0;border-bottom:1px dashed var(--line);break-inside:avoid}
.rt-note{font-size:14px;color:var(--sub);background:#fff;border-left:3px solid var(--line);padding:16px 18px;margin-top:24px}
.rt-note p{margin:0 0 6px}

/* Responsive */
@media (max-width:960px){
  .rt-hero .rt-wrap,.rt-fam-g,.rt-dec2,.rt-gd{grid-template-columns:1fr}
  .rt-chain{grid-template-columns:repeat(3,1fr)}
  .rt-chain div::after{display:none}
  .rt-paths{grid-template-columns:1fr 1fr}
  .rt-min{grid-template-columns:1fr 1fr}
  .rt-kisa{grid-template-columns:1fr 1fr}
  .rt-meta{grid-template-columns:1fr}
}
@media (max-width:600px){
  .rt-wrap{padding:0 16px}
  .rt-sec{padding:60px 0}
  .rt-hero{padding:60px 0 64px}
  .rt-h1{font-size:30px}
  .rt-h2{font-size:25px}
  .rt-intro{font-size:16.5px}
  .rt-keys b{font-size:20px}
  .rt-chain{grid-template-columns:1fr 1fr}
  .rt-paths,.rt-min,.rt-kisa{grid-template-columns:1fr}
  .rt-fam{padding:24px 18px 18px;border-radius:18px}
  .rt-fam-t h3{font-size:24px}
  .rt-count{margin-left:0}
  .rt-src{columns:1}
  .rt-cta{padding-bottom:60px}
  .rt-cta-in{padding:30px 22px}
  .rt-cta h3{font-size:23px}
}

/* 인라인 style 속성 대체 */
.rc-types .rt-bar i.b1{width:25%;background:var(--t1)}
.rc-types .rt-bar i.b2{width:25%;background:var(--t2)}
.rc-types .rt-bar i.b3{width:50%;background:var(--t3)}
.rc-types .sw.c1{background:var(--t1)}
.rc-types .sw.c2{background:var(--t2)}
.rc-types .sw.c3{background:var(--t3)}
.rc-types .rt-sec.pt64{padding-top:64px}
.rc-types .s.mb10{margin-bottom:10px}
.rc-types .s .ink{color:var(--ink)}

/* 스크롤 고정: 배너·카테고리 탭이 사라지면 메뉴(헤더) 아래에 카테고리 막대 -> 책갈피 줄 순서로 고정한다 */
/* 책갈피 줄은 사이트 카테고리 탭 줄(.section-nav)과 같은 모양·높이, 카테고리 막대는 그보다 조금 더 높다 */
.rc-types .rt-nav{background:#fff;border-bottom:1px solid #d9dee4}
.rc-types .rt-nav .rt-wrap{gap:32px;padding-top:0;padding-bottom:0}
.rc-types .rt-nav a{padding:19px 8px;font-size:15px;font-weight:500;color:#68717d!important;border-radius:0;border-bottom:3px solid transparent;white-space:nowrap}
.rc-types .rt-nav a:hover{background:none;color:#a95008!important;text-decoration:none}
.rc-types .rt-nav a.on{background:none;color:#a95008!important;font-weight:700;border-bottom-color:#a95008}
.rc-types .rt-cat{position:fixed;left:0;right:0;top:var(--rt-h,84px);height:var(--rt-cat,81px);display:flex;align-items:center;justify-content:center;background:#0f1b3a;color:#fff;font-size:22px;font-weight:800;letter-spacing:-.02em;z-index:19;visibility:hidden;transform:translateY(-100%);transition:transform .28s ease,visibility 0s .28s}
.rc-types .rt-nav-fixed{position:fixed;left:0;right:0;top:calc(var(--rt-h,84px) + var(--rt-cat,81px));height:var(--rt-tab,67px);z-index:18;display:block;visibility:hidden;transform:translateY(calc(-1 * var(--rt-cat,81px)));transition:transform .28s ease,visibility 0s .28s;box-shadow:0 6px 14px rgba(16,40,74,.08)}
.rc-types.rt-stuck .rt-cat,.rc-types.rt-stuck .rt-nav-fixed{visibility:visible;transition:transform .28s ease,visibility 0s}
.rc-types.rt-open .rt-cat,.rc-types.rt-open .rt-nav-fixed{transform:none}
@media (prefers-reduced-motion:reduce){.rc-types .rt-cat,.rc-types .rt-nav-fixed{transition:none!important}}
.rc-types [id]{scroll-margin-top:calc(var(--rt-stack,230px) - 100px)}
@media (max-width:1024px){.rc-types .rt-nav .rt-wrap{gap:18px}}
@media (max-width:640px){.rc-types .rt-nav .rt-wrap{gap:15px}.rc-types .rt-nav a{padding:15px 4px;font-size:13px}.rc-types .rt-cat{font-size:17px}}
/* 고정 책갈피 줄: 탭이 아래 흰 상자의 왼쪽·오른쪽 끝에 맞도록 펼친다 */
.rc-types .rt-nav-fixed .rt-wrap{max-width:none;width:var(--rt-bw,100%);margin:0 0 0 var(--rt-bl,0);padding:0;gap:15px;justify-content:space-between}

.rc-types .rt-fams{grid-template-columns:minmax(0,1fr)}
.rc-types .rt-fam{overflow-wrap:anywhere}
