#view-majors{--major-accent:#49354b;--major-line:#f1e3e7;--major-muted:#71636d;line-height:1.9}
#view-majors [hidden]{display:none!important}
#view-majors button,#view-majors input,#view-majors select{font:inherit}
#view-majors :focus-visible{outline:3px solid #49354b;outline-offset:3px}
#view-majors .major-library-intro{display:flex;justify-content:space-between;gap:2rem;padding:2rem;border-radius:20px;background:linear-gradient(120deg,#f1e3e7,#faf7f4);border:1px solid #f1e3e7;margin-bottom:1.4rem}
#view-majors h2{font-size:1.65rem;margin:.25rem 0 .6rem;color:#49354b}
#view-majors h3{font-size:1.1rem;margin:.8rem 0 .5rem}
#view-majors p{margin:.45rem 0 .8rem}
#view-majors .major-kicker{color:#312331;font-weight:700;font-size:.84rem}
#view-majors .major-library-intro p{max-width:760px}
#view-majors .major-library-mark{border-right:3px solid #c9b7c0;padding:.6rem 1.2rem;color:#312331;font-weight:700;flex-shrink:0;align-self:center}
#view-majors .major-search{display:grid;grid-template-columns:minmax(170px,2fr) minmax(130px,1fr) auto;align-items:end;gap:12px;background:#fff;border:1px solid var(--major-line);border-radius:14px;padding:16px}
#view-majors .major-search label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.88rem;min-width:0}
#view-majors .major-search input,#view-majors .major-search select{width:100%;min-width:0;min-height:46px;border:1px solid #e5dce0;background:#fff;border-radius:8px;padding:8px 12px}
#view-majors .major-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
#view-majors .major-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--major-line);border-radius:16px;padding:20px;min-width:0}
#view-majors .major-card h3 button{padding:0;border:0;background:transparent;color:#312331;text-align:right;font-weight:700;cursor:pointer;font-size:1.12rem}
#view-majors .major-card>p{font-size:.92rem;color:#312331}
#view-majors .major-card-bottom{margin-top:auto;padding-top:14px}
#view-majors .major-card-bottom>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#view-majors .major-card-bottom .btn{font-size:.8rem;padding:8px 10px;min-height:42px}
#view-majors .major-meta,#view-majors small{color:var(--major-muted);font-size:.8rem}
#view-majors .major-group-section{grid-column:1/-1;min-width:0}#view-majors .major-group-section>h2,#view-majors .major-group-section>h3{margin:0;padding-block:8px;border-bottom:1px solid var(--major-line);color:var(--major-accent)}
.major-category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-block:20px}.major-category-nav a,.major-category-label{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid var(--major-line);border-radius:8px;color:var(--major-accent);text-decoration:none;overflow-wrap:anywhere}.major-category-nav a:hover,.major-category-nav a[aria-current=page]{background:var(--major-accent);color:white}.major-category-nav span{font-size:.85em}
#view-majors .major-pages,#view-majors .major-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0}
#view-majors .major-detail-header{padding:24px;background:#fff;border:1px solid var(--major-line);border-radius:16px}
#view-majors .major-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
#view-majors .major-section-nav a{padding:6px 10px;background:#f1e3e7;border-radius:6px;text-decoration:none;color:#312331;font-size:.83rem}
#view-majors .major-sections details{border:1px solid var(--major-line);border-radius:12px;margin:12px 0;padding:0 20px;background:#fff;scroll-margin-top:30px}
#view-majors .major-sections summary{padding:16px 0;cursor:pointer;font-weight:700;color:#312331}

#view-majors .major-content-block{padding:4px 0 17px;margin-top:12px;border-bottom:1px solid #f1e3e7}
#view-majors .major-content-block:last-child{border-bottom:0}
#view-majors .major-content-block p{white-space:normal;overflow-wrap:anywhere}
#view-majors .major-catalog-origin{font-size:.85rem;margin:18px 0;color:#71636d}
#view-majors .major-catalog-origin summary{cursor:pointer}
#view-majors .major-empty,#view-majors .major-error{grid-column:1/-1;padding:25px;background:#fff;border:1px solid var(--major-line);border-radius:12px}
#view-majors .major-error .btn{margin:5px}
@media(max-width:1150px){#view-majors .major-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#view-majors .major-search{grid-template-columns:1fr 1fr}}
@media(max-width:620px){#view-majors .major-grid{grid-template-columns:1fr}#view-majors .major-library-intro{padding:20px}#view-majors .major-library-mark{display:none}#view-majors .major-search{grid-template-columns:1fr}#view-majors .major-detail-header{padding:18px}#view-majors .major-sections details{padding:0 14px}#view-majors .major-detail-toolbar .btn{font-size:.8rem}#view-majors .major-section-nav a{flex-grow:1;text-align:center}}

#view-majors .major-content-editor { margin-block:18px; padding:20px; }
#view-majors .major-content-editor fieldset { min-width:0; margin-block:14px; padding:16px; border:1px solid var(--major-line); border-radius:10px; }
#view-majors .major-content-editor label { display:grid; gap:6px; margin-block:10px; overflow-wrap:anywhere; }
#view-majors .major-content-editor input[type="checkbox"] { width:auto; }
#view-majors .major-content-editor textarea,#view-majors .major-content-editor input:not([type="checkbox"]),#view-majors .major-content-editor select { width:100%; box-sizing:border-box; min-width:0; }
#view-majors .major-content-editor .case-actions label { flex:1 1 100px; }
#view-majors .major-content-editor details { margin-block:12px; padding:12px; border:1px solid var(--major-line); border-radius:10px; }
#view-majors .major-content-editor summary { cursor:pointer; font-weight:700; }
#view-majors .major-content-text { white-space:pre-wrap; overflow-wrap:anywhere; }
#view-majors .major-content-editor bdi { overflow-wrap:anywhere; }
@media(max-width:620px) { #view-majors .major-content-editor { padding:12px; } #view-majors .major-content-editor fieldset { padding:10px; } }
