/* RECATOOLS — Fraction Calculator */
.fc-wrap { padding: 1.25rem; }
.fc-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; }
.fc-operand { display: flex; flex-direction: column; align-items: center; gap: .3rem; }
.fc-operand-label { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #9b968d; }
.fc-stack { display: flex; align-items: center; gap: .5rem; }
.fc-whole { width: 54px; }
.fc-fracinput { display: flex; flex-direction: column; align-items: center; }
.fc-fracinput input { width: 64px; }
.fc-fracinput .fc-bar { width: 64px; height: 2px; background: #1a1814; margin: .25rem 0; }
.fc-wrap input[type="number"] { padding: .5rem .4rem; border: 1px solid #ebebeb; border-radius: 8px; font-size: 1.05rem; text-align: center; font-variant-numeric: tabular-nums; }
.fc-wrap input:focus { outline: none; border-color: #4f46e5; box-shadow: 0 0 0 3px rgba(79,70,229,.15); }
.fc-ops { display: flex; gap: .35rem; }
.fc-ops label { cursor: pointer; }
.fc-ops input { position: absolute; opacity: 0; }
.fc-ops span { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 700; border: 1px solid #ebebeb; border-radius: 10px; color: #6b6760; }
.fc-ops input:checked + span { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.fc-error { margin: 1rem 0 0; padding: .8rem 1rem; background: #fef2f2; border-left: 4px solid #ef4444; border-radius: 10px; color: #991b1b; font-size: .9rem; }
.fc-result { margin-top: 1.5rem; }
.fc-res-main { text-align: center; font-size: 1.5rem; color: #1a1814; display: flex; align-items: center; justify-content: center; gap: .6rem; flex-wrap: wrap; }
.fc-op { color: #6366f1; font-weight: 700; }
.fc-frac { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; position: relative; }
.fc-frac.fc-int { flex-direction: row; font-weight: 700; }
.fc-num { border-bottom: 2px solid currentColor; padding: 0 .2em; }
.fc-den { padding: 0 .2em; }
.fc-sign { position: absolute; left: -.6em; top: 50%; transform: translateY(-50%); }
.fc-res-rows { display: grid; gap: .4rem; max-width: 320px; margin: 1.25rem auto 0; }
.fc-res-rows > div { display: flex; justify-content: space-between; padding: .5rem .85rem; background: #f5f3ff; border: 1px solid #ddd6fe; border-radius: 10px; font-size: .9rem; }
.fc-res-rows span { color: #6b6760; } .fc-res-rows b { color: #4338ca; font-variant-numeric: tabular-nums; }
