.keystore-page .institutional-main { padding-bottom: 64px; }
.keystore-page section[id] { scroll-margin-top: 110px; }
.keystore-page .institutional-title { font-size: clamp(1.8rem, 3.25vw, 2.7rem); }
.keystore-page .content-section a, .keystore-page .notice-box a { color: var(--accent-color); overflow-wrap: anywhere; text-underline-offset: .18em; }
.keystore-page .checker-controls { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; }
.keystore-page .checker-controls[hidden], .keystore-page [hidden] { display: none; }
.keystore-page input[type=file] { display: block; max-width: 100%; padding: 14px; border: 1px solid #53776a; border-radius: 8px; color: #f3fff6; background: #10221b; }
.keystore-page input::file-selector-button { padding: 8px 12px; margin-right: 12px; background: #c3ffd5; color: #112217; border: 0; border-radius: 4px; cursor: pointer; }
.keystore-page .checker-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.keystore-page button.checker-button { padding: 10px 16px; background: #c3ffd5; color: #112217; border: 1px solid #c3ffd5; border-radius: 6px; font: inherit; font-weight: 700; cursor: pointer; }
.keystore-page button.checker-button.secondary { background: #10221b; color: #e5fff0; }
.keystore-page button:disabled { opacity: .5; cursor: default; }
.keystore-page button:focus-visible, .keystore-page input:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.keystore-page .checker-result { margin-top: 22px; border: 1px solid #8bc5a0; padding: 20px; border-radius: 8px; overflow-wrap: anywhere; }
.keystore-page .checker-result[data-status=invalid] { border-color: #ffada5; }
.keystore-page .checker-result[data-status=warning], .keystore-page .checker-result[data-status=unsupported] { border-color: #efce8e; }
.keystore-page .checker-result ul { padding-left: 22px; }
.keystore-page .checker-result h3 { margin-top: 0; }
.keystore-page .test-table-wrap { overflow-x: auto; }
.keystore-page .test-table { width: 100%; border-collapse: collapse; min-width: 460px; }
.keystore-page .test-table th, .keystore-page .test-table td { text-align: left; border-bottom: 1px solid #365346; padding: 12px; vertical-align: top; }
.keystore-page .test-table caption { text-align: left; padding-bottom: 12px; color: #bdd8c7; }
.keystore-page code { overflow-wrap: anywhere; }
.keystore-page .checker-source { color: #bdd8c7; }
@media(max-width:600px) {
    .keystore-page .checker-result { padding: 16px; }
    .keystore-page .hero-actions { flex-direction: column; align-items: stretch; }
    .keystore-page .test-table, .keystore-page .test-table tbody, .keystore-page .test-table tr, .keystore-page .test-table td { display: block; width: 100%; min-width: 0; }
    .keystore-page .test-table caption { display: block; }
    .keystore-page .test-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .keystore-page .test-table tr { margin-bottom: 16px; border: 1px solid #365346; border-radius: 6px; }
    .keystore-page .test-table td:last-child { border: 0; }
    .keystore-page .test-table td::before { content: attr(data-label); display: block; color: #c3ffd5; font-weight: 700; margin-bottom: 6px; }
}
