/* Quiet surfaces and clear hierarchy, shared by readers and editors. */
.access-badge svg{width:14px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.button,.save,.menu-toggle,.format-button,.add-block button{border-radius:5px}
.school-grid>a,.school-grid>a:nth-child(n),.topic-grid>a{background:#eef3f1;color:#244640;border:1px solid #ccd9d4;box-shadow:none}
.school-grid>a:hover,.school-grid>a:focus-visible,.topic-grid>a:hover{background:#e2ece7;border-color:#8da99e;transform:translateY(-2px)}
.school-grid h3,.topic-grid h3{color:#203f38;font-weight:500}
.school-grid span,.school-grid small,.topic-grid span{color:#526b63}
.schools-band{background:#f4f6f2}.school-tabs a{border-radius:4px}
.brand-logo,.admin-brand-logo{background:transparent}
.footer{background:#e8efeb;color:#203f38}.footer p,.footer a:not(.brand),.footer h2,.footer-bottom{color:#35544b}.footer .motto em{color:#386f60}.footer a:not(.brand):hover{color:#172f28}
.reader-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:40px;align-items:start}
.reader-main{min-width:0}.article>.breadcrumbs{max-width:none}.article-intro{max-width:none;margin:0 0 22px}.article-intro--with-cover{grid-template-columns:150px minmax(0,1fr);gap:28px}
.article-cover{width:150px;padding:6px}.article-header h1{font-size:clamp(28px,3.4vw,46px);line-height:1.14;letter-spacing:-.035em;margin:12px 0 22px}
.article-kind{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.article-kind .eyebrow{margin:0;font-size:10px}
.publication-meta{display:flex;flex-direction:column;gap:7px;font:14px/1.7 var(--sans);color:#355b50}.article-doi{font:12px/1.6 var(--sans);overflow-wrap:anywhere}
.article-meta{justify-content:flex-start;gap:9px;margin-top:20px;padding:14px 0}.article-meta .button,.article-meta .save{padding:9px 13px}
.access-badge{display:inline-flex;align-items:center;gap:5px;font:11px var(--sans);color:#37634f;white-space:nowrap}.access-badge.restricted{color:#796145}
.reader-tools{position:sticky;top:var(--reader-header-height,92px);z-index:15;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fafbf8;border-block:1px solid var(--line);min-height:50px;margin:20px 0 26px;padding:6px 12px}
.reader-toc{position:relative;min-width:0}.reader-toc summary{cursor:pointer;font:13px var(--sans);padding:8px 0}.reader-toc summary span{color:var(--muted);font-size:11px;margin-left:12px}.reader-toc nav{position:absolute;top:100%;left:0;width:min(540px,calc(100vw - 64px));max-height:55vh;overflow:auto;padding:16px;background:#fafbf8;border:1px solid var(--line);box-shadow:0 12px 24px #173f4312}.reader-toc a{display:block;font:13px/1.6 var(--sans);padding:7px 8px}.reader-toc a:hover,.reader-toc a[aria-current]{background:#e7eeea}.toc-level-2{margin-left:12px}.toc-level-3{margin-left:24px}
.reading-progress{display:flex;align-items:center;gap:6px;font:10px var(--sans);color:#466254}.reading-progress svg{width:30px;height:30px;transform:rotate(-90deg)}.reading-progress circle{fill:none;stroke-width:2.5}.progress-track{stroke:#dce5df}.progress-value{stroke:#3c7e6c;stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}
.reader-main .article-content{max-width:none;width:100%;font-size:17px;line-height:1.85}.article-content :is(h1,h2,h3)[id]{scroll-margin-top:calc(var(--reader-header-height,92px) + 80px)}
.article-abstract{margin:0 0 28px;padding-bottom:22px;border-bottom:1px solid var(--line)}.article-abstract h2{font:600 13px var(--sans);color:#385b50;margin:0 0 12px}.article-abstract p{margin:0;white-space:pre-line}
.citation-sidebar{font:12px/1.75 var(--sans);min-width:0;border-left:1px solid var(--line);padding-left:22px}.citation-sidebar details>summary{font-weight:600;cursor:pointer;padding:6px 0 16px}.citation-sidebar .source-note{margin:0 0 22px;padding-top:16px}.citation-sidebar dd{margin:0 0 10px;overflow-wrap:anywhere}.citation-sidebar dt{color:var(--muted)}.citation-sidebar p{font:12px/1.8 var(--sans);overflow-wrap:anywhere}.citation-sidebar dl{display:block}.article-download{padding-block:24px}.article-download .button{font:13px var(--sans);display:inline-flex;padding:12px 20px}.related-documents{border-top:1px solid var(--line)}.admin-introduction{padding-block:28px}.admin-introduction h2{font:30px var(--serif)}
@media(max-width:1000px){.reader-grid{grid-template-columns:minmax(0,1fr) 190px;gap:24px}.article-intro--with-cover{grid-template-columns:115px minmax(0,1fr);gap:20px}.article-cover{width:115px}.citation-sidebar{padding-left:16px}}
@media(max-width:760px){.reader-grid{grid-template-columns:minmax(0,1fr);gap:24px}.article-header h1{font-size:28px}.article-intro--with-cover{grid-template-columns:90px minmax(0,1fr);gap:16px}.article-cover{width:90px}.publication-meta{font-size:12px}.citation-sidebar{border:1px solid var(--line);padding:12px 16px}.citation-sidebar details>summary{padding:4px 0}.reader-main .article-content{font-size:16px}.reader-tools{top:var(--reader-header-height,72px)}.school-grid>a{min-height:122px}.school-grid h3{font-weight:600;line-height:1.3}.article-kind{gap:7px}.article-meta{flex-wrap:wrap}.article-meta .save,.article-meta .button{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Thẻ mục lục học thuật: nền sáng, thấp và có một dải nhấn thay cho các mảng màu lớn. */
.schools-band{padding:38px 0 42px;background:#f2f5f1;color:#183e38}
.schools-band .section-head{margin-bottom:20px}.schools-band .section-head h2{color:#183e38}.schools-band .eyebrow{color:#587d72}.schools-band .text-link{color:#274f46;border-color:#7c9a91}
.school-grid>a:nth-child(n),.topic-grid>a:nth-child(n){position:relative;background:#fbfcf9;color:#183e38;border:1px solid #cbd8d2;box-shadow:0 5px 16px rgba(24,62,56,.035);overflow:hidden}
.school-grid>a:nth-child(n){min-height:104px;padding:14px 18px 13px 21px}
.topic-grid>a:nth-child(n){min-height:124px;padding:17px 19px;display:flex;flex-direction:column}
.school-grid>a:nth-child(n)::before,.topic-grid>a:nth-child(n)::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#5d9181}
.school-grid>a:nth-child(3n+2)::before,.topic-grid>a:nth-child(3n+2)::before{background:#78aabe}.school-grid>a:nth-child(3n)::before,.topic-grid>a:nth-child(3n)::before{background:#b48662}
.school-grid>a:nth-child(n):hover,.school-grid>a:nth-child(n):focus-visible,.topic-grid>a:nth-child(n):hover,.topic-grid>a:nth-child(n):focus-visible{background:#f3f7f3;border-color:#829f95;transform:translateY(-2px);box-shadow:0 9px 22px rgba(24,62,56,.07)}
.school-grid>a:nth-child(n) h3,.topic-grid>a:nth-child(n) h2,.topic-grid>a:nth-child(n) h3{color:#183e38;font-weight:500}
.school-grid>a:nth-child(n) h3{margin:12px 0 9px;font-size:18px;line-height:1.22}.school-grid>a:nth-child(n) span,.school-grid>a:nth-child(n) small,.topic-grid>a:nth-child(n) span{color:#587068}
.topic-grid>a:nth-child(n) h2,.topic-grid>a:nth-child(n) h3{margin:18px 0 10px;font-size:21px;line-height:1.18}.topic-grid>a:nth-child(n)>span:last-child{margin-top:auto}

/* Danh sách bài chỉ để lộ tiêu đề và tác giả; mô tả mở theo yêu cầu trên desktop. */
.story-body>h3{margin-top:0}.story-description{margin-top:8px;border-top:1px solid var(--line)}.story-description summary{list-style:none;display:flex;justify-content:flex-end;cursor:pointer;padding:7px 2px 3px;color:#56746c}.story-description summary::-webkit-details-marker{display:none}.story-description summary span{display:inline-block;font:15px/1 var(--sans);transition:transform .18s ease}.story-description[open] summary span{transform:rotate(180deg)}.story-description p{margin:5px 0 0;padding:0 0 9px}

/* Menu trường được sắp theo tên tiếng Việt đã bỏ tiền tố Trường/Trường Đại học. */
.school-nav{position:relative;font:13px var(--sans)}.school-nav summary{list-style:none;cursor:pointer;padding:12px 0;border-bottom:1px solid transparent;white-space:nowrap}.school-nav summary::-webkit-details-marker{display:none}.school-nav[open] summary,.school-nav summary:hover{border-color:var(--ink)}.school-nav-menu{position:absolute;z-index:90;top:calc(100% + 9px);left:50%;transform:translateX(-50%);width:min(540px,calc(100vw - 32px));display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fbfbf8;border:1px solid #cbd8d2;box-shadow:0 18px 36px rgba(17,39,34,.14);padding:10px}.header nav .school-nav-menu a{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border:0;font-size:12px}.school-nav-menu a:hover{background:#edf3ef}.school-nav-menu small{color:#70837d;font-size:9px;white-space:nowrap}

/* Tiến độ đọc là một biểu tượng nổi độc lập, không chiếm dòng nội dung. */
.reading-progress{position:fixed;z-index:80;right:18px;bottom:22px;width:38px;height:38px;display:grid;place-items:center;padding:2px;border-radius:50%;background:rgba(251,251,248,.9);box-shadow:0 4px 16px rgba(24,62,56,.16);opacity:.5;pointer-events:none;transition:opacity .18s ease}.reading-progress.is-active{opacity:1}.reading-progress svg{width:34px;height:34px}.reader-tools{min-height:0;margin:16px 0 24px;padding:4px 10px}

@media(max-width:760px){
 .article-header h1{font-size:20px;line-height:1.16;letter-spacing:-.025em}.publication-meta{font-size:10px;line-height:1.55;gap:4px}.article-doi{font-size:10px}
 .story-description{display:none!important}
 .school-nav{width:100%}.school-nav summary{padding:8px 0}.school-nav-menu{position:static;transform:none;width:100%;grid-template-columns:1fr;margin-top:4px;max-height:48vh;overflow:auto;box-shadow:none}.header nav .school-nav-menu a{padding:9px 7px}
 .reading-progress{right:10px;bottom:16px;width:34px;height:34px}.reading-progress svg{width:30px;height:30px}
 .school-grid>a:nth-child(n){min-height:92px;padding:12px 14px 11px 17px}.topic-grid>a:nth-child(n){min-height:108px;padding:14px 16px}.topic-grid>a:nth-child(n) h2,.topic-grid>a:nth-child(n) h3{font-size:18px;margin:13px 0 8px}
}
@media(max-width:520px){.school-grid>a:nth-child(n){min-height:88px;padding:9px 8px 8px 11px}.school-grid>a:nth-child(n) h3{font-size:11px;margin:9px 0 6px}.school-grid>a:nth-child(n) span{font-size:8px}.school-grid>a:nth-child(n) small{font-size:0}.topic-grid>a:nth-child(n){min-height:96px}}

/* Trang đọc: một đường phân cách sau từng phần cần thiết, thân bài dùng trọn chiều ngang. */
.reader-grid{row-gap:0}
.article-intro{margin-bottom:0}
.article-header{margin-bottom:0}
.article-header h1{border:0}
.article-publication{border-bottom:1px solid var(--line);padding-bottom:14px}
.article-publication .publication-meta{margin-bottom:0}
.article-publication .article-doi{margin:8px 0 0}
.article-meta{border:0;margin-top:0;padding:14px 0 8px}
.reader-tools{border:0;border-bottom:1px solid var(--line);margin:8px 0 22px;padding:4px 10px 10px}
.reader-grid>.reader-tools{grid-column:1/-1}
.reader-grid>.article-content{grid-column:1/-1;min-width:0;width:100%;max-width:none;font-size:17px;line-height:1.85}
.reader-grid>.article-content p.content-block:not(.align-center):not(.align-right){text-align:justify;text-justify:inter-word}
.article-abstract{border-bottom:1px solid var(--line)}
.reader-grid>.article-content :is(.article-download){border-bottom:1px solid var(--line);padding:18px 0 24px}
.citation-sidebar{background:#fff;border:1px solid #d7e1dc;border-radius:3px;padding:17px 18px;box-shadow:0 7px 23px rgba(24,62,56,.08)}
.citation-sidebar details>summary{padding:0 0 13px}
.citation-sidebar .source-note{margin-bottom:0}
.classification-notes{display:grid;gap:12px}.classification-notes strong{display:block;color:#35544b}.classification-notes p{margin:3px 0 0}.classification-notes a{text-decoration:underline;text-decoration-color:#b9cfc5;text-underline-offset:2px}
.story-description[open] p{display:block;-webkit-line-clamp:unset;overflow-y:auto;max-height:min(50vh,340px);overscroll-behavior:contain;white-space:pre-line;padding-right:8px}
@media(max-width:760px){.reader-grid>.reader-tools{order:1}.reader-grid>.article-content{order:2;font-size:16px}.reader-grid>.citation-sidebar{order:3;margin-top:24px}.citation-sidebar{padding:13px 16px}}

.reader-copy-protected .article-intro,
.reader-copy-protected .article-content,
.reader-copy-protected .citation-sidebar {
  -webkit-user-select:none;
  user-select:none;
}
.reader-copy-protected .article-intro a,
.reader-copy-protected .article-content a,
.reader-copy-protected button,
.reader-copy-protected summary {
  -webkit-user-select:text;
  user-select:text;
}
.reader-restriction-note { margin-top:18px; }
.check-option { display:flex; align-items:center; gap:9px; cursor:pointer; }
.check-option input { inline-size:auto; }
