/* Compact, shared subject navigation. No changes to exercises or scoring. */
body.is-student .simple-home a.student-subject-card {
  display:grid; grid-template-columns:112px minmax(0,1fr) 20px; grid-template-rows:1fr;
  align-items:center; min-height:190px; text-decoration:none; color:#f4f8ff; position:relative;
}
body.is-student .simple-home a.student-subject-card .simple-subject-icon,
body.is-student .simple-home a.student-subject-card .zylo-subject-art { width:112px; height:112px; }
body.is-student .simple-home a.student-subject-card .student-subject-copy { min-width:0; }
.subject-card-arrow { align-self:end; color:#c4d8ef; }
body.is-student .simple-home a.student-subject-card:focus-visible { outline:3px solid #d9f56f; outline-offset:5px; }
.topic-overview { padding-top:24px; padding-bottom:54px; }
.topics-heading { display:flex; align-items:center; gap:14px; margin:22px 0 28px; }
.topics-heading-art .zylo-subject-art { width:92px; height:92px; }
.topics-heading-copy { flex:1; min-width:0; }
.topics-heading h1 { margin:0 0 6px; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.12; }
.topics-heading p { margin:0; color:#bfd0e8; font-size:.96rem; }
.topics-profile-grade { align-self:center; flex:none; color:#d5e3f7; border:1px solid #7896bd55; padding:9px 13px; border-radius:13px; background:#22365080; font-size:.83rem; }
.topics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
.topics-group-heading { font-size:1.15rem; margin:30px 0 16px; color:#cbd9ee; }
body.is-student .topic-card { position:relative; min-width:0; border:1px solid transparent; border-radius:22px; background:var(--zylo-glass) padding-box,var(--zylo-edge) border-box; box-shadow:var(--zylo-shadow); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.topic-card-main { display:grid; grid-template-columns:76px minmax(0,1fr) 20px; grid-template-rows:1fr auto; gap:12px 8px; min-height:186px; padding:22px 20px 18px; text-decoration:none; color:#f4f8ff; border-radius:21px 21px 0 0; }
.topic-icon { grid-column:1; grid-row:1; align-self:start; }
.topic-icon .zylo-subject-art { width:78px; height:78px; }
.topic-card-copy { grid-column:2/4; min-width:0; }
.topic-card h2 { font-size:1.2rem; line-height:1.3; color:#f4f8ff; margin:3px 0 8px; overflow-wrap:anywhere; }
.topic-card-copy p { margin:0; font-size:.86rem; line-height:1.5; color:#c4d4eb; }
.topic-badge { display:inline-block; font-size:.66rem; color:#d9e7fe; letter-spacing:.055em; text-transform:uppercase; margin-bottom:3px; }
.topic-meta { grid-column:1/3; font-size:.79rem; color:#d3e0f2; align-self:end; }
.topic-open-arrow { grid-column:3; align-self:end; color:#d9f56f; }
.topic-open-arrow svg { width:19px; height:19px; }
.topic-options { border-top:1px solid #91acd32e; }
.topic-options>summary { list-style:none; display:flex; justify-content:flex-end; align-items:center; gap:8px; padding:12px 19px; cursor:pointer; min-height:46px; font-size:.78rem; color:#c7d9f1; border-radius:0 0 21px 21px; }
.topic-options>summary::-webkit-details-marker { display:none; }
.topic-options>summary svg { transition:transform .16s ease; }
.topic-options[open]>summary { border-radius:0; background:#10223a40; }
.topic-options[open]>summary svg { transform:rotate(180deg); }
.topic-options-body { padding:6px 19px 20px; }
.topic-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.topic-fields label { display:grid; gap:7px; min-width:0; color:#d7e5f7; font-weight:600; font-size:.79rem; }
body.is-student .topic-fields select { width:100%; min-width:0; min-height:46px; padding:10px 30px 10px 10px; border-radius:11px; border:1px solid #7896bd80; background:#13243c; color:#f4f8ff; color-scheme:dark; font-size:1rem; }
.topic-option-note { margin:10px 0; font-size:.76rem; line-height:1.55; color:#bbcde5; }
.topic-option-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:15px; }
body.is-student .topic-start { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid #99b3da80; border-radius:12px; padding:10px 12px; background:#304c6b; color:#f4f8ff; font:inherit; font-size:.81rem; font-weight:700; cursor:pointer; box-shadow:inset 0 1px 0 #ffffff0d; }
.topic-start svg { width:18px; height:18px; }
.topic-intro-link { color:#d8e7fb; font-size:.8rem; text-underline-offset:4px; padding:10px 0; }
.topic-results { padding-top:15px; margin-top:17px; border-top:1px solid #91acd32e; font-size:.78rem; color:#d4e0f2; }
.topic-results p { margin:7px 0; color:#c3d4ed; }
.topic-results small { display:block; color:#adbed8; line-height:1.5; }
.topic-options-body>.topic-results:first-child { padding-top:3px; margin-top:0; border:0; }
.topics-empty { padding:24px 0; color:#c7d9ef; }
.topics-upcoming { margin-top:24px; color:#adbed8; font-size:.84rem; }
.topics-upcoming summary { cursor:pointer; padding:12px 0; }
.topics-upcoming p { margin:8px 0; }
.topic-number { display:grid; place-items:center; width:56px; height:56px; border:1px solid #a3b5e373; border-radius:17px; color:#e3f3ff; font-size:1.5rem; font-weight:800; background:linear-gradient(145deg,#4d6a95,#263851); box-shadow:inset 0 1px 0 #ffffff35,0 5px 10px #040e2340; }
.topics-course-note { margin:0 0 22px; color:#bfd0e8; font-size:.9rem; }
body.is-student .topic-card :is(a,summary,button,select):focus-visible { outline:3px solid #d9f56f; outline-offset:3px; }
@media(hover:hover) {
  .topic-card-main:hover { background:#92b6ff0a; }
  .topic-card-main:hover h2 { color:#e6ffa0; }
  .topic-options>summary:hover { color:#fff; background:#92b6ff0d; }
  body.is-student .topic-start:hover { background:#3c5b7d; }
}
@media(max-width:1100px) { .topics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .topics-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .topics-heading { gap:8px; margin:18px 0 22px; align-items:flex-start; }
  .topics-heading-art { display:none; }
  .topics-heading p { font-size:.86rem; }
  .topics-profile-grade { padding:8px; font-size:.75rem; }
  .topic-card-main { min-height:169px; padding:19px 17px 16px; grid-template-columns:66px minmax(0,1fr) 20px; }
  .topic-icon .zylo-subject-art { width:68px; height:68px; }
  body.is-student .simple-home a.student-subject-card { min-height:160px; grid-template-columns:98px minmax(0,1fr) 18px; gap:10px; }
  body.is-student .simple-home a.student-subject-card .simple-subject-icon,
  body.is-student .simple-home a.student-subject-card .zylo-subject-art { width:98px; height:98px; }
}
@media(prefers-reduced-motion:reduce) { .topic-options>summary svg { transition:none; } }
