/* ============================================================
   resume.css — 취업준비(자기소개서) 통합 스타일
   resume.php(#resume) / experience.php(.np-*) /
   resume_write.php(#resumeWrite) / interview_edit.php(#interviewScript)
   각 페이지 인라인 스타일에서 통합 (2026-05-18)
   ============================================================ */

/* ===== 공통 디자인 토큰 (experience.php :root) ===== */
:root{--c-text:#111827;--c-title:#111827;--c-muted:#4B5563;--c-faint:#9CA3AF;--c-border:#E5E7EB;--c-border-soft:#E5E7EB;--c-card-bg:#F9FAFB;--c-side-bg:#F9FAFB;--c-banner-bg:#EAF5FE;--c-banner-title:#111827;--c-banner-desc:#4B5563;--c-link:#2097FF;--c-primary:#2097FF;--c-primary-soft:#EAF5FE;--c-primary-bd:#BFDBFE;--c-tooltip:#F87C21;--c-success:#22C55E;--c-success-bg:#DCFCE7;--c-success-bd:#BBF7D0;--c-success-fg:#16A34A;--c-membership-bg:#EAF5FE;--c-membership-fg:#2097FF;--c-warn-bg:#FFF7E6;--c-warn-bd:#FCD9A0;--c-warn-fg:#8A5A00;--r-card:10px;--r-banner:14px;--r-grid:12px;}

/* ===== resume.php — 취업준비 셸 (#resume) ===== */
#resume { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", sans-serif; background: #ffffff; color: #111827; padding: 74px 20px 60px; box-sizing: border-box; min-height: 100vh; }
#resume .page-desc { font-size: 14px; color: #4B5563; margin: 0 0 20px; line-height: 1.55; }

/* page-title + tab-intro 그룹, 1차 메뉴 탭 → css/career_tabs.css 공용 정의 */

/* 2차 메뉴 (.sub-tabs / .sub-tab) → css/career_tabs.css 공용 정의 */

/* 본문 placeholder (Stage 2/3에서 실제 partial로 교체) */
#resume .embed-placeholder { background: #F8FBFF; border: 1px solid #DCEBFF; border-radius: 12px; padding: 24px; margin: 0 0 24px; display: flex; flex-direction: column; gap: 10px; }
#resume .embed-placeholder-title { font-size: 16px; font-weight: 700; color: #111827; margin: 0; letter-spacing: -0.01em; }
#resume .embed-placeholder-desc { font-size: 14px; color: #4B5563; margin: 0; line-height: 1.55; }
#resume .embed-placeholder-btn { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 0 18px; border-radius: 8px; background: #2097FF; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; font-family: inherit; }
#resume .embed-placeholder-btn:hover { background: #1c87e5; }

/* 비회원 잠금(블러 + 로그인 오버레이) → css/career_tabs.css 공용 정의 (마크업 pages/_career_login_overlay.php) */

/* 준비중 (Coming Soon) - 본문 딤드 + 중앙 오버레이 */
#resume .coming-soon-wrap { position: relative; min-height: 360px; }
#resume .coming-soon-dim { opacity: 0.3; pointer-events: none; user-select: none; filter: grayscale(0.2); }
#resume .coming-soon-overlay { position: absolute; left: 50%; top: 60px; transform: translateX(-50%); z-index: 10; padding: 32px 36px; background: #fff; border: 1px solid #E5E7EB; border-radius: 16px; box-shadow: 0 10px 30px rgba(17, 24, 39, 0.12); display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; min-width: 260px; max-width: calc(100% - 32px); }
#resume .coming-soon-icon { width: 56px; height: 56px; margin-bottom: 8px; color: #2097FF; display: inline-flex; align-items: center; justify-content: center; background: #EAF5FE; border-radius: 50%; }
#resume .coming-soon-icon svg { width: 28px; height: 28px; }
#resume .coming-soon-title { font-size: 22px; font-weight: 800; color: #111827; margin: 0; letter-spacing: -0.02em; }
#resume .coming-soon-desc { font-size: 14px; color: #4B5563; margin: 0; line-height: 1.55; }

@media (min-width: 1025px) { :where(body:not(.v2-side-nav)) #resume { padding: 78px 28px 80px; } }
@media (min-width:1265px) { :where(body.v2-side-nav) #resume { padding: 78px 28px 80px; } } /* 왼쪽 메뉴 사본 (+240px) */
@media (max-width: 720px) { :where(body:not(.v2-side-nav)) #resume { padding: 70px 16px 60px; }
    /* 인트로 모바일 보정(.page-title, .tab-intro-group), 2차 메뉴 모바일 (.sub-tabs / .sub-tab)
       → career_tabs.css 공용 정의 */
}
@media (max-width:599px) and (max-width: 720px) { :where(body.v2-side-nav) #resume { padding: 70px 16px 60px; }
    /* 인트로 모바일 보정(.page-title, .tab-intro-group), 2차 메뉴 모바일 (.sub-tabs / .sub-tab)
       → career_tabs.css 공용 정의 */
} /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:792px) { :where(body.v2-side-nav) #resume { padding: 70px 16px 60px; }
    /* 인트로 모바일 보정(.page-title, .tab-intro-group), 2차 메뉴 모바일 (.sub-tabs / .sub-tab)
       → career_tabs.css 공용 정의 */
} /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:920px) { :where(body.v2-side-nav) #resume { padding: 70px 16px 60px; }
    /* 인트로 모바일 보정(.page-title, .tab-intro-group), 2차 메뉴 모바일 (.sub-tabs / .sub-tab)
       → career_tabs.css 공용 정의 */
} /* 왼쪽 메뉴 사본 (+200px) */
/* ===== experience.php — 경험 정리 (.np-*) ===== */
.np-page{max-width:1240px;margin:0 auto;padding:24px 16px 80px}
/* resume.php 임베드 시: 하위 페이지 루트 래퍼의 자체 좌우/상단 패딩·max-width 제거.
   #resume(좌우 20px·상단 74px)가 이미 인셋을 주므로, 이걸 안 지우면 이중 패딩(40px)·.np-page는 1240 가운데정렬로
   탭마다 콘텐츠 폭이 달라진다. 모두 #resume 인셋(20px)에 정렬해 hospital(.hp-container 20px)과도 폭 일치. */
#resume #resumeWrite,
#resume #resumeFullpack,
#resume #resumeMy,
#resume #resumeEdit,
#resume #resumeWriteResult,
#resume #interviewScript,
#resume .np-page { max-width: none; margin: 0; padding-top: 0; padding-left: 0; padding-right: 0; }

.np-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.np-page-title{margin:0 0 6px;font-size:24px;font-weight:700;color:var(--c-title)}
.np-start-btn{background:var(--c-primary);color:#fff;border:0;border-radius:10px;font-size:14px;font-weight:600;padding:10px 20px;cursor:pointer;transition:filter .15s}
.np-start-btn:hover{filter:brightness(.95)}
.np-target-hospital{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:12px 14px;border-radius:10px;color:var(--c-text);line-height:1.5;flex-wrap:wrap}
.np-target-hospital__label{font-size:11px;font-weight:700;color:var(--c-link);background:#fff;border:1px solid #BFDBFE;border-radius:999px;padding:2px 8px}
.np-target-hospital__name{font-size:14px;font-weight:800;color:var(--c-title)}
.np-target-hospital__desc{font-size:13px;color:var(--c-muted);flex-basis:100%}
.np-target-hospital__desc strong{color:var(--c-title);font-weight:700}
.np-target-hospital{background:#F8FBFF;border:1px solid #DCEBFF}


/* ===== 히어로 진입 + 시간순 스토리 피드 (experience.php) ===== */
.np-hero{background:var(--c-primary-soft);border-radius:var(--r-banner);padding:20px 18px;margin:0 0 16px;text-align:center}
.np-hero__count{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--c-title)}
.np-hero__count strong{color:var(--c-primary);font-size:20px}
.np-hero__desc{margin:0 0 14px;font-size:13px;color:var(--c-muted);line-height:1.6}
.np-hero__actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.np-hero__btn{font:inherit;font-size:14px;font-weight:700;padding:11px 18px;border-radius:10px;cursor:pointer;transition:filter .15s, background .15s, border-color .15s;line-height:1.2}
.np-hero__btn--primary{background:var(--c-primary);color:#fff;border:1px solid var(--c-primary)}
.np-hero__btn--primary:hover{filter:brightness(.95)}
.np-hero__btn--ghost{background:#fff;color:var(--c-primary);border:1px solid var(--c-primary-bd)}
.np-hero__btn--ghost:hover{background:#F0F7FF;border-color:#93C5FD}
.np-topic{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}
.np-feed{display:flex;flex-direction:column;gap:10px}
.np-feed__empty{text-align:center;padding:40px 20px;color:var(--c-muted)}
.np-feed__empty-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--c-title)}
.np-feed__empty-desc{margin:0;font-size:13px;line-height:1.6}
.np-story-card{position:relative;width:100%;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-card);padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;font:inherit;text-align:left;color:inherit;transition:border-color .15s, box-shadow .15s}
.np-story-card:hover{border-color:#93C5FD;box-shadow:0 0 0 3px rgba(32,151,255,.06)}
.np-story-card__del{position:absolute;top:10px;right:10px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--c-faint);background:transparent;transition:background .15s, color .15s}
.np-story-card__del:hover{background:#FEF2F2;color:#EF4444}
.np-story-card__tags{display:flex;flex-wrap:wrap;gap:6px;padding-right:30px}
.np-story-tag{display:inline-flex;align-items:center;min-height:20px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;line-height:1;border:1px solid transparent}
.np-story-tag--cat{background:var(--c-primary-soft);border-color:var(--c-primary-bd);color:var(--c-primary)}
.np-story-tag--sub{background:#F9FAFB;border-color:var(--c-border);color:var(--c-muted)}
.np-story-tag--ctx{background:#fff;border-color:var(--c-border);color:var(--c-faint)}
.np-story-card__title{margin:0;font-size:15px;font-weight:700;color:var(--c-title);line-height:1.45}
.np-story-card__preview{margin:0;font-size:13px;color:var(--c-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.np-story-card__date{margin:2px 0 0;font-size:11px;color:var(--c-faint)}

.np-overlay{display:none}

.np-drawer{display:none;margin-top:14px;background:#fff;border:1px solid var(--c-border);border-radius:12px;flex-direction:column;overflow:hidden}
.np-drawer.is-open{display:flex}

.np-drawer__body{padding:18px 20px}
.np-step{display:none}
.np-step.is-active{display:block}

.np-guide-box{border-radius:10px;padding:14px 16px}
.np-guide-box__label{display:inline-block;font-size:11px;font-weight:700;color:var(--c-link);margin:0 0 6px}
.np-guide-box__text{margin:0 0 12px;font-size:14px;color:var(--c-banner-title);line-height:1.6;font-weight:500}
.np-guide-box__text .np-em{color:#2097FF;font-style:normal;font-weight:700}
.np-guide-box__sub-label{display:block;font-size:11px;font-weight:700;color:var(--c-muted);margin:0 0 8px}
.np-chips{display:flex;flex-wrap:wrap;gap:6px}
.np-chips--grouped{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px}
.np-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;font:inherit;font-size:12px;font-weight:700;color:#2097FF;background:#fff;border:1px solid var(--c-primary-bd);padding:0 11px;border-radius:999px;line-height:1.2;transition:background .15s, border-color .15s, color .15s}
.np-chip:hover{background:#EFF6FF;border-color:#93C5FD}
.np-chip--interview{color:#7C3AED;border-color:#DDD6FE}
.np-chip--interview:hover{background:#F5F3FF;border-color:#C4B5FD}
.np-chip-group{display:flex;flex-direction:column;gap:6px}
.np-chip-group__label{display:inline-flex;align-items:center;align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.02em;color:#2097FF;background:#EFF6FF;border:1px solid #DBEAFE;padding:2px 8px;border-radius:999px}
.np-chip-group--interview .np-chip-group__label{color:#7C3AED;background:#F5F3FF;border-color:#EDE9FE}

.np-examples{background:var(--c-warn-bg);border-radius:10px;padding:14px;color:var(--c-warn-fg);font-size:13px;line-height:1.55;margin-bottom:18px}
.np-examples__title{margin:0 0 6px;font-size:13px;font-weight:700}
.np-examples ul{margin:0;padding:0;list-style:none}
.np-examples ul:empty{min-height:48px}
.np-examples li{position:relative;margin:4px 0;padding-left:14px}
.np-examples li::before{content:'•';position:absolute;left:2px;top:0;font-weight:700;color:var(--c-warn-fg)}

.np-drawer__q{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--c-title)}

.np-options{display:flex;flex-direction:column;gap:10px}
.np-option{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fff;border:1px solid var(--c-border);border-radius:12px;cursor:pointer;font:inherit;text-align:left;color:inherit;transition:border-color .15s, box-shadow .15s}
.np-option:hover{border-color:#93C5FD;box-shadow:0 0 0 3px rgba(32,151,255,.08)}
.np-option--featured{border-color:var(--c-primary);background:#F0F7FF;box-shadow:0 0 0 3px rgba(32,151,255,.10)}
.np-option__icon{flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#F9FAFB;display:flex;align-items:center;justify-content:center;font-size:18px}
.np-option__body{flex:1;min-width:0}
.np-option__title-row{display:flex;align-items:center;gap:6px}
.np-option__title{font-size:14px;font-weight:700;color:var(--c-title)}
.np-option__badge{display:inline-flex;align-items:center;min-height:22px;font-size:11px;font-weight:700;color:var(--c-membership-fg);background:var(--c-membership-bg);border:1px solid var(--c-primary-bd);padding:2px 8px;border-radius:999px;line-height:1}
.np-option__desc{margin:4px 0 0;font-size:12px;color:var(--c-muted);line-height:1.5}

.np-form{display:flex;flex-direction:column;gap:20px}
.np-field{display:flex;flex-direction:column;gap:6px}
.np-field__label{font-size:13px;font-weight:700;color:var(--c-title)}
.np-field__hint{font-size:11px;color:var(--c-muted);font-weight:500}

.np-cat-tabs,.np-sub-chips{display:flex;flex-wrap:wrap;gap:6px}
.np-cat-tab{font:inherit;cursor:pointer;font-size:12px;font-weight:700;background:#fff;border:1px solid var(--c-border);color:var(--c-muted);padding:6px 10px;border-radius:999px}
.np-cat-tab.is-active{background:var(--c-primary-soft);border-color:#BFDBFE;color:var(--c-membership-fg)}
.np-sub-chip{font:inherit;cursor:pointer;font-size:12px;font-weight:700;background:#fff;border:1px solid var(--c-border);color:var(--c-muted);padding:6px 10px;border-radius:999px}
.np-sub-chip.is-checked{background:var(--c-primary);border-color:var(--c-primary);color:#fff}

.np-input,.np-textarea,.np-select{width:100%;font:inherit;color:var(--c-text);background:#fff;border:1px solid var(--c-border);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.55;outline:none;transition:border-color .15s, box-shadow .15s}
.np-input:focus,.np-textarea:focus,.np-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(32,151,255,.12)}
.np-textarea{min-height:160px;resize:vertical}

.np-form__actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--c-border);margin-top:4px}
.np-btn{flex:1;font:inherit;font-size:14px;font-weight:700;border:0;border-radius:10px;padding:12px 16px;cursor:pointer;transition:filter .15s, background .15s}
.np-btn--ghost {background:#F9FAFB;color:var(--c-title)}
.np-btn--ghost:hover{background:#E5E7EB}
.np-btn--primary{background:var(--c-primary);color:#fff}
.np-btn--primary:hover{filter:brightness(.95)}
.np-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}
.np-form__msg{font-size:12px;color:#DC2626}

.np-list-summary{font-size:13px;color:var(--c-muted);margin:0 0 12px}
.np-list-summary strong{color:var(--c-title);font-weight:700}
.np-exp-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.np-exp-item{display:block;text-align:left;font:inherit;color:inherit;cursor:pointer;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-card);padding:14px 16px;transition:border-color .15s, background .15s, box-shadow .15s}
.np-exp-item:hover{border-color:var(--c-primary-bd);background:#F8FBFF;box-shadow:0 0 0 3px rgba(32,151,255,.06)}
.np-exp-item__head{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:6px;min-width:0}
.np-exp-item__title{flex:1 1 auto;min-width:0;font-size:14px;font-weight:700;color:var(--c-title);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-exp-item__status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;font-size:11px;font-weight:700;color:var(--c-primary);background:var(--c-primary-soft);border:1px solid var(--c-primary-bd);padding:2px 8px;border-radius:999px;line-height:1;white-space:nowrap}
.np-exp-item__del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:var(--c-faint);cursor:pointer;flex:0 0 28px;transition:background .15s,color .15s}
.np-exp-item__del:hover{background:#FEF2F2;color:#DC2626}
.np-exp-item__preview{font-size:12px;color:var(--c-muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.np-add-btn{width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;background:#fff;border:1.5px dashed var(--c-primary-bd);color:var(--c-primary);padding:12px 14px;border-radius:var(--r-card);font-size:14px;font-weight:700;line-height:1.2;transition:background .15s, border-color .15s}
.np-add-btn:hover{background:var(--c-primary-soft);border-color:#93C5FD}

.np-empty{text-align:center;color:var(--c-muted);font-size:13px;padding:24px 0}

/* step4: 상세 보기 */
.np-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.np-detail-tag{display:inline-flex;align-items:center;min-height:24px;font-size:11px;font-weight:700;padding:3px 10px;border:1px solid transparent;border-radius:999px;line-height:1}
.np-detail-tag--cat{background:#F5F3FF;border-color:#DDD6FE;color:#6D28D9}
.np-detail-tag--sub{background:#FFF7E6;border-color:#FCD9A0;color:#8A5A00}
.np-detail-tag--ctx{background:var(--c-primary-soft);border-color:var(--c-primary-bd);color:var(--c-primary)}
.np-detail-title{margin:4px 0 14px;font-size:20px;font-weight:700;color:var(--c-title);word-break:break-word}
.np-detail-body{background:var(--c-card-bg);border-radius:10px;padding:14px;font-size:14px;line-height:1.65;color:var(--c-text);white-space:pre-wrap;word-break:break-word;margin-bottom:18px;min-height:80px}

.np-detail-use{background:var(--c-banner-bg);border-radius:10px;padding:14px 16px;margin-bottom:18px}
.np-detail-use__title{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--c-banner-title)}
.np-detail-use__group{margin:8px 0 0}
.np-detail-use__group:first-of-type{margin-top:0}
.np-detail-use__label{font-size:12px;font-weight:700;color:var(--c-link);margin:0 0 4px}
.np-detail-use__list{margin:0;padding-left:18px;font-size:13px;color:var(--c-banner-title);line-height:1.6}
.np-detail-use__list li{margin:2px 0}
.np-detail-use__empty{font-size:12px;color:var(--c-muted);margin:0}

.np-detail-actions{display:flex;gap:8px;margin-bottom:14px}
.np-btn--apply{flex:1;background:var(--c-primary);color:#fff}
.np-btn--apply:hover{filter:brightness(.95)}
.np-btn--edit{flex:1;background:#F9FAFB;color:var(--c-title)}
.np-btn--edit:hover{background:#E5E7EB}

.np-detail-delete{display:block;width:100%;text-align:center;background:transparent;border:0;font:inherit;font-size:13px;color:var(--c-faint);cursor:pointer;padding:10px 0;border-top:1px solid var(--c-border);margin-top:6px}
.np-detail-delete:hover{color:#DC2626}

/* .np-toast 제거 — 토스트는 전역 showToast(.toast-message) 단일 출처로 통일 */

/* 커스텀 확인 모달 (.np-confirm) — 브라우저 기본 confirm() 대체 */
.np-confirm{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.np-confirm[hidden]{display:none}
.np-confirm__backdrop{position:absolute;inset:0;background:rgba(17,24,39,.5)}
.np-confirm__dialog{position:relative;width:100%;max-width:320px;background:#fff;border-radius:16px;padding:24px 20px 16px;box-shadow:0 20px 48px rgba(0,0,0,.2);text-align:center;animation:npConfirmIn .18s ease}
@keyframes npConfirmIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.np-confirm__title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--c-title)}
.np-confirm__desc{margin:0 0 20px;font-size:13px;line-height:1.6;color:var(--c-muted)}
.np-confirm__actions{display:flex;gap:8px}
.np-confirm__btn{flex:1;font:inherit;font-size:14px;font-weight:700;border:0;border-radius:10px;padding:12px 16px;cursor:pointer;transition:filter .15s, background .15s}
.np-confirm__btn--cancel{background:#F9FAFB;color:var(--c-title)}
.np-confirm__btn--cancel:hover{background:#E5E7EB}
.np-confirm__btn--danger{background:#EF4444;color:#fff}
.np-confirm__btn--danger:hover{filter:brightness(.95)}

/* 작성 모드 전환 (직접 작성 / AI와 정리하기) */
[data-step2-guide]{margin:0 0 14px}
.np-mode-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 18px}
.np-mode-tab{font:inherit;cursor:pointer;background:#F9FAFB;border:1px solid var(--c-border);color:var(--c-title);font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:normal;transition:background .15s, border-color .15s, color .15s}
.np-mode-tab:hover{background:#E5E7EB}
.np-mode-tab.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}

.np-mode-panels{display:block}
.np-mode-panel{display:none}
.np-mode-panel.is-active{display:block}
.np-mode-panel__title{display:none;margin:0 0 12px;color:var(--c-title);font-size:16px;font-weight:800;line-height:1.35}
@media (min-width: 992px) {:where(body:not(.v2-side-nav)) .np-mode-tabs {display:none}:where(body:not(.v2-side-nav)) .np-mode-panels {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}:where(body:not(.v2-side-nav)) .np-mode-panels .np-mode-panel {display:flex!important;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:18px;box-sizing:border-box;overflow:hidden}:where(body:not(.v2-side-nav)) .np-mode-panel__title {display:block;margin-bottom:14px}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="manual"] .np-form {height:100%;justify-content:flex-start}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="manual"] .np-form__actions {margin-top:auto}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:210px}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="ai_chat"] {padding:0}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="ai_chat"] .np-mode-panel__title {padding:18px 18px 0;margin-bottom:14px}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {flex:1;min-height:0;border:0;border-radius:0;box-shadow:none}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {flex:1;min-height:300px;max-height:460px}:where(body:not(.v2-side-nav)) .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__input-row {margin-top:auto}}
@media (min-width:1232px) {:where(body.v2-side-nav) .np-mode-tabs {display:none}:where(body.v2-side-nav) .np-mode-panels {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}:where(body.v2-side-nav) .np-mode-panels .np-mode-panel {display:flex!important;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:18px;box-sizing:border-box;overflow:hidden}:where(body.v2-side-nav) .np-mode-panel__title {display:block;margin-bottom:14px}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="manual"] .np-form {height:100%;justify-content:flex-start}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="manual"] .np-form__actions {margin-top:auto}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:210px}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="ai_chat"] {padding:0}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="ai_chat"] .np-mode-panel__title {padding:18px 18px 0;margin-bottom:14px}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {flex:1;min-height:0;border:0;border-radius:0;box-shadow:none}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {flex:1;min-height:300px;max-height:460px}:where(body.v2-side-nav) .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__input-row {margin-top:auto}} /* 왼쪽 메뉴 사본 (+240px) */
/* AI 챗 패널 */
.np-ai-chat{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #DCEEFF;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(32,151,255,.10)}
.np-ai-chat__header{display:flex;align-items:center;gap:10px;padding:16px 18px;background:#2097FF;color:#fff;flex-shrink:0}
.np-ai-chat__head-text{flex:1;min-width:0}
.np-ai-chat__name{font-size:15px;font-weight:800;line-height:1.25}
.np-ai-chat__desc{font-size:13px;line-height:1.45;opacity:.82;margin-top:2px;word-break:keep-all}
.np-ai-chat__messages{display:flex;flex-direction:column;gap:10px;padding:14px;min-height:260px;max-height:60vh;overflow-y:auto;background:#F8FBFF;scrollbar-width:thin;scrollbar-color:#BDD9FF transparent;-ms-overflow-style:auto}
/* 스크롤바 시각적으로 숨김 (스크롤 기능은 유지) — Chrome/Safari */
.np-ai-chat__messages::-webkit-scrollbar{width:3px;height:3px}
.np-ai-chat__messages::-webkit-scrollbar-thumb{background:#BDD9FF;border-radius:3px}
.np-ai-chat__message{display:flex;gap:10px;align-items:flex-start}
.np-ai-chat__message--me{justify-content:flex-end}
.np-ai-chat__avatar{flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#EAF5FE;display:flex;align-items:center;justify-content:center;font-size:16px;overflow:hidden}
.np-ai-chat__avatar--header{flex-basis:38px;width:38px;height:38px;background:rgba(255,255,255,.2)}
.np-ai-chat__avatar img{width:100%;height:100%;object-fit:contain;display:block}
.np-ai-chat__bubble{max-width:86%;padding:10px 14px;border-radius:4px 16px 16px 16px;background:#fff;border:1px solid #DCEEFF;font-size:14px;line-height:1.6;color:#1E293B;word-break:break-word;white-space:pre-wrap;animation:npAiBubbleIn .2s ease}
.np-ai-chat__bubble--me{margin-left:auto;background:#2097FF;border-color:#2097FF;color:#fff;border-radius:16px 16px 4px 16px}
.np-ai-chat__bubble--typing::after{content:'|';display:inline;animation:npAiCursor .6s step-end infinite;color:#2097FF;font-weight:300;margin-left:1px}
.np-ai-chat__thinking{max-width:84%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid #DCEEFF;border-radius:4px 16px 16px 16px;animation:npAiBubbleIn .2s ease}
.np-ai-chat__dot{width:6px;height:6px;background:#93CAFE;border-radius:50%;animation:npAiDot 1.2s infinite}
.np-ai-chat__dot:nth-child(2){animation-delay:.2s}
.np-ai-chat__dot:nth-child(3){animation-delay:.4s}
@keyframes npAiBubbleIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes npAiCursor{0%,100%{opacity:1}50%{opacity:0}}
@keyframes npAiDot{0%,60%,100%{transform:translateY(0);background:#93CAFE}30%{transform:translateY(-5px);background:#2097FF}}
.np-ai-chat__input-row{display:flex;gap:8px;align-items:flex-end;min-width:0;padding:10px 14px 14px;border-top:1px solid #E8F2FF;background:#fff}
/* min-width:0 + flex:1 1 0 — flex 자식 기본 min-width:auto 가 콘텐츠 폭만큼 잡혀
   좁은 화면에서 전송 버튼을 화면 밖으로 밀어내는 문제 방지 */
.np-ai-chat__input{flex:1 1 0;min-width:0;font:inherit;color:#1E293B;background:#F8FBFF;border:1.5px solid #DCEEFF;border-radius:22px;padding:9px 16px;font-size:14px;line-height:1.4;resize:none;max-height:96px;overflow-y:auto;outline:none;transition:border-color .2s, box-shadow .2s, background .2s}
.np-ai-chat__input:focus{border-color:#2097FF;background:#fff;box-shadow:none}
.np-ai-chat__input::placeholder{color:#94A3B8}
.np-ai-chat__send{flex:0 0 38px;width:38px;height:38px;font:inherit;font-size:16px;font-weight:800;border:0;border-radius:50%;padding:0;cursor:pointer;background:#2097FF;color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .15s, transform .15s;white-space:nowrap}
.np-ai-chat__send:hover{background:#0078E8;transform:scale(1.06)}
.np-ai-chat__send:disabled{background:#E2E8F0;cursor:default;transform:none}
/* 모바일 좁은 화면 — 전송 버튼 패딩 축소 */
@media (max-width: 480px) {:where(body:not(.v2-side-nav)) .np-ai-chat__send {flex-basis:38px;width:38px;padding:0;font-size:16px}}
@media (max-width:599px) and (max-width: 480px) {:where(body.v2-side-nav) .np-ai-chat__send {flex-basis:38px;width:38px;padding:0;font-size:16px}} /* 왼쪽 메뉴 사본 (+0px) */
/* ── 성장 이야기 2열: 좌 .np-side(현황·필터·다음 단계) / 우 .np-main(피드·드로어) — 기획서 CAREER_UI_REDESIGN_PLAN §10-2 ── */
.np-filter{margin:0 0 16px;padding:14px 16px;background:#fff;border:1px solid var(--c-border);border-radius:12px}
/* common.css 의 section{display:block} 리셋이 [hidden] 을 덮는다 → 명시적으로 숨김 */
.np-filter[hidden]{display:none!important}
.np-filter__label{display:block;margin:0 0 8px;font-size:11px;font-weight:700;color:var(--c-muted)}
.np-filter__chips{display:flex;flex-wrap:wrap;gap:6px}
.np-filter-chip{font:inherit;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--c-border);background:#fff;color:var(--c-title);font-size:12px;font-weight:600;cursor:pointer}
.np-filter-chip:hover{border-color:#93C5FD;background:#EFF6FF}
.np-filter-chip.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.np-filter-chip__n{font-weight:700;opacity:.75}
.np-next{margin:0 0 16px;padding:14px 16px;background:#fff;border:1px solid var(--c-border);border-radius:12px}
.np-next__label{display:block;margin:0 0 8px;font-size:11px;font-weight:700;color:var(--c-muted)}
.np-next__btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;background:#fff;border:1px solid var(--c-primary-bd);color:var(--c-primary);font-size:14px;font-weight:700;text-decoration:none}
.np-next__btn:hover{background:#F0F7FF}
.np-next__btn.is-disabled{color:var(--c-faint);border-color:var(--c-border);background:#F9FAFB;cursor:not-allowed;pointer-events:none}
.np-next__hint{margin:8px 0 0;font-size:12px;color:var(--c-muted);line-height:1.5}
/* 모바일: 다음 단계 카드는 피드(모은 순간) 뒤로 — 순서: 현황 → 필터 → 피드 → 드로어 → 다음 단계 */
@media (max-width:720px) {
  :where(body:not(.v2-side-nav)) .np-cols {display:flex;flex-direction:column}
  :where(body:not(.v2-side-nav)) .np-side,:where(body:not(.v2-side-nav)) .np-main {display:contents}
  :where(body:not(.v2-side-nav)) .np-next {order:10;margin:16px 0 0}
}
@media (max-width:599px) and (max-width:720px) {
  :where(body.v2-side-nav) .np-cols {display:flex;flex-direction:column}
  :where(body.v2-side-nav) .np-side,:where(body.v2-side-nav) .np-main {display:contents}
  :where(body.v2-side-nav) .np-next {order:10;margin:16px 0 0}
} /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:792px) {
  :where(body.v2-side-nav) .np-cols {display:flex;flex-direction:column}
  :where(body.v2-side-nav) .np-side,:where(body.v2-side-nav) .np-main {display:contents}
  :where(body.v2-side-nav) .np-next {order:10;margin:16px 0 0}
} /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:920px) {
  :where(body.v2-side-nav) .np-cols {display:flex;flex-direction:column}
  :where(body.v2-side-nav) .np-side,:where(body.v2-side-nav) .np-main {display:contents}
  :where(body.v2-side-nav) .np-next {order:10;margin:16px 0 0}
} /* 왼쪽 메뉴 사본 (+200px) */
@media (min-width:721px) {
  :where(body:not(.v2-side-nav)) .np-cols {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px;align-items:start}
  :where(body:not(.v2-side-nav)) .np-side {position:sticky;top:62px}/* layout.css 가 overflow-x:clip 으로 바뀌어 sticky 가 걸린다 (2026-09-16) */
  :where(body:not(.v2-side-nav)) .np-side .np-hero {text-align:left}
  :where(body:not(.v2-side-nav)) .np-side .np-hero__actions {flex-direction:column;align-items:stretch}
  :where(body:not(.v2-side-nav)) .np-side > :last-child {margin-bottom:0}
  /* 우 열 폭(~560px)에서는 992px 규칙의 직접쓰기|클로비 2패널이 좁다 → 모드 탭 1단(모바일과 동일)으로 되돌린다 */
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-tabs {display:grid}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels {display:block}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel {display:none!important;border:0;padding:0;border-radius:0;background:transparent}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel.is-active {display:block!important}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel__title {display:none}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {border:1px solid #DCEEFF;border-radius:16px;box-shadow:0 8px 28px rgba(32,151,255,.10)}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {min-height:260px;max-height:60vh}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:160px}
}
@media (max-width:1023px) and (min-width:921px) {
  :where(body.v2-side-nav) .np-cols {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px;align-items:start}
  :where(body.v2-side-nav) .np-side {position:sticky;top:62px}/* layout.css 가 overflow-x:clip 으로 바뀌어 sticky 가 걸린다 (2026-09-16) */
  :where(body.v2-side-nav) .np-side .np-hero {text-align:left}
  :where(body.v2-side-nav) .np-side .np-hero__actions {flex-direction:column;align-items:stretch}
  :where(body.v2-side-nav) .np-side > :last-child {margin-bottom:0}
  /* 우 열 폭(~560px)에서는 992px 규칙의 직접쓰기|클로비 2패널이 좁다 → 모드 탭 1단(모바일과 동일)으로 되돌린다 */
  :where(body.v2-side-nav) .np-cols .np-mode-tabs {display:grid}
  :where(body.v2-side-nav) .np-cols .np-mode-panels {display:block}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel {display:none!important;border:0;padding:0;border-radius:0;background:transparent}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel.is-active {display:block!important}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel__title {display:none}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {border:1px solid #DCEEFF;border-radius:16px;box-shadow:0 8px 28px rgba(32,151,255,.10)}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {min-height:260px;max-height:60vh}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:160px}
} /* 왼쪽 메뉴 사본 (+200px) */
@media (min-width:1024px) and (min-width:961px) {
  :where(body.v2-side-nav) .np-cols {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px;align-items:start}
  :where(body.v2-side-nav) .np-side {position:sticky;top:62px}/* layout.css 가 overflow-x:clip 으로 바뀌어 sticky 가 걸린다 (2026-09-16) */
  :where(body.v2-side-nav) .np-side .np-hero {text-align:left}
  :where(body.v2-side-nav) .np-side .np-hero__actions {flex-direction:column;align-items:stretch}
  :where(body.v2-side-nav) .np-side > :last-child {margin-bottom:0}
  /* 우 열 폭(~560px)에서는 992px 규칙의 직접쓰기|클로비 2패널이 좁다 → 모드 탭 1단(모바일과 동일)으로 되돌린다 */
  :where(body.v2-side-nav) .np-cols .np-mode-tabs {display:grid}
  :where(body.v2-side-nav) .np-cols .np-mode-panels {display:block}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel {display:none!important;border:0;padding:0;border-radius:0;background:transparent}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel.is-active {display:block!important}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel__title {display:none}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {border:1px solid #DCEEFF;border-radius:16px;box-shadow:0 8px 28px rgba(32,151,255,.10)}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {min-height:260px;max-height:60vh}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:160px}
} /* 왼쪽 메뉴 사본 (+240px) */
/* 1200px~ 는 우 열이 700px 이상이라 드로어 안 직접쓰기|클로비 2패널을 다시 켠다 (992px 규칙과 동일 값) */
@media (min-width:1200px) {
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-tabs {display:none}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel {display:flex!important;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:18px;overflow:visible}/* hidden 이면 폼이 패널보다 길 때 취소·저장이 잘린다 */
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel__title {display:block;margin-bottom:14px}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-form {flex:1 1 auto;height:auto;justify-content:flex-start}/* height:100% 는 grid 행 높이와 순환해 폼이 패널 밖으로 넘친다 */
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-form__actions {margin-top:auto}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:210px}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] {padding:0}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-mode-panel__title {padding:18px 18px 0;margin-bottom:14px}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {flex:1;min-height:0;border:0;border-radius:0;box-shadow:none}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {flex:1;min-height:300px;max-height:460px}
  :where(body:not(.v2-side-nav)) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__input-row {margin-top:auto}
}
@media (min-width:1440px) {
  :where(body.v2-side-nav) .np-cols .np-mode-tabs {display:none}
  :where(body.v2-side-nav) .np-cols .np-mode-panels {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel {display:flex!important;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:18px;overflow:visible}/* hidden 이면 폼이 패널보다 길 때 취소·저장이 잘린다 */
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel__title {display:block;margin-bottom:14px}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-form {flex:1 1 auto;height:auto;justify-content:flex-start}/* height:100% 는 grid 행 높이와 순환해 폼이 패널 밖으로 넘친다 */
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-form__actions {margin-top:auto}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="manual"] .np-textarea {min-height:210px}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] {padding:0}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-mode-panel__title {padding:18px 18px 0;margin-bottom:14px}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat {flex:1;min-height:0;border:0;border-radius:0;box-shadow:none}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__messages {flex:1;min-height:300px;max-height:460px}
  :where(body.v2-side-nav) .np-cols .np-mode-panels .np-mode-panel[data-mode-panel="ai_chat"] .np-ai-chat__input-row {margin-top:auto}
} /* 왼쪽 메뉴 사본 (+240px) */
@media (max-width:1199px) {:where(body:not(.v2-side-nav)) .np-page {padding:20px 16px 60px}:where(body:not(.v2-side-nav)) .np-cell {width:calc((100% - 16px) / 3)}}
@media (max-width:599px) and (max-width:1199px) {:where(body.v2-side-nav) .np-page {padding:20px 16px 60px}:where(body.v2-side-nav) .np-cell {width:calc((100% - 16px) / 3)}} /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:1271px) {:where(body.v2-side-nav) .np-page {padding:20px 16px 60px}:where(body.v2-side-nav) .np-cell {width:calc((100% - 16px) / 3)}} /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:1023px) and (max-width:1399px) {:where(body.v2-side-nav) .np-page {padding:20px 16px 60px}:where(body.v2-side-nav) .np-cell {width:calc((100% - 16px) / 3)}} /* 왼쪽 메뉴 사본 (+200px) */
@media (min-width:1024px) and (max-width:1439px) {:where(body.v2-side-nav) .np-page {padding:20px 16px 60px}:where(body.v2-side-nav) .np-cell {width:calc((100% - 16px) / 3)}} /* 왼쪽 메뉴 사본 (+240px) */
@media (max-width:991px) {:where(body:not(.v2-side-nav)) .np-page {padding:16px 12px 60px}
  :where(body:not(.v2-side-nav)) .np-page-header {flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
  :where(body:not(.v2-side-nav)) .np-page-title {font-size:20px;margin:0}
  :where(body:not(.v2-side-nav)) .np-start-btn {width:100%;padding:12px 16px}
  :where(body:not(.v2-side-nav)) .np-target-hospital {align-items:flex-start;gap:6px;margin-bottom:12px;padding:11px 12px}
  :where(body:not(.v2-side-nav)) .np-target-hospital__desc {flex-basis:100%;font-size:12px}
  :where(body:not(.v2-side-nav)) .np-cat-nav {margin:0 -12px 12px}
  :where(body:not(.v2-side-nav)) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 모바일 → css/career_tabs.css 공용 정의 */
  :where(body:not(.v2-side-nav)) .np-grid {border-radius:12px}
  :where(body:not(.v2-side-nav)) .np-cells {padding:10px 12px 14px;gap:8px}
  :where(body:not(.v2-side-nav)) .np-row__header {padding:14px 12px 0}
  :where(body:not(.v2-side-nav)) .np-row__header-title {font-size:14px}
  :where(body:not(.v2-side-nav)) .np-row__header-desc {font-size:12px}
  :where(body:not(.v2-side-nav)) .np-cell {width:100%;padding:12px 14px}
  :where(body:not(.v2-side-nav)) .np-cell__name {font-size:14px}
  :where(body:not(.v2-side-nav)) .np-drawer__body {padding:14px 16px}
  :where(body:not(.v2-side-nav)) .np-drawer__q {font-size:14px}
  :where(body:not(.v2-side-nav)) .np-option {padding:12px}
  :where(body:not(.v2-side-nav)) .np-option__title {font-size:14px}
  :where(body:not(.v2-side-nav)) .np-option__desc {font-size:12px}
  :where(body:not(.v2-side-nav)) .np-textarea {min-height:140px}
}
@media (max-width:599px) and (max-width:991px) {:where(body.v2-side-nav) .np-page {padding:16px 12px 60px}
  :where(body.v2-side-nav) .np-page-header {flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
  :where(body.v2-side-nav) .np-page-title {font-size:20px;margin:0}
  :where(body.v2-side-nav) .np-start-btn {width:100%;padding:12px 16px}
  :where(body.v2-side-nav) .np-target-hospital {align-items:flex-start;gap:6px;margin-bottom:12px;padding:11px 12px}
  :where(body.v2-side-nav) .np-target-hospital__desc {flex-basis:100%;font-size:12px}
  :where(body.v2-side-nav) .np-cat-nav {margin:0 -12px 12px}
  :where(body.v2-side-nav) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 모바일 → css/career_tabs.css 공용 정의 */
  :where(body.v2-side-nav) .np-grid {border-radius:12px}
  :where(body.v2-side-nav) .np-cells {padding:10px 12px 14px;gap:8px}
  :where(body.v2-side-nav) .np-row__header {padding:14px 12px 0}
  :where(body.v2-side-nav) .np-row__header-title {font-size:14px}
  :where(body.v2-side-nav) .np-row__header-desc {font-size:12px}
  :where(body.v2-side-nav) .np-cell {width:100%;padding:12px 14px}
  :where(body.v2-side-nav) .np-cell__name {font-size:14px}
  :where(body.v2-side-nav) .np-drawer__body {padding:14px 16px}
  :where(body.v2-side-nav) .np-drawer__q {font-size:14px}
  :where(body.v2-side-nav) .np-option {padding:12px}
  :where(body.v2-side-nav) .np-option__title {font-size:14px}
  :where(body.v2-side-nav) .np-option__desc {font-size:12px}
  :where(body.v2-side-nav) .np-textarea {min-height:140px}
} /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:1063px) {:where(body.v2-side-nav) .np-page {padding:16px 12px 60px}
  :where(body.v2-side-nav) .np-page-header {flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
  :where(body.v2-side-nav) .np-page-title {font-size:20px;margin:0}
  :where(body.v2-side-nav) .np-start-btn {width:100%;padding:12px 16px}
  :where(body.v2-side-nav) .np-target-hospital {align-items:flex-start;gap:6px;margin-bottom:12px;padding:11px 12px}
  :where(body.v2-side-nav) .np-target-hospital__desc {flex-basis:100%;font-size:12px}
  :where(body.v2-side-nav) .np-cat-nav {margin:0 -12px 12px}
  :where(body.v2-side-nav) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 모바일 → css/career_tabs.css 공용 정의 */
  :where(body.v2-side-nav) .np-grid {border-radius:12px}
  :where(body.v2-side-nav) .np-cells {padding:10px 12px 14px;gap:8px}
  :where(body.v2-side-nav) .np-row__header {padding:14px 12px 0}
  :where(body.v2-side-nav) .np-row__header-title {font-size:14px}
  :where(body.v2-side-nav) .np-row__header-desc {font-size:12px}
  :where(body.v2-side-nav) .np-cell {width:100%;padding:12px 14px}
  :where(body.v2-side-nav) .np-cell__name {font-size:14px}
  :where(body.v2-side-nav) .np-drawer__body {padding:14px 16px}
  :where(body.v2-side-nav) .np-drawer__q {font-size:14px}
  :where(body.v2-side-nav) .np-option {padding:12px}
  :where(body.v2-side-nav) .np-option__title {font-size:14px}
  :where(body.v2-side-nav) .np-option__desc {font-size:12px}
  :where(body.v2-side-nav) .np-textarea {min-height:140px}
} /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:1023px) and (max-width:1191px) {:where(body.v2-side-nav) .np-page {padding:16px 12px 60px}
  :where(body.v2-side-nav) .np-page-header {flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
  :where(body.v2-side-nav) .np-page-title {font-size:20px;margin:0}
  :where(body.v2-side-nav) .np-start-btn {width:100%;padding:12px 16px}
  :where(body.v2-side-nav) .np-target-hospital {align-items:flex-start;gap:6px;margin-bottom:12px;padding:11px 12px}
  :where(body.v2-side-nav) .np-target-hospital__desc {flex-basis:100%;font-size:12px}
  :where(body.v2-side-nav) .np-cat-nav {margin:0 -12px 12px}
  :where(body.v2-side-nav) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 모바일 → css/career_tabs.css 공용 정의 */
  :where(body.v2-side-nav) .np-grid {border-radius:12px}
  :where(body.v2-side-nav) .np-cells {padding:10px 12px 14px;gap:8px}
  :where(body.v2-side-nav) .np-row__header {padding:14px 12px 0}
  :where(body.v2-side-nav) .np-row__header-title {font-size:14px}
  :where(body.v2-side-nav) .np-row__header-desc {font-size:12px}
  :where(body.v2-side-nav) .np-cell {width:100%;padding:12px 14px}
  :where(body.v2-side-nav) .np-cell__name {font-size:14px}
  :where(body.v2-side-nav) .np-drawer__body {padding:14px 16px}
  :where(body.v2-side-nav) .np-drawer__q {font-size:14px}
  :where(body.v2-side-nav) .np-option {padding:12px}
  :where(body.v2-side-nav) .np-option__title {font-size:14px}
  :where(body.v2-side-nav) .np-option__desc {font-size:12px}
  :where(body.v2-side-nav) .np-textarea {min-height:140px}
} /* 왼쪽 메뉴 사본 (+200px) */
@media (min-width:1024px) and (max-width:1231px) {:where(body.v2-side-nav) .np-page {padding:16px 12px 60px}
  :where(body.v2-side-nav) .np-page-header {flex-direction:column;align-items:stretch;gap:10px;margin-bottom:14px}
  :where(body.v2-side-nav) .np-page-title {font-size:20px;margin:0}
  :where(body.v2-side-nav) .np-start-btn {width:100%;padding:12px 16px}
  :where(body.v2-side-nav) .np-target-hospital {align-items:flex-start;gap:6px;margin-bottom:12px;padding:11px 12px}
  :where(body.v2-side-nav) .np-target-hospital__desc {flex-basis:100%;font-size:12px}
  :where(body.v2-side-nav) .np-cat-nav {margin:0 -12px 12px}
  :where(body.v2-side-nav) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 모바일 → css/career_tabs.css 공용 정의 */
  :where(body.v2-side-nav) .np-grid {border-radius:12px}
  :where(body.v2-side-nav) .np-cells {padding:10px 12px 14px;gap:8px}
  :where(body.v2-side-nav) .np-row__header {padding:14px 12px 0}
  :where(body.v2-side-nav) .np-row__header-title {font-size:14px}
  :where(body.v2-side-nav) .np-row__header-desc {font-size:12px}
  :where(body.v2-side-nav) .np-cell {width:100%;padding:12px 14px}
  :where(body.v2-side-nav) .np-cell__name {font-size:14px}
  :where(body.v2-side-nav) .np-drawer__body {padding:14px 16px}
  :where(body.v2-side-nav) .np-drawer__q {font-size:14px}
  :where(body.v2-side-nav) .np-option {padding:12px}
  :where(body.v2-side-nav) .np-option__title {font-size:14px}
  :where(body.v2-side-nav) .np-option__desc {font-size:12px}
  :where(body.v2-side-nav) .np-textarea {min-height:140px}
} /* 왼쪽 메뉴 사본 (+240px) */
@media (max-width:480px) {:where(body:not(.v2-side-nav)) .np-page {padding:12px 10px 48px}
  :where(body:not(.v2-side-nav)) .np-page-title {font-size:18px}
  :where(body:not(.v2-side-nav)) .np-cat-nav {margin:0 -10px 10px}
  :where(body:not(.v2-side-nav)) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 480px → css/career_tabs.css 공용 정의 */
  :where(body:not(.v2-side-nav)) .np-cells {padding:8px;gap:6px}
  :where(body:not(.v2-side-nav)) .np-cell {padding:10px;gap:6px}
}
@media (max-width:599px) and (max-width:480px) {:where(body.v2-side-nav) .np-page {padding:12px 10px 48px}
  :where(body.v2-side-nav) .np-page-title {font-size:18px}
  :where(body.v2-side-nav) .np-cat-nav {margin:0 -10px 10px}
  :where(body.v2-side-nav) .np-cat-nav__scroller {padding:0}
  /* .np-cat-nav-tab 480px → css/career_tabs.css 공용 정의 */
  :where(body.v2-side-nav) .np-cells {padding:8px;gap:6px}
  :where(body.v2-side-nav) .np-cell {padding:10px;gap:6px}
} /* 왼쪽 메뉴 사본 (+0px) */
/* ===== resume_write.php — 자기소개서 작성 (#resumeWrite) ===== */
#resumeWrite { --c-text: #111827; --c-title: #111827; --c-muted: #4B5563; --c-faint: #9CA3AF; --c-border: #E5E7EB; --c-border-soft: #E5E7EB; --c-banner-bg: #EAF5FE; --c-link: #2097FF; --c-primary: #2097FF; --c-primary-soft: #EAF5FE; --c-success-bg: #DCFCE7; --c-success-fg: #16A34A; --c-warn-bg: #FFF7E6; --c-warn-fg: #8A5A00; --r-card: 10px; --r-panel: 12px; font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", sans-serif; background: #fff; color: var(--c-text); padding: 24px 20px 80px; box-sizing: border-box; display: flex; flex-direction: column; gap: 20px; min-height: 100vh; }
#resumeWrite * { box-sizing: border-box; }

/* ----- 헤더 ----- */
#resumeWrite .rw-header { width: 100%; }
#resumeWrite .rw-page-title { font-size: 22px; font-weight: 700; color: var(--c-title); margin: 0 0 6px; letter-spacing: -0.02em; }
#resumeWrite .rw-page-desc { font-size: 14px; color: var(--c-muted); margin: 0; line-height: 1.55; }
#resumeWrite .rw-page-desc b { color: var(--c-title); font-weight: 700; }

/* ----- 그리드 ----- */
/* minmax(0, 1fr)으로 grid item이 콘텐츠 min-content 폭에 끌려 viewport를 넘기지 않게 막음 */
#resumeWrite .rw-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }

/* ----- 카드 ----- */
/* min-width:0 : 카테고리 탭의 nowrap overflow가 부모를 밀어내지 않도록 */
#resumeWrite .rw-card { background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-panel); padding: 20px; transition: opacity .2s ease; min-width: 0; }
#resumeWrite .rw-card.is-disabled { opacity: 0.5; pointer-events: none; }
#resumeWrite .rw-card-header { padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--c-border); }
#resumeWrite .rw-card-title { font-size: 16px; font-weight: 700; color: var(--c-title); margin: 0 0 4px; }
#resumeWrite .rw-card-desc { font-size: 13px; color: var(--c-muted); margin: 0; line-height: 1.5; }
#resumeWrite .rw-field + .rw-field { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--c-border); }

/* ----- 가이드 박스 (np-guide-box 톤) ----- */
#resumeWrite .rw-guide-box { background: #F8FBFF; border: 1px solid #DCEBFF; border-radius: var(--r-card); padding: 12px 14px; margin: 0 0 12px; }
#resumeWrite .rw-guide-box__label { display: inline-block; font-size: 11px; font-weight: 700; color: var(--c-link); margin: 0 0 4px; letter-spacing: 0.02em; }
#resumeWrite .rw-guide-box__text { font-size: 13px; color: var(--c-text); margin: 0; line-height: 1.55; }
#resumeWrite .rw-guide-box__text strong { font-weight: 700; color: var(--c-title); }

/* ----- 섹션 타이틀 / 라벨 ----- */
#resumeWrite .rw-section-title { font-size: 14px; font-weight: 700; color: var(--c-title); margin: 0 0 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#resumeWrite .rw-section-desc { font-size: 12px; color: var(--c-muted); margin: 0 0 10px; line-height: 1.5; }
#resumeWrite .rw-label { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--c-title); margin: 0 0 8px; }
#resumeWrite .rw-optional-tag { display: inline-flex; align-items: center; min-height: 22px; background: #F9FAFB; border: 1px solid var(--c-border); color: var(--c-muted); font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; line-height: 1; }
#resumeWrite .rw-count { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; margin-left: auto; padding: 2px 8px; border-radius: 999px; background: var(--c-primary-soft); border: 1px solid var(--c-primary-bd); font-size: 12px; font-weight: 700; color: var(--c-primary); line-height: 1; white-space: nowrap; }

/* ----- textarea ----- */
#resumeWrite .rw-textarea { width: 100%; min-height: 110px; resize: vertical; border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 12px 14px; font-size: 14px; font-family: inherit; color: var(--c-text); outline: none; transition: border-color .15s, box-shadow .15s; line-height: 1.55; }
#resumeWrite .rw-textarea:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(32,151,255,.12); }
#resumeWrite .rw-textarea::placeholder { color: var(--c-faint); }
#resumeWrite .rw-textarea[readonly] { background: #F9FAFB; color: var(--c-muted); }

/* ----- 병원 검색 선택기 ----- */
#resumeWrite .rw-hospital-picker { position: relative; }
#resumeWrite .rw-hospital-input { width: 100%; border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 11px 14px; font-size: 14px; font-family: inherit; color: var(--c-text); outline: none; transition: border-color .15s, box-shadow .15s; }
#resumeWrite .rw-hospital-input:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(32,151,255,.12); }
#resumeWrite .rw-hospital-input::placeholder { color: var(--c-faint); }
#resumeWrite .rw-hospital-picker.is-selected .rw-hospital-input { border-color: var(--c-primary); background: var(--c-primary-soft); font-weight: 600; }
#resumeWrite .rw-hospital-list { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 20; background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-card); box-shadow: 0 8px 24px rgba(17,24,39,.12); max-height: 260px; overflow-y: auto; }
#resumeWrite .rw-hospital-option { padding: 10px 14px; font-size: 13px; color: var(--c-text); cursor: pointer; display: flex; align-items: baseline; gap: 8px; }
#resumeWrite .rw-hospital-option:hover { background: var(--c-primary-soft); }
#resumeWrite .rw-hospital-option__region { font-size: 11px; color: var(--c-faint); margin-left: auto; flex-shrink: 0; }
#resumeWrite .rw-hospital-empty { padding: 14px; font-size: 13px; color: var(--c-muted); text-align: center; }

/* ----- 토글 ----- */
#resumeWrite .rw-toggle-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; }
#resumeWrite .rw-toggle-row + .rw-toggle-row { border-top: 1px dashed var(--c-border); }
#resumeWrite .rw-toggle-label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--c-text); }
#resumeWrite .rw-tooltip-wrap { position: relative; display: inline-flex; align-items: center; color: var(--c-faint); cursor: help; }
#resumeWrite .rw-tooltip-icon { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--c-border-soft); font-size: 9px; display: inline-flex; align-items: center; justify-content: center; color: var(--c-muted); }
#resumeWrite .rw-tooltip-bubble { position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); width: max-content; max-width: min(220px, calc(100vw - 48px)); background: var(--c-title); color: #fff; font-size: 12px; line-height: 1.45; padding: 6px 10px; border-radius: 8px; white-space: normal; word-break: keep-all; overflow-wrap: normal; opacity: 0; pointer-events: none; transition: opacity .15s; z-index: 5; }
#resumeWrite .rw-tooltip-wrap:hover .rw-tooltip-bubble { opacity: 1; }
#resumeWrite .rw-toggle { position: relative; width: 40px; height: 22px; border-radius: 11px; background: var(--c-border-soft); cursor: pointer; transition: background .15s; flex-shrink: 0; }
#resumeWrite .rw-toggle.on { background: var(--c-primary); }
#resumeWrite .rw-toggle-knob { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.15); transition: left .15s; }
#resumeWrite .rw-toggle.on .rw-toggle-knob { left: 20px; }

/* ----- segmented ----- */
#resumeWrite .rw-segmented { display: flex; border: 1px solid var(--c-border); border-radius: 8px; overflow: hidden; margin-bottom: 12px; }
#resumeWrite .rw-seg-btn { flex: 1; border: 0; padding: 8px 0; background: transparent; color: var(--c-muted); font-size: 13px; font-weight: 500; cursor: pointer; font-family: inherit; white-space: nowrap; word-break: keep-all; transition: background .15s, color .15s; }
#resumeWrite .rw-seg-btn.active { background: var(--c-primary); color: #fff; }

/* ----- range ----- */
#resumeWrite .rw-range-row { display: flex; align-items: center; gap: 12px; }
#resumeWrite .rw-range { flex: 1; -webkit-appearance: none; appearance: none; height: 6px; border-radius: 3px; background: var(--c-border); outline: none; margin: 2px; }
#resumeWrite .rw-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 16px; height: 16px; border-radius: 50%; background: var(--c-primary); cursor: pointer; }
#resumeWrite .rw-range::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--c-primary); cursor: pointer; border: 0; }
#resumeWrite .rw-range-val { font-size: 13px; font-weight: 600; color: var(--c-primary); min-width: 64px; text-align: right; }

/* ----- 분석 결과 박스 ----- */
#resumeWrite .rw-analysis-result { margin-top: 16px; }
#resumeWrite .rw-analysis-intent { font-size: 13px; color: var(--c-text); line-height: 1.55; margin: 0 0 14px; padding: 0 0 12px; border-bottom: 1px dashed #DCEBFF; }
#resumeWrite .rw-analysis-section { margin: 0 0 12px; }
#resumeWrite .rw-analysis-section:last-of-type { margin-bottom: 10px; }
#resumeWrite .rw-analysis-section-title { min-height: 24px; font-size: 12px; font-weight: 700; margin: 0 0 6px; display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border: 1px solid transparent; border-radius: 999px; line-height: 1; }
#resumeWrite .rw-analysis-section-title.is-include { color: var(--c-success-fg); background: var(--c-success-bg); border-color: #BBF7D0; }
#resumeWrite .rw-analysis-section-title.is-include::before { content: '✓'; font-size: 12px; font-weight: 800; }
#resumeWrite .rw-analysis-section-title.is-avoid { color: var(--c-warn-fg); background: var(--c-warn-bg); border-color: #FCD9A0; }
#resumeWrite .rw-analysis-section-title.is-avoid::before { content: '✗'; font-size: 12px; font-weight: 800; }
#resumeWrite .rw-analysis-list { list-style: none; padding: 0; margin: 6px 0 0; }
#resumeWrite .rw-analysis-list li { font-size: 13px; line-height: 1.55; color: var(--c-text); padding: 3px 0 3px 16px; position: relative; }
#resumeWrite .rw-analysis-list li::before { content: '·'; position: absolute; left: 6px; top: 2px; color: var(--c-faint); font-weight: 700; }
#resumeWrite .rw-keyword-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; padding-top: 10px; border-top: 1px dashed #DCEBFF; }
#resumeWrite .rw-keyword { display: inline-flex; align-items: center; min-height: 24px; font-size: 11px; font-weight: 700; color: #2097FF; background: #fff; border: 1px solid var(--c-primary-bd); padding: 3px 9px; border-radius: 999px; line-height: 1; }

/* ----- 카테고리 탭 (experience.php .np-cat-nav-tab 패턴) ----- */
#resumeWrite .rw-cat-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 2px; margin: 0 0 12px; padding: 0 0 1px; border-bottom: 1px solid var(--c-border); scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
#resumeWrite .rw-cat-tabs::-webkit-scrollbar { height: 4px; }
#resumeWrite .rw-cat-tabs::-webkit-scrollbar-thumb { background: var(--c-border-soft); border-radius: 2px; }
#resumeWrite .rw-cat-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; font: inherit; cursor: pointer; background: transparent; border: 0; color: var(--c-faint); padding: 10px 10px; font-size: 13px; font-weight: 500; white-space: nowrap; position: relative; transition: color .15s; }
#resumeWrite .rw-cat-tab:hover { color: var(--c-muted); }
#resumeWrite .rw-cat-tab.is-active { color: var(--c-title); font-weight: 700; }
#resumeWrite .rw-cat-tab.is-active::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: -1px; height: 2px; background: var(--c-primary); border-radius: 2px; }
#resumeWrite .rw-cat-tab__count { font-size: 11px; font-weight: 500; color: var(--c-faint); margin-left: 2px; }
#resumeWrite .rw-cat-tab.is-active .rw-cat-tab__count { color: var(--c-primary); }

/* ----- 직접 입력 ----- */
#resumeWrite .rw-add-direct-btn { width: 100%; display: block; background: #fff; border: 1.5px dashed #BFDBFE; border-radius: var(--r-card); padding: 10px; color: var(--c-link); font-size: 13px; font-weight: 600; cursor: pointer; margin: 0 0 12px; font-family: inherit; text-align: center; transition: background .15s, border-color .15s; }
#resumeWrite .rw-add-direct-btn:hover { background: var(--c-primary-soft); border-color: #93C5FD; }
#resumeWrite .rw-direct-box { background: #F9FAFB; border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 12px; margin: 0 0 12px; }
#resumeWrite .rw-direct-textarea { width: 100%; min-height: 64px; resize: vertical; border: 1px solid var(--c-border); border-radius: 8px; padding: 8px 10px; font-size: 13px; font-family: inherit; color: var(--c-text); outline: none; line-height: 1.5; }
#resumeWrite .rw-direct-textarea:focus { border-color: var(--c-primary); }
#resumeWrite .rw-direct-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
#resumeWrite .rw-small-btn { font: inherit; font-size: 12px; font-weight: 600; background: var(--c-primary); color: #fff; border: 0; border-radius: 6px; padding: 6px 12px; cursor: pointer; }
#resumeWrite .rw-small-btn:disabled { background: var(--c-border-soft); cursor: not-allowed; }

/* ----- 경험 카드 ----- */
#resumeWrite .rw-exp-section { margin: 0 0 12px; }
#resumeWrite .rw-exp-section:last-child { margin-bottom: 0; }
#resumeWrite .rw-exp-label { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--c-link); margin: 8px 0 6px; }
#resumeWrite .rw-exp-label::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--c-link); }
#resumeWrite .rw-exp-label.is-other { color: var(--c-muted); }
#resumeWrite .rw-exp-label.is-other::before { background: var(--c-muted); }
#resumeWrite .rw-exp-grid { display: flex; flex-direction: column; gap: 6px; }
#resumeWrite .rw-exp-card { background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 12px 14px; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
#resumeWrite .rw-exp-card:hover { border-color: var(--c-primary-bd); background: #F8FBFF; box-shadow: 0 0 0 3px rgba(32,151,255,.06); }
#resumeWrite .rw-exp-card.is-selected { border-color: var(--c-primary); background: var(--c-primary-soft); box-shadow: 0 0 0 3px rgba(32,151,255,.08); }
#resumeWrite .rw-exp-card-meta { display: inline-block; min-height: 20px; max-width: 100%; font-size: 10px; font-weight: 700; color: var(--c-primary); background: #F8FBFF; border: 1px solid #DCEBFF; border-radius: 999px; padding: 4px 8px; margin: 0 0 6px; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: top; box-sizing: border-box; }
#resumeWrite .rw-exp-card-title { font-size: 13px; font-weight: 700; color: var(--c-title); margin: 0 0 4px; line-height: 1.4; }
#resumeWrite .rw-exp-card-summary { font-size: 12px; color: var(--c-muted); margin: 0; line-height: 1.45; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; }
#resumeWrite .rw-exp-count { font-size: 11px; font-weight: 500; color: var(--c-faint); margin-left: 2px; }
#resumeWrite .rw-exp-empty { background: #F9FAFB; border: 1px dashed var(--c-border); border-radius: var(--r-card); padding: 18px 14px; text-align: center; }
#resumeWrite .rw-exp-empty p { margin: 0 0 8px; font-size: 12px; color: var(--c-muted); line-height: 1.5; }
#resumeWrite .rw-exp-empty-link { display: inline-flex; align-items: center; min-height: 32px; font-size: 12px; font-weight: 600; color: var(--c-link); text-decoration: underline; text-underline-offset: 2px; }

/* ----- 전략 카드 ----- */
#resumeWrite .rw-strategy-grid { display: flex; flex-direction: column; gap: 8px; }
#resumeWrite .rw-strategy-card { background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-card); padding: 12px 14px; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
#resumeWrite .rw-strategy-card:hover { border-color: #93C5FD; box-shadow: 0 0 0 3px rgba(32,151,255,.08); }
#resumeWrite .rw-strategy-card.is-selected { border-color: var(--c-primary); background: var(--c-primary-soft); box-shadow: 0 0 0 3px rgba(32,151,255,.08); }
#resumeWrite .rw-strategy-name { font-size: 13px; font-weight: 700; color: var(--c-title); margin: 0 0 3px; }
#resumeWrite .rw-strategy-desc { font-size: 12px; color: var(--c-muted); margin: 0; line-height: 1.45; }

/* ----- 진행 흐름 ----- */
#resumeWrite .rw-flow { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: center; font-size: 12px; color: var(--c-muted); margin-top: 4px; }
#resumeWrite .rw-flow-step { padding: 2px 2px; position: relative; }
#resumeWrite .rw-flow-step.is-current { color: var(--c-title); font-weight: 700; }
#resumeWrite .rw-flow-step.is-current::after { content: ""; position: absolute; left: 2px; right: 2px; bottom: -2px; height: 2px; background: var(--c-primary); border-radius: 2px; }
#resumeWrite .rw-flow-arrow { color: var(--c-faint); }

/* ----- 버튼 ----- */
#resumeWrite .rw-btn { width: 100%; height: 48px; border: 0; border-radius: var(--r-panel); font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: filter .15s, opacity .15s; margin-top: 8px; }
#resumeWrite .rw-btn-primary { background: var(--c-primary); color: #fff; }
#resumeWrite .rw-btn-primary:hover:not(:disabled) { filter: brightness(0.96); }
#resumeWrite .rw-btn:disabled { opacity: 0.5; cursor: not-allowed; }
#resumeWrite .rw-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,0.35); border-top: 2px solid #fff; border-radius: 50%; animation: rwspin .8s linear infinite; }
@keyframes rwspin { to { transform: rotate(360deg); } }
#resumeWrite .rw-analyze-notice { text-align: center; margin-top: 10px; font-size: 12px; color: #9CA3AF; line-height: 1.5; }

/* ----- 모바일 ----- */
@media (max-width: 720px) { :where(body:not(.v2-side-nav)) #resumeWrite { padding: 18px 16px 40px; gap: 16px; overflow-x: hidden; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-page-title { font-size: 20px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-page-desc { font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-card { padding: 16px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-card-title { font-size: 15px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-card-desc { font-size: 12px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-field + .rw-field { margin-top: 18px; padding-top: 18px; }

    /* textarea 영역 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-textarea { min-height: 96px; font-size: 13px; }

    /* 가이드 박스 / 분석 결과 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-guide-box { padding: 11px 12px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-analysis-intent { font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-analysis-section-title { font-size: 12px; padding: 2px 7px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-analysis-list li { font-size: 12px; padding-left: 14px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-keyword { font-size: 11px; }

    /* 카테고리 탭 — 좁아진 폭에 맞춰 패딩·폰트 축소, 가로 스크롤 유지 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-cat-tabs { gap: 0; margin-bottom: 10px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-cat-tab { padding: 9px 8px; font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-cat-tab__count { font-size: 11px; }

    /* 경험 카드 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-exp-card { padding: 10px 11px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-exp-card-meta { font-size: 10px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-exp-card-title { font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-exp-card-summary { font-size: 11px; }

    /* 전략 카드 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-strategy-card { padding: 11px 12px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-strategy-name { font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-strategy-desc { font-size: 12px; }

    /* 작성 조건 토글 / segmented */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-section-title { font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-section-desc { font-size: 12px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-toggle-label { font-size: 13px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-toggle-row { position: relative; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-tooltip-wrap { position: static; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-tooltip-bubble { left: 0; bottom: calc(100% + 6px); transform: none; width: max-content; max-width: 100%; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-seg-btn { font-size: 13px; padding: 7px 0; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-range-val { font-size: 13px; min-width: 56px; }

    /* 버튼 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-btn { height: 46px; font-size: 14px; }

    /* 진행 흐름 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-flow { font-size: 12px; gap: 4px; }

    /* 직접 입력 */
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-add-direct-btn { padding: 9px; font-size: 13px; }
}
@media (max-width:599px) and (max-width: 720px) { :where(body.v2-side-nav) #resumeWrite { padding: 18px 16px 40px; gap: 16px; overflow-x: hidden; }
    :where(body.v2-side-nav) #resumeWrite .rw-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-title { font-size: 20px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-desc { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card { padding: 16px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card-title { font-size: 15px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card-desc { font-size: 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-field + .rw-field { margin-top: 18px; padding-top: 18px; }

    /* textarea 영역 */
    :where(body.v2-side-nav) #resumeWrite .rw-textarea { min-height: 96px; font-size: 13px; }

    /* 가이드 박스 / 분석 결과 */
    :where(body.v2-side-nav) #resumeWrite .rw-guide-box { padding: 11px 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-intent { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-section-title { font-size: 12px; padding: 2px 7px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-list li { font-size: 12px; padding-left: 14px; }
    :where(body.v2-side-nav) #resumeWrite .rw-keyword { font-size: 11px; }

    /* 카테고리 탭 — 좁아진 폭에 맞춰 패딩·폰트 축소, 가로 스크롤 유지 */
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tabs { gap: 0; margin-bottom: 10px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab { padding: 9px 8px; font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab__count { font-size: 11px; }

    /* 경험 카드 */
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card { padding: 10px 11px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-meta { font-size: 10px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-title { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-summary { font-size: 11px; }

    /* 전략 카드 */
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-card { padding: 11px 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-name { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-desc { font-size: 12px; }

    /* 작성 조건 토글 / segmented */
    :where(body.v2-side-nav) #resumeWrite .rw-section-title { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-section-desc { font-size: 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-toggle-label { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-toggle-row { position: relative; }
    :where(body.v2-side-nav) #resumeWrite .rw-tooltip-wrap { position: static; }
    :where(body.v2-side-nav) #resumeWrite .rw-tooltip-bubble { left: 0; bottom: calc(100% + 6px); transform: none; width: max-content; max-width: 100%; }
    :where(body.v2-side-nav) #resumeWrite .rw-seg-btn { font-size: 13px; padding: 7px 0; }
    :where(body.v2-side-nav) #resumeWrite .rw-range-val { font-size: 13px; min-width: 56px; }

    /* 버튼 */
    :where(body.v2-side-nav) #resumeWrite .rw-btn { height: 46px; font-size: 14px; }

    /* 진행 흐름 */
    :where(body.v2-side-nav) #resumeWrite .rw-flow { font-size: 12px; gap: 4px; }

    /* 직접 입력 */
    :where(body.v2-side-nav) #resumeWrite .rw-add-direct-btn { padding: 9px; font-size: 13px; }
} /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:792px) { :where(body.v2-side-nav) #resumeWrite { padding: 18px 16px 40px; gap: 16px; overflow-x: hidden; }
    :where(body.v2-side-nav) #resumeWrite .rw-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-title { font-size: 20px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-desc { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card { padding: 16px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card-title { font-size: 15px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card-desc { font-size: 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-field + .rw-field { margin-top: 18px; padding-top: 18px; }

    /* textarea 영역 */
    :where(body.v2-side-nav) #resumeWrite .rw-textarea { min-height: 96px; font-size: 13px; }

    /* 가이드 박스 / 분석 결과 */
    :where(body.v2-side-nav) #resumeWrite .rw-guide-box { padding: 11px 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-intent { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-section-title { font-size: 12px; padding: 2px 7px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-list li { font-size: 12px; padding-left: 14px; }
    :where(body.v2-side-nav) #resumeWrite .rw-keyword { font-size: 11px; }

    /* 카테고리 탭 — 좁아진 폭에 맞춰 패딩·폰트 축소, 가로 스크롤 유지 */
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tabs { gap: 0; margin-bottom: 10px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab { padding: 9px 8px; font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab__count { font-size: 11px; }

    /* 경험 카드 */
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card { padding: 10px 11px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-meta { font-size: 10px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-title { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-summary { font-size: 11px; }

    /* 전략 카드 */
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-card { padding: 11px 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-name { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-desc { font-size: 12px; }

    /* 작성 조건 토글 / segmented */
    :where(body.v2-side-nav) #resumeWrite .rw-section-title { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-section-desc { font-size: 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-toggle-label { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-toggle-row { position: relative; }
    :where(body.v2-side-nav) #resumeWrite .rw-tooltip-wrap { position: static; }
    :where(body.v2-side-nav) #resumeWrite .rw-tooltip-bubble { left: 0; bottom: calc(100% + 6px); transform: none; width: max-content; max-width: 100%; }
    :where(body.v2-side-nav) #resumeWrite .rw-seg-btn { font-size: 13px; padding: 7px 0; }
    :where(body.v2-side-nav) #resumeWrite .rw-range-val { font-size: 13px; min-width: 56px; }

    /* 버튼 */
    :where(body.v2-side-nav) #resumeWrite .rw-btn { height: 46px; font-size: 14px; }

    /* 진행 흐름 */
    :where(body.v2-side-nav) #resumeWrite .rw-flow { font-size: 12px; gap: 4px; }

    /* 직접 입력 */
    :where(body.v2-side-nav) #resumeWrite .rw-add-direct-btn { padding: 9px; font-size: 13px; }
} /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:920px) { :where(body.v2-side-nav) #resumeWrite { padding: 18px 16px 40px; gap: 16px; overflow-x: hidden; }
    :where(body.v2-side-nav) #resumeWrite .rw-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-title { font-size: 20px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-desc { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card { padding: 16px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card-title { font-size: 15px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card-desc { font-size: 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-field + .rw-field { margin-top: 18px; padding-top: 18px; }

    /* textarea 영역 */
    :where(body.v2-side-nav) #resumeWrite .rw-textarea { min-height: 96px; font-size: 13px; }

    /* 가이드 박스 / 분석 결과 */
    :where(body.v2-side-nav) #resumeWrite .rw-guide-box { padding: 11px 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-intent { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-section-title { font-size: 12px; padding: 2px 7px; }
    :where(body.v2-side-nav) #resumeWrite .rw-analysis-list li { font-size: 12px; padding-left: 14px; }
    :where(body.v2-side-nav) #resumeWrite .rw-keyword { font-size: 11px; }

    /* 카테고리 탭 — 좁아진 폭에 맞춰 패딩·폰트 축소, 가로 스크롤 유지 */
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tabs { gap: 0; margin-bottom: 10px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab { padding: 9px 8px; font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab__count { font-size: 11px; }

    /* 경험 카드 */
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card { padding: 10px 11px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-meta { font-size: 10px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-title { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-exp-card-summary { font-size: 11px; }

    /* 전략 카드 */
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-card { padding: 11px 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-name { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-strategy-desc { font-size: 12px; }

    /* 작성 조건 토글 / segmented */
    :where(body.v2-side-nav) #resumeWrite .rw-section-title { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-section-desc { font-size: 12px; }
    :where(body.v2-side-nav) #resumeWrite .rw-toggle-label { font-size: 13px; }
    :where(body.v2-side-nav) #resumeWrite .rw-toggle-row { position: relative; }
    :where(body.v2-side-nav) #resumeWrite .rw-tooltip-wrap { position: static; }
    :where(body.v2-side-nav) #resumeWrite .rw-tooltip-bubble { left: 0; bottom: calc(100% + 6px); transform: none; width: max-content; max-width: 100%; }
    :where(body.v2-side-nav) #resumeWrite .rw-seg-btn { font-size: 13px; padding: 7px 0; }
    :where(body.v2-side-nav) #resumeWrite .rw-range-val { font-size: 13px; min-width: 56px; }

    /* 버튼 */
    :where(body.v2-side-nav) #resumeWrite .rw-btn { height: 46px; font-size: 14px; }

    /* 진행 흐름 */
    :where(body.v2-side-nav) #resumeWrite .rw-flow { font-size: 12px; gap: 4px; }

    /* 직접 입력 */
    :where(body.v2-side-nav) #resumeWrite .rw-add-direct-btn { padding: 9px; font-size: 13px; }
} /* 왼쪽 메뉴 사본 (+200px) */
/* ----- 작은 모바일 (375px 이하) — 텍스트 더 압축 ----- */
@media (max-width: 380px) { :where(body:not(.v2-side-nav)) #resumeWrite { padding: 16px 14px 32px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-page-title { font-size: 19px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-card { padding: 14px; }
    :where(body:not(.v2-side-nav)) #resumeWrite .rw-cat-tab { padding: 8px 7px; font-size: 12px; }
}
@media (max-width:599px) and (max-width: 380px) { :where(body.v2-side-nav) #resumeWrite { padding: 16px 14px 32px; }
    :where(body.v2-side-nav) #resumeWrite .rw-page-title { font-size: 19px; }
    :where(body.v2-side-nav) #resumeWrite .rw-card { padding: 14px; }
    :where(body.v2-side-nav) #resumeWrite .rw-cat-tab { padding: 8px 7px; font-size: 12px; }
} /* 왼쪽 메뉴 사본 (+0px) */
/* ===== interview_edit.php — 면접 스크립트 (#interviewScript) ===== */
#interviewScript { --c-text: #111827; --c-title: #111827; --c-muted: #4B5563; --c-faint: #9CA3AF; --c-border: #E5E7EB; --c-border-soft: #E5E7EB; --c-primary: #2097FF; --c-primary-dark: #1c87e5; --c-primary-soft: #EAF5FE; --c-primary-bd: #BFDBFE; --c-guide-bg: #F8FBFF; --c-guide-bd: #DCEBFF; --c-link: #2097FF; --c-active-line: #FF2D55; --c-success-bg: #DCFCE7; --c-success-fg: #16A34A; --c-warn-bg: #FFF7E6; --c-warn-fg: #8A5A00; --c-danger-fg: #DC2626; --c-danger-bd: #FECACA; --c-danger-bg: #FEF2F2; --r-card: 10px; --r-panel: 12px; max-width: 960px; margin: 0 auto; padding: 24px 20px 80px; color: var(--c-text); font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", sans-serif; }
#interviewScript * { box-sizing: border-box; }
#interviewScript .hidden { display: none !important; }

/* 헤더 */
#interviewScript .top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; gap: 12px; flex-wrap: wrap; }
#interviewScript .top h1 { font-size: 22px; font-weight: 700; color: var(--c-title); margin: 0; letter-spacing: -0.02em; }
#interviewScript .top .actions { display: flex; gap: 8px; }
#interviewScript .back { display: inline-flex; align-items: center; gap: 6px; color: var(--c-muted); font-size: 14px; text-decoration: none; cursor: pointer; margin-bottom: 8px; font-family: inherit; }
#interviewScript .back:hover { color: var(--c-primary); }
#interviewScript .title { font-size: 22px; font-weight: 700; color: var(--c-title); margin: 0 0 24px; letter-spacing: -0.02em; }

/* 버튼 */
#interviewScript .btn-outline { background: #fff; border: 1px solid var(--c-primary); color: var(--c-primary); padding: 8px 14px; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 14px; font-family: inherit; }
#interviewScript .btn-outline:hover { background: var(--c-primary-soft); }
#interviewScript .btn-link { background: transparent; border: 0; color: var(--c-muted); font-size: 13px; cursor: pointer; padding: 6px 8px; font-family: inherit; }
#interviewScript .btn-link:hover { color: var(--c-active-line); }
#interviewScript .btn-primary { background: var(--c-primary); color: #fff; border: 0; padding: 14px 20px; border-radius: var(--r-panel); font-weight: 700; cursor: pointer; font-size: 15px; width: 100%; font-family: inherit; transition: background .15s; }
#interviewScript .btn-primary:hover:not(:disabled) { background: var(--c-primary-dark); }
#interviewScript .btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
#interviewScript .btn-small { padding: 6px 12px; font-size: 13px; border-radius: 8px; cursor: pointer; font-weight: 600; border: 1px solid transparent; font-family: inherit; }
#interviewScript .btn-small.purple { background: #fff; color: var(--c-primary); border-color: var(--c-primary-bd); }
#interviewScript .btn-small.purple:hover { background: var(--c-primary-soft); border-color: #93C5FD; }
#interviewScript .btn-small.purple-fill { background: var(--c-primary); color: #fff; }
#interviewScript .btn-small.purple-fill:hover { background: var(--c-primary-dark); }
#interviewScript .btn-small.danger { background: #fff; color: var(--c-danger-fg); border-color: var(--c-danger-bd); }
#interviewScript .btn-small.danger:hover { background: var(--c-danger-bg); }

/* 메인 탭 (인성/직무) */
#interviewScript .tabs { display: flex; background: #fff; border: 1px solid var(--c-border); border-radius: 8px; margin-bottom: 20px; overflow: hidden; }
#interviewScript .tab { flex: 1; background: transparent; border: 0; padding: 12px 0; font-size: 14px; font-weight: 600; color: var(--c-muted); cursor: pointer; font-family: inherit; }
#interviewScript .tab + .tab { border-left: 1px solid var(--c-border); }
#interviewScript .tab.active { background: var(--c-primary); color: #fff; }

/* 서브 탭 (카테고리) → 본체는 css/career_tabs.css 공용 정의, count 자식만 여기서 */
#interviewScript .sub-tab .count { margin-left: 4px; color: var(--c-faint); font-weight: 500; }
#interviewScript .sub-tab.active .count { color: var(--c-primary); }

/* 안내 카드 */
#interviewScript .info-card { background: var(--c-guide-bg); border: 1px solid var(--c-guide-bd); border-radius: var(--r-card); padding: 16px 18px; margin-bottom: 16px; }
#interviewScript .info-card h3 { margin: 0 0 8px; color: var(--c-title); font-size: 16px; font-weight: 700; }
#interviewScript .info-card p { margin: 0 0 14px; font-size: 13px; color: var(--c-muted); line-height: 1.5; }
#interviewScript .info-card ol { margin: 0; padding-left: 0; list-style: none; }
#interviewScript .info-card ol li { font-size: 13px; color: var(--c-text); padding: 3px 0; line-height: 1.5; }
#interviewScript .info-card ol li b { color: var(--c-link); margin-right: 4px; }

/* 소스 선택 카드 */
#interviewScript .card { background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-panel); padding: 18px 20px; margin-bottom: 12px; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
#interviewScript .card:hover { border-color: var(--c-primary-bd); background: var(--c-guide-bg); box-shadow: 0 0 0 3px rgba(32,151,255,.08); }
#interviewScript .card h4 { margin: 0 0 4px; font-size: 15px; color: var(--c-title); font-weight: 700; }
#interviewScript .card p { margin: 0; font-size: 13px; color: var(--c-muted); line-height: 1.5; }

/* 검색 */
#interviewScript .search { width: 100%; padding: 12px 14px; border: 1px solid var(--c-border); border-radius: var(--r-card); font-size: 14px; margin-bottom: 14px; color: var(--c-text); font-family: inherit; outline: none; transition: border-color .15s, box-shadow .15s; }
#interviewScript .search:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(32,151,255,.12); }

/* 기출 풀 row */
#interviewScript .q-row { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-panel); padding: 14px 16px; margin-bottom: 8px; cursor: pointer; transition: border-color .15s, background .15s; }
#interviewScript .q-row:hover { border-color: var(--c-primary-bd); background: var(--c-guide-bg); }
#interviewScript .q-row input[type=checkbox] { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--c-primary); cursor: pointer; }
#interviewScript .q-row .body { flex: 1; }

/* 뱃지 */
#interviewScript .badges { display: flex; gap: 6px; margin-bottom: 6px; flex-wrap: wrap; }
#interviewScript .badge { font-size: 11px; padding: 3px 8px; border-radius: 999px; font-weight: 600; line-height: 1.2; }
#interviewScript .badge.hot { background: #FFF0F4; color: var(--c-active-line); }
#interviewScript .badge.cat, #interviewScript .badge.group { background: #fff; color: #2097FF; border: 1px solid var(--c-primary-bd); }
#interviewScript .badge.status-pending { background: var(--c-warn-bg); color: var(--c-warn-fg); }
#interviewScript .badge.status-done { background: var(--c-success-bg); color: var(--c-success-fg); }
#interviewScript .q-text { font-size: 14px; color: var(--c-text); line-height: 1.45; }

/* PDF 업로드 */
#interviewScript .dropzone { border: 1.5px dashed var(--c-primary-bd); background: var(--c-guide-bg); border-radius: var(--r-panel); padding: 56px 24px; text-align: center; }
#interviewScript .pdf-icon { display: inline-block; background: var(--c-primary-soft); color: var(--c-primary); font-weight: 800; padding: 8px 14px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
#interviewScript .dropzone h3 { margin: 0 0 6px; font-size: 16px; color: var(--c-title); }
#interviewScript .dropzone p { margin: 0 0 16px; color: var(--c-muted); font-size: 13px; }
#interviewScript .pick-btn { background: var(--c-primary-soft); color: var(--c-primary); border: 0; padding: 10px 18px; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 14px; font-family: inherit; }
#interviewScript .pick-btn:hover { background: #DCEBFF; }
#interviewScript .hint { font-size: 12px; color: var(--c-faint); margin-top: 12px; }

/* 직접 입력 */
#interviewScript .field-row { display: flex; gap: 8px; margin-bottom: 10px; }
#interviewScript .field-row input { flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid var(--c-border); border-radius: var(--r-card); font-size: 14px; color: var(--c-text); font-family: inherit; outline: none; transition: border-color .15s, box-shadow .15s; }
#interviewScript .field-row input:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(32,151,255,.12); }
#interviewScript .field-row .x { background: #F9FAFB; border: 0; width: 36px; flex: 0 0 36px; border-radius: 8px; cursor: pointer; color: var(--c-muted); font-size: 16px; }
#interviewScript .label { font-weight: 600; font-size: 14px; margin-bottom: 10px; color: var(--c-title); }
#interviewScript .add-q-btn { background: #fff; border: 1.5px dashed var(--c-primary-bd); color: var(--c-link); padding: 8px 14px; border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 600; margin-bottom: 18px; font-family: inherit; }
#interviewScript .add-q-btn:hover { background: var(--c-primary-soft); border-color: #93C5FD; }

/* 일괄 생성 바 */
#interviewScript .bulk-bar { background: var(--c-primary); color: #fff; border-radius: var(--r-panel); padding: 14px 18px; margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#interviewScript .bulk-bar .text { font-size: 14px; font-weight: 700; }
#interviewScript .bulk-bar .sub { font-size: 12px; color: rgba(255,255,255,.82); margin-top: 2px; display: block; font-weight: 400; }
#interviewScript .bulk-bar button { background: #fff; color: var(--c-primary); border: 0; padding: 8px 14px; border-radius: 8px; font-weight: 700; font-size: 13px; cursor: pointer; font-family: inherit; }
#interviewScript .bulk-bar button:hover { background: var(--c-primary-soft); }
#interviewScript .bulk-bar button:disabled { opacity: 0.65; cursor: not-allowed; }

/* 저장된 스크립트 카드 */
#interviewScript .script-card { background: #fff; border: 1px solid var(--c-border); border-radius: var(--r-panel); padding: 18px 20px; margin-bottom: 10px; transition: border-color .15s; cursor: default; }
#interviewScript .script-card:hover { border-color: var(--c-primary-bd); }
#interviewScript .script-card .head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
#interviewScript .script-card .qbody { flex: 1; min-width: 0; }
#interviewScript .script-card .qtext { font-size: 15px; font-weight: 700; color: var(--c-title); line-height: 1.45; margin: 0 0 8px; word-break: break-word; }
#interviewScript .script-card .toggle-arrow { background: transparent; border: 0; color: var(--c-faint); font-size: 14px; cursor: pointer; padding: 4px 6px; transition: transform .2s, color .15s; flex-shrink: 0; }
#interviewScript .script-card .toggle-arrow:hover { color: var(--c-primary); }
#interviewScript .script-card.expanded .toggle-arrow { transform: rotate(180deg); }
#interviewScript .script-card .answer-readonly { margin-top: 12px; padding: 12px 14px; background: #F9FAFB; border: 1px solid var(--c-border); border-radius: var(--r-card); font-size: 13px; line-height: 1.65; color: var(--c-text); white-space: pre-wrap; }
#interviewScript .script-card .answer-empty { margin-top: 12px; padding: 12px 14px; background: var(--c-guide-bg); border: 1px dashed var(--c-guide-bd); border-radius: var(--r-card); font-size: 12px; color: var(--c-muted); }
#interviewScript .script-card .actions-row { display: flex; gap: 6px; margin-top: 12px; justify-content: flex-end; flex-wrap: wrap; }
#interviewScript .script-card.collapsed .answer-readonly, #interviewScript .script-card.collapsed .answer-empty { display: none; }

/* 인라인 에디터 */
#interviewScript .answer-editor { margin-top: 12px; padding: 14px; background: var(--c-guide-bg); border: 1px solid var(--c-guide-bd); border-radius: var(--r-card); }
#interviewScript .answer-editor textarea { width: 100%; min-height: 140px; resize: vertical; border: 1px solid var(--c-border); border-radius: 8px; padding: 10px 12px; font-size: 14px; font-family: inherit; line-height: 1.6; color: var(--c-text); outline: none; transition: border-color .15s, box-shadow .15s; }
#interviewScript .answer-editor textarea:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(32,151,255,.12); }
#interviewScript .answer-editor .editor-actions { display: flex; gap: 6px; margin-top: 10px; justify-content: flex-end; }
#interviewScript .answer-editor .ed-count { font-size: 11px; color: var(--c-faint); margin-top: 4px; text-align: right; }

/* AI 생성 진행 */
#interviewScript .ai-progress { margin-top: 12px; padding: 16px; background: var(--c-guide-bg); border: 1px solid var(--c-guide-bd); border-radius: var(--r-card); }
#interviewScript .ai-phase { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; font-size: 12px; color: var(--c-faint); }
#interviewScript .ai-phase-step { display: inline-flex; align-items: center; gap: 5px; }
#interviewScript .ai-phase-dot { width: 18px; height: 18px; border-radius: 50%; background: var(--c-primary-soft); color: var(--c-primary); font-size: 10px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
#interviewScript .ai-phase-step.active .ai-phase-dot { background: var(--c-primary); color: #fff; }
#interviewScript .ai-phase-step.active { color: var(--c-title); font-weight: 700; }
#interviewScript .ai-phase-step.done .ai-phase-dot { background: var(--c-success-bg); color: var(--c-success-fg); }
#interviewScript .ai-phase-step.done { color: var(--c-muted); }
#interviewScript .ai-phase-conn { flex-basis: 18px; height: 1px; background: var(--c-border); }
#interviewScript .ai-phase-conn.done { background: var(--c-success-fg); }
#interviewScript .ai-stream { min-height: 80px; max-height: 280px; overflow-y: auto; padding: 10px 12px; background: #fff; border: 1px solid var(--c-border); border-radius: 8px; font-size: 14px; line-height: 1.65; color: var(--c-text); white-space: pre-wrap; }
#interviewScript .ai-cursor { display: inline-block; width: 2px; height: 1em; background: var(--c-primary); vertical-align: middle; margin-left: 1px; animation: interviewAiBlink 1s steps(2) infinite; }
@keyframes interviewAiBlink { 50% { opacity: 0; } }
#interviewScript .ai-msg { font-size: 12px; color: var(--c-link); margin-top: 8px; }

/* 빈 상태 / 토스트 */
#interviewScript .empty-help { text-align: center; padding: 20px 0 8px; color: var(--c-muted); font-size: 13px; }
/* #interviewScript .toast 제거 — 토스트는 전역 showToast(.toast-message) 단일 출처로 통일 */

@media (max-width: 720px) { :where(body:not(.v2-side-nav)) #interviewScript { padding: 20px 16px 60px; }
  :where(body:not(.v2-side-nav)) #interviewScript .top h1 { font-size: 20px; }
  :where(body:not(.v2-side-nav)) #interviewScript .top .actions { width: 100%; justify-content: flex-end; }
  :where(body:not(.v2-side-nav)) #interviewScript .title { font-size: 20px; }
  :where(body:not(.v2-side-nav)) #interviewScript .script-card { padding: 14px 16px; }
  :where(body:not(.v2-side-nav)) #interviewScript .script-card .qtext { font-size: 14px; }
  :where(body:not(.v2-side-nav)) #interviewScript .script-card .actions-row .btn-small { flex: 1 0 auto; }
  :where(body:not(.v2-side-nav)) #interviewScript .dropzone { padding: 42px 18px; }
}
@media (max-width:599px) and (max-width: 720px) { :where(body.v2-side-nav) #interviewScript { padding: 20px 16px 60px; }
  :where(body.v2-side-nav) #interviewScript .top h1 { font-size: 20px; }
  :where(body.v2-side-nav) #interviewScript .top .actions { width: 100%; justify-content: flex-end; }
  :where(body.v2-side-nav) #interviewScript .title { font-size: 20px; }
  :where(body.v2-side-nav) #interviewScript .script-card { padding: 14px 16px; }
  :where(body.v2-side-nav) #interviewScript .script-card .qtext { font-size: 14px; }
  :where(body.v2-side-nav) #interviewScript .script-card .actions-row .btn-small { flex: 1 0 auto; }
  :where(body.v2-side-nav) #interviewScript .dropzone { padding: 42px 18px; }
} /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:792px) { :where(body.v2-side-nav) #interviewScript { padding: 20px 16px 60px; }
  :where(body.v2-side-nav) #interviewScript .top h1 { font-size: 20px; }
  :where(body.v2-side-nav) #interviewScript .top .actions { width: 100%; justify-content: flex-end; }
  :where(body.v2-side-nav) #interviewScript .title { font-size: 20px; }
  :where(body.v2-side-nav) #interviewScript .script-card { padding: 14px 16px; }
  :where(body.v2-side-nav) #interviewScript .script-card .qtext { font-size: 14px; }
  :where(body.v2-side-nav) #interviewScript .script-card .actions-row .btn-small { flex: 1 0 auto; }
  :where(body.v2-side-nav) #interviewScript .dropzone { padding: 42px 18px; }
} /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:920px) { :where(body.v2-side-nav) #interviewScript { padding: 20px 16px 60px; }
  :where(body.v2-side-nav) #interviewScript .top h1 { font-size: 20px; }
  :where(body.v2-side-nav) #interviewScript .top .actions { width: 100%; justify-content: flex-end; }
  :where(body.v2-side-nav) #interviewScript .title { font-size: 20px; }
  :where(body.v2-side-nav) #interviewScript .script-card { padding: 14px 16px; }
  :where(body.v2-side-nav) #interviewScript .script-card .qtext { font-size: 14px; }
  :where(body.v2-side-nav) #interviewScript .script-card .actions-row .btn-small { flex: 1 0 auto; }
  :where(body.v2-side-nav) #interviewScript .dropzone { padding: 42px 18px; }
} /* 왼쪽 메뉴 사본 (+200px) */
/* ===== 취업 준비 전반 타이포 가독성 보정 ===== */
#resume .page-desc, #resume .embed-placeholder-desc, #resume .coming-soon-desc { font-size: 15px; line-height: 1.62; }
#resume .embed-placeholder-title { font-size: 18px; line-height: 1.4; }
#resume .embed-placeholder-btn { height: 42px; font-size: 15px; }
#resume .coming-soon-title { font-size: 24px; }
.np-page-title { font-size: 26px; line-height: 1.25; }
.np-start-btn, .np-btn, .np-add-btn, .np-confirm__btn, .np-mode-tab, .np-ai-chat__send { font-size: 15px; }
.np-target-hospital__label, .np-cell__badge, .np-guide-box__label, .np-guide-box__sub-label, .np-chip-group__label, .np-option__badge, .np-exp-item__status, .np-detail-tag, .np-detail-use__label { font-size: 12px; }
.np-target-hospital__name, .np-row__header-title, .np-cell__name, .np-drawer__q, .np-option__title, .np-detail-use__title { font-size: 16px; line-height: 1.42; }
.np-target-hospital__desc, .np-row__header-desc, .np-guide-box__text, .np-examples, .np-examples__title, .np-option__desc, .np-field__label, .np-list-summary, .np-empty, .np-confirm__desc, .np-ai-chat__bubble { font-size: 15px; line-height: 1.62; }
.np-field__hint, .np-form__msg { font-size: 13px; line-height: 1.5; }
.np-chip, .np-cat-tab, .np-sub-chip, .np-input, .np-textarea, .np-select, .np-exp-item__preview, .np-detail-use__list, .np-detail-use__empty, .np-detail-delete { font-size: 14px; }
.np-exp-item__title { font-size: 16px; line-height: 1.4; }
.np-detail-title { font-size: 22px; line-height: 1.35; }
.np-detail-body { font-size: 15px; line-height: 1.7; }
.np-confirm__title { font-size: 18px; }
#resumeWrite .rw-page-title { font-size: 24px; line-height: 1.25; }
#resumeWrite .rw-page-desc, #resumeWrite .rw-card-desc, #resumeWrite .rw-guide-box__text, #resumeWrite .rw-section-desc, #resumeWrite .rw-analysis-intent, #resumeWrite .rw-analysis-list li, #resumeWrite .rw-hospital-option, #resumeWrite .rw-toggle-label, #resumeWrite .rw-strategy-desc { font-size: 14px; line-height: 1.6; }
#resumeWrite .rw-card-title { font-size: 18px; line-height: 1.35; }
#resumeWrite .rw-section-title, #resumeWrite .rw-label, #resumeWrite .rw-textarea, #resumeWrite .rw-hospital-input, #resumeWrite .rw-seg-btn, #resumeWrite .rw-range-val, #resumeWrite .rw-cat-tab, #resumeWrite .rw-direct-textarea, #resumeWrite .rw-strategy-name { font-size: 15px; }
#resumeWrite .rw-guide-box__label, #resumeWrite .rw-optional-tag, #resumeWrite .rw-count, #resumeWrite .rw-analysis-section-title, #resumeWrite .rw-keyword, #resumeWrite .rw-cat-tab__count, #resumeWrite .rw-exp-label, #resumeWrite .rw-exp-card-meta, #resumeWrite .rw-exp-count, #resumeWrite .rw-flow, #resumeWrite .rw-analyze-notice { font-size: 13px; }
#resumeWrite .rw-hospital-option__region, #resumeWrite .rw-tooltip-bubble, #resumeWrite .rw-exp-card-summary, #resumeWrite .rw-exp-empty p, #resumeWrite .rw-exp-empty-link { font-size: 13px; line-height: 1.55; }
#resumeWrite .rw-add-direct-btn, #resumeWrite .rw-small-btn { font-size: 14px; }
#resumeWrite .rw-exp-card-title { font-size: 15px; line-height: 1.45; }
#resumeWrite .rw-btn { font-size: 16px; }
#interviewScript .top h1, #interviewScript .title { font-size: 24px; line-height: 1.25; }
#interviewScript .back, #interviewScript .btn-outline, #interviewScript .btn-primary, #interviewScript .tab, #interviewScript .search, #interviewScript .q-text, #interviewScript .pick-btn, #interviewScript .field-row input, #interviewScript .label, #interviewScript .answer-editor textarea, #interviewScript .ai-stream { font-size: 15px; }
#interviewScript .btn-link, #interviewScript .btn-small, #interviewScript .add-q-btn, #interviewScript .bulk-bar button, #interviewScript .ai-msg, #interviewScript .empty-help { font-size: 14px; }
#interviewScript .info-card h3, #interviewScript .dropzone h3 { font-size: 18px; }
#interviewScript .card h4, #interviewScript .script-card .qtext { font-size: 16px; line-height: 1.5; }
#interviewScript .info-card p, #interviewScript .info-card ol li, #interviewScript .card p, #interviewScript .dropzone p, #interviewScript .script-card .answer-readonly, #interviewScript .script-card .answer-empty { font-size: 14px; line-height: 1.65; }
#interviewScript .badge, #interviewScript .hint, #interviewScript .bulk-bar .sub, #interviewScript .ai-phase, #interviewScript .answer-editor .ed-count { font-size: 12px; }
#interviewScript .bulk-bar .text { font-size: 15px; }
@media (max-width: 991px) { :where(body:not(.v2-side-nav)) .np-page-title { font-size: 24px; } :where(body:not(.v2-side-nav)) .np-target-hospital__desc,:where(body:not(.v2-side-nav)) .np-row__header-desc,:where(body:not(.v2-side-nav)) .np-guide-box__text,:where(body:not(.v2-side-nav)) .np-option__desc,:where(body:not(.v2-side-nav)) .np-input,:where(body:not(.v2-side-nav)) .np-textarea,:where(body:not(.v2-side-nav)) .np-select { font-size: 14px; } }
@media (max-width:599px) and (max-width: 991px) { :where(body.v2-side-nav) .np-page-title { font-size: 24px; } :where(body.v2-side-nav) .np-target-hospital__desc,:where(body.v2-side-nav) .np-row__header-desc,:where(body.v2-side-nav) .np-guide-box__text,:where(body.v2-side-nav) .np-option__desc,:where(body.v2-side-nav) .np-input,:where(body.v2-side-nav) .np-textarea,:where(body.v2-side-nav) .np-select { font-size: 14px; } } /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:1063px) { :where(body.v2-side-nav) .np-page-title { font-size: 24px; } :where(body.v2-side-nav) .np-target-hospital__desc,:where(body.v2-side-nav) .np-row__header-desc,:where(body.v2-side-nav) .np-guide-box__text,:where(body.v2-side-nav) .np-option__desc,:where(body.v2-side-nav) .np-input,:where(body.v2-side-nav) .np-textarea,:where(body.v2-side-nav) .np-select { font-size: 14px; } } /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:1023px) and (max-width:1191px) { :where(body.v2-side-nav) .np-page-title { font-size: 24px; } :where(body.v2-side-nav) .np-target-hospital__desc,:where(body.v2-side-nav) .np-row__header-desc,:where(body.v2-side-nav) .np-guide-box__text,:where(body.v2-side-nav) .np-option__desc,:where(body.v2-side-nav) .np-input,:where(body.v2-side-nav) .np-textarea,:where(body.v2-side-nav) .np-select { font-size: 14px; } } /* 왼쪽 메뉴 사본 (+200px) */
@media (min-width:1024px) and (max-width:1231px) { :where(body.v2-side-nav) .np-page-title { font-size: 24px; } :where(body.v2-side-nav) .np-target-hospital__desc,:where(body.v2-side-nav) .np-row__header-desc,:where(body.v2-side-nav) .np-guide-box__text,:where(body.v2-side-nav) .np-option__desc,:where(body.v2-side-nav) .np-input,:where(body.v2-side-nav) .np-textarea,:where(body.v2-side-nav) .np-select { font-size: 14px; } } /* 왼쪽 메뉴 사본 (+240px) */
@media (max-width: 720px) { :where(body:not(.v2-side-nav)) #resumeWrite .rw-page-title,:where(body:not(.v2-side-nav)) #interviewScript .top h1,:where(body:not(.v2-side-nav)) #interviewScript .title { font-size: 22px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-page-desc,:where(body:not(.v2-side-nav)) #resumeWrite .rw-card-desc,:where(body:not(.v2-side-nav)) #resumeWrite .rw-section-desc,:where(body:not(.v2-side-nav)) #resumeWrite .rw-analysis-list li,:where(body:not(.v2-side-nav)) #interviewScript .info-card p,:where(body:not(.v2-side-nav)) #interviewScript .info-card ol li,:where(body:not(.v2-side-nav)) #interviewScript .card p,:where(body:not(.v2-side-nav)) #interviewScript .script-card .answer-readonly { font-size: 14px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-textarea,:where(body:not(.v2-side-nav)) #resumeWrite .rw-hospital-input,:where(body:not(.v2-side-nav)) #interviewScript .search,:where(body:not(.v2-side-nav)) #interviewScript .q-text,:where(body:not(.v2-side-nav)) #interviewScript .answer-editor textarea,:where(body:not(.v2-side-nav)) #interviewScript .ai-stream { font-size: 15px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-card-title,:where(body:not(.v2-side-nav)) #interviewScript .info-card h3 { font-size: 17px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-btn { font-size: 15px; } }
@media (max-width:599px) and (max-width: 720px) { :where(body.v2-side-nav) #resumeWrite .rw-page-title,:where(body.v2-side-nav) #interviewScript .top h1,:where(body.v2-side-nav) #interviewScript .title { font-size: 22px; } :where(body.v2-side-nav) #resumeWrite .rw-page-desc,:where(body.v2-side-nav) #resumeWrite .rw-card-desc,:where(body.v2-side-nav) #resumeWrite .rw-section-desc,:where(body.v2-side-nav) #resumeWrite .rw-analysis-list li,:where(body.v2-side-nav) #interviewScript .info-card p,:where(body.v2-side-nav) #interviewScript .info-card ol li,:where(body.v2-side-nav) #interviewScript .card p,:where(body.v2-side-nav) #interviewScript .script-card .answer-readonly { font-size: 14px; } :where(body.v2-side-nav) #resumeWrite .rw-textarea,:where(body.v2-side-nav) #resumeWrite .rw-hospital-input,:where(body.v2-side-nav) #interviewScript .search,:where(body.v2-side-nav) #interviewScript .q-text,:where(body.v2-side-nav) #interviewScript .answer-editor textarea,:where(body.v2-side-nav) #interviewScript .ai-stream { font-size: 15px; } :where(body.v2-side-nav) #resumeWrite .rw-card-title,:where(body.v2-side-nav) #interviewScript .info-card h3 { font-size: 17px; } :where(body.v2-side-nav) #resumeWrite .rw-btn { font-size: 15px; } } /* 왼쪽 메뉴 사본 (+0px) */
@media (min-width:600px) and (max-width:767px) and (max-width:792px) { :where(body.v2-side-nav) #resumeWrite .rw-page-title,:where(body.v2-side-nav) #interviewScript .top h1,:where(body.v2-side-nav) #interviewScript .title { font-size: 22px; } :where(body.v2-side-nav) #resumeWrite .rw-page-desc,:where(body.v2-side-nav) #resumeWrite .rw-card-desc,:where(body.v2-side-nav) #resumeWrite .rw-section-desc,:where(body.v2-side-nav) #resumeWrite .rw-analysis-list li,:where(body.v2-side-nav) #interviewScript .info-card p,:where(body.v2-side-nav) #interviewScript .info-card ol li,:where(body.v2-side-nav) #interviewScript .card p,:where(body.v2-side-nav) #interviewScript .script-card .answer-readonly { font-size: 14px; } :where(body.v2-side-nav) #resumeWrite .rw-textarea,:where(body.v2-side-nav) #resumeWrite .rw-hospital-input,:where(body.v2-side-nav) #interviewScript .search,:where(body.v2-side-nav) #interviewScript .q-text,:where(body.v2-side-nav) #interviewScript .answer-editor textarea,:where(body.v2-side-nav) #interviewScript .ai-stream { font-size: 15px; } :where(body.v2-side-nav) #resumeWrite .rw-card-title,:where(body.v2-side-nav) #interviewScript .info-card h3 { font-size: 17px; } :where(body.v2-side-nav) #resumeWrite .rw-btn { font-size: 15px; } } /* 왼쪽 메뉴 사본 (+72px) */
@media (min-width:768px) and (max-width:920px) { :where(body.v2-side-nav) #resumeWrite .rw-page-title,:where(body.v2-side-nav) #interviewScript .top h1,:where(body.v2-side-nav) #interviewScript .title { font-size: 22px; } :where(body.v2-side-nav) #resumeWrite .rw-page-desc,:where(body.v2-side-nav) #resumeWrite .rw-card-desc,:where(body.v2-side-nav) #resumeWrite .rw-section-desc,:where(body.v2-side-nav) #resumeWrite .rw-analysis-list li,:where(body.v2-side-nav) #interviewScript .info-card p,:where(body.v2-side-nav) #interviewScript .info-card ol li,:where(body.v2-side-nav) #interviewScript .card p,:where(body.v2-side-nav) #interviewScript .script-card .answer-readonly { font-size: 14px; } :where(body.v2-side-nav) #resumeWrite .rw-textarea,:where(body.v2-side-nav) #resumeWrite .rw-hospital-input,:where(body.v2-side-nav) #interviewScript .search,:where(body.v2-side-nav) #interviewScript .q-text,:where(body.v2-side-nav) #interviewScript .answer-editor textarea,:where(body.v2-side-nav) #interviewScript .ai-stream { font-size: 15px; } :where(body.v2-side-nav) #resumeWrite .rw-card-title,:where(body.v2-side-nav) #interviewScript .info-card h3 { font-size: 17px; } :where(body.v2-side-nav) #resumeWrite .rw-btn { font-size: 15px; } } /* 왼쪽 메뉴 사본 (+200px) */
@media (max-width: 480px) { :where(body:not(.v2-side-nav)) .np-page-title { font-size: 22px; } :where(body:not(.v2-side-nav)) .np-start-btn,:where(body:not(.v2-side-nav)) .np-btn,:where(body:not(.v2-side-nav)) .np-add-btn,:where(body:not(.v2-side-nav)) .np-mode-tab,:where(body:not(.v2-side-nav)) .np-ai-chat__send { font-size: 14px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-page-title { font-size: 21px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-card-title { font-size: 17px; } :where(body:not(.v2-side-nav)) #resumeWrite .rw-cat-tab { font-size: 14px; } }
@media (max-width:599px) and (max-width: 480px) { :where(body.v2-side-nav) .np-page-title { font-size: 22px; } :where(body.v2-side-nav) .np-start-btn,:where(body.v2-side-nav) .np-btn,:where(body.v2-side-nav) .np-add-btn,:where(body.v2-side-nav) .np-mode-tab,:where(body.v2-side-nav) .np-ai-chat__send { font-size: 14px; } :where(body.v2-side-nav) #resumeWrite .rw-page-title { font-size: 21px; } :where(body.v2-side-nav) #resumeWrite .rw-card-title { font-size: 17px; } :where(body.v2-side-nav) #resumeWrite .rw-cat-tab { font-size: 14px; } } /* 왼쪽 메뉴 사본 (+0px) */
.np-ai-chat .np-ai-chat__send { font-size: 16px; }
@media (max-width: 480px) { :where(body:not(.v2-side-nav)) .np-ai-chat .np-ai-chat__send { flex-basis: 38px; width: 38px; padding: 0; font-size: 16px; } }
@media (max-width:599px) and (max-width: 480px) { :where(body.v2-side-nav) .np-ai-chat .np-ai-chat__send { flex-basis: 38px; width: 38px; padding: 0; font-size: 16px; } } /* 왼쪽 메뉴 사본 (+0px) */
