/* University desk: scoped additions to Uni News' existing editorial system. */
.ud-page { max-width: 58rem; padding-block: 1.5rem; }
.ud-heading { margin-bottom: 2.5rem; }
.ud-heading h1 { max-width: 23ch; font-size: clamp(2rem,4vw,3rem); line-height: 1.14; letter-spacing: -.03em; }
.ud-page h2 { font-size: 1.625rem; line-height: 1.3; }
.ud-page p { line-height: 1.65; max-width: 72ch; }
.ud-page [hidden] { display: none !important; }
.ud-choices { margin: 1.5rem 0; padding: 0; border: 0; }
.ud-choices legend { font-weight: 700; margin-bottom: .75rem; }
.ud-choice { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem; border: 1px solid #d9d9d2; border-bottom: 0; cursor: pointer; }
.ud-choice:last-child { border-bottom: 1px solid #d9d9d2; }
.ud-choice:has(:checked) { background: #f5f5f0; box-shadow: inset 4px 0 #161616; }
.ud-choice input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: #161616; }
.ud-choice strong,.ud-choice small { display: block; }
.ud-choice small { font-size: .9375rem; line-height: 1.55; color: #55554f; margin-top: .3rem; }
.ud-page label { line-height: 1.5; }
.ud-fields label { display: block; margin-top: 1rem; font-weight: 600; }
.ud-page :is(input:not([type=radio]),textarea,select) { width: 100%; max-width: 100%; box-sizing: border-box; padding: .75rem; font: inherit; font-size: 1rem; border: 1px solid #77776f; background: white; color: #161616; border-radius: 0; }
.ud-page textarea { resize: vertical; line-height: 1.6; }
.ud-page :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #161616; outline-offset: 4px; }
.ud-page button,.ud-actions a { min-height: 44px; padding: .75rem 1rem; font: inherit; border: 1px solid #161616; cursor: pointer; }
.ud-page .ud-primary { background: #161616; color: #fff; }
.ud-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: .75rem; }
.ud-actions button { background: #f5dc3d; color: #161616; }
.ud-actions a { display: inline-flex; align-items: center; }
.ud-muted { color: #55554f; font-size: .9375rem; }
#ud-context:empty,#ud-error:empty,#ud-copy-status:empty { display: none; }
#ud-context { padding: .75rem 1rem; border-left: 3px solid #161616; background: #f5f5f0; }
#ud-error { color: #922323; font-weight: 600; }
#ud-result { margin-top: 1.5rem; }
#ud-result>label { display: block; font-weight: 700; margin-bottom: .5rem; }
.ud-template,.ud-example { border-top: 1px solid #d9d9d2; padding-block: 1rem; margin-top: 1.5rem; }
.ud-page summary { padding-block: .5rem; min-height: 44px; cursor: pointer; font-weight: 700; }
.ud-template pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.8; padding: 1rem; background: #f5f5f0; }
.ud-next { border-top: 3px solid #161616; padding-top: 1rem; margin-top: 2.5rem; }
.ud-next li { margin-block: .8rem; line-height: 1.6; }
.ud-contact { padding-top: 1rem; margin-top: 2rem; border-top: 1px solid #d9d9d2; }
.ud-page :is(.vs-example,.ux-process) { max-width: 100%; }
.ud-page .vs-evidence-flow { grid-template-columns: 1fr; }
/* Loaded only on desk pages: allow the inherited shell to reflow with enlarged text. */
body:has(.ud-page) .primary-nav { flex-wrap: wrap; }
body:has(.ud-page) .primary-nav a { white-space: normal; }
body:has(.ud-page) .footer-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
body:has(.ud-page) .footer-grid nav { min-width: 0; overflow-wrap: anywhere; }
.ud-page :is(button,summary,.ud-choice) { touch-action: manipulation; }
.ud-page button:hover { text-decoration: underline; }
.ud-page #request { scroll-margin-top: 1rem; }
@media(max-width:600px) { .ud-choice { padding: .875rem .75rem; gap: .75rem; } .ud-heading { margin-bottom: 1.75rem; } }
