/* 브리핑 필름 (WORK-045 FILM). 공정 흐름도(PFD) 문법: 제도 용지 위 잉크 선. 모든 선택자는 .bf- 접두어로 OS와 격리한다.
   무대는 1920×1080 논리 좌표이며 --s 로 축소한다. 위치·크기는 JS가 CSS 변수(--x --y --w --h)로만 넘긴다(CSP: 인라인 style 없음). */
@font-face{font-family:'Pretendard Variable';font-weight:45 920;font-style:normal;font-display:swap;src:local('Pretendard Variable'),local('PretendardVariable'),url('/fonts/PretendardVariable.woff2') format('woff2-variations'),url('/fonts/PretendardVariable.woff2') format('woff2')}

body.bf-open{overflow:hidden}
.bf-layer{
  --bf-paper:#EEF0F3;--bf-sheet:#F8F9FB;--bf-desk:#CDD3DB;
  --bf-ink:#0E1B2E;--bf-ink-2:#2E3B52;--bf-muted:#5D6B85;--bf-faint:#8794AA;
  --bf-cobalt:#2247D1;--bf-amber:#C56A0F;--bf-amber-ink:#8A4A08;--bf-green:#177A47;--bf-red:#BE3A2C;
  position:fixed;inset:0;z-index:80;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  background:var(--bf-desk);color:var(--bf-ink);
  font-family:'Pretendard Variable',Pretendard,-apple-system,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',sans-serif;
  word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;font-feature-settings:'tnum' 1;line-height:1.4
}
.bf-layer *,.bf-layer *::before,.bf-layer *::after{box-sizing:border-box}
.bf-layer button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer}
.bf-layer button:focus-visible{outline:2px solid var(--bf-cobalt);outline-offset:3px}
.bf-layer p{margin:0}

