:root { color-scheme: light; font-family: system-ui, sans-serif; background: #f9faf8; color: #15364b; }
    * { box-sizing: border-box; }
    body { max-width: 55rem; margin: 0 auto; padding: 1.2rem; line-height: 1.55; }
    header, main, footer { margin-block: 1.2rem; }
    h1 { font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.2; }
    h2 { font-size: 1.25rem; }
    .card { border: 2px solid #284c62; border-radius: .65rem; padding: 1rem 1.25rem; margin-block: 1rem; background: white; }
    .source { background: #edf4f8; }
    .limit { background: #fff1df; border-left: .35rem solid #7e4c00; padding: .8rem; }
    label { display: block; font-weight: 700; margin-block: .7rem .35rem; }
    input, select, button { font: inherit; padding: .55rem .7rem; border: 2px solid #284c62; border-radius: .35rem; background: white; color: #15364b; }
    input { max-width: 12rem; width: 100%; }
    select { max-width: 100%; width: 100%; }
    button { margin-top: .9rem; background: #15364b; color: white; cursor: pointer; }
    button:hover { background: #28617a; }
    :focus-visible { outline: 4px solid #b45800; outline-offset: 3px; }
    output { display: block; min-height: 5rem; padding: .8rem; background: #eef6ee; border-radius: .35rem; }
    output.error { background: #fff0ed; color: #802b21; }
    .small { font-size: .93rem; }
    @media print { button { display: none; } body { max-width: none; } }
.resource-heading-context{display:block;margin-top:.8rem;font-size:.8rem;line-height:1.5;font-weight:650;letter-spacing:.02em;color:#4c625a}
