/* 솔루션 상세 스토리 페이지 — 에이전트 페이지(agent-*, analysis-*) 스타일 위에 얹는 보조 스타일 */
.sx-page{
  --sx-ink:#19243a;--sx-muted:#65728a;--sx-accent:#3c5fe7;--sx-line:#d8deed;
  --sx-soft:#eaf0ff;--sx-soft-strong:#dde6fb;--sx-blue:#5375f4;--sx-warn:#d9480f;--sx-warn-soft:#fff1e8;
}

/* 하단 탭 — 네 개 */
.sx-navigation a{white-space:nowrap}
@media (width<=760px){.sx-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 히어로 카드 */
.sx-hero-card .analysis-paper-summary h3{letter-spacing:-.035em}
.sx-hero-row>strong{flex:0 0 auto}
.sx-row-tag{margin-left:auto;font-style:normal;font-size:11px;font-weight:600;color:var(--sx-accent);background:#eef2ff;border:1px solid #d6e0fb;border-radius:999px;padding:3px 9px;white-space:nowrap}
.sx-row-tag.is-warn{color:var(--sx-warn);background:var(--sx-warn-soft);border-color:#fbd3bd}
.sx-hero-row::after{content:none}

.sx-gfx{margin:4px 0 14px;min-height:110px;display:flex;align-items:center}
.sx-gfx-ocr{gap:14px}
.sx-gfx-doc{position:relative;flex:0 0 78px;height:100px;border:1.5px solid #c9d6f1;border-radius:8px;background:#fff;padding:26px 10px 0;overflow:hidden}
.sx-gfx-doc b{position:absolute;top:8px;left:10px;font:600 9px/1 var(--font-family-mono,monospace);color:#fff;background:#6b8ae8;border-radius:3px;padding:3px 5px}
.sx-gfx-doc i{display:block;height:4px;border-radius:2px;background:#e3e9f7;margin-top:9px}
.sx-gfx-doc i:nth-child(3){width:70%}.sx-gfx-doc i:nth-child(4){width:84%}
.sx-gfx-scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#5375f4,transparent);top:calc(14% + (1 - var(--scene-enter,1)) * 0% + var(--scene-progress,0) * 70%);box-shadow:0 0 12px #5375f4}
.sx-gfx-arrow{color:#9aaed8;font-size:18px}
.sx-gfx-json{flex:1;min-width:0;margin:0;background:#f5f7fd;border:1px solid #e1e7f5;border-radius:8px;padding:12px;font:11px/1.65 var(--font-family-mono,ui-monospace,monospace);color:#3f5b99;white-space:pre;overflow:hidden}
.sx-gfx-lanes{flex-direction:column;align-items:stretch;gap:9px;justify-content:center}
.sx-gfx-lanes>div{display:flex;align-items:center;gap:10px}
.sx-gfx-lanes span{font:600 10px var(--font-family-mono,monospace);color:#8a98b3;width:28px}
.sx-gfx-lanes i{flex:1;height:14px;border-radius:4px;background:#edf1fb;position:relative;overflow:hidden}
.sx-gfx-lanes i::after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--w) * var(--scene-progress,1));background:repeating-linear-gradient(90deg,#5375f4 0 18px,#7d97f5 18px 20px);border-radius:4px}
.sx-gfx-stamp{gap:10px}
.sx-gfx-stamp>div{flex:1;border:1px solid #e1e7f5;border-radius:10px;padding:14px 10px;text-align:center;background:#fafbff}
.sx-gfx-stamp small{display:block;font:600 9px var(--font-family-mono,monospace);letter-spacing:.1em;color:#8a98b3;margin-bottom:6px}
.sx-gfx-stamp strong{font-size:17px;letter-spacing:-.03em;color:#34507f}
.sx-gfx-stamp>div.is-accent{background:#eef2ff;border-color:#c9d6fb}
.sx-gfx-stamp>div.is-accent strong{color:var(--sx-accent)}
.sx-gfx-timeline{justify-content:space-between;position:relative;padding:0 4px}
.sx-gfx-timeline::before{content:"";position:absolute;left:18px;right:18px;top:50%;height:2px;background:linear-gradient(90deg,#5375f4 0 45%,#dfe6f6 45%)}
.sx-gfx-timeline span{position:relative;z-index:1;font-size:12px;font-weight:600;color:#8a98b3;background:#fff;border:1.5px solid #dfe6f6;border-radius:999px;padding:7px 10px}
.sx-gfx-timeline span.is-done{color:#4a66b8;border-color:#bccbf3}
.sx-gfx-timeline span.is-on{color:#fff;background:var(--sx-blue);border-color:var(--sx-blue);box-shadow:0 8px 20px -8px #3c5fe7}

/* 문제 장면 SVG */
.sx-problem-visual{max-width:590px;margin-inline:auto}
.sx-svg{width:100%;height:auto;display:block;overflow:visible}
.sx-svg [data-agent-reveal]{opacity:var(--reveal-progress,1);transform:translateY(calc((1 - var(--reveal-progress,1)) * 14px));transform-box:fill-box}
.sx-svg .s-halo{fill:var(--sx-soft);opacity:.6}
.sx-svg .s-shadow{fill:var(--sx-soft-strong)}
.sx-svg .s-paper{fill:#fff;stroke:#c9d6f1;stroke-width:1.7px}
.sx-svg .s-paper.is-accent{stroke:var(--sx-blue);stroke-width:2px;fill:#f7f9ff}
.sx-svg .s-card{fill:#fff;stroke:#9eb5e4;stroke-width:2px}
.sx-svg .s-photo{fill:#dfe7fa}
.sx-svg .s-rule{stroke:#dfe6f5;stroke-width:1.5px}
.sx-svg .s-line{stroke:#d3ddf2;stroke-width:7px;stroke-linecap:round}
.sx-svg .s-label-sm{fill:#3f5486;font-size:17px;font-weight:600;letter-spacing:-.02em}
.sx-svg .s-label-sm.is-accent{fill:var(--sx-accent)}
.sx-svg .s-label-sm.is-inverse{fill:#fff}
.sx-svg .s-small{fill:#6b7c9c;font-size:14px;letter-spacing:-.02em}
.sx-svg .s-summary{fill:#5a74ab;font-size:21px;font-weight:500;letter-spacing:-.03em}
.sx-svg .s-connector{stroke:#93aad8;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}
.sx-svg .s-connector-soft{stroke:#b6c6e8;stroke-width:1.6px;stroke-linecap:round}
.sx-svg .s-connector-dash{stroke:#c3d0ec;stroke-width:1.5px;stroke-dasharray:5 6}
.sx-svg .s-field{fill:#f3f6fd;stroke:#dde5f5}
.sx-svg .s-field.is-filled{fill:#e9effd;stroke:#c9d6f1}
.sx-svg .s-caret{stroke:var(--sx-blue);stroke-width:2px;animation:sx-blink 1s steps(1) infinite}
@keyframes sx-blink{50%{opacity:0}}
.sx-svg .s-table{fill:#f7f9fe;stroke:#c9d6f1;stroke-width:1.5px}
.sx-svg .s-tag{fill:var(--sx-accent);font-size:15px;font-weight:600}
.sx-svg .s-check{fill:#fff;stroke:#9eb5e4;stroke-width:1.6px}
.sx-svg .s-check.is-on{fill:var(--sx-blue);stroke:var(--sx-blue)}
.sx-svg .s-check-mark{stroke:#fff;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}
.sx-svg .s-hand{stroke:#5a74ab;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}
.sx-svg .s-q{fill:#eef2ff;stroke:#b6c6e8}
.sx-svg .s-q.is-warn{fill:var(--sx-warn-soft);stroke:#f5b28f}
.sx-svg .s-q.is-big{fill:#fff;stroke:#9eb5e4;stroke-width:2px}
.sx-svg .s-q-text{fill:#5a74ab;font-size:13px;font-weight:700}
.sx-svg .s-q-text.is-warn{fill:var(--sx-warn)}
.sx-svg .s-q-text.is-big{font-size:30px}
.sx-svg .s-core{fill:var(--sx-blue);filter:drop-shadow(0 12px 18px #3c5fe755)}
.sx-svg .s-core-text{fill:#fff;font-size:14px;font-weight:700;letter-spacing:.02em}
.sx-svg .s-pii{fill:var(--sx-warn-soft);stroke:#f5b28f}
.sx-svg .s-pii-text{fill:#b5460f;font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.sx-svg .s-warn-disc{fill:var(--sx-warn-soft);stroke:#f5b28f;stroke-width:2px}
.sx-svg .s-warn-mark{stroke:var(--sx-warn);stroke-width:6px;stroke-linecap:round}
.sx-svg .s-warn-text{fill:var(--sx-warn);font-size:15px;font-weight:600}
.sx-svg .s-track{fill:#edf1fb}
.sx-svg .s-track-fill{fill:var(--sx-blue)}
.sx-svg .s-break{stroke:var(--sx-warn);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}
.sx-svg .s-loop{stroke:#93aad8;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:6 6}
.sx-svg .s-led{fill:#7ee0b0}
.sx-svg .s-chip{fill:#fff;stroke:#c9d6f1;stroke-width:1.4px}
.sx-svg .s-chip.is-ghost{stroke-dasharray:4 4}
.sx-svg .s-chip.is-soft{fill:#eef2ff;stroke:#c9d6fb}
.sx-svg .s-chip.is-warn{fill:var(--sx-warn-soft);stroke:#f5b28f}
.sx-svg .s-chip-text{fill:#4a5f8e;font-size:14px;font-weight:600}
.sx-svg .s-chip-text.is-soft{fill:var(--sx-accent)}
.sx-svg .s-chip-text.is-warn{fill:var(--sx-warn)}
.sx-svg .s-lane{fill:#f5f7fd;stroke:#dfe6f5}
.sx-svg .s-chunk{fill:#7d97f5}
.sx-svg .s-chunk.is-miss{fill:#fff;stroke:var(--sx-warn);stroke-width:1.5px;stroke-dasharray:3 3}
.sx-svg .s-lane-label{fill:#8a98b3;font-size:13px;font-weight:600;font-family:var(--font-family-mono,monospace)}
.sx-svg .s-calc{fill:#fff;stroke:var(--sx-blue);stroke-width:1.8px;filter:drop-shadow(0 14px 22px #3c5fe726)}
.sx-svg .s-calc-text{fill:var(--sx-accent);font-size:20px;font-weight:700;letter-spacing:-.02em}
.sx-svg .s-calc-sub{fill:#6b7c9c;font-size:15px;font-weight:500}
.sx-svg .s-cal-head{fill:#6f8ce8}
.sx-svg .s-cal-cell{fill:#f5f7fd}
.sx-svg .s-cal-mark{fill:#dfe7fa}
.sx-svg .s-cal-mark.is-hi{fill:#ffd9c4}
.sx-svg .s-cal-mark.is-mid{fill:#dfe7fa}
.sx-svg .s-cal-mark.is-lo{fill:#d4f3e3}
.sx-svg .s-cal-mark-text{fill:#3f5486;font-size:14px;font-weight:700}
.sx-svg .s-axis{stroke:#c3d0ec;stroke-width:2px}
.sx-svg .s-tick{stroke:#c3d0ec;stroke-width:1.5px}
.sx-svg .s-event{fill:#fff;stroke:var(--sx-blue);stroke-width:3px}
.sx-svg .s-event.is-warn{stroke:var(--sx-warn)}
.sx-svg .s-bar{fill:#dfe7fa}
.sx-svg .s-bar.is-accent{fill:var(--sx-blue)}

/* 등장 장면 파이프라인 */
.sx-request{justify-content:flex-start}
.sx-request>.agent-icon:first-child{flex:0 0 auto;width:24px;height:24px}
.sx-request>.agent-typewriter{flex:1;min-width:0}
.sx-pipeline{grid-template-columns:repeat(var(--sx-cols,4),minmax(0,1fr))}
.sx-pipeline>div{text-align:center}
.sx-pipeline>div>span{color:var(--sx-ink);font-weight:600;letter-spacing:-.03em}
.sx-pipeline>div>small{display:block;margin-top:-6px;color:#8391aa;font-size:13px;line-height:1.5;letter-spacing:-.02em;word-break:keep-all}
@media (width<=760px){
  .sx-pipeline{grid-template-columns:1fr 1fr}
  .sx-pipeline>div{flex-direction:column}
  .sx-pipeline>div>small{margin-top:-4px;font-size:12px}
}

/* 기존 방식 비교 — 단계 수 가변 */
@media (width>=761px){
  .sx-compare .sx-existing{grid-template-columns:repeat(var(--sx-steps,9),minmax(0,1fr))}
  .sx-compare .sx-existing::before{left:calc(50% / var(--sx-steps,9));right:calc(50% / var(--sx-steps,9))}
}

/* 결과 문서 */
.sx-doc-sheet .analysis-document-section-copy h4{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.sx-doc-value{font-style:normal;font:600 14px var(--font-family-mono,ui-monospace,monospace);color:var(--sx-accent);background:#eef2ff;border-radius:6px;padding:2px 8px;white-space:nowrap}
.sx-doc-value.is-warn{color:var(--sx-warn);background:var(--sx-warn-soft)}

/* 타일 */
.sx-tiles{display:grid;grid-template-columns:repeat(var(--sx-cols,4),minmax(0,1fr));gap:18px;max-width:1120px;margin:8px auto 0}
.sx-tile{background:#fff;border:1px solid #dde4f3;border-radius:18px;padding:28px 24px 26px;box-shadow:0 22px 60px -42px #294a8b66}
.sx-tile-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eef2ff;color:var(--sx-accent);margin-bottom:22px}
.sx-tile-icon .agent-icon{width:23px;height:23px}
.sx-tile h3{margin:0;color:var(--sx-ink);font-size:19px;font-weight:600;letter-spacing:-.035em;line-height:1.45}
.sx-tile p{margin:8px 0 0;color:var(--sx-muted);font-size:15px;line-height:1.7;letter-spacing:-.025em;word-break:keep-all}
.sx-tile.is-metric{padding-top:30px}
.sx-tile-metric{display:block;color:var(--sx-accent);font-size:clamp(52px,5.2vw,78px);font-weight:650;letter-spacing:-.06em;line-height:1;margin-bottom:22px}
.sx-tile-metric small{font-size:.38em;margin-left:4px;letter-spacing:-.02em;font-weight:600}
.sx-tiles-scene .agent-scene-footer p{margin:26px 0 0;color:#8391aa;font-size:13px;font-weight:400;letter-spacing:-.02em}
@media (width<=980px){.sx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (width<=520px){.sx-tiles{grid-template-columns:1fr;gap:12px}.sx-tile{padding:20px 20px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:start}.sx-tile-icon{grid-row:span 2;margin:0;width:40px;height:40px}.sx-tile-metric{grid-column:1/-1;margin-bottom:12px;font-size:52px}.sx-tile.is-metric{display:block}}

/* 생애주기 흐름 */
.sx-flow{position:relative;display:grid;grid-template-columns:repeat(var(--sx-cols,5),minmax(0,1fr));gap:18px;max-width:1120px;margin:14px auto 0}
.sx-flow-line{position:absolute;left:calc(50% / var(--sx-cols,5));right:calc(50% / var(--sx-cols,5));top:23px;width:calc(100% - 100% / var(--sx-cols,5));height:12px;margin-left:0}
.sx-flow-line path{stroke:#b6c6e8;stroke-width:2px}
.sx-flow-step{position:relative;text-align:center}
.sx-flow-node{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:50%;background:#fff;border:1.5px solid #c9d6f1;color:#5a74ab;box-shadow:0 12px 26px -16px #294a8b88}
.sx-flow-node .agent-icon{width:24px;height:24px}
.sx-flow-step.is-accent .sx-flow-node{background:var(--sx-blue);border-color:var(--sx-blue);color:#fff}
.sx-flow-step small{display:block;color:#9aacca;font:600 11px var(--font-family-mono,monospace);letter-spacing:.08em}
.sx-flow-step h3{margin:4px 0 12px;color:var(--sx-ink);font-size:21px;font-weight:600;letter-spacing:-.035em}
.sx-flow-step ul{margin:0;padding:14px 12px;list-style:none;background:#fff;border:1px solid #e1e7f5;border-radius:14px}
.sx-flow-step li{color:var(--sx-muted);font-size:14px;line-height:1.9;letter-spacing:-.025em}
.sx-flow-step.is-accent ul{border-color:#c9d6fb;background:#f7f9ff}
@media (width<=860px){
  .sx-flow{grid-template-columns:1fr;gap:12px;max-width:460px}
  .sx-flow-line{display:none}
  .sx-flow-step{display:grid;grid-template-columns:52px 1fr;column-gap:16px;text-align:left;align-items:center}
  .sx-flow-node{grid-row:span 3;margin:0;width:48px;height:48px}
  .sx-flow-step h3{margin:0 0 6px;font-size:18px}
  .sx-flow-step ul{padding:8px 12px}
  .sx-flow-step li{display:inline;font-size:13px}
  .sx-flow-step li+li::before{content:" · "}
}

/* 넓은 장면 — 제목과 같은 왼쪽 기준선에 맞춤 */
.sx-tiles-scene .agent-scene-visual,.sx-flow-scene .agent-scene-visual{max-width:none;margin-inline:0}
.sx-tiles,.sx-flow{max-width:none;margin-left:0;margin-right:0}
.sx-tiles-scene .agent-scene-footer{text-align:left}

/* 인감대사 — 인감 이미지·차이 영역 */
.sx-svg .s-seal-img.is-faint{opacity:.35}
.sx-svg .s-stamp{mix-blend-mode:multiply}
.sx-svg .s-diff{fill:#3c5fe714;stroke:var(--sx-blue);stroke-width:2.4px;stroke-dasharray:5 4}
.sx-svg .s-lens{fill:#ffffff40;stroke:#5a74ab;stroke-width:3px}
.sx-svg .s-lens-handle{stroke:#5a74ab;stroke-width:7px;stroke-linecap:round}
.sx-svg .s-ok{stroke:var(--sx-blue)}
.sx-gfx-seal{gap:10px;justify-content:space-between}
.sx-gfx-seal figure{margin:0;flex:0 0 76px;text-align:center}
.sx-seal-box{display:grid;place-items:center;width:76px;height:76px;border:1px solid #e1e7f5;border-radius:10px;background:#fff;padding:8px;box-sizing:border-box}
.sx-seal-box img{display:block;width:100%;height:auto}
.sx-seal-pic{position:relative;display:block;width:100%}
.sx-seal-notch{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border:1.6px dashed var(--sx-blue);border-radius:50%;background:#3c5fe714}
.sx-gfx-seal figcaption{margin-top:6px;font-size:11px;font-weight:600;color:#8a98b3}
.sx-gfx-seal .sx-gfx-score{flex:1;min-width:0;border:1px solid #c9d6fb;background:#eef2ff;border-radius:10px;padding:12px 10px;text-align:center}
.sx-gfx-score small{display:block;font:600 9px var(--font-family-mono,monospace);letter-spacing:.1em;color:#8a98b3}
.sx-gfx-score strong{display:block;margin:4px 0 2px;font-size:26px;letter-spacing:-.04em;color:var(--sx-accent)}
.sx-gfx-score span{font-size:11px;font-weight:600;color:var(--sx-warn)}
@media (width<=520px){.sx-gfx-seal{gap:6px}.sx-gfx-seal figure{flex-basis:58px}.sx-seal-box{width:58px;height:58px;padding:6px}.sx-seal-notch{width:16px;height:16px;margin:-8px 0 0 -8px}.sx-gfx-seal .sx-gfx-score{padding:10px 6px}.sx-gfx-score strong{font-size:22px}.sx-gfx-score span{font-size:10px;white-space:nowrap}}
