/* 8.8% 계산기 전용 CSS (2026-10-09, 3.3% 계산기 판에서 시작). 2패널 계산형 레이아웃 fr-*, 비율 막대(너비 전환 R45), 분리과세 막대. 공용 부품은 assets/v2.css */
.fr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.fr-in{padding:16px 18px 18px;min-width:0}
.fr-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.fr-fields .v2-f{min-width:0}
.fr-fields .v2-f>.v2-label{display:block}
.fr-seg{margin-top:6px;display:flex;flex-wrap:nowrap}
.fr-seg button{flex:1 1 0;min-width:0;height:var(--v2-ctl,42px);padding:0 6px;font-family:var(--sans);font-size:13px;font-weight:700;white-space:nowrap}
.fr-chips{margin-top:8px;flex-wrap:wrap}
.fr-chips button{height:28px;padding:0 10px;font-family:var(--sans);font-size:12px;font-weight:600}
.fr-words{display:block;min-height:18px;margin-top:4px;font-family:var(--sans);font-size:12px;color:var(--muted)}
.fr-help{margin:12px 0 0;font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--muted)}
.fr-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:14px}
.fr-out{padding:16px 18px 18px;min-width:0;border-left:1px solid var(--soft);display:flex;flex-direction:column}
.fr-out .v2-label{display:block;margin-bottom:6px}
.fr-out .v2-big{flex-wrap:wrap;row-gap:6px}
.fr-out .v2-big>span{min-width:0;overflow-wrap:anywhere}
.fr-out .v2-big small{flex-basis:100%;display:block;margin:0;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--muted)}
.fr-warn{margin:8px 0 0;padding:8px 10px;border-left:2px solid var(--accent);background:var(--accent-wash);font-family:var(--sans);font-size:12.5px;line-height:1.55;color:var(--ink)}
.fr-rows{margin-top:14px;flex:1}
.fr-rows li span{min-width:0;flex:1 1 auto}
.fr-rows li span em{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);opacity:1;max-width:100%;overflow-wrap:anywhere}
.fr-rows li b{flex:0 0 auto}
.fr-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--soft)}
.fr-foot .v2-status{margin-left:auto}
.v2-big.is-empty span{font-size:18px;font-weight:600;color:var(--muted)}
/* 비율 막대 */
.fr-barbox{padding:14px 18px 10px;border-top:1px solid var(--soft)}
.fr-barbox>.v2-label{display:block;margin-bottom:8px}
.fr-bars{display:grid;gap:12px}
.fr-bar-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;margin-bottom:5px;font-family:var(--sans);font-size:12.5px;color:var(--muted)}
.fr-bar-h b{color:var(--ink);font-weight:700}
.fr-track{display:flex;height:22px;border-radius:var(--radius);overflow:hidden;background:var(--soft)}
.fr-part{display:block;height:100%;width:0;transition:width .45s var(--ease,ease)}
.fr-bar{padding:6px 8px;border:1px solid transparent;border-radius:var(--radius)}
.fr-bar.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent-wash) 50%,transparent)}
.fr-track .s-net{background:var(--accent-wash);border-right:2px solid var(--accent)}
.fr-track .s-inc{background:var(--accent)}
.fr-track .s-loc{background:var(--ink);opacity:.55}
.fr-keys{display:flex;flex-wrap:wrap;gap:4px 14px;margin:2px 0 0;padding:0;list-style:none;font-family:var(--sans);font-size:11.5px;color:var(--muted)}
.fr-keys li::before{content:"";display:inline-block;width:12px;height:10px;margin-right:6px;vertical-align:-1px}
.fr-keys .k-net::before{background:var(--accent-wash);border-right:2px solid var(--accent)}
.fr-keys .k-inc::before{background:var(--accent)}
.fr-keys .k-loc::before{background:var(--ink);opacity:.55}
.fr-note{margin:8px 0 0;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted)}
/* 두 막대 상자: 비율 | 분리과세 */
.fr-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.fr-split .fr-barbox+.fr-barbox{border-left:1px solid var(--soft)}
.fr-sep[hidden]{display:none}
.fr-sep .v2-f{margin-bottom:10px}
.fr-sep .v2-f>.v2-label{display:block;margin-bottom:5px}
.fr-meter{position:relative;height:16px;border-radius:8px;background:var(--soft);overflow:hidden}
.fr-meter i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent-wash);border-right:2px solid var(--accent);transition:width .5s var(--ease,ease)}
.fr-meter i.is-over{background:var(--accent)}
.fr-meter s{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ink)}
.fr-sepval{margin:6px 0 0;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
/* 표 */
.fr-cmp{padding:14px 18px 18px;border-top:1px solid var(--soft)}
.fr-cmp .v2-label{display:block;margin-bottom:8px}
.fr-cmp .tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.fr-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13px;font-variant-numeric:tabular-nums}
.fr-table th,.fr-table td{padding:7px 8px;border-top:1px solid var(--soft);text-align:left;white-space:nowrap}
.fr-table th{font-size:11.5px;font-weight:700;color:var(--muted);border-top:0}
.fr-table .n{text-align:right}
.fr-table tr.is-cur td{background:var(--accent-wash);color:var(--ink)}
.fr-table tr.is-cur td b{color:var(--accent)}
@media (prefers-reduced-motion:reduce){ .fr-part,.fr-meter i{transition:none} }
@media (max-width:860px){ .fr-split{grid-template-columns:minmax(0,1fr)} .fr-split .fr-barbox+.fr-barbox{border-left:0} }
@media (max-width:720px){
  .fr-grid{grid-template-columns:minmax(0,1fr)}
  .fr-out{order:-1;border-left:0;border-bottom:1px solid var(--soft)}
}
@media (max-width:420px){ .fr-in,.fr-out,.fr-cmp,.fr-barbox{padding-left:12px;padding-right:12px} }
