.io-rbc {
--io-rbc-border: #d8d8d8;
--io-rbc-soft: #f6f6f6;
--io-rbc-text: #222;
--io-rbc-muted: #555;
--io-rbc-strong: #111;
--io-rbc-radius: 10px;
max-width: 980px;
margin: 2rem auto;
padding: 1.25rem;
border: 1px solid var(--io-rbc-border);
border-radius: var(--io-rbc-radius);
background: #fff;
color: var(--io-rbc-text);
}
.io-rbc * {
box-sizing: border-box;
}
.io-rbc__header {
margin-bottom: 1rem;
}
.io-rbc__title {
margin: 0 0 0.5rem;
line-height: 1.2;
}
.io-rbc__intro,
.io-rbc__disclaimer,
.io-rbc__summary,
.io-rbc__help {
color: var(--io-rbc-muted);
line-height: 1.55;
}
.io-rbc__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
}
.io-rbc__field {
display: flex;
flex-direction: column;
gap: 0.35rem;
font-weight: 700;
}
.io-rbc__field span {
font-size: 0.95rem;
}
.io-rbc__field-note {
color: var(--io-rbc-muted);
font-size: 0.82rem;
font-weight: 400;
line-height: 1.35;
}
.io-rbc__field input,
.io-rbc__field select {
width: 100%;
min-height: 42px;
padding: 0.55rem 0.65rem;
border: 1px solid var(--io-rbc-border);
border-radius: 7px;
background: #fff;
color: var(--io-rbc-text);
font: inherit;
font-weight: 400;
}
.io-rbc__actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin-top: 1rem;
}
.io-rbc__button {
min-height: 44px;
padding: 0.7rem 1rem;
border: 1px solid var(--io-rbc-strong);
border-radius: 7px;
background: var(--io-rbc-strong);
color: #fff;
cursor: pointer;
font: inherit;
font-weight: 700;
}
.io-rbc__button:hover,
.io-rbc__button:focus {
opacity: 0.9;
}
.io-rbc__button--secondary {
background: #fff;
color: var(--io-rbc-strong);
}
.io-rbc__notice {
margin-top: 1rem;
padding: 0.75rem;
border-left: 4px solid #777;
background: var(--io-rbc-soft);
}
.io-rbc__results {
margin-top: 1.25rem;
}
.io-rbc__result-header {
margin-bottom: 0.75rem;
padding: 0.85rem;
border-radius: 8px;
background: var(--io-rbc-soft);
}
.io-rbc__result-header h3 {
margin: 0 0 0.35rem;
}
.io-rbc__table-wrap {
width: 100%;
overflow-x: auto;
}
.io-rbc__table {
width: 100%;
border-collapse: collapse;
margin: 0.75rem 0 1rem;
font-size: 0.95rem;
}
.io-rbc__table th,
.io-rbc__table td {
padding: 0.6rem;
border: 1px solid var(--io-rbc-border);
text-align: right;
white-space: nowrap;
}
.io-rbc__table th:first-child,
.io-rbc__table td:first-child {
text-align: left;
}
.io-rbc__table th {
background: var(--io-rbc-soft);
color: var(--io-rbc-strong);
}
.io-rbc__th-label,
.io-rbc__th-unit {
display: block;
line-height: 1.15;
}
.io-rbc__th-unit {
margin-top: 0.15rem;
font-size: 0.78em;
font-weight: 600;
opacity: 0.78;
letter-spacing: 0.02em;
}
.io-rbc__recommendations {
margin-top: 1rem;
padding: 1rem;
border: 1px solid var(--io-rbc-border);
border-radius: 8px;
background: #fff;
}
.io-rbc__recommendations h3 {
margin-top: 0;
}
.io-rbc__recommendations ul {
margin-bottom: 0;
}
.io-rbc__disclaimer {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid var(--io-rbc-border);
font-size: 0.95rem;
}
@media (max-width: 780px) {
.io-rbc__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 540px) {
.io-rbc {
padding: 1rem;
}
.io-rbc__table {
font-size: 0.88rem;
}
.io-rbc__table th,
.io-rbc__table td {
padding: 0.45rem 0.4rem;
}
.io-rbc__grid {
grid-template-columns: 1fr;
}
.io-rbc__button {
width: 100%;
}
}
.io-rbc__result-header--ok {
border-left: 4px solid #3f7f3f;
}
.io-rbc__result-header--warning {
border-left: 4px solid #9a6a1f;
}
.io-rbc__table--scope th {
text-align: left;
width: 50%;
}
.io-rbc__table--scope td {
text-align: right;
}
.io-rbc__recommendations--scope {
border-left: 4px solid var(--io-rbc-strong);
} .io-rbc-page-intro {
max-width: 980px;
margin: 0 auto 1.5rem;
line-height: 1.65;
}
.io-tool-section {
max-width: 1040px;
margin: 2rem auto;
padding: 1.25rem;
border: 1px solid #d8d8d8;
border-radius: 14px;
line-height: 1.65;
}
.io-tool-section h2:first-child {
margin-top: 0;
}
.io-tool-section h3 {
margin-top: 1.5rem;
}
.io-tool-section .io-rbc {
margin-left: 0;
margin-right: 0;
}
.io-tool-section-ballistics {
background: #f4f8fb;
border-left: 6px solid #2f6f9f;
}
.io-tool-section-scope {
background: #f7f7f0;
border-left: 6px solid #6f7f3f;
}
.io-tool-section-ballistics .io-rbc {
border-color: #c7dce9;
}
.io-tool-section-scope .io-rbc {
border-color: #d8ddbf;
}
.io-tool-callout {
margin: 1rem 0;
padding: 0.85rem 1rem;
border-radius: 10px;
background: rgba(255, 255, 255, 0.72);
border: 1px solid rgba(0, 0, 0, 0.08);
}
.io-tool-callout p:last-child,
.io-tool-callout ul:last-child,
.io-tool-callout ol:last-child {
margin-bottom: 0;
}
.io-rbc-final-notes {
max-width: 980px;
margin: 2rem auto;
line-height: 1.65;
}
@media (max-width: 640px) {
.io-tool-section {
padding: 1rem;
border-radius: 10px;
}
}
.io-rbc__advanced {
grid-column: 1 / -1;
padding: 0.85rem;
border: 1px solid var(--io-rbc-border);
border-radius: 8px;
background: var(--io-rbc-soft);
}
.io-rbc__advanced summary {
cursor: pointer;
font-weight: 700;
}
.io-rbc__advanced-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
margin-top: 0.85rem;
}
.io-donation-box {
max-width: 980px;
margin: 2rem auto 0;
padding: 1.25rem 1.5rem;
border: 1px solid #e4c66d;
border-left: 6px solid #c58b22;
border-radius: 14px;
background: #fff8e6;
line-height: 1.6;
}
.io-donation-box h2 {
margin-top: 0;
}
.io-donation-button {
display: inline-block;
padding: 0.75rem 1.05rem;
border-radius: 8px;
background: #111;
color: #fff !important;
text-decoration: none;
font-weight: 700;
}
.io-donation-button:hover,
.io-donation-button:focus {
opacity: 0.88;
}
@media (max-width: 780px) {
.io-rbc__advanced-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 540px) {
.io-rbc__advanced-grid {
grid-template-columns: 1fr;
}
}
.io-rbc__button--print {
background: #2f6f9f;
border-color: #2f6f9f;
color: #fff;
}
.io-rbc__print-notes {
display: none;
margin-top: 1rem;
padding: 1rem;
border: 1px solid var(--io-rbc-border);
border-radius: 8px;
background: #fff;
}
.io-rbc__print-notes h3 {
margin-top: 0;
}
.io-rbc__print-note-line {
margin: 0.45rem 0;
color: #222;
}
@media print {
.io-rbc-page-intro,
.io-print-hide,
.io-tool-callout,
.io-rbc__form,
.io-rbc__actions,
.io-rbc__notice,
.io-rbc__recommendations,
.io-donation-box {
display: none !important;
}
.io-tool-section,
.io-rbc,
.io-rbc__result-header,
.io-rbc-final-notes {
max-width: none !important;
margin: 0 0 1rem !important;
padding: 0 !important;
border: 0 !important;
background: #fff !important;
color: #000 !important;
box-shadow: none !important;
}
.io-tool-section-ballistics,
.io-tool-section-scope {
border-left: 0 !important;
}
.io-rbc__header,
.io-rbc__disclaimer {
margin-bottom: 0.75rem;
}
.io-rbc__results:empty,
.io-rbc:has(.io-rbc__results:empty),
.io-rbc:has([data-io-sec-results]:empty) {
display: none !important;
}
.io-rbc__print-notes {
display: block !important;
page-break-inside: avoid;
}
.io-rbc__table-wrap {
overflow: visible !important;
}
.io-rbc__table {
width: 100% !important;
font-size: 10pt !important;
page-break-inside: avoid;
}
.io-rbc__table th,
.io-rbc__table td {
padding: 0.28rem 0.35rem !important;
border: 1px solid #000 !important;
color: #000 !important;
background: #fff !important;
}
.io-rbc__summary,
.io-rbc__help,
.io-rbc__intro,
.io-rbc__disclaimer {
color: #000 !important;
}
a[href]::after {
content: "" !important;
}
}
.io-paypal-button {
background: #0070ba;
border: 2px solid #005ea6;
border-radius: 999px;
color: #fff !important;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.io-paypal-button:hover,
.io-paypal-button:focus {
background: #003087;
color: #fff !important;
opacity: 1;
} @media print {
@page {
margin: 0.45in;
}
body.io-rbc-printing > * {
visibility: hidden !important;
}
body.io-rbc-printing .io-rbc--print-active,
body.io-rbc-printing .io-rbc--print-active * {
visibility: visible !important;
}
body.io-rbc-printing .io-rbc--print-active {
position: absolute !important;
top: 0 !important;
left: 0 !important;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: #fff !important;
box-shadow: none !important;
color: #000 !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__header,
body.io-rbc-printing .io-rbc--print-active .io-rbc__form,
body.io-rbc-printing .io-rbc--print-active .io-rbc__actions,
body.io-rbc-printing .io-rbc--print-active .io-rbc__notice,
body.io-rbc-printing .io-rbc--print-active .io-rbc__recommendations,
body.io-rbc-printing .io-rbc--print-active .io-rbc__disclaimer {
display: none !important;
visibility: hidden !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__results {
display: block !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: #fff !important;
box-shadow: none !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__result-header h3 {
font-size: 18pt !important;
margin: 0 0 0.2in 0 !important;
line-height: 1.2 !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__summary {
font-size: 10pt !important;
margin: 0 0 0.18in 0 !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__table {
width: 100% !important;
font-size: 9pt !important;
border-collapse: collapse !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__table th,
body.io-rbc-printing .io-rbc--print-active .io-rbc__table td {
padding: 0.18rem 0.28rem !important;
border: 1px solid #000 !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__print-notes {
margin-top: 0.2in !important;
padding: 0.15in !important;
border: 1px solid #aaa !important;
border-radius: 0 !important;
page-break-inside: avoid !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__print-notes h3 {
font-size: 15pt !important;
margin: 0 0 0.14in 0 !important;
}
body.io-rbc-printing .io-rbc--print-active .io-rbc__print-note-line {
font-size: 10pt !important;
margin: 0.12in 0 !important;
}
}