/* Combined achievements and leaderboard page. */
.student-home-shell .nx-achievements{padding-bottom:34px}
.student-home-shell .nx-ach-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,560px);align-items:center;gap:34px;min-height:150px;margin-bottom:4px}
.student-home-shell .nx-ach-title>span{display:block;margin-bottom:6px;color:#a66bff;font-size:10px;font-weight:900;letter-spacing:1.65px}
.student-home-shell .nx-ach-title>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.student-home-shell .nx-ach-title h1{margin:0;color:#f7f8ff;font-size:clamp(36px,3.2vw,52px);line-height:1;letter-spacing:-2px}
.student-home-shell .nx-ach-title b{display:inline-flex;align-items:center;min-height:40px;padding:0 19px;border:1px solid #5156b9;border-radius:22px;background:linear-gradient(135deg,rgba(67,32,153,.64),rgba(20,61,116,.62));color:#d0a8ff;font-size:13px;box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 25px rgba(119,64,234,.12)}
.student-home-shell .nx-ach-title>p{margin:8px 0 0;color:#aabbd6;font-size:15px}
.student-home-shell .nx-ach-banner{position:relative;display:flex;align-items:center;min-height:112px;padding:24px 165px 24px 46px;overflow:hidden;border:1px solid rgba(92,65,207,.5);border-radius:17px;background:radial-gradient(circle at 82% 55%,rgba(130,61,255,.45),transparent 34%),linear-gradient(135deg,#111741,#2b135c);box-shadow:0 18px 48px rgba(0,4,20,.3),inset 0 1px rgba(255,255,255,.05)}
.student-home-shell .nx-ach-banner::before,.student-home-shell .nx-ach-banner::after{content:"";position:absolute;border-radius:46%;background:rgba(141,73,255,.12);transform:rotate(24deg)}
.student-home-shell .nx-ach-banner::before{right:-54px;top:-54px;width:210px;height:150px}
.student-home-shell .nx-ach-banner::after{left:-75px;bottom:-94px;width:210px;height:140px}
.student-home-shell .nx-ach-banner>i{position:absolute;left:21px;width:9px;height:9px;border-radius:50%;background:#8d52ff;box-shadow:0 0 18px #9d68ff}
.student-home-shell .nx-ach-banner p{position:relative;z-index:1;margin:0;color:#d5bfff;font-size:15px;line-height:1.65}
.student-home-shell .nx-ach-banner>span{position:absolute;z-index:1;right:38px;display:grid;place-items:center;width:106px;height:86px;color:#b688ff;filter:drop-shadow(0 0 24px rgba(151,82,255,.8));transform:rotate(-5deg)}
.student-home-shell .nx-ach-banner>span .ui-icon{width:88px;height:88px;stroke-width:1.35}
.student-home-shell .nx-ach-tabs{display:flex;align-items:center;gap:8px;margin:0 0 18px}
.student-home-shell .nx-ach-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-width:210px;height:52px;padding:0 22px;border:1px solid #304b73;border-radius:11px;background:#07182d;color:#9fb2d0;font-size:13px;font-weight:800;cursor:pointer;transition:.18s ease}
.student-home-shell .nx-ach-tabs button .ui-icon{width:20px;height:20px}
.student-home-shell .nx-ach-tabs button:hover{border-color:#8754f7;color:#fff}
.student-home-shell .nx-ach-tabs button.active{border-color:#a16dff;background:linear-gradient(135deg,#914eff,#5e2be1);color:#fff;box-shadow:0 10px 27px rgba(107,47,225,.38),inset 0 1px rgba(255,255,255,.2)}
.student-home-shell .nx-ach-stats{display:grid;grid-template-columns:repeat(4,1fr);min-height:106px;margin-bottom:18px;border:1px solid var(--nx-line-soft);border-radius:14px;background:linear-gradient(120deg,rgba(8,24,47,.96),rgba(7,19,39,.93));box-shadow:var(--nx-shadow)}
.student-home-shell .nx-ach-stats article{position:relative;display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;padding:22px 26px}
.student-home-shell .nx-ach-stats article+article::before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:1px;background:#263f66}
.student-home-shell .nx-ach-stats article>span{display:grid;place-items:center;width:54px;height:54px;border-radius:13px;background:linear-gradient(145deg,rgba(127,70,237,.32),rgba(49,40,123,.46));color:#a97cff}
.student-home-shell .nx-ach-stats article:nth-child(3)>span{color:#65b8ff;background:rgba(38,91,187,.25)}
.student-home-shell .nx-ach-stats article:nth-child(4)>span{color:#c28cff}
.student-home-shell .nx-ach-stats article>span .ui-icon{width:26px;height:26px}
.student-home-shell .nx-ach-stats p{margin:0}.student-home-shell .nx-ach-stats strong,.student-home-shell .nx-ach-stats small{display:block}
.student-home-shell .nx-ach-stats strong{margin-bottom:5px;color:#fff;font-size:22px}
.student-home-shell .nx-ach-stats small{color:#97a9c8;font-size:10px}
.student-home-shell .nx-ach-content{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(390px,.9fr);gap:16px;align-items:start}
.student-home-shell :is(.nx-ach-catalog,.nx-ach-ranking,.nx-ach-ranking-full){border:1px solid var(--nx-line-soft);border-radius:14px;background:linear-gradient(145deg,rgba(8,24,47,.97),rgba(5,17,35,.96));box-shadow:var(--nx-shadow)}
.student-home-shell .nx-ach-catalog{padding:22px}
.student-home-shell .nx-ach-catalog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px}
.student-home-shell .nx-ach-catalog h2,.student-home-shell .nx-ach-ranking h2,.student-home-shell .nx-ach-ranking-full h2{margin:0 0 5px;font-size:17px}
.student-home-shell .nx-ach-catalog header p,.student-home-shell .nx-ach-ranking header p,.student-home-shell .nx-ach-ranking-full header p{margin:0;color:var(--nx-muted);font-size:10px;line-height:1.55}
.student-home-shell .nx-ach-filters,.student-home-shell .nx-ach-scope{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.student-home-shell :is(.nx-ach-filters,.nx-ach-scope) button{min-height:39px;padding:0 15px;border:1px solid #28466d;border-radius:9px;background:#081a31;color:#93a7c7;font-size:9px;font-weight:800;cursor:pointer}
.student-home-shell :is(.nx-ach-filters,.nx-ach-scope) button:hover{border-color:#8252ed;color:#fff}
.student-home-shell :is(.nx-ach-filters,.nx-ach-scope) button.active{border-color:#9d65ff;background:linear-gradient(135deg,#8448f4,#5d2bd4);color:#fff;box-shadow:0 6px 18px rgba(110,49,224,.28)}
.student-home-shell .nx-ach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.student-home-shell .nx-ach-card{display:grid;grid-template-columns:58px 1fr;gap:15px;min-height:150px;padding:18px;border:1px solid #274366;border-radius:12px;background:linear-gradient(135deg,rgba(12,31,57,.95),rgba(7,22,43,.94));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.student-home-shell .nx-ach-card:hover{transform:translateY(-2px);border-color:#704bc3;box-shadow:0 12px 30px rgba(0,5,18,.28)}
.student-home-shell .nx-ach-card.locked{opacity:.62;filter:saturate(.6)}
.student-home-shell .nx-ach-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(112,58,219,.25);color:#b583ff}
.student-home-shell .nx-ach-card.locked .nx-ach-icon{background:#13243b;color:#69809f}
.student-home-shell .nx-ach-icon .ui-icon{width:26px;height:26px}
.student-home-shell .nx-ach-card small{display:block;margin:2px 0 6px;color:#a974ff;font-size:8px;font-weight:900;letter-spacing:1.1px}
.student-home-shell .nx-ach-card h3{margin:0 0 6px;color:#fff;font-size:14px}
.student-home-shell .nx-ach-card p{min-height:28px;margin:0;color:#91a5c5;font-size:9px;line-height:1.45}
.student-home-shell .nx-ach-card progress{display:block;width:100%;height:7px;margin:12px 0 7px;overflow:hidden;border:0;border-radius:6px;background:#162945}
.student-home-shell .nx-ach-card progress::-webkit-progress-bar{background:#162945}
.student-home-shell .nx-ach-card progress::-webkit-progress-value{border-radius:6px;background:linear-gradient(90deg,#8148f6,#b471ff)}
.student-home-shell .nx-ach-card progress::-moz-progress-bar{background:linear-gradient(90deg,#8148f6,#b471ff)}
.student-home-shell .nx-ach-card em{display:block;color:#a376ff;font-size:8px;font-style:normal}
.student-home-shell .nx-ach-ranking{padding:18px}
.student-home-shell .nx-ach-ranking>header{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-bottom:16px}
.student-home-shell .nx-ach-ranking>header>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(119,61,231,.2);color:#ad7bff}
.student-home-shell .nx-ach-ranking>header>button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #2f4970;border-radius:8px;background:#0b1b33;color:#b797f2;font-size:8px;cursor:pointer}
.student-home-shell .nx-rank-list{display:grid;gap:7px}
.student-home-shell .nx-rank-row{display:grid;grid-template-columns:50px 48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:67px;padding:9px 14px;border:1px solid #284466;border-radius:10px;background:rgba(8,24,47,.82)}
.student-home-shell .nx-rank-row.current{border-color:#9a54ff;background:linear-gradient(100deg,rgba(82,38,172,.62),rgba(33,22,83,.72));box-shadow:0 0 22px rgba(133,63,244,.19),inset 0 0 28px rgba(105,54,219,.08)}
.student-home-shell .nx-rank-place{display:grid;place-items:center;color:#b9c7dc;font-size:11px;font-weight:900}
.student-home-shell .nx-rank-place .ui-icon{width:23px;height:23px}.student-home-shell .nx-rank-place.place-1{color:#ffc044}.student-home-shell .nx-rank-place.place-2{color:#d6dff2}.student-home-shell .nx-rank-place.place-3{color:#ff8e43}
.student-home-shell .nx-rank-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:linear-gradient(145deg,#8048ee,#4d25ba);color:#fff;font-size:12px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.18)}
.student-home-shell .nx-rank-row p{margin:0;min-width:0}.student-home-shell .nx-rank-row p strong,.student-home-shell .nx-rank-row p small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.student-home-shell .nx-rank-row p strong{font-size:11px}.student-home-shell .nx-rank-row p small{margin-top:4px;color:#8fa3c3;font-size:8px}
.student-home-shell .nx-rank-row>b{color:#fff;font-size:12px;white-space:nowrap}
.student-home-shell .nx-rank-full{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;margin-top:12px;border:1px solid #8c50f0;border-radius:9px;background:rgba(51,26,111,.35);color:#d7b8ff;font-size:10px;font-weight:800;cursor:pointer}
.student-home-shell .nx-rank-full:hover{background:rgba(102,47,208,.42)}
.student-home-shell .nx-ach-ranking-full{padding:22px}
.student-home-shell .nx-ach-ranking-full>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:19px}
.student-home-shell .nx-ach-ranking-full .nx-rank-list.full{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.student-home-shell .nx-ach-ranking-full .nx-rank-row{min-height:76px}
.student-home-shell .nx-ach-empty{grid-column:1/-1;display:grid;place-items:center;min-height:150px;padding:25px;border:1px dashed #314c73;border-radius:11px;color:#94a8c8;font-size:11px;text-align:center}
.student-home-shell .nx-achievements :is(a,button):focus-visible{outline:2px solid #65d7ff;outline-offset:3px;box-shadow:0 0 0 5px rgba(55,174,255,.18)}

@media(max-width:1100px){
  .student-home-shell .nx-ach-head{grid-template-columns:1fr}
  .student-home-shell .nx-ach-banner{min-height:100px}
  .student-home-shell .nx-ach-content{grid-template-columns:1fr}
  .student-home-shell .nx-ach-stats{grid-template-columns:repeat(2,1fr)}
  .student-home-shell .nx-ach-stats article:nth-child(3)::before{display:none}
}

@media(max-width:760px){
  .product-shell.student-achievements-shell~.student-companion{width:138px;height:155px}
  .product-shell.student-achievements-shell~.student-companion .student-companion-robot{right:0;width:188px;height:210px;transform:translate(var(--miho-look-x,0),var(--miho-look-y,0)) scale(.7);transform-origin:100% 100%}
  .student-home-shell .nx-ach-head{gap:15px;min-height:auto;padding-top:8px}
  .student-home-shell .nx-ach-title>div{display:block}.student-home-shell .nx-ach-title h1{font-size:34px}
  .student-home-shell .nx-ach-title b{min-height:34px;margin-top:10px;padding:0 13px;font-size:10px}.student-home-shell .nx-ach-title>p{font-size:12px}
  .student-home-shell .nx-ach-banner{padding:20px 100px 20px 28px}.student-home-shell .nx-ach-banner p{font-size:11px}.student-home-shell .nx-ach-banner>span{right:20px;width:70px}.student-home-shell .nx-ach-banner>span .ui-icon{width:62px;height:62px}
  .student-home-shell .nx-ach-tabs{display:grid;grid-template-columns:1fr 1fr}.student-home-shell .nx-ach-tabs button{min-width:0;height:48px;padding:0 10px;font-size:10px}
  .student-home-shell .nx-ach-stats{grid-template-columns:1fr}.student-home-shell .nx-ach-stats article+article::before{left:18px;right:18px;top:0;bottom:auto;width:auto;height:1px}.student-home-shell .nx-ach-stats article:nth-child(3)::before{display:block}
  .student-home-shell .nx-ach-catalog{padding:14px}.student-home-shell .nx-ach-catalog>header,.student-home-shell .nx-ach-ranking-full>header{display:grid}.student-home-shell .nx-ach-filters,.student-home-shell .nx-ach-scope{justify-content:flex-start}
  .student-home-shell .nx-ach-grid,.student-home-shell .nx-ach-ranking-full .nx-rank-list.full{grid-template-columns:1fr}
  .student-home-shell .nx-ach-card{grid-template-columns:48px 1fr;padding:14px}.student-home-shell .nx-ach-icon{width:46px;height:46px}
  .student-home-shell .nx-ach-ranking{padding:14px}.student-home-shell .nx-ach-ranking>header{grid-template-columns:36px 1fr}.student-home-shell .nx-ach-ranking>header>button{grid-column:1/-1}
  .student-home-shell .nx-rank-row{grid-template-columns:32px 40px minmax(0,1fr) auto;padding:8px}.student-home-shell .nx-rank-avatar{width:38px;height:38px}
}

@media(prefers-reduced-motion:reduce){
  .student-home-shell .nx-achievements *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .student-home-shell .nx-ach-card:hover{transform:none}
}
