/* University collections share the existing paper, ink and accent palette. */
.yu-app .uc-tabs { display:flex; gap:6px; padding:6px; margin:0 0 24px; border:1px solid #d9e0d4; border-radius:13px; background:#f5f7ef; width:fit-content; max-width:100%; }
.yu-app .uc-tabs button { display:flex; align-items:center; justify-content:center; gap:9px; padding:13px 18px; color:#6a7b68; background:transparent; border:1px solid transparent; border-radius:9px; font-size:12px; font-weight:650; line-height:1.4; min-height:44px; }
.yu-app .uc-tabs button .yu-icon { width:17px; height:17px; }
.yu-app .uc-tabs button[aria-current=page] { background:#fffefa; color:#274438; border-color:#d7dfd0; box-shadow:0 2px 4px #1b343508; }
.yu-app .uc-tabs button:hover { color:#244438; background:#eaf0e2; }
.yu-app .uc-tabs button:focus-visible { outline-offset:1px; }
.yu-app .uc-app { min-width:0; }
.yu-app .uc-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr); position:relative; isolation:isolate; overflow:hidden; border:1px solid #314c41; border-radius:22px; background:#203e32; color:#f2f2dc; }
.yu-app .uc-hero-copy { padding:clamp(25px,4vw,46px); z-index:1; }
.yu-app .uc-hero .yu-eyebrow { color:#bdd0b8; font-size:9px; letter-spacing:.14em; }
.yu-app .uc-hero h2 { margin:24px 0 20px; font:400 clamp(36px,4.5vw,59px)/1.05 var(--yu-serif); color:#f5f2dd; letter-spacing:-.025em; }
.yu-app .uc-hero h2 em { font-weight:400; color:#c2d298; }
.yu-app .uc-hero p { color:#bed0ba; font-size:13px; line-height:1.85; margin-bottom:27px; }
.yu-app .uc-hero .yu-primary { background:#e2e9c6; color:#254735; border-color:#f0f2d833; }
.yu-app .uc-hero .yu-primary:hover { background:#f3f4db; }
.yu-app .uc-hero-art { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; overflow:hidden; border-left:1px solid #bed4b51c; min-height:310px; }
.yu-app .uc-art-word { font:400 clamp(58px,7vw,94px)/.95 var(--yu-serif); letter-spacing:-.05em; color:#ccddacaa; z-index:1; }
.yu-app .uc-art-note { font-size:8px; letter-spacing:.16em; color:#a9c19b; z-index:1; }
.yu-app .uc-orbit { position:absolute; width:280px; height:280px; border:1px solid #bbd8a629; border-radius:50%; transform:rotate(-25deg); }
.yu-app .orbit-one { top:-85px; right:-100px; box-shadow:0 0 0 20px #b6d5a107,0 0 0 40px #b6d5a106; }
.yu-app .orbit-two { bottom:-120px; left:-100px; width:300px; height:300px; box-shadow:0 0 0 25px #b6d5a108,0 0 0 50px #b6d5a105; }
.yu-app .is-external .uc-hero { background:#263b49; border-color:#3a5161; }
.yu-app .is-external .uc-hero h2 em { color:#d4c5a4; }
.yu-app .is-external .uc-hero p,.yu-app .is-external .uc-hero .yu-eyebrow { color:#b8c9ce; }
.yu-app .is-external .uc-hero .yu-primary { color:#354650; background:#e5d9bd; }
.yu-app .is-external .uc-art-word { color:#c6d7d9aa; }
.yu-app .is-external .uc-art-note { color:#a9bdc7; }
.yu-app .uc-collection { margin-top:36px; }
.yu-app .uc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr)); gap:18px; }
.yu-app .uc-grid>.uc-empty { grid-column:1/-1; }
.yu-app .uc-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.yu-app .uc-zone-card { display:flex; flex-direction:column; padding:25px; border-radius:16px; border:1px solid #d4ddc9; background:#f0f4e8; min-width:0; transition:border-color .16s,box-shadow .16s; }
.yu-app .uc-zone-card[data-tone="1"] { background:#f7f1e5; border-color:#e1d8c7; }
.yu-app .uc-zone-card[data-tone="2"] { background:#edf3f2; border-color:#d0ded9; }
.yu-app .uc-zone-card:hover { border-color:#9db093; box-shadow:0 8px 24px #263e2b06; }
.yu-app .uc-card-index { display:inline-flex; align-items:center; justify-content:center; height:38px; width:38px; border:1px solid #6a826331; border-radius:10px; color:#71856a; font:14px var(--yu-serif); }
.yu-app .uc-access { display:inline-flex; align-items:center; gap:5px; font-size:10px; color:#71806c; line-height:1.4; }
.yu-app .uc-access .yu-icon { width:12px; height:12px; }
.yu-app .uc-zone-card h3 { margin:26px 0 13px; font:500 25px/1.18 var(--yu-serif); letter-spacing:-.025em; }
.yu-app .uc-zone-card h3 button { display:flex; gap:12px; align-items:center; justify-content:space-between; width:100%; text-align:left; font:inherit; color:#314c38; padding:0; border:0; background:none; overflow-wrap:anywhere; }
.yu-app .uc-zone-card h3 .yu-icon { width:17px; height:17px; color:#8d9b82; }
.yu-app .uc-zone-card>p { color:#75816b; font-size:12px; line-height:1.8; margin-bottom:25px; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.yu-app .uc-zone-card footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; border-top:1px solid #93a88d34; padding-top:18px; margin-top:auto; color:#6a7d64; font-size:10px; }
.yu-app .uc-zone-card footer button { border:0; padding:0; display:inline-flex; gap:6px; align-items:center; font-size:11px; font-weight:650; color:#486a4a; background:transparent; }
.yu-app .uc-zone-card footer .yu-icon { width:13px; height:13px; }
.yu-app .uc-external-card { display:flex; flex-direction:column; min-width:0; padding:25px; border:1px solid #d7dfda; border-radius:16px; background:#fffef9; }
.yu-app .uc-external-glyph { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; border:1px solid #cedcdb; background:#eaf0ed; color:#52756f; }
.yu-app .uc-price { display:inline-flex; padding:7px 10px; color:#4c6759; background:#edf2e7; border:1px solid #d4dfcc; border-radius:7px; font-size:11px; font-weight:700; line-height:1.4; }
.yu-app .uc-price.is-free { color:#3f7752; background:#eaf5e8; }
.yu-app .uc-external-card h3 { margin:24px 0 8px; font-size:21px; line-height:1.3; letter-spacing:-.025em; }
.yu-app .uc-external-card h3 button { color:#304b4b; background:none; border:0; padding:0; font:inherit; font-weight:700; text-align:left; overflow-wrap:anywhere; }
.yu-app .uc-author { margin:0 0 17px; font-size:11px; color:#8b7658; overflow-wrap:anywhere; }
.yu-app .uc-card-description { color:#75837a; font-size:12px; line-height:1.8; margin-bottom:24px; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.yu-app .uc-external-meta { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; margin-top:auto; font-size:10px; color:#7b8a7e; }
.yu-app .uc-card-open { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:17px; padding:16px 0 0; border:0; border-top:1px solid #e0e7dc; background:none; color:#456857; font-size:12px; font-weight:700; }
.yu-app .uc-detail-hero { display:flex; gap:25px; justify-content:space-between; align-items:flex-start; background:#234334; border:1px solid #38573f; border-radius:20px; padding:clamp(25px,3.6vw,40px); }
.yu-app .uc-detail-hero>div:first-child { min-width:0; }
.yu-app .uc-detail-hero .yu-eyebrow { color:#b6cea3; font-size:9px; }
.yu-app .uc-detail-hero h2 { margin:19px 0 17px; font:400 clamp(28px,3.6vw,43px)/1.16 var(--yu-serif); color:#f1f1da; overflow-wrap:anywhere; }
.yu-app .uc-detail-hero p { max-width:650px; margin:0 0 20px; color:#b9cdb0; font-size:13px; line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; }
.yu-app .uc-detail-access { display:inline-flex; gap:6px; align-items:center; color:#c1d4b5; border:1px solid #9db98d46; border-radius:50px; padding:6px 10px; font-size:10px; }
.yu-app .uc-detail-access .yu-icon { width:12px; height:12px; }
.yu-app .uc-detail-actions { display:flex; gap:7px; align-items:center; flex-shrink:0; }
.yu-app .uc-detail-actions .yu-secondary { background:#f1f1dd; border-color:transparent; color:#324f39; min-height:38px; font-size:11px; padding:9px 13px; }
.yu-app .uc-detail-actions>.yu-icon-button { color:#bdcfae; border-color:#bad0a52e; }
.yu-app .uc-detail-actions>.yu-icon-button:hover { background:#7b997128; color:#fff; }
.yu-app .uc-detail-hero.is-external { background:#2c414e; border-color:#435966; }
.yu-app .uc-detail-hero.is-external .yu-eyebrow,.yu-app .uc-detail-hero.is-external p { color:#bacbd0; }
.yu-app .uc-detail-hero.is-external .uc-detail-access { color:#c4d3d7; border-color:#a2bfc546; }
.yu-app .uc-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.yu-app .uc-external-content { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; margin-top:26px; }
.yu-app .uc-external-content>section { min-width:0; padding:27px; border:1px solid #d9e1d4; border-radius:16px; background:#fffef9; }
.yu-app .uc-external-content>section:only-child { grid-column:1/-1; }
.yu-app .uc-description>p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.9; color:#657563; margin:21px 0 0; }
.yu-app .uc-external-links h3 { font-size:20px; margin:14px 0 23px; }
.yu-app .uc-small-note { font-size:11px; line-height:1.8; color:#85907c; margin:20px 0 0; }
.yu-app .uc-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:10px; }
.yu-app .uc-links:empty { display:none; }
.yu-app .uc-links a { display:flex; align-items:center; gap:12px; padding:14px; min-width:0; color:#435f4e; background:#f4f7ef; border:1px solid #d9e4d2; border-radius:10px; text-decoration:none; transition:border-color .15s,background .15s; }
.yu-app .uc-links a:hover { background:#edf4e6; border-color:#afc39f; }
.yu-app .uc-link-number { font:12px var(--yu-serif); color:#91a17f; }
.yu-app .uc-links a>span:nth-child(2) { display:flex; flex:1; min-width:0; flex-direction:column; gap:5px; overflow-wrap:anywhere; }
.yu-app .uc-links strong { font-size:12px; line-height:1.45; font-weight:600; }
.yu-app .uc-links small { font-size:10px; color:#89957d; }
.yu-app .uc-links .yu-icon { width:15px; height:15px; color:#87a073; }
.yu-app .uc-material-search { margin-bottom:18px; width:min(360px,100%); }
.yu-app .uc-materials { display:grid; gap:17px; }
.yu-app .uc-resource { padding:25px; border:1px solid #d7e0ce; border-radius:15px; background:#fffef9; min-width:0; }
.yu-app .uc-resource-heading { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.yu-app .uc-resource-index { font:14px var(--yu-serif); color:#92a17e; }
.yu-app .uc-resource-heading h3 { margin:0; flex:1; min-width:0; font-size:20px; line-height:1.35; overflow-wrap:anywhere; letter-spacing:-.02em; }
.yu-app .uc-resource>p { color:#65765f; font-size:13px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; margin-bottom:22px; }
.yu-app .uc-dialog { max-width:720px; }
.yu-app .uc-dialog small { color:#8c9784; font-size:10px; font-weight:400; }
.yu-app .uc-form-section { border-top:1px solid #e0e7d9; padding-top:20px; margin-top:24px; }
.yu-app .uc-form-section h3 { font-size:15px; margin-bottom:18px; }
.yu-app .uc-link-fields { display:grid; gap:14px; }
.yu-app .uc-link-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 36px; gap:10px; align-items:end; padding:15px; border:1px solid #dfe6d8; border-radius:10px; background:#f8faf3; }
.yu-app .uc-link-row label { margin:0; }
.yu-app .uc-link-row .yu-icon-button { width:36px; height:40px; }
.yu-app .uc-link-fields>.yu-secondary { justify-self:start; }
.yu-app .uc-form-note { color:#849077; font-size:11px; line-height:1.7; margin:0; }
.yu-app .uc-dialog :is(.uc-price-editor,.uc-audience) { border:0; border-top:1px solid #e0e7d9; padding:20px 0 0; margin:25px 0 0; min-width:0; }
.yu-app .uc-dialog :is(.uc-price-editor,.uc-audience)>legend { float:left; width:100%; font-size:13px; font-weight:650; color:#52634c; margin-bottom:13px; padding:0; }
.yu-app .uc-choice-row { display:flex; flex-wrap:wrap; gap:8px; clear:both; }
.yu-app .uc-choice-row>label { display:flex; gap:7px; align-items:center; margin:0; padding:11px 13px; border:1px solid #d7dfcd; border-radius:9px; background:#f5f8ef; color:#6d7d60; cursor:pointer; font-size:11px; font-weight:500; }
.yu-app .uc-choice-row>label:has(input:checked) { border-color:#8da775; background:#edf3df; color:#42633a; }
.yu-app .uc-choice-row input { margin:0; width:15px; height:15px; accent-color:#6c8759; }
.yu-app .uc-price-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; margin-top:17px; }
.yu-app .uc-dialog select { width:100%; margin-top:7px; padding:11px 12px; min-height:42px; border:1px solid #ccd8c5; border-radius:9px; background:#fffef9; color:#4c6045; font:inherit; font-size:13px; }
.yu-app .uc-audience-groups { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.yu-app .uc-audience-groups label { display:inline-flex; align-items:center; gap:8px; margin:0; padding:10px; border:1px solid #dce4d1; border-radius:8px; color:#65775a; font-size:11px; }
.yu-app .uc-audience-groups input { margin:0; width:15px; height:15px; accent-color:#6c8759; }
.yu-app .uc-audience>.uc-form-note { margin-top:13px; }
.yu-app .uc-dialog>.uc-form-note { margin-top:20px; }
.yu-app .uc-dialog input:focus-visible,.yu-app .uc-dialog textarea:focus-visible,.yu-app .uc-dialog select:focus-visible { outline:2px solid #a6bb8c; outline-offset:2px; }
@media(max-width:760px) {
  .yu-app .uc-tabs { width:100%; gap:3px; }
  .yu-app .uc-tabs button { flex:1; gap:6px; padding:10px; font-size:11px; }
  .yu-app .uc-hero { grid-template-columns:minmax(0,1fr) minmax(150px,.55fr); }
  .yu-app .uc-hero-art { min-height:260px; }
  .yu-app .uc-art-word { font-size:58px; }
  .yu-app .uc-art-note { display:none; }
  .yu-app .uc-hero h2 { font-size:41px; }
  .yu-app .uc-detail-hero { flex-direction:column; }
  .yu-app .uc-external-content { grid-template-columns:minmax(0,1fr); }
  .yu-app .uc-external-content>section { padding:22px; }
  .yu-app .uc-link-row { grid-template-columns:minmax(0,1fr) 36px; }
  .yu-app .uc-link-row>label { grid-column:1; }
  .yu-app .uc-link-row>.yu-icon-button { grid-column:2; grid-row:1/3; align-self:center; }
}
@media(max-width:480px) {
  .yu-app .uc-tabs button { flex-direction:column; gap:5px; padding:9px 5px; font-size:10px; }
  .yu-app .uc-tabs button .yu-icon { width:16px; height:16px; }
  .yu-app .uc-hero { grid-template-columns:minmax(0,1fr); }
  .yu-app .uc-hero-art { display:none; }
  .yu-app .uc-hero h2 { font-size:43px; }
  .yu-app .uc-zone-card,.yu-app .uc-external-card,.yu-app .uc-resource { padding:20px; }
  .yu-app .uc-collection .yu-catalog-top { flex-wrap:wrap; align-items:flex-start; }
  .yu-app .uc-collection .yu-search { width:100%; }
  .yu-app .uc-detail-hero { padding:24px; }
  .yu-app .uc-price-fields { grid-template-columns:minmax(0,1fr); gap:0; }
}
