/* ============================================================
   미래일터 탐험대 · /diagnose/ 커리어넷 결과 입력 모드
   접두사 cn- · 320px 가로 스크롤 0 · prefers-reduced-motion 존중
   기존 comp.css(.card .note .btn .bar .conf-tag .tbl)를 우선 재사용하고
   여기에는 그것으로 안 되는 것만 둔다.
   ============================================================ */

/* ── 모드 선택 ─────────────────────────────────────────── */
.cn-modes{display:grid;gap:var(--sp-4);grid-template-columns:1fr;margin:var(--sp-5) 0 0}
@media(min-width:760px){.cn-modes{grid-template-columns:repeat(3,1fr)}}
.cn-mode{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;
  min-width:0;min-height:var(--tap-min);padding:var(--sp-5);cursor:pointer;font-family:inherit;
  background:var(--bg);border:2px solid var(--border);border-radius:var(--radius-kid-lg);
  transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}
.cn-mode:hover,.cn-mode:focus-visible{border-color:var(--brand);box-shadow:var(--shadow-2);transform:translateY(-3px)}
.cn-mode[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-tint)}
.cn-mode[aria-pressed="true"]::after{content:"보는 중";position:absolute;top:-11px;right:12px;
  background:var(--brand);color:#fff;font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:999px}
.cn-mode__icon{font-size:32px;line-height:1}
.cn-mode__name{font-size:18px;font-weight:850;color:var(--text-strong);word-break:keep-all}
.cn-mode__desc{font-size:14px;color:var(--text-muted);line-height:1.55;word-break:keep-all}
.cn-mode__tag{font-size:12.5px;font-weight:800;color:var(--brand)}

/* ── 단계 표시 ─────────────────────────────────────────── */
.cn-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--sp-5);padding:0;list-style:none}
.cn-step{font-size:12.5px;font-weight:800;color:var(--text-muted);background:var(--surface-2);
  border-radius:999px;padding:4px 11px;white-space:nowrap}
.cn-step.is-on{background:var(--brand);color:#fff}
.cn-step.is-done{background:var(--success-tint);color:var(--success)}

.cn-panel{margin-top:var(--sp-4)}
.cn-h3{font-size:var(--fs-h3);margin:var(--sp-8) 0 var(--sp-2)}
.cn-h3:first-of-type{margin-top:var(--sp-5)}
.cn-h4{font-size:17px;font-weight:850;color:var(--text-strong);margin:var(--sp-5) 0 var(--sp-2)}
.cn-sub{margin:0 0 var(--sp-4);font-size:14px;color:var(--text-muted);line-height:1.6}

/* ── 안내 화면 ─────────────────────────────────────────── */
.cn-links{display:grid;gap:var(--sp-3);grid-template-columns:1fr;margin:var(--sp-4) 0 0;padding:0;list-style:none}
@media(min-width:620px){.cn-links{grid-template-columns:1fr 1fr}}
.cn-links li{min-width:0}
.cn-linkbtn{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--sp-4);
  border:1.5px solid var(--border);border-radius:var(--radius-kid);background:var(--bg);
  text-decoration:none;color:var(--text-strong);font-weight:750;font-size:15px;word-break:break-word}
.cn-linkbtn:hover,.cn-linkbtn:focus-visible{border-color:var(--brand);background:var(--brand-tint)}
.cn-linkbtn span{font-size:13px;font-weight:600;color:var(--text-muted)}

/* ── 학교급 · 검사 선택 ────────────────────────────────── */
.cn-grades{display:grid;gap:var(--sp-4);grid-template-columns:1fr;margin:var(--sp-4) 0 0}
@media(min-width:700px){.cn-grades{grid-template-columns:repeat(3,1fr)}}
.cn-gbtn{display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0;min-height:var(--tap-min);
  padding:var(--sp-5);cursor:pointer;font-family:inherit;background:var(--bg);
  border:2px solid var(--border);border-radius:var(--radius-kid-lg)}
.cn-gbtn:hover,.cn-gbtn:focus-visible{border-color:var(--planet,var(--brand))}
.cn-gbtn[data-cn-grade="elem"]{--planet:var(--g-elem)}
.cn-gbtn[data-cn-grade="mid"]{--planet:var(--g-middle)}
.cn-gbtn[data-cn-grade="high"]{--planet:var(--g-high)}
.cn-gbtn b{font-size:19px;font-weight:850;color:var(--text-strong)}
.cn-gbtn span{font-size:13.5px;color:var(--text-muted);line-height:1.5;word-break:keep-all}

