
/* ============ Design tokens ============ */
:root{
  --ink:#183958;
  --ink-2:#49647c;
  --ink-3:#647c91;
  --line:#dcebf5;
  --wash:#f2f9ff;
  --surface:#ffffff;
  --violet:#2878d4;
  --violet-d:#1760b0;
  --violet-l:#e7f3ff;
  --magenta:#e2609a;
  --coral:#ff5f7e;
  --teal:#0fb5a4;
  --amber:#ffae2b;
  --sky:#2f9bff;
  --pad-1:#2878d4;
  --pad-2:#ff5f7e;
  --pad-3:#0fb5a4;
  --pad-4:#ffae2b;
  --font:"Nunito","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}

/* ============ Base ============ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;padding:16px;min-height:100vh;
  font-family:var(--font);font-weight:500;color:var(--ink);
  background:
    radial-gradient(900px 520px at 6% -8%,#daf4ff 0%,rgba(221,213,255,0) 62%),
    radial-gradient(800px 480px at 100% 2%,#ffdce6 0%,rgba(255,220,230,0) 60%),
    radial-gradient(900px 560px at 50% 108%,#e3f4ff 0%,rgba(205,243,236,0) 62%),
    #f5fbff;
}
button{font:inherit;touch-action:manipulation;min-height:44px}
button:disabled{cursor:default}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.hidden{display:none !important}

/* ============ Page chrome ============ */
.site-wrap{max-width:960px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;letter-spacing:-.01em;color:var(--ink);margin-bottom:6px}
.brand img{width:40px;height:40px}
.site-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px 0 18px}
.site-nav a{
  font-size:12.5px;font-weight:700;color:var(--ink-2);text-decoration:none;
  min-height:32px;padding:0 12px;display:flex;align-items:center;
  border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);
}
.site-nav a:hover{border-color:var(--violet);color:var(--violet-d)}

#brain-app{
  max-width:960px;min-height:70vh;margin:0 auto;padding:28px;direction:ltr;
  background:var(--surface);border-radius:26px;border:1px solid rgba(108,71,255,.10);
  box-shadow:0 24px 70px rgba(80,58,200,.13);
}
#brain-app button,#brain-app input{font:inherit}
#brain-app svg{display:block}

