:root{--bg1:#1b3350;--bg2:#0d1b2a;--text:#f4efe3;--card:#16283d;--line:#c9a24b55;--btn:#22405f;--input:#0b1623;--gold:#c9a24b;--on-gold:#0d1b2a;--ok:#2e7d5b;--bad:#a63d40;--shadow:#0006}[data-theme=light]{--bg1:#fff4d6;--bg2:#d9f0ff;--text:#1f2a44;--card:#ffffff;--line:#f2a33a99;--btn:#fff0cf;--input:#fffaf0;--gold:#e67e00;--on-gold:#fff;--ok:#2fae6b;--bad:#e5484d;--shadow:#f2a33a33}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,var(--bg1),var(--bg2));background-attachment:fixed;color:var(--text);font-family:Georgia,Times New Roman,serif;min-height:100vh;transition:background .3s,color .3s}[data-theme=light] body{font-family:Trebuchet MS,Georgia,sans-serif}h1,h2,h3{font-weight:600;margin:.3em 0}h1 span{color:var(--gold)}.app{max-width:1000px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;gap:10px;flex-wrap:wrap}header h1{cursor:pointer;letter-spacing:2px}.who{display:flex;align-items:center;gap:8px}.who b{color:var(--gold)}.theme{width:auto;display:inline-block;margin:0;padding:6px 12px;border-radius:20px;text-align:center}.login .theme,body>#root>.theme{position:fixed;top:14px;right:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 8px 24px var(--shadow)}.lesson{cursor:pointer;text-align:center;transition:.2s}.lesson:hover{transform:translateY(-3px);border-color:var(--gold)}.lesson big{display:block;font-size:2.4rem;color:var(--gold)}.lesson em{font-size:.8rem;opacity:.75}button{background:var(--btn);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:5px 0;cursor:pointer;font:inherit;display:block;width:100%;text-align:left}button:hover{border-color:var(--gold)}button small{display:block;opacity:.7}button.gold{background:var(--gold);color:var(--on-gold);font-weight:700;text-align:center}button.icon{display:inline-block;width:auto;padding:4px 10px}button.link{background:none;border:0;width:auto;color:var(--gold)}input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--input);color:var(--text);font:inherit;margin:8px 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000a;display:grid;place-items:center;padding:20px}.modal .card{width:min(420px,100%)}.board{padding-left:20px}.board li span{display:inline-block;min-width:140px}.entry .head{display:flex;gap:10px;align-items:baseline}.fa{direction:rtl;text-align:right;font-family:Tahoma,Vazirmatn,sans-serif;color:var(--gold)}.ex{font-style:italic;opacity:.85;cursor:pointer}.center{max-width:560px;margin:20px auto}.bar{display:flex;justify-content:space-between;opacity:.8;margin:10px 0}.q{text-align:center}.q.ok{border-color:var(--ok)}.q.bad{border-color:var(--bad)}.opts button.right{background:var(--ok);color:#fff}.login{max-width:360px;margin:15vh auto;text-align:center}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;background:#8a97a8;vertical-align:middle}.dot.green{background:#2fbf71}.dot.yellow{background:#e8c13a}.dot.red{background:#e0525a}.legend{font-size:.85rem;opacity:.85}.legend .dot{margin-left:12px}.lesson.green{border-color:#2fbf71;box-shadow:0 0 0 1px #2fbf7177,0 8px 24px var(--shadow)}.lesson.yellow{border-color:#e8c13a;box-shadow:0 0 0 1px #e8c13a77,0 8px 24px var(--shadow)}.lesson.red{border-color:#e0525a;box-shadow:0 0 0 1px #e0525a77,0 8px 24px var(--shadow)}.lesson.locked{opacity:.45;cursor:not-allowed}.lesson.locked:hover{transform:none;border-color:var(--line)}.pct{float:right;font-weight:700}
