@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');
:root{--ink:#302a3c;--muted:#7d7488;--green:#604087;--green-2:#8264a7;--mint:#f0eafa;--paper:#faf8fc;--line:#e5eae4;--white:#fff;--red:#b74742;--red-bg:#fff0ed;--gold:#e9b95e;--shadow:0 20px 60px rgba(27,53,44,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans Arabic','DM Sans',sans-serif;font-size:14px}.app-shell{min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.2vw}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:var(--green);color:#d9eadc;font-size:24px}.brand strong,.brand small{display:block}.brand strong{font:700 16px 'DM Sans',sans-serif;letter-spacing:.1px}.brand small{color:var(--muted);font-size:11px;margin-top:2px}.topbar-note{display:flex;align-items:center;gap:9px;color:#687770;font-size:12px}.online-dot{width:8px;height:8px;background:#65a985;border-radius:50%;box-shadow:0 0 0 4px #eaf4ed}.layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:292px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{padding:36px 23px 24px;background:#f5f1f8;border-left:1px solid #ece5f2;display:flex;flex-direction:column}.welcome{padding:0 8px 22px}.eyebrow{color:#69917d;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.4px;margin:0 0 10px}.welcome h1{font-size:25px;line-height:1.48;letter-spacing:-.4px;margin:0 0 9px;font-weight:600}.welcome>p:last-child{color:#718079;font-size:12px;line-height:1.9;margin:0;max-width:230px}.score-card{background:var(--green);border-radius:16px;padding:17px 18px 16px;color:white;margin:0 0 22px;box-shadow:0 12px 25px #174b3e20}.score-heading,.score-foot{display:flex;justify-content:space-between;align-items:center}.score-heading{font-size:11px;color:#d5e3da}.score-leaf{color:#b3d9bc;font-size:17px}.score-value{display:flex;align-items:baseline;gap:5px;margin:12px 0}.score-value strong{font:600 31px 'DM Sans',sans-serif}.score-value>span{color:#b3c8be;font:15px 'DM Sans',sans-serif}.score-value small{font-size:10px;color:#bfd2c7;margin-right:auto}.progress-track{height:5px;border-radius:5px;background:#ffffff32;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:5px;background:#c1dfa9;transition:width .25s}.score-foot{font-size:10px;color:#d1e0d7;margin-top:9px}.main-nav{display:grid;gap:5px}.nav-item{border:0;border-radius:10px;background:transparent;display:flex;align-items:center;gap:11px;text-align:right;padding:11px 12px;color:#53665d;font:500 12px inherit;cursor:pointer;transition:.18s}.nav-item:hover,.nav-item.active{background:#fff;color:var(--green);box-shadow:0 3px 10px #193d2910}.nav-item b{margin-right:auto;border-radius:20px;background:#e8eee8;min-width:27px;padding:3px 7px;text-align:center;font:600 10px 'DM Sans',sans-serif;color:#718178}.nav-item.active b{background:#e3efe6;color:var(--green)}.nav-icon{font:19px 'DM Sans',sans-serif;width:19px;text-align:center;color:#72897d}.side-divider{height:1px;background:#dfe7de;margin:19px 3px 17px}.filter-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 9px;color:#718079;font-weight:600;font-size:11px}.filter-heading button{border:0;background:none;color:#659078;font:inherit;cursor:pointer}.lecture-list{display:grid;gap:3px}.lecture{height:38px;display:flex;align-items:center;gap:9px;padding:0 9px;border:0;background:transparent;text-align:right;border-radius:8px;color:#63746a;font:500 11px 'DM Sans','IBM Plex Sans Arabic',sans-serif;cursor:pointer}.lecture:hover,.lecture.active{background:#e4ede4;color:var(--green)}.lecture-dot{width:7px;height:7px;background:#9cb3a3;border-radius:50%}.lecture.active .lecture-dot{background:#3e8a69;box-shadow:0 0 0 3px #d1e7d8}.lecture small{margin-right:auto;font-size:10px;color:#94a096}.reset-progress{margin-top:auto;border:0;background:transparent;color:#9a7970;text-align:right;padding:19px 9px 0;font:500 11px inherit;cursor:pointer}.reset-progress:hover{color:var(--red)}.workspace{padding:34px clamp(22px,4vw,60px) 18px;min-width:0}.workspace-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px;gap:20px}.workspace-heading h2{margin:0;font-size:24px;letter-spacing:-.3px}.workspace-heading .eyebrow{margin-bottom:5px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:9px;height:39px;padding:0 12px;color:#819088;min-width:190px}.search-box span{font:22px 'DM Sans',sans-serif;line-height:1}.search-box input{min-width:0;width:150px;border:0;outline:0;font:12px inherit;color:var(--ink);direction:rtl}.search-box input::placeholder{color:#a0aaa4}.quiz-grid{display:grid;grid-template-columns:minmax(0,1fr) 238px;gap:20px;align-items:start}.question-card,.question-rail{background:#fff;border:1px solid #e8ede7;border-radius:15px;box-shadow:var(--shadow)}.question-card{padding:25px 29px 22px;min-height:520px}.question-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.question-tag{display:flex;align-items:center;gap:8px;color:#6b8375;font-size:11px;font-weight:600}.question-number{color:var(--green);background:#eaf3eb;border-radius:7px;padding:6px 9px;font:700 11px 'DM Sans',sans-serif}.topic-chip{font-size:10px;border:1px solid #e6ece5;color:#819087;border-radius:20px;padding:5px 9px}.question-actions{display:flex;align-items:center;gap:8px}.icon-btn{border:1px solid var(--line);background:white;color:#73847a;width:34px;height:34px;border-radius:9px;cursor:pointer;font:18px 'DM Sans',sans-serif;display:grid;place-items:center}.icon-btn:hover,.icon-btn.saved{color:#a57926;background:#fff8e9;border-color:#f0dfbb}.question-prompt{font:600 18px/1.85 'DM Sans','IBM Plex Sans Arabic',sans-serif;direction:ltr;text-align:left;color:#1b342e;margin:0 0 17px}.question-prompt[dir="rtl"]{font-family:'IBM Plex Sans Arabic',sans-serif}.options{display:grid;gap:9px;direction:ltr}.option{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:12px 14px;background:#fff;border:1px solid #e7ece7;border-radius:10px;color:#344840;font:400 13px/1.7 'DM Sans',sans-serif;cursor:pointer;transition:.16s}.option:hover:not(:disabled){border-color:#a5c4ad;background:#fbfdfb;transform:translateY(-1px)}.option-letter{flex:0 0 25px;height:25px;border-radius:7px;background:#f0f3ef;color:#6a7c71;display:grid;place-items:center;font:600 11px 'DM Sans',sans-serif}.option-text{flex:1}.option.correct{border-color:#72b38b;background:#eef8f0;color:#245d3d}.option.correct .option-letter{background:#3a865d;color:white}.option.incorrect{border-color:#dc8f83;background:var(--red-bg);color:#953d36}.option.incorrect .option-letter{background:#c65c50;color:white}.option:disabled{cursor:default}.answer-feedback{margin-top:16px;border-radius:10px;padding:12px 14px;direction:rtl;text-align:right}.answer-feedback.good{background:#eff8f0;border:1px solid #d3ead7}.answer-feedback.bad{background:#fff3f0;border:1px solid #f0d7d1}.feedback-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;margin-bottom:4px}.good .feedback-title{color:#2d7549}.bad .feedback-title{color:#ae4c43}.feedback-copy{color:#65776d;font-size:11px;line-height:1.8}.explanation{margin-top:14px;padding:14px 15px;background:#f7f9f6;border-right:3px solid #85a88e;border-radius:8px;direction:rtl;text-align:right}.explanation h3{font-size:11px;color:#547760;margin:0 0 5px}.explanation p{font:400 12px/1.9 'DM Sans','IBM Plex Sans Arabic',sans-serif;color:#596a61;margin:0}.question-warning{margin-top:9px;color:#875b17;font-size:10px;line-height:1.7;background:#fff7e8;padding:8px 10px;border-radius:7px}.source-line{display:flex;gap:7px;align-items:flex-start;margin-top:10px;color:#8b968f;font:10px/1.7 'DM Sans',sans-serif;direction:ltr;text-align:left}.source-line b{color:#65756a;white-space:nowrap}.question-footer{border-top:1px solid #edf0eb;margin-top:22px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.footer-note{font-size:10px;color:#96a099}.pager{display:flex;gap:8px}.pager-btn{border:1px solid #dfe7df;background:white;color:#4d6858;border-radius:8px;padding:8px 13px;font:600 11px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer}.pager-btn:hover:not(:disabled){background:#eff5ef;border-color:#b7ccb9}.pager-btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.pager-btn:disabled{opacity:.42;cursor:default}.question-rail{padding:17px 15px 14px}.rail-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0eb;padding:0 1px 13px}.rail-heading strong,.rail-heading small{display:block}.rail-heading strong{font-size:12px}.rail-heading small{font-size:10px;color:#94a097;margin-top:3px}.rail-grid-icon{font-size:18px;color:#789180}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:14px 0 12px;max-height:274px;overflow:auto;direction:ltr}.question-cell{aspect-ratio:1;border:1px solid #e6ebe5;border-radius:7px;background:#fff;color:#6b7c72;font:500 10px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}.question-cell:hover{border-color:#91b79a;background:#f3f8f3}.question-cell.current{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px 9px #174b3e36}.question-cell.done{background:#e9f3eb;border-color:#d4e6d8;color:#3b754f}.question-cell.wrong{background:#fff0ed;border-color:#f0d7d1;color:#a34a40}.question-cell.current.done,.question-cell.current.wrong{background:var(--green);border-color:var(--green);color:white}.legend{display:grid;gap:7px;border-top:1px solid #edf0eb;padding:12px 2px 10px;color:#87928b;font-size:9px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:9px;height:9px;border-radius:3px;background:#f5f7f4;border:1px solid #e1e7e1}.legend .legend-current{background:var(--green);border-color:var(--green)}.legend .legend-done{background:#e9f3eb;border-color:#d4e6d8}.legend .legend-wrong{background:#fff0ed;border-color:#f0d7d1}.rail-tip{margin-top:5px;border-radius:8px;background:#f5f7f3;display:flex;align-items:flex-start;gap:8px;padding:9px;color:#77917d}.rail-tip>span{color:#c19540}.rail-tip p{margin:0;font-size:9px;line-height:1.7;color:#718078}.page-footer{display:flex;justify-content:space-between;align-items:center;color:#9ba69e;font:10px 'DM Sans',sans-serif;padding:16px 2px 0}.empty-state{min-height:480px;display:grid;place-items:center;text-align:center;padding:30px;color:#75847a}.empty-state .empty-icon{font-size:34px;color:#9bb9a2}.empty-state h3{margin:10px 0 5px;color:#314a3f;font-size:17px}.empty-state p{max-width:300px;font-size:12px;line-height:1.8;margin:0}.empty-state button{margin-top:16px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,14px);background:#183f35;color:white;border-radius:9px;padding:10px 16px;font-size:11px;box-shadow:0 10px 30px #10291e35;opacity:0;pointer-events:none;transition:.2s;z-index:3}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.layout{grid-template-columns:250px minmax(0,1fr)}.sidebar{padding-inline:17px}.quiz-grid{grid-template-columns:minmax(0,1fr) 205px;gap:13px}.question-card{padding:22px}.question-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.topbar{height:65px;padding:0 18px}.layout{display:block}.sidebar{padding:16px 18px 12px;border:0;border-bottom:1px solid var(--line);display:block}.welcome{display:none}.score-card{display:none}.main-nav{display:flex;gap:6px;overflow-x:auto}.nav-item{white-space:nowrap;padding:10px 11px}.side-divider,.filter-heading,.lecture-list,.reset-progress{display:none}.workspace{padding:23px 16px}.workspace-heading{align-items:center}.workspace-heading h2{font-size:20px}.search-box{min-width:42px;width:42px;padding:0 10px}.search-box input{display:none}.search-box:focus-within{width:190px}.search-box:focus-within input{display:block;width:140px}.quiz-grid{grid-template-columns:1fr}.question-rail{order:2}.question-card{min-height:unset;padding:19px}.question-prompt{font-size:16px}.question-grid{max-height:145px;grid-template-columns:repeat(10,1fr)}.rail-tip{display:none}.page-footer{font-size:9px}}
@media(max-width:480px){.topbar-note{font-size:10px}.topbar-note .online-dot{width:7px;height:7px}.workspace-heading{margin-bottom:16px}.workspace-heading h2{font-size:18px}.question-top{margin-bottom:14px}.topic-chip{display:none}.question-prompt{font-size:15px;line-height:1.8}.option{font-size:12px;padding:10px}.question-footer{align-items:flex-end}.footer-note{max-width:90px;line-height:1.5}.pager-btn{padding:8px 10px}.question-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:820px){.filter-heading{display:flex;margin:12px 0 5px}.lecture-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px}.lecture{flex:0 0 auto;padding:8px 10px}.lecture small{margin-inline-start:5px}.reset-progress{display:block;margin:8px 0 0;padding:5px 0;border:0;background:transparent;color:#8b6f68;font-size:10px}.sidebar{padding-bottom:10px}}
.account-actions{display:flex;align-items:center;gap:14px}.account-button{border:1px solid #dce8dd;border-radius:9px;padding:8px 12px;background:#f6faf6;color:#285744;font:600 11px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer}.account-button:hover{background:#eaf3ec}.workspace-tools{display:flex;align-items:center;gap:9px}.workspace-tools #exam-start{white-space:nowrap}.lecture-filter{width:100%;height:36px;padding:0 10px;border:1px solid #dfe7df;border-radius:8px;background:#fff;color:#53665d;font:11px 'IBM Plex Sans Arabic',sans-serif;margin-bottom:11px}.wallet-heading{padding-top:4px}.wallet-heading button{border:0;background:transparent;color:#548368;font:inherit;cursor:pointer}.stats-panel{margin-top:15px;padding:11px 10px;background:#fff;border:1px solid #e3eae2;border-radius:10px}.stats-title{font-size:11px;font-weight:700;color:#40594b;margin-bottom:7px}.stats-row{display:grid;grid-template-columns:minmax(0,1fr) 46px 39px;gap:5px;padding:5px 1px;border-top:1px solid #eff2ee;color:#748078;font-size:9px}.stats-row span:nth-child(n+2){text-align:center}.stats-head{font-weight:700;color:#94a099}.stats-empty{font-size:9px;line-height:1.6;color:#89958d;margin:5px 0}.app-dialog{width:min(430px,calc(100vw - 28px));padding:26px;border:1px solid #e2e9e2;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #12271d33}.app-dialog::backdrop{background:#0d211a88;backdrop-filter:blur(2px)}.app-dialog form{display:grid;gap:12px}.app-dialog h2{margin:0 0 7px;font-size:21px}.app-dialog label{display:grid;gap:6px;color:#53665d;font-size:11px}.app-dialog input[type=email],.app-dialog input[type=password]{height:40px;border:1px solid #dfe7df;border-radius:8px;padding:0 10px;font:13px 'DM Sans',sans-serif;direction:ltr}.dialog-copy{font-size:11px;color:#77837e;line-height:1.8}.dialog-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:6px}.dialog-close{border:0;background:transparent;color:#73847a;font-size:24px;cursor:pointer;line-height:1}.app-dialog form>.dialog-close{position:absolute;top:17px;left:18px}.account-message{margin:0;color:#487253;font-size:11px;line-height:1.7}.exam-dialog{width:min(760px,calc(100vw - 26px));max-height:86vh;overflow:auto}.exam-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #edf0eb;padding-bottom:12px}.exam-head h2{margin:0}.exam-question{padding:14px 0;border-bottom:1px solid #edf0eb}.exam-question h3{font-size:14px;line-height:1.8;margin:0 0 10px}.exam-options{display:grid;gap:6px}.exam-option{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid #e7ece7;border-radius:8px;font:12px/1.7 'DM Sans','IBM Plex Sans Arabic',sans-serif;direction:ltr}.exam-option input{margin-top:4px}.exam-option.exam-correct{background:#eff8f0;border-color:#72b38b;color:#245d3d}.exam-option.exam-incorrect{background:#fff3f0;border-color:#dc8f83;color:#953d36}.exam-explanation{background:#f7f9f6;padding:9px;border-radius:7px;color:#596a61;font-size:11px;line-height:1.7}.exam-score{font-size:14px;color:#285744}.exam-dialog>.dialog-actions{position:sticky;bottom:-26px;background:white;padding:13px 0 2px}
@media(max-width:820px){.side-divider{display:none}.lecture-filter,.stats-panel{margin-bottom:7px}.account-actions{gap:8px}.topbar-note{display:none}.account-button{padding:7px 9px}.workspace-tools{gap:6px}.workspace-tools #exam-start{font-size:10px;padding:8px}.stats-panel{display:none}}
@media(max-width:820px){.stats-panel{display:block}.wallet-buttons{display:flex;gap:5px;margin:-5px 0 9px}.wallet-buttons button{flex:1;border:1px solid #dfe7df;background:#fff;border-radius:7px;padding:6px 4px;color:#60746a;font:10px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer}}
.question-prompt{direction:inherit;text-align:start;unicode-bidi:plaintext}.option-text{direction:auto;text-align:start}.wallet-buttons{display:flex;gap:5px;margin:-5px 0 9px}.wallet-buttons button{flex:1;border:1px solid #dfe7df;background:#fff;border-radius:7px;padding:6px 4px;color:#60746a;font:10px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer}
.demo-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 4.2vw 0;padding:10px 14px;border:1px solid #e4c878;border-radius:10px;background:#fff8e8;color:#604c1d;font-size:11px;line-height:1.7}.demo-notice strong{font:700 11px 'DM Sans',sans-serif;letter-spacing:.02em}@media(max-width:600px){.demo-notice{display:grid;gap:2px;margin:10px 12px 0;padding:9px 11px;font-size:10px}.demo-notice strong{font-size:10px}}


/* Arwa subject management */
.subject-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 7px;margin-top:5px}
.subject-heading .filter-heading{padding:0;margin:0}
.subject-add{border:1px solid #e3d9ed;background:#fff;border-radius:7px;color:#604087;padding:5px 8px;font:600 10px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer;white-space:nowrap}
.subject-add:hover{background:#f3edf8}
#subject-list{display:grid;gap:3px;overflow:visible;padding:0}
.subject-row{position:relative;display:flex;align-items:center;gap:2px;min-width:0}
.subject-row>.lecture{flex:1 1 auto;min-width:0;width:auto}
.subject-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.subject-menu-wrap{position:relative;flex:0 0 30px}
.subject-menu-toggle{display:grid;place-items:center;width:28px;height:30px;border:0;border-radius:7px;background:transparent;color:#81748e;font:700 20px/1 'DM Sans',sans-serif;cursor:pointer}
.subject-menu-toggle:hover,.subject-menu-toggle[aria-expanded="true"]{background:#ede6f4;color:#604087}
.subject-menu{position:absolute;z-index:20;top:calc(100% + 2px);inset-inline-end:0;width:162px;padding:5px;border:1px solid #e8e0ee;border-radius:9px;background:#fff;box-shadow:0 10px 28px #302a3c20;display:grid;gap:2px}
.subject-menu[hidden]{display:none}
.subject-menu button{width:100%;padding:8px 9px;border:0;border-radius:6px;background:transparent;color:#443b4f;text-align:right;font:500 11px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer}
.subject-menu button:hover:not(:disabled){background:#f5f1f8}
.subject-menu button:disabled{opacity:.42;cursor:default}
.subject-menu button.danger{color:#a94442}
.subject-menu button.danger:hover{background:#fff0ed}
.hidden-subjects{margin-top:10px;border-top:1px solid #e5e0e9;padding-top:7px}
.hidden-subject-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:#796d84;text-align:right;font:600 10px 'IBM Plex Sans Arabic',sans-serif;cursor:pointer}
.hidden-subject-toggle:hover{background:#eee8f4;color:#604087}
.hidden-subject-toggle b{font:inherit}
.hidden-subject-list{display:grid;gap:3px;padding-top:4px}
.hidden-subject-list[hidden]{display:none}
.hidden-subject-name{flex:1;min-width:0;padding:8px 9px;color:#786e81;font-size:11px;overflow-wrap:anywhere}
.subject-empty{padding:7px 8px;color:#8c8395;font-size:10px;line-height:1.7}
@media(max-width:820px){#subject-list{display:grid;gap:3px;overflow:visible;padding:0}.subject-row>.lecture{flex:1 1 auto;min-width:0;height:38px;padding:0 9px}.subject-menu-wrap{flex-basis:30px}.subject-menu{inset-inline-end:0}}
