/* 図の部品の見た目（G1_IMPL §5）。色・線は画面の CSS 変数（app.css の :root）だけを使う。 */
.zufig{margin:18px 0}
.zutitle{margin:0 0 8px;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--soft)}
.fgfig{margin:0;padding:10px;border:1px solid var(--accd);min-width:0;overflow:hidden}
.fgfig .fg-svg{display:block;width:100%;height:auto;max-width:100%}
.fgstat{margin:0;font-size:.82rem;color:var(--soft)}
.zufig details.zucard{margin:8px 0 0}

/* 共通 */
.fg-t,.fg-name{fill:var(--ink);font-family:var(--sans)}
.fg-name{font-size:14px;font-weight:500}
.fg-code{fill:var(--accl);font-family:var(--mono);font-size:13px;font-weight:500}
.fg-note{fill:var(--ink);font-size:13px}
.fg-gloss{fill:var(--soft);font-size:13px}
.fg-head{fill:var(--soft);font-size:13px;letter-spacing:.06em}
.fg-sub{fill:var(--soft);font-size:12px}
.fg-mono{fill:var(--soft);font-family:var(--mono);font-size:12px}
.fg-k{fill:var(--soft);font-family:var(--mono);font-size:12px}
.fg-v{fill:var(--ink);font-family:var(--mono);font-size:13px}
.fg-tag{fill:var(--accl);font-family:var(--mono);font-size:13px}
.fg-cap{fill:var(--ink);font-size:12px}
.fg-ok{fill:var(--soft);font-size:13px}
.fg-gap{fill:var(--amber);font-size:14px;font-weight:500}
.fg-num{fill:var(--ink);font-family:var(--mono);font-size:15px}
.fg-num2{fill:var(--ink);font-family:var(--mono);font-size:13px}
.fg-lane-t{fill:var(--ink);font-family:var(--mono);font-size:13px}
.fg-x{fill:var(--amber);font-size:20px;font-weight:700}
.fg-box{fill:var(--hair2);stroke:var(--accd);stroke-width:1.5}
.fg-line{stroke:var(--soft);stroke-width:2;fill:none}
.fg-dim{opacity:.5}
.fg-hi .fg-box{stroke:var(--accl);stroke-width:2.5}
.fg-hi .fg-name{fill:var(--accl)}

/* OSI */
.fg-row{fill:var(--hair2);stroke:var(--accd);stroke-width:1}
.fg-mark-stop .fg-row{stroke:var(--accl);stroke-width:2.5;fill:var(--acc);fill-opacity:.18}
.fg-mark-sym .fg-row{stroke:var(--amber);stroke-width:1.5}
.fg-mark-wait .fg-row{stroke-dasharray:4 3}
.fg-pill rect{fill:none;stroke:var(--soft);stroke-width:1}
.fg-pill-stop rect{fill:var(--acc);fill-opacity:.35;stroke:var(--accl);stroke-width:1.5}
.fg-pill-sym rect{stroke:var(--amber)}
.fg-pill-t{fill:var(--ink);font-size:12px}
.fg-pill-stop .fg-pill-t{font-weight:500}
.fg-arrow line{stroke:var(--accl);stroke-width:2.5}
.fg-arrow polygon{fill:var(--accl)}

/* 配線 */
line.fg-cut,circle.fg-cut{stroke:var(--amber);stroke-width:3}
circle.fg-cut,.fg-end.fg-cut{fill:none}
g.fg-cut .fg-line{stroke:var(--amber)}
g.fg-cut .fg-end{stroke:var(--amber)}
text.fg-cap[data-cut-caption]{fill:var(--amber);font-size:13px}

/* 口のカード */
.fg-rowbg{fill:none}
.fg-row2.fg-emph-gap .fg-rowbg{fill:var(--amber);fill-opacity:.2;stroke:var(--amber);stroke-width:1.5}
.fg-row2.fg-emph-changed .fg-rowbg{fill:var(--amber);fill-opacity:.2;stroke:var(--amber);stroke-width:1.5}
.fg-row2.fg-emph-display .fg-rowbg{fill:var(--acc);fill-opacity:.14}
.fg-row2.fg-emph-gap .fg-v,.fg-row2.fg-emph-changed .fg-v{fill:var(--amber)}

