*,*:before,*:after{box-sizing:border-box}body{font-family:Georgia,serif;background:#fff;color:#111;max-width:800px;margin:0 auto;padding:2rem;line-height:1.6}.back-nav{margin-bottom:1rem}.back-btn{background:none;border:none;font-family:Georgia,serif;font-size:.95rem;cursor:pointer;color:#555;padding:0;text-decoration:underline}.back-btn:hover{color:#111}.hub-title{font-size:2rem;text-align:center;margin-bottom:.5rem;border-bottom:2px solid #111;padding-bottom:.5rem}.hub-subtitle{text-align:center;color:#555;margin-bottom:1.5rem}.quiz-list{list-style:none;padding:0;margin:0}.quiz-list li{margin-bottom:.75rem}.quiz-list button{width:100%;text-align:left;padding:.75rem 1rem;font-family:Georgia,serif;font-size:1rem;border:2px solid #111;background:#fff;cursor:pointer;transition:background .15s}.quiz-list button:hover{background:#f0f0f0}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.home-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;border:2px solid #111;background:#fff;cursor:pointer;font-family:Georgia,serif;font-size:1rem;transition:background .15s;text-align:center}.home-card:hover{background:#f0f0f0}.home-card--primary{background:#111;color:#fff}.home-card--primary:hover{background:#333}.home-card__icon{font-size:2.5rem}.home-card__desc{font-size:.85rem;opacity:.75}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.topic-card{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px solid;background:#fff;cursor:pointer;font-family:Georgia,serif;font-size:1rem;text-align:left;transition:opacity .15s,background .15s}.topic-card:hover{opacity:.85}.topic-card--pending{border-color:#c00;color:#c00}.topic-card--pending:hover{background:#fff5f5}.topic-card--mastered{border-color:#2a7a2a;color:#2a7a2a}.topic-card--mastered:hover{background:#f0fff0}.topic-status{font-size:1.2rem;flex-shrink:0}.topic-label{font-weight:700}.note-content{border:1px solid #ccc;padding:1.5rem;margin-bottom:1.5rem;background:#fafafa}.note-content h1,.note-content h2,.note-content h3{border-bottom:1px solid #ddd;padding-bottom:.25rem}.note-content table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem}.note-content th,.note-content td{border:1px solid #ccc;padding:.4rem .75rem;text-align:left}.note-content th{background:#eee;font-weight:700}.note-content tr:nth-child(2n) td{background:#f9f9f9}.exercise-start-btn{display:block;width:100%;padding:1rem;border:2px solid #111;background:#111;color:#fff;font-family:Georgia,serif;font-size:1.1rem;cursor:pointer;transition:background .15s;margin-bottom:1rem}.exercise-start-btn:hover{background:#333}.quiz-header h1{font-size:1.5rem;border-bottom:2px solid #111;margin-bottom:1.5rem;padding-bottom:.5rem}.question-list{padding-left:1.5rem}.question-list li{margin-bottom:1.5rem;border-bottom:1px solid #ccc;padding-bottom:1rem}.question-list li.unanswered{outline:2px solid #c0392b;outline-offset:4px;border-radius:2px}.question-list li.unanswered .question-text:after{content:" ← Sila jawab soalan ini";color:#c0392b;font-size:.85rem;font-weight:400}.question-text{font-weight:700;margin:0 0 .75rem}.options-list{list-style:none;padding-left:1rem;margin:0}.options-list li{border:none;margin-bottom:0;padding-bottom:0}.options-list label{display:block;padding:.4rem 0;cursor:pointer}.options-list label:hover{text-decoration:underline}.submit-btn,.retake-btn,.hub-btn{padding:.7rem 2rem;border:2px solid #111;font-family:Georgia,serif;font-size:1rem;cursor:pointer;margin-right:1rem;margin-top:1.5rem}.submit-btn,.retake-btn{background:#111;color:#fff}.submit-btn:hover,.retake-btn:hover{background:#333}.hub-btn{background:#fff;color:#111}.hub-btn:hover{background:#f0f0f0}.score{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.result-correct{color:#2a7a2a}.result-wrong{color:#c00}.result-answer{font-weight:700}.review-heading{border-top:2px solid #111;padding-top:1rem;margin-top:2rem}.review-list{padding-left:1.5rem}.review-list li{margin-bottom:1.5rem;border-bottom:1px solid #ccc;padding-bottom:1rem}.review-options{list-style:none;padding-left:1rem;margin:.5rem 0 0}.buttons-row{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.5rem}.mastery-banner{border:3px solid #2a7a2a;background:#f0fff0;padding:2rem;text-align:center;margin-bottom:2rem}.mastery-icon{font-size:3rem;margin-bottom:.5rem}.mastery-banner h2{color:#2a7a2a;margin:0 0 .5rem}.mastery-hint{color:#888;font-size:.9rem}.loading-text,.error-text{text-align:center;color:#888;padding:2rem}@media(max-width:640px){body{padding:1rem}.hub-title{font-size:1.4rem}.home-grid,.topic-grid{grid-template-columns:1fr}.home-card{padding:1.25rem 1rem}.home-card__icon{font-size:2rem}.topic-card{padding:.85rem 1rem}.quiz-header h1{font-size:1.15rem}.question-list{padding-left:1.25rem}.question-text{font-size:.95rem}.options-list{padding-left:0}.options-list label{padding:.65rem .5rem;min-height:44px;display:flex;align-items:center;gap:.5rem}.options-list input[type=radio]{width:18px;height:18px;flex-shrink:0}.question-list li.unanswered .question-text:after{display:block;margin-top:.25rem}.submit-btn,.retake-btn,.hub-btn{display:block;width:100%;margin-right:0;margin-top:.75rem;padding:.85rem 1rem;text-align:center}.buttons-row{flex-direction:column;gap:0}.note-content{padding:1rem;overflow-x:hidden}.note-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.score{font-size:1.1rem}.review-list{padding-left:1.25rem}.mastery-banner{padding:1.25rem 1rem}.mastery-icon{font-size:2.25rem}.exercise-start-btn{font-size:1rem;padding:.85rem 1rem}.home-grid--3{grid-template-columns:1fr}}.home-grid--3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-top:2rem}.story-container{margin-top:2rem}.story-section{margin-bottom:3rem;padding:2rem;border:1px solid #eee;border-left:4px solid #111;background:#fff;box-shadow:0 4px 6px -1px #0000000d}.story-language-tag{display:inline-block;font-family:sans-serif;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:#111;color:#fff;padding:.25rem .6rem;margin-bottom:1.5rem}.story-body{font-size:1.2rem;line-height:1.8}.story-body p{margin:0}.story-body strong{color:#111;border-bottom:2px solid #ddd}.story-thesaurus{margin-top:4rem;border-top:2px solid #111;padding-top:2rem}@media(max-width:640px){.story-section{padding:1.25rem;margin-bottom:2rem}.story-body{font-size:1.05rem}}
