:root { color-scheme: light; font-family: system-ui, sans-serif; background: #f7fbfd; color: #18394a; }
    * { box-sizing: border-box; }
    body { max-width: 68rem; margin: 0 auto; padding: 1rem; line-height: 1.5; }
    h1 { line-height: 1.16; }
    .note, .panel { border: 2px solid #18394a; border-radius: .6rem; padding: 1rem; background: white; margin-block: 1rem; }
    .note { background: #eaf6ed; }
    .cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: .7rem; }
    .card { border: 2px solid #18394a; border-radius: .5rem; background: #e8f4fb; padding: .7rem; }
    .card strong { display: block; }
    .shape { display: block; font-size: 2rem; line-height: 1.35; }
    .solid { border: 4px solid #18394a; }
    .dashed { border: 4px dashed #18394a; }
    .missing { border: 3px solid #6f7d85; }
    .dotted { border: 4px dotted #18394a; }
    .badge { display: inline-flex; align-items: center; justify-content: center; min-width: 4.5rem; min-height: 4.5rem; margin: .5rem 0; background: white; }
    button, select { min-height: 2.8rem; padding: .35rem .7rem; font: inherit; color: #18394a; background: white; border: 2px solid #18394a; border-radius: .35rem; }
    button { cursor: pointer; font-weight: 700; }
    button[aria-pressed="true"] { background: #18394a; color: white; }
    button:focus-visible, select:focus-visible { outline: 4px solid #ee8b36; outline-offset: 3px; }
    .choices { display: flex; gap: .7rem; flex-wrap: wrap; }
    .response { padding: .75rem; min-height: 3rem; background: #fff1e4; border-left: .35rem solid #18394a; }
    .sort-row { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(11rem, 1fr); gap: .8rem; align-items: center; margin: .8rem 0; }
    .sort-row select { width: 100%; }
    @media print { button, select, #software { display: none; } }
.resource-heading-context{display:block;margin-top:.8rem;font-size:.8rem;line-height:1.5;font-weight:650;letter-spacing:.02em;color:#4c625a}
