/* ficklestudio26 · Fraction, GPA, grade, BMI and calorie calculators (builds on /timer/timer.css) */
.k-big { margin:14px 0 6px; padding:18px 12px; background:#fff4e6; border-radius:16px; text-align:center; }
.k-big b, .k-big div b { display:block; font:800 clamp(40px,11vw,96px)/1.1 system-ui,sans-serif; color:#d9480f; word-break:break-all; }
.k-big span { display:block; margin-top:6px; font:600 clamp(15px,3vw,20px) system-ui,sans-serif; color:#5b5b66; }
.k-note, .p-note { margin:8px 0; font:600 14px/1.5 system-ui,sans-serif; color:#5b5b66; text-align:left; }
.k-note { color:#c92a2a; min-height:18px; }
.p-warn { margin:14px 0 4px; padding:12px 14px; background:#fff5f5; border-left:5px solid #e03131; border-radius:8px; font:600 15px/1.5 system-ui,sans-serif; color:#8a1c1c; text-align:left; }
.k-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; margin:10px 0; text-align:left; }
.k-grid label { display:grid; gap:4px; font:700 12px system-ui,sans-serif; color:#5b5b66; text-transform:uppercase; letter-spacing:.05em; }
.k-grid input, .k-grid select, .p-row select, .p-course input, .p-course select, .p-grade input { padding:10px; border:2px solid #e8e8ec; border-radius:12px; font:600 18px system-ui,sans-serif; background:#fff; width:100%; box-sizing:border-box; min-width:0; }
.k-grid input:focus, .p-frac input:focus, .p-course input:focus, .p-grade input:focus { outline:none; border-color:#e8590c; }
.p-row { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin:6px 0; }
.p-row select { width:84px; font-size:28px; text-align:center; }
.p-frac { display:flex; align-items:center; gap:8px; }
.p-frac .w { width:84px; padding:12px 6px; border:2px solid #e8e8ec; border-radius:12px; font:700 24px system-ui,sans-serif; text-align:center; }
.p-frac .nd { display:grid; gap:4px; width:96px; } .p-frac .nd input { padding:10px 6px; border:2px solid #e8e8ec; border-radius:12px; font:700 22px system-ui,sans-serif; text-align:center; width:100%; box-sizing:border-box; }
.p-frac .nd i { display:block; height:3px; background:#1d1d22; border-radius:2px; }
.p-lines { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; margin:8px 0; }
.p-lines div { background:#f8f9fa; border-radius:12px; padding:10px; text-align:center; }
.p-lines span { display:block; font:600 12px system-ui,sans-serif; color:#5b5b66; } .p-lines b { font:800 22px system-ui,sans-serif; word-break:break-all; }
.p-head, .p-course { display:grid; grid-template-columns:1.6fr 84px 84px 1.3fr 42px; gap:8px; align-items:center; margin:6px 0; }
.p-head span { font:700 12px system-ui,sans-serif; color:#5b5b66; text-transform:uppercase; }
.p-head2, .p-grade { grid-template-columns:1.6fr 1fr 1fr 42px; }
.p-grade { display:grid; gap:8px; align-items:center; margin:6px 0; }
.p-prior { margin:10px 0; text-align:left; } .p-prior summary { cursor:pointer; font:700 15px system-ui,sans-serif; color:#d9480f; }
.p-btns { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:0 0 12px; } .p-btns .is-on { background:#fff4e6; border-color:#e8590c; color:#d9480f; }
.p-hub { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
.p-hub a { display:block; padding:14px 16px; background:#fff4e6; border-radius:12px; font:700 17px system-ui,sans-serif; text-decoration:none; color:#d9480f; }
@media (max-width:620px) { .p-head { display:none; } .p-course { grid-template-columns:1fr 1fr; } .p-course .nm { grid-column:1 / -1; } .p-grade { grid-template-columns:1fr 1fr 42px; } .p-grade .nm { grid-column:1 / -1; } }
