.profile-kicker { margin:0 0 8px; font:700 11px/1.4 var(--mono); letter-spacing:.13em; color:var(--red); }
.profile-page-head,.profile-section-heading,.profile-block-heading,.profile-member-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.profile-page-head h2 { margin:0; font-size:clamp(28px,3vw,36px); font-weight:750; letter-spacing:-.045em; }
.profile-page-head .profile-text-link { white-space:nowrap; }
.profile-section-heading h3 { margin:0; font-size:25px; letter-spacing:-.045em; }
.profile-public-section { padding:30px 0 40px; border-bottom:1px solid var(--line); }
.profile-scope { color:var(--ink-2); font-size:14px; margin:14px 0 26px; }
.profile-scope b { color:var(--red); margin-right:8px; }
.profile-public-grid { display:grid; grid-template-columns:minmax(240px,330px) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; }
.profile-public-guide h4 { font-size:clamp(24px,2.6vw,34px); line-height:1.3; letter-spacing:-.04em; margin:20px 0; }
.profile-public-guide p { font-size:14px; line-height:1.9; color:var(--ink-2); }
.profile-publish-state { display:inline-block; font-size:12px; font-weight:700; padding:5px 11px; background:#eeeae1; border-radius:5px; }
.profile-muted { display:block; color:var(--muted); font-size:12px; line-height:1.7; }
.profile-save-status { min-height:24px; font-size:13px; color:#466747; }
.profile-save-status.error,.profile-form-error { color:var(--red); }
.profile-text-link { font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:4px; background:none; border:0; cursor:pointer; }
.profile-pencil { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; gap:5px; padding:7px 10px; background:transparent; border:1px solid var(--line); border-radius:6px; font-size:12px; cursor:pointer; color:var(--ink-2); }
.profile-pencil svg { width:16px; height:16px; stroke:currentColor; stroke-width:1.6; fill:none; }
.profile-pencil:hover { color:var(--red); border-color:var(--red); }
.profile-secondary,.profile-primary { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); padding:10px 16px; border-radius:7px; font-size:13px; font-weight:650; cursor:pointer; background:#fff; color:var(--ink); }
.profile-primary { background:var(--red); border-color:var(--red); color:white; }
.profile-secondary:hover { border-color:var(--ink); }
.profile-primary:disabled { opacity:.55; cursor:wait; }
:is(.profile-pencil,.profile-secondary,.profile-primary,.profile-text-link):focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.member-card { position:relative; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; min-width:0; }
.member-photo { aspect-ratio:4/3; overflow:hidden; background:#eeeae3; }
.member-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.member-photo-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; color:#b2aaa0; }
.member-photo-empty small { font-size:12px; margin-top:12px; }
.member-card-body { padding:21px; }
.member-card-editable .member-photo,.member-card-editable .member-card-body { position:relative; }
.member-card-editable .member-card-body h3 { padding-right:46px; }
.profile-card-action,.profile-card-edit .profile-pencil { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); cursor:pointer; box-shadow:0 2px 8px #00000014; }
.profile-card-photo { position:absolute; right:14px; bottom:14px; }
.profile-card-edit { position:absolute; top:14px; right:14px; }
.profile-card-edit .profile-pencil span { display:none; }
.profile-card-action svg,.profile-card-edit .profile-pencil svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.profile-card-action:hover,.profile-card-edit .profile-pencil:hover { color:var(--red); border-color:var(--red); }
.profile-card-action:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.profile-card-action,.profile-card-edit { transition:opacity .15s ease; }
.profile-public-grid > div > .profile-muted { margin-top:10px; }
@media (hover:hover) and (pointer:fine) {
  .member-card-editable .profile-card-action,.member-card-editable .profile-card-edit { opacity:0; pointer-events:none; }
  .member-card-editable:hover .profile-card-action,.member-card-editable:hover .profile-card-edit,
  .member-card-editable:focus-within .profile-card-action,.member-card-editable:focus-within .profile-card-edit { opacity:1; pointer-events:auto; }
}
@media (max-width:600px), (any-pointer:coarse) {
  .member-card-editable .profile-card-action,.member-card-editable .profile-card-edit { opacity:1; pointer-events:auto; }
}
@media (prefers-reduced-motion:reduce) {
  .profile-card-action,.profile-card-edit { transition:none; }
}
.member-card h3 { font-size:24px; margin:0 0 12px; letter-spacing:-.04em; overflow-wrap:anywhere; }
.member-badges,.member-tags { display:flex; flex-wrap:wrap; gap:6px; }
.member-badge { display:inline-block; padding:4px 8px; border:1px solid #dbd7d0; border-radius:4px; font-size:11px; font-weight:700; color:var(--ink-2); }
.member-base { background:var(--red); border-color:var(--red); color:#fff; font-size:10px; letter-spacing:.035em; }
.member-tags { margin-top:16px; }
.member-tags span { font-size:12px; color:var(--ink-2); overflow-wrap:anywhere; }
.member-tags span::before { content:'#'; color:var(--red); margin-right:2px; }
.member-meta { font-size:12px; color:var(--muted); margin:12px 0 0; }
.members-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:30px; }
.member-intro { font-size:18px; color:var(--ink-2); }
.member-scope { font-size:13px; color:var(--muted); }
.profile-empty { padding:70px 0; border-top:1px solid var(--line); margin-top:30px; }
.profile-empty h2 { font-size:23px; }
.profile-empty p { color:var(--muted); }
.profile-private-title { padding:40px 0 22px; }
.profile-private-banner { display:flex; align-items:center; gap:12px; background:#eeeae1; border-left:3px solid var(--red); padding:17px 20px; margin-bottom:28px; }
.profile-private-banner b { font-size:14px; }
.profile-private-banner p { font-size:13px; margin:4px 0 0; }
.profile-detail { min-width:0; }
.profile-detail-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; }
.profile-detail-heading h2 { font-size:34px; letter-spacing:-.045em; margin:0; overflow-wrap:anywhere; }
.profile-intro-grid { display:grid; grid-template-columns:minmax(160px,240px) minmax(0,1fr); gap:30px; }
.profile-portrait { aspect-ratio:4/5; background:#eeeae3; border-radius:8px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.profile-portrait img { width:100%; height:100%; object-fit:cover; }
.profile-block { padding:24px 0; min-width:0; }
.profile-intro-grid .profile-block { padding-top:0; }
.profile-block-heading { padding-bottom:12px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.profile-block-heading h3 { font-size:18px; margin:0; letter-spacing:-.03em; }
.profile-block .prose,.profile-block>p { font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.profile-bio { font-weight:700; }
.profile-placeholder { color:#8a8780; font-size:13px; }
.profile-detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
/* 이름 바로 아래에서 부원 전용 정보를 읽고 항목별로 수정한다. */
.profile-info { margin:0 0 36px; max-width:760px; font-size:14px; }
.profile-info-row { display:grid; grid-template-columns:145px minmax(0,1fr); gap:20px; align-items:center; min-height:50px; padding:7px 0; }
.profile-info dt { color:var(--muted); }
.profile-info dd { display:flex; align-items:center; gap:14px; min-width:0; margin:0; }
.profile-info-value { flex:1; min-width:0; overflow-wrap:anywhere; }
.profile-info-value .member-badges,.profile-info-value .member-tags { margin:0; }
.profile-info-value a { text-decoration:underline; text-underline-offset:3px; }
.profile-info .profile-pencil { width:40px; height:40px; padding:0; border-color:transparent; }
.profile-info .profile-pencil span { display:none; }
.profile-info .profile-pencil:hover { background:#eeeae1; }
.profile-info-thumbnail { display:inline-block; width:40px; height:48px; border-radius:5px; object-fit:cover; vertical-align:middle; margin-right:14px; }
@media(max-width:600px) { .profile-info-row { grid-template-columns:100px minmax(0,1fr); gap:12px; }.profile-info{font-size:13px}.profile-info dd{gap:6px}.profile-info .profile-pencil{width:44px;height:44px} }
.profile-gallery { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.profile-gallery figure { margin:0; }
.profile-gallery img { width:100%; border-radius:6px; }
.profile-media-link { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; }
.profile-preview-note { color:var(--muted); font-size:13px; }
.profile-dialog { width:min(580px,calc(100% - 28px)); max-height:85svh; padding:28px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--ink); }
.profile-dialog::backdrop { background:rgba(17,17,19,.4); backdrop-filter:blur(3px); }
.profile-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.profile-dialog h2 { font-size:22px; margin:0; letter-spacing:-.04em; }
.profile-dialog-head button { border:0; background:none; font-size:26px; cursor:pointer; }
.profile-dialog-scope { background:#eeeae1; padding:12px; font-size:12px; line-height:1.7; margin:18px 0 24px; }
.profile-dialog label { display:block; font-size:13px; font-weight:650; margin-top:16px; }
.profile-dialog input:not([type=checkbox]),.profile-dialog textarea,.profile-dialog select { display:block; width:100%; padding:11px; margin-top:7px; border:1px solid #d7d3cb; border-radius:6px; background:#fff; color:var(--ink); font-size:15px; }
.profile-dialog textarea { resize:vertical; line-height:1.7; }
.profile-dialog input:focus,.profile-dialog textarea:focus,.profile-dialog select:focus { outline:2px solid var(--red); outline-offset:1px; }
.profile-options label { display:flex; align-items:center; gap:8px; font-weight:500; }
.profile-options input { accent-color:var(--red); width:17px; height:17px; }
.profile-dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.profile-form-error { font-size:13px; }
@media(max-width:1000px) { .profile-public-grid{gap:24px}.members-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:600px) {
  .profile-page-head { align-items:flex-start; }.profile-page-head .profile-text-link { font-size:11px; margin-top:10px; }
  .profile-public-grid { grid-template-columns:1fr; }.profile-public-grid>div:first-child{max-width:360px;width:100%}.profile-public-guide h4{font-size:23px}.profile-public-guide h4 br{display:none}
  .profile-section-heading h3{font-size:21px}.profile-private-title{align-items:flex-start}.profile-private-title .profile-secondary{font-size:11px;padding:9px;white-space:nowrap}
  .profile-detail-heading{align-items:flex-start;flex-direction:column;gap:12px}.profile-intro-grid{grid-template-columns:1fr;gap:22px}.profile-portrait{max-width:280px;aspect-ratio:4/3}
  .profile-detail-columns{grid-template-columns:1fr}.profile-private-banner{padding:14px}.profile-private-banner p{font-size:12px}
  .members-grid{gap:12px}.member-card-body{padding:14px}.member-card h3{font-size:21px}.member-badge{font-size:10px}
  .profile-dialog{padding:20px}.profile-dialog input:not([type=checkbox]),.profile-dialog textarea,.profile-dialog select{font-size:16px}.profile-member-actions{flex-wrap:wrap;font-size:13px}
}
@media(max-width:380px) { .members-grid{grid-template-columns:1fr}.profile-private-title{flex-wrap:wrap} }
@media(prefers-reduced-motion:no-preference) { .profile-dialog[open]{animation:profile-open .16s ease-out}@keyframes profile-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}} }

/* 공개 카드의 상세 소개 안내: 비공개 데이터 없이 형태만 보여준다. */
.member-card-open { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:inherit; background:transparent; cursor:pointer; }
.member-card-open:hover { box-shadow:inset 0 0 0 1px var(--red); }
.member-card-open:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }
html.member-dialog-open { overflow:hidden; }
.member-access-dialog { width:min(760px,calc(100% - 32px)); height:min(580px,80svh); max-height:80svh; padding:0; overflow:hidden; }
.member-access-placeholder { position:absolute; inset:0; padding:48px; filter:blur(8px); opacity:.55; pointer-events:none; user-select:none; }
.member-access-placeholder i { display:block; height:12px; margin:18px 0; border-radius:5px; background:#c9c4ba; }
.member-access-placeholder i:nth-child(even) { width:72%; }
.member-access-placeholder .placeholder-title { width:32%; height:28px; margin-bottom:30px; }
.member-access-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:32px; margin-bottom:30px; }
.member-access-portrait { width:100%; height:auto; aspect-ratio:4/3; align-self:start; border-radius:8px; background:#c9c4ba; }
.member-access-message { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:28px; background:rgba(247,247,245,.35); text-align:center; }
.member-access-message h2 { font-size:clamp(18px,3.5vw,26px); line-height:1.5; word-break:keep-all; }
.member-access-close { position:absolute; top:14px; right:14px; z-index:1; width:40px; height:40px; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--ink); font-size:26px; cursor:pointer; }
.member-access-close:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
@media(max-width:600px) { .member-access-placeholder{padding:28px}.member-access-layout{gap:20px} }

/* 대표 이모지는 이름 옆에만 표시하며 사진 영역과 분리한다. */
.member-emoji { display:inline-block; font-weight:400; letter-spacing:normal; }
.profile-emoji-picker { border:0; padding:0; margin:0; min-width:0; }
.profile-emoji-picker legend { font-size:13px; font-weight:650; margin-bottom:12px; }
.profile-emoji-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(44px,1fr)); gap:6px; }
.profile-emoji-options button { min-height:44px; padding:6px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:25px; cursor:pointer; }
.profile-emoji-options button[aria-pressed=true] { border-color:var(--red); background:#f7e9ec; box-shadow:inset 0 0 0 1px var(--red); }
.profile-emoji-options button:focus-visible { outline:2px solid var(--red); outline-offset:2px; }

.profile-private-banner .profile-bounty-link { color:var(--red); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.profile-bounty-link:focus-visible { outline:2px solid var(--red); outline-offset:3px; }

/* 전구와 펼치기 화살표는 좁은 화면에서도 같은 줄에 배치한다. */
.profile-emoji-tail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-column:span 2; gap:6px; }
.profile-emoji-options .profile-emoji-expand { border-color:transparent; background:transparent; color:var(--red); font-size:24px; }
.profile-emoji-options .profile-emoji-expand:hover { background:#eeeae1; }

/* 선택 전에는 표정이나 캐릭터를 대신 정하지 않고 빈 회색 자리만 표시한다. */
.member-emoji-empty { display:inline-block; width:.85em; height:.85em; border-radius:3px; background:#dedede; vertical-align:-.05em; }
.member-photo-empty,.profile-portrait:empty { background:#eee; }

/* 모달 안에 두어 배경 위에서도 저장 안내를 읽을 수 있게 한다. */
.profile-editor-toast { position:fixed; z-index:2; left:50%; bottom:max(20px,env(safe-area-inset-bottom)); transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); padding:13px 18px; border-radius:10px; background:var(--ink); color:#fff; font-size:13px; line-height:1.6; text-align:center; word-break:keep-all; box-shadow:0 6px 24px #0003; pointer-events:none; }

/* 공개 상태는 카드 안내 바로 아래에서 확인하고 전환한다. */
.profile-publish-control { margin-top:18px; }
.profile-publish-control>span { font-size:14px; font-weight:650; }
.profile-publish-toggle-row { display:flex; align-items:center; gap:10px; margin-top:3px; }
.profile-switch { display:inline-flex; align-items:center; justify-content:center; width:52px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; flex-shrink:0; }
.profile-switch-track { position:relative; display:block; width:50px; height:30px; border-radius:999px; background:#aaa9a5; }
.profile-switch-track::after { content:''; position:absolute; top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0002; }
.profile-switch[aria-checked=true] .profile-switch-track { background:var(--red); }
.profile-switch[aria-checked=true] .profile-switch-track::after { transform:translateX(20px); }
.profile-switch:focus-visible { outline:2px solid var(--red); outline-offset:3px; border-radius:999px; }
.profile-switch:disabled { cursor:wait; opacity:.6; }
.profile-switch-state { color:var(--ink-2); font-size:12px; }
@media(prefers-reduced-motion:no-preference) { .profile-switch-track{transition:background .18s ease}.profile-switch-track::after{transition:transform .18s ease} }

/* 마이페이지의 예시와 실제 멤버 팝업이 같은 크기와 내부 레이아웃을 공유한다. */
.profile-audience-guide { margin:0 0 22px; }
.profile-audience-guide>p { margin:0 0 8px; font-size:14px; color:var(--ink-2); }
.profile-audience-guide h4 { font-size:clamp(16px,1.5vw,20px); line-height:1.4; letter-spacing:-.035em; margin:0 0 8px; }
.profile-audience-guide h4 span { display:block; margin-top:8px; color:var(--red); }
.profile-audience-guide .profile-muted { font-size:12px; }
.profile-visitor-guide { margin-top:44px; }
.member-profile-dialog { width:min(860px,calc(100% - 28px)); padding:0; overflow:hidden; }
.member-profile-panel { display:flex; flex-direction:column; width:100%; height:min(760px,80svh); overflow:hidden; background:var(--paper); }
.member-profile-preview { max-width:860px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.member-profile-bar { display:flex; align-items:center; justify-content:flex-end; flex-shrink:0; min-height:56px; padding:8px 20px; font-size:13px; font-weight:650; }
.member-profile-close,.member-preview-close { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; background:transparent; color:var(--ink); font-size:26px; }
.member-profile-close { cursor:pointer; }
.member-profile-close:focus-visible { outline:2px solid var(--red); outline-offset:2px; border-radius:6px; }
.member-preview-close { pointer-events:none; }
.member-profile-body { flex:1; overflow-y:auto; overscroll-behavior:contain; padding:28px; min-height:0; }
.member-access-preview { position:relative; width:100%; max-width:760px; height:min(580px,80svh); border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--paper); }
@media(max-width:600px) { .member-profile-body{padding:18px}.member-profile-bar{padding:6px 14px}.profile-private-title{flex-wrap:wrap} }
.member-access-preview .member-access-close { border:1px solid var(--line); border-radius:50%; background:var(--paper); }

/* 직책 순서를 유지하며 한 사람의 카드는 한 구역에만 표시한다. */
.members-section { padding:38px 0 42px; border-top:1px solid var(--line); }
.members-section-heading { display:flex; align-items:baseline; gap:12px; }
.members-section-heading h2 { margin:0; font-size:26px; letter-spacing:-.04em; }
.members-section-heading>span { font-size:12px; color:var(--muted); }
.members-section .members-grid { margin-top:24px; }
.members-section--president .members-grid { grid-template-columns:minmax(0,340px); justify-content:center; }
.members-section--president .members-section-heading { justify-content:center; }
.members-section--hall_of_fame .members-section-heading h2 { color:var(--red); }
.members-section-empty { margin:24px 0 0; color:var(--muted); font-size:13px; }
@media(max-width:600px) { .members-section{padding:28px 0 32px}.members-section-heading h2{font-size:22px} }

/* 읽는 화면을 그대로 유지하고, 내 정보에 포인터를 올릴 때 편집 도구만 드러낸다. */
.profile-audience-guide h4 span { display:inline; margin:0 .3em 0 0; }
.member-profile-preview .member-profile-body { overscroll-behavior:auto; }
.info-layout { display:flex; flex-direction:column; gap:24px; margin-top:30px; }
.info-block { position:relative; width:var(--block-width,100%); max-width:100%; min-width:0; border-radius:6px; }
.info-block h3 { margin:0 0 12px; font-size:19px; line-height:1.45; }
.info-block-content { min-height:36px; overflow-wrap:anywhere; }
.info-block-content img { display:block; width:100%; max-height:1200px; border-radius:8px; }
.info-text-body,.info-field-body { position:relative; min-height:36px; overflow-wrap:anywhere; }
.info-block p { margin:0 0 12px; }.info-block p:last-child { margin-bottom:0; }
.info-block ul,.info-block ol { padding-left:22px; }
.info-block pre { overflow:auto; padding:14px; background:#eeece7; border-radius:6px; }
.info-editable [data-inline],.info-editable [data-inline-block] { cursor:text; border-radius:5px; }
.info-editable [data-inline]:hover,.info-editable [data-inline-block]:hover { background:#ede9e166; }
.info-editable [role=button]:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.info-edit-affordance { display:inline-flex; align-items:center; gap:8px; padding:2px 6px; color:var(--muted); opacity:0; font-size:12px; vertical-align:middle; pointer-events:none; }
.info-edit-affordance svg,.info-block-tools svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; }
.info-is-empty>.info-edit-affordance { position:absolute; left:0; top:6px; }
[data-inline]:hover>.info-edit-affordance,[data-inline]:focus-visible>.info-edit-affordance,[data-inline-block]:hover>.info-edit-affordance,[data-inline-block]:focus-visible>.info-edit-affordance { opacity:1; }
.info-owner-tool { opacity:0; }
.info-owner-tool:hover,.info-owner-tool:focus-within,.info-block:hover>.info-block-tools,.info-block:focus-within>.info-block-tools,.info-column:hover>.info-column-add,.profile-info-row:hover .info-owner-tool { opacity:1; }
.info-block-tools { display:flex; gap:2px; justify-content:flex-end; position:absolute; right:0; top:-27px; z-index:1; background:var(--paper); border:1px solid var(--line); border-radius:6px; }
.info-block-tools button { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:4px; background:transparent; color:var(--muted); width:30px; height:26px; cursor:pointer; font-size:19px; }
.info-block-tools button:hover { color:var(--red); background:#e9e5de; }.info-block-tools [draggable] { cursor:grab; }
.info-columns { display:flex; align-items:stretch; gap:18px; min-width:0; position:relative; }
.info-column { display:flex; flex-direction:column; gap:26px; min-width:0; flex:var(--column-width) 1 0; }
.info-column-divider { width:1px; flex:0 0 1px; position:relative; background:var(--line); }
.info-column-divider input { position:absolute; top:0; left:50%; transform:translateX(-50%); width:70px; accent-color:var(--red); z-index:2; cursor:ew-resize; }
.info-columns:hover>.info-column-divider,.info-columns:focus-within>.info-column-divider { opacity:1; }
.info-column-add,.info-insert-tools button { width:100%; min-height:40px; border:1px dashed var(--line); border-radius:6px; background:transparent; color:var(--muted); font-size:13px; cursor:pointer; }
.info-insert-tools { margin-top:24px; min-height:40px; }.info-insert-tools button:hover,.info-column-add:hover { border-color:var(--red); color:var(--red); }
.info-video { position:relative; aspect-ratio:16/9; width:100%; overflow:hidden; border-radius:8px; background:#e8e6e1; }
.info-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.info-inline-form { min-width:0; padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--paper); cursor:auto; box-shadow:0 3px 14px #00000006; }
.info-inline-form label { display:block; margin-bottom:14px; font-size:12px; font-weight:600; color:var(--ink-2); }
.info-inline-form input:not([type=range]),.info-inline-form textarea,.info-inline-form select { display:block; width:100%; min-width:0; padding:10px; margin-top:6px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--ink); font:inherit; font-size:14px; }
.info-inline-form textarea { resize:vertical; min-height:70px; }.info-inline-form input[type=range] { display:block; width:100%; margin-top:12px; accent-color:var(--red); }
.info-inline-form output { float:right; }.info-placement { border:0; padding:0; margin:0; }.info-placement legend { font-size:13px; margin-bottom:10px; }
.info-form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
.info-form-actions button { padding:8px 16px; min-height:38px; border:1px solid var(--line); border-radius:5px; background:transparent; font-size:12px; cursor:pointer; }
.info-form-actions .profile-primary { border-color:var(--red); background:var(--red); color:#fff; }
.info-inline-form [disabled] { opacity:.55; cursor:wait; }.info-inline-form .profile-form-error { color:var(--red); font-size:12px; }
.info-paste-zone { border:1px dashed var(--line); padding:16px; border-radius:6px; font-size:12px; }
.info-paste-zone:focus { outline:2px solid var(--red); outline-offset:2px; }.info-paste-zone img { max-height:240px; object-fit:contain; margin-top:14px; }
.info-save-status { min-height:20px; color:var(--muted); font-size:12px; margin:16px 0 0; }.info-save-status.error { color:var(--red); }
.info-block[data-drop-edge]::after { content:''; position:absolute; background:var(--red); z-index:3; border-radius:3px; pointer-events:none; }
.info-block[data-drop-edge=top]::after { left:0; right:0; height:3px; top:-7px; }.info-block[data-drop-edge=bottom]::after { left:0; right:0; height:3px; bottom:-7px; }
.info-block[data-drop-edge=left]::after { top:0; bottom:0; width:3px; left:-7px; }.info-block[data-drop-edge=right]::after { top:0; bottom:0; width:3px; right:-7px; }
@media(max-width:600px) { .info-columns{flex-direction:column;gap:28px}.info-column{flex:auto}.info-column-divider{display:none}.info-inline-form{padding:12px}.info-inline-form input:not([type=range]),.info-inline-form textarea,.info-inline-form select{font-size:16px}.info-block-tools button{width:36px;height:32px}.info-block-tools{top:-33px}.info-layout,.info-column{gap:34px} }
@media(hover:none) { .info-block-tools,.info-column-add,.info-insert-tools{opacity:1}.info-edit-affordance{display:none} }
/* 편집 손잡이는 열 사이에 겹쳐 놓아 읽기 화면과 열의 너비가 같게 한다. */
.info-column-divider { position:absolute; top:0; bottom:0; }
.info-edit-affordance { position:absolute; right:0; top:4px; background:var(--paper); }
.info-is-empty>.info-edit-affordance { right:auto; }
.info-column { position:relative; }.info-column-add { position:absolute; bottom:-22px; right:0; min-height:24px; width:30px; }
.info-form-actions .info-remove-block { margin-right:auto; color:var(--red); }
.member-profile-preview,.member-profile-preview .member-profile-panel { overflow:clip; }
.info-video-source { display:inline-block; margin-top:8px; color:var(--muted); font-size:12px; text-decoration:underline; text-underline-offset:3px; }

/* 자기소개 본문은 고정 배치, 사진·영상 배치는 PHOTOS 안에서만 편집한다. */
.profile-photo-placeholder { display:inline-flex; align-items:center; justify-content:center; color:#aaa; }
.profile-photo-placeholder svg { width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.info-fixed-introduction { margin-top:34px; padding-top:28px; border-top:1px solid var(--line); }
.info-intro-row,.info-fixed-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; }
.info-fixed-pair { margin-top:40px; }
.info-intro-photo { position:relative; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; background:#eee; border-radius:8px; overflow:hidden; }
.info-intro-photo>img { width:100%; height:100%; object-fit:cover; display:block; }
.info-intro-photo>.profile-card-action { position:absolute; right:12px; bottom:12px; }
.info-intro-photo:hover>.info-owner-tool,.info-intro-photo:focus-within>.info-owner-tool { opacity:1; }
.info-fixed-section { min-width:0; }
.info-fixed-section h3,.info-photos-heading { margin:0 0 16px; padding:9px 12px; border-radius:6px; font-size:18px; line-height:1.45; letter-spacing:-.025em; }
.info-fixed-section--intro h3 { background:#eae4d3; }
.info-fixed-section--goals h3 { background:#e0e9e1; }
.info-fixed-section--tmi h3 { background:#dfe8ed; }
.info-fixed-section--likes h3 { background:#ede1d5; }
.info-fixed-section--dislikes h3 { background:#eddddd; }
.info-fixed-section>.info-field-body { min-height:48px; font-size:14px; line-height:1.9; }
.info-fixed-section p { margin:0 0 14px; }.info-fixed-section p:last-child { margin-bottom:0; }
.info-fixed-section ul,.info-fixed-section ol { margin:0; padding-left:24px; }.info-fixed-section li+li { margin-top:10px; }
.info-photos-section { margin-top:40px; }.info-photos-heading { background:#eadfe6; }
.info-photos-section>.info-layout { margin-top:24px; }
@media(max-width:600px) {
  .info-intro-row,.info-fixed-pair { grid-template-columns:minmax(0,1fr); gap:28px; }
  .info-intro-photo { max-width:340px; width:100%; margin-inline:auto; }
  .info-fixed-pair,.info-photos-section { margin-top:28px; }
  .info-fixed-section h3,.info-photos-heading { font-size:17px; }
}
@media(hover:none) { .info-intro-photo>.info-owner-tool { opacity:1; } }

/* Shared member panel: quiet header with a separate representative emoji. */
.profile-detail-emoji { font-size:64px; line-height:1.15; margin:0 0 24px; }
.member-profile-body > .profile-detail { padding-top:8px; }
.profile-private-title { padding-bottom:0; }
@media(max-width:600px) { .profile-detail-emoji { font-size:56px; margin-bottom:20px; } }

.profile-section-description { margin:10px 0 0; color:var(--ink-2); font-size:14px; line-height:1.7; }

/* Public card settings follow the preview's top edge and group related guidance. */
.profile-public-guide { min-width:0; }
.profile-public-guide .profile-publish-control { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; padding:4px 0 22px; border-bottom:1px solid var(--line); }
.profile-publish-copy>span { font-size:16px; font-weight:700; }
.profile-public-guide .profile-publish-copy p { margin:5px 0 0; font-size:12px; color:var(--muted); line-height:1.6; }
.profile-public-guide .profile-publish-toggle-row { flex-shrink:0; margin:0; gap:8px; }
.profile-guide-section { padding:22px 0; border-bottom:1px solid var(--line); }
.profile-public-guide .profile-guide-section h4 { margin:0 0 12px; font-size:14px; font-weight:700; line-height:1.5; letter-spacing:-.02em; }
.profile-public-guide .profile-guide-section p { margin:0 0 8px; font-size:13px; line-height:1.8; }
.profile-guide-facts { display:grid; gap:12px; margin:0; }
.profile-guide-facts>div { display:grid; grid-template-columns:60px minmax(0,1fr); gap:14px; align-items:baseline; }
.profile-guide-facts dt { font-size:12px; color:var(--muted); }
.profile-guide-facts dd { margin:0; font-size:13px; color:var(--ink-2); line-height:1.7; word-break:keep-all; }
.profile-public-guide>.profile-text-link { display:inline-flex; margin-top:22px; }
@media(max-width:600px) { .profile-public-guide .profile-publish-control { gap:12px; }.profile-guide-facts>div { gap:10px; } }
