/* Student insights: games, learning path, progress and activity.
   Everything is scoped to the full-width student shell. */
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity){
  --nx-bg:#030c1a;
  --nx-panel:rgba(7,22,44,.88);
  --nx-panel-strong:#091a32;
  --nx-panel-soft:rgba(16,31,60,.78);
  --nx-line:rgba(55,101,164,.62);
  --nx-line-soft:rgba(68,104,157,.35);
  --nx-text:#f6f8ff;
  --nx-muted:#9dafcf;
  --nx-dim:#7185a8;
  --nx-violet:#8d52ff;
  --nx-purple:#6d39f7;
  --nx-blue:#2e92ff;
  --nx-cyan:#24d9ff;
  --nx-green:#2fe0a5;
  --nx-amber:#ffb53e;
  --nx-red:#ff5f82;
  --nx-pink:#e85cd7;
  --nx-radius:16px;
  --nx-shadow:0 18px 55px rgba(0,5,18,.34);
  position:relative;
  width:100%;
  max-width:1540px;
  min-height:calc(100vh - 77px);
  margin:0 auto;
  color:var(--nx-text);
  isolation:isolate;
}
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity)::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:77px 0 0;
  pointer-events:none;
  background:
    radial-gradient(circle at 76% 4%,rgba(76,48,222,.18),transparent 26%),
    radial-gradient(circle at 22% 46%,rgba(13,112,205,.09),transparent 32%),
    linear-gradient(145deg,#030a16,#06152b 56%,#020914);
}
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity),
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) *{box-sizing:border-box}
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) :is(h1,h2,h3,p){margin-top:0}
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) :is(button,a,select,input){font:inherit}
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) a{text-decoration:none}
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) .ui-icon{flex:0 0 auto}

/* Shared page title and controls */
.student-home-shell .nx-page-title,
.student-home-shell .nx-games-head,
.student-home-shell .nx-path-head,
.student-home-shell .nx-activity-head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:112px;
  margin-bottom:18px;
}
.student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head)>div:first-child{position:relative;z-index:2;min-width:0}
.student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head)>div:first-child>span,
.student-home-shell .nx-title>span,
.student-home-shell .nx-level-copy>span,
.student-home-shell .nx-direction-panel>header span{
  display:block;
  margin-bottom:7px;
  color:#a66bff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.65px;
  text-transform:uppercase;
}
.student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head) h1,
.student-home-shell .nx-title h1{
  margin:0 0 7px;
  color:var(--nx-text);
  font-size:clamp(30px,3vw,46px);
  line-height:1;
  letter-spacing:-1.8px;
}
.student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head) p,
.student-home-shell .nx-title p{margin:0;color:var(--nx-muted);font-size:13px;line-height:1.55}
.student-home-shell .nx-toolbar,
.student-home-shell .nx-activity-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:64px;
  margin-bottom:18px;
  padding:10px 12px;
  border:1px solid var(--nx-line-soft);
  border-radius:14px;
  background:linear-gradient(120deg,rgba(8,25,49,.94),rgba(7,19,40,.84));
  box-shadow:inset 0 1px rgba(255,255,255,.025),var(--nx-shadow);
}
.student-home-shell :is(.nx-tabs,.nx-activity-tabs){display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}
.student-home-shell :is(.nx-tabs,.nx-activity-tabs)::-webkit-scrollbar{display:none}
.student-home-shell :is(.nx-tabs,.nx-activity-tabs) button,
.student-home-shell .nx-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 18px;
  border:1px solid rgba(67,102,155,.42);
  border-radius:10px;
  background:#09182d;
  color:#afbfdb;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.student-home-shell :is(.nx-tabs,.nx-activity-tabs) button:hover,
