.code-chart{position:relative;min-width:0;margin:16px 0 28px;border-top:1px solid #dfe5ee;padding-top:18px;color:#182235;font-variant-numeric:tabular-nums}
.cc-actions .cc-zoom{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:6px}.cc-zoom svg{display:block;pointer-events:none}
.cc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 8px;flex-wrap:wrap}.cc-head h3{font-size:16px;margin:0;letter-spacing:-.025em;line-height:1.45}.cc-head p{font-size:11px;color:#69758a;margin:4px 0 0;line-height:1.6}.cc-actions{display:flex;gap:4px;flex-shrink:0}.cc-actions button,.cc-legend button,.cc-bin button{border:1px solid #dfe5ee;border-radius:5px;background:#fff;color:#526076;padding:4px 8px;font-size:11px;line-height:1.6;cursor:pointer}.cc-actions button:hover,.cc-bin button:hover{background:#edf3ff;color:#2457d6}.cc-reference-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;color:#526076;font-size:11px}.cc-reference-option{display:inline-flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.cc-reference-option input{width:13px;height:13px;margin:0;cursor:pointer}.cc-reference-swatch{display:inline-block;width:14px;height:3px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--swatch) 0 6px,transparent 6px 10px)}.cc-reference-option:has(input:not(:checked)){opacity:.45}.cc-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:4px;min-height:30px}.cc-legend button{border:0;padding:4px 6px;font-size:11px}.cc-legend button[aria-pressed=false]{opacity:.4;text-decoration:line-through}.cc-swatch{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:6px;border-radius:2px}.cc-bin{display:flex;gap:4px;align-items:center;margin-left:auto;font-size:11px;color:#69758a}.cc-bin button[aria-pressed=true]{color:#2457d6;background:#edf3ff;border-color:#bfcef3}.cc-scroll{overflow-x:auto}.cc-svg{display:block;width:100%;height:auto;overflow:visible;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}.cc-svg [data-tip]{cursor:crosshair;outline:none}.cc-svg [data-tip]:hover,.cc-svg [data-tip]:focus{filter:brightness(.88);stroke-width:3}.cc-svg text{font-size:12px;fill:#69758a}.cc-svg .cc-value{font-size:13px;font-weight:650;fill:#2457d6}.cc-svg .cc-label{fill:#334155;font-size:12px}.cc-tooltip{position:fixed;z-index:200;pointer-events:none;max-width:300px;background:#182235;color:white;white-space:pre-line;padding:10px 13px;border-radius:7px;font-size:12px;box-shadow:0 5px 24px #18223526;line-height:1.7}
.code-chart figcaption{font-size:11px;color:#69758a;margin-top:10px;line-height:1.65}.cc-data{margin-top:8px;border:0}.cc-data summary{font-size:11px;color:#69758a;cursor:pointer;padding:4px 0}.cc-data table{font-size:11px;width:100%}.cc-data th,.cc-data td{padding:6px 9px}.cc-data .cc-scroll{max-height:260px}.cc-modal{width:min(1150px,96vw);max-height:94vh;border:1px solid #dfe5ee;border-radius:12px;padding:22px 30px;overflow:auto}.cc-modal::backdrop{background:#18223577;backdrop-filter:blur(3px)}.cc-modal>.cc-close{float:right;border:1px solid #dfe5ee;background:white;border-radius:6px;padding:6px 12px;cursor:pointer}.cc-modal .code-chart{clear:both;border:0;margin:0}.cc-modal .cc-actions{display:none}.student-dashboard .code-chart{margin:0}.student-dashboard .code-chart .cc-head h3{font-size:15px}.student-dashboard .code-chart .cc-svg{min-height:260px}.student-dashboard .code-chart .cc-legend{font-size:10px}.compare-grid .code-chart{margin-top:14px}
@media(max-width:650px){.cc-head{flex-wrap:wrap}.cc-head h3{font-size:15px}.cc-svg{min-width:520px}.cc-modal{padding:14px}.cc-legend{gap:4px}.student-dashboard .code-chart .cc-svg{min-height:0}}
@media(prefers-reduced-motion:no-preference){.cc-svg{animation:cc-in .2s ease-out}@keyframes cc-in{from{opacity:.45}to{opacity:1}}}
@media print{.cc-actions,.cc-bin,.cc-data,.cc-tooltip{display:none!important}.cc-svg{min-width:0}.code-chart{break-inside:avoid}}
.detail-panel{border-top:1px solid #dfe5ee;container-type:inline-size}.detail-head h2,.profile-chart-head h2{font-size:16px}.detail-group-head{flex-wrap:wrap}.detail-group-head span{white-space:normal}.detail-line,.detail-meta{font-size:12px}.detail-row{padding:9px 0}.profile-chart-panel{border-top:1px solid #dfe5ee}.profile-label strong{font-size:12px}.profile-readout strong{font-size:12px}.profile-readout>span,.profile-readout small{font-size:10px}.profile-chart-row{min-height:37px}.profile-key{flex-wrap:wrap;font-size:11px}.cc-head button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.cc-views{display:flex;gap:3px}.cc-views button[aria-pressed=true]{background:#edf3ff;color:#2457d6}.cc-bin button[aria-pressed=false],.cc-views button[aria-pressed=false]{opacity:1;text-decoration:none}.cc-density-note{font-size:10px;color:#69758a;flex-basis:100%}.cc-legend [hidden]{display:none!important}
@container(max-width:420px){.detail-groups{grid-template-columns:1fr;gap:18px}}
@media(max-width:650px){.code-chart>.cc-scroll::after{content:'横向滑动查看完整图表';display:block;font-size:10px;color:#69758a;padding:5px 0}.profile-readout{display:block}.profile-readout>span,.profile-readout small{display:block;margin-top:3px}.profile-chart-row{min-height:46px}}
@media(max-width:650px){.code-chart[data-chart-kind=radar] .cc-svg{min-width:0}.code-chart[data-chart-kind=radar]>.cc-scroll::after{display:none}}

/* Shared readable bullet rows: live workbench, offline packs and enlarged views. */
.cc-profile-rows.cc-profile-rows{display:grid;gap:5px;padding:10px 0;min-width:0}
.cc-profile-rows.cc-profile-rows .profile-chart-row{display:grid;grid-template-columns:94px minmax(60px,1fr) 184px;gap:12px;align-items:center;min-height:44px}
.cc-profile-rows.cc-profile-rows .profile-label{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;min-width:0}
.cc-profile-rows.cc-profile-rows .profile-label strong{font-size:13px;font-weight:650;white-space:normal;color:#334155}
.cc-profile-rows.cc-profile-rows .profile-label small{font-size:10px;white-space:nowrap;color:#8b96a8}
.cc-profile-rows.cc-profile-rows .profile-track{position:relative;height:12px;background:#edf1f7;overflow:visible;border-radius:2px}
.cc-profile-rows.cc-profile-rows .profile-fill,.cc-profile-rows.cc-profile-rows .profile-gap{position:absolute;inset:0 auto 0 0;transition:none}
.cc-profile-rows.cc-profile-rows .profile-fill{background:#2457d6}.cc-profile-rows.cc-profile-rows .profile-gap{z-index:2}
.cc-profile-rows.cc-profile-rows .plus{color:#248b65}.cc-profile-rows.cc-profile-rows .minus{color:#c74640}
.cc-profile-rows.cc-profile-rows .profile-gap.plus{background:#248b65}.cc-profile-rows.cc-profile-rows .profile-gap.minus{background:#c74640}
.cc-profile-rows.cc-profile-rows .profile-reference{position:absolute;z-index:3;top:-3px;height:18px;width:2px;transform:translateX(-1px);border-radius:0}
.cc-profile-rows.cc-profile-rows .profile-reference-class{background:#8B5CF6}.cc-profile-rows.cc-profile-rows .profile-reference-grade{background:repeating-linear-gradient(to bottom,#C47B16 0 5px,transparent 5px 8px)}
.cc-profile-rows.cc-profile-rows .profile-readout{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:start;line-height:1.4;font-variant-numeric:tabular-nums;min-width:0}
.cc-profile-rows.cc-profile-rows .profile-readout strong{font-size:14px;color:#263449;white-space:normal}
.cc-profile-rows.cc-profile-rows .profile-readout>span{display:block;font-size:10px;color:#8491a6;white-space:normal}
.cc-profile-rows.cc-profile-rows .profile-readout>span>span{display:block}.cc-profile-rows.cc-profile-rows .profile-readout small{display:block;grid-column:1/-1;font-size:11px;font-weight:650;margin-top:2px}
.cc-profile-rows.cc-profile-rows [hidden]{display:none!important}.cc-gap-key{font-size:11px;color:#8491a6}.cc-gap-key b{font-weight:650}.cc-gap-plus{color:#248b65}.cc-gap-minus{color:#c74640}
.code-chart[data-chart-kind=section_profile]>.cc-scroll{overflow:visible}
.code-chart[data-chart-kind=radar] .cc-gap-plus{color:#397563}.code-chart[data-chart-kind=radar] .cc-gap-minus{color:#a35e52}.code-chart[data-chart-kind=radar] .cc-gap-key b{font-weight:500}
.cc-gap-key b::before{content:'';display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:2px;background:currentColor}
.code-chart[data-chart-kind=radar] .cc-gap-plus::before{background:#bed5cb}.code-chart[data-chart-kind=radar] .cc-gap-minus::before{background:#dfc2ba}
.code-chart[data-chart-kind=radar] .cc-svg .cc-label{font-size:14px}
.cc-svg .cc-radar-scale{font-size:11.5px;fill:#9aa5b3;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:3px;stroke-linejoin:round}
.cc-svg .cc-radar-value{font-size:13px;font-weight:650;fill:#2457d6;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:3px;stroke-linejoin:round}
.cc-radar-note,.cc-radar-missing{font-size:11px;color:#8491a6}.cc-radar-missing{color:#a35e52}
.cc-svg .cc-radar-hit:hover,.cc-svg .cc-radar-hit:focus{fill:var(--radar-point);stroke:var(--radar-point);filter:none}
/* Shared, restrained interaction feedback: no movement or layout changes. */
button,select,input,a,summary,.cc-reference-option,.profile-chart-row,.data-table tbody td{transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,opacity 150ms ease,box-shadow 150ms ease}
select:hover,input:hover{border-color:#a8b6c5}
.cc-reference-option:hover,summary:hover{color:#27465b;background-color:#f1f4f7;border-radius:4px}
.profile-chart-row.cc-section-active{background:#eef3f6;box-shadow:inset 2px 0 #456479;border-radius:3px}
.profile-chart-row.cc-section-muted{opacity:.55}
.profile-chart-row:focus-visible{outline:2px solid #708a9c;outline-offset:3px}
.cc-svg .cc-radar-hit.cc-section-active{fill:var(--radar-point);stroke:var(--radar-point);filter:none}
.cc-svg [data-gap-area],.cc-svg .cc-label{transition:opacity 150ms ease,fill 150ms ease}
.code-chart[data-chart-kind=radar] [data-gap-area].cc-section-active{stroke:#70877d;stroke-width:.7}
.cc-svg .cc-label.cc-section-active{fill:#27465b;font-weight:650}.cc-svg .cc-label.cc-section-muted{opacity:.5}
.data-table tbody tr:hover td,.data-table tbody tr:focus-within td{background-color:#eef3f6}
@media(prefers-reduced-motion:reduce){button,select,input,a,summary,.cc-reference-option,.profile-chart-row,.data-table tbody td,.cc-svg [data-gap-area],.cc-svg .cc-label{transition:none!important}.cc-svg{animation:none!important}}
@media(max-width:650px){.cc-profile-rows.cc-profile-rows .profile-chart-row{grid-template-columns:minmax(60px,1fr) auto;gap:6px;min-height:0;padding:8px 0}.cc-profile-rows.cc-profile-rows .profile-label{justify-content:flex-start}.cc-profile-rows.cc-profile-rows .profile-track{grid-column:1/-1;grid-row:2}.cc-profile-rows.cc-profile-rows .profile-readout{display:contents}.cc-profile-rows.cc-profile-rows .profile-readout strong{grid-column:2;grid-row:1;text-align:right}.cc-profile-rows.cc-profile-rows .profile-readout>span{grid-column:1;grid-row:3}.cc-profile-rows.cc-profile-rows .profile-readout small{grid-column:2;grid-row:3;text-align:right}.code-chart[data-chart-kind=section_profile]>.cc-scroll::after{display:none}}
