.subject-main{padding-bottom:32px}
.subject-main .hero{padding:32px 0 20px}
.subject-main .hero h1{font-size:clamp(28px,4vw,40px);margin:12px 0 8px}
.subject-back{font-size:14px}
.subject-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.subject-japanese{--subject-color:#ef4444}.subject-math{--subject-color:#3b82f6}.subject-english{--subject-color:#a855f7}.subject-science{--subject-color:#22c55e}.subject-social{--subject-color:#a16207}.subject-other{--subject-color:#94a3b8}
.subject-switch a{display:inline-flex;justify-content:center;align-items:center;min-width:72px;min-height:44px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--subject-color) 35%,transparent);border-radius:12px;color:var(--subject-color);background:rgba(11,15,23,.35);box-shadow:0 0 0 1px color-mix(in srgb,var(--subject-color) 25%,transparent) inset}
html[data-theme="light"] .subject-switch a{background:rgba(255,255,255,.75)}
.subject-switch a:hover,html[data-theme="light"] .subject-switch a:hover,.subject-switch a[aria-current="page"]{color:var(--subject-color)!important;border-color:var(--subject-color);background:color-mix(in srgb,var(--subject-color) 8%,transparent);font-weight:800}
.subject-section{padding:12px 0}
.subject-filters{display:grid;grid-template-columns:150px 180px minmax(180px,1fr) auto;gap:14px;align-items:end;margin:20px 0 28px}
.subject-filters label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.subject-filters input,.subject-filters select{width:100%;min-height:46px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--text);font:inherit;font-size:16px;color-scheme:dark}
html[data-theme="light"] .subject-filters input,html[data-theme="light"] .subject-filters select{color-scheme:light}
.subject-filters .btn{min-height:46px;font:inherit;cursor:pointer;white-space:nowrap}
.subject-info{min-width:0;overflow-wrap:anywhere}
.subject-note{color:var(--muted);font-size:13px;margin-top:7px}
.accordion details{border:1px solid var(--line);border-radius:14px;padding:12px 10px;background:rgba(11,15,23,.35)}
.accordion details+details{margin-top:10px}
.accordion summary{cursor:pointer;font-weight:800;list-style:none}
.accordion summary::-webkit-details-marker{display:none}
.accordion .sub{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.subject-empty{padding:32px 18px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:var(--card)}
.subject-main .footer{display:flex;justify-content:space-between;gap:16px;font-size:13px}
.subject-filters :focus-visible,.subject-main a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){.subject-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.subject-search{grid-column:1/-1}.subject-filters button{grid-column:1/-1;justify-self:start}.subject-switch{gap:6px}.subject-switch a{min-width:64px;padding:8px 13px}.subject-main .hero{padding-top:22px}}
@media(max-width:600px){.subject-main .card{width:100%;padding-left:16px;padding-right:16px;overflow:hidden}.accordion details{padding:10px 8px;border-radius:12px}.accordion .sub{padding-top:8px}.dl-item{padding:10px}.dl-actions .btn{padding-left:10px;padding-right:10px}}
