/* CALCULATORS.CSS - shared calculator base styles (loaded by all calculator pages)
   Individual tool styles live in /assets/css/tools/<tool>.css */
.input-grid{display:grid;grid-template-columns:1fr;gap:15px;margin-bottom:10px}
@media(min-width:600px){.input-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.input-grid-3{grid-template-columns:1fr 1fr 1fr}}
.input-count-group{display:flex;gap:8px;align-items:center}
.input-count-group label{display:flex;align-items:center;gap:4px;cursor:pointer;padding:4px 10px;border-radius:6px;background:var(--bg,#F8FAFF);font-size:.9rem;transition:background .2s;border:1.5px solid var(--border,#E2E8F0)}
.input-count-group label:has(input:checked){background:var(--primary,#2563EB);color:#fff;border-color:var(--primary,#2563EB)}
.input-count-group label:has(input:checked) .op-badge{color:#fff}
.op-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.85rem;background:rgba(37,99,235,.12);color:var(--primary,#2563EB);font-family:'Courier New',monospace}
.truth-table-wrap{overflow-x:auto;margin-top:16px}
.truth-table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:center}
.truth-table th{padding:8px 14px;border:1px solid var(--border,#E2E8F0);background:var(--bg,#F8FAFF);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--subtext,#4B5563)}
.truth-table th.out-col{color:var(--primary,#2563EB)}
.truth-table td{padding:8px 14px;border:1px solid var(--border,#E2E8F0)}
.truth-table td.res-col{font-weight:700;color:var(--primary,#2563EB);background:rgba(37,99,235,.04)}
.truth-table tr:nth-child(even) td{background:rgba(0,0,0,.02)}
.radio-group{display:flex;gap:8px;flex-wrap:wrap}
.radio-label{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition);color:var(--subtext)}
.radio-label:has(input:checked){background:var(--primary);color:#fff;border-color:var(--primary)}
.radio-label input[type="radio"]{accent-color:var(--primary)}
.radio-label:has(input:checked) input[type="radio"]{accent-color:#fff}
.nl-wrap{margin-top:20px;padding:15px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius)}
.nl-container{width:100%}
.nl-bar{position:relative;height:30px;background:var(--border);border-radius:4px;margin-bottom:6px}
.nl-fill{position:absolute;top:0;height:100%;background:rgba(37,99,235,.15);border-radius:4px}
.nl-marker{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;z-index:2}
.nl-marker .nl-dot{width:12px;height:12px;border-radius:50%;border:2px solid;background:var(--card)}
.nl-marker-val .nl-dot{border-color:var(--accent);background:var(--accent)}
.nl-marker-res .nl-dot{border-color:var(--primary);background:var(--primary)}
.nl-marker .nl-label{font-size:.72rem;font-weight:700;margin-top:2px;white-space:nowrap;color:var(--text)}
.nl-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--subtext)}
.nl-placeholder{text-align:center;font-size:.85rem;color:var(--subtext);padding:10px}
.nl-placeholder strong{color:var(--text)}
.copy-btn{cursor:pointer;min-width:50px}
.btn-danger-outline{background:transparent;color:var(--error)!important;border:1.5px solid var(--error)!important}
.btn-danger-outline:hover{background:var(--error);color:#fff!important}


.res-value-subtext{font-size:.9rem;font-weight:600;color:var(--subtext)}

@keyframes pctFadeIn { from { opacity: 0; transform: translate(-50%,-50%) scale(.95); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }





@keyframes pctSlideDown {
  from { opacity: 0; transform: translateY(-10px) scaleY(.97); }
  to { opacity: 1; transform: translateY(0) scaleY(1); }
}

.mmt-copy-btn{display:flex;gap:4px}

.gp-flex-wrap{flex-wrap:wrap}

.text-center-mt10{text-align:center;margin-top:10px}
#vaSteps{margin-top:18px;line-height:1.7}
.copy-btn-row{display:flex;gap:4px;margin-top:8px}
.copy-btn-sm{padding:3px 8px;font-size:.7rem}

.bg-alt-row{background:var(--bg)}


