@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-arabic-400-normal-DMZFCm7K.woff2)format("woff2"),url(/assets/vazirmatn-arabic-400-normal-C4W5XURk.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2)format("woff2"),url(/assets/vazirmatn-latin-ext-400-normal-DPxMaNjI.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vazirmatn-latin-400-normal-BT_DHTc7.woff2)format("woff2"),url(/assets/vazirmatn-latin-400-normal-GKyMcI03.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-arabic-700-normal-Dge_DOjm.woff2)format("woff2"),url(/assets/vazirmatn-arabic-700-normal-B5nPuCFv.woff)format("woff");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2)format("woff2"),url(/assets/vazirmatn-latin-ext-700-normal-DMYLqBto.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/vazirmatn-latin-700-normal-9BlbvDRV.woff2)format("woff2"),url(/assets/vazirmatn-latin-700-normal-DrB0PBU6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{color:#0f172a;background:#0f172a;font-family:Vazirmatn,system-ui,sans-serif}.game{position:fixed;inset:0}.apiStatus{z-index:50;background:#fffffff2;border-radius:12px;padding:12px 20px;font-weight:700;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.hud{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:10px;left:10px;right:10px}.hud>*{pointer-events:auto}.hudLeft{background:#ffffffeb;border-radius:14px;align-items:center;gap:12px;padding:8px 14px;display:flex;box-shadow:0 4px 14px #0f172a33}.hudTitle{font-size:15px;font-weight:800}.hudScore{color:#2563eb;background:#dbeafe;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.hudRight{align-items:center;gap:8px;display:flex}.hint{color:#e2e8f0;background:#0f172abf;border-radius:999px;padding:6px 12px;font-size:12px}.mapBtn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:700;box-shadow:0 4px 14px #2563eb66}.mapBtn:active{transform:scale(.95)}.mapOverlay{z-index:40;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.mapBox{background:#fff;border-radius:18px;width:min(92vw,420px);max-height:80vh;padding:18px;overflow-y:auto;box-shadow:0 20px 60px #00000059}.mapBox h3{margin-bottom:10px;font-size:17px}.mapBox ul{flex-direction:column;gap:6px;margin-bottom:14px;list-style:none;display:flex}.mapBox li{background:#f1f5f9;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:14px;display:flex}.mapName{flex:1;font-weight:700}.mapGrade{color:#64748b;font-size:12px}.mapScore{color:#2563eb;font-weight:800}.card{z-index:30;background:#fffffff7;border-radius:18px;width:min(94vw,360px);max-height:calc(100vh - 84px);padding:16px;position:fixed;top:64px;right:10px;overflow-y:auto;box-shadow:0 16px 50px #0f172a59}.cardTop{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.cardTop h2{margin-top:2px;font-size:20px}.eyebrow{font-size:12px;font-weight:700}.badge{color:#15803d;background:#dcfce7;border-radius:999px;margin-top:6px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.iconBtn{cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;width:32px;height:32px;font-size:14px;font-weight:700}.intro{color:#334155;margin-bottom:10px;font-size:13.5px;line-height:1.9}.points{flex-direction:column;gap:7px;margin-bottom:14px;list-style:none;display:flex}.points li{color:#475569;gap:8px;font-size:13px;line-height:1.7;display:flex}.dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.primary{color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;padding:12px 18px;font-family:inherit;font-size:15px;font-weight:800;box-shadow:0 6px 18px #0f172a40}.primary:active{transform:scale(.98)}.ghost{color:#475569;cursor:pointer;background:0 0;border:2px solid #e2e8f0;border-radius:14px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:700}.progressRow{align-items:center;gap:10px;margin-bottom:10px;display:flex}.progress{background:#e2e8f0;border-radius:999px;flex:1;height:8px;overflow:hidden}.progressFill{border-radius:999px;height:100%;transition:width .3s}.scoreText{color:#64748b;white-space:nowrap;font-size:12px;font-weight:700}.qText{margin-bottom:12px;font-size:15.5px;line-height:1.8}.options{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.option{text-align:right;cursor:pointer;direction:rtl;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:14px;display:flex}.optLetter{background:#e2e8f0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:inline-flex}.option:hover:not(:disabled){border-color:#94a3b8}.option.correct{background:#dcfce7;border-color:#22c55e}.option.correct .optLetter{color:#fff;background:#22c55e}.option.wrong{background:#fee2e2;border-color:#ef4444}.option.wrong .optLetter{color:#fff;background:#ef4444}.option.dim{opacity:.55}.option:disabled{cursor:default}.why{color:#1e40af;background:#eff6ff;border-radius:12px;margin-bottom:10px;padding:10px 12px;font-size:13px;line-height:1.8}.done{text-align:center;padding:8px 0}.bigScore{margin-bottom:6px;font-size:42px;font-weight:900}.done p{color:#475569;margin-bottom:16px;font-size:14px;line-height:1.8}.doneBtns{flex-direction:column;gap:8px;display:flex}.touchPad{z-index:25;grid-template-areas:".up.""left.right"".down.";gap:8px;display:none;position:fixed;bottom:18px;left:18px}@media (pointer:coarse){.touchPad{display:grid}.hint{display:none}}.touchBtn{color:#0f172a;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:#ffffffd9;border:none;border-radius:16px;width:56px;height:56px;font-size:20px;box-shadow:0 4px 14px #0f172a40}.touchBtn:active{color:#fff;background:#2563eb}.touchBtn.up{grid-area:up}.touchBtn.down{grid-area:down}.touchBtn.left{grid-area:left}.touchBtn.right{grid-area:right}@media (width>=820px){.card{width:380px}}.room-sign{letter-spacing:0;white-space:nowrap;pointer-events:none;direction:rtl;background:#fffffff2;border:3px solid;border-radius:14px;padding:6px 16px;font-family:Vazirmatn,sans-serif;font-size:15px;font-weight:800;box-shadow:0 6px 20px #0f172a4d}.hub-emblem{pointer-events:none;opacity:.9;font-size:34px}.tabs{background:#f1f5f9;border:2px solid;border-radius:14px;gap:4px;margin-bottom:10px;padding:4px;display:flex}.tab{cursor:pointer;color:#475569;background:0 0;border:none;border-radius:10px;flex:1;padding:8px 6px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.tab.on{background:#fff;box-shadow:0 3px 10px #0f172a2e}.card.bigCard{width:min(94vw,460px)}.lessonCanvas{background:radial-gradient(at 50% 40%,#1e293b 0%,#0f172a 75%);border-radius:14px;height:300px;margin-bottom:10px;position:relative;overflow:hidden}.lessonCanvas canvas{display:block}.caption{background:#f8fafc;border:2px solid;border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.caption p{color:#1e293b;flex:1;font-size:13.5px;font-weight:600;line-height:1.9}.capStep{color:#64748b;white-space:nowrap;background:#e2e8f0;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800}.learnNav{align-items:center;gap:8px;display:flex}.learnNav .primary,.learnNav .ghost{flex-shrink:0}.dots{flex:1;justify-content:center;gap:5px;display:flex}.ldot{cursor:pointer;border:none;border-radius:50%;width:11px;height:11px;padding:0;transition:all .15s}.ldot.on{transform:scale(1.35);box-shadow:0 0 0 3px #0f172a26}.learnHint{text-align:center;padding:30px 10px}.learnHint p{color:#334155;font-size:15px;font-weight:700}.learnHint .sub{color:#64748b;margin-top:8px;font-size:12.5px;font-weight:600}.mapGroup{margin-bottom:12px}.mapGroupTitle{background:#f1f5f9;border:2px solid;border-radius:999px;margin-bottom:6px;padding:3px 12px;font-size:12.5px;font-weight:800;display:inline-block}.mapGroup ul{margin-bottom:0}.dot.learned{outline-offset:2px;outline:2px solid #22c55e}.quizWrap{min-height:220px}
