/* ============================================================
   성과 설계도 (Performance Blueprint) — Vision House
   DESIGN.md 가 이 서비스 시각 정체성의 단일 진실원이다.
   폰트는 자체 호스팅한다: CDN 은 외부 장애·추적·FOUT 을 끌고 온다.
   ============================================================ */
@font-face{
  font-family:'Pretendard Variable';
  src:url('./assets/fonts/PretendardVariable.woff2') format('woff2-variations');
  font-weight:45 920; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Sora';
  src:url('./assets/fonts/Sora-Bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}

/* ============================================================
   성과 설계도 (Performance Blueprint) — MVP
   CHARTER: "구조 설계 도면 — 제도지 위에 세워지는 성과의 골조,
             미완성 구간에는 빨간 수정선."
   DESIGN.md 가 이 서비스 시각 정체성의 단일 진실원이다.
   ============================================================ */

:root{
  color-scheme: light;

  /* 불변층 — 한글 어절 보호 (rules/cjk-rendering-safety) */
  word-break: keep-all;
  overflow-wrap: break-word;

  --paper:#f3f6fa; --surface:#ffffff;
  --ink-950:#07111f; --ink-900:#0d1b2a; --ink-800:#16283f;
  --text-1:#111c2e; --text-2:#43506a; --text-3:#5b6880;
  --line-1:#e2e8f1; --line-2:#cbd6e4;

  /* 시그니처: 두 북극성 축색 — 축 귀속 표시 전용 */
  --star-perf:#0369a1;  --star-perf-soft:#e8f2fb;
  --star-skill:#7e22ce; --star-skill-soft:#f4ebfd;
  --star-peer:#0f766e;  --star-peer-soft:#e6f4f2;

  /* 시그니처: 레드라인 — 진단 지시선 전용 */
  --redline:#dc2626; --redline-soft:#fdeaea;
  --amber:#a35a07;   --amber-soft:#fdf1e2;
  --good:#15803d;    --good-soft:#e9f6ed;
  --danger:#dc2626;  /* --redline 과 동일 hex, 역할 분리 토큰 */

  --grid-minor:rgba(30,58,95,.055);
  --grid-major:rgba(30,58,95,.085);

  --font-brand:'Sora', 'Pretendard Variable', Pretendard, sans-serif;
  --font:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
         system-ui, 'Malgun Gothic', sans-serif;

  --r:10px; --r-sm:6px;
  --shadow:0 1px 2px rgba(13,27,42,.05), 0 8px 24px -12px rgba(13,27,42,.18);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font-family:var(--font); background:var(--paper); color:var(--text-1);
  font-size:16px; line-height:1.62;
  word-break:keep-all; overflow-wrap:break-word;   /* 전역 baseline */
  font-variant-numeric:tabular-nums;
}

/* 시그니처 1 — 제도 그리드. 전역 배경 1회, 중첩 금지 */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px),
    linear-gradient(var(--grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);
  background-size:12px 12px, 12px 12px, 60px 60px, 60px 60px;
}

h1,h2,h3,h4{margin:0; line-height:1.28; letter-spacing:-.015em; font-weight:800; text-wrap:balance}
p{margin:0}
button{font:inherit; color:inherit}
input,select,textarea{font:inherit; color:inherit}
:focus-visible{outline:2.5px solid var(--star-perf); outline-offset:2px; border-radius:4px}

/* ---------- 패밀리 헤더 록업 (고정 슬롯) ---------- */
.chrome{
  position:sticky; top:0; z-index:40;
  background:var(--ink-900); color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.chrome-in{
  max-width:1180px; margin:0 auto; padding:11px 20px;
  display:flex; align-items:center; gap:12px;
}
.lockup{display:flex; align-items:center; gap:9px; min-width:0}
.mark{flex:none; display:block}
.svc-name{
  font-weight:800; font-size:16px; letter-spacing:-.02em; color:#fff;
  text-decoration:none; white-space:nowrap;
}
.lock-div{color:rgba(255,255,255,.32); font-weight:300; flex:none}
.brand-family{
  font-family:var(--font-brand); font-weight:700; font-size:14.5px;
  letter-spacing:-.01em; color:rgba(255,255,255,.86);
  text-decoration:none; white-space:nowrap; flex:none;
}
.brand-family:hover{color:#fff}
/* 작업물 도구 막대 — 크롬의 록업을 밀어내지 않도록 아래 줄로 분리한다 */
.toolbar{
  position:sticky; top:47px; z-index:39;
  background:rgba(243,246,250,.93); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line-1);
}
.toolbar-in{
  max-width:1180px; margin:0 auto; padding:8px 20px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.tb-actions{margin-left:auto; display:flex; gap:7px; flex-wrap:wrap}
.save-state{font-size:12px; font-weight:700; color:var(--text-3); transition:color .2s}
.save-state[data-on]{color:var(--good)}
.save-state[data-fail]{color:var(--redline)}
@media (max-width:520px){
  /* 좁은 화면에서 두 줄짜리 유틸리티 막대를 계속 붙여두면 화면을 너무 먹는다.
     상시 필요한 것은 단계 칩이지 이 막대가 아니다. */
  .toolbar{position:static}
  .toolbar-in{padding:8px 16px}
  .tb-actions{margin-left:0; width:100%}
  .tb-actions .btn{flex:1; padding:6px 4px; font-size:12px}
}

.toast{
  position:fixed; left:50%; bottom:26px; z-index:60;
  transform:translateX(-50%) translateY(10px);
  background:var(--ink-900); color:#fff; padding:11px 18px; border-radius:8px;
  font-size:13.5px; font-weight:700; max-width:min(92vw,460px);
  box-shadow:0 10px 34px rgba(13,27,42,.3);
  opacity:0; pointer-events:none; transition:opacity .18s, transform .18s;
}
.toast.on{opacity:1; transform:translateX(-50%) translateY(0)}
.toast.bad{background:var(--redline)}

.btn{
  border:1px solid var(--line-2); background:var(--surface); color:var(--text-1);
  padding:8px 14px; border-radius:var(--r-sm); font-weight:700; font-size:14px;
  cursor:pointer; transition:background .14s, border-color .14s, transform .14s;
}
.btn:hover{background:#f7f9fc; border-color:#b6c4d6}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--ink-900); border-color:var(--ink-900); color:#fff}
.btn-primary:hover{background:var(--ink-800); border-color:var(--ink-800)}
.btn-sm{padding:5px 10px; font-size:12.5px}
.btn:disabled{opacity:.45; cursor:not-allowed}

/* ---------- 레이아웃 ---------- */
.wrap{position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:0 20px 96px}
.shell{display:grid; grid-template-columns:216px minmax(0,1fr); gap:34px; align-items:start}
@media (max-width:900px){ .shell{grid-template-columns:1fr; gap:0} }

/* 스텝 레일 */
.rail{position:sticky; top:104px; padding:28px 0}
.rail-title{
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-3); margin-bottom:12px; padding-left:2px;
}
.rail ol{list-style:none; margin:0; padding:0; position:relative}
.rail ol::before{
  content:''; position:absolute; left:11px; top:12px; bottom:12px;
  width:1px; background:var(--line-2);
}
.rail li{position:relative}
.rail button{
  display:flex; gap:10px; align-items:flex-start; width:100%; text-align:left;
  background:none; border:0; padding:7px 6px 7px 0; cursor:pointer; border-radius:var(--r-sm);
  color:var(--text-2); font-size:14px; font-weight:600; line-height:1.4;
}
.rail button:hover{color:var(--text-1)}
.rail .dot{
  flex:none; width:23px; height:23px; border-radius:50%;
  background:var(--paper); border:1.5px solid var(--line-2);
  display:grid; place-items:center; font-size:11.5px; font-weight:800;
  color:var(--text-3); position:relative; z-index:1; transition:all .16s;
}
.rail li[data-on="1"] button{color:var(--text-1); font-weight:800}
.rail li[data-on="1"] .dot{background:var(--ink-900); border-color:var(--ink-900); color:#fff}
.rail li[data-done="1"] .dot{background:var(--good-soft); border-color:var(--good); color:var(--good)}
.rail li[data-on="1"][data-done="1"] .dot{background:var(--ink-900); border-color:var(--ink-900); color:#fff}

/* 모바일 스텝 칩 */
.chips{display:none; gap:7px; overflow-x:auto; padding:14px 0 4px; scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{
  flex:none; border:1px solid var(--line-2); background:var(--surface);
  border-radius:999px; padding:6px 13px; font-size:13px; font-weight:700;
  color:var(--text-2); cursor:pointer; white-space:nowrap;
}
.chips button[data-on="1"]{background:var(--ink-900); border-color:var(--ink-900); color:#fff}
@media (max-width:900px){ .rail{display:none} .chips{display:flex} }

/* ---------- 스텝 본문 ---------- */
.step{padding:30px 0 0; animation:rise .22s ease-out}
@keyframes rise{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}

.eyebrow{
  display:flex; align-items:center; gap:7px;
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-3); margin-bottom:10px;
}
.eyebrow::before{content:''; width:4px; height:4px; border-radius:50%; background:var(--star-perf)}
.step h2{font-size:clamp(24px,3.4vw,31px); line-height:1.22; letter-spacing:-.028em}
.lede{margin-top:11px; color:var(--text-2); font-size:15.5px; max-width:64ch; text-wrap:pretty}
.lede b{color:var(--text-1); font-weight:700}

.card{
  background:var(--surface); border:1px solid var(--line-1);
  border-radius:var(--r); padding:20px; box-shadow:var(--shadow);
}
.card + .card{margin-top:14px}
.stack{margin-top:22px; display:flex; flex-direction:column; gap:14px}

/* 참조 패널 — 예시 사례 */
details.ref{
  margin-top:20px; border:1px solid var(--line-2); border-radius:var(--r);
  background:linear-gradient(180deg,#fbfcfe,#f7fafd);
}
details.ref > summary{
  cursor:pointer; list-style:none; padding:13px 17px;
  font-size:13.5px; font-weight:700; color:var(--text-2);
  display:flex; align-items:center; gap:9px;
}
details.ref > summary::-webkit-details-marker{display:none}
details.ref > summary::after{content:'▾'; margin-left:auto; color:var(--text-3); transition:transform .18s}
details.ref[open] > summary::after{transform:rotate(180deg)}
details.ref > summary::before{
  content:'예시'; font-size:10px; letter-spacing:.1em; font-weight:800;
  background:var(--text-3); color:#fff; padding:2.5px 7px; border-radius:3px; flex:none;
}
.ref-body{padding:0 17px 17px; font-size:14px; color:var(--text-2); line-height:1.7}
.ref-body strong{color:var(--text-1)}
.ref-body ul{margin:9px 0 0; padding-left:19px}
.ref-body li{margin:4px 0}
.ref-quote{
  margin:11px 0 0; padding:10px 14px; border-left:2.5px solid var(--line-2);
  background:#fff; border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:13.5px; color:var(--text-2); font-style:italic;
}
.ref-src{margin-top:11px; font-size:12px; color:var(--text-3)}

/* ---------- 폼 요소 ---------- */
.field{display:flex; flex-direction:column; gap:6px}
.field > label{font-size:13px; font-weight:700; color:var(--text-2)}
.hint{font-size:12.5px; color:var(--text-3); line-height:1.5}
input[type=text],input[type=number],select,textarea{
  width:100%; padding:9px 11px; border:1px solid var(--line-2); border-radius:var(--r-sm);
  background:var(--surface); font-size:14.5px; transition:border-color .14s, box-shadow .14s;
}
input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--star-perf); box-shadow:0 0 0 3px var(--star-perf-soft);
}
textarea{resize:vertical; min-height:62px; line-height:1.6}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media (max-width:640px){ .grid2,.grid3{grid-template-columns:1fr} }

/* 세그먼트 선택 */
.seg{display:flex; gap:0; border:1px solid var(--line-2); border-radius:var(--r-sm); overflow:hidden; background:var(--surface)}
.seg button{
  flex:1; border:0; background:none; padding:8px 6px; font-size:13px; font-weight:700;
  color:var(--text-3); cursor:pointer; border-right:1px solid var(--line-1); transition:background .13s,color .13s;
}
.seg button:last-child{border-right:0}
.seg button:hover{background:#f6f9fc}
.seg button[aria-pressed="true"]{background:var(--ink-900); color:#fff}
.seg.tone-red button[aria-pressed="true"]{background:var(--redline)}
.seg.tone-good button[aria-pressed="true"]{background:var(--good)}

/* ---------- STEP 1 : 축 ---------- */
.star-head{
  display:flex; align-items:baseline; gap:10px; margin-bottom:3px;
  padding-bottom:9px; border-bottom:1.5px solid var(--line-1);
}
.star-head h3{font-size:16.5px; letter-spacing:-.02em}
.star-head .q{font-size:13px; color:var(--text-3); font-weight:600}
.star-head .cnt{margin-left:auto; font-size:12.5px; font-weight:700; color:var(--text-3)}
[data-star="perf"] .star-head{border-bottom-color:var(--star-perf)}
[data-star="skill"] .star-head{border-bottom-color:var(--star-skill)}
[data-star="peer"] .star-head{border-bottom-color:var(--star-peer)}
[data-star="perf"] .star-head h3{color:var(--star-perf)}
[data-star="skill"] .star-head h3{color:var(--star-skill)}
[data-star="peer"] .star-head h3{color:var(--star-peer)}

.subj{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center;
  padding:13px 2px; border-bottom:1px solid var(--line-1);
}
.subj:last-of-type{border-bottom:0}
.subj-name{font-weight:700; font-size:15px; display:flex; align-items:center; gap:7px}
.subj-name::before{content:''; width:7px; height:7px; border-radius:2px; flex:none; background:var(--dot,var(--line-2))}
[data-star="perf"] .subj{--dot:var(--star-perf)}
[data-star="skill"] .subj{--dot:var(--star-skill)}
[data-star="peer"] .subj{--dot:var(--star-peer)}
.subj-desc{font-size:13px; color:var(--text-3); margin-top:2px; line-height:1.5}
.subj-ctl{display:flex; align-items:center; gap:9px; flex:none}
.subj .seg{width:132px}
.subj .seg button{padding:6px 4px; font-size:12.5px}
.wt{width:74px; display:flex; align-items:center; gap:4px}
.wt input{text-align:right; padding:7px 8px; font-weight:700}
.wt span{font-size:13px; color:var(--text-3); font-weight:700}
/* 이유 칸: placeholder 는 입력하는 순간 사라지므로 라벨을 왼쪽에 고정한다 */
.subj-note{grid-column:1/-1; display:flex; align-items:center; gap:10px; margin-top:1px}
.subj-note label{
  flex:none; width:56px; text-align:right;
  font-size:12px; font-weight:700; color:var(--text-3);
}
.subj-note textarea{flex:1; min-width:0}
@media (max-width:640px){
  .subj-note{flex-wrap:wrap; gap:4px 10px}
  .subj-note label{width:auto; text-align:left}
  .subj-note textarea{flex:1 1 100%}
}
.subj[data-state="hold"]{background:linear-gradient(90deg, rgba(203,214,228,.14), transparent 60%)}
.subj[data-state="hold"] .subj-name{color:var(--text-3)}
.subj[data-state="hold"] .subj-name::before{background:var(--line-2)}
@media (max-width:640px){
  .subj{grid-template-columns:1fr}
  .subj-ctl{justify-content:space-between}
  .subj .seg{flex:1; width:auto}
}

.sumbar{
  margin-top:18px; padding:15px 17px; border-radius:var(--r);
  background:var(--ink-900); color:#fff;
}
.sumbar-top{display:flex; align-items:baseline; gap:10px; font-size:13.5px; color:rgba(255,255,255,.72)}
.sumbar-top b{margin-left:auto; font-size:22px; font-weight:800; color:#fff; letter-spacing:-.02em}
.sumbar-top b.bad{color:#fca5a5}
.sumbar-track{margin-top:11px; height:12px; border-radius:3px; background:rgba(255,255,255,.13); display:flex; overflow:hidden}
.sumbar-track i{display:block; transition:width .3s cubic-bezier(.4,0,.2,1)}
.sumbar-legend{margin-top:10px; display:flex; flex-wrap:wrap; gap:5px 15px; font-size:12px; color:rgba(255,255,255,.72)}
.sumbar-legend span{display:flex; align-items:center; gap:5px}
.sumbar-legend i{width:8px; height:8px; border-radius:2px; display:block}

/* ---------- STEP 2 : 리듬 ---------- */
.track-head{
  display:grid; grid-template-columns:26px minmax(0,1fr) 120px; gap:13px;
  padding:0 2px 9px; border-bottom:1px solid var(--line-1);
  font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--text-3);
}
@media (max-width:640px){ .track-head{display:none} }
.track{
  display:grid; grid-template-columns:26px minmax(0,1fr) 120px; gap:13px; align-items:center;
  padding:14px 2px; border-bottom:1px solid var(--line-1);
}
.track:last-of-type{border-bottom:0}
.track-name{font-weight:700; font-size:15px}
.track-who{font-size:12.5px; color:var(--text-3); margin-top:1px}
.track[data-on="0"] .track-name,.track[data-on="0"] .track-who{color:var(--text-3); opacity:.6}
@media (max-width:640px){
  .track{grid-template-columns:26px minmax(0,1fr); row-gap:9px}
  .track select{grid-column:2/-1}
}
.sw{
  position:relative; width:26px; height:26px; flex:none; cursor:pointer;
  border:1.5px solid var(--line-2); border-radius:var(--r-sm); background:var(--surface);
  display:grid; place-items:center; transition:all .15s;
}
.sw[aria-pressed="true"]{background:var(--ink-900); border-color:var(--ink-900)}
.sw svg{opacity:0; transition:opacity .15s}
.sw[aria-pressed="true"] svg{opacity:1}

.gate{
  margin-top:18px; padding:16px 18px; border-radius:var(--r);
  border:1.5px solid var(--line-2); background:var(--surface);
}
.gate h4{font-size:15px; margin-bottom:4px}
.gate .hint{margin-bottom:12px}

/* ---------- 단계별 넛지 ----------
   레드라인이 되기 전에 미리 채우도록 돕는 체크리스트. 경고가 아니므로 빨강을 쓰지 않는다. */
.nudge{
  margin-top:22px; padding:15px 18px; border-radius:var(--r);
  border:1px solid var(--line-2); background:linear-gradient(180deg,#fbfcfe,#f6f9fc);
}
.nudge[data-state="clear"],
.nudge[data-state="tip"]{border-color:#bfe0c9; background:var(--good-soft)}
.nudge[data-state="warn"]{border-color:#e6c79a; background:var(--amber-soft)}
.nudge[data-state="warn"] .nudge-h{color:var(--amber)}
.nudge[data-state="warn"] .nudge-n{background:var(--amber)}
.nudge-h{
  display:flex; align-items:center; gap:8px;
  font-size:13px; font-weight:800; color:var(--text-2);
}
.nudge[data-state="clear"] .nudge-h{color:var(--good)}
.nudge[data-state="tip"] .nudge-h{color:var(--good)}
.nudge-ok{
  display:inline-grid; place-items:center; flex:none;
  width:17px; height:17px; border-radius:50%; background:var(--good); color:#fff;
  font-size:10px; font-weight:800;
}
.nudge-n{
  display:inline-grid; place-items:center; flex:none;
  min-width:18px; height:18px; padding:0 5px; border-radius:9px;
  background:var(--ink-900); color:#fff; font-size:11px; font-weight:800;
}
.nudge ul{list-style:none; margin:11px 0 0; padding:0; display:flex; flex-direction:column; gap:9px}
.nudge li{display:flex; gap:9px; align-items:flex-start; font-size:13.5px; line-height:1.6; color:var(--text-2)}
.nudge li::before{
  content:''; flex:none; width:6px; height:6px; border-radius:50%;
  background:var(--star-perf); margin-top:8px;
}
.nudge li[data-k="tip"]{color:var(--text-3)}
.nudge li[data-k="tip"]::before{background:var(--line-2)}
.nudge li[data-k="warn"]::before{background:var(--amber)}
.nudge li b{color:var(--text-1); font-weight:700}
.nudge-tx{flex:1; min-width:0}
.nudge-act{
  flex:none; font-size:12px; font-weight:700; padding:4px 11px; cursor:pointer;
  border:1px solid var(--line-2); border-radius:var(--r-sm);
  background:var(--surface); color:var(--text-1); white-space:nowrap;
}
.nudge-act:hover{background:#eef4fb; border-color:#b6c4d6}
.nudge:focus{outline:none}
.nudge:focus-visible{outline:2.5px solid var(--star-perf); outline-offset:2px}

/* 스크린리더 전용 라이브 리전 */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ---------- STEP 4 : 범위 ---------- */
.scope-head,
.scope-row{display:grid; grid-template-columns:minmax(0,1.1fr) 200px minmax(0,1.3fr) 34px; gap:11px; align-items:start}
.scope-row{margin-bottom:11px}
.scope-head{
  margin-bottom:8px; padding:0 2px;
  font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--text-3);
}
.sc-f{min-width:0}
/* 데스크톱에서는 헤더 행이 이름을 대신하므로 시각적으로만 숨긴다(접근성 이름은 유지) */
.sc-f label, .sc-f .sc-lab{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}
textarea[data-grow]{
  min-height:38px; resize:none; overflow:hidden; line-height:1.5;
}
@media (max-width:760px){
  .scope-head{display:none}
  .scope-row{grid-template-columns:1fr; row-gap:10px; padding-bottom:14px; border-bottom:1px dashed var(--line-2)}
  .sc-f label, .sc-f .sc-lab{
    position:static; width:auto; height:auto; clip:auto; display:block;
    font-size:12px; font-weight:700; color:var(--text-3); margin-bottom:4px;
  }
}
.icon-btn{
  width:34px; height:38px; border:1px solid var(--line-2); background:var(--surface);
  border-radius:var(--r-sm); cursor:pointer; color:var(--text-3); font-size:16px; line-height:1;
}
.icon-btn:hover{color:var(--danger); border-color:var(--danger)}

/* ---------- 하단 내비 ---------- */
.navrow{
  display:flex; gap:10px; align-items:center; margin-top:26px;
  padding-top:20px; border-top:1px solid var(--line-1);
}
.navrow .spacer{margin-left:auto}

/* ---------- 설계도 출력 ---------- */
.sheet{
  background:var(--surface); border:1px solid var(--line-2);
  outline:1px solid var(--line-1); outline-offset:3px;
  border-radius:2px; padding:0; overflow:hidden; box-shadow:var(--shadow);
}
.titleblock{
  background:var(--ink-900); color:#fff; padding:16px 20px;
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:end;
}
.titleblock h3{font-size:19px; letter-spacing:-.025em; color:#fff}
.tb-sub{font-size:12.5px; color:rgba(255,255,255,.62); margin-top:3px}
.ex-badge{
  display:inline-block; margin-left:9px; vertical-align:middle;
  font-size:10.5px; font-weight:800; letter-spacing:.1em;
  padding:3px 8px; border-radius:3px;
  background:rgba(255,255,255,.16); color:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.28);
}
.tb-meta{display:flex; gap:18px; font-size:11.5px; color:rgba(255,255,255,.62); text-align:right}
.tb-meta div span{display:block; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.42)}
.tb-meta div b{font-size:13px; color:#fff; font-weight:700}
@media (max-width:640px){ .titleblock{grid-template-columns:1fr} .tb-meta{text-align:left} }

.dsec{padding:20px; border-top:1px dashed var(--line-2)}
.dsec:first-of-type{border-top:0}
.dsec-h{
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-3); margin-bottom:13px; display:flex; align-items:center; gap:8px;
}
.dsec-h::after{content:''; flex:1; height:1px; background:var(--line-1)}

.stars{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px}
@media (max-width:700px){ .stars{grid-template-columns:1fr} }
.starcol{border:1px solid var(--line-1); border-radius:var(--r-sm); padding:14px; background:#fcfdfe}
.starcol h4{font-size:14px; margin-bottom:2px}
.starcol .q{font-size:12px; color:var(--text-3); margin-bottom:11px}
[data-col="perf"] h4{color:var(--star-perf)} [data-col="skill"] h4{color:var(--star-skill)}
/* 100% 게이지 — 축마다 따로 막대를 두지 않고, 한 줄을 쪼개 전체 배분을 보여준다 */
.gauge{position:relative; margin-bottom:18px}
.gauge-track{
  display:flex; height:40px; border-radius:4px; overflow:hidden;
  border:1px solid var(--line-2); background:var(--surface);
}
.gseg{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-width:0; overflow:hidden; color:#fff; line-height:1.18; padding:0 2px;
  border-right:1px solid rgba(255,255,255,.5);
  transition:width .32s cubic-bezier(.4,0,.2,1);
}
.gseg:last-child{border-right:0}
.gseg b{
  font-size:10.5px; font-weight:700; opacity:.94; max-width:100%;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.gseg em{font-style:normal; font-size:12.5px; font-weight:800}
.gseg-open{
  background:repeating-linear-gradient(45deg,#eef2f7 0 6px,#e4ebf3 6px 12px);
  color:var(--text-3); border-right-color:var(--line-2);
}
.gauge-mark{position:absolute; top:-6px; height:52px; width:2px; background:var(--ink-900)}
.gauge-mark::after{
  content:'100%'; position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  font-size:10px; font-weight:800; color:var(--ink-900); white-space:nowrap;
}
.gauge-totals{display:flex; margin-top:8px; font-size:11.5px; font-weight:800}
.gauge-totals span{
  min-width:0; padding-left:7px; padding-right:6px;
  border-left:2px solid currentColor;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.wrow{display:flex; align-items:center; gap:8px; margin-bottom:7px; font-size:13.5px}
.wrow .dot{flex:none; width:8px; height:8px; border-radius:2px}
.wrow .nm{flex:1; min-width:0; font-weight:600}
.wrow .vl{flex:none; font-weight:800; font-size:13px}
.wnote{font-size:12px; color:var(--text-3); line-height:1.5; margin:-3px 0 8px 16px}
.none{font-size:12.5px; color:var(--text-3); padding:4px 0}
.empty{font-size:13px; color:var(--redline); font-weight:700; padding:6px 0}

/* 연간 리듬 */
.cal{width:100%; border-collapse:collapse; font-size:12.5px}
.cal th{
  font-weight:700; color:var(--text-3); font-size:11px; padding:0 0 7px;
  text-align:center; width:6.4%;
}
.cal th:first-child{text-align:left; width:23%}
.cal td{border-top:1px solid var(--line-1); padding:8px 0; text-align:center; vertical-align:middle}
.cal td:first-child{text-align:left; font-weight:600; color:var(--text-1); font-size:13px; padding-right:8px}
.cal td:first-child small{display:block; font-weight:500; color:var(--text-3); font-size:11px}
.mk{display:inline-block; width:9px; height:9px; border-radius:2px; background:var(--ink-900)}
.cal tr[data-off="1"] td:first-child{color:var(--text-3); opacity:.55}
.cal tr[data-off="1"] td:first-child::after{content:' (미운영)'; font-size:11px; color:var(--redline); font-weight:700}

/* 눈금 사다리 */
.ladder{display:flex; gap:5px; align-items:flex-end; margin-top:4px}
.rung{
  flex:1; border:1px solid var(--line-2); border-bottom:0; border-radius:3px 3px 0 0;
  background:#fcfdfe; text-align:center; padding:7px 2px 6px; font-size:12px; font-weight:700;
  color:var(--text-2);
}
.rung.anchor{background:var(--star-skill-soft); border-color:var(--star-skill); color:var(--star-skill)}
.rung small{display:block; font-size:9.5px; font-weight:600; color:var(--text-3); margin-top:2px}
.rung.anchor small{color:var(--star-skill)}
.ladder-base{height:2.5px; background:var(--ink-900); border-radius:2px; margin-top:0}

/* 범위 표 */
.stbl{width:100%; border-collapse:collapse; font-size:13.5px}
.stbl th{
  text-align:left; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--text-3); padding:0 10px 7px 0; font-weight:700;
}
.stbl td{border-top:1px solid var(--line-1); padding:9px 10px 9px 0; vertical-align:top}
.stbl td:first-child{font-weight:700; width:26%}
.depth{font-size:11.5px; font-weight:800; padding:2px 7px; border-radius:3px; white-space:nowrap}
.depth-ind{background:var(--star-skill-soft); color:var(--star-skill)}
.depth-team{background:var(--star-perf-soft); color:var(--star-perf)}
.depth-none{background:#f4f6f9; color:var(--text-3)}
/* 11.5px 소형 배지라 --redline(#dc2626, 4.17:1)로는 AA 미달. 딥 변형으로 5.6:1 확보 */
.depth-todo{background:var(--redline-soft); color:#b91c1c}

/* ---------- 시그니처 3 : 레드라인 ---------- */
/* 진단 패널 — 도면이 아니라 도면 옆에 붙이는 검토 메모. 기본 접힘 */
.diag{
  margin-top:26px; border:1px solid var(--line-2); border-radius:var(--r);
  background:var(--surface); overflow:hidden;
}
.diag > summary{
  cursor:pointer; list-style:none; padding:15px 18px;
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.diag > summary::-webkit-details-marker{display:none}
.diag > summary::after{
  content:'▾'; color:var(--text-3); font-size:13px; flex:none;
  transition:transform .18s;
}
.diag[open] > summary::after{transform:rotate(180deg)}
.diag > summary:hover{background:#fafbfd}
.diag-t{font-size:16.5px; font-weight:800; letter-spacing:-.02em}
.diag-body{padding:16px 18px 18px; border-top:1px dashed var(--line-2)}
.diag-note{
  display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap;
  margin-bottom:15px; padding-bottom:14px; border-bottom:1px dashed var(--line-1);
}
.diag-note p{font-size:13.5px; color:var(--text-2); line-height:1.66; flex:1; min-width:230px}
.diag-print{
  display:flex; align-items:center; gap:7px; flex:none; cursor:pointer;
  font-size:12.5px; font-weight:700; color:var(--text-2);
  padding:6px 11px; border:1px solid var(--line-2); border-radius:var(--r-sm); background:#fbfcfe;
}
.diag-print:hover{border-color:#b6c4d6}
.diag-print input{margin:0; accent-color:var(--ink-900); cursor:pointer}
.tally{display:flex; gap:7px; margin-left:auto; flex-wrap:wrap}
.tally span{font-size:12px; font-weight:800; padding:4px 10px; border-radius:999px}
.tally .t-red{background:var(--redline-soft); color:var(--redline)}
.tally .t-amb{background:var(--amber-soft); color:var(--amber)}
.tally .t-ok{background:var(--good-soft); color:var(--good)}

.finding{
  position:relative; background:var(--surface); border:1px solid var(--line-1);
  border-left:2.5px solid var(--line-2); border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:14px 17px; margin-bottom:10px;
  animation:rl .32s cubic-bezier(.4,0,.2,1) both;
}
@keyframes rl{from{clip-path:inset(0 100% 0 0)} to{clip-path:inset(0 0 0 0)}}
/* 시그니처: 손으로 그은 레드라인. 텍스트를 건드리지 않도록 룰 자체에만 필터를 건다. */
.finding[data-sev="red"]{border-left-color:transparent}
.finding[data-sev="red"]::before{
  content:''; position:absolute; left:-2.5px; top:2px; bottom:2px; width:2.5px;
  background:var(--redline); filter:url(#wobble);
}
.finding[data-sev="amber"]{border-left-color:var(--amber)}
.finding-top{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:5px}
.tag{
  font-size:9.5px; font-weight:800; letter-spacing:.13em; padding:2.5px 7px;
  border-radius:2.5px; flex:none;
}
.tag-red{background:var(--redline); color:#fff}
.tag-amb{background:var(--amber); color:#fff}
.finding h4{font-size:15px; letter-spacing:-.015em; flex:1; min-width:0}
.blk{font-size:11px; font-weight:700; color:var(--text-3); flex:none}
.finding p{font-size:13.5px; color:var(--text-2); line-height:1.68; text-wrap:pretty}
.finding p + p{margin-top:7px}
.finding .canon{
  margin-top:9px; font-size:12.5px; color:var(--text-3);
  padding-left:11px; border-left:2px solid var(--line-1);
}
.allclear{
  padding:22px; text-align:center; border:1.5px dashed var(--good);
  border-radius:var(--r); background:var(--good-soft); color:var(--good); font-weight:700;
}

.handoff{
  margin-top:22px; padding:18px 20px; border-radius:var(--r);
  border:1px solid var(--line-2); background:linear-gradient(180deg,#fbfcfe,#f6f9fc);
}
.handoff h4{font-size:15px; margin-bottom:6px}
.handoff p{font-size:13.5px; color:var(--text-2); line-height:1.66}
.handoff .row{display:flex; gap:9px; margin-top:13px; flex-wrap:wrap}

/* ---------- 인트로 ---------- */
.hero{padding:56px 0 8px; max-width:74ch}
.hero h1{font-size:clamp(30px,5.2vw,46px); line-height:1.18; letter-spacing:-.035em; font-weight:850}
.hero .sub{margin-top:16px; font-size:17px; color:var(--text-2); line-height:1.72; text-wrap:pretty}
.hero .sub b{color:var(--text-1); font-weight:700}
.two-star{display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:26px 0 4px; max-width:600px}
@media (max-width:560px){ .two-star{grid-template-columns:1fr} }
.tsc{border:1px solid var(--line-1); border-radius:var(--r); padding:15px 17px; background:var(--surface)}
.tsc .k{font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:5px}
.tsc .t{font-size:17px; font-weight:800; letter-spacing:-.02em}
.tsc .d{font-size:13px; color:var(--text-3); margin-top:4px}
.tsc[data-s="perf"]{border-top:2.5px solid var(--star-perf)} .tsc[data-s="perf"] .k{color:var(--star-perf)}
.tsc[data-s="skill"]{border-top:2.5px solid var(--star-skill)} .tsc[data-s="skill"] .k{color:var(--star-skill)}

footer{
  position:relative; z-index:1; border-top:1px solid var(--line-1);
  padding:22px 20px 34px; text-align:center; font-size:12.5px; color:var(--text-3);
}
footer a{color:var(--text-2)}

/* ---------- 인쇄 ---------- */
@page{ size:A4; margin:14mm; }
@media print{
  body::before{display:none}
  .chrome,.toolbar,.toast,.rail,.chips,.navrow,footer,.handoff{display:none !important}
  /* 진단은 설계도가 아니므로 기본적으로 인쇄하지 않는다. 체크했을 때만 뒤에 붙는다. */
  .diag{display:none}
  body[data-print-diag="1"] .diag{display:block; break-before:page; border:0; margin-top:0}
  body[data-print-diag="1"] .diag > summary{padding-left:0; padding-right:0}
  body[data-print-diag="1"] .diag > summary::after{display:none}
  body[data-print-diag="1"] .diag-body{padding-left:0; padding-right:0}
  .diag-print{display:none}
  .wrap{padding:0; max-width:none}
  .shell{grid-template-columns:1fr}
  .sheet{box-shadow:none; break-inside:avoid}
  .finding{break-inside:avoid}
  .titleblock{-webkit-print-color-adjust:exact; print-color-adjust:exact}
  /* 게이지는 색으로 배분을 읽는 도식이라 인쇄에서도 색을 유지해야 한다 */
  .gauge-track,.gseg,.wrow .dot,.depth{-webkit-print-color-adjust:exact; print-color-adjust:exact}
  .gauge{break-inside:avoid}
}

/* ---------- 모션 킬스위치 (필수) ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
}


/* ---------- 건너뛰기 링크 ---------- */
.skip-link{
  position:absolute; left:12px; top:-48px; z-index:80;
  background:var(--ink-900); color:#fff; padding:9px 15px; border-radius:0 0 8px 8px;
  font-size:13.5px; font-weight:700; text-decoration:none; transition:top .16s;
}
.skip-link:focus{top:0}

/* ---------- 언어 토글 (i18n-kit) ---------- */
.lang-toggle{margin-left:auto; display:flex; gap:2px; flex:none}
.lang-btn{
  border:0; background:transparent; cursor:pointer;
  color:rgba(255,255,255,.62); font-size:12.5px; font-weight:700;
  padding:5px 9px; border-radius:6px; line-height:1.2;
}
.lang-btn:hover{color:#fff; background:rgba(255,255,255,.1)}
.lang-btn.is-active{color:#fff; background:rgba(255,255,255,.16)}
@media (max-width:420px){ .lang-btn{padding:5px 7px; font-size:12px} }

/* ---------- 허브 백링크 (완료 페이지, 메이커 카드 바로 위) ---------- */
.hub-cta{
  display:flex; justify-content:center; margin:30px 0 14px;
}
.hub-cta a{
  display:inline-flex; align-items:center; gap:9px;
  padding:12px 22px; border-radius:999px; text-decoration:none;
  background:var(--ink-900); color:#fff; font-size:14.5px; font-weight:700;
  box-shadow:0 6px 22px -10px rgba(13,27,42,.6);
  transition:background .16s, transform .16s;
}
.hub-cta a:hover{background:var(--ink-800); transform:translateY(-1px)}
.hub-cta svg{flex:none; opacity:.8}
@media print{ .hub-cta,.maker,.img-lightbox{display:none !important} }

/* ---------- 푸터 데이터 취급 고지 (패밀리 관례, plan-canvas 규격) ---------- */
.app-footer-privacy{
  max-width:640px; margin:0 auto 8px;
  font-size:11px; color:var(--text-3); line-height:1.6;
}
.app-footer-meta{margin:0}

/* maker-card:css:start — scripts/web-templates/maker-card-kit (동기화 대상, 직접 수정 금지) */
/*
 * maker-card.css — SELF-CONTAINED CSS for the canonical "maker / 이 도구를 만든 사람" card.
 *
 * Design = Personal VH's .maker card, frozen so every app renders IDENTICALLY regardless of
 * its own token system. All values are scoped to .maker via --mk-* literals (Personal's
 * resolved design tokens), so this file has ZERO dependency on the host app's variables.
 * The lightbox is positioned: fixed and self-themes too.
 *
 * Class names are stable (.maker, .maker-toggle, .maker-body, .maker-photo, .maker-name,
 * .maker-role, .maker-slogan, .maker-creds, .maker-links, .maker-link, .maker-chevron,
 * .maker-eyebrow) — do NOT rename; that is what keeps all apps truly identical.
 *
 * Korean text wraps at eojeol boundaries (word-break: keep-all) inside the card. The host
 * normally sets this globally (cjk-rendering-safety rule); it is set here too for safety.
 *
 * The block between the maker-card:css markers below is the SYNCED region: sync-maker-card.ps1
 * replaces each app's existing .maker* CSS with exactly this text. Self-contained --mk-* literals
 * are Personal VH's resolved token values, so every app renders identically. Edit the kit, re-sync.
 */

/* maker-card:css:start */
.maker {
  /* ----- self-contained tokens (Personal VH resolved values) ----- */
  --mk-surface: #ffffff;
  --mk-border: #e2e8f0;
  --mk-text: #0f172a;
  --mk-text-2: #475569;
  --mk-text-3: #94a3b8;
  --mk-primary: #2563eb;       /* indigo-600 */
  --mk-primary-hover: #1d4ed8; /* indigo-700 */
  --mk-indigo-500: #3b82f6;
  --mk-indigo-200: #bfdbfe;
  --mk-indigo-100: #dbeafe;
  --mk-indigo-50: #eff6ff;
  --mk-sky-500: #0ea5e9;
  --mk-amber-400: #fbbf24;
  --mk-navy-50: #f8fafc;
  --mk-fs-xs: 11px;
  --mk-fs-sm: 13px;
  --mk-fs-base: 15px;
  --mk-fs-lg: 18px;
  --mk-fs-xl: 22px;
  --mk-sp-1: 4px;
  --mk-sp-2: 8px;
  --mk-sp-3: 12px;
  --mk-sp-4: 16px;
  --mk-sp-5: 20px;
  --mk-sp-6: 24px;
  --mk-sp-8: 32px;
  --mk-r-lg: 14px;
  --mk-r-xl: 20px;
  --mk-r-full: 9999px;
  --mk-shadow-xs: 0 1px 2px rgba(0, 0, 0, .06);
  --mk-shadow-sm: 0 1px 4px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);
  --mk-shadow-xl: 0 16px 48px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06);
  --mk-t-fast: 120ms ease;
  --mk-t-base: 200ms ease;

  box-sizing: border-box;
  margin: var(--mk-sp-8) auto 0;
  max-width: 480px;
  padding: var(--mk-sp-6);
  text-align: center;
  background: var(--mk-surface);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-r-xl);
  box-shadow: var(--mk-shadow-xs);
  word-break: keep-all;
  overflow-wrap: break-word;
}
.maker *, .maker *::before, .maker *::after { box-sizing: border-box; }

.maker-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--mk-fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mk-text-3);
  margin: 0 auto var(--mk-sp-4);
}
.maker-eyebrow::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mk-amber-400);
  box-shadow: 0 0 0 3px rgba(251, 191, 36, 0.18);
}

.maker-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mk-sp-4);
}
.maker-photo {
  width: 116px;
  height: 138px;
  flex: none;
  object-fit: cover;
  object-position: 50% 8%;
  border-radius: var(--mk-r-lg);
  border: 1px solid var(--mk-border);
  background: var(--mk-navy-50);
  cursor: zoom-in;
}
.maker-photo:focus-visible { outline: 2px solid var(--mk-primary); outline-offset: 3px; }

.maker-identity { width: 100%; }
.maker-name {
  margin: 0;
  font-size: var(--mk-fs-xl);
  font-weight: 700;
  color: var(--mk-text);
  line-height: 1.25;
}
.maker-name span {
  font-size: var(--mk-fs-sm);
  font-weight: 500;
  color: var(--mk-text-3);
  margin-left: 6px;
}
.maker-role {
  margin: 4px 0 0;
  font-size: var(--mk-fs-base);
  font-weight: 600;
  color: var(--mk-text-2);
}
.maker-slogan {
  margin: var(--mk-sp-4) 0 0;
  font-size: var(--mk-fs-lg);
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--mk-primary);
  word-break: keep-all;
}
.maker-slogan::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  margin: var(--mk-sp-2) auto 0;
  border-radius: var(--mk-r-full);
  background: linear-gradient(90deg, var(--mk-primary), var(--mk-sky-500));
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .maker-slogan {
    background: linear-gradient(90deg, var(--mk-primary), var(--mk-sky-500) 55%, var(--mk-primary));
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: makerSloganShimmer 5s linear infinite;
  }
  @keyframes makerSloganShimmer {
    from { background-position: 0% center; }
    to   { background-position: 200% center; }
  }
}

.maker-proof { width: 100%; }
.maker-creds {
  list-style: none;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--mk-sp-1);
}
.maker-creds li {
  position: relative;
  padding-left: 22px;
  font-size: var(--mk-fs-sm);
  color: var(--mk-text-2);
  line-height: 1.55;
}
.maker-creds li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 13px;
  height: 13px;
  background: var(--mk-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.maker-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--mk-sp-2);
  margin-top: var(--mk-sp-5);
}
.maker-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 var(--mk-sp-4);
  border: 1px solid var(--mk-border);
  border-radius: var(--mk-r-full);
  font-size: var(--mk-fs-sm);
  font-weight: 600;
  color: var(--mk-text);
  text-decoration: none;
  transition: border-color var(--mk-t-fast), background var(--mk-t-fast);
}
.maker-link svg { width: 16px; height: 16px; fill: currentColor; }
.maker-link:hover { border-color: var(--mk-primary); background: var(--mk-indigo-50); }
.maker-link:focus-visible { outline: 2px solid var(--mk-primary); outline-offset: 2px; }

/* ----- collapse / reveal (toggle accordion header) ----- */
.maker-reveal { display: contents; }
.maker.is-collapsed .maker-body { display: none; }
.maker:not(.is-collapsed) .maker-body { animation: maker-reveal 0.4s ease both; }
@keyframes maker-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.maker-toggle {
  display: inline-flex; align-items: center; justify-content: space-between; gap: var(--mk-sp-3);
  width: 100%; min-height: 48px;
  margin: 0 auto; padding: var(--mk-sp-3) var(--mk-sp-5);
  background: linear-gradient(135deg, var(--mk-indigo-50), var(--mk-indigo-100));
  border: 1px solid var(--mk-indigo-200); border-radius: var(--mk-r-full);
  cursor: pointer; font: inherit; color: var(--mk-primary-hover);
  box-shadow: var(--mk-shadow-xs);
  transition: background var(--mk-t-fast), border-color var(--mk-t-fast), box-shadow var(--mk-t-fast), transform var(--mk-t-fast);
}
.maker-toggle:hover {
  background: linear-gradient(135deg, var(--mk-indigo-100), var(--mk-indigo-200));
  border-color: var(--mk-indigo-500); box-shadow: var(--mk-shadow-sm);
}
.maker-toggle:active { transform: translateY(1px); }
.maker-toggle:focus-visible { outline: 2px solid var(--mk-primary); outline-offset: 2px; }
.maker-toggle .maker-eyebrow { margin: 0; color: var(--mk-primary-hover); font-size: var(--mk-fs-sm); }
.maker-chevron {
  flex: none; box-sizing: border-box;
  width: 26px; height: 26px; padding: 5px;
  border-radius: var(--mk-r-full); background: rgba(37, 99, 235, 0.10); color: var(--mk-primary);
  transition: transform var(--mk-t-base), background var(--mk-t-fast);
  transform: rotate(180deg);
}
.maker-toggle:hover .maker-chevron { background: rgba(37, 99, 235, 0.18); }
.maker:not(.is-collapsed) .maker-toggle { margin-bottom: var(--mk-sp-5); }
.maker:not(.is-collapsed) .maker-chevron { transform: rotate(0deg); }

/* ----- photo lightbox (self-themed, host-independent) ----- */
.img-lightbox {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(15, 23, 42, 0.86);
  overscroll-behavior: contain;
}
.img-lightbox[hidden] { display: none; }
.img-lightbox-img {
  width: auto; height: auto;
  max-width: min(90vw, 520px); max-height: 86dvh;
  border-radius: 14px; box-shadow: 0 16px 48px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06); background: #f8fafc;
}
.img-lightbox-close {
  position: absolute; top: max(16px, env(safe-area-inset-top)); right: 16px;
  width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
  border: none; border-radius: 9999px; cursor: pointer;
  background: rgba(255, 255, 255, 0.16); color: #fff;
}
.img-lightbox-close:hover { background: rgba(255, 255, 255, 0.28); }
.img-lightbox-close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* ----- React lightbox via native <dialog> (used by react/MakerCard.tsx) -----
   The vanilla card uses the position:fixed .img-lightbox above; the React port uses a
   native <dialog>. Both are self-themed and host-independent. Keep both blocks; an app uses
   whichever variant it ships. */
.img-lightbox-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  max-width: none;
  max-height: none;
  overflow: visible;
}
.img-lightbox-dialog::backdrop {
  background: rgba(15, 23, 42, 0.86);
}
.img-lightbox-dialog img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(90vw, 520px);
  max-height: 86dvh;
  object-fit: contain;
  border-radius: 14px;
  border: 5px solid #fff;
  background: #fff;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .06);
}
.img-lightbox-dialog-close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 44px;   /* touch floor (web-service-quality §10) */
  height: 44px;
  border-radius: 9999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #0f172a;
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);
}
.img-lightbox-dialog-close:hover { border-color: #2563eb; background: #eff6ff; }
.img-lightbox-dialog-close:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.img-lightbox-dialog[open] { animation: makerLightboxIn 0.18s ease-out; }
@keyframes makerLightboxIn {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .maker-link { transition: none; }
  .maker-chevron { transition: none; }
  .maker:not(.is-collapsed) .maker-body { animation: none; }
  .maker-slogan { animation: none; }
  .img-lightbox-dialog[open] { animation: none; }
}

/* ===== profile-photo handwriting flourish (lightbox): '조직을 더 재밌고 성과나게!' writes itself =====
   The vanilla (.img-lightbox) and React (.img-lightbox-dialog) lightboxes both wrap the photo in
   .maker-ink-stage and add the .maker-ink overlay; opening the lightbox (display:none -> shown)
   restarts these CSS animations, so no JS is needed to replay them. Pen webfont = NanumGangInHanWiRo
   (SIL OFL), subset to 조직을 더 재밌고 성과나게! only and inlined here so the kit stays self-contained (no font
   file to sync). If the handwriting text changes, re-subset the font for the new glyphs (README). */
@font-face {
  font-family: 'MakerPen';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(data:font/woff;base64,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) format('woff');
}
.maker-ink-stage { position: relative; display: inline-block; line-height: 0; }
.maker-ink-stage::after {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none; border-radius: 14px;
  background: linear-gradient(115deg, transparent 38%, rgba(140, 152, 175, 0.5) 50%, transparent 62%);
  background-size: 280% 100%;
  background-position: 165% 0;
  /* Confine the gleam to the studio BACKGROUND only — the person silhouette (incl. the white shirt)
     is masked out so the light never crosses him. Mask = rembg cutout of marcus-gong-960, inverted
     (opaque on background, transparent on the person), downscaled + feathered, inlined as PNG. */
  -webkit-mask-image: url(data:image/png;base64,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);
  mask-image: url(data:image/png;base64,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);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  mask-mode: alpha;
  animation: makerInkShine 1.05s ease-out 2.7s both;
}
.maker-ink {
  position: absolute; top: 4.5%; right: 7%; z-index: 2;
  margin: 0; padding: 0;
  text-align: right; pointer-events: none;
  font-family: 'MakerPen', 'NanumGangInHanWiRo', system-ui, cursive;
  font-size: clamp(20px, 6vw, 35px);
  line-height: 1.06;
  color: #18181c;
  letter-spacing: -0.01em;
  transform: rotate(3deg);
  transform-origin: top right;
}
.maker-ink-row { display: block; }
.maker-ink i {
  display: inline-block;
  font-style: normal;
  animation: makerInkWrite 0.42s ease both;
  animation-delay: var(--d, 0s);
}
@keyframes makerInkWrite {
  from { clip-path: inset(-14% 100% -14% -14%); opacity: 0.25; }
  to   { clip-path: inset(-14% -14% -14% -14%); opacity: 1; }
}
@keyframes makerInkShine {
  from { background-position: 165% 0; }
  to   { background-position: -75% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .maker-ink i { animation: none; clip-path: none; opacity: 1; }
  .maker-ink-stage::after { animation: none; background: none; }
}
/* maker-card:css:end */


/* maker-card:css:end */

/* ===== VH Avatar Kit (동기화 대상, 직접 수정 금지) ===== */
/* vh-avatar-kit:css:start */
/* VH family top-right account affordance (source of truth: scripts/web-templates/vh-avatar-kit) */
.vh-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 120ms ease, border-color 120ms ease, background 120ms ease;
}
.vh-login:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.08);
}
.vh-login__en { display: none; }
html[lang^="en"] .vh-login__ko { display: none; }
html[lang^="en"] .vh-login__en { display: inline; }
.vh-login--light {
  border-color: rgba(15, 23, 42, 0.28);
  color: #334155;
}
.vh-login--light:hover {
  color: #0f172a;
  border-color: rgba(15, 23, 42, 0.52);
  background: rgba(15, 23, 42, 0.06);
}
.vh-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  border: 1.5px solid rgba(255, 255, 255, 0.38);
  color: #fff;
  text-decoration: none;
  flex-shrink: 0;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.vh-avatar:hover {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.16);
}
.vh-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* light-header variant (밝은 크롬 앱) */
.vh-avatar--light {
  background: #fff;
  border-color: rgba(15, 23, 42, 0.28);
  color: #334155;
}
.vh-avatar--light:hover {
  border-color: #334155;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.1);
}
/* vh-avatar-kit:css:end */

