/* 신구조문 대비표 도구 화면. 색·간격은 KAMU 토큰만 쓴다. */
.ct section+section{margin-top:var(--kamu-space-8)}
.ct-steptitle{display:flex;align-items:center;gap:var(--kamu-space-3);flex-wrap:wrap}
.ct-steptitle h2{font-size:var(--kamu-text-lg);font-weight:800}
.ct-lead{margin:var(--kamu-space-1) 0 var(--kamu-space-4);font-size:var(--kamu-text-sm)}
.ct-slots{display:grid;grid-template-columns:1fr 1fr;gap:var(--kamu-space-3)}
.ct-slot{display:flex;flex-direction:column;gap:var(--kamu-space-2);min-width:0}
.ct-slot-head{display:flex;align-items:center;justify-content:space-between;gap:var(--kamu-space-2);flex-wrap:wrap}
.ct-drop{border:2px dashed var(--kamu-color-control-border);border-radius:var(--kamu-radius-md);padding:var(--kamu-space-5) var(--kamu-space-3);text-align:center;background:var(--kamu-color-canvas);transition:background var(--kamu-duration),border-color var(--kamu-duration)}
.ct-drop p{color:var(--kamu-color-muted);font-size:var(--kamu-text-sm);margin-bottom:var(--kamu-space-2)}
.ct-drop.drag{border-color:var(--kamu-color-text);background:var(--kamu-color-subtle)}
.ct-slot.done .ct-drop{padding:var(--kamu-space-3)}
.ct-slot.done .ct-drop p{display:none}
.ct-name{font-weight:700;word-break:break-all;font-size:var(--kamu-text-sm)}
.ct-name:empty,.kamu-field-error:empty{display:none}
.ct-count{display:flex;gap:var(--kamu-space-1);flex-wrap:wrap}
.ct-opts{display:grid;gap:var(--kamu-space-3);margin-top:var(--kamu-space-3)}
.ct-sub{max-width:520px}
.ct-legend{display:flex;gap:var(--kamu-space-2) var(--kamu-space-5);flex-wrap:wrap;font-size:var(--kamu-text-xs);margin:var(--kamu-space-4) 0 var(--kamu-space-2)}
.ct u{text-decoration-thickness:1.5px;text-underline-offset:3px}
.ct u.ct-del{background:var(--kamu-color-danger-soft)}
.ct u.ct-ins{background:var(--kamu-color-info-soft)}

.ct-table-wrap{border:1px solid var(--kamu-color-border);border-radius:var(--kamu-radius-lg);background:var(--kamu-color-surface);overflow:hidden}
.ct-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--kamu-text-sm)}
.ct-table th{background:var(--kamu-color-subtle);text-align:center;font-weight:800;padding:var(--kamu-space-2);letter-spacing:.3em;border-bottom:1px solid var(--kamu-color-border)}
.ct-table th+th,.ct-table td+td{border-left:1px solid var(--kamu-color-border)}
.ct-table td{vertical-align:top;padding:var(--kamu-space-2) var(--kamu-space-3);overflow-wrap:anywhere;word-break:break-all}
.ct-table td p{margin:0 0 var(--kamu-space-1);white-space:pre-wrap}
.ct-table tr.ct-pair td{padding:var(--kamu-space-2) var(--kamu-space-3) 0;border-top:1px solid var(--kamu-color-border);font-size:var(--kamu-text-xs);color:var(--kamu-color-muted)}
.ct-table tr.ct-pair:first-child td{border-top:0}
.ct-pair .kamu-badge{margin-right:var(--kamu-space-2)}
.ct-empty{text-align:center;color:var(--kamu-color-muted);padding:var(--kamu-space-6)!important}
.ct-actions{display:flex;align-items:center;gap:var(--kamu-space-3);flex-wrap:wrap;margin-top:var(--kamu-space-4)}
.ct-alert{margin-top:var(--kamu-space-4)}

@media (max-width:620px){
  .ct-slots{grid-template-columns:1fr}
  .ct-table{font-size:var(--kamu-text-xs)}
  .ct-table td{padding:var(--kamu-space-2)}
  .ct-table th{letter-spacing:.1em}
}
