/* Universal Decoder: accessible Caesar candidate explorer; limited to these tool pages. */
.decoder-caesar-all{margin:18px 0 24px;border:1px solid #cedae3;border-radius:10px;background:#fff;overflow:hidden}
.decoder-caesar-all summary{cursor:pointer;padding:15px 18px;font-weight:700;color:#17456a;list-style-position:inside}
.decoder-caesar-all summary:hover,.decoder-caesar-all summary:focus-visible{background:#f3f7fb}
.decoder-caesar-all[open] summary{border-bottom:1px solid #e2e8ed}
.decoder-caesar-list{max-height:650px;overflow:auto;padding:8px 14px}
.decoder-caesar-item{display:flex;flex-direction:column;gap:8px;padding:12px 4px;border-bottom:1px solid #e8edf0;min-width:0}
.decoder-caesar-item:last-child{border-bottom:0}
.decoder-caesar-item code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95em}
.decoder-caesar-item button{align-self:flex-start}
.decoder-results>.titleContent{margin:22px 0 10px}
@media(max-width:600px){.decoder-caesar-list{padding:6px 11px}.decoder-caesar-all summary{padding:12px}}
/* Advanced cryptanalysis is optional, run in a capped Web Worker. */
.decoder-advanced[hidden]{display:none!important}
.decoder-advanced{margin:22px 0 34px;padding-top:4px;border-top:1px solid #d7e0e9}
.decoder-advanced-results>.titleContent{margin-top:22px;margin-bottom:10px;font-size:1.25rem}
.decoder-advanced .decoder-result-card{margin-bottom:14px}
.decoder-advanced .decoder-result-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}
.decoder-advanced .legal-meta{overflow-wrap:anywhere}

/* Unified analysis flow (v5). */
.decoder-global-loading[hidden]{display:none!important}
.decoder-global-loading{display:flex;align-items:center;gap:14px;margin:18px 0;padding:20px 22px;background:#f1f6fb;border:1px solid #c9dbe8;border-radius:10px;color:#163d60;font-weight:600}
.decoder-spinner{display:inline-block;flex:none;width:26px;height:26px;border-radius:50%;border:3px solid #c3d7e6;border-top-color:#185e9a;animation:md5-decoder-rotate .85s linear infinite}
@keyframes md5-decoder-rotate{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.decoder-spinner{animation-duration:2.4s}}
.decoder-results .decoder-result-card{margin-bottom:15px}
.decoder-results .decoder-result-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}
.decoder-more-results{padding:14px}
.decoder-more-results .decoder-result-card{margin-bottom:14px}
.decoder-results .decoder-caesar-all{margin-top:22px}
