@import url("/analysis/parse-view.css");

.v3 *{box-sizing:border-box}
@page{size:A4;margin:16mm 15mm}
.v3{margin:0;background:#fff;color:#1c1a17;font-family:"Pretendard","Apple SD Gothic Neo",sans-serif;line-height:1.42}
.v3 .book{max-width:790px;margin:0 auto;padding:6px 2px 40px}
.v3{--accent:#8b2635;--accent-soft:#f4e8e6;--line:#e7dfd0;--line2:#d3c9b4;--card:#fcf9f3;--ink2:#4a463f;--mute:#8f887a;--ok:#2f6b47;--no:#b23030;--en:Georgia,"Times New Roman","Apple SD Gothic Neo",serif}
.v3 .runhead{display:flex;justify-content:space-between;border-bottom:1px solid var(--line2);padding-bottom:9px;margin-bottom:20px;font-size:11.5px;color:var(--mute)}
.v3 .runhead .pub{font-weight:600;color:var(--ink2)}
.v3 h1.lesson{font-family:var(--en);font-weight:700;font-size:24px;line-height:1.14;margin:0 0 5px}
.v3 .lesson-ko{font-size:13px;color:var(--ink2);margin:0 0 3px}
.v3 .lesson-meta{font-size:11.5px;color:var(--mute);margin-bottom:6px}
.v3 .flow{margin:13px 0 4px;padding:11px 14px;background:var(--card);border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink2)}
.v3 .flow-lab{font-size:10.5px;color:var(--accent);font-weight:700;margin-right:8px}
.v3 .flow-arr{color:#a8845a;font-weight:700;margin:0 6px}
.v3 .legend{margin:9px 0 0;font-size:10.5px}
.v3 .legend span{margin-right:14px;font-weight:700}
.v3 .chapter{margin:8px 0 10px}
.v3 .chapter.brk{page-break-before:always;margin-top:0}
.v3 .chapter-no{display:flex;align-items:center;gap:9px;font-family:var(--en);font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.v3 .chapter-no .lab{flex:0 0 auto}
.v3 .chapter-no .ln{height:0;border-top:1px solid #cbb0b3}
.v3 .chapter-no .ln.pre{flex:0 0 22px}
.v3 .chapter-no .ln.grow{flex:1 1 auto}
.v3 .chapter-t{font-size:15px;font-weight:700;margin:4px 0 2px}
.v3 .chapter-role{font-size:11px;color:var(--mute);line-height:1.5}

.v3 .s{margin:0;padding:9px 0 3px;border-top:1px solid var(--line);page-break-inside:avoid}
.v3 .chapter + .s{border-top:none}
.v3 .s.topic{border-left:3px solid var(--accent);padding-left:12px}
.v3 .s-head{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.v3 .s-no{font-family:var(--en);font-size:12px;color:var(--accent);font-weight:700}
.v3 .s-topic-badge{font-size:9px;font-weight:700;color:#fff;background:var(--accent);padding:1px 6px;border-radius:3px}
.v3 .s-formula{font-size:9.5px;color:var(--mute);margin-left:auto;font-family:var(--en)}
.v3 .s-formula b{color:var(--ink2)}
.v3 .s-type{font-size:9.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:3px}

/* SVOC 문장: 각 성분 = [텍스트 / 기호] 세로 스택 (flow, 절대 안 겹침) */
.v3 .svoc{font-family:var(--en);font-size:15px;line-height:1.4;margin:1px 0}
.v3 .u{display:inline-block;vertical-align:top;text-align:left;margin:0 5px 6px 0}
.v3 .u > .t{display:block;border-bottom:1.5px solid;padding-bottom:1px;white-space:nowrap}
.v3 .u.r-S > .t{border-color:#2563a8}.v3 .u.r-V > .t{border-color:#b23030}
.v3 .u.r-O > .t{border-color:#2f8659}.v3 .u.r-C > .t{border-color:#9a6a1a}
.v3 .u.r-M > .t{border-bottom:1.5px dotted #cfc5b0}
.v3 .u > .g{display:block;font-family:var(--en);font-size:9px;font-weight:700;font-style:italic;line-height:1.3;margin-top:2px;min-height:12px}
.v3 .u.r-S > .g{color:#2563a8}.v3 .u.r-V > .g{color:#b23030}.v3 .u.r-O > .g{color:#2f8659}.v3 .u.r-C > .g{color:#9a6a1a}.v3 .u.r-M > .g{color:#a89a80}
/* 성분 미부여 단어(유도부사 There, 등위접속사 등): 밑줄·태그 없이 원문 자리 유지 */
.v3 .u.r-IO > .t,.v3 .u.r-DO > .t{border-color:#2f8659}.v3 .u.r-SC > .t,.v3 .u.r-OC > .t{border-color:#9a6a1a}
.v3 .u.r-aux > .t{border-bottom:1.5px dashed #d48a8a}.v3 .u.r-conj > .t,.v3 .u.r-prt > .t{border-bottom:1.5px dotted #cfc5b0}
.v3 .u.r-wh > .t{border-color:#8b2635}.v3 .u.r-rel > .t{border-bottom:1.5px dotted #a8845a}.v3 .u.r-rel > .g{color:#a8845a}.v3 .u.r-Sreal > .t,.v3 .u.r-Sga > .t{border-color:#2563a8}.v3 .u.r-Simp > .t{border-bottom:none;color:#8f887a;font-style:italic}
.v3 .u.r-IO > .g,.v3 .u.r-DO > .g{color:#2f8659}.v3 .u.r-SC > .g,.v3 .u.r-OC > .g{color:#9a6a1a}.v3 .u.r-aux > .g{color:#d48a8a}
.v3 .u.r-conj > .g,.v3 .u.r-prt > .g{color:#a89a80}.v3 .u.r-wh > .g{color:#8b2635}.v3 .u.r-Sreal > .g,.v3 .u.r-Sga > .g,.v3 .u.r-Simp > .g{color:#2563a8}
.v3 .u.r-x > .t{border-bottom:none}.v3 .u.r-x > .g{min-height:12px}
/* 전치사구/부사구: (텍스트) 한 줄에 괄호 밀착 + 라벨 아래 */
.v3 .pp{display:inline-block;vertical-align:top;text-align:left;margin:0 5px 6px 0}
.v3 .pp .t{display:block;font-family:var(--en)}
.v3 .pp .lab{display:block;font-family:"Pretendard","Apple SD Gothic Neo",sans-serif;font-size:8.5px;color:#a89a80;line-height:1.3;margin-top:2px;font-style:italic}
.v3 .pp .paren{color:#b0a48a;font-family:var(--en);font-weight:600}
/* 세그먼트: 주절/종속절 라벨을 세그먼트 바로 위에 배치. 박스·배경 없음 */
.v3 .seg{display:inline-block;vertical-align:top;text-align:left;margin:0 6px 6px 0}
.v3 .seg-lab{display:block;font-family:"Pretendard","Apple SD Gothic Neo",sans-serif;font-size:9px;font-weight:700;line-height:1.3;margin-bottom:3px;letter-spacing:.02em}
.v3 .seg-lab.main{color:var(--accent)}
.v3 .seg-lab.sub{color:#8b6a2a}
.v3 .seg-row{display:block}
/* 절 대괄호 + 내부 성분(S'/V'/O'/C')은 본문과 동일 레벨(15px) 첨자 */
.v3 .seg .br{color:#a8845a;font-weight:700;font-family:var(--en);font-size:15px;vertical-align:top}
.v3 .seg .cu{display:inline-block;vertical-align:top;text-align:left;margin:0 5px 0 0}
.v3 .seg .cu > .t{display:block;border-bottom:1.5px solid;padding-bottom:1px;white-space:nowrap;font-family:var(--en);font-size:15px}
.v3 .seg .cu.r-S > .t{border-color:#2563a8}.v3 .seg .cu.r-V > .t{border-color:#b23030}
.v3 .seg .cu.r-O > .t{border-color:#2f8659}.v3 .seg .cu.r-C > .t{border-color:#9a6a1a}
.v3 .seg .cu.r-M > .t{border-bottom:1.5px dotted #cfc5b0}
.v3 .seg .cu.r-IO > .t,.v3 .seg .cu.r-DO > .t{border-color:#2f8659}.v3 .seg .cu.r-SC > .t,.v3 .seg .cu.r-OC > .t{border-color:#9a6a1a}.v3 .seg .cu.r-aux > .t{border-bottom:1.5px dashed #d48a8a}.v3 .seg .cu.r-conj > .t,.v3 .seg .cu.r-prt > .t{border-bottom:1.5px dotted #cfc5b0}.v3 .seg .cu.r-wh > .t{border-color:#8b2635}.v3 .seg .cu.r-Sreal > .t,.v3 .seg .cu.r-Sga > .t{border-color:#2563a8}.v3 .seg .cu.r-Simp > .t{border-bottom:none;font-style:italic}
.v3 .seg .cu.r-IO > .g,.v3 .seg .cu.r-DO > .g{color:#2f8659}.v3 .seg .cu.r-SC > .g,.v3 .seg .cu.r-OC > .g{color:#9a6a1a}.v3 .seg .cu.r-aux > .g{color:#d48a8a}.v3 .seg .cu.r-conj > .g,.v3 .seg .cu.r-prt > .g{color:#a89a80}.v3 .seg .cu.r-wh > .g{color:#8b2635}.v3 .seg .cu.r-Sreal > .g,.v3 .seg .cu.r-Sga > .g,.v3 .seg .cu.r-Simp > .g{color:#2563a8}
.v3 .seg .cu.r-x > .t{border-bottom:none}
.v3 .seg .cu > .g{display:block;font-family:var(--en);font-size:9px;font-weight:700;font-style:italic;line-height:1.3;margin-top:2px;min-height:12px}
.v3 .seg .cu.r-S > .g{color:#2563a8}.v3 .seg .cu.r-V > .g{color:#b23030}.v3 .seg .cu.r-O > .g{color:#2f8659}.v3 .seg .cu.r-C > .g{color:#9a6a1a}.v3 .seg .cu.r-M > .g{color:#a89a80}

.v3 .ko{font-size:12px;color:var(--ink2);margin-top:8px;padding-top:6px;border-top:1px dashed var(--line)}
.v3 .ko-lab{font-size:9.5px;color:#fff;background:var(--mute);padding:1px 6px;border-radius:3px;margin-right:7px;vertical-align:1px}

/* 어법 — 정렬 표 */
.v3 .gram{margin-top:7px;border:1px solid var(--accent);border-radius:7px;overflow:hidden}
.v3 .gram-h{background:var(--accent);color:#fff;font-size:9.5px;font-weight:700;padding:5px 12px}
.v3 .gram-h .gram-tgt{font-weight:400;font-family:var(--en);opacity:.85;margin-left:8px;font-size:9px}
.v3 .gram-row{display:flex;align-items:center;padding:6px 12px;font-size:9.5px;border-top:1px solid var(--accent-soft)}
.v3 .gram-row .mk{flex-shrink:0;width:40px;font-size:9px;font-weight:700;padding:1px 0;text-align:center;border-radius:3px;margin-right:10px}
.v3 .gram-row.o .mk{background:#e3f0e8;color:var(--ok)}.v3 .gram-row.x .mk{background:#f5e2e2;color:var(--no)}
.v3 .gram-row .frm{font-family:var(--en);font-weight:600;color:#1c1a17;flex-shrink:0;min-width:145px;margin-right:12px}
.v3 .gram-row .rsn{color:var(--ink2);line-height:1.5}

/* 어휘 — 격자 */
.v3 .vocab{margin-top:7px;display:grid;grid-template-columns:1fr 1fr;gap:3px 22px}
.v3 .vitem{font-size:10.5px;line-height:1.45;padding-left:9px;border-left:2px solid var(--line2)}
.v3 .vitem .w{font-family:var(--en);font-weight:600;color:#1c1a17}
.v3 .vitem .m{color:var(--ink2)}
.v3 .vitem .syn{display:block;color:var(--mute);font-family:var(--en);font-size:9.5px;margin-top:1px}
.v3 .vitem .ant{display:block;color:#a06a6a;font-family:var(--en);font-size:9.5px;margin-top:1px}

.v3 .keyexp{margin-top:6px;font-size:10.5px;color:var(--ink2);padding:5px 11px;background:#fbf6f0;border-radius:6px}
.v3 .keyexp .kt{font-size:9.5px;font-weight:700;color:var(--accent);margin-right:7px}
.v3 .keyexp b{font-family:var(--en);color:var(--accent)}

.v3 .foot{margin-top:30px;padding-top:12px;border-top:1px solid var(--line2);font-size:11px;color:var(--mute);display:flex;justify-content:space-between}

/* ---- parse-pilot V3 overrides (SVOC CSS above untouched): 3 columns aligned per sentence row ---- */
.v3{font-family:"Pretendard","Apple SD Gothic Neo",sans-serif}
.v3 .book{max-width:1400px;padding:6px 18px 60px}
.v3 .topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line2);padding-bottom:10px;margin-bottom:12px;position:sticky;top:0;background:#fff;z-index:5;padding-top:8px}
.v3 .topbar h1{font-size:20px;margin:0 0 7px;font-weight:700}
.v3 .draftbadge{font-size:10px;color:var(--mute);border:1px solid var(--line2);border-radius:9px;padding:1px 8px;white-space:nowrap}
.v3 .tg{display:flex;flex-wrap:wrap;gap:6px}
.v3 .tg label{font-size:12px;border:1px solid var(--line2);border-radius:14px;padding:3px 11px;cursor:pointer;user-select:none;color:var(--ink2);background:#fff}
.v3 .tg label.on{background:var(--accent);border-color:var(--accent);color:#fff}
.v3 .pk{margin:14px 0 4px;padding:7px 12px;background:var(--card);border:1px solid var(--line);border-radius:8px}
.v3 .pk .pk-t{font-family:var(--en);font-weight:700;font-size:15px}.v3 .pk .st{font-size:10px;color:var(--mute);margin-left:6px}
.v3 .row{display:grid;grid-template-columns:250px minmax(0,1fr) 330px;grid-template-areas:"sec mc rc" "gp mc rc";column-gap:18px;border-top:1px solid var(--line);align-items:start}
.v3 .sec{grid-area:sec;padding:10px 12px 0 0;font-size:12px}
.v3 .sec .sec-no{font-size:10px;color:var(--accent);font-weight:700}.v3 .sec .sec-t{font-weight:700;font-size:12.5px;line-height:1.35;color:#1c1a17}
.v3 .gp{grid-area:gp;padding:16px 12px 8px 0;font-size:11.5px;line-height:1.5;color:var(--ink2);border-right:1.5px solid var(--line2);align-self:stretch}
.v3 .gp ul{margin:0;padding:0;list-style:none}.v3 .gp li{margin:0 0 5px}.v3 .gp li .a{font-family:var(--en);font-weight:700;color:#1c1a17}.v3 .gp li .m{color:var(--ink2)}
.v3 .sec{border-right:1.5px solid var(--line2);align-self:stretch}
.v3 .mc{grid-area:mc;min-width:0;padding:8px 0 6px}
.v3 .rc{grid-area:rc}
.v3 .kc{grid-area:kc;padding:26px 0 0 0;text-align:right;font-size:12.5px;line-height:1.55;color:#2b2824}
.v3 .kc.none{color:var(--mute);font-style:italic;font-size:11px}
.v3 .vc{grid-area:vc;padding:6px 0 8px;text-align:right;font-size:11.5px;line-height:1.55;color:var(--ink2)}
.v3 .vc div{margin:0 0 1px}.v3 .vc b{font-family:var(--en);color:#1c1a17}
.v3 .sno{font-family:var(--en);font-size:12px;color:var(--accent);font-weight:700;margin-bottom:3px}
.v3 .svoc{font-size:16px;line-height:1.35}
.v3 .u,.v3 .seg,.v3 .cu{vertical-align:top}
.v3 .u .sl,.v3 .cu .sl{display:block;height:13px}
.v3 .seg > .seg-row{display:block;margin-top:-13px}
.v3 .seg-lab{height:13px;line-height:13px;margin-bottom:0 !important;white-space:nowrap}
.v3 .u > .g,.v3 .cu > .g{max-width:0;overflow:visible;white-space:nowrap}
.v3 .u,.v3 .cu{margin-right:5px}
.v3 .tight{margin-right:0 !important}
.v3 .nw{white-space:nowrap;display:inline}
.v3 .nw > :not(:last-child){margin-right:0 !important}
.v3 .tpb{display:inline-block;padding-top:13px;vertical-align:top;line-height:1.35}
.v3 .seg .br{display:inline-block;padding-top:13px;vertical-align:top;line-height:1.35}
.v3 .pn > .t{border-bottom:none !important}
.v3 .u.nou > .t,.v3 .seg .cu.nou > .t{border-bottom-color:transparent !important}
.v3.noparse .u > .t,.v3.noparse .cu > .t{border-bottom-color:transparent !important}
.v3.noparse .g,.v3.noparse .seg-lab,.v3.noparse .br,.v3.noparse .r-Simp{visibility:hidden}
.v3.noparse .seg.ul-S .seg-row,.v3.noparse .seg.ul-V .seg-row{border-bottom-color:transparent}
.v3 .seg.ul-S .seg-row{border-bottom:1.5px solid #2563a8}.v3 .seg.ul-V .seg-row{border-bottom:1.5px solid #b23030}.v3 .seg.ul-Sga .seg-row,.v3 .seg.ul-Sreal .seg-row{border-bottom:1.5px solid #2563a8}
/* toggles hide content but keep the box, so the English column never changes width or wrapping */
.v3.nogp .gp ul{visibility:hidden}
.v3.novoc .vc div{visibility:hidden}
.v3.noko .kc{visibility:hidden}
.v3 .summary{margin:8px 0 12px;padding:8px 12px;border-top:2px solid var(--accent);font-size:12px}
.v3 .summary .sum-lab{font-size:10.5px;color:var(--accent);font-weight:700;margin-right:6px}
@media (max-width:1100px){.v3 .row{grid-template-columns:200px minmax(0,1fr) 250px}}
@media (max-width:700px){.v3,.v3{overflow-x:hidden}
 .v3 .u > .t,.v3 .cu > .t,.v3 .seg .cu > .t{white-space:normal}.v3 .seg .cu{max-width:100%}.v3 .u,.v3 .cu,.v3 .seg,.v3 .seg-row{max-width:100%}.v3 .seg-row{white-space:normal}
 .v3 .row{grid-template-columns:minmax(0,1fr);grid-template-areas:"sec" "mc" "kc" "gp" "vc"}.v3 .rc{display:contents}
 .v3 .sec{border-right:0;padding:8px 0 0}.v3 .gp{border-right:0;padding:2px 0 4px}.v3 .kc{padding:0 0 4px}.v3 .vc{text-align:left;padding:0 0 8px}
 .v3 .svoc{font-size:15px}.v3 .book{padding:4px 10px 40px}.v3 .topbar h1{font-size:16px}}

/* Independent reading sizes; default multipliers preserve the original typesetting. */
.v3 .v3-size-controls{display:grid;grid-template-columns:250px minmax(0,1fr) 330px;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.v3 .v3-size-control{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:12px/1.4 Pretendard,sans-serif;min-width:0}
.v3 .v3-size-control > span{margin-right:auto;font-weight:600}
.v3 .v3-size-control button{min-width:36px;min-height:36px;padding:4px 8px;cursor:pointer}
.v3 .v3-size-control output{min-width:32px;text-align:center;font-variant-numeric:tabular-nums}
.v3 .v3-size-control button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media screen{
 .v3 .sec{font-size:calc(12px * var(--v3-left-scale,1))}
 .v3 .sec .sec-no{font-size:calc(10px * var(--v3-left-scale,1))}
 .v3 .sec .sec-t{font-size:calc(12.5px * var(--v3-left-scale,1))}
 .v3 .gp{font-size:calc(11.5px * var(--v3-left-scale,1))}
 .v3 .svoc{font-size:calc(16px * var(--v3-middle-scale,1))}
 .v3 .seg .br,.v3 .seg .cu > .t{font-size:calc(15px * var(--v3-middle-scale,1))}
 .v3 .sno{font-size:calc(12px * var(--v3-middle-scale,1))}
 .v3 .u > .g,.v3 .seg .cu > .g,.v3 .seg-lab{font-size:calc(9px * var(--v3-middle-scale,1))}
 .v3 .u .sl,.v3 .cu .sl,.v3 .seg-lab{height:calc(13px * var(--v3-middle-scale,1))}
 .v3 .seg-lab{line-height:calc(13px * var(--v3-middle-scale,1))}
 .v3 .seg > .seg-row{margin-top:calc(-13px * var(--v3-middle-scale,1))}
 .v3 .tpb,.v3 .seg .br{padding-top:calc(13px * var(--v3-middle-scale,1))}
 .v3 .kc{font-size:calc(12.5px * var(--v3-right-scale,1))}
 .v3 .kc.none{font-size:calc(11px * var(--v3-right-scale,1))}
 .v3 .vc{font-size:calc(11.5px * var(--v3-right-scale,1))}
 .v3 :is(.sec,.gp,.kc,.vc){overflow-wrap:anywhere}
 .v3 .u,.v3 .cu,.v3 .seg,.v3 .seg-row{max-width:100%}
 .v3 .u > .t,.v3 .seg .cu > .t{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:1100px){.v3 .v3-size-controls{grid-template-columns:200px minmax(0,1fr) 250px}}
@media(max-width:700px){
 .v3 .v3-size-controls{grid-template-columns:1fr;gap:8px}
}
@media screen and (max-width:700px){.v3 .svoc{font-size:calc(15px * var(--v3-middle-scale,1))}}
@media print{.v3 .v3-size-controls,.v3 .topbar{display:none!important}}

/* Grade-only M3 frequency: compact lapis dots beside the sentence number. */
.v3 .m3-frequency{display:inline-block;margin-inline-start:7px;color:#286b91;font-size:9px;letter-spacing:2px;vertical-align:middle;white-space:nowrap}
.v3 .m3-frequency-legend{margin:8px 0 14px;color:#286b91;font-size:12px;line-height:1.6}
