/* Scoped styles, using the site's existing silver/navy desktop palette. */
.penny-lc { box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:1.5rem 0;padding:1rem;border:2px outset #eee;background:#c0c0c0;color:#171717;font:inherit;line-height:1.5;overflow-wrap:anywhere; }
.penny-lc *, .penny-lc *::before, .penny-lc *::after {box-sizing:border-box;}
.penny-lc [hidden] {display:none!important;}
.penny-lc h2 {margin:0 0 1rem;padding:.4rem .6rem;background:#000080;color:#fff;font-size:1.3em;line-height:1.3;}
.penny-lc h3 {margin:.2rem 0 .9rem;font-size:1.1em;}
.penny-lc p {margin:.65rem 0;}
.penny-lc fieldset {min-width:0;margin:1rem 0;padding:.75rem;border:2px groove #eee;}
.penny-lc legend {float:none;width:auto;max-width:100%;padding:0 .3rem;font-weight:bold;}
.penny-lc__fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.penny-lc__field {min-width:0;}
.penny-lc label {display:block;font-weight:bold;margin-bottom:.3rem;}
.penny-lc input,.penny-lc select {width:100%;min-width:0;max-width:100%;min-height:44px;padding:.5rem;border:2px inset #ddd;border-radius:0;background:#fff;color:#111;font:inherit;}
.penny-lc small {display:block;font-size:.88em;margin-top:.25rem;}
.penny-lc button {min-height:44px;max-width:100%;padding:.5rem .7rem;border:2px outset #eee;border-radius:0;background:#c0c0c0;color:#111;font:inherit;white-space:normal;cursor:pointer;}
.penny-lc button:active:not(:disabled) {border-style:inset;}
.penny-lc button:disabled {cursor:not-allowed;color:#555;}
.penny-lc__actions {display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;}
.penny-lc :focus-visible {outline:3px solid #000080;outline-offset:2px;}
.penny-lc [aria-invalid="true"] {border:2px solid #a00000;}
.penny-lc__error {display:block;color:#870000;font-weight:bold;}
.penny-lc__error:empty {display:none;}
.penny-lc__status {font-weight:bold;}
.penny-lc__result {min-width:0;padding:.8rem;border:2px inset #eee;background:#fff;}
.penny-lc dl {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.5rem .8rem;margin:0;}
.penny-lc dt {font-weight:normal;}
.penny-lc dd {margin:0;text-align:right;font-weight:bold;}
.penny-lc__note {padding:.7rem;border-left:4px solid #000080;background:#f4f4ff;}
.penny-lc__table-scroll {max-width:100%;overflow-x:auto;margin:1rem 0;border:1px solid #777;}
.penny-lc table {width:100%;min-width:480px;margin:0;border-collapse:collapse;font:inherit;color:#111;background:#fff;}
.penny-lc caption {text-align:left;font-weight:bold;padding:.5rem;}
.penny-lc th,.penny-lc td {padding:.5rem;border:1px solid #999;text-align:right;}
.penny-lc thead th {background:#000080;color:#fff;}
.penny-lc tbody th {background:#eee;}
.penny-lc__chart {margin:1rem 0;padding:.75rem;background:#f5f5f5;border:1px solid #777;}
.penny-lc__chart figcaption {font-weight:bold;color:#171717;margin-bottom:.8rem;}
.penny-lc__bar-row {margin:.7rem 0;}
.penny-lc__bar-row span {display:block;margin-bottom:.25rem;}
.penny-lc__bar-track {width:100%;height:18px;background:#ddd;border:1px solid #888;}
.penny-lc__bar-fill {height:100%;background:#000080;}
@media(max-width:600px){.penny-lc{padding:.6rem;}.penny-lc fieldset{padding:.5rem;}.penny-lc__fields{grid-template-columns:minmax(0,1fr);}.penny-lc dl{grid-template-columns:minmax(0,1fr);gap:.2rem;}.penny-lc dd{text-align:left;margin-bottom:.6rem;}.penny-lc__result{padding:.55rem;}}
@media(prefers-reduced-motion:reduce){.penny-lc *{scroll-behavior:auto!important;}}

.penny-lc__article-table{max-width:100%;min-width:0;overflow-x:auto;margin:1rem 0;border:1px solid #777}.penny-lc__article-table table{width:100%;min-width:520px;border-collapse:collapse}.penny-lc__article-table th,.penny-lc__article-table td{padding:.5rem;border:1px solid #aaa}.penny-lc__article-table:focus-visible{outline:3px solid #000080;outline-offset:2px}

/* Supplemental implementation notes: native keyboard-accessible, closed by default. */
.penny-lc__note p:first-child{margin-top:0}.penny-lc__note p:last-child{margin-bottom:0}
.penny-lc__technical{margin:1rem 0;border:1px solid #888;background:#f7f7f7;padding:0 .7rem}
.penny-lc__technical summary{min-height:44px;padding:.6rem 0;cursor:pointer;font-weight:bold;color:#000080}
.penny-lc__technical p{font-size:.94em}