/* 4 対 */
.fg-pin .fg-box{fill:var(--hair2)}
.fg-lane .fg-end{fill:var(--hair2);stroke:var(--soft);stroke-width:1.5}
.fg-lane.fg-hi .fg-end{fill:var(--acc);fill-opacity:.35;stroke:var(--accl);stroke-width:2}
.fg-lane.fg-hi .fg-line{stroke:var(--accl);stroke-width:3}
.fg-lane.fg-cut .fg-line{stroke:var(--amber);stroke-dasharray:5 4;stroke-width:3}
.fg-lane.fg-cut .fg-end{stroke:var(--amber)}
.fg-swatch{fill:var(--acc);fill-opacity:.35;stroke:var(--accl);stroke-width:2}

/* パケットさんの図（G1_IMPL §15）。見本は画面イメージ v4.3 lesson.html の「中　想像」 */
/* パケットさんは線に乗ったときだけ段ボール箱（絵）。機器の中で包まれている途中は透明な四角で、層ごとに色を変える（SCENARIO §8.2・G1_IMPL §15 P11）。L1 の 5 図には機器の中の場面がないので、まだ使わない */
.fg-svg{--pk-l4:var(--accd);--pk-l3:color-mix(in srgb,var(--amber) 50%,#0b0f14);--pk-l2:color-mix(in srgb,var(--soft) 55%,#7a5a9a)}
.fg-wrap-l4{fill:var(--pk-l4);stroke:var(--pk-l4)}
.fg-wrap-l3{fill:var(--pk-l3);stroke:var(--pk-l3)}
.fg-wrap-l2{fill:var(--pk-l2);stroke:var(--pk-l2)}
.fg-wrap-l4,.fg-wrap-l3,.fg-wrap-l2{fill-opacity:.28;stroke-width:1.5}
.fg-pkt-img{pointer-events:none}
.fg-pkt-t{fill:var(--soft);font-family:var(--sans);font-size:13px}
.fg-pkt-tick{stroke:var(--amber);stroke-width:1;stroke-dasharray:2 3}
.fg-hi-line{stroke:var(--accl);stroke-width:3}
.fg-bundle{stroke-width:1.6}
.fg-mode{fill:var(--accl);font-size:12px}
.fg-port.fg-hi .fg-mode{fill:var(--ink)}
.fg-env-box{fill:#0b0f14;stroke:var(--accl);stroke-width:1.5}
.fg-env-flap{fill:none;stroke:var(--accl);stroke-width:1.2}
.fg-env-cut .fg-env-box{stroke:var(--amber);stroke-dasharray:3 2}
.fg-env-tear{fill:none;stroke:var(--amber);stroke-width:2}
.fg-clash path{fill:none;stroke:var(--amber);stroke-width:2.2}
.fgfig-packet{padding:0;border:0;overflow:visible}
.pkfig{position:relative;margin:0 -20px;padding:26px 20px 24px;background:linear-gradient(180deg,#070a0e 0%,#0a1318 100%);border-top:1px solid var(--accd);border-bottom:1px solid var(--accd)}
.sec .pkfig{margin:0 -14px}
.pkfig::before{content:"";position:absolute;left:0;right:0;top:0;height:60px;background:linear-gradient(180deg,rgba(111,167,166,.12),rgba(111,167,166,0));pointer-events:none}
.pkih{position:relative;display:flex;gap:10px;align-items:baseline;margin:0 0 4px}
.pkih b{font-family:var(--mono);font-weight:400;font-size:.66rem;letter-spacing:.2em;color:#0b0f14;background:var(--acc);padding:0 8px;line-height:1.7}
.pkih h3{font-family:var(--serif);font-weight:500;font-size:1.1rem;letter-spacing:.14em}
.pkihn{position:relative;margin:0 0 18px;font-size:.74rem;color:var(--dim)}
.pkpl{position:relative;margin:30px 0 0;border:1px solid var(--acc);padding:22px 12px 14px;background:rgba(7,10,14,.9)}
.pkpl::before,.pkpl::after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--accl)}
.pkpl::before{top:-4px;left:-4px;border-right:0;border-bottom:0}
.pkpl::after{bottom:-4px;right:-4px;border-left:0;border-top:0}
.pkfno{position:absolute;top:-9px;left:10px;background:#0b0f14;padding:0 8px;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;color:var(--accl)}
.pkcap{display:flex;justify-content:space-between;gap:8px;padding:0 0 8px;font-size:.78rem;color:var(--soft)}
.pkcapl{min-width:0}
.pkcap b{font-weight:500;color:var(--ink)}
.pklbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;color:#0b0f14;background:var(--acc);padding:0 8px;line-height:1.7;margin-right:8px;white-space:nowrap}
.pkbadge{flex:none;white-space:nowrap}
.pkstage .fg-svg{display:block;width:100%;height:auto}
.pkst{margin-top:6px}
.pkfig .nar{margin-top:24px;min-height:7.4em}
.pkfig .nar .say{margin:0}
.pkfig .nar .say p{padding:0}
.fc.pk{background:#0b0f14;border-color:var(--accd);padding:0}
.pkfig .alert{margin:16px 0 0;font-size:.72rem;color:var(--dim)}
.fg-pkt-cut .fg-env-tear{stroke-width:3.2;stroke-linejoin:round}

/* L2 の図（G1_IMPL §18） */
.fg-s{font-size:12px}
.fg-dash{stroke-dasharray:5 4}
.fg-wrap-data{fill:var(--hair2);stroke:var(--soft);fill-opacity:.6;stroke-width:1.5}
.fg-wrap-t{fill:var(--ink);font-size:11px;font-family:var(--sans)}
.fg-nest-t{fill:var(--ink);font-size:12px;font-family:var(--sans)}
.fg-pkt-in .fg-wrap-l2,.fg-pkt-in .fg-wrap-l3,.fg-pkt-in .fg-wrap-l4{fill-opacity:.4;stroke-width:1.5}
.fg-nest.fg-dim{opacity:.45}
.fg-gone .fg-rowbg{fill:none;stroke:var(--soft);stroke-dasharray:3 3}
.fg-gone text{opacity:.5}
.fg-faint .fg-box{stroke-dasharray:3 3;opacity:.7}
.fg-field.fg-hi .fg-box{fill:var(--acc);fill-opacity:.1}
.fg-drop path{fill:none;stroke:var(--amber);stroke-width:2.6}
.fg-arrow-s{fill:none;stroke:var(--accl);stroke-width:2}
.fg-chip{fill:var(--amber);fill-opacity:.5;stroke:var(--amber);stroke-width:1}
.fg-bit .fg-box{fill:var(--hair2);stroke:var(--accd);stroke-width:1.5}
.fg-bit.fg-hi .fg-box{stroke:var(--accl);stroke-width:3;fill:var(--acc);fill-opacity:.2}
.fg-subj{fill:var(--soft);font-family:var(--sans);font-size:12px}
.fg-tagj{fill:var(--accl);font-family:var(--sans);font-size:12px}
.fg-ss{font-size:11px}
.fg-tagj{font-weight:500}
.fg-subj,.fg-tagj{font-size:13px}
.fg-nest text.fg-v{font-size:14px}
.fg-nest-t{font-size:13px}
.fg-subj.fg-ss{font-size:11px}
.fg-name.fg-ss{font-size:11px}
/* L1-01〜09 の残りの図（G1_IMPL §17）。表・棒・時間軸・拠点の図・動く図 */
.fg-name-s{fill:var(--ink);font-family:var(--sans);font-size:12px;font-weight:500}
.fg-name-xs{fill:var(--ink);font-family:var(--sans);font-size:12px;font-weight:500}
.fg-gapline{stroke:var(--amber);stroke-dasharray:5 4}
.fg-ahead{fill:var(--soft)}
.fg-ahead-hi{fill:var(--accl)}
.fg-wireline{stroke-width:3}
.fg-thead{fill:var(--hair2);stroke:var(--accd);stroke-width:1}
.fg-th{fill:var(--soft);font-family:var(--sans);font-size:12px}
.fg-td{fill:var(--ink);font-family:var(--sans);font-size:12px}
.fg-tmono{fill:var(--ink);font-family:var(--mono);font-size:12px}
.fg-trowbg{fill:none;stroke:var(--accd);stroke-width:1;stroke-opacity:.5}
.fg-trow.fg-hi .fg-trowbg{fill:var(--acc);fill-opacity:.14;stroke:var(--accl);stroke-opacity:1;stroke-width:1.5}
.fg-tcell-hi{fill:var(--amber);fill-opacity:.2;stroke:var(--amber);stroke-width:1.5}
.fg-td-hi{fill:var(--amber);font-weight:500}
.fg-bar-limit{fill:none;stroke:var(--soft);stroke-width:1.5}
.fg-bar-used{stroke:var(--accl);stroke-width:1}
.fg-seg-phone{fill:var(--acc);fill-opacity:.3}
.fg-seg-ap{fill:var(--accd);fill-opacity:.7}
.fg-bar-reject{fill:none;stroke:var(--amber);stroke-width:1.5;stroke-dasharray:4 3}
.fg-remain-tick{stroke:var(--amber);stroke-width:1.5}
.fg-track{fill:var(--hair2);stroke:var(--accd);stroke-width:1}
.fg-band-r{fill:var(--soft);fill-opacity:.2}
.fg-band.fg-hi .fg-band-r{fill:var(--amber);fill-opacity:.22;stroke:var(--amber);stroke-width:1.5}
.fg-tick{stroke:var(--accl);stroke-width:2}
.fg-tick-bold{stroke:var(--amber);stroke-width:5}
.fg-tick-swap{stroke:var(--ink);stroke-width:2;stroke-dasharray:3 3}
.fg-span{fill:none;stroke:var(--amber);stroke-width:1.5}
.fg-term-r{fill:var(--hair2);stroke:var(--soft);stroke-width:1.5}
.fg-term.fg-hi .fg-term-r{fill:var(--acc);fill-opacity:.4;stroke:var(--accl);stroke-width:2}
.fg-term-shallow .fg-term-r{stroke:var(--amber);stroke-width:2}
.fg-pv.fg-hi .fg-v{fill:var(--accl)}
.fg-lamp-c{fill:none;stroke:var(--soft);stroke-width:1.5}
.fg-lamp-on .fg-lamp-c{fill:var(--accl);stroke:var(--accl)}
.fg-xs-out{fill:none;stroke:var(--soft);stroke-width:1.5}
.fg-xs-core{fill:var(--accl)}
.fg-stack.fg-bad .fg-box{stroke:var(--amber)}
.fg-q{fill:var(--amber);font-size:24px;font-weight:700}
.fg-chair-r{fill:none;stroke:var(--soft);stroke-width:1;stroke-dasharray:4 4;opacity:.7}
.fg-dent-p{fill:var(--hair2);stroke:var(--amber);stroke-width:1.5}
.fg-dent-broken .fg-dent-p{fill:var(--amber)}
.fg-x-mark{fill:none;stroke:var(--amber);stroke-width:3}
.fg-fbar-r{fill:var(--acc);fill-opacity:.3;stroke:var(--accl);stroke-width:1}
.fg-guar-r{fill:var(--amber);fill-opacity:.25;stroke:var(--amber);stroke-width:1.5}
.fg-wrap-none{fill:none;stroke:var(--soft);stroke-width:1.5;stroke-dasharray:3 3}
.fg-slot rect{fill:none;stroke:var(--accd);stroke-width:1;stroke-opacity:.5}
.fg-slot-use rect{fill:var(--acc);fill-opacity:.4;stroke:var(--accl);stroke-opacity:1}
.fg-slot-wait rect{stroke:var(--soft);stroke-dasharray:3 3;stroke-opacity:.8}
.fg-slot-clash rect{fill:var(--amber);fill-opacity:.3;stroke:var(--amber);stroke-opacity:1;stroke-width:1.5}
.fg-slot-use .fg-sub,.fg-slot-wait .fg-sub{fill:var(--soft)}
.fg-field.fg-hi .fg-box{fill:var(--acc);fill-opacity:.25}
.fg-lane2 .fg-line{stroke-width:2}
.fg-flow .fg-sub{fill:var(--accl)}
.flfig{position:relative;margin:0}
.flcap{padding:0 0 8px;font-size:.78rem;color:var(--ink)}
.flcap b{font-weight:500}
.flstage .fg-svg{display:block;width:100%;height:auto}
.flfig .nar{margin-top:16px;min-height:5.6em}
.flfig .nar .say{margin:0}
.flfig .nar .say p{padding:0}
.fg-tmono-s{font-size:11px}
.fg-tmono.fg-td-hi{font-weight:500}
.fg-big{font-size:14px}

/* l2b */
.l2b-panel{fill:none;stroke:var(--hair);stroke-width:1}
.l2b-v1{--l2b-c:var(--accl)}
.l2b-v2{--l2b-c:var(--amber)}
.l2b-v3{--l2b-c:color-mix(in srgb,var(--soft) 55%,#7a5a9a)}
.l2b-dot{fill:var(--l2b-c);fill-opacity:.85}
.l2b-cl{fill:var(--l2b-c);fill-opacity:.08;stroke:var(--l2b-c);stroke-opacity:.5;stroke-width:1}
.l2b-cl.l2b-on{fill-opacity:.22;stroke-opacity:1;stroke-width:2}
.fg-line.l2b-p1{stroke:var(--accl);stroke-width:4;fill:none}
.fg-line.l2b-p2{stroke:var(--amber);stroke-width:4;fill:none}
.l2b-t1{fill:var(--accl);font-family:var(--mono);font-size:14px;font-weight:500}
.l2b-t2{fill:var(--amber);font-family:var(--mono);font-size:14px;font-weight:500}
.l2b-k1 .fg-trowbg{fill:var(--amber);fill-opacity:.18;stroke:var(--amber);stroke-opacity:.9;stroke-width:1.5}
.l2b-k2 .fg-trowbg{fill:var(--accl);fill-opacity:.14;stroke:var(--accl);stroke-opacity:.9;stroke-width:1.5}
.l2b-k3 .fg-trowbg{fill:color-mix(in srgb,var(--soft) 55%,#7a5a9a);fill-opacity:.22;stroke:color-mix(in srgb,var(--soft) 55%,#7a5a9a);stroke-opacity:.9;stroke-width:1.5}
.l2b-kt{font-family:var(--sans);font-size:11px;font-weight:500}
.l2b-k1 .l2b-kt{fill:var(--amber)}
.l2b-k2 .l2b-kt{fill:var(--accl)}
.l2b-k3 .l2b-kt{fill:var(--ink)}
.l2b-halo{stroke:var(--amber);stroke-width:12;stroke-opacity:.28;stroke-linecap:round;fill:none}
.l2b-mtu{fill:var(--amber);font-family:var(--mono);font-size:15px;font-weight:500}
/* l2c（L2-14〜19の図） */
.fg-frame{fill:none;stroke:var(--soft);stroke-width:1.2;stroke-dasharray:5 4}
.fg-frame-hi{stroke:var(--accl);stroke-width:1.6}
.fg-boxdash{stroke-dasharray:4 3}
.fg-vs{font-size:11px}
.fg-vemph{fill:var(--amber);font-weight:500}
.fg-chip-in{fill:var(--acc);fill-opacity:.35;stroke:var(--accl)}
.fg-chipt{fill:var(--ink);font-family:var(--sans);font-size:11px}
.fg-chipg.fg-gone .fg-chip{fill:none;stroke:var(--soft);stroke-dasharray:3 3}
.fg-chipg.fg-gone text{opacity:.6;text-decoration:line-through}
.fg-bracket{fill:none;stroke:var(--soft);stroke-width:1.2}
.fg-enc{stroke:var(--amber);stroke-dasharray:4 3}
.fg-encf .fg-name{fill:var(--amber)}
/* l3a（L3-01〜08 の図）。色・線は画面の CSS 変数だけ */
.fg-room{fill:var(--acc);fill-opacity:.06;stroke:var(--accd);stroke-width:1.5;stroke-dasharray:6 4}
.fg-room-hi{fill-opacity:.12;stroke:var(--accl)}
.fg-room-t{fill:var(--soft);font-size:12px;font-family:var(--sans)}
.fg-guess .fg-box{stroke-dasharray:4 3}
.fg-ext .fg-box{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:2 3}
.fg-bit-front{fill:var(--acc);fill-opacity:.25}
.fg-bit-back{fill:var(--hair2)}
.fg-bit-diff{fill:var(--amber);fill-opacity:.4}
.fg-bound{stroke:var(--accl);stroke-width:2.5}
.fg-bit-c{font-size:13px}
.fg-bar{fill:var(--hair2);stroke:var(--soft);stroke-width:1.5}
.fg-bar-ok{fill:var(--acc);fill-opacity:.4;stroke:var(--accl);stroke-width:2}
.fg-bar-ng{fill:var(--amber);fill-opacity:.18;stroke:var(--amber);stroke-width:1.5}
.fg-need{stroke:var(--amber);stroke-width:1.5;stroke-dasharray:5 3}
.fg-pickrow.fg-hi .fg-bar{stroke-width:2.5}
.fg-tagshape{fill:var(--hair2);stroke:var(--soft);stroke-width:1.5}
.fg-taghole{fill:none;stroke:var(--soft);stroke-width:1.5}
.fg-fieldbg{fill:none}
.fg-fieldbg-hi{fill:var(--acc);fill-opacity:.25;stroke:var(--accl);stroke-width:1.5}
.fg-v-hi{fill:var(--accl)}
.fg-arr-l{stroke:var(--soft);stroke-width:2;fill:none}
.fg-arr-h{fill:var(--soft)}
.fg-arr-hi .fg-arr-l{stroke:var(--accl);stroke-width:3}
.fg-arr-hi .fg-arr-h{fill:var(--accl)}
.fg-arr-dash .fg-arr-l{stroke-dasharray:5 4}
.fg-phase .fg-box{fill:none}
.fg-phase.fg-hi .fg-box{fill:var(--acc);fill-opacity:.25}
.fg-ttlchip .fg-box{fill:var(--hair2)}
.fg-num-hi{fill:var(--accl)}
.fg-junc{fill:var(--accl)}
.fg-mono-s{font-family:var(--mono);font-size:11px}
.fg-vs{font-size:12px}
.fg-minirow .fg-rowbg{fill:var(--hair2);stroke:var(--accd);stroke-width:1}
.fg-minirow.fg-hi .fg-rowbg{fill:var(--acc);fill-opacity:.25;stroke:var(--accl);stroke-width:2}
.fg-minirow.fg-also .fg-rowbg{stroke:var(--amber)}
.fg-chip3.fg-hi .fg-wrap-l3{fill-opacity:.7;stroke:var(--amber);stroke-width:2}
.fg-routeline{stroke:var(--soft);stroke-width:1.5;opacity:.6}
.fg-routeline-hi{stroke:var(--accl);stroke-width:3;opacity:1}
.fg-routebox.fg-hi .fg-box{fill:var(--acc);fill-opacity:.2}
.fg-dest .fg-box{fill:var(--hair2)}
.fg-ping-ng{fill:none;stroke:var(--amber);stroke-width:2.5;stroke-dasharray:5 4}
/* l3b */
.fg-obs circle{fill:var(--hair2);stroke:var(--accl);stroke-width:1.5}
.fg-obs-t{fill:var(--accl);font-family:var(--mono);font-size:11px;font-weight:700}
.fg-unknown rect{fill:none;stroke:var(--amber);stroke-width:1.5;stroke-dasharray:3 3}
.fg-unknown .fg-q{font-size:20px}
.fg-port-mark{fill:var(--amber);stroke:var(--amber)}
.fg-checked rect{fill:none;stroke:var(--accl);stroke-width:1.5}
.fg-nest text[data-emph]{fill:var(--accl)}
.fg-nest[data-emph]>rect{stroke-width:2.5;fill-opacity:.4}
/* l3c */
.l3c-zone{fill:none;stroke:var(--soft);stroke-width:1.5;stroke-dasharray:6 4;opacity:.8}
.l3c-zone-hi{stroke:var(--accl);stroke-width:2.5;opacity:1}
.l3c-dot{fill:var(--hair2);stroke:var(--accd);stroke-width:1}
.l3c-dot-hi{stroke:var(--accl)}
.fg-line.l3c-v4{stroke:var(--accl)}
.fg-line.l3c-v6{stroke:var(--amber)}
polygon.l3c-v4{fill:var(--accl)}
polygon.l3c-v6{fill:var(--amber)}
.l3c-t4{fill:var(--accl)}
.l3c-t6{fill:var(--amber)}
.l3c-chip rect{stroke-width:1.5}
.l3c-chip-a rect{fill:var(--acc);fill-opacity:.35;stroke:var(--accl)}
.l3c-chip-b rect{fill:var(--amber);fill-opacity:.25;stroke:var(--amber)}
.l3c-chip text{fill:var(--ink)}
.l3c-chip-stuck rect{stroke-dasharray:3 2}
.l3c-band{fill:none;stroke:var(--accd);stroke-width:1.2}
.l3c-band-hi{stroke:var(--accl);stroke-width:2}
.l3c-tap path{fill:var(--amber);stroke:none}
.l3c-read rect{stroke-width:1.5}
.l3c-read-ok rect{fill:var(--acc);fill-opacity:.35;stroke:var(--accl)}
.l3c-read-ng rect{fill:var(--amber);fill-opacity:.2;stroke:var(--amber)}
.l3c-read text{fill:var(--ink)}
.l3c-bar{fill:var(--hair2);stroke:var(--accd);stroke-width:1.5}
.l3c-bar-ike{fill:var(--acc);fill-opacity:.25;stroke:var(--accl)}
.l3c-bar-esp{stroke:var(--amber);stroke-dasharray:4 3}
.fg-vs{font-size:12px}
.l3c-bar-t{fill:var(--ink)}
