/* 279 소프트웨어 투자 타당성의 비용, 효과, 위험 산정 = 저울과 손익 곡선(2026-10-16 글마다 다른 레이아웃).
   네 항목은 비용과 효과를 양쪽에 단 저울(기둥에 위험, 받침에 후속 활용), 산정 근거는 비용 구성 칸과 곱셈 계산식,
   초기 시험은 갈림 흐름도, 시나리오는 누적 비용과 효과 곡선, 내부 보고는 네 칸 메모, 판단은 문 셋, 진행 방식은 업무흐름도 */
.v-artd .sp-279 .prose{font-size:17px}
.v-artd .sp-279 .prose h2{margin:0 0 18px;padding:0;border:0;font-size:27px;letter-spacing:-.8px;display:block;min-height:0}
.v-artd .sp-279 .prose h2::before,.v-artd .sp-279 .prose h2::after{content:none}
.v-artd .sp-279 :where(.prose) .iv-s{padding:58px 0 6px}
.v-artd .sp-279 :where(.prose) .iv-s>p{margin:0 0 16px}
.v-artd .sp-279 :where(.prose) .iv-lead{font-size:20px;line-height:1.7;color:var(--ink);margin:0 0 14px;font-weight:600}
.v-artd .sp-279 :where(.prose) .iv-key{margin:0;color:var(--sub);font-size:16px}
.v-artd .sp-279 :where(.prose) .k{display:inline-block;margin:6px 6px 0 0;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:800}
.v-artd .sp-279 :where(.prose) .k-ok{background:#e3f6ea;color:#17703d}
.v-artd .sp-279 :where(.prose) .k-est{background:var(--blue2);color:#1d3fc4}
.v-artd .sp-279 :where(.prose) .k-chk{background:#fff1c2;color:#6b4e00}

/* 저울 */
.v-artd .sp-279 :where(.prose) .iv-scale{margin:10px 0 10px}
.v-artd .sp-279 :where(.prose) .sc-beam{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:26px}
.v-artd .sp-279 :where(.prose) .sc-beam::before{content:"";position:absolute;left:8%;right:8%;top:0;height:8px;border-radius:4px;background:var(--ink)}
.v-artd .sp-279 :where(.prose) .sc-beam::after{content:"";position:absolute;left:50%;top:-12px;width:28px;height:28px;margin-left:-14px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px #fff}
.v-artd .sp-279 :where(.prose) .pan{position:relative;padding:18px 18px 16px;border-radius:0 0 26px 26px;background:var(--soft);border-top:4px solid var(--ink)}
.v-artd .sp-279 :where(.prose) .pan::before,.v-artd .sp-279 :where(.prose) .pan::after{content:"";position:absolute;top:-26px;width:2px;height:24px;background:var(--ink)}
.v-artd .sp-279 :where(.prose) .pan::before{left:22%}.v-artd .sp-279 :where(.prose) .pan::after{right:22%}
.v-artd .sp-279 :where(.prose) .pan p,.v-artd .sp-279 :where(.prose) .pv p{margin:0}
.v-artd .sp-279 :where(.prose) .pn-k{font-size:13px;font-weight:800;color:var(--blue)}
.v-artd .sp-279 :where(.prose) .pn-t{margin:2px 0 6px!important;font-size:17px;font-weight:800;color:var(--ink)}
.v-artd .sp-279 :where(.prose) .pn-d{font-size:14.5px;line-height:1.6;color:var(--sub)}
.v-artd .sp-279 :where(.prose) .sc-post{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.v-artd .sp-279 :where(.prose) .pv{padding:16px 18px;border-radius:14px}
.v-artd .sp-279 :where(.prose) .pv-risk{background:var(--navy)}
.v-artd .sp-279 :where(.prose) .pv-risk .pn-k{color:#9fb3ff}.v-artd .sp-279 :where(.prose) .pv-risk .pn-t{color:#fff}.v-artd .sp-279 :where(.prose) .pv-risk .pn-d{color:#cfd6f2}
.v-artd .sp-279 :where(.prose) .pv-next{border:2px dashed var(--blue)}

/* 비용 구성과 계산식 */
.v-artd .sp-279 :where(.prose) .iv-cost{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px}
.v-artd .sp-279 :where(.prose) .ic-k{margin:0 6px 0 0;font-size:14px;font-weight:800;color:var(--ink)}
.v-artd .sp-279 :where(.prose) .iv-cost span{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:800}
.v-artd .sp-279 :where(.prose) .iv-cost span:nth-of-type(1){background:var(--navy);color:#fff}
.v-artd .sp-279 :where(.prose) .iv-cost span:nth-of-type(2){background:var(--blue);color:#fff}
.v-artd .sp-279 :where(.prose) .iv-cost span:nth-of-type(3){background:var(--blue2);color:#1d3fc4}
.v-artd .sp-279 :where(.prose) .iv-calc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;padding:18px;border-radius:14px;background:#0f1320}
.v-artd .sp-279 :where(.prose) .iv-calc i{font-style:normal;font-size:20px;font-weight:800;color:#8fb0ff}
.v-artd .sp-279 :where(.prose) .cl{padding:10px 12px;border-radius:8px;background:#232a45;color:#e4e8fb;font-size:14px;font-weight:700}
.v-artd .sp-279 :where(.prose) .cl-m{background:#3a2531;color:#ffc9c5}
.v-artd .sp-279 :where(.prose) .cl-r{background:var(--blue);color:#fff}

/* 갈림 흐름도 */
.v-artd .sp-279 :where(.prose) .iv-flow{margin:6px 0 14px;padding:18px;border-radius:14px;border:1px solid var(--line)}
.v-artd .sp-279 :where(.prose) .iv-flow ol{display:flex;gap:0;margin:0;padding:0;list-style:none}
.v-artd .sp-279 :where(.prose) .iv-flow li{flex:1;position:relative;margin:0 0 0 18px;padding:12px 6px;border-radius:10px;background:var(--soft);text-align:center;font-size:14px;font-weight:800;color:var(--ink)}
.v-artd .sp-279 :where(.prose) .iv-flow li:first-child{margin-left:0}
.v-artd .sp-279 :where(.prose) .iv-flow li+li::before{content:"";position:absolute;left:-17px;top:50%;width:16px;height:2px;background:#9aa1b5}
.v-artd .sp-279 :where(.prose) .iv-flow li.dc{background:var(--ink);color:#fff;transform:rotate(0);clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}
.v-artd .sp-279 :where(.prose) .fl-out{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.v-artd .sp-279 :where(.prose) .fl-out p{margin:0;padding:12px 16px;border-radius:10px;font-size:15px;font-weight:800}
.v-artd .sp-279 :where(.prose) .fl-out small{display:block;font-size:13px;font-weight:600;margin-top:2px}
.v-artd .sp-279 :where(.prose) .fl-out .go{background:#e3f6ea;color:#17703d}
.v-artd .sp-279 :where(.prose) .fl-out .stop{background:#fff1c2;color:#6b4e00}
.v-artd .sp-279 :where(.prose) .iv-agree{display:inline-block;padding:8px 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:14.5px;font-weight:700}

/* 곡선 */
.v-artd .sp-279 :where(.prose) .iv-curve{margin:6px 0 18px;padding:16px 16px 10px;border-radius:14px;background:var(--soft)}
.v-artd .sp-279 :where(.prose) .iv-curve svg{display:block;width:100%;height:auto;overflow:visible}
.v-artd .sp-279 :where(.prose) .iv-curve .ax{stroke:var(--ink);stroke-width:2}
.v-artd .sp-279 :where(.prose) .iv-curve .cost{fill:none;stroke:#e5484d;stroke-width:3;stroke-dasharray:8 6}
.v-artd .sp-279 :where(.prose) .iv-curve .eff{fill:none;stroke-width:3}
.v-artd .sp-279 :where(.prose) .eff-o{stroke:#9fb3ff}.v-artd .sp-279 :where(.prose) .eff-b{stroke:var(--blue)}.v-artd .sp-279 :where(.prose) .eff-p{stroke:var(--navy)}
.v-artd .sp-279 :where(.prose) .iv-curve text{font-size:12px;font-weight:800;font-family:inherit}
.v-artd .sp-279 :where(.prose) .iv-curve .tc{fill:#c4282d}
.v-artd .sp-279 :where(.prose) .iv-curve .te{fill:var(--ink);transform:translateX(-36px)}
.v-artd .sp-279 :where(.prose) .iv-curve .tx{fill:var(--sub)}
.v-artd .sp-279 :where(.prose) .iv-curve figcaption{margin-top:8px;font-size:12.5px;color:var(--sub)}

/* 네 칸 메모 */
.v-artd .sp-279 :where(.prose) .iv-memo{display:grid;grid-template-columns:1fr 1fr;margin:6px 0 12px;border:2px solid var(--ink);border-radius:8px;overflow:hidden}
.v-artd .sp-279 :where(.prose) .mm-h{grid-column:1/-1;margin:0;padding:10px 14px;background:var(--ink);color:#fff;font-weight:800;font-size:14.5px}
.v-artd .sp-279 :where(.prose) .iv-memo p:not(.mm-h){margin:0;height:64px;padding:10px 14px;border-top:1px solid var(--line)}
.v-artd .sp-279 :where(.prose) .iv-memo p:nth-child(even):not(.mm-h){border-right:1px solid var(--line)}
.v-artd .sp-279 :where(.prose) .iv-memo span{font-size:13.5px;font-weight:800;color:var(--blue)}

/* 미정 항목 다음 행동 */
.v-artd .sp-279 :where(.prose) .iv-gap{margin:6px 0 16px;padding:0;list-style:none}
.v-artd .sp-279 :where(.prose) .iv-gap li{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center;margin:0;padding:12px 0;border-bottom:1px dashed var(--line);font-size:15px;color:var(--ink)}
.v-artd .sp-279 :where(.prose) .iv-gap b{position:relative;padding-right:24px;color:var(--sub);font-size:14.5px}
.v-artd .sp-279 :where(.prose) .iv-gap b::after{content:"→";position:absolute;right:0;color:var(--blue)}

/* 문 셋 */
.v-artd .sp-279 :where(.prose) .iv-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 16px}
.v-artd .sp-279 :where(.prose) .dr{margin:0;padding:34px 12px 18px;border-radius:60px 60px 10px 10px;text-align:center;font-size:18px;font-weight:800;position:relative}
.v-artd .sp-279 :where(.prose) .dr::after{content:"";position:absolute;right:12%;top:30%;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.5}
.v-artd .sp-279 :where(.prose) .dr small{display:block;margin-top:6px;font-size:12.5px;font-weight:600;line-height:1.45}
.v-artd .sp-279 :where(.prose) .dr-go{background:var(--blue);color:#fff}
.v-artd .sp-279 :where(.prose) .dr-adj{background:var(--blue2);color:#1d3fc4}
.v-artd .sp-279 :where(.prose) .dr-hold{background:#fff;color:var(--ink);border:2px solid var(--ink)}

/* 진행 방식 = 업무흐름도 */
.v-artd .sp-279 :where(.prose) .iv-we{margin:36px 0 10px;padding:28px 30px;border-radius:20px;background:var(--navy);color:#fff}
.v-artd .sp-279 :where(.prose) .ivw-k{margin:0 0 6px;font-size:13px;font-weight:800;color:#9fb3ff}
.v-artd .sp-279 :where(.prose) .ivw-t{margin:0 0 18px;font-size:20px;font-weight:800;line-height:1.45}
.v-artd .sp-279 :where(.prose) .ivw-flow{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;align-items:center;gap:10px;margin-bottom:18px}
.v-artd .sp-279 :where(.prose) .ivw-flow span{padding:12px 8px;border-radius:10px;border:1.5px solid rgba(255,255,255,.4);text-align:center;font-size:14px;font-weight:700}
.v-artd .sp-279 :where(.prose) .ivw-flow b{position:relative;padding:14px 8px;border-radius:12px;background:#fff;color:var(--navy);text-align:center;font-size:15px}
.v-artd .sp-279 :where(.prose) .ivw-flow b::before{content:"→";position:absolute;left:-17px;top:50%;margin-top:-11px;color:#9fb3ff;font-size:16px}
.v-artd .sp-279 :where(.prose) .ivw-d{margin:0 0 20px;font-size:15.5px;line-height:1.7;color:#d7dcf0}
.v-artd .sp-279 :where(.prose) .ivw-btn{display:inline-flex;padding:13px 24px;border-radius:999px;background:#fff;color:var(--navy)!important;font-weight:800;text-decoration:none!important}
.v-artd .sp-279 :where(.prose) .ivw-btn:hover{background:var(--blue2)}

.v-artd .sp-279 :where(.prose) .iv-rel{margin:40px 0 18px;padding:18px 0 0;border-top:1px solid var(--line);list-style:none}
.v-artd .sp-279 :where(.prose) .iv-rel li{margin:0;padding:6px 0}
.v-artd .sp-279 :where(.prose) .iv-rel li::before{content:none}
.v-artd .sp-279 :where(.prose) .iv-rel a{font-weight:700;text-decoration:none}
.v-artd .sp-279 :where(.prose) .iv-rel a::before{content:"→ ";color:var(--sub)}

@media (max-width:720px){
  .v-artd .sp-279 :where(.prose) .iv-lead{font-size:18px}
  .v-artd .sp-279 .prose h2{font-size:23px}
  .v-artd .sp-279 :where(.prose) .iv-s{padding-top:46px}
  .v-artd .sp-279 :where(.prose) .sc-beam{grid-template-columns:1fr 1fr;gap:12px}
  .v-artd .sp-279 :where(.prose) .pan{padding:14px 12px}
  .v-artd .sp-279 :where(.prose) .pn-t{font-size:15px}
  .v-artd .sp-279 :where(.prose) .pn-d{font-size:13.5px}
  .v-artd .sp-279 :where(.prose) .sc-post{grid-template-columns:1fr}
  .v-artd .sp-279 :where(.prose) .iv-flow ol{flex-direction:column;gap:14px}
  .v-artd .sp-279 :where(.prose) .iv-flow li{margin:0}
  .v-artd .sp-279 :where(.prose) .iv-flow li+li::before{left:50%;top:-13px;width:2px;height:12px}
  .v-artd .sp-279 :where(.prose) .fl-out{grid-template-columns:1fr}
  .v-artd .sp-279 :where(.prose) .iv-memo{grid-template-columns:1fr}
  .v-artd .sp-279 :where(.prose) .iv-memo p:nth-child(even):not(.mm-h){border-right:0}
  .v-artd .sp-279 :where(.prose) .iv-gap li{grid-template-columns:1fr;gap:2px}
  .v-artd .sp-279 :where(.prose) .iv-doors{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .v-artd .sp-279 :where(.prose) .dr{font-size:15px;padding:26px 6px 14px}
  .v-artd .sp-279 :where(.prose) .iv-we{padding:24px 22px}
  .v-artd .sp-279 :where(.prose) .iv-curve text{font-size:22px}
  .v-artd .sp-279 :where(.prose) .ivw-flow{grid-template-columns:1fr}
  .v-artd .sp-279 :where(.prose) .ivw-flow b::before{left:50%;top:-20px;margin:0 0 0 -6px;content:"↓"}
}
