.dropdown a.dropdown-item {display:block;color:var(--text);}
.profile-page {max-width:1180px;margin:auto;}
html:has(.profile-page){scrollbar-gutter:stable;overflow-y:scroll;scroll-behavior:auto;}
.profile-page{overflow-anchor:none;}
.profile-header-edit{min-width:144px;}
.profile-header-buttons{display:grid;grid-template-columns:auto;gap:10px;}
.profile-header-buttons .profile-button{white-space:nowrap;}
.profile-tabs{display:flex;gap:24px;margin:16px 0 28px;border-bottom:1px solid var(--border);}
.profile-tabs .profile-button{padding:12px 2px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-mute);font-weight:600;}
.profile-tabs .profile-button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text);}
.profile-tab-panel[hidden],.profile-header-controls .profile-button[hidden]{display:none;}
.profile-page .page-head,.profile-section-head {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.profile-page h2 {margin:0;font-size:20px;}
.profile-page .panel {margin-bottom:20px;}
.profile-section-head {margin-bottom:18px;}
.profile-button {padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text);font:inherit;}
.profile-button:hover {border-color:var(--accent);}
.profile-button.primary {background:var(--accent);color:var(--button-ink);border-color:var(--accent);}
.profile-button.danger {color:var(--danger);}
.profile-button:disabled {opacity:.5;}
.profile-card {display:block;width:100%;height:auto;aspect-ratio:1.8;border-radius:12px;border:1px solid var(--border);}
.profile-page .profile-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
.profile-cards .profile-section {min-width:0;padding:16px;}
.profile-cards .profile-section-head {gap:8px;margin-bottom:12px;}
.profile-page .profile-cards h2 {font-size:17px;}
.profile-cards .profile-button {padding:6px 10px;font-size:12px;white-space:nowrap;}
.profile-notice {color:var(--ok);margin:0;overflow-wrap:anywhere;}
.profile-notice:not(:empty) {margin-bottom:16px;}
.profile-notice.error,.profile-form-error {color:var(--danger);}
.profile-overview {margin:10px 0 44px;padding:28px 0 32px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.profile-overview > .profile-section-head {margin-bottom:24px;}
.profile-overview > .profile-section-head h2 {font-size:21px;letter-spacing:-.5px;}
.profile-facts {display:grid;grid-template-columns:1fr 1.3fr .85fr;gap:32px;}
.profile-fact-group {min-width:0;}
.profile-fact-group + .profile-fact-group {padding-left:28px;border-left:1px solid var(--border);}
.profile-fact-group h3 {margin:0 0 14px;color:var(--text-soft);font-size:13px;font-weight:650;}
.profile-fact-list {margin:0;}
.profile-fact-row {display:grid;grid-template-columns:minmax(76px,.8fr) minmax(0,1.2fr);gap:14px;padding:10px 0;}
.profile-facts dt {color:var(--text-mute);font-size:12px;line-height:1.8;}
.profile-facts dd {margin:0;overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.65;}
.profile-fact-empty dd {color:var(--text-mute);font-size:12px;font-weight:400;}
.profile-intentions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin:-12px 0 36px;padding:0 0 28px;border-bottom:1px solid var(--border);}
.profile-intention {min-width:0;}
.profile-page .profile-intention h2 {font-size:18px;margin:0 0 16px;letter-spacing:-.4px;}
.profile-intention + .profile-intention {border-left:1px solid var(--border);padding-left:32px;}
.profile-intention-list {display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:0;margin:0;color:var(--text-soft);font-size:14px;line-height:1.8;}
.profile-intention-list li {display:flex;align-items:baseline;gap:8px;max-width:100%;margin:0;overflow-wrap:anywhere;}
.profile-intention-list li::before {content:'•';color:var(--accent);flex-shrink:0;}
.profile-field-wide,.profile-editor-heading {grid-column:1/-1;}
.profile-editor-heading {margin:10px 0 0;padding-top:20px;border-top:1px solid var(--border);font-size:16px;}
.profile-input-note {display:block;color:var(--text-mute);font-size:12px;margin-top:6px;}
.profile-interest-register{display:flex;gap:8px;align-items:center;}.profile-interest-register input{min-width:0;flex:1;}.profile-interest-register button{flex-shrink:0;}
.profile-interest-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0;}
.profile-interest-tag{display:flex;align-items:center;gap:6px;max-width:100%;padding:6px 10px;border:1px solid var(--border-strong);border-radius:16px;color:var(--text-soft);background:var(--bg-soft);font-size:12px;overflow-wrap:anywhere;}
.profile-interest-tag span{min-width:0;}.profile-interest-tag .profile-button{border:0;background:transparent;padding:0 4px;color:var(--text-mute);font-size:16px;flex-shrink:0;}
.profile-interest-note{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-soft);font-size:14px;line-height:1.8;margin:16px 0 0;}
.profile-entries {list-style:none;margin:0;padding:0;}
.profile-entry {padding:18px 0;border-top:1px solid var(--border);overflow-wrap:anywhere;}
.profile-entry:first-child {border-top:0;padding-top:0;}
.profile-entry h3 {margin:6px 0;font-size:17px;}
.profile-entry p {margin:6px 0;}
.profile-entry-date,.profile-tags,.profile-empty {color:var(--text-mute);font-size:13px;}
.profile-description {white-space:pre-wrap;}
.profile-actions {display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}
.profile-dialog {width:min(720px,calc(100% - 24px));overflow:visible;padding:24px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);}
.profile-dialog::backdrop {background:rgba(0,0,0,.65);}
.profile-dialog h2 {margin-top:0;font-size:21px;}
.profile-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.profile-field {min-width:0;}
.profile-field[hidden],.profile-current[hidden]{display:none;}
.profile-field label {display:block;margin-bottom:6px;color:var(--text-soft);}
.profile-field input,.profile-field select,.profile-field textarea {width:100%;min-width:0;padding:10px;background:var(--bg-soft);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-xs);font:inherit;}
.profile-field textarea {resize:vertical;}
.profile-form-error {overflow-wrap:anywhere;}
.profile-updated {color:var(--text-mute);font-size:12px;margin:6px 0;}
.profile-header-controls {display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;}
.profile-header-controls .profile-updated {margin:0;text-align:right;}
.profile-tree {position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;row-gap:0;margin-top:32px;}
.profile-tree::before {content:'';position:absolute;left:calc(50% - 1px);top:58px;bottom:16px;width:2px;background:linear-gradient(var(--accent),var(--border-strong) 75%);}
.profile-tree-controls{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-bottom:24px;position:relative;z-index:1;}
.profile-add-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;}
.profile-tree-lane {min-width:0;}
.profile-tree-period-note{grid-column:1/-1;position:relative;z-index:1;justify-self:center;margin:0 0 20px;padding:4px 12px;background:var(--bg);color:var(--text-mute);font-size:12px;text-align:center;}
.profile-tree-year{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;min-width:0;padding:12px 0 26px;}
.profile-tree-year-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 8px;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.04em;}
.profile-tree-year-heading::before,.profile-tree-year-heading::after{content:'';height:1px;flex:1;background:var(--border);}
.profile-tree-year-heading span{position:relative;z-index:3;padding:7px 14px;border:1px solid var(--border-strong);border-radius:20px;background:var(--bg);color:var(--text);white-space:nowrap;}
.profile-tree-heading-actions {display:flex;gap:8px;flex-wrap:wrap;}
.profile-tree .profile-section-head {align-items:flex-start;min-height:62px;padding-bottom:20px;margin-bottom:8px;border-bottom:1px solid var(--border);}
.profile-tree .profile-section-head h2 {font-size:24px;letter-spacing:-.7px;}
.profile-tree-heading-actions .profile-button,.profile-tree-heading-actions .profile-button.primary {padding:6px 10px;background:transparent;border-color:var(--border);font-size:12px;color:var(--text-soft);}
.profile-tree-heading-actions .profile-button:hover {border-color:var(--accent);color:var(--accent-ink);}
.profile-tree .profile-entry,.profile-tree .profile-entry:first-child {position:relative;margin:0;padding:26px 0 24px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;}
.profile-tree .profile-entry:last-child {border-bottom:0;}
.profile-tree .profile-entry::before {content:'';position:absolute;top:37px;width:40px;height:1px;background:var(--border-strong);}
.profile-tree .profile-entry::after {content:'';position:absolute;top:32px;width:11px;height:11px;border:2px solid var(--border-strong);border-radius:50%;background:var(--bg);}
.profile-tree-left .profile-entry::before {right:-40px;}
.profile-tree-left .profile-entry::after {right:-46px;}
.profile-tree-right .profile-entry::before {left:-40px;}
.profile-tree-right .profile-entry::after {left:-46px;}
.profile-tree .profile-entry-current::before {background:var(--accent);}
.profile-tree .profile-entry-current::after {background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);z-index:2;}
.profile-entry-top {display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.profile-entry-kind {color:var(--accent-ink);font-size:12px;font-weight:650;}
.profile-tree .profile-entry-top .profile-entry-date {margin:0;color:var(--text-mute);font-size:12px;font-variant-numeric:tabular-nums;}
.profile-tree .profile-entry h3 {margin:12px 0 6px;font-size:21px;letter-spacing:-.45px;line-height:1.45;}
.profile-tree .profile-entry .profile-entry-org {margin:0;color:var(--text-soft);font-size:14px;}
.profile-tree .profile-description {max-width:48ch;margin:16px 0 0;color:var(--text-soft);line-height:1.85;font-size:14px;}
.profile-tree .profile-tags {margin-top:12px;font-size:12px;}
.profile-tree .profile-actions {flex-wrap:wrap;justify-content:flex-start;margin-top:16px;gap:8px;}
.profile-tree-left .profile-actions {justify-content:flex-end;}
.profile-tree .profile-actions .profile-button {padding:4px 9px;background:transparent;border-color:transparent;color:var(--text-mute);font-size:12px;}
.profile-tree .profile-actions .profile-button:hover {background:var(--bg-soft);color:var(--text);}
.profile-tree .profile-actions .profile-button.danger {color:var(--danger);}
.profile-undo:empty {display:none;}
.profile-undo {margin-bottom:18px;padding:12px;background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius-sm);}
.profile-undo-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px;overflow-wrap:anywhere;flex-wrap:wrap;}
.profile-current {display:flex;align-items:center;gap:8px;}
.profile-current input {width:18px;height:18px;accent-color:var(--accent);}
.profile-current label {cursor:pointer;}
@media(max-width:700px) {
 .profile-intentions {grid-template-columns:1fr;gap:24px;margin-top:0;}
 .profile-intention + .profile-intention {border-left:0;padding-left:0;}
 .profile-page .profile-cards {gap:8px;}
 .profile-cards .profile-section {padding:8px;}
 .profile-page .profile-cards h2 {font-size:13px;}
 .profile-cards .profile-button {padding:4px 7px;font-size:11px;}
 .profile-overview {padding:24px 0;margin-bottom:32px;}
 .profile-facts {grid-template-columns:1fr;gap:24px;}
 .profile-fact-group + .profile-fact-group {padding-left:0;border-left:0;}
 .profile-fact-group h3 {margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid var(--border);}
 .profile-fact-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;}
 .profile-fact-row {display:block;padding:8px 0;}
 .profile-facts dd {margin-top:4px;}
 .profile-tree,.profile-tree-year {column-gap:32px;}
 .profile-tree-year {padding-bottom:20px;}
 .profile-tree-year-heading {font-size:12px;gap:10px;}
 .profile-tree-year-heading span {padding:6px 10px;}
 .profile-tree-period-note {font-size:11px;line-height:1.6;}
 .profile-tree .profile-section-head {min-height:62px;padding-bottom:18px;}
 .profile-tree .profile-section-head h2 {font-size:18px;}
 .profile-tree .profile-entry,.profile-tree .profile-entry:first-child {padding:22px 0 18px;}
 .profile-tree .profile-entry h3 {font-size:16px;margin-top:10px;}
 .profile-tree .profile-entry .profile-entry-org,.profile-tree .profile-description {font-size:12px;}
 .profile-tree .profile-entry-top .profile-entry-date,.profile-entry-kind {font-size:11px;}
 .profile-tree .profile-button {font-size:11px;padding:5px 7px;}
 .profile-tree .profile-entry::before {width:16px;}
 .profile-tree .profile-entry::after {width:9px;height:9px;top:33px;}
 .profile-tree-left .profile-entry::before {right:-16px;}
 .profile-tree-left .profile-entry::after {right:-21px;}
 .profile-tree-right .profile-entry::before {left:-16px;}
 .profile-tree-right .profile-entry::after {left:-21px;}
 .profile-header-controls {max-width:100%;}
 .profile-dialog {padding:18px;}
 .profile-form-grid {grid-template-columns:1fr;}
 .profile-section-head {gap:10px;}
 .profile-page h2 {font-size:18px;}
}
/* Career 편집 팝업: 안쪽 스크롤 없이 연혁·면허자격을 좌우 두 칸으로 펼친다(좁은 화면은 한 칸). */
:root dialog.profile-career-manager{width:min(1100px,calc(100% - 24px))}
.profile-career-manager .profile-manager-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin:16px 0;max-height:none;overflow:visible}
@media(max-width:760px){.profile-career-manager .profile-manager-body{grid-template-columns:minmax(0,1fr)}}
.profile-career-manager .profile-manager-group h3{margin:0 0 8px}
.profile-career-manager .profile-actions{justify-content:flex-end}
/* 팝업이 화면보다 커도 본문으로 옮기지 않고 팝업 안에서 스크롤한다. */
:root dialog.profile-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
/* 모바일 정리(Web Architecture 피드백 2026-10-25): 명함은 한 칸씩,
   Career 나무는 가운데 선 대신 왼쪽 선 하나에 해마다 연혁 → 면허·자격 순서로 세로로 쌓는다. */
