.dev-crc-wrap{container-type:inline-size;}
.dev-crc-layout{display:grid;grid-template-columns:3fr 1fr;gap:14px;align-items:start;}
.dev-crc-main{min-width:0;display:flex;flex-direction:column;gap:12px;}
.dev-crc-side{min-width:0;display:flex;flex-direction:column;gap:12px;}
@container (max-width:860px){.dev-crc-layout{grid-template-columns:1fr;}}
.dev-crc-panel{background:var(--bg-card,#fff);border:1px solid var(--border,#e5e7eb);
border-radius:var(--radius,10px);padding:14px;min-width:0;}
.dev-crc-head{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.dev-crc-headt{font-size:14px;font-weight:600;color:var(--text,#333);}
.dev-crc-heads{font-size:12px;color:var(--text-secondary,#6b7281);}
.dev-crc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.dev-crc-cell{display:flex;flex-direction:column;gap:4px;min-width:0;}
.dev-crc-cell.dev-crc-wide{grid-column:1/-1;}
.dev-crc-lbl{display:block;font-size:12px;color:var(--text-secondary,#6b7281);}
.dev-crc-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.dev-crc-btn{padding:7px 14px;font-size:13px;font-family:inherit;cursor:pointer;
color:var(--text,#333);background:var(--bg-btn,#f3f4f6);
border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,6px);}
.dev-crc-btn:hover{background:var(--bg-btn-hover,#e5e7eb);}
.dev-crc-btn.dev-crc-primary{color:var(--text-on-accent,#fff);background:var(--primary,#2563eb);
border-color:var(--primary,#2563eb);}
.dev-crc-btn.dev-crc-primary:hover{background:var(--primary-hover,#1d4ed8);}
.dev-crc-btn:disabled{opacity:.5;cursor:not-allowed;}
.dev-crc-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));}
.dev-crc-checks{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.dev-crc-chk{display:flex;align-items:center;gap:5px;font-size:12px;
color:var(--text-secondary,#6b7281);cursor:pointer;}
.dev-crc-msg{margin:8px 0 0;font-size:12px;min-height:16px;color:var(--text-secondary,#6b7281);
overflow-wrap:anywhere;}
.dev-crc-msg.ok{color:var(--success,#16a34a);}
.dev-crc-msg.err{color:var(--danger,#dc2626);}
.dev-crc-msg.warn{color:var(--warning-fg,#92400e);}
.dev-crc-empty{margin:0;font-size:12px;color:var(--text-secondary,#6b7281);}
.dev-crc-res{display:flex;flex-direction:column;gap:8px;max-height:620px;overflow:auto;}
.dev-crc-big{font-size:26px;font-weight:700;line-height:1.2;color:var(--primary,#2563eb);
overflow-wrap:anywhere;}
.dev-crc-bigsub{font-size:12px;color:var(--text-secondary,#6b7281);}
.dev-crc-card{background:var(--bg-page,#f7f8fa);border-radius:var(--radius-sm,6px);
padding:10px;min-width:0;}
.dev-crc-cardt{font-size:12px;font-weight:600;color:var(--text,#333);margin-bottom:6px;}
.dev-crc-kv{display:flex;justify-content:space-between;gap:10px;font-size:12px;
padding:3px 0;border-bottom:1px dashed var(--border,#e5e7eb);}
.dev-crc-kv:last-child{border-bottom:0;}
.dev-crc-kv span:first-child{color:var(--text-secondary,#6b7281);}
.dev-crc-kv span:last-child{font-weight:600;color:var(--text,#333);overflow-wrap:anywhere;
text-align:right;}
.dev-crc-note{margin:8px 0 0;font-size:11px;line-height:1.6;
color:var(--text-secondary,#6b7281);}
.dev-crc-tbl{width:100%;border-collapse:collapse;font-size:12px;}
.dev-crc-tbl th,.dev-crc-tbl td{padding:5px 6px;text-align:left;
border-bottom:1px solid var(--border,#e5e7eb);overflow-wrap:anywhere;}
.dev-crc-tbl th{color:var(--text-secondary,#6b7280);font-weight:600;}
.dev-crc-tag{display:inline-block;padding:2px 7px;font-size:11px;border-radius:var(--radius,10px);
background:var(--bg-btn,#f3f4f6);color:var(--text-secondary,#6b7281);}
.dev-crc-tag.ok{color:var(--success,#16a34a);}
.dev-crc-tag.warn{color:var(--warning-fg,#92400e);}
.dev-crc-cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
@container (max-width:520px){.dev-crc-cmp{grid-template-columns:minmax(0,1fr);}}
.dev-crc-cmpc{background:var(--bg-page,#f7f8fa);border-radius:var(--radius-sm,6px);
padding:10px;text-align:center;border:2px solid transparent;box-sizing:border-box;min-width:0;}
.dev-crc-cmpc.best{border-color:var(--primary,#2563eb);}
.dev-crc-cmpt{font-size:11px;color:var(--text-secondary,#6b7281);overflow-wrap:anywhere;}
.dev-crc-cmpv{font-size:20px;font-weight:700;color:var(--text,#333);margin:4px 0;overflow-wrap:anywhere;}
.dev-crc-cmpv.best{color:var(--primary,#2563eb);}

/* ===== 控件样式（V3.9 补全） ===== */
.dev-crc-in,.dev-crc-sel,.dev-crc-ta{
  width:100%;box-sizing:border-box;padding:7px 9px;font-size:13px;line-height:1.4;
  font-family:inherit;color:var(--text,#333);background:var(--bg-input,#fff);
  border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,6px);
  transition:border-color .15s,box-shadow .15s;
}
.dev-crc-ta{resize:vertical;min-height:96px;line-height:1.6;
font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.dev-crc-sel{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  padding-right:26px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary,#6b7281) 50%),
    linear-gradient(135deg,var(--text-secondary,#6b7281) 50%,transparent 50%);
  background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.dev-crc-in:hover,.dev-crc-sel:hover,.dev-crc-ta:hover{border-color:var(--primary,#2563eb);}
.dev-crc-in:focus,.dev-crc-sel:focus,.dev-crc-ta:focus{
  outline:none;border-color:var(--primary,#2563eb);
  box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));
}
.dev-crc-in:focus-visible,.dev-crc-sel:focus-visible,.dev-crc-ta:focus-visible{
  outline:none;border-color:var(--primary,#2563eb);
  box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));
}
.dev-crc-in::placeholder,.dev-crc-ta::placeholder{color:var(--text-secondary,#9ca3af);}
.dev-crc-in:disabled,.dev-crc-sel:disabled,.dev-crc-ta:disabled{
  opacity:.55;cursor:not-allowed;background:var(--bg-btn,#f3f4f6);
}
.dev-crc-in[type=number]{-moz-appearance:textfield;}
.dev-crc-in[type=number]::-webkit-outer-spin-button,
.dev-crc-in[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.dev-crc-cbx{
  width:14px;height:14px;flex:0 0 auto;margin:0;cursor:pointer;accent-color:var(--primary,#2563eb);
}
.dev-crc-cbx:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:2px;}
.dev-crc-cbx:disabled{opacity:.5;cursor:not-allowed;}

/* ===== 代码输出区 ===== */
.dev-crc-code{margin:0;padding:10px;font-size:12px;line-height:1.6;white-space:pre-wrap;
overflow-wrap:anywhere;background:var(--bg-page,#f7f8fa);
border-radius:var(--radius-sm,6px);color:var(--text,#333);
font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
max-height:340px;overflow:auto;}
.dev-crc-seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.dev-crc-segb{padding:5px 11px;font-size:12px;font-family:inherit;cursor:pointer;
color:var(--text-secondary,#6b7281);background:var(--bg-btn,#f3f4f6);
border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,6px);}
.dev-crc-segb.on{color:var(--text-on-accent,#fff);background:var(--primary,#2563eb);
border-color:var(--primary,#2563eb);}
.dev-crc-segb:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));}
.dev-crc-hl{background:var(--primary-shadow,rgba(37,99,235,.15));border-radius:var(--radius-sm,2px);}
.dev-crc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
overflow-wrap:anywhere;}
