@font-face{font-family:IranSans;src:url('/static/fonts/IRANSansXV.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--ink:#183a3e;--ink-soft:#597074;--muted:#899795;--green:#316b5b;--lime:#d5e8b5;--paper:#f5f6f0;--white:#fff;--line:#e3e8df;--coral:#ed947e;--gold:#d6ab55;--red:#ba5d58;--shadow:0 10px 35px #183a3e05;--side:244px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:IranSans,Tahoma,sans-serif;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.85;font-weight:450}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80bba7;outline-offset:4px}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:750;line-height:1.6}h1{font-size:28px;letter-spacing:-.7px}h2{font-size:21px}h3{font-size:16px}.sub{color:var(--ink-soft);font-size:13px}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap8{gap:8px}.spacer{flex:1}.grid{display:grid;gap:20px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:4px 11px;font-size:11px;background:#edf2e7;color:#53724b;font-weight:650}.pill.coral{background:#fae9e2;color:#a4604f}.pill.gold{background:#fbf3df;color:#9a7b36}.pill.gray{background:#edf0ee;color:#6d807b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:12px;padding:11px 20px;font-weight:650;font-size:13px;transition:transform .18s,background .18s,box-shadow .18s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--ink);color:white;box-shadow:0 5px 14px #173a3e15}.btn.primary:hover{background:#285459}.btn.soft{background:#eaf0e3;color:var(--green)}.btn.outline{border:1px solid var(--line);background:white}.btn.light{background:#d8e9bf;color:#214936}.btn.danger{background:#f8e8e5;color:#ab5651}.btn.small{padding:7px 13px;font-size:12px;border-radius:9px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;transition:background .2s}.icon-btn:hover{background:#e9eee4}.icon-btn.active{background:#fff2d2;color:#af8531}.icon-btn svg{width:20px;height:20px}.card{background:white;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow)}.empty{padding:60px 20px;text-align:center;color:var(--ink-soft)}.empty>svg{width:48px;height:48px;color:#9bb2a2;margin-bottom:12px}.empty h3{margin-bottom:7px}.empty .btn{margin-top:18px}
.sidebar{position:fixed;right:0;top:0;bottom:0;width:var(--side);background:#fff;border-left:1px solid var(--line);padding:32px 23px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:38px;padding:0 10px}.brand-mark{width:45px;height:45px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#d8e9bf;font-size:28px;font-weight:800}.brand-mark svg{width:29px;height:29px}.brand strong{font-size:26px;line-height:1.3}.brand small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.nav-label{font-size:10px;color:#99a49d;padding:0 14px;margin:18px 0 10px;letter-spacing:.3px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:12px;margin:4px 0;color:#6d807c;font-size:13px;text-align:right;transition:.2s}.nav-item svg{width:20px;height:20px}.nav-item:hover{background:#f3f6ef;color:var(--ink)}.nav-item.selected{background:#eaf1e2;color:#356545;font-weight:750}.nav-item .badge{font-size:10px;margin-right:auto;background:#fff;padding:0 7px;border-radius:5px}.sidebar-note{background:#f5f7ee;border:1px solid #e8eddf;padding:17px;border-radius:15px;margin-top:30px}.sidebar-note svg{color:#6f9a63}.sidebar-note h4{font-size:12px;margin:8px 0 5px}.sidebar-note p{font-size:10px;color:#89957e}.sidebar-footer{margin-top:auto;padding-top:25px;font-size:10px;color:#9ca99e}.sidebar-footer span{display:flex;align-items:center;gap:6px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8aac74}
.shell{margin-right:var(--side);padding:0 42px 45px;max-width:1900px}.topbar{height:99px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px;margin-bottom:31px}.breadcrumb{color:#829089;font-size:12px;display:flex;align-items:center;gap:10px}.breadcrumb svg{width:15px;height:15px;color:#91a88b}.top-actions{display:flex;align-items:center;gap:15px}.search-btn{display:flex;align-items:center;gap:10px;font-size:11px;color:#8b9690;background:#fff;border:1px solid var(--line);padding:8px 13px;border-radius:10px;min-width:215px}.search-btn svg{width:17px;height:17px}.search-btn kbd{font-size:9px;border:1px solid #e5e9e1;border-radius:4px;padding:0 4px;margin-right:auto;font-family:inherit}.profile{display:flex;align-items:center;gap:9px;font-size:11px}.avatar{width:36px;height:36px;border-radius:50%;background:#e7e9d5;display:grid;place-items:center;color:#6a7d48;font-weight:750}.mobile-menu{display:none}.page-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.eyebrow{display:block;font-size:11px;color:#6d8c6b;margin-bottom:4px}.page-intro p{color:var(--ink-soft);font-size:12px;margin-top:5px}.date-chip{font-size:11px;color:#7f8e80;background:#eaf0e2;border:1px solid #e1e8d8;padding:6px 11px;border-radius:8px}
.dashboard-top{grid-template-columns:minmax(0,1fr) 295px;gap:22px}.hero{position:relative;min-height:263px;border-radius:21px;background:#193f40;overflow:hidden;color:white;display:flex;align-items:center;padding:34px}.hero:before{content:'';position:absolute;width:400px;height:400px;border:1px solid #ffffff0a;border-radius:50%;left:-120px;top:-240px}.hero-copy{position:relative;z-index:1;max-width:65%}.hero .eyebrow{color:#bad49f;font-size:11px;display:flex;gap:6px;align-items:center}.hero .eyebrow svg{width:15px;height:15px}.hero h2{font-size:29px;font-weight:750;margin:8px 0 10px;letter-spacing:-1px;line-height:1.7}.hero p{color:#b4cbc5;font-size:12px;max-width:365px;margin-bottom:22px;line-height:2}.hero .btn{font-size:11px;padding:9px 16px}.hero-art{position:absolute;left:18px;bottom:-9px;width:220px;height:255px;pointer-events:none}.hero-art .orbit{position:absolute;border:1px solid #9bbca42c;border-radius:50%;width:205px;height:205px;left:0;top:13px}.hero-art .orbit.second{width:154px;height:154px;left:25px;top:39px}.book-shape{position:absolute;left:44px;top:64px;width:119px;height:142px;background:#e2e9d2;border-radius:6px 15px 15px 6px;transform:rotate(-15deg);box-shadow:-8px 7px 0 #b5c4a6,0 18px 40px #061d2430;border-right:8px solid #9cb598}.book-shape:after{content:'';position:absolute;left:18px;right:16px;top:33px;border-top:2px solid #78967e;box-shadow:0 14px 0 #9fb39c,0 28px 0 #bac8ab;opacity:.6}.book-shape svg{position:absolute;width:43px;height:43px;left:30px;bottom:22px;color:#617e68;stroke-width:1.2}.floating-chip{position:absolute;left:0;top:10px;background:#426866;border:1px solid #74918466;padding:7px 11px;border-radius:11px;display:flex;gap:7px;align-items:center;font-size:9px;transform:rotate(5deg);box-shadow:0 10px 20px #102e3333}.floating-chip svg{width:14px;height:14px;color:#d1dfad}.star-shape{position:absolute;left:167px;top:39px;color:#d5bb7a;font-size:38px}.plant{position:absolute;bottom:5px;left:4px;width:70px;height:90px;opacity:.75}.plant svg{height:100%;width:100%;stroke:#9cc0a0;stroke-width:1.2}
.daily-card{padding:24px;background:#fff;display:flex;flex-direction:column}.daily-card h3{font-size:13px}.progress-ring{width:116px;height:116px;position:relative;margin:10px auto 8px}.progress-ring svg{width:116px;height:116px;transform:rotate(-90deg);stroke-linecap:round}.progress-ring .ring-bg{stroke:#eff2e8;stroke-width:8}.progress-ring .ring-value{stroke:#789b67;stroke-width:8;transition:stroke-dasharray 1s}.ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring-label b{font-size:24px;font-weight:750;line-height:1.4}.ring-label span{font-size:9px;color:#8b9b8a}.daily-card .row{font-size:10px;color:#8b998b;justify-content:center}.daily-card>p{font-size:10px;color:#95a28f;text-align:center;margin-top:auto}
.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0 30px}.stat{padding:18px 19px;display:flex;align-items:center;gap:14px}.stat-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eff3e6;color:#819b68}.stat-icon.coral{background:#fbede7;color:#d1917c}.stat-icon.blue{background:#eaf0f1;color:#7e9fa5}.stat-icon.gold{background:#faf3e1;color:#ba9a55}.stat-icon svg{width:21px;height:21px}.stat-value{font-size:23px;font-weight:750;line-height:1.45}.stat-label{font-size:10px;color:#91a08e}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px}.section-head h2{font-size:18px}.text-btn{font-size:11px;display:inline-flex;align-items:center;gap:5px;color:#6d8b66}.text-btn svg{width:15px;height:15px}.content-columns{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:22px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.course-card{padding:23px;position:relative;overflow:hidden;transition:.2s;cursor:pointer}.course-card:hover{border-color:#a7bba0;transform:translateY(-3px);box-shadow:0 9px 23px #173c3e08}.course-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.course-icon{height:51px;width:51px;border-radius:15px;display:grid;place-items:center;color:#ce7a67;background:#fae9e2}.course-icon svg{width:29px;height:29px;stroke-width:1.4}.course-icon.teal{color:#7c9e88;background:#edf3e8}.course-card h3{font-size:16px;margin:0 0 4px}.course-card>p{font-size:10px;color:#91a08d}.course-meta{display:flex;align-items:center;gap:15px;font-size:10px;color:#859783;margin-top:17px}.course-meta span{display:flex;align-items:center;gap:5px}.course-meta svg{width:14px;height:14px}.bar{height:5px;background:#f0f2e9;border-radius:5px;overflow:hidden;margin-top:21px}.bar>i{height:100%;background:#9bb586;border-radius:5px;display:block;transition:width .5s}.course-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;color:#8c9e88}.course-foot .text-btn{font-size:10px}.add-course{border:1px dashed #cbd5c2;background:#f2f5ec;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;border-radius:19px;cursor:pointer;transition:.2s}.add-course:hover{background:#eaf0e1;border-color:#99af8d}.add-icon{border:1px dashed #aaba9a;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;color:#8da17b;margin-bottom:17px}.add-course h3{font-size:13px;color:#829272}.add-course p{font-size:10px;color:#9ba58f;margin-top:7px;max-width:170px}.right-stack{display:flex;flex-direction:column;gap:17px}.review-card{padding:22px;background:#f0f1e2;border-color:#e4e7d7}.review-card .row svg{color:#ac9a53}.review-card h3{font-size:13px}.review-card p{color:#92977b;font-size:10px;margin:10px 0 16px}.review-card .btn{width:100%;background:white;border:1px solid #e1e5d4;font-size:11px;padding:8px}.week-card{padding:20px}.week-card h3{font-size:12px}.week-bars{height:85px;display:flex;align-items:flex-end;gap:10px;margin-top:16px;direction:rtl}.week-day{flex:1;text-align:center;font-size:8px;color:#a0aa98;display:flex;flex-direction:column;align-items:center;gap:6px}.week-day i{display:block;width:16px;min-height:4px;background:#dde8ce;border-radius:4px}.week-day.today i{background:#8aa678}.week-card .sub{font-size:9px;margin-top:8px}.latest-section{margin-top:30px}.history-row{display:flex;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid #edf0e8}.history-row:last-child{border-bottom:0}.history-row p{font-size:11px;color:#8b9b86}.history-row strong{font-size:13px}.score-tag{font-size:16px;font-weight:750;color:#658457;background:#f0f5e8;border-radius:10px;padding:4px 12px;margin-right:auto}.footnote{font-size:10px;color:#a1ab9a;margin-top:35px;text-align:center}
.lesson-header{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:24px}.lesson-header .course-icon{height:64px;width:64px}.lesson-header h1{font-size:23px}.lesson-header p{font-size:12px;color:var(--ink-soft);margin-top:4px}.lesson-header .bar{max-width:300px;margin-top:12px}.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-card{padding:23px;display:flex;flex-direction:column;position:relative}.lesson-number{font-size:10px;color:#7d9a68;background:#f0f4e8;display:inline-flex;padding:4px 9px;border-radius:7px;margin-bottom:14px}.lesson-card h3{font-size:14px;min-height:50px}.lesson-card .sub{font-size:10px;margin-top:8px}.lesson-card .bar{margin-top:18px}.lesson-actions{display:flex;gap:7px;margin-top:18px}.lesson-actions .btn{flex:1;font-size:10px;padding:9px 10px}.lesson-card .icon-btn{height:34px;width:34px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.filters input{min-width:250px}.field{border:1px solid #dfe6da;background:#fff;border-radius:11px;padding:11px 13px;width:100%;color:var(--ink)}select.field{cursor:pointer}.field:focus{border-color:#8fae84;outline:none;box-shadow:0 0 0 3px #a6c9941a}textarea.field{min-height:100px;resize:vertical}.field-label{font-size:12px;color:#667f69;display:block;margin:17px 0 6px}.form-hint{font-size:10px;color:#929f8c;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.error-text{color:#b95b55;font-size:12px;padding:8px 0}.success-text{color:#63834e;font-size:12px;padding:8px 0}.question-list{display:grid;gap:14px}.question-preview{padding:20px;cursor:pointer;transition:.2s}.question-preview:hover{border-color:#afc39e}.question-preview h3{font-size:14px;margin-top:11px}.question-preview .sub{font-size:10px;margin-top:8px}.source-line{font-size:10px;color:#8ca083;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.source-line .pill{font-size:9px;padding:2px 7px}
.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:start}.exam-main{min-width:0}.exam-banner{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.exam-banner h2{font-size:18px}.timer{display:flex;align-items:center;gap:7px;background:#f4efdf;color:#a08745;border:1px solid #ebe1c8;border-radius:10px;padding:7px 13px;font-size:13px;font-variant-numeric:tabular-nums}.question-card{padding:30px;border-radius:20px}.q-top{display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid #edf0e8;padding-bottom:18px;margin-bottom:22px}.question-label{font-size:12px;font-weight:650;color:#69865a}.question-label b{font-size:20px;color:var(--ink);margin-left:4px}.q-prompt{font-size:18px;font-weight:650;line-height:2.15;margin:15px 0 24px;white-space:pre-line}.q-image{max-width:100%;height:auto;border-radius:8px}.options{display:grid;gap:12px}.option{padding:13px 15px;display:flex;align-items:center;gap:14px;border:1px solid #e2e8dc;border-radius:12px;cursor:pointer;width:100%;text-align:right;line-height:1.9;font-size:13px;transition:.18s;background:#fff;position:relative}.option:hover{background:#f6f8f1;border-color:#afc09d}.option-letter{width:29px;height:29px;background:#f4f6ef;display:grid;place-items:center;border-radius:8px;font-size:11px;color:#8c9a7c;flex-shrink:0}.option.selected{border-color:#6c9c88;background:#f0f6ed;box-shadow:0 0 0 1px #81a38b20}.option.selected .option-letter{background:#497664;color:white}.option.correct{border-color:#88aa69;background:#f1f7e9}.option.correct .option-letter{background:#83a563;color:#fff}.option.wrong{border-color:#d59b91;background:#fff2ed}.option.wrong .option-letter{background:#c58577;color:#fff}.option svg{margin-right:auto;width:19px;height:19px}.explanation-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 2px 2px;margin-top:19px;border-top:1px solid #e8eddf;font-size:13px;color:#688453;font-weight:650}.explanation-toggle svg{width:17px;height:17px}.explanation{margin-top:17px;background:#f4f7ed;border:1px solid #e2ebd7;border-radius:13px;padding:22px;animation:fadein .2s}.explanation h4{color:#587545;font-size:14px;margin-bottom:12px}.explanation p{font-size:13px;line-height:2.25;white-space:pre-line}.explanation .ambiguous-info{font-size:11px;color:#9c7b35;margin-bottom:15px;background:#fbf4df;padding:9px 12px;border-radius:8px}.ref-links{margin-top:15px;display:flex;gap:8px;flex-wrap:wrap}.ref-link{border:1px solid #d5e1c7;background:white;border-radius:7px;font-size:10px;padding:4px 10px;color:#70885f}.original{margin-top:18px;font-size:11px;color:#80906f}.original img{width:100%;margin-top:10px;border-radius:7px}.note-box{margin-top:22px}.note-box textarea{font-size:12px;min-height:82px;background:#fafbf7}.save-status{font-size:10px;color:#8da17e}.q-navigation{display:flex;justify-content:space-between;margin-top:23px}.q-navigation .btn{min-width:120px}.question-map{padding:20px;position:sticky;top:20px}.question-map h3{font-size:13px;margin-bottom:16px}.map-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-height:420px;overflow:auto}.q-dot{aspect-ratio:1;border:1px solid #e4e9dd;background:#fafbf7;border-radius:8px;font-size:11px;color:#8f9e80;position:relative;transition:.15s}.q-dot:hover{border-color:#849c73}.q-dot.answered{background:#e7efdc;border-color:#dbe7cc;color:#6e8c56}.q-dot.current{background:var(--ink);color:white;border-color:var(--ink)}.q-dot.marked:after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#d4ac5d;top:2px;left:2px}.map-legend{margin-top:17px;font-size:9px;color:#98a48e;display:flex;gap:12px}.legend-dot{height:6px;width:6px;border-radius:2px;background:#c2d6aa;display:inline-block;margin-left:4px}.legend-dot.gold{background:#d4ac5d}.map-footer{border-top:1px solid #e7ecdf;margin-top:18px;padding-top:17px}.map-footer .btn{width:100%;font-size:11px}.map-footer p{font-size:9px;color:#9aa590;margin-top:10px;text-align:center}.completion-card{padding:38px;text-align:center;margin-bottom:25px}.completion-card h1{font-size:25px}.completion-card p{color:#84947b;font-size:12px;margin:10px 0 20px}.result-ring{margin:18px auto 28px;width:150px;height:150px;border:10px solid #e9f0df;border-top-color:#8eac74;border-right-color:#8eac74;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-direction:column}.result-ring b{font-size:36px;line-height:1.5}.result-ring small{font-size:10px;color:#98a38c}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:650px;margin:20px auto 27px}.result-stat b{display:block;font-size:22px}.result-stat span{font-size:10px;color:#899a7b}.review-result .question-preview{display:flex;align-items:center;gap:12px}.review-result .question-preview h3{margin:0;font-size:12px}.answer-status{padding:4px 8px;background:#edf3e4;color:#6f8a56;font-size:10px;border-radius:7px;flex-shrink:0}.answer-status.wrong{background:#fae8e2;color:#bf8271}
.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#173f40;position:relative;overflow:hidden;padding:65px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}.login-art .brand{padding:0;margin:0}.login-art .brand-mark{background:#335f57;color:#d9e8bd}.login-art .brand small{color:#9fbcb0}.login-art h1{font-size:44px;line-height:1.7;letter-spacing:-1.5px;max-width:400px;position:relative;z-index:1}.login-art h1 em{font-style:normal;color:#c6dfa1}.login-art p{font-size:12px;color:#a9c6b9;max-width:330px;margin-top:17px}.login-art .hero-art{left:40px;bottom:12%;transform:scale(1.7);opacity:.55}.login-art>small{color:#8cafa0;font-size:10px}.login-panel{display:flex;align-items:center;justify-content:center;padding:35px;background:#f7f8f1}.login-form{width:100%;max-width:360px}.login-form>.brand-mark{height:53px;width:53px;border-radius:18px;margin-bottom:24px}.login-form h2{font-size:27px}.login-form>p{font-size:12px;color:#91a087;margin-top:8px;margin-bottom:26px}.login-form .btn{width:100%;margin-top:24px;padding:13px}.password-wrap{position:relative}.password-wrap .field{padding-left:42px}.password-wrap .icon-btn{position:absolute;left:3px;top:4px;color:#8b9d80}.login-form .form-hint{text-align:center;margin-top:24px}.private-badge{display:flex;align-items:center;gap:6px;margin:28px auto 0;justify-content:center;font-size:10px;color:#9ba58c}.private-badge svg{width:13px;height:13px}.splash{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.splash .brand-mark{height:65px;width:65px;font-size:38px;border-radius:22px}.splash h1{font-size:29px}.splash p{font-size:12px;color:#91a387}.loader{height:3px;width:80px;background:#dce8cf;overflow:hidden;position:relative;border-radius:5px;margin-top:12px}.loader:after{content:'';position:absolute;width:35px;height:3px;background:#7d9a65;animation:load 1s infinite ease-in-out}@keyframes load{0%{left:-35px}100%{left:100%}}@keyframes fadein{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.modal-backdrop{position:fixed;inset:0;background:#17333466;backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;animation:fadein .15s}.modal{background:#fff;width:100%;max-width:550px;border-radius:22px;max-height:90vh;overflow:auto;box-shadow:0 25px 90px #102d332e}.modal.wide{max-width:720px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:23px 27px;border-bottom:1px solid #ecf0e6}.modal-head h2{font-size:18px}.modal-body{padding:8px 27px 27px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.lesson-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.check-label{font-size:11px;padding:10px;border:1px solid #e4eadd;border-radius:8px;display:flex;align-items:center;gap:7px;cursor:pointer}.check-label:has(input:checked){background:#f1f6e9;border-color:#b4c59d}.check-label input{accent-color:#567b59}.radio-tabs{display:flex;gap:8px;margin-top:10px}.radio-tab{flex:1;cursor:pointer;border:1px solid #e2e8d9;border-radius:12px;padding:12px;text-align:center;font-size:12px}.radio-tab small{font-size:9px;display:block;color:#9aa48d;margin-top:4px}.radio-tab:has(input:checked){background:#f0f5e8;border-color:#9cb285;color:#64814d}.radio-tab input{display:none}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.manage-box{padding:25px}.manage-box h3{font-size:16px}.manage-box p{font-size:11px;color:#91a084;margin:9px 0 20px}.manage-item{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0e8}.manage-item strong{font-size:12px}.manage-item p{font-size:10px;margin:0}.settings-card{max-width:650px;padding:28px}.settings-card h3{font-size:17px}.settings-card .sub{margin:9px 0 20px}.setting-toggle{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #e6ecdf}.setting-toggle p{font-size:11px;color:#8f9c83}.toast{position:fixed;left:30px;bottom:30px;z-index:200;background:#173e3f;color:white;border:1px solid #325957;padding:12px 20px;border-radius:12px;box-shadow:0 10px 30px #173a3e20;font-size:12px;max-width:420px;animation:fadein .2s}.toast.error{background:#8b5048}.loading-inline{padding:35px;text-align:center;color:#9aa78e;font-size:12px}.save-error{color:#bf8372}.hidden{display:none!important}.body-lock{overflow:hidden}.serif-en{font-family:Georgia,serif}
@media(min-width:1500px){.shell{padding-left:65px;padding-right:65px}.hero{min-height:284px}.hero h2{font-size:33px}.hero-art{left:45px;transform:scale(1.1);bottom:0}.course-card{min-height:263px}.daily-card{padding:26px}.progress-ring{margin-top:17px}}
@media(max-width:1200px){:root{--side:215px}.sidebar{padding:27px 17px}.shell{padding-left:26px;padding-right:26px}.dashboard-top,.content-columns{grid-template-columns:minmax(0,1fr) 255px}.hero{padding:25px}.hero h2{font-size:25px}.hero-art{left:-10px;transform:scale(.85);transform-origin:bottom left}.hero-copy{max-width:70%}.stat{padding:16px 12px;gap:9px}.stat-icon{width:36px;height:36px;border-radius:11px}.stat-value{font-size:21px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid{grid-template-columns:1fr}.add-course{min-height:135px}.add-icon{margin-bottom:6px}.add-course p{max-width:none}.course-card{min-height:240px}.exam-layout{grid-template-columns:minmax(0,1fr) 190px}.question-card{padding:23px}.question-map{padding:15px}.q-prompt{font-size:16px}.map-grid{gap:4px}.q-dot{font-size:9px}}
@media(max-width:900px){:root{--side:0px}.sidebar{width:244px;transform:translateX(100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:-10px 0 80px #163a3e25}.shell{padding:0 22px 35px}.mobile-menu{display:flex}.topbar{height:78px;margin-bottom:23px}.top-actions{gap:7px}.search-btn{min-width:0;padding:9px}.search-btn span,.search-btn kbd{display:none}.profile strong{display:none}.hero-copy{max-width:65%}.dashboard-top,.content-columns{grid-template-columns:minmax(0,1fr) 255px}.hero h2{font-size:24px}.stats-grid{gap:10px}.stat{padding:16px 12px}.stat-icon{width:32px;height:32px}.stat-icon svg{width:17px;height:17px}.stat-label{font-size:9px}.stat-value{font-size:20px}.course-grid{grid-template-columns:1fr 1fr}.content-columns{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1fr 1fr}.add-course{min-height:240px}.login-art{padding:40px}.login-art h1{font-size:34px}.login-art .hero-art{transform:scale(1.3);left:15px}.exam-layout{grid-template-columns:1fr}.exam-aside{grid-row:1}.question-map{position:static;padding:13px 17px}.question-map h3{margin:0;font-size:11px}.map-grid{display:flex;overflow-x:auto;gap:6px;margin-top:10px;padding-bottom:3px;max-height:none}.q-dot{min-width:31px;width:31px;height:31px;font-size:10px}.map-legend,.map-footer{display:none}.q-prompt{font-size:17px}.exam-layout{gap:16px}.exam-banner{margin-bottom:14px}.question-card{padding:24px}}
@media(max-width:600px){body{font-size:13px}.shell{padding:0 16px 30px}.topbar{height:69px;margin-bottom:23px}.breadcrumb{font-size:10px}.top-actions .icon-btn{display:none}.page-intro{align-items:flex-start;gap:10px;margin-bottom:19px}h1{font-size:22px}.page-intro p{font-size:10px;max-width:235px}.date-chip{display:none}.eyebrow{font-size:10px}.dashboard-top{grid-template-columns:1fr;gap:14px}.hero{min-height:245px;padding:25px}.hero-copy{max-width:70%}.hero h2{font-size:26px}.hero p{font-size:11px;margin-bottom:19px}.hero-art{left:-12px;bottom:-10px;transform:scale(.72)}.hero-copy .eyebrow{font-size:9px}.daily-card{padding:15px 20px;display:grid;grid-template-columns:1fr 90px;position:relative;min-height:112px}.daily-card h3{align-self:end}.progress-ring{grid-column:2;grid-row:1/4;width:82px;height:82px;margin:0}.progress-ring svg{width:82px;height:82px}.ring-label b{font-size:21px}.ring-label span{font-size:8px}.daily-card .row{justify-content:flex-start;font-size:9px}.daily-card>p{text-align:right;font-size:9px;margin-top:0}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin:17px 0 25px}.stat{padding:14px 16px}.stat-icon{width:35px;height:35px}.stat-label{font-size:9px}.stat-value{font-size:22px}.section-head{margin-bottom:13px}.section-head h2{font-size:17px}.course-grid{grid-template-columns:1fr;gap:13px}.course-card{padding:20px;min-height:235px}.add-course{min-height:135px;padding:20px}.add-icon{width:35px;height:35px;margin-bottom:8px}.add-icon svg{width:17px;height:17px}.add-course p{margin-top:3px}.right-stack{grid-template-columns:1fr 1fr;gap:12px}.review-card{padding:17px}.review-card h3{font-size:12px}.review-card p{font-size:9px;margin:10px 0}.review-card .row{gap:6px}.week-card{padding:16px}.week-bars{gap:5px}.week-day i{width:11px}.week-card .sub{font-size:8px}.latest-section{margin-top:24px}.history-row{padding:14px}.history-row strong{font-size:11px}.history-row p{font-size:9px}.score-tag{font-size:14px;padding:3px 9px}.lesson-header{padding:22px 19px}.lesson-header .row{align-items:flex-start}.lesson-header .course-icon{width:46px;height:46px;border-radius:14px}.lesson-header h1{font-size:19px}.lesson-header p{font-size:10px}.lesson-header>.row>.row{gap:12px}.lesson-header .btn{font-size:10px;padding:8px 11px}.lesson-header .between{flex-wrap:wrap;gap:18px}.lesson-grid{grid-template-columns:1fr;gap:13px}.lesson-card{padding:20px}.lesson-card h3{min-height:0}.lesson-number{font-size:10px;margin-bottom:9px}.lesson-actions .btn{font-size:11px}.lesson-actions{margin-top:16px}.exam-banner h2{font-size:16px}.exam-banner .sub{font-size:10px}.timer{font-size:11px;padding:5px 9px}.timer svg{width:15px;height:15px}.question-card{padding:19px 16px;border-radius:17px}.q-top{padding-bottom:13px;margin-bottom:14px;gap:6px}.source-line{font-size:9px}.question-label{font-size:10px}.question-label b{font-size:17px}.q-prompt{font-size:15px;line-height:2.15;margin:13px 0 21px}.option{font-size:12px;gap:10px;padding:11px 10px;line-height:2}.option-letter{width:26px;height:26px;font-size:10px}.options{gap:10px}.explanation{padding:17px 15px}.explanation p{font-size:12px}.explanation h4{font-size:13px}.explanation-toggle{font-size:12px}.q-navigation .btn{font-size:11px;min-width:100px;padding:9px 13px}.completion-card{padding:25px 16px}.completion-card h1{font-size:23px}.result-stats{gap:8px}.result-stat span{font-size:8px}.result-stat b{font-size:20px}.manage-grid{grid-template-columns:1fr}.manage-box{padding:21px}.settings-card{padding:23px}.modal-backdrop{padding:14px}.modal{border-radius:19px;max-height:94vh}.modal-head{padding:19px 20px}.modal-head h2{font-size:16px}.modal-body{padding:5px 20px 22px}.lesson-checks{grid-template-columns:1fr}.form-grid{gap:10px}.field-label{font-size:11px}.radio-tab{font-size:11px}.radio-tab small{font-size:8px}.filters input{min-width:0;flex:1}.filters{gap:8px}.filters select{width:auto;font-size:11px}.login-page{grid-template-columns:1fr}.login-art{display:none}.login-panel{min-height:100vh;padding:30px}.login-form{max-width:340px}.login-form h2{font-size:27px}.toast{left:16px;right:16px;bottom:18px;max-width:none;font-size:11px}.form-grid.single-mobile{grid-template-columns:1fr}.footnote{font-size:9px}.question-preview{padding:17px}.question-preview h3{font-size:12px}.review-result .question-preview{align-items:flex-start}.review-result .question-preview h3{font-size:11px}.text-btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Curriculum and account administration */
.subject-label{display:inline-block;color:#7f9874;font-size:10px;margin-bottom:7px}
.subject-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 25px}.subject-tab{border:1px solid #e4e8dc;border-radius:13px;padding:10px 17px;background:#fff;color:#6e8279;cursor:pointer;font:inherit;font-size:12px;display:flex;align-items:center;gap:12px}.subject-tab b{font-size:11px;border-radius:8px;background:#f3f5ed;padding:1px 7px}.subject-tab.selected{background:#1a4242;color:#fff;border-color:#1a4242}.subject-tab.selected b{background:#ffffff22}.subject-tags{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.shuffle-note{display:flex;align-items:center;gap:10px;padding:14px;border-radius:12px;background:#f1f5e9;color:#65815d;font-size:11px;line-height:2;grid-column:1/-1}.shuffle-note svg{width:20px;flex-shrink:0}.account-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:25px}.account-summary .card{padding:22px;display:flex;align-items:center;gap:18px}.account-summary b{font-size:27px;color:#234f49}.account-summary span{color:#89958c;font-size:12px}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.account-card{padding:25px;display:flex;flex-direction:column}.account-card h3{font-size:19px;margin-top:18px}.account-username{font-size:12px;color:#90a08d;text-align:right;margin-bottom:15px}.account-access{flex:1;min-height:65px;line-height:2;margin:19px 0}.list-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0}.subject-tags+.btn{margin-bottom:10px}
@media(max-width:650px){.account-summary{gap:9px}.account-summary .card{padding:14px;display:block}.account-summary b{font-size:24px;display:block}.account-summary span{font-size:9px}.subject-tab{font-size:11px;padding:8px 12px}.accounts-grid{grid-template-columns:1fr}.list-pagination{gap:12px}.list-pagination .btn{font-size:10px;padding:8px 12px}}