@media(max-width:600px) {
 .profile-page .profile-cards {grid-template-columns:minmax(0,1fr);gap:12px;}
 .profile-cards .profile-section {padding:14px;}
 .profile-cards .profile-section-head {display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:10px;}
 .profile-page .profile-cards h2 {font-size:16px;}
 .profile-cards .profile-button {padding:6px 10px;font-size:12px;}
 .profile-cards canvas.profile-card {width:100%;height:auto;}
 .profile-tree {column-gap:16px;}
 .profile-tree::before {left:5px;}
 .profile-tree-year {grid-template-columns:minmax(0,1fr);row-gap:0;}
 .profile-tree-year-heading {justify-content:flex-start;padding-left:24px;}
 .profile-tree-year-heading::before {display:none;}
 .profile-tree-year>.profile-tree-lane,.profile-tree>.profile-tree-lane {padding-left:24px;}
 .profile-tree-year>.profile-tree-lane:empty {display:none;}
 .profile-tree .profile-entry::before {width:14px;}
 .profile-tree-left .profile-entry::before,.profile-tree-right .profile-entry::before {left:-19px;right:auto;}
 .profile-tree-left .profile-entry::after,.profile-tree-right .profile-entry::after {left:-24px;right:auto;}
 .profile-tree-right .profile-entry::after {border-radius:3px;}
 .profile-tree .profile-description {max-width:none;}
}