/* ============ Game hub ============ */
.hub-header{text-align:center;margin-bottom:26px}
.hub-header h1{
  margin:0 0 8px;font-size:clamp(32px,6vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.1;
  background:linear-gradient(95deg,var(--violet) 0%,var(--magenta) 48%,var(--coral) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hub-header p{margin:0;font-size:17px;color:var(--ink-2)}

.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:900px){.games-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.game-card{
  position:relative;min-width:0;text-align:left;color:inherit;cursor:pointer;overflow:hidden;
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;
  background:#fff;border:1.5px solid var(--line);border-radius:20px;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.game-card:hover{transform:translateY(-3px);border-color:var(--c1);box-shadow:0 14px 28px -12px color-mix(in srgb,var(--c1) 55%,transparent)}
.game-card .icon-wrap{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  box-shadow:0 8px 16px -8px var(--c1);
}
.game-card h3{margin:0;font-size:18px;font-weight:800}
.game-card p{margin:0;font-size:14px;line-height:1.4;color:var(--ink-2)}

.game-card.feature{
  grid-column:span 2;justify-content:flex-end;min-height:150px;color:#fff;border-color:transparent;
  background:linear-gradient(135deg,#2878d4 0%,#5a3fe0 58%,#8b5cf6 100%);
}
.game-card.feature:hover{border-color:transparent;box-shadow:0 16px 34px -14px rgba(64,40,190,.75)}
.game-card.feature .icon-wrap{background:rgba(255,255,255,.18);box-shadow:none}
.game-card.feature p{color:rgba(255,255,255,.88)}
.game-card.feature::after{
  content:"\265E\FE0E";position:absolute;right:18px;bottom:-24px;font-size:132px;line-height:1;
  color:rgba(255,255,255,.13);pointer-events:none;
}
.chip-new{
  position:absolute;top:14px;right:14px;padding:3px 11px;border-radius:999px;
  background:var(--amber);color:#3a2600;font-size:12px;font-weight:800;
}

/* ============ Game screen shell ============ */
.game-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.game-header h2{margin:0;flex:1;text-align:center;font-size:clamp(20px,5vw,26px);font-weight:800}
.icon-btn{
  width:44px;height:44px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--violet-d);
  cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .12s,border-color .12s;
}
.icon-btn:hover{background:var(--violet-l);border-color:var(--violet)}

.btn-primary,.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 22px;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;
}
.btn-primary{border:0;color:#fff;background:linear-gradient(135deg,var(--violet),#8b5cf6);box-shadow:0 8px 18px -8px rgba(108,71,255,.75)}
.btn-primary:hover:not(:disabled){filter:brightness(1.07)}
.btn-primary:disabled{opacity:.5;box-shadow:none}
.btn-secondary{border:1.5px solid var(--line);color:var(--violet-d);background:#fff}
.btn-secondary:hover:not(:disabled){background:var(--violet-l);border-color:var(--violet)}
.btn-secondary:disabled{opacity:.5}
.center-actions{display:flex;justify-content:center;gap:12px;margin-top:22px;flex-wrap:wrap}

.score-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 20px}
.score-row span{padding:6px 14px;border-radius:999px;background:var(--wash);border:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.score-row b{color:var(--ink);font-weight:800}

/* ============ Color Memory ============ */
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:340px;margin:0 auto}
.color-btn{
  aspect-ratio:1;border:0;border-radius:22px;cursor:pointer;opacity:.9;color:#fff;font-size:24px;font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.28);box-shadow:0 12px 22px -14px rgba(30,27,75,.6);
  transition:opacity .12s,transform .12s,filter .12s;
}
.color-btn.active{opacity:1;filter:brightness(1.4);transform:scale(.95);box-shadow:0 0 0 5px var(--ink)}
.color-btn:disabled{cursor:not-allowed;opacity:.55}

/* ============ Quick Math ============ */
.math-display{margin:16px 0;text-align:center;font-size:clamp(32px,8vw,44px);font-weight:800;font-variant-numeric:tabular-nums}
.math-input,.seq-input{
  display:block;width:100%;margin:0 auto;padding:11px 14px;text-align:center;color:var(--ink);
  background:#fff;border:2px solid var(--line);border-radius:14px;
}
.math-input{max-width:200px;font-size:22px}
.seq-input{max-width:260px;margin-top:12px;font-size:20px;letter-spacing:6px}
.math-input:focus,.seq-input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px rgba(108,71,255,.16)}

/* ============ XO ============ */
.ttt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px;margin:0 auto}
.ttt-cell{
  aspect-ratio:1;display:grid;place-items:center;cursor:pointer;
  background:var(--wash);border:1.5px solid var(--line);border-radius:18px;
  font-size:38px;font-weight:800;color:var(--ink);transition:background .12s,border-color .12s;
}
.ttt-cell:hover:not(:disabled){background:var(--violet-l);border-color:var(--violet)}
.ttt-cell[data-v="X"]{color:var(--violet)}
.ttt-cell[data-v="O"]{color:var(--coral)}

/* ============ Sliding puzzle ============ */
.slide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px;margin:0 auto}
.slide-cell{
  aspect-ratio:1;display:grid;place-items:center;cursor:pointer;border:0;border-radius:18px;
  font-size:28px;font-weight:800;color:#fff;background:linear-gradient(135deg,#8b5cf6,var(--violet));
  box-shadow:0 8px 16px -10px rgba(108,71,255,.9);transition:transform .15s ease,filter .15s;
}
.slide-cell:hover:not(:disabled){filter:brightness(1.1)}
.slide-cell.empty{background:var(--wash);border:2px dashed #d6ccff;box-shadow:none}

/* ============ Reaction time ============ */
.reaction-zone{
  height:240px;display:grid;place-items:center;text-align:center;user-select:none;cursor:pointer;
  background:var(--violet-l);border:2px solid #d6ccff;border-radius:22px;transition:background .08s;
}
.reaction-zone.waiting{background:#ffe3e9;border-color:var(--coral)}
.reaction-zone.ready{background:#c8f3e6;border-color:var(--teal)}
.reaction-zone.foul{background:#fff0d1;border-color:var(--amber)}
.reaction-text{font-size:24px;font-weight:800;padding:0 12px}

/* ============ Sequence memory ============ */
.seq-display{min-height:70px;text-align:center;font-size:52px;font-weight:800;letter-spacing:4px;color:var(--violet);font-variant-numeric:tabular-nums}

/* ============ Chess: setup ============ */
.ch-setup{max-width:600px;margin:0 auto;text-align:center}
.ch-setup h3{margin:0 0 4px;font-size:24px;font-weight:800}
.ch-setup>p{margin:0 0 22px;color:var(--ink-2)}
.ch-field{border:0;margin:0 0 22px;padding:0;min-width:0;text-align:left}
.ch-field legend{padding:0;margin-bottom:10px;font-size:15px;font-weight:800}
.seg{display:grid;gap:10px}
.seg.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg-btn{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;min-width:0;text-align:left;cursor:pointer;
  color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:16px;transition:border-color .12s,background .12s,box-shadow .12s;
}
.seg-btn b{font-size:16px;font-weight:800}
.seg-btn small{font-size:12.5px;line-height:1.35;color:var(--ink-2);font-weight:500}
.seg-btn:hover{border-color:#c9bcff}
.seg-btn[aria-pressed="true"]{
  border-color:var(--lv,var(--violet));
  background:color-mix(in srgb,var(--lv,var(--violet)) 10%,#fff);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--lv,var(--violet)) 22%,transparent);
}
.lv-easy{--lv:var(--teal)}
.lv-medium{--lv:#f59e0b}
.lv-hard{--lv:var(--coral)}
.lv-dot{width:12px;height:12px;border-radius:50%;background:var(--lv)}
.sw{
  display:inline-grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:8px;border:2px solid #2a2473;
  font-size:13px;font-weight:800;line-height:1;
}
.sw.w{background:#fff}
.sw.b{background:#231a5c}
.sw.r{background:linear-gradient(135deg,#fff 50%,#231a5c 50%);color:var(--violet);text-shadow:0 0 3px #fff}
.ch-start{width:100%;max-width:320px;min-height:50px;font-size:17px}

/* ============ Chess: game ============ */
.chess{display:grid;grid-template-columns:minmax(0,520px) minmax(240px,1fr);gap:24px;align-items:start;justify-content:center}
.board-col,.side-col{min-width:0}
.board-col{display:flex;flex-direction:column;gap:8px}
.board-wrap{position:relative;width:100%;max-width:520px;margin:0 auto}

.board{
  display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));
  width:100%;aspect-ratio:1;direction:ltr;overflow:hidden;container-type:inline-size;
  background:#2a2473;border:5px solid #2a2473;border-radius:16px;box-shadow:0 20px 40px -20px rgba(42,36,115,.75);
}
.sq{
  position:relative;display:grid;place-items:center;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;
  overflow:hidden;cursor:pointer;background:var(--sq);
}
.sq.light{--sq:#e7f3ff}
.sq.dark{--sq:#8d7be6}
.sq::before{content:"";position:absolute;inset:0;pointer-events:none}
.sq.last::before{background:rgba(255,196,64,.5)}
.sq.sel::before{background:rgba(255,174,43,.78)}
.sq.chk::before{background:radial-gradient(circle,rgba(255,55,90,.95) 0%,rgba(255,55,90,.55) 45%,rgba(255,55,90,0) 75%)}
.sq.tgt::after{content:"";position:absolute;z-index:3;width:30%;height:30%;border-radius:50%;background:rgba(15,181,164,.78);pointer-events:none}
.sq.tgt.cap::after{width:90%;height:90%;background:transparent;border:5px solid rgba(15,181,164,.78)}
.sq:focus-visible{outline:3px solid #fff;outline-offset:-4px;box-shadow:inset 0 0 0 6px var(--violet)}

.pc{
  position:relative;z-index:2;line-height:1;pointer-events:none;user-select:none;
  font-size:clamp(26px,9.6vw,52px);font-size:10cqw;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Noto Sans Symbols","Apple Symbols","DejaVu Sans","Arial Unicode MS",sans-serif;
  paint-order:stroke fill;
}
.pc.w{color:#fff;-webkit-text-stroke:1.5px #2a2473;text-shadow:0 2px 3px rgba(30,27,75,.45)}
.pc.b{color:#231a5c;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.crd{position:absolute;z-index:1;font-size:clamp(9px,2.3cqw,12px);font-weight:800;line-height:1;pointer-events:none}
.crd.f{right:4px;bottom:3px}
.crd.r{left:4px;top:3px}
.sq.light .crd{color:#8d7be6}
.sq.dark .crd{color:#e7f3ff}

.pchip{display:flex;align-items:center;gap:10px;min-height:36px}
.pname{font-weight:800;font-size:15px}
.pname small{margin-left:6px;font-size:13px;font-weight:600;color:var(--ink-3)}
.caps{display:flex;flex-wrap:wrap;align-items:center;margin-left:4px}
.cp{
  margin-right:-3px;font-size:19px;line-height:1;
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Noto Sans Symbols","Apple Symbols","DejaVu Sans",sans-serif;
}
.cp.w{color:#fff;-webkit-text-stroke:1px #2a2473;paint-order:stroke fill}
.cp.b{color:#231a5c}
.adv{margin-left:6px;font-size:13px;font-weight:800;color:var(--ink-2)}

.ch-status{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:16px;
  font-size:16px;font-weight:800;color:var(--violet-d);background:var(--violet-l);border:1.5px solid #d6ccff;
}
.ch-status.check{background:#fff3d6;border-color:#ffd27a;color:#8a5a00}
.ch-status.win{background:#d9f7ec;border-color:#8be0c5;color:#0a6b4d}
.ch-status.loss{background:#ffe3e8;border-color:#ffb3c1;color:#a3182f}
.ch-status.draw{background:#eceaf7;border-color:#d3cfe9;color:#3d3b63}
.dots{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}
.dots i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1s infinite ease-in-out}
.dots i:nth-child(2){animation-delay:.15s}
.dots i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}

.ch-moves{
  margin-top:14px;height:200px;padding:8px 10px;overflow:auto;font-variant-numeric:tabular-nums;
  background:var(--wash);border:1px solid var(--line);border-radius:16px;
}
.mv{display:grid;grid-template-columns:34px 1fr 1fr;gap:6px;padding:3px 6px;border-radius:8px;font-size:14.5px}
.mv:nth-child(even){background:rgba(255,255,255,.75)}
.mv .n{color:var(--ink-3)}
.mv .cur{justify-self:start;padding:0 7px;border-radius:6px;background:var(--violet);color:#fff;font-weight:800}
.ch-empty{padding:8px;font-size:14px;color:var(--ink-3)}
.ch-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ch-actions button{flex:1 1 130px}

.promo{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(30,27,75,.58);border-radius:16px}
.promo-box{padding:18px;text-align:center;background:#fff;border-radius:20px;box-shadow:0 24px 50px -18px rgba(0,0,0,.6)}
.promo-box p{margin:0 0 12px;font-weight:800}
.promo-row{display:flex;gap:10px;margin-bottom:12px}
.promo-row button{width:64px;height:64px;display:grid;place-items:center;cursor:pointer;background:var(--violet-l);border:2px solid var(--line);border-radius:16px}
.promo-row button:hover{border-color:var(--violet)}
.promo-row .pc{font-size:40px}
.promo-row .pc.w{-webkit-text-stroke:1.5px #2a2473}

@media(max-width:760px){
  .chess{grid-template-columns:minmax(0,1fr);gap:16px}
  .ch-moves{height:150px}
}

/* ============ Ads, guide, footer ============ */
.ad-area{max-width:960px;margin:26px auto;text-align:center}
.ad-area small{display:block;margin-bottom:8px;font-size:10px;color:var(--ink-3)}
.ad-scroll{width:728px;max-width:100%;margin:auto;overflow-x:auto}
.ad-creative{width:728px;min-height:90px}

.guide{padding:20px;font-size:15px;line-height:1.7;color:var(--ink-2)}
section.guide{margin-top:22px;padding:24px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:22px}
.guide h2{margin:0 0 6px;font-size:22px;font-weight:800;color:var(--ink)}
.guide p{margin:10px 0}
.guide a{color:var(--violet-d);font-weight:700}
details{margin:10px 0;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:14px}
summary{cursor:pointer;font-weight:800;color:var(--ink)}
details p{margin:8px 0 0}

/* ============ Responsive ============ */
@media(max-width:600px){
  body{padding:10px}
  #brain-app{padding:18px 12px;border-radius:22px}
  .games-grid{gap:10px}
  .game-card{padding:14px;gap:8px}
  .game-card h3{font-size:16px}
  .game-card p{font-size:12.5px}
  .hub-header p{font-size:15px}
  .seg.three{grid-template-columns:1fr}
  .seg-btn{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px}
  .seg-btn small{flex-basis:100%}
}
@media(max-width:350px){
  .games-grid{grid-template-columns:1fr}
  .game-card.feature{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}

.reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.reading-grid article{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.reading-tag{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--violet-d)}.reading-grid h3{font-size:20px;line-height:1.35;color:var(--ink);margin:10px 0 14px}.reading-grid p{font-size:14px;line-height:1.8}@media(max-width:640px){.reading-grid{grid-template-columns:1fr}.reading-grid article{padding:18px}}
.skill-dashboard{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.skill-dashboard>p,.skill-panel details{font-size:13px;line-height:1.7;color:var(--ink-2)}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.skill-grid article,.skill-panel{padding:18px;background:var(--wash);border:1px solid var(--line);border-radius:18px}.skill-grid h3{margin:0 0 14px}.skill-panel{margin-bottom:20px}.skill-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px}.skill-rank{background:var(--violet);color:white;border-radius:20px;padding:3px 10px;font-size:12px}.skill-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0;font-size:11px;color:var(--ink-2)}.skill-numbers b{display:block;font-size:22px;color:var(--ink)}.skill-numbers small{font-size:11px}.skill-panel progress,.skill-grid progress{display:block;width:100%;height:9px;accent-color:var(--violet)}.skill-panel details{margin-top:12px}.skill-panel summary{cursor:pointer}@media(max-width:600px){.skill-grid{grid-template-columns:1fr}.skill-numbers b{font-size:19px}}
/* Light sky, blue and rose theme */
body{background:radial-gradient(ellipse at top left,#d9f5ff,transparent 55%),radial-gradient(ellipse at top right,#ffe2ed,transparent 58%),#f5fbff}
#brain-app{border-color:#d9eaf4;box-shadow:0 20px 65px #2575a512}
.game-card.feature{background:linear-gradient(120deg,#e0f5ff,#e6eeff 60%,#ffe7f0);color:var(--ink);border:1px solid #c7e5fa}
.game-card.feature p{color:var(--ink-2)}.game-card.feature .icon-wrap{background:white;color:#2878d4}.game-card.feature .chip-new{background:#fff;color:#b83462}
.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.skill-grid article{background:white;padding:20px;border:1px solid #dcebf5;box-shadow:0 8px 22px #2272ad08}
.skill-panel{background:white;border-color:#dcebf5}
.skill-heading{align-items:center;gap:10px}.skill-heading strong{font-size:14px}.skill-rank{background:var(--rating-soft);color:var(--rating-color);font-weight:800}
.rating-center{display:flex;align-items:center;gap:14px;margin:22px 0}.rating-ring{width:88px;height:88px;flex-shrink:0;border-radius:50%;padding:7px;background:conic-gradient(var(--rating-color) var(--rating-angle),var(--rating-soft) 0)}.rating-ring>div{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:white;border-radius:50%}.rating-ring b{font-size:28px;line-height:1.1;color:var(--rating-color)}.rating-ring small{font-size:11px;color:var(--ink-2)}.rating-eyebrow{font-size:10px;font-weight:800;letter-spacing:.07em;color:var(--ink-2)}.rating-center p{font-size:12px;line-height:1.6;margin:6px 0;color:var(--ink-2)}
.rating-display meter{display:block;width:100%;height:12px;appearance:none;background:var(--rating-soft);border:0;border-radius:8px}.rating-display meter::-webkit-meter-bar{background:var(--rating-soft);border:0;border-radius:8px;height:12px}.rating-display meter::-webkit-meter-optimum-value{background:var(--rating-color);border-radius:8px}.rating-display meter::-moz-meter-bar{background:var(--rating-color);border-radius:8px}.rating-scale{display:flex;justify-content:space-between;gap:5px;margin-top:8px;font-size:10px;color:var(--ink-2)}.rating-caption{font-size:11px;line-height:1.6;color:var(--ink-2);margin-bottom:0}.skill-panel .rating-center{margin:16px 0}.skill-panel .rating-ring{width:76px;height:76px}
@media(max-width:900px){.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.skill-grid{grid-template-columns:1fr}.skill-grid article{padding:18px}.rating-center{margin:16px 0}}
.brand{width:fit-content;text-decoration:none;cursor:grab}.brand:active{cursor:grabbing}.brand img{-webkit-user-drag:none}

.game-header{position:sticky;top:0;z-index:8;background:#fff;padding:12px 0;border-bottom:1px solid #dcebf5}#back-btn{width:auto;padding:0 14px;white-space:nowrap;font-size:14px}.game-header h2{font-size:clamp(16px,4vw,24px)}.skill-panel{margin-top:20px}#game-content{display:flex;flex-direction:column}#game-content>.skill-panel{order:2}.page-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-links a{padding:14px;border:1px solid #dcebf5;border-radius:12px;color:#1760b0;text-decoration:none;background:white}a{overflow-wrap:anywhere}.site-nav a{min-height:44px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}@media(max-width:480px){body{padding:8px}#brain-app{padding:14px}.game-card{padding:14px}.game-header{gap:8px}.page-links{grid-template-columns:1fr}.chess-layout{min-width:0}.seq-display{overflow-wrap:anywhere}.site-nav{justify-content:flex-start}.rating-center{margin:12px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
main.article{max-width:850px;margin:24px auto;background:white;border:1px solid #dcebf5;border-radius:24px;padding:clamp(18px,4vw,42px)}main.article p,main.article li{line-height:1.85}.article h1{font-size:clamp(28px,5vw,42px);line-height:1.2}.article h2{margin-top:30px}.article .btn-primary{display:inline-block;padding:12px 22px;text-decoration:none}.eyebrow{color:#1760b0;font-weight:800;letter-spacing:.08em;font-size:12px}