

.ea-assessment [hidden] { display:none !important; }
.ea-assessment {
  --ap-bg:light-dark(#ffffff,#172338); --ap-surface:light-dark(#f4f7fc,#101b2c);
  --ap-ink:light-dark(#15243b,#e8eef8); --ap-muted:light-dark(#53657d,#b6c4d8);
  --ap-line:light-dark(#dbe4ef,#3c4b61); --ap-blue:light-dark(#2869df,#8eb6ff);
  --ap-button:light-dark(#2869df,#a4c4ff); --ap-button-text:light-dark(#ffffff,#10223f);
  --ap-selected:light-dark(#eaf2ff,#263b60); --ap-good:light-dark(#176b50,#9fdfc4);
  --ap-good-bg:light-dark(#eaf7f0,#17382f); --ap-retry:light-dark(#8b4b16,#f4c28d);
  --ap-retry-bg:light-dark(#fff5e8,#3b2c21);
  display:block; width:100%; min-width:0; box-sizing:border-box;
  border:0;
  background:var(--ap-bg); color:var(--ap-ink); font:400 15px/1.6 "Pretendard","Noto Sans KR",system-ui,sans-serif;
}
.ea-assessment .ap-window * { box-sizing:border-box; }
.ea-assessment .ap-brand { padding:14px 24px; display:flex; flex-wrap:wrap; gap:8px 22px; border-bottom:1px solid var(--ap-line); font-weight:500; }
.ea-assessment .ap-brand span { color:var(--ap-muted); }
.ea-assessment .ap-head { padding:14px 24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; background:var(--ap-button); color:var(--ap-button-text); font-weight:500; }
.ea-assessment .ap-preview { opacity:.85; }
.ea-assessment .ap-content { padding:14px 0; min-width:0; }
.ea-assessment .ap-meta { display:flex; flex-wrap:wrap; gap:8px; color:var(--ap-muted); font-size:12px; margin-bottom:16px; }
.ea-assessment .ap-meta span { border:1px solid var(--ap-line); border-radius:6px; padding:3px 8px; }
.ea-assessment h2 { font-size:21px; line-height:1.5; font-weight:500; color:var(--ap-ink); margin:0 0 12px; }
.ea-assessment .ap-context { color:var(--ap-muted); margin:0 0 24px; font-size:14px; }
.ea-assessment button,.ea-assessment select,.ea-assessment input,.ea-assessment textarea { font:inherit; color:var(--ap-ink); }
.ea-assessment button { min-height:46px; border:1px solid var(--ap-line); border-radius:10px; background:var(--ap-bg); padding:10px 14px; }
.ea-assessment button[aria-pressed="true"] { border-color:var(--ap-blue); background:var(--ap-selected); box-shadow:inset 0 0 0 1px var(--ap-blue); }
.ea-assessment .ap-ox { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:440px; margin:30px auto; }
.ea-assessment .ap-choice { min-height:136px; display:flex; flex-direction:column; align-items:center; gap:4px; justify-content:center; }
.ea-assessment .ap-choice strong { font-size:36px; font-weight:500; }
.ea-assessment .ap-choice span { font-size:14px; }
.ea-assessment .ap-options { display:grid; gap:10px; }
.ea-assessment .ap-option { display:flex; text-align:left; align-items:center; gap:12px; width:100%; }
.ea-assessment .ap-number { flex:none; font-size:22px; }
.ea-assessment .ap-actions { display:flex; justify-content:flex-end; margin-top:24px; }
.ea-assessment .ap-primary { background:var(--ap-button); color:var(--ap-button-text); border-color:var(--ap-button); min-width:108px; font-weight:500; }
.ea-assessment .ap-feedback { padding:13px 15px; border-radius:10px; margin-top:14px; font-size:14px; }
.ea-assessment .ap-feedback[data-state="ok"] { color:var(--ap-good); background:var(--ap-good-bg); }
.ea-assessment .ap-feedback[data-state="retry"] { color:var(--ap-retry); background:var(--ap-retry-bg); }
.ea-assessment .ap-footer { padding:13px 24px; border-top:1px solid var(--ap-line); color:var(--ap-muted); font-size:12px; }
.ea-assessment .ap-bank { display:flex; flex-wrap:wrap; gap:8px; padding:16px; background:var(--ap-surface); border-radius:12px; min-height:80px; }
.ea-assessment .ap-token[draggable="true"] { cursor:grab; }
.ea-assessment .ap-token[draggable="true"]:active { cursor:grabbing; }
.ea-assessment .ap-slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }
.ea-assessment .ap-slot-title { display:block; color:var(--ap-muted); font-size:13px; margin-bottom:8px; }
.ea-assessment .ap-slot { width:100%; min-height:88px; border-style:dashed; background:var(--ap-surface); }
.ea-assessment .ap-slot[data-filled="true"] { background:var(--ap-selected); border-style:solid; }
.ea-assessment .ap-help { color:var(--ap-muted); margin:14px 0 0; font-size:12px; }
.ea-assessment .ap-matching { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:76px; }
.ea-assessment .ap-match-col { display:grid; gap:14px; min-width:0; }
.ea-assessment .ap-col-label { color:var(--ap-muted); font-size:13px; }
.ea-assessment .ap-match { min-height:64px; background:var(--ap-surface); position:relative; z-index:1; touch-action:pan-y; }
.ea-assessment .ap-match[data-linked="true"] { border-color:var(--ap-blue); }
.ea-assessment .ap-connections { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.ea-assessment .ap-connections path { stroke:var(--ap-blue); fill:none; stroke-width:2; }
.ea-assessment .ap-list-result { display:grid; gap:16px; }
.ea-assessment .ap-list-row { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; align-items:center; background:var(--ap-surface); border-radius:12px; padding:20px; }
.ea-assessment .ap-list-row label { display:grid; gap:8px; font-size:14px; }
.ea-assessment select { padding:10px; min-height:46px; border-radius:8px; border:1px solid var(--ap-line); background:var(--ap-bg); width:100%; }
.ea-assessment .ap-shared-graph { width:100%; min-width:0; background:var(--ap-surface); border-radius:10px; padding:8px; }
.ea-assessment .ap-comparison-chart { display:block; width:100%; height:240px; }
.ea-assessment .ap-comparison-chart text { fill:var(--ap-ink); font-family:inherit; font-size:12px; }
.ea-assessment .ap-comparison-chart .ap-chart-axis { stroke:var(--ap-line); stroke-width:1; fill:none; }
.ea-assessment .ap-comparison-chart .ap-chart-data { stroke:var(--ap-blue); stroke-width:1.8; fill:none; }
.ea-assessment .ap-graph-numbers { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:12px; }
.ea-assessment .ap-graph-numbers button { font-size:22px; min-height:50px; }
.ea-assessment .ap-input-answer { margin:32px 0; background:var(--ap-surface); padding:24px; border-radius:12px; }
.ea-assessment .ap-input-answer > label { display:block; margin-bottom:12px; }
.ea-assessment .ap-input-answer > div { display:flex; align-items:center; gap:12px; }
.ea-assessment input { width:min(220px,75%); border:1px solid var(--ap-line); border-radius:8px; padding:12px; background:var(--ap-bg); font-size:16px; }
.ea-assessment .ap-essay-label { display:block; margin-bottom:8px; }
.ea-assessment textarea { resize:vertical; width:100%; min-height:142px; background:var(--ap-surface); border:1px solid var(--ap-line); border-radius:10px; padding:14px; font-size:16px; }
.ea-assessment .ap-keys { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; font-size:12px; }
.ea-assessment .ap-keys span { color:var(--ap-muted); padding:4px 8px; border-radius:6px; background:var(--ap-surface); }
.ea-assessment .ap-keys span[data-hit="true"] { background:var(--ap-good-bg); color:var(--ap-good); }
@media(max-width:520px) {
  .ea-assessment .ap-content { padding:14px 0; }
  .ea-assessment .ap-brand,.ea-assessment .ap-head,.ea-assessment .ap-footer { padding-left:16px; padding-right:16px; }
  .ea-assessment h2 { font-size:19px; }
  .ea-assessment .ap-slots { grid-template-columns:1fr; gap:8px; }
  .ea-assessment .ap-slots > div { display:grid; grid-template-columns:105px 1fr; gap:8px; align-items:center; }
  .ea-assessment .ap-slot-title { margin:0; }
  .ea-assessment .ap-slot { min-height:64px; }
  .ea-assessment .ap-matching { gap:42px; }
  .ea-assessment .ap-match { padding:8px; min-height:78px; font-size:14px; }
  .ea-assessment .ap-list-row { padding:16px; }
  .ea-assessment .ap-list-row label { width:100%; }
}

.ea-assessment .ea-status { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; color:var(--ap-muted); font-size:13px; }
.ea-assessment .ea-navigation { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; padding-top:12px; border-top:1px solid var(--ap-line); }
.ea-assessment .ea-navigation button { font-size:13px; min-width:0; }
.ea-assessment .ea-navigation span { color:var(--ap-muted); font-size:13px; text-align:center; }
.ea-assessment .ea-navigation button:disabled { opacity:.45; cursor:default; }
.ea-assessment .ea-migration { padding:10px; background:var(--ap-surface); color:var(--ap-muted); font-size:13px; border-radius:8px; }
.ea-assessment .ea-experiment { display:block; margin-top:10px; font-size:13px; }
.ea-assessment [data-token], .ea-assessment [data-left] { touch-action:none; }
.ea-assessment .ap-keys span::before { content:none; }

/* v67: keep the question and action buttons together in the v65 dialog. */
.cb-dialog.ea-dialog { max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
.ea-dialog .cb-dialog-head { padding:8px 14px; flex:none; }
.ea-dialog .cb-dialog-head h2 { font-size:17px; }
.ea-dialog .cb-dialog-body { padding:10px 16px; min-height:0; overscroll-behavior:contain; }
.ea-dialog .cb-dialog-foot.ea-modal-foot { display:block; padding:8px 12px; flex:none; }
.ea-toolbar { display:grid; grid-template-columns:minmax(44px,1fr) minmax(80px,1.5fr) minmax(44px,1fr) minmax(44px,1fr); gap:6px; width:100%; }
.ea-toolbar button { min-height:44px; min-width:0; padding:6px 8px; border-radius:9px; font-size:14px; }
.ea-toolbar .ap-primary { background:var(--blue); color:#fff; border:1px solid var(--blue); font-weight:700; }
.ea-toolbar button:disabled { opacity:.4; cursor:default; }
.ea-assessment .ap-content { padding:4px 0; }
.ea-assessment h2 { font-size:19px; line-height:1.45; margin-bottom:8px; }
.ea-assessment .ap-context { font-size:14px; line-height:1.5; margin-bottom:12px; }
.ea-assessment .ap-ox { margin:16px auto; gap:12px; }
.ea-assessment .ap-choice { min-height:92px; gap:2px; }
.ea-assessment .ap-choice strong { font-size:30px; }
.ea-assessment .ap-options { gap:8px; }
.ea-assessment .ap-option { padding:8px 12px; min-height:46px; }
.ea-assessment .ap-bank { padding:10px; min-height:64px; }
.ea-assessment .ap-slots { margin-top:12px; gap:10px; }
.ea-assessment .ap-slot { min-height:60px; }
.ea-assessment .ap-help { margin-top:8px; line-height:1.45; font-size:12px; }
.ea-assessment .ap-matching { gap:60px; }
.ea-assessment .ap-match-col { gap:8px; }
.ea-assessment .ap-match { min-height:48px; padding:7px; }
.ea-assessment .ap-list-result { gap:10px; }
.ea-assessment .ap-list-row { padding:12px; gap:8px 16px; }
.ea-assessment .ap-list-row label { gap:4px; }
.ea-assessment select { min-height:44px; padding:7px; }
.ea-assessment .ap-shared-graph { padding:5px; }
.ea-assessment .ap-comparison-chart { height:192px; }
.ea-assessment .ap-graph-numbers { margin-top:8px; gap:8px; }
.ea-assessment .ap-graph-numbers button { min-height:44px; font-size:21px; padding:6px; }
.ea-assessment .ap-input-answer { margin:16px 0; padding:16px; }
.ea-assessment .ap-input-answer > label { margin-bottom:8px; }
.ea-assessment .ap-essay-label { font-size:14px; margin-bottom:5px; }
.ea-assessment textarea { min-height:90px; padding:10px; }
.ea-assessment .ap-keys { gap:5px; margin-top:7px; }
.ea-assessment .ap-keys span { padding:3px 6px; }
.ea-assessment .ap-feedback { margin-top:9px; padding:9px 11px; line-height:1.45; }
.ea-assessment .ea-experiment { margin-top:7px; min-height:40px; }
.ea-assessment .cb-voice { margin-top:6px; }
.ea-assessment .ea-migration { margin:0 0 8px; padding:8px; }
@media(max-width:520px) {
  .ea-dialog .cb-dialog-body { padding:9px 12px; }
  .ea-assessment h2 { font-size:18px; }
  .ea-assessment .ap-slots > div { grid-template-columns:95px minmax(0,1fr); }
  .ea-assessment .ap-slot { min-height:48px; }
  .ea-assessment .ap-matching { gap:36px; }
  .ea-assessment .ap-match { min-height:58px; }
  .ea-assessment .ap-list-row { padding:10px; }
}
@media(max-height:600px) {
  .ea-dialog .cb-dialog-head { padding-top:5px; padding-bottom:5px; }
  .ea-dialog .cb-dialog-body { padding-top:6px; padding-bottom:6px; }
  .ea-assessment .ap-comparison-chart { height:164px; }
  .ea-assessment .ap-context { margin-bottom:8px; }
}
