/* ═══ COLOR SYSTEM ═══ */
:root{
  --lg-black:#0a0a0a;--lg-black-soft:#1a1a1a;
  --lg-gray-900:#111;--lg-gray-700:#4a4a4a;--lg-gray-500:#767676;
  --lg-gray-300:#d1d1d1;--lg-gray-200:#e5e7eb;--lg-gray-100:#f4f4f4;--lg-gray-50:#fafafa;
  --lg-white:#fff;
  --lg-red:#ea1917;--lg-red-dark:#b01412;--lg-red-soft:#fff1f0;
  --lg-amber:#d9920a;--lg-amber-soft:#fef3c7;
  --lg-blue:#1428a0;--lg-blue-soft:#eef2ff;
  --lg-blue-deep:#0a2d5e;--lg-blue-deep-soft:#e6ecf5;
  --lg-purple:#5b2d8e;--lg-purple-soft:#f3f0fb;
  --lg-green:#0A8F6C;--lg-green-soft:#e6f7f1;
  --lg-orange:#f97316;
  --lg-yellow:#f59e0b;--lg-yellow-soft:#fffbeb;
  --lg-radius:20px;--lg-radius-sm:10px;--lg-radius-lg:24px;
  --lg-container:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
*:focus-visible{outline:2px solid var(--lg-blue);outline-offset:2px}
.tc-skip{position:absolute;top:-40px;left:0;background:var(--lg-black);color:#fff;padding:8px 16px;z-index:9999;font-size:13px;font-weight:700;border-radius:0 0 8px 0}
.tc-skip:focus{top:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.tc-root{
  font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  color:var(--lg-black);line-height:1.6;word-break:keep-all;
  -webkit-font-smoothing:antialiased;background:var(--lg-white);
}
.tc-root h1,.tc-root h2,.tc-root h3,.tc-root h4,.tc-root p,.tc-root span,.tc-root a,.tc-root td,.tc-root th,.tc-root li,.tc-root small,.tc-root strong,.tc-root b{font-family:inherit}
.tc-root a{text-decoration:none;color:inherit;transition:.2s ease;cursor:pointer}
.tc-root ul,.tc-root ol,.tc-root li{list-style:none;padding:0;margin:0}
.tc-root img{max-width:100%;display:block}

.lg-container{max-width:var(--lg-container);margin:0 auto;padding:0 max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right))}
.lg-badge{display:inline-block;background:var(--lg-black);color:#fff;padding:5px 12px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1}
.lg-badge.red{background:var(--lg-red)}
.lg-badge.blue{background:var(--lg-blue)}

/* ═══ HERO (index.html rg-intro 디자인) ═══ */
.tc-hero{padding:56px 0 40px;background:var(--lg-white);border-bottom:1px solid var(--lg-gray-300)}
.tc-hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.tc-hero h1{font-size:38px;font-weight:800;color:var(--lg-black);letter-spacing:-.035em;line-height:1.2;margin:16px 0 12px}
.tc-hero h1 .accent{color:var(--lg-red)}
.tc-hero-desc{font-size:15px;color:var(--lg-gray-700);line-height:1.7;max-width:680px}
.tc-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.tc-hero-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;background:var(--lg-black);color:#fff !important;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:-.01em;transition:.2s;min-height:48px;white-space:nowrap}
.tc-hero-btn:hover{background:var(--lg-black-soft);transform:translateY(-1px)}
.tc-hero-btn.outline{background:var(--lg-white);color:var(--lg-black) !important;border:1.5px solid var(--lg-black)}
.tc-hero-btn.outline:hover{background:var(--lg-gray-50)}
.tc-hero-btn i{font-size:12px}

/* breadcrumb */
.tc-bread{padding:14px 0 6px;font-size:12px;color:var(--lg-gray-500)}
.tc-bread ol{display:inline-flex;gap:6px;flex-wrap:wrap}
.tc-bread li::after{content:'›';margin-left:6px;color:var(--lg-gray-300)}
.tc-bread li:last-child::after{content:''}
.tc-bread a{color:var(--lg-gray-700)}
.tc-bread a:hover{color:var(--lg-red)}
.tc-bread b{color:var(--lg-black);font-weight:700}

@media(max-width:900px){
  .tc-hero{padding:36px 0 28px}
  .tc-hero-grid{grid-template-columns:1fr;gap:20px;align-items:start}
  .tc-hero h1{font-size:28px}
  .tc-hero-desc{font-size:14px}
  .tc-hero-actions{width:100%}
  .tc-hero-btn{flex:1;justify-content:center}
}
@media(max-width:480px){.tc-hero h1{font-size:23px}.tc-hero-actions{flex-direction:column;align-items:stretch}.tc-hero-btn{width:100%}}

/* ═══ LEGEND ═══ */
.tc-legend-wrap{background:var(--lg-gray-50);padding:28px 0;border-bottom:1px solid var(--lg-gray-200)}
.tc-legend{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.tc-legend-card{background:#fff;border:1px solid var(--lg-gray-200);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px}
.tc-legend-sym{flex-shrink:0;width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:800}
.tc-sym-ok{background:var(--lg-green-soft);color:var(--lg-green)}
.tc-sym-part{background:var(--lg-yellow-soft);color:var(--lg-yellow)}
.tc-sym-no{background:var(--lg-gray-100);color:var(--lg-gray-500)}
.tc-sym-na{background:#fff;color:var(--lg-gray-300);border:1px dashed var(--lg-gray-300)}
.tc-sym-key{background:var(--lg-blue-soft);color:var(--lg-blue);font-size:11px}
.tc-legend-text{font-size:12.5px;color:var(--lg-gray-700);line-height:1.45;font-weight:600}
.tc-legend-text b{color:var(--lg-black)}

@media(max-width:1024px){.tc-legend{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.tc-legend{grid-template-columns:repeat(2,1fr);gap:8px}.tc-legend-card{padding:11px 12px}.tc-legend-sym{width:28px;height:28px;font-size:14px}.tc-legend-text{font-size:11.5px}}

/* ═══ ABBREVIATIONS ═══ */
.tc-abbr{margin-top:14px;background:#fff;border:1px solid var(--lg-gray-200);border-radius:12px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline}
.tc-abbr-label{font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--lg-gray-500);text-transform:uppercase;flex-shrink:0}
.tc-abbr-item{font-size:12.5px;color:var(--lg-gray-700);line-height:1.5}
.tc-abbr-item b{color:var(--lg-black);font-weight:800;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.5px}

/* ═══ SECTION ═══ */
.tc-sec{padding:50px 0;background:var(--lg-white)}
.tc-sec.gray{background:var(--lg-gray-50)}
.tc-sec-head{margin-bottom:24px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.tc-sec-num{font-family:"Montserrat",sans-serif;font-size:24px;font-weight:900;color:var(--lg-red);letter-spacing:-.02em;line-height:1}
.tc-sec-h2{font-size:26px;font-weight:800;color:var(--lg-black);letter-spacing:-.02em;line-height:1.25;margin:0}
.tc-sec-en{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--lg-gray-500);text-transform:uppercase;margin-left:auto}
.tc-sec-lead{font-size:14px;color:var(--lg-gray-700);line-height:1.7;margin:6px 0 22px;max-width:880px}

@media(max-width:640px){
  .tc-sec{padding:36px 0}
  .tc-sec-head{gap:10px;margin-bottom:18px}
  .tc-sec-num{font-size:20px}
  .tc-sec-h2{font-size:20px}
  .tc-sec-en{font-size:10px;width:100%;margin-left:0;order:3}
  .tc-sec-lead{font-size:13px}
}

/* ═══ TABLE ═══ */
.tc-tbl-wrap{background:#fff;border:1px solid var(--lg-gray-200);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.tc-tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.tc-tbl{width:100%;border-collapse:collapse;min-width:880px;font-size:13.5px}
.tc-tbl thead th{background:var(--lg-black);color:#fff;padding:16px 14px;text-align:center;font-weight:800;font-size:12.5px;letter-spacing:.02em;line-height:1.4;vertical-align:middle;border-right:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:2}
.tc-tbl thead th:first-child{text-align:left;padding-left:22px;background:#1a1a1a;min-width:240px}
.tc-tbl thead th:last-child{border-right:0}
.tc-tbl thead th .tier{display:block;font-size:11px;font-weight:700;opacity:.7;margin-top:3px;letter-spacing:.06em}
.tc-tbl thead th.col-std{background:linear-gradient(180deg,#ea1917,#b01412)}
.tc-tbl thead th.col-raid{background:linear-gradient(180deg,#d9920a,#a86d00)}
.tc-tbl thead th.col-pro-h{background:linear-gradient(180deg,#1428a0,#0e1d75)}
.tc-tbl thead th.col-pro-be{background:linear-gradient(180deg,#0a2d5e,#061d3f)}
.tc-tbl thead th.col-tech{background:linear-gradient(180deg,#5b2d8e,#3f1d63)}

.tc-tbl tbody tr:nth-child(odd){background:#fff}
.tc-tbl tbody tr:nth-child(even){background:#fafbfc}
.tc-tbl tbody tr:hover{background:#fff8f8}
.tc-tbl tbody td{padding:12px 14px;text-align:center;vertical-align:middle;border-top:1px solid var(--lg-gray-100);border-right:1px solid var(--lg-gray-100);line-height:1.55}
.tc-tbl tbody td:last-child{border-right:0}
.tc-tbl tbody td:first-child{text-align:left;padding-left:22px;font-weight:700;color:var(--lg-black);background:var(--lg-gray-50)}
.tc-tbl tbody td:first-child small{display:block;font-size:11px;color:var(--lg-gray-500);font-weight:500;margin-top:2px;letter-spacing:.02em}
.tc-tbl tbody tr.tc-row-group td{background:#1a1a2e;color:#fff;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 22px;text-align:left}
.tc-tbl tbody tr.tc-row-highlight td:first-child{background:linear-gradient(90deg,#fff7e6,var(--lg-gray-50));border-left:3px solid var(--lg-yellow)}

/* cell symbols */
.tc-cell{display:inline-flex;flex-direction:column;align-items:center;gap:5px;min-width:60px}
.tc-mark{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;line-height:1}
.tc-mark.ok{background:var(--lg-green-soft);color:var(--lg-green)}
.tc-mark.part{background:var(--lg-yellow-soft);color:var(--lg-yellow)}
.tc-mark.no{background:var(--lg-gray-100);color:var(--lg-gray-300)}
.tc-note{font-size:10.5px;color:var(--lg-gray-700);font-weight:600;line-height:1.4;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.3px;max-width:130px;text-align:center}
.tc-tbl tbody td .tc-note b{color:var(--lg-black);font-weight:800}

/* footnote */
.tc-foot{margin-top:12px;font-size:12px;color:var(--lg-gray-500);line-height:1.7;padding:0 4px}
.tc-foot b{color:var(--lg-black);font-weight:700}

/* mobile table hint */
.tc-mob-hint{display:none;background:var(--lg-blue-soft);color:var(--lg-blue);border:1px dashed var(--lg-blue);border-radius:10px;padding:10px 14px;font-size:12.5px;font-weight:700;text-align:center;margin-bottom:12px}
@media(max-width:880px){.tc-mob-hint{display:flex;align-items:center;justify-content:center;gap:8px}}

/* ═══ SUMMARY ═══ */
.tc-sum{background:linear-gradient(135deg,#0a2540 0%,#0d3d7a 50%,#0a2d5e 100%);color:#fff;border-radius:24px;padding:44px 48px;position:relative;overflow:hidden;box-shadow:0 16px 48px rgba(10,45,94,.25),0 0 0 1px rgba(18,81,163,.1)}
.tc-sum::before{content:'';position:absolute;top:-40%;right:-10%;width:50%;height:180%;background:radial-gradient(ellipse,rgba(31,138,206,.18),transparent 60%);pointer-events:none}
.tc-sum::after{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#ea1917 0%,#ff5a57 50%,#ea1917 100%)}
.tc-sum-inner{position:relative;z-index:1}
.tc-sum-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(234,25,23,.2);border:1px solid rgba(234,25,23,.5);color:#ff8a87;padding:7px 16px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.6px;margin-bottom:14px}
.tc-sum-badge i{color:#ff5a57}
.tc-sum h2{font-size:28px;font-weight:800;letter-spacing:-.5px;line-height:1.3;margin-bottom:12px;color:#fff}
.tc-sum h2 .hl{color:#5dade2;position:relative;display:inline-block}
.tc-sum-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px;margin-top:18px}
.tc-sum-list li{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:rgba(255,255,255,.85);line-height:1.55}
.tc-sum-list li i{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:rgba(93,173,226,.2);color:#5dade2;display:inline-flex;align-items:center;justify-content:center;font-size:10px;margin-top:2px}
.tc-sum-list li b{color:#fff;font-weight:700}
.tc-sum-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tc-sum-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:999px;font-size:13.5px;font-weight:800;letter-spacing:.2px;text-decoration:none;transition:.25s cubic-bezier(.4,0,.2,1);white-space:nowrap;border:2px solid #fff;background:#fff;color:#0a2d5e !important}
.tc-sum-btn:hover{background:#eef3ff;transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.3)}
.tc-sum-btn.outline{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.4)}
.tc-sum-btn.outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.tc-sum-btn i{font-size:12px}

@media(max-width:768px){
  .tc-sum{padding:30px 24px;border-radius:18px}
  .tc-sum h2{font-size:22px}
  .tc-sum-list{grid-template-columns:1fr;gap:9px}
  .tc-sum-btn{flex:1;padding:12px 18px;font-size:13px}
}
@media(max-width:480px){.tc-sum{padding:24px 20px}.tc-sum h2{font-size:19px}.tc-sum-list li{font-size:13px}}

/* ═══ TOC (목차) ═══ */
.tc-toc{background:var(--lg-white);border:1px solid var(--lg-gray-200);border-radius:14px;padding:18px 22px;margin-bottom:30px}
.tc-toc-h{font-size:13px;font-weight:800;color:var(--lg-gray-500);letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}
.tc-toc-list{display:grid;grid-template-columns:repeat(5,1fr);gap:6px 12px}
.tc-toc-list a{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--lg-gray-700);font-weight:600;padding:5px 0;line-height:1.45}
.tc-toc-list a:hover{color:var(--lg-red)}
.tc-toc-list a .n{flex-shrink:0;width:18px;height:18px;border-radius:5px;background:var(--lg-gray-100);color:var(--lg-gray-500);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.tc-toc-list a:hover .n{background:var(--lg-red);color:#fff}
@media(max-width:1024px){.tc-toc-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.tc-toc-list{grid-template-columns:repeat(2,1fr)}.tc-toc{padding:14px 16px}}

/* print */
@media print{
  .tc-hero-actions,.tc-sum-cta,.tc-toc{display:none}
  .tc-sec{padding:20px 0;page-break-inside:avoid}
  .tc-tbl{font-size:11px;min-width:auto}
  .tc-tbl thead th{padding:8px 6px;font-size:10px}
  .tc-tbl tbody td{padding:6px 8px}
  .tc-mark{width:20px;height:20px;font-size:11px}
}

