:root{--navy:#10253f;--blue:#1f66b1;--light:#eef5fb;--border:#cfdae5;--text:#182638;--muted:#607084;--good:#147a43;--bad:#a33434;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f7f9fc;color:var(--text)}
.academic-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:32px 0 64px}.back-link{display:inline-block;margin-bottom:24px;color:var(--blue);text-decoration:none;font-weight:700}.academic-header,.game-header{margin-bottom:24px}.eyebrow{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.academic-header h1,.game-header h1{margin:.2rem 0 .6rem;color:var(--navy)}
.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.subject-card,.game-panel,.status-panel{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:24px}.subject-icon{font-size:2rem}.subject-card h2{margin:.5rem 0}.subject-card p{color:var(--muted);min-height:48px}
.primary-button{display:inline-block;border:0;border-radius:10px;padding:12px 18px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;cursor:pointer}.primary-button:disabled{opacity:.55;cursor:not-allowed}.coming-soon,.badge{display:inline-block;border-radius:999px;padding:7px 11px;background:var(--light);color:var(--navy);font-size:.85rem;font-weight:800}.hidden{display:none!important}
.game-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.game-meta{display:flex;gap:8px;flex-wrap:wrap}.objective{color:var(--muted);max-width:700px}.progress-track{height:10px;background:#dde6ef;border-radius:999px;overflow:hidden;margin-bottom:18px}.progress-track div{height:100%;background:var(--blue);width:0;transition:width .25s ease}
.clue-list{display:grid;gap:12px;margin-bottom:24px}.clue{border-left:4px solid var(--blue);background:var(--light);padding:14px 16px;border-radius:8px}.clue strong{display:block;font-size:.8rem;color:var(--blue);margin-bottom:5px}.answer-area label{display:block;font-weight:800;margin-bottom:8px}.answer-area input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:10px;font-size:1rem}.autocomplete-wrap{position:relative;margin-bottom:12px}.suggestions{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(16,37,63,.12)}.suggestion{display:block;width:100%;padding:11px 13px;text-align:left;border:0;background:#fff;cursor:pointer}.suggestion:hover,.suggestion:focus{background:var(--light)}.feedback{min-height:24px;font-weight:700}.feedback.good{color:var(--good)}.feedback.bad{color:var(--bad)}
.result-panel{margin-top:24px;border-top:1px solid var(--border);padding-top:22px}.result-kicker{color:var(--good);font-weight:800;text-transform:uppercase;font-size:.8rem}.result-panel h2{color:var(--navy);font-size:2rem}.result-panel h3{margin-bottom:6px}.score-line{font-weight:800}.topic-list{display:flex;flex-wrap:wrap;gap:8px}.topic-list span{background:var(--light);border-radius:999px;padding:7px 10px;font-size:.9rem}
@media(max-width:640px){.game-header{display:block}.game-meta{margin-top:12px}.academic-shell{width:min(100% - 20px,980px);padding-top:20px}.subject-card,.game-panel,.status-panel{padding:18px}}

.catalogue-header{max-width:780px}
.catalogue-controls{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.filter-button{border:1px solid var(--border);background:var(--white);color:var(--navy);border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}
.filter-button:hover,.filter-button:focus,.filter-button.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.catalogue-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;color:var(--muted)}
.catalogue-summary strong{color:var(--navy)}
.challenge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.challenge-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-top:5px solid var(--blue);border-radius:16px;padding:22px;min-height:270px;box-shadow:0 5px 18px rgba(16,37,63,.06);transition:transform .18s ease,box-shadow .18s ease}
.challenge-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(16,37,63,.11)}
.challenge-card.difficulty-easy{border-top-color:#2f8f5b}
.challenge-card.difficulty-intermediate{border-top-color:#c88216}
.challenge-card.difficulty-advanced{border-top-color:#a33434}
.challenge-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.challenge-number{font-size:.82rem;font-weight:900;letter-spacing:.06em;color:var(--blue)}
.difficulty-badge{border-radius:999px;padding:6px 10px;background:var(--light);font-size:.8rem;font-weight:900;color:var(--navy)}
.challenge-card h2{margin:18px 0 10px;color:var(--navy);font-size:1.28rem}
.challenge-card p{margin:0;color:var(--muted);line-height:1.55}
.challenge-card-footer{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.challenge-card-footer>span{font-size:.86rem;color:var(--muted);font-weight:700}
.challenge-card-footer .primary-button{white-space:nowrap}
@media(max-width:640px){
  .catalogue-summary,.challenge-card-footer{align-items:stretch;flex-direction:column}
  .challenge-card-footer .primary-button{text-align:center}
  .filter-button{flex:1 1 calc(50% - 10px)}
}