.cn-picks{display:grid;gap:var(--sp-4);grid-template-columns:1fr;margin:var(--sp-4) 0 0}
@media(min-width:780px){.cn-picks{grid-template-columns:1fr 1fr}}
.cn-pick{display:block;min-width:0;padding:var(--sp-5);cursor:pointer;background:var(--bg);
  border:2px solid var(--border);border-radius:var(--radius-kid-lg)}
.cn-pick:hover{border-color:var(--brand)}
.cn-pick:focus-within{outline:3px solid var(--brand-link);outline-offset:2px}
.cn-pick.is-on{border-color:var(--brand);background:var(--brand-tint)}
.cn-pick__head{display:flex;align-items:flex-start;gap:10px;min-width:0}
.cn-pick__head input{margin:3px 0 0;width:20px;height:20px;flex:0 0 auto}
.cn-pick__name{font-size:16.5px;font-weight:850;color:var(--text-strong);word-break:keep-all}
.cn-pick__meta{display:block;margin-top:3px;font-size:13px;font-weight:750;color:var(--brand)}
.cn-pick__how{margin:var(--sp-3) 0 0;font-size:13.5px;color:var(--text-muted);line-height:1.6;word-break:keep-all}
.cn-pick__note{margin:8px 0 0;font-size:12.5px;color:var(--text-muted);line-height:1.55}

/* ── 입력 폼 ───────────────────────────────────────────── */
.cn-form{display:grid;gap:var(--sp-5);margin-top:var(--sp-4)}
.cn-fs{border:1.5px solid var(--border);border-radius:var(--radius-kid-lg);margin:0;
  padding:var(--sp-5);min-width:0;background:var(--bg)}
.cn-legend{padding:0 6px;font-size:16.5px;font-weight:850;color:var(--text-strong);word-break:keep-all}
.cn-field{margin-top:var(--sp-4);min-width:0}
.cn-field>label,.cn-flabel{display:block;margin-bottom:6px;font-size:14px;font-weight:800;color:var(--text-strong)}
.cn-select,.cn-num{width:100%;max-width:100%;min-height:var(--tap-min);box-sizing:border-box;
  padding:10px 12px;font-family:inherit;font-size:15.5px;color:var(--text);
  background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm)}