/* ── 책상(무대 바깥) ── */
.bf-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px;min-height:50px}
.bf-who{display:flex;align-items:baseline;gap:12px;min-width:0;white-space:nowrap;overflow:hidden}
.bf-who b{font-size:15px;font-weight:720;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis}
.bf-who span{font-size:13px;color:var(--bf-muted);font-weight:560}
.bf-who .bf-static{border:1px dashed var(--bf-muted);padding:1px 8px;font-size:12px}
.bf-close{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 12px;font-size:14px;font-weight:650;flex:none}
.bf-close:hover{background:rgba(14,27,46,.08)}
.bf-close i{position:relative;width:14px;height:14px}
.bf-close i::before,.bf-close i::after{content:'';position:absolute;left:6px;top:-1px;width:2px;height:16px;background:currentColor;transform:rotate(45deg)}
.bf-close i::after{transform:rotate(-45deg)}
.bf-main{position:relative;min-height:0;display:grid;place-items:center;padding:0 16px}
.bf-fit{position:relative;width:var(--fw);height:var(--fh);overflow:hidden;outline:1px solid rgba(14,27,46,.28)}
.bf-bottom{display:grid;gap:6px;padding:8px 18px 12px}
.bf-capwrap{display:flex;align-items:baseline;gap:12px;min-width:0;min-height:22px}
.bf-cap-t{flex:none;font-size:13px;font-weight:720;color:var(--bf-ink)}
.bf-cap{font-size:15px;line-height:1.5;color:var(--bf-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bf-ctrl{display:flex;align-items:center;gap:14px;min-width:0}
.bf-play{flex:none;width:40px;height:40px;border-radius:50%;background:var(--bf-ink)!important;color:#fff!important;display:grid;place-items:center}
.bf-play svg{width:18px;height:18px}
.bf-play path{fill:currentColor}
.bf-play path.is-stroke{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bf-chapters{flex:1;display:flex;gap:4px;min-width:0}
.bf-seg-b{flex:var(--g) 1 0;min-width:0;display:grid;gap:5px;padding:8px 0 2px;text-align:left}
.bf-seg-bar{display:block;height:4px;background:rgba(14,27,46,.18);overflow:hidden}
.bf-seg-bar i{display:block;height:100%;background:var(--bf-ink);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.bf-seg-t{font-size:12px;color:var(--bf-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:560}
.bf-seg-b.is-cur .bf-seg-t{color:var(--bf-ink);font-weight:760}
.bf-seg-b:hover .bf-seg-bar{background:rgba(14,27,46,.3)}
.bf-clock{flex:none;font-size:13px;color:var(--bf-muted);font-variant-numeric:tabular-nums;min-width:74px;text-align:right}

/* 세로 좁은 화면: 무대를 폭에 맞춰 줄이고, 자막을 읽을 수 있는 크기로 아래에 둔다. */
.bf-layer.is-portrait{grid-template-rows:auto auto 1fr;overflow-y:auto}
.bf-layer.is-portrait .bf-main{place-items:start center;padding-top:4px}
.bf-layer.is-portrait .bf-bottom{align-content:space-between;gap:14px;padding:14px 16px 16px}
.bf-layer.is-portrait .bf-capwrap{display:grid;gap:6px}
.bf-layer.is-portrait .bf-cap-t{font-size:15px}
.bf-layer.is-portrait .bf-cap{font-size:17px;line-height:1.6;-webkit-line-clamp:unset;display:block}
.bf-layer.is-portrait .bf-seg-t,.bf-layer.is-portrait .bf-clock{display:none}
.bf-layer.is-portrait .bf-who span:not(.bf-static){display:none}

/* ── 무대: 제도 용지 ── */
.bf-stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform:scale(var(--s,1));transform-origin:0 0;overflow:hidden;
  background-color:var(--bf-paper);
  background-image:linear-gradient(rgba(14,27,46,.055) 1.5px,transparent 1.5px),linear-gradient(90deg,rgba(14,27,46,.055) 1.5px,transparent 1.5px),linear-gradient(rgba(14,27,46,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(14,27,46,.026) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:36px 36px}
.bf-frame{position:absolute;left:0;top:0;width:1920px;height:1080px;pointer-events:none;z-index:4}
.bf-frame-r{fill:none;stroke:var(--bf-ink);stroke-width:1.5;opacity:.55}
.bf-frame-t{stroke:var(--bf-ink);stroke-width:1.5;opacity:.55}
.bf-tblock{z-index:5;display:grid;grid-template-columns:1fr 132px;border:1.5px solid rgba(14,27,46,.55);background:var(--bf-paper)}
.bf-tb-l{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:0 18px;border-right:1.5px solid rgba(14,27,46,.55);min-width:0}
.bf-tb-l b{font-size:18px;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-tb-l span{font-size:16px;color:var(--bf-muted);font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-tb-r{display:flex;align-items:baseline;justify-content:center;gap:5px;align-self:center}
.bf-tb-r b{font-size:26px;font-weight:720;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bf-tb-r span{font-size:16px;color:var(--bf-muted)}
.bf-scenes,.bf-scene,.bf-group,.bf-layer-pc,.bf-layer-nodes{position:absolute;left:0;top:0;width:1920px;height:1080px}
.bf-scene.is-leaving{pointer-events:none}
.bf-layer-pc,.bf-layer-nodes,.bf-group{pointer-events:none}
.bf-p{position:absolute;left:var(--x,0);top:var(--y,0);width:var(--w,auto);height:var(--h,auto)}
.bf-svg{position:absolute;left:0;top:0;width:1920px;height:1080px;overflow:visible;pointer-events:none}
.bf-svg circle{transform-box:fill-box;transform-origin:center}

/* 선 */
.bf-ln{fill:none;stroke:var(--bf-ink);stroke-width:2.2;stroke-linecap:square;stroke-linejoin:miter}
.bf-ln.is-bus{stroke-width:3.4}
.bf-ln.is-thin{stroke-width:1.6;opacity:.6}
.bf-ln.is-ghost{stroke-dasharray:8 8;opacity:.45}
.bf-ln.is-rule{stroke-width:3}
.bf-ln.is-lead{stroke-width:1.6}
.bf-ln.is-ai{stroke:var(--bf-cobalt);stroke-width:3}
.bf-ln.is-target{stroke:var(--bf-green);stroke-dasharray:12 9;stroke-width:2.4}
.bf-ln.is-curve{stroke:var(--bf-cobalt);stroke-width:5;stroke-linejoin:round;stroke-linecap:round}
.bf-ln.is-route{stroke-width:5}
.bf-gl{fill:none;stroke:var(--bf-ink);stroke-width:3;opacity:.2}
.bf-arrow{fill:var(--bf-ink)}

/* 글자 */
.bf-title{font-size:84px;font-weight:760;letter-spacing:-.042em;line-height:1.1}
.bf-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.bf-mask-in{display:block}
.bf-lead{font-size:30px;font-weight:520;line-height:1.4;color:var(--bf-ink-2);letter-spacing:-.018em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bf-sample{text-align:right}
.bf-sample span{display:inline-block;padding:7px 14px;border:1.5px dashed var(--bf-ink);font-size:20px;font-weight:650;background:var(--bf-paper)}

/* 1 표지 */
.bf-cover-name{display:flex;align-items:flex-end;gap:0;overflow:hidden;font-size:var(--fs);font-weight:820;letter-spacing:-.055em;line-height:1.1;white-space:nowrap}
.bf-ch{display:inline-block}
.bf-virtual{align-self:flex-end;margin:0 0 .5em .5em;font-size:26px;font-weight:680;letter-spacing:0;line-height:1;border:2px solid var(--bf-ink);padding:8px 14px}
.bf-cover-row{display:flex;flex-wrap:wrap;row-gap:8px;font-size:32px;font-weight:560;color:var(--bf-ink-2);letter-spacing:-.015em}
.bf-cover-row span{padding:0 28px;border-left:2px solid rgba(14,27,46,.3)}
.bf-cover-row span:first-child{padding-left:0;border-left:0}
.bf-cover-lead{font-size:54px;font-weight:700;letter-spacing:-.038em;line-height:1.22}

/* 2 들은 말 */
.bf-quote{font-size:var(--fs);font-weight:640;line-height:1.36;letter-spacing:-.032em;transform-origin:0 0}
.bf-qmark{position:absolute;left:-.62em;top:-.1em;font-size:1.35em;font-weight:760;color:var(--bf-faint)}
.bf-w{display:inline-block;position:relative;margin-right:.26em}
.bf-uline{position:absolute;left:0;right:0;bottom:.02em;height:.085em;background:var(--bf-ink);transform-origin:0 50%}
.bf-w.is-join .bf-uline{right:-.26em}
.bf-tape-dot{fill:var(--bf-ink)}
.bf-attr{display:flex;gap:14px;align-items:baseline;font-size:22px;font-weight:560;color:var(--bf-muted);white-space:nowrap}
.bf-attr b{font-size:24px;color:var(--bf-ink);font-weight:720;font-variant-numeric:tabular-nums}
.bf-tape-l,.bf-tape-r{font-size:20px;color:var(--bf-muted);font-weight:560;font-variant-numeric:tabular-nums}
.bf-tape-r{text-align:right}

/* 3 운영 라인 */
.bf-pc{position:absolute;left:0;top:0;width:14px;height:14px;background:var(--bf-ink);will-change:transform,opacity}
.bf-pc-still{transform:translate(var(--tx),var(--ty))}
.bf-pc.is-route{background:var(--bf-cobalt)}
.bf-src{display:grid;place-items:center;padding:0 10px;border:2.2px solid var(--bf-ink);background:var(--bf-paper);font-size:24px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}
.bf-src.is-compact{font-size:22px}
.bf-src.is-ghost{border-style:dashed;color:var(--bf-muted)}
.bf-tank{display:grid;place-items:center;border:2.6px solid var(--bf-ink);border-radius:31px;background:var(--bf-sheet);z-index:2}
.bf-tank.is-ghost{border-style:dashed;border-color:rgba(14,27,46,.5);background:transparent}
.bf-tank-ring{position:absolute;inset:-2.6px;border:3.4px solid var(--bf-amber);border-radius:31px;opacity:0}
.bf-tank.is-hot .bf-tank-ring{opacity:1}
.bf-men{grid-area:1/1;display:flex;align-items:flex-end;gap:3px;color:var(--bf-ink)}
.bf-men.is-amber{color:var(--bf-amber);opacity:0}
.bf-tank.is-hot .bf-men{opacity:0}
.bf-tank.is-hot .bf-men.is-amber{opacity:1}
.bf-tank.is-ghost .bf-men{color:rgba(14,27,46,.4)}
.bf-man{display:block;width:20px;height:24px;fill:currentColor}
.bf-man.is-amber{color:var(--bf-amber)}
.bf-more{font-size:20px;font-weight:760;line-height:24px;margin-left:2px;letter-spacing:-.02em}
.bf-lname{font-size:28px;font-weight:660;letter-spacing:-.026em;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}
.bf-lname.is-compact{font-size:26px}
.bf-lsub{font-size:20px;line-height:26px;color:var(--bf-muted);font-weight:540;white-space:pre;overflow:hidden;text-overflow:ellipsis;z-index:2}
.bf-gauge{border:2.2px solid var(--bf-ink);background:var(--bf-paper);overflow:hidden;z-index:2}
.bf-gauge.is-ghost{border-style:dashed;border-color:rgba(14,27,46,.45);background:transparent;display:grid;place-items:center}
.bf-gauge-q{font-size:17px;line-height:1;color:var(--bf-muted);font-weight:650}
.bf-tick{position:absolute;left:var(--t);bottom:0;width:1.5px;height:7px;background:rgba(135,148,170,.75);z-index:1}
.bf-fill{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--bf-ink);transform-origin:0 50%;transform:scaleX(var(--r,0))}
.bf-fill.is-amber{background:var(--bf-amber);opacity:0}
.bf-gauge.is-hot .bf-fill.is-amber{opacity:1}
.bf-lval{font-size:30px;font-weight:730;letter-spacing:-.022em;line-height:40px;white-space:nowrap;font-variant-numeric:tabular-nums;z-index:2}
.bf-ltag{font-size:18px;line-height:24px;color:var(--bf-muted);font-weight:580;white-space:nowrap;z-index:2}
.bf-lsaved{font-size:22px;line-height:26px;font-weight:760;color:var(--bf-green);white-space:nowrap;z-index:2}
.bf-flag{display:grid;place-items:center;padding-right:18px;background:var(--bf-ink);color:#fff;font-size:23px;font-weight:720;letter-spacing:-.01em;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 50%,calc(100% - 24px) 100%,0 100%);z-index:2}
.bf-halo{border-radius:50%;background:radial-gradient(closest-side,rgba(197,106,15,.34),rgba(197,106,15,0));opacity:0}
.bf-hotnote{font-size:18px;line-height:24px;font-weight:760;color:var(--bf-amber-ink);white-space:nowrap;z-index:2}
.bf-hotnote.is-bar{font-size:22px;line-height:32px}

/* 문장 속 큰 숫자 */
.bf-say{text-align:right;z-index:3}
.bf-say-1{display:flex;justify-content:flex-end;align-items:baseline;gap:14px;line-height:1}
.bf-say-w{font-size:34px;font-weight:660;letter-spacing:-.02em}
.bf-big{font-size:140px;font-weight:720;letter-spacing:-.048em;line-height:.9;font-variant-numeric:tabular-nums}
.bf-big.is-money{font-size:100px}
.bf-big.is-green{color:var(--bf-green)}
.bf-say-u{font-size:48px;font-weight:720;letter-spacing:-.02em}
.bf-say-2{margin-top:16px;font-size:30px;font-weight:560;color:var(--bf-ink-2);letter-spacing:-.018em}
.bf-say-2.is-small{font-size:21px;color:var(--bf-muted);font-weight:540;line-height:1.45;margin-left:auto;max-width:640px}

/* 바닥 주석(근거·출처) */
.bf-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;font-size:20px;line-height:1.4;color:var(--bf-muted);font-weight:550;z-index:3}
.bf-foot b{color:var(--bf-ink);font-weight:720}
.bf-foot.is-qual{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bf-evbar{display:flex;width:220px;height:14px;border:1.5px solid var(--bf-ink);background:var(--bf-paper)}
.bf-evbar i{flex:var(--r) 1 0;min-width:0}
.bf-evbar i+i{border-left:1.5px solid var(--bf-ink)}
.bf-ev{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.bf-ev i{width:14px;height:14px;border:1.5px solid var(--bf-ink)}
.bf-evbar .is-heard,.bf-ev.is-heard i{background:var(--bf-ink)}
.bf-evbar .is-entered,.bf-ev.is-entered i{background:var(--bf-muted)}
.bf-evbar .is-typical,.bf-ev.is-typical i{background:repeating-linear-gradient(135deg,var(--bf-ink) 0 1.5px,transparent 1.5px 5px)}
.bf-evbar .is-missing,.bf-ev.is-missing i{background:var(--bf-paper)}
.bf-rest{white-space:nowrap}

/* 4 시간이 새는 곳 */
.bf-colh{font-size:20px;color:var(--bf-muted);font-weight:620;text-align:right}
.bf-dname{font-size:34px;font-weight:690;letter-spacing:-.026em;line-height:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-dname.is-hot{color:var(--bf-amber-ink)}
.bf-dtrack{background:rgba(14,27,46,.05);border-left:3px solid var(--bf-ink)}
.bf-seg{background:var(--bf-ink);transform-origin:0 0;box-shadow:inset -3px 0 0 var(--bf-paper);z-index:2}
.bf-seg.is-hot{background:var(--bf-amber)}
.bf-seg-tint{position:absolute;inset:0;opacity:0}
.bf-seg.from-hot .bf-seg-tint{background:var(--bf-amber)}
.bf-seg.to-hot .bf-seg-tint{background:var(--bf-ink)}
.bf-dval{font-size:34px;font-weight:730;text-align:right;letter-spacing:-.022em;line-height:52px;font-variant-numeric:tabular-nums}
.bf-dval2{font-size:26px;color:var(--bf-ink-2);text-align:right;font-weight:600;line-height:40px;font-variant-numeric:tabular-nums}

/* 5 먼저 할 일과 하지 않을 일 */
.bf-verb{font-size:60px;font-weight:800;letter-spacing:-.05em;line-height:1.1}
.bf-verb.is-check{color:var(--bf-amber-ink)}
.bf-item{display:flex;flex-direction:column;gap:6px;max-width:1240px}
.bf-item-n{position:relative;display:inline-flex;align-items:center;gap:24px;font-size:38px;font-weight:690;letter-spacing:-.028em;line-height:1.22;width:max-content;max-width:1240px}
.bf-item-d{font-size:24px;color:var(--bf-muted);font-weight:550;line-height:1.35}
.bf-strike{position:absolute;left:-8px;right:-8px;top:50%;height:4px;margin-top:-1px;background:var(--bf-ink);transform-origin:0 50%}
.bf-stamp-s{display:inline-block;flex:none;font-size:24px;font-weight:780;letter-spacing:-.01em;line-height:1.2;color:var(--bf-ink);border:4px double var(--bf-ink);padding:5px 14px;transform:rotate(-5deg)}
.bf-cloud{position:absolute;left:-28px;top:-18px;overflow:visible;pointer-events:none}
.bf-cloud-p{fill:none;stroke:var(--bf-amber);stroke-width:2.2;stroke-linejoin:round;opacity:.9}
.bf-delta{position:absolute;right:-104px;top:-16px;display:flex;align-items:center;gap:6px;font-size:18px;font-weight:780;color:var(--bf-amber-ink)}
.bf-delta::before{content:'';width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:19px solid var(--bf-amber)}
.bf-more-n{font-size:22px;color:var(--bf-muted);font-weight:620}
.bf-statement{font-size:42px;font-weight:740;letter-spacing:-.035em;line-height:1.25}

/* 6 1단계 */
.bf-node{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 22px;z-index:2;overflow:hidden}
.bf-node.is-ai{background:var(--bf-cobalt);color:#fff}
.bf-node.is-human{background:var(--bf-paper);border:3.4px solid var(--bf-amber)}
.bf-node.is-out{background:var(--bf-paper);border:2.6px solid var(--bf-ink)}
.bf-node-k{font-size:18px;font-weight:720;letter-spacing:-.005em;opacity:.82}
.bf-node.is-human .bf-node-k{color:var(--bf-amber-ink);opacity:1}
.bf-node.is-out .bf-node-k{color:var(--bf-muted);opacity:1}
.bf-node-t{font-size:30px;font-weight:720;line-height:1.26;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bf-node.is-human .bf-node-t{font-size:24px;font-weight:620;line-height:1.35}
.bf-node.is-out .bf-node-t{font-size:22px;font-weight:620;line-height:1.35}
.bf-fig{display:flex;flex-direction:column;gap:14px;z-index:3}
.bf-fig-k{font-size:24px;font-weight:660;color:var(--bf-ink-2);letter-spacing:-.015em}
.bf-fig-v{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.bf-fig-u{font-size:44px;font-weight:720;letter-spacing:-.02em}
.bf-fig .bf-big{font-size:118px}
.bf-fig-b{font-size:20px;color:var(--bf-muted);font-weight:550}
.bf-mid{font-size:64px;font-weight:730;letter-spacing:-.038em;line-height:1.05;white-space:nowrap;font-variant-numeric:tabular-nums}
.bf-mid.is-green{color:var(--bf-green)}
.bf-stamp{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 18px 20px;border:6px double currentColor;color:var(--bf-ink);text-align:center;transform:rotate(-7deg);z-index:3}
.bf-stamp.is-go{color:var(--bf-green)}
.bf-stamp.is-small{color:var(--bf-amber)}
.bf-stamp.is-hold{color:var(--bf-red)}
.bf-stamp-k{font-size:20px;font-weight:720;letter-spacing:.32em;padding-left:.32em}
.bf-stamp-t{font-size:40px;font-weight:840;letter-spacing:-.035em;line-height:1.12}
.bf-stamp-p{position:absolute;right:-20px;top:-22px;background:var(--bf-paper);border:3px solid currentColor;font-size:22px;font-weight:820;padding:3px 12px}
.bf-stamp-ring{position:absolute;inset:-16px;border:3px solid currentColor;opacity:0}
.bf-vtext{font-size:23px;line-height:1.45;font-weight:560;color:var(--bf-ink-2);z-index:3}
.bf-foot.is-cost{gap:6px 14px}
.bf-cost-v{font-size:30px;font-weight:730;color:var(--bf-ink);letter-spacing:-.02em}
.bf-cost-b{margin-right:26px}

/* 7 2030 */
.bf-roster{display:flex;flex-wrap:wrap;align-items:center;gap:10px;z-index:3}
.bf-roster b{font-size:22px;font-weight:760;color:var(--bf-cobalt);margin-right:6px}
.bf-role{font-size:19px;font-weight:660;color:#fff;background:var(--bf-cobalt);padding:6px 12px;white-space:nowrap}
.bf-ai{display:grid;place-items:center;background:var(--bf-cobalt);color:#fff;font-size:17px;font-weight:820;letter-spacing:.02em;outline:3px solid var(--bf-paper);z-index:4}
.bf-gate{border:3px solid var(--bf-amber);background:var(--bf-paper);transform:rotate(45deg);z-index:3}
.bf-gateman{z-index:4;color:var(--bf-amber)}
.bf-gateman .bf-man{width:18px;height:22px}
.bf-eff{display:flex;flex-direction:column;gap:20px;z-index:3}
.bf-eff-v{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.bf-huge{font-size:210px;font-weight:760;letter-spacing:-.055em;line-height:.88;font-variant-numeric:tabular-nums}
.bf-huge-u{font-size:84px;font-weight:720}
.bf-eff-d{font-size:26px;color:var(--bf-ink-2);line-height:1.42;font-weight:540;max-width:700px}
.bf-eff-s{font-size:24px;font-weight:680}
.bf-axis{font-size:20px;color:var(--bf-muted);text-align:right;font-weight:620;white-space:nowrap}
.bf-axis.is-target{color:var(--bf-green);font-weight:720}
.bf-rdot{fill:var(--bf-paper);stroke:var(--bf-cobalt);stroke-width:4}
.bf-rdot.is-hit{fill:var(--bf-green);stroke:var(--bf-green)}
.bf-rval{font-size:24px;font-weight:760;text-align:center;color:var(--bf-cobalt);font-variant-numeric:tabular-nums}
.bf-rval.is-hit{color:var(--bf-green)}
.bf-rlab{font-size:18px;color:var(--bf-muted);text-align:center;font-weight:620;white-space:nowrap}

/* 8 월요일 아침 */
.bf-hour{font-size:20px;color:var(--bf-muted);text-align:right;font-weight:620;font-variant-numeric:tabular-nums}
.bf-now{background:var(--bf-cobalt)}
.bf-ndot{fill:var(--bf-cobalt)}
.bf-nlog{display:flex;flex-direction:column;gap:3px}
.bf-nlog-h{display:flex;align-items:baseline;gap:12px;font-size:20px;white-space:nowrap}
.bf-nlog-h b{font-size:22px;font-weight:760;font-variant-numeric:tabular-nums}
.bf-nlog-h span{color:var(--bf-cobalt);font-weight:680}
.bf-nlog-x{font-size:25px;font-weight:560;line-height:1.36;letter-spacing:-.018em}
.bf-qhead{display:flex;align-items:baseline;gap:14px}
.bf-qhead b{font-size:34px;font-weight:770;letter-spacing:-.03em}
.bf-qhead-n{font-size:34px;font-weight:770;color:var(--bf-amber);font-variant-numeric:tabular-nums}
.bf-appr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:18px 20px 18px 30px;border:2.2px solid var(--bf-ink);background:var(--bf-paper);pointer-events:auto}
.bf-appr::before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--bf-amber)}
.bf-appr.is-ok::before{background:var(--bf-green)}
.bf-appr-b{display:flex;flex-direction:column;gap:6px;min-width:0}
.bf-appr-t{font-size:26px;font-weight:720;line-height:1.3;letter-spacing:-.022em}
.bf-appr-r{font-size:20px;font-weight:640;color:var(--bf-amber-ink)}
.bf-appr-m{display:flex;flex-wrap:wrap;gap:2px 18px;font-size:19px;color:var(--bf-muted);font-weight:560}
.bf-appr-m .is-ai{color:var(--bf-cobalt);font-weight:640}
.bf-appr-s{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px}
.bf-appr-who{font-size:19px;font-weight:660;color:var(--bf-muted);white-space:nowrap}
.bf-layer .bf-appr-btn{font-size:22px;font-weight:760;padding:10px 24px;border:2.2px solid var(--bf-amber);color:var(--bf-amber-ink);background:var(--bf-paper);white-space:nowrap}
.bf-layer .bf-appr.is-ok .bf-appr-btn{background:var(--bf-green);border-color:var(--bf-green);color:#fff}

/* 9 가는 길 */
.bf-stop{fill:var(--bf-paper);stroke:var(--bf-ink);stroke-width:4.4}
.bf-stop.is-first{fill:var(--bf-ink)}
.bf-stop-n{display:flex;align-items:flex-end;justify-content:center;text-align:center;font-size:38px;font-weight:740;letter-spacing:-.032em;line-height:1.18}
.bf-stop-i{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.bf-stop-w{font-size:24px;color:var(--bf-muted);font-weight:620;font-variant-numeric:tabular-nums}
.bf-stop-p{font-size:42px;font-weight:740;letter-spacing:-.034em;font-variant-numeric:tabular-nums}
.bf-mid.is-ink{color:var(--bf-ink);font-size:96px}
.bf-final{font-size:62px;font-weight:790;letter-spacing:-.045em;line-height:1.2}
.bf-final-u{display:block;height:6px;width:520px;margin-top:16px;background:var(--bf-ink);transform-origin:0 50%}

/* 2차 다듬기 */
.bf-dsub{display:flex;gap:16px;align-items:baseline;font-size:20px;line-height:1.3;color:var(--bf-muted);font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bf-dsub b{flex:none;color:var(--bf-amber-ink);font-weight:760}
.bf-dsub span{overflow:hidden;text-overflow:ellipsis}
.bf-group-i{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:1240px}
.bf-item-empty{font-size:28px;font-weight:560;color:var(--bf-muted);line-height:1.4;padding-top:14px}
.bf-verb.is-empty{color:var(--bf-faint)}
.bf-gatelab{font-size:20px;font-weight:760;color:var(--bf-amber-ink);text-align:center;z-index:4}
.bf-lsub.is-hidden,.bf-ltag.is-hidden{display:none}
.bf-fig .bf-big{font-size:var(--fz,118px)}
.bf-mid{font-size:var(--fz,64px)}
.bf-plan-wait{font-size:34px;font-weight:650;letter-spacing:-.025em;line-height:1.35}
.bf-vtext{font-size:26px;font-weight:600;color:var(--bf-ink)}
.is-dense .bf-verb{font-size:52px}
.is-dense .bf-item-n{font-size:32px}
.is-dense .bf-item-d{font-size:21px}
.is-dense .bf-group-i{gap:10px}
.is-dense .bf-item-empty{font-size:24px;padding-top:10px}
.is-dense .bf-stamp-s{font-size:21px}
.bf-cap-fig{display:none}
.bf-layer.is-portrait .bf-cap-fig:not([hidden]){display:grid;gap:2px;padding:10px 0 6px;border-top:1.5px solid var(--bf-ink)}
.bf-layer.is-portrait .bf-cap-fig b{font-size:34px;font-weight:780;letter-spacing:-.035em;line-height:1.15;font-variant-numeric:tabular-nums}
.bf-layer.is-portrait .bf-cap-fig span{font-size:13px;color:var(--bf-muted);font-weight:600}