.student-home-shell .nx-chip:hover{border-color:#8358f4;color:#fff;transform:translateY(-1px)}
.student-home-shell :is(.nx-tabs,.nx-activity-tabs) button.active,
.student-home-shell .nx-chip.active{
  border-color:#8b55ff;
  background:linear-gradient(135deg,#8d52ff,#5a2bed);
  color:#fff;
  box-shadow:0 8px 24px rgba(104,46,239,.34),inset 0 1px rgba(255,255,255,.22);
}
.student-home-shell :is(.nx-tabs,.nx-activity-tabs) button b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:rgba(255,255,255,.12);font-size:9px}
.student-home-shell .nx-view-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.student-home-shell :is(.nx-view-tools,.nx-period)>label,
.student-home-shell .nx-period{
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  padding:0 10px;
  border:1px solid rgba(67,102,155,.45);
  border-radius:10px;
  background:#09182d;
  color:#b9c8e1;
}
.student-home-shell :is(.nx-view-tools,.nx-period) select{
  min-width:150px;
  height:40px;
  padding:0 25px 0 8px;
  border:0;
  outline:0;
  appearance:none;
  background:transparent;
  color:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.student-home-shell :is(.nx-view-tools,.nx-period) option{background:#0a182d;color:#fff}
.student-home-shell .nx-view-tools>button{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:11px;
  border:1px solid rgba(67,102,155,.45);
  border-radius:10px;
  background:#09182d;
  color:#7f93b4;
  cursor:pointer;
}
.student-home-shell .nx-view-tools>button.active{border-color:#9b60ff;background:linear-gradient(135deg,#7139f4,#4d24bd);color:#fff;box-shadow:0 0 18px rgba(118,59,242,.32)}
.student-home-shell .nx-empty{display:grid;place-items:center;min-height:210px;padding:30px;border:1px dashed rgba(91,119,165,.5);border-radius:var(--nx-radius);background:rgba(7,20,39,.65);color:var(--nx-muted);text-align:center}

/* Games */
.student-home-shell .nx-games-head{overflow:hidden;padding:12px 0}
.student-home-shell .nx-title{display:flex;align-items:flex-start;gap:16px}
.student-home-shell .nx-title>i{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin-top:3px;
  border:1px solid rgba(138,82,255,.55);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(133,68,250,.38),rgba(42,31,112,.64));
  color:#b785ff;
  box-shadow:0 0 30px rgba(119,55,241,.27);
}
.student-home-shell .nx-title>i .ui-icon{width:28px;height:28px}
.student-home-shell .nx-controller-art{
  position:absolute;
  right:34%;
  top:0;
  width:220px;
  height:112px;
  opacity:.9;
  transform:rotate(-8deg);
  pointer-events:none;
}
.student-home-shell .nx-controller-art::before{
  content:"";
  position:absolute;
  inset:21px 28px 18px;
  border:2px solid #8b65ff;
  border-radius:48% 48% 42% 42%;
  background:linear-gradient(145deg,rgba(99,54,229,.75),rgba(23,30,105,.9));
  box-shadow:0 0 25px rgba(122,71,255,.7),inset 0 0 25px rgba(52,188,255,.18);
}
.student-home-shell .nx-controller-art::after{content:"+  • •";position:absolute;inset:47px 53px auto;color:#d1c5ff;font-size:21px;font-weight:900;letter-spacing:48px;text-shadow:0 0 12px #a475ff}
.student-home-shell .nx-head-metrics{display:flex;gap:12px;margin-left:auto}
.student-home-shell .nx-head-metric{
  display:grid;
  grid-template-columns:42px auto;
  align-items:center;
  gap:0 12px;
  min-width:180px;
  min-height:70px;
  padding:13px 17px;
  border:1px solid var(--nx-line-soft);
  border-radius:13px;
  background:rgba(7,23,45,.82);
}
.student-home-shell .nx-head-metric>i{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:rgba(123,67,244,.18);color:var(--nx-amber)}
.student-home-shell .nx-head-metric strong{align-self:end;color:#d7c9ff;font-size:15px}
.student-home-shell .nx-head-metric small{align-self:start;color:var(--nx-muted);font-size:9px}
.student-home-shell .nx-game-feature{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,1.05fr) minmax(350px,1fr) 250px;
  align-items:stretch;
  min-height:210px;
  margin-bottom:18px;
  overflow:hidden;
  border:1px solid #6e3cda;
  border-radius:17px;
  background:
    radial-gradient(circle at 22% 46%,rgba(55,81,255,.34),transparent 34%),
    linear-gradient(115deg,#141044 0,#111c47 50%,#071d35 100%);
  box-shadow:0 16px 52px rgba(0,5,20,.44),inset 0 0 55px rgba(119,53,238,.08);
}
.student-home-shell .nx-game-feature::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#6945ff,#32d4ff,transparent)}
.student-home-shell .nx-recommend-label{position:absolute;z-index:3;left:16px;top:14px;display:flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,180,48,.55);border-radius:16px;background:rgba(89,55,10,.72);color:#ffc655;font-size:9px;font-weight:900;text-transform:uppercase}
.student-home-shell .nx-game-feature-art{position:relative;min-height:210px;overflow:hidden;background:radial-gradient(circle at 55% 55%,rgba(79,106,255,.35),transparent 48%)}
.student-home-shell .nx-game-feature-art::before{content:"</>";position:absolute;left:27%;top:33%;display:grid;place-items:center;width:105px;height:86px;border:2px solid #6179ff;border-radius:20px;background:linear-gradient(145deg,#121c4c,#341d83);color:#5fe7ff;font-size:27px;font-weight:900;transform:perspective(450px) rotateY(15deg);box-shadow:0 0 35px rgba(79,84,255,.6)}
.student-home-shell .nx-game-feature-art::after{content:"★";position:absolute;right:14%;bottom:24%;color:#ffc845;font-size:42px;text-shadow:0 0 18px rgba(255,194,49,.9)}
.student-home-shell .nx-game-feature-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:30px 24px}
.student-home-shell .nx-game-feature-copy>span{color:#b980ff;font-size:9px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.student-home-shell .nx-game-feature-copy h2{margin:8px 0 8px;font-size:27px;letter-spacing:-.6px}
.student-home-shell .nx-game-feature-copy p{margin:0 0 16px;color:var(--nx-muted);font-size:11px;line-height:1.55}
.student-home-shell .nx-game-feature-copy>a,
.student-home-shell .nx-game-card a,
.student-home-shell .nx-stage-action>a,
.student-home-shell .nx-progress-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 22px;
  border:1px solid #9156ff;
  border-radius:10px;
  background:linear-gradient(135deg,#8d4fff,#5d27ea);
  box-shadow:0 9px 24px rgba(101,42,225,.3);
  color:#fff;
  font-size:11px;
  font-weight:900;
  transition:transform .18s ease,box-shadow .18s ease;
}
.student-home-shell :is(.nx-game-feature-copy>a,.nx-game-card a,.nx-stage-action>a,.nx-progress-cta a):hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(105,48,238,.44)}
.student-home-shell .nx-feature-stats{display:flex;align-items:center;gap:17px;padding:25px;border-left:1px solid rgba(69,107,165,.34)}
.student-home-shell .nx-ring,
.student-home-shell .nx-progress-donut{
  --value:0;
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:94px;
  height:94px;
  border-radius:50%;
  background:conic-gradient(var(--nx-cyan) calc(var(--value)*1%),#182a4a 0);
  box-shadow:0 0 25px rgba(41,183,255,.16);
}
.student-home-shell :is(.nx-ring,.nx-progress-donut)::before{content:"";position:absolute;inset:12px;border-radius:50%;background:#0b1730;box-shadow:inset 0 0 14px rgba(0,0,0,.35)}
.student-home-shell :is(.nx-ring,.nx-progress-donut)>*{position:relative;z-index:1}
.student-home-shell .nx-ring strong{font-size:19px}.student-home-shell .nx-ring small{display:block;color:var(--nx-muted);font-size:8px;text-align:center}
.student-home-shell .nx-feature-stats>div:last-child{display:grid;gap:12px}
.student-home-shell .nx-feature-stats span{display:grid;grid-template-columns:34px 1fr;gap:2px 9px;align-items:center}
.student-home-shell .nx-feature-stats span i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(121,66,235,.15);color:var(--nx-amber)}
.student-home-shell .nx-feature-stats span b{font-size:12px}.student-home-shell .nx-feature-stats span small{color:var(--nx-muted);font-size:8px}
.student-home-shell .nx-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.student-home-shell .nx-game-card{
  --tone:#8250ff;--tone-rgb:130,80,255;
  position:relative;
  display:grid;
  grid-template-columns:64px 1fr;
  grid-template-rows:auto auto;
  gap:12px 16px;
  min-height:166px;
  padding:18px;
  overflow:hidden;
  border:1px solid rgba(var(--tone-rgb),.36);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(var(--tone-rgb),.13),rgba(7,22,42,.94) 43%);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.student-home-shell .nx-game-card:hover{transform:translateY(-3px);border-color:rgba(var(--tone-rgb),.75);box-shadow:0 15px 35px rgba(0,5,19,.35),0 0 24px rgba(var(--tone-rgb),.1)}
.student-home-shell .nx-game-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(var(--tone-rgb),.55);border-radius:13px;background:rgba(var(--tone-rgb),.2);color:var(--tone);box-shadow:inset 0 0 18px rgba(var(--tone-rgb),.12)}
.student-home-shell .nx-game-icon .ui-icon{width:31px;height:31px}
.student-home-shell .nx-game-copy{min-width:0}.student-home-shell .nx-game-copy h3{margin:1px 0 7px;font-size:16px}.student-home-shell .nx-game-copy p{margin:0;color:var(--nx-muted);font-size:10px;line-height:1.45}
.student-home-shell .nx-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.student-home-shell .nx-chips span{padding:5px 9px;border:1px solid rgba(var(--tone-rgb),.36);border-radius:12px;background:rgba(var(--tone-rgb),.09);color:#b9c8e3;font-size:8px;font-weight:700}
.student-home-shell .nx-card-progress{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px;color:var(--nx-muted);font-size:8px}
.student-home-shell .nx-card-progress progress{grid-column:1/-1;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#182a49}.student-home-shell .nx-card-progress progress::-webkit-progress-bar{background:#182a49}.student-home-shell .nx-card-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--tone),var(--nx-cyan))}.student-home-shell .nx-card-progress progress::-moz-progress-bar{background:linear-gradient(90deg,var(--tone),var(--nx-cyan))}
.student-home-shell .nx-game-card>a{position:absolute;right:17px;bottom:18px;min-height:36px;padding:0 17px;font-size:9px}
.student-home-shell .nx-game-bottom{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}
.student-home-shell :is(.nx-daily,.nx-popular,.nx-last-game,.nx-side-card,.nx-direction-panel,.nx-achievement-panel,.nx-week-chart,.nx-distribution,.nx-recent-achievements){border:1px solid var(--nx-line-soft);border-radius:14px;background:linear-gradient(145deg,rgba(9,27,52,.94),rgba(5,18,36,.94));box-shadow:var(--nx-shadow)}
.student-home-shell :is(.nx-daily,.nx-popular,.nx-last-game){min-height:150px;padding:18px}
.student-home-shell :is(.nx-daily,.nx-popular,.nx-last-game)>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.student-home-shell :is(.nx-daily,.nx-popular,.nx-last-game) h2{margin:0;font-size:14px}.student-home-shell :is(.nx-daily,.nx-popular,.nx-last-game) p{color:var(--nx-muted);font-size:9px;line-height:1.5}
.student-home-shell .nx-games.is-list .nx-game-grid{grid-template-columns:1fr}
.student-home-shell .nx-games.is-list .nx-game-card{grid-template-columns:58px 1fr 180px;grid-template-rows:auto;align-items:center;min-height:100px}
.student-home-shell .nx-games.is-list .nx-card-progress{grid-column:3}.student-home-shell .nx-games.is-list .nx-game-card>a{position:static;grid-column:3;justify-self:end}

/* Learning path */
.student-home-shell .nx-path-head{min-height:132px;padding-right:68px;overflow:hidden}
.student-home-shell .nx-path-route{position:absolute;right:7%;bottom:2px;display:flex;align-items:flex-start;gap:70px;width:48%;height:93px;padding-top:10px}
.student-home-shell .nx-path-route::before{content:"";position:absolute;left:3%;right:3%;top:35px;height:1px;background:linear-gradient(90deg,#5b32d5,#4779ff,#883cff);box-shadow:0 0 13px #7149ff}
.student-home-shell .nx-path-route>span{position:relative;z-index:1;display:grid;place-items:center;gap:5px;min-width:70px;color:var(--nx-muted);font-size:8px;text-align:center}.student-home-shell .nx-path-route>span i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #7548e7;border-radius:50%;background:#101b42;color:#a875ff;box-shadow:0 0 17px rgba(120,69,234,.25)}
.student-home-shell .nx-path-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}
.student-home-shell .nx-stage-list{position:relative;display:grid;gap:12px;padding-left:48px;counter-reset:nx-stage}
.student-home-shell .nx-stage-list::before{content:"";position:absolute;left:20px;top:54px;bottom:54px;border-left:1px dashed #46618d}
.student-home-shell .nx-stage{
  position:relative;
  display:grid;
  grid-template-columns:66px minmax(0,1fr) minmax(170px,260px);
  align-items:center;
  gap:16px;
  min-height:130px;
  padding:20px;
  border:1px solid var(--nx-line-soft);
  border-radius:14px;
  background:linear-gradient(130deg,rgba(11,29,54,.95),rgba(6,19,38,.95));
  counter-increment:nx-stage;
}
.student-home-shell .nx-stage.current{border-color:#8447f8;background:linear-gradient(120deg,rgba(49,30,113,.66),rgba(9,28,55,.96));box-shadow:0 0 30px rgba(114,54,244,.2),inset 0 0 35px rgba(88,60,220,.07)}
.student-home-shell .nx-stage.completed{border-color:rgba(37,210,155,.55)}
.student-home-shell .nx-stage.locked{opacity:.64;filter:saturate(.65)}
.student-home-shell .nx-stage-number{position:absolute;left:-58px;top:50%;display:grid;place-items:center;width:42px;height:42px;border:1px solid #58729c;border-radius:50%;background:#0a1a32;color:#dbe5f7;font-size:14px;font-weight:900;transform:translateY(-50%)}
.student-home-shell .nx-stage.current .nx-stage-number{border-color:#9b58ff;background:linear-gradient(145deg,#743df1,#3a238d);box-shadow:0 0 20px rgba(126,67,244,.55)}
.student-home-shell .nx-stage.completed .nx-stage-number{border-color:var(--nx-green);color:var(--nx-green)}
.student-home-shell .nx-stage-icon{display:grid;place-items:center;width:66px;height:66px;border:1px solid rgba(124,72,241,.5);border-radius:50%;background:rgba(111,55,224,.17);color:#a878ff}.student-home-shell .nx-stage-icon .ui-icon{width:31px;height:31px}
.student-home-shell .nx-stage-copy>span{display:inline-flex;margin-bottom:5px;padding:4px 8px;border-radius:5px;background:rgba(118,65,231,.25);color:#b991ff;font-size:7px;font-weight:900;text-transform:uppercase}.student-home-shell .nx-stage-copy h2{margin:0 0 5px;font-size:17px}.student-home-shell .nx-stage-copy p{margin:0;color:var(--nx-muted);font-size:9px;line-height:1.5}.student-home-shell .nx-stage-copy footer{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;color:#8799b9;font-size:8px}.student-home-shell .nx-stage-copy footer span{display:flex;align-items:center;gap:5px}
.student-home-shell .nx-stage-action{display:grid;justify-items:stretch;gap:9px}.student-home-shell .nx-stage-action progress{width:100%;height:6px;border:0;border-radius:5px;overflow:hidden;background:#17294a}.student-home-shell .nx-stage-action progress::-webkit-progress-bar{background:#17294a}.student-home-shell .nx-stage-action progress::-webkit-progress-value{background:linear-gradient(90deg,#8a4dff,#4a8cff)}.student-home-shell .nx-stage-action small{color:var(--nx-muted);font-size:8px}
.student-home-shell .nx-stage.locked .nx-stage-action{padding:14px;border:1px solid #334b70;border-radius:9px;color:#93a5c4;font-size:9px;text-align:center}
.student-home-shell .nx-path-side{display:grid;align-content:start;gap:12px;position:sticky;top:94px}
.student-home-shell .nx-side-card{padding:19px}.student-home-shell .nx-side-card>header{display:flex;align-items:center;gap:9px;margin-bottom:14px}.student-home-shell .nx-side-card>header h2{margin:0;font-size:13px}.student-home-shell .nx-side-card>header .ui-icon{color:#8d59ff}
.student-home-shell .nx-progress-donut{width:120px;height:120px;margin:6px auto 14px}.student-home-shell .nx-progress-donut strong{font-size:24px}
.student-home-shell .nx-level-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px}.student-home-shell .nx-level-row>i{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:rgba(119,63,237,.2);color:#9e70ff}.student-home-shell .nx-level-row b{display:block;font-size:12px}.student-home-shell .nx-level-row small{color:var(--nx-muted);font-size:8px}.student-home-shell .nx-level-row progress{grid-column:2/4;width:100%;height:6px}
.student-home-shell .nx-next-goal{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px}.student-home-shell .nx-next-goal>i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(113,54,232,.17);color:#a875ff}.student-home-shell .nx-next-goal strong{display:block;font-size:11px}.student-home-shell .nx-next-goal small{display:block;margin-top:4px;color:var(--nx-muted);font-size:8px}.student-home-shell .nx-skill-cloud{display:flex;flex-wrap:wrap;gap:7px}.student-home-shell .nx-skill-cloud span{padding:7px 10px;border:1px solid #29466e;border-radius:15px;background:#0d203c;color:#b3c1da;font-size:8px}

/* Progress */
.student-home-shell .nx-progress>.nx-page-title{min-height:77px;margin-bottom:14px}
.student-home-shell .nx-level-hero{
  position:relative;
  display:grid;
  grid-template-columns:130px 1fr minmax(340px,48%);
  align-items:center;
  min-height:150px;
  margin-bottom:16px;
  overflow:hidden;
  border:1px solid #7042dd;
  border-radius:15px;
  background:radial-gradient(circle at 68% 20%,rgba(90,57,236,.34),transparent 34%),linear-gradient(125deg,#1b1252,#0b214c 55%,#10143e);
  box-shadow:0 18px 50px rgba(0,6,25,.38);
}
.student-home-shell .nx-level-hero::after{content:"";position:absolute;left:34%;right:-5%;bottom:8px;height:80px;border-top:1px solid rgba(114,80,255,.42);border-radius:50%;transform:rotate(-4deg)}
.student-home-shell .nx-level-art{position:relative;z-index:1;width:86px;height:86px;margin:auto}
.student-home-shell .nx-level-art::before,.student-home-shell .nx-level-art::after{content:"";position:absolute;width:60px;height:34px;left:13px;border-radius:8px;transform:rotate(30deg) skew(-7deg);background:linear-gradient(145deg,#9b5cff,#4139cd);box-shadow:0 10px 0 #256fbd,0 20px 0 #154879,0 0 24px rgba(132,76,255,.55)}
.student-home-shell .nx-level-art::before{top:12px}.student-home-shell .nx-level-art::after{top:2px;filter:brightness(1.25)}
.student-home-shell .nx-level-copy{position:relative;z-index:1;padding:20px 10px}.student-home-shell .nx-level-copy h2{margin:0 0 6px;font-size:24px}.student-home-shell .nx-level-copy p{margin:0;color:var(--nx-muted);font-size:10px}.student-home-shell .nx-level-copy strong{display:block;margin-top:13px;color:#a882ff;font-size:11px}
.student-home-shell .nx-level-track{position:relative;z-index:1;padding:24px 28px}.student-home-shell .nx-level-track>div{display:flex;justify-content:space-between;margin-bottom:10px;color:#aebedd;font-size:9px}.student-home-shell .nx-level-track>div b{color:#aa77ff;font-size:13px}.student-home-shell .nx-level-track progress{width:100%;height:13px;border:1px solid #3c5684;border-radius:9px;overflow:hidden;background:#15284a}.student-home-shell .nx-level-track progress::-webkit-progress-bar{background:#15284a}.student-home-shell .nx-level-track progress::-webkit-progress-value{border-radius:8px;background:linear-gradient(90deg,#7b42f1,#b46cff);box-shadow:0 0 18px rgba(167,90,255,.6)}
.student-home-shell .nx-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.student-home-shell .nx-metric-card{--tone:#8653ff;--tone-rgb:134,83,255;position:relative;display:grid;grid-template-columns:50px 1fr;align-items:center;gap:13px;min-height:102px;padding:17px;border:1px solid rgba(var(--tone-rgb),.55);border-radius:13px;background:linear-gradient(120deg,rgba(var(--tone-rgb),.19),rgba(7,24,48,.92));overflow:hidden}.student-home-shell .nx-metric-card::after{content:"";position:absolute;right:-25px;bottom:-25px;width:100px;height:70px;border-top:1px solid rgba(var(--tone-rgb),.5);border-radius:50%;transform:rotate(-18deg)}.student-home-shell .nx-metric-card>i{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(var(--tone-rgb),.2);color:var(--tone)}.student-home-shell .nx-metric-card span{display:block;color:var(--nx-muted);font-size:9px}.student-home-shell .nx-metric-card strong{display:block;margin:4px 0 2px;font-size:22px}.student-home-shell .nx-metric-card small{color:#aebcdf;font-size:9px}
.student-home-shell .nx-progress-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:16px}
.student-home-shell :is(.nx-direction-panel,.nx-achievement-panel){padding:20px}.student-home-shell :is(.nx-direction-panel,.nx-achievement-panel)>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.student-home-shell :is(.nx-direction-panel,.nx-achievement-panel)>header h2{margin:0 0 5px;font-size:14px}.student-home-shell :is(.nx-direction-panel,.nx-achievement-panel)>header p{margin:0;color:var(--nx-muted);font-size:9px}
.student-home-shell .nx-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.student-home-shell .nx-direction-card{--tone:#8550ff;--tone-rgb:133,80,255;position:relative;display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;min-height:95px;padding:16px;border:1px solid rgba(65,101,157,.42);border-radius:11px;background:rgba(8,25,48,.86)}.student-home-shell .nx-direction-card:hover{border-color:rgba(var(--tone-rgb),.68)}.student-home-shell .nx-direction-card>i{display:grid;place-items:center;width:46px;height:46px;border-radius:11px;background:rgba(var(--tone-rgb),.2);color:var(--tone)}.student-home-shell .nx-direction-card h3{margin:0 0 4px;font-size:11px}.student-home-shell .nx-direction-card p{margin:0;color:var(--nx-muted);font-size:8px}.student-home-shell .nx-direction-card strong{font-size:10px}.student-home-shell .nx-direction-card progress{grid-column:2/4;width:100%;height:6px;border-radius:5px}
.student-home-shell .nx-achievement-list{display:grid;border:1px solid rgba(60,94,148,.37);border-radius:11px;overflow:hidden}.student-home-shell .nx-achievement-list>article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;min-height:58px;padding:10px 12px;border-bottom:1px solid rgba(60,94,148,.3)}.student-home-shell .nx-achievement-list>article:last-child{border-bottom:0}.student-home-shell .nx-achievement-list>article>i{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(112,57,227,.2);color:#aa7cff}.student-home-shell .nx-achievement-list strong{display:block;font-size:10px}.student-home-shell .nx-achievement-list small{display:block;margin-top:3px;color:var(--nx-muted);font-size:7px}.student-home-shell .nx-achievement-list em{padding:6px 9px;border:1px solid rgba(36,206,147,.34);border-radius:7px;background:rgba(21,130,94,.15);color:#43e8ad;font-size:7px;font-style:normal;font-weight:800}
.student-home-shell .nx-progress-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:15px 18px;border:1px solid #6240c8;border-radius:13px;background:radial-gradient(circle at 78% 20%,rgba(115,65,234,.22),transparent 38%),linear-gradient(110deg,#121548,#0b193b)}.student-home-shell .nx-progress-cta h2{margin:0 0 4px;font-size:14px}.student-home-shell .nx-progress-cta p{margin:0;color:var(--nx-muted);font-size:9px}

/* Activity */
.student-home-shell .nx-activity-head{min-height:108px;overflow:hidden}.student-home-shell .nx-activity-quote{max-width:310px;padding:17px 20px;border:1px solid rgba(91,66,185,.5);border-radius:13px;background:linear-gradient(130deg,rgba(53,31,111,.72),rgba(14,23,58,.82));color:#c9baf1;font-size:12px;line-height:1.5;box-shadow:0 0 28px rgba(94,44,210,.16)}
.student-home-shell .nx-activity-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.student-home-shell .nx-activity-metrics>article{--tone:#8650ff;--tone-rgb:134,80,255;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px;min-height:91px;padding:15px;border:1px solid var(--nx-line-soft);border-radius:13px;background:linear-gradient(130deg,rgba(var(--tone-rgb),.13),rgba(7,24,47,.92))}.student-home-shell .nx-activity-metrics>article>i{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(var(--tone-rgb),.19);color:var(--tone)}.student-home-shell .nx-activity-metrics small{align-self:end;color:var(--nx-muted);font-size:9px}.student-home-shell .nx-activity-metrics strong{align-self:start;font-size:22px}.student-home-shell .nx-activity-metrics strong em{margin-left:8px;color:var(--nx-green);font-size:9px;font-style:normal}
.student-home-shell .nx-activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.student-home-shell .nx-activity-main{min-width:0}.student-home-shell .nx-activity-toolbar{padding:0;border:0;background:transparent;box-shadow:none}.student-home-shell .nx-timeline{position:relative;display:grid;gap:16px}.student-home-shell .nx-day-group{position:relative}.student-home-shell .nx-day-group>h2{margin:0 0 10px;font-size:14px}.student-home-shell .nx-day-group::before{content:"";position:absolute;left:60px;top:34px;bottom:-17px;border-left:1px solid #37527e}.student-home-shell .nx-event{position:relative;display:grid;grid-template-columns:48px 12px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:8px}.student-home-shell .nx-event-time{color:#9eb0d0;font-size:9px;text-align:right}.student-home-shell .nx-event-dot{position:relative;z-index:2;width:12px;height:12px;border:2px solid #8f55ff;border-radius:50%;background:#281163;box-shadow:0 0 10px #8c53ff}.student-home-shell .nx-event-card{--tone:#8452ff;--tone-rgb:132,82,255;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;min-height:69px;padding:11px 17px;border:1px solid var(--nx-line-soft);border-radius:11px;background:linear-gradient(120deg,rgba(var(--tone-rgb),.12),rgba(7,24,47,.92))}.student-home-shell .nx-event-card>i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(var(--tone-rgb),.2);color:var(--tone)}.student-home-shell .nx-event-card h3{margin:0 0 4px;font-size:11px}.student-home-shell .nx-event-card p{margin:0;color:var(--nx-muted);font-size:8px}.student-home-shell .nx-event-card>b{color:#b57cff;font-size:12px}.student-home-shell .nx-event-card>a{color:#95a8c9}
.student-home-shell .nx-activity-side{display:grid;align-content:start;gap:12px;position:sticky;top:94px}.student-home-shell :is(.nx-week-chart,.nx-distribution,.nx-recent-achievements){padding:17px}.student-home-shell :is(.nx-week-chart,.nx-distribution,.nx-recent-achievements)>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.student-home-shell :is(.nx-week-chart,.nx-distribution,.nx-recent-achievements) h2{margin:0;font-size:13px}
.student-home-shell .nx-week-chart>strong{display:block;margin-bottom:15px;font-size:25px}.student-home-shell .nx-week-chart>strong small{margin-left:8px;color:var(--nx-green);font-size:9px}.student-home-shell .nx-week-chart>div:last-child{display:flex;align-items:end;justify-content:space-around;height:95px;border-bottom:1px solid #29456e}.student-home-shell .nx-week-chart i{--height:20%;position:relative;width:16px;height:var(--height);min-height:8px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#a568ff,#6332da);box-shadow:0 0 13px rgba(143,75,255,.35)}.student-home-shell .nx-week-chart i small{position:absolute;top:calc(100% + 8px);left:50%;color:#8194b3;font-size:7px;font-style:normal;transform:translateX(-50%)}
.student-home-shell .nx-distribution>div{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:14px}.student-home-shell .nx-distribution .nx-progress-donut{width:104px;height:104px;margin:0}.student-home-shell .nx-distribution ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.student-home-shell .nx-distribution li{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;color:var(--nx-muted);font-size:8px}.student-home-shell .nx-distribution li i{width:8px;height:8px;border-radius:50%;background:var(--tone,#8c55ff)}.student-home-shell .nx-distribution li b{color:#fff;font-size:9px}
.student-home-shell .nx-recent-achievements>div{display:grid;gap:8px}.student-home-shell .nx-recent-achievements article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:9px;border:1px solid rgba(55,91,144,.34);border-radius:9px;background:rgba(8,25,48,.72)}.student-home-shell .nx-recent-achievements article>i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:rgba(242,167,39,.17);color:var(--nx-amber)}.student-home-shell .nx-recent-achievements strong{display:block;font-size:9px}.student-home-shell .nx-recent-achievements small{display:block;margin-top:3px;color:var(--nx-muted);font-size:7px}.student-home-shell .nx-recent-achievements b{color:#b47aff;font-size:9px}

/* Shared states and colour families */
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-violet{--tone:#975cff;--tone-rgb:151,92,255}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-purple{--tone:#854fff;--tone-rgb:133,79,255}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-blue{--tone:#3499ff;--tone-rgb:52,153,255}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-cyan{--tone:#27d7f5;--tone-rgb:39,215,245}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-green{--tone:#30dfa7;--tone-rgb:48,223,167}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-amber{--tone:#ffb13a;--tone-rgb:255,177,58}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-red{--tone:#ff5f7e;--tone-rgb:255,95,126}
.student-home-shell :is(.nx-game-card,.nx-metric-card,.nx-direction-card,.nx-event-card,.nx-activity-metrics>article).tone-pink{--tone:#e85bd6;--tone-rgb:232,91,214}
.student-home-shell :is(.nx-game-card,.nx-stage,.nx-direction-card,.nx-event-card).completed{border-color:rgba(44,221,163,.6)}
.student-home-shell :is(.nx-game-card,.nx-stage,.nx-direction-card).current{box-shadow:0 0 0 1px rgba(133,72,255,.55),0 0 28px rgba(118,53,239,.2)}
.student-home-shell :is(.nx-game-card,.nx-stage,.nx-direction-card).available{opacity:1}
.student-home-shell :is(.nx-game-card,.nx-stage,.nx-direction-card).locked{opacity:.58;filter:saturate(.55)}
.student-home-shell :is(.nx-game-card,.nx-stage,.nx-direction-card).locked a{pointer-events:none;border-color:#3b4f70;background:#172943;color:#8191ab;box-shadow:none}

/* Markup alignment for the production data components. */
.student-home-shell .nx-title{display:block}
.student-home-shell .nx-title h1{display:flex;align-items:center;gap:12px}
.student-home-shell .nx-title h1>.ui-icon{display:grid;place-items:center;width:48px;height:48px;padding:11px;border:1px solid rgba(138,82,255,.55);border-radius:13px;background:linear-gradient(145deg,rgba(133,68,250,.38),rgba(42,31,112,.64));color:#b785ff;box-shadow:0 0 30px rgba(119,55,241,.27)}
.student-home-shell :is(.nx-head-metric,.nx-metric-card,.nx-activity-metrics>article)>.ui-icon{display:grid;place-items:center;grid-row:1/3;width:46px;height:46px;padding:11px;border-radius:50%;background:rgba(var(--tone-rgb,151,92,255),.2);color:var(--tone,var(--nx-violet))}
.student-home-shell .nx-head-metric>p,.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p{margin:0}
.student-home-shell .nx-head-metric>p strong,.student-home-shell .nx-head-metric>p small{display:block}
.student-home-shell .nx-feature-robot{position:absolute;z-index:2;left:3%;bottom:-18%;width:190px;aspect-ratio:1;background:url('assets/robot/miho-emotions-v2.png') 100% 0/300% 200% no-repeat;filter:drop-shadow(0 10px 24px rgba(36,151,255,.32))}
.student-home-shell .nx-game-feature-art>i,.student-home-shell .nx-game-feature-art>b{position:absolute;color:#72dfff;font-size:16px;font-style:normal;text-shadow:0 0 12px currentColor}.student-home-shell .nx-game-feature-art>i{right:9%;top:24%}.student-home-shell .nx-game-feature-art>b{right:21%;bottom:18%}
.student-home-shell .nx-game-feature-copy>small{color:#b980ff;font-size:9px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase}
.student-home-shell .nx-feature-stats{display:grid;grid-template-columns:100px 1fr;align-content:center}
.student-home-shell .nx-feature-stats>p{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:2px 9px;margin:0;color:var(--nx-muted);font-size:8px}.student-home-shell .nx-feature-stats>p>.ui-icon{grid-row:1/3;width:34px;height:34px;padding:8px;border-radius:9px;background:rgba(121,66,235,.15);color:var(--nx-amber)}.student-home-shell .nx-feature-stats>p span{display:block}.student-home-shell .nx-feature-stats>p strong{display:block;color:#fff;font-size:12px}
.student-home-shell .nx-game-copy h2{margin:1px 0 7px;font-size:16px}
.student-home-shell .nx-game-card>footer{display:contents}
.student-home-shell .nx-game-card button[disabled]{position:absolute;right:17px;bottom:18px;min-height:36px;padding:0 14px;border:1px solid #364b6d;border-radius:9px;background:#162843;color:#7e91b1;font-size:9px}
.student-home-shell .nx-daily{display:grid;grid-template-columns:48px 1fr auto 40px;align-items:center;gap:13px}.student-home-shell .nx-daily>.ui-icon{width:48px;height:48px;padding:11px;border-radius:11px;background:rgba(128,65,241,.19);color:#b078ff}.student-home-shell .nx-daily>div p{margin:5px 0 0}.student-home-shell .nx-daily>strong{color:#53cfff}.student-home-shell .nx-daily>a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #7744e4;border-radius:9px;background:#3f208f;color:#fff}
.student-home-shell .nx-popular>p{margin:4px 0 11px}.student-home-shell .nx-popular>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.student-home-shell .nx-popular a{display:grid;grid-template-columns:24px 1fr;gap:7px;padding:8px;border:1px solid rgba(64,100,157,.38);border-radius:8px;color:#fff}.student-home-shell .nx-popular a>b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#7650dc}.student-home-shell .nx-popular a span{font-size:8px;font-weight:800}.student-home-shell .nx-popular a small{display:block;color:var(--nx-muted);font-size:7px;font-weight:500}
.student-home-shell .nx-last-game>a{display:grid;grid-template-columns:40px 1fr auto 18px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(64,100,157,.38);border-radius:9px;color:#fff}.student-home-shell .nx-last-game>a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:rgba(47,145,255,.18);color:var(--nx-blue)}.student-home-shell .nx-last-game>a p{margin:0}.student-home-shell .nx-last-game>a strong,.student-home-shell .nx-last-game>a small{display:block}.student-home-shell .nx-last-game>a b{color:var(--nx-green);font-size:9px}

.student-home-shell .nx-path-head>.nx-title{max-width:38%}.student-home-shell .nx-path-head>strong,.student-home-shell .nx-page-title>strong{position:relative;z-index:2;padding:10px 15px;border:1px solid #344d74;border-radius:9px;background:rgba(8,25,49,.8);font-size:10px}
.student-home-shell .nx-stage{--tone:#8d52ff;--tone-rgb:141,82,255}
.student-home-shell .nx-stage-copy>small{display:inline-flex;margin-bottom:5px;padding:4px 8px;border-radius:5px;background:rgba(118,65,231,.25);color:#b991ff;font-size:7px;font-weight:900;text-transform:uppercase}
.student-home-shell .nx-stage-copy>label{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:11px;color:#8fa3c2;font-size:8px}.student-home-shell .nx-stage-copy>label progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;background:#17294a}.student-home-shell .nx-stage-copy>label progress::-webkit-progress-bar{background:#17294a}.student-home-shell .nx-stage-copy>label progress::-webkit-progress-value{background:linear-gradient(90deg,#8a4dff,#4a8cff)}.student-home-shell .nx-stage-copy>label em{grid-column:1/-1;font-size:7px;font-style:normal}
.student-home-shell .nx-stage-action>a:last-child:not(.btn){min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;color:#aebee0;font-size:9px}.student-home-shell .nx-stage-action>button{min-height:44px;border:1px solid #344b70;border-radius:9px;background:#172943;color:#8fa1bd}
.student-home-shell .nx-side-card>h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13px}.student-home-shell .nx-side-card>h2>.ui-icon{width:18px;color:#9d6bff}
.student-home-shell .nx-side-card>ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.student-home-shell .nx-side-card>ul li{display:flex;align-items:center;gap:8px;color:var(--nx-muted);font-size:9px}.student-home-shell .nx-side-card>ul .ui-icon{width:18px;color:#8e60fa}.student-home-shell .nx-side-card>ul b{margin-left:auto;color:#dfe7f7;font-size:9px}
.student-home-shell .nx-level-row{grid-template-columns:44px 1fr}.student-home-shell .nx-level-row>span{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:rgba(119,63,237,.2);color:#9e70ff;font-size:22px;font-weight:900}.student-home-shell .nx-level-row>p{margin:0}.student-home-shell .nx-level-row>p progress{display:block;width:100%;height:6px;margin:7px 0}.student-home-shell .nx-level-row>p strong,.student-home-shell .nx-level-row>p small{display:block}
.student-home-shell .nx-next-goal{display:block}.student-home-shell .nx-next-goal>strong{font-size:11px}.student-home-shell .nx-next-goal>p{margin:7px 30px 0 0;color:var(--nx-muted);font-size:8px;line-height:1.5}.student-home-shell .nx-next-goal>a{position:absolute;right:17px;bottom:17px;color:#a879ff}

.student-home-shell .nx-level-art>.ui-icon{position:relative;z-index:3;width:48px;height:48px;margin:18px;color:#e6dcff}
.student-home-shell .nx-level-track{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px}.student-home-shell .nx-level-track>b{grid-column:1/-1;justify-self:end;padding:6px 9px;border:1px solid #8955ec;border-radius:8px;background:#2c1b65;color:#cfaeff}.student-home-shell .nx-level-track>progress{grid-column:1/-1}.student-home-shell .nx-level-track>span{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;color:var(--nx-muted);font-size:9px}.student-home-shell .nx-level-track>span strong{color:#a66fff}
.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p small,.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p strong,.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p span{display:block}.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p strong{margin:4px 0 2px;font-size:22px}.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p small,.student-home-shell :is(.nx-metric-card,.nx-activity-metrics>article)>p span{color:var(--nx-muted);font-size:9px}
.student-home-shell .nx-direction-panel>header>a{padding:9px 12px;border:1px solid #314c75;border-radius:8px;color:#b4c2da;font-size:9px}.student-home-shell .nx-direction-card>.ui-icon:first-child{display:grid;place-items:center;width:46px;height:46px;padding:11px;border-radius:11px;background:rgba(var(--tone-rgb),.2);color:var(--tone)}.student-home-shell .nx-direction-card>div h2{margin:0 0 4px;font-size:11px}.student-home-shell .nx-direction-card>div progress{display:block;width:100%;height:6px;margin-top:9px}.student-home-shell .nx-direction-card>b{color:var(--tone);font-size:10px}.student-home-shell .nx-direction-card>.ui-icon:last-child{width:16px;color:#9fb0cc}
.student-home-shell .nx-achievement-panel>header>span{color:#ad78ff;font-size:10px;font-weight:900;letter-spacing:1.2px}.student-home-shell .nx-achievement-panel>p{margin:-11px 0 14px;color:var(--nx-muted);font-size:9px}.student-home-shell .nx-achievement-list>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;min-height:58px;padding:10px 12px;border-bottom:1px solid rgba(60,94,148,.3);color:#fff}.student-home-shell .nx-achievement-list>a:last-child{border-bottom:0}.student-home-shell .nx-achievement-list>a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(112,57,227,.2);color:#aa7cff}.student-home-shell .nx-achievement-list>a p{margin:0}.student-home-shell .nx-achievement-list>a strong,.student-home-shell .nx-achievement-list>a small{display:block}.student-home-shell .nx-achievement-list>a small{margin-top:3px;color:var(--nx-muted);font-size:7px}.student-home-shell .nx-achievement-list>a>b{padding:6px 9px;border:1px solid rgba(36,206,147,.34);border-radius:7px;background:rgba(21,130,94,.15);color:#43e8ad;font-size:7px}
.student-home-shell .nx-progress-cta>.ui-icon{width:44px;height:44px;padding:10px;border-radius:10px;background:rgba(124,65,235,.2);color:#a978ff}

.student-home-shell .nx-activity-head>.nx-title{max-width:70%}.student-home-shell .nx-activity-quote{display:flex!important;align-items:center;gap:15px}.student-home-shell .nx-activity-quote>p{margin:0}
.student-home-shell .nx-event-card{grid-template-columns:46px 1fr auto auto 18px;color:#fff}.student-home-shell .nx-event-card>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(var(--tone-rgb,132,82,255),.2);color:var(--tone,var(--nx-violet))}.student-home-shell .nx-event-card>p{margin:0}.student-home-shell .nx-event-card>p strong,.student-home-shell .nx-event-card>p small{display:block}.student-home-shell .nx-event-card>p strong{font-size:11px}.student-home-shell .nx-event-card>p small{margin-top:4px;color:var(--nx-muted);font-size:8px}.student-home-shell .nx-event-card>em{padding:5px 8px;border-radius:12px;background:rgba(var(--tone-rgb,132,82,255),.17);color:var(--tone,var(--nx-violet));font-size:8px;font-style:normal}.student-home-shell .nx-event-card>.ui-icon:last-child{width:16px;color:#95a8c9}
.student-home-shell .nx-event-dot.tone-violet{border-color:var(--nx-violet)}.student-home-shell .nx-event-dot.tone-blue{border-color:var(--nx-blue)}.student-home-shell .nx-event-dot.tone-green{border-color:var(--nx-green)}.student-home-shell .nx-event-dot.tone-amber{border-color:var(--nx-amber)}.student-home-shell .nx-event-dot.tone-red{border-color:var(--nx-red)}
.student-home-shell .nx-activity-side>article{padding:17px;border:1px solid var(--nx-line-soft);border-radius:14px;background:linear-gradient(145deg,rgba(9,27,52,.94),rgba(5,18,36,.94));box-shadow:var(--nx-shadow)}.student-home-shell .nx-activity-side>article>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.student-home-shell .nx-activity-side>article h2{margin:0 0 12px;font-size:13px}.student-home-shell .nx-activity-side>article>header h2{margin:0}.student-home-shell .nx-activity-side>article>strong{display:block;margin-bottom:12px;font-size:25px}.student-home-shell .nx-activity-side>article>strong em{margin-left:6px;color:var(--nx-green);font-size:9px;font-style:normal}
.student-home-shell .nx-week-chart{display:flex;align-items:end;justify-content:space-around;height:105px;padding:0;border:0;border-bottom:1px solid #29456e;border-radius:0;background:transparent;box-shadow:none}.student-home-shell .nx-week-chart>span{display:grid;justify-items:center;align-content:end;gap:6px;height:100%}.student-home-shell .nx-week-chart>span i{width:16px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#a568ff,#6332da);box-shadow:0 0 13px rgba(143,75,255,.35)}.student-home-shell .nx-week-chart>span small{color:#8194b3;font-size:7px}
.student-home-shell .nx-distribution{display:grid!important;grid-template-columns:112px 1fr!important;align-items:center;gap:14px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.student-home-shell .nx-distribution>div:first-child{position:relative;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:conic-gradient(var(--chart));box-shadow:0 0 24px rgba(114,72,255,.18)}.student-home-shell .nx-distribution>div:first-child::before{content:"";position:absolute;inset:13px;border-radius:50%;background:#0b1730}.student-home-shell .nx-distribution>div:first-child>*{position:relative;z-index:1}.student-home-shell .nx-distribution>div:first-child strong,.student-home-shell .nx-distribution>div:first-child small{display:block;text-align:center}.student-home-shell .nx-distribution>div:first-child strong{font-size:20px}.student-home-shell .nx-distribution>div:first-child small{color:var(--nx-muted);font-size:8px}.student-home-shell .nx-distribution>ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.student-home-shell .nx-distribution li i.tone-violet{--tone:var(--nx-violet)}.student-home-shell .nx-distribution li i.tone-blue{--tone:var(--nx-blue)}.student-home-shell .nx-distribution li i.tone-green{--tone:var(--nx-green)}.student-home-shell .nx-distribution li i.tone-amber{--tone:var(--nx-amber)}.student-home-shell .nx-distribution li i.tone-red{--tone:var(--nx-red)}
.student-home-shell .nx-recent-achievements>a{display:grid;grid-template-columns:40px 1fr auto 16px;align-items:center;gap:10px;padding:9px;border:1px solid rgba(55,91,144,.34);border-radius:9px;background:rgba(8,25,48,.72);color:#fff}.student-home-shell .nx-recent-achievements>a+a{margin-top:8px}.student-home-shell .nx-recent-achievements>a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:rgba(242,167,39,.17);color:var(--nx-amber)}.student-home-shell .nx-recent-achievements>a p{margin:0}.student-home-shell .nx-recent-achievements>a strong,.student-home-shell .nx-recent-achievements>a small{display:block}.student-home-shell .nx-recent-achievements>a small{margin-top:3px;color:var(--nx-muted);font-size:7px}.student-home-shell .nx-recent-achievements>a b{color:#b47aff;font-size:9px}

/* Keyboard and motion */
.student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) :is(a,button,select,input):focus-visible{
  outline:2px solid #65d7ff!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(55,174,255,.18)!important;
}

@media(max-width:1500px){
  .student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity){max-width:1320px}
  .student-home-shell .nx-controller-art{right:31%;transform:scale(.86) rotate(-8deg)}
  .student-home-shell .nx-game-feature{grid-template-columns:minmax(240px,.9fr) minmax(320px,1fr) 230px}
  .student-home-shell .nx-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-home-shell .nx-game-bottom{grid-template-columns:1.15fr 1fr}
  .student-home-shell .nx-last-game{grid-column:1/-1}
}

@media(max-width:1100px){
  .student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head){align-items:flex-start;min-height:auto;padding:8px 0}
  .student-home-shell .nx-controller-art,.student-home-shell .nx-path-route{display:none}
  .student-home-shell .nx-head-metrics{display:grid;grid-template-columns:1fr 1fr}
  .student-home-shell .nx-head-metric{min-width:0}
  .student-home-shell .nx-game-feature{grid-template-columns:.8fr 1.2fr}.student-home-shell .nx-feature-stats{grid-column:1/-1;border-top:1px solid rgba(69,107,165,.34);border-left:0}
  .student-home-shell .nx-path-layout,.student-home-shell .nx-progress-layout,.student-home-shell .nx-activity-layout{grid-template-columns:1fr}
  .student-home-shell :is(.nx-path-side,.nx-activity-side){position:static;grid-template-columns:repeat(3,1fr)}
  .student-home-shell .nx-metric-grid,.student-home-shell .nx-activity-metrics{grid-template-columns:repeat(2,1fr)}
  .student-home-shell .nx-activity-side{grid-template-columns:1fr 1fr}.student-home-shell .nx-recent-achievements{grid-column:1/-1}
}

@media(max-width:760px){
  .student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity){min-height:auto}
  .student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head){display:grid;gap:14px;margin-bottom:12px}
  .student-home-shell :is(.nx-page-title,.nx-games-head,.nx-path-head,.nx-activity-head) h1,.student-home-shell .nx-title h1{font-size:29px}
  .student-home-shell .nx-title>i{width:46px;height:46px}.student-home-shell .nx-title>i .ui-icon{width:24px}
  .student-home-shell .nx-head-metrics{width:100%}.student-home-shell .nx-head-metric{grid-template-columns:34px 1fr;padding:10px}.student-home-shell .nx-head-metric>i{width:34px;height:34px}
  .student-home-shell .nx-toolbar,.student-home-shell .nx-activity-toolbar{align-items:stretch;display:grid;padding:9px}.student-home-shell .nx-view-tools{justify-content:flex-end}.student-home-shell :is(.nx-view-tools,.nx-period)>label{flex:1}.student-home-shell :is(.nx-view-tools,.nx-period) select{min-width:0;width:100%}
  .student-home-shell .nx-game-feature{display:block}.student-home-shell .nx-game-feature-art{min-height:150px}.student-home-shell .nx-game-feature-copy{padding:20px}.student-home-shell .nx-feature-stats{padding:18px}.student-home-shell .nx-game-grid,.student-home-shell .nx-game-bottom{grid-template-columns:1fr}
  .student-home-shell .nx-games.is-list .nx-game-card,.student-home-shell .nx-game-card{grid-template-columns:52px 1fr;grid-template-rows:auto auto;min-height:160px}.student-home-shell .nx-game-icon{width:52px;height:52px}.student-home-shell .nx-card-progress,.student-home-shell .nx-games.is-list .nx-card-progress{grid-column:1/-1}.student-home-shell .nx-games.is-list .nx-game-card>a{position:absolute;grid-column:auto}
  .student-home-shell .nx-path-layout{display:block}.student-home-shell .nx-stage-list{padding-left:38px}.student-home-shell .nx-stage-list::before{left:15px}.student-home-shell .nx-stage{grid-template-columns:54px 1fr;padding:15px}.student-home-shell .nx-stage-number{left:-46px;width:34px;height:34px}.student-home-shell .nx-stage-icon{width:52px;height:52px}.student-home-shell .nx-stage-action{grid-column:1/-1}.student-home-shell :is(.nx-path-side,.nx-activity-side){display:grid;grid-template-columns:1fr;margin-top:12px}
  .student-home-shell .nx-level-hero{grid-template-columns:82px 1fr}.student-home-shell .nx-level-art{width:70px;transform:scale(.8)}.student-home-shell .nx-level-track{grid-column:1/-1;padding:10px 18px 20px}.student-home-shell .nx-metric-grid,.student-home-shell .nx-direction-grid,.student-home-shell .nx-activity-metrics{grid-template-columns:1fr}.student-home-shell .nx-progress-cta{align-items:flex-start;flex-direction:column}
  .student-home-shell .nx-activity-quote{max-width:none}.student-home-shell .nx-event{grid-template-columns:42px 10px minmax(0,1fr);gap:8px}.student-home-shell .nx-day-group::before{left:51px}.student-home-shell .nx-event-card{grid-template-columns:38px 1fr;padding:10px}.student-home-shell .nx-event-card>i{width:36px;height:36px}.student-home-shell .nx-event-card>b,.student-home-shell .nx-event-card>a{grid-column:2}
  .student-home-shell .nx-distribution>div{grid-template-columns:94px 1fr}.student-home-shell .nx-distribution .nx-progress-donut{width:90px;height:90px}
}

@media(prefers-reduced-motion:reduce){
  .student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) *,
  .student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) *::before,
  .student-home-shell :is(.nx-page,.nx-games,.nx-path,.nx-progress,.nx-activity) *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .student-home-shell :is(.nx-game-card,.nx-chip,.nx-tabs button,.nx-activity-tabs button,.nx-game-feature-copy>a,.nx-game-card a,.nx-stage-action>a,.nx-progress-cta a):hover{transform:none}
}
