*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#f5f3ff;color:#25233a;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:#6353d9;text-decoration:none}
button,input{font:inherit}
.app-shell{width:100%;max-width:470px;min-height:100vh;margin:0 auto;background:linear-gradient(180deg,#fbfaff 0%,#f4f1ff 100%);padding:22px 18px 92px}
.card{background:#fff;border-radius:22px;box-shadow:0 10px 34px rgba(77,60,160,.08)}
.muted{color:#7b7890;line-height:1.55}
.center{text-align:center}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:#7c68df;margin:0 0 5px}
.top-row,.page-head,.quiz-top{display:flex;align-items:center;justify-content:space-between}
.top-row h1,.page-head h1{margin:0;font-size:25px;line-height:1.15}
.icon-btn,.close-btn{width:42px;height:42px;border:0;border-radius:14px;background:#ece8ff;color:#6455d7;font-size:20px;display:grid;place-items:center;cursor:pointer}
.hero-card{margin-top:26px;padding:24px;border-radius:28px;background:linear-gradient(135deg,#6856df,#9d7df1 70%,#b996ff);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 46px rgba(95,75,210,.25)}
.hero-label{font-size:14px;opacity:.88}
.hero-number{font-size:44px;font-weight:850;letter-spacing:-.04em;margin:7px 0}
.hero-sub{font-size:12px;opacity:.82}
.hero-ring{width:82px;height:82px;border-radius:50%;border:8px solid rgba(255,255,255,.32);display:flex;flex-direction:column;align-items:center;justify-content:center}
.hero-ring span{font-size:24px;font-weight:850}
.hero-ring small{font-size:10px;opacity:.8}
.metric-card{margin-top:16px;background:#fff4cc;border:1px solid #ffe293;border-radius:22px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}
.metric-label{display:block;color:#816b21;font-size:12px}
.metric-card strong{font-size:28px;color:#5d4c14}
.mini-link{font-weight:800;font-size:13px}
.btn{border:0;border-radius:16px;padding:14px 18px;font-weight:800;font-size:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,#6956df,#8f6fea);color:#fff;box-shadow:0 12px 24px rgba(99,82,210,.22)}
.btn-big{width:100%;margin-top:20px;min-height:54px}
.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:min(calc(100% - 28px),442px);background:rgba(255,255,255,.96);border-radius:22px;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 14px 40px rgba(60,45,120,.16);backdrop-filter:blur(10px)}
.bottom-nav a{display:flex;flex-direction:column;gap:3px;align-items:center;font-size:11px;color:#8e8a9f}
.bottom-nav a span{font-size:19px}
.bottom-nav a.active{color:#6654df;font-weight:800}
.auth-wrap{padding-top:58px}
.brand-orb{width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#6552db,#a081f2);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:700;box-shadow:0 14px 32px rgba(91,71,198,.24)}
.auth-wrap h1{font-size:31px;margin:24px 0 6px}
.form-card{padding:20px;margin-top:24px}
.form-card label{display:block;font-size:12px;font-weight:750;color:#646174;margin:12px 0 7px}
.form-card input{width:100%;height:48px;border:1px solid #e4e0f1;border-radius:14px;padding:0 14px;font-size:15px;background:#fbfaff;outline:none}
.form-card input:focus{border-color:#8975e8;box-shadow:0 0 0 3px rgba(137,117,232,.12)}
.form-card .btn{width:100%;margin-top:18px}
.text-link{display:block;margin-top:14px;font-weight:700}
.field-error,.errorlist{color:#ba3c48;font-size:12px}
.errorlist{padding-left:18px}
.quiz-screen{min-height:calc(100vh - 60px);display:flex;flex-direction:column}
.pill,.page-chip{background:#ece8ff;color:#6a58d4;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}
.prompt{text-align:center;margin:66px 0 0;color:#777287;font-size:14px}
.arabic-word{font-family:"Noto Naskh Arabic","Segoe UI",serif;text-align:center;font-size:62px;font-weight:700;margin:18px 0 28px;line-height:1.5}
.answers{display:grid;gap:12px;margin-top:20px}
.answer-btn{width:100%;min-height:58px;border:1px solid #e0dcf0;border-radius:17px;background:#fff;padding:12px 15px;text-align:left;font-size:15px;font-weight:700;color:#302c47;box-shadow:0 6px 16px rgba(73,55,130,.05);cursor:pointer}
.answer-btn:active{transform:scale(.99);background:#f0ecff}
.hint-btn{align-self:center;border:0;background:#fff3c7;color:#735e10;padding:10px 14px;border-radius:999px;font-weight:750;cursor:pointer}
.hint-box{margin:0 auto 12px;max-width:240px}
.hint-box img{max-width:100%;border-radius:20px}
.hidden{display:none!important}
.feedback-screen{padding-top:44px}
.feedback-icon{width:76px;height:76px;border-radius:26px;display:grid;place-items:center;font-size:40px;color:#fff;font-weight:900}
.feedback-icon.good{background:linear-gradient(135deg,#33b878,#6ad89b)}
.feedback-icon.bad{background:linear-gradient(135deg,#ef6a6e,#ff9a7a)}
.feedback-screen h1{font-size:30px;margin-bottom:10px}
.answer-reveal{padding:20px;text-align:center;margin-top:22px}
.arabic-small{font-family:"Noto Naskh Arabic","Segoe UI",serif;font-size:39px;margin-bottom:5px}
.verb-card{margin-top:14px;padding:17px}
.verb-card summary{font-weight:800;cursor:pointer}
.verb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.verb-grid div{background:#f7f5ff;border-radius:14px;padding:12px}
.verb-grid span{display:block;font-size:10px;color:#817c94;margin-bottom:5px}
.verb-grid b{font-size:19px}
.page-head{justify-content:flex-start;gap:13px;margin-bottom:22px}
.page-head>a{font-size:24px}
.word-list{display:grid;gap:10px}
.word-row{padding:14px;display:flex;align-items:center;gap:12px}
.arabic-list{font-family:"Noto Naskh Arabic","Segoe UI",serif;font-size:27px;min-width:72px}
.grow{flex:1}
.grow small{display:block;color:#8b879a;margin-top:4px}
.empty-card{padding:32px 22px;text-align:center}
.empty-icon{margin:auto;width:62px;height:62px;border-radius:22px;background:#dff7e9;color:#28a969;display:grid;place-items:center;font-size:32px;font-weight:900}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.small-stat{padding:17px}
.small-stat span{display:block;color:#8b879a;font-size:11px}
.small-stat strong{font-size:25px}
.page-progress-list{display:grid;gap:10px;margin-top:18px}
.page-progress{padding:14px 16px}
.progress-title{display:flex;justify-content:space-between;font-size:13px}
.bar{height:8px;background:#eeebf7;border-radius:999px;margin-top:10px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#6856dd,#a47df2);border-radius:999px}
.toast{background:#fff;border-radius:14px;padding:12px;margin-bottom:12px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
@media(max-width:360px){
  .hero-card{padding:20px}
  .hero-number{font-size:38px}
  .arabic-word{font-size:53px}
}
