.subject-portal{min-height:calc(100vh - 76px);padding:14px 0 28px}
.subject-portal>.crumb{margin-bottom:10px}
.subject-banner{display:flex;align-items:center;gap:11px;margin-bottom:11px;padding:13px;background:linear-gradient(135deg,#dcfce7,#f8fffa);border:1px solid #bbdfc9;border-radius:14px}
.subject-banner .subject-icon{flex:0 0 auto;width:44px;height:44px;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(22,101,52,.1)}
.subject-banner h1{margin:0;font-size:clamp(1.3rem,4vw,1.7rem);line-height:1.1}
.subject-banner p{margin:2px 0 0;color:var(--muted);font-size:.78rem}
.accordion-stack{display:grid;gap:6px}
.resource-section{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 8px rgba(35,100,70,.035)}
.resource-toggle{width:100%;display:flex;align-items:center;gap:9px;padding:10px 12px;border:0;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.resource-toggle:hover,.resource-toggle:focus-visible{background:#f7fcf8;outline:none}
.resource-number{display:grid;place-items:center;width:31px;height:31px;flex:0 0 auto;border-radius:8px;background:var(--soft);color:#236446;font-size:.68rem;font-weight:900}
.resource-label{flex:1}
.resource-label strong,.resource-label small{display:block}
.resource-label strong{font-size:.9rem}
.resource-label small{margin-top:0;color:var(--muted);font-size:.67rem}
.resource-chevron{width:18px;height:18px;display:grid;place-items:center;color:#4f7d65;font-size:1rem;font-weight:900;transition:transform .25s ease}
.resource-toggle[aria-expanded=true]{background:#edf9f1}
.resource-toggle[aria-expanded=true] .resource-chevron{transform:rotate(180deg)}
.resource-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s ease,opacity .22s ease;border-top:0 solid var(--line)}
.resource-panel>div{overflow:hidden}
.resource-panel.open{grid-template-rows:1fr;opacity:1;border-top-width:1px}
.resource-content{padding:11px}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.content-card{padding:11px;border:1px solid var(--line);border-radius:9px;background:#f8fdf9}
.content-card strong{display:block;margin-bottom:3px;font-size:.9rem}
.content-card p{margin:0;color:var(--muted);font-size:.78rem}
.soon{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:99px;background:#fff3cd;color:#755c12;font-size:.61rem;font-weight:800;text-transform:uppercase}
.resource-link{display:inline-flex;margin-top:7px;padding:7px 9px;border-radius:7px;background:#236446;color:#fff;text-decoration:none;font-size:.72rem;font-weight:800}
@media(max-width:700px){.subject-portal{padding:9px 0 18px}
.subject-portal>.crumb{margin-bottom:7px}
.subject-banner{gap:9px;margin-bottom:8px;padding:10px}
.subject-banner .subject-icon{width:39px;height:39px}
.subject-banner h1{font-size:1.15rem}
.subject-banner p{display:none}
.resource-toggle{padding:8px 10px}
.resource-label small{display:none}
.content-grid{grid-template-columns:1fr}
.resource-content{padding:8px}
.content-card{padding:9px}
}

.paper-meta{display:grid;grid-template-columns:2fr 1.4fr .7fr .7fr;gap:7px;margin-bottom:8px}
.paper-meta>div{padding:9px;border:1px solid var(--line);border-radius:8px;background:#f8fdf9}
.paper-meta small,.paper-meta strong{display:block}.paper-meta small{color:var(--muted);font-size:.62rem;text-transform:uppercase;font-weight:800}.paper-meta strong{margin-top:2px;font-size:.78rem}
.paper-source{margin:0 0 8px;color:var(--muted);font-size:.72rem}
.paper-time{margin-bottom:7px;padding:7px 9px;border-radius:7px;background:#eaf7ee;color:#1d5e3d;font-size:.78rem}
.paper-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.paper-table{width:100%;border-collapse:collapse;background:#fff;font-size:.75rem}
.paper-table th,.paper-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.paper-table thead th,.paper-table tfoot th{background:#eaf7ee;color:#1d5e3d}
.paper-table th:last-child,.paper-table td:last-child{width:54px;text-align:center;font-weight:900}
.paper-notes{margin-top:8px;padding:10px;border-radius:8px;background:#fffaf0;border:1px solid #f0dda5;font-size:.72rem}
.paper-notes ul{margin:5px 0 0;padding-left:17px}.paper-notes li+li{margin-top:2px}
@media(max-width:700px){.paper-meta{grid-template-columns:1fr 1fr}.paper-meta>div{padding:7px}.paper-table{font-size:.68rem}.paper-table th,.paper-table td{padding:6px}.paper-notes{padding:8px}}
.resource-folder-link{display:block;text-decoration:none}.resource-folder-link b{display:inline-block;margin-top:6px;color:#16834f;font-size:.84rem}
