.pl section{padding:60px 24px;max-width:1050px;margin:0 auto}
.pl h2{font:800 clamp(30px,4.2vw,48px)/1.05 'Baloo 2';margin:0 0 14px;color:var(--ink)}
.pl-hero{padding-top:50px!important}.pl-hero.small{padding-bottom:10px!important}
.pl-hero h1{font:800 clamp(42px,6.6vw,84px)/.95 'Baloo 2';color:#fff;-webkit-text-stroke:9px var(--ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--ink);margin:8px 0 18px}.pl-hero h1 span{color:var(--pip)}
.pl .kick{font-weight:800;background:var(--cream);display:inline-block;border:3px solid var(--ink);border-radius:99px;padding:5px 14px;margin:0;font-size:15px}
.pl .lead{font-size:clamp(18px,2vw,23px);font-weight:800;max-width:680px;text-shadow:0 0 14px #fff,0 0 4px #fff}
.pl-cta{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}
.btn-big{display:inline-block;background:var(--pip);color:var(--ink);font:800 22px 'Baloo 2';text-decoration:none;border:4px solid var(--ink);border-radius:16px;padding:12px 28px;box-shadow:0 6px 0 var(--ink)}
.btn-ghost{display:inline-block;background:var(--cream);color:var(--ink);font:800 20px 'Baloo 2';text-decoration:none;border:4px solid var(--ink);border-radius:16px;padding:10px 24px;box-shadow:0 5px 0 var(--ink)}
.pl .big-p{font-size:clamp(18px,2vw,22px);font-weight:700;max-width:760px;background:var(--cream);border:4px solid var(--ink);border-radius:22px;padding:20px 24px;box-shadow:0 6px 0 var(--ink)}
.pl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pl-card{background:var(--cream);border:4px solid var(--ink);border-radius:20px;padding:18px;box-shadow:0 6px 0 var(--ink)}.pl-card h3{font:800 22px 'Baloo 2';margin:0 0 6px}.pl-card p{margin:0;font-weight:700}
.pl-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:640px}
.plan{background:var(--pip);border:4px solid var(--ink);border-radius:22px;padding:22px;box-shadow:0 7px 0 var(--ink)}.plan.alt{background:var(--cream)}
.plan h3{font:800 24px 'Baloo 2';margin:0}.amt{font:800 46px 'Baloo 2';margin:0}.amt small{font-size:20px}.plan p{font-weight:700}
.pl-table{width:100%;max-width:640px;border-collapse:separate;border-spacing:0;background:var(--cream);border:4px solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:0 6px 0 var(--ink);font-weight:800}
.pl-table th,.pl-table td{text-align:left;padding:12px 18px;border-bottom:2px dashed #d9c9a8}.pl-table th{background:var(--pip);font:800 18px 'Baloo 2'}.pl-table tr:last-child td{border:0}
.pl .small-note{font-weight:700;max-width:640px;margin-top:16px;text-shadow:0 0 10px #fff}
.pl-faq details{background:var(--cream);border:3px solid var(--ink);border-radius:16px;padding:14px 18px;margin:10px 0;box-shadow:0 4px 0 var(--ink);max-width:760px}.pl-faq summary{font:800 20px 'Baloo 2';cursor:pointer}.pl-faq p{margin:8px 0 0;font-weight:700}
.toggle{display:flex;gap:0;max-width:520px;margin:0 auto 24px;background:var(--cream);border:4px solid var(--ink);border-radius:99px;padding:5px;box-shadow:0 5px 0 var(--ink)}
.toggle button{flex:1;font:800 20px 'Baloo 2';color:var(--ink);background:transparent;border:0;border-radius:99px;padding:10px 12px;cursor:pointer}.toggle button.on{background:var(--pip);box-shadow:0 0 0 3px var(--ink) inset}
.su{max-width:640px!important}.steps{list-style:none;counter-reset:s;margin:0;padding:0}
.steps li{counter-increment:s;position:relative;background:var(--cream);border:3px solid var(--ink);border-radius:18px;padding:14px 16px 14px 70px;margin:12px 0;box-shadow:0 4px 0 var(--ink)}
.steps li:before{content:counter(s);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:var(--hat);color:#fff;border:3px solid var(--ink);font:800 22px/36px 'Baloo 2';text-align:center}
.steps b{display:block;font:800 21px 'Baloo 2'}.steps span{font-weight:700}
.su-note{margin-top:20px;background:var(--cream);border:4px solid var(--ink);border-radius:20px;padding:16px 20px;box-shadow:0 6px 0 var(--ink)}.su-note p{margin:0 0 12px;font-weight:700}
@media(max-width:800px){.pl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pl section{padding:40px 16px}.pl-grid,.pl-plans{grid-template-columns:1fr}.pl-hero h1{-webkit-text-stroke:7px var(--ink)}.toggle button{font-size:17px}}
.fm{display:grid;gap:14px;max-width:420px;margin:0 auto;text-align:left}
.fm label{display:grid;gap:6px;font-weight:800;color:#1d3a4a}
.fm input,.fm select{font:inherit;padding:12px 14px;border:3px solid #1d3a4a;border-radius:14px;background:#fff;color:#1d3a4a}
.fm .btn{cursor:pointer;border:3px solid #1d3a4a;font:inherit;font-weight:800}
.fmsg{padding:10px 14px;border-radius:12px;font-weight:700;margin:0}.fmsg.err{background:#ffe3df;color:#8a1d12}.fmsg.ok{background:#dff6e4;color:#14532d}
.fine-print{font-size:.9rem;opacity:.85;margin:0}.lnk{background:none;border:0;color:#1d6fa5;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.kids{list-style:none;padding:0;display:grid;gap:8px}.kids li{background:#fff8ec;border:3px solid #1d3a4a;border-radius:14px;padding:10px 14px;font-weight:800}
#account h2{font-family:'Baloo 2',sans-serif}
.cur-toggle{display:inline-flex;gap:4px;margin:0 0 16px;padding:4px;border-radius:999px;background:#eef3ff}
.cur-toggle button{border:0;border-radius:999px;padding:8px 16px;background:transparent;font:inherit;font-weight:700;cursor:pointer}
.cur-toggle button[aria-pressed="true"]{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.pro-card{padding:20px;border-radius:20px;background:#fff8d6;margin:0 0 20px}
.fm [hidden]{display:none!important}
.fm .btn{background:var(--pip,#ffd91a);color:#1d3a4a;border-radius:999px;padding:14px 22px;box-shadow:0 5px 0 #1d3a4a}
.legal{max-width:820px;margin:0 auto;text-align:left;line-height:1.6;color:#1d3a4a}
.legal h2{font:800 26px/1.1 'Baloo 2';margin:32px 0 8px}.legal ul{padding-left:22px}.legal li{margin:6px 0}
.legal a{color:#1d3a4a;font-weight:800}
.legal-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px}
.legal-table th,.legal-table td{border:2px solid #1d3a4a;padding:10px 12px;text-align:left;vertical-align:top;background:#fffaf0}
.legal-table th{background:#ffe000}
.legal code{background:#eef3ff;padding:2px 6px;border-radius:6px}
@media(max-width:640px){.legal-table{display:block;overflow-x:auto}}

.ac-h{margin:0 0 12px}.ac-h small{font-size:.6em;opacity:.7}
.kids{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.kid{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:14px 10px!important}
.kid-av{width:96px;height:100px}.kid-av svg,.ac-av svg{width:100%;height:100%;display:block}
.kid-t{display:flex;flex-direction:column;margin-bottom:4px}.kid-t span{font-weight:700;font-size:14px;opacity:.7}
.ac-new{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center;background:var(--cream);border:4px solid var(--ink);border-radius:22px;padding:20px;box-shadow:0 6px 0 var(--ink);margin-bottom:28px}
.ac-pick{display:flex;flex-direction:column;align-items:center;gap:12px}.ac-av{width:160px;height:168px}
.ac-av.pop{animation:acpop .35s cubic-bezier(.3,1.6,.5,1)}@keyframes acpop{from{transform:scale(.7) rotate(-8deg)}}
@media(max-width:560px){.ac-new{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ac-av.pop{animation:none}}
.ac-foot{margin-top:40px;padding-top:16px;border-top:3px dashed rgba(29,58,74,.3)}
#ac-privacy summary{cursor:pointer;font-weight:800;margin:8px 0}
.ac-new[hidden]{display:none}
form.fm.ac-new{max-width:none;width:100%;margin:0 0 28px;box-sizing:border-box;grid-template-columns:200px minmax(0,1fr)}
.ac-new .ac-fields{display:grid;gap:14px;min-width:0}
.ac-new input,.ac-new select{width:100%;box-sizing:border-box;min-width:0}
.ac-new .btn{justify-self:start}
@media(max-width:560px){form.fm.ac-new{grid-template-columns:minmax(0,1fr)}}
.ac-up{background:var(--cream);border:4px solid var(--ink);border-radius:22px;padding:20px;box-shadow:0 6px 0 var(--ink);margin-bottom:28px;text-align:center}
.ac-up h2{margin:0 0 6px;color:var(--ink)}.ac-up[hidden]{display:none}
.ac-up .btn-big,.ac-up .btn-ghost{margin:6px}
.ac-up .msg{min-height:1.2em;margin:8px 0 0;font-weight:700;color:#8a1d12}
/* dashboard */
.dashw{max-width:1280px;margin:0 auto;padding:110px 24px 120px}
.dash{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}
.dash[hidden]{display:none}
.dash-side{display:grid;gap:16px;position:sticky;top:96px}
.dash-side .ac-h{margin:0;color:#fff;text-shadow:0 2px 0 rgba(29,58,74,.35)}
.dash-side .kids{display:grid;grid-template-columns:1fr;gap:10px}
.kid{display:grid;grid-template-columns:1fr;gap:0;text-align:left;padding:0;background:var(--cream);border:4px solid var(--ink);border-radius:20px;box-shadow:0 5px 0 var(--ink);overflow:hidden}
.kid.sel{background:#fff6c2;outline:4px solid #ffe000;outline-offset:2px}
.kid-pick{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;width:100%}
.kid-pick:focus-visible{outline:3px solid #2d9cf2;outline-offset:-3px}
.kid-pick .kid-av{width:64px;height:68px;flex:none}
.kid-t{display:grid}.kid-t b{font:800 20px 'Baloo 2';color:var(--ink)}.kid-t span{font-weight:700;color:#4c6272;font-size:14px}
.kid-act{display:flex;gap:14px;padding:0 14px 10px 90px}
.ac-addbtn{justify-self:start}
.dash-side .ac-up{margin:0;padding:16px}.dash-side .ac-up h2{font-size:22px}
.dash-side .ac-up .btn-big{display:block;margin:8px 0;font-size:19px;text-align:center}.dash-side .ac-up .btn-ghost{display:block;width:100%;margin:8px 0}
.ac-up.flash{animation:flash .5s ease 3}@keyframes flash{50%{box-shadow:0 0 0 8px #ffe000,0 6px 0 var(--ink)}}
.dash-side .pro-card,.dash-side #ac-school,.dash-side .ac-foot{background:var(--cream);border:4px solid var(--ink);border-radius:20px;padding:14px;margin:0}
.dash-main{background:var(--cream);border:4px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink);padding:24px;min-height:520px}
.dash-head{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.dh-av{width:110px;height:116px;flex:none}.dh-av svg{width:100%;height:100%}
.dash-head h1{font:800 clamp(30px,4vw,46px)/1 'Baloo 2';margin:0;color:var(--ink)}
.dash-head .kick{margin:0;font-weight:800;color:#4c6272}.dh-s{margin:6px 0 0;font-weight:700;color:#4c6272}.dh-s b{color:var(--ink)}
.dh-empty{padding:40px 0}
.gfilter{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#eef3ff;margin-bottom:18px}
.gfilter button{border:0;border-radius:999px;padding:8px 18px;background:transparent;font:inherit;font-weight:800;cursor:pointer;color:var(--ink)}
.gfilter button.on{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.gc{display:grid;gap:4px;text-decoration:none;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:18px;padding:8px 8px 12px;box-shadow:0 4px 0 var(--ink);transition:transform .12s}
.gc:hover{transform:translateY(-3px)}.gc:focus-visible{outline:3px solid #2d9cf2;outline-offset:3px}
.gc-art{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,hsl(var(--h) 80% 70%),hsl(calc(var(--h) + 40) 75% 55%));display:grid;place-items:center}
.gc-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gc-i{font:800 54px 'Baloo 2';color:rgba(255,255,255,.9);text-shadow:0 3px 0 rgba(29,58,74,.3)}
.gc-art img+.gc-i{display:none}
.gc-b{position:absolute;top:8px;right:8px;font:800 12px Nunito,sans-serif;font-style:normal;background:var(--ink);color:#fff;border-radius:999px;padding:3px 10px}.gc-b.free{background:#2dc26b}
.gc-n{font:800 18px 'Baloo 2';padding:0 4px}.gc-s{font-weight:700;font-size:13px;color:#4c6272;padding:0 4px}
.gc.lock .gc-art{filter:saturate(.4) brightness(.92)}.gc.lock .gc-n{opacity:.8}
.ac-dlg{border:4px solid var(--ink);border-radius:24px;background:var(--cream);padding:24px;max-width:640px;width:calc(100% - 32px);box-shadow:0 8px 0 var(--ink)}
.ac-dlg::backdrop{background:rgba(29,58,74,.55)}.ac-dlg .ac-new{border:0;box-shadow:none;padding:0;margin:0}
.ac-x{position:absolute;top:10px;right:14px;border:0;background:none;font-size:32px;cursor:pointer;color:var(--ink)}
@media(max-width:960px){.dash{grid-template-columns:1fr}.dash-side{position:static}.dash-side .kids{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.dashw{padding-top:90px}}
.gc-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gc-art video~.gc-i{display:none}
/* who modal, player menu, settings */
.dash-main{position:relative}
.dash-bar{display:flex;justify-content:space-between;align-items:center;margin:-8px 0 14px}.dash-logo{font:800 22px 'Baloo 2';color:#4c6272}
.pm{position:relative}.pm summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;border:3px solid var(--ink);border-radius:999px;padding:4px 14px 4px 6px;background:#fff;font-weight:800}
.pm summary::-webkit-details-marker{display:none}.pm summary::after{content:"\25BE";margin-left:2px}
.pm-av{width:34px;height:36px;display:inline-block}.pm-av svg{width:100%;height:100%}
.pm-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:230px;background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:0 6px 0 var(--ink);padding:8px;display:grid;gap:2px}
.pm-pop hr{border:0;border-top:2px solid #e6dcc4;margin:6px 0;width:100%}
.pm-pop a,.pm-pop button{all:unset;box-sizing:border-box;padding:9px 12px;border-radius:10px;font-weight:700;cursor:pointer;color:#1f5f99;display:flex;align-items:center;gap:10px}
.pm-pop a:hover,.pm-pop button:hover{background:#eef6ff}.pm-k.on{background:#fff6c2;color:var(--ink)}
.who{text-align:center;max-width:720px}.who-g{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:14px 0 18px}
.who-k{all:unset;cursor:pointer;display:grid;justify-items:center;gap:6px;width:150px;padding:12px;border-radius:20px;font:800 20px 'Baloo 2';color:var(--ink)}
.who-k:hover,.who-k:focus-visible{background:#fff6c2;outline:3px solid #ffe000}
.who-av{width:110px;height:116px;display:grid;place-items:center}.who-av svg{width:100%;height:100%}
.who-k.add .who-av{border:4px dashed #9bb0bf;border-radius:50%;width:104px;height:104px;font-size:48px;color:#9bb0bf}
.set{display:block}.set .back{font-weight:800;color:#fff}.set-h{color:#fff;text-shadow:0 2px 0 rgba(29,58,74,.35);margin:6px 0}.set>.fine-print{color:#fff}
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px;margin-top:18px;align-items:start}
.set-card{background:var(--cream);border:4px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:22px}.set-card h2{margin:0 0 8px}
.set-card .kids{grid-template-columns:1fr}.set-card .kid-act{padding-left:90px}
.set-card .ac-up{box-shadow:none;border-width:3px}
/* island hub */
.dashw.hubw{max-width:none;padding:70px 12px 24px}.dash.hubv{display:block}
.hub{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:14px;height:calc(100vh - 96px);min-height:620px}
.hub-sea{position:relative;border-radius:28px;border:4px solid var(--ink);box-shadow:0 8px 0 var(--ink);overflow:hidden;background:linear-gradient(#98dce0,#51bfcf 55%,#249bb7);display:grid;place-items:center}
.hub-t{position:absolute;left:24px;top:16px;z-index:3;pointer-events:none}.hub-t small{display:block;font:800 12px Nunito,sans-serif;letter-spacing:.14em;color:#1d3a4a}.hub-t h1{margin:0;font:800 clamp(36px,4vw,56px)/1 'Baloo 2';color:#1d3a4a;text-shadow:0 0 14px #fff8,0 0 4px #fff8}
.hub-sea .pm{position:absolute;right:18px;top:16px;z-index:6}
.isl{container-type:inline-size;position:relative;aspect-ratio:1;height:min(100%,100cqw);max-width:100%;max-height:100%;width:min(100%,calc(100vh - 110px))}
.isl-t{position:absolute;inset:0;width:100%;height:100%}
.isl-p,.isl-br{all:unset;position:absolute;cursor:pointer;z-index:2}.isl-br{z-index:3}
.isl-p{aspect-ratio:1;display:grid;place-items:center;transition:transform .15s}.isl-p:hover,.isl-p:focus-visible{transform:scale(1.045)}
.isl-p:focus-visible,.isl-br:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:12px}
.isl-p.on::before{content:"";position:absolute;left:5%;top:57%;width:90%;height:30%;border-radius:50%;border:3px solid #fff4a3;background:#ffdb5955;box-shadow:0 0 18px #fff7a0}
.isl-s{position:relative;display:block;overflow:hidden}.isl-s img{position:absolute;max-width:none}
.isl-by{width:100%;height:100%;object-fit:contain}
.isl-sails{position:absolute;left:.8%;top:12.8%;width:71%;height:71%;pointer-events:none;animation:isspin 28s linear infinite}@keyframes isspin{to{transform:rotate(360deg)}}
.isl-l{position:absolute;left:50%;top:86%;transform:translateX(-50%);white-space:nowrap;font:800 2.5cqw/1 Nunito,sans-serif;color:#243e46;text-shadow:0 0 6px #fff,0 0 3px #fff,0 0 10px #fff}
.isl-boat{position:absolute;pointer-events:none;animation:isboat 6s ease-in-out infinite}@keyframes isboat{50%{transform:translateY(-4px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.isl-sails,.isl-boat{animation:none}}
.hub-panel{background:#fffaf0;border:4px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink);padding:18px;overflow:auto}
.hub-panel .dash-head{margin:0 0 14px;gap:12px}.hub-panel .dh-av{width:56px;height:60px}.hub-panel .dh-av svg{width:100%;height:100%}.hub-panel .dash-head h1{font-size:28px}
.hub-panel .kick{font:800 12px Nunito,sans-serif;letter-spacing:.12em;color:#4c6272;margin:0}.hub-panel h2{margin:2px 0 4px;font:800 28px 'Baloo 2';color:var(--ink)}.hub-sub{margin:0 0 14px;color:#4c6272;font-weight:700}
.zrow{background:var(--zc);border-radius:20px;margin-bottom:10px;overflow:hidden;border:2px solid transparent}.zrow.open{border-color:var(--ink)}
.zh{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;cursor:pointer}.zh:focus-visible{outline:3px solid #2d9cf2;outline-offset:-3px;border-radius:20px}
.zh img{width:40px;height:40px;object-fit:contain}.z-e{font-size:32px;width:40px;text-align:center}
.zt{display:grid;flex:1}.zt b{font:800 20px 'Baloo 2';color:var(--ink)}.zt span{font-weight:700;color:#4c6272;font-size:14px}.zh i{font:700 26px Nunito;font-style:normal;color:var(--ink)}
.zg{display:grid;gap:8px;padding:0 12px 12px}
.zgame{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:16px;padding:6px 12px 6px 6px;position:relative}
.zgame:hover{transform:translateX(3px)}.zg-art{position:relative;flex:none;width:92px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#cfe}.zg-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zg-t{display:grid;flex:1;min-width:0}.zg-t b{font:800 17px 'Baloo 2'}.zg-t span{font-weight:700;font-size:13px;color:#4c6272}
.zgame .gc-b{position:static}.zgame.lock .zg-art{filter:saturate(.4) brightness(.92)}
@media(max-width:980px){.hub{grid-template-columns:1fr;height:auto}.hub-sea{aspect-ratio:1;max-height:80vh}.isl{width:100%}.hub-panel{max-height:none}}
