/* UbayBian Memory Grid v2 · Neural Grid */
.neural-overlay{
  position:fixed;inset:0;z-index:1210;display:grid;place-items:center;padding:clamp(14px,3vw,34px);
  background:
    radial-gradient(circle at 14% 12%,rgba(112,92,255,.20),transparent 34%),
    radial-gradient(circle at 86% 82%,rgba(38,180,235,.18),transparent 32%),
    rgba(5,24,48,.88);
  backdrop-filter:blur(18px) saturate(124%);-webkit-backdrop-filter:blur(18px) saturate(124%);
  animation:neuralFade .2s ease-out both;
}
.neural-shell{
  --ng-ink:#17354d;--ng-muted:#648298;--ng-violet:#6f5cf6;--ng-cyan:#28b5e9;--ng-mint:#19ad85;
  --ng-coral:#e95d6a;--ng-gold:#f5b93c;
  position:relative;width:min(1020px,96vw);min-height:min(690px,90vh);max-height:92vh;overflow:auto;
  border:1px solid rgba(255,255,255,.80);border-radius:34px;color:var(--ng-ink);
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,1),rgba(246,251,255,.98) 46%,rgba(231,243,251,.98) 100%);
  box-shadow:0 30px 90px rgba(0,22,54,.44),inset 0 1px 0 rgba(255,255,255,.96);
}
.neural-shell:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
  background-image:
    linear-gradient(rgba(111,92,246,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(111,92,246,.035) 1px,transparent 1px),
    radial-gradient(circle at 72% 38%,rgba(40,181,233,.10),transparent 28%),
    radial-gradient(circle at 30% 74%,rgba(111,92,246,.09),transparent 30%);
  background-size:30px 30px,30px 30px,auto,auto;
  mask-image:linear-gradient(to bottom,#000,transparent 84%);
}
.neural-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px 10px;}
.neural-brand{display:flex;align-items:center;gap:15px;min-width:0;}
.neural-icon{
  width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:19px;font-size:29px;
  background:linear-gradient(145deg,#eeeaff,#e3f9ff);box-shadow:inset 0 0 0 1px rgba(111,92,246,.10),0 10px 26px rgba(65,74,170,.12);
}
.neural-kicker{margin:0 0 3px;font-size:12px;font-weight:700;letter-spacing:.16em;color:#5f719f;}
.neural-title{margin:0;font-size:clamp(29px,3vw,40px);line-height:1.04;font-weight:800;letter-spacing:-.035em;color:var(--ng-ink);}
.neural-subtitle{margin:6px 0 0;font-size:15px;font-weight:600;color:var(--ng-muted);}
.neural-close{width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;background:#eef5fa;color:#4c6a80;font-size:25px;transition:.18s ease;}
.neural-close:hover{transform:rotate(6deg) scale(1.04);background:#e6f0f7;color:#17354d;}
.neural-stage{position:relative;z-index:1;padding:6px 34px 32px;}
.neural-view{min-height:535px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.neural-view[hidden]{display:none!important;}

/* Ready */
.neural-ready{text-align:center;max-width:720px;margin:auto;}
.neural-orb{
  position:relative;width:106px;height:106px;margin:0 auto 18px;border-radius:32px;display:grid;place-items:center;font-size:46px;
  background:linear-gradient(145deg,#eeeaff,#e0f9ff);box-shadow:0 18px 44px rgba(80,74,177,.15),0 0 34px rgba(40,181,233,.10),inset 0 0 0 1px rgba(255,255,255,.9);
}
.neural-orb:after{content:"";position:absolute;inset:-9px;border-radius:40px;border:1px solid rgba(111,92,246,.20);animation:neuralBreathe 3s ease-in-out infinite;}
.neural-ready h3{margin:0;font-size:clamp(40px,4.2vw,54px);line-height:1;font-weight:800;letter-spacing:-.045em;}
.neural-ready-copy{max-width:590px;margin:15px auto 23px;font-size:18px;line-height:1.55;font-weight:600;color:var(--ng-muted);}
.neural-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.neural-chip{padding:9px 14px;border-radius:999px;background:#eeeefe;color:#5745c7;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(111,92,246,.11);}
.neural-xp-card{width:min(570px,100%);margin:0 auto 26px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.84);border:1px solid #d9e8f2;box-shadow:0 10px 28px rgba(29,73,108,.07);text-align:left;}
.neural-xp-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;font-weight:600;color:#58768d;}
.neural-xp-row strong{font-weight:800;color:#213f57;}
.neural-xp-track{height:10px;border-radius:999px;overflow:hidden;background:#dfeaf2;}
.neural-xp-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--ng-violet),var(--ng-cyan));box-shadow:0 0 15px rgba(111,92,246,.28);transition:width .35s ease;}
.neural-main-btn{min-width:220px;border:0;border-radius:18px;padding:16px 26px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#7461f7,#4f8ff4);font:800 17px/1 inherit;box-shadow:0 13px 30px rgba(93,91,236,.25);transition:.16s ease;}
.neural-main-btn:hover{transform:translateY(-2px);filter:saturate(1.06);box-shadow:0 17px 36px rgba(93,91,236,.31);}
.neural-main-btn:disabled{opacity:.55;cursor:wait;transform:none;}
.neural-note{min-height:22px;margin:13px 0 0;font-size:13px;font-weight:600;color:#69869a;}
.neural-note.error{color:#c83d50;}

/* Game */
.neural-play{width:100%;max-width:820px;margin:auto;}
.neural-hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:18px;}
.neural-stat{min-width:118px;padding:13px 17px;border-radius:21px;background:rgba(255,255,255,.84);border:1px solid #d9e8f2;box-shadow:0 10px 28px rgba(27,78,113,.07);}
.neural-stat.right{text-align:right;}
.neural-stat-label{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#738da0;}
.neural-stat-value{display:block;font-size:34px;font-weight:800;letter-spacing:-.04em;color:var(--ng-ink);}
.neural-round{
  min-width:160px;padding:12px 18px;border-radius:999px;text-align:center;background:linear-gradient(135deg,#eeebff,#e6f8ff);border:1px solid rgba(111,92,246,.12);color:#5545bd;font-size:14px;font-weight:800;
}
.neural-phase{min-height:27px;margin:0 0 10px;text-align:center;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6555cf;}
.neural-board{position:relative;width:min(520px,78vw);aspect-ratio:1/1;margin:0 auto 18px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px;border-radius:34px;background:linear-gradient(145deg,#142f4a,#133e59);box-shadow:0 22px 54px rgba(18,56,85,.24),inset 0 0 0 1px rgba(255,255,255,.06);}
.neural-cell{position:relative;display:grid;place-items:center;border:1px solid rgba(132,224,255,.24);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));color:#fff;font-size:clamp(42px,7vw,62px);font-weight:800;text-shadow:0 5px 18px rgba(0,0,0,.20);transition:.24s ease;overflow:hidden;}
.neural-cell:before{content:"";position:absolute;inset:0;opacity:.45;background:radial-gradient(circle at 30% 22%,rgba(78,213,255,.18),transparent 34%);}
.neural-cell.is-hidden{color:transparent;text-shadow:none;background:linear-gradient(145deg,rgba(111,92,246,.16),rgba(40,181,233,.07));}
.neural-cell.is-hidden:after{content:"?";position:absolute;inset:0;display:grid;place-items:center;color:#bcefff;font-size:clamp(38px,6vw,54px);font-weight:800;}
.neural-cell.is-target{border-color:#7ce5ff;box-shadow:0 0 0 4px rgba(40,181,233,.12),0 0 32px rgba(40,181,233,.28);animation:neuralTarget 1.1s ease-in-out infinite;}
.neural-cell.is-correct{border-color:#7fe7c6;background:linear-gradient(145deg,rgba(25,173,133,.34),rgba(25,173,133,.13));}
.neural-countdown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:rgba(8,28,48,.78);backdrop-filter:blur(7px);color:#fff;font-size:36px;font-weight:800;box-shadow:0 12px 34px rgba(0,0,0,.24),0 0 0 6px rgba(112,92,246,.12);}
.neural-prompt{text-align:center;margin:5px auto 15px;font-size:clamp(20px,2.4vw,28px);font-weight:800;line-height:1.25;color:var(--ng-ink);}
.neural-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(600px,100%);margin:0 auto;}
.neural-option{border:1px solid #d3e5ef;border-radius:18px;padding:14px 10px;cursor:pointer;background:rgba(255,255,255,.92);color:#21445d;font:800 19px/1 inherit;box-shadow:0 8px 22px rgba(25,77,112,.06);transition:.15s ease;}
.neural-option:hover:not(:disabled){transform:translateY(-2px);border-color:#9d92ff;box-shadow:0 12px 26px rgba(91,81,212,.12);}
.neural-option.correct{color:#087d5a;background:#dff8ef;border-color:#a8e7d3;}
.neural-option.wrong{color:#b93449;background:#ffe7ea;border-color:#ffc2ca;}
.neural-feedback{min-height:26px;margin:13px auto 0;text-align:center;font-size:14px;font-weight:700;color:#667f91;}
.neural-feedback.success{color:#0a8962;}.neural-feedback.error{color:#c33a4d;}
.neural-next{margin-top:14px;border:0;border-radius:16px;padding:13px 22px;cursor:pointer;background:#e8efff;color:#5b49c6;font:800 14px/1 inherit;}
.neural-next:disabled{opacity:.45;cursor:not-allowed;}

/* Result */
.neural-result{position:relative;text-align:center;max-width:700px;margin:auto;}
.neural-complete{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;padding:8px 13px;border-radius:999px;background:#eeeaff;color:#5846c7;font-size:12px;font-weight:700;letter-spacing:.11em;}
.neural-result h3{margin:0;font-size:clamp(34px,4vw,46px);font-weight:800;letter-spacing:-.035em;}
.neural-score-ring{width:142px;height:142px;margin:18px auto 8px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#eef7ff);box-shadow:0 0 0 8px rgba(111,92,246,.08),0 18px 40px rgba(72,73,160,.15),0 0 44px rgba(40,181,233,.11);}
.neural-score-ring strong{font-size:62px;line-height:.85;font-weight:800;letter-spacing:-.06em;}
.neural-score-ring span{display:block;margin-top:5px;font-size:12px;font-weight:700;color:#6f8799;}
.neural-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:24px auto 22px;}
.neural-result-card{padding:16px 12px;border-radius:19px;border:1px solid #d9e8f2;background:rgba(255,255,255,.85);box-shadow:0 10px 25px rgba(25,76,111,.06);}
.neural-result-card:nth-child(1){background:linear-gradient(145deg,#fff9e8,#fff4cf);border-color:#f1d78b;}
.neural-result-card:nth-child(2){background:linear-gradient(145deg,#ecf8ff,#dcf3ff);border-color:#b8e3f6;}
.neural-result-card:nth-child(3){background:linear-gradient(145deg,#f1ecff,#e7e1ff);border-color:#ccc2ff;}
.neural-result-card span{display:block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#667f93;}
.neural-result-card strong{display:block;margin-top:7px;font-size:27px;font-weight:800;color:#17354d;}
.neural-result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.neural-ghost-btn{border:1px solid #d4e4ed;border-radius:17px;padding:14px 22px;cursor:pointer;background:#fff;color:#4d6c82;font:700 15px/1 inherit;}

/* Tiny final polish for Math Reactor */
.reactor-result .reactor-result-score{box-shadow:0 0 0 10px rgba(38,180,235,.055),0 0 42px rgba(246,185,52,.08);}
.reactor-result .reactor-new-best{margin-bottom:17px;}
.reactor-result .reactor-result-grid{margin-top:0;margin-bottom:20px;}

@keyframes neuralFade{from{opacity:0}to{opacity:1}}
@keyframes neuralBreathe{0%,100%{transform:scale(.97);opacity:.35}50%{transform:scale(1.04);opacity:.9}}
@keyframes neuralTarget{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}

@media(max-width:760px){
  .neural-overlay{padding:0;align-items:stretch;}
  .neural-shell{width:100%;min-height:100dvh;max-height:100dvh;border-radius:0;border:0;}
  .neural-top{padding:17px 17px 7px;}
  .neural-icon{width:48px;height:48px;border-radius:16px;font-size:24px;}
  .neural-title{font-size:24px;}.neural-subtitle{font-size:11px;}.neural-close{width:42px;height:42px;}
  .neural-stage{padding:5px 16px 22px;}.neural-view{min-height:calc(100dvh - 90px);}
  .neural-hud{grid-template-columns:1fr auto 1fr;gap:8px;}.neural-stat{min-width:0;padding:10px;border-radius:16px;}.neural-stat-value{font-size:26px;}.neural-round{min-width:118px;padding:10px 12px;font-size:12px;}
  .neural-board{width:min(430px,88vw);gap:9px;padding:9px;border-radius:26px;}.neural-cell{border-radius:18px;}
  .neural-options{grid-template-columns:1fr 1fr;}.neural-result-grid{gap:7px;}.neural-result-card{padding:13px 7px;}.neural-result-card strong{font-size:21px;}
}
@media(prefers-reduced-motion:reduce){.neural-overlay,.neural-orb:after,.neural-cell.is-target{animation:none!important;}}
