/* Original Brainy design, scoped to its host. Restore browser defaults removed by Tailwind. */
:where(html[data-brainy], html[data-brainy] *:not(img)){all:revert}
@font-face{font-family:Nunito;src:url('fonts/Nunito-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Nunito Sans;src:url('fonts/NunitoSans-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
html[data-brainy]{color-scheme:light dark;--paper:#fbfaf7;--surface:#fff;--ink:#282337;--muted:#655f73;--accent:#7136d7;--soft:#eee6fc;--line:#ded9e7;--radius:28px;--ease:cubic-bezier(.16,1,.3,1)}
html[data-brainy] *{box-sizing:border-box}
html[data-brainy]{scroll-behavior:smooth;scroll-padding-top:100px}
html[data-brainy] body{margin:0;background:var(--paper);color:var(--ink);font-family:'Nunito Sans',Arial,sans-serif;font-size:17px;line-height:1.65}
html[data-brainy] body:has(dialog[open]){overflow:hidden}
html[data-brainy] h1,html[data-brainy] h2,html[data-brainy] h3,html[data-brainy] h4,html[data-brainy] .brand,html[data-brainy] strong,html[data-brainy] .button,html[data-brainy] summary{font-family:Nunito,Arial,sans-serif;font-weight:800}
html[data-brainy] h1,html[data-brainy] h2,html[data-brainy] h3,html[data-brainy] h4,html[data-brainy] p,html[data-brainy] figure{margin:0}
html[data-brainy] h1,html[data-brainy] h2{letter-spacing:-.045em;line-height:1.04}
html[data-brainy] h1{font-size:clamp(52px,6vw,88px)}
html[data-brainy] h2{font-size:clamp(38px,4.3vw,62px)}
html[data-brainy] h3{font-size:23px;line-height:1.25}
html[data-brainy] a{color:inherit;text-underline-offset:5px}
html[data-brainy] button{font:inherit}
html[data-brainy] img{max-width:100%;height:auto;display:block}
html[data-brainy] button,html[data-brainy] a{-webkit-tap-highlight-color:transparent}
html[data-brainy] a:focus-visible,html[data-brainy] button:focus-visible,html[data-brainy] summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
html[data-brainy] ::selection{background:#e6d5ff;color:#25153b}
html[data-brainy] .wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
html[data-brainy] .section{padding-block:100px}
html[data-brainy] .accent{color:var(--accent)}
html[data-brainy] .skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:var(--paper);padding:12px;z-index:11}
html[data-brainy] .skip:focus{top:10px}
html[data-brainy] .site-header{height:88px;width:min(1344px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}
html[data-brainy] .brand{display:inline-flex;align-items:center;text-decoration:none;gap:9px;font-size:30px;letter-spacing:-1px;line-height:1}
html[data-brainy] .brand img{border-radius:10px}
html[data-brainy] .brand-period{color:var(--accent);margin-left:-8px}
html[data-brainy] .site-header nav{display:flex;gap:30px}
html[data-brainy] .site-header nav a{font-size:14px;text-decoration:none;font-weight:bold}
html[data-brainy] .site-header nav a:hover{color:var(--accent)}
html[data-brainy] .button{background:var(--accent);color:white;display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:58px;padding:14px 27px;border-radius:100px;text-decoration:none;border:0;font-size:16px;white-space:nowrap;transition:transform .2s var(--ease),background .2s}
html[data-brainy] .button:hover{background:#5924b1;transform:translateY(-3px)}
html[data-brainy] .button:active{transform:translateY(0)}
html[data-brainy] .button span{font-size:22px}
html[data-brainy] .button.small{min-height:44px;padding:9px 20px;font-size:14px}
html[data-brainy] .text-link{text-decoration:none;font-weight:bold;font-size:15px}
html[data-brainy] .text-link span{margin-left:10px}
html[data-brainy] .hero{display:grid;grid-template-columns:1.12fr 1fr;gap:25px;align-items:center;min-height:640px;padding-block:44px 55px}
html[data-brainy] .hero-copy{position:relative}
html[data-brainy] .eyebrow{font-size:12px;letter-spacing:.15em;font-weight:bold;color:var(--accent);margin-bottom:28px}
html[data-brainy] .play-word{color:var(--accent);position:relative;display:inline-block}
html[data-brainy] .play-word:after{content:'';position:absolute;height:8px;bottom:-5px;left:0;width:100%;border-radius:50%;background:#d8c4fa;transform:rotate(-4deg)}
html[data-brainy] .hero-lead{color:var(--muted);max-width:360px;font-size:19px;line-height:1.65;margin-top:32px}
html[data-brainy] .hero-actions{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap}
html[data-brainy] .hero-art{position:relative;aspect-ratio:1;isolation:isolate}
html[data-brainy] .hero-art:before{content:'';position:absolute;inset:7%;border-radius:50%;background:var(--soft);z-index:-1}
html[data-brainy] .hero-mascot{width:100%;position:relative;transform:rotate(-6deg)}
html[data-brainy] .orbit{position:absolute;border:1px solid #c7b5e5;border-radius:50%;inset:1% 6%;transform:rotate(-25deg);z-index:-1}
html[data-brainy] .orbit-two{inset:14% -2%;transform:rotate(24deg)}
html[data-brainy] .hero-spark{position:absolute;font-size:64px;color:#d3a41a;line-height:1}
html[data-brainy] .spark-one{top:5%;right:8%}
html[data-brainy] .spark-two{bottom:6%;left:4%;font-size:42px;color:var(--accent)}
html[data-brainy] .facts{display:grid;grid-template-columns:1fr 1fr 1.2fr;padding:28px 0 38px;border-bottom:1px solid var(--line);gap:30px}
html[data-brainy] .facts div{display:flex;align-items:center;gap:17px}
html[data-brainy] .facts strong{font-size:42px;letter-spacing:-2px;white-space:nowrap}
html[data-brainy] .facts span{font-size:14px;color:var(--muted);line-height:1.45;max-width:135px}
html[data-brainy] .facts div:last-child{justify-content:flex-end}
html[data-brainy] .facts div:last-child strong{font-size:32px;letter-spacing:-1px}
html[data-brainy] .section-intro{margin-bottom:46px}
html[data-brainy] .section-intro p{color:var(--muted);max-width:450px;margin-top:22px}
html[data-brainy] .game-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
html[data-brainy] .game-card:nth-child(2){margin-top:60px}
html[data-brainy] .game-card:nth-child(3){margin-top:20px}
html[data-brainy] .preview{display:block;border-radius:var(--radius);overflow:hidden;box-shadow:0 15px 35px #2d174c0b;transition:transform .4s var(--ease)}
html[data-brainy] .preview:hover{transform:translateY(-7px) rotate(-1deg)}
html[data-brainy] .preview img{width:100%;aspect-ratio:1320/2868;object-fit:cover}
html[data-brainy] .game-caption{display:flex;justify-content:space-between;gap:8px;padding:22px 3px}
html[data-brainy] .game-caption h3{font-size:21px}
html[data-brainy] .game-caption p{color:var(--muted);font-size:13px;margin-top:5px}
html[data-brainy] .game-caption>span{color:var(--accent);font-size:23px}
html[data-brainy] .game-bottom{margin-top:42px;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}
html[data-brainy] .game-bottom p{color:var(--muted);max-width:390px}
html[data-brainy] .skill-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
html[data-brainy] .skill-tags span{padding:7px 14px;border:1px solid var(--line);border-radius:50px;font-size:12px}
html[data-brainy] .routine{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-top:60px}
html[data-brainy] .routine-art{position:relative;height:660px;isolation:isolate}
html[data-brainy] .routine-art:before{content:'';position:absolute;inset:10% -5%;background:var(--soft);border-radius:50%;z-index:-1}
html[data-brainy] .routine-art img{width:53%;border-radius:22px;box-shadow:0 16px 32px #251c3a16;position:absolute}
html[data-brainy] .routine-art img:first-child{top:0;left:0;transform:rotate(-8deg)}
html[data-brainy] .routine-art img:last-child{bottom:0;right:0;transform:rotate(8deg)}
html[data-brainy] .routine-copy>p{color:var(--muted);margin-top:28px;max-width:410px}
html[data-brainy] .routine-steps{padding:0;margin:38px 0 0;list-style:none}
html[data-brainy] .routine-steps li{display:flex;gap:21px;margin-top:26px}
html[data-brainy] .routine-steps li>span{font-size:13px;font-weight:bold;color:var(--accent);padding-top:4px}
html[data-brainy] .routine-steps h3{font-size:19px}
html[data-brainy] .routine-steps p{color:var(--muted);font-size:14px;max-width:330px;margin-top:6px}
html[data-brainy] .faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding-top:40px}
html[data-brainy] .faq details{border-bottom:1px solid var(--line);padding:20px 0}
html[data-brainy] .faq details:first-child{padding-top:0}
html[data-brainy] .faq summary{font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;min-height:44px;align-items:center}
html[data-brainy] .faq summary::-webkit-details-marker{display:none}
html[data-brainy] .faq summary:after{content:'+';font-size:25px;color:var(--accent)}
html[data-brainy] .faq details[open] summary:after{content:'−'}
html[data-brainy] .faq details p{font-size:15px;color:var(--muted);margin:12px 0 10px;overflow-wrap:anywhere}
html[data-brainy] .download-section{padding:60px 0 100px;text-align:center}
html[data-brainy] .download-section img{margin:auto;border-radius:22px;box-shadow:0 12px 28px #5b248719}
html[data-brainy] .download-section h2{margin:26px auto 32px;max-width:750px}
html[data-brainy] .download-status{font-size:12px;color:var(--muted);margin:18px auto 0;max-width:400px}
html[data-brainy] .site-footer{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding-block:44px 30px;border-top:1px solid var(--line)}
html[data-brainy] .site-footer p{font-size:13px;color:var(--muted);margin-top:15px}
html[data-brainy] .footer-links{display:flex;justify-content:flex-end;align-items:flex-start;flex-wrap:wrap;gap:10px 26px;font-size:12px}
html[data-brainy] .footer-links a{min-height:34px}
html[data-brainy] .site-footer .copyright{grid-column:1/-1;font-size:11px;margin-top:10px}
html[data-brainy] .lightbox{padding:0;border:0;background:transparent;max-width:94vw;max-height:94dvh;overflow:visible}
html[data-brainy] .lightbox::backdrop{background:#181025d9;backdrop-filter:blur(8px)}
html[data-brainy] .lightbox>img{max-height:88dvh;width:auto;border-radius:18px}
html[data-brainy] .lightbox-close{position:absolute;right:-10px;top:-10px;border:0;border-radius:50%;width:44px;height:44px;background:white;color:#282337;font-size:30px;cursor:pointer;box-shadow:0 3px 15px #0003}
html[data-brainy] .legal-header{border-bottom:1px solid var(--line)}
html[data-brainy] .legal-main{max-width:1100px;width:calc(100% - 96px);margin:70px auto 100px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:70px}
html[data-brainy] .legal-toc{position:sticky;top:30px;align-self:start;font-size:13px}
html[data-brainy] .legal-toc p{font-family:Nunito,sans-serif;margin-bottom:15px}
html[data-brainy] .legal-toc a{display:block;color:var(--muted);padding:7px 0;text-decoration:none}
html[data-brainy] .legal-toc a:hover{color:var(--accent)}
html[data-brainy] .legal-document h1{font-size:clamp(38px,4.7vw,64px);margin-bottom:20px}
html[data-brainy] .legal-document .updated{font-size:13px;color:var(--muted);margin-bottom:32px}
html[data-brainy] .legal-document section{margin-top:38px;scroll-margin-top:24px}
html[data-brainy] .legal-document h2{font-size:25px;letter-spacing:-.02em;margin-bottom:15px;line-height:1.2}
html[data-brainy] .legal-document h3{font-size:18px;margin:20px 0 10px}
html[data-brainy] .legal-document p,html[data-brainy] .legal-document li{font-size:15px;color:var(--muted);overflow-wrap:anywhere}
html[data-brainy] .legal-document p+p{margin-top:15px}
html[data-brainy] .legal-document ul{padding-left:22px}
html[data-brainy] .legal-document li+li{margin-top:9px}
html[data-brainy] .legal-document a{color:var(--accent)}
html[data-brainy] .legal-summary{padding:25px;background:var(--soft);border-radius:20px}
html[data-brainy] .legal-document strong{color:var(--ink)}
@media(prefers-reduced-motion:no-preference){
  html[data-brainy] .hero-art{animation:arrive .9s var(--ease) both}
html[data-brainy] .hero-copy{animation:arrive .85s .12s var(--ease) both}
html[data-brainy] .hero-mascot{animation:hello 1.4s .2s var(--ease) both}
html[data-brainy] .reveal.ready{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html[data-brainy] .reveal.ready.visible{opacity:1;transform:none}
@keyframes arrive{from{opacity:0;transform:translateY(22px)}
to{opacity:1;transform:none}}
@keyframes hello{from{transform:rotate(-11deg) scale(.92)}
to{transform:rotate(-6deg) scale(1)}}}
@media(prefers-reduced-motion:reduce){
  html[data-brainy]{scroll-behavior:auto}
html[data-brainy] *,html[data-brainy] *:before,html[data-brainy] *:after{animation:none!important;transition:none!important}
html[data-brainy] .reveal.ready{opacity:1;transform:none}}
@media(prefers-color-scheme:dark){
  html[data-brainy]{--paper:#1e1a27;--surface:#282333;--ink:#f3edf9;--muted:#bcb3ca;--accent:#b794fa;--soft:#322442;--line:#443a51}
html[data-brainy] .button{background:#a57aea;color:#1c102c}
html[data-brainy] .button:hover{background:#c3a4f6}
html[data-brainy] .hero-art:before{background:#352348}
html[data-brainy] .play-word:after{background:#5c3c87}
html[data-brainy] .orbit{border-color:#5d4679}
html[data-brainy] .hero-spark{color:#d9b044}
html[data-brainy] .legal-summary{background:#30243e}}
@media(max-width:1100px){
  html[data-brainy] .wrap{width:calc(100% - 64px)}
html[data-brainy] .site-header nav{gap:18px}
html[data-brainy] .hero{min-height:570px;gap:10px}
html[data-brainy] h1{font-size:64px}
html[data-brainy] .hero-actions{gap:18px}
html[data-brainy] .facts strong{font-size:36px}
html[data-brainy] .facts div:last-child strong{font-size:27px}
html[data-brainy] .routine{gap:55px}
html[data-brainy] .routine-art{height:540px}
html[data-brainy] .faq{gap:45px}}
@media(max-width:767px){
  html[data-brainy] .wrap{width:calc(100% - 40px)}
html[data-brainy] .site-header{height:76px;width:calc(100% - 40px);gap:12px}
html[data-brainy] .site-header nav{display:none}
html[data-brainy] .brand{font-size:27px}
html[data-brainy] .brand img{width:32px;height:32px}
html[data-brainy] .button.small{font-size:12px;padding:8px 15px;gap:12px}
html[data-brainy] .hero{grid-template-columns:1fr;padding-top:35px;gap:8px;min-height:0}
html[data-brainy] .hero h1{font-size:clamp(51px,9.4vw,70px)}
html[data-brainy] .eyebrow{font-size:10px;margin-bottom:20px}
html[data-brainy] .hero-lead{font-size:17px;margin-top:25px;max-width:320px}
html[data-brainy] .hero-actions{margin-top:26px;gap:22px}
html[data-brainy] .button{min-height:53px;font-size:14px;padding:12px 22px;gap:18px}
html[data-brainy] .text-link{font-size:13px}
html[data-brainy] .hero-art{width:min(90%,430px);margin:10px auto 0}
html[data-brainy] .hero-spark{font-size:44px}
html[data-brainy] .facts{gap:15px;padding:0 0 28px;grid-template-columns:1fr 1fr}
html[data-brainy] .facts div{align-items:flex-start;gap:8px;flex-direction:column}
html[data-brainy] .facts div:last-child{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;padding-top:6px}
html[data-brainy] .facts strong{font-size:36px;line-height:1.15}
html[data-brainy] .facts span{max-width:none;font-size:12px}
html[data-brainy] .facts div:last-child strong{font-size:25px}
html[data-brainy] .section{padding-block:64px}
html[data-brainy] h2{font-size:clamp(36px,7.7vw,52px)}
html[data-brainy] .section-intro{margin-bottom:30px}
html[data-brainy] .section-intro p{font-size:15px;max-width:330px;margin-top:20px}
html[data-brainy] .game-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:0 0 15px;scrollbar-width:thin}
html[data-brainy] .game-card{flex:0 0 min(76vw,320px);scroll-snap-align:start}
html[data-brainy] .game-card:nth-child(2),html[data-brainy] .game-card:nth-child(3){margin-top:0}
html[data-brainy] .game-caption{padding:18px 2px}
html[data-brainy] .game-caption h3{font-size:19px}
html[data-brainy] .game-caption p{font-size:12px}
html[data-brainy] .game-bottom{grid-template-columns:1fr;gap:20px;margin-top:22px}
html[data-brainy] .game-bottom p{font-size:15px}
html[data-brainy] .skill-tags{justify-content:flex-start;gap:8px}
html[data-brainy] .skill-tags span{font-size:11px}
html[data-brainy] .routine{grid-template-columns:1fr;gap:35px;padding-top:20px}
html[data-brainy] .routine-copy{grid-row:1}
html[data-brainy] .routine-copy>p{font-size:15px}
html[data-brainy] .routine-art{width:min(100%,470px);height:550px;margin:auto}
html[data-brainy] .routine-art:before{inset:10% 0}
html[data-brainy] .routine-art img{width:49%;max-height:490px;object-fit:contain}
html[data-brainy] .routine-art img:first-child{left:4%}
html[data-brainy] .routine-art img:last-child{right:4%}
html[data-brainy] .routine-steps{margin-top:28px}
html[data-brainy] .faq{grid-template-columns:1fr;gap:30px}
html[data-brainy] .faq summary{font-size:17px}
html[data-brainy] .download-section{padding-block:30px 65px}
html[data-brainy] .download-section h2{font-size:39px}
html[data-brainy] .download-status{max-width:300px}
html[data-brainy] .site-footer{grid-template-columns:1fr;gap:25px}
html[data-brainy] .footer-links{justify-content:flex-start;gap:10px 22px}
html[data-brainy] .site-footer .copyright{margin-top:0}
html[data-brainy] .legal-main{width:calc(100% - 40px);margin:35px auto 60px;grid-template-columns:1fr;gap:30px}
html[data-brainy] .legal-toc{position:static;display:flex;flex-wrap:wrap;gap:4px 18px;padding-bottom:20px;border-bottom:1px solid var(--line)}
html[data-brainy] .legal-toc p{width:100%;margin:0}
html[data-brainy] .legal-toc a{padding:5px 0}
html[data-brainy] .legal-header nav{display:flex;gap:15px}
html[data-brainy] .legal-header nav a{font-size:12px}
html[data-brainy] .legal-document h1{font-size:42px}
html[data-brainy] .legal-document h2{font-size:24px}
html[data-brainy] .legal-summary{padding:20px}
html[data-brainy] .lightbox>img{max-width:87vw}}
@media(max-width:374px){
  html[data-brainy] .hero h1{font-size:48px}
html[data-brainy] .hero-actions{gap:18px}
html[data-brainy] .routine-art{height:465px}
html[data-brainy] .legal-header .brand{font-size:24px}
html[data-brainy] .legal-header nav{gap:10px}}
@media print{
  html[data-brainy] .site-header,html[data-brainy] .legal-toc,html[data-brainy] .site-footer{display:none}
html[data-brainy] .legal-main{display:block;width:100%;margin:0}
html[data-brainy] .legal-document{color:#000}
html[data-brainy] .legal-document p,html[data-brainy] .legal-document li{color:#222}}
@media(max-width:767px){
  html[data-brainy] .hero-art{width:min(86%,410px)}}
@media(min-width:768px) and (max-width:1100px){
  html[data-brainy] .orbit-one{inset:10% 12%}
html[data-brainy] .orbit-two{inset:20% 8%}}