.cn-select:focus-visible,.cn-num:focus-visible{outline:3px solid var(--brand-link);outline-offset:1px}
.cn-num6{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:560px){.cn-num6{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cn-num6 label{display:block;min-width:0;font-size:12.5px;font-weight:800;color:var(--text-muted)}
.cn-num6 .cn-num{margin-top:3px}
.cn-hint{margin:6px 0 0;font-size:12.5px;color:var(--text-muted);line-height:1.55}
.cn-err{margin:6px 0 0;font-size:13px;font-weight:750;color:var(--danger)}
.cn-err:empty{display:none}

.cn-opts{display:grid;gap:8px;grid-template-columns:1fr;margin:0;padding:0;list-style:none}
@media(min-width:600px){.cn-opts{grid-template-columns:1fr 1fr}}
.cn-opts--wide{grid-template-columns:1fr}
.cn-opt{display:flex;align-items:flex-start;gap:9px;min-width:0;min-height:44px;padding:10px 12px;
  cursor:pointer;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-kid);
  font-size:14.5px;line-height:1.5;color:var(--text);word-break:keep-all}
.cn-opt:hover{border-color:var(--brand)}
.cn-opt:focus-within{outline:3px solid var(--brand-link);outline-offset:2px}
.cn-opt.is-on{border-color:var(--brand);background:var(--brand-tint);color:var(--text-strong)}
.cn-opt input{margin:2px 0 0;width:19px;height:19px;flex:0 0 auto}
.cn-opt__t{flex:1;min-width:0}
.cn-opt__t b{display:block;font-weight:800}
.cn-opt__t span{display:block;font-size:12.5px;color:var(--text-muted);line-height:1.5}
.cn-rank{flex:0 0 auto;background:var(--brand);color:#fff;font-size:11.5px;font-weight:800;
  padding:2px 8px;border-radius:999px;align-self:center}
.cn-lv{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.cn-lv label{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:3px 10px;
  font-size:12.5px;font-weight:800;color:var(--text-muted);background:var(--surface-2);
  border:1.5px solid transparent;border-radius:999px;cursor:pointer}
.cn-lv label:focus-within{outline:3px solid var(--brand-link);outline-offset:2px}
.cn-lv input{width:16px;height:16px;margin:0}
.cn-lv input:checked+span{color:var(--brand)}
.cn-nav{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-top:var(--sp-5)}
.cn-nav .spacer{flex:1}

/* ── 결과: 근거 · 역할 · 가치 ──────────────────────────── */
.cn-why{margin:var(--sp-3) 0 0;padding-left:1.05em;font-size:14px;line-height:1.65}
.cn-why li{margin:0 0 4px}
.cn-why b{color:var(--text-strong)}
.cn-rolewrap{margin-top:var(--sp-4);border:1.5px solid var(--border);border-radius:var(--radius-kid-lg);
  padding:var(--sp-5);background:var(--bg)}
.cn-roles{display:grid;gap:var(--sp-3);grid-template-columns:1fr;margin:var(--sp-3) 0 0;padding:0;list-style:none}
@media(min-width:700px){.cn-roles{grid-template-columns:1fr 1fr}}
.cn-role{min-width:0;padding:var(--sp-4);background:var(--surface);
  border:1.5px solid var(--border);border-left:5px solid var(--border);border-radius:var(--radius-kid)}
.cn-role--match{border-color:var(--brand);border-left-color:var(--brand);background:var(--brand-tint)}
.cn-role__h{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 5px;font-size:15px;font-weight:850;color:var(--text-strong)}
.cn-role__code{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;
  background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:850}
.cn-role--match .cn-role__code{background:var(--brand);color:#fff}
.cn-role__jobs{margin:0 0 5px;font-size:13.5px;font-weight:750;color:var(--brand);word-break:keep-all}
.cn-role__what{margin:0;font-size:13.5px;line-height:1.6;color:var(--text);word-break:keep-all}
.cn-role__next{margin:7px 0 0;font-size:13px;line-height:1.6;color:var(--text-muted);word-break:keep-all}
.cn-role__next b{color:var(--success)}
.cn-role__onet{display:block;margin-top:6px;font-size:11.5px;color:var(--text-muted);word-break:break-word}
.cn-mytype{font-size:12.5px;font-weight:800;color:var(--brand)}

.cn-values{display:grid;gap:var(--sp-4);margin:var(--sp-4) 0 0;padding:0;list-style:none}
.cn-value{min-width:0;padding:var(--sp-4);background:var(--surface);border-radius:var(--radius-kid)}
.cn-value__h{margin:0 0 4px;font-size:15.5px;font-weight:850;color:var(--text-strong)}
.cn-value ul{margin:6px 0 0;padding-left:1.05em;font-size:14px;line-height:1.65}

/* ── 윤리 인용 ─────────────────────────────────────────── */
.cn-ethics{display:grid;gap:var(--sp-3);margin:var(--sp-4) 0 0;padding:0;list-style:none}
.cn-quote{margin:0;min-width:0;padding:var(--sp-4);background:var(--surface);
  border-left:5px solid var(--brand);border-radius:var(--radius-kid)}
.cn-quote p{margin:0;font-size:14.5px;line-height:1.7;word-break:keep-all}
.cn-quote footer{margin-top:7px;font-size:12.5px;color:var(--text-muted);word-break:break-word}
.cn-quote footer a{word-break:break-all}
.cn-fn{margin:var(--sp-3) 0 0;font-size:12.5px;color:var(--text-muted);line-height:1.6}

/* ── 모드 C 비교 ───────────────────────────────────────── */
.cn-cmp{display:grid;gap:var(--sp-4);grid-template-columns:1fr;margin-top:var(--sp-4)}
@media(min-width:720px){.cn-cmp{grid-template-columns:1fr 1fr}}
.cn-cmp__col{min-width:0;padding:var(--sp-5);background:var(--bg);
  border:1.5px solid var(--border);border-radius:var(--radius-kid-lg)}
.cn-cmp__h{margin:0 0 var(--sp-3);font-size:15.5px;font-weight:850;color:var(--text-strong)}
.cn-cmp__list{margin:0;padding-left:1.4em;display:grid;gap:7px;font-size:14.5px;line-height:1.55}
.cn-cmp__list li{min-width:0;word-break:keep-all}
.cn-cmp__list li.is-both{font-weight:800;color:var(--brand)}
.cn-tag{display:inline-block;margin-left:5px;padding:1px 7px;border-radius:999px;
  background:var(--brand);color:#fff;font-size:11px;font-weight:800;vertical-align:1px}
.cn-tag--diff{background:var(--surface-2);color:var(--text-muted)}

.cn-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-8) 0 var(--sp-4)}
.cn-stampbox{width:96px;margin:var(--sp-5) 0 0;font-size:30px}
@media(prefers-reduced-motion:reduce){
  .cn-mode:hover,.cn-mode:focus-visible{transform:none}
  .cn-mode{transition:none}
}
@media print{.cn-actions,.cn-modes,.cn-nav{display:none}}
