/* 2026-11-13 2차 신규 캐릭터 결제 전 공용 부품(parts/nc_*.html). 콜라보 뼈대: reports/2026-11-13-신규캐릭터/2차/콜라보-뼈대.md,
   약속 문서: 2차/yy/부품약속.md. base.html 이 신규 캐릭터 화면(is_nc)에서만 nc-yy.css 뒤에 붙인다.
   가져온 곳: 타이트 wt-nc-tight static/css/line-tight.css(문장 조각 · 노트 판 · 그래프 · 달력 · 날짜 카드 · 흐림 · 가격판 줄 범위만, 통째 링크 X),
   청월당 wt-nc-cw line_cw/static/line_cw/cw-ui.css(숫자 카드 이중 테두리 · 한지) · ziwei.css(이런 분께 · 목차). 원본 파일은 고치지 않음.
   색: 상품 토큰(--yy-accent · --yy-btn · --yy-panel …, nc-yy.css) + 소재 토큰(--nc-*, 아래). 단색만, 그라데이션 · 네온 · 빛 번짐 · 왼쪽 강조 띠 없음.
   강조는 굵기 · 크기. 손님 글자 14px 이상. */

/* 전남교육 유나체(출처 · 라이선스 fonts/LICENSES.md): -rest 를 먼저 적어야 자주 쓰는 2,350자 -ks 가 먼저 쓰인다(뒤에 적은 면부터 고름) */
@font-face{font-family:'JNE Yuna';src:url("fonts/JNEYuna-rest.139fed0da67d.woff2") format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JNE Yuna';src:url("fonts/JNEYuna-ks.2cbbca5e213b.woff2") format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* ── 소재 토큰 ── diary 연애(빨간 가죽 다이어리) · honseo 결혼(혼서지 · 리본 상자) · memo 연애타로(리딩 메모 · 벨벳) */
.ncp{--nc-hand:'JNE Yuna',var(--line-serif);
  --nc-paper:#f6eee6; --nc-ink:#2b1b1d; --nc-soft:#7c6763; --nc-rule:rgba(43,27,29,.14); --nc-cover:#5a1f26; --nc-mk:var(--yy-btn);
  margin:56px 22px 0;padding-top:0;color:var(--yy-text);word-break:keep-all}
.ncp.is-honseo{--nc-paper:#f8f2ea; --nc-ink:#2c1d22; --nc-soft:#7d6a6e; --nc-rule:rgba(44,29,34,.14); --nc-cover:#6b2e3d}
.ncp.is-memo{--nc-paper:#f1e6d2; --nc-ink:#2a2016; --nc-soft:#76664f; --nc-rule:rgba(42,32,22,.15); --nc-cover:#2e1619; --nc-mk:#b8894a}

/* ── 공통 조각 ── */
html[data-theme] .yy .ncp-hand-title{margin:0 0 6px;text-align:center;font:400 30px/1.3 var(--nc-hand);letter-spacing:0;color:var(--yy-strong)}
html[data-theme] .yy .ncp-hand-title.is-ink{color:var(--nc-ink)}
.ncp-val{font-weight:700;color:var(--nc-val,var(--yy-accent-soft))}
.ncp-lock{display:inline-block;width:calc(var(--w,6) * .9em);height:1em;margin:0 2px;vertical-align:-.15em;border-radius:6px;background:currentColor;opacity:.42;filter:blur(4px)}
/* 11/14: 막대 + 뒤 글 첫 낱말(조사 · 월 · 일)은 한 덩어리. 날짜 숫자 막대(is-num)는 숫자 폭만큼 좁게 */
.ncp-glue{white-space:nowrap}
.ncp-glue .ncp-lock{margin-right:1px}
.ncp-lock.is-num{margin:0 1px;border-radius:4px;filter:blur(3px)}
.ncp-big{display:flex;justify-content:center;align-items:center;gap:10px;margin:6px 0 12px;font:400 28px/1 var(--nc-hand);color:var(--yy-strong)}
.ncp-big i{display:inline-block;width:52px;height:28px;border-radius:8px;background:rgba(255,255,255,.6);filter:blur(7px)}
.ncp-big i.is-short{width:30px}
.ncp-big.is-one i{width:96px}.ncp-big.is-one i.is-short{width:44px}
.ncp-big.is-open{flex-wrap:wrap;padding:0 8px;font-size:26px;line-height:1.3}
.ncp-lines{margin:18px 0 0;text-align:left}
.ncp-lines p{margin:0 0 10px;font:400 16px/1.7 var(--line-sans);color:var(--yy-text)}
.ncp-bars{display:grid;gap:6px;padding-top:4px}
.ncp-bars i{display:block;height:14px;border-radius:4px;background:currentColor;opacity:.3;filter:blur(3px)}
.ncp-bars i.is-short{width:62%}
.ncp .yy-ic{display:block}

/* ── 보이면 한 번(line-yy.js: 화면 아래에 있던 칸만 ncp-wait → is-in · is-play) ── */
.ncp[data-ncp-anim]{transition:opacity .6s ease-out,translate .6s ease-out}
.ncp.ncp-wait{opacity:0;translate:0 18px}
@keyframes ncShake{0%,100%{transform:none}25%{transform:translate(-3px,1px) rotate(-1deg)}50%{transform:translate(3px,-1px) rotate(1deg)}75%{transform:translate(-2px,0) rotate(-.5deg)}}
@keyframes ncFlip{from{transform:perspective(600px) rotateY(180deg)}to{transform:perspective(600px) rotateY(0)}}
@keyframes ncPop{from{opacity:0;transform:translate(-50%,-30%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* ── ① 노트 판(타이트 note_plus) ── 그림이 없으면 소재별 단색 종이 판 */
.ncp-note-frame{position:relative;container-type:inline-size;padding:26px 22px 24px;border-radius:10px;background:var(--nc-paper);color:var(--nc-ink);
  box-shadow:0 0 0 10px var(--nc-cover)}
.ncp-note.is-diary .ncp-note-frame{margin:10px}
.ncp-note.is-honseo .ncp-note-frame{padding:32px 24px 26px;border:1px solid var(--yy-btn);border-radius:3px;outline:1px solid var(--yy-btn);outline-offset:-7px;box-shadow:none}
.ncp-note.is-memo .ncp-note-frame{margin:8px 12px;border-radius:4px;rotate:-.8deg;box-shadow:0 0 0 8px var(--nc-cover)}
.ncp-note.has-art .ncp-note-frame{margin:0;padding:0;border:0;outline:0;border-radius:0;box-shadow:none;rotate:none;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat}
.ncp-note.has-art .ncp-note-title{position:absolute;left:10%;top:6%;width:80%;min-height:8%;display:flex;align-items:center;justify-content:center}
.ncp-note.has-art .ncp-note-text{position:absolute;left:14%;top:18%;width:72%;height:70%;overflow:hidden}
html[data-theme] .yy .ncp-note-title{margin:0 0 14px;text-align:center;font:400 max(26px,8cqw)/1.3 var(--nc-hand);letter-spacing:0;color:var(--nc-ink)}
.ncp-note-text{display:flex;flex-direction:column;gap:12px;--nc-val:var(--yy-btn)}
.ncp-note-lead{margin:0;font:400 15px/1.6 var(--line-sans);color:var(--nc-ink)}
.ncp-note-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.ncp-note-list li{display:flex;gap:10px;align-items:flex-start}
.ncp-note-list li>div{flex:1;min-width:0}
.ncp-note-no{position:relative;flex:none;display:grid;place-items:center;width:30px;height:30px;color:var(--nc-mk)}
.ncp-note-no .yy-ic{position:absolute;inset:0;width:30px;height:30px}
.ncp-note-no span{position:relative;font:700 14px/1 var(--line-sans);color:#fff;margin-top:-1px}
.ncp-note.is-memo .ncp-note-no span{color:var(--nc-ink);margin:0 0 0 7px}
.ncp-note-rt{margin:0 0 4px;font:400 23px/1.35 var(--nc-hand);color:var(--nc-ink)}
.ncp-note-rb{margin:0;font:400 15px/1.6 var(--line-sans);color:var(--nc-ink)}
.ncp-note-list li.is-hid .ncp-bars{color:var(--nc-soft)}
.ncp-note-list li.is-hid .ncp-bars.is-title{padding-top:6px}

/* ── ② 직관 그래프(타이트 plus_reverse) ── 어두운 판 · 계열 선 · 강조 구간 띠 · 표시 점 + 알약 */
.ncp-graph{text-align:center}
.ncp-graph-panel{margin:16px 0 0;padding:18px 14px 14px;border-radius:14px;background:var(--yy-panel);border:1px solid rgb(var(--yy-accent-rgb) / .14)}
.ncp-graph-y{margin:0 0 8px;text-align:left;font:400 14px/1.3 var(--line-sans);color:var(--yy-sub)}
.ncp-graph-plot{position:relative}
.ncp-graph-svg{display:block;width:100%;height:auto;overflow:visible}
.ncp-graph-band{fill:rgb(var(--yy-accent-rgb) / .16)}
.ncp-graph-bar{fill:rgb(var(--yy-accent-rgb) / .3)}
.ncp-graph-bar.is-on{fill:var(--yy-accent)}
.ncp-graph.ncp-masked .ncp-graph-bar{filter:blur(4px)}
.ncp-graph-axis{fill:none;stroke:rgba(255,255,255,.3);stroke-width:1.5}
.ncp-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s ease-in-out}
.ncp-line.is-me{stroke:var(--yy-accent)}
.ncp-line.is-them{stroke:#a8a2a0}
.ncp-graph.is-pulse .ncp-line{stroke-width:2.5}
.ncp-graph.ncp-wait .ncp-line{stroke-dashoffset:1}
.ncp-graph-ticks{position:relative;height:20px;margin:6px 0 0;font:400 14px/1.3 var(--line-sans);color:var(--yy-sub)}
.ncp-graph-ticks span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.ncp-graph-ticks span:first-child{transform:none}.ncp-graph-ticks span:last-child:not(:first-child){transform:translateX(-100%)}
.ncp-graph-x{display:flex;justify-content:space-between;margin:8px 0 0;font:400 14px/1.3 var(--line-sans);color:var(--yy-sub)}
.ncp-graph-mark{position:absolute;z-index:2;transform:translate(-50%,-50%);color:var(--yy-accent);transition:scale .45s cubic-bezier(.34,1.56,.64,1) 1.2s,opacity .45s ease 1.2s}
.ncp-graph-mark .yy-ic{width:26px;height:26px;filter:drop-shadow(0 0 1px var(--yy-panel))}
.ncp-graph.ncp-wait .ncp-graph-mark{scale:0;opacity:0}
.ncp-graph-pill{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);padding:5px 11px;border-radius:999px;background:var(--yy-btn);
  font:700 14px/1.2 var(--line-sans);color:var(--yy-btn-ink);white-space:nowrap}
/* 11/14 A4: 표시 점이 판 양 끝(가로 22% 안쪽 · 78% 바깥)이면 알약이 판 밖으로 나가지 않게 점 쪽 끝을 맞춤 */
.ncp-graph-mark.is-left .ncp-graph-pill{left:-8px;transform:none}
.ncp-graph-mark.is-right .ncp-graph-pill{left:auto;right:-8px;transform:none}
.ncp-graph-legend{display:flex;justify-content:center;gap:18px;margin:14px 0 0;padding:0;list-style:none;font:400 14px/1.3 var(--line-sans);color:var(--yy-text)}
.ncp-graph-legend li{display:flex;align-items:center;gap:6px}
.ncp-graph-legend li::before{content:'';width:18px;height:3px;border-radius:2px;background:var(--yy-accent)}
.ncp-graph-legend li.is-them::before{background:#a8a2a0}
.ncp-graph.is-memo .ncp-graph-panel{border-color:rgb(var(--yy-accent-rgb) / .3)}

/* ── ③ 달력(타이트 plus_golden) ── 다이어리 월간 플래너 · 택일 달력 · 달 모양 달력. 결제 전은 고정 견본 격자 + 흐린 점 */
.ncp-cal-board{position:relative;padding:26px 18px 22px;border-radius:8px;background:var(--nc-paper);color:var(--nc-ink);--nc-val:var(--yy-btn)}
.ncp-cal.is-diary .ncp-cal-board{margin:10px;box-shadow:0 0 0 10px var(--nc-cover)}
.ncp-cal.is-honseo .ncp-cal-board{padding:30px 20px 24px;border:1px solid var(--yy-btn);border-radius:3px;outline:1px solid var(--yy-btn);outline-offset:-7px}
.ncp-cal.is-memo .ncp-cal-board{--nc-ink:#f4e8d2;--nc-soft:rgba(244,232,210,.62);--nc-rule:rgba(244,232,210,.14);background:var(--nc-cover);border:1px solid rgb(var(--yy-accent-rgb) / .4)}
.ncp-cal.has-art .ncp-cal-board{margin:0;padding:9% 8% 10%;border:0;outline:0;border-radius:0;box-shadow:none;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat}
.ncp-cal-month{margin:0 0 12px;text-align:center;font:600 16px/1.3 var(--line-sans);color:var(--nc-soft)}
.ncp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:6px}
.ncp-cal-wd{padding-bottom:4px;text-align:center;font:500 14px/1.2 var(--line-sans);color:var(--nc-soft)}
.ncp-cal-wd.is-sun{color:var(--yy-btn)}
.ncp-cal.is-memo .ncp-cal-wd.is-sun{color:var(--yy-accent)}
.ncp-cal-d{position:relative;display:flex;align-items:center;justify-content:center;height:36px;font:500 15px/1 var(--line-sans);color:var(--nc-soft)}
.ncp-cal-d.is-past{opacity:.45}
.ncp-cal-d.is-in{background:rgb(var(--yy-accent-rgb) / .2);color:var(--nc-ink)}
.ncp-cal-d.is-in:not(.is-in + .is-in),.ncp-cal-d.is-in:nth-child(7n+1){border-radius:10px 0 0 10px}
.ncp-cal-d.is-in:not(:has(+ .is-in)),.ncp-cal-d.is-in:nth-child(7n){border-radius:0 10px 10px 0}
.ncp-cal-d.is-in:not(.is-in + .is-in):not(:has(+ .is-in)){border-radius:10px}
.ncp-cal-d.is-peak{background:var(--yy-btn);color:#fff;font-weight:700;border-radius:8px!important}
.ncp-cal-ic{position:absolute;top:-7px;right:-4px;width:16px!important;height:16px;color:var(--nc-mk);filter:drop-shadow(0 0 1px #fff)}
.ncp-cal-d.is-peak .ncp-cal-ic{color:#fff;filter:drop-shadow(0 0 1px var(--yy-btn))}
.ncp-cal-blur{display:block;width:14px;height:12px;border-radius:4px;background:currentColor;opacity:.35;filter:blur(2px)}
.ncp-cal.is-diary .ncp-cal-grid{row-gap:0}
.ncp-cal.is-diary .ncp-cal-d{border-top:1px solid var(--nc-rule)}
.ncp-cal.is-diary .ncp-cal-d.is-in,.ncp-cal.is-diary .ncp-cal-d.is-peak{border-top-color:transparent}
/* 달 모양: 칸이 둥근 달, 좋은 날은 찬 달 · 고른 날은 금빛 보름달(이어지는 띠 없음) */
.ncp-cal.is-memo .ncp-cal-grid{row-gap:8px}
.ncp-cal.is-memo .ncp-cal-d{width:36px;margin:0 auto;border-radius:50%!important;box-shadow:inset 0 0 0 1px var(--nc-rule)}
.ncp-cal.is-memo .ncp-cal-d.is-in{background:rgb(var(--yy-accent-rgb) / .28);box-shadow:none}
.ncp-cal.is-memo .ncp-cal-d.is-peak{background:var(--yy-accent);color:#2a1d12}
.ncp-cal.is-memo .ncp-cal-d.is-peak .ncp-cal-ic{color:#2a1d12;filter:none}

/* ── ④ 날짜 카드 + 붓 체크(타이트 plus_rival) ── 다이어리 폴라로이드 · 혼서지 청첩 카드 · 타로 카드 뒤집기 */
.ncp-cards{text-align:center}
.ncp-cards-row{display:flex;justify-content:center;gap:12px;margin:18px -10px 0;padding:18px 0 8px;list-style:none}
.ncp-card{position:relative;flex:0 0 min(31%,124px);box-sizing:border-box;padding:14px 12px 16px;border-radius:12px;text-align:left;background:var(--yy-panel-3);color:var(--yy-strong)}
.ncp-card.has-art{aspect-ratio:240/330;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat}
.ncp-card-head{margin:0;font:600 14px/1.2 var(--line-sans);letter-spacing:.08em;opacity:.72}
.ncp-card-big{margin:6px 0 10px;padding-bottom:10px;border-bottom:1px solid currentColor;border-bottom-color:color-mix(in srgb,currentColor 18%,transparent);font:700 38px/1 var(--line-sans)}
.ncp-card-head i,.ncp-card-big i{display:inline-block;height:1em;border-radius:6px;background:currentColor;opacity:.5;filter:blur(6px)}
.ncp-card-head i{width:3em}.ncp-card-big i{width:1.3em}
.ncp-card-desc{margin:0;font:400 14px/1.5 var(--line-sans)}
.ncp-card-desc.ncp-bars i{height:12px}
.ncp-check{position:absolute;top:-18px;right:-6px;width:42px;height:auto;color:var(--yy-accent)}
.ncp-cards.is-play .ncp-card{animation:ncShake .5s ease}
.ncp-cards.is-diary .ncp-card{padding:10px 10px 18px;border-radius:3px;background:#f7f3ee;color:var(--nc-ink);rotate:-2deg}
.ncp-cards.is-diary .ncp-card:nth-child(2){rotate:1.5deg}
.ncp-cards.is-diary .ncp-card:nth-child(3){rotate:-1deg}
.ncp-cards.is-diary .ncp-check{color:var(--yy-btn)}
.ncp-cards.is-honseo .ncp-card{padding:16px 12px 16px;border-radius:3px;background:var(--nc-paper);color:var(--nc-ink);border:1px solid var(--yy-btn);outline:1px solid var(--yy-btn);outline-offset:-5px}
.ncp-cards.is-honseo .ncp-check{color:var(--yy-btn)}
.ncp-cards.is-memo .ncp-card{flex:0 1 min(40%,150px);min-width:0;aspect-ratio:2/3;display:flex;flex-direction:column;justify-content:center;text-align:center;border-radius:8px;
  background:var(--nc-cover);color:#f4e8d2;border:1px solid rgb(var(--yy-accent-rgb) / .7);outline:1px solid rgb(var(--yy-accent-rgb) / .4);outline-offset:-7px}
.ncp-cards.is-memo .ncp-card.has-art{border:0;outline:0}
.ncp-cards.is-memo.is-play .ncp-card:first-child{animation:ncFlip .9s ease both}

/* ── 흐림 단계(타이트 결제 전 장 본문) ── 문장 속 막대 → 단어 → 문단 → 그림, 아래로 갈수록 짙게 */
.ncp-blur{font:400 16px/1.85 var(--line-sans);color:var(--yy-text)}
.ncp-blur p{margin:0 0 14px}
.ncp-hide{color:transparent!important;text-shadow:0 0 9px rgba(240,236,230,.95);user-select:none;-webkit-user-select:none}
.ncp-blur-para{color:transparent;text-shadow:0 0 8px rgba(240,236,230,.85);user-select:none;-webkit-user-select:none}
.ncp-blur-para+.ncp-blur-para{text-shadow:0 0 11px rgba(240,236,230,.6)}
.ncp-blur-img{margin:8px -22px 0;overflow:hidden}
.ncp-blur-img .yy-slot img{filter:blur(var(--blur,10px));transform:scale(1.06)}

/* ── 고민 말풍선(청월당 #13 → 용용 말풍선) ── 그림 위 .yy-bubble, 그림이 없으면 같은 말풍선이 좌우 엇갈려 쌓임. 고민 말은 유나체 */
.ncp.ncp-worry{margin:64px 0 0}
html[data-theme] .yy .ncp-worry-head{margin:0 22px 16px;text-align:center;font:700 var(--fs-chapter,24px)/1.4 var(--line-serif);color:var(--yy-strong)}
html[data-theme] .yy.is-nc .ncp-worry .yy-bubble{font:400 clamp(20px,5.6vw,23px)/1.4 var(--nc-hand);letter-spacing:0}
.ncp-worry-flow{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:0 22px;justify-items:center;align-items:start}
html[data-theme] .yy.is-nc .ncp-worry-flow .yy-bubble{position:relative;left:auto!important;top:auto!important;transform:none;animation:none}
.ncp-worry-flow .yy-bubble:nth-child(even){margin-top:56px}
.ncp-worry-flow.ncp-wait .yy-bubble{opacity:0;translate:0 14px}
.ncp-worry-flow .yy-bubble{transition:opacity .45s ease,translate .45s ease}
.ncp-worry-flow .yy-bubble:nth-child(2){transition-delay:.25s}.ncp-worry-flow .yy-bubble:nth-child(3){transition-delay:.5s}.ncp-worry-flow .yy-bubble:nth-child(4){transition-delay:.75s}
.ncp-worry .yy-slot.is-in .yy-bubble:nth-child(n+4){animation-delay:.76s}
.ncp-worry .yy-slot.is-in .yy-bubble:nth-child(n+5){animation-delay:1.14s}
html[data-theme] .yy .ncp-worry-answer{margin:28px 22px 0;text-align:center;font:700 var(--fs-say,20px)/1.55 var(--line-serif);color:var(--yy-strong)}
.ncp-worry-answer span{display:block}

/* ── 이런 분께 맞아요(청월당 F26) ── */
.ncp-fit{padding:24px 20px;border-radius:16px;background:var(--yy-panel);border:1px solid rgb(var(--yy-accent-rgb) / .14)}
.ncp-fit .ncp-hand-title{margin-bottom:16px}
.ncp-fit ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ncp-fit li{display:flex;align-items:flex-start;gap:10px;font:500 16px/1.45 var(--line-sans);color:var(--yy-strong)}
.ncp-fit .ncp-fit-ic{flex:none;width:22px;height:22px;margin-top:1px;color:var(--yy-accent)}

/* ── 담긴 것 · 목차(01~03 공개 · 04부터 번호 + 흐린 막대) ── */
.ncp-toc{padding:20px 18px 8px;border:1px solid rgb(var(--yy-accent-rgb) / .14);border-radius:14px;background:rgb(var(--yy-accent-rgb) / .05)}
html[data-theme] .yy .ncp-toc-head{margin:0 0 10px;text-align:center;font:800 20px/1.4 var(--line-sans);color:var(--yy-strong)}
.ncp-toc ol{margin:0;padding:0;list-style:none}
.ncp-toc li{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:baseline;padding:12px 0;border-top:1px solid rgb(255 255 255 / .08)}
.ncp-toc li:first-child{border-top:0}
.ncp-toc li b{font:700 16px/1.4 var(--line-serif);color:var(--yy-accent)}
.ncp-toc li>span{font:600 15px/1.45 var(--line-sans);color:var(--yy-strong)}
.ncp-toc li small{display:block;margin-top:2px;font:400 14px/1.45 var(--line-sans);color:var(--yy-sub)}
.ncp-toc li.is-hid{align-items:center}
.ncp-toc-bar{display:block;width:78%;height:14px;border-radius:999px;background:rgb(var(--yy-accent-rgb) / .34);filter:blur(3px)}

/* ── 숫자 카드 겉모양(청월당: 한지 바탕 · 이중 테두리 바깥 줄 + 6px 안쪽 줄 · 거의 각진 모서리) ── 내 판 카드를 감싼다 */
.ncp-frame{--nc-frame:var(--yy-btn);margin:16px 22px 0;padding:28px 18px 20px;border:1px solid var(--nc-frame);border-radius:3px;outline:1px solid var(--nc-frame);outline-offset:-6px;
  background:#fbf8f2;color:#2b2326;box-shadow:0 3px 12px rgba(0,0,0,.18)}
.ncp-frame.is-memo{--nc-frame:#b8894a}
html[data-theme] .yy.is-nc .ncp-frame .v2-card{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
html[data-theme] .yy.is-nc .ncp-frame :is(h2,h3){color:#2b2326}
html[data-theme] .yy.is-nc .ncp-frame .nc-natal-head p,html[data-theme] .yy.is-nc .ncp-frame .nc-natal-grid>span.nc-col{color:#6f6266}
html[data-theme] .yy.is-nc .ncp-frame .nc-natal-grid>span.nc-col.is-me{color:var(--nc-frame)}
.yy.is-nc .ncp-frame .nc-cell.is-me{box-shadow:inset 0 0 0 2px #2b2326}
.yy.is-nc .ncp-frame .nc-cell.is-unknown{background:#ebe4da;color:#5f5450}
.yy.is-nc .ncp-frame .nc-cell.is-unknown small{color:#5f5450}   /* 11/14 A8: 「모름」 작은 글씨가 흰색 .82 라 베이지 위에서 안 읽히던 것 */

/* ── 가격판(11/13 사장님 교정: 재회 가격판 그대로, line-tight.css .lt-board* 최종 값 · 판 그림 price-board.webp 750×1100) ──
   강조색만 상품 색(--yy-btn). 글 칸 안쪽 9% 8%, 최종가 줄 오른쪽 20% 비움(그림 오른쪽 아래 꽃 자리), 판 안에 버튼 · 시계 없음 */
.ncp.lt-board{--lt-accent:var(--yy-btn);--lt-wood:#2a2421;margin:48px 0 0;padding:0 8px}
.lt-board-frame{position:relative;padding:10px;border-radius:6px;background:var(--lt-wood)}
.lt-board-frame.has-art{aspect-ratio:var(--art-ratio);padding:9% 8%;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat}
/* 11/14 A3(세 갈래 같은 셈, 타이트 T14 그대로): 판 그림을 9칸 자르기(border-image)로. 모서리(격자 · 동백)는 폭 비율 그대로(그림 750 단위 ÷ 판 폭),
   판 높이는 내용에 맞춤 → 430 · 448 빈 종이 없음, 최종 줄은 동백 위에서 끝남. 최종가 금액은 위 줄 금액과 같은 오른쪽 세로선 */
.ncp.lt-board{container-type:inline-size}
.lt-board-frame.has-art{aspect-ratio:auto;padding:9cqw 8cqw 27.5cqw;background:none!important;border:1px solid transparent;
  border-image-source:var(--board-img);border-image-slice:110 220 200 110 fill;border-image-width:14.667cqw 29.333cqw 26.667cqw 14.667cqw;border-image-repeat:stretch}
.lt-board-paper{position:relative;padding:26px 22px;border-radius:2px;color:#1F2937;background:#F3EFE7}
.lt-board-frame.has-art .lt-board-paper{background:transparent;padding:0}
html[data-theme] .yy .lt-board h2{margin:0 0 18px;text-align:center;font:400 27px/1.35 var(--nc-hand);letter-spacing:0;color:#1F2937}
.lt-board-mid{display:flex;align-items:flex-end;gap:6px;padding-bottom:16px;border-bottom:2px dotted #9CA3AF}
.lt-board-list{flex:1;min-width:0;list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lt-board-list li{display:flex;align-items:center;gap:10px;font:500 16px/1.4 var(--line-sans);color:#1F2937;word-break:keep-all}
.lt-board-list .lt-vcheck{flex:none;width:24px;height:24px;color:var(--lt-accent)}
.lt-board-rows{margin:18px 0 0;display:grid;gap:12px}
.lt-board-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:400 17.7px/1.4 var(--line-sans);color:#1F2937}
.lt-board-rows dt,.lt-board-rows dd{margin:0}
.lt-board-rows .is-off{color:var(--lt-accent);font-weight:600}
.lt-board-rows .is-final{margin-top:12px;padding-top:14px;border-top:1px solid #D1D5DB}
.lt-board-rows .is-final dt{font:700 20.8px/1.3 var(--line-sans);color:#1E293B}
.lt-board-rows .is-final dd{font:800 29px/1 var(--line-sans);letter-spacing:-.02em;color:#1E293B}
.lt-board-rows .is-final small{margin-left:1px;font-size:22px;font-weight:800}
.lt-board-rows .is-final dd{white-space:nowrap}
.lt-board-rows .is-final:first-child{margin-top:0;padding-top:0;border-top:0}

@media (prefers-reduced-motion:reduce){
  .ncp,.ncp *{animation:none!important;transition:none!important}
  .ncp.ncp-wait,.ncp-worry-flow.ncp-wait .yy-bubble{opacity:1;translate:none}
}
