/* Shared reference readability and inline explanations. */
.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;min-height:44px;white-space:normal;line-height:1.45;vertical-align:middle;text-align:center;overflow-wrap:anywhere}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
.actions>.button,.toolbar>.button,.compact-links>.button{margin:0}
.info>h2{margin-bottom:12px;font-size:clamp(22px,2.2vw,27px);line-height:1.3}
.info>p{line-height:1.6}
.info>.button{margin:12px 6px 2px 0}
.info>.actions:last-child{margin-bottom:0}
.home-details{margin:14px 0 0;font-size:14px;line-height:1.6}
.home-details>summary{cursor:pointer;font-weight:600;color:#285b7c;padding:8px 0;min-height:40px}
.home-details[open]>summary{margin-bottom:6px}
.home-details p{margin:8px 0}
.info .updated-badge{font-size:11px;vertical-align:middle;letter-spacing:0}
.doc-row{flex-wrap:wrap;min-width:0}
.doc-row>span:first-child,.doc-row>a:first-child{flex:1 1 180px}
.doc-row>.actions{flex:0 1 auto;margin:0}
.card,.info,.reading,.guide-card,.lesson,.section-heading>*{min-width:0}
.section-heading{flex-wrap:wrap}
.workspace>.cr-home{margin:16px clamp(14px,3vw,40px) 0}
.criterion-card>summary>span{min-width:0;overflow-wrap:anywhere}
.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;margin:16px 0;border-radius:8px}
.table-scroll:focus-visible{outline:3px solid #b78025;outline-offset:3px}
.term-label{display:inline!important;position:static!important;border:0!important;border-bottom:1px dotted currentColor!important;border-radius:0!important;padding:0!important;margin:0!important;min-height:0!important;min-width:0!important;width:auto!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;text-align:inherit!important;text-decoration:none!important;cursor:help;vertical-align:baseline;white-space:normal}
.term-label::after{content:' ⓘ';font-size:.7em;opacity:.65;white-space:nowrap}
.term-label:focus-visible{outline:2px solid #24709d!important;outline-offset:3px}
.term-popover{position:fixed;z-index:125;box-sizing:border-box;width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:16px 40px 16px 16px;background:#fff;color:#243d4e;border:1px solid #9eb9c9;border-radius:10px;box-shadow:0 8px 24px #19384a24;font:14px/1.55 'Segoe UI',Arial,sans-serif;overflow-wrap:anywhere}
.term-popover[hidden]{display:none!important}
.term-popover strong{display:block;font-weight:650;margin:0 0 7px;line-height:1.4}
.term-popover p{margin:0;line-height:1.55;font-size:14px}
.term-popover a{display:inline-block;margin-top:10px;color:#235d91}
.term-popover button{position:absolute;top:4px;right:4px;width:34px;height:34px;min-height:34px;padding:4px;background:transparent;border:0;color:#405c6c;font:22px/1 Arial;cursor:pointer}
@media(max-width:760px){.actions{gap:9px}.info{padding:18px}.doc-row{gap:12px}.doc-row>.actions{width:100%}.doc-row>.actions>.button{flex:1 1 130px}.topbar{position:static}.table-scroll table{min-width:520px}.home-details>summary{padding:10px 0}}
@media(max-width:400px){.info>h2{font-size:22px}.toolbar,.compact-links{gap:9px}.site-kit h2{font-size:24px}.button{font-size:13px}}
@media print{.term-popover{display:none!important}.term-label{border:0!important}.term-label::after{display:none}.table-scroll{overflow:visible;max-width:none}.table-scroll table{min-width:0}.home-details::details-content{display:block!important;content-visibility:visible!important}.home-details>summary{display:none}.home-details>:not(summary){display:block!important}}
